/* =========================
   NEWSページ専用CSS 最終版
   ========================= */

/* ===== 見出しフォント統一 ===== */
.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;
  line-height: 1.25 !important;
  letter-spacing: 0.06em !important;
}

/* サイズ調整 */
.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;
}

@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一覧テーブル ===== */
.news-wrap {
  max-width: 880px;
  margin: 0 auto;
}

.news-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 14px;
}

/* カード風 */
.news-table tbody tr {
  background: #fff;
  color: #111;
  box-shadow: 0 6px 0 #000;
}

.news-table td {
  border-top: 2px solid #000;
  border-bottom: 2px solid #000;
}

/* 左右枠線 */
.news-table td:first-child {
  border-radius: 12px 0 0 12px;
}
.news-table td:last-child {
  border-right: 2px solid #000;
  border-radius: 0 12px 12px 0;
  overflow: hidden;
}

/* ✅ 黒い縦線は完全削除 */
.news-table td:first-child {
  border-left: none !important;
}

/* 余白 */
.news-cell-date,
.news-cell-title {
  padding: 16px 18px;
}

.news-cell-date {
  width: 240px;
  font-weight: 700;
}

/* ----- タイトル中央 & 太字 ----- */
.news-table .news-cell-title {
  text-align: center !important;
  vertical-align: middle;
}

.news-table .news-cell-title a {
  display: block;
  text-align: center;
  text-decoration: none;
  font-weight: 700 !important;
}

.news-table .news-cell-title a:hover {
  border-bottom: 1px solid #000;
}

/* ----- ピン ----- */
.pin-icon {
  width: 18px;
  height: auto;
  margin-right: 8px;
  vertical-align: -2px;
}

/* ----- 日付の黒丸 ----- */
.dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  background: #000;
  margin-right: 10px;
  vertical-align: middle;
}

/* ===== 空行 ===== */
.news-wrap .news-table tbody tr:has(> .news-empty) {
  background: none !important;
  box-shadow: none !important;
  border: none !important;
}

.news-wrap .news-table .news-empty {
  background: none !important;
  color: #d5c7b8 !important;
  text-align: center;
  padding: 28px 16px;
  font-weight: 600;
  border: none;
}

@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;
  }
}

/* ===== NEWS詳細 ===== */
.news-detail .news-body {
  text-align: center;
  padding: 20px;
  line-height: 1.8;
}

/* 画像 */
.news-body img,
.news-body video,
.news-body iframe {
  max-width: 100%;
  width: 100%;
  height: auto;
  display: block;
  margin: 24px auto;
  object-fit: contain;
}

/* はみ出し防止 */
.news-card-box {
  overflow: hidden;
}

/* タイトル太字 */
.news-title,
.news-detail h1,
.news-detail h2 {
  font-weight: 700 !important;
}

/* ===== ページネーション ===== */
.pagination {
  margin: 24px auto 16px;
  text-align: center;
}

.pagination-list {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
  padding: 0;
}

.pagination-list li {
  list-style: none;
}

.pagination-list a,
.pagination-list span {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-width: 32px;
  height: 32px;
  border-radius: 999px;
  border: 2px solid #000;
  background: #fff;
  color: #000;
  font-weight: 600;
  text-decoration: none;
  box-shadow: 0 3px 0 #000;
}

.pagination-list li.active span {
  background: #000;
  color: #fff;
}

.pagination-list a:hover {
  background: #f8f0e6;
  border-color: #c0864f;
  transform: translateY(1px);
  box-shadow: 0 1px 0 #000;
}

.pagination-list a:active {
  transform: translateY(2px);
  box-shadow: none;
}

@media (max-width: 768px) {
  .pagination-list a,
  .pagination-list span {
    min-width: 28px;
    height: 28px;
    font-size: 12px;
    box-shadow: 0 2px 0 #000;
  }
}

/* =====================================
   ✅ NEWS詳細：画像サイズ固定＆本文と分離 最終パッチ
===================================== */

/* 親（figure）をブロック化して保護 */
figure.news-hero {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto 16px auto !important;
  padding: 0 !important;
  position: static !important;
  overflow: hidden !important;
}

/* 画像は強制的に小さくする */
img.news-thumb {
  display: block !important;
  margin: 0 auto 16px auto !important;

  width: auto !important;
  max-width: 100% !important;
  height: auto !important;

  /* ✅ ここが一番重要 */
  max-height: 180px !important; /* スマホはここまで */

  object-fit: contain !important;
}

/* 本文は必ず画像の下へ */
.news-content {
  display: block !important;
  clear: both !important;
  position: static !important;
  margin-top: 4px !important;
  text-align: center;
}

/* PCでは少しだけ大きく */
@media (min-width: 768px) {
  img.news-thumb {
    max-height: 280px !important;
  }
}

/* ===== スマホ表示：記事区切り線を強制表示 ===== */
@media (max-width: 640px) {
  .news-table tbody tr {
    position: relative !important;
    padding-bottom: 20px !important;
  }

  .news-table tbody tr::after {
    content: "" !important;
    display: block !important;
    width: 100% !important;
    height: 2px !important;
    background: #414141 !important;
    margin-top: 14px !important;
  }

  .news-table tbody tr:last-child::after {
    display: none !important;
  }
}

