

/*	パーツ
================================================== */
.load-animation{
	position: fixed;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
	background: rgba(255,255,255,0.0);
}
.load-animation.active{
	height: 0%;
	width: 0%;
}
.load-animation:before{
	content: "";
	display: block;
	position: fixed;
	left: 0;
	width: 50%;
	height: 100%;
	top: 0;
	background: linear-gradient(to right, rgba(22,22,22,1.0), rgba(22,22,22,1.0));
	transition: all 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86);
	z-index: 1;
}
.load-animation.active:before{
	width: 0;
}
.load-animation:after{
	content: "";
	display: block;
	position: fixed;
	right: 0%;
	width: 50%;
	height: 100%;
	bottom: 0;
	background: linear-gradient(to right, rgba(22,22,22,1.0), rgba(22,22,22,1.0));
	transition: all 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86);
	z-index: 1;
}
.load-animation.active:after{
	width: 0%;
}



.load-animation .ico{
	position: absolute;
	left: 50%;
	top: 50%;
	margin-left: -0;
	margin-top: -27px;
	z-index: 2;
}
.load-animation.active .ico{
	opacity: 0;
	visibility: hidden;
}

/*	topicPath
================================================== */
main nav.topicPath{
	min-width: 980px;
	margin: 0 auto;
	padding: 0 25px 0 25px;
}
main nav.topicPath ul{
	text-align: left;
	position: relative;
	left: 20px;
}
main nav.topicPath ul li{
	display: inline-block;
	vertical-align: middle;
	position: relative;
}
main nav.topicPath ul li:after{
	content: "";
	display: inline-block;
	vertical-align: middle;
	width: 4px;
	height: 4px;
	border-bottom: 1px solid #999;
	border-right: 1px solid #999;
	transform: rotate(-45deg);
	position: relative;
	top: -1px;
	margin: 0px 5px 0px 5px;
}
main nav.topicPath ul li:last-of-type:after{
	display: none;
	margin: 0px 0px 0px 0px;
}
main nav.topicPath ul li a{
	color: #999;
	text-transform: uppercase;
}


/*	pageTitle
================================================== */
main .pageTitle{
	margin: 0 auto;
	padding: 40px 0 50px 0;
	text-align: center;
}
main .pageTitle h1{
	font-size: 26px;
	letter-spacing: 0.10em;
	text-transform: uppercase;
}



.linkBox{
	display: inline-block;
	position: relative;
	overflow: hidden;
	z-index: 0;
}
.linkBox:after{
	content: "";
	display: block;
	position: absolute;
	right: 0;
	width: 0;
	top: 0;
	height: 100%;
	background: #f6f6f6;
	z-index: -1;
	-webkit-transition: 0.25s ease-in-out;
	-moz-transition: 0.25s ease-in-out;
	-o-transition: 0.25s ease-in-out;
	transition: 0.25s ease-in-out;
}
.linkBox.opacity:after{
	background: #fff;
	z-index: -1;
}

.linkBox.opacity:hover:after,
.linkBox:hover:after{
	left: 0;
	right: auto;
	width: 100%;
}


.linkBox a{
	display: block;
	width: 200px;
	background: none;
	color: #fff;
	text-align: center;
	padding: 13px 0;
	margin: 0 auto 0 auto;
	position: relative;
}
.linkBox a span{
	display: inline-block;
	position: relative;
	z-index: 1;
}
.linkBox.opacity a{
	border: 1px solid #fff;
	color: #fff;
}

.linkBox a:hover{
	color: #333;
}
.linkBox.opacity a:hover{
	color: #333;
}

.linkBox a:after{
	content: "";
	display: block;
	background: #333;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: -3;
}
.linkBox.opacity a:after{
	background: none;
}

.linkBox a:before{
	content: "\f178";
	font-family: FontAwesome;
	position: absolute;
	right: 13px;
	top: 50%;
	line-height: 1;
	margin-top: -0.6em;
	color: #fff;
	font-size: 10px;
	font-weight: 400;
	-webkit-transition: 0.25s ease-in-out;
	-moz-transition: 0.25s ease-in-out;
	-o-transition: 0.25s ease-in-out;
	transition: 0.25s ease-in-out;
}
.linkBox a:hover:before{
	right: 11px;
	color: #333
}


/*	cvBox
================================================== */
main .cvBox{
	position: relative;
	padding: 100px 0;
	background: #F2F2F2;
	overflow: hidden;
	z-index: 1;
}
main .cvBox nav{
	max-width: 870px;
	margin: 0 auto;
}
main .cvBox nav ul{
	font-size: 0;
	text-align: center;
}
main .cvBox nav ul li{
	display: inline-block;
	vertical-align: top;
	width: 31%;
	margin: 0 1%;
}
main .cvBox nav ul li a{
	display: block;
	background: #333;
	color: #fff;
	padding: 17px 0;
}
main .cvBox nav ul li a span{
	font-size: 14px;
	display: block;
	letter-spacing: 0.15em;
}
main .cvBox nav ul li a em{
	font-size: 11px;
	display: block;
}














