.center-text {
  text-align: left;
  font-size: 18px;
  font-weight: bold;
  color:black;
}

/* ===== 10. 最新情報 ===== */
/* 最新情報セクション全体の余白 */
.news-section {
  padding: 40px 0; /* 左右は inner-container に任せるので 0 */
  max-width: 1200px;
  margin: 0 auto;
}

/* カードを包むコンテナ */
.card-container {
  display: flex;
  flex-wrap: wrap;    /* 画面が狭くなったら折り返す */
  gap: 20px;          /* カード同士の隙間 */
  justify-content: center;
}

/* 各カードのスタイル */
.news-card {
  flex: 1;              /* 均等な幅に広がる */
  min-width: 300px;     /* カードの最小幅（これより狭くなると折り返す） */
  max-width: 400px;     /* 広がりすぎ防止 */
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 8px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform 0.3s, box-shadow 0.3s;
}

/* ホバー演出 */
.news-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}

/* カード画像部分 */
.card-img-wrapper img {
  width: 100%;
  height: 200px;
  object-fit: cover;    /* 画像を歪ませずに枠に収める */
}

/* カードのテキスト部分 */
.card-content {
  padding: 20px;
  text-align: center;
  display: flex;
  flex-direction: column;
  flex-grow: 1;         /* 中身の量に関わらずボタンの位置を揃える */
}

.card-title {
  font-size: 1.2rem;
  font-weight: bold;
  margin-bottom: 10px;
  color: #333;
}

.card-text {
  font-size: 0.95rem;
  color: #666;
  margin-bottom: 20px;
  line-height: 1.6;
}

/* 枠付きボタン（詳しく見る） */
.btn-detail {
  display: inline-block;
  margin-top: auto;     /* 常にカードの一番下に配置 */
  padding: 8px 0;
  border: 2px solid #25abc1; /* フリューゲル水色 */
  color: #25abc1;
  text-decoration: none;
  font-weight: bold;
  border-radius: 4px;
  transition: 0.3s;
}

/* ボタンをホバーした時の色反転 */
.btn-detail:hover {
  background-color: #25abc1;
  color: #fff;
}

/* スマホ向けの微調整 */
@media screen and (max-width: 600px) {
  .news-card {
    min-width: 100%;    /* スマホでは強制的に1枚1行 */
  }
}