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

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

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

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

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

/* --- インフォメーション --- */
#frame-information {
  position: relative;
}
.information {
  width: 100vw;
}
.text-information {
  margin: 0 auto;
  left: 0;
  right: 0;
  top: 38%;

  font-size: 3vw;
border: solid white 0px;
}
.text-information .infotable {
  --widthinfotable-cell-left: 200;
  --widthinfotable-cell-center: 50;
  --widthinfotable-cell-right: 750;
  --heightinfotable-cell-top: 60;
  --heightinfotable-cell-bottom: 100;

  display: grid;
  grid-template-columns: calc(var(--widthinfotable-cell-left) / 1000 * 100vw) 
						 calc(var(--widthinfotable-cell-center) / 1000 * 100vw)
						 calc(var(--widthinfotable-cell-right) / 1000 * 100vw);
  grid-template-rows: calc(var(--heightinfotable-cell-top) / 1000 * 100vw) 
					  calc(var(--heightinfotable-cell-bottom) / 1000 * 100vw);

  line-height: 110%;
}
.text-information .infotable .right {
  justify-self: end;
}
.text-information .infotable .left {
  text-align: left;
  justify-self: start;
}
.text-information .infotable .small {
  font-size: 2.2vw;
}
.button-map {
  --offset-button-map: 40;
  --width-button-map: 219;

  right: calc(50% + var(--offset-button-map) / 1000 * 100vw);
  width: calc(var(--width-button-map) / 1000 * 100vw);
  bottom: 10%;
}

/* --- ストーリー --- */
#frame-story {
}
.story {
  width: 100vw;
}
.text-story {
  --width-text-story: 1100;

  width: calc(var(--width-text-story1) * 1px);

  font-size: 3.2vw;
  line-height: 140%;
border: solid white 0px;
}
.text-story1 {
  top: 14%;
}
.text-story2 {
  bottom: 5%;
}

/* --- 参加方法 --- */
#frame-howto {
}
.howto {
  width: 100vw;
}

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

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

  margin: 0 auto;
  left: 0;
  right: 0;
  top: 13%;

  width: calc(var(--width-text-fee1) / 1000 * 100vw);
  font-size: 4vw;
border: solid white 0px;
}
.text-fee1 .feetable {
  --width-feetable-cell: 240;
  --height-feetable-cell: 30;

  display: grid;
  grid-template-columns: repeat(3, calc(var(--width-feetable-cell) / 1000 * 100vw));
  grid-template-rows: repeat(2, calc(var(--height-feetable-cell) / 1000 * 100vw));
  gap: 8px;
}
.text-fee2 {
  margin: 0 auto;
  left: 0;
  right: 0;
  bottom: 70%;

  font-size: 2vw;
border: solid white 0px;
}
.text-start {
  margin: 0 auto;
  left: 0;
  right: 0;
  bottom: 60%;

  font-size: 3.5vw;
border: solid white 0px;
}
.text-start .large {
  font-size: 5vw;
}
.text-start .medium  {
  font-size: 4.5vw;
}

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

  margin: 0 auto;
  left: 0;
  right: 0;
  bottom: 52%;
  width: calc(var(--width-button-ticket) / 1000 * 100vw);
}

/* --- よだかのレコードとは --- */
#frame-yodaka {
  margin-top: 20px;
}
.yodaka {
  --width-yodaka: 973;
  width: calc(var(--width-yodaka) / 1000 * 100vw);
}
.text-yodaka {
  --width-text-yodaka: 930;

  margin: 0 auto;
  left: 0;
  right: 0;
  top: 48%;
  width: calc(var(--width-text-yodaka) / 1000 * 100vw);

  font-size: 2.2vw;
  line-height: 140%;
border: solid red 0px;
}

/* --- 東方project展 --- */
#frame-exhibition {
  margin-top: 20px;
}
.exhibition {
  --width-exhibition: 968;
  width: calc(var(--width-exhibition) / 1000 * 100vw);
}

/* --- よくある質問 --- */
#frame-faq {
  --height-frame-faq: 3520;

  margin-top: 20px;
  height: calc(var(--height-frame-faq) / 1000 * 100vw);

border: solid yellow 0px;
}
.faq-title {
  width: 100vw;
}
.text-faq {
  --width-text-faq: 950;
  --height-text-faq: 3200;

  top: 4%;
  width: calc(var(--width-text-faq) / 1000 * 100vw);
  height: calc(var(--height-text-faq) / 1000 * 100vw);
  font-size: 3vw;
/*  overflow-y: scroll; */

border: solid red 0px;
}
.item {
  margin-left: calc(var(--ml-item) / 1000 * 100vw);

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


/* --ｰ フッタ --- */
#frame-footer {
  --height-footer: 350;

  height: calc(var(--height-footer) / 1000 * 100vw);
border: solid white 0px;

}
.footer {
}
.logo {
  --width-logo: 253;

  margin: 0 auto;
  left: 0;
  right: 0;
  bottom: 55%;

  width: calc(var(--width-logo) / 1000 * 100vw);
}
.text-copyright {
  bottom: 10%;
  font-size: 2vw;
}
