.kv {
  position: relative;
}

.kv .dot,
.dot {
  position: absolute;
  border-radius: 30px;
}

.kv .dot::after,
.dot::after {
  content: '';
  position: absolute;
  top: 20px;
  left: 20px;
  background-color: #fff;
  border-radius: 50px;
  width: 20px;
  height: 20px;
}

.dot::after {
  top: 10px;
  left: 10px;
  width: 10px;
  height: 10px;
}

.kv .box-1 {
  width: 48%;
  height: 40%;
  background-color: var(--main);
  top: 30%;
  left: 50%;
  transform: translateX(-50%);
}

.kv .box-1 img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 550px;
}

.kv .box-2 {
  width: 26%;
  height: 40%;
  background-color: var(--black);
  top: 10%;
  right: 17%;
}

.kv .box-3 {
  width: 30%;
  height: 41%;
  background-color: var(--C1);
  top: 16%;
  left: 18%;
}

.kv .box-4 {
  width: 19%;
  height: 7%;
  background-color: #a470e6;
  top: 38%;
  right: 12%;
}

.kv .box-5 {
  width: 33%;
  height: 40%;
  background-color: var(--C3);
  top: 42%;
  left: 5%;
}

.kv .box-6 {
  width: 25%;
  height: 36%;
  background-color: var(--C2);
  top: 41%;
  right: 6%;
}

@media (max-width:1600px) {
  .kv .box-1 img {
    max-width: 450px;
  }
}

@media (max-width:1500px) {
  .kv .space {
    margin-top: 50px;
  }
}

@media (max-width:1300px) {

  .kv .box-1 img {
    max-width: 430px;
  }

  .kv .box-4.dot::after {
    top: 15px;
  }

}

@media (max-width:1180px) {
  .kv .box-1 img {
    max-width: 400px;
  }

  .kv .dot {
    border-radius: 20px;
  }

  .kv .dot::after {
    width: 15px;
    height: 15px;
  }
}

@media (max-width:1090px) {
  .kv .box-1 img {
    max-width: 380px;
  }
}

@media (max-width:991px) {

  .kv .box-1 img {
    max-width: 320px;
  }

    .kv .box-4.dot::after {
    top: 8px;
  }
}

@media (max-width:768px) {

  .kv .box-1 {
    height: 27%;
    width: 56%;
  }

  .kv .box-5 {
    width: 48%;
    height: 26%;
    top: 38%;
  }

  .kv .box-6 {
    height: 23%;
    top: 48%;
    width: 38%;
  }
}

.kv-logo {
  width: 60%;
  margin: 5rem auto 1.5rem;
}

.kv h1 {
  font-size: 6rem;
  font-weight: 900;
  letter-spacing: 1rem;
  margin-right: -1rem;
}

.kv h4 {
  font-weight: 300;
  letter-spacing: 0.3rem;
  margin-right: -0.3rem
}

.kv h2 {
  font-size: 2.5rem;
  letter-spacing: 0.2rem;
  margin-right: -0.2rem;
}


@media (max-width:576px) {

  .kv-logo {
    width: 90%;
  }
}

:root {
  --animate-delay: 0.3s;
}

/* ---------------
  內頁KV
   --------------- */
.innerKV {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 100%;
  overflow: hidden;
  padding: 0;
}
.innerKV .space{
  margin-top: 3rem;
}

@media (max-width:992px) {
  .innerKV .space {
    margin-top: 1rem;
  }
}