@charset "UTF-8";
/* ===========================
   鴻巣・子育てお手伝いネット 共通スタイル
   （Bootstrap5をベースにカスタマイズ）
=========================== */

body {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "メイリオ",
    sans-serif;
  font-feature-settings: normal;
  letter-spacing: 0.02em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
h1,
h2,
h3,
p,
ol {
  font-family: "メイリオ", "Hiragino Kaku Gothic ProN", sans-serif;
  font-feature-settings: normal; /* paltを解除して文字重なり防止 */
  letter-spacing: 0.02em; /* ほんの少し余白を追加 */
}
.hero {
  position: relative;
  padding: 72px 0;
  background: #f6f7fb;
  overflow: hidden;
}
/* PC（デフォルト） */
.hero.bg {
  background: linear-gradient(to right, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0)),
    url("/img/hero@2x.jpg") center/cover no-repeat;
  color: #fff;
}

/* タブレット向け（～991px） */
@media (max-width: 991.98px) {
  .hero.bg {
    background: linear-gradient(
        to right,
        rgba(0, 0, 0, 0.65),
        rgba(0, 0, 0, 0.2)
      ),
      url("/img/hero-wide.jpg") 40% 40% / cover no-repeat;
  }
}

/* スマホ向け（～767px） */
@media (max-width: 767.98px) {
  .hero.bg {
    background: linear-gradient(
        to right,
        rgba(0, 0, 0, 0.7),
        rgba(0, 0, 0, 0.25)
      ),
      url("/img/hero-mobile.webp") center/cover no-repeat;
  }
}
.hero .card {
  backdrop-filter: blur(2px);
} /* 右側のボックスがある場合の馴染ませ */
.hero h1,
.hero h2,
.hero .lead {
  text-shadow: 0 2px 6px rgba(0, 0, 0, 0.35);
}
.hero.bg .text-muted {
  color: rgba(255, 255, 255, 0.85) !important;
}
.formbg {
  background: #ddddc9;
}
/* ===== Hero右側の短文ブロック ===== */
.hero {
  position: relative;
}
.hero > img{
  width:100%;
  height:56vw;             /* レスポンシブ高 */
  max-height:480px;
  object-fit:cover;
  display:block;
}

/* 中央ブロック（画像上） */
.hero-center{
  position:absolute;
  top:30%;                 /* ← 上から30%（中央なら 50% に変更） */
  left:40%;
  transform:translate(-50%,-50%);
  z-index:2;
  padding:0 .75rem;
}
.hero-center .lead{
   text-shadow:0 2px 8px rgba(0,0,0,.35);
   font-size: clamp(1.3rem, 2.4vw, 1.8rem); /* 端末に合わせて程よく拡大 */
   line-height: 1.35;}
.hero-right {
  position: absolute;
  top: 30%; /* 画像の高さの30%あたりに配置 */
  right: 5%; /* 右端から少し内側に */
  transform:translate(-20%,-50%);
  color: white; /* 文字色（背景が明るい場合は変更） */
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
  list-style: none;
  font-weight: 500;
  line-height: 1.6;
}
.hero-right li::before {
  content: "• ";
}

.hero-right ul {
  list-style: none;
  margin: 0;
  padding: 0.75rem 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  background: rgba(128, 128, 128, 0.22); /* うっすらガラス風の下地 */
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  border-radius: 0.5rem;
}

.hero-right li {
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.04em;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.42);
  font-size: 1.05rem; /* 好みで 1.0〜1.2rem */
}

/* 画面が狭い時に少し控えめに（ただし今回は sm 未満は非表示） */
@media (max-width: 768px) {
  .hero-right {
    right: 3%;
    max-width: 24ch;
  }
}
