@charset "utf-8";
/* CSS Document */

body { font-size:calc(18 * 0.20vw); line-height: 1.8; }
:target { scroll-margin-top: calc(155vw / 7.2); }


.pc { display:none; }
.pc_tb { display:none; }
.sp { display:unset; }
.tb_sp { display:unset; }



.sp_left { text-align:left; }

.fs10vw { font-size:calc(10 * 0.23vw); }
.fs12vw { font-size:calc(12 * 0.23vw); }
.fs14vw { font-size:calc(14 * 0.23vw); }
.fs15vw { font-size:calc(15 * 0.22vw); }
.fs16vw { font-size:calc(16 * 0.20vw); }
.fs17vw { font-size:calc(17 * 0.20vw); }
.fs18vw { font-size:calc(18 * 0.20vw); }
.fs20vw { font-size:calc(20 * 0.18vw); }
.fs21vw { font-size:calc(20 * 0.18vw); }
.fs22vw { font-size:calc(22 * 0.15vw); }
.fs23vw { font-size:calc(23 * 0.15vw); }
.fs24vw { font-size:calc(24 * 0.15vw); }
.fs25vw { font-size:calc(25 * 0.15vw); }
.fs26vw { font-size:calc(26 * 0.15vw); }
.fs27vw { font-size:calc(27 * 0.15vw); }
.fs28vw { font-size:calc(28 * 0.14vw); }
.fs29vw { font-size:calc(29 * 0.14vw); }
.fs30vw { font-size:calc(30 * 0.14vw); }
.fs32vw { font-size:calc(32 * 0.13vw); }
.fs34vw { font-size:calc(34 * 0.13vw); }
.fs35vw { font-size:calc(35 * 0.13vw); }
.fs36vw { font-size:calc(36 * 0.13vw); }
.fs37vw { font-size:calc(37 * 0.13vw); }
.fs38vw { font-size:calc(38 * 0.13vw); }
.fs40vw { font-size:calc(40 * 0.13vw); }
.fs45vw { font-size:calc(45 * 0.12vw); }
.fs48vw { font-size:calc(48 * 0.11vw); }
.fs50vw { font-size:calc(50 * 0.11vw); }
.fs52vw { font-size:calc(52 * 0.11vw); }
.fs54vw { font-size:calc(54 * 0.11vw); }
.fs56vw { font-size:calc(56 * 0.11vw); }
.fs58vw { font-size:calc(58 * 0.11vw); }
.fs60vw { font-size:calc(60 * 0.11vw); }
.fs65vw { font-size:calc(65 * 0.11vw); }
.fs66vw { font-size:calc(66 * 0.11vw); }
.fs68vw { font-size:calc(68 * 0.11vw); }
.fs70vw { font-size:calc(70 * 0.11vw); }
.fs72vw { font-size:calc(72 * 0.11vw); }
.fs80vw { font-size:calc(80 * 0.1vw); }
.fs90vw { font-size:calc(90 * 0.1vw); }
.fs100vw { font-size:calc(100 * 1vw); }


.more { width: calc(280vw / 5); height: 4em; }
.more2 { width: calc(400vw / 5); height: 4em; }



.inner { width: 94% }
.middle_inner { width: 94% }
.regular_inner { width: 94% }
.low_inner { width: 94%; }
.minimum_inner { width: 94%; }




.illust1 { width:calc(190vw / 15.2); height:calc(190vw / 15.2); }
.illust2 { width:calc(170vw / 15.2); height:calc(170vw / 15.2); }
.illust3 { width:calc(170vw / 15.2); height:calc(170vw / 15.2); }
.illust4 { width:calc(190vw / 15.2); height:calc(190vw / 15.2); }
.illust5 { width:calc(317vw / 10.5); }
.illust7 { width: calc(126vw / 10.5); }
.illust8 { width:calc(353vw / 10.5); }
.illust9 { width:calc(205vw / 10.5); }
.illust10 { width: calc(291vw / 10.5); }
.illust11 { width: calc(167vw / 10.5); }
.illust12 { width: calc(167vw / 10.5); }
.illust13 { width: calc(353vw / 10.5); }
.illust14 { width: calc(186vw / 10.5); }
.illust15 { width:calc(279vw / 10.5); }
.illust16 { width:calc(175vw / 10.5); }
.illust17 { width:calc(184vw / 10.5); }
.illust18 { width:calc(358vw / 10.5); }




