:root{--ink:#143f3b;--text:#263b37;--muted:#566962;--paper:#fff;--tint:#f1f5ef;--line:#d5dfd8;--accent:#175c4e;--soft:#e4ede2;--max:1184px;--r:16px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:132px}body{margin:0;background:var(--paper);color:var(--text);font-family:Arial,'Hiragino Kaku Gothic ProN','Noto Sans CJK JP','Noto Sans CJK SC','Noto Sans CJK KR',sans-serif;line-height:1.7;-webkit-font-smoothing:antialiased}button,a,summary,select{-webkit-tap-highlight-color:transparent}button,select{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #a45124;outline-offset:5px}p,h1,h2,h3,figure{margin:0}h1,h2,h3{color:var(--ink)}p{white-space:pre-line}h1{font-size:clamp(38px,4.8vw,68px);letter-spacing:-.052em;line-height:1.13;font-weight:500}h1 em{font-style:normal;color:var(--accent)}h2{font-size:clamp(28px,3vw,42px);line-height:1.35;letter-spacing:-.03em;font-weight:500}h3{font-size:22px;line-height:1.4;font-weight:600}.wrap{max-width:var(--max);margin:auto;padding:0 32px}.skip{position:fixed;left:16px;top:-120px;padding:14px;background:white;z-index:100}.skip:focus{top:10px}.preview-banner{font-size:12px;line-height:1.5;background:#e9ede7;color:#364b42;text-align:center;padding:9px 16px;letter-spacing:.015em}.header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line)}.header-inner{display:flex;gap:24px;align-items:center;min-height:86px}.logo{display:inline-flex;align-items:baseline;gap:8px;white-space:nowrap;color:var(--ink)}.logo strong{font-size:29px;letter-spacing:-.045em;font-weight:750}.logo span{font-size:10px;letter-spacing:.18em}.nav{display:flex;gap:25px;align-items:center;margin-left:auto;font-size:13px;font-weight:600}.nav a{padding:12px 0}.nav a:hover{color:var(--accent);text-decoration:underline;text-underline-offset:6px}.language-switch{display:flex;gap:4px;align-items:center;border-left:1px solid var(--line);padding-left:16px}.lang{display:inline-flex;align-items:center;justify-content:center;min-height:40px;min-width:35px;padding:4px 7px;border:0;border-radius:5px;background:transparent;color:var(--muted);font-size:12px}.lang:hover{background:var(--tint)}.lang[aria-current=true]{color:var(--ink);font-weight:700;background:var(--soft)}.menu-btn{display:none;border:1px solid var(--line);background:white;padding:6px 12px;border-radius:6px;min-height:40px;color:var(--ink)}.eyebrow{display:block;font-size:11px;letter-spacing:.18em;font-weight:700;color:var(--accent);margin-bottom:22px}.hero{padding:75px 0 65px}.hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:72px;align-items:center}.hero .lead{max-width:510px;font-size:16px;line-height:1.85;margin:26px 0 30px;color:var(--muted)}.buttons{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:52px;padding:12px 24px;border:1px solid var(--accent);border-radius:7px;background:var(--accent);color:white;font-size:14px;font-weight:600;line-height:1.5;text-align:center;transition:background .16s,transform .16s}.btn:hover{background:#103f35;transform:translateY(-1px)}.btn-outline{background:transparent;color:var(--ink);border-color:#a8bcb0}.btn-outline:hover{background:var(--tint)}.hero-note{font-size:12px;color:var(--muted);margin-top:20px;max-width:450px}.index-card{padding:38px 34px 28px;border-radius:120px 18px 18px 18px;background:var(--tint);border:1px solid #e3e9e2;min-height:446px;display:flex;flex-direction:column;justify-content:space-between}.index-heading{font-size:10px;letter-spacing:.14em;color:var(--muted);text-align:right;margin-bottom:24px}.index-row{display:grid;grid-template-columns:42px 1fr 24px;gap:16px;align-items:start;padding:24px 0;border-top:1px solid #c8d7cb}.index-num{font-size:12px;letter-spacing:.07em;color:var(--muted);padding-top:4px}.index-name{font-size:23px;line-height:1.3;letter-spacing:-.035em;color:var(--ink)}.index-en{display:block;font-size:9px;letter-spacing:.13em;color:var(--muted);margin-top:8px}.index-arrow{font-size:22px}.index-bottom{font-size:11px;color:var(--muted);padding-top:22px}.index-row:hover .index-name{text-decoration:underline;text-underline-offset:4px}.section{padding:80px 0;scroll-margin-top:10px}.section-line{border-top:1px solid var(--line)}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:48px;margin-bottom:36px}.section-head>div{max-width:700px}.section-intro{font-size:15px;color:var(--muted);max-width:360px}.section-head .eyebrow{margin-bottom:14px}.treatment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.treatment-card{padding:28px;border:1px solid var(--line);border-radius:var(--r);display:flex;flex-direction:column;gap:18px;scroll-margin-top:120px}.card-number{font-size:12px;font-weight:600;color:var(--muted)}.treatment-card .card-en{font-size:9px;letter-spacing:.12em;color:var(--muted)}.treatment-card h3{margin:9px 0 0}.treatment-card>p{color:var(--muted);font-size:14px;min-height:50px}.treatment-card details{border-top:1px solid var(--line);padding-top:16px;margin-top:auto}.treatment-card summary{font-size:12px;font-weight:600;color:var(--ink);list-style:none;display:flex;gap:12px;justify-content:space-between;cursor:pointer}.treatment-card summary:after{content:'+';font-size:18px;font-weight:400}.treatment-card details[open] summary:after{content:'−'}.treatment-card details p{font-size:13px;color:var(--muted);margin-top:14px}.approach{background:var(--tint)}.approach-grid{display:grid;grid-template-columns:1fr 1.18fr;gap:96px}.approach h2{white-space:pre-line;max-width:430px}.principle{display:grid;grid-template-columns:30px 1fr;gap:16px;padding:22px 0;border-top:1px solid #cbd7cd}.principle:first-child{padding-top:0;border-top:none}.principle-num{font-size:11px;color:var(--muted);padding-top:5px}.principle h3{font-size:19px;margin-bottom:10px}.principle p{font-size:14px;color:var(--muted)}.price-intro{margin:16px 0 26px;font-size:14px;max-width:820px;color:var(--muted)}.price-table{width:100%;border-collapse:collapse}.price-table th{font-size:11px;text-align:left;color:var(--muted);background:var(--tint);padding:14px 18px;font-weight:600}.price-table td{padding:22px 18px;border-bottom:1px solid var(--line);vertical-align:top;font-size:14px}.price-table td:first-child{width:39%;font-weight:600}.price-table td:nth-child(2){width:30%;color:var(--muted)}.price-table td:last-child{width:31%}.price-table .amount{display:block;font-size:26px;line-height:1.4;color:var(--ink);font-variant-numeric:tabular-nums}.price-table .pending{font-size:14px;font-weight:500}.condition{display:block;font-size:11px;color:var(--muted);margin-top:5px;line-height:1.6}.price-foot{display:flex;justify-content:space-between;align-items:center;gap:26px;margin-top:20px;font-size:11px;color:var(--muted)}.text-link{color:var(--ink);text-decoration:underline;text-underline-offset:4px;font-weight:600;font-size:12px;line-height:1.7}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:34px}.step{border-top:1px solid var(--line);padding-top:26px}.step-number{font-size:12px;color:var(--muted);margin-bottom:18px}.step h3{font-size:20px;margin-bottom:12px}.step p{font-size:14px;color:var(--muted)}.clinic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:34px 0 24px}.clinic-card{border-top:2px solid var(--accent);padding-top:22px;display:flex;flex-direction:column;align-items:flex-start}.clinic-card h3{margin-bottom:10px}.clinic-card p{font-size:13px;color:var(--muted);margin-bottom:22px;min-height:44px}.clinic-card a{margin-top:auto}.hours{font-size:12px;color:var(--muted);margin-top:18px}.notice{padding:18px 22px;border:1px solid #cedace;background:var(--tint);border-radius:8px;font-size:13px;color:var(--text);line-height:1.8;margin-top:22px}.faq-grid{display:grid;grid-template-columns:.9fr 1.25fr;gap:70px}.faqs details{padding:22px 0;border-bottom:1px solid var(--line)}.faqs details:first-child{padding-top:0}.faqs summary{list-style:none;display:flex;justify-content:space-between;gap:20px;font-size:16px;font-weight:500;color:var(--ink);cursor:pointer}.faqs summary:after{content:'+';font-size:20px;flex-shrink:0}.faqs details[open] summary:after{content:'−'}.faqs p{font-size:14px;color:var(--muted);margin-top:16px}summary::-webkit-details-marker{display:none}.final-cta{background:var(--ink);color:white;padding:62px 48px;border-radius:var(--r);display:flex;justify-content:space-between;gap:42px;align-items:center}.final-cta h2{color:white;font-size:32px}.final-cta p{color:#d2e1d7;font-size:14px;margin-top:14px;max-width:630px}.final-cta .btn{background:#f2f5ee;border-color:#f2f5ee;color:var(--ink);flex-shrink:0}.footer{margin-top:68px;padding-bottom:28px}.medical{border-top:1px solid var(--line);padding-top:26px;margin-bottom:30px}.medical h3{font-size:13px;font-weight:600;margin-bottom:10px}.medical p{font-size:12px;color:var(--muted);line-height:1.9;max-width:970px}.footer-bottom{display:flex;justify-content:space-between;gap:30px;align-items:center;font-size:11px;color:var(--muted)}.footer-bottom .logo strong{font-size:22px}.mobile-bar{display:none}dialog{max-width:560px;width:calc(100% - 32px);border:1px solid var(--line);border-radius:18px;padding:34px;color:var(--text);box-shadow:0 25px 80px #123b3030}dialog::backdrop{background:rgba(15,40,33,.50)}dialog h2{font-size:26px;padding-right:25px;margin-bottom:20px}dialog p{font-size:14px;margin:14px 0;color:var(--muted)}dialog .notice{font-size:13px;margin:20px 0}dialog .btn{width:100%;margin-top:4px}dialog .dialog-close{border:0;background:transparent;padding:12px;width:100%;color:var(--ink);font-size:13px;margin-top:8px}.close-x{position:absolute;top:15px;right:15px;border:0;background:var(--tint);width:36px;height:36px;border-radius:50%;font-size:23px;color:var(--ink)}.dialog-active{overflow:hidden}html[lang=ja] h1{font-size:clamp(35px,3.8vw,54px);line-height:1.5;letter-spacing:-.035em}html[lang=zh-Hans] h1{font-size:clamp(36px,3.8vw,54px);line-height:1.45}html[lang=ko] h1{font-size:clamp(36px,4.1vw,60px);line-height:1.4}html[lang=ko] h1,html[lang=ko] h2,html[lang=ko] h3,html[lang=ko] p{word-break:keep-all;overflow-wrap:anywhere}.noscript{display:block;padding:20px;background:#fff8ef}
@media(min-width:1440px){.hero{padding-top:90px;padding-bottom:82px}}@media(max-width:1100px){.header-inner{gap:16px}.nav{gap:16px}.language-switch{padding-left:12px}.hero-grid{gap:36px}.index-card{padding:30px 26px}.index-name{font-size:21px}.approach-grid{gap:48px}.faq-grid{gap:40px}}@media(max-width:900px){.header-inner{min-height:72px;flex-wrap:wrap;gap:14px}.nav{display:none;order:5;width:100%;padding:0 0 16px;justify-content:space-around;margin-left:0;gap:12px}.header.menu-open .nav{display:flex}.language-switch{margin-left:auto;border-left:none;padding-left:0}.menu-btn{display:block;font-size:11px}.hero-grid{grid-template-columns:1fr 1fr;gap:28px}.index-card{min-height:390px;padding:28px 22px;border-top-left-radius:90px}.index-row{gap:10px;grid-template-columns:26px 1fr 18px}.index-name{font-size:19px}.treatment-card{padding:20px}.section-head{gap:28px}.section-intro{max-width:300px}.approach-grid{grid-template-columns:.9fr 1fr;gap:35px}}@media(max-width:700px){html{scroll-padding-top:110px}.wrap{padding:0 22px}.preview-banner{font-size:10px;padding:8px 18px;line-height:1.6}.header-inner{min-height:66px;gap:8px}.logo strong{font-size:25px}.logo span{font-size:8px;letter-spacing:.12em}.logo{gap:6px}.language-switch{gap:0}.lang{font-size:10px;padding:4px 6px;min-width:30px;min-height:38px}.menu-btn{padding:4px 8px;font-size:10px;min-height:36px}.nav{font-size:12px}.hero{padding:42px 0 44px}.hero-grid{grid-template-columns:1fr;gap:34px}h1{font-size:50px;line-height:1.1;letter-spacing:-.046em}html[lang=ja] h1{font-size:38px;line-height:1.45}html[lang=zh-Hans] h1{font-size:40px;line-height:1.4}html[lang=ko] h1{font-size:42px;line-height:1.35}.eyebrow{font-size:10px;margin-bottom:20px}.hero .lead{font-size:14px;line-height:1.85;margin:22px 0 24px}.hero-note{font-size:11px;margin-top:17px}.btn{font-size:12px;padding:12px 18px;min-height:50px}.buttons{gap:10px}.index-card{border-radius:62px 12px 12px 12px;min-height:auto;padding:26px 25px 22px}.index-heading{font-size:9px;margin-bottom:16px}.index-row{padding:18px 0;grid-template-columns:30px 1fr 24px;gap:12px}.index-name{font-size:20px}.index-en{font-size:8px;margin-top:5px}.index-bottom{font-size:10px;padding-top:14px}.section{padding:50px 0}.section-head{display:block;margin-bottom:26px}.section-intro{margin-top:18px;max-width:none;font-size:14px}h2{font-size:28px}.treatment-grid{grid-template-columns:1fr;gap:14px}.treatment-card{padding:24px;gap:12px}.treatment-card>p{min-height:unset;margin-bottom:8px}.treatment-card h3{font-size:22px}.treatment-card .card-en{font-size:9px}.approach-grid{grid-template-columns:1fr;gap:30px}.principle{padding:20px 0}.principle h3{font-size:18px}.principle p{font-size:14px}.price-intro{font-size:13px}.price-table thead{display:none}.price-table tr{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;border-bottom:1px solid var(--line);padding:22px 0}.price-table td{border:0;padding:0;width:auto!important;font-size:13px}.price-table td:first-child{grid-column:1/-1;font-size:14px}.price-table td:nth-child(2){grid-column:1;grid-row:2}.price-table td:last-child{grid-column:2;grid-row:2;text-align:right}.price-table .amount{font-size:24px}.price-table .pending{font-size:13px}.condition{font-size:10px}.price-foot{display:block;font-size:11px}.price-foot a{display:inline-block;margin-top:14px}.steps{grid-template-columns:1fr;gap:28px;margin-top:26px}.step{padding-top:18px}.step-number{margin-bottom:10px}.step h3{font-size:19px}.clinic-grid{grid-template-columns:1fr;gap:28px;margin-top:28px}.clinic-card{padding-top:18px}.clinic-card p{min-height:0;margin-bottom:12px}.clinic-card h3{font-size:23px;margin-bottom:9px}.hours{font-size:11px}.notice{font-size:12px;padding:16px 18px}.faq-grid{grid-template-columns:1fr;gap:28px}.faqs summary{font-size:15px}.faqs p{font-size:13px}.final-cta{display:block;padding:34px 25px}.final-cta h2{font-size:26px}.final-cta p{font-size:13px}.final-cta .btn{margin-top:24px;width:100%}.footer{margin-top:46px;padding-bottom:115px}.footer-bottom{align-items:flex-start;flex-direction:column;gap:16px}.medical{padding-top:20px}.medical p{font-size:11px}.mobile-bar{display:flex;position:fixed;bottom:0;left:0;right:0;background:rgba(255,255,255,.98);padding:11px 20px calc(11px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);gap:10px;z-index:40}.mobile-bar .btn{flex:1;min-height:47px;font-size:12px;padding:9px 14px}.mobile-bar .btn-outline{flex:.75}dialog{padding:28px 22px;max-height:85vh;overflow-y:auto}dialog h2{font-size:23px}dialog p{font-size:13px}dialog .btn{font-size:12px}.dialog-active .mobile-bar{visibility:hidden}}@media(max-width:360px){.wrap{padding:0 16px}.logo span{display:none}.header-inner{gap:5px}.language-switch{margin-left:auto}.lang{min-width:29px;font-size:10px}.hero h1{font-size:44px}html[lang=ja] h1{font-size:34px}html[lang=zh-Hans] h1{font-size:34px}html[lang=ko] h1{font-size:37px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

@media(max-width:700px){.menu-btn{padding:2px;min-width:30px;min-height:36px;font-size:18px;line-height:1}.language-switch .lang{font-size:9px;min-width:26px;padding:4px 5px}}
/* v2: multi-page layouts, readable clinical details, shared price tables. */
[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}main:focus{outline:none}a[aria-current=page]{text-decoration:underline;text-underline-offset:6px}.breadcrumb{display:flex;align-items:center;gap:12px;padding-top:27px;font-size:12px;color:var(--muted);flex-wrap:wrap}.breadcrumb a{text-decoration:underline;text-underline-offset:4px}.detail-hero{padding-top:40px;padding-bottom:54px}.detail-hero h1{font-size:clamp(38px,4.35vw,62px);line-height:1.13}.detail-hero .hero-grid{grid-template-columns:1.22fr .85fr;gap:80px}.treatment-kicker{font-size:17px;font-weight:600;color:var(--accent);margin:0 0 16px}.detail-hero .hero-grid .buttons .btn:nth-child(2){background:white;color:var(--ink);border-color:#a8bcb0}.treatment-panel{background:var(--tint);border:1px solid var(--line);border-radius:84px 14px 14px 14px;padding:34px 30px 25px;min-width:0}.panel-top{display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid #cbd7cd;padding-bottom:30px}.panel-top>span{font-size:75px;font-weight:400;letter-spacing:-.07em;line-height:1;color:var(--accent)}.panel-top>p{font-size:17px;font-weight:600;text-align:right}.panel-steps{padding-top:8px}.plan-preview{display:grid;grid-template-columns:26px 1fr;gap:15px;padding:20px 0;border-bottom:1px solid #d2ddd3}.plan-preview>span{font-size:11px;padding-top:4px;color:var(--muted)}.plan-preview>p{font-size:15px;font-weight:500}.panel-end{margin-top:24px;font-size:13px;color:var(--muted)}.page-jump{border-block:1px solid var(--line);background:#fafbf9}.jump-inner{display:flex;gap:30px;align-items:center;flex-wrap:wrap}.jump-inner a{font-size:13px;padding:16px 0;display:inline-flex;align-items:center;min-height:48px}.jump-inner a:hover{text-decoration:underline;text-underline-offset:5px}.reading-grid{display:grid;grid-template-columns:.65fr 1.35fr;gap:52px}.reading-grid .eyebrow{padding-top:10px}.body-lead{font-size:17px;line-height:1.9;color:var(--muted);margin-top:24px;max-width:780px}.tint-section{background:var(--tint)}.concern-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.concern-chip{border-top:1px solid #b9cbbb;padding:24px 0 4px;font-size:17px;color:var(--ink)}.section-actions{margin-top:30px}.card-link{border-top:1px solid var(--line);padding-top:18px;margin-top:auto;font-size:14px;font-weight:600;text-underline-offset:5px}.card-link:hover{text-decoration:underline}.related-grid{margin-top:28px;grid-template-columns:repeat(2,1fr)}.treatment-card p{min-height:unset}.price-table th{font-size:13px}.price-table td{font-size:15px}.condition{font-size:13px;line-height:1.7}.price-intro{font-size:15px;line-height:1.8}.price-foot{align-items:flex-start;font-size:13px;line-height:1.8}.price-foot .text-link{font-size:13px;max-width:310px}.fee-block{margin-top:44px;padding:28px 30px;background:var(--tint);border-radius:10px}.fee-block>p{font-size:14px;color:var(--muted);margin:14px 0}.fee-list{margin:22px 0 0;padding:0}.fee-row{display:flex;justify-content:space-between;gap:26px;padding:14px 0;border-bottom:1px solid #d0dbd1;font-size:14px;align-items:baseline}.fee-row dt{font-weight:400}.fee-row dd{margin:0;font-size:20px;white-space:nowrap;color:var(--ink);font-variant-numeric:tabular-nums}.fee-block .note{margin-top:25px;line-height:1.9}.medical-section{background:#f6f7f4;border-block:1px solid var(--line)}.risk-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:44px;margin-top:32px;align-items:start}.risk-text{font-size:16px;line-height:1.9}.risk-before{font-size:14px;line-height:1.9;color:var(--muted);margin-top:22px}.urgent-box{background:#fffaf2;border:1px solid #e1d2b7;border-left:3px solid #8c652d;border-radius:7px;padding:24px}.urgent-box h3{font-size:18px;color:#644b28;margin-bottom:12px}.urgent-box p{font-size:15px;color:#594a35;line-height:1.85}.approval-block{margin-top:30px;border-top:1px solid var(--line);padding-top:24px}.approval-block summary{font-size:16px;font-weight:600;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px}.approval-block summary:after{content:'+'}.approval-block[open] summary:after{content:'−'}.approval-block p{font-size:14px;line-height:1.9;color:var(--muted);margin-top:15px}.source-block{border-top:1px solid var(--line);margin-top:25px;padding-top:20px}.source-block h3{font-size:14px}.source-block p{font-size:13px;margin:12px 0;color:var(--muted)}.source-block a{font-size:13px;display:inline-block;margin-right:18px}.end-section{padding-top:12px}.simple-hero{padding-top:40px;padding-bottom:45px}.simple-hero h1{max-width:880px;white-space:pre-line}.simple-hero .lead{max-width:750px}.price-filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:25px}.filter-btn{font-size:14px;padding:12px 20px;min-height:48px;border:1px solid var(--line);border-radius:7px;background:white;color:var(--ink)}.filter-btn[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:white}.filter-status{font-size:13px;color:var(--muted);margin:16px 0}.clinic-detail{display:grid;grid-template-columns:.85fr 1.15fr;gap:65px;padding:42px 0;border-top:1px solid var(--line);scroll-margin-top:130px}.clinic-detail:first-child{border-top:0;padding-top:0}.clinic-identity h2{font-size:34px}.clinic-identity .station{font-size:17px;color:var(--ink);margin:20px 0 16px}.clinic-identity>p:not(.station){font-size:14px;color:var(--muted)}.clinic-data dl{margin:0 0 25px}.clinic-data dl>div{display:grid;grid-template-columns:110px 1fr;gap:20px;padding:12px 0}.clinic-data dt{color:var(--muted);font-size:13px}.clinic-data dd{margin:0;font-size:15px}.clinic-data .text-link{font-size:13px}.booking-section{background:var(--tint)}.booking-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:start}.booking-grid .body-lead{font-size:16px;margin-bottom:28px}.booking-grid .btn{font-size:14px}.privacy-note{font-size:13px;color:var(--muted);line-height:1.8;margin-top:24px}.booking-aside{padding:28px;background:white;border:1px solid var(--line);border-radius:12px}.booking-aside h3{font-size:20px}.booking-aside p{font-size:14px;line-height:1.85;color:var(--muted);margin-top:18px}.booking-aside .text-link{display:inline-block;margin-top:22px;font-size:14px}.footer-links{display:flex;gap:16px 24px;flex-wrap:wrap;font-size:13px;margin-bottom:25px}.footer-links a{padding:8px 0}.footer-links a:hover{text-decoration:underline;text-underline-offset:5px}.medical p{font-size:13px}.faqs p{font-size:15px}.faqs summary{font-size:17px}.lang{min-height:44px}.price-table td:first-child{overflow-wrap:anywhere}.footer-bottom{font-size:12px}
html[lang=ja] .detail-hero h1{font-size:clamp(32px,3.6vw,48px);line-height:1.45}html[lang=zh-Hans] .detail-hero h1{font-size:clamp(34px,3.9vw,51px);line-height:1.45}html[lang=ko] .detail-hero h1{font-size:clamp(34px,3.8vw,50px);line-height:1.4}
@media(max-width:1100px){.detail-hero .hero-grid{gap:38px}.treatment-panel{padding:28px 24px}.panel-top>span{font-size:60px}.panel-top{gap:20px}.jump-inner{gap:22px}.nav{gap:16px;font-size:12px}.reading-grid{gap:30px}.clinic-detail{gap:36px}}
@media(max-width:900px){.concern-grid{grid-template-columns:repeat(2,1fr)}.risk-grid{gap:25px}.booking-grid{gap:30px}.clinic-detail{grid-template-columns:1fr 1.3fr;gap:26px}.clinic-data dl>div{grid-template-columns:85px 1fr}.detail-hero .hero-grid{grid-template-columns:1.2fr .85fr;gap:28px}.panel-top{display:block}.panel-top>p{text-align:left;margin-top:24px}.plan-preview{gap:9px}}
@media(max-width:700px){.breadcrumb{padding-top:20px;font-size:12px;gap:9px}.detail-hero{padding-top:26px;padding-bottom:34px}.detail-hero .hero-grid{grid-template-columns:1fr;gap:32px}.detail-hero h1{font-size:46px}.detail-hero .lead{font-size:16px}.detail-hero .eyebrow{font-size:10px;line-height:1.8}.treatment-kicker{font-size:16px}.treatment-panel{border-radius:55px 12px 12px 12px;padding:24px}.panel-top{display:flex;padding-bottom:23px;align-items:center}.panel-top>p{text-align:right;margin:0;font-size:16px}.panel-top>span{font-size:58px}.plan-preview{padding:15px 0;grid-template-columns:23px 1fr;gap:10px}.plan-preview>p{font-size:15px}.panel-end{font-size:13px}.jump-inner{gap:0;display:grid;grid-template-columns:repeat(2,1fr)}.jump-inner a{font-size:13px;padding:13px 8px 13px 0;min-height:44px}.reading-grid{grid-template-columns:1fr;gap:10px}.reading-grid .eyebrow{padding-top:0;margin-bottom:10px}.body-lead{font-size:16px;line-height:1.9;margin-top:20px}.concern-grid{gap:15px 22px}.concern-chip{font-size:16px;padding:20px 0 2px}.tint-section .section-intro{font-size:15px}.steps .step p{font-size:15px}.related-grid{grid-template-columns:1fr}.treatment-card>p{font-size:15px}.price-table .condition{font-size:12px}.price-intro{font-size:15px}.price-table td{font-size:14px}.price-table td:first-child{font-size:15px}.price-table .pending{font-size:14px}.price-foot{font-size:13px}.price-foot .text-link{font-size:13px}.notice{font-size:14px;padding:18px}.fee-block{padding:24px 20px;margin-top:30px}.fee-row{font-size:14px;gap:16px}.fee-row dd{font-size:18px}.fee-row dt{max-width:75%}.fee-block .note{font-size:14px}.risk-grid{grid-template-columns:1fr;gap:24px}.risk-text{font-size:16px}.risk-before{font-size:14px}.urgent-box{padding:22px}.urgent-box p{font-size:15px}.source-block a{font-size:12px}.simple-hero{padding-top:28px;padding-bottom:35px}.simple-hero .lead{font-size:16px}.simple-hero h1{font-size:44px}.filter-btn{font-size:13px;padding:12px 15px}.filter-status{font-size:13px}.clinic-detail{grid-template-columns:1fr;gap:22px;scroll-margin-top:160px}.clinic-identity h2{font-size:30px}.clinic-data dl>div{grid-template-columns:76px 1fr;gap:16px}.clinic-data dd{font-size:14px}.clinic-detail .buttons{gap:20px}.booking-grid{grid-template-columns:1fr;gap:30px}.booking-grid .body-lead{font-size:16px}.booking-grid .btn{width:100%;font-size:14px}.booking-aside{padding:24px}.privacy-note{font-size:13px}.medical p{font-size:13px}.footer-links{gap:10px 20px;font-size:13px}.faqs summary{font-size:16px}.faqs p{font-size:15px}.btn,.mobile-bar .btn{font-size:14px;min-height:48px}.hero .lead{font-size:16px}.hero-note{font-size:13px}.hero-grid .buttons .btn{font-size:14px}.clinic-card p{font-size:14px}.principle p{font-size:15px}.nav{font-size:13px;flex-wrap:wrap}.section-intro{font-size:15px}.preview-banner{font-size:11px}.text-link{font-size:13px}html[lang=ja] .detail-hero h1{font-size:34px}html[lang=zh-Hans] .detail-hero h1{font-size:36px}html[lang=ko] .detail-hero h1{font-size:36px}}
@media(max-width:600px){html{scroll-padding-top:140px}.header-inner{display:grid;grid-template-columns:1fr 44px;gap:0;min-height:0;padding-top:9px;padding-bottom:4px}.header-inner>.language-switch{grid-column:1/-1;grid-row:2;margin:4px 0 0;display:flex;width:100%;gap:2px;border-top:1px solid #edf1eb;padding:3px 0 0}.language-switch .lang{flex:1;font-size:12px;min-width:0;min-height:44px;padding:4px 7px}.header-inner>.nav{grid-column:1/-1;grid-row:3;order:unset;gap:8px 20px;padding:7px 0 12px;margin:0;width:100%;justify-content:flex-start}.header-inner>.menu-btn{grid-column:2;grid-row:1;min-width:44px;min-height:44px;font-size:22px;border:0;justify-self:end}.header-inner>a{grid-column:1;grid-row:1}.logo span{display:inline;font-size:9px}.logo strong{font-size:26px}.page-jump .wrap{padding-right:14px}.simple-hero h1{font-size:39px}.final-cta .btn{font-size:14px}dialog{padding:30px 23px}dialog p{font-size:15px}dialog .notice{font-size:14px}dialog .dialog-close{font-size:14px;min-height:44px}dialog .close-x{min-width:44px;min-height:44px}.footer{padding-bottom:124px}}
@media(max-width:360px){.detail-hero h1{font-size:41px}html[lang=ja] .detail-hero h1{font-size:30px}html[lang=zh-Hans] .detail-hero h1{font-size:32px}html[lang=ko] .detail-hero h1{font-size:32px}.hero-grid .buttons{display:grid;grid-template-columns:1fr;width:100%}.hero-grid .buttons .btn{width:100%}.fee-row{gap:10px}.price-table .amount{font-size:23px}.price-table .pending{font-size:13px}.page-jump a{font-size:12px}.mobile-bar{padding-left:14px;padding-right:14px}.mobile-bar .btn{padding:10px 8px;font-size:13px}.simple-hero h1{font-size:36px}.header-inner{padding-left:16px;padding-right:16px}}
@media print{.header,.mobile-bar,.page-jump,dialog,.preview-banner,.btn,.footer-links{display:none!important}.section{padding:25px 0}.hero{padding:20px 0}.wrap{max-width:none}.footer{padding-bottom:0}.risk-grid,.reading-grid{display:block}}

/* DMTC v3 · visual alignment with the public DMTC logo and key visual.
   These are proposed review tokens, not values extracted from the live theme.
   Text, product details and pricing remain owned by the existing data files. */
:root {
  --brand:#0cabab;
  --accent:#087d80;
  --accent-hover:#05676b;
  --ink:#41494a;
  --text:#485252;
  --muted:#606e70;
  --paper:#fff;
  --tint:#eef6f7;
  --soft:#e5f2f2;
  --line:#d9e6e7;
  --max:1160px;
  --r:4px;
  --font-body:Arial,'Hiragino Kaku Gothic ProN','Yu Gothic','Noto Sans CJK JP',sans-serif;
  --font-heading:Georgia,'Yu Mincho','Hiragino Mincho ProN','Noto Serif CJK JP',serif;
}
html[lang="zh-Hans"] {
  --font-heading:Georgia,'Songti SC','Noto Serif CJK SC',SimSun,serif;
  --font-body:Arial,'PingFang SC','Noto Sans CJK SC','Microsoft YaHei',sans-serif;
}
html[lang="ko"] {
  --font-heading:Georgia,'Noto Serif CJK KR',Batang,serif;
  --font-body:Arial,'Apple SD Gothic Neo','Noto Sans CJK KR','Malgun Gothic',sans-serif;
}
html {scroll-padding-top:125px}
body {font-family:var(--font-body);letter-spacing:.015em;line-height:1.85}
h1,h2 {font-family:var(--font-heading);font-weight:400;color:var(--ink)}
h1 {letter-spacing:-.025em;line-height:1.22}
h1 em {color:var(--ink);font-style:normal}
h2 {font-size:clamp(27px,2.8vw,37px);letter-spacing:.025em;line-height:1.55}
h3 {font-family:var(--font-body);font-size:20px;font-weight:600;letter-spacing:.015em}
button,a,summary {touch-action:manipulation}
button:focus-visible,a:focus-visible,summary:focus-visible {outline:3px solid #087d80;outline-offset:5px}
.wrap {max-width:var(--max);padding-inline:32px}
.preview-banner {background:#f3f7f7;color:#59686a;font-size:11px;letter-spacing:.025em;border-bottom:1px solid #e9f0f0;padding:7px 16px}
.header {background:rgba(255,255,255,.98);border-color:#e1ecec}
.header-inner {min-height:100px;gap:24px}
.logo-v3 {display:inline-flex;align-items:center;justify-content:flex-start;min-height:60px;width:186px;flex:none;line-height:1}
.logo-v3 .logo-fallback {display:flex;flex-direction:column;align-items:center;justify-content:center;width:176px;color:#181d1e;line-height:1}
.logo-v3 .logo-fallback strong {font-family:Arial,sans-serif;font-weight:600;font-size:32px;letter-spacing:.16em;line-height:1}
.logo-v3 .logo-fallback>span {font-family:Arial,sans-serif;font-weight:700;letter-spacing:.29em;font-size:12px;margin-top:9px;color:#181d1e}
.logo-v3 .official-logo {display:block;max-width:100%;width:186px;height:auto;object-fit:contain}
.logo-v3 [hidden] {display:none!important}
.nav {font-size:13px;gap:27px;font-weight:500}
.nav a {padding-block:16px;white-space:nowrap}
.nav a[aria-current="page"] {color:var(--accent)}
.nav a:last-child {color:var(--accent);font-weight:600}
.language-switch {gap:0;border-color:var(--line);padding-left:13px}
.lang {min-height:44px;padding:6px 9px;border-radius:0;color:var(--muted);font-size:11px;background:none}
.lang[aria-current="true"] {background:transparent;border-bottom:2px solid var(--brand);color:var(--accent)}
.lang:hover {background:var(--tint)}
.menu-btn {border:0;border-radius:0;background:transparent;color:var(--accent)}
.eyebrow {color:var(--accent);font-family:var(--font-body);font-size:11px;letter-spacing:.18em;font-weight:500;margin-bottom:19px}
.hero {position:relative;padding:65px 0 62px;isolation:isolate;overflow:hidden}
[data-page="home"]>.hero {background:linear-gradient(105deg,#f9fcfc 0%,#edf5f6 56%,#f9fcfc 100%);padding:64px 0 58px}
[data-page="home"]>.hero::before {content:'';position:absolute;z-index:-1;pointer-events:none;width:740px;height:530px;background:rgba(255,255,255,.67);border-radius:42% 58% 38% 62%;left:-300px;top:-260px;transform:rotate(-22deg)}
[data-page="home"]>.hero::after {content:'';position:absolute;z-index:-1;pointer-events:none;width:570px;height:600px;background:rgba(255,255,255,.62);border-radius:48% 52% 60% 40%;right:-200px;bottom:-405px;transform:rotate(25deg)}
.hero-grid {grid-template-columns:1.18fr 1fr;gap:65px;align-items:center}
.hero .lead {max-width:535px;color:var(--text);font-size:15px;line-height:2;margin:24px 0 27px}
.hero h1 {font-size:clamp(38px,4.4vw,59px)}
html[lang="ja"] .hero:not(.detail-hero) h1 {font-size:clamp(33px,3.5vw,46px);line-height:1.6;letter-spacing:.055em}
html[lang="zh-Hans"] .hero:not(.detail-hero) h1 {font-size:clamp(34px,3.4vw,46px);line-height:1.6;letter-spacing:.035em}
html[lang="ko"] .hero:not(.detail-hero) h1 {font-size:clamp(34px,3.4vw,46px);line-height:1.5;letter-spacing:.01em}
.hero-note {color:var(--muted);font-size:12px;margin-top:20px}
.buttons {gap:12px}
.btn {border-radius:999px;background:var(--accent);border:1px solid var(--accent);min-height:52px;padding:13px 26px;color:#fff;font-size:13px;font-weight:600;letter-spacing:.025em;line-height:1.6;transition:background .15s ease,border-color .15s ease;box-shadow:none}
.btn:hover {background:var(--accent-hover);border-color:var(--accent-hover);transform:none}
.btn-outline {background:#fff;color:var(--accent);border-color:#84bfc2}
.btn-outline:hover {background:#edf7f7;color:var(--accent);border-color:var(--accent)}
.index-card {border-radius:3px;min-height:375px;padding:29px 33px;background:rgba(255,255,255,.88);border:1px solid #dce8e9;box-shadow:0 5px 25px rgba(51,108,114,.035)}
.index-heading {font-size:11px;letter-spacing:.12em;text-align:left;color:var(--accent);margin-bottom:24px}
.index-row {padding:23px 0;border-color:var(--line);gap:15px;grid-template-columns:28px 1fr 24px;align-items:center}
.index-num {color:var(--accent);font-size:13px;font-family:Georgia,serif;padding:0}
.index-name {font-family:var(--font-heading);font-size:22px;font-weight:400;letter-spacing:.015em;line-height:1.55;color:var(--ink)}
.index-arrow {color:var(--brand);font-family:Arial,sans-serif;font-size:20px}
.index-bottom {padding-top:24px;color:var(--muted);font-size:12px}
.section {padding:64px 0}
.section-head {margin-bottom:31px;gap:40px}
.section-intro {color:var(--muted);font-size:15px;line-height:1.85}
.section-line {border-color:var(--line)}
[data-page="home"] #treatments {border-top:0;padding-top:59px}
[data-page="home"] #treatments .section-head {display:block;text-align:center;margin-bottom:35px}
[data-page="home"] #treatments .section-head>div {max-width:none}
[data-page="home"] #treatments .section-intro {max-width:670px;margin:14px auto 0}
[data-page="home"] #treatments h2::after {content:'';display:block;width:36px;height:2px;background:var(--brand);margin:19px auto 0}
.treatment-grid {gap:20px}
.treatment-card {border:1px solid var(--line);border-radius:3px;background:white;padding:28px 25px;gap:17px;position:relative}
.treatment-card::before {content:'';position:absolute;inset:0 auto auto 0;background:var(--brand);width:42px;height:2px}
.card-number {color:var(--accent);font-family:Georgia,serif;font-size:22px;font-weight:400}
.treatment-card h3 {color:var(--ink);font-family:var(--font-heading);font-size:22px;font-weight:400;line-height:1.5;margin:0}
.treatment-card>p {font-size:14px;color:var(--muted);line-height:1.9}
.card-link {border-color:var(--line);color:var(--accent);font-size:13px;font-weight:500;padding-top:18px;line-height:1.6}
.approach {background:var(--tint)}
.approach-grid {gap:86px;grid-template-columns:1fr 1.15fr}
.principle {border-color:#d4e3e5;gap:20px}
.principle-num {color:var(--accent);font-size:15px;font-family:Georgia,serif;padding-top:2px}
.principle h3 {font-family:var(--font-heading);font-weight:400;font-size:21px;margin-bottom:11px}
.principle p {color:var(--muted);font-size:14px;line-height:1.9}
.price-intro {color:var(--muted);font-size:14px;line-height:1.95}
.price-table th {background:#e8f3f3;color:#45646a;font-size:13px;padding:17px 20px;font-weight:500}
.price-table td {border-color:var(--line);padding:23px 20px;color:var(--text);font-size:14px}
.price-table td:first-child {font-weight:500}
.price-table td:nth-child(2) {color:var(--muted)}
.price-table .amount {font-family:Georgia,'Times New Roman',serif;font-size:28px;letter-spacing:.01em;color:var(--accent);line-height:1.45}
.price-table .pending {font-family:var(--font-body);font-size:14px;color:var(--muted)}
.condition {font-size:12px;line-height:1.8;color:var(--muted)}
.price-foot {font-size:12px;color:var(--muted);gap:30px;margin-top:22px}
.price-foot .text-link {font-size:12px;color:var(--accent)}
.text-link {color:var(--accent);font-size:13px;font-weight:500;line-height:1.9;text-underline-offset:5px}
.steps {gap:32px;margin-top:34px}
.step {border-color:var(--line);padding-top:24px}
.step-number {font-family:Georgia,serif;color:var(--accent);font-size:25px;margin-bottom:16px}
.step h3 {font-family:var(--font-heading);font-weight:400;font-size:22px;margin-bottom:13px}
.step p {color:var(--muted);font-size:14px;line-height:1.9}
.clinic-grid {gap:22px}
.clinic-card {border-top-color:var(--brand);background:var(--tint);padding:24px 24px 23px}
.clinic-card h3 {font-family:var(--font-heading);font-size:25px;font-weight:400}
.clinic-card p {color:var(--muted);font-size:14px;line-height:1.9}
.notice {background:#f1f7f7;border:1px solid #d6e6e7;border-left:3px solid #65aeb3;border-radius:2px;color:#4e6366;font-size:14px;line-height:1.95;padding:20px 23px}
.faq-grid {gap:76px;grid-template-columns:.8fr 1.3fr}
.faqs details {border-color:var(--line);padding:22px 0}
.faqs summary {color:var(--ink);font-size:16px;font-weight:500;line-height:1.8}
.faqs summary::after {color:var(--accent);font-size:22px}
.faqs p {color:var(--muted);font-size:14px;line-height:1.95}
.end-section {padding-top:8px}
.final-cta {background:#eaf4f4;border:1px solid #d7e9e9;border-radius:3px;padding:43px 42px;gap:42px;color:var(--ink)}
.final-cta h2 {font-size:29px;color:var(--ink);line-height:1.55}
.final-cta p {color:#5e7173;font-size:14px;line-height:1.9}
.final-cta .btn {background:var(--accent);border-color:var(--accent);color:white}
.final-cta .btn:hover {background:var(--accent-hover)}
.footer {margin-top:65px;border-top:1px solid var(--line);padding-top:38px;background:#fcfdfd;padding-bottom:28px}
.footer-links {font-size:12px;gap:16px 26px;color:var(--muted);margin-bottom:27px}
.footer-links a {padding:6px 0}
.medical {border-color:var(--line);padding-top:24px;margin-bottom:26px}
.medical h3 {color:var(--muted);font-size:13px}
.medical p {color:var(--muted);font-size:12px;line-height:1.95}
.footer-bottom {font-size:11px;color:var(--muted);align-items:center}
.footer .logo-v3 {width:150px;min-height:50px}
.footer .logo-v3 .logo-fallback {width:144px}
.footer .logo-v3 .logo-fallback strong {font-size:25px}
.footer .logo-v3 .logo-fallback>span {font-size:10px}
.footer .official-logo {width:150px}
.mobile-bar {background:rgba(255,255,255,.98);border-color:var(--line)}
.mobile-bar .btn {border-radius:999px}
dialog {border-color:var(--line);border-radius:6px;padding:34px;box-shadow:0 24px 80px rgba(53,95,100,.2)}
dialog::backdrop {background:rgba(42,65,67,.47)}
dialog h2 {color:var(--ink);line-height:1.5}
dialog p {color:var(--muted);font-size:15px;line-height:1.9}
dialog .dialog-close {color:var(--accent);font-size:14px;min-height:44px}
.close-x {color:var(--accent);background:var(--tint);min-width:44px;min-height:44px}
.breadcrumb {font-size:12px;color:var(--muted);padding-top:23px;gap:12px}
.breadcrumb a {color:var(--accent)}
.detail-hero {padding:39px 0 49px;background:linear-gradient(115deg,#fff 0%,#fff 50%,#f2f8f8 100%)}
.detail-hero .hero-grid {grid-template-columns:1.22fr .86fr;gap:64px}
.detail-hero h1 {font-size:clamp(38px,4.2vw,56px);line-height:1.25}
html[lang="ja"] .detail-hero h1 {font-size:clamp(31px,3.4vw,44px);line-height:1.6;letter-spacing:.045em}
html[lang="zh-Hans"] .detail-hero h1 {font-size:clamp(34px,3.6vw,46px);line-height:1.6;letter-spacing:.015em}
html[lang="ko"] .detail-hero h1 {font-size:clamp(33px,3.5vw,45px);line-height:1.55;letter-spacing:.01em}
.treatment-kicker {color:var(--accent);font-size:15px;font-weight:500;margin-bottom:20px}
.detail-hero .hero-grid .buttons .btn:nth-child(2) {background:white;color:var(--accent);border-color:#84bfc2}
.treatment-panel {background:#fff;border:1px solid var(--line);border-radius:3px;padding:28px 28px 25px}
.panel-top {border-color:var(--line);padding-bottom:25px;gap:24px;display:flex;align-items:center}
.panel-top>span {font-family:Georgia,serif;font-size:67px;color:var(--brand);font-weight:400;letter-spacing:-.015em}
.panel-top>p {font-family:var(--font-heading);font-weight:400;font-size:21px;line-height:1.5;margin:0;text-align:right}
.plan-preview {border-color:var(--line);padding:18px 0;gap:13px}
.plan-preview>span {color:var(--accent);font-family:Georgia,serif;font-size:13px}
.plan-preview>p {color:var(--ink);font-size:14px;font-weight:400;line-height:1.8}
.panel-end {color:var(--muted);font-size:12px;line-height:1.9;margin-top:22px}
.page-jump {background:#f1f7f7;border-color:var(--line)}
.jump-inner {gap:26px}
.jump-inner a {font-size:12px;color:var(--accent);padding:15px 0}
.reading-grid {gap:48px}
.body-lead {font-size:16px;line-height:2;color:var(--text)}
.tint-section {background:var(--tint)}
.concern-chip {border-color:#c3dcdf;color:var(--ink);font-size:16px;line-height:1.8}
.fee-block {background:var(--tint);border-radius:3px;padding:27px 29px}
.fee-row {border-color:var(--line)}
.fee-row dd {color:var(--accent);font-family:Georgia,serif;font-size:22px}
.medical-section {background:#f5f8f8;border-color:var(--line)}
.risk-text {color:var(--text);font-size:16px;line-height:2}
.risk-before,.approval-block p,.source-block p {color:var(--muted);line-height:1.95}
.urgent-box {background:#fffcf6;border-color:#e2d7c4;border-left-color:#947345;border-radius:3px}
.urgent-box h3 {font-family:var(--font-body)}
.approval-block,.source-block {border-color:var(--line)}
.simple-hero {background:linear-gradient(100deg,#f6fafa,#edf5f6);padding:38px 0 42px;margin-top:22px}
.simple-hero .lead {max-width:800px;line-height:2}
.simple-hero h1 {max-width:930px;font-size:45px;line-height:1.45}
.price-filters {gap:10px}
.filter-btn {border-radius:999px;border-color:#afd1d4;background:#fff;color:var(--accent);font-size:14px;padding:12px 21px}
.filter-btn[aria-pressed="true"] {background:var(--accent);color:#fff}
.filter-status {color:var(--muted)}
.clinic-detail {border-color:var(--line);gap:55px;padding:42px 0}
.clinic-identity h2 {font-size:32px}
.clinic-identity .station {font-size:16px;color:var(--accent);line-height:1.9}
.clinic-data dt,.clinic-identity>p:not(.station) {color:var(--muted)}
.clinic-data dd {font-size:15px;color:var(--text)}
.booking-section {background:var(--tint)}
.booking-aside {border-color:var(--line);border-radius:3px;padding:30px}
.booking-aside h3 {font-family:var(--font-heading);font-size:23px;font-weight:400}
.booking-aside p,.privacy-note {color:var(--muted)}
@media (max-width:1150px) {
  .header-inner {gap:18px}
  .logo-v3 {width:158px}
  .logo-v3 .official-logo {width:158px}
  .logo-v3 .logo-fallback {width:150px}
  .nav {gap:17px;font-size:12px}
  .language-switch {padding-left:9px}
  .lang {padding-inline:7px}
  .hero-grid,.detail-hero .hero-grid {gap:40px}
  .index-card {padding:28px}
  .index-name {font-size:20px}
  .approach-grid {gap:45px}
}
@media (max-width:950px) {
  .header-inner {min-height:86px;gap:15px}
  .nav {display:none;order:5;width:100%;padding:0 0 16px;justify-content:space-around;margin-left:0;gap:12px}
  .header.menu-open .nav {display:flex}
  .header-inner {flex-wrap:wrap}
  .language-switch {margin-left:auto;border:0;padding-left:0}
  .menu-btn {display:block;min-width:44px;min-height:44px;font-size:22px}
  .hero-grid {gap:28px;grid-template-columns:1.1fr 1fr}
  .detail-hero .hero-grid {gap:30px;grid-template-columns:1.15fr .9fr}
  .panel-top>span {font-size:54px}
  .panel-top>p {font-size:18px}
  .treatment-panel {padding:25px 23px}
  .index-card {padding:26px 24px;min-height:360px}
  .hero h1 {font-size:44px}
  html[lang="ja"] .hero:not(.detail-hero) h1 {font-size:35px}
  html[lang="zh-Hans"] .hero:not(.detail-hero) h1 {font-size:36px}
  html[lang="ko"] .hero:not(.detail-hero) h1 {font-size:35px}
  .treatment-card {padding:25px 20px}
  .treatment-card h3 {font-size:21px}
  .faq-grid {gap:37px}
}
@media (max-width:700px) {
  html {scroll-padding-top:154px}
  .wrap {padding-inline:22px}
  .preview-banner {font-size:10px;padding:7px 18px;line-height:1.6}
  .header-inner {display:grid;grid-template-columns:1fr 44px;gap:0;min-height:0;padding-top:7px;padding-bottom:1px}
  .header-inner>a {grid-column:1;grid-row:1}
  .logo-v3 {width:142px;min-height:52px}
  .logo-v3 .official-logo {width:142px}
  .logo-v3 .logo-fallback {width:138px}
  .logo-v3 .logo-fallback strong {font-size:25px;letter-spacing:.15em}
  .logo-v3 .logo-fallback>span {font-size:10px;margin-top:6px}
  .header-inner>.menu-btn {grid-column:2;grid-row:1;min-width:44px;min-height:44px;justify-self:end}
  .header-inner>.language-switch {grid-column:1/-1;grid-row:2;display:flex;width:100%;margin:5px 0 0;border-top:1px solid #e2eded;padding:0;gap:0}
  .language-switch .lang {flex:1;min-width:0;min-height:42px;font-size:11px;padding:8px 5px}
  .header-inner>.nav {grid-column:1/-1;grid-row:3;order:unset;gap:8px 20px;padding:10px 0 14px;width:100%;margin:0;justify-content:flex-start;flex-wrap:wrap}
  .nav a {font-size:13px;padding:7px 0}
  [data-page="home"]>.hero {padding:34px 0 37px}
  [data-page="home"]>.hero::before {width:480px;height:350px;left:-215px;top:-180px}
  [data-page="home"]>.hero::after {height:490px;width:430px;right:-220px;bottom:-280px}
  .hero-grid {grid-template-columns:1fr;gap:30px}
  .eyebrow {font-size:10px;letter-spacing:.15em;margin-bottom:17px}
  .hero h1 {font-size:43px;line-height:1.2}
  html[lang="ja"] .hero:not(.detail-hero) h1 {font-size:34px;line-height:1.6;letter-spacing:.055em}
  html[lang="zh-Hans"] .hero:not(.detail-hero) h1 {font-size:35px;line-height:1.6;letter-spacing:.025em}
  html[lang="ko"] .hero:not(.detail-hero) h1 {font-size:35px;line-height:1.5}
  .hero .lead {font-size:15px;line-height:1.95;margin:20px 0 23px}
  .hero-note {font-size:12px;margin-top:16px}
  .btn,.hero-grid .buttons .btn {font-size:13px;min-height:49px;padding:12px 22px}
  .buttons {gap:10px}
  .index-card {min-height:0;padding:22px 25px;border-radius:3px}
  .index-heading {font-size:10px;margin-bottom:17px}
  .index-row {padding:16px 0;grid-template-columns:25px 1fr 22px;gap:12px}
  .index-name {font-size:20px;line-height:1.55}
  .index-num {font-size:13px}
  .index-bottom {padding-top:18px;font-size:11px}
  h2 {font-size:27px;line-height:1.55;letter-spacing:.025em}
  .section {padding:45px 0}
  [data-page="home"] #treatments {padding-top:43px}
  .section-head {margin-bottom:26px;display:block}
  .section-intro {font-size:14px;line-height:1.95}
  .treatment-grid {grid-template-columns:1fr;gap:16px}
  .treatment-card {padding:24px;gap:14px}
  .treatment-card h3 {font-size:23px}
  .treatment-card>p {font-size:15px;line-height:1.9}
  .card-number {font-size:23px}
  .card-link {font-size:14px;padding-top:16px}
  .approach-grid {grid-template-columns:1fr;gap:31px}
  .principle {gap:16px;padding:21px 0}
  .principle h3 {font-size:21px}
  .principle p {font-size:15px}
  .price-table tr {border-color:var(--line);padding:23px 0;gap:10px 17px}
  .price-table td {padding:0;font-size:14px}
  .price-table td:first-child {font-size:15px}
  .price-table .amount {font-size:27px}
  .price-table .pending {font-size:14px}
  .price-table .condition {font-size:12px;line-height:1.8}
  .price-intro {font-size:14px}
  .price-foot,.price-foot .text-link {font-size:12px}
  .steps {grid-template-columns:1fr;gap:28px}
  .step h3 {font-size:22px}
  .step p,.steps .step p {font-size:15px}
  .step-number {margin-bottom:11px}
  .clinic-grid {grid-template-columns:1fr;gap:19px}
  .clinic-card {padding:24px}
  .clinic-card h3 {font-size:25px}
  .clinic-card p {font-size:14px}
  .notice {font-size:14px;padding:19px 20px}
  .faq-grid {grid-template-columns:1fr;gap:28px}
  .faqs summary {font-size:16px}
  .faqs p {font-size:15px}
  .final-cta {display:block;border-radius:3px;padding:28px 25px}
  .final-cta h2 {font-size:27px}
  .final-cta p {font-size:14px}
  .final-cta .btn {font-size:14px;width:100%}
  .footer {padding-top:28px;margin-top:44px;padding-bottom:120px}
  .footer-bottom {align-items:flex-start}
  .footer-links {font-size:12px;gap:10px 18px}
  .medical p {font-size:13px}
  .mobile-bar {padding:10px 20px calc(10px + env(safe-area-inset-bottom,0px));gap:10px}
  .mobile-bar .btn {font-size:13px;min-height:48px;padding:11px 16px;flex:1}
  .mobile-bar .btn-outline {flex:.8}
  .detail-hero {padding:29px 0 37px}
  .detail-hero .hero-grid {grid-template-columns:1fr;gap:31px}
  .detail-hero h1 {font-size:41px;line-height:1.25}
  html[lang="ja"] .detail-hero h1 {font-size:32px;line-height:1.65}
  html[lang="zh-Hans"] .detail-hero h1 {font-size:33px;line-height:1.6}
  html[lang="ko"] .detail-hero h1 {font-size:33px;line-height:1.55}
  .treatment-kicker {font-size:15px;margin-bottom:17px}
  .treatment-panel {border-radius:3px;padding:25px}
  .panel-top {display:flex;gap:20px;padding-bottom:24px}
  .panel-top>span {font-size:61px}
  .panel-top>p {font-size:21px;text-align:right;margin:0}
  .plan-preview {padding:16px 0;gap:13px}
  .plan-preview>p {font-size:15px}
  .panel-end {font-size:12px}
  .jump-inner {display:grid;grid-template-columns:repeat(2,1fr);gap:0}
  .jump-inner a {font-size:12px;padding:13px 8px 13px 0;min-height:44px}
  .reading-grid {grid-template-columns:1fr;gap:12px}
  .body-lead {font-size:16px}
  .concern-chip {font-size:16px}
  .fee-block {padding:25px 20px}
  .fee-row dd {font-size:21px}
  .risk-grid {grid-template-columns:1fr;gap:25px}
  .risk-text {font-size:16px}
  .source-block a {font-size:12px}
  .simple-hero {padding:28px 0 31px;margin-top:18px}
  .simple-hero h1 {font-size:35px;line-height:1.5}
  .simple-hero .lead {font-size:15px}
  .filter-btn {font-size:13px;padding:11px 18px}
  .clinic-detail {grid-template-columns:1fr;gap:23px;scroll-margin-top:165px}
  .clinic-identity h2 {font-size:30px}
  .clinic-data dd {font-size:14px}
  .booking-grid {grid-template-columns:1fr;gap:29px}
  .booking-aside {padding:25px}
  .booking-grid .btn {font-size:14px}
  dialog {padding:30px 23px}
  dialog h2 {font-size:25px}
  dialog p {font-size:15px}
}
@media (max-width:360px) {
  .wrap {padding-inline:17px}
  .hero h1 {font-size:38px}
  html[lang="ja"] .hero:not(.detail-hero) h1 {font-size:29px}
  html[lang="zh-Hans"] .hero:not(.detail-hero) h1 {font-size:31px}
  html[lang="ko"] .hero:not(.detail-hero) h1 {font-size:31px}
  .hero-grid .buttons {display:grid;grid-template-columns:1fr}
  .hero-grid .buttons .btn {width:100%}
  html[lang="ja"] .detail-hero h1 {font-size:29px}
  html[lang="zh-Hans"] .detail-hero h1 {font-size:30px}
  html[lang="ko"] .detail-hero h1 {font-size:30px}
  .index-card {padding:22px}
  .index-name {font-size:19px}
  .mobile-bar {padding-inline:14px}
  .mobile-bar .btn {font-size:12px;padding-inline:11px}
}
@media (prefers-reduced-motion:reduce) {html{scroll-behavior:auto}*{transition:none!important}}
@media print {.header,.preview-banner,.mobile-bar{display:none!important}.footer{padding-bottom:0}.hero{background:#fff!important}.hero::before,.hero::after{display:none}}

/* DMTC HA consultation check. All selectors are scoped to the HA feature. */
.ha-promo{background:linear-gradient(120deg,#eaf5f5,#f8fbfa);border-block:1px solid var(--line)}
.ha-promo-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:70px;align-items:center}
.ha-promo h2{margin-bottom:18px}.ha-promo p{color:var(--muted);font-size:15px;line-height:1.95}
.ha-promo-action{border-left:1px solid #bdd7d8;padding-left:40px}.ha-promo-action p{font-size:13px;margin-bottom:22px}
.ha-hero{background:radial-gradient(circle at 85% 20%,rgba(130,198,201,.22),transparent 32%),linear-gradient(110deg,#fff 0%,#f2f8f8 100%);overflow:hidden}
.ha-hero-grid{display:grid;grid-template-columns:1.25fr .65fr;gap:76px;align-items:center}
.ha-hero h1{font-size:clamp(39px,4.2vw,58px);line-height:1.4;letter-spacing:.015em}
.ha-hero .lead{max-width:680px}.ha-hero-note{position:relative;min-height:330px;border:1px solid #c9dfe0;background:rgba(255,255,255,.72);padding:42px 34px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}
.ha-hero-note>span{position:absolute;right:-12px;top:-42px;font:400 190px/1 Georgia,serif;color:rgba(81,166,171,.12);letter-spacing:-.12em}
.ha-hero-note p{position:relative;font-size:14px;line-height:2;color:var(--text)}.ha-hero-note strong{margin-top:24px;font-size:10px;letter-spacing:.16em;color:var(--accent)}
.ha-about-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.ha-about-card{border-top:2px solid var(--brand);background:#f7fafa;padding:27px 25px;min-height:205px}
.ha-about-card>span{font-family:Georgia,serif;color:var(--accent);font-size:13px}.ha-about-card h3{font-family:var(--font-heading);font-weight:400;font-size:22px;margin:24px 0 12px}.ha-about-card p{color:var(--muted);font-size:14px;line-height:1.9}
.ha-check-section{background:#f4f8f8}.ha-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:58px;align-items:start}.ha-form-column{min-width:0}.ha-section-heading{background:#fff;border:1px solid var(--line);padding:38px 42px 31px}.ha-section-heading .eyebrow{margin-bottom:13px}.ha-section-heading p{color:var(--muted);font-size:14px;margin-top:14px}
.ha-progress{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;background:#fff;border-inline:1px solid var(--line);padding:0 42px 28px;color:var(--accent);font:13px Georgia,serif}.ha-progress div{height:2px;background:#dce8e8}.ha-progress i{display:block;width:16.66%;height:100%;background:var(--accent)}
.ha-root{background:#fff;border:1px solid var(--line)}.ha-form{display:block}.ha-question,.ha-photo{border:0;border-top:1px solid var(--line);margin:0;padding:34px 42px}.ha-question:first-child{border-top:0}.ha-question legend,.ha-photo legend{float:left;width:100%;color:var(--ink);font-family:var(--font-heading);font-size:21px;line-height:1.6;font-weight:400;margin-bottom:18px}.ha-question legend+*,.ha-photo legend+*{clear:both}
.ha-help{font-size:12px;line-height:1.85;color:var(--muted);margin:0 0 14px}.ha-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ha-choice{position:relative;display:block;cursor:pointer}.ha-choice input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer}.ha-choice span{display:flex;align-items:center;min-height:54px;border:1px solid #c8dada;background:#fff;padding:12px 45px 12px 17px;color:var(--text);font-size:14px;line-height:1.6;transition:.15s}.ha-choice span::after{content:'';position:absolute;right:18px;width:17px;height:17px;border:1px solid #9fbbbb;border-radius:50%}.ha-choice input[type=checkbox]+span::after{border-radius:2px}.ha-choice input:checked+span{border-color:var(--accent);background:#eaf5f5;color:var(--ink);box-shadow:inset 3px 0 var(--accent)}.ha-choice input:checked+span::after{background:var(--accent);box-shadow:inset 0 0 0 4px #eaf5f5}.ha-choice input:focus-visible+span{outline:3px solid #a45124;outline-offset:3px}.ha-choice input:disabled+span{opacity:.45;cursor:not-allowed}
.ha-question.is-invalid{background:#fffafa;box-shadow:inset 3px 0 #ad503f}.ha-field-error{color:#8c3428;font-size:13px;margin-top:13px}.ha-field-error:not([hidden]){display:block}
.ha-photo{background:#fbfdfd}.ha-photo>p{font-size:14px;color:var(--muted);margin-bottom:22px}.ha-photo-grid{display:grid;grid-template-columns:1fr 220px;gap:30px;align-items:start}.ha-photo ul{padding-left:20px;margin:18px 0 0;color:var(--muted);font-size:12px;line-height:1.9}.ha-file-label{position:relative;overflow:hidden;cursor:pointer}.ha-file-label input{position:absolute;inset:0;opacity:0;cursor:pointer;font-size:120px}.ha-photo-preview{aspect-ratio:4/5;border:1px dashed #9dbfc1;background:#edf5f5;display:grid;place-items:center;overflow:hidden}.ha-photo-preview img{width:100%;height:100%;object-fit:cover}.ha-photo-preview>div{text-align:center;color:var(--accent)}.ha-photo-preview>div span{display:block;font:38px/1 Georgia,serif;margin-bottom:12px}.ha-photo-preview small{font-size:9px;letter-spacing:.14em}.ha-photo-status{margin-top:20px}.ha-quality-list{display:grid;gap:8px}.ha-quality-item{display:flex;gap:11px;align-items:flex-start;border:1px solid var(--line);padding:11px 13px;font-size:12px;line-height:1.7;color:var(--muted)}.ha-quality-item::before{content:'✓';color:var(--accent);font-weight:700}.ha-quality-item.is-warning{background:#fffaf1;border-color:#e0d4bd}.ha-quality-item.is-warning::before{content:'!';color:#8b6536}.ha-quality-item.is-error{background:#fff5f3;border-color:#e1c3bd}.ha-quality-item.is-error::before{content:'×';color:#993f31}
.ha-consent{border-top:1px solid var(--line);padding:27px 42px}.ha-consent label{display:grid;grid-template-columns:22px 1fr;gap:13px;align-items:start;font-size:13px;line-height:1.85;color:var(--text);cursor:pointer}.ha-consent input{width:19px;height:19px;margin-top:3px;accent-color:var(--accent)}.ha-error-summary{margin:0 42px 20px;padding:15px 18px;border-left:3px solid #ad503f;background:#fff5f3;color:#7a3027;font-size:13px}.ha-submit{margin:0 42px 40px;min-width:260px}.ha-submit span{font-size:18px}
.ha-privacy{position:sticky;top:135px;border-top:2px solid var(--brand);background:#fff;padding:28px 25px;box-shadow:0 14px 40px rgba(52,92,95,.08)}.ha-privacy .eyebrow{margin-bottom:14px}.ha-privacy h3{font-family:var(--font-heading);font-weight:400;font-size:22px;margin-bottom:15px}.ha-privacy>p{font-size:13px;line-height:1.95;color:var(--muted)}.ha-privacy dl{margin:25px 0 0}.ha-privacy dl div{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding:13px 0;font-size:10px;letter-spacing:.1em}.ha-privacy dt{color:var(--muted)}.ha-privacy dd{margin:0;color:var(--accent);font-weight:700}
.ha-results{padding:38px 42px 42px;border-top:1px solid var(--line);background:#fff}.ha-results:focus{outline:none}.ha-result-header{padding-bottom:29px;border-bottom:1px solid var(--line)}.ha-result-label{display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:.14em;color:var(--accent);margin-bottom:14px}.ha-result-header h2{font-size:31px}.ha-result-header>p{font-size:14px;color:var(--muted);margin-top:14px;line-height:1.9}.ha-result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:28px 0}.ha-result-card{border:1px solid var(--line);padding:22px 18px;min-height:210px}.ha-result-card>span{font:28px Georgia,serif;color:#8bbfc2}.ha-result-card h3{font-family:var(--font-heading);font-weight:400;font-size:20px;margin:16px 0 10px}.ha-result-card p{font-size:12px;line-height:1.85;color:var(--muted)}.ha-doctor-flags{background:#fffaf1;border:1px solid #e0d4bd;padding:20px 22px;margin:22px 0}.ha-doctor-flags h3{font-size:16px;margin-bottom:8px}.ha-doctor-flags p,.ha-result-limit,.ha-result-photo{font-size:13px;line-height:1.9;color:var(--muted)}.ha-result-photo{background:#f1f7f7;padding:17px 19px;margin-top:15px}.ha-result-limit{border-top:1px solid var(--line);padding-top:20px;margin-top:23px}.ha-result-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.ha-result-actions button{font:inherit}.ha-result-meta{margin-top:18px;font-size:10px;letter-spacing:.08em;color:#718285}.ha-copy-status{font-size:12px;color:var(--accent);align-self:center}
@media(max-width:950px){.ha-hero-grid{gap:38px}.ha-layout{grid-template-columns:minmax(0,1fr) 250px;gap:28px}.ha-privacy{padding:23px 20px}.ha-question,.ha-photo,.ha-consent,.ha-results{padding-inline:30px}.ha-error-summary{margin-inline:30px}.ha-submit{margin-left:30px}.ha-photo-grid{grid-template-columns:1fr 180px}}
@media(max-width:700px){.ha-promo-grid,.ha-hero-grid,.ha-layout{grid-template-columns:1fr}.ha-promo-grid{gap:29px}.ha-promo-action{border-left:0;border-top:1px solid #bdd7d8;padding:24px 0 0}.ha-hero{padding-top:34px}.ha-hero h1{font-size:32px;line-height:1.65}.ha-hero-note{min-height:230px;padding:28px 24px}.ha-hero-note>span{font-size:145px}.ha-about-grid{grid-template-columns:1fr}.ha-about-card{min-height:0}.ha-layout{gap:28px}.ha-privacy{position:static;order:-1}.ha-section-heading{padding:27px 22px 23px}.ha-progress{padding:0 22px 22px}.ha-question,.ha-photo,.ha-consent,.ha-results{padding:27px 22px}.ha-question legend,.ha-photo legend{font-size:20px}.ha-choices{grid-template-columns:1fr}.ha-choice span{min-height:52px}.ha-photo-grid{grid-template-columns:1fr}.ha-photo-preview{max-width:260px;width:100%;margin-inline:auto}.ha-error-summary{margin:0 22px 18px}.ha-submit{width:calc(100% - 44px);margin:0 22px 28px}.ha-result-grid{grid-template-columns:1fr}.ha-result-card{min-height:0}.ha-result-actions{display:grid}.ha-result-actions .btn{width:100%}}
@media print{.ha-form,.ha-privacy,.ha-promo,.ha-result-actions{display:none!important}.ha-results[hidden]{display:none!important}.ha-results{border:0;padding:0}.ha-check-section{background:#fff}.ha-layout{display:block}.ha-result-card{break-inside:avoid}}

/* DMTC integrated navigation v1 */
.dmtc-unified{position:relative;z-index:20;background:#fff;border-bottom:1px solid #d9e8e6;padding:12px max(20px,calc((100% - 1160px)/2));color:#323232;font:14px/1.6 "Yu Gothic",sans-serif;display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center}.dmtc-unified a{color:#17645e;text-decoration:none}.dmtc-unified a:hover{text-decoration:underline}.dmtc-unified .dmtc-languages{margin-left:auto;display:flex;flex-wrap:wrap;gap:14px}.dmtc-unified a[aria-current=page]{font-weight:700;border-bottom:2px solid #40aca2}.dmtc-checks{max-width:1160px;margin:32px auto;padding:32px 24px;background:#ecf4f6;border-radius:16px;color:#323232}.dmtc-checks h2{font-size:clamp(24px,3vw,34px);margin:8px 0 20px}.dmtc-check-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.dmtc-check-card{background:white;padding:24px;border:1px solid #d8e7e5;border-radius:12px}.dmtc-check-card h3{font-size:22px;margin:0 0 12px}.dmtc-check-card a{display:inline-block;border-radius:999px;background:#7ec6bf;color:#173e3a;padding:12px 22px;font-weight:700;text-decoration:none;margin-top:12px}.dmtc-checks small{display:block;margin-top:20px;line-height:1.7}.dmtc-unified a:focus-visible,.dmtc-checks a:focus-visible{outline:3px solid #00818b;outline-offset:4px}@media(max-width:700px){.dmtc-check-grid{grid-template-columns:1fr}.dmtc-unified{gap:8px 16px;padding:12px 16px}.dmtc-unified .dmtc-languages{margin:0;width:100%}.dmtc-checks{margin:20px 12px;padding:24px 16px}}
@media print{.dmtc-unified{display:none}}

