/* Legal pages (terms, privacy, 特商法, refund): the LP's header and footer, a calm reading column between them. */
.legal { width: min(760px, calc(100% - 40px)); margin: 0 auto; padding: 88px 0 120px; }
.legal-head { padding-bottom: 32px; margin-bottom: 40px; border-bottom: 1px solid #ffffff12; }
.legal-head .eyebrow { display: block; margin-bottom: 14px; }
.legal h1 { margin: 0; font-size: clamp(26px, 3vw, 36px); line-height: 1.35; font-weight: 600; letter-spacing: .02em; color: #fff; }
.legal-head p { margin: 14px 0 0; font-size: 13px; color: #ffffff70; letter-spacing: .04em; }
.legal-body { font-size: 14.5px; line-height: 1.95; color: #ffffffb3; }
.legal-body h2 { margin: 52px 0 14px; font-size: 17px; line-height: 1.5; font-weight: 600; color: #fff; letter-spacing: .02em; }
.legal-body h2:first-child { margin-top: 0; }
.legal-body p { margin: 0 0 14px; }
.legal-body ul, .legal-body ol { margin: 0 0 14px; padding-left: 1.4em; }
.legal-body li { margin: 6px 0; padding-left: .2em; }
.legal-body li::marker { color: #ffffff55; }
.legal-body strong { color: #fff; font-weight: 600; }
.legal-body a { color: #fff; text-decoration: none; border-bottom: 1px solid #96d7d980; transition: border-color .2s; }
.legal-body a:hover { border-color: #96d7d9; }
.legal-body table { width: 100%; border-collapse: collapse; margin: 6px 0 18px; font-size: 14px; }
.legal-body th, .legal-body td { text-align: left; vertical-align: top; padding: 18px 0; border-bottom: 1px solid #ffffff12; }
.legal-body tr:first-child th, .legal-body tr:first-child td { border-top: 1px solid #ffffff12; }
.legal-body th { width: 30%; padding-right: 24px; font-weight: 500; color: #ffffffe0; }
.legal-body thead th { color: #ffffff80; font-size: 12.5px; font-weight: 500; }
.legal-body td { color: #ffffffb3; }
.legal-table tr:first-child th, .legal-table tr:first-child td { border-top: 0; }
.legal-foot { margin-top: 64px; padding-top: 22px; border-top: 1px solid #ffffff12; font-size: 13px; color: #ffffff70; }
.legal-foot a { color: #ffffffcc; }
@media (max-width: 680px) {
  .legal { padding: 52px 0 80px; }
  .legal-body { font-size: 14px; }
  .legal-body th, .legal-body td { display: block; width: auto; padding: 0; border: 0; }
  .legal-body tr { display: block; padding: 16px 0; border-bottom: 1px solid #ffffff12; }
  .legal-body th { margin-bottom: 4px; }
}
