/* 会社概要ヘッダー */
.company-hero {
    width: 100%;
    height: 250px;
    background: #ECF8E5;
    display: flex;
    align-items: center;
    justify-content: center;
    border-bottom-left-radius: 50% 10%;
    border-bottom-right-radius: 50% 10%;
    text-align: center;
  }

  .company-title {
    font-size: 36px;
    font-weight: bold;
    color: #34736C;
  }

  /* カテゴリー一覧 */
  .head-news-category {
    padding: 40px 0 0 0;
  }

  .head-news-category .container {
    text-align: center;
  }

  .head-news-category__list {
    display: flex;
    justify-content: center;
    gap: 15px;
    list-style: none;
    padding: 0;
  }

  .head-news-category__list li a {
    font-size: 24px;
    padding: 8px 16px;
    background: #34736C;
    color: #ECF8E5;
    border-radius: 5px;
    text-decoration: none;
  }

  .head-news-category__list li a:hover {
    background: #ECF8E5;
    color: #34736C;
  }
  @media (max-width: 992px) {
    .head-news-category__list {
      flex-wrap: wrap;
      justify-content: center;
      gap: 12px;
    }

    .head-news-category__list li a {
      font-size: 20px;
      padding: 6px 14px;
    }
  }

  @media (max-width: 768px) {

    .head-news-category__list li a {
      width: 160px;
      font-size: 18px;
      text-align: center;
    }
  }

  @media (max-width: 576px) {
    .head-news-category {
      padding: 30px 0;
    }

    .head-news-category__list li a {
      width: 100%;
      max-width: 260px;
      font-size: 16px;
    }
  }
.breadcrumb {
  font-size: 14px;
  margin-bottom: 20px;
}
.breadcrumb ul {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0;
}
.breadcrumb li::after {
  content: '>';
  margin: 0 8px;
  color: #aaa;
}
.breadcrumb li:last-child::after {
  content: none;
}
.breadcrumb a {
  text-decoration: none;
  color: #34736C;
}

/* お知らせセクション */
.news-section {
  background: #fff;
  padding: 100px 0;
}

.news-section .container {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  padding: 0 20px;
}

/* h2 タイトルの中央配置 */
.news-section h2 {
  font-size: 48px;
  font-weight: bold;
  color: #34736C;
  text-align: center;
  margin-bottom: 50px;
}

/* ニュースリスト全体を中央配置 */
.news-list {
  display: flex;
  flex-direction: column;
  gap: 20px;
  max-width: 800px; /* ✅ 適切な幅で中央配置 */
  margin: 0 auto; /* ✅ 中央寄せ */
}

/* 各ニュース項目 */
.news-item {
  display: flex;
  align-items: flex-start;
  padding: 20px 0;
  border-bottom: 1px solid #ddd; /* ✅ 下線を追加 */
  text-align: left; /* ✅ テキストを左寄せ */
  gap: 20px;
}

/* ✅ 一番上のアイテムに上部ボーダーを追加 */
.news-item:first-child {
  border-top: 1px solid #ddd;
}

/* 左側のメタ情報 (年月日・カテゴリー) */
.news-meta {
  width: 20%;
  min-width: 120px;
  text-align: left;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  font-size: 22px;
  margin-top: 4px;
}

.news-date {
  font-weight: bold;
  color: #34736C;
}

.news-category {
  background: #34736C;
  font-size: 16px;
  padding: 2px 18px;
  border-radius: 10px;
  margin-top: 5px;
  border-bottom: none;
}

.news-category a {
  color: white;
  text-decoration: none;
}

.news-link {
  display: block;
  text-decoration: none;
  color: inherit;
}

.news-link:hover .news-title {
  color: #285d57;
  text-decoration: underline;
}


/* 右側のタイトル・抜粋 */
.news-content {
  flex: 1;
  padding-left: 0;
  text-align: left;
  display: flex;
  flex-direction: column;
  align-items: flex-start; /* ✅ 子要素の左揃えを強制 */
}

.news-section .news-title {
  font-size: 24px;          /* ← 好きなサイズに調整 */
  text-align: left;         /* ← 必要なら中央寄せを解除 */
  margin-bottom: 20px;      /* ← 適宜調整 */
  color: #285d57;
}

.news-section .news-title a {
  text-decoration: none;
}

.news-excerpt {
  font-size: 18px;
  color: #666;
  line-height: 1.6;
  text-align: left; /* ✅ 念のため明示 */
  margin: 0;
}

.news-excerpt a {
  text-decoration: none;
  color: #333;
}

/* 一覧ページへのボタン (中央配置) */
.news-section__button {
  display: block;
  margin: 50px auto 0; /* ✅ 上の余白を確保し、中央配置 */
  width: 100%;
  max-width: 280px;
  padding: 12px 0;
  text-align: center;
  font-size: 18px;
  font-weight: bold;
  background: #34736C;
  color: white;
  border-radius: 30px;
  transition: background 0.3s ease-in-out, transform 0.2s ease-in-out;
}

