#entrance{
  padding-top: 50px;
}
.tab{
  display: none;
}

.oval-links{
  position: relative;
  width: 910px;
  height: 643px;
  margin: 0 auto;
}

.oval-link{
  position: absolute;
  width: 670px;
  height: 435px;
  border-radius: 50%;
  color: #465760;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  z-index: 99999;
}

.oval-link a{
    width: 670px;
  height: 435px;
  border-radius: 50%;

  color: #465760;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.oval-link--green{
  left: 30px;
  pointer-events: none;
}
.overlay-g{
  position: absolute;
  width: 670px;
  height: 435px;
  border-radius: 50%;
  background: #fff;
  z-index: 99;
  left: 30px;
}
.oval-link--green:hover ~ .overlay-g {
  background: #a8f0a2;
  z-index: 999;
}
.oval-link--green:hover ~ .border-hidden {
  opacity: 0;
}

.overlay-p{
  position: absolute;
  width: 670px;
  height: 435px;
  border-radius: 50%;
  background: #fff;
  z-index: 99;
  right: 0;
  bottom: 0;
}
.oval-link--pink:hover ~ .overlay-p {
  background: #f3a8f2;
  z-index: 999;
}
.oval-link--pink:hover ~ .border-hidden {
  opacity: 0;
}

.overlay-g-border{
  position: absolute;
  width: 670px;
  height: 435px;
  border-radius: 50%;
  color: #465760;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  top: 0;
  left: 30px;
  border: 4px solid #a8f0a2;
  z-index: 99;
}
.overlay-p-border{
  position: absolute;
  width: 670px;
  height: 435px;
  border-radius: 50%;
  color: #465760;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  right: 0;
  bottom: 0;
  border: 4px solid #f3a8f2;
  z-index: 99;
}
.border-hidden {
    position: absolute;
    width: 567px;
    height: 324px;
    border-radius: 50%;
    background: #fff;
    top: 164px;
    left: 193px;
    z-index: 9999;
    opacity: 1;
    pointer-events: none;
}/*
.oval-link--green{
  top: 0;
  left: 0;
  border: 4px solid #a8f0a2;
  z-index: 2;
}
*/
.oval-link--pink{
  right: 0;
  bottom: 0;
}

.en{
  font-family: var(--font-en);
  font-size: 70px;
  line-height: 1;
}

.jp{
  margin-top: 22px;
  font-size: 24px;
  font-weight: 500;
}

.arrow{
  position: absolute;
}

.arrow--left{
  left: 60px;
  top: 50%;
  transform: translateY(-50%);
}

.arrow--right{
  right: 65px;
  top: 50%;
  transform: translateY(-50%);
}
footer{
  background-color: transparent;
  padding-top: 35px;
  padding-bottom: 10px;
}
/* TAB */
@media (max-width: 915px) {
  .oval-links {
    width: 750px;
    height: 570px;
  }
  .oval-link{
    width: 580px;
    height: 367px;
  }
  .oval-link--green{
    left: 0;
  }
  .oval-link a{
    width: 580px;
    height: 367px;
  }
  .overlay-g{
    width: 580px;
    height: 367px;
    left: 0;
  }
  .overlay-p{
    width: 580px;
    height: 367px;
  }

  .overlay-g-border{
    width: 580px;
    height: 367px;
      left: 0;
  }
  .overlay-p-border{
    width: 580px;
    height: 367px;
  }
  .border-hidden {
      width: 454px;
      height: 277px;
      top: 162px;
      left: 162px;
  }

  footer{
    position: fixed;
    bottom: 10px;
    left: 0;
    right: 0;
    margin: auto;
  }
  .arrow--left {
    left: 30px;
  }
  .arrow--right {
    right: 30px;
  }

}



/* スマホ */
@media (max-width: 767px) {
  #entrance{
  padding-top: 30px;
  }

    .tab{
    display: block;
  }
  .oval-links {
    width: 332px;
    height: 450px;
  }
  .oval-link{
    width: 210px;
    height: 330px;
  }
  .oval-link a{
    width: 210px;
    height: 330px;
  }
  .overlay-g{
    width: 210px;
    height: 330px;
  }
  .overlay-p{
    width: 210px;
    height: 330px;
  }

  .overlay-g-border{
    width: 210px;
    height: 330px;
  }
  .overlay-p-border{
    width: 210px;
    height: 330px;
  }
  .border-hidden{
    position: absolute;
    width: 544px;
    height: 325px;
    border-radius: 50%;
    background: #fff;
    top: 165px;
    left: 181px;
    z-index: 9999;
    opacity: 1;
  pointer-events: none;
  }

  .en{
    font-size: 34px;
    line-height: 1;
    text-align: center;
    order: 3;
  }

  .jp{
    font-size: 13.5px;
        text-align: center;
    order: 2;
    margin-top: 10px;

  }
  .border-hidden {
        width: 157px;
        height: 232px;
        top: 117px;
        left: 97px;
    }
      .arrow{
    position: unset;
    width: 20px;
        order: 1;
    margin-top: 10px;

  }
  .oval-link a{
    flex-direction: column-reverse;
  }

  .oval-link--green a{
    padding-bottom: 45px;
  }

  .oval-link--pink a{
    padding-top: 45px;
  }

}