@charset "utf-8";

/*common*/
.pc-only { display: block!important; }
.sp-only { display: none!important; }

section, main { position: relative; display: block; }
body { width: 100%; overflow-x: hidden; }

img { max-width: 100%; }

@media screen and (max-width: 899px) {
	.pc-only { display: none!important; }
	.sp-only { display: block!important; }
    
    html, body { width: 100%; overflow-x: hidden; }
}

/*no-js*/
.no-js .js-scroll-fade,
.no-js .top_main_txt.is-animation .catch { opacity: 1!important; }
.no-js body #loading { display: none; }

/*loading*/
body #loading {
    background: #fff;
    display: block;
    height: 100%;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 100010;
    pointer-events: none;
    -webkit-transition: opacity 1.5s cubic-bezier(.16,1,.3,1) 0.5s; transition: opacity 1.5s cubic-bezier(.16,1,.3,1) 0.5s;
}

body #loading.is-animation {
    opacity: 0;
}

/*fade*/
.js-scroll-fade { opacity: 0; }
.isActive  {
    -webkit-animation-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
    animation-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
    -webkit-animation-duration: 1.8s;
    animation-duration: 1.8s;
    -webkit-animation-name: fadeUp;
    animation-name: fadeUp;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
}
@-webkit-keyframes fadeUp{
	0%{opacity:0;-webkit-transform:translateY(50px);transform:translateY(50px)}
    10%{opacity:0; }
	to{opacity:1;-webkit-transform:none;tansform:none}
}
@keyframes fadeUp{
	0%{opacity:0;-webkit-transform:translateY(50px);transform:translateY(50px)}
    10%{opacity:0; }
	to{opacity:1;-webkit-transform:none;transform:none}
}

