/* ============================================================
   home.css — トップページ リデザイン（温かい夏祭り調）
   Style : Warm Matsuri / 写真を活かした上品な祭り感
   Color : 赤 × 琥珀（サンセット）× クリーム（縁日・夕日）
   Scope : body.home-bold のみ（他ページ・style.css に影響なし）
   Type  : Righteous（英字ディスプレイ）＋ Zen Kaku 900（和文）＋ Poppins
   ============================================================ */

.home-bold {
  --hb-ink:      #2a1810;   /* 温かいダークブラウン（本文） */
  --hb-ink-soft: #6e4a31;   /* 補足テキスト */
  --hb-red:      #e23b2c;   /* 提灯レッド */
  --hb-red-deep: #bb251c;
  --hb-amber:    #f2901f;   /* サンセット琥珀 */
  --hb-gold:     #ffb838;   /* 温かいゴールド */
  --hb-coral:    #ff6a3d;
  --hb-cream:    #fff8ec;   /* 温かいクリーム背景 */
  --hb-paper:    #fffdf7;
  --hb-sand:     #fcefd8;   /* 温かいサンド */
  --hb-shadow:   0 18px 44px rgba(122, 64, 22, 0.16);
  --hb-shadow-sm:0 8px 22px rgba(122, 64, 22, 0.12);
  --hb-grad-sun: linear-gradient(120deg, var(--hb-red) 0%, var(--hb-amber) 100%);
  --font-hb-disp:'Righteous', 'Zen Kaku Gothic New', sans-serif;
  --font-hb-en:  'Poppins', 'Noto Sans JP', sans-serif;
  background: var(--hb-cream);
}

/* ---------------- セクション余白 & 見出し ---------------- */
.home-bold .section { padding: clamp(64px, 9vw, 120px) 0; }
.home-bold .section-head { text-align: center; margin-bottom: clamp(34px, 5vw, 58px); }

/* 隠れていた section-label を「サンセットの提灯タグ」として復活 */
.home-bold .section-label {
  display: inline-block !important;
  font-family: var(--font-hb-disp);
  font-size: clamp(0.72rem, 1.7vw, 0.9rem);
  letter-spacing: 0.12em;
  color: #fff !important;
  background: var(--hb-grad-sun);
  padding: 7px 18px;
  border-radius: 999px;
  box-shadow: 0 8px 18px rgba(226, 59, 44, 0.32);
  margin-bottom: 18px;
}
.home-bold .section-title {
  font-family: var(--font-hb-disp);
  font-weight: 700;
  font-size: clamp(2.1rem, 6.2vw, 4.2rem);
  line-height: 1.08;
  letter-spacing: 0.005em;
  color: var(--hb-ink);
}
/* 暗い写真背景セクション（impact / mvv）の見出しだけ白 */
.home-bold .impact .section-title,
.home-bold .mvv .section-title { color: #fff; }

/* ---------------- ヒーロー：特大ディスプレイ ---------------- */
.home-bold .hero-title {
  font-family: var(--font-hb-disp);
  font-weight: 400;
  font-size: clamp(3.1rem, 13.5vw, 9.3rem);
  line-height: 0.9;
  letter-spacing: 0.005em;
}
.home-bold .hero-eyebrow {
  display: inline-block;
  font-family: var(--font-hb-en);
  font-weight: 700;
  color: var(--hb-ink);
  background: var(--hb-gold);
  padding: 7px 17px;
  border-radius: 999px;
  letter-spacing: 0.02em;
  box-shadow: none;
  text-shadow: none;
}
.home-bold .hero-meta-item { font-family: var(--font-hb-en); font-weight: 700; }
.home-bold .hero-meta-item strong { color: var(--hb-gold); }
.home-bold .hero-theme { font-family: var(--font-hb-disp); letter-spacing: 0.02em; }
.home-bold .hero-status {
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.28);
  border-left: 5px solid var(--hb-amber);
  background: rgba(34, 18, 8, 0.5);
}
.home-bold .hero-status-label { color: var(--hb-gold); font-family: var(--font-hb-disp); }

