.large_circle_1 {
  position: absolute;
  z-index: 200;
  animation: large_circle_rotate_right 40s infinite;
  animation-delay: -5s;
  width: 625px;
  height: 625px;
  top: -20px;
  left: -55px;
}

.large_circle_2 {
  position: absolute;
  z-index: 200;
  animation: large_circle_rotate_left 30s infinite;
  animation-delay: -3s;
  width: 625px;
  height: 625px;
  top: -20px;
  left: -55px;
}

.large_circle_3 {
  position: absolute;
  z-index: 200;
  animation: large_circle_rotate_right 20s infinite;
  width: 625px;
  height: 625px;
  top: -20px;
  left: -55px;
}

.large_circle_flash_part {
  position: absolute;
  width: 625px;
  height: 625px;
  top: -20px;
  left: -55px;
  z-index: 300;
}
.large_circle_flash_part:hover {
  animation: flash 2s infinite;
}

.circle_outer_curve {
  position: absolute;
  width: 720px;
  height: 720px;
  top: -70px;
  left: -105px;
  animation: move_and_stop 10s infinite;
  animation-timing-function: linear;
}

.left_top_corner {
  position: absolute;
  width: 130px;
  height: 103px;
  top: 14px;
  left: -165px;
}

.right_bottom_corner {
  position: absolute;
  width: 130px;
  height: 103px;
  transform: rotate(-180deg);
  bottom: 0px;
  right: -160px;
}

.left_bottom_corner {
  position: absolute;
  width: 205px;
  height: 163px;
  transform: scaleY(-1);
  left: -165px;
  bottom: 0px;
}

.stub_circle {
  position: absolute;
  top: 40px;
  right: -40px;
  animation: large_circle_rotate_right 20s infinite;
  animation-timing-function: linear;
  animation-delay: 2.3s;
}

.dot_and_line {
  position: absolute;
  width: 100px;
  height: 192px;
  top: 127px;
  right: -153.5px;
  animation: dot_and_line_shine 0.3s;
  animation-delay: 2s;
}

@keyframes large_circle_rotate_right {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes large_circle_rotate_left {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(-360deg);
  }
}
@keyframes flash {
  0% {
    opacity: 1;
  }
  5% {
    opacity: 0.5;
  }
  30% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
  100% {
    opacity: 1;
  }
}
@keyframes move_and_stop {
  0% {
    transform: rotate(-45deg);
  }
  50% {
    transform: rotate(45deg);
  }
  100% {
    transform: rotate(-45deg);
  }
}
@keyframes stab_circle_ani {
  0% {
    top: 40px;
    right: -40px;
    transform: rotate(0deg);
  }
  50% {
    top: 40px;
    right: -150px;
    transform: rotate(180deg);
  }
  100% {
    top: 40px;
    right: -40px;
    transform: rotate(0deg);
  }
}
.three_ball_line {
  position: absolute;
  width: 93px;
  height: 78px;
  bottom: 131px;
  right: -25px;
  z-index: 500;
  animation: three_ball_line_shine 3s;
}

.three_ball_1 {
  position: absolute;
  width: 80px;
  height: 80px;
  bottom: 60px;
  right: 55px;
  animation: three_ball_1_flash 3s;
  animation-timing-function: linear;
}

.three_ball_2 {
  position: absolute;
  width: 92px;
  height: 92px;
  bottom: 47px;
  right: -70px;
  animation: three_ball_2_shine 3s;
}

.three_ball_3 {
  position: absolute;
  width: 80px;
  height: 80px;
  bottom: 189px;
  right: -91px;
  animation: three_ball_3_shine 3s;
}

.three_ball_fix_part {
  position: absolute;
  width: 10px;
  height: 10px;
  bottom: 123px;
  right: 62px;
  animation: three_ball_line_shine 3s;
}

@keyframes three_ball_1_flash {
  0% {
    transform: scale(1) rotate(0deg);
  }
  5% {
    transform: scale(1.4);
  }
  8.3% {
    transform: scale(1);
  }
  12.7% {
    transform: scale(1.4);
  }
  15% {
    transform: scale(1);
  }
  50% {
    transform: scale(1) rotate(-180deg);
  }
  100% {
    transform: scale(1) rotate(0);
  }
}
@keyframes three_ball_line_shine {
  0% {
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  15% {
    opacity: 0;
  }
  20% {
    opacity: 1;
  }
  25% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes three_ball_2_shine {
  0% {
    opacity: 0;
  }
  25% {
    opacity: 0;
  }
  33% {
    opacity: 1;
  }
  35% {
    opacity: 0;
  }
  37% {
    opacity: 1;
  }
  45% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}
@keyframes three_ball_3_shine {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 0;
  }
  58% {
    opacity: 1;
  }
  60% {
    opacity: 0;
  }
  62% {
    opacity: 1;
  }
  70% {
    opacity: 0;
  }
  75% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}
@keyframes dot_and_line_shine {
  0% {
    opacity: 1;
  }
  25% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  75% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
