@charset "UTF-8";

#wrapper { position:relative; width:var(--vw); }



#header { position:fixed; top:0; left:0; margin-top:2vw; padding:0 3vw; width:var(--vw); align-items:center; z-index:1000; }
#header #h_logo { width:10em; z-index:1000; }

#navi_btn { position:fixed; right:0; top:2vw; z-index:2000; display:block; }
#navi_reserv { position:absolute; right:calc(3vw + 90px); top:13px; text-align:center; }
#navi_reserv a { padding:4px 0; width:120px; font-size:var(--font-size-S); color:var(--color-white); background:var(--color-bkk); border-radius:50px; display:block; }
#navi_menu { width:60px; }
.menu { position:absolute; right:3vw; width:60px; height:60px; z-index:2000; border-radius:50%; display:block; cursor:pointer; }
.menu_line { position:absolute; width:60px; height:2px; background-color:var(--color-bkk); transition:transform .3s; }
.menu_line01 { top:24px; right:0; display:block; }
.menu_line02 { top:32px; right:0; display:block; }
.menu.active { height:60px; width:60px; display:block; cursor:pointer; }
.menu_line.active { height:2px; background:var(--color-bkk); display:block; }
.menu_line01.active { top:29px; right:0; transform:rotate(-25deg); }
.menu_line02.active { top:29px; right:0; transform:rotate(25deg); }
.no-scroll { position:fixed; overflow:hidden; width:100%; }

/*spnav*/
.spnav { position:fixed; top:0; width:100%; height:100%; z-index:100; display:none; overflow-y:auto; max-height:100vh; }
.spnav_wrap { position:absolute; display:flex; top:0; width:var(--vw); height:100vh; background-color:var(--color-white); }
.spnav_menu { margin:12.2vh 10vw 0; text-align:center; width:100%; }
.spnav_menu ul.spnav_menu_lst { margin:0; padding:0; width:100%; text-align:center; }
.spnav_menu ul.spnav_menu_lst li { margin:3vh 0; width:100%; }
.spnav_menu ul.spnav_menu_lst li a { position:relative; margin:0 auto; padding:.6em 0; color:var(--color-bkk); font-size:var(--font-size-L); width:90%; border-radius:100px; display:block; }
.spnav_menu figure { margin:0 auto; width:40vw; display:none; }

#kv { position:fixed; left:0; top:0; height:100vh; width:100vw; overflow:hidden; z-index:-1; }
#kv .slide { height:100vh; width:100vw; }
#kv_inner { height:300px; width:100vw; overflow:hidden; z-index:-1; }
#gnavi { position:fixed; left:0; bottom:0; background:var(--color-white); align-items:center; z-index:1; }
#gnavi ul.gnav { padding:0; }
#gnavi ul.gnav li { width:calc(100% / 5); text-align:center; }
#gnavi ul.gnav li a { padding:20px 0; font-size:var(--font-size-SS); letter-spacing:0.05em; line-height:1.4; display:block; }
#gnavi ul.gnav li a span { padding:5px 0 0 0; font-size:var(--font-size-L); display:inline-block; }
#gnavi ul.gnav li a em { font-size:var(--font-size-M); font-style:normal; }
#gnavi ul.gnav li a div.ig { margin:0 auto 3px; width:30px; }

.footerwrap { position:relative; padding-bottom:80px; }
#footer { position:relative; padding:2vw 0; text-align:center; width:var(--vw); background-color:var(--color-white); }
#footer .f_kikorin { margin:0 auto 20px; width:217px; }
#footer figure { position:static; margin:0 auto .5em; width:8em; }
#footer figure img { width:100%; }
#footer p { font-size:var(--font-size-SS); letter-spacing:0.1em; }

.arrow { position:relative; padding:0; text-decoration:none; }
.arrow::before,.arrow::after { position:absolute; top:17px; bottom:0; right:15px; content:""; vertical-align:middle; }
.tocontact::before { box-sizing:border-box; width:30px; height:30px; border:1px solid var(--color-bkk); -webkit-border-radius:50%; border-radius:50%; }
.tocontact::after { margin-top:10px; right:27px; width:10px; height:10px; border-top:1px solid var(--color-bkk); border-right:1px solid var(--color-bkk); -webkit-transform:rotate(45deg); transform:rotate(45deg); }
.tolink::before { top:18px; right:25px; width:10px; height:10px; border-top:2px solid var(--color-bkk); border-right:2px solid var(--color-bkk); -webkit-transform:rotate(135deg); transform:rotate(135deg); }






