@charset "utf-8";

a,abbr,address,article,aside,audio,b,blockquote,body,canvas,caption,cite,code,dd,del,details,dfn,div,dl,dt,em,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,p,pre,q,samp,section,small,span,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,ul,var,video{
	margin:0;
	padding:0;
	border:0;
	outline:0;
	font-size:100%;
	vertical-align:baseline;
	background:0 0;
	list-style-type:none;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	-o-box-sizing:border-box;
	-ms-box-sizing:border-box;
	box-sizing:border-box;
}
article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary{display:block;}
* html body{padding-left:1px;}
* html .clearfix{height:1%;}
table{border-collapse:collapse;}
dl,ul{zoom:1;}

html{font-size: 62.5%;}
body{
	font-style: normal;
	background-color: #f8f5f2;
	color: #1d1c3f;
	font-family: Arial, "Helvetica Neue", "BIZ UDPGothic", Meiryo, "Hiragino Kaku Gothic Pro", sans-serif;
}
.fbig{font-family: 'M PLUS Rounded 1c', sans-serif;}
html,body {
  text-size-adjust: none;
  -webkit-text-size-adjust: none;
  -moz-text-size-adjust: none;
  -ms-text-size-adjust: none;
}
dd,dt,h1,h2,h3,h4,h5,h6,li,p,a,td,th,address{
	margin:0;
	padding:0;
	word-break: break-all;
	font-size:16px;
	line-height:1.8;
}
div,span{
	margin:0;
	padding:0;
	word-break: break-all;
	font-size:16px;
	line-height:1;
}
@media (max-width: 768px) {
	#page body,
	#page dd,#page dt,#page h1,#page h2,#page h3,#page h4,#page h5,#page h6,#page li,#page p,#page a,#page td,#page th,#page address{font-size: 3.6vw;line-height:1.8;}
	#page div,#page span{font-size: 3.6vw;}
}

.clearfix:before,
.clearfix:after,
.container:before,
.container:after,
.articleBox:before,
.articleBox:after{
  content: " ";
  display: table;
}
*:before, *:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.clearfix,.fleft,.fright{display:block}
.cb:after,
.clearfix:after,
.articleBox:after,
dl:after{content:".";display:block;height:0;clear:both;visibility:hidden}

.boxct{margin:0 auto;}
.fright{float:right;}
.fleft{float:left;}
.l{float:left;}
.r{float:right;text-align:left;}
.ct{text-align:center;}
.ct-pc{text-align:center;}
.mct{margin:0 auto;}
@media (max-width: 768px) {
.ct-pc{text-align:left;}
}
.fl-sh{/*縦横中央*/
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-align-content: center;
	align-content: center;
	-webkit-justify-content: center;
	justify-content: center;
}
.fl-h{/*縦中央*/
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
}
a{
	overflow: hidden;
	color: #333;
	transition: 0.2s linear;
	-webkit-transition: all 0.2s linear;
	-moz-transition: all 0.2s linear;
	-o-transition: all 0.2s linear;
	-ms-transition: all 0.2s linear;
	transition: all 0.2s linear;
}
a:hover{
	color:#c83b18;
}
a,a:hover{text-decoration:none}

a:hover img{opacity: 0.6;}
img{
	border:0;
	margin: 0;
	padding: 0;
	vertical-align: bottom;
	transition: 0.2s linear;
	-webkit-transition: all 0.2s linear;
	-moz-transition: all 0.2s linear;
	-o-transition: all 0.2s linear;
	-ms-transition: all 0.2s linear;
	transition: all 0.2s linear;
}

.fl05:first-letter{letter-spacing:0.5em}
.fl1:first-letter{letter-spacing:1em}
.fl2:first-letter{letter-spacing:2em}
.l05{letter-spacing:0.5em}
.ls10{letter-spacing:1em}
.ls20{letter-spacing:2em}
.ls30{letter-spacing:3em}

.brpc{display:block;}
.brsp{display:none;}
.pc{display:block;visibility: visible;}
.sp{display:none;visibility: hidden;}
@media (max-width: 768px) {
	.brpc{display:none;}
	.brsp{display:block;}
	.pc{display:none;visibility: hidden;}
	.sp{display:block;visibility: visible;}
}

