@charset "utf-8";


/* ========================================
   アニメーションキーフレーム定義
======================================== */

/* 左からスライドイン */
@keyframes animation1 {
  0% { left: -200px; }
  100% { left: 0px; }
}

/* 不透明度のフェードイン */
@keyframes opa1 {
  0% { opacity: 0; }
  100% { opacity: 1; }
}


/* ========================================
   フェードイン系アニメーション（汎用）
======================================== */

/* 基本フェードイン（その場） */
.fadeIn {
  animation-name: fadeInAnime;
  animation-duration: 2s;
  animation-fill-mode: forwards;
  opacity: 0;
}

.future_fadeIn {
  animation-name: fadeInAnime;
  animation-duration: 3s;
  animation-fill-mode: forwards;
  opacity: 0;
}

/* 遅延付きフェードイン */
.fadeIn_01 {
  animation-name: fadeInAnime;
  animation-duration: 2s;
  animation-delay: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
}

.fadeIn_02 {
  animation-name: fadeInAnime;
  animation-duration: 2s;
  animation-delay: 2s;
  animation-fill-mode: forwards;
  opacity: 0;
}

.fadeIn_03 {
  animation-name: fadeInAnime;
  animation-duration: 1s;
  animation-delay: 3s;
  animation-fill-mode: forwards;
  opacity: 0;
}

/* フェードインアニメーション本体 */
@keyframes fadeInAnime {
  from { opacity: 0; }
  to { opacity: 1; }
}


/* ========================================
   上下からのフェードアニメーション
======================================== */

/* 下からフェードアップ */
.fadeUp {
  animation-name: fadeUpAnime;
  animation-duration: 3s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* 上からフェードダウン */
.fadeDown {
  animation-name: fadeDownAnime;
  animation-duration: 1.5s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeDownAnime {
  from {
    opacity: 0;
    transform: translateY(-200px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* 上から軽くフェードダウン（短時間） */
.fadeDown2 {
  animation-name: fadeDownAnime2;
  animation-duration: 0.8s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeDownAnime2 {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}


/* ========================================
   左右からのフェードアニメーション
======================================== */

/* 左からフェードイン */
.fadeLeft {
  animation-name: fadeLeftAnime;
  animation-duration: 1.2s;
  animation-fill-mode: forwards;
  opacity: 0;
}

.fadeLeft_01 {
  animation-name: fadeLeftAnime;
  animation-duration: 1s;
  animation-delay: 0s;
  animation-fill-mode: forwards;
  opacity: 0;
  animation-timing-function: ease;
}

.fadeLeft_02 {
  animation-name: fadeLeftAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeLeftAnime {
  from {
    opacity: 0;
    transform: translateX(-100px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* 右からフェードイン */
.fadeRight {
  animation-name: fadeRightAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
}

.fadeRight_01 {
  animation-name: fadeRightAnime;
  animation-duration: 1s;
  animation-delay: 3s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeRightAnime {
  from {
    opacity: 0;
    transform: translateX(100px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}


/* ========================================
   その他のトランジション系エフェクト
======================================== */

/* 不透明度フェードのみ */
.fade-in {
  opacity: 0;
  transition: opacity 0.5s ease;
}

/* 下からスライド＆フェード */
.fade-up {
  opacity: 0;
  transform: translateY(50px);
  transition: opacity 1s ease, transform 1s ease-in-out;
}


/* ========================================
   スクロールトリガー用クラスなど
======================================== */

/* fadeUp 再定義（短めのバージョン） */
.fadeUp {
  animation-name: fadeUpAnime;
  animation-duration: 1.2s;
  animation-fill-mode: forwards;
  opacity: 0;
}

/* トリガー（アニメーション前の初期状態） */
.fadeUpTrigger {
  opacity: 0;
}

.fadeLeftTrigger {
  opacity: 0;
}

.fadeDownTrigger {
  opacity: 0;
}

.fadeDownTrigger2 {
  opacity: 0;
}


/* ========================================
   遅延アニメーション（共通クラス）
======================================== */

.delay-time01 { animation-delay: 0.1s; }
.delay-time02 { animation-delay: 0.2s; }
.delay-time03 { animation-delay: 0.3s; }
.delay-time04 { animation-delay: 0.4s; }
.delay-time05 { animation-delay: 0.5s; }
.delay-time06 { animation-delay: 0.6s; }
.delay-time07 { animation-delay: 0.7s; }
.delay-time08 { animation-delay: 0.8s; }
.delay-time09 { animation-delay: 0.9s; }
.delay-time1  { animation-delay: 1s; }
