/* Reservation guidance, scoped to the added consultation components. */
html:has(.consult-sheet){scrollbar-gutter:stable}
.consult-inline,.consult-sheet,.consult-hero-note{--consult-ink:#153b45;--consult-gold:#d8bc87;--consult-line:#d9e2e2;color:var(--consult-ink);font-family:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;line-height:1.7;letter-spacing:normal;text-align:left}
.consult-inline *,.consult-sheet *,.consult-hero-note *{box-sizing:border-box}
.consult-inline{margin:0;padding:48px 24px;background:#edf3f2;border-top:1px solid var(--consult-line);border-bottom:1px solid var(--consult-line)}
.consult-inner{max-width:1080px;margin:0 auto}
.consult-inline h2,.consult-sheet h2{margin:0 0 16px;font-size:clamp(22px,3vw,28px);font-weight:700;line-height:1.5;color:var(--consult-ink);letter-spacing:.02em;background:none;padding:0;border:0}
.consult-inline h2::before,.consult-inline h2::after,.consult-sheet h2::before,.consult-sheet h2::after,.consult-clinic h3::before,.consult-clinic h3::after{content:none!important}
.consult-intro{margin:0 0 20px;font-size:15px;line-height:1.8}
.consult-intro p,.consult-hero-note p{margin:0 0 6px;color:inherit;font-size:inherit;line-height:inherit}
.consult-intro p:last-child,.consult-hero-note p:last-child{margin-bottom:0}
.consult-intro strong{font-weight:700;color:inherit}
.consult-clinics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.consult-clinic{padding:22px;background:#fff;border:1px solid var(--consult-line);border-radius:12px;min-width:0}
.consult-clinic h3{padding:0;margin:0 0 4px;background:none;border:0;font-size:19px;color:var(--consult-ink);font-weight:700;line-height:1.5;letter-spacing:normal}
.consult-station{font-size:14px;margin:0 0 14px;color:#456069;line-height:1.6}
.consult-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 10px;align-items:stretch}
.consult-actions a{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:64px;padding:10px 7px;border-radius:6px;border:1px solid var(--consult-ink);font-size:15px;font-weight:700;text-align:center;text-decoration:none!important;line-height:1.5;transition:background .15s ease,color .15s ease;letter-spacing:normal}
.consult-actions .consult-web{order:1;background:var(--consult-ink);color:#fff}
.consult-actions .consult-phone{order:2;background:#fff;color:var(--consult-ink)}
.consult-actions .consult-web:hover{background:#285965}
.consult-actions .consult-phone:hover{background:#f0f5f4}
.consult-phone span{display:block;font-size:13px;font-weight:700}
.consult-phone strong{font-size:16px;font-weight:700;color:inherit;white-space:nowrap}
.consult-actions .consult-web-note,.consult-actions .consult-ct-note{grid-column:1/-1;font-size:13px;line-height:1.7;margin:0;color:#3b555d;max-width:none}
.consult-actions .consult-web-note{order:3}
.consult-actions .consult-ct-note{order:4}
.consult-hours{font-size:13px;color:#456069;margin:16px 0 0;line-height:1.8}
.consult-cost-steps{padding:0 0 24px;margin:0 0 24px;border-bottom:1px solid #c9d7d6}
.consult-cost-steps ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;list-style:decimal;margin:0;padding-left:24px}
.consult-cost-steps li{padding:8px 16px 8px 2px;font-size:14px;line-height:1.8}
.consult-cost-steps li::marker{font-size:18px;font-weight:700;color:var(--consult-ink)}
.consult-cost-steps strong,.consult-cost-steps span{display:block}
.consult-cost-steps strong{font-size:16px;margin-bottom:4px}
.consult-hero-note{font-size:14px;line-height:1.8;background:rgba(255,255,255,.96);border-left:3px solid var(--consult-gold);padding:14px 16px;margin:14px 0 18px;max-width:620px}
.consult-hero-note .consult-web-note,.consult-hero-note .consult-ct-note{font-size:13px;margin-top:8px}
dialog.consult-sheet{position:fixed;inset:auto 0 0;width:min(100%,820px);max-width:100%;height:auto;max-height:90vh;max-height:90dvh;margin:0 auto;border:0;border-radius:20px 20px 0 0;padding:0;background:#f4f7f6;box-shadow:0 -10px 60px #102d3655;overflow:auto;overscroll-behavior:contain;z-index:2147483000}
dialog.consult-sheet:not([open]){display:none}
dialog.consult-sheet[open]{display:block;animation:consult-rise .22s ease-out}
dialog.consult-sheet::backdrop{background:rgba(9,30,36,.65)}
.consult-sheet .consult-sheet-head{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 24px 12px;background:#f4f7f6;border-bottom:1px solid var(--consult-line);z-index:1}
.consult-sheet .consult-sheet-head h2{font-size:22px;margin:0}
.consult-sheet-close{flex:none;padding:8px 12px;min-height:44px;border:1px solid #b9cbcb;border-radius:6px;background:white;color:var(--consult-ink);font:inherit;font-size:14px;cursor:pointer;line-height:1.5}
.consult-sheet .consult-sheet-content{padding:20px 24px max(24px,env(safe-area-inset-bottom))}
.consult-sheet .consult-clinic{padding:18px}
.consult-sheet .consult-clinic h3{font-size:18px}
.consult-sheet :focus-visible,.consult-inline :focus-visible{outline:3px solid #0785a0;outline-offset:3px}
html.consult-sheet-open,body.consult-sheet-open{overflow:hidden!important;overscroll-behavior:none}
@keyframes consult-rise{from{transform:translateY(40px);opacity:.3}to{transform:translateY(0);opacity:1}}
@media(max-width:700px){.consult-inline{padding:32px 18px}.consult-clinics{grid-template-columns:1fr;gap:12px}.consult-clinic{padding:18px}.consult-cost-steps ol{grid-template-columns:1fr;gap:2px}.consult-cost-steps li{padding:6px 0}.consult-sheet .consult-sheet-head{padding:14px 16px 10px}.consult-sheet .consult-sheet-head h2{font-size:19px}.consult-sheet .consult-sheet-content{padding:16px 16px max(20px,env(safe-area-inset-bottom))}.consult-sheet .consult-intro{font-size:14px}.consult-hero-note{font-size:14px}.consult-hero-note .consult-ct-note{font-size:13px}}
@media(prefers-reduced-motion:reduce){dialog.consult-sheet[open]{animation:none}.consult-actions a{transition:none}}
