/***　トップページキャッチフレーズ　***/
.catchtxt span.txtanm:nth-of-type(1).anmtd {
  animation: tg1 1.8s ease-in-out 0.5s 1 forwards;
}

.catchtxt span.txtanm:nth-of-type(2).anmtd {
  animation: tg2 1.5s ease-in-out 0.2s 1 forwards;
}

.catchtxt span.txtanm:nth-of-type(3).anmtd {
  animation: tg3 2s ease-in-out 0.7s 1 forwards;
}

@keyframes tg1 {
  0% {
    opacity: 0;
    top: -3em;
    left: -10em;
    transform: rotateY(500deg) rotateZ(180deg) scale(2);
  }

  100% {
    opacity: 1;
    top: 0;
    left: 0;
    transform: rotateY(0deg) rotateZ(0deg) scale(1);
  }
}

@keyframes tg2 {
  0% {
    opacity: 0;
    top: -5em;
    left: -3em;
    transform: rotateY(900deg) rotateZ(110deg) scale(2);
  }

  100% {
    opacity: 1;
    top: 0;
    left: 0;
    transform: rotateY(0deg) rotateZ(0deg) scale(1);
  }
}

@keyframes tg3 {
  0% {
    opacity: 0;
    top: -1em;
    left: 6em;
    transform: rotateY(100deg) rotateZ(200deg) scale(2);
  }

  100% {
    opacity: 1;
    top: 0;
    left: 0;
    transform: rotateY(0deg) rotateZ(0deg) scale(1);
  }
}
.catchtxt span.txtanm2:nth-of-type(1).anmtd {
  animation: typography 1s ease-out 3.5s 1 forwards;
}

.catchtxt span.txtanm2:nth-of-type(2).anmtd {
  animation: typography 1.6s ease-in-out 3.9s 1 forwards;
}

.catchtxt span.txtanm2:nth-of-type(3).anmtd {
  animation: typography 2.2s ease-in-out 3s 1 forwards;
}

.catchtxt span.txtanm2:nth-of-type(4).anmtd {
  animation: typography 1.8s ease-in-out 3.2s 1 forwards;
}

@keyframes typography {
  0% {
    opacity: 0;
    top: 1em;
    transform: scale(1.6);
  }

  100% {
    opacity: 1;
    top: 0;
    transform: scale(1);
  }
}

/***　共通アニメーション　***/
/*　～上にフェードイン～　*/
.anm-to-top {
  opacity: 0;
  transform: translateY(30px);
}

.anmtd.anm-to-top {
  opacity: 0;
  animation: fadeIn-top 1.25s ease-in-out 0s 1 forwards;
}

@keyframes fadeIn-top {
  from {
    opacity: 0;
    transform: translateY(40px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/*　～左にフェードイン～　*/
.anm-to-left {
  opacity: 0;
  transform: translateX(40px);
  overflow-y: hidden;
}

.anmtd.anm-to-left {
  opacity: 0;
  animation: fadeIn-left 1.25s ease-in-out 0s 1 forwards;
  overflow-y: hidden;
}

@keyframes fadeIn-left {
  from {
    opacity: 0;
    transform: translateX(30px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/*　～純粋にフェードイン～　*/
.anm-fade-in {
  opacity: 0;
}

.anmtd.anm-fade-in {
  opacity: 0;
  animation: fadeIn 1.25s ease-in-out 0.5s 1 forwards;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

/*　～点滅（問合せ必須アイコン）～　*/
.anm-glow {
  opacity: 1;
  animation: glow 3s ease 0.5s 3 forwards;
}

@keyframes glow {
  0% {
    opacity: 1;
  }

  50% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}