/* =====================================================
   先行導入モニター CTA（index-v2 / 機能訴求ページ 共通）
   ===================================================== */

.foot-cta{
  background:var(--navy);color:#fff;text-align:center;
  padding:120px 0 100px;position:relative;overflow:hidden;
}
.foot-cta .constellation{
  position:absolute;inset:0;width:100%;height:100%;
  pointer-events:none;opacity:.55;
}
.foot-cta .wrap{position:relative;z-index:1;}
.foot-cta .cap{
  font-size:12px;letter-spacing:.26em;color:var(--gold-lt);
  font-weight:700;margin-bottom:22px;
}
.foot-cta h2{
  color:#fff;
  font-size:clamp(28px,4.5vw,40px);
  margin:0;
}
.foot-cta > .wrap > p,
.foot-cta .iv-head-mascot--cta p{
  margin:18px 0 0;color:#C3D3E8;max-width:34em;font-size:14.5px;
}

/* マスコット見出し（このセクション用） */
.foot-cta .iv-head-mascot{
  display:flex;flex-direction:row;align-items:center;
  gap:12px 28px;text-align:left;
  margin:0 auto 28px;max-width:760px;
}
.foot-cta .iv-head-mascot--center{margin-left:auto;margin-right:auto;}
.foot-cta .iv-head-mascot-copy{flex:1 1 auto;min-width:0;}
.foot-cta .iv-head-mascot h2{margin:0;}
.foot-cta .iv-mascot{
  flex:0 0 auto;
  width:clamp(100px,15vw,158px);height:auto;display:block;
  filter:drop-shadow(0 16px 30px rgba(0,0,0,.45));
}
.foot-cta .iv-head-mascot--cta .cap{
  font-size:12px;letter-spacing:.26em;color:var(--gold-lt);
  font-weight:700;margin-bottom:18px;
}

/* モニター特典：PC 2カラム / SP カルーセル */
.foot-promo{margin:40px auto 0;max-width:1080px;}
.foot-promo-track{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
@media(max-width:960px) and (min-width:721px){
  .foot-promo-track{gap:14px;}
  .foot-promo-body{padding:18px 16px 20px;}
  .foot-promo-body h3{font-size:clamp(20px,2.2vw,26px);}
  .foot-promo-body p{font-size:12.5px;}
}
.foot-promo-card{
  display:flex;flex-direction:column;
  text-align:left;
  background:rgba(6,18,36,.55);
  border:1px solid rgba(201,162,84,.28);
  overflow:hidden;
}
.foot-promo-media{
  position:relative;
  aspect-ratio:16 / 10;
  overflow:hidden;
  background:#0a1e3c;
}
.foot-promo-media::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 45%,rgba(6,18,36,.72) 100%);
  pointer-events:none;
}
.foot-promo-media img{
  width:100%;height:100%;
  object-fit:cover;object-position:center 30%;
  display:block;
  transform:scale(1.02);
  transition:transform .7s cubic-bezier(.2,.7,.2,1);
}
.foot-promo-card:hover .foot-promo-media img{transform:scale(1.06);}
.foot-promo-body{padding:22px 22px 24px;}
.foot-promo-num{
  display:block;
  font-family:"Cormorant Garamond","Zen Old Mincho",serif;
  font-size:13px;font-weight:700;letter-spacing:.22em;
  color:var(--gold-lt);margin-bottom:8px;
}
.foot-promo-body h3{
  margin:0;
  font-family:"Zen Old Mincho",serif;
  font-size:clamp(24px,2.6vw,30px);font-weight:700;
  color:#fff;letter-spacing:.04em;line-height:1.25;
}
.foot-promo-body p{
  margin:12px 0 0;
  color:#C3D3E8;font-size:13.5px;line-height:1.85;
  max-width:none;
}
.foot-promo-note{
  display:inline-block;margin-top:6px;
  font-size:11.5px;color:#8FA6C4;letter-spacing:.02em;
}
.foot-promo-dots{display:none;}

.foot-cta .hero-cta{
  margin-top:36px;
  display:flex;gap:16px;justify-content:center;flex-wrap:wrap;
}

@media(max-width:860px){
  .foot-cta .iv-head-mascot{gap:10px 16px;margin-bottom:22px;}
  .foot-cta .iv-mascot{width:clamp(84px,22vw,120px);}
}
@media(max-width:720px){
  .foot-cta{padding:88px 0 80px;}
  .foot-promo{margin-top:32px;margin-left:-4px;margin-right:-4px;}
  .foot-promo-track{
    display:flex;
    gap:14px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;
    -webkit-overflow-scrolling:touch;
    padding:0 4px 6px;
    scrollbar-width:none;
  }
  .foot-promo-track::-webkit-scrollbar{display:none;}
  .foot-promo-card{
    flex:0 0 min(86vw,340px);
    scroll-snap-align:center;
    scroll-snap-stop:always;
  }
  .foot-promo-media{aspect-ratio:5 / 3.4;}
  .foot-promo-body{padding:18px 18px 20px;}
  .foot-promo-body h3{font-size:24px;}
  .foot-promo-nav{display:flex;margin-top:16px;}
  .foot-promo-dots{
    display:flex;justify-content:center;gap:8px;
    margin-top:16px;
  }
  .foot-promo-dots button{
    width:7px;height:7px;padding:0;border:0;border-radius:50%;
    background:rgba(195,211,232,.35);cursor:pointer;
    transition:background .25s ease,transform .25s ease;
  }
  .foot-promo-dots button.is-on{
    background:var(--gold-lt);
    transform:scale(1.25);
  }
  .foot-cta .hero-cta{margin-top:28px;}
}
@media(prefers-reduced-motion:reduce){
  .foot-promo-media img,
  .foot-promo-card:hover .foot-promo-media img{transition:none;transform:none;}
  .foot-promo-track{scroll-behavior:auto;}
}
