:root{color-scheme:light;--navy:#102641;--text:#263b50;--muted:#475d73;--line:#d5dfe7;--pale:#eef4f8;--white:#fff}*{box-sizing:border-box}body{margin:0;color:var(--text);background:#fff;font:16px/1.8 "Yu Gothic",Meiryo,system-ui,sans-serif}a{color:var(--navy);text-underline-offset:.25em}a:hover{text-decoration-thickness:2px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #3177a4;outline-offset:4px}h1,h2,h3,p,dl{margin:0 0 1rem}h1,h2,h3{line-height:1.45;color:var(--navy);letter-spacing:.035em}h2{font-size:clamp(1.45rem,3vw,2rem)}h3{font-size:1.15rem}h1{font-size:clamp(2.2rem,6vw,4.6rem);letter-spacing:.015em}.wrap{width:min(1120px,calc(100% - 48px));margin:auto}.head,.foot{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-block:20px}.brand{text-decoration:none;line-height:1.45;white-space:nowrap}.brand strong,.foot strong{font-size:1.25rem;letter-spacing:.14em}small{display:block;font-size:.75rem}nav{display:flex;align-items:center;flex-wrap:wrap;gap:8px 21px}nav a{font-size:.875rem;font-weight:700;text-decoration:none;padding-block:6px}nav a[aria-current]{text-decoration:underline}header,footer{border-block-end:1px solid var(--line)}.hero{background:linear-gradient(125deg,#f5f8fa,#eaf1f7);padding-block:clamp(56px,9vw,116px)}.hero-layout,.split{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:center;gap:clamp(24px,6vw,82px)}.split{grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);align-items:start}.eyebrow{font-size:.82rem;font-weight:700;letter-spacing:.13em;color:var(--muted)}.lead{margin-block:22px 28px}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px 26px}.button{background:var(--navy);color:white;display:inline-flex;align-items:center;gap:14px;justify-content:center;border:1px solid transparent;padding:12px 19px;font:inherit;font-weight:700;text-decoration:none;cursor:pointer}.button:hover{background:#204465}.button.light{background:#fff;color:var(--navy)}.button.light:hover{background:#e1edf6}.more{font-weight:700}.method{color:white;background:var(--navy);padding:26px 30px}.method p{font-size:.82rem;letter-spacing:.13em;color:#cfdeea}.method ol{padding-left:1.4rem;margin:0}.method li{padding:12px 0;border-top:1px solid #506479}.method span{display:block;color:#d6e2ec;font-size:.86rem}.section,.band{padding-block:clamp(40px,7vw,82px)}.band,.pagehead{background:var(--pale)}.pagehead{padding-block:clamp(38px,7vw,80px)}.pagehead h1{font-size:clamp(1.85rem,5vw,3.55rem);overflow-wrap:anywhere}.pagehead p{margin:0}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.grid article,.price{border:1px solid var(--line);border-top:3px solid var(--navy);padding:24px}.consult{background:var(--navy);color:white;padding-block:34px}.consult .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px 26px;flex-wrap:wrap}.consult h2{font-size:1.35rem;color:white;margin-bottom:5px}.consult p,.split p:last-child{margin-bottom:0}.foot>div:last-child{display:flex;flex-wrap:wrap;gap:8px 24px}.foot a{font-size:.83rem}.rows>*{padding-block:26px;border-top:1px solid var(--line)}.rows>*:last-child{border-bottom:1px solid var(--line)}dt{font-weight:bold}dd{margin:0 0 12px}.note{background:var(--pale);padding:13px 16px}.name{font-size:2.5rem}.price strong{font-size:2rem;margin-left:8px}.steps{padding-left:1.4rem}.steps li{margin-bottom:8px}.prose{max-width:770px}.prose h2{font-size:1.3rem;margin-top:28px}.prose h2:first-child{margin-top:0}form label{display:block;font-weight:700;margin-bottom:16px}input,textarea,select{width:100%;margin-top:6px;padding:9px;border:1px solid #788c9f;background:white;color:var(--text);border-radius:0;font:inherit}textarea{resize:vertical}.skip{position:absolute;top:0;left:8px;background:white;padding:8px;transform:translateY(-150%);z-index:2}.skip:focus{transform:none}#availability{overflow-wrap:anywhere}@media(max-width:890px){.head{align-items:flex-start;flex-direction:column;gap:8px}}@media(max-width:690px){.wrap{width:calc(100% - 36px)}.hero-layout,.split,.grid{grid-template-columns:1fr;gap:20px}.foot{align-items:flex-start;flex-direction:column;gap:12px}.desktop{display:none}nav{gap:2px 14px}.method{margin-top:8px}}@media(max-width:370px){.hero h1{font-size:1.85rem}.wrap{width:calc(100% - 28px)}}
.prose a{overflow-wrap:anywhere}.prose li+li{margin-top:.35em}



.prose > section + section{margin-top:2.5rem}.prose .price h2{margin-top:0}
