.policy{max-width:900px;padding-top:64px;padding-bottom:80px}
.policy h1{font-size:clamp(38px,7vw,64px);line-height:1.1;letter-spacing:-.05em;margin:0 0 18px}
.policy-date{color:var(--muted);font-size:14px}
.policy-intro{font-size:19px;line-height:1.7;margin:28px 0}
.policy-contents{display:flex;flex-wrap:wrap;gap:12px 24px;padding:24px 0;border-block:1px solid var(--line);margin:32px 0}
.policy a{color:#215ac5;text-underline-offset:3px;overflow-wrap:anywhere}
.policy section{scroll-margin-top:24px;margin-top:40px}
.policy h2{font-size:24px;line-height:1.3;letter-spacing:-.025em}
.policy section p,.policy li{line-height:1.8}
.policy li{margin-bottom:12px}
.policy ul{padding-left:24px}
.policy-contact{background:var(--pale);border:1px solid var(--line);border-radius:8px;padding:24px}
.policy-contact h2{margin-top:0}
.policy-skip{position:absolute;left:16px;top:-100px;background:var(--ink);color:white;padding:12px 18px;z-index:10}
.policy-skip:focus{top:12px}
a:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
@media(max-width:600px){.policy{padding-top:36px;padding-bottom:48px}.policy-intro{font-size:17px}.policy h2{font-size:21px}.policy-contact{padding:18px}.policy-contents{flex-direction:column}}
@media print{.site-header,.footer,.policy-skip,.policy-contents{display:none}.policy{max-width:none;padding:0}.policy-contact{background:none}.policy a{color:inherit}body{background:white;color:black}}
