/* ===== 見出しフォントを全セクションで DMSerifDisplay に統一 ===== */
/* セクション配下の見出し（ABOUT, MENU, ACCESS, RECRUIT など） */
.section > .container > h1,
.section > .container > h2,
.section > .container > h3,
.section .section-title,
#news h2.section-title {
  font-family: "DMSerifDisplay", "ZenOldMincho", serif !important;
  font-weight: 400 !important; /* DMSerifは通常400 */
  line-height: 1.25 !important;
  letter-spacing: 0.06em !important;
}

/* サイズも統一（NEWSと同じにするなら） */
.section > .container > h1,
.section > .container > h2,
.section > .container > h3,
.section .section-title,
#news h2.section-title {
  font-size: clamp(28px, 4.2vw, 48px) !important;
  margin: 0 0 clamp(8px, 1.2vw, 14px) !important;
}

/* もし PC で確実に最大値に固定したいなら（任意） */
@media (min-width: 992px) {
  .section > .container > h1,
  .section > .container > h2,
  .section > .container > h3,
  .section .section-title,
  #news h2.section-title {
    font-size: 40px !important;
  }
}

/* お知らせリストのタイトル列を中央寄せ */
.news-table .news-cell-title {
  text-align: center !important;
  vertical-align: middle !important; /* 縦方向も真ん中寄せしたい場合 */
}

/* タイトル内リンクも中央寄せ */
.news-table .news-cell-title a {
  display: inline-block !important;
  width: 100% !important;
  text-align: center !important;
}

/* お知らせ詳細の本文を中央寄せ */
.news-detail .news-body {
  text-align: center !important;
  width: 100% !important;
}

/* 本文の段落も中央寄せ */
.news-detail .news-body p {
  text-align: center !important;
}

.pin-icon {
  width: 16px;
  height: 16px;
  margin-right: 6px;
  vertical-align: middle;
}

/* 空ニュース行：trの白カード装飾を完全OFF */
.news-wrap .news-table tbody tr:has(> .news-empty) {
  background: none !important;
  box-shadow: none !important;
  border: none !important;
  padding: 0 !important;
  display: table-row !important; /* SPでblock化されるのを防ぐ */
}

