@charset "utf-8";

.itqds-wrapper{
  width: 100%;
  max-width: 750px;
  margin: 0 0 30px 0;
  padding: 0;
  box-sizing: border-box;
}

.itqds-inner{
  width: 100%;
  box-sizing: border-box;
}

.itqds-loading{
  width: 100%;
  min-height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #666;
  font-size: 14px;
  border: 1px solid #ddd;
  border-radius: 8px;
  background: #fff;
}

.itqds-quiz.default{
  width: 100%;
  margin: 0;
  padding: 16px;
  box-sizing: border-box;
  border: 1px solid #ddd;
  border-radius: 8px;
  background: #fff;
}

.itqds-title-wrap{
  margin: 0 0 10px 0;
}

.itqds-title{
  font-weight: 700;
  margin: 0 0 4px 0;
  padding: 0;
  font-size: 20px;
  line-height: 1.4;
}

.itqds-progress{
  margin: 0;
  padding: 0;
  font-size: 13px;
  color: #666;
  line-height: 1.3;
}

.itqds-question-text{
  margin: 0 0 12px 0;
  font-size: 15px;
  line-height: 1.45;
  font-weight: 500;
}

.itqds-question{
  list-style: none;
  margin: 0 0 0px 0 !important;
  padding: 0;
}

.itqds-question-list{
  position: relative;
  background: #fff;
  border: 1px solid #ddd;
  cursor: pointer;
  font-weight: normal;
  padding: 14px 14px;
  margin: 0 0 5px 0 !important;
  border-radius: 5px;
  box-sizing: border-box;
  transition: .2s;
  line-height: 1.35;
}


.itqds-question-list:last-child{
  margin-bottom: 0;
}

.itqds-question-list:not(.disabled):hover{
  box-shadow: 0 0 10px rgba(0,0,0,0.18);
}

.itqds-question-list.disabled{
  cursor: auto;
}

.itqds-question-list.correct.disabled{
  background: #68AF15;
  color: #fff;
  border-color: #68AF15;
}

.itqds-question-list.incorrect.disabled.choice{
  background: #BE1515;
  color: #fff;
  border-color: #BE1515;
}

.itqds-question-list.incorrect.disabled:not(.choice){
  background: #e2e2e2;
  color: #333;
  border-color: transparent;
}

.itqds-answer{
  display: none;
  background: #fff;
  border: 1px solid #bbb;
  font-weight: normal;
  padding: 10px;
  margin: 4px 0 0 0 !important;
  border-radius: 5px;
  box-sizing: border-box;
  animation: itqds-appear .25s ease;
}

.itqds-result-wrap{
  margin: 0 0 0px 0;
  padding: 0;
}

.itqds-result{
  display: none;
  margin: 0 0 0px 0;
  padding: 0;
  font-weight: 700;
  line-height: 1.2;
  font-size: 18px;
}

.itqds-result.show{
  display: block;
}

.itqds-result.correct{
  color: #68AF15;
  margin-bottom:10px;
}

.itqds-result.incorrect{
  color: #BE1515;
  margin-bottom:10px;
}

.itqds-result-text{
  margin: 0;
  padding: 0;
  font-size: 14px;
  line-height: 1.3;
}

.itqds-commentary{
  margin: 0px 0 0 0;
  padding: 0;
  font-size: 14px;
  line-height: 1.4;
}

.itqds-commentary p{
  margin: 0;
  padding: 0;
}

.itqds-continue-wrap{
  margin-top: 12px;
  text-align: center;
}

.itqds-continue{
  display: inline-block;
  padding: 0.55em 2.2em;
  background: #68af15;
  color: #fff;
  border-radius: 5px;
  cursor: pointer;
  font-weight: 700;
  margin: 0;
  line-height: 1.2;
}

.itqds-continue:hover{
  box-shadow: 0 0 10px rgba(0,0,0,0.2);
}

.itqds-result-screen{
  width: 100%;
  border: 1px solid #ddd;
  border-radius: 8px;
  background: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 10px;
  box-sizing: border-box;
  text-align: center;
  padding: 30px 20px;
}

.itqds-result-screen h3,
.itqds-result-screen p{
  margin: 0;
}

.itqds-restart{
  min-height: 44px;
  border: none;
  border-radius: 5px;
  background: #68af15;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  padding: 10px 18px;
}

@keyframes itqds-appear {
  0%{
    opacity: 0;
  }
  100%{
    opacity: 1;
  }
}

@media (max-width: 480px){
  .itqds-quiz.default{
    padding: 14px;
  }

  .itqds-title{
    font-size: 18px;
  }

  .itqds-question-text{
    font-size: 17px;
    line-height: 1.4;
  }

  .itqds-question-list{
    font-size: 14px;
    padding: 10px 12px;
  }

  .itqds-result{
    font-size: 17px;
  }

  .itqds-result-text,
  .itqds-commentary{
    font-size: 13px;
  }

  .itqds-continue{
    width: 100%;
    box-sizing: border-box;
  }
}

@media (max-width:480px){

.itqds-question-list{
  width:90%;
  margin:0 auto 14px;
}

}


/* PCのみ解説文字を大きくする */
@media (min-width:768px){

.itqds-commentary{
  font-size:16px;
}
}

p.itqds-progress{
  margin-bottom:0px !important;
}

.itqds-question{
  display:flex;
  gap:10px;
}

.itqds-question-list{
  flex:1;
  text-align:center;
}

.itqds-title{
	margin-bottom:16px !important;
}

.itqds-wrapper{
  border: 1px solid #ddd;
  border-radius: 12px;
  padding: 20px;
  background: #fff;
  margin: 24px 0;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}

.itqds-inner{
  width: 100%;
}

.itqds-title{
  font-size: 1.35rem;
  font-weight: 700;
  margin: 0 0 10px;
  line-height: 1.5;
}

.itqds-desc{
  margin: 0 0 16px;
  color: #555;
  line-height: 1.8;
}

.itqds-config{
  display: grid;
  gap: 14px;
  margin-bottom: 18px;
}

.itqds-config-row{
  display: grid;
  gap: 8px;
}

.itqds-config-label{
  font-weight: 700;
  font-size: 0.98rem;
  line-height: 1.5;
}

.itqds-config-select{
  width: 100%;
  max-width: 280px;
  padding: 10px 12px;
  border: 1px solid #ccc;
  border-radius: 8px;
  background: #fff;
  font-size: 1rem;
  line-height: 1.5;
  box-sizing: border-box;
}

.itqds-config-check{
  display: flex;
  align-items: center;
  gap: 8px;
  line-height: 1.5;
}

.itqds-config-check input[type="checkbox"]{
  margin: 0;
}

.itqds-start-button{
  display: inline-block;
  width: auto;
  max-width: 280px;
  padding: 12px 20px;
  border: none;
  border-radius: 8px;
  background: #222;
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  cursor: pointer;
  box-sizing: border-box;
  transition: opacity 0.2s ease;
}

.itqds-start-button:hover{
  opacity: 0.9;
}

.itqds-start-button:focus{
  outline: none;
  box-shadow: 0 0 0 3px rgba(0,0,0,0.12);
}

.itqds-meta{
  margin-top: 10px;
  color: #666;
  font-size: 0.95rem;
  line-height: 1.6;
}

.itqds-quiz-area{
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid #eee;
}

.itqds-loading{
  color: #666;
  line-height: 1.8;
}

.itqds-source-title{
	margin-bottom:18px !important;
}