@charset "UTF-8";

body {
  background-color: #011D5A;
  max-width: 1000px;
}

.buttons:hover {
  cursor: pointer;
  filter: alpha(opacity=80);
  opacity: 0.8;
}

.buttons:focus, 
.buttons:active {
  outline: none !important;
  box-shadow: none;
  transform: translate(4px, 4px);
}

/* ---------- */

.frame {
  position: relative;
}

.background {
}

.parts {
  position: absolute;
  top: 0;
  left: 0;
}

.parts-story,
.parts-rookie,
.parts-information,
.parts-schedule,
.parts-map,
.parts-faq {
}
.parts-logo {
  --width-logo: 199;

  position: absolute;
  margin: 0 auto;
  left: 0;
  right: 0;
  bottom: 30%;
}

.mark {
  visibility: hidden;
}

.button-ticket {
  --width-button-ticket: 356;

  position: absolute;
  margin: 0 auto;
  left: 0;
  right: 0;
  bottom: 5%;
}

.button-map {
  --width-button-map: 279;

  position: absolute;
  left: 60%;
  bottom: 8%;
}

/* キャンペーン */
.frame-campaign {
  width: 100%;
}

.campaign {
  display: block;
  width: 1000px;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}

/* ナゾニカMAP */
#frame-map {
  position: relative;
  width: 853px;
  max-width: 100%;
  margin: 0 auto;
}

.map {
  display: block;
  width: 853px;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}

.logo-nazonika {
  position: absolute;
  top: 15%;
  left: calc(50% + 80px);
  width: 294px;
}

.embed-map {
  position: absolute;
  top: 20%;
  right: calc(50% - 40px);
  width: 440px;
  height: 440px;
}

.iframe-map {
  width: 100%;
  height: 100%;
}

.text-map {
  position: absolute;
  top: 35%;
  left: calc(50% + 80px);
  width: 330px;
  height: 300px;
  color: white;
  text-align: left;
  font-size: 14px;
}

.text-map .large {
  font-size: 22px;
}

.text-map .medium {
  font-size: 18px;
}


/* 1001px未満 */
@media screen and (max-width: 1000px) {
  .campaign {
    width: 98vw;
  }
  #frame-map {
    width: 98vw;
  }
  .map {
    width: 98vw;
  }
  .logo-nazonika {
    left: calc(50% + 8vw);
    width: 29.4vw;
  }
  .embed-map {
    right: calc(50% - 4vw);
    width: 44vw;
    height: 44vw;
  }
  .text-map {
    left: calc(50% + 8vw);
    width: 33vw;
    height: 30vw;
    font-size: 2.5vw;
  }
  .text-map .large {
    font-size: 3.5vw;
  }
  .text-map .medium {
    font-size: 3vw;
  }
  .kv {
    width: 98vw;
  }
  .background {
    width: 98vw;
  }
  .parts {
    width: 98vw;
  }
  .button-ticket {
    width: calc(var(--width-button-ticket) / 1000 * 100vw * 1.0);
  }
  .button-map {
    width: calc(var(--width-button-map)/ 1000 * 100vw * 1.0);
  }
  .parts-logo {
    width: calc(var(--width-logo)/ 1000 * 100vw * 1.0);
  }
}
