/* お知らせ関連: トップの最新5件 / 一覧ページ / 詳細ページ / ページャ
   site.css の変数(--ink/--muted/--salmon/--beige 等)を利用。 */

/* ---- トップページ NEWS: 最新5件 ---- */
.news-latest { list-style: none; margin: 0 0 28px; padding: 0; text-align: left; max-width: 620px; margin-inline: auto; }
.news-latest__item { border-bottom: 1px solid #e5e0d8; }
.news-latest__item:first-child { border-top: 1px solid #e5e0d8; }
a.news-text {
  display: flex; gap: 16px; align-items: baseline;
  margin: 0; padding: 16px 4px; color: var(--ink); text-decoration: none;
  transition: color .2s ease;
}
a.news-text:hover { color: var(--salmon); }
.news-latest .news-date { flex: 0 0 auto; color: var(--muted); font-size: .85rem; letter-spacing: .04em; }
.news-latest .news-title { flex: 1 1 auto; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.news-empty { color: var(--muted); }
.news-more {
  display: inline-block; margin-top: 8px;
  font-size: .9rem; letter-spacing: .1em; color: var(--ink); text-decoration: none;
  border-bottom: 1px solid currentColor; padding-bottom: 2px;
}
.news-more:hover { color: var(--salmon); }

/* ---- お知らせ一覧ページ ---- */
.news-list { list-style: none; margin: 0 auto; padding: 0; max-width: 820px; }
.news-list__item { border-bottom: 1px solid #e5e0d8; }
.news-list__item:first-child { border-top: 1px solid #e5e0d8; }
.news-list__item a {
  display: flex; gap: 20px; align-items: baseline;
  padding: 20px 6px; color: var(--ink); text-decoration: none;
  transition: color .2s ease;
}
.news-list__item a:hover { color: var(--salmon); }
.news-list__date { flex: 0 0 auto; color: var(--muted); font-size: .9rem; letter-spacing: .04em; }
.news-list__title { flex: 1 1 auto; }

/* ---- ページャ ---- */
.news-pager { margin: 48px auto 0; text-align: center; }
.news-pager .page-numbers {
  display: inline-block; min-width: 40px; padding: 8px 12px; margin: 0 3px;
  border: 1px solid #d8d2c6; color: var(--ink); text-decoration: none; line-height: 1;
  border-radius: 4px; font-size: .95rem; transition: background .2s ease, color .2s ease;
}
.news-pager .page-numbers:hover { background: var(--beige); }
.news-pager .page-numbers.current { background: var(--salmon); color: #fff; border-color: var(--salmon); }
.news-pager .page-numbers.dots { border-color: transparent; }

/* ---- お知らせ詳細ページ ---- */
.news-single { max-width: 820px; margin: 0 auto; }
.news-single__head { border-bottom: 2px solid #e5e0d8; padding-bottom: 20px; margin-bottom: 28px; }
.news-single__date { display: block; color: var(--muted); font-size: .9rem; letter-spacing: .04em; margin-bottom: 8px; }
.news-single__title { font-size: clamp(1.4rem, 3.4vw, 1.9rem); line-height: 1.5; }
.news-single__thumb { margin: 0 0 28px; }
.news-single__thumb img { display: block; width: 100%; height: auto; border-radius: 6px; }
.news-single__body { line-height: 1.9; }
.news-single__body p { margin: 0 0 1.4em; }
.news-single__body img { max-width: 100%; height: auto; }
.news-single__body h2 { font-size: 1.4rem; margin: 1.8em 0 .6em; }
.news-single__body h3 { font-size: 1.15rem; margin: 1.6em 0 .5em; }
.news-single__body ul, .news-single__body ol { margin: 0 0 1.4em; padding-left: 1.5em; }
.news-single__body a { color: var(--salmon); }
.news-single__nav { margin-top: 48px; text-align: center; }
.news-back {
  display: inline-block; padding: 12px 32px;
  border: 1px solid #d8d2c6; border-radius: 999px;
  color: var(--ink); text-decoration: none; font-size: .95rem; letter-spacing: .06em;
  transition: background .2s ease;
}
.news-back:hover { background: var(--beige); }

@media (max-width: 768px) {
  a.news-text, .news-list__item a { flex-direction: column; gap: 4px; }
  .news-latest .news-title { white-space: normal; }
}
