.legal{padding:calc(56px + clamp(72px,14svh,150px)) var(--m) clamp(100px,16svh,180px);display:grid;grid-template-columns:minmax(0,260px) minmax(0,760px);justify-content:center;gap:0 clamp(40px,7vw,120px)}.legal__head{grid-column:1 / -1;max-width:900px;margin-bottom:clamp(56px,9svh,96px)}.legal__kicker{font-weight:800;color:var(--red-hi);font-size:clamp(17px,1.4vw,21px);margin-bottom:18px}.legal__title{font-size:clamp(48px,7vw,116px);line-height:.9;font-weight:800;letter-spacing:-.05em}.legal__lede{margin-top:26px;max-width:58ch;color:var(--soft);font-size:clamp(18px,1.5vw,22px)}.legal__date{margin-top:18px;font-size:14px;color:var(--dim);font-weight:700}.legal__toc{position:sticky;top:96px;align-self:start}.legal__toc ol{display:grid;gap:2px;counter-reset:toc}.legal__toc li{counter-increment:toc}.legal__toc a{display:flex;gap:12px;padding:9px 0;text-decoration:none;color:var(--soft);font-weight:600;font-size:15px;transition:color .16s ease}.legal__toc a:before{content:counter(toc,decimal-leading-zero);color:var(--dim);font-variant-numeric:tabular-nums;font-weight:800}.legal__toc a:hover{color:var(--on-night)}.legal__sec{grid-column:2;padding:40px 0;border-top:1px solid var(--line);scroll-margin-top:80px}.legal__sec:first-of-type{border-top:0;padding-top:0}.legal__sec h2{font-size:clamp(26px,2.4vw,36px);line-height:1.05;font-weight:800;letter-spacing:-.03em;margin-bottom:18px}.legal__sec p,.legal__sec li{color:var(--soft);font-size:18px;line-height:1.6;max-width:68ch}.legal__sec p+p,.legal__sec ul+p,.legal__sec p+ul,.legal__sec dl+p,.legal__sec p+dl{margin-top:16px}.legal__sec b{color:var(--on-night)}.legal__sec a{color:var(--red-hi)}.legal__sec ul{display:grid;gap:10px}.legal__sec ul li{position:relative;padding-left:22px}.legal__sec ul li:before{content:"";position:absolute;left:2px;top:.66em;width:8px;height:8px;border-radius:50%;background:var(--red)}.legal__card{margin:0;display:grid;gap:2px;border-radius:18px;overflow:hidden}.legal__card div{display:grid;grid-template-columns:minmax(130px,.4fr) 1fr;gap:16px;padding:14px 20px;background:var(--night-2)}.legal__card dt{font-weight:800;color:var(--on-night);font-size:16px}.legal__card dd{margin:0;color:var(--soft);font-size:16px}@media (max-width: 860px){.legal{grid-template-columns:1fr}.legal__toc{position:static;margin-bottom:40px;padding:20px;border-radius:18px;background:var(--night-2)}.legal__sec{grid-column:1}.legal__card div{grid-template-columns:1fr;gap:4px}}