#header { padding: 0.7em 0 0.7em 0; }
#header .inner .site_name { display: block;width: calc(380vw / 19.2); margin-block-start: 0.5em; }
#header .inner .site_name .logo { width: 100%; margin: 0 2em 0 0;}
#header .menu_btn { width: calc(70em / 18); height: calc(70em / 18); }

#header .drawer-menu.open .drawer-content { overflow-y: scroll; }

#header .menu_btn.active .bar_1,#header .menu_btn.active .bar_3 { width: calc(43em / 18); }

#header .menu_list_box { padding-top: 4em; width: 100%;}
#header .menu_list_box .menu_shop_thumb { display: none; float: none; width: 100%; }
#header .menu_list_box .menu_list { display: block; float: none; width: 100%;margin-block-end: 2em;}
#header .menu_list_box .menu_list ul { margin: 0; }
#header .menu_information_box .menu_hours_box,#header .menu_information_box.middle_inner { float: none;width: 100%; }

#header .menu_contact_box { float: none; width: 100%; }
#header .menu_contact_box .menu_reserve_box { display: block;}
#header .menu_contact_box .menu_reserve_box .menu_reserve_ttl { display: block;margin: 0; padding: 0 0 1em 0;}
#header .menu_contact_box .menu_reserve_box dd { display: block;}
#header .menu_contact_box .menu_contact_box_list { display: block; }
#header .menu_contact_box .menu_contact_box_list .btn { width: 80%; height: 4em; margin: 1em auto 1em auto; }


.bottom_contact .menu_contact_box { float: none; width: 94%; }
.bottom_contact .menu_contact_box .menu_reserve_box { display: block;}
.bottom_contact .menu_contact_box .menu_reserve_box .menu_reserve_ttl { display: block;margin: 0; padding: 0 0 1em 0;}
.bottom_contact .menu_contact_box .menu_reserve_box dd { display: block;}
.bottom_contact .menu_contact_box .menu_contact_box_list { display: block; }
.bottom_contact .menu_contact_box .menu_contact_box_list .btn { width: 80%; height: 4em; margin: 1em auto 1em auto; }
.bottom_contact .loop-slider .slider_track .slide img { width:calc(540vw / 10.2); }


.bottom_access .map { width: 100%; height: 280px; float: none;}
.bottom_access .text { width: 90%; margin: 0 auto 0 auto; float: none; padding: 2em 0 2em 0;}
.bottom_access .text .hours_table { width: 100%; }


#footer .footer_top .footer_info { width: 100%; float: none;}
#footer .footer_top .footer_menu_list { display: block; width: 100%; float: none; }
#footer .footer_top .footer_info .logo { width: calc(371vw / 7.5); }
#footer .footer_bottom { padding: 3em 0 6em 0; }


#track { width: 100%; position: fixed;  bottom: 0; z-index: 1000; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; justify-content: space-evenly; }
#track.show { opacity: 1; }

#track .btn { width: calc(100% / 3); padding: 0.2em 0 0.3em 0; text-align: center; }
#track .btn .text i { margin-right:0.3em; }
#track .btn .memo { display:block; }

