/* FVは全画面幅で画像を背景として配置し、本文・CTAを同じ領域に重ねる。 */
.hero{position:relative;isolation:isolate;display:flex;align-items:center;min-height:660px;overflow:hidden;background:#fff;color:#10141b}
.hero__image,.hero__shade{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.hero__image{z-index:-2;object-fit:cover;object-position:center top}
.hero__shade{z-index:-1;background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.92) 35%,rgba(255,255,255,.15) 59%,rgba(255,255,255,0) 70%)}
.hero__inner{width:100%;max-width:1240px;margin:0 auto;padding:72px 24px;box-sizing:border-box}
.hero__content{display:flex;flex-direction:column;align-items:flex-start;gap:24px;max-width:660px}
.hero__eyebrow{margin:0;padding:7px 14px;background:#e8231b;color:#fff;font-size:clamp(15px,1.6vw,20px);font-weight:900;line-height:1.5}
.hero__title{margin:0;font-size:clamp(38px,3.8vw,54px);font-weight:900;line-height:1.4;letter-spacing:.01em}
.hero__title>span{display:block;white-space:nowrap}
.hero__title strong{color:#e8231b;font-size:1.45em;line-height:1.15}
.hero__description{max-width:590px;margin:0;color:#222b36;font-size:clamp(15px,1.3vw,18px);font-weight:700;line-height:1.9}
.hero__description span{display:block}
.hero__cta{display:flex;align-items:center;justify-content:center;gap:14px;width:100%;max-width:420px;min-height:66px;padding:12px 24px;box-sizing:border-box;border-radius:999px;background:#e8231b;color:#fff;text-decoration:none;font-size:20px;font-weight:900;line-height:1.5;box-shadow:0 8px 24px rgba(232,35,27,.24);transition:background .2s,box-shadow .2s}
.hero__cta:hover{background:#c81d16;box-shadow:0 10px 28px rgba(232,35,27,.32)}
.hero__cta:focus-visible{outline:3px solid #10141b;outline-offset:5px}
.hero__badge{position:absolute;right:32px;bottom:32px;display:flex;align-items:center;justify-content:center;width:128px;height:128px;margin:0;border:2px solid #fff;border-radius:50%;background:#10141b;color:#fff;text-align:center;font-size:14px;font-weight:900;line-height:1.6}
@media(min-width:1600px){.hero{min-height:740px}.hero__inner{max-width:1400px}}
@media(max-width:959px){
  .hero{min-height:640px;align-items:flex-end}
  .hero__image{object-position:57% top}
  .hero__shade{background:linear-gradient(0deg,#fff 0%,rgba(255,255,255,.97) 24%,rgba(255,255,255,.80) 49%,rgba(255,255,255,.08) 78%,rgba(255,255,255,0) 100%)}
  .hero__inner{padding:220px 24px 36px}
  .hero__content{gap:18px;max-width:590px}
  .hero__title{font-size:clamp(32px,5vw,44px)}
  .hero__description{font-size:16px}
  .hero__badge{display:none}
}
@media(max-width:599px){
  .hero{min-height:640px}
  .hero__image{object-position:57% top}
  .hero__inner{padding:235px 20px 28px}
  .hero__content{gap:16px;max-width:none}
  .hero__eyebrow{padding:6px 10px;font-size:14px}
  .hero__title{font-size:clamp(25px,7vw,38px);line-height:1.45}
  .hero__description{max-width:420px;font-size:14px;line-height:1.85}
  .hero__description span{display:inline}
  .hero__cta{min-height:60px;max-width:420px;font-size:18px}
}
@media(prefers-reduced-motion:reduce){.hero__cta{transition:none}}
