
.legal-doc { max-width: 780px; }

.legal-doc h2 {
  margin: var(--space-7) 0 var(--space-4);
  padding-bottom: var(--space-2);
  border-bottom: 2px solid var(--color-line);
  font-family: var(--font-heading);
  font-size: var(--fs-h3);
  font-weight: var(--fw-heading);
  line-height: 1.5;
}

.legal-doc h2:first-child { margin-top: 0; }

.legal-doc p { margin: var(--space-3) 0; }

.legal-doc ul {
  margin: var(--space-3) 0;
  padding-left: 1.4em;
  list-style: disc;
}

.legal-doc li { margin: var(--space-1) 0; }

.legal-doc a {
  color: var(--color-orange-dark);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.legal-doc a:hover { color: var(--color-orange-deep); }

.legal-doc__date {
  margin-top: var(--space-7);
  color: var(--color-muted);
  font-size: var(--fs-small);
  text-align: right;
}

.sitemap-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-7) var(--space-6);
}

@media (max-width: 1024px) {
  .sitemap-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
  .sitemap-grid { grid-template-columns: 1fr; gap: var(--space-6); }
}

.sitemap-grid__heading {
  margin: 0 0 var(--space-3);
  padding-bottom: var(--space-2);
  border-bottom: 2px solid var(--color-orange);
  font-family: var(--font-heading);
  font-size: var(--fs-h4);
  font-weight: var(--fw-heading-s);
}

.sitemap-grid__heading + .sitemap-grid__heading,
.sitemap-grid__list + .sitemap-grid__heading { margin-top: var(--space-6); }

.sitemap-grid__heading a:hover { color: var(--color-orange-dark); }

.sitemap-grid__list { display: grid; gap: var(--space-1); }

.sitemap-grid__link {
  display: inline-block;
  padding: var(--space-1) 0;
  font-size: var(--fs-small);
  transition: color var(--dur) var(--ease);
}

.sitemap-grid__link:hover { color: var(--color-orange-deep); }

.sitemap-grid__link::before {
  content: "－ ";
  color: var(--color-orange-text);
}

.sitemap-grid__sub {
  display: grid;
  gap: 1px;
  margin: 2px 0 var(--space-2);
  padding-left: var(--space-3);
  border-left: 1px solid var(--color-line);
}
