.fade-out {
  animation-name: fadeOutAnimation;
  animation-timing-function: ease-out;
  animation-duration: 2s; /* この値を変更することでフェードアウトの速度を調整できます */
  animation-fill-mode: forwards; /* アニメーション終了後も最終フレームのスタイルを保持 */
  animation-delay: 2s;
}

.loading-percentage-animation {
  animation-name: fadeOutAnimation;
  animation-timing-function: ease-out;
  animation-duration: 2s; /* この値を変更することでフェードアウトの速度を調整できます */
  animation-fill-mode: forwards; /* アニメーション終了後も最終フレームのスタイルを保持 */
  animation-delay: 0.3s;
}

@keyframes fadeOutAnimation {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    visibility: hidden;
  }
}

.fade-in {
  opacity: 0; /* 初期状態では非表示 */
  animation-name: fadeInAnimation;
  animation-timing-function: ease-in;
  animation-duration: 2s; /* この値を変更することでフェードインの速度を調整できます */
  animation-fill-mode: forwards; /* アニメーション終了後も最終フレームのスタイルを保持 */
  animation-delay: 2s;
}

.fade-in-reload {
  opacity: 0; /* 初期状態では非表示 */
  animation-name: fadeInAnimation;
  animation-timing-function: ease-in;
  animation-duration: 2s; /* この値を変更することでフェードインの速度を調整できます */
  animation-fill-mode: forwards; /* アニメーション終了後も最終フレームのスタイルを保持 */
  animation-delay: 0s;
}

@keyframes fadeInAnimation {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

.hero-area-animation {
  animation-timing-function: cubic-bezier(0.33, 1, 0.68, 1);
  animation-fill-mode: forwards;
  opacity: 0;
  animation-duration: 2s;
  animation-name: fadeup-hero;
}

@keyframes fadeup-hero {
  0% {
    transform: translateY(30px);
    opacity: 0;
  }
  80% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.wedding-animation {
  animation-delay: 4.4s;
}

.wedding-animation-reload {
  animation-delay: 2.4s;
}

.inivitation-animation {
  animation-delay: 4.4s;
}

.inivitation-animation-reload {
  animation-delay: 2.4s;
}

.hero-name-animation {
  animation-delay: 5.2s;
}

.hero-name-animation-reload {
  animation-delay: 3.2s;
}

.hero-date-animation {
  animation-delay: 5.6s;
}

.hero-date-animation-reload {
  animation-delay: 3.6s;
}

.card-area-animation {
  animation-timing-function: cubic-bezier(0.33, 1, 0.68, 1);
  animation-fill-mode: forwards;
  opacity: 0;
  animation-duration: 2s;
}

.card-area-animation.active {
  animation-name: fadeup-card;
}

@keyframes fadeup-card {
  0% {
    transform: translateY(5px);
    opacity: 0;
  }
  80% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.tile-image-1 {
  animation-delay: 0.2s;
}
.tile-image-2 {
  animation-delay: 0.35s;
}
.tile-image-3 {
  animation-delay: 0.5s;
}
.tile-image-4 {
  animation-delay: 0.65s;
}
.tile-image-5 {
  animation-delay: 0.8s;
}
.tile-image-6 {
  animation-delay: 0.95s;
}

.message-area-animation {
  animation-timing-function: cubic-bezier(0.33, 1, 0.68, 1);
  animation-fill-mode: forwards;
  opacity: 0;
  animation-duration: 2s;
}

.message-area-animation.active {
  animation-name: fadeup-card;
}

.message-image-animation {
  animation-delay: 0.4s;
}
.message-text-animation {
  animation-delay: 0.8s;
}

@keyframes fadeup-message {
  0% {
    transform: translateY(10px);
    opacity: 0;
  }
  80% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