.page_header { padding: calc(160vw / 8.5) 0 0 0; height: calc(555vw / 14.2); }
.page_header .ttl { padding: 0 0 0 0; position: relative; z-index: 2; text-shadow: 0 0 3px #FFFFFF;}
.page_header .ttl .fs25vw { display: block; margin-block-start: 0.5em; }

.page_header .page_header_thumb { width: 45%; }

.pan { margin: 5em 0 3em 0; }

.hero_section_all { padding: 0 0 3em 0; }
.hero_section_all_wrapper { padding: 1em 0 2em 0; }




#fv { padding: calc(760vw / 7.5) 0 0 0; height: calc(1400vw / 7.5); background-color: #ffefe0; }
#fv .slide { background-size: 99%; background-position:center top; background-repeat:no-repeat; }
#fv .slide1 { background-image:url(../img/home/slide1_sp.jpg); }
#fv .slide2 { background-image:url(../img/home/slide2_sp.jpg); }
#fv .slide3 { background-image:url(../img/home/slide3_sp.jpg); }
#fv .slide4 { background-image:url(../img/home/slide4_sp.jpg); }
#fv .slide5 { background-image:url(../img/home/slide5_sp.jpg); }

#fv .text { position: relative;top: -8em; left: 6%;}
#fv .text .summary.fs20vw { font-size: calc(20 * 0.21vw); }

#fv .shop_access { bottom: auto; top: calc(480vw / 7.5); right: 1%; width: calc(230vw / 7.5); height: calc(230vw / 7.5);padding: 2em 0 0.4em 0; line-height: 1.5;}
#fv .shop_access .qs-mall { width: calc(217vw / 7.5); top: calc(-28vw / 7.5); left: calc(-78vw / 7.5);}
#fv .shop_access mark.fs21vw { font-size:calc(20 * 0.15vw);}
#fv .shop_access em { line-height:1.5; }



#top_symptoms .hero .tip { top: -0.7em; }
#top_symptoms .hero .tip::before { bottom: calc(-40vw / 7.5); width: calc(48vw / 7.5); height: calc(48vw / 7.5);}
#top_symptoms .hero .tip::after { bottom: calc(-48vw / 7.5); width: calc(18vw / 7.5); height: calc(18vw / 7.5); }



#top_symptoms .top_sympthoms_contents .box { float: none; width: 100%; padding: 1em 0 10em 0;}
#top_symptoms .top_sympthoms_contents .box .text { width: 98%; padding: 0 0.7em 0 0.7em;}
#top_symptoms .top_sympthoms_contents .box .text dl dt i { margin-right: 0.2em;}


#top_body_troubles { padding: 4em 0 3em 0; }
#top_body_troubles .body_troubles_list_wrapper { display: block; }
#top_body_troubles .body_troubles_list_wrapper .body_troubles_list { width: 100%; }
#top_body_troubles .body_troubles_list_wrapper .body_troubles_list li { padding: 1em 1em 1em 1em; }

#top_body_troubles .top_body_troubles_ttl_tip { width: calc(260vw / 7.5); height: calc(78vw / 7.5); }

#top_body_troubles .illust1 { top: calc(-60vw / 7.5); left: -0.5em;}
#top_body_troubles .illust2 { top: 1em; left: calc(80vw / 10.5);}
#top_body_troubles .illust3 { top: 1em; right: calc(80vw / 10.5);}
#top_body_troubles .illust4 { top: calc(-60vw / 7.5); right: -0.5em;}



#top_chosen .top_chosen_wrapper { padding: 3em 0 3em 0; }

#top_chosen .reason_list { display: block; }
#top_chosen .reason_list .box { width: 100%; }
#top_chosen .reason_list .box .thumb { width: 80%; }
#top_chosen .reason_list .box .text dd { padding: 1em 7% 1.5em 7%;}

#top_campaign .top_campaign_wrapper { padding: 2em 0 5em 0; }
#top_campaign .swiper { width: 94%; }
#top_campaign .swiper .box { padding: calc(100vw / 15.2); }

#top_campaign .swiper .box .text .thumb { width: 100%; display: block; margin-block-end: 2em;}
#top_campaign .swiper .box .text { width: 100%; padding: 0 0 3em 0;}
#top_campaign .swiper .box .thumb .kenkoukotsu_hagasi_thumb { width: calc(239vw / 9); bottom: calc(-40vw / 10.2); left: calc(-48vw / 10.2);}
#top_campaign .swiper .box .text .recommend {width: 100%; }


#top_campaign .swiper .box .text .fee .regular_price {  margin-right: 1em;}
#top_campaign .swiper .box .text .fee .regular_price .one { margin-right: 0.5em;}
#top_campaign .swiper .box .text .more { margin: 2em auto 0 auto; }



#top_campaign .swiper-button-prev, .swiper-button-next { width: 3em; height: 3em;}
.swiper-horizontal>.swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom, .swiper-pagination-fraction { bottom: 1.5em;}

#top_campaign .swiper-button-prev { left: -1.5em; }
#top_campaign .swiper-button-next { right: -1.5em; }




#top_campaign .related_links { display: block; }

#top_campaign .related_links .box { width: 100%; padding: 1.5em; }
#top_campaign .related_links .box .thumb { width: 100%; margin-block-end: 1em; }
#top_campaign .related_links .box .text { width: 100%; }
#top_campaign .related_links .box .text dl dd .more { width: 48%; }

#top_campaign .top_campaign_footer .box_left { width: 100%; border-bottom: dashed 1px #696a75; border-right:none; }
#top_campaign .top_campaign_footer .box_right { width: 100%; padding: 0;}
#top_campaign .top_campaign_footer .box_right .more { margin: 2em auto 0 auto; }



#gentle_care { padding: 6em 0 4em 0;}
#gentle_care .thumb { position: relative; width: 100%; border-radius: 1.5em 9em 0 0; }
#gentle_care .text { width: 100%; border-radius: 0 0 1.5em 1.5em; padding: calc(85vw / 19.2) calc(100vw / 19.2) calc(85vw / 19.2) calc(100vw / 19.2); }
#gentle_care .illust7 {top: -10em;right: 0;}



#top_visit_flow .top_visit_flow_wrapper { padding: 3em 0 4em 0; }
#top_visit_flow .flow_list .box { float: none; width: 90%; margin: auto; }
#top_visit_flow .flow_list .box:nth-child(4n) { margin-right: auto;}
#top_visit_flow .flow_list .box .num { width: calc(60vw / 5); height: calc(60vw / 5); }
#top_visit_flow .more2 { margin-block-start: 2em; }


#top_voice .top_voice_wrapper { padding: 3em 0 5em 0; }

#top_voice .top_voice_list { display: block; }
#top_voice .top_voice_list .post { width: 100%; margin-block-end: 2em; }
#top_voice .top_voice_list .post .post_header .thumb { width: 20%;}
#top_voice .top_voice_list .post .post_header .text { width: 75%;}




#top_faq .list dt { padding: 1em 2em 1em 5em;}
#top_faq .list dt .q_text { width: 95%; }
#top_faq .list dd .a_inner { padding: 1em 2em 2em 5em;}
#top_faq .illust8 { top: -8em; right: 0;}



#case .case_wrapper { padding: 1em 0 3em 0; }

#case .case_wrapper .content { padding: 3em 0 4em 0; }
#case .case_wrapper .content .thumb { width: 100%; margin-block-end: 1.5em; }
#case .case_wrapper .content .text { width: 100%; height: auto; padding: 1em 0.8em 1em 0.8em; }
#case .case_wrapper .content .text dd ul li i { margin-right: 0.2em;}

#case .case_wrapper .content .illust11 { top: -6em; right: -0.5em;}
#case .case_wrapper .content .illust9 { top: -6em; left: -0.5em;}
#case .case_wrapper .content .illust5 { top: -6em; right: -0.5em;}
#case .case_wrapper .content .illust13 { top: -7em; right: -0.5em;}

#case .case_wrapper .case_footer { display:block; margin-block-start: 0;}
#case .case_wrapper .case_footer .box_left {
	width: 100%; background-size: calc(198vw / 10.2); background-position: left calc(35vw / 10.2) center; padding: 0 0 0 calc(214vw / 10.2); border-right: none; border-bottom: dashed 1px #696a75;
}
#case .case_wrapper .case_footer .box_right { width: 100%; padding: 0 1em 0 1em; }
#case .case_wrapper .case_footer .box_right .more2 { margin: 2em auto 0 auto; }