/*	フォームテーブル
================================================== */
main .formcontent {
	margin-left:auto;
	margin-right:auto;
	text-align: left;
}
main .formcontent p{
	margin-bottom: 45px;
}
main .formcontent table{
	width: 100%;
	font-size: 14px;

}
main .formcontent table tbody{
	margin-bottom: 5px;
}
main .formcontent table tr{
}
main .formcontent table tr td{
	padding: 14px 0 14px 30px;
	font-size: 13px;
	text-align: left;
}
main .formcontent table tr td.item{
	position: relative;
	width: 180px;
	font-size: 13px;
	padding: 24px 0px 14px 0;
	vertical-align: top;
}
main .formcontent table tr td ul {
	margin-bottom: 0;
}
main .formcontent table tr td ul:first-of-type {
	margin-bottom: 12px;
}
main .formcontent table tr td ul.inline{
	padding:3px 0;
}
main .formcontent table tr td ul.inline li{
	display:inline-block;
	width: 47%;
	vertical-align:middle;
	margin-right:12px;
	font-size:16px;
}
main .formcontent table tr td ul.inline.three li{
	width: 31%;
}
main .formcontent table tr td ul.inline li span{
	display:inline-block;
	vertical-align:middle;
	margin-left:10px;
}
main .formcontent table tr td ul.block{
}
main .formcontent table tr td ul.block li{
	margin-bottom: 12px;
	font-size:16px;
	position: relative;
}
main .formcontent table tr td ul.block li span.error{
	font-size: 70% !important;
}
main .formcontent table tr td ul.block li span.add{
	display: inline-block;
	width: 75px;
}

main .formcontent table tr td ul.block li:last-of-type{
	margin-bottom: 0;
}
main .formcontent table tr td ul.block li ul li{
	margin-bottom: 0;
}


/*	フォーム　パーツ
================================================== */
.must {
	font-size: 13px;
	padding: 0 0 0 5px;
	display: inline-block;
	color: #9B720D;
}
main .formcontent select{
	width: 100% !important;
	-webkit-appearance: none;
}
main .formcontent input[type="text"],
main .formcontent input[type="tel"],
main .formcontent input[type="email"],
main .formcontent select,
main .formcontent textarea{
	padding:14px 15px;
	border:1px solid #ddd;
	background: #fff;
	color: #333;
	box-sizing:border-box;
	border-radius:0 !important;
}
main .formcontent input[type="text"].readonly, main .formcontent input[type="tel"].readonly, main .formcontent input[type="email"].readonly, main .formcontent select.readonly, main .formcontent textarea.readonly{
	border: 0px solid #ddd;
}
main .formcontent input[type="text"],
main .formcontent input[type="tel"],
main .formcontent input[type="email"]{
	display: inline-block;
	width: 100% !important;
}
main .formcontent input[type="radio"]{
	vertical-align:baseline;
	position: relative;
	top: 2px;
}
main .formcontent input[type="text"].other{
	display: inline-block;
	width: 45% !important;
}
main .formcontent input[type="text"].name{
	display: inline-block;
}
main .formcontent input[type="text"].age{
	display: inline-block;
	width: 100px !important;
}
main .formcontent select.subject{
	margin-bottom: 8px;
}

main .formcontent textarea{
	display: block;
	width: 100% !important;
	height:180px !important;
}
main .formcontent table tr td ul.block li select.add,
main .formcontent table tr td ul.block li input.add{
	width : calc(100% - 75px) !important;
	display: inline-block;
}


.mfp_buttons{
	margin-top:40px;
}
.mfp_buttons ol{
	text-align:center;
}
.mfp_buttons ol li{
	position: relative;
	overflow: hidden;
}
.mfp_buttons input.send{
	display: block;
	width: 100%;
	height:60px;
	color: #fff;
	background: #333;
	border: 0px solid #805334;
	cursor: pointer;
	font-size: 14px;
	letter-spacing: 1px;
	border-radius:0 !important;
	-webkit-transition: 0.4s ease-in-out;
	-moz-transition: 0.4s ease-in-out;
	-o-transition: 0.4s ease-in-out;
	transition: 0.4s ease-in-out;
	position: relative;
}


.mfp_buttons #mfp_button_send,
.mfp_buttons #mfp_button_cancel{
	width:260px;
	height:42px;
	color: #fff;
	display: inline-block;
	background: #000;
	cursor:pointer;
	font-size: 14px;
	border-radius: 0 !important;
	font-family: "Noto Sans Japanese", sans-serif;
	-webkit-transition: 0.4s ease-in-out;
	-moz-transition: 0.4s ease-in-out;
	-o-transition: 0.4s ease-in-out;
	transition: 0.4s ease-in-out;
}
.mfp_buttons #mfp_button_send:hover,
.mfp_buttons #mfp_button_cancel:hover{
	-webkit-transition: 0.4s ease-in-out;
	-moz-transition: 0.4s ease-in-out;
	-o-transition: 0.4s ease-in-out;
	transition: 0.4s ease-in-out;
}
