/* ==========================================================================
   news.css — お知らせページ
   ========================================================================== */


/* ==========================================================================
   1. ページヘッダー
   ========================================================================== */

/* 共通スタイルは components.css。ここは背景画像のみ指定する */
.page-hero {
  background-image: url(../img/hero-about.png);
}


/* ==========================================================================
   2. お知らせ一覧（index.html）
   ========================================================================== */

/* ==========================================================================
   3. お知らせ詳細（news_*.html）
   ========================================================================== */

.news-article {
  padding-block: clamp(56px, 8vw, 96px);
}

.news-article__inner {
  max-width: 800px;
  margin-inline: auto;
}

.news-article__meta {
  display: flex;
  align-items: center;
  gap: var(--space-m);
  margin-bottom: var(--space-m);
}

.news-article__date {
  font-family: var(--font-en);
  font-size: var(--fs-body);
  color: var(--color-text-sub);
}

.news-article__title {
  font-size: clamp(22px, 3vw, 36px);
  color: var(--color-primary);
  font-weight: var(--fw-bold);
  line-height: 1.4;
  margin-bottom: var(--space-l);
}

.news-article__divider {
  height: 2px;
  background-color: var(--color-border);
  margin-bottom: var(--space-xl);
}

.news-article__body {
  line-height: 1.9;
  color: var(--color-text);
  margin-bottom: var(--space-xl);
}

.news-article__body p + p {
  margin-top: var(--space-m);
}

/* 本文中のリンクはアクセント色＋太字で強調 */
.news-article__body a {
  color: var(--color-accent);
  font-weight: var(--fw-bold);
}

.news-article__body a:hover {
  color: var(--color-accent-dark);
}

/* 動画埋め込み（YouTube等）を親要素の幅いっぱいに、縦横比16:9を保って表示 */
.news-article__video {
  aspect-ratio: 16 / 9;
  border-radius: var(--radius-card);
  overflow: hidden;
}

.news-article__video iframe {
  width: 100%;
  height: 100%;
  display: block;
  border: none;
}

/* 画像グリッド */
.news-article__images {
  display: grid;
  gap: var(--space-m);
  margin-bottom: var(--space-xl);
}

.news-article__images--1 {
  grid-template-columns: 1fr;
  margin-inline: auto;
  margin-bottom: var(--space-xl);
}

.news-article__images--2 {
  grid-template-columns: 1fr 1fr;
}

.news-article__images--3 {
  grid-template-columns: repeat(3, 1fr);
}

/* 4枚：1枚目を全幅 + 残り3枚を3列 */
.news-article__images--4 {
  grid-template-columns: repeat(3, 1fr);
}

.news-article__images--4 .news-article__image:first-child {
  grid-column: 1 / -1;
}

.news-article__image {
  overflow: hidden;
  border-radius: var(--radius-card);
}

.news-article__image img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display: block;
}

.news-article__images--4 .news-article__image:first-child img {
  aspect-ratio: 16 / 7;
}

/* 戻るボタン */
.news-article__back {
  text-align: center;
  padding-top: var(--space-xl);
  margin-top: var(--space-xl);
  border-top: 1px solid var(--color-border);
}

@media (max-width: 768px) {
  .news-article__images--3 {
    grid-template-columns: 1fr 1fr;
  }

  .news-article__images--4 {
    grid-template-columns: 1fr 1fr;
  }
}