.mt-p10 {margin-top: 10px !important;}
.mt-p20 {margin-top: 20px !important;}
.mt-p30 {margin-top: 30px !important;}
.mt-p40 {margin-top: 40px !important;}
.mt-p50 {margin-top: 50px !important;}
.mt-p60 {margin-top: 60px !important;}
.mb-p0 {margin-bottom: 0 !important;}
.mb-p10 {margin-bottom: 10px !important;}
.mb-p20 {margin-bottom: 20px !important;}
.mb-p30 {margin-bottom: 30px !important;}
.mb-p40 {margin-bottom: 40px !important;}
.mb-p50 {margin-bottom: 50px !important;}
.mb-p60 {margin-bottom: 60px !important;}
.mrl-a {margin-left: auto !important;margin-right: auto !important;}
.pt-p10 {padding-top: 10px !important;}
.pt-p20 {padding-top: 20px !important;}
.pt-p30 {padding-top: 30px !important;}
.pt-p40 {padding-top: 40px !important;}
.pt-p50 {padding-top: 50px !important;}
.pt-p60 {padding-top: 60px !important;}
.pb-p10 {padding-bottom: 10px !important;}
.pb-p20 {padding-bottom: 20px !important;}
.pb-p30 {padding-bottom: 30px !important;}
.pb-p40 {padding-bottom: 40px !important;}
.pb-p50 {padding-bottom: 50px !important;}
.pb-p60 {padding-bottom: 60px !important;}

.ft-p1 {font-size: 2.8rem;}
.ft-p2 {font-size: 2.2rem;}
.ft-p3 {font-size: 2rem;}
.ft-p4 {font-size: 1.8rem;}
@media (max-width: 768px) {
	.ft-p1 {font-size: 5.23vw;}
	.ft-p2 {font-size: 4.99vw;}
	.ft-p3 {font-size: 4.48vw;}
	.ft-p4 {font-size: 4vw;}
/*
    .ft-p1 {font-size: 3.4rem;}1.416666666666667‬
    .ft-p2 {font-size: 3.2rem;}1.333333333333333‬
    .ft-p3 {font-size: 2.8rem;}1.166666666666667‬
    .ft-p4 {font-size: 2.4rem;}
    .ft-p5 {font-size: 2.2rem;}0.9166666666666667‬
*/
}
h1,h2,h3,h4,h5,.bold{font-weight:bold;}


/* ***********************************************************
* サイズ関連
* *********************************************************** */
.w50{width:50% !important;max-width:50% !important;}
.w100{width:100% !important;max-width:100% !important;}
.w-auto{width:auto;}
#warper{width:100%;overflow: hidden;position: relative;}
#page .contents{width:100%;margin:0;}
#page .contentsin{width:1000px;min-width:1000px;margin:0 auto;}
#page .contentsin2{width:800px;min-width:800px;margin:0 auto;}
#page .contentsin3{width:900px;min-width:900px;margin:0 auto;}
#page .contentsin.min{max-width:720px;min-width: 720px;width:100%;margin:0 auto;}
@media (max-width: 768px) {
	#warper{width:100%;}
	#page .contents{width:100%;min-width:auto;}
	#page .contentsin,
	#page .contentsin2,
	#page .contentsin3,
	#page .contentsin.min{width:90vw;min-width:90vw;}
}
.table{display:table;}


/* ***********************************************************
* リスト
* *********************************************************** */
.column{
	-webkit-display: flex;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
.column .box{float:left;}


/* ---------- 2列 ---------- */
.col2::after {
	content: "";
	display: block;
	width:46%;
}
.col2 .box{
	width:46%;
}

@media (max-width: 768px) {
  .col2 .box{
		float:none;
		margin:0 auto;
		display:table;
		width:100%;
	}
}

/* ---------- 3列 ---------- */
.col3::after {
	content: "";
	display: block;
	width:32%;
}
.col3 .box{
	width:32%;
}
@media (max-width: 768px) {
	.col3::after {
		content: "";
		display: block;
		width:48%;
	}
	.col3 .box{width:48%;}
}

/* ---------- 4列 ---------- */
.col4::after {
	content: "";
	display: block;
	width:22%;
}
.col4 .box{
	width:22%;
}
@media (max-width: 768px) {
	.col4::after {
		content: "";
		display: block;
		width:48%;
	}
	.col4 .box{width:48%;}
}


/* ***********************************************************
* ヘッダー
* *********************************************************** */
#header{
	position: absolute;
	width:100vw;
	height:auto;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-align-content: center;
	align-content: center;
	-webkit-justify-content: center;
	justify-content: center;
	z-index: 1000;
}
	#headerin{
		width:100%;
		min-width:1000px;
		display: table;
		padding:40px 0 0;
	}
		#header #title{
			position:relative;
			width:350px;
			display: table;
			margin-left:50px;
			margin-bottom:18px;
		}
		#header #title a{
			display:block;
			width:100%;
		}
			#header #title img{
				width:100%;
			}

