/* アコーディオン制御 */
.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.25s ease-out;
}
.faq-answer.open {
  max-height: 500px;
  transition: max-height 0.25s ease-in;
}

/* FV：透過PNG浮遊スライドショー */
.hero-float-stage {
  position: relative;
  width: 100%;
  height: 300px;
}

/* スマホ＝上、PC＝右カラム（Tailwindのmd:hidden未ビルド対策で明示制御） */
.hero-float-mobile {
  display: block;
}

.hero-float-desktop {
  display: none;
}

@media (min-width: 768px) {
  .hero-float-mobile {
    display: none;
  }

  .hero-float-desktop {
    display: block;
  }
}

.hero-float-slide {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  opacity: 0;
  animation: hero-float 3.5s ease-in-out infinite;
}

.hero-float-slide:nth-child(1) {
  animation:
    hero-fade-1 15s ease-in-out infinite,
    hero-float 3.5s ease-in-out infinite;
}

.hero-float-slide:nth-child(2) {
  animation:
    hero-fade-2 15s ease-in-out infinite,
    hero-float 3.8s ease-in-out -0.4s infinite;
}

.hero-float-slide:nth-child(3) {
  animation:
    hero-fade-3 15s ease-in-out infinite,
    hero-float 4.1s ease-in-out -0.8s infinite;
}

@keyframes hero-fade-1 {
  0%,
  28% {
    opacity: 1;
  }
  33.33%,
  100% {
    opacity: 0;
  }
}

@keyframes hero-fade-2 {
  0%,
  33.33% {
    opacity: 0;
  }
  36%,
  63% {
    opacity: 1;
  }
  66.67%,
  100% {
    opacity: 0;
  }
}

@keyframes hero-fade-3 {
  0%,
  66.67% {
    opacity: 0;
  }
  69%,
  97% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

@keyframes hero-float {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-12px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-float-slide {
    animation: none;
    opacity: 0;
  }

  .hero-float-slide:nth-child(1) {
    opacity: 1;
  }
}
