/* =========================================================
   共通：WordPress出力画像の縦横比補正
   （アイキャッチ等は width/height 属性が付く為 height:auto で比率維持）
   ========================================================= */
img.w100 { height: auto; }

/* 店舗テーブルの Instagram アイコン */
.office-sns-icon { width: 40px; height: auto; display: inline-block; transition: opacity .3s; }
.office-sns-icon:hover { opacity: .7; }

/* =========================================================
   お知らせ カード型デザイン（アイドラッグ）
   サイト基調：アクセント #ef858c / 淡ピンク #fef5f5 / 文字 #3e3a39
   ========================================================= */

#dynamicInfo { width: 100%; }

.news-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;
  width: 100%;
  margin: 0 auto;
}
@media only screen and (max-width: 991px) {
  .news-cards { grid-template-columns: repeat(2, 1fr); gap: 18px; }
}
@media only screen and (max-width: 575px) {
  .news-cards { grid-template-columns: 1fr; gap: 16px; }
}

/* カード本体 */
.news-card {
  display: flex;
  flex-direction: column;
  /* トップページの事業所カードと同じ背景（淡いピンク＋ロゴ透かし） */
  background: #fef5f5 url(../images/logo4.svg) no-repeat right bottom;
  border: 0;
  border-radius: 14px;
  overflow: hidden;
  text-decoration: none;
  color: #3e3a39;
  box-shadow: none;
  transition: background-color .35s ease;
  height: 100%;
}
.news-card:hover {
  transform: none;
  box-shadow: none;
  background-color: #fdeced;
  text-decoration: none;
}

/* サムネイル */
.news-card-thumb {
  position: relative;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #fef5f5;
}
.news-card-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .5s ease;
}
.news-card:hover .news-card-thumb img { transform: scale(1.06); }

/* 画像なし（重要なお知らせ等）は白背景＋ロゴ透かし */
.news-card-thumb--empty {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
}
.news-card-thumb--empty img {
  width: 58%;
  height: auto;
  object-fit: contain;
  opacity: .45;
  transform: none;
}
.news-card:hover .news-card-thumb--empty img { transform: none; }

/* 重要バッジ */
.news-card-badge {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 2;
  background: #ef858c;
  color: #fff;
  font-size: .72rem;
  font-weight: bold;
  padding: 3px 13px;
  border-radius: 100vh;
  letter-spacing: .06em;
}

/* テキスト */
.news-card-body {
  display: flex;
  flex-direction: column;
  gap: 9px;
  padding: 16px 18px 18px;
  flex: 1;
}
.news-card-date {
  font-size: .8rem;
  font-weight: bold;
  color: #ef858c;
  letter-spacing: .06em;
}
.news-card-title {
  font-size: .95rem;
  line-height: 1.65;
  margin: 0;
  color: #3e3a39;
  font-weight: 500;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.news-card-more {
  margin-top: auto;
  padding-top: 8px;
  font-size: .78rem;
  font-weight: bold;
  color: #ef858c;
}
.news-card-more::after { content: " ›"; font-size: 1rem; }

/* ページ送り */
.news-pagination { margin-top: 20px; line-height: 2.4; }
.news-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  margin: 4px;
  border: 1px solid #eee;
  border-radius: 50%;          /* 数字ボタンは正円 */
  text-decoration: none;
  color: #3e3a39;
  font-weight: bold;
  font-size: .9rem;
  background: #fff;
  transition: .3s;
  vertical-align: middle;
  box-sizing: border-box;
}
.news-pagination a.page-numbers:hover {
  background: #fef5f5;
  border-color: #ef858c;
  color: #ef858c;
}
.news-pagination .page-numbers.current {
  background: #ef858c;
  border-color: #ef858c;
  color: #fff;
}
/* 「前へ」「次へ」は文字が入るので横長ピル */
.news-pagination .page-numbers.prev,
.news-pagination .page-numbers.next {
  width: auto;
  padding: 0 16px;
  border-radius: 100vh;
}
.news-pagination .page-numbers.dots {
  width: auto;
  border: none;
  background: transparent;
}
