@charset "UTF-8";


/* 共通 */
.pc_cont { display: none; }
.sp_cont { display: block; }
ul { margin: 0; }
.err { color: #ff0000; font-weight: bold; }
@media screen and ( min-width: 769px ) {
	.pc_cont { display: block; }
	.sp_cont { display: none; }
	.flb { display: flex; flex-wrap: wrap; }
}

/* contact ==============================*/
section .sec_inner { padding: 0 10px; }
@media screen and ( min-width: 340px ) {
	section .sec_inner { padding: 0 30px; }
}
header { top: 0; }
body { margin-top: 130px; }
section { width: 100%; max-width: 1045px; margin: auto; }
.cont_head h2 img { max-width: 200px; }
.cont_head h3 { margin: 30px 0; }
.sec-underlayer_mv_title { position: relative; border-bottom: 1px solid #dadddd; }
.sec-underlayer_mv_title p { margin-bottom: 30px; }
.h2_underlayer-contents { margin-bottom: 35px; }
.h2_underlayer-contents::after { position: absolute; top: 60px; left: 0; content: ""; display: block; width: 32px; border-top: 5px solid #59CFF8; }
.cont_nav ul { border: 1px solid #dadddd; margin-bottom: 40px; display: flex; flex-wrap: wrap; }
.cont_nav li { position: relative; width: calc( 100% / 3 ); height: 60px; padding: 20px 0; text-align: center; background: #a3caf6; }
.cont_nav li.current::before { content: ""; width: 0; height: 0; border-style: solid; border-width: 30px 0 30px 15px; border-color: transparent transparent transparent #0385df; position: absolute; right: -14px; top: 0; z-index: 2; }
.cont_nav li:nth-of-type(2)::before { content: ""; width: 0; height: 0; border-style: solid; border-width: 30px 0 30px 15px; border-color: transparent transparent transparent #a3caf6; position: absolute; right: -14px; top: 0; z-index: 2; }
.cont_nav li:nth-of-type(2)::after { content: ""; width: 0; height: 0; border-style: solid; border-width: 30px 0 30px 15px; border-color: transparent transparent transparent #dadddd; position: absolute; right: -15px; top: 0; z-index: 1; }
.cont_nav .current { color: #fff; background: #0385df; }
.table_wrap table { border-collapse: collapse; }
.table_wrap table tr,
.table_wrap table th,
.table_wrap table td { display: block; font-weight: normal; text-align: left; }
.table_wrap table tr { border-bottom: 1px solid #dadddd; margin-bottom: 20px; padding-bottom: 20px; }
.table_wrap table tr:nth-child(1) { border-top: 1px solid #dadddd; padding-top: 20px; }
.table_wrap table th { margin-bottom: 20px; }
.table_wrap table th::before { content: "▼"; display: inline-block; }
.table_wrap .flb { display: flex; flex-wrap: wrap; }
.table_wrap .flb li { width: calc(100% / 2); margin-bottom: 30px; }
.table_wrap .required::after { content:"必須"; margin-left: 10px; padding: 0 1em; width: 4em; background: #0385df; color: #fff; }
.cont_foot .comf_btn { width: 80%; max-width: 350px; margin: 0 auto 60px; }
.cont_foot .comf_btn::after { content: "";  width: 60px; border-top: 1px solid #1e3553; top: 50%; transform: translateY(-50%); right: -30px; height: 1px; position: absolute; }
.cont_foot .personal_info { margin: 10px 0; border: 1px solid #dadddd; }
@media screen and ( min-width: 769px ) {
	body { margin-top: 140px; }
	section .sec_inner { padding: 0; }
	footer section { max-width: inherit; }
	.table_wrap table { width: 100%; }
	.cont_head h2 img { max-width: inherit; }
	.cont_head h3 img { max-width: 495px; margin-top: 50px; }
	.cont_head h3 + p { font-size: 15px; line-height: 1.5; margin: 40px 0; }
	.sec-underlayer_mv_title p { margin-bottom: 50px; }
	.cont_nav li.current::before { content: ""; width: 0; height: 0; border-style: solid; border-width: 30px 0 30px 30px; border-color: transparent transparent transparent #0385df; position: absolute; right: -29px; top: 0; z-index: 2; }
	.cont_nav li:nth-of-type(2)::before { content: ""; width: 0; height: 0; border-style: solid; border-width: 30px 0 30px 30px; border-color: transparent transparent transparent #a3caf6; position: absolute; right: -29px; top: 0; z-index: 2; }
	.cont_nav li:nth-of-type(2)::after { content: ""; width: 0; height: 0; border-style: solid; border-width: 30px 0 30px 30px; border-color: transparent transparent transparent #dadddd; position: absolute; right: -30px; top: 0; z-index: 1; }
	.cont_nav .current { color: #fff; background: #0385df; }
	.table_wrap table tr { padding-bottom: 0; margin-bottom: 0; display: table-row; }
	.table_wrap table th { padding: 30px; width: 275px; background: #f5f7fb; display: table-cell; }
	.table_wrap table th span { font-size: 14px; }
	.table_wrap table tr:nth-child(1) { padding-top: 0; }
	.table_wrap table tr:nth-of-type(1) td { padding: 35px 70px 5px 10px; display: table-cell; }
	.table_wrap table td { padding: 15px 70px 15px 10px; }
	.cont_foot .comf_btn { width: 100%; max-width: 350px; margin: 0 auto 60px; }
	.cont_foot .personal_info { margin: 50px 0; }
}
input[type="text"],
input[type="email"],
textarea { width: 100%; border: 1px solid #dadddd; border-radius: 5px; padding: 15px; }
input[type="text"],
input[type="email"] { padding: 15px; }
.cont_body .type input[type="chexkbox"] { vertical-align: middle; border-radius: 50%; }
.cont_body .name li { width: calc( (100% - 10px) / 2 ); margin-bottom: 0; }
.cont_body .name li:nth-of-type(1) { margin-right: 10px; }
.cont_body .name input[type="text"] { width: calc( 100% - 1.7em ); margin-left: 10px; }
.cont_body .tel li { width: calc( (100% - 60px) / 3 ); position: relative; margin-bottom: 0; }
.cont_body .tel li:not(:nth-last-of-type(1)) { margin-right: 30px; }
.cont_body .tel li:not(:nth-last-of-type(1))::after { content: "ー"; right: -30px; position: absolute; top: 50%; transform: translate(-50%, -50%); }

.cont_foot a { text-decoration: underline; }

.cont_foot .personal_info p { margin: 0; }
.cont_foot .personal_info p:nth-of-type(1) { text-align: center; padding: 30px 0; background: #f5f7fb; }
.cont_foot .personal_info p:nth-of-type(2) { padding: 40px 30px; }
.cont_foot .comf_btn p { border-radius: 3px; background: #004fbc; /* Old browsers */
background: -moz-linear-gradient(left,  #004fbc 1%, #00ddff 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(left,  #004fbc 1%,#00ddff 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to right,  #004fbc 1%,#00ddff 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#004fbc', endColorstr='#00ddff',GradientType=1 ); /* IE6-9 */ }
.cont_foot .comf_btn button { width: 100%; text-align: center; cursor: pointer; display: block; color: #fff; padding: 30px 0; border: 0; background: none; }

/* guide */
section#guide { max-width: inherit; }
section#guide .sec_inner { padding: 0; }
#guide ul { margin: 0; }
#guide .flb li { padding: 90px 0; }
#guide .flb li div { width: 90%; }
#guide .sec-underlayer_mv_title { border-bottom: none; }
#guide .sec-underlayer_mv_title p { margin-bottom: 30px; }
#guide .flb li:nth-of-type(1) { background: url(../_img/contact/contact_01.jpg)no-repeat; background-size: cover; }
#guide .flb li:nth-of-type(1) div { text-align: center; max-width: 300px; margin: auto; position: relative; }
#guide .flb li:nth-of-type(1) div p { margin: 0; text-align: center; line-height: 2; color: #fff; }
#guide .flb li:nth-of-type(1) div p:nth-of-type(1) { text-align: center; }
#guide .flb li:nth-of-type(1) div a { display: block; color: #fff; }
#guide .flb li:nth-of-type(1) div a { font-size: 24px; }
#guide .flb li:nth-of-type(1) div p:nth-of-type(2) { font-size: 20px; }
#guide .flb li:nth-of-type(2) { background: url(../_img/contact/contact_02.jpg)no-repeat; background-size: cover; }
#guide .flb li:nth-of-type(2) div { max-width: 375px; margin: auto; }
#guide .flb li:nth-of-type(2) div a { color: #fff; text-align: center; }
#guide .flb li:nth-of-type(2) div .feature_btn { background: #fff; position: relative; }
#guide .flb li:nth-of-type(2) div .feature_btn::after { content: ""; width: 60px; border-top: 1px solid #59cff8; top: 50%; transform: translateY(-50%); right: -30px; height: 1px; position: absolute; }
#guide .flb li:nth-of-type(2) div .feature_btn a { color: #59cff8; padding: 30px 0; display: block; }
#guide .flb li:nth-of-type(2) div h2 img { max-width: 200px; }
@media screen and ( min-width: 769px ) {
	#guide .flb li { width: calc(100% / 2); padding: 120px 0; }
	#guide .flb li div { width: 100%; }
	#guide .flb li:nth-of-type(1) div { text-align: center; max-width: 300px; margin: auto; position: relative; top: 50%; transform: translateY(-50%); }
	#guide .flb li:nth-of-type(1) div p { text-align: left; line-height: 1.5; }
	#guide .flb li:nth-of-type(1) div a { font-size: 37px; text-align: left; }
	#guide .flb li:nth-of-type(1) div p:nth-of-type(2) { font-size: 27px; }
	#guide .flb li:nth-of-type(1) div p:nth-of-type(3) { font-size: 17px; }
	#guide .flb li:nth-of-type(2) div h2 img { max-width: inherit; }
}

