/* ===== Dynamic Hero (scoped) ===== */
.nts-hero{ position:relative; isolation:isolate; overflow:hidden; color:#fff; --h:min(72vh, 720px); background:#0b1220; }
.nts-hero__inner{ position:relative; height:var(--h); }
.nts-hero__slides{ list-style:none; margin:0; padding:0; height:100%; }
.nts-hero__slide{ position:absolute; inset:0; opacity:0; transition:opacity var(--speed,600ms) ease, transform var(--speed,600ms) ease; display:grid; }
.nts-hero__slide.is-active{ opacity:1; }
.nts-hero__bg{ position:absolute; inset:0; background-size:cover; background-position:center; transform:scale(1.02); }
.nts-hero[data-effect="kenburns"] .nts-hero__slide.is-active .nts-hero__bg{ animation: nts-kb var(calc(var(--interval,6000ms) - var(--speed,600ms))) linear forwards; }
@keyframes nts-kb{ from{ transform:scale(1.05);} to{ transform:scale(1.12);} }
.nts-hero[data-effect="slide"] .nts-hero__slide{ transform:translateX(12%); }
.nts-hero[data-effect="slide"] .nts-hero__slide.is-active{ transform:translateX(0); }
.nts-hero__overlay{ position:absolute; inset:0; background: linear-gradient(90deg,rgba(2,6,23,.55),rgba(2,6,23,.35)); mix-blend:multiply; }
.nts-hero__overlay::after{ content:""; position:absolute; inset:0; background: rgb(2 6 23 / var(--overlay, .38)); }
.nts-hero__content{ position:relative; z-index:2; display:grid; height:100%; place-items:center; padding:clamp(16px,2vw,28px); }
.nts-hero__wrap{ width:min(1120px,96vw); margin:0 auto; display:grid; grid-template-columns:1.1fr 1fr; gap:clamp(16px,4vw,40px); align-items:center; }
.nts-hero__text h2{ margin:0 0 .35em; font-weight:900; font-size:clamp(28px,4.6vw,54px); line-height:1.2; }
.nts-hero__text p{ margin:0 0 1em; font-size:clamp(14px,1.6vw,17px); opacity:.92; }
.nts-hero__btn{ display:inline-flex; align-items:center; justify-content:center; height:48px; padding:0 18px; border-radius:14px; background:linear-gradient(90deg,#3b82f6,#1d4ed8 55%,#60a5fa); color:#fff; font-weight:800; text-decoration:none; border:1px solid rgba(255,255,255,.18); box-shadow:0 10px 26px rgba(3,7,18,.25); }
.nts-hero__media{ aspect-ratio:16/11; border-radius:20px; overflow:hidden; box-shadow:0 22px 48px rgba(2,6,23,.35); border:1px solid rgba(255,255,255,.12); }
.nts-hero__media>span{ display:block; width:100%; height:100%; background-size:cover; background-position:center; }
.nts-hero[data-align="right"] .nts-hero__wrap{ grid-template-columns:1fr 1.1fr; }
.nts-hero[data-align="right"] .nts-hero__media{ order:-1; }
.nts-hero__dots{ position:absolute; left:50%; bottom:18px; transform:translateX(-50%); display:flex; gap:8px; z-index:3; }
.nts-hero__dot{ width:10px; height:10px; border-radius:999px; background:#ffffff66; border:1px solid #ffffff88; cursor:pointer; }
.nts-hero__dot.is-active{ background:#fff; }
@media (max-width:980px){ .nts-hero__inner{ height:min(68vh,560px);} .nts-hero__wrap{ grid-template-columns:1fr; gap:16px; } .nts-hero[data-align="right"] .nts-hero__media{ order:2; } }
.nts-hero__bg{ position:absolute; inset:0; overflow:hidden; }
.nts-hero__bgimg{
  width:100%; height:100%;
  object-fit:cover; object-position:center;
  display:block;
}

.nts-hero__mediaimg{
  display:block; width:100%; height:auto;
  aspect-ratio:16/9;           /* 好みでOK */
  object-fit:cover;
  border-radius:22px;
  box-shadow:0 22px 52px rgba(2,6,23,.20);
}
