/* ===== LEGAL PAGES (terms / privacy) ===== */
.container {
  max-width: 800px;
  margin: 0 auto;
  padding: clamp(96px, 12vw, 140px) var(--px) clamp(64px, 8vw, 96px);
}

.header.is-hidden ~ .container {
  padding-top: clamp(24px, 4vw, 48px);
}

.from-lp .header.is-hidden ~ .container {
  padding-top: clamp(96px, 12vw, 140px);
}

article h1 {
  font-size: clamp(22px, 3vw, 32px);
  font-weight: 700;
  line-height: 1.4;
  color: var(--color-dark);
  margin-bottom: 32px;
}

article h2 {
  font-size: clamp(17px, 2vw, 22px);
  font-weight: 600;
  line-height: 1.5;
  color: var(--color-dark);
  margin-top: 40px;
  margin-bottom: 16px;
}

article h3 {
  font-size: clamp(15px, 1.6vw, 18px);
  font-weight: 600;
  line-height: 1.5;
  color: var(--color-dark);
  margin-top: 24px;
  margin-bottom: 12px;
}

article p {
  font-size: clamp(14px, 1.3vw, 16px);
  font-weight: 400;
  line-height: 1.8;
  color: var(--color-text);
  margin-bottom: 16px;
}

article ol {
  padding-left: 1.5em;
  margin-bottom: 16px;
}

article ol li {
  font-size: clamp(14px, 1.3vw, 16px);
  line-height: 1.8;
  color: var(--color-text);
  margin-bottom: 8px;
}

article ol ol {
  margin-top: 8px;
  margin-bottom: 0;
  list-style: none;
  counter-reset: nested-ol;
  padding-left: 2.5em;
}

article ol ol > li {
  counter-increment: nested-ol;
  position: relative;
}

article ol ol > li::before {
  content: '(' counter(nested-ol) ')';
  position: absolute;
  left: -2.5em;
  width: 2.2em;
  text-align: right;
}

article ul {
  padding-left: 1.5em;
  margin-bottom: 16px;
  list-style: disc;
}

article ul[role='list'] {
  list-style: none;
  padding-left: 0;
}

article ul[role='list'] li {
  font-size: clamp(14px, 1.3vw, 16px);
  line-height: 1.8;
  color: var(--color-text);
  margin-bottom: 8px;
  padding-left: 1em;
  text-indent: -1em;
}

/* ネストされたリストはインデントを付ける（ぶら下げ字下げを保つため text-indent は維持） */
article ul[role='list'] ul[role='list'] {
  padding-left: 1.5em;
}

article dl {
  margin-bottom: 16px;
}

article dt {
  font-size: clamp(14px, 1.3vw, 16px);
  font-weight: 600;
  line-height: 1.8;
  color: var(--color-dark);
  margin-top: 16px;
  margin-bottom: 4px;
}

article dd {
  font-size: clamp(14px, 1.3vw, 16px);
  line-height: 1.8;
  color: var(--color-text);
  padding-left: 1.5em;
  margin-bottom: 8px;
}

article a {
  color: var(--color-primary);
  text-decoration: underline;
}

article strong {
  font-weight: 600;
  color: var(--color-dark);
}
