:root{color-scheme:light;--ink:#193747;--muted:#536d7b;--accent:#087c9e;--line:#d8e9ed;--surface:#fff;--background:#f4fafb}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--background);color:var(--ink);font-family:system-ui,-apple-system,"Segoe UI","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-height:1.85}
a{color:var(--accent);text-underline-offset:.18em}
a:hover{color:#075f7a}
a:focus-visible{outline:3px solid #47bfd5;outline-offset:3px;border-radius:3px}
.container{width:min(100% - 2.5rem,880px);margin-inline:auto}
.site-header{background:var(--surface);border-bottom:1px solid var(--line)}
.header-inner,.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-block:1rem}
.brand{color:var(--ink);font-weight:700;text-decoration:none;letter-spacing:.01em}
.site-header nav a{font-size:.9rem;white-space:nowrap}
.hero{padding:clamp(3rem,7vw,5.25rem) 0 2.5rem}
.eyebrow{margin:0 0 .75rem;color:var(--accent);font-size:.82rem;font-weight:700;letter-spacing:.08em}
h1,h2,h3{line-height:1.4;letter-spacing:.01em}
h1{margin:.25rem 0 1.4rem;font-size:clamp(2rem,4.5vw,3rem)}
h2{margin:0 0 1.1rem;font-size:clamp(1.35rem,3vw,1.7rem)}
h3{margin:2rem 0 .5rem;font-size:1.08rem}
p{margin:.7rem 0 0}.lead{font-size:1.13rem;line-height:1.9}
.content-card{margin:0 0 4rem;padding:clamp(1.5rem,4vw,2.8rem);background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 35px rgba(29,88,109,.045)}
.content-card>p+h3{margin-top:2rem}.link-row{margin-top:2rem}.text-link{font-weight:600}
.page-heading{padding:clamp(2.5rem,6vw,4rem) 0 1.8rem}.page-heading p:last-child{max-width:45rem}
.policy-content section+section{border-top:1px solid var(--line);margin-top:1.75rem;padding-top:1.75rem}
.policy-content h2{font-size:1.18rem;margin:0}.policy-content p{margin-top:.55rem}
.site-footer{border-top:1px solid var(--line);background:#edf6f8}.site-footer a{font-size:.9rem}.copyright{display:block;color:var(--muted);font-size:.78rem}
@media(max-width:540px){.container{width:min(100% - 2rem,880px)}.header-inner,.footer-inner{align-items:flex-start;flex-direction:column}.site-header nav a{font-size:.88rem}.hero{padding-top:2.5rem}.content-card{margin-bottom:2.5rem}}