#price .price_wrapper { padding: 1em 0 1em 0; margin-block-end: 3em; }

#price .price_header { padding: 0 0 4em 0; background-size: calc(276vw / 10.2); background-position: right 2em top;}
#price .price_header .low_inner.flex { display: block; }
#price .price_header .text { width: 100%; }
#price .price_header .thumb { width: 100%; }




#price .menu { padding: 2em 0 2em 0; }

#price .menu .menu_tip { width: calc(260vw / 7.5); height: calc(78vw / 7.5); }
#price .menu .menu_ttl::after { width: 2em; }

#price .menu .main_img .kenkoukotsu_hagasi_thumb { width: calc(272vw / 12); bottom: -1em; left: -0.5em;}

#price .menu .content .recommend { display: block; }
#price .menu .content .recommend .thumb { width: 100%; float: none; }
#price .menu .content .recommend .text { width: 100%; float: none; }

#price .menu .content .detail_list { display: block;}
#price .menu .content .detail_list dt { display: block; }
#price .menu .content .detail_list dt i { top: 1em;}

#price .menu .content .detail_list dd { display: block; margin: 0.5em 0 1em 1.5em; }

#price .menu .content .price_table dt { width: 5em; padding: 1em 0.5em 1em 0.5em; }
#price .menu .content .price_table dd { padding: 0 0 0 1em; vertical-align: middle; }