@media (max-width: 768px){
	#header{
		width: 100%;
  	height:15.6vw;
  }
	#header #headerin{
		width: 100%;
		min-width:100%;
  	height:100%;
		display: table;
		padding: 4vw 0 0;
	}
	#header #title {
	    width: 40vw;
	    margin-left: 4vw;
	    margin-bottom: 0;
	}
}


/* ***********************************************************
* フッター
* *********************************************************** */
footer{
	width:100%;
	color:#fff;
}
footer a{
    color:#fff;
}
footer .footerin{
	background-color:#7b1e31;
    padding:58px 0;
    display:table;
}

footer .footerin .l{
	width : 61.8%;
}
    footer .footerin .l .logo {
        float:left;
        display:table-cell;
        width : calc(100% - 418px) ;
        min-width:140px;
        padding:0 15px;
    }
        footer .footerin .l .logo img{width:100%;}
    footer .footerin .l .address {float:left;display:table-cell;padding-left:20px;vertical-align:center;line-height:1.4;}
        footer .footerin .l .address h2{font-size:3rem;line-height:1;letter-spacing: 4px;}
        footer .footerin .l .address address{font-style:normal;padding-top:5px;font-size:1.7rem;}
        footer .footerin .l .address a{font-size:0.8em;}

    footer .footerin .l .sns{
        float:left;
        width: 40px;
        margin-top:70px;
    }
        footer .footerin .l .sns a{
            width: 40px;
            height: 40px;
        }
        footer .footerin .l .sns a img{width:100%;}
        footer .link .sns  a:hover{
		background-color: #385495;
        }

    footer .footerin .r{
        width:38.2%;
    }
        footer .footerin .r .buttonbox{width:89%;margin:0 auto;}
        footer .footerin .r .buttonbox li:first-child{margin:0 0 20px;}
        footer .footerin .r .buttonbox a{
            width:100%;
            display:block;
            text-align:center;
            line-height:60px;
            border:1px solid #fff;
            border-radius: 2px;
            -moz-border-radius: 2px;
            -webkit-border-radius: 2px;
            font-size:1.5em;
        }
        footer .footerin .r .buttonbox a:hover{
            color:#7b1e31;
            background-color:#fff;
            opacity: 1;
        }

    footer .footerin2{
        background-color:#000000;
        padding:58px 0;
        display:table;
    }
    footer .footerin2 .link{
			display:table;
			padding-bottom:40px;
		}
    footer .footerin2 .link > ul{
      margin:0 auto;
      float:left;
      width:16%;
    }
		footer .footerin2 .link > ul:nth-child(1){
			width:12%;
		}
		footer .footerin2 .link ul.linkcompany{
        width:12%;
    }
		footer .footerin2 .link > ul.linkcontact{
        width:18%;
    }
		footer .footerin2 .link .linkul{
        margin:0 auto;
        float:left;
        width:36%;
    }
			footer .footerin2 .link .linkul > ul{
					margin:0 auto;
					float:none;
					width:100%;
			}
			footer .footerin2 .link .linkul > ul.w100 li{
					margin:0 auto 6px;
			}
			footer .footerin2 .link .linkul > ul.w50{
	        margin:10px auto 0;
	        float:left;
	        width:50%;
	    }
			footer .footerin2 .link .linkul > ul:last-child{
	        padding:24px 0 0;
	        float:none;
	        width:100%;
					display: table;
	    }
				footer .footerin2 .link .linkul > ul:last-child span{
						font-size:0.8em;
				}


    footer .footerin2 .link > ul > li > a,
    footer .footerin2 .link > ul > li > span{
            padding:5px 0;
            font-size: 1.1em;
        }
    footer .footerin2 .link ul ul{margin-top:2px;}
        footer .footerin2 .link ul li li a{
            font-size: 0.7em;
            padding:7px 0 7px 2px;
        }

footer .footerin2 .link2{
    display:table;
}
footer .footerin2 .link2 ul{
    border-top:1px solid #ccc;
    border-bottom:1px solid #ccc;
    display:table;
    width:100%;
}
footer .footerin2 .link2 li{float:left;}
footer .footerin2 .link2 li a{line-height:37px;margin-right:30px;font-size: 0.8em;}

footer #copy{
	font-size:0.9em;
	text-align:center;
	width:100%;
	height:60px;
	padding:0;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-align-content: center;
	align-content: center;
	-webkit-justify-content: center;
	justify-content: center;
}

