/* ============================================================
   site.css — なのはな保育園 サイト固有スタイル
   main.css の後に読み込み、テーマカラー・各セクション固有スタイルを上書き
   ============================================================ */

/* ==========================================================================
   Google Fonts は head.php で読み込み済み
   Zen Maru Gothic / Quicksand
   ========================================================================== */

/* ==========================================================================
   サイトカラー上書き — main.css の #F6F5BF (薄黄) → 可読性調整
   ========================================================================== */

/* リンク色: 明るい黄色は白背景で見えないため濃い茶色に */
a { color: #3b3232; }
a:hover { color: #7a8a60; opacity: 1; }

/* ヘッダーナビのリンク上書き */
.header__nav-item a { color: #3b3232; }
.header__nav-item a:hover { color: #6a8a50; }
.header__nav-en { color: #6a8a50; }

/* パンくずリンク */
.breadcrumb__link { color: #6a8a50; }

/* ページトップボタン */
.page-top__link { background: #6a8a50; color: #fff; }
.page-top__link:hover { background: #4a6a30; color: #fff; opacity: 1; }

/* ナビトグル */
.nav-toggle { background: #6a8a50; }
.nav-toggle span { background: #fff; }

/* SPナビ背景 */
.sp-nav { background: linear-gradient(135deg, rgba(106,138,80,0.97), rgba(195,223,180,0.97)); }
.sp-nav__link { color: #fff; }

/* ==========================================================================
   ヘッダー固有
   ========================================================================== */
body { padding-top: 80px; }

.header-bar { background: #fff; border-bottom: 3px solid #F6F5BF; }

/* ヘッダーロゴ下テキスト */
.header__site-name {
  font-size: 1.1rem;
  font-weight: 700;
  color: #3b3232;
  line-height: 1.3;
  margin-left: 12px;
}

/* ヘッダーTEL */
.header__tel {
  font-family: "Quicksand", sans-serif;
  font-size: 1.8rem;
  font-weight: 700;
  color: #6a8a50;
  margin-left: auto;
  margin-right: 20px;
  text-decoration: none;
}
.header__tel::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f095";
  margin-right: 6px;
  font-size: 0.8em;
  color: #6a8a50;
}
.header__tel:hover { opacity: 0.8; }

/* ==========================================================================
   フッター固有
   ========================================================================== */
.footer-body--dark { background: #fffef5; color: #3b3232; }
.footer-body--dark .footer-tel { color: #3b3232; }
.footer-body--dark .footer-tel a { color: #3b3232; }
.footer-bottom--dark { background: #1e3415; }

/* フッター全体インナー */
/* main.css の display:flex を block に上書き → top と nav-row を縦積みにする */
.footer-body__inner {
  display: block !important;
  max-width: 1140px;
  margin: 0 auto;
  padding: 56px 48px 44px;
}

/* ---- 上段: 2カラム（ロゴ+住所 | 地図） ---- */
.footer-top {
  display: flex;
  align-items: stretch;
  gap: 56px;
  margin-bottom: 44px;
}

/* 左: ロゴ + 住所情報 */
.footer-top__info {
  flex: 0 0 285px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.footer-logo {
  margin-bottom: 20px;
}

/* 右: Google Map（横長固定） */
.footer-top__map {
  flex: 1;
  border-radius: 8px;
  overflow: hidden;
}
.footer-top__map iframe {
  display: block;
  width: 100%;
  height: 170px;
  border: 0;
}

/* 住所テキスト */
.footer-address {
  font-size: 1.4rem;
  color: #3b3232;
  line-height: 2.0;
  margin: 0;
}
.footer-address a {
  color: #3b3232;
  text-decoration: none;
}
.footer-address a:hover { color: #C3DFB4; }

/* ---- 下段: ナビ横一列 ---- */
.footer-nav-row {
  border-top: 1px solid rgba(59,50,50,0.18);
  padding-top: 32px;
  padding-bottom: 8px;
}
.footer-nav-row ul {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 0;
}
.footer-nav-row li {
  display: flex;
  align-items: center;
}
.footer-nav-row li::before {
  content: '●';
  color: #C3DFB4;
  font-size: 0.6em;
  margin-right: 8px;
  flex-shrink: 0;
}
.footer-nav-row a {
  color: #3b3232;
  text-decoration: none;
  font-size: 1.45rem;
  letter-spacing: 0.03em;
  padding: 6px 32px 6px 0;
  white-space: nowrap;
}
.footer-nav-row a:hover { color: #C3DFB4; }

/* ==========================================================================
   TOPページ — メインビジュアル
   ========================================================================== */
#top-mv {
  position: relative;
  width: 100%;
  height: calc(100vh - 80px);
  overflow: hidden;
}
@media (max-width: 640px) {
  #top-mv {
    height: calc(45vh - 80px);
  }
}

/* CMS スライドショー挿入エリア */
#top-mv .slideshow {
  width: 100%;
  height: 100%;
}

/* CMS が挿入するスライダーコンテナ */
#cms-slider-1-1-area {
  height: 100%;
}

/* MV上 キャッチコピーカード */
.mv-card {
  position: absolute;
  bottom: 40px;
  left: 5%;
  z-index: 10;
  max-width: 800px;
  border-radius: 20px;
  padding: 28px 36px;
}
.mv-card img {
  max-width: 100%;
  height: auto;
  display: block;
}
.mv-card__sub {
  font-family: "Quicksand", sans-serif;
  font-size: 1.2rem;
  font-weight: 600;
  color: #6a8a50;
  letter-spacing: 0.15em;
  margin-bottom: 8px;
}
.mv-card__main {
  font-size: 2.6rem;
  font-weight: 900;
  line-height: 1.4;
  color: #3b3232;
  letter-spacing: 0.05em;
}
.mv-card__lead {
  font-size: 1.4rem;
  color: #3b3232;
  margin-top: 10px;
  line-height: 1.7;
}

/* ==========================================================================
   TOPページ — ブログ遷移ボタン
   ========================================================================== */
#top-blog-btn {
  background: #F6F5BF;
  padding: 40px 0;
}
.top-blog-btn__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 5%;
}
.top-blog-btn__icon {
  font-size: 2.4rem;
  color: #6a8a50;
}
.top-blog-btn__text {
  font-size: 1.8rem;
  font-weight: 700;
  color: #3b3232;
}
.top-blog-btn__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 28px;
  background: #6a8a50;
  color: #fff;
  border-radius: 9999px;
  font-size: 1.5rem;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.3s ease;
  margin-left: auto;
}
.top-blog-btn__link:hover { background: #4a6a30; opacity: 1; }
.top-blog-btn__link::after {
  content: "";
  display: inline-block;
  width: 8px; height: 8px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
}

/* ==========================================================================
   TOPページ — ごあいさつ（GREETING）
   ========================================================================== */
#top-greeting {
  padding: 100px 0;
  background: #fffef5;
  position: relative;
}
#top-greeting .heading__en { color: #C3DFB4; }
#top-greeting .heading__ja { color: #3b3232; }

.greeting-inner {
  display: flex;
  align-items: flex-start;
  gap: 60px;
  max-width: 1200px;
  margin: 60px auto 0;
  padding: 0 5%;
}
.greeting-photo {
  flex: 0 0 380px;
  border-radius: 20px;
  overflow: hidden;
}
.greeting-photo img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display: block;
}
.greeting-body { flex: 1; }
.greeting-body__title {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
  color: #3b3232;
  margin-bottom: 24px;
  border-left: 5px solid #C3DFB4;
  padding-left: 16px;
}
.greeting-body__text {
  font-size: 1.5rem;
  line-height: 2;
  color: #3b3232;
}
.greeting-body__text + .greeting-body__text { margin-top: 20px; }

/* ==========================================================================
   TOPページ — ギャラリー（GALLERY）
   ========================================================================== */
#top-gallery {
  padding: 100px 0;
  background: #f5f3e8;
  overflow: hidden;
}
#top-gallery .heading__en { color: #F7CCA3; }

.gallery-slider-wrap {
  margin-top: 50px;
  overflow: hidden;
}

/* ==========================================================================
   TOPページ — コンテンツメニュー（CONTENTS）
   ========================================================================== */
#top-contents {
  padding: 100px 0;
  background: #fffef5;
}
#top-contents .heading__en { color: #C3DFB4; }

.contents-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  max-width: 1400px;
  margin: 50px auto 0;
  padding: 0 5%;
}

/* card-bnr 上書き（コンテンツメニュー用） */
#top-contents .card-bnr__item { display: block; cursor: pointer; pointer-events: auto; }
#top-contents .card-bnr__img { height: 280px; }
#top-contents .card-bnr__overlay { background: rgba(59,50,50,0.3); pointer-events: none; }
#top-contents .card-bnr__title .heading__en { color: #F6F5BF; font-size: 2.4rem; }
#top-contents .card-bnr__title .heading__ja { font-size: 1.6rem; color: #fff; }

/* ==========================================================================
   下層ページ共通 — ページヒーロー（写真背景）
   ========================================================================== */
/* テキスト色：写真+暗幕の上に白で表示 */
.page-hero .page-hero__en {
  color: rgba(246, 245, 191, 0.85);
  font-size: 3.6rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  line-height: 1.2;
  text-shadow: 0 1px 6px rgba(0,0,0,0.3);
}
.page-hero .page-hero__ja {
  color: #fff;
  font-size: 2.8rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-shadow: 0 1px 6px rgba(0,0,0,0.3);
}
.page-hero__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 2;
  text-align: center;
}

/* greeting-text（indexページごあいさつのテキスト列） */
.greeting-text { flex: 1; }

/* ==========================================================================
   下層ページ共通 — セクション見出し
   ========================================================================== */
.section-heading {
  text-align: center;
  margin-bottom: 50px;
}
.section-heading__en {
  font-family: "Quicksand", sans-serif;
  font-size: 4rem;
  font-weight: 700;
  color: #C3DFB4;
  display: block;
  line-height: 1.2;
}
.section-heading__ja {
  font-size: 2rem;
  font-weight: 700;
  display: block;
  color: #3b3232;
  margin-top: 4px;
}
.section-heading__bar {
  display: block;
  width: 50px;
  height: 3px;
  background: #C3DFB4;
  margin: 12px auto 0;
  border-radius: 9999px;
}

/* ==========================================================================
   about.php — 保育理念・目標・方針
   ========================================================================== */
.philosophy-box {
  background: #F6F5BF;
  border-radius: 20px;
  padding: 50px 60px;
  text-align: center;
  width: 100%;
}
.philosophy-box__title {
  font-size: 2.8rem;
  font-weight: 900;
  color: #3b3232;
  line-height: 1.5;
  margin-bottom: 20px;
}
.philosophy-box__text {
  font-size: 1.6rem;
  line-height: 2;
  color: #3b3232;
}

.goal-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  max-width: 900px;
  margin: 0 auto;
}
.goal-list__item {
  background: #fff;
  border-radius: 16px;
  padding: 30px 24px;
  text-align: center;
  box-shadow: 0 2px 12px rgba(59,50,50,0.06);
  border-top: 5px solid #C3DFB4;
}
.goal-list__num {
  font-family: "Quicksand", sans-serif;
  font-size: 2.8rem;
  font-weight: 900;
  color: #C3DFB4;
  line-height: 1;
  margin-bottom: 12px;
}
.goal-list__text {
  font-size: 1.5rem;
  font-weight: 700;
  color: #3b3232;
  line-height: 1.6;
}

/* 保育方針ボックス */
.policy-box {
  margin-top: 48px;
  border: 2px solid #C3DFB4;
  border-radius: 8px;
  padding: 32px 36px;
  background: #fff;
}
.policy-box__heading {
  font-size: 1.7rem;
  font-weight: 700;
  color: #3b3232;
  border-left: 4px solid #6a8a50;
  padding-left: 12px;
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px dashed #C3DFB4;
}

/* 保育方針リスト */
.policy-list { list-style: none; padding: 0; margin: 0; }
.policy-list__item {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 20px 0;
  border-bottom: 1px dashed #ddd;
  font-size: 1.5rem;
  line-height: 1.8;
}
.policy-list__icon { flex-shrink: 0; margin-top: 0.3em; color: #6a8a50; }

/* ==========================================================================
   class.php — 年齢別保育目標
   ========================================================================== */
.age-tabs {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 40px;
}
.age-tab-btn {
  padding: 10px 24px;
  border: 2px solid #C3DFB4;
  border-radius: 9999px;
  background: #fff;
  color: #3b3232;
  font-size: 1.5rem;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.3s ease;
  pointer-events: auto;
}
.age-tab-btn.is-active,
.age-tab-btn:hover {
  background: #C3DFB4;
  color: #3b3232;
}

.age-content { display: none; }
.age-content.is-active { display: block; }
.tab-panel { display: none; }
.tab-panel.is-active { display: block; }

.age-card {
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(59,50,50,0.08);
  width: 100%;
  height: 100%;
  box-sizing: border-box;
}
.age-card__header {
  background: #C3DFB4;
  padding: 28px 40px;
  display: flex;
  align-items: center;
  gap: 20px;
}
.age-card__label {
  font-size: 3.2rem;
  font-weight: 900;
  color: #fff;
}
.age-card__title { font-size: 2rem; font-weight: 700; color: #fff; }
.age-card__body { padding: 40px; }

/* ==========================================================================
   event.php — 年間行事カード（year-events）
   ========================================================================== */

/* グリッド本体：4列 × 3行 */
.year-events__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

/* 1枚のカード */
.year-events__card {
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
  border: 2px solid #C3DFB4;
  box-shadow: 0 4px 16px rgba(59, 50, 50, 0.07);
  display: flex;
  flex-direction: column;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.year-events__card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(59, 50, 50, 0.12);
}

/* 画像エリア */
.year-events__image {
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: #faf9f0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.year-events__image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 8px;
}

/* テキストエリア */
.year-events__body {
  padding: 16px 18px 20px;
  flex: 1;
  background: #fffdf5;
}

/* 月名（スクリーンリーダー向け・視覚上は非表示でも可） */
.year-events__month {
  font-size: 1.4rem;
  font-weight: 700;
  color: #6a8a50;
  margin-bottom: 10px;
  padding-bottom: 6px;
  border-bottom: 2px solid #e8f0e0;
  font-family: "Zen Maru Gothic", sans-serif;
}

/* 行事リスト */
.year-events__list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.year-events__list-item {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  padding: 4px 0;
  font-size: 1.3rem;
  line-height: 1.6;
  color: #3b3232;
}

/* 丸ドット（通常：青緑系） */
.year-events__dot {
  flex-shrink: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #7bbdd4;
  margin-top: 0.45em;
}

/* ドット強調色（accent修飾子付きアイテム） */
.year-events__list-item--accent .year-events__dot {
  background: #e8838e;
}

.year-events__text {
  flex: 1;
}

/* 補足ボックス */
.year-events__notes {
  margin-top: 48px;
}
.year-events__notes-inner {
  background: #f4f8ee;
  border-radius: 16px;
  padding: 28px 36px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 48px;
  align-items: flex-start;
}
.year-events__notes-title {
  width: 100%;
  font-size: 1.4rem;
  font-weight: 700;
  color: #6a8a50;
  margin-top: 12px;
  margin-bottom: 4px;
}
.year-events__notes-title:first-child { margin-top: 0; }

.year-events__notes-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 6px 28px;
}
.year-events__notes-list li {
  font-size: 1.35rem;
  color: #3b3232;
  padding-left: 14px;
  position: relative;
}
.year-events__notes-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #C3DFB4;
}

/* ==========================================================================
   持ち物について — 2カラムレイアウト
   ========================================================================== */
.belongings-layout {
  display: grid;
  grid-template-columns: 1fr 1.6fr;
  gap: 48px;
  align-items: start;
}
.belongings-layout__img {
  border-radius: 12px;
  overflow: hidden;
}
.belongings-layout__img img {
  width: 100%;
  height: 100%;
  min-height: 280px;
  object-fit: cover;
  display: block;
  border-radius: 12px;
}
@media (max-width: 767px) {
  .belongings-layout {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   daily.php — 一日の流れ
   ========================================================================== */

/* ---- セクション区切り見出し ---- */
.daily-flow__section {
  margin-bottom: 80px;
}
.daily-flow__section:last-child { margin-bottom: 0; }

.daily-flow__section-title {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 40px;
}
.daily-flow__section-title::before,
.daily-flow__section-title::after {
  content: '';
  flex: 1;
  height: 2px;
  background: #C3DFB4;
}
.daily-flow__label {
  display: inline-block;
  background: #C3DFB4;
  color: #3b3232;
  font-size: 1.7rem;
  font-weight: 700;
  padding: 8px 28px;
  border-radius: 9999px;
  white-space: nowrap;
}

/* ---- 2カラムレイアウト ---- */
.daily-flow__content {
  display: flex;
  align-items: flex-start;
  gap: 48px;
}
/* reverse: 写真を右に移動 */
.daily-flow__content--reverse {
  flex-direction: row-reverse;
}

/* ---- 写真カラム ---- */
.daily-flow__image {
  flex: 0 0 44%;
  max-width: 44%;
}
.daily-flow__image img {
  width: 100%;
  height: 460px;
  object-fit: cover;
  border-radius: 12px;
  display: block;
}

/* ---- タイムラインカラム ---- */
.daily-flow__timeline {
  flex: 1;
  padding-top: 4px;
}

/* ---- タイムライン行 ---- */
.daily-flow__item {
  display: flex;
  align-items: flex-start;
  gap: 0;
  position: relative;
}

/* 時刻列 */
.daily-flow__time-col {
  flex: 0 0 90px;
  text-align: right;
  padding-right: 0;
  padding-top: 2px;
}
.daily-flow__time {
  font-family: "Quicksand", sans-serif;
  font-size: 1.3rem;
  font-weight: 600;
  color: #6a8a50;
  white-space: nowrap;
}

/* 縦線+ドット列 */
.daily-flow__connector {
  flex: 0 0 36px;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  padding-top: 6px;
}
/* 連続縦線（全アイテム共通） */
.daily-flow__connector::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 2px;
  height: 70px;
  background: #C3DFB4;
}
/* 最初のアイテム：線をドット中心から開始 */
.daily-flow__item:first-child .daily-flow__connector::before {
  top: 12px; /* padding-top(6px) + dot半径(6px) */
}
/* 最後のアイテム：線をドット中心で終了 */
.daily-flow__item:last-child .daily-flow__connector::before {
  bottom: auto;
  height: 12px; /* padding-top(6px) + dot半径(6px) */
}
.daily-flow__dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #6a8a50;
  flex-shrink: 0;
  position: relative;
  z-index: 1;
}

/* テキスト列 */
.daily-flow__text-col {
  flex: 1;
  padding-left: 16px;
  padding-bottom: 20px;
}
.daily-flow__text {
  font-size: 1.45rem;
  line-height: 1.7;
  color: #3b3232;
  margin: 0;
  padding-top: 0;
}

/* ==========================================================================
   blog.php — ブログ一覧
   ========================================================================== */
.blog-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

/* card-blog__link を通常ブロックとして上書き（main.css の position:absolute を解除） */
.card-blog__item {
  display: flex;
  flex-direction: column;
}
.card-blog__link {
  position: static;
  display: flex;
  flex-direction: column;
  flex: 1;
  text-decoration: none;
  color: inherit;
}
.card-blog__link:hover { opacity: 0.85; }
.card-blog__body {
  flex: 1;
}

/* ==========================================================================
   共通 CTA（お問い合わせ）
   ========================================================================== */
.contact-cta {
  background: url('https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/27717/contact-cta.jpg') center center / cover no-repeat;
  color: #fff;
  padding: 80px 5%;
  position: relative;
}
.contact-cta .container {
  position: relative;
  z-index: 1;
  border-radius: 12px;
  padding: 48px 56px;
  max-width: 700px;
}
.contact-cta {
  text-align: center;
}
.contact-cta__title {
  font-size: 2.8rem;
  font-weight: 900;
  color: #3b3232;
  margin-bottom: 16px;
}
.contact-cta__text {
  font-size: 1.6rem;
  color: #3b3232;
  margin-bottom: 30px;
  line-height: 1.8;
}
.contact-cta__tel {
  font-family: "Quicksand", sans-serif;
  font-size: 3.6rem;
  font-weight: 700;
  color: #3b3232;
  display: inline-block;
  background: #F6F5BF;
  border-radius: 9999px;
  padding: 10px 48px;
  margin-bottom: 8px;
}
.contact-cta__tel::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f095";
  margin-right: 10px;
  font-size: 0.8em;
}
.contact-cta__tel a { color: inherit; text-decoration: none; }
.contact-cta__hours {
  font-size: 1.3rem;
  color: #3b3232;
  margin-bottom: 30px;
}

/* ==========================================================================
   about.php — 外部情報公開 PDFボタン
   ========================================================================== */
.pdf-btn-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  max-width: 860px;
  margin: 0 auto;
}
.pdf-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: #e8f3e0;
  border: 1px solid #C3DFB4;
  border-radius: 8px;
  padding: 18px 16px;
  text-decoration: none;
  color: #3b3232;
  font-size: 1.5rem;
  font-weight: 600;
  transition: background 0.2s ease, box-shadow 0.2s ease;
}
.pdf-btn:hover {
  background: #C3DFB4;
  box-shadow: 0 2px 10px rgba(106,138,80,0.2);
  color: #3b3232;
  opacity: 1;
}
.pdf-btn__icon {
  color: #6a8a50;
  font-size: 1.6rem;
  flex-shrink: 0;
}

/* ==========================================================================
   about.php — 基本情報（園の概要カード）
   ========================================================================== */
.overview-card {
  max-width: 1150px;
  margin: 0 auto;
  border: 1px solid #ddd;
  border-radius: 4px;
  overflow: hidden;
  background: #fff;
}

/* 園舎写真エリア */
.overview-card__photo {
  position: relative;
}
.overview-card__img {
  display: block;
  width: 100%;
  height: 220px;
  object-fit: cover;
}

/* 「園の概要」ラベル */
.overview-card__label {
  position: absolute;
  bottom: 0;
  left: 0;
  background: #C3DFB4;
  color: #3b3232;
  font-size: 2.3rem;
  font-weight: 700;
  padding: 13px 55px;
  letter-spacing: 0.05em;
}

/* 基本情報テーブル */
.overview-card__table-wrap {
  border-bottom: 1px solid #e8e8e8;
}
.overview-card__table {
  width: 100%;
  border-collapse: collapse;
  font-size: 1.4rem;
}
.overview-card__table tr:nth-child(odd) {
  background: #fafaf5;
}
.overview-card__table tr:nth-child(even) {
  background: #fff;
}
.overview-card__table th {
  width: 28%;
  padding: 12px 16px;
  color: #3b3232;
  font-weight: 600;
  vertical-align: top;
  border-bottom: 1px solid #ececec;
  white-space: nowrap;
}
.overview-card__table td {
  padding: 12px 16px;
  color: #555;
  line-height: 1.8;
  border-bottom: 1px solid #ececec;
}
.overview-card__table td a {
  color: #6a8a50;
  text-decoration: none;
}

/* アクセスエリア */
.overview-card__access {
  padding: 24px 24px 30px;
}
.overview-card__access-heading {
  font-size: 1.5rem;
  font-weight: 700;
  color: #3b3232;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 2px solid #C3DFB4;
}
.overview-card__map {
  overflow: hidden;
  pointer-events: auto;
}
.overview-card__map iframe {
  display: block;
  width: 100%;
  border: 0;
}

/* ==========================================================================
   blog.php — ブログ記事ボックス型レイアウト
   ========================================================================== */

/* 記事ボックス */
.blog-post {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 2px 16px rgba(59,50,50,0.07);
  border: 1px solid #ece9e0;
  padding: 36px 40px 40px;
  margin-bottom: 48px;
}
.blog-post:last-child { margin-bottom: 0; }

/* タイトル */
.blog-post__title {
  font-size: 1.8rem;
  font-weight: 700;
  color: #3b3232;
  border-left: 4px solid #6a8a50;
  padding-left: 14px;
  padding-bottom: 16px;
  border-bottom: 1px solid #e0e0d8;
  margin-bottom: 28px;
}

/* スライダーラッパー（矢印用スペース確保） */
.blog-post__slider-wrap {
  position: relative;
  padding: 0 48px;
  margin-bottom: 28px;
  pointer-events: auto;
}

/* スライド画像 */
.blog-post__slide img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 8px;
  display: block;
}

/* スライド間余白 */
.blog-post__slider .slick-slide {
  padding: 0 8px;
}
.blog-post__slider .slick-list {
  pointer-events: auto;
}

/* 本文 */
.blog-post__text {
  font-size: 1.5rem;
  line-height: 1.85;
  color: #3b3232;
  margin: 0;
}

/* 矢印ボタン共通 */
.blog-slick-prev,
.blog-slick-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  pointer-events: auto;
  width: 40px;
  height: 40px;
  background: #fff;
  border: 1px solid #C3DFB4;
  border-radius: 50%;
  display: flex !important;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: #6a8a50;
  font-size: 1.5rem;
  box-shadow: 0 2px 8px rgba(0,0,0,0.10);
  transition: background 0.2s, color 0.2s;
  padding: 0;
  line-height: 1;
}
.blog-slick-prev { left: 0; }
.blog-slick-next { right: 0; }
.blog-slick-prev:hover,
.blog-slick-next:hover {
  background: #6a8a50;
  border-color: #6a8a50;
  color: #fff;
}

/* ==========================================================================
   about.php — 食材テーブル（シンプルスタイル）
   ========================================================================== */
.simple-table {
  border-collapse: collapse;
  font-size: 1.45rem;
}
.simple-table th,
.simple-table td {
  padding: 12px 16px;
  text-align: left;
  border-bottom: 1px solid #e0e0d8;
  vertical-align: middle;
}
.simple-table thead tr {
  background: #f0f5ec;
  border-bottom: 2px solid #C3DFB4;
}
.simple-table thead th {
  color: #3b3232;
  font-weight: 700;
}
.simple-table tbody tr:nth-child(even) {
  background: #fafaf7;
}

/* ==========================================================================
   AOS アニメーション上書き（必要に応じて）
   ========================================================================== */
[data-aos] { pointer-events: none; }
[data-aos].aos-animate { pointer-events: auto; }
[data-aos] a,
[data-aos] button { pointer-events: auto; }

/* ==========================================================================
   レスポンシブ (SP非対応のため主に構造維持のみ)
   ========================================================================== */
/* このサイトはレスポンシブ非対応（SP向けスタイル省略） */