/*
Theme Name: IRIS（子テーマ）
Theme URI: https://coconala.com/users/3118350
Author: Kazuki Saito
Author URI: https://coconala.com/users/3118350
Template: rogpurs
Description: WordPress子テーマ
Version: 1.0

【開発担当者の方へ】
当サイトは、基本Elementorで制作しています。
テーマファイルには、ニュースボックス等が設置してありますので必要に応じて修正を行なっていただいて構いません。
ファイルの中身に関してご不明な点がある場合は、「Author URI」に記載されているプロフィールから連絡をお願いいたします。
*/

        @import url('https://fonts.googleapis.com/css2?family=Raleway:wght@400&family=Zen+Kaku+Gothic+Antique:wght@400&display=swap');
.news-section {
    display: flex;
    overflow-x: auto; /* 横スクロールを有効化 */
    gap: 20px; /* カード間のスペース */
    padding: 20px 10px; /* 全体の余白調整 */
    scroll-snap-type: x mandatory; /* スクロール時にスナップ */
}

.news-item {
    flex: 0 0 200px; /* 各カードの幅を固定 */
    scroll-snap-align: start; /* カードをスナップに合わせる */
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px; /* 画像とテキストの間隔 */
    font-family: 'Noto Sans JP', sans-serif;
    transition: transform 0.3s ease, opacity 0.3s ease;
    opacity: 0.9; /* 少し透明感を持たせる */
}

.news-item:hover {
    transform: translateY(-5px); /* ホバー時に軽く持ち上げ */
    opacity: 1; /* ホバー時に不透明にする */
}

.news-item img {
    width: 100%; /* 画像をカード全幅にフィット */
    aspect-ratio: 1 / 1; /* 正方形の画像 */
    object-fit: cover; /* 画像をトリミング */
    border-radius: 8px; /* 画像の角を丸く */
}

.news-date {
    font-size: 14px;
    color: #333333; /* 控えめなグレー */
    text-align: center; /* 中央揃え */
}

.news-content {
    font-size: 16px;
    font-weight: bold;
    color: #333333; /* 落ち着いた色 */
    text-align: center; /* 中央揃え */
    padding: 0 5px;
}

.news-content a {
    text-decoration: none;
    color: inherit; /* 親要素の色を引き継ぐ */
}

.news-content a:hover {
    color: #007acc; /* アクセントカラー */
}

/* スクロールバーのデザイン */
.news-section::-webkit-scrollbar {
    height: 4px;
}

.news-section::-webkit-scrollbar-thumb {
    background: #ccc;
    border-radius: 2px;
}



.pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin-top: 20px;
}

.pagination a,
.pagination span {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    color: #333;
    background-color: #f5f5f5;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease-in-out;
}

.pagination a:hover {
    background-color: #007acc;
    color: #fff;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

.pagination .current {
    background-color: #007acc;
    color: #fff;
    font-weight: bold;
    pointer-events: none;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
}








/* Google Fonts（Noto Sans JP）の読み込み */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap');

/* グローバルフォント指定 */
body,
.news-page-section,
.news-page-item,
.news-page-details,
.news-page-category,
.news-page-date,
.news-page-title,
.read-more-button {
    font-family: 'Noto Sans JP', sans-serif;
}

/* PC用：タイル状のグリッドレイアウト */
@media (min-width: 769px) {
  .news-page-section {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
      gap: 20px;
      padding: 20px 10px;
  }
  .news-page-item {
      padding: 10px;
      transition: transform 0.3s ease;
      cursor: pointer;
  }
  .news-page-item:hover {
      transform: translateY(-5px);
  }
  .news-page-thumbnail img {
      width: 100%;
      height: auto;
      border-radius: 8px;
      object-fit: cover;
  }
  .news-page-date {
      font-size: 14px;
      color: #666;
      margin-top: 10px;
      text-align: left;
  }
  .news-page-title {
      font-size: 16px;
      font-weight: bold;
      color: #333;
      text-align: left;
      margin-top: 5px;
  }
  /* スマホ専用要素はPCでは非表示 */
  .mobile-only {
      display: none;
  }
}

/* SP用：リスト状レイアウト */
@media (max-width: 768px) {
  .news-page-section {
      display: flex;
      flex-direction: column;
      gap: 15px;
      padding: 10px;
  }
  .news-page-item {
      display: flex;
      align-items: center;
      padding: 10px;
      transition: transform 0.3s ease;
      cursor: pointer;
  }
  .news-page-item:hover {
      transform: translateY(-5px);
  }
  .news-page-thumbnail {
      flex: 0 0 100px;
      margin-right: 10px;
  }
  .news-page-thumbnail img {
      width: 100px;
      height: 100px;
      border-radius: 8px;
      object-fit: cover;
  }
  .news-page-details {
      flex: 1;
  }
  .news-page-category {
      font-size: 12px;
      color: #007acc;
      margin-bottom: 5px;
  }
  .news-page-date {
      font-size: 12px;
      color: #666;
      margin-bottom: 3px;
  }
  .news-page-title {
      font-size: 14px;
      font-weight: bold;
      color: #333;
      margin-bottom: 5px;
  }
  /* スマホ用VIEW MOREテキストリンク */
  .read-more-button {
      background: none;
      border: none;
      padding: 0;
      font-size: 12px;
      color: #666;
      text-decoration: none;
      display: inline-flex;
      align-items: center;
      cursor: pointer;
  }
  .read-more-button::after {
      content: "＞";
      margin-left: 4px;
      font-size: inherit;
  }
  .read-more-button:hover {
      color: #666;
  }
  /* スマホ専用要素を表示 */
  .mobile-only {
      display: block;
  }
}

/* Pagination（ページネーション）のスタイル（PC/SP共通） */
.pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin-top: 20px;
}
.pagination a,
.pagination span {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    color: #333;
    background-color: #f5f5f5;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease-in-out;
}
.pagination a:hover {
    background-color: #007acc;
    color: #fff;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}
.pagination .current {
    background-color: #007acc;
    color: #fff;
    font-weight: bold;
    pointer-events: none;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
}