@media (max-width: 840px) {
footer .footerin .l{
    float:none;
	width : auto;
    margin:0 auto;
    display:table;
}
    footer .footerin .l .logo {
        width : 170px;
        min-width:140px;
        padding:0;
    }
    footer .footerin .l .address {
        padding-left:20px;
        vertical-align:center;
    }
        footer .footerin .l .address h2{font-size:3rem;}
        footer .footerin .l .address address{padding-top:10px;font-size:1.6rem;}
        footer .footerin .l .address a{font-size:0.8em;}

    footer .footerin .l .sns{
        float:left;
        width: 60px;
        margin-top:70px;
    }
        footer .footerin .l .sns a{
            width: 60px;
            height: 60px;
        }

    footer .footerin .r{
        margin:40px auto 0;
        float:none;
        width:80%;
    }
        footer .footerin .r .buttonbox a{
            line-height:80px;
        }
        footer .footerin .r .buttonbox li:nth-child(1) a{
            font-size:1.2em;
        }
        footer .footerin .r .buttonbox li:nth-child(2) a{
            font-size:1.4em;
        }


    footer .footerin2{
        padding:58px 0 0;
    }
    footer .footerin2 .link{
        width:90%;
        display:table;
        margin-bottom:0;
    }
    footer .footerin2 .link > ul{
        margin:0 auto;
        float:left;
        width:33.33333%;
    }
    footer .footerin2 .link > ul:nth-child(1){width:33.33333%;}
    footer .footerin2 .link > ul:nth-child(6){width:33.33333%;}

        footer .footerin2 .link > ul > li > a,
        footer .footerin2 .link > ul > li > span{
            padding:5px 0;
            font-size: 1.3em;
        }
    footer .footerin2 .link ul ul{margin-top:5px;margin-bottom:35px;}
        footer .footerin2 .link ul li li a{
            font-size: 0.9em;
            padding:7px 0;
        }
}


@media (max-width: 768px) {
	footer{
		margin-bottom:0;
	}
	.en footer{
		margin-bottom:0;
	}
	footer .footerin {
    padding: 8vw 0 3vw;
	}
    footer .footerin .l .logo {
			width:30vw;
      margin:0 auto 3vw;
      float:none;
      text-align:center;
      display:block;
    }
    footer .footerin .l .address {
        padding-left:0;
        vertical-align:center;
        float:none;
        display:block;
    }
        #page footer .footerin .l .address h2{font-size:5.2vw;text-align: center;}
        #page footer .footerin .l .address address{padding:3vw 0 ;font-size:3.6vw;}
        #page footer .footerin .l .address a{font-size:3.6vw;}
    footer .footerin .l .sns{
      float:none;
      margin:4vw auto 0;
			width: auto;
			width: 10vw;
			height: 10vw;
    }
			footer .footerin .l .sns a {
		    width: 100%;
		    height: 100%;
	    }
		footer .footerin .r .buttonbox li {
			margin-bottom:6vw;
		}
			footer .footerin .r .buttonbox a {
				line-height: 1;
				height:12vw;
				display: flex;
				-webkit-align-items: center;
				align-items: center;
				-webkit-flex-wrap: wrap;
				flex-wrap: wrap;
				-webkit-align-content: center;
				align-content: center;
				-webkit-justify-content: center;
				justify-content: center;
			}
        footer .footerin .r .buttonbox li:nth-child(1) a{
          font-size:4.6vw;
        }
        footer .footerin .r .buttonbox li:nth-child(2) a{
          font-size:4.6vw;
        }

    footer .footerin2{
        padding:0;
    }
    footer .footerin2 .link{
        display:none;
    }
    footer .footerin2 .link2 ul{
        border-top:none;
        border-bottom:none;
        display:table;
        margin:20px auto;
    }
    footer .footerin2 .link2 li{float:left;width:50%;}
    footer .footerin2 .link2 li a{line-height:50px;margin:0;font-size: 1.2em;display:block;text-align:center;}

    footer #copy{
        border-top:1px solid #ccc;
        font-size:3vw;
        width:100%;
				height:10vw;
        padding:0;
    }
}




