@charset "UTF-8";
/* Japanese-site design */
:root{--ink:#333;--purple:#9a6cad;--purple-dark:#7f5c83;--rose:#ff8984;--rose-dark:#c65565;--lilac:#f9f4fa;--line:#c7afce;--max:1200px;--header:110px}
body{color:var(--ink);font-family:Arial,"Helvetica Neue",sans-serif}
main{overflow:clip}.site-header{border:0}.header-inner{max-width:1440px;min-height:66px;padding:8px 30px;gap:18px}.brand{gap:12px}.brand img{width:230px}.brand>span{background:#d9cce0;color:#333;font-size:11px;padding:3px 10px}.header-actions{gap:20px;align-self:stretch}.site-nav{max-width:1440px;padding:14px 25px 18px}.site-nav>a{color:#222;font-size:14px;padding:0 28px}.site-nav>a[aria-current]{color:var(--purple-dark);text-decoration:none}.btn{border-radius:40px;border-color:var(--purple-dark);padding:10px 25px;min-height:40px;background:var(--purple-dark);color:#fff;font-size:14px;line-height:1.5}.btn:hover{background:#99769d;color:#fff}.booking-btn,.btn.dark,.booking .btn{background:var(--rose);border-color:var(--rose);color:#fff}.booking-btn:hover,.btn.dark:hover,.booking .btn:hover{background:#f99e99;color:#fff}.booking-icon{width:32px;height:30px;flex:0 0 32px;background:url('../images/design/reservation.webp') center/contain no-repeat}.header-actions>.booking-btn{align-self:flex-start;min-height:52px;min-width:162px;border-radius:0 0 14px 14px;margin-top:-8px;font-size:13px}.header-actions .booking-icon{width:23px;height:23px;flex-basis:23px}.actions .btn{min-width:210px}
.block{padding:100px max(36px,calc((100% - var(--max))/2));isolation:isolate;background:#fff}.block:nth-of-type(even):not(.page-intro):not(.shade):not(.deferred){background:#fff}.block.shade{background:var(--lilac)}.block-cap{position:relative;z-index:auto;text-align:left;margin-bottom:40px}.block-cap:before{content:attr(data-kicker);display:block;color:var(--purple);font-size:16px;font-weight:600;line-height:1.2;margin-bottom:8px}.block-cap:after{position:absolute;top:-50px;left:-30px;z-index:-1;background:#fff84e;width:164px;height:164px;border-radius:50%;margin:0}.block h2{font-size:32px;line-height:1.3;color:#333;font-weight:500;letter-spacing:0}.block h3{color:#333;font-weight:600}.block h4{color:var(--purple)}.block .block-cap h2{max-width:920px}.block.compact{padding-top:55px;padding-bottom:55px}.cols{gap:40px}.page-intro{background:#fff;padding-top:22px;padding-bottom:60px}.page-intro .block-cap{margin-bottom:25px;text-align:center}.page-intro .block-cap:before,.page-intro .block-cap:after{display:none}.page-intro h1{font-size:30px;color:#333}.page-intro>.artwork-slot{max-width:1200px}.page-intro .ladies-hero{display:flex;flex-direction:column;gap:0;text-align:center}.page-intro .ladies-hero>div{order:2}.page-intro .ladies-hero>.artwork-slot{order:1;margin-bottom:24px;width:100%}.page-intro .ladies-hero .eyebrow{margin-top:20px}.page-intro .hero-rates{display:inline-block;margin:0 20px 12px}.page-intro .hero-rates+.hero-rates{margin-top:0}

/* Home photography and treatment carousel */
.hero-visual{position:relative}.hero-slider{overflow:hidden}.hero-slider .swiper-slide img{width:100%;height:auto;display:block}.hero-overlay{position:absolute;z-index:2;bottom:20px;left:5%;width:90%;text-align:center;color:#fff;text-shadow:0 1px 5px #333,0 1px 2px #333;font-size:clamp(19px,2vw,28px);font-weight:600;line-height:1.4;pointer-events:none}.home-introduction{max-width:850px;padding:24px 25px 0;margin:auto;text-align:center;font-size:14px;line-height:1.8}.home-introduction .home-location{color:var(--purple);font-size:16px;margin-bottom:7px}.hero-controls{position:absolute;right:12px;top:10px;z-index:3;display:flex;align-items:center;gap:12px}.hero-pagination{display:flex;align-items:center;gap:9px}.hero-pagination .swiper-pagination-bullet{border-color:#fff;background:#fff}.slider-pause{font-size:11px;line-height:1.4;background:#ffffffdf;color:#555;border-radius:20px;padding:5px 9px;border:1px solid #ddd}.treatment-carousel{padding:45px 0 10px;overflow:hidden}.menu-slider .swiper-slide a{display:block;overflow:hidden;border-radius:11px}.menu-slider img{display:block;width:100%;height:auto}.menu-controls{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:26px}.menu-pagination{display:flex;gap:16px}.swiper-pagination-bullet{display:inline-block;box-sizing:border-box;border:1px solid #999!important;background:#fff!important;width:10px!important;height:10px!important;opacity:1!important;border-radius:50%;padding:0}.swiper-pagination-bullet-active{background:#999!important}.hero-pagination .swiper-pagination-bullet-active{background:#fff!important}.hero-pagination .swiper-pagination-bullet{background:#ffffff55!important}.hero-pagination .swiper-pagination-bullet-active{background:#fff!important}.deferred{background:#fff!important;padding-top:100px;padding-bottom:90px}.deferred h2{font-size:32px}.deferred .cols{gap:20px}.deferred .block-cap{margin-bottom:30px}

/* Concept layout adapted from the Japanese theme's .campaign-contents. */
.home-concept{background:var(--lilac);position:relative;isolation:isolate;padding:140px 0 75px;overflow:clip}
.concept-inner{display:flex;flex-wrap:wrap;max-width:1236px;margin:0 auto;padding:0 18px}
.concept-photo{flex:1;margin-left:calc(50% - 50vw);overflow:hidden;border-radius:0 35px 35px 0}
.concept-photo img{width:100%;height:auto;max-height:562px;object-fit:cover}
.concept-copy{width:46.4%;position:relative;text-align:center;isolation:isolate;padding-left:35px}
.concept-copy:before{content:"";position:absolute;width:666px;height:666px;top:45%;left:56.5%;transform:translate(-50%,-50%);border-radius:50%;background:#ffffffcc;z-index:-1}
.concept-logo{width:202px;height:auto;margin:0 auto 47px}
.concept-copy h2{font-size:32px;color:var(--purple);font-weight:600;line-height:1.5;margin-right:-40px}
.concept-copy h2 span{background:linear-gradient(transparent 70%,#fff84e 0)}
.concept-copy p{font-size:22px;line-height:1.6;margin:25px -40px 0 0}
.concept-promise{position:relative;max-width:700px;min-height:160px;margin:130px auto 0;padding:16px 15px 16px 155px;background:linear-gradient(0deg,#ece3f3,#fcdfe2);display:flex;align-items:center;justify-content:center}
.concept-promise:before{content:"";position:absolute;left:-45px;bottom:0;width:229px;height:209px;background:url('../images/design/concept-staff.webp') bottom/contain no-repeat}
.concept-promise p{position:relative;font-family:Georgia,serif;font-weight:bold;font-size:25px;line-height:1.6;padding-left:30px}

/* The Japanese theme's shared decoration positions. */
.float-dec{position:absolute;background:url('../images/design/decoration.webp') 0 0/100% 100% no-repeat;width:786px;height:786px;z-index:-1;pointer-events:none}
#dec-menu01{top:30%;left:-20%}
#dec-menu02{width:413px;height:413px;top:50%;right:-3%}
#dec-reason01{top:-25%;left:-22%}
#dec-info01{top:55%;left:-20%}
#dec-info02{top:11%;right:-10%}
.clinic-booking-group{position:relative;isolation:isolate;background:var(--lilac)}
.clinic-booking-group>.common-bottom-clinics,.clinic-booking-group>#booking,.clinic-booking-group>#before-visit{background:transparent!important;overflow:visible;isolation:auto}
.reservation-panel .block-cap h2{max-width:none;text-align:center;margin-inline:auto}

/* Shared lower sections */
.common-bottom-reasons{background:#fff!important;padding-top:110px;padding-bottom:110px;overflow:visible}.common-bottom-reasons .block-cap{margin-bottom:40px}.common-reason-cards{gap:7%!important}.common-reason-cards>article{background:transparent;border:0;border-top:1px solid var(--purple);padding:15px 0 0;display:block;height:auto}.common-reason-cards>article:before{content:"";width:38px;height:5px;background:var(--purple);position:absolute;left:0;top:0}.common-reason-cards .eyebrow{font-size:35px;color:var(--purple);margin-bottom:0!important}.common-reason-cards h3{min-height:0;font-size:23px;line-height:1.5;color:var(--purple);margin:7px 0 10px}.common-reason-cards p{font-size:14px;line-height:1.8;margin:0 0 15px}.common-reason-cards .content-image{border-radius:0;margin-top:15px}.common-reason-cards article:last-child>.content-image+p{font-size:13px;margin-top:10px}.common-bottom-clinics{background:var(--lilac)!important;overflow:hidden;padding-bottom:55px}.home-clinic-row{grid-template-columns:1fr 1.12fr;gap:7%;border:0;margin-top:50px;padding-bottom:75px}.home-clinic-row+.home-clinic-row{margin-top:40px}.clinic-brand{width:390px;max-width:90%;margin:0 0 30px}.home-clinic-row h3{font-size:23px;margin:0 0 28px;color:#111}.clinic-gallery{padding:0;scrollbar-width:none}.clinic-gallery::-webkit-scrollbar{display:none}.clinic-gallery img{border-radius:0}.gallery-controls{gap:12px;margin-top:20px}.gallery-dot{width:22px;height:24px;padding:0;background:transparent;position:relative}.gallery-dot:after{content:"";position:absolute;width:5px;height:5px;border:1px solid #999;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;background:#fff}.gallery-dot[aria-current=true]:after{background:#999}.gallery-controls .gallery-dot{border:0;width:22px;height:24px}.gallery-controls .gallery-dot:hover{background:transparent}.weekly-hours{background:transparent;font-size:13px}.weekly-hours caption{font-weight:400;font-size:13px;color:#333;padding-bottom:10px}.weekly-hours th,.weekly-hours td{background:transparent;border:0;border-right:1px solid var(--purple);border-left:1px solid var(--purple);font-weight:400;padding:6px 3px}.weekly-hours thead{border-bottom:1px solid var(--purple)}.weekly-hours tbody td{color:var(--purple);font-size:18px}.weekly-hours th:first-child{width:108px}.clinic-information p{font-size:14px}.clinic-access-links{margin-top:32px;gap:14px}.clinic-access-links .btn{background:#fff;color:var(--purple-dark);border-color:var(--purple-dark);font-weight:400;min-height:38px}.clinic-access-links .btn:hover{background:#f0e5f1}.clinic-map-links .btn{min-height:36px}.clinic-payments{border-top:1px solid #999;border-bottom:1px solid #999;padding:14px 0 16px;margin-top:30px}.clinic-payments h4{margin-top:0;font-weight:400;font-size:13px}.clinic-payments p{font-size:12px}.payment-logos{margin-top:12px}
#booking{background:var(--lilac);padding-top:45px;padding-bottom:65px;overflow:hidden}.reservation-panel{border:0;border-radius:15px;background:#fff;padding:50px 70px 55px}.reservation-panel .block-cap{text-align:center;margin-bottom:20px}.reservation-panel .block-cap:after{display:none}.reservation-panel .block-cap:before{content:"RESERVATION"}.reservation-panel h2{font-size:28px}.reservation-panel .booking{gap:25px;margin-top:30px}.booking>div{background:#fff;border:0;border-radius:15px;padding:25px;justify-content:center}.booking .btn{min-height:58px;font-size:17px}.booking .btn:before{content:"";flex:0 0 28px;height:28px;background:url('../images/design/reservation.webp') center/contain no-repeat}.booking h3{font-weight:500;font-size:23px}.booking-dialog{background:var(--lilac)}.booking-dialog .booking .btn{font-size:14px}.booking-dialog .booking .btn:before{width:22px;flex-basis:22px;height:22px}#line-dialog .booking .btn{background:#06c755;border-color:#06c755}#line-dialog .booking .btn:before{display:none}
#before-visit{background:var(--lilac);padding-top:20px;padding-bottom:110px}#before-visit>.block-cap{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;margin:0}.common-visit-info>article{background:transparent;padding:0}.common-visit-info h3{font-size:17px;background:#e5dbea;padding:6px 12px;margin:0 0 18px;font-weight:600}.common-visit-info p{font-size:14px}.common-visit-info .btn{display:flex;width:fit-content;max-width:100%;margin:20px auto 0;min-width:230px;font-size:13px}

/* Treatment detail pages */
.point-cards>article,.skin-page .cols.three>article,.page-toning #T02 .cols.three>article,.page-spots #S02 .cols.three>article,.page-pico #Q02 .cols.three>article{border:0;border-radius:18px;background:#fff;padding:30px}.point-number{background:transparent;color:var(--purple);border:2px solid #e5dbea;font-size:28px}.point-cards h3{color:var(--purple);font-weight:600}.skin-benefits li,.area-labels p{border:0;border-radius:0;color:#333;padding:8px 18px 8px 30px;background:#fff url('../images/design/check.svg') 9px center/12px no-repeat}.area-card{border-color:#707070;padding:18px}.area-card h3{color:#333;font-weight:500}.parts-preview.cols.three,.parts-more .cols.three{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.parts-more>summary{border-radius:30px;background:var(--purple-dark);color:#fff;font-size:15px;max-width:380px;margin:0 auto 30px;padding:12px 25px}.area-menu-link a{border-radius:30px;background:var(--purple-dark);color:#fff;border-color:var(--purple-dark)}table{background:transparent}th{background:#e5dbea;color:#333}td{background:#fff}.clinic-select{border-radius:45px;background:var(--purple-dark);color:#fff}.clinic-select:hover{background:#99769d}.page-clinics #hiroshima{background:var(--lilac)}.page-clinics #shinsaibashi{background:#fff}.page-clinics .clinic-intro .content-image{border-radius:0}.page-privacy .block-cap:after{display:none}.page-privacy .block-cap:before{display:none}.page-privacy .block h2{color:var(--purple-dark)}

/* Footer */
.site-footer{background:#eee;border:0;padding:55px 0 0;text-align:left;color:#555}.footer-inner{max-width:1280px;margin:auto;display:grid;grid-template-columns:26.5% 73.5%;padding:0 30px;gap:0}.footer-identity{padding:0 40px 0 0;text-align:center}.footer-brand{display:block}.footer-brand img{width:100%;max-width:270px;margin:0 auto 20px}.footer-identity>.btn{width:100%;font-size:16px;max-width:290px}.footer-content{padding-left:20px}.footer-social{display:flex;justify-content:center;align-items:center;gap:30px;margin:0 0 45px}.footer-social img{width:44px;height:44px;object-fit:contain}.footer-social button{background:transparent;padding:0}.footer-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));font-size:13px;line-height:1.65;margin:0;max-width:none;gap:18px 24px;font-weight:600}.footer-clinics{border-top:1px solid #aaa;border-bottom:1px solid #aaa;display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:20px;padding:16px 0;margin:22px 0;font-size:13px;align-items:center}.footer-clinics strong{font-weight:400}.footer-treatments{display:grid;grid-template-columns:1fr 1fr;gap:10px 22px}.footer-treatments>p{grid-column:1/-1;font-size:13px;margin:0 0 5px}.footer-treatments details{border:1px solid #aaa;background:#e8e8e8;padding:0;align-self:start}.footer-treatments summary{font-size:13px;font-weight:400;padding:7px 13px;color:#555}.footer-treatments details a{display:block;font-size:13px;background:#eee;padding:8px 15px}.footer-copyright{margin-top:65px;background:#333;color:#fff;text-align:center;padding:12px}.footer-copyright small{font-size:12px}
@media(max-width:1100px){.site-nav>a{padding:0 18px;font-size:12px}.home-clinic-row{gap:4%}.common-reason-cards{gap:4%!important}.common-reason-cards h3{font-size:21px}.footer-inner{grid-template-columns:27% 73%}.footer-identity{padding-right:20px}.footer-links{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.parts-preview.cols.three,.parts-more .cols.three{grid-template-columns:repeat(3,minmax(0,1fr))}.reservation-panel{padding:45px 30px}.booking h3{font-size:20px}}
@media(max-width:767px){:root{--header:79px}.header-inner{padding:10px 16px;min-height:78px}.brand img{width:184px}.header-actions{gap:12px}.site-nav{padding:10px 22px 22px}.site-nav>a{padding:17px 10px;font-size:15px}.block{padding:65px 22px}.block-cap{margin-bottom:35px}.block-cap:before{font-size:13px}.block-cap:after{width:94px;height:94px;top:-20px;left:-50px}.block h2{font-size:26px;line-height:1.4}.block h3{font-size:21px}.page-intro{padding-top:18px;padding-bottom:35px}.page-intro h1{font-size:26px}.page-intro .hero-rates{display:block;margin:10px 0}.page-intro .hero-rates+.hero-rates{margin-top:10px}.page-intro .ladies-hero>.artwork-slot{margin-bottom:5px}.hero-slider .swiper-slide img{width:100%;height:auto}.hero-overlay{font-size:20px;bottom:18px;left:7%;width:86%;line-height:1.45}.hero-controls{right:8px;top:8px;gap:8px}.slider-pause{font-size:10px}.hero-pagination{gap:7px}.home-introduction{font-size:13px;padding:22px 22px 0}.home-introduction .home-location{font-size:14px}.treatment-carousel{padding-top:30px}.menu-controls{margin-top:20px;gap:15px}.menu-pagination{gap:12px}.deferred{padding-top:65px;padding-bottom:55px}.deferred .cols{grid-template-columns:1fr;gap:15px}.deferred .block-cap{margin-bottom:25px}.deferred h2{font-size:26px}.home-concept{padding:60px 0 45px}.common-bottom-reasons{padding-top:70px;padding-bottom:55px}.common-reason-cards{gap:45px!important}.common-reason-cards>article{padding:15px 0 0}.common-reason-cards h3{font-size:22px}.common-reason-cards .eyebrow{font-size:30px}.common-reason-cards .content-image{width:100%}.common-bottom-clinics{padding-bottom:20px}.home-clinic-row{grid-template-columns:1fr;gap:25px;margin-top:35px;padding-bottom:55px}.home-clinic-row+.home-clinic-row{margin-top:30px}.clinic-brand{width:290px;max-width:85%;margin:0 0 22px}.home-clinic-row h3{font-size:22px;margin-bottom:20px}.weekly-hours{font-size:11px}.weekly-hours th:first-child{width:85px}.weekly-hours tbody td{font-size:15px}.clinic-access-links .btn{flex-basis:100%;font-size:12px}.clinic-map-links .btn{flex-basis:130px}.gallery-controls{margin-top:14px}.clinic-payments h4{font-size:13px}.clinic-payments p{font-size:12px}#booking{padding:20px 18px 45px}.reservation-panel{padding:32px 18px 30px;border-radius:10px}.reservation-panel .block-cap{margin-bottom:15px}.reservation-panel h2{font-size:25px}.reservation-panel .booking{margin-top:15px;gap:14px}.booking>div{padding:20px 10px}.booking h3{font-size:21px}.booking .btn{min-height:55px;font-size:15px}.reservation-panel>.small{font-size:12px}#before-visit{padding:10px 22px 65px}.common-visit-info{gap:35px}.common-visit-info>article{padding:0}.common-visit-info h3{font-size:16px}.common-visit-info p{font-size:13px}.common-visit-info .btn{font-size:12px}.parts-preview.cols.three,.parts-more .cols.three{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.area-card{padding:14px 12px}.area-card h3{font-size:16px}.site-footer{padding-top:40px}.footer-inner{grid-template-columns:1fr;padding:0 22px}.footer-identity{padding:0}.footer-brand img{width:205px;margin-bottom:20px}.footer-identity>.btn{max-width:280px;margin-bottom:35px}.footer-content{padding:0}.footer-social{gap:25px;margin-bottom:32px}.footer-social img{width:36px;height:36px}.footer-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 22px;font-size:12px}.footer-clinics{grid-template-columns:1fr 1fr;font-size:12px;gap:12px;margin:22px 0}.footer-clinics strong{grid-column:1/-1}.footer-treatments{grid-template-columns:1fr}.footer-treatments>p{font-size:12px}.footer-copyright{margin-top:40px}.mobile-book .booking-icon{width:25px;height:25px;flex-basis:25px}.mobile-book .btn{font-size:13px}.booking-dialog .booking h3{font-size:20px}.page-clinics .clinic-payments{margin-top:25px}}
@media(max-width:359px){.brand img{width:155px}.header-actions{gap:7px}.block{padding-left:18px;padding-right:18px}.parts-preview.cols.three,.parts-more .cols.three{grid-template-columns:1fr}.hero-overlay{font-size:18px}.footer-clinics{grid-template-columns:1fr}.weekly-hours th:first-child{width:76px}}
.common-treatment-bottom #booking{background:var(--lilac)}
.gallery-controls .gallery-dot{background:transparent}
.page-toning #T02,.page-spots #S02,.page-pico #Q02{background:var(--lilac)}
.booking-section{background:var(--lilac)}
.treatment-highlights .cols.three{margin-top:75px!important;gap:23px}
.treatment-highlights .cols.three>article{position:relative;border:0!important;border-radius:10px!important;padding:37px 20px 28px!important;text-align:center}
.treatment-highlights .point-number{position:absolute;top:-35px;left:50%;transform:translateX(-50%);width:60px;height:60px;background:#eee;border:0;border-radius:50%;margin:0;display:flex;flex-direction:column;font-size:27px;line-height:1.1;letter-spacing:0}
.treatment-highlights .point-number:before{content:"point";font-size:14px;line-height:1.3}
.treatment-highlights .cols.three>article h3{color:var(--purple);font-size:21px!important;margin:0 0 14px}
.treatment-highlights .cols.three>article p{border-radius:500px;background:var(--purple);color:#fff;font-size:15px!important;line-height:1.5;padding:5px 14px;max-width:320px;margin:0 auto}
.treatment-concerns{position:relative;background:#fff;padding:40px 25px 15px;margin-top:75px}
.treatment-concerns>h3{display:table;position:relative;margin:-63px auto 20px;padding:10px 18px;background:var(--purple);color:#fff;border-radius:10px;font-size:18px;line-height:1.4;text-align:center}
.treatment-concerns>h3:after{content:"";position:absolute;left:45%;top:100%;border:9px solid transparent;border-top-color:var(--purple)}
.treatment-concerns .skin-benefits{margin:0!important;justify-content:center}
@media(max-width:767px){.treatment-highlights .cols.three{margin-top:30px!important;gap:14px}.treatment-highlights .cols.three>article{padding:16px 16px 16px 42px!important;border-radius:7px!important}.treatment-highlights .point-number{width:40px;height:40px;top:12px;left:-5px;transform:none;font-size:18px}.treatment-highlights .point-number:before{font-size:11px}.treatment-highlights .cols.three>article h3{font-size:17px!important;margin-bottom:10px}.treatment-highlights .cols.three>article p{font-size:14px!important}.treatment-concerns{padding:30px 15px 15px;margin-top:60px}.treatment-concerns>h3{font-size:16px;margin-top:-50px;padding:10px 14px}.treatment-concerns .skin-benefits{justify-content:flex-start}}
@media(prefers-reduced-motion:reduce){.swiper-wrapper{transition-duration:0ms!important}.hero-slider .swiper-slide{transition-duration:0ms!important}}

@media(min-width:768px) and (max-width:1250px){
  .concept-copy{width:50%}
  .concept-logo{width:152px;margin-bottom:27px}
  .concept-copy h2,.concept-copy p{margin-right:0}
  .concept-copy:before{width:616px;height:616px;top:56%;left:53%}
}
@media(min-width:768px) and (max-width:1200px){
  .concept-copy h2{font-size:26px}
  .concept-copy p{font-size:18px}
}
@media(min-width:768px) and (max-width:1000px){
  .concept-inner{display:block}
  .concept-photo{margin:0 calc(50% - 50vw);border-radius:0}
  .concept-photo img{max-height:340px}
  .concept-copy{margin:55px auto 0;min-height:340px}
}
@media(max-width:767px){
  .concept-inner{display:block}
  .concept-photo{margin:0 calc(50% - 50vw);border-radius:0}
  .concept-copy{width:auto;padding:0;min-height:300px;margin-top:45px}
  .concept-copy:before{width:110vw;height:auto;aspect-ratio:1;top:60%;left:50%}
  .concept-logo{width:120px;margin-bottom:25px}
  .concept-copy h2{font-size:24px;margin:0}
  .concept-copy p{font-size:16px;margin:15px 0 0}
  .concept-promise{max-width:339px;min-height:126px;margin:65px 22px 0;padding:10px 15px 10px 115px}
  .concept-promise:before{width:143px;height:162px;left:-19px;background-image:url('../images/design/concept-staff-sp.webp')}
  .concept-promise p{padding-left:0;font-size:18px;line-height:1.6}
  .float-dec{width:302px;height:302px}
  #dec-reason01{top:-6%;left:auto;right:-33%}
  #dec-info01{top:40%;left:-30%}
  #dec-info02{top:1%;right:-25%}
}
@media(min-width:384px) and (max-width:767px){.concept-promise{margin-inline:auto}}
@media(max-width:359px){.concept-promise{margin-inline:16px;padding-left:105px}.concept-promise p{font-size:16px}}

/* Supplied title artwork includes this copy. Keep it available to screen readers. */
.image-led-intro .image-copy{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0);
  clip-path:inset(50%);
  white-space:nowrap;
  border:0!important;
}
.image-led-intro>.artwork-slot,
.image-led-intro .ladies-hero>.artwork-slot{margin-bottom:0}
.image-led-intro .hero-scope{margin:18px 0 0;text-align:center}

/* Reserve the treatment video dimensions before metadata/playback loads. */
.page-hair #L03 video{aspect-ratio:16/9;align-self:start;object-fit:contain}

/* Shared buttons and clinic information. */
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0!important}
.btn-arrow{position:relative;padding-left:28px;padding-right:38px}
.btn-arrow:after,.clinic-select:after{content:"";position:absolute;right:17px;top:50%;width:7px;height:7px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:translateY(-50%) rotate(45deg);opacity:.7;pointer-events:none}
.car-icon{width:30px;height:25px;object-fit:contain;flex:none}
.home-clinic-row{grid-template-columns:minmax(0,530fr) minmax(0,590fr);gap:80px;padding-bottom:30px}
.home-clinic-row+.home-clinic-row{margin-top:70px}
.home-clinic-row .clinic-brand{width:340px;max-width:100%;margin-bottom:28px}
.home-clinic-row h3,.clinic-intro h3{font-size:26px;line-height:1.4;margin:0 0 20px}
.clinic-information .hours-note{margin:10px 0 16px;font-size:14px;line-height:1.7}
.clinic-information .clinic-address{font-size:14px!important;line-height:1.8;margin-top:0;margin-bottom:16px}
.clinic-address a{color:inherit;text-decoration:none}
.clinic-address a:hover{text-decoration:underline}
.clinic-access-links,.clinic-map-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0 0}
.clinic-access-links .btn,.clinic-map-links .btn{font-size:12px;padding:10px 25px 10px 14px;min-height:40px;line-height:1.5}
.clinic-access-links .btn:after,.clinic-map-links .btn:after{right:12px}
.clinic-payments{border-color:#bbb;margin-top:28px;padding:18px 10px 20px}
.clinic-payments p{text-align:center;font-size:12px;line-height:1.5;margin:0 0 14px}
.clinic-payments .payment-logos{margin-top:0}
.reservation-panel{padding:38px 60px 32px;border-radius:15px}
.reservation-panel .reservation-title{font-size:28px;font-weight:600;color:var(--purple);line-height:1.4;text-align:center;margin:0}
.reservation-panel .booking{margin-top:24px;gap:28px}
.reservation-panel .booking>div{padding:0;border-radius:0}
.booking .eyebrow{font-size:17px;letter-spacing:0;color:#444;line-height:1.4;margin:0 0 8px!important}
.reservation-panel .booking .btn{min-height:54px;max-width:400px;padding:12px 24px;font-size:18px;gap:10px}
.reservation-panel>.small{font-size:13px;margin:20px 0 0;line-height:1.8}
.hair-concerns .check-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 35px;margin:0}
.hair-concerns .check-list li{border:0;padding:10px 0 10px 28px}
.hair-concerns .check-list li:before{content:"";width:14px;height:14px;left:0;top:16px;background:url('../images/design/check.svg') center/contain no-repeat}
.hair-concerns .check-list p{font-size:15px}
.expected-benefits{margin-top:30px}
.expected-benefits h4{background:#f0e9f3;color:#333;text-align:center;font-size:18px;font-weight:500;padding:8px 15px;margin:0 0 20px}
.expected-benefits .skin-benefits{justify-content:center;gap:12px;margin:0!important}
.expected-benefits .skin-benefits li{border:1px solid var(--purple);border-radius:40px;background:transparent;color:var(--purple);padding:7px 22px;font-size:16px;line-height:1.5;text-align:center}
.equipment-features{border:1px solid #c6c6c6;padding:18px 22px;display:flow-root;margin:20px 0 0}
.equipment-features p:last-child{margin-bottom:0}
.page-pico .skin-equipment+.skin-modes{margin-top:32px}

/* Clinic introduction and access. */
.clinic-title{padding:28px 20px;background:linear-gradient(100deg,#fff2f3,#eeeaf5);text-align:center}
.clinic-title h1{font-size:24px;line-height:1.5;color:var(--purple);font-weight:600;margin:0}
.clinic-hero{display:block}
.clinic-hero img{display:block;width:100%;height:auto}
.clinic-selectors{display:flex;justify-content:center;gap:95px;padding:75px 22px}
.clinic-selectors .clinic-select{position:relative;display:flex;align-items:center;justify-content:center;min-width:225px;padding:10px 42px 10px 25px;border:0;font-size:14px;font-weight:400;line-height:1.5;text-align:center}
.clinic-select:after{transform:translateY(-70%) rotate(135deg)}
.page-clinics .clinic-detail{padding-top:120px;padding-bottom:100px}
.clinic-detail>.block-cap{margin-bottom:28px}
.clinic-intro{grid-template-columns:minmax(0,530fr) minmax(0,590fr);gap:80px;align-items:start}
.clinic-intro>.content-image{width:100%;height:auto}
.clinic-book-link{background:var(--rose);border-color:var(--rose);min-height:58px;padding:12px 26px;font-size:17px;gap:14px}
.clinic-book-link:hover{background:#f99e99;border-color:#f99e99}
.clinic-map{max-width:950px;margin:125px auto 0;text-align:center}
.clinic-map iframe{display:block;width:100%;height:auto;aspect-ratio:950/580;border:0}
.clinic-map>.btn{margin-top:40px;min-width:245px}
.clinic-detail-section{margin-top:130px}
.clinic-detail-section>.block-cap{margin-bottom:28px}
.clinic-detail-section .cols{gap:48px;align-items:stretch}
.clinic-detail .clinic-band{background:var(--lilac);font-size:18px;line-height:1.5;padding:5px 12px;margin:0 0 20px;color:#333}
#hiroshima .clinic-band{background:#fff}
.clinic-detail-section p{font-size:14px;line-height:1.8}
.clinic-directions .cols>div{display:flex;flex-direction:column}
.clinic-directions .btn{align-self:center;max-width:100%;font-size:14px;margin:30px auto 0}
.clinic-directions .route-lead{color:var(--purple);font-weight:600;margin-bottom:0}
.clinic-directions .route-lead+p{margin-top:0}
.clinic-directions p:last-of-type{margin-bottom:auto}
.doctor-card{display:flex;align-items:flex-start;gap:32px;width:calc((100% - 48px)/2);padding:38px 32px;background:var(--lilac)}
#hiroshima .doctor-card{background:#fff}
.doctor-card>img{width:170px;height:170px;object-fit:cover;flex:none}
.doctor-card h3{font-size:30px;line-height:1.3;margin:3px 0 8px}
.doctor-card p{margin:0}
.clinic-payment-details .clinic-band:not(:first-of-type){margin-top:46px}
.clinic-payment-details .payment-logos{width:720px;max-width:100%;height:auto;margin-top:20px}
.page-clinics .clinic-reservation{background:#fff;padding-top:20px;padding-bottom:90px}
.clinic-reservation .reservation-panel{border:1px solid #888;border-radius:0}
@media (max-width:1100px){
  .home-clinic-row,.clinic-intro{gap:45px}
  .doctor-card{padding:28px 24px;gap:20px}
  .doctor-card>img{width:125px;height:125px}
  .doctor-card h3{font-size:23px}
}
@media (max-width:767px){
  .home-clinic-row,.clinic-intro{grid-template-columns:1fr;gap:28px}
  .home-clinic-row{margin-top:25px;padding-bottom:0}
  .home-clinic-row+.home-clinic-row{margin-top:75px}
  .home-clinic-row .clinic-brand{width:100%;margin:0 0 26px}
  .home-clinic-row h3,.clinic-intro h3{font-size:20px;line-height:1.4;margin-bottom:16px}
  .weekly-hours th:first-child{width:92px}
  .weekly-hours th,.weekly-hours td{padding:4px 2px}
  .clinic-information .hours-note,.clinic-information .clinic-address{font-size:14px!important;line-height:1.8;margin:10px 0}
  .clinic-access-links{grid-template-columns:1fr;gap:15px;margin-top:22px}
  .clinic-access-links .btn{font-size:13px;min-height:40px}
  .clinic-map-links{gap:10px;margin-top:22px}
  .clinic-map-links .btn{font-size:12px;min-height:40px}
  .clinic-payments{margin-top:26px;padding:18px 10px 22px}
  .clinic-payments p{font-size:12px}
  .reservation-panel{padding:28px 18px 25px;border-radius:0}
  .reservation-panel .reservation-title{font-size:21px}
  .reservation-panel .booking{gap:32px;margin-top:28px}
  .reservation-panel .booking .btn{font-size:16px;min-height:54px;padding:10px 15px;gap:8px}
  .reservation-panel .booking .btn:before{flex-basis:28px;width:28px;height:28px}
  .booking .eyebrow{font-size:16px}
  .reservation-panel>.small{font-size:13px;margin-top:20px}
  .hair-concerns .check-list{grid-template-columns:1fr;gap:0}
  .hair-concerns .check-list p{font-size:14px}
  .expected-benefits{margin-top:24px}
  .expected-benefits h4{font-size:16px;margin-bottom:16px}
  .expected-benefits .skin-benefits{gap:10px}
  .expected-benefits .skin-benefits li{font-size:14px;padding:6px 17px}
  .equipment-features{padding:16px}
  .clinic-title{padding:28px 16px}
  .clinic-title h1{font-size:20px}
  .clinic-title-suffix,.payment-title-suffix{display:none}
  .clinic-selectors{flex-direction:column;align-items:center;gap:22px;padding:45px 22px}
  .clinic-selectors .clinic-select{font-size:14px;min-width:270px;min-height:42px}
  .page-clinics .clinic-detail{padding-top:65px;padding-bottom:70px}
  .clinic-detail>.block-cap{margin-bottom:25px}
  .clinic-book-link{display:flex;max-width:310px;margin:20px auto 0;font-size:16px;min-height:54px;padding:10px 20px;gap:10px}
  .clinic-map{margin-top:55px}
  .clinic-map iframe{aspect-ratio:1/1}
  .clinic-map>.btn{margin-top:25px;min-width:225px;font-size:13px}
  .clinic-detail-section{margin-top:75px}
  .clinic-detail-section>.block-cap{margin-bottom:25px}
  .clinic-detail-section .cols{gap:50px}
  .clinic-detail .clinic-band{font-size:16px;margin-bottom:14px;padding:5px 8px}
  .clinic-detail-section p{font-size:14px}
  .clinic-directions .btn{font-size:12px;margin-top:22px;padding-left:20px;padding-right:32px}
  .doctor-card{width:100%;gap:16px;padding:24px 18px}
  .doctor-card>img{width:100px;height:100px}
  .doctor-card h3{font-size:20px;margin:0 0 4px}
  .doctor-card p{font-size:14px}
  .clinic-payment-details .clinic-band:not(:first-of-type){margin-top:36px}
  .clinic-payment-details .payment-logos{margin-top:18px}
  .page-clinics .clinic-reservation{padding-top:10px;padding-bottom:70px}
}

/* Desktop Japanese-site link. */
@media (min-width:768px){
  .header-actions .language-switch{position:relative;top:-8px;display:inline-flex;align-items:center;justify-content:center;min-width:108px;min-height:40px;padding:8px 32px 8px 20px;border:1px solid var(--purple-dark);border-radius:40px;background:#fff;color:var(--purple-dark);font-size:13px;font-weight:400;line-height:1.5;transition:background .18s,color .18s}
  .header-actions .language-switch span{display:none}
  .header-actions .language-switch:after{content:"";position:absolute;right:13px;top:50%;width:7px;height:7px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:translateY(-50%) rotate(45deg);opacity:.7;pointer-events:none}
  .header-actions .language-switch:hover{background:#f0e5f1;text-decoration:none}
}

/* Home clinic galleries use the Japanese site's automatic slide timing. */
.page-home .clinic-photo-column{min-width:0}
.page-home .clinic-gallery.swiper-container{display:block;overflow:hidden;scroll-snap-type:none;margin:0}
.page-home .clinic-gallery .swiper-slide img{width:100%;height:auto}
