/* =========================================================
   お知らせ（/news）・イベント（/events）・リンク集（/links）。発注書 S26b
   下層ページのパーツ（pages.css：紙のカード .pcard・英字ラベル＋見出し・波線）に、この 3 ページだけの部品を足す。
   文字の大きさは S24 の決まり（標準の値 × var(--fs)）
   ========================================================= */

/* ---------- お知らせの一覧：年・カテゴリの絞り込み ---------- */
.nw-years{ margin:0 0 28px; }
.nw-years__list{ display:flex; flex-wrap:wrap; gap:8px; margin:0; padding:0; list-style:none; }
.nw-chip{ display:inline-flex; align-items:center; gap:6px; min-height:40px; padding:6px 16px; border-radius:var(--radius-pill); background:#fff; box-shadow:0 2px 0 rgba(62,68,120,.08); color:var(--c-ai); font-weight:700; font-size:calc(14.5px * var(--fs)); text-decoration:none; line-height:1.4; }
.nw-chip:hover{ background:var(--c-fuji-pale); }
.nw-chip[aria-current="page"]{ background:var(--c-ai); color:#fff; }
.nw-chip__count{ font-family:var(--ff-en); font-size:calc(12.5px * var(--fs)); font-weight:500; opacity:.75; }
.nw-chip--cat{ box-shadow:inset 0 0 0 1.5px var(--c-fuji); }

/* ---------- 年ごとの見出し ---------- */
.nw-year + .nw-year{ margin-top:40px; }
.nw-year__title{ display:flex; align-items:baseline; gap:4px; margin:0 0 16px; padding-bottom:8px; border-bottom:2px dashed var(--rule); color:var(--c-ai); }
.nw-year__num{ font-family:var(--ff-en); font-weight:700; font-size:calc(30px * var(--fs)); line-height:1; letter-spacing:.02em; font-variation-settings:"opsz" 144; }
.nw-year__unit{ font-size:calc(16px * var(--fs)); font-weight:700; }

/* ---------- カード（トップの「お知らせ」のカードに抜粋と札） ---------- */
.nw-card .news-card__meta, .ev-card2 .news-card__meta{ flex-wrap:wrap; gap:6px 10px; }
.nw-card__excerpt{ margin:6px 6px 0; font-size:calc(13.5px * var(--fs)); line-height:1.75; color:var(--c-ink-sub); display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.ev-card2.is-ended .ph{ filter:saturate(.55); opacity:.85; }
.ev-card2__date{ font-family:var(--ff-body)!important; }
.ev-grid--ended .news-card__title{ color:var(--c-ink-sub); }

/* ---------- ページ送り ---------- */
.nw-pager{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:12px 16px; margin-top:36px; }
.nw-pager__now{ margin:0; font-weight:700; color:var(--c-ink-sub); font-size:calc(14px * var(--fs)); }
.nw-pager__pages{ display:flex; flex-wrap:wrap; justify-content:center; gap:6px; width:100%; margin:0; padding:0; list-style:none; order:3; }
.nw-pager__page{ display:grid; place-items:center; min-width:44px; min-height:44px; padding:0 6px; border-radius:12px; background:#fff; box-shadow:0 2px 0 rgba(62,68,120,.08); color:var(--c-ai); font-family:var(--ff-en); font-weight:700; font-size:calc(15px * var(--fs)); text-decoration:none; }
.nw-pager__page[aria-current="page"]{ background:var(--c-ai); color:#fff; }
.nw-pager__prev .i{ width:18px; height:18px; }

/* ---------- お知らせの詳細 ---------- */
.nw-meta{ display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; margin:16px 0 0; font-size:calc(14.5px * var(--fs)); }
.nw-meta__label{ color:var(--c-ink-sub); font-weight:700; }
.nw-meta time{ font-family:var(--ff-en); font-weight:700; font-size:calc(17px * var(--fs)); color:var(--c-ayame); }
.nw-meta .tag{ text-decoration:none; }
.nw-page{ max-width:860px; }
.nw-body{ overflow-wrap:anywhere; word-break:normal; }
.nw-body img{ display:inline-block; max-width:100%; height:auto; margin:6px 4px; border-radius:12px; vertical-align:top; }
.nw-body video{ display:block; max-width:100%; height:auto; max-height:80vh; margin:10px 0; border-radius:12px; background:#000; }
.nw-body table{ width:100%; margin:0 0 1em; border-collapse:collapse; font-size:calc(14.5px * var(--fs)); }
.nw-body th,.nw-body td{ padding:8px 10px; border:1px solid var(--rule); text-align:left; vertical-align:top; }
.nw-body th{ background:var(--c-fuji-pale); color:var(--c-ai); }
.nw-body dl{ margin:0 0 1em; }
.nw-body dt{ font-weight:700; color:var(--c-ai); }
.nw-body dd{ margin:0 0 .6em; }
.nw-body hr{ margin:1.6em 0; border:0; border-top:2px dashed var(--rule); }
.nw-body h4,.nw-body h5,.nw-body h6{ margin:1.4em 0 .4em; color:var(--c-ai); font-size:calc(16px * var(--fs)); }
.nw-body div + div{ margin-top:.2em; }
.nw-body a{ overflow-wrap:anywhere; }
.nw-note{ margin:14px 4px 0; font-size:calc(13.5px * var(--fs)); color:var(--c-ink-sub); line-height:1.8; }
.nw-sibling{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:12px; margin-top:28px; }
.nw-sibling__link{ display:flex; flex-direction:column; gap:4px; padding:14px 16px; border-radius:var(--radius-m); background:var(--c-paper); box-shadow:var(--shadow-card); color:inherit; text-decoration:none; }
.nw-sibling__link:hover .nw-sibling__title{ color:var(--c-ai); text-decoration:underline; }
.nw-sibling__link--next{ grid-column:2; text-align:right; align-items:flex-end; }
.nw-sibling__label{ display:inline-flex; align-items:center; gap:2px; color:var(--c-ai); font-weight:700; font-size:calc(13.5px * var(--fs)); }
.nw-sibling__label .i{ width:16px; height:16px; }
.nw-sibling__title{ font-size:calc(14.5px * var(--fs)); font-weight:700; line-height:1.6; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }

/* ---------- イベントの詳細：関連するページ ---------- */
.ev-links__list{ display:flex; flex-wrap:wrap; gap:10px; margin:0; padding:0; list-style:none; }
.ev-links__link{ display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:8px 18px; border-radius:var(--radius-pill); background:#fff; box-shadow:inset 0 0 0 2px var(--c-ai); color:var(--c-ai); font-weight:700; font-size:calc(15px * var(--fs)); text-decoration:none; line-height:1.5; }
.ev-links__link:hover{ background:var(--c-fuji-pale); }
.ev-links__link .i{ flex:none; width:18px; height:18px; }

/* ---------- リンク集 ---------- */
.lk{ max-width:900px; }
.lk__intro p{ margin:0; }
.lk__list{ display:grid; gap:16px; margin:24px 0 0; padding:0; list-style:none; }
.lk__item.pcard + .lk__item.pcard{ margin-top:0; }
.lk__title{ margin:0; font-size:calc(17.5px * var(--fs)); line-height:1.6; letter-spacing:.04em; }
.lk__title a{ display:inline; color:var(--c-ai); text-decoration:none; font-weight:700; }
.lk__title a:hover{ text-decoration:underline; }
.lk__title .i{ display:inline-block; width:18px; height:18px; margin-left:6px; vertical-align:-3px; }
.lk__text{ margin:10px 0 0!important; }
.lk__url{ margin:8px 0 0!important; font-size:calc(13px * var(--fs))!important; color:var(--c-ink-sub); overflow-wrap:anywhere; font-family:var(--ff-en); }

@media (max-width:767px){
  /* 年の絞り込みは横に流す（SP で 4 段にならないように） */
  .nw-years{ margin:0 calc(var(--gutter) * -1) 22px; }
  .nw-years__list{ flex-wrap:nowrap; overflow-x:auto; padding:2px var(--gutter) 8px; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
  .nw-years__list::-webkit-scrollbar{ display:none; }
  .nw-years__list > li{ flex:none; }
  .nw-chip{ min-height:38px; padding:5px 14px; font-size:calc(14px * var(--fs)); }
  /* お知らせの一覧は 1 行ずつ（左に小さな写真）。20 件でも見渡せるように */
  .nw-grid{ grid-template-columns:minmax(0,1fr); gap:10px; }
  .nw-grid .news-card{ padding:8px; }
  .nw-grid .news-card__link{ display:grid; grid-template-columns:96px minmax(0,1fr); grid-template-rows:auto auto 1fr; column-gap:12px; }
  .nw-grid .ph{ grid-row:1 / span 3; width:96px; aspect-ratio:1/1; border-radius:10px; }
  .nw-grid .news-card__meta{ margin:2px 0 4px; }
  .nw-grid .news-card__title{ margin:0; font-size:calc(14.5px * var(--fs)); line-height:1.6; }
  .nw-grid .nw-card__excerpt{ margin:4px 0 0; -webkit-line-clamp:2; font-size:calc(12.5px * var(--fs)); }
  .nw-year__num{ font-size:calc(26px * var(--fs)); }
  .nw-sibling{ grid-template-columns:minmax(0,1fr); }
  .nw-sibling__link--next{ grid-column:auto; }
  .nw-body img{ margin:6px 0; }
}