/* ***********************************************************
* ボタン
* *********************************************************** */
.button{
	display:table;
	margin:0 auto;
	width:240px;
	height:30px;
	transition: 0.2s linear;
	-webkit-transition: all 0.2s linear;
	-moz-transition: all 0.2s linear;
	-o-transition: all 0.2s linear;
	-ms-transition: all 0.2s linear;
	transition: all 0.2s linear;
}
	.button a{
		color:#fff;
		display: table;
		margin-left:10px;
		width:230px;
		height:100%;
		position: relative;
		opacity: 1;
		font-size:14px;
		text-decoration: none;
		padding:0 0 0 5px;
	}
		.button a:hover{
			text-decoration: none;
		}
	.button a:after{
		content: "";
		display: inline-block;
		position: absolute;
		right: 12px;
		top:50%;
		margin-top:-4px;
		background-image: url(../images/common/arrow-wh01.svg);
		background-size:contain;
		background-repeat: no-repeat;
		background-position: center top;
		width: 14px;
		height: 7px;
		z-index: 1;
		transition: 0.2s linear;
		-webkit-transition: all 0.2s linear;
		-moz-transition: all 0.2s linear;
		-o-transition: all 0.2s linear;
		-ms-transition: all 0.2s linear;
		transition: all 0.2s linear;
	}
		.button a:hover:after{
			right: 5px;
		}

	.buttonBox{
		width:700px;
		display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
		margin: 0 auto;
	}
	#page.contact .button a,
	#page.application .button a{
		font-size:18px;
	}
	#page .buttonBox .button.fix a{
		background-color: #999;
	}
	#page .buttonBox .button.send a{
		background-color: #1f356b;
	}
	#page .buttonBox .button.fix a:after{
		transform:rotateY(180deg);
		right: auto;
		left: 10px;
	}
		#page .buttonBox .button.fix a:hover:after{
			right: auto;
			left: 3px;
		}

@media (max-width: 768px) {
	.button{
		width:40vw;
		height:12vw;
		border-radius:1.6vw;
	}
		.button a{
			font-size:3.4vw;
			background-color: #1f356b;
		}
		.button a:after{
			right: 2vw;
			top:50%;
			margin-top:-0.8vw;
			width: 3.2vw;
			height: 1.6vw;
		}
			.button a:hover:after{
				right: 0.5vw;
			}


	.buttonBox{
		width:90vw;
	}
	#page.contact .button a,
	#page.application .button a{
		font-size:4vw;
	}
}




/* ***********************************************************
* ページネーション
* *********************************************************** */
#contents .pagenavi{
	display:table;
	margin:25px auto 160px;
}
#contents .pagenavi span,
#contents .pagenavi a.page{
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-align-content: center;
	align-content: center;
	-webkit-justify-content: center;
	justify-content: center;
	line-height:1;
	font-size:16px;
	font-weight:normal;
	margin:10px 10px;
	padding:0 5px;
	color : #1f356b;
	background-color: #fff;
	border:1px solid #fff;
	min-width:40px;
	height:40px;
	border-radius: 20px;
	float:left;
	text-decoration: none;
}
#contents .pagenavi a.page:hover{
	color : #fff;
	background-color: #070d38;
	border:1px solid #070d38;
}
#contents .pagenavi span.current{
	color:#fff;
	background-color:transparent;
}
#contents .pagenavi .pages,
#contents .pagenavi .last{
	display:none
}
#contents .pagenavi .previouspostslink,
#contents .pagenavi .nextpostslink{
	display:inline-block;
	background-image: url(../images/common/about-arrow-l.png);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: left 5px center;
	background-size:10px 10px;
	width: auto;
	height: 40px;
	z-index: 1;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-align-content: center;
	align-content: center;
	-webkit-justify-content: center;
	justify-content: center;
	color:#fff;
	float:left;
	padding:0 0 0 25px;
	margin:10px 30px 10px 0;
}
#contents .pagenavi .nextpostslink{
	background-image: url(../images/common/about-arrow.png);
	background-position: right 5px center;
	padding:0 25px 0 0;
	margin:10px 0 10px 30px;
}
	#contents .pagenavi .previouspostslink:hover{
		background-position: left center;
	}
	#contents .pagenavi .nextpostslink:hover{
		background-position: right center;
	}
@media (max-width: 768px) {
	#contents .pagenavi{
		display:table;
		margin:8vw auto 16vw;
	}
	#contents .pagenavi span,
	#contents .pagenavi a.page{
		font-size:3.4vw;
		padding:0;
		border-radius: 5vw;
		margin:2vw 2vw;
		width:10vw;
		height:10vw;
	}
	#contents .pagenavi .previouspostslink,
	#contents .pagenavi .nextpostslink{
		background-position: left center;
		background-size:4vw 4vw;
		height: 10vw;
		padding:0 0 0 6vw;
		margin:2vw 4vw 2vw 0;
	}
	#contents .pagenavi .nextpostslink{
		background-position: right center;
		padding:0 6vw 0 0;
		margin:2vw 0 2vw 4vw;
	}
}