/*contents*/
.function_btn a { position: fixed; bottom: 0; z-index: 10; width: 100%; padding: 30px 0; background: #000; font-size: 3.0rem; color: #fff; text-align: center;}

.top_main { height: 100vh; position: relative; }
.top_main_logo { width: 17.82%; position: absolute; top: 90px; left: 50%; z-index: 3; -webkit-transform:translateX(-50%);transform:translateX(-50%); }
.top_main_txt { width: 12.24%; position: absolute; top: 90px; left: 10.41%; z-index: 3; }
.top_main_ph img { width: 100%; height: 100vh; object-fit: cover; }
.top_main_ph:after { content: ""; display: block; width: 100%; height: 100vh; background: rgba(0,0,0,0.3); mix-blend-mode: multiply; position: absolute; top: 0; z-index: 2; }

.top_concept { position: relative; padding: 130px 0 170px; }
.top_concept_bg img { width: 100%; height: 100%; object-fit: cover; position: absolute; top: 0; z-index: -2; }
.top_concept_bg:after { content: ""; display: block; width: 100%; height: 100%; background: rgba(0,0,0,0.7); mix-blend-mode: multiply; position: absolute; top: 0; z-index: -1; }
.top_concept > .inner { width: 68.21%; margin: 0 auto; }
.top_concept_hd {  font-size: calc(38vw / 1919 * 100); line-height: 2.0; color: #fff; text-align: center; }
.top_concept_item { display: flex; flex-wrap: wrap; justify-content: center;}
.top_concept_item > div { width: 29.86%; margin-left: 5.21%; margin-top: 6.11%; padding-bottom: 17.57%; position: relative; }
.top_concept_item > div:before,
.top_concept_item > div:after { content: ""; display: block; width: 22%; height: 60%; position: absolute; }
.top_concept_item > div:before { left: 0; top: 0; border-left: 1px solid #fff; border-top: 1px solid #fff; }
.top_concept_item > div:after { right: 0; bottom: 0; border-right: 1px solid #fff; border-bottom: 1px solid #fff; }
.top_concept_item > div:nth-child(3n + 1) { margin-left: 0; }
.top_concept_item > div span { display: block; width: 100%; font-size: calc(25vw / 1919 * 100); color: #fff; text-align: center; position: absolute; top: 50%; left: 50%; -webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%); }
.top_concept_arrow { width: 21.46%; margin: 9% auto 3.36%; }
.top_concept_end { padding: 6.11% 0 3.05%; border: 1px solid #fff; font-size: calc(36vw / 1919 * 100); color: #fff; line-height: 1.5; text-align: center; }
.top_concept_end span { font-size: calc(17vw / 1919 * 100); color: #fff; }
.top_concept_notes { font-size: calc(17vw / 1919 * 100); color: #fff; margin-top: 15px; }

.top_service > .inner { width: 62.50%; min-width: 860px; margin: 0 auto; }
.top_service_ttl { font-size: 3.2rem; text-align: center; margin: 170px 0; }
.top_service_list { display: flex; justify-content: space-between; }
.top_service_item { width: 31.25%; padding: 90px 0 55px; background: #000; border-radius: 15px; position: relative;}
.top_service_item .num {  width: 112px; height: 112px; margin: 0 auto; border-radius: 50%; background: #000; -webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%); position: absolute; top: 0; left: 50%; }
.top_service_item .num span { position: absolute; top: 50%; width: 100%; text-align: center; font-size: 4.0rem; color: #fff; -webkit-transform:translateY(-50%);transform:translateY(-50%);}
.top_service_item .ico { width: 74px; margin: 0 auto; }
.top_service_item .ttl { font-size: 3.0rem; margin: 40px 0 20px; line-height: 1.5; color: #fff; text-align: center; }
.top_service_item .txt { margin: 10.26%; }
.top_service_item p { color: #fff;}

.top_support > .inner { width: 62.50%; min-width: 860px; margin: 0 auto; }
.top_support_item { margin-top: 130px; }
.top_support_item + .top_support_item { margin-top: 110px; }
.top_support_item .ttl { font-size: 3.2rem; margin-bottom: 5px; }
.top_support_item .ttl .num { font-size: 4.0rem; }
.top_support_item .ttl small { font-size: 2.4rem; }
.top_support_item .box { border: 2px solid #000; padding: 4.5%; position: relative; }
.support_tb { padding: 0 0 20px; }
.support_tb._bdtop { border-top: 1px solid #231815; margin-top: 56px; padding-top: 22px; }
.support_tb + .support_tb { padding: 20px 0; border-top: 1px solid #999; }
.support_tb .ico { width: 98px; height: 98px; background: #000; position: absolute; left: 4.5%; }
.support_tb .ico span { position: absolute; top: 50%; width: 100%; text-align: center; font-size: 1.2rem; line-height: 1.5; color: #fff; -webkit-transform:translateY(-50%);transform:translateY(-50%);}
.support_tb .txt { margin-left: 156px; font-size: 1.8rem; }
.support_tb .data { display: flex; }
.support_tb .data._border { padding: 15px 0;}
.support_tb .data._border + .data._border { border-top: 1px dotted #999; }
.support_tb .list { width: 69.23%; display: flex; align-items: center; flex-wrap: wrap;border-right: 1px solid #999; }
.support_tb .list > div { margin-right: 28px;}
.support_tb .list > .notes { font-size: 1.4rem; }
.support_tb .list > div li { position: relative; padding-left: 1em; line-height: 1.5; }
.support_tb .list > div li + li { margin-top: 8px; }
.support_tb .list > div li:before { content: "◎"; display: inline-block; position: absolute; left: 0; top: 0; }
.support_tb .list > div.single { padding: 10px 0; }
.support_tb .price { width: 30.77%; padding: 0 10px; box-sizing: border-box; text-align: center; align-self: center; }
.support_tb .price .num { font-size: 5.0rem; line-height: 1.2; letter-spacing: 0; }
.support_tb .price .num small { display: inline-block; font-size: 1.4rem; margin: 0 5px; }
.support_tb .price .num2 { font-size: 3.0rem; }
.support_tb .price .num2 small { display: inline-block; font-size: 2.0rem; margin: 0 5px; }
.support_tb .price .notes { font-size: 1.4rem; }

.top_support .phlist { margin-top: 36px; display: flex; justify-content: space-between; font-size: 1.4rem; line-height: 1.5; }
.top_support .phlist01 .item { width: 32.46%; }
.top_support .phlist02 .item:nth-child(1) { width: 43.65%; }
.top_support .phlist02 .item:nth-child(2) { width: 38.57%; }
.top_support .phlist02 .item:nth-child(3) { width: 13.07%; }
.top_support .phlist02 .item img { margin-bottom: 15px; }
.top_support .phlist02 .item img.border { border: 1px solid #778788; }
.top_support .phlist03 .item { width: 33.58%; margin-right: 3%; }
.top_support .phlist03 { justify-content: flex-start; }
.top_support .phlist03 .logo { padding-bottom: 50%; position: relative; }
.top_support .phlist03 .logo img { width: 60%; position: absolute; left: 50%; top: 50%; -webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%); }
.top_support .caption { font-size: 2.0rem; margin-top: 20px; }
.top_support_item > .notes { font-size: 1.5rem; margin-top: 20px; }
.txt_c { text-align: center; }

.top_operation { background: #ECEBEB; margin-top: 140px; padding: 180px 0; }
.top_operation > .inner { width: 62.50%; min-width: 860px; margin: 0 auto; }
.top_operation_ttl { font-size: 3.3rem; text-align: center; }
.top_operation_ttl small { font-size: 2.3rem; }
.top_operation_body { display: flex; margin-top: 100px; }
.top_operation_body .txt { width: 50%; }
.top_operation_body .txt > * + * { margin-top: 20px;}
.top_operation_body .txt p:not(.ex) { font-size: 2.0rem; }
.top_operation_body .txt .ex { font-size: 1.6rem; }
.top_operation_body .arrow { width: 11.25%; position: relative; }
.top_operation_body .arrow .ico { display: block; width: 26.86%; margin: 172px 0 0 50%; }
.top_operation_body .price { width: 38.75%; }
.top_operation_body .price > div { display: flex; align-items: baseline; }
.top_operation_body .price > div:first-child { border-top: 1px solid #000; }
.top_operation_body .price > div.border { border-bottom: 1px solid #000; }
.top_operation_body .price > div.dots { border-bottom: 1px dotted #000; }
.top_operation_body .price > div.pb { padding-bottom: 40px; }
.top_operation_body .price > div.notes { font-size: 1.6rem; color: #e60012; }
.top_operation_body .price .txt { font-size: 2.4rem; flex-grow: 2; }
.top_operation_body .price .num { font-size: 2.9rem; text-align: right; }
.top_operation_body .price .num span { font-size: 1.9rem; }

.top_schdule { margin-top: 140px; }
.top_schdule > .inner { width: 62.50%; min-width: 860px; margin: 0 auto; }
.top_schdule_ttl { font-size: 3.3rem; text-align: center; margin-bottom: 65px; }
.top_schdule_ttl small { font-size: 2.3rem; }
.top_schdule .notes { font-size: 1.9rem; margin-top: 30px; }

.top_facility { background: #000; margin-top: 110px; padding: 110px 0; }
.top_facility > .inner { width: 62.50%; min-width: 860px; margin: 0 auto; }
.top_facility_ttl { font-size: 3.3rem; color: #fff; text-align: center; }
.top_facility_body_wrapper { position: relative; }
.top_facility_body { display: flex; justify-content: space-between; margin-top: 90px; overflow: hidden; }
.top_facility_body .item { width: 48.58%; }
.top_facility_body .item .name { font-size: 2.0rem; color: #fff; margin-top: 30px; }
.top_facility_body .item .ph { overflow: hidden; }
.top_facility_body_wrapper .swiper-button-prev { position: absolute; left: 0; top: 50%; -webkit-transform:translate(-150%,-50%);transform:translate(-150%,-50%); }
.top_facility_body_wrapper .swiper-button-next { position: absolute; right: 0; top: 50%; -webkit-transform:translate(150%,-50%);transform:translate(150%,-50%); }
.top_facility_body_wrapper .swiper-button-prev:after,
.top_facility_body_wrapper .swiper-button-next:after { color: #fff; }

.top_faq { background: #ECEBEB; padding: 140px 0 200px; }
.top_faq > .inner { width: 62.50%; min-width: 860px; margin: 0 auto; }
.top_faq_ttl { font-size: 3.3rem; text-align: center; margin-bottom: 65px; }
.top_faq .item { background: #fff; padding: 0 2.71%; font-size: 1.7rem; }
.top_faq .item + .item { margin-top: 20px; }
.top_faq .item .ico { display: inline-block; width: 2em; font-size: 2.5rem; text-align: center; position: absolute; top: 18px; left: 0; }
.top_faq .item .a .ico { top: 20px; }
.top_faq .item > div { padding-left: 100px; position: relative; }
.top_faq .item .q { padding: 25px 75px 25px 100px; position: relative; cursor: pointer; }
.top_faq .item .a { padding: 25px 0 25px 100px; border-top: 1px solid #000; display: none; }
.top_faq .box { border: 1px solid #000; margin-top: 80px; padding: 45px 5.83% 30px; }
.top_faq .box p { font-size: 2.3rem; }
.top_faq .box .catch { font-size: 2.5rem; text-align: center; border-top: 1px solid #000; padding-top: 45px; margin-top: 50px;}
.top_faq .item .acc { width: 36px; height: 36px; position: absolute; top: 20px; right: 0; border: 1px solid #000; border-radius: 50%; }
.top_faq .item .acc:before { content: ""; display: block; width: 20px; height: 1px; position: absolute; left: 50%; top: 50%; -webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%); background: #000; }
.top_faq .item .acc:after { content: ""; display: block; width: 20px; height: 1px; position: absolute; left: 50%; top: 50%; -webkit-transform:translate(-50%,-50%) rotate(90deg);transform:translate(-50%,-50%) rotate(90deg); background: #000; -webkit-transition: transform 1.0s cubic-bezier(.16,1,.3,1); transition: transform 1.0s cubic-bezier(.16,1,.3,1); }
.top_faq .item .q.active .acc:after { -webkit-transform: translate(-50%,-50%) rotate(0); transform: translate(-50%,-50%) rotate(0); }

.top_contact { padding: 140px 0 150px; }
.top_contact > .inner { width: 62.50%; min-width: 860px; margin: 0 auto; }
.top_contact_ttl { font-size: 3.3rem; text-align: center; margin-bottom: 65px; }
.top_contact_body._confirm { margin-top: 50px; }
.top_contact_body .item { display: flex; }
.top_contact_body .item + .item { margin-top: 38px; }
.top_contact_body .item .hd { width: 220px; min-width: 220px; font-size: 2.0rem; margin-top: 15px; }
.top_contact_body .item .input { flex-grow: 2; font-size: 2.0rem; }
.top_contact_body._confirm .item .input { margin-top: 15px; }
.top_contact_body .item .input_txt,
.top_contact_body .item .textarea { width: 100%; font-size: 2.0rem; background: #EBEBEB; border: none; padding: 20px 30px; box-sizing:  border-box;}
.top_contact_body .item .textarea { height: 284px;}
.top_contact_body label { display: inline-block;margin-top: 15px; }
.top_contact_body label input { vertical-align: baseline; margin-right: 10px;}
.top_contact_body label + label { margin-left: 20px; }

.submit_btn { display: flex; justify-content: center; width: 100%; margin-top: 60px; }
.submit_btn * + * { margin-left: 10px; } 
.btn_back { width: 48%; max-width: 474px; border: 1px solid #6F6754!important; background: none; padding: 20px 0; margin: 0; font-size: 2.0rem; display: block; border-radius: 8px; }
.btn_submit { background: #000; color: #fff; font-size: 2.3rem;  text-align: center; width: 100%; border: none; margin-top: 60px; padding: 20px 0; }
.btn_submit:disabled { background: #9F9C96; }
.submit_btn .btn_submit { width: 48%; margin-top: 0; }

footer { width: 92%; margin: 0 auto 200px; }
.footer_logo { width: 229px; margin: 0 auto 80px; }
.footer_function { display: flex; justify-content: space-between; }
.footer_function .nav { font-size: 1.4rem; }
.footer_function .nav a + a { margin-left: 78px; }
.footer_function .copyrights { font-size: 1.4rem; }

.top_privacy { padding: 140px 0 150px; }
.top_privacy > .inner { width: 62.50%; min-width: 860px; margin: 0 auto; }
.top_privacy > .inner > * { font-size: 1.6rem; }
.top_privacy > .inner > * + * { margin-top: 30px; }
.top_privacy > .inner > h1 { font-size: 2.4rem; text-align: center; margin-bottom: 50px; }
.top_privacy > .inner > h2,
.top_privacy > .inner > h3 { font-weight: 700; }
.top_privacy > .inner > h2 + p { margin-top: 0; }

.index { position: absolute; left: 10%; margin-top: 50px; z-index: 2; font-size: 1.3rem; color: #999; }


@media screen and (max-width: 900px) {
    .function_btn a { position: fixed; bottom: 0; z-index: 10; width: 100%; padding: 20px 0; background: #000; font-size: 2.0rem; color: #fff; text-align: center;}

.top_main { height: 100vh; position: relative; }
    .top_main_logo { width: 150px; position: absolute; top: 60px; left: 50%; z-index: 3; -webkit-transform:translateX(-50%);transform:translateX(-50%); }
    .top_main_txt { width: 30.24%; max-width: 300px; position: absolute; top: auto; bottom: 120px; left: 10.41%; z-index: 3; }
.top_main_ph img { width: 100%; height: 100vh; object-fit: cover; }
.top_main_ph:after { content: ""; display: block; width: 100%; height: 100vh; background: rgba(0,0,0,0.3); mix-blend-mode: multiply; position: absolute; top: 0; z-index: 2; }

    .top_concept { position: relative; padding: 70px 0; }
.top_concept_bg img { width: 100%; height: 100%; object-fit: cover; position: absolute; top: 0; z-index: -2; }
.top_concept_bg:after { content: ""; display: block; width: 100%; height: 100%; background: rgba(0,0,0,0.7); mix-blend-mode: multiply; position: absolute; top: 0; z-index: -1; }
    .top_concept > .inner { width: 90%; margin: 0 auto; }
    .top_concept_hd {  font-size: 2.0rem; line-height: 2.0; color: #fff; text-align: center; }
    .top_concept_item { display: block; flex-wrap: wrap; justify-content: center;}
    .top_concept_item > div { width: 90%; max-width: 350px; height: 100px; margin: 25px auto 0; padding-bottom: 0; position: relative; }
.top_concept_item > div:before,
    .top_concept_item > div:after { content: ""; display: block; width: 22%; height: 40%; position: absolute; }
.top_concept_item > div:before { left: 0; top: 0; border-left: 1px solid #fff; border-top: 1px solid #fff; }
.top_concept_item > div:after { right: 0; bottom: 0; border-right: 1px solid #fff; border-bottom: 1px solid #fff; }
    .top_concept_item > div:nth-child(3n + 1) { margin-left: auto; }
    .top_concept_item > div span { display: block; width: 100%; font-size: 1.6rem; color: #fff; text-align: center; position: absolute; top: 50%; left: 50%; -webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%); }
    .top_concept_arrow { width: 30.46%; margin: 50px auto 25px; }
    .top_concept_end { padding: 30px 20px; border: 1px solid #fff; font-size: 2.4rem; color: #fff; line-height: 1.5; text-align: center; }
    .top_concept_end span { display: inline-block; margin-top: 15px; font-size: 1.4rem; color: #fff; line-height: 1.5; }
    .top_concept_notes { font-size: 1.4rem; color: #fff; margin-top: 15px; }
    
    .top_service > .inner { width: 90%; min-width: auto; margin: 0 auto; }
    .top_service_ttl { font-size: 2.4rem; text-align: center; margin: 70px 0; }
    .top_service_list { display: block; }
    .top_service_item { width: auto; padding: 60px 0 35px; background: #000; border-radius: 15px; position: relative;}
    .top_service_item + .top_service_item { margin-top: 50px; }
    .top_service_item .num {  width: 80px; height: 80px; margin: 0 auto; border-radius: 50%; background: #000; -webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%); position: absolute; top: 0; left: 50%; }
    .top_service_item .num span { position: absolute; top: 50%; width: 100%; text-align: center; font-size: 3.0rem; color: #fff; -webkit-transform:translateY(-50%);transform:translateY(-50%);}
.top_service_item .ico { width: 74px; margin: 0 auto; }
    .top_service_item .ttl { font-size: 2.0rem; margin: 20px 0 20px; line-height: 1.5; color: #fff; text-align: center; }
    .top_service_item .txt { margin: 20px 5%; }
.top_service_item p { color: #fff;}

    .top_support > .inner { width: 90%; min-width: auto; margin: 0 auto; }
    .top_support_item { margin-top: 70px; }
    .top_support_item + .top_support_item { margin-top: 50px; }
    .top_support_item .ttl { font-size: 2.4rem; line-height: 1.2; margin-bottom: 15px; }
    .top_support_item .ttl .num { font-size: 3.0rem; }
    .top_support_item .ttl small { font-size: 2.0rem; }
.top_support_item .box { border: 2px solid #000; padding: 4.5%; position: relative; }
.support_tb { padding: 0 0 20px; }
.support_tb + .support_tb { padding: 20px 0; border-top: 1px solid #999; }
    .support_tb .ico { display: block; width: 100%; height: auto; margin-bottom: 15px; padding: 10px 0; border-radius: 0%; background: #000; position: relative; left: auto; }
    .support_tb .ico span { display: block; position: relative; top: auto; width: 100%; text-align: center; font-size: 1.6rem; line-height: 1.5; color: #fff; -webkit-transform:translateY(0%);transform:translateY(0%);}
    .support_tb .txt { margin-left: 0; font-size: 1.8rem; }
    .support_tb .data { display: block; }
.support_tb .data._border { padding: 15px 0;}
.support_tb .data._border + .data._border { border-top: 1px dotted #999; }
    .support_tb .list { width: 100%; display: flex; flex-wrap: wrap; border-right: none; }
.support_tb .list > div { margin-right: 28px;}
.support_tb .list > div.single { padding: 10px 0; }
    .support_tb .price { width: 100%; margin-top: 10px; padding: 10px 0; text-align: center;border-left: none; background: #f3f3f3; }
    .support_tb .price .num { font-size: 3.5rem; line-height: 1.2; }
    .support_tb .price .num small { display: inline-block; font-size: 2.0rem; margin: 0 5px; }
    .support_tb .price .num2 { font-size: 2.5rem; }
    .support_tb .price .num2 small { display: inline-block; font-size: 1.5rem; margin: 0 5px; }
    .support_tb .price .notes { font-size: 1.4rem; }

    .top_support .phlist { margin-top: 25px; display: block; justify-content: space-between; font-size: 1.5rem; line-height: 1.5; }
    .top_support .phlist01 .item { width: 100%; margin-bottom: 10px; text-align: center; }
    .top_support .phlist02 .item { margin-bottom: 20px; text-align: center;}
    .top_support .phlist02 .item:nth-child(1) { width: 100%; }
    .top_support .phlist02 .item:nth-child(2) { width: 100%; }
    .top_support .phlist02 .item:nth-child(3) { width: 50%; margin: 0 auto; }
    .top_support .phlist02 .item img { margin-bottom: 10px; }
    .top_support .phlist03 .item { width: 100%; margin: 0 auto 20px; text-align: center; }
.top_support .phlist03 { justify-content: flex-start; }
.top_support .phlist03 .logo { padding-bottom: 50%; position: relative; }
.top_support .phlist03 .logo img { width: 60%; position: absolute; left: 50%; top: 50%; -webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%); }
    .top_support .caption { font-size: 1.5rem; margin-top: 20px; }
    .top_support_item > .notes { font-size: 1.4rem; margin-top: 20px; }
.txt_c { text-align: center; }

    .top_operation { background: #ECEBEB; margin-top: 70px; padding: 90px 0; }
    .top_operation > .inner { width: 90%; min-width: auto; margin: 0 auto; }
    .top_operation_ttl { font-size: 2.4rem; text-align: center; }
    .top_operation_ttl small { font-size: 1.8rem; }
    .top_operation_body { display: block; margin-top: 50px; }
    .top_operation_body .txt { width: auto; }
.top_operation_body .txt > * + * { margin-top: 20px;}
    .top_operation_body .txt p:not(.ex) { font-size: 1.5rem; }
    .top_operation_body .txt .ex { font-size: 1.4rem; }
    .top_operation_body .arrow { width: auto; position: relative; margin-top: -30px; }
    .top_operation_body .arrow .ico { display: block; width: 10%; margin: 0 auto; -webkit-transform:rotate(90deg);transform:rotate(90deg); }
    .top_operation_body .price { width: auto; margin-top: -30px; }
.top_operation_body .price > div { display: flex; align-items: baseline; }
.top_operation_body .price > div.border { border-bottom: 1px solid #000; }
    .top_operation_body .price > div.notes { font-size: 1.4rem; color: #e60012; }
    .top_operation_body .price .txt { font-size: 1.6rem; flex-grow: 2; }
    .top_operation_body .price .num { font-size: 2.0rem; text-align: right; }
    .top_operation_body .price .num span { font-size: 1.4rem; }

    .top_schdule { margin-top: 70px; }
    .top_schdule > .inner { width: 90%; min-width: auto; margin: 0 auto; }
    .top_schdule_ttl { font-size: 2.4rem; text-align: center; margin-bottom: 35px; }
    .top_schdule_ttl small { font-size: 1.8rem; }
    .top_schdule .notes { font-size: 1.4rem; margin: 30px 0 10px; }
    .top_schdule .img { overflow-x: scroll; }
    .top_schdule img { width: 250vw; max-width: 900px; }

    .top_facility { background: #000; margin-top: 70px; padding: 70px 0; }
    .top_facility > .inner { width: 80%; min-width: auto; margin: 0 auto; }
    .top_facility_ttl { font-size: 2.4rem; color: #fff; text-align: center; }
    .top_facility_body { display: block; margin-top: 90px; }
    .top_facility_body .item { display: block; width: auto; }
    .top_facility_body .item .name { font-size: 1.5rem; color: #fff; margin-top: 15px; }
    .top_facility_body .item + .item { margin-top: 0;}

    .top_faq { background: #ECEBEB; padding: 70px 0 100px; }
    .top_faq > .inner { width: 90%; min-width: auto; margin: 0 auto; }
    .top_faq_ttl { font-size: 2.4rem; text-align: center; margin-bottom: 35px; }
    .top_faq .item { background: #fff; padding: 0 2.71%; font-size: 1.4rem; }
.top_faq .item + .item { margin-top: 20px; }
    .top_faq .item .ico { display: inline-block; width: 2em; font-size: 2.0rem; text-align: center; position: absolute; top: 18px; left: 0; }
.top_faq .item .a .ico { top: 20px; }
.top_faq .item > div { padding-left: 100px; position: relative; }
    .top_faq .item .q { padding: 25px 50px; position: relative; cursor: pointer; }
    .top_faq .item .a { padding: 25px 0 25px 50px; border-top: 1px solid #000; display: none; }
.top_faq .box { border: 1px solid #000; margin-top: 80px; padding: 45px 5.83% 30px; }
    .top_faq .box p { font-size: 1.6rem; }
    .top_faq .box .catch { font-size: 2.0rem; text-align: center; border-top: 1px solid #000; padding-top: 30px; margin-top: 30px;}
    .top_faq .item .acc { width: 30px; height: 30px; position: absolute; top: 20px; right: 0; border: 1px solid #000; border-radius: 50%; }
.top_faq .item .acc:before { content: ""; display: block; width: 18px; height: 1px; position: absolute; left: 50%; top: 50%; -webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%); background: #000; }
.top_faq .item .acc:after { content: ""; display: block; width: 18px; height: 1px; position: absolute; left: 50%; top: 50%; -webkit-transform:translate(-50%,-50%) rotate(90deg);transform:translate(-50%,-50%) rotate(90deg); background: #000; -webkit-transition: transform 1.0s cubic-bezier(.16,1,.3,1); transition: transform 1.0s cubic-bezier(.16,1,.3,1); }
.top_faq .item .q.active .acc:after { -webkit-transform: translate(-50%,-50%) rotate(0); transform: translate(-50%,-50%) rotate(0); }

    .top_contact { padding: 70px 0 80px; }
    .top_contact > .inner { width: 90%; min-width: auto; margin: 0 auto; }
    .top_contact_ttl { font-size: 2.4rem; text-align: center; margin-bottom: 65px; }
    .top_contact_body .item { display: block; }
    .top_contact_body .item + .item { margin-top: 25px; }
    .top_contact_body .item .hd { width: auto; font-size: 1.5rem; margin: 15px 0 7px; }
    .top_contact_body .item .input { flex-grow: 2; font-size: 1.6rem; }
    .top_contact_body .item .input_txt,
    .top_contact_body .item .textarea { width: 100%; font-size: 1.6rem; background: #EBEBEB; border: none; padding: 20px 25px; box-sizing:  border-box;}
.top_contact_body .item .textarea { height: 284px;}
.top_contact_body label { display: inline-block;margin-top: 15px; }
.top_contact_body label input { vertical-align: baseline; margin-right: 10px;}
.top_contact_body label + label { margin-left: 20px; }

    .btn_submit { background: #000; color: #fff; font-size: 1.6rem;  text-align: center; width: 100%; border: none; margin-top: 60px; padding: 20px 0; }
.btn_submit:disabled { background: #9F9C96; }

    footer { width: 92%; margin: 0 auto 100px; }
    .footer_logo { width: 160px; margin: 0 auto 50px; }
    .footer_function { display: block; }
    .footer_function .nav { font-size: 1.1rem; text-align: center; }
    .footer_function .nav a + a { margin-left: 25px; }
    .footer_function .copyrights { font-size: 1.1rem; text-align: center; margin-top: 30px;}
    
    .top_privacy { padding: 100px 0 80px; }
    .top_privacy > .inner { width: 90%; min-width: auto; margin: 0 auto; }

    .index { position: absolute; left: 5%; margin-top: 30px; z-index: 2; font-size: 1.1rem; color: #999; }
}



.wpcf7-radio input { vertical-align: baseline; }
.wpcf7-spinner { display: none!important; }

.grecaptcha-badge { visibility: hidden; }

@media screen and (max-width: 767px) {
    .contact_ttl { font-size: 1.4rem; margin-bottom: 15px; }
.contact_read { font-size: 1.4rem; }
.contact_link { margin-top: 10px;}
.contact_link a { display: block; max-width: 154px; font-size: 1.4rem; border-bottom: 1px solid #707070; }

.normal_tb._contact { margin-top: 0; border-top: 1px solid #C6C2B7; }
    .normal_tb._contact tbody,
    .normal_tb._contact tr,
    .normal_tb._contact th,
    .normal_tb._contact td { display: block; font-size: 1.4rem; }
    .normal_tb._contact th { width: 100%; border-bottom: none; padding: 30px 0 0; }
    .normal_tb._contact td { padding: 0 0 30px; }
.required:before { content: ""; display: inline-block; width: 10px; height: 10px; margin-left: 4px; background: #D05C62; border-radius: 50%; }
    .normal_tb._contact { margin-top: 65px;}

    .input_txt { width: 100%; padding: 12px 0; background: none; box-sizing: border-box; border: none; font-size: 1.4rem; }
    textarea.message { width: 100%; height: 300px; padding: 0; background: none; box-sizing: border-box; border: none; font-size: 1.4rem; }
    .select { width: 100%; padding: 12px 30px; box-sizing: border-box; background: #F3EFE6; border: none; border-radius: 30px; font-size: 1.4rem; }
    .select_wrap p,
    .select_wrap { width: 100%; }
.input_txt::placeholder, textarea.message::placeholder { color: #999; }
.label_type .inq-type { display: flex; flex-wrap: wrap; }
.label_type .wpcf7-list-item { width: 100%; margin: 0 0 5px; }
    .contact_footer { display: block; text-align: center; }
    .privacy_notes { font-size: 1.4rem; margin: 40px 0 50px; }
    .privacy_box { font-size: 1.4rem; margin-bottom: 30px; }
.check_privacy { vertical-align: baseline; }
}

/*thanks*/
.thanks_body { width: 63.01%; margin: 0 auto 150px; }
.thanks_body .ttl { font-size: 3.0rem; margin-bottom: 50px;  }

@media screen and (max-width: 1024px) {
    .thanks_body .ttl { font-size: 1.8rem; margin-bottom: 20px;  }
}

@media screen and (max-width: 767px) {
    .thanks_body { width: 86.66%; margin: 0 auto 90px; }
}

/*form*/
div.error{
	font-size:1.6rem;
	color:#F00;
	margin: 10px 0!important;
}
div.error img{
	display: none;
}

.grecaptcha-badge { visibility: hidden; }
.notes_privacy { font-size: 1.2rem; color: #666; margin-top: 20px; }
.notes_privacy a { color: inherit; }

@media screen and (max-width: 900px) {
    .notes_privacy { font-size: 1.2rem; }
}

/*link*/
*.link_txt { text-decoration: underline!important; }

@media screen and (min-width: 900px) {   
    *.link_txt:hover { text-decoration: none!important; }
    
    .top_facility_body .item img { -webkit-transition: transform 1.0s cubic-bezier(.16,1,.3,1); transition: transform 1.0s cubic-bezier(.16,1,.3,1); -webkit-transform-origin: center; transform-origin: center; }
    .top_facility_body .item:hover img  { -webkit-transform: scale(1.07); transform: scale(1.07); }
    
}
