@charset "UTF-8";
/* =========================================================
   news.css … お知らせ一覧・お知らせ記事・404・その他の固定ページ
     1. ページの枠（content-page）
     2. 管理画面で入力した本文（entry-content）
     3. お知らせ一覧
     4. お知らせ記事（前後の記事・新着）
     5. 404
   ========================================================= */


/* ---------------------------------------------------------
   1. ページの枠
   --------------------------------------------------------- */
.content-page { padding: 80px 0 120px; }
.content-page__inner { max-width: 960px; margin: 0 auto; padding: 0 20px; }
.content-page__title { margin: 0 0 40px; font-size: 32px; letter-spacing: .1em; text-align: center; }
.content-page__empty { padding: 40px 0; color: #7a8792; text-align: center; }
.content-page__back { margin-top: 50px; text-align: center; }

@media screen and (max-width: 767px) {
  .content-page { padding: 50px 0 80px; }
  .content-page__title { margin-bottom: 24px; font-size: 22px; }
}


/* ---------------------------------------------------------
   2. 管理画面で入力した本文
   --------------------------------------------------------- */
.entry-content { line-height: 2; }
.entry-content > * + * { margin-top: 1.2em; }
.entry-content h2 { margin-top: 1.8em; padding-left: 14px; border-left: 5px solid var(--color-light); font-size: clamp(20px, 2.6vw, 28px); }
.entry-content h3 { margin-top: 1.6em; padding-bottom: 6px; border-bottom: 1px solid #dbe2e9; font-size: 20px; }
.entry-content h4 { margin-top: 1.4em; color: var(--color-primary); }
.entry-content a { color: var(--color-primary); text-decoration: underline; }
.entry-content ul, .entry-content ol { padding-left: 1.4em; }
.entry-content ul li { list-style: disc; }
.entry-content ol li { list-style: decimal; }
.entry-content table { width: 100%; border-collapse: collapse; }
.entry-content th, .entry-content td { padding: 10px 14px; border: 1px solid #dbe2e9; }
.entry-content th { background: var(--color-pale); }
.entry-content img { height: auto; }


/* ---------------------------------------------------------
   3. お知らせ一覧（inc/news.php の ooshima_news_item()）
   --------------------------------------------------------- */
.news-list { border-top: 1px solid #dbe2e9; }
.news-item { border-bottom: 1px solid #dbe2e9; }
.news-item__link { display: grid; grid-template-columns: 220px 1fr; gap: 24px; align-items: center; padding: 18px 8px; transition: background .2s; }
.news-item__link:hover { background: var(--color-pale); }
.news-item__thumb { aspect-ratio: 3 / 2; overflow: hidden; background: #eef2f6; }
.news-item__thumb img { width: 100%; height: 100%; object-fit: cover; }
.news-item--noimage .news-item__thumb img { padding: 18px; object-fit: contain; opacity: .6; }
.news-item__date { display: block; margin-bottom: 6px; font-family: var(--font-round); font-size: 13px; color: #7a8792; }
.news-item__title { font-weight: 500; font-size: 17px; line-height: 1.7; }

/* ページ送り */
.news-pagination { margin-top: 40px; }
.news-pagination ul { display: flex; justify-content: center; gap: 8px; }
.news-pagination a, .news-pagination span { display: flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; border: 1px solid var(--color-light); border-radius: 50%; font-family: var(--font-round); }
.news-pagination .current { background: var(--color-primary); border-color: var(--color-primary); color: #fff; }

@media screen and (max-width: 767px) {
  .news-item__link { grid-template-columns: 110px 1fr; gap: 14px; padding: 14px 4px; }
  .news-item__title { font-size: 15px; }
}


/* ---------------------------------------------------------
   4. お知らせ記事
   --------------------------------------------------------- */
.news-article__title { font-size: 28px; line-height: 1.5; letter-spacing: .06em; }
.news-article__date { margin: 10px 0 30px; font-family: var(--font-round); font-size: 14px; color: #7a8792; }
.news-article__thumb { margin-bottom: 30px; }
.news-article__thumb img { width: 100%; height: auto; }

/* 前後の記事 */
.news-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 50px; }
.news-nav__item { display: block; min-height: 90px; padding: 16px 20px; border: 1px solid #dbe2e9; transition: background .2s; }
.news-nav__item:hover { background: var(--color-pale); }
.news-nav__item:last-child { text-align: right; }
.news-nav__label { display: block; margin-bottom: 4px; font-size: 12px; color: #7a8792; }
.news-nav__title { font-size: 15px; line-height: 1.6; }

/* 新着のお知らせ */
.news-recent { margin-top: 80px; }
.news-recent__title { margin-bottom: 24px; font-size: 24px; letter-spacing: .1em; text-align: center; }

@media screen and (max-width: 767px) {
  .news-article__title { font-size: 21px; }
  .news-nav { grid-template-columns: 1fr; }
  .news-nav__item:last-child { text-align: left; }
}


/* ---------------------------------------------------------
   5. 404
   --------------------------------------------------------- */
.not-found { text-align: center; }
.not-found p { line-height: 2; }
.not-found__links { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin: 30px 0; }
.not-found__tel a { font-weight: 700; font-size: 22px; color: var(--color-primary); }
