:root {
  color-scheme: light;
  --night: #263750;
  --night-deep: #17263d;
  --ink: #273142;
  --sub: #5f6876;
  --line: #ddd6c9;
  --paper: #fffdf8;
  --flame: #d7832f;
  --soft: #f6efe3;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Yu Gothic", sans-serif;
  line-height: 1.85;
}
a { color: #9a551d; }
a:hover { color: var(--flame); }
.legal-header {
  background: var(--night);
  color: #fff8e8;
  padding: 34px 24px;
}
.legal-header__inner, .legal-main, .legal-footer__inner {
  width: min(820px, 100%);
  margin: 0 auto;
}
.brand {
  color: #fff8e8;
  font-weight: 800;
  text-decoration: none;
  letter-spacing: .02em;
}
.brand span { color: #f0b55a; }
.legal-header h1 { margin: 22px 0 6px; font-size: clamp(1.65rem, 5vw, 2.3rem); }
.legal-header p { margin: 0; color: #d8deea; font-size: .92rem; }
.legal-main { padding: 46px 24px 72px; }
.summary {
  margin: 0 0 38px;
  padding: 20px 22px;
  border: 1px solid #ead8ba;
  border-radius: 14px;
  background: #fff7e8;
}
.summary p:last-child { margin-bottom: 0; }
h2 { margin: 44px 0 14px; padding-bottom: 8px; border-bottom: 1px solid var(--line); font-size: 1.3rem; }
h3 { margin: 28px 0 8px; font-size: 1.05rem; }
p, li { font-size: .96rem; }
li + li { margin-top: 7px; }
table { width: 100%; border-collapse: collapse; margin: 16px 0 26px; font-size: .9rem; }
th, td { border: 1px solid var(--line); padding: 10px 12px; text-align: left; vertical-align: top; }
th { background: var(--soft); }
.note { color: var(--sub); font-size: .88rem; }
.legal-footer { background: var(--night-deep); color: #c8d0dd; padding: 30px 24px; }
.legal-footer a { color: #f0c77d; margin-right: 16px; }
.legal-footer p { margin: 10px 0 0; font-size: .82rem; }
@media (max-width: 640px) {
  table, tbody, tr, th, td { display: block; }
  tr { margin-bottom: 14px; }
  th { border-bottom: 0; }
}
