html {
  touch-action: manipulation;
}
h2 {
  margin: 50px 0 20px 0;
  text-align: center;
  font-size: 2rem;
  font-weight: bold;
}
section {
  width: 97%;
  max-width: 800px;
  margin: 0 auto 150px auto;
  padding: 15px;
  counter-reset: number 0; /*ポイント*/
}
section ol {
  position: relative;
  counter-reset: number-ol; /*ポイント*/
  padding: 5px;
  margin: 0 auto;
}
ol li {
  position: relative;
  list-style: none;
  margin-bottom: 7px;
  padding-left: 30px;
  font-size: 1.2rem;
}
section ol li:before {
  position: absolute;
  counter-increment: number-ol; /*ポイント*/
  content: counter(number-ol); /*ポイント*/
  background: orange;
  color: #fff;
  border-radius: 50%;
  left: -15px;
  width: 1.2em;
  height: 1.2em;
  text-align: center;
  text-shadow: 1px 1px 1px #666;
}
section h3 {
  border-left: 10px red solid;
  border-bottom: 2px #333 dotted;
  margin: 50px 0 20px;
  padding: 20px;
}
p{
  max-width: 800px;
  margin: 1rem;
  padding: 1rem;
  line-height: 2rem;
}
section p {
  margin: 7px 0;
  font-size: 1.1rem;
}
section .ex,
section .q {
  margin: 30px auto;
  padding: 15px;
  border: 1px dotted #333;
  border-radius: 8px;
  background: oldlace;
  font-size: 1.2rem;
  counter-reset: ex-se;
}

section .q::before {
  counter-increment: number 1; /* number カウンタの増加数をセット*/
  content: "問題" counter(number); /*表示形式を指定 */
  font-weight: bold;
}
section .q p {
  line-height: 2rem;
}
section .q .a,
section .q .b {
  position: relative;
  left: 35px;
  width: 87%;
}
section .q .a::before {
  content: "A : ";
  position: absolute;
  left: -35px;
}
section .q .b::before {
  content: "B : ";
  position: absolute;
  left: -35px;
}
section .ex-se {
  padding-left: 45px;
  position: relative;
}
section .ex-se::before {
  counter-increment: ex-se 1; /* ex-se カウンタの増加数をセット*/
  content: counter(ex-se) "."; /*表示形式を指定 */
  position: absolute;
  left: 20px;
}

section .answer,
.red {
  color: rgb(206, 0, 0);
  font-weight: bold;
}
.black {
  color: #333;
  font-weight: bold;
}
section .stealthAns{
  color: #333;
  font-weight: normal;
}
.blue {
  color: rgb(9, 9, 203);
  font-weight: bold;
}
.answer-wrapper {
  width: 85%;
  margin: 0px auto 20px;
  height: 100px;
  overflow: hidden;
}
.answer-wrapper .btn,
span.btn {
  width: 120px;
  margin: 30px auto;
  padding: 7px 15px;
  background: orange;
  color: #fff;
  text-align: center;
  font-size: 1.2rem;
  border-radius: 8px;
}
.answer-wrapper .btn:hover,
span.btn:hover {
  background: #fff;
  color: orange;
  border: 1px solid orange;
}

.select-wrapper,
.sort-wrapper{
  width: 85%;
  padding: 1rem;
}

@media (max-width: 480px) {
  section{
    padding: 0;
  }
  section ol {
    padding-left: 30px;
  }
  section ol li{
    font-size: 1.1rem;
  }
  section .ex {
    padding: 5px;
  }
  section p{
    font-size: 1rem;
    padding: 0;
  }
  section .ex, section .q {
    font-size: 1rem;
  }
}
