.mask {
  position: relative;
  font-weight: 400;
}
.mask::after {
  content: "";
  background-color: #ffffff;
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  right: 0;
  transition-duration: 3s;
  z-index: 5;
}
.mask.isActive::after {
  animation: draw 7s linear infinite;
}

@keyframes draw {
  50% {
    width: 0%;
  }
  0% {
    width: 100%;
  }
  100% {
    width: 0%;
  }
}
.moonup,
.shineup {
  width: 100%;
  position: relative;
  max-width: 600px;
  margin: 0 auto;
}
.shineup {
  margin-bottom: 60px;
}
.moonup > span,
.shineup > span {
  position: absolute;
  font-size: 12px;
  line-height: 1.1;
  z-index: 6;
}

.moonup > span.span1,
.shineup > span.span1 {
  top: 60px;
  font-size: 16px;
  border: solid 1px #000000;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  padding: 10px;
  text-align: center;
}
.moonup > span.span2 {
  bottom: -15px;
  left: 55%;
  transform: translate(-50%, -50%);
  width: 70%;
  text-align: left;
  color: #00205b;
  font-size: 12px;
  font-weight: bold;
}
.moonup > span.span3 {
  bottom: -30px;
  left: 55%;
  transform: translate(-50%, -50%);
  width: 70%;
  text-align: left;
}

.shineup > span.span2 {
  bottom: -55px;
  left: 56%;
  transform: translate(-50%, -50%);
  width: 95%;
  text-align: left;
  color: #00205b;
  font-weight: bold;
}
.shineup > span.span3 {
  bottom: -68px;
  left: 56%;
  transform: translate(-50%, -50%);
  width: 95%;
  text-align: left;
  color: #00205b;
}
.shineup > span.span10 {
  bottom: -89px;
  left: 56%;
  transform: translate(-50%, -50%);
  width: 95%;
  text-align: left;
}

.moonup > span.span2::before,
.moonup > span.span3::before,
.shineup > span.span2::before,
.shineup > span.span3::before,
.shineup > span.span10::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 100%;
  margin-right: 5px;
  transform: translateY(-50%);
  width: 24px;
  border-bottom: solid 1px #000000;
}
.moonup > span.span2::before,
.shineup > span.span2::before,
.shineup > span.span3::before {
  border-bottom: solid 2px #00205b;
}
.shineup > span.span3::before {
  border-bottom: dotted 2px #00205b;
}
.shineup > span.span10::before {
  border-bottom: dotted 1px #000000;
}
.moonup > span.span4,
.shineup > span.span4 {
  left: 22%;
  bottom: 45px;
}
.moonup > span.span5,
.shineup > span.span5 {
  left: 41%;
  bottom: 45px;
}
.moonup > span.span6,
.shineup > span.span6 {
  left: 60%;
  bottom: 45px;
}
.moonup > span.span7,
.shineup > span.span7 {
  left: 78%;
  bottom: 45px;
}
.moonup > span.span8 {
  top: 50%;
  left: 10px;
}
.shineup > span.span8 {
  top: 55%;
  left: 10px;
}
.moonup > span.span9,
.shineup > span.span9 {
  top: 35%;
  left: 83%;
}
.shineup > span.span11,
.shineup > span.span12 {
  bottom: 10px;
}
.shineup > span.span11 {
  left: 16%;
}
.shineup > span.span12 {
  left: 50%;
}
.shineup > span.span13,
.shineup > span.span14 {
  left: 27.5%;
  bottom: 30px;
  height: 5px;
  width: 16%;
  border-left: solid 1px #000000;
  border-bottom: solid 1px #000000;
}
.shineup > span.span14 {
  left: 46.5%;
  width: 33%;
}
.shineup > span.span13::after,
.shineup > span.span14::after {
  content: "▲";
  transform: rotate(90deg);
  position: absolute;
  left: 94%;
}
.moonup > span.span10 {
  top: 65%;
  left: 83%;
}
.moonup > .graph,
.shineup > .graph {
  position: absolute;
  height: 60%;
  width: 65%;
  top: 55%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0.1;
  border: solid 1px #000000;
  z-index: 6;
}
.moonup > .graph > .topArea {
  height: 50%;
  width: 100%;
  background-color: yellow;
}
.moonup > .graph > .bottomArea {
  height: 50%;
  width: 100%;
  background-color: gray;
}
.shineup > .graph > .topArea {
  height: 50%;
  width: 100%;
  background-color: yellow;
}
.shineup > .graph > .bottomArea {
  height: 50%;
  width: 100%;
  background-color: gray;
}
.moonup > .graph > span,
.shineup > .graph > span {
  position: absolute;
}
.moonup > .graph > span.vertical1,
.shineup > .graph > span.vertical1 {
  top: 0;
  left: 15%;
  height: 100%;
  width: 1px;
  border-right: solid 1px #000000;
}
.moonup > .graph > span.vertical2,
.shineup > .graph > span.vertical2 {
  top: 0;
  left: 44%;
  height: 100%;
  width: 1px;
  border-right: solid 1px #000000;
}
.moonup > .graph > span.vertical3,
.shineup > .graph > span.vertical3 {
  top: 0;
  left: 73%;
  height: 100%;
  width: 1px;
  border-right: solid 1px #000000;
}
.moonup > .graph > span.horizontal,
.shineup > .graph > span.horizontal {
  top: 50%;
  left: 0;
  height: 1px;
  width: 100%;
  background-color: #000000;
  opacity: 0.2;
}
.shineup > .graph > span.horizontal {
  top: 55%;
}

@media screen and (max-width: 768px) {
  .moonup > span.span2 {
    bottom: -30px;
    width: 75%;
    font-size: 10px;
  }
  .moonup > span.span3 {
    bottom: -55px;
    width: 75%;
  }
  .shineup > span.span2 {
    bottom: -85px;
  }
  .shineup > span.span3 {
    bottom: -114px;
  }
  .shineup > span.span10 {
    bottom: -150px;
  }
  .moonup > span.span4,
  .shineup > span.span4 {
    left: 22%;
    bottom: 10px;
  }
  .moonup > span.span5,
  .shineup > span.span5 {
    left: 41%;
    bottom: 10px;
  }
  .moonup > span.span6,
  .shineup > span.span6 {
    left: 60%;
    bottom: 10px;
  }
  .moonup > span.span7,
  .shineup > span.span7 {
    left: 78%;
    bottom: 10px;
  }
  .moonup > span.span8 {
    top: 50%;
    left: 0px;
  }
  .moonup > span.span1,
  .shineup > span.span1 {
    top: 16px;
    font-size: 14px;
    width: 200px;
    border: solid 1px #000000;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    padding: 10px;
    text-align: center;
  }

  .shineup > span.span13 {
    left: 27.5%;
    bottom: 0px;
    height: 5px;
    width: 16%;
    border-left: solid 1px #000000;
    border-bottom: solid 1px #000000;
  }

  .shineup > span.span14 {
    left: 46.5%;
    width: 33%;
    bottom: 0px;
  }

  .shineup > span.span11,
  .shineup > span.span12 {
    bottom: -20px;
  }

  .moonup > span,
  .shineup > span {
    position: absolute;
    font-size: 10px;
    line-height: 1.1;
    z-index: 6;
  }

  .shineup > span.span8 {
    top: 55%;
    left: 0px;
  }
}
