@charset "UTF-8";
body.loading-lock {
  overflow: hidden;
  height: 100vh; /* iOS対策 */
}

.loading {
  position: fixed;
  top: 0;
  left: 0;
  background-color: #ffffff;
  width: 100%;
  height: 100lvh;
  z-index: 9999999;
  pointer-events: none;
  opacity: 1;
  transition: opacity 2s ease-in-out;
}
.loading.hide {
  opacity: 0;
}

.l-fv h1.is-fixed {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  transform: translateY(2px);
}

.l-fv h1 {
  transition: opacity 2s cubic-bezier(0.4, 0, 0.2, 1), transform 2s cubic-bezier(0.4, 0, 0.2, 1);
  opacity: 0;
}

.l-fv h1.show {
  opacity: 1;
}

.l-fv h1.hide {
  opacity: 0;
}

.img-change img {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transition: opacity 1s ease-in-out;
}

.img-change {
  width: 100%;
  height: 100%;
  position: relative;
  background-color: #fff;
}

.img-change img.active {
  opacity: 1;
  z-index: 1;
}

.plus.active {
  transform: rotate(45deg); /* 例：＋が×になる */
}

.credits {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s, visibility 0.4s;
}

.credits.visible {
  opacity: 1;
  visibility: visible;
}

.img.monochrome {
  position: relative;
}

.img.monochrome::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.33);
  pointer-events: none;
  z-index: 2;
  transition: opacity 0.4s ease-in-out;
}

.img.monochrome img {
  z-index: 1;
}

.video {
  transition: filter 0.4s ease-in-out;
}

.video.monochrome {
  filter: brightness(0.67);
}/*# sourceMappingURL=animation.css.map */