.legal-page{padding-bottom:80px}
.legal-document{max-width:900px;margin:0 auto}
.legal-heading{padding:32px 0 28px;border-bottom:1px solid #e6e6e2}
.legal-heading h1{font-size:clamp(30px,4vw,44px);line-height:1.3;letter-spacing:-.04em;margin:22px 0 14px}
.legal-heading>p{font-size:16px;line-height:1.8;color:#646870;word-break:keep-all}
.legal-heading .legal-date{font-size:13px;margin-top:14px}
.legal-toc{padding:24px 28px;margin:28px 0 36px;border:1px solid #e7e6df;border-radius:18px;background:#fafaf7}
.legal-toc strong{font-size:15px}
.legal-toc ol{list-style:none;padding:0;margin:12px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px}
.legal-toc a{font-size:14px;line-height:1.6;text-decoration:underline;text-underline-offset:4px}
.legal-body{font-size:16px;line-height:1.85;overflow-wrap:anywhere}
.legal-body section{margin-top:36px}
.legal-body h2{font-size:22px;line-height:1.5;letter-spacing:-.025em;margin:0 0 14px;scroll-margin-top:120px}
.legal-body p{margin:12px 0;color:#464a50;line-height:1.85}
.legal-body ul,.legal-body ol{padding-left:24px;margin:12px 0}
.legal-body li{margin:7px 0;color:#464a50}
.legal-body a{text-decoration:underline;text-underline-offset:3px}
.legal-body .migration-table{max-width:100%;overflow-x:auto;border:1px solid #e5e5df;border-radius:12px;margin:20px 0;-webkit-overflow-scrolling:touch}
.legal-body table{width:100%;min-width:620px;border-collapse:collapse;font-size:14px;line-height:1.7}
.legal-body th,.legal-body td{padding:14px 16px;text-align:left;vertical-align:top;border-bottom:1px solid #e9e9e3}
.legal-body th{background:#f6f6ef;font-weight:700;white-space:nowrap}
.legal-body tr:last-child td{border-bottom:0}
.legal-bottom{display:flex;gap:12px;flex-wrap:wrap;margin-top:44px;padding-top:28px;border-top:1px solid #e6e6e2}
.legal-page a:focus-visible,.legal-page [tabindex]:focus-visible{outline:3px solid #d5bd00;outline-offset:5px}
@media(max-width:640px){.legal-page{padding-bottom:48px}.legal-heading{padding-top:20px}.legal-toc{padding:20px;margin:24px 0 30px}.legal-toc ol{grid-template-columns:1fr}.legal-body h2{font-size:20px}.legal-body section{margin-top:30px}.legal-body th,.legal-body td{padding:12px}.legal-bottom .btn{flex:1;text-align:center}}
