/* 全体 */

* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  font-family: sans-serif;
}

/* 画面 */

.screen {
  position: relative;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
}

.hidden {
  display: none !important;
}

/* 背景画像 */

.background {
  position: absolute;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  object-fit: contain;
}

#quiz-screen .background {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* タイトル */

#title {
  position: absolute;
  left: 50%;
  top: 45%;
  transform: translate(-50%, -50%);
  white-space: nowrap;
  font-size: clamp(40px, 7vw, 100px);
  font-weight: bold;
  color: rgb(0, 74, 173);
  text-shadow:
    3px 3px 6px rgba(0, 0, 0, 0.5);
}
/* Quiz */

#quiz-title {
  display: block;
  text-align: center;
}

#q-title {
  display: inline-block;
  font-size: 1em;
  transition: font-size 1.5s ease;
}

#q-title.q-large {
  font-size: 1.5em;
}

#q-title.q-normal {
  font-size: 1em;
}

#uiz-title {
  opacity: 0;
  transition: opacity 3s ease;
}

#uiz-title.show {
  opacity: 1;
}

/* 透明クリックボタン */

.transparent-button {
  position: absolute;
  z-index: 20;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
}

/* スタート */

#start-button {
  width: 20%;
  height: 15%;
  left: 40%;
  top: 75%;
}

/* 結果を見る */

#result-button {
  width: 15%;
  height: 25%;
  left: 65%;
  top: 45%;
}

/* 結果画面 */

#result-next-button {
  width: 10%;
  height: 10%;
  left: 45%;
  top: 80%;
}

/* もう一度 */

#again-button {
  width: 25%;
  height: 20%;
  left: 15%;
  top: 40%;
}

/* 終了 */

#end-button {
  width: 25%;
  height: 20%;
  left: 60%;
  top: 40%;
}

/* 問題エリア */

#question-area {
  position: absolute;
  width: 80%;
  max-width: 900px;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
}

#quiz-screen .design-area #question-area {
  width: 80%;
  max-width: none;
}

/* 問題番号 */

#question-number {
  position: absolute;
  top: 15%;
  right: 15%;
  font-size: 2.2cqw;
  font-weight: bold;
  color: rgb(218, 20, 20);
}

/* 問題文 */

#question {
  position: relative;
  top: 3cqw;
  margin-bottom: 40px;
  padding: 15px;
  font-size: 2.55cqw;
  font-weight: bold;
  color: rgb(218, 20, 20);
  background-color:
    rgba(218, 20, 20, 0.05);
  border-radius: 20px;
}

/* 2択 */

#answer-area {
  position: relative;
  left: 10cqw;
  top: 2cqw;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2cqw;
}

#quiz-screen #answer-area {
  width: 100%;
}

/* 回答ボタン */

.answer-button {
  width: 32cqw;
  min-height: 8.0cqw;
  padding: 10px;
  font-size: 2.2cqw;
  font-weight: bold;
  color: rgb(218, 20, 20);
  background-color:
    rgba(218, 20, 20, 0);
  border: 3px solid rgb(218, 20, 20);
  border-radius: 20px;
  cursor: pointer;
  transition: transform 0.15s ease;
}

/* マウスを乗せたとき */

.answer-button:hover {
  transform: scale(1.05);
}

/* クリックしたとき */

.answer-button:active {
  transform: scale(0.95);
}

#quiz-screen {
  display: flex;
  justify-content: center;
  align-items: center;
}

#quiz-screen .background {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.design-area {
  position: absolute;
  width: min(100vw, 183.333vh);
  aspect-ratio: 2816 / 1536;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  container-type: size;
}

#quiz-screen #question {
  width: 100%;
}