/*
開発上書き/追加
*/

/*
style.css 置換
collect to correct
grid-template-column to grid-template-columns and remove comma
comment out empty
*/

#popup2 {
  display: none; /* label でコントロールするので input は非表示に */
}

input#popup2:checked ~ .popup-overlay {
  display: block;
}

.question__number {
  cursor: default;
}

input[type=radio],
label {
  cursor: pointer;
}

/* 入力 */
.choices-item input[type=tel] {
  border: solid 1px #c2c9cf;
  padding: 0.1em 0.3em;
  width: 8em;
  text-align: right;
  margin-left: 0.4em;
  margin-right: 0.2em;
}

.choices-item .selectbox {
  display: inline-flex;
  align-items: center;
  position: relative;
  margin-left: 0.4em;
}

.choices-item .selectbox::after {
  position: absolute;
  right: 10px;
  width: 10px;
  height: 7px;
  background-color: #535353;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  content: "";
  pointer-events: none;
}

.choices-item .selectbox > select {
  min-width: 4em;
  padding: 0.4em calc(0.8em + 10px) 0.4em 0.8em;
  border: 1px solid #d0d0d0;
  cursor: pointer;
}

.page.two-column-a .choices-area {
  padding-top: 0.4em;
}

.page.two-column-a input[type=radio],
.page.two-column-b input[type=radio] {
  margin-left: 0.5em;
}

.btn-style.no-press {
  pointer-events: none;
}

/* 時間切れ */
#timeout {
  display: none; /* label でコントロールするので input は非表示に */
}
.timeout-open {
  display: block;
  cursor: pointer;
  width: 100%;
  height: 100%;
}
.timeout-overlay {
  display: none;
  z-index: 9998;
  background-color: rgba(0, 0, 0, 0.45);
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
}
input#timeout:checked ~ .timeout-overlay {
  display: block;
}
.timeout-window {
  width: 400px;
  padding: 2em 1.5em;
  background-color: #ffffff;
  border: solid 1px #cccccc;
  border-radius: 0.375em;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.35);
  z-index: 9999;
}
.timeout-text {
  color: #222222;
  font-weight: 600;
  text-align: center;
  margin-bottom: 1.5em;
}
.timeout-btn-area {
  display: flex;
  justify-content: center;
  align-items: center;
}
.timeout-finish {
  width: 100px;
  height: 38px;
  background: #1f4070;
  border-radius: 0.25em;
  color: #ffffff;
  font-size: 0.875em;
  font-weight: 600;
  text-align: center;
  margin: 0;
  padding: 0.75em 1em;
  cursor: pointer;
}
.timeout-finish:hover {
  background: rgb(42, 114, 221);
}
.timeout-close {
  width: 100px;
  height: 38px;
  background: #bbccdd;
  border-radius: 0.25em;
  color: #000000;
  font-size: 0.875em;
  font-weight: 600;
  text-align: center;
  margin-left: 1em;
  padding: 0.75em 1em;
  cursor: pointer;
}

/* 結果テーブル調整 */
.result-detail.fp2-practical > .result-detail__table > .table-head {
  grid-template-columns: 6fr 7fr 7fr 10fr 10fr;
}
.result-detail.fp2-practical > .result-detail__table > .table-wrap {
  grid-template-columns: 6fr 34fr;
}
.result-detail.fp2-practical > .result-detail__table > .table-wrap > .table-row > .table-row-inner {
  grid-template-columns: 7fr 7fr 10fr 10fr;
}
/* 結果テーブル調整 結果大問非表示 */
.result-detail.fp2-practical.daimonInvisible > .result-detail__table > .table-head {
  grid-template-columns: 7fr 7fr 10fr 10fr;
}
.result-detail.fp2-practical.daimonInvisible > .result-detail__table > .table-wrap {
  grid-template-columns: 34fr;
}
.result-detail.fp2-practical.daimonInvisible > .result-detail__table > .table-wrap > .table-row > .table-row-inner {
  grid-template-columns: 7fr 7fr 10fr 10fr;
}
/* 結果テーブル調整 結果番号非表示 */
.result-detail.fp2-practical.bangouInvisible > .result-detail__table > .table-head {
  grid-template-columns: 6fr 7fr 10fr 10fr;
}
.result-detail.fp2-practical.bangouInvisible > .result-detail__table > .table-wrap {
  grid-template-columns: 6fr 27fr;
}
.result-detail.fp2-practical.bangouInvisible > .result-detail__table > .table-wrap > .table-row > .table-row-inner {
  grid-template-columns: 7fr 10fr 10fr;
}
/* 電卓 */
.calculator__wrapper > .calculator-head {
  font-family: monospace;
  padding: 0.35em;
  font-size: 1.1em;
  color:white;
  text-align: right;
}

/* 選択肢余白 */
.choices-item input[type=radio] {
  margin-right: 0.5em;
}

/* 表示・非表示切り替え */
.no-display {
  display: none !important;
}

/* 縦100% */
.h-100 {
  height: 100%;
}

/* 動作ボタン */
.actbtn {
  cursor: pointer;
}

/* フォント変更に伴う調整 */
.popup-finish {
  padding: 0;
}
.popup-close {
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 結果表 */
.result-detail__table > .table-head > .table-cell {
  line-height: 1.2em;
}