@charset "UTF-8";:root{--ink:#15372e;--deep:#103c31;--paper:#f9faf6;--line:#d6ddd7;--accent:#cae1b2}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;font-size:16px;line-height:1.9}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #a1731d;outline-offset:6px}header{max-width:1440px;margin:auto;padding:28px 5%;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:14px;font-weight:700;letter-spacing:.06em}.brand small{display:block;font-weight:400;font-size:.75rem;letter-spacing:.1em}.mark{border:1px solid var(--ink);border-radius:50%;width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;font-family:serif;font-size:24px;flex-shrink:0}nav{display:flex;gap:32px;font-size:.875rem}nav a{border-bottom:1px solid transparent}nav a:hover{border-color:currentColor}.hero{max-width:1440px;margin:auto;display:grid;grid-template-columns:1.05fr 1fr;padding:20px 3% 72px 7%;gap:5%}.hero-copy{padding:45px 0 20px}.eyebrow{font-size:.875rem;letter-spacing:.16em;font-weight:600;margin:0 0 25px}h1,h2,.photo-note,.closing p{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:500}h1{font-size:clamp(2.3rem,3.8vw,3.7rem);line-height:1.65;letter-spacing:.035em;margin:0 0 26px}h1 em{font-style:normal;color:#4e7561}.intro{font-size:1rem;line-height:2.15;margin-bottom:30px}.button{display:inline-flex;align-items:center;gap:40px;background:var(--deep);color:white;border-radius:3px;padding:17px 25px;font-size:.9375rem}.button:hover{background:#245746}.button span{font-size:22px}.small-note{font-size:.8125rem;margin:12px 0;color:#58695f}.hero-visual{position:relative;min-height:660px;border-radius:160px 4px 4px 4px;overflow:hidden;background:#294e37}.hero-visual img{position:absolute;width:100%;height:100%;object-fit:cover}.hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 50%,#052b2299)}.photo-note{position:absolute;bottom:60px;left:40px;z-index:1;color:white;font-size:1.7rem;line-height:1.9;letter-spacing:.09em}.photo-index{position:absolute;bottom:24px;left:40px;z-index:1;color:#e9eee3;font-size:.75rem;letter-spacing:.19em}.section{padding:80px 7%;max-width:1440px;margin:auto}.feelings{border-top:1px solid var(--line)}.section-label{font-size:.75rem;letter-spacing:.18em;margin-bottom:36px;color:#58725f}.two-col{display:grid;grid-template-columns:1fr 1.2fr;gap:70px}h2{font-size:clamp(1.8rem,2.7vw,2.5rem);line-height:1.8;margin:0;letter-spacing:.04em}.worries p{position:relative;margin:0;padding:21px 0 23px 50px;border-bottom:1px solid var(--line);font-size:1.0625rem}.worries p:first-child{padding-top:0}.worries span{position:absolute;left:0;font-family:Georgia,serif;font-size:.875rem;color:#6c876c}.message{background:var(--deep);color:#f5f9f0;text-align:center;padding:85px 24px 75px}.message .eyebrow{color:#c6dcbb}.message h2{margin-bottom:28px}.message p:not(.eyebrow){line-height:2.3;margin:20px 0;color:#e2ebe1}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:46px}.section-heading p{color:#5e7166}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.steps article{border-top:1px solid #8da18f;padding-top:25px}.step-number{font-family:Georgia,serif;font-size:2.2rem;color:#7b9679}h3{font-size:1.2rem;margin:13px 0}.steps p{color:#57695e;line-height:2}.closing{border-top:1px solid var(--line);margin-top:65px;padding-top:45px;display:flex;gap:25px;align-items:center;justify-content:center}.closing p{font-size:1.5rem;margin:0}.closing strong{font-weight:500}footer{border-top:1px solid var(--line);padding:30px 5%;display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:.75rem}footer>span{font-size:.875rem}footer p{color:#63736a}.skip{position:absolute;left:15px;top:-100px;background:white;padding:10px;z-index:10}.skip:focus{top:15px}@media(max-width:800px){header{padding:20px 6%}.brand{font-size:.875rem}nav{display:none}.hero{grid-template-columns:1fr;padding:5px 6% 45px;gap:25px}.hero-copy{padding:25px 0 0}h1{font-size:clamp(1.85rem,6.8vw,3rem)}.hero-visual{min-height:420px;border-radius:100px 3px 3px 3px}.photo-note{font-size:1.4rem;left:28px;bottom:55px}.photo-index{left:28px}.section{padding:55px 6%}.two-col{grid-template-columns:1fr;gap:32px}.section-label{margin-bottom:22px}.message{padding:55px 6%;text-align:left}.message br{display:none}.message h2 br{display:block}.section-heading{display:block}.steps{grid-template-columns:1fr;gap:23px}.steps article{padding-top:16px}.steps p{margin-bottom:0}.step-number{font-size:1.7rem}.closing{justify-content:flex-start}.closing p{font-size:1.1rem}footer{display:block;padding:25px 6%}.button{gap:24px;padding:16px 20px}.eyebrow{letter-spacing:.06em}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.hero h1{font-size:clamp(2rem,3.2vw,3rem);line-height:1.6;margin-bottom:24px;letter-spacing:0}.hero-scene{font-size:1.125rem;line-height:2;margin:0 0 10px}.hero-quote{font-family:'Yu Mincho',serif;font-size:clamp(1.8rem,2.8vw,2.5rem);margin:0;color:#4e7561}.hero .intro{margin:14px 0 20px}.menu-name{font-size:1.25rem;font-weight:700;border-top:1px solid var(--line);padding-top:20px;margin-bottom:8px}.hero-meta{font-size:.875rem;margin:0 0 22px}.hero-copy{padding-top:25px}.hero-visual{min-height:730px}.worries .worry-note{padding-left:0;font-size:.9375rem;border:0}.message-inner{max-width:1060px;margin:auto}.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px;text-align:left;margin:45px auto;max-width:850px}.approach-grid>div{border-top:1px solid #739582;padding-top:20px}.approach-grid h3{font-weight:500;color:#d9eacb}.message .disclaimer{font-size:.875rem;color:#cadbcc}.story{border-bottom:1px solid var(--line)}.story p:first-child{margin-top:0}.signature{padding-top:20px}.signature strong{font-size:1.4rem;font-weight:500}.signature span{font-size:.875rem}.price{background:#edf2eb;max-width:none}.price>*{max-width:1150px;margin-left:auto;margin-right:auto}.price-intro{margin-top:24px;margin-bottom:35px}.price-intro p:last-child{font-size:.9375rem;color:#53675a}.price-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.price-grid article{background:var(--paper);border-top:3px solid var(--deep);padding:28px 34px}.price-grid h3{margin:0}.amount{font-family:Georgia,serif;font-size:3rem;line-height:1.4;margin:18px 0}.amount span{font-family:'Yu Gothic',sans-serif;font-size:.9375rem;margin-left:10px}.duration{margin:0;border-top:1px solid var(--line);padding-top:16px;font-size:.9375rem}.duration strong{font-size:1.125rem;padding-left:12px}.price-note{font-size:.875rem;margin-top:24px}.promise{margin-top:25px;font-size:1rem}.questions{margin-top:35px}details{border-bottom:1px solid var(--line)}summary{font-size:1.125rem;padding:24px 35px 24px 0;cursor:pointer;font-weight:600}summary::marker{color:#648368}summary:focus-visible{outline:3px solid #a1731d;outline-offset:4px}details>div{padding:0 0 22px 22px;max-width:960px;color:#4d6257}details p{margin:0 0 14px}.reservation{background:var(--deep);color:#f5f9f0;padding:70px 7%;text-align:center}.reservation .section-label{color:#c7d9b8}.phone{display:inline-block;font-family:Georgia,serif;font-size:clamp(2.3rem,5.5vw,4.5rem);line-height:1.4;letter-spacing:.02em;border-bottom:1px solid #b5cbb4;margin:6px 0 10px}.phone:hover{color:#c8e6a9}.reservation-badge{font-size:.875rem;letter-spacing:.06em}.clinic-info{max-width:820px;margin:45px auto 0;padding-top:35px;border-top:1px solid #6a8878;display:grid;grid-template-columns:1fr 1fr;gap:60px;text-align:left}.clinic-info h3{margin-top:0}.clinic-info p{font-size:.9375rem}dl{margin:0}dl>div{display:grid;grid-template-columns:70px 1fr;padding-bottom:14px;font-size:.9375rem}dd{margin:0}.area{font-size:.875rem;margin-top:36px;color:#d2dfc9}.mobile-call{display:none}@media(max-width:800px){.hero h1{font-size:clamp(1.8rem,7.5vw,3rem)}.hero-visual{min-height:360px}.hero-scene{font-size:1rem}.hero-quote{font-size:2rem}.hero .intro{font-size:1rem}.approach-grid{grid-template-columns:1fr;gap:24px;margin:30px 0}.price-grid{grid-template-columns:1fr;gap:18px}.price-grid article{padding:24px}.amount{font-size:2.7rem}.clinic-info{grid-template-columns:1fr;gap:25px}.reservation{padding:55px 6%}.mobile-call{position:fixed;bottom:0;left:0;right:0;background:#113a2f;color:white;display:flex;align-items:center;justify-content:center;gap:15px;padding:15px 10px calc(15px + env(safe-area-inset-bottom));z-index:5;border-top:1px solid #74957b;font-size:.9375rem}.mobile-call span{font-size:.8125rem}body{padding-bottom:75px}footer{padding-bottom:25px}details>div{padding-left:0}summary{font-size:1rem}h2{font-size:1.8rem}.price-intro br{display:none}.photo-note{font-size:1.35rem}}
.hero-visual{border-radius:100px 4px 4px 4px}.hero-visual img{object-position:center 35%}.hero-visual:after{background:linear-gradient(transparent 60%,#052b22cc)}.photo-index{letter-spacing:.04em;font-size:.875rem}.approach-grid{max-width:1060px;gap:35px}.treatment-photo{margin:0 0 24px}.treatment-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:3px}.treatment-photo figcaption{font-size:.875rem;color:#ceddcc;margin-top:8px}@media(max-width:800px){.hero-visual{min-height:0;aspect-ratio:2/3;border-radius:80px 3px 3px 3px}.hero-visual img{object-position:center}.photo-index{font-size:.8125rem}.approach-grid{gap:30px}}
.hero-visual{align-self:center;min-height:0;aspect-ratio:4/5;border-radius:65px 4px 4px 4px}.hero-visual img{object-position:54% center}.hero-visual .photo-note{font-size:1.4rem;left:25px;bottom:55px}.hero-visual .photo-index{left:25px}.representative-photo{display:block;width:240px;max-width:100%;height:auto;margin-top:28px;border-radius:3px}@media(max-width:800px){.hero-visual{width:100%;aspect-ratio:3/2;border-radius:35px 3px 3px 3px}.hero-visual .photo-note{font-size:1rem;left:18px;bottom:44px}.hero-visual .photo-index{left:18px;bottom:16px;font-size:.75rem}.representative-photo{width:220px}}