/* ---------------- カウントダウン（温かいアクセント） ---------------- */
.home-bold .countdown-label { font-family: var(--font-hb-disp); }
.home-bold .cd-cap { font-family: var(--font-hb-en); font-weight: 700; }

/* ---------------- マーキー：提灯の灯る夜の帯 ---------------- */
.home-bold .marquee {
  background: #2a1810;
  padding: 13px 0;
}
.home-bold .m-item {
  font-family: var(--font-hb-disp);
  color: var(--hb-cream);
  -webkit-text-fill-color: var(--hb-cream);
  font-size: clamp(1rem, 2.2vw, 1.28rem);
}
.home-bold .m-item:nth-child(4n+1) { color: var(--hb-gold); -webkit-text-fill-color: var(--hb-gold); }
.home-bold .m-sep { color: var(--hb-amber); }

/* ---------------- 共通：温かいソフトカード（丸み＋柔らかい影） ---------------- */
.home-bold .content-card,
.home-bold .mission-card,
.home-bold .news-list .news-item {
  background: var(--hb-paper);
  border: 1px solid rgba(180, 120, 60, 0.16);
  border-radius: 22px;
  box-shadow: var(--hb-shadow);
  overflow: hidden;
  transition: transform 0.45s cubic-bezier(.22,1,.36,1), box-shadow 0.45s cubic-bezier(.22,1,.36,1);
}
.home-bold .content-card:hover,
.home-bold .mission-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 30px 60px rgba(122, 64, 22, 0.24);
}
.home-bold .content-thumb[data-label]::after {
  font-family: var(--font-hb-disp);
  background: var(--hb-grad-sun);
  color: #fff;
  border-radius: 999px;
}
.home-bold .content-title,
.home-bold .mission-head {
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 900;
  color: var(--hb-ink);
  font-size: clamp(1.18rem, 2.6vw, 1.5rem);
  line-height: 1.32;
}
.home-bold .content-desc,
.home-bold .mission-text { color: var(--hb-ink-soft); }
.home-bold .content-more { color: var(--hb-red-deep); font-weight: 700; }

/* カテゴリは温かいタグ（赤→琥珀でローテーション） */
.home-bold .mission-cat {
  display: inline-block;
  font-family: var(--font-hb-disp);
  color: #fff;
  background: var(--hb-red);
  border-radius: 999px;
  padding: 5px 15px;
  box-shadow: 0 6px 14px rgba(226,59,44,.3);
}
.home-bold .mission-card:nth-child(2) .mission-cat { background: var(--hb-amber); box-shadow: 0 6px 14px rgba(242,144,31,.32); }
.home-bold .mission-card:nth-child(3) .mission-cat { background: var(--hb-coral); box-shadow: 0 6px 14px rgba(255,106,61,.32); }
.home-bold .mission-card:nth-child(4) .mission-cat { background: var(--hb-red-deep); }

/* ---------------- ABOUT：温かい背景＋特大数字 ---------------- */
.home-bold .about { background: var(--hb-cream); }
.home-bold .about-text { color: var(--hb-ink); font-weight: 500; }
.home-bold .about-fact {
  background: var(--hb-paper);
  border: 1px solid rgba(180,120,60,.16);
  border-radius: 20px;
  box-shadow: var(--hb-shadow-sm);
  padding: 22px 18px;
}
.home-bold .about-fact:nth-child(2) { background: var(--hb-sand); }
.home-bold .about-fact-num {
  font-family: var(--font-hb-disp);
  font-size: clamp(3rem, 9vw, 5.4rem);
  line-height: 1;
  color: var(--hb-red);
}
.home-bold .about-fact:nth-child(2) .about-fact-num { color: var(--hb-amber); }
.home-bold .about-fact-unit { color: var(--hb-ink); }
.home-bold .about-fact-label { color: var(--hb-ink-soft); font-weight: 700; }
.home-bold .about-photos img { border-radius: 18px; box-shadow: var(--hb-shadow-sm); }
.home-bold .about-photos figcaption { color: var(--hb-ink-soft); font-weight: 600; }

