@charset "utf-8";

.senni .animation-bg {
  background: #fffef6;
  display: none;
  content: "";
  position: fixed;
  transform: scale(100);
  z-index: 1000;
  top: calc(50% - 1rem);
  left: calc(50% - 1rem);
  width: 2rem;
  height: 2rem;
  display: block;
  border-radius: 50%;
  animation-name: PageAnime-circle;
  animation-duration: 1.5s;
  animation-timing-function: ease-in-out;
  animation-fill-mode: forwards;
}
@keyframes PageAnime-circle {
  0% {
    transform: scale(100);
  }
  100% {
    transform: scale(0);
  }
}


.scale-up-ver-center {
  -webkit-animation: scale-up-ver-center 1.6s cubic-bezier(0.390, 0.575, 0.565, 1.000) both;
          animation: scale-up-ver-center 1.6s cubic-bezier(0.390, 0.575, 0.565, 1.000) both;
}

@keyframes scale-up-ver-center {
  0% {
    opacity: 0;
    -webkit-transform: scaleY(0.6);
            transform: scaleY(0.6);
  }
  100% {
    -webkit-transform: scaleY(1);
            transform: scaleY(1);
  }
}

/* 浮き上がり */
.fadeIn {
    opacity: 0;
    transition: opacity 2.5s ease-out, transform 2.5s ease-out;
}

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

@keyframes fadeInAnime{
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}


@keyframes fadeInAnime{
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

/* 下からスライド */
.fadeUp {
    opacity: 0;
    transition: opacity 2.5s ease-out, transform 2.5s ease-out;
}


.fadeUp.active {
animation-name: fadeUpAnime;/*アニメーションの定義名*/
animation-duration:1.4s;/*アニメーション変化時間 ※デフォルト*/
animation-fill-mode:forwards;/*アニメーションの開始と終了時の状態を指定*/
opacity:0;
}

/*アニメーションの開始から終了までを指定する*/
@keyframes fadeUpAnime{
  from {
    opacity: 0;
  transform: translateY(50px);
  }

  to {
    opacity: 1;
  transform: translateY(10px);
  }
}


/* 左からスライド */
.slideinLeft {
    opacity: 0;
}

.slideinLeft.active {
  opacity: 1;
  animation: slideinLeft 0.4s;
}

@keyframes slideinLeft {
  0% {
    transform: translateX(-500px);
  }
  100% {
    transform: translateX(0);
  }
}


/* 右からスライド */
.slideinRight {
    opacity: 0;
}

.slideinRight.active {
  opacity: 1;
  animation: slideinRight 0.4s;
}

@keyframes slideinRight {
  0% {
    transform: translateX(500px);
  }
  100% {
    transform: translateX(0);
  }
}


/* サークル部分 */
/* アニメーション前の初期状態 */
.slideIn01, .slideIn02, .slideIn03, .slideIn04 {
    opacity: 0;
    transform: none;
}

/* アクティブなときのアニメーション */
.slideIn01.active {
  animation: slideIn01 1s forwards; /* forwards でアニメーション終了後のスタイルを保持 */
}

.slideIn02.active {
  animation: slideIn02 1s forwards;
}

.slideIn03.active {
  animation: slideIn03 1s forwards;
}

.slideIn04.active {
  animation: slideIn04 1s forwards;
}


@keyframes slideIn01 {
  0% {
    opacity: 0;
    transform: translateX(-1000px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes slideIn02 {
  0% {
    opacity: 0;
    transform: translateX(1000px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes slideIn03 {
  0% {
    opacity: 0;
    transform: translateY(500px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes slideIn04 {
  0% {
    opacity: 0;
    transform: translateY(-500px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}


/*ぷるるんボタン*/
 
.slideinLeft.active {
  animation: poyoyon 0.5s cubic-bezier(0.12, 0, 0.39, 0) 1 forwards;
}
 
@keyframes poyoyon {
  0% {
    transform: translateX(-500px);
    opacity: 0;
  }
  50% {
    transform: translateX(0);
  }
  65% {
    transform: translateX(-30px);
  }
  100% {
    transform: translateX(0);
  }
  20%,100% {
    opacity: 1;
  }
}


/*FLOW部分*/
/* アニメーション前の初期状態 */
.fadeIn01, .fadeIn02, .fadeIn03, .fadeIn04 {
    opacity: 0;
    transform: none;
}

/* アクティブなときのアニメーション */
.fadeIn01.active {
  animation: fadeIn01 0.3s forwards; /* forwards でアニメーション終了後のスタイルを保持 */
}

.fadeIn02.active {
  animation: fadeIn02 0.7s forwards;
}

.fadeIn03.active {
  animation: fadeIn03 0.9s forwards;
}

.fadeIn04.active {
  animation: fadeIn04 1.2s forwards;
}


@keyframes fadeIn01 {
  0% {
    opacity: 0;
    transform: translateX(-1000px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes fadeIn02 {
  0% {
    opacity: 0;
    transform: translateX(-1000px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes fadeIn03 {
  0% {
    opacity: 0;
    transform: translateX(-1000px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes fadeIn04 {
  0% {
    opacity: 0;
    transform: translateX(-1000px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}





