.legal-main{padding-top:48px;padding-bottom:58px}
.legal-heading{text-align:center;margin:0 0 28px}
.legal-heading>p{font-size:11px;font-weight:700;letter-spacing:.16em;color:#7192c9}
.legal-heading h1{font-size:38px;color:#162d57;margin:16px 0}
.legal-heading>span{font-size:14px;color:#758299;line-height:1.9}
.legal-meta{font-size:12px;color:#8a99ad;margin:18px 0}
.legal-notice{background:#eaf1ff;border:1px solid #d7e3fb;border-radius:10px;padding:20px 26px;color:#45628e;margin-bottom:28px}
.legal-notice strong{font-size:14px}
.legal-notice p{font-size:13px;line-height:1.9;margin:7px 0 0}
.legal-layout{display:grid;grid-template-columns:235px minmax(0,1fr);gap:28px;align-items:start}
.legal-toc{position:sticky;top:90px;background:#fff;border:1px solid #e4eaf4;border-radius:10px;padding:22px 18px;display:grid;gap:13px}
.legal-toc b{font-size:14px;color:#223b63;margin-bottom:5px}
.legal-toc a{font-size:12px;color:#70809a;line-height:1.7}
.legal-toc a:hover{color:#3867f3}
.legal-content{min-width:0;background:#fff;border-radius:12px;border:1px solid #e4eaf4;padding:14px 35px 30px}
.legal-content section{scroll-margin-top:90px;padding:22px 0;border-bottom:1px solid #edf0f5}
.legal-content h2{font-size:20px;line-height:1.6;color:#213c68;margin:0 0 16px}
.legal-content p,.legal-content li{font-size:14px;line-height:2;color:#667790;overflow-wrap:anywhere}
.legal-content p{margin:10px 0}.legal-content ul{padding-left:22px}
.legal-content strong{font-weight:700;color:#354d73}
.legal-table{overflow-x:auto;margin:18px 0}
.legal-table table{width:100%;min-width:450px;border-collapse:collapse;text-align:left;font-size:12px;line-height:1.8}
.legal-table th,.legal-table td{border:1px solid #e1e8f4;padding:12px;vertical-align:top;color:#60728d}
.legal-table th{background:#f0f5ff;color:#395783}
.legal-related{display:flex;flex-wrap:wrap;gap:24px;padding-top:24px;font-size:13px;color:#3867f3}
.legal-main a:focus-visible{outline:2px solid #3867f3;outline-offset:4px}
@media(max-width:900px){.legal-layout{grid-template-columns:1fr}.legal-toc{position:static;grid-template-columns:1fr 1fr}.legal-toc b{grid-column:1/-1}}
@media(max-width:600px){.legal-main{padding-top:28px}.legal-heading h1{font-size:30px}.legal-content{padding:8px 20px 25px}.legal-content h2{font-size:18px}.legal-notice{padding:18px}.legal-toc{gap:10px}.legal-content p,.legal-content li{font-size:13px}}