/* content */
.inner { margin:0 auto; width:1000px; }
.inner_wide { position:relative; margin:0 auto; width:100%; }
h2 { font-size:var(--font-size-S); text-align:center; }
h2 span { font-size:var(--font-size-TTL); letter-spacing:0.05em; }


#content { position:relative; margin-top:100vh; background:var(--color-white); z-index:2; }

#concept { margin:0 0 100px; width:var(--vw); background:url(../images/concept.jpg) center center no-repeat; background-size:cover; }
#concept div.concept_wrap { padding:10vw 0; align-items:center; color:var(--color-white); }
#concept div.concept_lft { width:50%; font-size:var(--font-size-M); font-weight:700; text-align:center; line-height:2em; }
#concept div.concept_rgt { width:50%; font-size:var(--font-size-M); font-weight:700; text-align:center; line-height:2em; }

#plan {  }
#plan ul.plan_nav { margin:45px 0; gap:2%; }
#plan ul.plan_nav li { width:calc(96% / 3); }
#plan ul.plan_nav li a { font-size:var(--font-size-R); text-align:center; display:block; }
#plan ul.plan_nav li a.gra01 { padding:2px; background:linear-gradient(135deg, #FF5151 0%, #FFD000 50%, #6E00FF 100%); border-radius:50px; }
#plan ul.plan_nav li a.gra01 span { width:100%; background:var(--color-white); line-height:2.4; border-radius:50px; display:block; }
#plan ul.plan_nav li a.gra02 { padding:2px; background:linear-gradient(135deg, #0099FF 0%, #00D4FF 50%, #6E00FF 100%); border-radius:50px;}
#plan ul.plan_nav li a.gra02 span { width:100%; background:var(--color-white); line-height:2.4; border-radius:50px; display:block;}
#plan ul.plan_nav li a.gra03 { padding:2px; background:linear-gradient(135deg, #717171 0%, #D3D3D3 50%, #212121 100%); border-radius:50px;}
#plan ul.plan_nav li a.gra03 span { width:100%; background:var(--color-white); line-height:2.4; border-radius:50px; display:block;}
#plan p.plan_lead { margin:8px 0 30px 0; font-size:var(--font-size-R); text-align:center; line-height:2.2; }
#plan .plan_lft01 { width:45%; }
#plan .plan_lft02 { width:50%; }
#plan .plan_rgt01 { width:50%; }
#plan .plan_rgt02 { width:45%; }
#plan div.plan_boxwrap01 { margin:0 0 80px; padding:80px 0; background:#FDFDFD; }
#plan div.plan_box { padding:0; width:100%; }
#plan div.plan_box h3.plan_ttl01 { margin:0 0 20px 12px; font-size:var(--font-size-S); }
#plan div.plan_box h3.plan_ttl01 span { font-size:var(--font-size-TTL); }
#plan div.plan_box div.gra01 { margin:0 0 15px; padding:2px; width:100%; background:linear-gradient(135deg, #FF5151 0%, #FFD000 50%, #6E00FF 100%); border-radius:50px; display:inline-block; }
#plan div.plan_box div.gra01 span { padding:0 0 0 20px; width:100%; font-size:var(--font-size-R); background:var(--color-white); line-height:2; letter-spacing:0.1em; border-radius:50px; display:block; }
#plan div.plan_box div.gra02 { margin:0 0 15px; padding:2px; width:100%; background:linear-gradient(135deg, #0099FF 0%, #00D4FF 50%, #6E00FF 100%); border-radius:50px; display:inline-block; }
#plan div.plan_box div.gra02 span { padding:0 0 0 20px; width:100%; font-size:var(--font-size-R); background:var(--color-white); line-height:2; letter-spacing:0.1em; border-radius:50px; display:block; }
#plan div.plan_box p.plan_txt { margin:0 0 0 20px; font-size:var(--font-size-S); line-height:1.8; }
#plan div.plan_box p.plan_att { margin:5px 0 0 0; font-size:var(--font-size-SS); }

