.target_area {
  opacity: 0;
}
.target_area.child_target {
  opacity: 1;
}
.target_area.child_target .num_txt::after, .target_area.child_target .num_txt::before {
  opacity: 0;
}

.is-animationHidden {
  opacity: 0;
  transition: 1s all;
}

.is-animation {
  opacity: 1;
}
.is-animation .fadeInDown {
  opacity: 0;
  animation: fadeInDown 1s forwards;
}
@keyframes fadeInDown {
  0% {
    opacity: 0;
    transform: translateY(100px);
  }
  100% {
    opacity: 1;
    transform: translate(0);
  }
}
.is-animation .fadeInDown02 {
  opacity: 0;
  animation: fadeInDown02 1s forwards;
}
@keyframes fadeInDown02 {
  0% {
    opacity: 0;
    transform: translate(20px, 100px);
  }
  100% {
    opacity: 1;
    transform: translate(20px, -50px);
  }
}
.is-animation .fadeInDown03 {
  opacity: 0;
  animation: fadeInDown03 1s forwards;
}
@keyframes fadeInDown03 {
  0% {
    opacity: 0;
    transform: translate(0, 100px);
  }
  100% {
    opacity: 1;
    transform: translate(0, -40px);
  }
}
.is-animation .fadeInDown04:after, .is-animation .fadeInDown04::before {
  opacity: 0;
  animation: fadeInDown04 1s forwards;
}
@keyframes fadeInDown04 {
  0% {
    opacity: 0;
    transform: translateY(100px);
  }
  100% {
    opacity: 1;
    transform: translate(0);
  }
}
.is-animation .widthAnim01::before {
  animation: widthAnim01 1s forwards;
}
@media screen and (max-width: 768px) {
  .is-animation .widthAnim01::before {
    animation: widthAnim01_sp 1s forwards;
  }
}
@keyframes widthAnim01 {
  0% {
    max-width: 0px;
  }
  100% {
    max-width: 153px;
  }
}
@keyframes widthAnim01_sp {
  0% {
    max-width: 0px;
  }
  100% {
    max-width: 57px;
  }
}
.is-animation .widthAnim02::before {
  animation: widthAnim02 1s forwards;
}
@media screen and (max-width: 768px) {
  .is-animation .widthAnim02::before {
    animation: widthAnim02_sp 1s forwards;
  }
}
@keyframes widthAnim02 {
  0% {
    max-width: 0px;
  }
  100% {
    max-width: 364px;
  }
}
@keyframes widthAnim02_sp {
  0% {
    max-width: 0px;
  }
  100% {
    max-width: 137px;
  }
}
.is-animation .widthAnim03::before {
  animation: widthAnim03 1s forwards;
}
@media screen and (max-width: 768px) {
  .is-animation .widthAnim03::before {
    animation: widthAnim03_sp 1s forwards;
  }
}
@keyframes widthAnim03 {
  0% {
    max-width: 0px;
  }
  100% {
    max-width: 146px;
  }
}
@keyframes widthAnim03_sp {
  0% {
    max-width: 0px;
  }
  100% {
    max-width: 55px;
  }
}
.is-animation .scaleImg {
  animation: scaleAnim 1s forwards;
  animation-delay: 0.6s;
  transform: scale(1.2);
  opacity: 0;
}
@keyframes scaleAnim {
  0% {
    opacity: 0;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}
.is-animation .fade-text {
  display: block !important;
  color: transparent !important;
  background-clip: text !important;
  -webkit-background-clip: text !important;
  background-size: 300% 300%;
}
.is-animation .fade-text.to__right {
  background-image: linear-gradient(to right, #5b5b5b 30%, rgba(255, 255, 255, 0) 60%);
  background-position: left 100% center;
  transform: translate(-20px, 0);
  -webkit-animation: toRight var(--duration, 2.4s) var(--ease) var(--delay, 0.6s) forwards;
  animation: toRight var(--duration, 2.4s) var(--ease) var(--delay, 0.6s) forwards;
}
@keyframes toRight {
  100% {
    transform: translate(0, 0);
    background-position: left 0% center;
  }
}