/* =================================================================
   dep-community.css ― 地域貢献・社会活動ページ専用
   スコープ：.dep-community-page（body_classで付与）
   依存：dep-tokens.css / dep-base.css（.dep-sec/.dep-wrap/.dep-eyebrow/.dep-sec-title 等）
   方針：共通プリミティブは再定義しない。本ページ固有のコンポーネントのみ。
   全幅：法人と同じ手法（#contentを生成り＋白/アクセント帯は100vwで全幅化）
================================================================= */

/* ページ地色＝生成り（白・アクセント帯のみ全幅で上書き） */
.dep-community-page #content{
  background:var(--dep-bg);
  overflow-x:clip;
}

/* 全幅帯（白／アクセント） */
.dep-community-page .dep-sec--white,
.dep-community-page .dep-community-incl{
  width:100vw;
  margin-inline:calc(50% - 50vw);
}
.dep-community-page .dep-sec--white{ background:#fff; }
.dep-community-page .dep-community-incl{ background:#daeaf7; }

/* Astra .entry-content の既定マージン打ち消し */
.dep-community-page .entry-content p,
.dep-community-page .entry-content h1,
.dep-community-page .entry-content h2,
.dep-community-page .entry-content h3{ margin:0; }

/* ===== ① リード帯（H1・センター） ===== */
.dep-community-page .dep-community-lead{ text-align:center; padding:48px 0 64px; }
.dep-community-page .dep-community-lead .dep-eyebrow{ }
.dep-community-page .dep-community-lead__ttl{
  font-size:32px; font-weight:700; line-height:1.4; letter-spacing:.02em; margin:14px 0 0;
}
.dep-community-page .dep-community-lead__copy{ max-width:760px; margin:20px auto 0; }
.dep-community-page .dep-community-lead__copy p{ font-size:15.5px; color:#4a4a4a; margin:0 0 10px; }
.dep-community-page .dep-community-lead__copy p:last-child{ margin-bottom:0; }

/* ===== 横並び特集ブロック（写真＋テキスト） ===== */
.dep-community-page .dep-community-feature{
  display:grid; grid-template-columns:1.05fr 1fr; gap:48px; align-items:center;
}
.dep-community-page .dep-community-feature__body .dep-sec-title{ margin-bottom:18px; }
.dep-community-page .dep-community-feature__body p{ font-size:15px; color:#444; margin:0 0 14px; }
.dep-community-page .dep-community-feature__body p:last-child{ margin-bottom:0; }
.dep-community-page .dep-community-feature__photo{
  aspect-ratio:16/10; border-radius:var(--dep-radius, 14px); overflow:hidden;
}
.dep-community-page .dep-community-feature__photo img{
  width:100%; height:100%; object-fit:cover; display:block;
}
.dep-community-page .dep-community-feature--rev .dep-community-feature__photo{ order:2; }

/* ===== ③ 活動カードグリッド（新規コンポーネント） ===== */
.dep-community-page .dep-community-intro{
  max-width:720px; margin:0 auto 40px; text-align:center; font-size:15px; color:#4a4a4a;
}
/* 🔴 2026/9/7 修正：上の margin:0 auto が効かず左寄せになっていた。
   原因＝Astra打ち消しの「.dep-community-page .entry-content p{margin:0}」（詳細度 0,2,1）が
   「.dep-community-page .dep-community-intro」（0,2,0）に勝っていたため。
   要素セレクタ p を足して 0,3,1 にし、左右autoと下40pxを取り戻す。 */
.dep-community-page .entry-content p.dep-community-intro{
  max-width:720px; margin:0 auto 40px;
}
.dep-community-page .dep-community-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:26px;
}
.dep-community-page .dep-community-card{
  background:#fff; border:1px solid var(--dep-line, #E6E3DC); border-radius:var(--dep-radius, 14px);
  overflow:hidden; transition:transform .18s ease, box-shadow .18s ease;
}
.dep-community-page .dep-community-card:hover{
  transform:translateY(-4px); box-shadow:0 10px 26px rgba(0,0,0,.08);
}
.dep-community-page .dep-community-card__photo{ aspect-ratio:16/10; overflow:hidden; }
.dep-community-page .dep-community-card__photo img{
  width:100%; height:100%; object-fit:cover; display:block;
}
.dep-community-page .dep-community-card__body{ padding:18px 20px 22px; }
.dep-community-page .dep-community-card__body h3{ font-size:17px; font-weight:700; line-height:1.5; margin:0 0 8px; }
.dep-community-page .dep-community-card__body p{ font-size:13.5px; color:#555; line-height:1.85; margin:0; }

/* 本文中インラインリンク（COZY CUPPA 等）※Astra下線対策で!important */
.dep-community-page .dep-community-card__body a{
  color:var(--dep-primary, #0081CC); font-weight:700;
  text-decoration:underline !important; text-underline-offset:2px;
}
.dep-community-page .dep-community-card__body a:hover{ color:var(--dep-primary-light, #00AAE8); }

/* ===== ④ インクルーシブ帯（背景 #daeaf7） ===== */
.dep-community-page .dep-community-incl .dep-eyebrow{ color:#0081CC; }
.dep-community-page .dep-community-incl .dep-sec-title{ color:#1E293B; }
.dep-community-page .dep-community-incl .dep-community-feature__photo{
  border:1px solid #c3dcef;
}
.dep-community-page .dep-community-incl__action{ margin-top:22px !important; }

/* たびサポ：トップSERVICEカードと同仕様の「詳しく見る →」型テキストリンク */
.dep-community-page .dep-community-more{
  display:inline-flex; align-items:center; gap:8px;
  color:var(--dep-primary, #0081CC) !important;
  font-weight:700; font-size:15px; line-height:1.6;
  text-decoration:none !important;
}
.dep-community-page .dep-community-more__ar{ transition:transform .15s ease; }
.dep-community-page .dep-community-more:hover{ color:var(--dep-primary-light, #00AAE8) !important; }
.dep-community-page .dep-community-more:hover .dep-community-more__ar{ transform:translateX(4px); }

/* ===== ⑤ 結び ===== */
.dep-community-page .dep-community-closing{ text-align:center; padding:60px 0; max-width:none !important; width:100vw !important; margin-left:calc(50% - 50vw) !important; margin-right:calc(50% - 50vw) !important; }
.dep-community-page .dep-community-closing p{
  max-width:720px; margin:0 auto; font-size:16px; font-weight:500; color:#3a3a3a; line-height:1.95;
}

/* ===== レスポンシブ ===== */
@media (max-width:860px){
  .dep-community-page .dep-community-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:768px){
  .dep-community-page .dep-community-lead{ padding:32px 0 44px; }
  .dep-community-page .dep-community-lead__ttl{ font-size:26px; }
  .dep-community-page .dep-community-feature{ grid-template-columns:1fr; gap:22px; }
  .dep-community-page .dep-community-feature__photo{ order:-1; }
  .dep-community-page .dep-community-feature--rev .dep-community-feature__photo{ order:-1; }
  .dep-community-page .dep-community-grid{ grid-template-columns:1fr; gap:18px; }
}
