.legal-document {
  max-width: 820px;
  margin: 0 auto;
  padding: 64px 24px 96px;
  color: #2d3033;
}

.legal-document__header { margin-bottom: 40px; }
.legal-document__title {
  margin: 0 0 10px;
  color: #2d3033;
  font-size: clamp(28px, 5vw, 38px);
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -.01em;
}
.legal-document__org { margin: 0 0 20px; color: #2f80ed; font-size: 18px; font-weight: 600; }
.legal-document__rule { width: 64px; height: 3px; margin: 0 0 28px; border: 0; background: #2f80ed; }
.legal-document__intro { color: #657b8c; font-size: 16px; }
.legal-document__version { margin: 0; color: #657b8c; font-size: 14px; font-weight: 600; letter-spacing: .01em; }
.legal-document section { margin-top: 38px; scroll-margin-top: 24px; }
.legal-document h2 { margin: 0 0 14px; padding-top: 8px; color: #2f80ed; font-size: 20px; font-weight: 700; }
.legal-document h3 { margin: 20px 0 10px; color: #2d3033; font-size: 16px; font-weight: 700; }
.legal-document p { margin: 0 0 16px; text-align: justify; }
.legal-document ul { margin: 0 0 16px; padding-left: 0; list-style: none; }
.legal-document li { position: relative; margin-bottom: 10px; padding-left: 22px; text-align: justify; }
.legal-document li::before { content: ""; position: absolute; top: 10px; left: 4px; width: 6px; height: 6px; border-radius: 50%; background: #2f80ed; }
.legal-document strong { font-weight: 600; }
.legal-document a { color: #2f80ed; }
.legal-toc { margin: 36px 0; padding: 22px 26px; border-radius: 6px; background: #f5f7fa; }
.legal-toc h2 { margin: 0 0 12px; padding: 0; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; font-size: 16px; letter-spacing: .05em; text-transform: uppercase; }
.legal-toc ol { margin: 0; padding-left: 20px; columns: 2; column-gap: 36px; font-size: 14.5px; }
.legal-toc li { break-inside: avoid; margin-bottom: 6px; padding-left: 0; }
.legal-toc li::before { display: none; }
.legal-toc a { color: #2d3033; text-decoration: none; }
.legal-toc a:hover { color: #2f80ed; text-decoration: underline; }
.legal-document__notice, .legal-document__accept { margin-top: 48px; padding: 24px 26px; border-top: 3px solid #2f80ed; border-radius: 4px; background: #f5f7fa; }
.legal-document__notice { margin: 0 0 32px; border-color: #e0a800; background: #fff8df; }
.legal-document__notice p, .legal-document__accept p { margin-bottom: 0; }
.legal-document__notice strong { color: #745900; }
.legal-document__accept h2 { padding-top: 0; }
.legal-document__updated { margin-top: 28px; color: #657b8c; font-size: 14px; font-style: italic; }
.legal-placeholder { padding: 1px 5px; border-radius: 3px; background: #fff0bd; font-weight: 600; }

@media (max-width: 560px) { .legal-toc ol { columns: 1; } }
@media print {
  body { font-size: 12px; }
  .legal-document { max-width: 100%; padding: 0; }
  .legal-toc, .legal-document__notice { break-inside: avoid; }
  .legal-placeholder { border: 1px dashed #999; background: none; }
}
