html {
  touch-action: manipulation;
}

.wrap {
  background-image: url(bg-body.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  height: 100vh;
  overflow: hidden;
}
.wrap img {
  width: 100%;
  height: 100%;
}

.container {
  text-align: center;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}
.container.hide {
  display: none;
}

.startArea {
  width: 90%;
  height: 100vh;
  margin: 100px auto 0;
  display: flex;
  flex-direction: column;
  opacity: 0;
  transition: opacity 0.5s;
}
.startArea.hide {
  display: none;
}
.startArea.show {
  opacity: 1;
}
.startArea h1 {
  margin-bottom: 40px;
  padding: 20px;
  border-radius: 8px;
  background-color: rgba(33, 31, 32, 0.9);
  color: white;
  border: 5px solid #ccc;
  box-shadow: 4px 4px 8px #333;
  font-weight: 700;
}
.startArea .startBtn {
  width: 80%;
  margin: 0 auto;
  padding: 12px 0;
  font-size: 1.6em;
  background-color: #fffffe;
  box-shadow: 4px 4px 8px #333;
}
.startArea .startBtn:hover {
  background-color: #eee;
}

.quizArea {
  width: 90%;
  height: 100vh;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.5s;
}
.quizArea.show {
  opacity: 1;
}
.quizArea.hide {
  display: none;
}
.quizArea div {
  padding: 20px;
  border-radius: 8px;
  background-color: rgba(33, 31, 32, 0.9);
  color: white;
  border: 5px solid #ccc;
  box-shadow: 4px 4px 8px #333;
}
.quizArea div.questionArea {
  margin-bottom: 20px;
}
.quizArea div.questionArea .question {
  min-height: 80px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  font-size: 1.6em;
  margin-bottom: 20px;
  text-align: left;
}
.quizArea div.questionArea ul.unclickable {
  pointer-events: none;
  opacity: 0.8;
}
.quizArea div.questionArea ul li {
  width: 100%;
  height: 60px;
  line-height: 58px;
  font-size: 1.6em;
  text-align: center;
  list-style-type: none;
  border: solid 2px #fff;
  border-radius: 6px;
  background-color: #198754;
  cursor: pointer;
}
.quizArea div.questionArea ul li:first-child {
  margin-bottom: 16px;
}
.quizArea div.questionArea ul li:hover {
  background-color: #157347;
}
.quizArea div.questionArea ul li.selected {
  background-color: red;
  color: white;
}
.quizArea div.judgeArea {
  height: 160px;
  margin-bottom: 0;
  opacity: 0;
  transition: opacity 0.5s;
}
.quizArea div.judgeArea.show {
  opacity: 1;
}
.quizArea div.judgeArea .judge {
  font-size: 2em;
}
.quizArea div .nextBtn {
  width: 80%;
  max-width: 400px;
  font-size: 1.5em;
}

.resultArea {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 90%;
  margin: 100px auto 0;
  padding: 30px;
  background-color: rgba(33, 31, 32, 0.9);
  color: white;
  border-radius: 8px;
  border: 5px solid #ccc;
  box-shadow: 4px 4px 8px #333;
  transform: translateY(-1000px);
  opacity: 0;
  transition: transform 0.5s opacity 0.5s;
  pointer-events: none;
}
.resultArea.show {
  transform: translateY(0);
  opacity: 1;
  pointer-events: all;
}
.resultArea.hide {
  display: none;
}
.resultArea .resultMsg {
  font-size: 1.8em;
  margin-bottom: 30px;
}
.resultArea .resetBtn {
  width: 70%;
  max-width: 400px;
  font-size: 1.5em;
}

@media (min-width: 576px) {
  .container {
    width: 576px;
  }
}