/* ***********************************************************
* 基本設定
* *********************************************************** */
#page.page #contents{
	position: relative;
	padding:0;
	min-height: calc(100vh - 250px);
}
.inner{display:table;}


@media (max-width: 768px) {
	#page.page #contents{
		padding:0;
		min-height: calc(100vh - 50vw);
	}
}

	.index #contents h2.title{
		width:232px;
		text-align: center;
		margin:0 auto;
		display: table;
	}
		.index #contents h2.title img{
			width:100%;
		}
	.page #contents h2.title{
		width:400px;
		text-align: center;
		margin:0 auto;
		display: table;
	}
		.page #contents h2.title img{
			width:100%;
		}
@media (max-width: 768px) {
	.index #contents h2.title{
		width:30vw;
	}
	.page #contents h2.title{
		width:60vw;
	}
}




/* ***********************************************************
* テーブル
* *********************************************************** */
table.tb01{
  width:100%;
}
table.tb01 tr{
  border-bottom: 1px solid #000;
}
table.tb01 th{
  padding: 22px 0;
  text-align:left;
  font-weight:normal;
}
table.tb01 td{
  padding: 22px 0;
}

@media (max-width: 768px){
	table.tb01 th{
		padding: 15px 0;
	}
	table.tb01 td{
		padding: 15px 0;
	}
}


/* ***********************************************************
* ページトップ
* *********************************************************** */

/*リンクを右下に固定*/
#page-top{
	border-radius: 30px;
	background-color: #0075c1;
	overflow: hidden;
  width: 60px;
	position: fixed;
  right: 20px;
  z-index: 1000;
  /*はじめは非表示*/
  opacity: 0;
  transform: translateY(100px);
}
#page-top a{
	display: flex;
  justify-content:center;
  align-items:center;
  width: 100%;
  text-align: center;
  text-transform: uppercase;
  text-decoration: none;
  transition:all 0.3s;
}
#page-top a:hover{
  opacity: 0.5;
}
#page-top img{
	width: 100%;
}




/* ***********************************************************
* フォーム
* *********************************************************** */
#contents input{
	padding: 4px 8px;
	background-color: #f9f9f9;
	border: none;
	border-radius: 4px;
	text-align:left;
	margin:5px 0;
	line-height: 1.8;
	font-size: 1em;
	border:1px solid #999999;
	box-sizing: border-box;
}
#contents input.inputbox02{
	width:100%;
}
#contents .err{background-color:#ffe6e6;}
#contents .err input,
#contents .err textarea,
#contents .err select{background-color:#fcc;}
#contents .errbox{
  font-weight:bold;
  color:#c30;
}
@media (max-width: 768px){
	#contents input{
		padding: 1.5vw 2vw;
		margin:1.5vw 0;
	}
}



/* ***********************************************************
* 施工事例
* *********************************************************** */
.construction-box .box{
	width:290px;
	margin-bottom:60px;
}
	.construction-box .box .photo{
		width:100%;
		height:250px;
		overflow:hidden;
		border-radius: 20px;
	}
		.construction-box .box .photo img{
			width:100%;
		}
		.construction-box .box .photo img:hover{
		  transform:scale(1.2,1.2);
		}
		.construction-box .box .comment{
			padding:30px 0 0;
		}
			.construction-box .box .comment div{
				width:auto;
				display: table;
				border-radius: 13px;
				background-color: #fff;
				color:#1d2a86;
				margin-bottom:15px;
			}
				.construction-box .box .comment div a{
					min-width:92px;
					height:26px;
					font-size: 12px;
					line-height: 1;
					display: table;
					text-align: center;
					padding:7px 10px;
				}
			.construction-box .box .comment h3 a{
				color:#fff;
				font-size: 18px;
			}
@media (max-width: 768px){
	.construction-box .box{
		width:42vw;
		margin-bottom:10vw;
	}
		.construction-box .box .photo{
			width:100%;
			height:42vw;
			border-radius: 5vw;
		}
			.construction-box .box .comment{
				padding:0 0 0;
			}
				.construction-box .box .comment div{
					border-radius: 3vw;
					margin-bottom:4vw;
				}
					.construction-box .box .comment div a{
						min-width:25vw;
						height:4.6vw;
						font-size: 3.6vw;
						padding:2vw 5vw;
					}
				.construction-box .box .comment h3 a{
					font-size: 4vw;
				}
}




