:root{--ink:#17131b;--paper:#fff;--soft:#efebfa;--soft2:#faf6ec;--accent:#6c5ce7;--accent-deep:#4b3fb5;--muted:#726d78;--line:rgba(23,19,27,.18)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--soft2);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-height:1.8}
a{color:inherit}
.site-header,.site-footer{background:var(--paper);text-align:center}
.site-header{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:22px 20px 0}
.brand{display:inline-block;color:var(--ink);font-family:Georgia,"Times New Roman",serif;font-size:34px;font-weight:700;letter-spacing:.12em;text-decoration:none}
.brand span{color:var(--accent);font-size:.46em;vertical-align:.75em}
.site-header>p{margin:4px 0 18px;color:var(--muted);font-size:9px;font-weight:700;letter-spacing:.3em}
.site-header nav{display:flex;justify-content:center;gap:28px;border-top:1px solid var(--line);padding:11px 10px 10px}
.site-header nav a{position:relative;font-family:Georgia,"Times New Roman",serif;font-size:10px;font-weight:700;letter-spacing:.18em;text-decoration:none}
.site-header nav a.is-current{color:var(--accent-deep)}
.site-header nav a.is-current::after{position:absolute;right:0;bottom:-11px;left:0;height:2px;background:var(--accent);content:""}
.policy-shell{width:min(calc(100% - 36px),760px);max-width:760px;margin:48px auto 70px}
.policy-hero{position:relative;padding:46px 48px;background:var(--soft);border:1px solid var(--ink);box-shadow:10px 10px 0 rgba(108,92,231,.13)}
.policy-hero::after{position:absolute;top:24px;right:28px;color:var(--accent);content:"✦";font-size:22px}
.eyebrow{margin:0 0 8px;color:var(--accent-deep);font-family:Georgia,"Times New Roman",serif;font-size:10px;font-weight:700;letter-spacing:.22em}
.policy-hero h1{margin:0;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(30px,5vw,46px);font-weight:600;letter-spacing:.04em;line-height:1.35}
.policy-hero>p:not(.eyebrow){max-width:560px;margin:16px 0 0;color:#4f4955;font-size:14px}
.policy-hero dl{display:flex;gap:28px;margin:30px 0 0;padding-top:17px;border-top:1px solid rgba(23,19,27,.22)}
.policy-hero dl div{display:flex;gap:10px}.policy-hero dt{color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.12em}.policy-hero dd{margin:0;font-size:11px;font-weight:700}
.policy-index{margin-top:38px;padding:28px 32px;background:var(--paper);border:1px solid var(--line)}
.policy-index>p{margin:0 0 14px;color:var(--accent-deep);font-family:Georgia,"Times New Roman",serif;font-size:10px;font-weight:700;letter-spacing:.2em}
.policy-index ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 32px;margin:0;padding-left:20px}
.policy-index a{font-size:12px;text-decoration-thickness:1px;text-underline-offset:4px}
.policy-content{margin-top:22px;background:var(--paper);border:1px solid var(--ink)}
.policy-content section{position:relative;padding:44px 48px;border-top:1px solid var(--line);scroll-margin-top:18px}.policy-content section:first-child{border-top:0}
.section-number{position:absolute;top:43px;right:45px;margin:0;color:rgba(108,92,231,.28);font-family:Georgia,"Times New Roman",serif;font-size:25px;font-style:italic}
.policy-content h2{margin:0 45px 19px 0;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:22px;letter-spacing:.05em;line-height:1.5}
.policy-content p{margin:15px 0 0;font-size:13px}.policy-content h2+p{margin-top:0}.policy-content ul{margin:18px 0;padding-left:1.35em}.policy-content li{margin:8px 0;font-size:13px}.policy-content strong{font-weight:700}
.contact-section{background:linear-gradient(135deg,var(--soft),#fff 70%)}.contact-section dl{margin:0}.contact-section dl div{display:grid;grid-template-columns:90px 1fr;gap:14px;padding:11px 0;border-bottom:1px solid var(--line)}
.contact-section dt{color:var(--muted);font-size:11px;font-weight:700}.contact-section dd{margin:0;font-size:12px;font-weight:700}
.contact-note{padding:17px 19px;background:var(--paper);border-left:4px solid var(--accent)}.contact-note strong{display:block;margin-bottom:3px;color:var(--accent-deep)}
.official-references{margin-top:22px;padding:30px 34px;background:var(--paper);border:1px solid var(--line)}.official-references h2{margin:0;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:18px}.official-references ul{margin:14px 0 0;padding-left:1.25em}.official-references li{margin:7px 0;font-size:11px}.official-references a{text-underline-offset:3px}
.site-footer{border-top:1px solid var(--ink);padding:28px 20px 32px}.brand--small{font-size:22px}.site-footer p{margin:8px 0 0;color:var(--muted);font-size:9px;letter-spacing:.22em}
@media (max-width:640px){.site-header{padding-top:18px}.brand{font-size:30px}.site-header nav{gap:22px}.policy-shell{width:min(calc(100% - 24px),760px);margin:28px auto 48px}.policy-hero{padding:34px 26px;box-shadow:6px 6px 0 rgba(108,92,231,.13)}.policy-hero::after{top:18px;right:19px}.policy-hero>p:not(.eyebrow){font-size:13px}.policy-hero dl{display:grid;gap:7px}.policy-index{padding:24px 22px}.policy-index ol{grid-template-columns:1fr;gap:5px}.policy-content section{padding:34px 25px}.section-number{top:32px;right:23px;font-size:21px}.policy-content h2{font-size:20px}.policy-content p,.policy-content li{font-size:12.5px;line-height:1.85}.contact-section dl div{grid-template-columns:1fr;gap:2px}.official-references{padding:25px 23px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
