/* ==========================================================================
   AXIS DREAM CAMP - terms.css
   利用規約ページ専用スタイル
   ========================================================================== */
.page_hero {
  padding-block: calc(var(--header-height) + 56px) 40px;
  background: var(--color-bg-cream);
}
.breadcrumb {
  font-size: 1.3rem;
  color: var(--color-muted);
  margin-bottom: 16px;
}
.breadcrumb_link { color: var(--color-green-dark); font-weight: 700; }
.breadcrumb_sep { margin-inline: 8px; }
.page_hero_heading {
  font-family: var(--font-heading);
  font-weight: 900;
  font-size: 3.2rem;
  color: var(--color-heading);
  letter-spacing: 0.02em;
}
@media (max-width: 568px) {
  .page_hero_heading { font-size: 2.4rem; }
}

.legal { padding-block: 56px 96px; }
.legal_updated {
  font-size: 1.3rem;
  color: var(--color-muted);
  text-align: right;
  margin-bottom: 32px;
}
.legal_text { font-size: 1.5rem; line-height: 1.9; color: var(--color-body); }
.legal_section { margin-top: 40px; }
.legal_section_title {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 1.9rem;
  color: var(--color-heading);
  padding-bottom: 12px;
  margin-bottom: 16px;
  border-bottom: 2px solid var(--color-border);
}
.legal_list { margin-top: 12px; display: flex; flex-direction: column; gap: 8px; }
.legal_list li {
  font-size: 1.5rem;
  line-height: 1.8;
  color: var(--color-body);
  padding-left: 1.4em;
  position: relative;
}
.legal_list li::before {
  content: "";
  position: absolute;
  left: 0.3em;
  top: 0.85em;
  width: 6px;
  height: 6px;
  border-radius: 9999px;
  background: var(--color-green);
}
.legal_table_box {
  margin-top: 12px;
  background: var(--color-bg-cream);
  border: 1px solid var(--color-border);
  border-radius: 12px;
  padding: 8px 24px;
}
.legal_table_row {
  display: flex;
  gap: 16px;
  padding-block: 12px;
  border-bottom: 1px solid var(--color-border);
  font-size: 1.4rem;
}
.legal_table_row:last-child { border-bottom: 0; }
.legal_table_row dt { flex: 0 0 100px; font-weight: 700; color: var(--color-strong); }
.legal_table_row dd { color: var(--color-body); }
.legal_link { color: var(--color-green-dark); font-weight: 700; }
.legal_back { margin-top: 56px; text-align: center; }

@media (max-width: 568px) {
  .legal_section_title { font-size: 1.7rem; }
  .legal_table_row { flex-direction: column; gap: 4px; }
  .legal_table_row dt { flex-basis: auto; }
}

/* body.is_subpage の場合、ヘッダーを常時濃色表示にする */
body.is_subpage .header {
  background:
    radial-gradient(160% 280% at 6% -100%, rgba(56, 186, 100, 0.8), transparent 52%),
    radial-gradient(140% 280% at 94% 220%, rgba(3, 36, 14, 0.85), transparent 48%),
    radial-gradient(110% 240% at 50% 30%, rgba(20, 130, 62, 0.55), transparent 58%),
    #04350f;
  box-shadow: 0 2px 12px rgba(0,0,0,0.12);
}
