/* ニュース詳細 — Figma 222:6324 */

/* 横幅A（出展社一覧と同型）：max-width 1040 の箱に横 padding を内包 */
.newsArticle {
  box-sizing: border-box;
  width: 100%;
  --news-detail-pad-x: var(--sp-pad-x, 16px);
  max-width: none;
  margin: 0 auto;
  padding: 80px var(--news-detail-pad-x) 80px;
}

.newsArticle__inner {
  box-sizing: border-box;
  width: 100%;
}

.newsArticle__stack {
  display: flex;
  flex-direction: column;
  gap: 32px;
  margin-bottom: 50px;
}

.newsArticle__head {
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: flex-start;
}

.newsArticle__date {
  font-family: "Montserrat", "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.35;
  color: #797979;
}

.newsArticle__title {
  margin: 0;
  font-family: "Noto Sans JP", "Montserrat", sans-serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.5;
  color: #000000;
}

.newsArticle__body {
  display: flex;
  flex-direction: column;
  gap: 16px;
  font-family: "Noto Sans JP", "Montserrat", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
  color: #000000;
}

.newsArticle__body p {
  margin: 0;
}

.newsArticle__figure {
  margin: 0;
  line-height: 0;
}

.newsArticle__photo {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: 4px;
}

.newsArticle__nav {
  display: flex;
  flex-wrap: wrap;
  gap: 32px;
  align-items: center;
  justify-content: center;
}

.newsArticle__cta {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 12px 32px;
  border-radius: 999px;
  font-family: "Noto Sans JP", "Montserrat", sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.35;
  text-align: center;
  text-decoration: none;
  transition: opacity 0.2s ease;
  -webkit-tap-highlight-color: transparent;
}

.newsArticle__cta--primary {
  background-color: #d80c18;
  color: #ffffff;
}

.newsArticle__cta--secondary {
  background-color: #1d1d1d;
  color: #ffffff;
}

.newsArticle__cta:hover,
.newsArticle__cta:focus-visible {
  opacity: 0.92;
}

.newsArticle__cta:focus-visible {
  outline: 2px solid #231815;
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  .newsArticle__cta {
    transition: none;
  }
}

@media (max-width: 950px) {
  .newsArticle {
    padding-top: 48px;
    padding-bottom: 64px;
  }

  .newsArticle__nav {
    gap: 24px;
  }
}

@media (max-width: 540px) {
  .newsArticle {
    /* 固定ロゴ（高さ〜41px＋safe-area）より下に日付が来るよう余白を確保 */
    padding-top: 62px;
    padding-bottom: 48px;
  }

  .newsArticle__stack {
    margin-bottom: 40px;
  }

  .newsArticle__title {
    font-size: clamp(22px, 5.5vw, 32px);
  }

  .newsArticle__body {
    font-size: 15px;
    line-height: 1.65;
  }

  /* ニュース一覧 .newsBack__link と同様、SP も文字＋ padding で幅（全幅に伸ばさない） */
  .newsArticle__nav {
    flex-direction: column;
    gap: 16px;
    align-items: center;
  }
}

@media (min-width: 951px) {
  /* 開催概要と同様、PCは % 指定で左右余白を管理 */
  .newsArticle {
    --news-detail-pad-x: 7%;
  }

  /* 本文（PC） */
  .newsArticle__body {
    font-size: 15px;
  }
}