/* CLEAN_NEWS_FIX_20260621 */
.news-table{border-collapse:separate!important;border-spacing:0 8px!important}
.news-table tr{position:relative!important;background:#fff!important;box-shadow:none!important;border:0!important}
.news-table td{border:0!important;box-shadow:none!important}
.news-cell-date,.news-cell-title{text-align:center!important;color:#000!important}
.news-cell-title a{display:block!important;color:#000!important;text-decoration:none!important;opacity:1!important;visibility:visible!important}
.news-cell-title .pin-icon,.news-cell-title .title-pin,.news-table .pin-icon{display:block!important;position:absolute!important;left:12px!important;top:50%!important;transform:translateY(-50%)!important;width:22px!important;height:auto!important;margin:0!important;z-index:50!important}
.news-titlebar,.news-detail-header{display:none!important}
.news-page-heading{display:block!important;color:#fff!important;text-align:center!important;font-size:28px!important;margin:0 0 32px!important;font-weight:bold!important;}
.news-detail-card h1,.news-detail-card h2,.news-detail-title,.news-detail h1,.news-detail h2{color:#000!important;opacity:1!important;visibility:visible!important;}
#news .news-table tr,#news .news-table td,#news .news-table a{border:0!important;box-shadow:none!important;outline:0!important;}
#news .news-table tr::before,#news .news-table tr::after,#news .news-table td::before,#news .news-table td::after{display:none!important;content:none!important;border:0!important;box-shadow:none!important;}
/* FINAL_REMOVE_LINES_AND_GAP */
.news-detail-card,.news-detail-card *,.news-detail,.news-detail *{box-shadow:none!important;}
.news-detail-card{border:0!important;}
.news-detail-card::before,.news-detail-card::after,.news-detail::before,.news-detail::after{display:none!important;content:none!important;border:0!important;box-shadow:none!important;}
#news .news-table{border-collapse:separate!important;border-spacing:0 6px!important;}
#news .news-table tr{margin-bottom:6px!important;border:0!important;box-shadow:none!important;}
#news .news-table td{border:0!important;box-shadow:none!important;}
#news .news-table tr::before,#news .news-table tr::after,#news .news-table td::before,#news .news-table td::after{display:none!important;content:none!important;border:0!important;box-shadow:none!important;}
/* FINAL_LIST_LINE_GAP_FIX */
.news-wrap .news-table{display:block!important;width:88%!important;margin:0 auto!important;border-collapse:separate!important;border-spacing:0!important;}
.news-wrap .news-table tbody{display:block!important;width:100%!important;}
.news-wrap .news-table tr{display:block!important;position:relative!important;width:100%!important;margin:0 0 8px!important;padding:10px 12px 10px 46px!important;background:#fff!important;border:0!important;box-shadow:none!important;outline:0!important;}
.news-wrap .news-table td{display:block!important;width:100%!important;padding:0!important;border:0!important;box-shadow:none!important;outline:0!important;text-align:center!important;}
.news-wrap .news-table *{border-top:0!important;border-bottom:0!important;box-shadow:none!important;outline:0!important;}
.news-wrap .news-table tr::before,.news-wrap .news-table tr::after,.news-wrap .news-table td::before,.news-wrap .news-table td::after,.news-wrap .news-table a::before,.news-wrap .news-table a::after{display:none!important;content:none!important;border:0!important;box-shadow:none!important;}

/* REMOVE_NEWS_DETAIL_IMAGE_FRAME_FINAL */
.news-detail .news-body img,
.news-body img,
.news-detail-card img,
.news-detail img {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  padding: 0 !important;
}

.news-detail .news-body,
.news-detail-card,
.news-detail {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

/* NEWS_LIST_TEXT_POSITION_FINAL */
.news-wrap .news-table tr {
  min-height: 72px !important;
  padding: 18px 12px 14px 46px !important;
  box-sizing: border-box !important;
}

.news-wrap .news-table td {
  line-height: 1.45 !important;
}

.news-wrap .news-cell-date {
  margin-bottom: 4px !important;
}

/* NEWS_LIST_TEXT_POSITION_MORE_DOWN */
.news-wrap .news-table tr {
  padding-top: 26px !important;
  padding-bottom: 10px !important;
}

/* NEWS_LIST_TABLE_DOWN_FINAL */
.news-wrap .news-table {
  margin-top: 150px !important;
}



/* NEWS_LIST_TABLE_DOWN_FINAL */

.news-wrap .news-table {

  margin-top: 200px !important; 

}




/* NEWS_HEADING_POSITION_CLEAN */
.news-page-heading{
    margin:50px 0 24px !important;
}

/* HOME_NEWS_SPACING_CLEAN */
#news .section-title {
  margin: 50px 0 8px !important;
}

#news .news-wrap {
  margin-top: 0 !important;
}

/* HOME_NEWS_TABLE_GAP_FINAL */
#news.home-news .news-wrap,
#news .news-wrap {
  margin-top: 25px !important;
}

#news.home-news .news-table,
#news .news-table {
  margin-top: 0 !important;
}
