/* 通常章の閲覧高は維持し、イントロだけヘッダーを含む全画面にする。 */
.has-video-intro.swipe-container .swipe-section {
  height:calc(100dvh - var(--header-height) - var(--bottom-ui-height));
}
.has-video-intro.swipe-container[data-current-section="video-intro"],
.has-video-intro.swipe-container .swipe-section[data-headerless="true"] {
  height:100dvh;
}
body[data-video-intro-active="true"] .recruit-header { visibility:hidden; }
.video-intro {
  position:relative;
  width:100%;
  height:100dvh;
  min-height:100dvh;
  padding:0;
  overflow:hidden;
  background:#151c12;
}
.video-intro video {
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:center;
  pointer-events:none;
}
.video-scroll-cue {
  position:absolute;
  left:50%;
  bottom:calc(24px + env(safe-area-inset-bottom, 0px));
  transform:translateX(-50%);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  padding:12px 20px;
  color:#fff;
  font-family:"Lato",sans-serif;
  font-size:12px;
  font-weight:700;
  line-height:1.2;
  letter-spacing:.14em;
  text-decoration:none;
  text-shadow:0 1px 4px #000;
}
.video-scroll-cue svg {
  width:20px;
  height:28px;
  filter:drop-shadow(0 1px 3px #000);
  animation:video-scroll-arrow 2.2s ease-in-out infinite;
}
.video-scroll-cue:focus-visible { outline:2px solid #fff; outline-offset:3px; }
@keyframes video-scroll-arrow {
  0%,100% { transform:translateY(0); }
  50% { transform:translateY(6px); }
}
@media (prefers-reduced-motion:reduce) {
  .video-scroll-cue svg { animation:none; }
}
