/* スマホ用 */
@charset "UTF-8";

.for-pc {
  display: none;
}
.for-sp {
  display: block;
}

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

/* --- ヘッダ --- */
#frame-header {
}
.text-header {
  --width-text-header: 1000;

  width: calc(var(--width-text-header) / 1000 * 100vw);
  font-size: 3vw;
}

/* --- キービジュアル --- */
#frame-kv {
}
.kv {
  width: 100vw;
}

/* --- ポイント --- */
#frame-point {
}
.point {
  width: 100vw;
}

/* ---キャンペーン --- */
#frame-campaign {
}
.campaign {
  width: 100vw;
}
.before {
}
.wait {
  bottom: 9%;
  width: calc(var(--width-wait) / 1000 * 100vw);
}
.after {
}
#button-challenge {
  width: calc(var(--width-button-challenge) / 1000 * 100vw);
}

/* --- ストーリー --- */
#frame-story {
}
.story {
  width: 100vw;
}
.partial {
}
.whole {
}
.text-story {
  --top-text-story: 160;

  top: calc(var(--top-text-story) / 1000 * 100vw);

  line-height: 140%;
  font-size: 2.6vw;
}
.button-story {
  width: calc(var(--width-button-story) / 1000 * 100vw);
}
#button-more {
  bottom: 7%;
}
#button-close {
  bottom: 4%;
}

/* --- プレイ形式 --- */
#frame-format {
}
.format {
  width: 100vw;
}

/* --- チケット(料金) --- */
#frame-fee {
}
.fee {
  width: 100vw;
}
.text-fee {

  bottom: 25%;
  width: calc(var(--width-text-fee) / 1000 * 100vw);

  font-size: 1.7vw;

border: solid yellow 0px;
}
#button-ticket {
  width: calc(var(--width-button-ticket) / 1000 * 100vw);
  bottom: 3%;
}

/* --- スケジュール --- */
#frame-schedule {
}
.schedule {
  width: 100vw;
}
.text-schedule {
  width: calc(var(--width-text-schedule) / 1000 * 100vw);
  top: 8.5%;

  font-size: 2.2vw;
  padding-left: 3vw;

border: solid yellow 0px;
}
.text-schedule .large {
  font-size: 3.3vw;
}
.text-schedule .starttime {
}

/* --- マップ --- */
#frame-map {
}
.map {
  width: 100vw;
}
.embed-map {
  top: 30%;
  right: calc(50% + var(--offset-embed-map) / 1000 * 100vw);
  width: calc(var(--width-embed-map) / 1000 * 100vw);
  height: calc(var(--height-embed-map) / 1000 * 100vw);
}
.iframe-map {
}

.text-map {
  --width-text-map: 400;
  --offset-text-map: 0;

  top: 30%;
  left: calc(50% + var(--offset-text-map) / 1000 * 100vw);
  width: calc(var(--width-text-map) / 1000 * 100vw);

  font-size: 2vw;
border: solid red 0px;
}
.text-map .large {
  font-size: 3.2vw;
}
.text-map .medium {
  font-size: 2.5vw;
}

/* --- グッズ --- */
/*
#frame-goods {
}
.goods {
  width: calc(var(--width-goods) / 1000 * 100vw);
}
*/

/* --- FAQ --- */
#frame-faq {
  padding-bottom: 30px;
}
.faq {
  width: 100vw;
}
.text-faq {
  top: 12%;
  width: calc(var(--width-text-faq) / 1000 * 100vw);
  height: calc(var(--height-text-faq) / 1000 * 100vw);
}
.item {
  --ml-item: 20;

  font-size: 3vw;
  margin-left: calc(var(--ml-item) / 1000 * 100vw);

}
.item .question {
  margin-top: calc(var(--mt-question) / 1000 * 100vw);
}
.item .answer {
  margin-top: calc(var(--mt-answer) / 1000 * 100vw);

}

/* --- フッタ --- */
#frame-footer {
  margin-top: 10px;
  margin-bottom: 20px;
}
.logo {
  width: calc(var(--width-logo) / 1000 * 100vw);
}
.text-copyright {
  bottom: 0;
  font-size: 2vw;
}


/* 背景部 */
.wrapper {
  background-size: contain;
}

/* サイドバー */
.sidebar {
  background-size: calc(var(--width-sidebar) / 1000 * 100vw) auto;
}
.sidebar.left {
  left: 0;
}
.sidebar.right {
  right: calc(var(--width-sidebar) / 1000 * 100vw * (-1));
}
.sidebar::before {
  background-size: calc(var(--width-sidebar) / 1000 * 100vw) auto;
}

/* ワイド */
.wide {
  display: none;
}