#plan div.plan_boxwrap02 { margin:80px 0 0 0; padding:80px 0; background:#FDFDFD; }
#plan div.plan_box02 { padding:20px 0 0 0; width:48%; background:var(--color-white); border:solid 1px var(--color-gray); }
#plan div.plan_box02 h3.plan_ttl02 { margin:0 0 20px 30px; font-size:var(--font-size-S); line-height:1.3; }
#plan div.plan_box02 h3.plan_ttl02 span { font-size:var(--font-size-TTL); }
#plan div.plan_box02 div.gra03 { margin:0 0 15px 30px; padding:2px;; background:linear-gradient(135deg, #717171 0%, #D3D3D3 50%, #212121 100%); border-radius:50px; display:inline-block; }
#plan div.plan_box02 div.gra03 span { padding:0 20px; width:100%; font-size:var(--font-size-R); background:var(--color-white); line-height:2; letter-spacing:0.1em; border-radius:50px; display:block; }
#plan div.plan_box02 p.plan_txt { margin:0 0 0 30px; font-size:var(--font-size-S); line-height:1.8; }
#plan div.plan_box02 p.plan_att { font-size:var(--font-size-SS); }

#plan div.plan_price01 { margin:60px 0 0 0; border:solid 1px var(--color-gray); }
#plan div.plan_price01 a { display:block; }
#plan div.plan_price01 dl { padding:8px; align-items:center; background:var(--color-white); }
#plan div.plan_price01 dl dt { margin:0 10px; font-size:var(--font-size-S); }
#plan div.plan_price01 dl dd { font-size:var(--font-size-S); }
#plan div.plan_price01 dl dd span { font-size:var(--font-size-L); }
#plan div.plan_price02 { margin:60px 0 0 0; border-top:solid 1px var(--color-gray); }
#plan div.plan_price02 a { display:block; }
#plan div.plan_price02 dl { padding:8px; align-items:center; }
#plan div.plan_price02 dl dt { margin:0 10px; font-size:var(--font-size-S); }
#plan div.plan_price02 dl dd { font-size:var(--font-size-S); }
#plan div.plan_price02 dl dd span { font-size:var(--font-size-L); }


#flow { padding:100px 0; background:url(../images/flow_bg.png) top center no-repeat; background-size:cover; }
#flow ul.flow_lst { margin:60px auto 30px; gap:20px; }
#flow ul.flow_lst li { width:calc((100% - 80px) / 5); text-align:center; }
#flow ul.flow_lst li dl { width:184px; height:184px; background:var(--color-white); border-radius:100%; }
#flow ul.flow_lst li dl dt { padding:40px 0 0 0; font-size:var(--font-size-R); line-height:0.8; }
#flow ul.flow_lst li dl dt span { font-size:var(--font-size-L); }
#flow ul.flow_lst li dl dd { margin:15px 0 0 0; font-size:var(--font-size-S); }
#flow p.flow_att { font-size:var(--font-size-SS); }

#profile { padding:100px 0; }
#profile .prof_wrap { margin:60px 0 0 0; }
#profile .prof_lft { width:45%; }
#profile .prof_lft h3 { margin:0 0 30px; font-size:var(--font-size-M); line-height:1.2; }
#profile .prof_lft h3 span { font-size:var(--font-size-S); }
#profile .prof_lft p { margin:0 0 20px; font-size:var(--font-size-S); }
#profile .prof_rgt { width:45%; }






#contact { margin:100px auto 50px; position:relative; }
#contact h2 { font-size:var(--font-size-S); text-align:center; }
#contact h2 span { font-size:var(--font-size-TTL); }
#contact p.contact_lead { margin:30px 0 0 0; font-size:var(--font-size-S); text-align:center; }

