/* 法務ページ共通スタイル */
.legal-doc {
  max-width: 640px;
  margin: 0 auto;
  padding: 32px 20px 72px;
}
.legal-doc h1 {
  font-family: var(--serif);
  font-size: 22px;
  letter-spacing: .12em;
  color: var(--gold-soft);
  margin-bottom: 24px;
  text-align: center;
}
.legal-doc h2 {
  font-family: var(--serif);
  font-size: 16px;
  letter-spacing: .08em;
  color: var(--gold-soft);
  margin: 28px 0 10px;
  padding-left: 10px;
  border-left: 3px solid var(--gold);
}
.legal-doc p, .legal-doc li {
  font-size: 13.5px;
  color: var(--text);
  margin-bottom: 10px;
}
.legal-doc ul, .legal-doc ol { padding-left: 22px; margin-bottom: 14px; }
.legal-doc .note { font-size: 11.5px; color: var(--text-dim); }
.legal-doc a { color: var(--gold-soft); }

.legal-table {
  width: 100%;
  border-collapse: collapse;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 12px;
  overflow: hidden;
  display: block;
}
.legal-table tr { display: block; border-bottom: 1px solid rgba(212,175,55,.15); }
.legal-table tr:last-child { border-bottom: none; }
.legal-table th, .legal-table td { display: block; text-align: left; padding: 10px 16px; }
.legal-table th {
  font-size: 12px; color: var(--gold-soft); letter-spacing: .08em;
  padding-bottom: 0;
}
.legal-table td { font-size: 13.5px; padding-top: 4px; }

.legal-date { margin-top: 28px; font-size: 12px; color: var(--text-dim); }
.back-link { display: inline-block; margin-top: 10px; font-size: 13.5px; }

.placeholder-warn {
  background: rgba(224,106,122,.10);
  border: 1px dashed rgba(224,106,122,.5);
  border-radius: 10px;
  padding: 12px 14px;
  font-size: 12px !important;
  color: var(--danger) !important;
  margin-bottom: 20px;
}
