:root{--ink:#06100f;--text:#f5f3ee;--muted:rgba(255,255,255,.64);--line:rgba(255,255,255,.12);--sakura:#f1a7ad;--cyan:#7bddd7}*{box-sizing:border-box}html{background:var(--ink);scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 84% 2%,rgba(123,221,215,.09),transparent 25%),radial-gradient(circle at 6% 22%,rgba(241,167,173,.07),transparent 24%),var(--ink);color:var(--text);font-family:"DM Sans",system-ui,sans-serif;font-size:17px;line-height:1.75}a{color:var(--cyan);text-decoration:none}a:hover{color:#fff}.legal-nav{height:76px;padding:0 max(4vw,22px);display:flex;align-items:center;border-bottom:1px solid var(--line);background:rgba(6,16,15,.86);backdrop-filter:blur(12px);position:sticky;top:0;z-index:10}.legal-brand{display:flex;align-items:center;gap:11px;color:#fff;font-size:.8rem;font-weight:600;letter-spacing:.18em}.legal-brand span{width:32px;height:32px;border:1px solid rgba(255,255,255,.45);border-radius:50%;display:grid;place-items:center;font-family:"Noto Serif JP"}.legal-nav nav{margin-left:auto;display:flex;gap:18px;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}.legal-wrap{width:min(900px,calc(100% - 36px));margin:0 auto;padding:80px 0 100px}.legal-wrap>h1{font:500 clamp(2.8rem,7vw,5.8rem)/1.05 "Noto Serif JP",serif;letter-spacing:-.045em;margin:0 0 22px}.legal-wrap>p:first-of-type{color:var(--sakura);font-size:.82rem;letter-spacing:.05em}.legal-wrap h2{font:500 clamp(1.45rem,3vw,2.1rem)/1.3 "Noto Serif JP",serif;margin:58px 0 14px;padding-top:18px;border-top:1px solid var(--line)}.legal-wrap h3{font-size:1rem;margin:30px 0 8px}.legal-wrap p,.legal-wrap li{color:var(--muted)}.legal-wrap strong{color:#fff}.legal-wrap code{color:var(--cyan);overflow-wrap:anywhere}.legal-wrap ul{padding-left:22px}.legal-footer{border-top:1px solid var(--line);padding:26px max(4vw,22px);display:flex;gap:20px;align-items:center;color:rgba(255,255,255,.48);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.legal-footer nav{margin-left:auto;display:flex;gap:18px}@media(max-width:620px){body{font-size:16px}.legal-nav{height:auto;min-height:68px;flex-wrap:wrap;padding-top:13px;padding-bottom:13px}.legal-nav nav{width:100%;margin:9px 0 0;gap:14px}.legal-wrap{padding-top:48px}.legal-footer{display:block}.legal-footer nav{margin:12px 0 0;flex-wrap:wrap}}
