/* アニメーション共通（非表示状態） */
.hidden {
  visibility: hidden;
  opacity: 0;
  transform: translateY(60px);
}

/* 下から上に表示 */
@keyframes fadeInUp {
  from {
    visibility: visible;
    opacity: 0;
    transform: translateY(60px);
  }
  to {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
  }
}
.fadeInUp {
  animation: fadeInUp 1s ease forwards;
}

/* 右から左に表示 */
@keyframes fadeInRight {
  from {
    visibility: visible;
    opacity: 0;
    transform: translateX(60px);
  }
  to {
    visibility: visible;
    opacity: 1;
    transform: translateX(0);
  }
}
.fadeInRight {
  animation: fadeInRight 1s ease forwards;
}

/* 左から右に表示 */
@keyframes fadeInLeft {
  from {
    visibility: visible;
    opacity: 0;
    transform: translateX(-60px);
  }
  to {
    visibility: visible;
    opacity: 1;
    transform: translateX(0);
  }
}
.fadeInLeft {
  animation: fadeInLeft 1s ease forwards;
}

/* 遅延アニメーション */
.delay {
  animation-delay: 1s;
}
