@charset "utf-8";
/* ===================================================================
 File Name  : flexani.css
 Style Info : アニメーションスタイル指定
=================================================================== */

/*アニメーション*/
.ani_left {
  position: relative;
  opacity: 0;
  left: -50px;
}
.ani_left.active {
  -webkit-animation: ani_left 1s ease 0.4s 1 forwards;
  animation: ani_left 1s ease 0.4s 1 forwards;
}
  @-webkit-keyframes ani_left {
    100% {
      opacity: 1;
      left: 0;
    }
  }
  @keyframes ani_left {
    100% {
      opacity: 1;
      left: 0;
    }
  }

.ani_right {
  position: relative;
  opacity: 0;
  right: -50px;
}
.ani_right.active {
  -webkit-animation: ani_right 1s ease 0.4s 1 forwards;
  animation: ani_right 1s ease 0.4s 1 forwards;
}
  @-webkit-keyframes ani_right {
    100% {
      opacity: 1;
      right: 0;
    }
  }
  @keyframes ani_right {
    100% {
      opacity: 1;
      right: 0;
    }
  }

.ani_bottom {
  position: relative;
  display: block;
  opacity: 0;
  bottom: -50px;
}
.ani_bottom.active {
  -webkit-animation: ani_bottom 1s ease 0.4s 1 forwards;
  animation: ani_bottom 1s ease 0.4s 1 forwards;
}
  @-webkit-keyframes ani_bottom {
    100% {
      opacity: 1;
      bottom: 0;
    }
  }
  @keyframes ani_bottom {
    100% {
      opacity: 1;
      bottom: 0;
    }
  }

.ani_zoom {
  position: relative;
  display: block;
  opacity: 0;
  -webkit-transform: scale(0.7);
  transform: scale(0.7);
}
.ani_zoom.active {
  -webkit-animation: ani_zoom 1s ease 0.4s 1 forwards;
  animation: ani_zoom 1s ease 0.4s 1 forwards;
}
  @-webkit-keyframes ani_zoom {
    100% {
      opacity: 1;
      -webkit-transform: scale(1);
      transform: scale(1);
    }
  }
  @keyframes ani_zoom {
    100% {
      opacity: 1;
      -webkit-transform: scale(1);
      transform: scale(1);
    }
  }

.ani_fade {
  position: relative;
  opacity: 0;
  will-change: opacity;
  backface-visibility: hidden;
  transform: translateZ(0);
  transition: opacity 1.3s linear 0.3s;
}
.ani_fade.active {
  opacity: 1;
}

.ani_blur {
  position: relative;
  opacity: 0;
  filter: blur(14px);
}

.ani_blur.active {
  animation: ani_blur 1.3s cubic-bezier(0.165, 0.84, 0.44, 1) 0.3s forwards;
}

@keyframes ani_blur {
  0% {
    opacity: 0;
    filter: blur(14px);
    transform: translateZ(0);
  }
  100% {
    opacity: 1;
    filter: blur(0);
    transform: translateZ(0);
  }
}

.ani_txt .ani_char {
  opacity: 0;
  display: inline-block;
}

/* トピックス記事フェードイン */
.fade_order_list .fade_order_box {
  position: relative;
  opacity: 0;
}
.fade_order_list .fade_order_box.active {
  animation: topics_fade 1.3s linear var(--delay, 0.3s) forwards;
}

/* SP（999px以下）は開始を早く、かつ delay を固定値に */
@media screen and (max-width: 999px) {
  .fade_order_list .fade_order_box.active {
    animation: topics_fade 1.3s linear 0.3s forwards !important;
  }
}

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