#contact_inner { margin:50px auto 0; padding:50px; width:800px; font-size:var(--font-size-contact); background:#FDFDFD; border-radius:10px; border:solid 1px var(--color-gray); }
#contact_inner ul#contact_lst01 { padding:25px 0 35px 0; }
#contact_inner ul#contact_lst01 li { margin:0 0 15px; }
#contact_inner ul#contact_lst01 li dl { }
#contact_inner ul#contact_lst01 li dl dt { padding:5px 0 0 0; width:20%; }
#contact_inner ul#contact_lst01 li dl dd { width:80%; }
#contact_inner ul#contact_lst01 li dl dd input[type="text"] { padding:5px 20px; width:100%; background:#fff; border:solid 1px #D9D9D9; border-radius:30px; }
#contact_inner ul#contact_lst01 li dl dd input[type="tel"] { padding:5px 20px; width:100%; background:#fff; border:solid 1px #D9D9D9; border-radius:30px; }
#contact_inner ul#contact_lst01 li dl dd input[type="email"] { padding:5px 20px; width:100%; background:#fff; border:solid 1px #D9D9D9; border-radius:30px; }
#contact_inner ul#contact_lst01 li dl dd input.invite { width:50%; }
#contact_inner ul#contact_lst01 li dl dd input::placeholder { color:#CCC; font-size:0.8rem; }
#contact_inner ul#contact_lst01 li dl dd input[type="radio"] { display:none; }
#contact_inner ul#contact_lst01 li dl dd .wpcf7-form-control-wrap { display:block; }
#contact_inner ul#contact_lst01 li dl dd .wpcf7-form-control.wpcf7-radio { display:flex; }
#contact_inner ul#contact_lst01 li dl dd span.wpcf7-list-item { position:relative; margin:0 40px 0 0; padding:0; width:auto; font-weight:bold; cursor:pointer; display:inline-block; }
#contact_inner ul#contact_lst01 li dl dd .wpcf7-list-item-label { position:relative; margin:0 0 5px; padding:0 0 0 40px; width:auto; font-weight:bold; cursor:pointer; display:inline-block; }
#contact_inner ul#contact_lst01 li dl dd .wpcf7-list-item-label:before { position:absolute; background:#fff; border:1px solid #D9D9D9; content:''; left:0; display:block; height:30px; width:30px; border-radius:50%; }
#contact_inner ul#contact_lst01 li dl dd .wpcf7-list-item-label:after { position:absolute; left:6px; top:6px; content:''; opacity:0; height:18px; background:rgba(37, 65, 90, 1); width:18px; border-radius:50%; display:block; }
#contact_inner ul#contact_lst01 li dl dd input[type="radio"]:checked + .wpcf7-list-item-label:after { opacity:1; }
#contact_inner ul#contact_lst01 li dl dd .reserves {}
#contact_inner ul#contact_lst01 li dl dd .reserves .tb_ttl { padding:5px 0 5px 0; font-weight:bold; width:20%; }
#contact_inner ul#contact_lst01 li dl dd .reserves .tb_ttl span { font-size:0.8rem; }
#contact_inner ul#contact_lst01 li dl dd .reserves .tb_date { padding:0 5px 5px 0; vertical-align:middle; width:35%; }
#contact_inner ul#contact_lst01 li dl dd .reserves .tb_date input[type="date"] { margin:0 5px 0 0; padding:5px 10px; background:#fff; width:100%; border:1px solid #D9D9D9; border-radius:30px; }
#contact_inner ul#contact_lst01 li dl dd .reserves .tb_time { margin:0 0 5px; padding:0 5px 5px 0; vertical-align:middle; width:35%; align-items:center; }
#contact_inner ul#contact_lst01 li dl dd .reserves .tb_time .select { position:relative; padding:5px 10px; background:#fff; border:1px solid #D9D9D9; width:45%; border-radius:30px; z-index:1; }
#contact_inner ul#contact_lst01 li dl dd .reserves .tb_time .select::after { position:absolute; content:''; width:8px; height:8px; right:14px; top:46%; transform:translateY(-50%) rotate(45deg); border-bottom:1px solid #000; border-right:1px solid #000; z-index:-1; }
#contact_inner ul#contact_lst01 li dl dd .reserves .tb_time select { appearance:none; -moz-appearance:none; -webkit-appearance:none; background:none; width:100%; border:none; padding:0 10px; }
#contact_inner ul#contact_lst02 { padding:40px 0 0 0; border-top:solid 1px #D9D9D9; }
#contact_inner ul#contact_lst02 li { margin:0 0 15px; }
#contact_inner ul#contact_lst02 li dl dt { margin:0 0 5px; }
#contact_inner ul#contact_lst02 li dl dt span { font-size:0.8rem; }
#contact_inner ul#contact_lst02 li dl dd {}
#contact_inner ul#contact_lst02 li dl dd textarea { padding:10px 15px; width:100%; max-height:100px; background:#fff; border:solid 1px #D9D9D9; border-radius:10px; }
#contact_inner ul#contact_lst02 li dl dd textarea::placeholder { color:#CCC; font-size:0.8rem; }
#contact_inner .mustcheck {  }
#contact_inner .mustcheck input[type="checkbox"] { display:none; }
#contact_inner .mustcheck .wpcf7-form-control-wrap { display:block; }
#contact_inner .mustcheck .wpcf7-form-control.wpcf7-checkbox { display:flex; }
#contact_inner .mustcheck span.wpcf7-list-item { position:relative; margin:0 0 5px; padding:0; width:auto; font-weight:bold; cursor:pointer; display:inline-block; }
#contact_inner .mustcheck .wpcf7-list-item-label { position:relative; margin:0 0 5px; padding:0 0 0 40px; width:auto; font-weight:bold; cursor:pointer; display:inline-block; cursor:pointer; }
#contact_inner .mustcheck .wpcf7-list-item-label:before { position:absolute; background:#fff; border:1px solid #D9D9D9; content:''; left:0; display:block; height:30px; width:30px; border-radius:50%; }
#contact_inner .mustcheck .wpcf7-list-item-label:after { position:absolute; left:6px; top:6px; content:''; opacity:0; height:18px; background:rgba(1,187,207,1); width:18px; border-radius:50%; display:block; }
#contact_inner .mustcheck input[type="checkbox"]:checked + .wpcf7-list-item-label:after { opacity:1; }
#contact_inner #cancelbox { margin:5px 0 0 40px; padding:35px; background:#f5f5f5; border-radius:10px; }
#contact_inner #cancelbox h2#cancel_ttl { margin:0 0 15px; font-weight:bold; }
#contact_inner #cancelbox ul#cancel_lst {}
#contact_inner #cancelbox ul#cancel_lst li { padding:0 0 0 1em; font-size:0.9rem; text-indent:-1em; }
#contact_inner p#contact_att { margin:30px 0; font-size:1.2rem; color:rgba(1,187,207,1); text-align:center; font-weight:bold; }
#contact_inner input[type="submit"] { margin:30px auto 0; padding:10px 0; font-size:1.1rem; text-align:center; letter-spacing:0.1em; color:#fff; width:380px; background:linear-gradient(90deg, rgba(103,205,234,1), rgba(1,187,207,1)); border:solid 1px rgba(0,187,207,1); vertical-align:middle; border-radius:30px; cursor:pointer; transition:background-color 1s; display:block; }
#contact_inner input[type="submit"]:hover { background:rgba(103,205,234,1); cursor:posinter; transition:background-color 1s; }
#contact_inner form.sent #sent_hide { display:none; }
#contact_inner .wpcf7-not-valid-tip { font-size:0.7rem; }
#contact_inner .wpcf7 form.sent .wpcf7-response-output { padding:40px 0; text-align:center; border-color:rgba(223,176,178,1); color:rgba(44, 62, 78, 1); font-size:1.2rem; font-weight:bold; border-radius:200px; }
#contact_inner .wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output { text-align:center; border-color:#DC322D; color:#DC322D; font-size:0.9rem; border-radius:100px; }
#contact_inner p.mailtxt { font-size:0.8rem; line-height:1.6; text-align:center; }

#contact .contact_add { margin:0 auto; width:800px; }
#contact .contact_add h3.contact_subttl {}
#contact .contact_add p.contact_subtxt {}




@media only screen and (max-width: 940px) {

#header { margin-top:3vh; padding:0 5vw; }
#header #h_logo { width:7em; }
#header #gnavi { display:none; }

}








@media only screen and (max-width: 843px) {

}





@media screen and (max-width: 520px) {
}


@media screen and (max-width: 375px) {
}
