@charset "UTF-8";
/*------------------------------------------------------------
  変数設定
  ------------------------------------------------------------*/
/*------------------------------------------------------------
  TOP/下層共通
  ------------------------------------------------------------*/
.linkBtn a {
  display: inline-block;
  font-size: 2rem;
}
@media screen and (max-width: 1199px) {
  .linkBtn a {
    font-size: 1.6rem;
  }
}
.linkBtn a img {
  margin-left: 1rem;
}
@media screen and (max-width: 1199px) {
  .linkBtn a img {
    width: 20px;
    margin-left: 0.7rem;
  }
}
.linkBtn.-white a {
  background: #000;
  color: #fff;
  height: 50px;
  line-height: 50px;
  padding: 0 1.5rem 0 2.5rem;
}
@media screen and (max-width: 1199px) {
  .linkBtn.-white a {
    height: 40px;
    line-height: 40px;
    padding: 0 1rem;
  }
}
.linkBtn.-white a img {
  vertical-align: -7px;
}
@media screen and (max-width: 1199px) {
  .linkBtn.-white a img {
    vertical-align: -4px;
  }
}
body {
  background: #000;
  font-size: 1.1713030747vw;
}

.mainWrap.-top {
  /*-- 共通 --*/
  /*-- 個別 --*/
}
@media screen and (max-width: 991px) {
  .mainWrap.-top .secMv > img {
    max-height: 100vh;
    -o-object-fit: cover;
       object-fit: cover;
    width: 100%;
  }
}
.mainWrap.-top .secMv .logoImg {
  position: absolute;
  top: 15vw;
  left: 0;
  right: 0;
  margin: 0 auto;
  text-align: center;
  z-index: 1;
}
@media screen and (max-width: 991px) {
  .mainWrap.-top .secMv .logoImg {
    top: calc(50vh - 15rem);
  }
}
.mainWrap.-top .secMv .logoImg::before {
  content: "";
  position: absolute;
  background: rgba(0, 0, 0, 0.5);
  filter: blur(2vw);
  z-index: 0;
  width: 32vw;
  left: 0;
  right: 0;
  margin: 0 auto;
  height: 32vw;
  border-radius: 15vw;
  top: -5vw;
}
@media screen and (max-width: 991px) {
  .mainWrap.-top .secMv .logoImg::before {
    background: rgba(0, 0, 0, 0.5);
    filter: blur(3vw);
    width: 65vw;
    height: 65vw;
    border-radius: 35vw;
    top: -6vw;
  }
}
.mainWrap.-top .secMv .logoImg .mvWords {
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.4em;
  margin-bottom: 3rem;
}
@media screen and (max-width: 991px) {
  .mainWrap.-top .secMv .logoImg .mvWords {
    font-size: 1.4rem;
    margin-bottom: 2rem;
  }
}
.mainWrap.-top .secMv .logoImg img {
  width: 25vw;
}
@media screen and (max-width: 991px) {
  .mainWrap.-top .secMv .logoImg img {
    width: 50vw;
  }
}
.mainWrap.-top .secMv .logoImg .soon {
  color: #fff;
  font-weight: 900;
  font-size: 2vw;
  letter-spacing: 0.25em;
  margin-top: 2vw;
}
@media screen and (max-width: 991px) {
  .mainWrap.-top .secMv .logoImg .soon {
    font-size: 2rem;
  }
}
.mainWrap.-top .secAccess {
  padding-top: 5rem;
  padding-bottom: 5rem;
}
@media screen and (max-width: 991px) {
  .mainWrap.-top .secAccess {
    padding-top: 3rem;
    padding-bottom: 2rem;
  }
}
.mainWrap.-top .secAccess .inner-l .address {
  color: #fff;
  font-size: 1.2vw;
  letter-spacing: 0.2em;
  margin-bottom: 3rem;
}
@media screen and (max-width: 991px) {
  .mainWrap.-top .secAccess .inner-l .address {
    font-size: 1.4rem;
    margin-bottom: 2rem;
  }
}
.mainWrap.-top .secAccess .inner-l .imgMap {
  gap: 3rem;
}
@media screen and (max-width: 991px) {
  .mainWrap.-top .secAccess .inner-l .imgMap {
    gap: 2rem;
    flex-direction: column;
  }
}
.mainWrap.-top .secAccess .inner-l .imgMap .left {
  width: calc(50% - 1.5rem);
  position: relative;
}
@media screen and (max-width: 991px) {
  .mainWrap.-top .secAccess .inner-l .imgMap .left {
    width: 100%;
  }
}
.mainWrap.-top .secAccess .inner-l .imgMap .left p {
  color: #fff;
  font-size: 1.4rem;
  position: absolute;
  right: 1rem;
  bottom: 0.5rem;
}
@media screen and (max-width: 991px) {
  .mainWrap.-top .secAccess .inner-l .imgMap .left p {
    font-size: 1.2rem;
  }
}
.mainWrap.-top .secAccess .inner-l .imgMap .gMap {
  width: calc(50% - 1.5rem);
}
@media screen and (max-width: 991px) {
  .mainWrap.-top .secAccess .inner-l .imgMap .gMap {
    width: 100%;
    aspect-ratio: 1/1;
  }
}
.mainWrap.-top .secAccess .inner-l .imgMap .gMap iframe {
  border: 0;
  width: 100%;
  height: 100%;
  filter: invert(1) grayscale(1);
}
/*------------------------------------------------------------
  下層ページ共通
  ------------------------------------------------------------*/
/*------------------------------------------------------------
  下層ページ
  ------------------------------------------------------------*/
/*------------------------------------------------------------
  Loader
  ------------------------------------------------------------*/
#loader {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: fixed;
  background-color: #fff;
  z-index: 10000;
  top: 0;
}
#loader.loaded {
  animation: fadeOut 0.5s forwards;
}
#loader img {
  max-width: 64px;
}
@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    display: none;
    opacity: 0;
    z-index: -1;
  }
}/*# sourceMappingURL=page.css.map */