/* JSの初期化が成功した要素にだけ、スクロールによる表示効果を適用する。 */
html :is(
  .home-pain-list li, .home-pain-worman-image, .home-pain-bottom-arrow,
  .home-solve-title, .home-service-item, .reason-item-right,
  .simulation-seles, .simulation-cost, .simulation-profit,
  .target__item, .reasons__card, .service__unit, .price__box, .target-bg img
):not(.is-reveal-ready),
html .reason-item-right:not(.is-reveal-ready) img,
html .reasons__card:not(.is-reveal-ready) :is(
  .daikou-reasons__img, .daikou-reasons__text-box,
  .cleaning-reasons__img, .cleaning-reasons__text-box
) {
  opacity: 1 !important;
  filter: none !important;
  transform: none !important;
}

/* スクリプトが読み込まれなくても、モバイルのナビゲーションを利用できる。 */
@media (max-width: 1024px) {
  html:not(.has-navigation) header {
    position: relative;
    height: auto;
    flex-wrap: wrap;
    transform: none;
  }
  html:not(.has-navigation) header .menu {
    position: static;
    max-height: none;
    overflow: visible;
    opacity: 1;
  }
  html:not(.has-navigation) header .menu :is(li, .contact-btn) { opacity: 1; }
  html:not(.has-navigation) header .hamburger { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
  .fv :is(h1, h2, p, .fv-list, .fv-list li, .fv-contact-btn, .fv-image-bg img) {
    opacity: 1 !important;
    filter: none !important;
    transform: none !important;
  }
}
