/* Four-image hero. First frame stays visible without JavaScript. */
.strength-lead.hero-slideshow { padding:0; }
.hero-slideshow .hero-stage { min-height:640px; height: min(88svh, 960px); isolation:isolate; display:block; }
.hero-slides { position:absolute; inset:0; z-index:-2; }
.hero-slide { position:absolute; inset:0; opacity:0; transition:opacity 1500ms ease; overflow:hidden; }
.hero-slide.is-active { opacity:1; }
.hero-slide img { width:100%; height:100%; object-fit:cover; object-position:var(--focus,50% 50%); transform:scale(1.045); transition:transform 7500ms linear; }
.hero-slide.is-active img { transform:scale(1); }
.hero-slideshow.is-paused .hero-slide img { transition:none; }
.hero-shade { position:absolute; inset:0; z-index:-1; pointer-events:none; background:radial-gradient(ellipse 60% 45% at 50% 50%,rgba(15,20,24,.55),rgba(15,20,24,0) 100%),linear-gradient(180deg,rgba(15,20,24,.55),rgba(15,20,24,.2) 35%,rgba(15,20,24,.25) 60%,rgba(15,20,24,.6)); }  /* 真ん中の文字が写真に埋もれないよう中央を少し暗く */
/* 文字：画面の真ん中。一文字ずつ「筆で書く」ように現れる（JS で 1 文字ずつ span に分ける）
   ① 輪郭（白い線）が左から右へ描かれる → ② 墨が入るように塗りがにじんで広がる */
.hero-caption { position:absolute; inset:0; margin:0; padding:0 24px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; pointer-events:none; }
.hero-caption small { display:block; font:12px/1.5 monospace; letter-spacing:.3em; margin-bottom:22px; color:#fff; opacity:.85; text-shadow:0 1px 10px #0009; }
.hero-caption [data-hero-caption] { font-family:"Yuji Syuku","Yomogi",serif; font-weight:400; font-size:clamp(26px,5.2vw,72px); line-height:1.45; white-space:nowrap; letter-spacing:.06em; color:#fff; filter:drop-shadow(0 3px 18px rgba(0,0,0,.55)); }
.hero-caption .ch { display:inline-block; color:transparent; -webkit-text-stroke:1px rgba(255,255,255,.95);
  clip-path:inset(-10% 100% -10% 0); animation:hero-stroke .42s cubic-bezier(.55,.1,.35,1) forwards, hero-ink .5s ease-out forwards; animation-delay:var(--d), calc(var(--d) + .3s); }
.hero-caption .ch.is-br { display:block; height:0; }
@keyframes hero-stroke { to { clip-path:inset(-10% -10% -10% 0); } }
@keyframes hero-ink { from { color:rgba(255,255,255,0); filter:blur(3px); } to { color:#fff; -webkit-text-stroke-color:transparent; filter:blur(0); } }
/* 切り替わるときは文字をふっと消す */
.hero-caption.is-leaving [data-hero-caption] { opacity:0; transition:opacity .5s ease; }
@media(max-width:767px) {
 .hero-slideshow .hero-stage { min-height:520px; height:80svh; max-height:760px; }
 .hero-caption small { font-size:11px; margin-bottom:14px; }
}
@media(prefers-reduced-motion:reduce) {
 .hero-slide,.hero-slide img { transition:none; }
 .hero-slide img { transform:none; }
 .hero-caption .ch { animation:none; clip-path:none; color:#fff; -webkit-text-stroke:0; }
}
