:root{--ink:#2e3a32;--text:#3a3a3a;--paper:#f6f3ea;--moss:#7c8f6b;--line:#d9ddd8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:#fff;color:var(--text);font-family:'Noto Sans JP',sans-serif;font-size:16px;line-height:1.95;-webkit-font-smoothing:antialiased}a{color:inherit;text-underline-offset:5px}img{display:block;max-width:100%;height:auto}figure,p{margin:0 0 1.3em}figure{margin:0}h1,h2,h3{color:var(--ink);margin:0;font-weight:500}h1,h2{font-family:'Noto Serif JP',serif;line-height:1.6}h2{font-size:clamp(28px,3vw,42px);letter-spacing:.045em;margin-bottom:32px}h3{font-size:20px;line-height:1.7}p:last-child{margin-bottom:0}header{max-width:1480px;margin:auto;height:116px;padding:0 5%;display:flex;align-items:center;justify-content:space-between}header img{width:265px;filter:brightness(0) saturate(100%) invert(19%) sepia(12%) saturate(674%) hue-rotate(86deg)}nav{display:flex;gap:36px;font-size:13px}nav a{text-decoration:none;padding:12px 0;border-bottom:1px solid transparent}nav a:hover{border-color:var(--ink)}.skip{position:fixed;top:-100px;left:10px;background:#fff;padding:10px;z-index:100}.skip:focus{top:10px}.hero{max-width:1480px;margin:0 auto 64px;padding:28px 5% 0;display:grid;grid-template-columns:46% 54%;align-items:center}.hero-copy{padding:10px 30px 10px 0;z-index:1}.region{font-size:12px;letter-spacing:.05em;margin-bottom:24px}h1{font-size:clamp(36px,3.9vw,59px);letter-spacing:.015em;line-height:1.5;margin:0 0 25px}h1 span{display:block;font-size:.57em;line-height:1.75;margin-top:16px}.hero-lead{font-size:17px;font-weight:500;margin-bottom:12px}.hero-copy>p:not([class]){font-size:13px;line-height:2}.hero figure{align-self:stretch;padding-top:4px}.hero figure img{height:100%;max-height:690px;min-height:590px;width:100%;object-fit:cover;object-position:53% center}.hero figcaption{padding-top:12px}.cta{display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--ink);color:#fff;padding:19px 25px;text-decoration:none;font-size:15px;line-height:1.6;max-width:430px;min-height:62px;transition:background .18s}.cta:hover{background:#455647}.cta span:last-child{font-size:23px;line-height:1}.booking-meta{font-size:12px;margin:25px 0 12px;line-height:1.6}.booking-meta>span{display:block;margin-top:6px}.booking-meta strong{font-size:28px;font-weight:500;letter-spacing:.025em}.cta-note{font-size:11px;line-height:1.8;margin-top:10px!important;max-width:430px}.trust-strip{max-width:1330px;margin:0 auto;display:flex;justify-content:space-between;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:13px;letter-spacing:.04em}.section{max-width:1200px;margin:auto;padding:110px 0}.narrow{max-width:790px}.eyebrow{font-size:12px;font-weight:500;letter-spacing:.16em;color:#53684d;margin-bottom:20px;display:flex;align-items:center;gap:14px}.eyebrow:before{content:'';display:block;width:24px;height:1px;background:currentColor}.symptoms{padding:0;list-style:none;margin:32px 0}.symptoms li{padding:15px 0;border-bottom:1px solid var(--line);display:flex;gap:16px;align-items:baseline}.symptoms li:before{content:'—';color:var(--moss)}.medical{margin-top:38px;padding:24px 28px;background:var(--paper);border-left:2px solid var(--moss);font-size:13px;line-height:1.9}.medical h3{font-size:16px;margin-bottom:10px}.medical a{font-size:12px}.tint{background:var(--paper)}.split{display:grid;grid-template-columns:1.15fr 1fr;gap:90px;align-items:center}#approach{background:var(--ink);color:#f6f3ea}#approach h2,#approach .eyebrow{color:#f6f3ea}#approach .section{padding-top:90px;padding-bottom:90px}#approach .lead{font-family:'Noto Serif JP',serif;font-size:25px;line-height:1.9;margin-bottom:35px}#approach .split>div:last-child{padding-top:130px}figcaption{font-size:11px;line-height:1.7;margin-top:10px;color:#646d65}#approach figcaption{color:#d7ded6}.approach-photo{margin-top:38px}.approach-photo img{width:100%;aspect-ratio:1.5;object-fit:cover}.intro{margin-bottom:50px}.treatments{display:grid;grid-template-columns:1fr 1fr;gap:52px}.treatments article:nth-child(2){padding-top:0}.treatment-photo{margin-bottom:25px}.treatment-photo img{aspect-ratio:1.5;object-fit:cover}.treatments h3{font-family:'Noto Serif JP',serif;font-size:27px;margin-bottom:16px}.treatments h3 span{font-size:18px}.treatments article>p{max-width:490px;font-size:15px}.support{border-top:1px solid var(--line);padding-top:28px;margin-top:50px;display:grid;grid-template-columns:1fr 1.4fr;column-gap:30px}.support h3{font-size:16px;grid-row:span 2}.support p{font-size:14px;margin-bottom:8px}.reasons{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:50px}.reasons article{border-top:1px solid #c2cabc;padding-top:25px}.stat{font-family:'Noto Serif JP',serif;font-size:50px;color:var(--ink);line-height:1.4;margin-bottom:24px;min-height:70px}.stat span{font-size:19px}.stat.smaller{font-size:26px;display:flex;align-items:center}.reasons h3{font-size:16px;margin-bottom:12px}.reasons article>p:last-child{font-size:13px}.fine{font-size:11px;line-height:1.9;margin-top:28px}.staff-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-top:50px}.staff{display:grid;grid-template-columns:43% 1fr;gap:28px;align-items:center}.staff img{width:100%;aspect-ratio:2/3;object-fit:cover;object-position:50% 20%}.staff h3{font-family:'Noto Serif JP',serif;font-size:27px;letter-spacing:.1em}.role{font-size:12px;margin-bottom:8px}.qualification{font-size:12px;margin:10px 0 22px}.staff div>p:last-child{font-size:13px}.flow{counter-reset:steps;list-style:none;padding:0;margin:45px 0 0}.flow li{counter-increment:steps;position:relative;padding:25px 0 25px 72px;border-top:1px solid #cdd3c9}.flow li:before{content:'0' counter(steps);position:absolute;left:0;top:24px;font-family:'Noto Serif JP',serif;font-size:25px;color:#566950}.flow h3{font-size:18px;margin-bottom:8px}.flow p{font-size:14px}.price-box{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:40px 0;margin-top:40px}.price-box h3{font-size:22px}.price-box>p:first-child{font-size:13px;margin-bottom:10px}.price{font-family:'Noto Serif JP',serif;font-size:62px;color:var(--ink);line-height:1.5;margin:15px 0}.price span{font-family:'Noto Sans JP',sans-serif;font-size:17px}.price span:first-child{margin-right:25px}.price-box>p:not([class]){font-size:14px}.price-box .cta{margin-top:28px;max-width:none}.access-photo{margin-top:30px}.access-photo img{width:100%}address{font-style:normal;margin:22px 0}.outline{display:inline-flex;padding:15px 0;border-bottom:1px solid var(--ink);font-size:14px;text-decoration:none}details{border-bottom:1px solid var(--line)}summary{position:relative;cursor:pointer;list-style:none;padding:25px 48px 25px 0;font-size:15px;font-weight:500}summary::-webkit-details-marker{display:none}summary:after{content:'＋';position:absolute;right:8px;font-weight:400}details[open] summary:after{content:'−'}details p{padding:0 30px 24px 0;font-size:14px}.final{background:var(--ink);color:#fff;padding:85px 24px}.final>.narrow{margin:auto}.final h2,.final .eyebrow{color:#fff}.final .cta{background:var(--paper);color:var(--ink);max-width:none}.final .cta:hover{background:#e3e7df}.final .booking-meta{margin:30px 0 18px}.final .booking-meta>span{display:inline;margin-left:15px}footer{padding:60px max(5%,calc((100% - 1200px)/2)) 100px;font-size:12px}footer img{width:260px;margin-bottom:25px;filter:brightness(0) saturate(100%) invert(19%) sepia(12%) saturate(674%) hue-rotate(86deg)}footer p{margin-bottom:8px}footer small{display:block;margin-top:25px;color:#68726a}.sticky{position:fixed;z-index:20;bottom:20px;right:24px;background:#fff;border:1px solid var(--line);padding:12px;box-shadow:0 4px 30px #2e3a321c;display:flex;align-items:center;gap:24px}.sticky[hidden]{display:none}.sticky>p{font-size:11px;margin:0 0 0 10px;line-height:1.7}.sticky strong{display:block;font-size:15px;font-weight:500}.sticky small{font-size:10px}.sticky .cta{min-height:50px;font-size:13px;padding:12px 18px}.sticky .cta-note{display:none}:focus-visible{outline:3px solid #a57550;outline-offset:5px}
@media(min-width:1600px){.hero{padding-top:35px}}
@media(max-width:1350px){.section{margin-left:6%;margin-right:6%}.section.narrow{margin-left:auto;margin-right:auto}.trust-strip{margin-left:6%;margin-right:6%}.split{gap:55px}.staff-grid{gap:40px}.staff{gap:20px}.hero figure img{min-height:610px}}
@media(max-width:900px){header{height:90px}header img{width:220px}nav{gap:18px;font-size:12px}.hero{padding:15px 5% 0;grid-template-columns:1fr 1fr}.hero-copy{padding-right:20px}h1{font-size:36px}.hero-lead{font-size:15px}.hero figure img{min-height:620px}.section.narrow{margin-left:8%;margin-right:8%}.split{gap:35px}.reasons{grid-template-columns:1fr 1fr;gap:35px}.staff-grid{gap:35px}.staff{display:block}.staff img{max-height:360px;margin-bottom:25px}.section{padding-top:80px;padding-bottom:80px}.trust-strip{font-size:11px}.support{grid-template-columns:1fr}.support h3{margin-bottom:18px}}
@media(max-width:600px){body{font-size:15px;line-height:1.9}header{height:82px;padding:0 24px}header img{width:213px}nav a{display:none}nav a[href='#price']{display:block;font-size:12px;white-space:nowrap}.hero{display:flex;flex-direction:column;padding:12px 0 0;margin-bottom:34px;position:relative}.hero-copy{display:contents}.region{order:0;margin:0 24px 17px;align-self:flex-start;font-size:10px;letter-spacing:.015em}h1{order:1;align-self:flex-start;margin:0 24px 26px;font-size:36px;line-height:1.55;letter-spacing:0}h1 span{font-size:22px;margin-top:11px;line-height:1.65}h1 span br{display:none}.hero figure{order:2;align-self:auto;width:calc(100% - 24px);margin-left:24px;padding:0}.hero figure img{min-height:0;max-height:none;height:auto;aspect-ratio:1.3;object-position:52% center}.hero figcaption{font-size:10px;padding:0;margin-top:8px}.hero-lead{order:3;align-self:flex-start;margin:27px 24px 13px;font-size:17px}.hero-copy>p:not([class]){order:4;align-self:flex-start;margin:0 24px 20px;font-size:13px}.hero .booking-meta{order:5;width:calc(100% - 48px);margin:0 24px 15px;font-size:12px}.hero .booking-meta>span{display:inline-block;margin-left:12px}.hero .cta{order:6;width:calc(100% - 48px);max-width:none;margin:0 24px}.hero .cta-note{order:7;align-self:flex-start;margin:10px 24px 0!important;font-size:10px}.trust-strip{display:grid;grid-template-columns:1fr 1fr;margin:0 24px;padding:18px 0;gap:13px 10px;font-size:11px}.section,.section.narrow{margin:0 24px;padding:64px 0}h2{font-size:27px;line-height:1.7;letter-spacing:0;margin-bottom:25px}.eyebrow{font-size:11px;margin-bottom:20px}.symptoms{margin:24px 0}.symptoms li{font-size:14px;gap:10px}.medical{margin-top:28px;padding:20px;font-size:12px}.medical a{font-size:11px}.split{display:block}#approach .section{padding:60px 0}#approach .split>div:last-child{padding-top:32px}#approach .lead{font-size:21px;margin-bottom:22px}.approach-photo{margin-top:28px}.intro{font-size:14px;margin-bottom:32px}.treatments{display:block}.treatments article:nth-child(2){padding-top:42px}.treatments h3{font-size:23px;margin-bottom:12px}.treatments article>p{font-size:14px}.treatment-photo{margin-bottom:20px}.support{margin-top:35px;padding-top:24px}.support p{font-size:12px}.reasons{gap:30px 23px;margin-top:35px}.reasons article{padding-top:18px}.stat{font-size:40px;min-height:56px;margin-bottom:16px}.stat span{font-size:15px}.stat.smaller{font-size:19px}.reasons h3{font-size:14px}.reasons article>p:last-child{font-size:12px}.fine{font-size:10px}.staff-grid{display:block;margin-top:35px}.staff{display:grid;grid-template-columns:40% 1fr;gap:22px;margin-bottom:35px;align-items:start}.staff img{margin:0}.staff h3{font-size:22px}.qualification{font-size:10px;margin:8px 0 13px}.staff div>p:last-child{font-size:12px}.flow{margin-top:28px}.flow li{padding:22px 0 22px 48px}.flow li:before{font-size:20px}.flow h3{font-size:16px}.flow p{font-size:13px}.price-box{padding:28px 0;margin-top:30px}.price-box h3{font-size:20px}.price{font-size:49px}.price span{font-size:13px}.price span:first-child{margin-right:12px}.price-box>p:not([class]){font-size:13px}#access .split>div:last-child{margin-top:30px}address{font-size:14px}.outline{font-size:13px}summary{font-size:14px;padding:22px 34px 22px 0}details p{font-size:13px;padding-right:0}.final{padding:60px 24px}.final h2{font-size:26px}.final>div>p:not([class]){font-size:13px}.final .booking-meta>span{display:block;margin-left:0}.sticky{bottom:0;left:0;right:0;gap:12px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));justify-content:space-between;border-left:0;border-right:0}.sticky>p{margin-left:0;flex-shrink:0;font-size:10px}.sticky strong{font-size:13px}.sticky .cta{font-size:12px;padding:13px;gap:15px;flex:1;max-width:240px}.sticky .cta span:last-child{font-size:18px}footer{padding:45px 24px 125px}footer img{width:240px}footer p{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cta{transition:none}}
@media(max-width:600px){h1 span br{display:block}h1{font-size:clamp(30px,9.2vw,36px)}h1 span{font-size:21px}.hero .booking-meta>span{margin-left:0;display:block}}
@media(max-width:600px){#staff h2{max-width:13em;text-wrap:balance}}
@media(max-width:600px){h2{font-size:clamp(22px,6.15vw,26px);text-wrap:balance}.final h2{font-size:clamp(22px,6.15vw,26px)}}
/* Second review: reading size and intermediate widths. */
.hero-copy>p:not([class]){font-size:15px}.region{font-size:13px}.cta-note{font-size:12px}figcaption,.fine{font-size:12px}.staff div>p:last-child,.reasons article>p:last-child{font-size:14px}
@media(min-width:601px) and (max-width:1000px){.hero{grid-template-columns:1fr;max-width:760px;padding:24px 32px}.hero-copy{padding:0}.hero h1{font-size:44px}.hero h1 span br{display:none}.hero figure{margin-top:32px}.hero figure img{min-height:0;height:440px;max-height:none;object-position:center 55%}.hero .cta,.hero .line-consult{max-width:none}.hero .booking-meta>span{display:inline-block;margin-left:14px}.split{grid-template-columns:1fr}#approach .split>div:last-child{padding-top:0}.staff-grid{gap:40px}.trust-strip{flex-wrap:wrap;gap:15px 30px}}
@media(max-width:600px){.hero .booking-meta{order:3;margin-top:20px;margin-bottom:12px}.hero .cta{order:4}.hero .cta-note{order:5}.hero .hero-lead{order:6;margin-top:25px}.hero-copy>p:not([class]){order:7;font-size:14px}.hero figure img{aspect-ratio:1.5}.hero figcaption{font-size:11px}.hero .booking-meta>span{display:inline-block;margin-left:10px}.hero .cta-note{font-size:11px}.region{font-size:11px}.staff div>p:last-child,.reasons article>p:last-child{font-size:13px}.qualification{font-size:11px}.fine{font-size:11px}.medical{font-size:13px}.hero .booking-meta strong{font-size:25px}}

/* Shared SHINBO line icons: original SVG, 32-unit grid, 1.5 stroke. */
.ui-icon{display:inline-block;flex:none;color:currentColor;vertical-align:middle}.welcome-photo{margin:32px 0}.welcome-photo img,.reception-photo img{width:100%;height:auto;aspect-ratio:1.8;object-fit:cover}.flow h3{display:flex;gap:14px;align-items:center}.flow .ui-icon{color:#53684d;width:25px;height:25px}.outline{gap:10px;align-items:center}.outline .ui-icon{width:22px;height:22px}
@media(max-width:600px){.flow h3{gap:10px}.flow .ui-icon{width:23px;height:23px}.welcome-photo img{aspect-ratio:1.5}.flow li{padding-left:38px}}

/* Visit information: verified with the clinic on 2026-09-16. */
.opening-hours{margin:24px 0 14px}.opening-hours table{width:100%;border-collapse:collapse;font-size:15px;font-variant-numeric:tabular-nums}.opening-hours caption{text-align:left;color:var(--ink);font-size:17px;font-weight:500;padding-bottom:12px}.opening-hours caption span{font-size:13px;font-weight:400;margin-left:18px}.opening-hours th,.opening-hours td{text-align:left;padding:8px 0;vertical-align:top}.opening-hours th{font-weight:400;width:48%}.opening-hours td{white-space:nowrap}.hours-note{font-size:13px;line-height:1.9;margin:12px 0 0}.hours-note+.hours-note{margin-top:5px}

/* Secondary CTA: consultation, visually subordinate to Square booking. */
.line-consult{display:flex;align-items:center;justify-content:center;max-width:430px;min-height:48px;margin-top:16px;padding:12px 20px;border:1px solid #8c988f;background:transparent;color:var(--ink);font-size:14px;line-height:1.8;text-decoration:none}.line-consult:hover{background:var(--paper);border-color:var(--ink)}.price-box .line-consult,.final .line-consult{max-width:none}.final .line-consult{color:var(--paper);border-color:#a8b2a8}.final .line-consult:hover{background:#405044}@media(max-width:600px){.hero .line-consult{order:5;margin:14px 24px 0;align-self:stretch;max-width:none;font-size:13px}}

/* CTA icons: original calendar + unmodified official LINE brand asset. */
.cta .cta-label{display:flex;align-items:center;gap:10px;min-width:0}.booking-icon{width:24px;height:24px;flex:none}.line-consult{gap:12px;min-height:48px}.sticky .booking-icon{width:20px;height:20px}.sticky .cta-label{gap:8px}@media(max-width:600px){.hero .cta-label{gap:8px}.booking-icon{width:22px;height:22px}.sticky .cta{gap:8px}.sticky .cta-label{gap:6px}}