/* セルはサイトの基準文字色で表示（白ではなくベース色） */
.news-wrap .news-table .news-empty {
  background: none !important;
  color: var(--fg, #d5c7b8) !important; /* ←ベースの文字色 */
  text-align: center !important;
  padding: 28px 16px !important;
  font-weight: 600 !important;
  text-shadow: none !important;
  border: none !important;
}

/* SPレイアウト時：セル/行のblock化を解除 */
@media (max-width: 640px) {
  .news-wrap .news-table tbody tr:has(> .news-empty) {
    display: table-row !important;
  }
  .news-wrap .news-table tbody tr:has(> .news-empty) > td {
    display: table-cell !important;
    padding: 20px 14px !important;
  }
}

/* ===== news detail 強制修正 ===== */
.news-thumb {
  margin: 0 !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  display: block;
  max-width: 100%;
  height: auto;
  margin-bottom: 24px;   /* ← 本文とかぶらないよう余白 */
}

.news-content {
  border: none !important;
  text-align: center;
}

/* 画像の直後の区切り線を消す */
.news-thumb + hr,
.news-card-box hr {
  display: none !important;
}

/* 下線が疑似要素の場合の保険 */
.news-thumb::after-disabled,
.news-thumb::before-disabled {
  display: none !important;
  content: none !important;
}

/* PC表示で画像と本文が重ならないよう制御 */
@media (min-width: 768px) {
  .news-thumb {
  margin: 0 !important;
    margin-bottom: 32px;
  }
}

/* ===== 黒線 完全抹殺 ===== */
figure.news-hero {
  border: none !important;
  padding: 0 !important;
  margin: 0 auto 12px !important;
}

figure.news-hero::before-disabled,
figure.news-hero::after-disabled {
  content: none !important;
  display: none !important;
}

.news-thumb {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  margin: 0 !important;
  display: block;
}

/* hr があった場合の保険 */
.news-hero + hr,
.news-card-box hr {
  display: none !important;
}

/* === 強制修正：画像が本文に被らないようにする === */
.news-hero {
  position: static !important;
  display: block !important;
  margin: 16px auto 20px !important;
  padding: 0 !important;
  border: none !important;
  background: none !important;
}

.news-thumb {
  position: static !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
  border: none !important;
}

.news-content {
  clear: both;
  position: relative;
  z-index: 1;
}

/* === スマホのオレンジ背景と黒線の除去 === */
.news-hero::before-disabled,
.news-hero::after-disabled {
  display: none !important;
  content: none !important;
}

.news-hero {
  background: transparent !important;
}

.news-thumb {
  outline: none !important;
  box-shadow: none !important;
}

/* === NEWS画像 修正 === */
.news-hero {
  display: block !important;
}

.news-thumb {
  position: static !important;
  max-width: 100% !important;
  height: auto !important;
  display: block !important;
  margin: 20px auto !important;
}



/* ===== NEWS画像 強制最終修正 ===== */

.news-hero {
  position: static !important;
  display: block !important;
  margin: 0 auto 24px auto !important;
  padding: 0 !important;
}

.news-thumb {
  position: static !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  margin: 0 auto 16px auto !important;
}

.news-content {
  clear: both !important;
  position: static !important;
  margin-top: 16px !important;
}

/* 黒線・境界線 完全削除 */
.news-thumb + hr,
.news-card-box hr,
.news-hero::before,
.news-hero::after {
  display: none !important;
}



/* ================================
   ✅ NEWS画像サイズ 最終FIX
================================ */
figure.news-hero {
  display: block !important;
  position: static !important;
  width: 100% !important;
  margin: 0 auto 16px auto !important;
  padding: 0 !important;
}

img.news-thumb {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 180px !important;  /* スマホで抑制 */
  object-fit: contain !important;
  margin: 0 auto 16px auto !important;
}

.news-content {
  display: block !important;
  clear: both !important;
  margin-top: 8px !important;
  text-align: center !important;
}

@media (min-width: 768px) {
  img.news-thumb { max-height: 280px !important; }
}

/* ================================
   記事タイトル 微太字 
================================ */
.news-cell-title a,
.news-heading {
  font-weight: 600 !important;  /* 通常400 → 少し太め */
}

/* ================================
   ページネーション 横並び化 & 点削除 
================================ */

/* UL を横並び */
.pagination-list {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 0 !important;
  margin: 20px auto !important;
}

/* 箇条書き点を消す */
.pagination-list li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ナビゲーション全体が縦にならないよう保険 */
.pagination {
  display: flex !important;
  justify-content: center !important;
}

/* ================================
   ページネーション デザイン調整 
================================ */

.pagination-list a,
.pagination-list span {
  background: #e8d8bf !important;   /* ベージュ */
  color: #444 !important;           /* グレー */
  border: none !important;
  padding: 6px 12px !important;
  border-radius: 999px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

/* 現在ページ */
.pagination-list li.active span {
  background: #c7b299 !important;
  color: #222 !important;
}

/* hover時 */
.pagination-list a:hover {
  background: #d8c3a5 !important;
}

/* ===============================
   スマホ：記事ごとの横区切り線
=============================== */
@media (max-width: 640px) {

  /* 各記事カードに下線を描く */
  .news-table tbody tr {
    position: relative;
    padding-bottom: 14px;
  }

  .news-table tbody tr::after {
    content: "";
    display: block;
    width: 100%;
    height: 1.5px;
    background-color: #000;
    margin-top: 12px;
  }

  /* 最後の記事だけ線を消す */
  .news-table tbody tr:last-child::after {
    display: none;
  }
}
