.js-fadeup,
.js-fadein {
  opacity: 0;
}
.js-reveal {
  overflow: hidden;
}
.js-reveal img {
  transform-origin: center;
}
.deco-line {
  display: block;
  width: 1px;
  height: 60px;
  background-color: var(--color-border);
  margin-inline: auto;
}
.faq-list li .faq-icon {
  display: inline-block;
  width: 16px;
  height: 16px;
  border: 1px solid currentColor;
  border-radius: 50%;
  text-align: center;
  line-height: 14px;
  font-size: 10px;
  margin-right: 0.5em;
  vertical-align: middle;
  transition: background-color var(--duration-fast), color var(--duration-fast);
}
.faq-list li:hover .faq-icon {
  background-color: var(--color-accent);
  border-color: var(--color-accent);
  color: var(--color-white);
}
@keyframes mvFadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}
@keyframes mvSlideUp {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: translateY(0); }
}
.mv-catch img {
  animation: mvSlideUp 1.4s cubic-bezier(0.25, 0.1, 0.25, 1) 0.6s both;
}
.mv-logo {
  animation: mvFadeIn 1.2s ease 0.4s both;
}
.mv-subtitle {
  animation: mvFadeIn 1.2s ease 0.8s both;
}
.mv-indicators {
  animation: mvFadeIn 1s ease 1.2s both;
}
#site-header {
  transition: opacity 0.4s ease, transform 0.4s ease;
}
#site-header.is-visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.price-image,
.activity-item,
.day-hero {
  overflow: hidden;
}
.price-image img,
.activity-item img,
.day-hero img {
  transition: transform 0.8s var(--ease-default);
}