/* Rosa Beauty Clinic — Figma PC 1440px / SP 390px */
:root{--black:#000;--dark:#111;--white:#fff;--red:#910c25;--gold:#c0a06e;--border:#d3dae2;--sans:'Noto Sans JP','Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;--serif:'Noto Serif JP','Yu Mincho','Hiragino Mincho ProN',serif;--booking-height:121px}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:var(--black);background:#fff;font:400 15px/1.6 var(--sans);overflow-wrap:break-word}h1,h2,h3,h4,p,ul,dl,dd,figure{margin:0}h1,h2,h3,h4{font-size:inherit}ul{padding:0}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%;height:auto}button,a,summary{-webkit-tap-highlight-color:transparent}a,button,summary{touch-action:manipulation}button,summary{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #b87524;outline-offset:4px}a:hover{text-decoration:underline}button{color:inherit}section{scroll-margin-top:24px}strong,.bold{font-weight:700}.serif{font-family:var(--serif)}.center{text-align:center}.gold{color:var(--gold)}.container{width:min(1050px,88%);margin-inline:auto;position:relative}.container.narrow{width:min(900px,90%)}.space{height:var(--space);flex:none}.icon{display:block;flex:none;width:24px;height:24px}.skip-link{position:fixed;top:0;left:12px;z-index:100;background:#fff;color:#000;padding:12px;transform:translateY(-120%)}.skip-link:focus{transform:translateY(0)}
.site-header{min-height:108px;padding:9px 28px 20px;background:#000;color:#fff;position:relative}.brand{position:absolute;left:28px;top:25px;width:300px}.brand img{width:300px;height:50px;object-fit:contain}.header-desktop{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.hours{font-size:12px;line-height:19.2px}.utility-nav{display:flex;align-items:center;gap:10px;height:24px}.pill{border:1px solid #fff;border-radius:50px;width:100px;text-align:center;font:12px/13.2px var(--sans);padding:4px 0}.pill-white{background:#fff;color:#000;width:50px}.main-nav{display:flex;justify-content:flex-end;gap:27px;font:14px/18.2px var(--serif)}.main-nav a{white-space:nowrap}.menu-toggle,.mobile-menu,.mobile-cta{display:none}.hero{position:relative;overflow:hidden;background:#fff;padding:46.7px 0}.hero-art{position:absolute;right:0;top:0;width:1152px;height:300px;max-width:none}.hero-art img{width:1152px;height:300px;max-width:none;object-fit:cover}.hero-eyebrow{position:absolute;left:10px;right:10px;top:1px;color:#e9d2af;opacity:.8;font-size:12px;line-height:19.2px}.hero #page-title{font:700 36px/57.6px var(--serif)}.hero-description{font:15px/24px var(--serif);margin-top:30px}.hero-actions{display:flex;gap:18px;margin-top:36px}.cta{display:flex;align-items:center;justify-content:center;gap:10px;background:var(--red);color:#fff;width:240px;min-height:59px;padding:10px;font:18px/28.8px var(--serif);transition:filter .2s}.cta:hover{filter:brightness(1.14);text-decoration:none}.cta>span{white-space:nowrap}.cta.mobile-cta{display:none}.breadcrumb{display:flex;gap:10px;align-items:flex-start;padding-block:10px;font-size:14px;line-height:22.4px;flex-wrap:wrap}.mobile-toc{display:none}
.section{position:relative;padding-block:80px;isolation:isolate}.dark{background:var(--dark);color:#fff}.decoration{position:absolute;top:0;z-index:-1;pointer-events:none}.decoration-left{left:0;width:710px;max-width:55%}.decoration-right{right:0;width:190px;max-width:20%}.image-parts{width:100%}.image-parts img{width:100%;height:auto}.section-heading{font:700 26px/41.6px var(--serif);letter-spacing:2px;width:100%}.block-heading{font:700 20px/32px var(--serif)}.copy-inset{width:calc(100% - 40px)}.dot-list{list-style:none;margin:0;padding:0}.dot-list li::before{content:'◦ ';}.procedure-block{width:100%}.procedure-block.divided{border-top:1px solid #e2e2e2;padding:60px 0 40px}.diagram-wrap{display:flex;justify-content:center}.diagram{width:80%;max-width:840px}.recommendation-list{list-style:none;width:max-content;max-width:100%;margin:auto}.recommendation-list li{display:flex;align-items:flex-start;gap:6px;padding-bottom:30px;font-size:20px;line-height:32px}.recommendation-list .icon{margin-top:0}.price-heading{font:700 28px/44.8px var(--serif);margin-bottom:10px}.price-row{display:grid;grid-template-columns:420fr 480fr;border-bottom:1px solid var(--border)}.treatment-name{font-weight:400;padding:25px 15px;font-size:18px;line-height:28.8px;letter-spacing:1px}.price-options{padding:25px 15px;display:flex;flex-direction:column;gap:6px;min-width:0}.price-option{display:flex;align-items:flex-end;justify-content:flex-end;gap:15px}.price-option.stacked{flex-direction:column;gap:0}.price-label{background:#fbe0cf;color:#fff;padding:3px 10px;white-space:nowrap;font-size:16px;line-height:25.6px;flex:none}.amount{flex:1;text-align:right;white-space:normal;min-width:0;max-width:100%;font-size:24px;line-height:28.8px}.amount span+span{font-size:18px}.price-category{font-size:20px;line-height:32px;padding:20px 0 15px;border-bottom:1px solid var(--gold)}.detail-row{display:grid;grid-template-columns:200fr 700fr;border-bottom:1px solid var(--border)}.detail-row dt,.detail-row dd{padding:25px 15px;min-width:0}.faq-item summary{list-style:none;position:relative;border-bottom:1px solid var(--border);padding:25px 50px 26px;min-height:75px;display:flex;align-items:flex-start;line-height:24px}.faq-item summary::-webkit-details-marker{display:none}.q-mark{position:absolute;left:0;top:25px;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--gold);font:20px/24px var(--serif)}.faq-sign{position:absolute;right:5px;top:30px;width:16px;height:16px}.faq-sign::before,.faq-sign::after{content:'';position:absolute;background:currentColor;top:7px;left:0;width:16px;height:1px}.faq-sign::after{transform:rotate(90deg)}.faq-item[open] .faq-sign::after{transform:none}.faq-answer{padding:20px 0 30px;line-height:1.8}.access{display:grid;grid-template-columns:1fr 1fr;background:#000;color:#fff}.clinic-info{padding:100px 9.7222%;display:flex;flex-direction:column;align-items:center}.clinic-info>img{width:70px;height:auto;margin-bottom:30px}.clinic-info address{width:100%;font:normal 15px/33px var(--serif)}.access iframe{display:block;border:0;width:100%;height:500px;background:#000}.footer-services{padding-block:100px 140px}.footer-category{display:grid;grid-template-columns:150fr 840fr;gap:30px;padding:15px;font-size:14px;line-height:23.8px}.footer-category h2{font:400 14px/22.4px var(--serif)}.footer-category ul{list-style:none}.footer-category li{display:inline}.footer-category li:not(:last-child)::after{content:'　　'}.copyright{text-align:center;font-size:15px;line-height:24px;padding:30px 0 160px}.booking-bar{position:fixed;bottom:0;left:0;right:0;z-index:30;background:#222;padding:7px 12px 13px;color:#fff}.booking-bar>p{text-align:center;font:700 22px/41.8px var(--serif);letter-spacing:1px;color:var(--gold)}.booking-actions{display:flex;align-items:flex-start;justify-content:center;gap:21px}.booking-phone{display:flex;flex-direction:column;width:285px}.booking-phone>span{font:38.4px/38.4px var(--serif)}.booking-phone>small{font:12px/19.2px var(--sans);text-align:right}.mobile-label{display:none}.side-nav{position:fixed;right:0;top:54%;width:78px;z-index:20;background:#fff;color:#000}.side-nav a{display:block;text-align:center;font-size:12px;line-height:19.2px;padding:10px 0;border-bottom:1px solid var(--gold)}
/* Intermediate widths retain fluid content and prevent header overlap. */
@media (min-width:769px) and (max-width:1240px){.site-header{padding-top:12px}.brand{top:15px;width:230px}.brand img{width:230px;height:auto}.main-nav{gap:15px;flex-wrap:wrap;margin-top:8px}.price-label{font-size:13px;padding-inline:6px}.amount{font-size:21px}.amount span+span{font-size:16px}.side-nav{width:60px}.price-option{gap:7px}}
@media (max-width:768px){
 :root{--booking-height:54px}html{scroll-padding-top:16px}body{font-size:13.52px;line-height:21.632px}.container{width:88%;max-width:600px}.container.narrow{width:90%;max-width:600px}.space{height:var(--space-mobile,var(--space))}.site-header{min-height:51.6px;height:51.6px;padding:10.4px 10px 10px;display:flex;align-items:center;justify-content:space-between}.brand{position:static;width:187.2px}.brand img{width:187.2px;height:31.2px}.header-desktop{display:none}.menu-toggle{display:flex;width:32px;height:31.2px;padding:4px;border:0;background:transparent;flex-direction:column;justify-content:space-around}.menu-toggle span{display:block;width:24px;height:1px;background:#fff;transition:transform .15s}.menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(7.7px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7.7px) rotate(-45deg)}.mobile-menu:not([hidden]){display:grid;position:absolute;top:100%;left:0;right:0;z-index:50;background:#111;padding:12px 6% 24px;max-height:calc(100dvh - 115px);overflow-y:auto}.mobile-menu a{padding:11px 0;border-bottom:1px solid #444;font-size:14px}.hero{height:300px;padding:0;display:flex;align-items:center}.hero-art{right:0;left:auto}.hero #page-title{font-size:20.8px;line-height:33.28px}.hero-description{font-size:13.52px;line-height:21.632px;margin-top:10.4px}.hero-actions{flex-direction:column;gap:8px;margin-top:20px;width:200px}.hero .cta{width:200px;min-height:45px;font-size:16px;line-height:25.6px;padding-block:8px}.hero .desktop-cta{display:none}.hero .mobile-cta{display:flex}.hero-eyebrow{top:11px}.mobile-toc{display:block;background:#000;color:#fff;font-size:14px}.mobile-toc summary{padding:14px 6%;list-style:none;position:relative;min-height:50px}.mobile-toc summary::-webkit-details-marker{display:none}.mobile-toc summary::after{content:'＋';position:absolute;right:6%}.mobile-toc[open] summary::after{content:'－'}.mobile-toc nav{display:grid;padding:0 6% 16px}.mobile-toc a{padding:9px 0;border-top:1px solid #333}.breadcrumb{display:block;padding-block:10px;font-size:14px;line-height:22.4px;min-height:65px}.breadcrumb span[aria-hidden]{margin-inline:9px}.section{padding-block:41.6px}.decoration-left{width:270.4px;max-width:70%}.decoration-right{width:83.2px;max-width:22%}.section-heading{font-size:18.72px;line-height:29.952px}.block-heading{font-size:16.64px;line-height:26.624px}.copy-inset{width:100%}.procedure-block.divided{padding:15.6px 0;margin-top:15.6px}.procedure-block:not(.contains-diagram) .procedure-description{margin-bottom:10.4px}.diagram{width:90%;max-width:540px}.recommendation-list{width:100%}.recommendation-list li{font-size:16.64px;line-height:26.624px;padding-bottom:15.6px;gap:6.63px}.recommendation-list .icon{transform:scale(.78);transform-origin:top left;margin-right:-5.28px}.price-heading{font-size:18.72px;line-height:29.952px;margin-bottom:5.2px}.price-row{display:block}.treatment-name{padding:7.8px 0;font-size:14.56px;line-height:23.296px}.price-options{padding:7.8px 0 20.8px;gap:3px}.price-option{gap:7.8px}.price-label{padding:2px 5.2px;font-size:11.7px;line-height:18.72px}.amount{font-size:18.72px;line-height:21.632px}.amount span+span{font-size:13.52px}.price-category{font-size:14.56px;line-height:23.296px;padding:10.4px 0 7.8px}.detail-row{display:block}.detail-row dt{padding:7.8px 0}.detail-row dd{padding:7.8px 0 20.8px}.faq-item summary{padding:13px 35.1px 15px;min-height:50px;line-height:21.632px}.q-mark{top:13px;width:31.2px;height:31.2px;font-size:20.8px;line-height:24.96px}.faq-sign{right:2px;top:21px;width:16px}.faq-answer{padding:14px 0 22px}.access{display:block}.clinic-info{padding:40px 6%}.clinic-info address{font-size:13.52px;line-height:29.744px}.access iframe{height:70vw;max-height:450px}.footer-services{padding-block:15.6px 36.4px}.footer-category{display:block;padding:0;font-size:11.7px;line-height:18.72px}.footer-category h2{font-size:12.48px;line-height:19.968px;padding:7.8px 0 5px}.copyright{font-size:9.36px;line-height:14.976px;padding:11.7px 0 calc(54.6px + env(safe-area-inset-bottom,0px))}.booking-bar{padding:5px 3.4359% calc(4px + env(safe-area-inset-bottom,0px))}.booking-bar>p,.booking-phone{display:none}.booking-actions{gap:7.25px;align-items:stretch}.booking-actions .cta{min-width:0;flex:1;min-height:45px;padding:6px 4px;font-size:13px;line-height:25.6px}.booking-actions .desktop-cta{display:none}.booking-actions .mobile-cta{display:flex}.booking-actions .cta-line{background:linear-gradient(165.797deg,#b06d00 0%,#eec070 35.361%,#95660b 70.721%);color:#000}.desktop-label{display:none}.mobile-label{display:inline}.side-nav{display:none}
}
@media (max-width:360px){.hero #page-title{font-size:19px}.booking-actions .cta{gap:5px;font-size:12px}.price-label{font-size:10.7px}.amount{font-size:17px}.amount span+span{font-size:13px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
@media print{.booking-bar,.side-nav,.menu-toggle,.mobile-toc,.skip-link{display:none!important}.section{break-inside:auto}.diagram,.price-row,.faq-item{break-inside:avoid}.copyright{padding-bottom:20px}body{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

/* Preserve the original caption appearance while using it as the page h1. */
.hero .hero-eyebrow{margin:0;font-weight:400}