/* ***********************************************************
* アニメーション
* *********************************************************** */
.hover-line{
	position: relative;
	display: inline-block;
	position: relative;
	overflow: hidden;
}
.hover-line:after{
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: #fff;
	transform: translate(-100%, 0);
	transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.4s;
	content: "";
}
#footer .link ul.link01 > li > a.hover-line:after,
#footer .link ul.link02 > li > a.hover-line:after{
	background-color: #1d2a86;
}
#footer .link ul.link01 > li.linkin li .hover-line:after{
	background-color: #050505;
}
.hover-line:hover:after {
	transform: translate(0, 0);
}


.obi-move_block {
	/* display: inline-block;*/
	line-height: 1;
	position: relative;
	overflow: hidden;
}

.obi-move_block:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: #ffffff;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  -webkit-transform-origin: center left;
  transform-origin: center left;
  -webkit-transform: scale(0, 1);
  transform: scale(0, 1);
  -webkit-animation-timing-function: cubic-bezier(0.86,0,0.07,1);
  animation-timing-function: cubic-bezier(0.86,0,0.07,1);
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  -webkit-animation-play-state: paused;
  animation-play-state: paused;
	-webkit-animation-delay: 0.17s;
  animation-delay: 0.17s;
	-webkit-animation-play-state: running;
  animation-play-state: running;
	-webkit-animation-duration: 2.5s;
	animation-duration: 2.5s;
}
	.obi-move_block.mv-pt01:before {
		-webkit-animation-name: ObiSlide1;
	  animation-name: ObiSlide1;
	}
	.obi-move_block.mv-pt02:before {
		-webkit-animation-name: ObiSlide2;
	  animation-name: ObiSlide2;
	}
	.obi-move_block.mv-pt03:before {
		-webkit-animation-name: ObiSlide3;
	  animation-name: ObiSlide3;
	}
	.obi-move_block.mv-pt04:before {
		-webkit-animation-name: ObiSlide4;
	  animation-name: ObiSlide4;
	}
.obi-move_block > span{
	display: block;
	position: relative;
	-webkit-animation-delay: 0s;
  animation-delay: 0s;
	-webkit-animation-duration: 2.5s;
	animation-duration: 2.5s;
}
	.obi-move_block.mv-pt01 > span{
		-webkit-animation-name: ObiSlide-SPAN01;
		animation-name: ObiSlide-SPAN01;
	}
	.obi-move_block.mv-pt02 > span{
		-webkit-animation-name: ObiSlide-SPAN02;
		animation-name: ObiSlide-SPAN02;
	}
	.obi-move_block.mv-pt03 > span{
		-webkit-animation-name: ObiSlide-SPAN03;
		animation-name: ObiSlide-SPAN03;
	}
	.obi-move_block.mv-pt04 > span{
		-webkit-animation-name: ObiSlide-SPAN04;
		animation-name: ObiSlide-SPAN04;
	}

