/* レイアウトに影響しない小さな動き。JSなしでは通常表示する。 */
@media(prefers-reduced-motion:no-preference) {
  .fes-reveal {
    opacity: 0;
    transition: opacity .6s ease var(--reveal-delay,0ms),translate .6s ease var(--reveal-delay,0ms),scale .6s ease var(--reveal-delay,0ms);
  }

  .fes-reveal--rise {
    translate: 0 20px;
  }

  .fes-reveal--slide {
    translate: 20px 0;
  }

  .fes-reveal--scale {
    scale: .96;
  }

  .fes-reveal.is-revealed {
    opacity: 1;
    translate: 0 0;
    scale: 1;
  }

  .fes-reveal.fes-details-heading::before,.fes-reveal.fes-second-announcement::before {
    scale: 0 1;
    transform-origin: left center;
    transition: scale .4s ease calc(var(--reveal-delay,0ms) + 180ms);
  }

  .fes-reveal.is-revealed.fes-details-heading::before,.fes-reveal.is-revealed.fes-second-announcement::before {
    scale: 1 1;
  }

  .fes-landing .fes-topic {
    transition: opacity .6s ease var(--reveal-delay,0ms),translate .6s ease var(--reveal-delay,0ms),transform .25s ease,box-shadow .25s ease;
  }

  .fes-landing .fes-topic-photo img {
    transition: transform .35s ease;
  }

  .fes-landing a.fes-topic:hover img {
    transform: scale(1.03);
  }

  .fes-event-athlete,.fes-organizer-photo,.fes-booth-visual {
    overflow: hidden;
    border-radius: 16px;
  }

  .fes-event-athlete img,.fes-organizer-photo img,.fes-booth-visual img,.fes-accuracy-photo img {
    transition: transform .35s ease;
  }

  @media(hover:hover) {
    .fes-event-athlete:hover img,.fes-organizer-photo:hover img,.fes-booth-visual:hover img,.fes-accuracy-photo:hover img {
      transform: scale(1.03);
    }

    .fes-landing .fes-cta {
      transition: opacity .6s ease var(--reveal-delay,0ms),translate .6s ease var(--reveal-delay,0ms),transform .25s ease,background-color .25s ease;
    }

    .fes-landing .fes-cta:hover {
      transform: translateX(3px);
    }
  }
}

@media(prefers-reduced-motion:reduce) {
  .fes-landing .fes-reveal {
    opacity: 1;
    translate: none;
    scale: none;
    transition: none;
  }

  .fes-landing .fes-reveal::before {
    scale: none;
    transition: none;
  }

  .fes-landing .fes-topic,.fes-landing .fes-topic img,.fes-landing .fes-cta,.fes-event-athlete img,.fes-organizer-photo img,.fes-booth-visual img,.fes-accuracy-photo img {
    transition: none;
  }

  .fes-landing a.fes-topic:hover,.fes-landing a.fes-topic:hover img {
    transform: none;
  }
}
