:root { color-scheme: light; --paper:#f8f8f5; --ink:#1f302b; --muted:#5b6963; --line:#d8dfd9; --accent:#285e49; }
* { box-sizing:border-box; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif; line-height:1.9; overflow-wrap:anywhere; }
a { color:var(--accent); text-underline-offset:.2em; }
a:hover { text-decoration-thickness:2px; }
a:focus-visible { outline:3px solid #b1cbbd; outline-offset:5px; border-radius:2px; }
.site-header,main,footer { width:min(100% - 48px,860px); margin-inline:auto; }
.site-header { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:92px; border-bottom:1px solid var(--line); }
.wordmark { color:var(--ink); text-decoration:none; font-size:20px; font-weight:700; letter-spacing:-.04em; }
nav { font-size:13px; }
main { padding-block:64px 72px; }
.eyebrow { color:var(--accent); font-size:13px; font-weight:600; letter-spacing:.06em; margin:0 0 20px; }
h1 { font-size:clamp(28px,4.6vw,44px); line-height:1.5; letter-spacing:-.045em; margin:0 0 28px; font-weight:650; }
.lead { font-size:18px; color:var(--muted); max-width:720px; margin-bottom:48px; }
section { border-top:1px solid var(--line); padding-top:22px; margin-top:32px; }
h2 { font-size:19px; line-height:1.6; margin:0 0 14px; }
p { margin:0 0 16px; }
.date { color:var(--muted); font-size:13px; margin-top:-12px; margin-bottom:28px; }
.policy h1 { font-size:clamp(27px,4.2vw,38px); }
.policy section { margin-top:28px; }
footer { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; border-top:1px solid var(--line); padding-block:22px 32px; color:var(--muted); font-size:12px; }
@media(max-width:540px) { .site-header,main,footer { width:calc(100% - 36px); } .site-header { min-height:84px; align-items:flex-start; justify-content:flex-start; flex-direction:column; gap:2px; padding-block:17px; } main { padding-block:40px 48px; } .lead { font-size:16px; margin-bottom:34px; } h1 br { display:none; } }