@keyframes ObiSlide1 {
  0% {
      -webkit-transform: scale(0,1);
      transform: scale(0,1);
      -webkit-transform-origin: center left;
      transform-origin: center left;
  }
  45% {
      -webkit-transform: scale(1,1);
      transform: scale(1,1);
      -webkit-transform-origin: center left;
      transform-origin: center left;
  }
  60% {
      -webkit-transform: scale(1,1);
      transform: scale(1,1);
      -webkit-transform-origin: center right;
      transform-origin: center right;
  }
  80% {
      -webkit-transform: scale(0,1);
      transform: scale(0,1);
      -webkit-transform-origin: center right;
      transform-origin: center right;
  }
}
@keyframes ObiSlide2 {
    5% {
        -webkit-transform: scale(0,1);
        transform: scale(0,1);
        -webkit-transform-origin: center left;
        transform-origin: center left;
    }
    50% {
        -webkit-transform: scale(1,1);
        transform: scale(1,1);
        -webkit-transform-origin: center left;
        transform-origin: center left;
    }
    65% {
        -webkit-transform: scale(1,1);
        transform: scale(1,1);
        -webkit-transform-origin: center right;
        transform-origin: center right;
    }
    85% {
        -webkit-transform: scale(0,1);
        transform: scale(0,1);
        -webkit-transform-origin: center right;
        transform-origin: center right;
    }
}
@keyframes ObiSlide3 {
    10% {
        -webkit-transform: scale(0,1);
        transform: scale(0,1);
        -webkit-transform-origin: center left;
        transform-origin: center left;
    }
    55% {
        -webkit-transform: scale(1,1);
        transform: scale(1,1);
        -webkit-transform-origin: center left;
        transform-origin: center left;
    }
    70% {
        -webkit-transform: scale(1,1);
        transform: scale(1,1);
        -webkit-transform-origin: center right;
        transform-origin: center right;
    }
    95% {
        -webkit-transform: scale(0,1);
        transform: scale(0,1);
        -webkit-transform-origin: center right;
        transform-origin: center right;
    }
}
@keyframes ObiSlide4 {
	15% {
			-webkit-transform: scale(0,1);
			transform: scale(0,1);
			-webkit-transform-origin: center left;
			transform-origin: center left;
	}
	60% {
			-webkit-transform: scale(1,1);
			transform: scale(1,1);
			-webkit-transform-origin: center left;
			transform-origin: center left;
	}
	75% {
			-webkit-transform: scale(1,1);
			transform: scale(1,1);
			-webkit-transform-origin: center right;
			transform-origin: center right;
	}
	100% {
			-webkit-transform: scale(0,1);
			transform: scale(0,1);
			-webkit-transform-origin: center right;
			transform-origin: center right;
	}
}
@keyframes ObiSlide-SPAN01 {
  0% {opacity: 0;}
  48% {opacity: 0;}
  60% {opacity: 1;}
  100% {opacity: 1;}
}
@keyframes ObiSlide-SPAN02 {
  0% {opacity: 0;}
  5% {opacity: 0;}
  53% {opacity: 0;}
  65% {opacity: 1;}
  100% {opacity: 1;}
}
@keyframes ObiSlide-SPAN03 {
  0% {opacity: 0;}
  10% {opacity: 0;}
  58% {opacity: 0;}
  70% {opacity: 1;}
  100% {opacity: 1;}
}
@keyframes ObiSlide-SPAN04 {
  0% {opacity: 0;}
  15% {opacity: 0;}
  63% {opacity: 0;}
  75% {opacity: 1;}
  100% {opacity: 1;}
}




.Animealpha{
    animation: text-opacity-Anime 3s ease 0s 1;
    -webkit-animation: text-opacity-Anime 3s ease 0s 1;
}
	@keyframes text-opacity-Anime {
		0% {opacity: 0;}
		100% {opacity: 1;}
	}
	@-webkit-keyframes text-opacity-Anime {
		0% {opacity: 0;}
		100% {opacity: 1;}
	}

.AnimealphaBtup{
    animation: text-opacity-UPAnime 2s ease 0s 1;
    -webkit-animation: text-opacity-UPAnime 2s ease 0s 1;
}
	@keyframes text-opacity-UPAnime {
		0% {opacity: 0;margin-top:40px;}
		20% {opacity: 0;margin-top:40px;}
		60% {opacity: 1;margin-top:0;}
	}
	@-webkit-keyframes text-opacity-UPAnime {
		0% {opacity: 0;margin-top:40px;}
		20% {opacity: 0;margin-top:40px;}
		60% {opacity: 1;margin-top:0;}
	}



#page.page.none main {
  width: 100%;
  height: 360px;
  background-image: url(../images/column/main.jpg);
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-content: center;
  align-content: center;
}
#page.page.none #main h1 {
    width: 100%;
    font-size: 3.8rem;
    line-height: 1.4;
    color: #FFFFFF;
    text-align: center;
    padding: 0 20px 10px;
    letter-spacing: 2px;
}
#page.page.none #main #ptitle span {
    margin: 0 auto;
    font-size: 1.8rem;
    display: table;
    padding: 8px 10px 10px;
    letter-spacing: 2px;
    background-repeat: repeat-x;
    background-image: url(../images/common/title_border.png);
    background-position: center bottom;
}
#page.page.none #contents p{
	font-size:32px;
	text-align: center;
	margin:0 auto 0;
	padding:150px 0 0;
}


@media (max-width: 768px) {
	#page.page.none #main #ptitle {
	  font-size: 5vw;
	}
    #page.page.none #main #ptitle span {
      font-size: 1.3rem;
    }
		#page.page.none #contents p{
			font-size:5vw;
			padding:20vw 0 0;
		}
}
/* ***********************************************************
* サイドナビ
* *********************************************************** */
#side-NV{
	position: fixed;
	right:0;
	bottom:3vh;
	width:232px;
	z-index: 500;
}
#side-NV li{
	margin-left:28px;
	margin-bottom:5px;
	width:240px;
	overflow: hidden;
	line-height: 1;
}
#side-NV li a{
	display: inline-block;
}
#side-NV li:hover{
	margin-left:0;
}
#side-NV li a:hover img{
	opacity: 1;
}