/* ---------------- CONTENTS ---------------- */
.home-bold .contents { background: var(--hb-paper); }

/* ---------------- IMPACT：特大スタッツ ---------------- */
.home-bold .stat-num--feature {
  font-family: var(--font-hb-disp);
  font-size: clamp(4rem, 16vw, 9.2rem);
  line-height: 0.9;
}
.home-bold .impact-feature-eyebrow,
.home-bold .impact-feature-label { font-family: var(--font-hb-en); font-weight: 700; }

/* ---------------- MVV ---------------- */
.home-bold .mvv-values-title,
.home-bold .mvv-closing-title { font-family: var(--font-hb-disp); letter-spacing: 0.01em; }
.home-bold .mvv-intro { font-weight: 600; }

/* ---------------- CROWDFUNDING：明るいセクション（白文字バグを修正） ---------------- */
.home-bold .crowdfunding { background: var(--hb-sand); }
.home-bold .crowdfunding .section-title { color: var(--hb-ink); }
.home-bold .crowdfunding .cf-text { color: var(--hb-ink); }

/* ---------------- ボタン：サンセットのグラデ（丸み＋柔らかい影） ---------------- */
.home-bold .btn {
  font-family: var(--font-hb-en);
  font-weight: 800;
  letter-spacing: 0.01em;
  border-radius: 999px;
  border: none;
  text-transform: none;
  transition: transform 0.3s cubic-bezier(.22,1,.36,1), box-shadow 0.3s cubic-bezier(.22,1,.36,1), filter 0.3s;
}
.home-bold .btn--primary {
  background: var(--hb-grad-sun);
  color: #fff;
  box-shadow: 0 12px 26px rgba(226, 59, 44, 0.32);
}
.home-bold .btn--primary:hover { transform: translateY(-3px); box-shadow: 0 18px 36px rgba(226, 59, 44, 0.4); filter: brightness(1.04); }
.home-bold .btn:active { transform: translateY(0); }
/* ヒーローのボタン群：2つ並べて余白を確保 */
.home-bold .hero-cta { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; }
/* 暗背景（ヒーロー）に乗るボタンは軽いリングで分離 */
.home-bold .hero-cta .btn { box-shadow: 0 12px 26px rgba(0,0,0,.4), 0 0 0 1.5px rgba(255,255,255,.35); }
/* サブのゴーストボタン（協賛）：白アウトラインで主ボタンと区別 */
.home-bold .hero-cta .btn--ghost {
  background: rgba(255,255,255,.1);
  color: #fff;
  box-shadow: 0 8px 20px rgba(0,0,0,.32), 0 0 0 1.6px rgba(255,255,255,.75);
}
.home-bold .hero-cta .btn--ghost:hover { background: rgba(255,255,255,.22); }

/* ---------------- NEWS / CONTACT ---------------- */
.home-bold .news { background: var(--hb-cream); }
.home-bold .news-date {
  font-family: var(--font-hb-disp);
  color: #fff;
  background: var(--hb-red);
  border-radius: 999px;
  box-shadow: 0 6px 14px rgba(226,59,44,.28);
}
.home-bold .contact { background: var(--hb-sand); }
.home-bold .contact-text { text-align: center; margin-left: auto; margin-right: auto; }
.home-bold .contact-form,
.home-bold .contact-info {
  border: 1px solid rgba(180,120,60,.16);
  border-radius: 22px;
  box-shadow: var(--hb-shadow);
  background: var(--hb-paper);
  padding: clamp(24px, 3.2vw, 40px);
}
.home-bold .form-input,
.home-bold .form-select,
.home-bold .form-textarea {
  border: 1.5px solid rgba(180,120,60,.3);
  border-radius: 12px;
}
.home-bold .form-input:focus,
.home-bold .form-select:focus,
.home-bold .form-textarea:focus { border-color: var(--hb-amber); box-shadow: 0 0 0 3px rgba(242,144,31,.2); }