.news-section__button:hover {
  background: #285d57;
  transform: translateY(-2px);
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
  .news-item {
    flex-direction: column;
    align-items: flex-start;
  }

  .news-meta {
    width: 100%;
    text-align: left;
    margin-bottom: 10px;
  }

  .news-content {
    padding-left: 0;
  }

  .news-section .news-title {
    font-size: 18px;
  }

  .news-excerpt {
    font-size: 14px;
  }

  .news-section__button {
    max-width: 250px;
  }
}


/* =============================
   お知らせ詳細ページ（news-detail）
   ============================= */

/* セクション全体 */
.news-detail {
  background: #fff;
  padding: 80px 0;
}

/* コンテンツ最大幅 */
.news-detail .container {
  max-width: 800px;
  width: 100%;
  margin: 0 auto;
  padding: 0 20px;
}

/* ✅ メタ情報を横並びに */
.news-detail-meta {
  display: flex;
  align-items: center;
  gap: 20px; /* 日付とカテゴリーの間に余白を設定 */
  margin-bottom: 20px;
  font-size: 24px;
  padding-bottom: 20px;
  flex-wrap: wrap; /* スマホでも折り返し可能に */
  border-bottom: #ddd solid 1px;
}

/* ✅ 日付とカテゴリーのスタイル調整 */
.news-detail-meta .news-detail-date {
  color: #34736C;
}

.news-detail-meta .news-detail-category {
  background: #34736C;
  padding: 4px 12px;
  border-radius: 6px;
  font-size: 16px;
}

.news-detail-meta .news-detail-category a {
  color: white;
  text-decoration: none;
}


/* 投稿本文 */
.news-content {
  font-size: 18px;
  line-height: 1.8;
  color: #333;
}

.news-content h1,
.news-content h2,
.news-content h3 {
  margin-top: 40px;
  color: #34736C;
}

.news-content p {
  margin-bottom: 24px;
}

/* ナビゲーション（前後記事リンク） */
.news-navigation {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 60px;
  border-top: 1px solid #ddd;
  padding-top: 30px;
  gap: 20px;
  flex-wrap: wrap; /* ✅ 幅が足りない場合に折り返しを許可 */
}

.news-prev,
.news-next {
  flex: 1 1 45%; /* ✅ 小さい画面でも均等に並ぶように */
  text-align: center;
}

.news-prev a,
.news-next a {
  font-size: 16px;
  color: #34736C;
  text-decoration: none;
  font-weight: bold;
}

.news-prev a:hover,
.news-next a:hover {
  text-decoration: underline;
}

/* =============================
   投稿本文内の画像スタイル
   ============================= */

   .news-content img {
    width: 100%;
    max-width: 100%;
    height: auto;
    display: block;
    margin: 30px auto; /* 上下余白を確保 & 中央寄せ */
    border-radius: 10px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    object-fit: cover;
  }

  /* キャプション付き画像への対応 */
  .news-content .wp-caption {
    text-align: center;
    margin: 30px auto;
  }

  .news-content .wp-caption img {
    margin: 0 auto;
  }

  .news-content .wp-caption-text {
    font-size: 14px;
    color: #666;
    margin-top: 8px;
  }
/* =============================
   レスポンシブ対応
   ============================= */

/* タブレット対応（992px以下） */
@media (max-width: 992px) {
  .news-detail {
    padding: 60px 0;
  }

  .news-detail .container {
    padding: 0 16px;
  }

  .news-detail-meta {
    font-size: 20px;
    gap: 15px;
  }

  .news-detail-meta .news-detail-category {
    font-size: 15px;
  }

  .news-content {
    font-size: 17px;
  }

  .news-prev a,
  .news-next a {
    font-size: 15px;
  }
}

/* スマホ対応（768px以下） */
@media (max-width: 768px) {
  .news-detail {
    padding: 50px 0;
  }

  .news-detail-meta {
    font-size: 18px;
    gap: 12px;
    justify-content: flex-start;
  }

  .news-detail-meta .news-detail-category {
    font-size: 14px;
  }

  .news-content {
    font-size: 16px;
  }

  .news-content h1,
  .news-content h2,
  .news-content h3 {
    margin-top: 30px;
  }

  .news-content p {
    margin-bottom: 20px;
  }


}

/* スマホ最小サイズ（576px以下） */
@media (max-width: 576px) {
  .news-detail-meta {
    font-size: 16px;
    gap: 10px;
  }

  .news-detail-meta .news-detail-category {
    font-size: 13px;
    padding: 3px 10px;
  }

  .news-content {
    font-size: 15px;
  }

  .news-content .wp-caption-text {
    font-size: 13px;
  }

  .news-navigation {
    padding-top: 20px;
  }
}