#price .menu .content .campaign { padding: 1em; }
#price .menu .content .campaign .campaign_detail { display: block; }
#price .menu .content .campaign .campaign_detail .campaign_tip { display: inline-block; margin-block-end:0.5em; }
#price .menu .content .campaign .campaign_detail .campaign_time { display: block; text-align: center;}
#price .menu .content .campaign .campaign_detail .campaign_price { display: block; text-align: center;}

#price .consultation .illust5 { right: 0; bottom: -2em; }




#flow .flow_wrapper { padding: 1em 0 1em 0; }

#flow .flow_header { padding: 0 0 4em 0; background-size: calc(328vw / 10.2); background-position: right 2em top;}
#flow .flow_header .low_inner.flex { display: block; }
#flow .flow_header .text { width: 100%; }
#flow .flow_header .thumb { width: 100%; }


#flow .step {padding: 3em 0 4em 0;}

#flow .step .step_ttl { margin-block-start: 1.2em; }
#flow .step .step_tip { width: calc(260vw / 7.5); height: calc(78vw / 7.5); }
#flow .step .step_ttl::after { width: 2em; }
#flow .step .content { display: block; }
#flow .step .content .thumb { width: 100%; margin: 1em 0 2em 0; }
#flow .step .content .text { width: 100%; }

#flow .step .content .text dt {padding: 0 0 0 0; }
#flow .step .content .text dt .ja.fs22vw { font-size: calc(22 * 0.18vw); }
#flow .step .content .text dd { padding: 1em 0 0 0;}

#profile .profile_wrapper { padding: 2em 0 3em 0; }

#profile .profile_header.low_inner.flex { padding: 0 0 4em 0; display: block; }
#profile .profile_header .text { width: 100%; }
#profile .profile_header .thumb { width: 100%; }

#profile .profile_list .box dt { width: 8em; padding: 1em 0.5em 1em 0.5em; }