/* ---------------- フッター ---------------- */
.home-bold .site-footer { border-top: 4px solid var(--hb-amber); }

/* ============================================================
   余白をゆったりと（全体的に間隔を広げる／ボタン内テキストの余白）
   ============================================================ */
/* ボタン内のテキストにしっかり余白 */
.home-bold .btn { padding: 18px 42px; line-height: 1.4; gap: 10px; }
.home-bold .btn--big { padding: 24px 60px; }
.home-bold .btn--small { padding: 13px 30px; }

/* セクションの縦余白を広く */
.home-bold .section { padding: clamp(78px, 11vw, 150px) 0; }
.home-bold .section-head { margin-bottom: clamp(42px, 6vw, 72px); }

/* タグ・ラベル類にもゆとり */
.home-bold .section-label { padding: 9px 22px; }
.home-bold .hero-eyebrow { padding: 9px 20px; }
.home-bold .mission-cat { padding: 7px 18px; }
.home-bold .news-date { padding: 7px 16px; }

/* カード内のテキストにゆとり */
.home-bold .content-body { padding: clamp(22px, 3vw, 32px); }
.home-bold .mission-body { padding: clamp(22px, 3vw, 32px); }
.home-bold .about-fact { padding: clamp(28px, 3.4vw, 38px) clamp(18px, 2.4vw, 26px); }

/* グリッド・要素間の間隔を広く */
.home-bold .content-grid { gap: clamp(22px, 2.8vw, 36px); }
.home-bold .mission-grid { gap: clamp(22px, 2.8vw, 36px); }
.home-bold .about-facts { gap: clamp(16px, 2vw, 26px); }
.home-bold .content-title,
.home-bold .mission-head { margin-bottom: 12px; }
.home-bold .hero-cta { margin-top: clamp(28px, 4vw, 42px); }

/* ============================================================
   丸タグ（ABOUT NSF / CONTENTS 等）の中のテキストを上下中央に
   Righteous の大文字が上に寄って見える問題を解消
   ============================================================ */
.home-bold .section-label,
.home-bold .mission-cat,
.home-bold .news-date {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  line-height: 1;
  vertical-align: middle;
}
/* 英大文字は上に寄りがちなので、上パディングを少し多めにして視覚的中央へ */
.home-bold .section-label { padding: 11px 22px 9px; }
.home-bold .news-date { padding: 9px 16px 7px; }
.home-bold .mission-cat { padding: 8px 18px; } /* 和文はバランス均等 */

/* ============================================================
   お知らせ（NEWS）：日付・カテゴリ・本文にゆとりを持たせて整える
   ============================================================ */
.home-bold .news-list { display: grid; gap: clamp(14px, 2vw, 20px); margin: 0; padding: 0; list-style: none; }
.home-bold .news-item {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px 18px;
  padding: clamp(18px, 2.3vw, 26px) clamp(20px, 2.6vw, 30px);
}
.home-bold .news-date { flex: none; }
.home-bold .news-tag {
  flex: none;
  display: inline-flex;
  align-items: center;
  font-family: var(--font-hb-en);
  font-weight: 800;
  font-size: 0.7rem;
  letter-spacing: 0.12em;
  line-height: 1;
  color: var(--hb-red-deep);
  background: rgba(226, 59, 44, 0.08);
  border: 1.5px solid rgba(226, 59, 44, 0.3);
  padding: 6px 13px;
  border-radius: 999px;
}
.home-bold .news-text {
  flex: 1 1 240px;
  min-width: 200px;
  margin: 0;
  color: var(--hb-ink);
  font-weight: 600;
  line-height: 1.7;
}

/* ---------------- 動きを抑える設定 ---------------- */
@media (prefers-reduced-motion: reduce) {
  .home-bold .content-card:hover,
  .home-bold .mission-card:hover,
  .home-bold .btn:hover { transform: none; }
}
