.legal-main{max-width:960px;margin:0 auto;padding:64px var(--gutter) 80px}
.legal-heading h1{font-size:clamp(36px,5vw,62px);line-height:1.12;letter-spacing:-.045em;margin:20px 0;overflow-wrap:anywhere}
.legal-heading>p:not(.section-kicker){font-size:18px;line-height:1.7;color:#4e5746}
.legal-heading .legal-date{font-size:13px}
.legal-notice{padding:22px 24px;border:1px solid #b9c9a1;border-radius:16px;background:#eaf0de;margin:30px 0}
.legal-notice strong{font-size:17px}.legal-notice p{margin:8px 0 0;font-size:15px;line-height:1.8}
.legal-toc{display:flex;flex-wrap:wrap;gap:8px 22px;padding:16px 0;border-block:1px solid var(--line)}
.legal-main a{text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.legal-toc a{display:inline-flex;align-items:center;min-height:44px;font-size:15px}
.legal-main section{padding-top:38px;scroll-margin-top:110px}
.legal-main h2{font-size:27px;line-height:1.3;letter-spacing:-.025em;margin:0 0 20px}
.legal-main h3{font-size:19px;line-height:1.5;margin:24px 0 12px}
.legal-main section p{font-size:16px;line-height:1.85;color:#444f3b;margin:0 0 18px}
.legal-pending{color:#4b573e;background:#edf0e6;border-left:3px solid #859967;padding:14px 18px}
.legal-details{margin:0}.legal-details>div{display:grid;grid-template-columns:1fr 1.4fr;gap:24px;border-bottom:1px solid var(--line);padding:18px 0;font-size:16px;line-height:1.7}
.legal-details dt{font-weight:650}.legal-details dd{margin:0;min-width:0}
@media(max-width:620px){.legal-main{padding-top:32px;padding-bottom:48px}.legal-heading h1{font-size:36px}.legal-notice{padding:18px}.legal-main h2{font-size:24px}.legal-details>div{grid-template-columns:1fr;gap:8px}}
