/* リセット・背景・タイポ */

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

/* リセット・背景・タイポ */

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

:root {
  --bg-base: #3b2a1a;
  /* 中央付近 */
  --bg-dark: #1a120d;
  /* 外周の地の色 */
  --fg: #f5f5f5;
  --muted: #d5c7b8;
  /* p用に追加 */
}

body {
  margin: 0;
  color: var(--fg);
  font-family: "ZenOldMincho", "Yu Mincho", "Hiragino Mincho ProN", "游明朝",
    "MS PMincho", serif;
  font-weight: 700;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;

  /* 下地：濃い茶色のグラデーション */
  background: radial-gradient(
      circle at 50% 50%,
      rgba(0, 0, 0, 0) 0%,
      rgba(0, 0, 0, 0) 55%,
      rgba(0, 0, 0, 0.55) 100%
    ),
    /* ← ビネット（上のレイヤー） */
      linear-gradient(135deg, var(--bg-base), var(--bg-dark));
  /* ← 地 */
  background-attachment: fixed;
  /* ゆるい高級感 */
}

body::before {
  content: none;
}

h/* 全体文字サイズ（PCを小さめに） */
html {
  font-size: 14px; /* ← PC基準を小さく */
}

@media (max-width: 768px) {
  html {
    font-size: 15px; /* スマホは少し大きめ */
  }
}

/* 本文基本設定 */
body {
  margin: 0;
  color: var(--fg);
  font-family: "ZenOldMincho", "Yu Mincho", "Hiragino Mincho ProN", "游明朝",
    "MS PMincho", serif;
  font-weight: 700;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;

  /* 背景（そのまま維持） */
  background: radial-gradient(
      circle at 50% 50%,
      rgba(0, 0, 0, 0) 0%,
      rgba(0, 0, 0, 0) 55%,
      rgba(0, 0, 0, 0.55) 100%
    ),
    linear-gradient(135deg, var(--bg-base), var(--bg-dark));
  background-attachment: fixed;
}

/* 見出し類 */
h1,
h2,
h3,
h4,
h5,
h6,
.header-title,
.section-title {
  font-family: "DMSerifDisplay", serif !important;
  font-weight: 400;
  letter-spacing: 0.05em;
  color: var(--fg);
  line-height: 1.3;
}

/* 見出しサイズ（PC小さめ調整） */
h1,
.section-title {
  font-size: clamp(22px, 3.4vw, 34px);
}

h2 {
  font-size: clamp(20px, 3vw, 28px);
}

h3 {
  font-size: clamp(18px, 2.6vw, 24px);
}

/* 本文 */
p,
li,
td,
th {
  color: var(--muted);
  font-size: 0.95rem; /* 約13〜14px */
  line-height: 1.7;
  font-weight: 500;
}

/* NEWS空行の色とサイズも継承 */
.news-wrap .news-empty {
  background: none !important;
  color: var(--fg) !important;
  font-size: 0.95rem !important;
  text-align: center !important;
  padding: 20px 12px !important;
  font-weight: 600 !important;
  text-shadow: none !important;
}
