/* ===========================================================
   news.css — お知らせ一覧ページ専用
   位置はFigma「PC_お知らせ一覧ページ」の座標。セクションの上端から測った値です
   =========================================================== */

/* --- 01 お知らせ一覧 ------------------------------------- */
/* カンプ：白の枠 y=204 高さ1382。見出し y=87 → 絞り込み y=248 → 記事一覧 y=397 → カード y=509 */

.news-index {
  position: relative;
  min-height: 1382px;
  padding: 509px 0 204px;
}

.news-index__head,
.news-filter,
.news-index__sub { position: absolute; left: 0; right: 0; }

.news-index__head { top: 87px; text-align: center; }

/* 絞り込み：180×60 のベージュのボタンを3つ、間隔32 */
.news-filter {
  top: 248px;
  display: flex;
  justify-content: center;
  gap: 32px;
}

.news-index__sub {
  top: 397px;
  color: var(--c-text-sub);
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.45;
  text-align: center;
}

/* カード：304幅を3列、横の間隔32、縦の間隔97 */
.news-index__list {
  display: grid;
  grid-template-columns: repeat(3, 304px);
  justify-content: center;
  gap: 97px 32px;
}

.news-item__date {
  display: block;
  color: var(--c-text-sub);
  font-family: var(--font-head);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0;
}

.news-item__img {
  width: 304px;
  height: 203px;
  margin-top: 10px;
  object-fit: cover;
  background: var(--c-placeholder);
}

.news-item__title {
  margin-top: 10px;
  color: var(--c-text-sub);
  font-family: var(--font-head);
  font-size: 24px;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: .04em;
}

/* 写真がない記事 */
.news-item__img--none { display: block; }

/* ページ送り（記事が12件より多いとき） */
.pager { margin-top: 72px; }
.pager ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
}
.pager a {
  display: grid;
  place-items: center;
  min-width: 44px;
  height: 44px;
  padding: 0 12px;
  border: 1px solid #E0DCD5;
  border-radius: var(--r-pill);
  color: var(--c-text);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0;
}
.pager a[aria-current="page"] { border-color: var(--c-green); background: var(--c-green); color: #fff; }
.pager__step { padding-inline: 18px; }

/* --- スマホ ---------------------------------------------- */
/* トップのスマホ版のお知らせと同じ、小さな写真＋日付・題名の一覧 */

@media (max-width: 767px) {
  .news-index { min-height: 0; padding: 40px var(--margin-x) 72px; }

  .news-index__head,
  .news-filter,
  .news-index__sub { position: static; }

  .news-filter { gap: 8px; margin-top: 28px; }
  /* 幅が狭いので、矢印を小さく・余白を詰める（文字の置き方のルールは共通） */
  .news-filter .btn {
    --btn-h: 44px;
    --arrow: 16px;
    --arrow-gap: 10px;
    --pad-x: 26px;
    --btn-ls: .04em;
    flex: 1;
    min-width: 0;
    font-size: 14px;
  }

  .news-index__sub { margin-top: 32px; text-align: left; }

  .news-index__list {
    display: block;
    margin-top: 8px;
    overflow: hidden;
    border: 1px solid #E0DCD5;
    border-radius: var(--r-md);
  }
  .news-item { width: auto; }
  .news-item + .news-item { border-top: 1px solid #E0DCD5; }
  .news-item a {
    display: grid;
    grid-template-columns: 96px 1fr;
    grid-template-areas: "img date" "img title";
    column-gap: 14px;
    padding: 14px 16px;
  }
  .news-item__img {
    grid-area: img;
    width: 96px;
    height: 96px;
    margin: 0;
    border-radius: 10px;
  }
  .pager { margin-top: 40px; }

  .news-item__date  { grid-area: date; align-self: end; font-size: 13px; }
  .news-item__title {
    grid-area: title;
    align-self: start;
    margin-top: 4px;
    color: var(--c-text);
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: 0;
  }
}
