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

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

/* ---------- */
.area-contents {
}

/* --- KV --- */
#frame-kv {
}
.kv {
  width: 100vw;
}

/* --- キャッチ --- */
#frame-catch {
}
.catch {
  width: 100vw;
}

/* --- とは --- */
#frame-about {
}
.about {
  width: 100vw;
}

/* --- ストーリー --- */
#frame-story {
}
.story {
  width: 100vw;
}
.text-story {
  --top-text-story: 260;
  --offset-text-story: (-450);

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

  font-size: 2.6vw;
  text-align: left;
}

/* --- フォーマット --- */
#frame-format {
}
.format {
  width: 100vw;
}

/* --- 料金 --- */
#frame-fee {
}
.fee {
  width: 100vw;
}
#button-ticket {
  width: calc(var(--width-button-ticket) / 1000 * 100vw);
  bottom: 23%;

}

/* --- スケジュール --- */
#frame-schedule {
}
.schedule {
  width: 100vw;
}
.text-schedule {
  --width-text-schedule: 760;

  top: 13%;
  width: calc(var(--width-text-schedule) / 1000 * 100vw);

  font-size: 2.8vw;
  line-height: 130%;
}
.text-schedule .small {
  font-size: 2.2vw;
}
.text-schedule .medium {
  font-size: 3vw;
}
.text-schedule .attention {
}
.text-schedule .reverse {
}
#calendar {
  width: calc(var(--width-calendar) / 1000  * 100vw);
  top: 45%;
}

/* --- マップ --- */
#frame-map {
}
.map {
  width: 100vw;
}
.embed-map {
  --width-embed-map: 750;
  --height-embed-map: 400;

  top: 20%;

  width: calc(var(--width-embed-map) / 1000 * 100vw);
  height: calc(var(--height-embed-map) / 1000 * 100vw);
  margin: 0 auto;
  left: 0;
  right: 0;
}
.iframe-map {
}
.text-map {
  --width-text-map: 580;

  width: calc(var(--width-text-map) / 1000 * 100vw);
  margin: 0 auto;
  left: 0;
  right: 0;
  bottom: 5%;

  font-size: 2.5vw;
  line-height: 140%;
}
.text-map .large {
  font-size: 3.5vw;
}
.text-map .medium {
  font-size: 2.8vw;
}

/* --- FAQ --- */
#frame-faq {
  --height-frame-faq: 1800;

  width: 100vw;
  height: calc(var(--height-frame-faq) / 1000 * 100vw);
}
.faq-title {
  width: calc(var(--width-faq-title) / 1000 * 100vw);
}
.text-faq {

  top: 11%;
  width: calc(var(--width-text-faq) / 1000 * 100vw);
}
.item {
  --ml-item: 20;

  font-size: 2vw;
  margin-left: calc(var(--ml-item) / 1000 * 100vw);
}
.item .question {
  margin-top: calc(var(--mt-question) / 1000 * 100vw);
  font-size: 3vw;
}
.item .answer {
  margin-top: calc(var(--mt-answer) / 1000g * 100vw);
  font-size: 2.2vw;
}

/* --- フッタ --- */
#frame-footer {
  width: 100vw;
  height: calc(var(--height-frame-footer) / 1000 * 100vw);
}
.footer {
}
.logo {
  width: calc(var(--width-logo) / 1000 * 100vw);
}