#message .message_wrapper { padding: 3em 0 1em 0; }





#route .route_wrapper { padding: 2em 0 1em 0; }

#route .route_header { padding: 0 0 3em 0; background-size: calc(328vw / 10.2); background-position: right 2em top;}
#route .route_header .low_inner.flex { display: block; }
#route .route_header .text { width: 100%; }
#route .route_header .thumb { width: 100%; }


#route .notice { display:block; }
#route .notice dt { display:block; width: 100%; }
#route .notice dd { display:block; margin: 0; padding:0 1em 1.5em 1em; }


#route .route_wrapper .route_list { padding: 2em 0 3em 0;}

#route .route_wrapper .route_box {display: block; }
#route .route_wrapper .route_box .text { width: 100%; margin: 2em 0 1em 0; padding-top: 2em; }

#route .route_wrapper .route_box .thumb { width: 100%; }
#route .route_wrapper .route_box .thumb .heading { border-radius: 0 0 1.5em 1.5em; }

#route .route_wrapper .route_box .text dd { padding: 2em 2em 1em 2em; }
#route .route_wrapper .route_box .text dd i { left: 45%; }


#route .route_wrapper .illust15 { top: -16em; left: -0.5em;}
#route .route_wrapper .illust16 { top: -9em; right: -0.5em;}

#map { padding: 1em 0 3em 0;}
#map .illust17 { top: -11em; left: -0.5em;}
#map .gmap { height: 280px; }



#faq .cat_box { justify-content: space-between; }

#faq .cat_box .btn { width: 49%; height: 4em; margin: 0; }
#faq .cat_box .btn .fa-caret-down { right: 0.5em; }
#faq .cat_box .btn .fa-check { left: 0.5em; }

#faq .faq_wrapper .sub_cat_box li { width: 49%; margin-right: 2%; }
#faq .faq_wrapper .sub_cat_box li a { width: 100%; height: 4em; }
#faq .faq_wrapper .sub_cat_box li:nth-child(3n) { margin-right: 2%;}
#faq .faq_wrapper .sub_cat_box li:nth-child(2n) { margin-right: 0;}

#faq .faq_wrapper .detail { margin-block-start: 3em;}
#faq .faq_wrapper .accordions { margin-block-start: 2em;}


#faq .faq_wrapper .accordions .list dt { padding: 1em 2em 1em 5em;}
#faq .faq_wrapper .accordions .list dt .q_text { width: 95%; }
#faq .faq_wrapper .accordions .list dd .a_inner { padding: 1em 2em 2em 5em;}



#voice .post { width: 100%; margin-block-end: 2em; }
#voice .post .post_header .thumb { width: 20%;}
#voice .post .post_header .text { width: 75%;}
#voice .post .content dt.fs22vw { font-size: calc(22 * 0.18vw); }



#contact_type .box { padding: 1.5em calc(60vw / 19.2) calc(50vw / 19.2) calc(60vw / 19.2); }
#contact_type .box .content { display: block; }
#contact_type .box .content .text { width: 100%; }
#contact_type .box .content .text dt { width:5em; }

#contact_type .box .content .btn { width: 80%; height: 4em; margin: 1em auto 1em auto; }

#contact .contact_wrapper { padding: 2em 0 2em 0; }

#contact .form_wrapper .box { display: block; }
#contact .form_wrapper .box .field { display: block; width: 100%; padding: 1em 0 1em 0; }
#contact .form_wrapper .box .text { display: block; margin: 0; padding: 0 0 1em 0;}

#contact .form_wrapper .send_btn { width: 80%; height: 4em; margin-block-start: 2em;}
#contact .form_wrapper .send_btn.fs22vw { font-size: calc(22 * 0.18vw); }




#privacy_policy .list { padding: 0 0 0 1.5em; }
#privacy_policy .list .box::marker { font-size:calc(24 * 0.15vw); }







