@import url(/v2/css/custom.css);
@import url(/puyoli2025/student/css/senmusubi.css);

#unit.single_page:not(.dev) {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  overflow: hidden;
}

.modal_block {
  z-index: 250;
}

/* 単元問題ダウンロードモーダル */
.question-dl-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  min-width: 400px;
  font-family: "AP-OTF-UDShinGoPr6N-DeBold";
  color: #13133b;
  overflow: visible !important;
}


.question-dl-modal .unit_exam_chara {
  width: clamp(0px, 35vw, 46.8rem);
  height: clamp(0px, 9.5vw, 13.5rem);
  margin: 0 auto;
  position: relative;
  overflow: visible !important;
}

.question-dl-modal .unit_exam_chara .challenge_chara_item {
  bottom: clamp(-4.5rem, -25%, -1rem);
}

.question-dl-modal .modal_bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgb(142 141 141 / 50%);
}

.question-dl-modal .modal-content {
  position: relative;
  justify-content: center;
  z-index: 1;
  background: white;
  box-shadow:
    0 20px 40px rgba(0, 0, 0, 0.3),
    0 0 0 1px rgba(255, 255, 255, 0.1);
  border-radius: 16px;
  padding: 32px;
  min-width: 450px;
  max-width: 50%;
  width: 100%;
  box-sizing: border-box;
  overflow: visible;
}

.question-dl-modal .progress-header {
  text-align: center;
  margin-bottom: 28px;
  position: relative;
  z-index: 1;
}

.question-dl-modal .progress-header h2 {
  margin: 0 0 12px 0;
  font-size: 2.8rem;
}

.question-dl-modal .progress-info {
  font-size: 1rem;
  color: #5a6c7d;
  font-weight: 500;
  background: rgba(52, 152, 219, 0.1);
  padding: 6px 12px;
  border-radius: 20px;
  display: inline-block;
  border: 1px solid rgba(52, 152, 219, 0.2);
}

.question-dl-modal .progress-content {
  display: flex;
  flex-direction: column;
  gap: 24px;
  position: relative;
  z-index: 1;
}

.question-dl-modal .progress-bar-container {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 20px;
}

.question-dl-modal .progress-bar {
  flex: 1;
  height: 40px;
  background-color: #e0e0e0;
  border-radius: 6px;
  overflow: hidden;
  position: relative;
}

.question-dl-modal .progress-fill {
  height: 100%;
  border-radius: 6px;
  transition: width 0.3s ease, background-color 0.3s ease;
  position: relative;
  background-color: #323278;
}

.question-dl-modal .progress-fill::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  animation: shimmer 2s infinite;
}

@keyframes shimmer {
  0% { transform: translateX(-100%); }
  100% { transform: translateX(100%); }
}

.question-dl-modal .progress-percentage {
  font-weight: 700;
  color: #2c3e50;
  min-width: 50px;
  text-align: center;
  font-size: 2.8rem;
}

/* 単元問題ダウンロードモーダル スタート画面キャラ */
.unit_exam_chara {
  width: clamp(0px, 35vw, 46.8rem);
  height: clamp(0px, 9.5vw, 13.5rem);
  position: relative;
}
.unit_exam_chara .challenge_chara_item {
  width: 100%;
  height: 100%;
  position: absolute;
  bottom: clamp(-3rem, -17%, 0px);
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition: -webkit-transform 0.4s ease-out;
  transition: -webkit-transform 0.4s ease-out;
  transition: transform 0.4s ease-out;
  transition: transform 0.4s ease-out, -webkit-transform 0.4s ease-out;
}
.unit_exam_chara .challenge_chara_item.js_active {
  -webkit-transform: translateY(-0.8rem);
          transform: translateY(-0.8rem);
}
.unit_exam_chara .challenge_chara_item.js_click_active {
  -webkit-animation: jump 0.8s ease;
          animation: jump 0.8s ease;
}
.unit_exam_chara .challenge_chara_item_01 {
  width: 27.565%;
  height: 109%;
  left: 0;
  background: url(/v2/images/challenge/challenge_chara_01.webp) no-repeat top left/100% auto;
}
.unit_exam_chara .challenge_chara_item_02 {
  width: 22.65%;
  height: 116%;
  left: 20%;
  background: url(/v2/images/challenge/challenge_chara_02.webp) no-repeat top left/100% auto;
}
.unit_exam_chara .challenge_chara_item_03 {
  width: 19.231%;
  height: 100%;
  left: 42%;
  background: url(/v2/images/challenge/challenge_chara_03.webp) no-repeat top left/100% auto;
}
.unit_exam_chara .challenge_chara_item_04 {
  width: 20.087%;
  height: 109.41%;
  right: 19%;
  background: url(/v2/images/challenge/challenge_chara_04.webp) no-repeat top left/100% auto;
}
.unit_exam_chara .challenge_chara_item_05 {
  width: 20.3%;
  height: 103.487%;
  right: 2%;
  background: url(/v2/images/challenge/challenge_chara_05.webp) no-repeat top left/100% auto;
}

/* もんだいていしゅつモーダル */
.question_submit_modal .modal_box {
  width: 165rem;
  padding: 3rem;
  font-family: "UDDigiKyokashoProN-Medium";
}
.question_submit_modal .modal_box ul:not(.bottom-content ul) {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.question_submit_modal .modal_box .unanswered-list {
  padding-bottom: 2.5rem;
}
.question_submit_modal .modal_box .unanswered-list li.q_list_item {
  border-radius: 0.5rem;
  border: solid 0.3rem transparent;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  height: 3.5rem;
}
.question_submit_modal .modal_box .unanswered-list li a {
  font-size: 1.4rem;
  font-family: "UDDigiKyokashoProN-Medium";
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 0.2rem 0.8rem;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  height: 100%;
  border-radius: 0.4rem;
  padding: 0.5rem 1rem;
  background-color: #e6e6e6bf;
}
.question_submit_modal .modal_box .unanswered-list .q_list_item .unit_num {
  margin-right: 0.5rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  border-radius: 0.4rem;
  background-color: #009fe8;
}
.question_submit_modal .modal_box .bottom-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3rem;
}
.question_submit_modal .modal_box .bottom-content .alert-content {
  text-align: center;
  color: #e60012;
}
.question_submit_modal .modal_box .bottom-content p {
  font-size: 2.6rem;
  line-height: 1.3;
}
.question_submit_modal .modal_box .side-label {
  font-family: "UD Shin Go Medium";
  font-size: 1.5rem;
  width: 8rem;
  padding: 0.8rem;
  height: 100%;
  color: #fff;
  border-radius: 3rem;
  background-color: #5064b4;
  box-sizing: border-box;
  flex-shrink: 0;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.question_submit_modal .modal_box .bottom-content ul {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5rem;
}
.question_submit_modal .modal_box .bottom-content ul li {
  font-size: 2.2rem;
  width: 20rem;
  position: relative;
}
.question_submit_modal .modal_box .bottom-content ul li button {
  width: 100%;
  height: 100%;
  padding: 2rem 0;
  color: #fff;
  font-family: "UD Shin Go DemiBold";
  border-radius: 1rem;
  position: relative;
  z-index: 1;
  transition: 0.2s;
}
.question_submit_modal .modal_box .bottom-content ul li.close_btn button {
  background-color: #003296;
}
.question_submit_modal .modal_box .bottom-content ul li.submit_btn button {
  background-color: #ff3c3c;
}
.question_submit_modal .modal_box .bottom-content ul li.submit_btn button.js_hover {
  background-color: #c8003c;
}
.question_submit_modal .modal_box .bottom-content ul li.close_btn button.js_hover {
  background-color: #001464;
}
.question_submit_modal .modal_box .bottom-content ul li.submit_btn button:active {
  transform: translate(0, 0.6rem);
  background-color: #c8003c;
}
.question_submit_modal .modal_box .bottom-content ul li.close_btn button:active {
  transform: translate(0, 0.6rem);
  background-color: #001464;
}
.question_submit_modal .modal_box .bottom-content ul li button.js_click {
  transform: translate(0, 0.6rem);
}
.question_submit_modal .modal_box .bottom-content ul li::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(0, 0.6rem);
  border-radius: 1rem;
}
.question_submit_modal .modal_box .bottom-content ul li.submit_btn::after {
  background-color: #c8003c;
}
.question_submit_modal .modal_box .bottom-content ul li.close_btn::after {
  background-color: #001464;
}


/* 問題画面 */
#unit header .hd_question_list > ul > li ul li.js_active, #unit header .hd_question_list > ul > li ul li:hover {
  border-color: #009fe8;
  background-color: #99d9f6;
  cursor: default;
}

#unit .bl_zoom_list ul li:hover {
  background-color: #b9c1e1;
}

#unit #bl_control .item_control {
  opacity: 1;
  display: block;
  pointer-events: auto;
}

#unit .contents_q_answer_box .q_select_box .input_box .math_area.js_focused {
  z-index: 1;
}
#unit #bl_control {
  display: block;
  z-index: 120;
}
#unit #bl_control_02 {
  display: block;
  z-index: 120;
}
#unit #bl_control .item_control.is-closed,
#unit #bl_control_02 .item_control.is-closed {
  animation: fadeOutAndHide 0.3s ease-in-out forwards;
  pointer-events: none;
}

@keyframes fadeOutAndHide {
  0% {
    opacity: 1;
    display: block;
  }
  99% {
    opacity: 0;
    display: block;
  }
  100% {
    opacity: 0;
    display: none;
  }
}

#unit .contents_q_list {
  scroll-behavior: smooth;
  height: 100%;
  position: relative;
  pointer-events: auto;
  user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
}
#unit:not(:has(.contents_q_tate)) .contents_q_list .contents_q_item:last-of-type {
  padding-bottom: 4rem;
}
#unit .contents_q_tate .contents_q_list .unit_q_item > img {
  height: auto;
  width: auto;
  max-width: 400px;
  object-fit: contain;
}
@media screen and (max-height: 768px) and (orientation: landscape) {
  #unit .contents_q_tate .contents_q_list .unit_q_item > img {
    max-height: 100%;
  }
}
#unit .contents_q_tate .contents_q_list .contents_q_item ul li {
  scroll-margin-inline-end: 1.5rem;
  overflow-y: auto;
}

/* 問題画面 ヘッダー内の各セクション比率固定 */
#unit header {
  position: relative;
  z-index: 100;
}
#unit header .hd_pager_list {
  flex: 0 0 auto;
}

#unit header .hd_question_list {
  flex: 1 1 0;
  min-width: 0;
}
#unit .contents_q_tate header .hd_question_list > ul > li ul li {
  text-align: center;
}
#unit header .hd_question_list > ul > li ul li.reflection_btn:hover {
  border-color: #ff8c00;
  background-color: #fffac8;
}

/* ていしゅつかんりょう画面 */
#unit.fin .unit_main_contents_index .unit_main_contents_inner {
  height: 100vh;
}

#unit .unit_main_contents_index .unit_main_contents_inner .status_list li::after {
  background: none;
  -webkit-mask: url(/v2/images/unit/common/unit_ttl_deco_right.svg) no-repeat top right/100% 100%;
          mask: url(/v2/images/unit/common/unit_ttl_deco_right.svg) no-repeat top right/100% 100%;
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
}
#unit .unit_main_contents_index .unit_main_contents_inner .status_list li.ct_blue::after {
  -webkit-filter: none;
          filter: none;
  background-color: #0078DC;
}
#unit .unit_main_contents_index .unit_main_contents_inner .status_list li.ct_green::after {
  -webkit-filter: none;
          filter: none;
  background-color: #00D73C;
}
#unit .unit_main_contents_index .unit_main_contents_inner .status_list li.ct_red::after {
  -webkit-filter: none;
          filter: none;
  background-color: #FA468C;
}
#unit .unit_main_contents_index .unit_main_contents_inner .status_list li.ct_orange::after {
  -webkit-filter: none;
          filter: none;
  background-color: #FFA000;
}
#unit .unit_main_contents_index .unit_main_contents_inner .status_list li.ct_yellow::after {
  -webkit-filter: none;
          filter: none;
  background-color: #FFE100;
}
#unit .unit_main_contents_index .unit_main_contents_inner .status_list li.ct_purple::after {
  -webkit-filter: none;
          filter: none;
  background-color: #5064b4;
}
#unit.result .result_data_list li h2::after {
  background: none;
  -webkit-mask: url(/v2/images/unit/common/unit_ttl_deco_right.svg) no-repeat top right/100% 100%;
          mask: url(/v2/images/unit/common/unit_ttl_deco_right.svg) no-repeat top right/100% 100%;
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
}
#unit.result .result_data_list li.result_data_list_omote h2::after {
  -webkit-filter: none;
          filter: none;
  background-color: #fa0050;
}
#unit.result .result_data_list li.result_data_list_ura h2::after {
  -webkit-filter: none;
          filter: none;
  background-color: #0050b4;
}
#unit.result .result_mark_contents .result_list_tab ul li::after {
  background: none;
  -webkit-mask: url(/v2/images/unit/common/unit_ttl_deco_right.svg) no-repeat top right/100% 100%;
          mask: url(/v2/images/unit/common/unit_ttl_deco_right.svg) no-repeat top right/100% 100%;
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
}
#unit.result .result_mark_contents .result_list_tab ul li {
  -webkit-filter: none;
          filter: none;
  background-color: #969696;
}
#unit.result .result_mark_contents .result_list_tab ul li::after {
  -webkit-filter: none;
          filter: none;
  background-color: #969696;
}
#unit.result .result_mark_contents .result_list_tab ul li.js_active.omote::after {
  -webkit-filter: none;
          filter: none;
  background-color: #fa0050;
}
#unit.result .result_mark_contents .result_list_tab ul li.js_active.ura::after {
  -webkit-filter: none;
          filter: none;
  background-color: #0050b4;
}

/* たて画面 キーボード */
#unit .contents_q_tate .contents_q_answer_box .input_box_tate.input_box_s,
#unit .contents_q_tate .contents_q_answer_box .input_box_tate.input_box_m {
  width: auto;
}
#unit .contents_q_tate .contents_q_answer_box .q_select_box [class*="input_box_"] {
  margin: 1rem auto 1rem;
}
#unit .contents_q_tate .contents_q_answer_box .q_select_box .input_box_keyboard[class*="input_box_"] {
  margin: 1rem;
  left: -0.5rem;
}
#unit .contents_q_tate .contents_q_answer_box .input_box_tate.input_box.input_box_s .input_area {
  height: 18rem;
}
#unit .contents_q_tate .contents_q_answer_box .input_box_tate.input_box.input_box_m .input_area {
  height: 55rem;
}

#unit .contents_q_tate .contents_q_answer_box .input_box_tate.input_box.input_box_l .input_area textarea {
  min-width: 14rem;
}
#unit .contents_q_tate .contents_q_answer_box .input_box_tate.input_box.input_box_ll .input_area textarea {
  min-width: 30rem;
}
#unit .contents_q_tate .contents_q_answer_box .input_box_tate.input_box.input_box_lll .input_area textarea {
  min-width: 80rem;
  height: 100%;
}
#unit .contents_q_tate .contents_q_answer_box .q_select_box p .input_box_tate.input_box_m.incorrect + span {
  margin-right: 4.5rem;
}

/* 画像まるつけ、プルダウン */
#unit .contents_q_answer_box .q_select_box .select_radio.type_radio02[class*="list_col"] .input_box.correct .input_area::after,
#unit .contents_q_answer_box .q_select_box .select_radio.type_radio02[class*="list_col"] .input_box.incorrect .input_area::after,
#unit .contents_q_answer_box .q_select_box .select_radio.type_radio02[class*="list_col"] .input_box.sankaku .input_area::after {
  left: -5.8rem;
}
#unit .contents_q_answer_box .q_select_box .s elect_radio.type_radio02[class*="list_col"] .input_box.correct .select_area::after,
#unit .contents_q_answer_box .q_select_box .select_radio.type_radio02[class*="list_col"] .input_box.incorrect .select_area::after {
  left: -6rem;
}
#unit .contents_q_answer_box .q_select_box:has(.select_radio.type_radio02.list_col3) {
  padding-bottom: 3.5rem;
}
#unit .contents_q_answer_box .q_select_box .select_radio.type_radio02[class*="list_col"] .input_box.incorrect .correct_txt,
#unit .contents_q_answer_box .q_select_box .select_radio.type_radio02[class*="list_col"] .input_box.sankaku .correct_txt {
  line-height: 1.5;
  position: absolute;
  bottom: -6.5rem;
  left: 0%;
}
#unit .contents_q_answer_box .q_select_box.incorrect .select_radio.type_radio02[class*="list_col"] .input_box .correct_txt {
  line-height: 1.5;
  position: absolute;
  bottom: -6.5rem;
  left: 0%;
}
#unit .contents_q_answer_box .list_col3 {
  flex-wrap: wrap;
}
#unit .contents_q_answer_box .list_col2 {
  flex-wrap: wrap;
}
#unit .contents_q_answer_box .q_select_box .select_radio.type_radio02 .input_box.correct_answer .input_area::after {
  width: 3.5rem;
  height: 3.5rem;
}

/* たて画面 画像まるつけ、プルダウン */
#unit .contents_q_answer_box .q_select_box.q_select_box_tate p.txt_box_flex:has(.input_box.incorrect .correct_txt),
#unit .contents_q_answer_box .q_select_box.q_select_box_tate p.txt_box_flex:has(.input_box.sankaku .correct_txt) {
  margin-left: 5rem;
}
#unit:not(:has(.contents_q_tate)) .contents_q_answer_box .q_select_box .select_radio.type_radio02[class*="list_col"] li,
#unit:not(:has(.contents_q_tate)) .contents_q_answer_box .q_select_box .type_radio[class*="list_col"] li {
  text-indent: 0;
  padding-left: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}

#unit .contents_q_tate .contents_q_answer_box .q_select_box.q_select_box_tate .select_radio.type_radio02.list_col3 li {
  padding: 0;
  text-indent: 0;
}
#unit .contents_q_tate .contents_q_answer_box .q_select_box.q_select_box_tate .select_radio.type_radio02.list_col3 .input_box.correct:has(.select_area) .input_area::after,
#unit .contents_q_tate .contents_q_answer_box .q_select_box.q_select_box_tate .select_radio.type_radio02.list_col3 .input_box.incorrect:has(.select_area) .input_area::after,
#unit .contents_q_tate .contents_q_answer_box .q_select_box.q_select_box_tate .select_radio.type_radio02.list_col3 .input_box.sankaku:has(.select_area) .input_area::after {
  top: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  left: calc(-50% - 0.6rem);
}
#unit .contents_q_tate .contents_q_answer_box .q_select_box.q_select_box_tate .select_radio.type_radio02.list_col3 .input_box.correct:has(.input_area) .input_area::after,
#unit .contents_q_tate .contents_q_answer_box .q_select_box.q_select_box_tate .select_radio.type_radio02.list_col3 .input_box.incorrect:has(.input_area) .input_area::after,
#unit .contents_q_tate .contents_q_answer_box .q_select_box.q_select_box_tate .select_radio.type_radio02.list_col3 .input_box.sankaku:has(.input_area) .input_area::after,
#unit .contents_q_tate .contents_q_answer_box .q_select_box.q_select_box_tate .select_radio.type_radio02.list_col3 .input_box.correct_answer:has(.input_area) .input_area::after {
  left: -50%;
}
#unit .contents_q_tate .contents_q_answer_box .q_select_box.q_select_box_tate .select_radio.type_radio02.list_col3 .input_box.correct .input_area::before {
  top: -4.2rem;
}
#unit .contents_q_tate .contents_q_answer_box .q_select_box.q_select_box_tate .select_radio.type_radio02.list_col3 .input_box_tate.input_box_tate_select.incorrect .correct_txt,
#unit .contents_q_tate .contents_q_answer_box .q_select_box.q_select_box_tate .select_radio.type_radio02.list_col3 .input_box_tate.input_box_tate_select.sankaku .correct_txt {
  margin-right: 4.5rem;
}
#unit:not(:has(.contents_q_tate)) .contents_q_answer_box .q_select_box .select_radio.type_radio02.list_col3 li,
#unit:not(:has(.contents_q_tate)) .contents_q_answer_box .q_select_box .type_radio.list_col3 li {
  width: calc(33.3333333333% - 2rem);
}
#unit:not(:has(.contents_q_tate)) .contents_q_answer_box .q_select_box .select_radio.type_radio02.list_col2 li,
#unit:not(:has(.contents_q_tate)) .contents_q_answer_box .q_select_box .type_radio.list_col2 li {
  width: calc(50% - 2rem);
}
#unit:not(:has(.contents_q_tate)) .contents_q_answer_box .q_select_box .list_col3 li img,
#unit:not(:has(.contents_q_tate)) .contents_q_answer_box .q_select_box .list_col2 li img,
#unit:not(:has(.contents_q_tate)) .contents_q_answer_box .q_select_box .type_radio.list_col2 li label,
#unit:not(:has(.contents_q_tate)) .contents_q_answer_box .q_select_box .type_radio.list_col3 li label {
  /* min-width: 70%; */
}
#unit .contents_q_answer_box .q_select_box.q_select_box_tate .select_radio.type_radio02.list_col3 li {
  width: 22rem;
}
#unit .contents_q_answer_box .q_select_box .select_radio.type_radio02[class*="list_col"] li .input_box {
  margin: 1.5rem 0 0 0;
  align-items: center;
  display: flex;
}
#unit .contents_q_answer_box .q_select_box .select_radio.type_radio02[class*="list_col"] li .input_box select,
#unit .contents_q_tate .contents_q_answer_box .input_box_tate.input_box_tate_select select {
  margin-right: auto;
}
#unit .contents_q_answer_box .q_select_box.q_select_box_tate .select_radio.type_radio02.list_col3 li .input_box {
  width: 100%;
  margin: 0;
  margin-top: 1.5rem;
}
#unit .contents_q_answer_box .q_select_box.q_select_box_tate .select_radio.type_radio02.list_col3 .input_box .input_area {
  width: auto;
}
#unit .contents_q_tate .contents_q_answer_box .q_select_box .select_radio li .input_box .input_area {
  left: auto;
}
#unit .contents_q_answer_box .q_select_box.q_select_box_tate .select_radio label {
  width: 22rem;
}

#unit .contents_q_answer_box .q_select_box .scroll_area .scrollbar .scrollbar_icon.dragging {
  cursor: grabbing;
}
#unit .contents_q_answer_box .q_select_box .scrollbar.disabled .scrollbar_icon {
  pointer-events: none;
  opacity: 0.8;
  background-color: #999;
}

#unit .contents_q_tate .contents_q_answer_box .q_txt {
  text-indent: 0;
  padding-top: 0;
  /* 問題文が折り返されずに下まで表示されるようにする */
  height: max-content;
  flex-shrink: 0;
}
/* 完答プルダウン */
#unit .contents_q_answer_box .q_select_box.correct.correct_big::after {
  content: "";
  width: 100%;
  top: 0;
  height: 100%;
  position: absolute;
  opacity: 0.5;
  z-index: 1;
  background-image: url(/v2/images/unit/common/unit_icon_correct.svg) !important;
  background-size: 100% 100%;
  pointer-events: none;
}
#unit .contents_q_answer_box .q_select_box.incorrect.incorrect_big::after {
  content: "";
  width: 100%;
  top: 0;
  height: 100%;
  position: absolute;
  z-index: 1;
  background-image: url(/v2/images/unit/common/unit_icon_incorrect02.svg) !important;
  background-size: 100% 100%;
  pointer-events: none;
}
#unit .contents_q_answer_box .q_select_box.sankaku.sankaku_big::after {
  content: "";
  width: 100%;
  top: 0;
  height: 100%;
  position: absolute;
  z-index: 1;
  background-image: url(/v2/images/unit/common/sankaku.svg) !important;
  background-size: 100% 100%;
  pointer-events: none;
  opacity: 0.5;
}
#unit .contents_q_answer_box .q_select_box .input_box.correct .correct_txt,
#unit .contents_q_answer_box .q_select_box .input_box.sankaku .correct_txt,
#unit .contents_q_answer_box .q_select_box .input_box.incorrect .correct_txt,
#unit .contents_q_answer_box .q_select_box.incorrect .input_box .correct_txt,
#unit .contents_q_answer_box .q_select_box.sankaku .input_box .correct_txt {
  margin-left: 0;
  line-height: 1;
}
/* たて　完答プルダウン */
#unit .contents_q_tate .contents_q_answer_box .q_select_box.q_select_box_tate.correct.correct_big::after {
  content: "";
  width: 100%;
  height: 30rem;
  position: absolute;
  left: 11%;
  top: 10%;
  opacity: 0.5;
  z-index: 1;
  background-image: url(/v2/images/unit/common/unit_icon_correct.svg) !important;
  background-size: 100% 100%;
  pointer-events: none;
}
#unit .contents_q_tate .contents_q_answer_box .q_select_box.q_select_box_tate.incorrect.incorrect_big::after {
  content: "";
  width: 100%;
  height: 30rem;
  position: absolute;
  left: 11%;
  top: 10%;
  z-index: 1;
  background-image: url(/v2/images/unit/common/unit_icon_incorrect02.svg) !important;
  background-size: 100% 100%;
  pointer-events: none;
}
#unit .contents_q_tate .contents_q_answer_box .q_select_box.q_select_box_tate.partially_correct.partially_correct_big::after {
  content: "";
  width: 100%;
  height: 30rem;
  position: absolute;
  left: 11%;
  top: 10%;
  z-index: 1;
  background-image: url(/v2/images/unit/common/sankaku.svg) !important;
  background-size: 100% 100%;
  pointer-events: none;
  opacity: 0.5;
}
#unit .contents_q_tate .contents_q_answer_box .q_select_box_tate .input_box_tate {
  text-orientation: upright;
}
#unit .contents_q_tate .contents_q_answer_box .input_box_tate.input_box_tate_select:has(.correct_txt) {
  margin: 0 auto 1rem 2em;
}
#unit .contents_q_answer_box .q_select_box .input_box .correct_txt {
  position: absolute;
  height: 100%;
  font-size: 3.6rem;
  color: #fa0050;
  display: block;
  line-height: 1.4;
  /* margin-left: -14rem; */
}
#unit .contents_q_answer_box .q_select_box .input_box.input_box_dd .correct_txt {
  margin-left: 0;
}

/* 児童結果画面 */
#unit.result .result_mark_contents .result_list_box dl dd .result_list li .lupe_icon:hover {
  background-color: #80cff3;
}
#unit.result .result_mark_contents .result_list_box dl.result_reflection_dl.orange dd .result_list li .lupe_icon:hover {
  background-color: #ffc580;
}
#unit.result .result_mark_contents .result_list_box dl dd .result_commentary_list {
  margin-left: 1rem;
  margin-right: 0.2rem;
}
#unit.result .result_mark_contents .result_list_box dl dd .result_list {
  padding: 0 0.7rem;
}
#unit.result .result_mark_contents .result_list_box dl.result_reflection_dl.orange dt {
  background-color: #ff8c00;
  background-color: #fffac8;
  border: solid 0.2rem #ff8c00;
  color: #000;
  font-family: "UDDigiKyokashoProN-Medium";
}
#unit.result .result_mark_contents .result_list_box dl dd {
  flex-wrap: wrap;
  gap: 1rem 0;
}
#unit.result .result_data_list li .result_data_box ul > li:nth-of-type {
  border-left: 0;
}
#unit.result .result_data_list li .result_data_box ul > li:nth-of-type(2) {
  border-left: dotted 0.2rem;
}
#unit.result .result_data_list li.result_data_list_omote .result_data_box ul > li:nth-of-type(2) {
  border-left-color: #fa0050;
}
#unit.result .result_data_list li.result_data_list_ura .result_data_box ul > li:nth-of-type(2) {
  border-left-color: #0050b4;
}

#unit.result .result_mark_contents .result_list_box dl dd .result_commentary_list {
  display: grid;
  row-gap: 0.8rem;;
  grid-template-columns: 1fr;
  margin-left: 1.5rem;
}
#unit.result .result_mark_contents .result_list_box dl dd .result_commentary_list:has(audio) {
  grid-template-columns: 1fr 1fr;
}
#unit.result .result_mark_contents .result_list_box dl dd .result_commentary_list .q_icon {
  cursor: pointer;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  background-color: #009fe8;
  color: #fff;
  border-radius: 1.6rem;
  padding: 0.6rem 1rem;
  font-size: 1.6rem;
  grid-column: 1;
  height: 2.4rem;
  width: 10.25rem;
}
#unit.result .result_mark_contents .result_list_box dl dd .result_commentary_list .q_icon:hover {
  background-color: #80cff3;
}
#unit.result .result_mark_contents .result_list_box dl dd .result_commentary_list audio {
  grid-column: 1 / 3;
}
#unit.result .result_mark_contents .result_list_box dl dd .result_commentary_list .q_icon span {
  line-height: 1.7;
}
#unit.result .result_mark_contents .result_list_box dl dd .result_commentary_list .q_icon span::after {
  content: "";
  width: 2.2rem;
  height: 1.7rem;
  display: inline-block;
  margin-right: 1rem;
}
#unit.result .result_mark_contents .result_list_box dl dd .result_commentary_list .q_icon .img_commentary_icon::after {
  background: url(/v2/images/unit/result/img_commentary_icon.svg) no-repeat top left/100% auto;
}
#unit.result .result_mark_contents .result_list_box dl dd .result_commentary_list .q_icon .movie_commentary_icon::after {
  background: url(/v2/images/unit/result/movie_commentary_icon.svg) no-repeat top left/100% auto;
}
#unit.result .result_mark_contents .result_list_box dl dd .result_commentary_list .q_icon.sound_q_item {
  padding: 0.6rem 1.5rem 0.4rem;
  cursor: default;
}
#unit.result .result_mark_contents .result_list_box dl dd .result_commentary_list .q_icon .sound_q_icon {
  vertical-align: -0.1rem;
}
#unit.result .result_mark_contents .result_list_box dl dd .result_commentary_list .q_icon .sound_q_icon::after {
  height: 2rem;
  background: url(/v2/images/unit/result/sound_q_icon.svg) no-repeat top left/100% auto;
}
#unit.result .result_mark_contents .result_list_box dl dd .result_commentary_list .q_icon.sound_q_item:hover {
  background-color: #009fe8;
}
#unit.result .result_mark_contents .result_list_box dl dt h3 {
  font-size: 1.8rem;
  font-family: "UDDigiKyokashoProN-Medium";
  margin-bottom: 0.4rem;
}

#unit .contents_q_answer_box .q_select_box {
  position: relative;
}

#unit .contents_q_answer_box .q_select_box.q_select_box_4_2 .input_box .input_area.review.left_box {
  justify-content: left;
}
#unit .contents_q_answer_box .q_select_box.q_select_box_4_2 .input_box .input_area.review {
  position: relative;
}
#unit .contents_q_answer_box .q_select_box.q_select_box_4_2 .input_box .input_area.review .basic_image {
  display: block;
  max-width: none;
  height: 100%;
}
#unit .contents_q_answer_box .q_select_box.q_select_box_4_2 .input_box .input_area.review .drawn_image {
  position: absolute;
}

#unit .contents_q_answer_box .q_select_box.q_select_box_4_1 .image_block,
#unit .bl_contents_q.answer .image_block {
  position: relative;
  display: inline-block;
  margin: 0.5rem;
}
#unit .contents_q_answer_box .q_select_box.q_select_box_4_1 .image_block .basic_image,
#unit .bl_contents_q.answer .image_block .basic_image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
#unit .contents_q_answer_box .q_select_box.q_select_box_4_1 .image_block .drawn_image,
#unit .bl_contents_q.answer .image_block .drawn_image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* 分数解答 */
#unit:not(:has(.contents_q_tate)) .contents_q_answer_box .q_select_box:has(.incorrect),
#unit:not(:has(.contents_q_tate)) .contents_q_answer_box .q_select_box.incorrect {
  margin: 2rem auto 5rem;
}
#unit:not(:has(.contents_q_tate)) .contents_q_answer_box .q_answer2_box:has(.input_box_tenkey.incorrect),
#unit:not(:has(.contents_q_tate)) .contents_q_answer_box .q_answer2_box.input_box_tenkey.incorrect,
#unit:not(:has(.contents_q_tate)) .contents_q_answer_box .q_answer2_box.incorrect .input_box_tenkey {
  margin: 2rem auto 9rem;
}
/* 地の文とのズレを調整 */
#unit:not(:has(.contents_q_tate)) .contents_q_answer_box .q_answer2_box:has(.input_box_tenkey.incorrect) .input_box,
#unit:not(:has(.contents_q_tate)) .contents_q_answer_box .q_answer2_box:has(.input_box_keyboard.incorrect) .input_box,
#unit:not(:has(.contents_q_tate)) .contents_q_answer_box .q_select_box:has(.input_box_dd.incorrect) .input_box,
#unit:not(:has(.contents_q_tate)) .contents_q_answer_box .q_select_box.incorrect .input_box {
  margin-bottom: 2.5rem;
}
#unit:not(:has(.contents_q_tate)) .contents_q_answer_box .q_answer2_box.incorrect:has(.input_box_tenkey) .input_box {
  margin-bottom: 1.5rem;
}
#unit .contents_q_answer_box .q_select_box [class*="rule-fraction__fraction"] .input_box.incorrect,
#unit .contents_q_answer_box .q_select_box.incorrect [class*="rule-fraction__fraction"] .input_box {
  margin-bottom: 1.5rem;
}
#unit .contents_q_answer_box .q_select_box [class*="rule-fraction__fraction"] .input_box.incorrect .correct_txt,
#unit .contents_q_answer_box .q_select_box.incorrect [class*="rule-fraction__fraction"] .input_box .correct_txt {
  margin-left: -6rem;
  top: 2rem;
}
#unit .contents_q_answer_box .q_select_box .correct_txt .rule-fraction__fraction-n {
  border-bottom: 3px solid #FA0050 !important;
}

/* 画像解答 */
#unit .contents_q_2col.answer .answer_img_box {
  display: flex;
  justify-content: center;
}
#unit .contents_q_answer_box .q_select_box .english_area {
  overflow-y: hidden;
  width: auto;
  padding: 0;
}
#unit .contents_q_answer_box .q_select_box .input_box .english_area img {
  max-width: none;
  height: 100%;
}
#unit .contents_q_answer_box .q_select_box .input_box .english_area {
  width: auto;
}

/* 英語以外 */
#unit:not(:has(.contents_q_tate)) .contents_q_answer_box .q_select_box .input_box.write_input:not(.english_box) img {
  max-height: 500px;
  width: 100%;
  height: auto;
  object-fit: contain;
}
/* 英語 */
#unit:not(:has(.contents_q_tate)) .contents_q_answer_box .q_select_box .input_box.english_box img {
  /* max-width: 830px;
  max-height: 500px; */
}
#unit .contents_q_tate  .contents_q_answer_box .q_select_box.q_select_box_write_tate .input_box.write_input,
#unit .contents_q_tate .contents_q_answer_box .q_select_box.q_select_box_write_tate {
  width: max-content !important;
}
#unit .contents_q_answer_box .q_select_box .input_box.write_input.correct .input_area::after {
  background: url(/v2/images/unit/common/unit_icon_correct.svg) no-repeat center center/contain;
}
#unit .contents_q_answer_box .q_select_box .write_box_draw {
  position: relative;
}
#unit:not(:has(.contents_q_tate)) .contents_q_answer_box .q_select_box .write_box_draw .choice_btn {
  position: absolute;
  left: 50%;
  transform: translate(-50%, -20%);
  bottom: 100%;
  margin-bottom: 1rem;
  z-index: 100;
  white-space: nowrap;
}
#unit .contents_q_tate .contents_q_answer_box .q_select_box .write_box_draw .choice_btn {
  white-space: unset;
  writing-mode: horizontal-tb;
}
#unit .contents_q_tate .contents_q_answer_box .q_select_box .write_box_draw .choice_btn {
  transform: translate(-50%, -150%);
  bottom: 100%;
}
#unit:not(:has(.contents_q_tate)) .contents_q_inner .choice_btn4_1.js_active {
  position: absolute;
  top: -5rem;
}
#unit .contents_q_answer_box .q_select_box .english_box.input_box .correct_img {
  position: absolute;
  margin-top: 2rem;
  box-sizing: border-box;
  line-height: 1;
  font-size: 3.5rem;
  margin: 3rem 0 0 0;
  object-fit: scale-down;
  max-width: 100%;
  height: auto;
}

/* 手書き */
#unit .contents_q_answer_box .q_select_box .input_box:not(.input_box_dd) .input_area {
  display: flex;
  align-items: center;
  justify-content: center;
}
#unit .contents_q_inner .choice_btn {
  position: absolute;
  margin-bottom: 1rem;
  top: auto;
  right: auto;
}

/* サイズ別 横プルダウン */
#unit:not(:has(.contents_q_tate)) .contents_q_answer_box .input_box.correct .select_area,
#unit:not(:has(.contents_q_tate)) .contents_q_answer_box .input_box.sankaku .select_area,
#unit:not(:has(.contents_q_tate)) .contents_q_answer_box .input_box.incorrect .select_area {
  margin-bottom: 2rem;
}
#unit:not(:has(.contents_q_tate)) .contents_q_answer_box .q_select_box .input_box.incorrect .select_area .correct_txt,
#unit:not(:has(.contents_q_tate)) .contents_q_answer_box .q_select_box .input_box.sankaku .select_area .correct_txt {
  top: 7rem;
}
#unit:not(:has(.contents_q_tate)) .contents_q_answer_box .input_box .select_area.input_area_m,
#unit:not(:has(.contents_q_tate)) .contents_q_answer_box .input_box .select_area.input_area_m select {
  min-width: 30rem;
}
#unit:not(:has(.contents_q_tate)) .contents_q_answer_box .input_box .select_area.input_area_l,
#unit:not(:has(.contents_q_tate)) .contents_q_answer_box .input_box .select_area.input_area_l select {
  min-width: 65rem;
}
#unit:not(:has(.contents_q_tate)) .contents_q_answer_box .input_box:has(.select_area.input_area_ll),
#unit:not(:has(.contents_q_tate)) .contents_q_answer_box .input_box .select_area.input_area_ll select {
  width: 100%;
  height: 8rem;
}
#unit:not(:has(.contents_q_tate)) .contents_q_answer_box .input_box:has(.select_area.input_area_lll),
#unit:not(:has(.contents_q_tate)) .contents_q_answer_box .input_box .select_area.input_area_lll select {
  width: 100%;
  height: 15rem;
}

/* サイズ別 たてプルダウン */
#unit .contents_q_tate .contents_q_answer_box .input_box_tate.input_box_tate_select select {
  height: 7rem !important;
}
#unit .contents_q_tate .contents_q_answer_box .input_box_tate.input_box_tate_select .input_area_m,
#unit .contents_q_tate .contents_q_answer_box .input_box_tate.input_box_tate_select .input_area_m select {
  min-height: 20rem;
}
#unit .contents_q_tate .contents_q_answer_box .input_box_tate.input_box_tate_select .input_area_l,
#unit .contents_q_tate .contents_q_answer_box .input_box_tate.input_box_tate_select .input_area_l select {
  min-height: 50rem;
}
#unit .contents_q_tate .contents_q_answer_box .input_box_tate.input_box_tate_select:has(.input_area_ll),
#unit .contents_q_tate .contents_q_answer_box .input_box_tate.input_box_tate_select .input_area_ll select {
  height: 70rem;
}
#unit .contents_q_tate .contents_q_answer_box .input_box_tate.input_box_tate_select:has(.input_area_lll),
#unit .contents_q_tate .contents_q_answer_box .input_box_tate.input_box_tate_select .input_area_lll select {
  height: 100%;
}
#unit .contents_q_tate .contents_q_answer_box .q_select_box.q_select_box_tate p.txt_box_flex .input_box_tate_select {
  margin: 0 auto 1rem;
}
#unit .contents_q_tate .contents_q_answer_box .q_answer2_box.q_select_box_tate p:has(.input_box_tate_select) > span:not(.input_box[class*="input_box_tate_"]) {
  left: 1rem;
  position: relative;
}
#unit .contents_q_tate .contents_q_answer_box .q_select_box.q_select_box_tate p span:has(.rule-new-line) {
  height: 100%;
}
#unit .contents_q_tate .contents_q_answer_box .q_select_box.q_select_box_tate p:has(div.rule-new-line) {
  flex-wrap: wrap;
}
#unit .contents_q_tate .contents_q_answer_box .input_box_tate.input_box_tate_select select {
  text-orientation: upright;
}

/* たてプルダウンで正解を横に表示 */
#unit .contents_q_tate .contents_q_answer_box .q_select_box.q_select_box_tate .input_box_tate.input_box_tate_select.incorrect .input_area,
#unit .contents_q_tate .contents_q_answer_box .q_select_box.q_select_box_tate.incorrect .input_box_tate.input_box_tate_select .input_area,
#unit .contents_q_tate .contents_q_answer_box .q_select_box.q_select_box_tate .input_box_tate.input_box_tate_select.sankaku .input_area,
#unit .contents_q_tate .contents_q_answer_box .q_select_box.q_select_box_tate.sankaku .input_box_tate.input_box_tate_select .input_area {
  display: block;
}
#unit .contents_q_tate .contents_q_answer_box .q_select_box.q_select_box_tate.incorrect p.txt_box_flex {
  margin-right: 4rem;
}

/* D&D */
#unit .contents_q_answer_box .q_select_box.q_select_box_disabled {
  pointer-events: none;
}
#unit .contents_q_answer_box .q_select_box .input_box.input_box_dd.drop-area .input_area:has(li) input {
  border: solid 0.3rem #009fe8;
  cursor: pointer;
}
#unit .contents_q_answer_box .q_select_box .input_box.input_box_dd.drop-area:not(:has(li)) {
  border: unset;
}
#unit .contents_q_answer_box .q_select_box .input_box.input_box_dd.drop-area .input_area > .drag-target {
  display: none;
}
#unit .contents_q_answer_box .q_select_box .input_box.input_box_dd.drop-area .input_area:has(.drag-target) {
  cursor: grab;
}
#unit .contents_q_answer_box .q_select_box .input_box.input_box_dd.drop-area .input_area:has(.drag-target):active {
  cursor: grabbing;
}
#unit:not(:has(.contents_q_tate)) .contents_q_answer_box .q_select_box .answer_list {
  margin: 0 auto;
  align-items: center;
  display: flex;
  flex-wrap: wrap;
}
#unit:not(:has(.contents_q_tate)) .contents_q_answer_box .q_select_box .answer_list li {
  min-width: 15rem;
  padding: 1rem;
  height: 5rem;
}
#unit:not(:has(.contents_q_tate)) .contents_q_answer_box .q_select_box .answer_list li span {
  letter-spacing: -0.05em;
}
#unit .contents_q_answer_box .q_select_box .input_box.input_box_dd .input_area input {
  width: 100%;
  outline: none;
}
#unit .contents_q_answer_box .q_select_box .input_box.input_box_dd.input_box_l,
#unit .contents_q_answer_box .q_select_box .input_box.input_box_dd.input_box_l .input_area input {
  height: 11rem;
}
#unit .contents_q_tate .contents_q_answer_box .q_select_box.q_select_box_tate .input_box.input_box_dd.input_box_l {
  height: 100%;
  width: 14rem;
}
#unit .contents_q_tate .contents_q_answer_box .q_select_box.q_select_box_tate .input_box.input_box_dd.input_box_l input {
  height: 100%;
}
#unit .contents_q_answer_box .q_select_box .answer_list_box .answer_list li {
  width: auto;
  user-select: none;
  z-index: 1;
}

#unit .contents_q_answer_box .q_select_box .input_box.input_box_dd .correct_txt {
  white-space: nowrap;
}
#unit .contents_q_tate .contents_q_answer_box .q_select_box.q_select_box_tate .answer_list li {
  min-height: 16rem;
  height: auto;
  padding: 1rem;
}
#unit .contents_q_tate .contents_q_answer_box .q_select_box [class*="input_box_"].input_box_dd {
  margin: 1rem;
}
#unit .contents_q_tate .contents_q_answer_box .q_select_box.q_select_box_tate .input_box_box_wrap p:has(.input_box_l) {
  height: 100%;
}
#unit .contents_q_tate .contents_q_answer_box .q_select_box.q_select_box_tate .input_box_box_wrap > span:not(.input_box) {
  position: relative;
  left: 0.5rem;
}
#unit .contents_q_tate .contents_q_answer_box .q_select_box.q_select_box_tate .input_box_box_wrap p:has(.correct_txt:not(:empty)) {
  margin-right: 2rem;
}
#unit .contents_q_tate .contents_q_answer_box .q_select_box.q_select_box_tate .input_box_box_wrap p {
  margin-left: 0;
}
#unit .contents_q_tate .contents_q_answer_box .q_select_box.q_select_box_tate .input_box_box_wrap p:has(.rule-new-line) {
  height: 100%;
}
#unit .contents_q_answer_box .q_select_box .input_box select:has(.js_selected) {
  background: #fff url(/v2/images/unit/common/select_arrow_icon_selected.svg) no-repeat calc(100% - 1.6rem) center/1.5rem 1.2rem;
}

/* プルダウンの▼分あける */
#unit .contents_q_answer_box .q_select_box .input_box select {
  padding-right: 3rem;;
}

/* たて画像解答 */
#unit .contents_q_tate .bl_contents_q.answer {
  padding: 5.4rem 2rem 6.5rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 4rem;
  background-color: #e6e6e6;
  overflow: hidden;
  overflow-y: scroll;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}
#unit .contents_q_tate .bl_contents_q.answer .contents_q_2col_inner.contents_q_left,
#unit .contents_q_tate .bl_contents_q.answer .contents_q_2col_inner.contents_q_right {
  width: 50%;
  max-width: 59rem;
  min-width: auto;
  overflow: unset;
  -ms-flex-negative: unset;
      flex-shrink: unset;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: auto;
  padding-bottom: 0;
  border-right: none;
}
#unit .contents_q_tate .bl_contents_q.answer .contents_q_2col_inner.contents_q_left {
  margin-bottom: 2rem;
}
#unit .contents_q_tate .bl_contents_q.answer .contents_q_left .contents_answer_inner {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 0;
  overflow: visible;
  min-height: auto;
  height: auto;
}
#unit .contents_q_tate .bl_contents_q.answer .contents_q_right .contents_answer_inner {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 0 0 6.5rem;
  overflow: visible;
  min-height: auto;
  height: auto;
}
#unit .contents_q_tate .bl_contents_q.answer .ttl {
  width: 7.6rem;
  height: 7.6rem;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #fff;
  text-align: center;
  line-height: 1.5;
  font-size: 2rem;
  margin-bottom: 1.5rem;
  font-family: "AP-OTF-UDShinGoPr6N-Medium";
}
#unit .contents_q_tate .bl_contents_q.answer .ttl.blue_ttl {
  background-color: #003296;
}
#unit .contents_q_tate .bl_contents_q.answer .ttl.pink_ttl {
  background-color: #fa0050;
}
#unit .contents_q_tate .bl_contents_q.answer .ttl .sm_txt {
  font-size: 1.4rem;
}
#unit .contents_q_tate .bl_contents_q.answer .back_btn {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  -webkit-font-feature-settings: initial;
          font-feature-settings: initial;
  width: 5.5rem;
  height: 20rem;
  position: relative;
  right: auto;
  left: 0;
  top: 0;
  margin-right: 2rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-top: 0;
}
#unit .contents_q_tate .bl_contents_q.answer .back_btn .buck_icon {
  width: 2.5rem;
  height: 2.8rem;
  margin-right: 1rem;
  -webkit-filter: brightness(0) saturate(100%) invert(100%) sepia(1%) saturate(2%) hue-rotate(184deg) brightness(117%) contrast(100%);
          filter: brightness(0) saturate(100%) invert(100%) sepia(1%) saturate(2%) hue-rotate(184deg) brightness(117%) contrast(100%);
}
#unit .contents_q_tate .bl_contents_q.answer .contents_q_right .q_select_box {
  margin: 0 auto;
  height: auto;
  padding-left: 0;
  padding-top: 0;
  margin-top: 0;
}
#unit .contents_q_tate .bl_contents_q.answer .contents_q_right .q_select_box .input_box {
  margin: 0 auto;
  height: auto;
}
#unit .contents_q_tate .bl_contents_q.answer .contents_q_right .q_select_box .input_box .input_area {
  height: auto;
  text-align: center;
}
#unit .contents_q_tate .bl_contents_q.answer .answer_img_box {
  width: 100%;
  height: auto;
  background-color: #fff;
  border-radius: 1rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 3rem;
  overflow: hidden;
}
#unit .contents_q_tate .bl_contents_q.answer .answer_img_box_pink {
  border: solid 0.3rem #fa0050;
}
#unit .contents_q_tate .bl_contents_q.answer .answer_img_box_blue {
  border: solid 0.3rem #003296;
}

#unit .contents_q_tate .contents_q_answer_box .list_col3 label {
  align-items: center;
  display: flex;
}
#unit .contents_q_tate .contents_q_answer_box .list_col3 li img {
  height: auto;
  width: auto;
  object-fit: scale-down;
}

#unit .contents_q_tate .contents_q_answer_box .input_box_tate.input_box_tate_tenkey.incorrect .correct_txt {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}

/* 単元TOP */
#unit.select #unit_question_contents .unit_question_contents_inner .unit_question_table table tr .ttl {
  padding-left: 0.5rem;
}

/* 指書き */
#unit .contents_q_answer_box .write_box {
  padding: 0;
}
#unit .contents_q_answer_box .q_select_box .input_box.write_box_draw {
  margin: 1rem 1rem 1.5rem !important;
}
/* 指書き時はテンキー非表示 */
#unit .contents_q_answer_box:has(.write_box.js_focus) .q_select_box .input_box .math_area {
  pointer-events: none;
}

#unit .contents_q_2col_inner.contents_q_right.js_write .write_input {
  pointer-events: auto;
}
#unit .contents_q_tate .contents_q_3col_inner.contents_q_right.js_write::after {
  position: absolute;
  bottom: 0;
  right: 0;
  height: 100%;
  width: 100%;
}
#unit .contents_q_tate .contents_q_3col_inner.js_write::after {
  content: "";
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.7);
  position: absolute;
  pointer-events: none;
  height: calc(100% - 6.2rem);
  background-color: rgba(255, 255, 255, 0.7);
  position: fixed;
  bottom: 0;
  right: 0;
}
#unit .contents_q_tate .contents_q_answer_box .q_select_box .input_box.math_box .answer_input {
  height: 100%;
}
#unit .contents_q_tate .contents_q_answer_box .q_select_box .input_box.write_box_draw {
  min-width: 7rem;
}
#unit .contents_q_tate .contents_q_answer_box .q_select_box .input_box.input_box_s {
  height: 18rem !important;
  width: 7rem;
}
#unit .contents_q_tate .contents_q_answer_box .q_select_box .input_box.input_box_s.incorrect {
  width: auto;
}
#unit .contents_q_tate .contents_q_answer_box .q_select_box .input_box.input_box_m {
  height: 55rem !important;
  width: 7rem;
}
#unit .contents_q_tate .contents_q_answer_box .q_select_box .input_box.incorrect,
#unit .contents_q_tate .contents_q_answer_box .q_select_box .input_box.sankaku {
  margin: 1rem 4rem;
}
#unit .contents_q_tate .contents_q_answer_box .q_select_box .input_box.input_box_l,
#unit .contents_q_tate .contents_q_answer_box .q_select_box .input_box.input_box_l input {
  min-width: 11rem;
}
#unit .contents_q_tate .contents_q_answer_box .q_select_box .input_box.input_box_ll,
#unit .contents_q_tate .contents_q_answer_box .q_select_box .input_box.input_box_ll input {
  min-width: 14rem;
}
#unit .contents_q_tate .contents_q_answer_box .q_select_box .input_box.input_box_lll,
#unit .contents_q_tate .contents_q_answer_box .q_select_box .input_box.input_box_lll input {
  min-width: calc(100dvh - 28.6rem);
  height: 100%;
}
#unit .choice_btn {
  font-family: "AP-OTF-UDShinGoPr6N-Medium";
}

/* テンキー */
#unit .tenkey_float_block {
  z-index: 1000;
}
#unit #bl_pager,
#unit .contents_q_answer_box .q_select_box .input_box,
#unit .contents_q_answer_box .q_select_box .input_box.write_input,
#unit .contents_q_answer_box .q_select_box .scroll_area {
  z-index: 1;
}
#unit .contents_q_answer_box .q_select_box .input_box.write_input.js_focus {
  z-index: 200;
}
#unit .contents_q_answer_box .q_select_box:has(.correct_txt) .input_box {
  z-index: unset;
}

/* テンキー解答枠「小（a）」のサイズ拡張 */
#unit .contents_q_answer_box .q_select_box .input_box.math_box.input_box_s {
  width: 22rem;
}

#unit .contents_q_answer_box .q_select_box .input_box.math_box .correct_txt {
  margin-left: 2rem;
  z-index: 1;
}
#unit .contents_q_answer_box .q_select_box.incorrect:has(.input_box.math_box).incorrect_big::after {
  top: 25%;
  right: 0;
  height: 50%;
}
#unit .contents_q_answer_box .q_select_box.correct:has(.input_box.math_box).correct_big::after {
  top: 25%;
  right: 0;
  height: 50%;
}
/* TODO:
#unit .contents_q_answer_box .q_select_box.correct:has(.input_box.math_box).partially_correct_big::after {
  top: 25%;
  right: 0;
  height: 50%;
}
*/

/* iPad表示崩れ対策 */
@media screen and (max-device-width: 1024px) and (-webkit-min-device-pixel-ratio: 0) and (min-color-index:0),
      screen and (max-width: 1024px) and (-webkit-min-device-pixel-ratio: 0) and (min-color-index:0) {
  /* 国語 */
  #unit .contents_q_tate .contents_q_answer_box .q_select_box.q_select_box_tate p p {
    margin-left: 1rem;
    margin-right: 1rem;
  }
  #unit .contents_q_tate .contents_q_answer_box .q_select_box.q_select_box_tate p:last-of-type {
    margin-left: 1rem;
  }
  #unit .contents_q_tate .contents_q_answer_box .q_select_box.q_select_box_tate {
    min-width: fit-content;
    width: auto;
    flex-shrink: 0;
  }
  #unit .contents_q_tate header .hd_question_list {
    min-height: 0;
    overflow: hidden;
  }
  #unit .contents_q_tate header .hd_question_list ul {
    overflow-y: auto;
  }
  #unit #bl_control .item_control:not(.is-closed),
  #unit #bl_control_02 .item_control:not(.is-closed) {
    animation: fadeInAndShow 0.3s ease-in-out forwards;
    opacity: 1;
    display: block;
    pointer-events: auto;
  }
  @keyframes fadeInAndShow {
    0% {
      opacity: 0;
      display: block;
    }
    100% {
      opacity: 1;
      display: block;
    }
  }
  #unit .contents_q_answer_box .q_select_box .scroll_area .scrollbar {
    z-index: 0 !important;
  }
  #unit .contents_q_answer_box .q_select_box .scroll_area .scrollbar .scrollbar_icon {
    will-change: transform !important;
    backface-visibility: hidden !important;
    -webkit-backface-visibility: hidden !important;
    z-index: 1 !important;
  }
  #unit .contents_q_tate .contents_q_answer_box .q_select_box .input_box.write_box_draw {
    position: relative;
  }
  #unit .contents_q_tate .contents_q_answer_box .q_select_box .write_box_draw .choice_btn {
    position: absolute !important;
    top: auto !important;
    transform: translate(-50%, -50%);
    width: max-content;
  }
  #unit .contents_q_inner .q_answer2_box .choice_btn button {
    padding: 0.5rem 2rem;
  }
  #unit .contents_q_tate .contents_q_inner .choice_btn4_1.js_active {
    position: absolute;
  }
  #unit .contents_q_tate .contents_q_answer_box .q_select_box .input_box_keyboard[class*="input_box_"] {
    margin: 1rem 2rem;
  }
  #unit .contents_q_tate .contents_q_answer_box .q_answer2_box.q_select_box_tate p:has(.input_box_tenkey) > span {
    vertical-align: middle;
    display: inline;
  }
  #unit .contents_q_tate .contents_q_answer_box .q_answer2_box.q_select_box_tate p:has(.input_box_tenkey) .input_box_tate_tenkey {
    vertical-align: middle;
  }
  #unit .contents_q_answer_box .q_select_box .input_box.math_box .answer_input[contenteditable="true"] {
    padding-bottom: 0.4rem;
  }
  .rule-underline,
  .rule-underline-red,
  .rule-double,
  .rule-double-red,
  .rule-wavy-red {
    text-underline-position: right;
  }
  #unit .contents_q_tate .contents_q_answer_box .q_select_box p.txt_box_flex .txt {
    height: 100%;
  }
  #unit header .hd_question_list > ul > li ul li:not(.js_active):active,
  #unit header .hd_question_list > ul > li ul li:not(.js_active):hover {
    border-color: transparent;
    background-color: #e6e6e6;
  }
  #unit .contents_q_tate .contents_q_answer_box .q_select_box .input_box.incorrect,
  #unit .contents_q_tate .contents_q_answer_box .q_select_box .input_box.sankaku {
    margin: 1rem 4rem;
  }
  #unit .contents_q_tate .contents_q_answer_box .q_select_box .input_box.input_box_tenkey .correct_txt,
  #unit .contents_q_tate .contents_q_answer_box .q_select_box .input_box.input_box_keyboard .correct_txt,
  #unit .contents_q_tate .contents_q_answer_box .q_select_box .input_box.input_box_dd .correct_txt {
    line-height: 1.8 !important;
  }
  #unit .contents_q_tate .contents_q_answer_box .q_answer2_box.q_select_box_tate p:has(.input_box_tate_select) > span:not(.input_box[class*="input_box_tate_"]) {
    left: -1rem;
    position: relative;
  }
  #unit .contents_q_tate .contents_q_answer_box .list_col3 li img {
    height: 22rem;
    width: 22rem;
  }
}

#unit .contents_q_tate .contents_q_answer_box .input_box_tate .input_area input,
#unit .contents_q_tate .contents_q_answer_box .input_box_tate .input_area textarea {
  margin-bottom: 1rem;
  text-orientation: upright;
}

#unit .contents_q_tate .contents_q_answer_box .input_box_tate .input_area div {
  min-width: 7rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: 100%;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  -webkit-font-feature-settings: initial;
          font-feature-settings: initial;
  font-size: 3.2rem;
  font-family: "UDDigiKyokashoProN-Medium" !important;
  display: inline-block;
  vertical-align: middle;
}
#unit .contents_q_tate .contents_q_answer_box .q_select_box .input_box .math_area.answer_input_tate {
  writing-mode: vertical-rl;
  align-items: start;
}
#unit .contents_q_tate .contents_q_answer_box .input_box_tate .input_area div {
  resize: none;
  field-sizing: content;
  overflow: hidden;
  line-height: 1.4;
  letter-spacing: 0.08em;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  white-space: pre-wrap;
  overflow-wrap: break-word;
  line-break: strict; /* after-white-space による余計な空白を回避 */
  letter-spacing: normal; /* デフォルトの文字間 */
}
div {
  -ms-touch-action: manipulation;
      touch-action: manipulation;
}
#unit .contents_q_tate .contents_q_answer_box .q_select_box .input_box.input_box_l div.answer_input {
  min-width: 11rem;
  height: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  line-height: 1.2;
  resize: none;
  field-sizing: content;
}
#unit .contents_q_tate .contents_q_answer_box .q_select_box .input_box.input_box_ll div.answer_input {
  min-width: 14rem;
  height: 100%;
  /* font-size: 2.4rem; */
  line-height: 1.6;
  resize: none;
  field-sizing: content;
}
#unit .contents_q_tate .contents_q_answer_box .q_select_box .input_box.input_box_lll div.answer_input {
  min-width: calc(100dvh - 28.6rem);
  /* font-size: 2.4rem; */
  height: 100%;
  line-height: 1.6;
  resize: none;
  field-sizing: content;
}
#unit .contents_q_tate .contents_q_answer_box .input_box_tate .input_area div.answer_input,
#unit .contents_q_tate .contents_q_answer_box .input_box_tate .input_area div.answer_input div {
  height: 100%;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  -webkit-font-feature-settings: initial;
          font-feature-settings: initial;
  font-size: 3.2rem;
  font-family: "UDDigiKyokashoProN-Medium" !important;
  text-align: center;
  vertical-align: middle;
  text-orientation: upright;
  text-align: start;
}

#unit .contents_q_answer_box .sub_number_text {
  position: absolute;
  top: -3rem;
  left: 0;
  transform: translateX(-100%);
  z-index: 1;
  font-size: 2.4rem;
  color: #ed005b;
}

#unit .contents_q_answer_box .input_box_dd .sub_number_text  {
  top: -2rem;
  left: 1rem;
}

/* 分数 */
#unit .contents_q_answer_box .q_select_box .input_box.math_box p span {
  margin: 0 0.15rem;
}
#unit .contents_q_answer_box .q_select_box .input_box.incorrect .correct_txt .rule-fraction__fraction-n {
  border-bottom: 3px solid #fa0050 !important;
}
#unit .contents_q_answer_box .q_select_box .rule-fraction:has(.rule-fraction__fraction-d .input_box):not(:has(.rule-fraction__fraction-n .input_box)) .rule-fraction__fraction-n span,
#unit .contents_q_answer_box .q_select_box .rule-fraction:has(.rule-fraction__fraction-n .input_box):not(:has(.rule-fraction__fraction-d .input_box)) .rule-fraction__fraction-d span {
  min-height: 7rem;
  margin: 1rem 1rem 1.5rem;
  display: flex;
  justify-content: center;
}
#unit .contents_q_answer_box .q_select_box .rule-fraction:has(.rule-fraction__fraction-d .input_box):not(:has(.rule-fraction__fraction-n .input_box)) .rule-fraction__fraction-n span {
  align-items: end;
}

/* デコレーション 崩れ対策 */
#unit .contents_q_tate .contents_q_answer_box .q_select_box.q_select_box_tate .rule-wavy {
  text-decoration-line: underline;
  text-decoration-style: wavy;
  text-decoration-color: #00b4ff;
  background-image: unset;
}
#unit .rule-answer-box {
  display: inline !important;
  width: auto !important;
  height: auto !important;
  border: none !important;
  border-radius: 0;
  background: none;
  vertical-align: baseline;
}
#unit .rule-answer-box::before {
  content: '□' !important;
}

/* 答え合わせ △モード追加 */
#unit .contents_q_answer_box .q_select_box .input_box.input_box_l.sankaku {
  margin-bottom: 0;
}
#unit .contents_q_answer_box .q_select_box .input_box.input_box_l.sankaku .correct_txt {
  position: relative;
  display: block;
  line-height: 1.4;
  margin-bottom: 1rem;
  text-indent: 0;
  padding-left: 0;
}
#unit .contents_q_answer_box .q_select_box .input_box.input_box_ll.sankaku {
  margin-bottom: 0;
}
#unit .contents_q_answer_box .q_select_box .input_box.input_box_ll.sankaku .correct_txt {
  position: relative;
  display: block;
  line-height: 1.6;
  margin-bottom: 1rem;
  font-size: 2.4rem;
}
#unit .contents_q_answer_box .q_select_box .input_box.input_box_lll.sankaku {
  margin-bottom: 0;
}
#unit .contents_q_answer_box .q_select_box .input_box.input_box_lll.sankaku .correct_txt {
  position: relative;
  display: block;
  line-height: 1.6;
  margin-bottom: 1rem;
  font-size: 2.4rem;
}
#unit .contents_q_answer_box .q_select_box .input_box.sankaku .input_area::after {
  content: "";
  width: 100%;
  height: 60%;
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  background: url(/v2/images/unit/common/unit_icon_sankaku.svg) no-repeat center center / auto 100%;
  pointer-events: none;
  opacity: 0.5;
}
#unit .contents_q_answer_box .q_select_box .input_box.sankaku .select_area::after {
  left: -4.8rem;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  width: 4rem;
  height: 4rem;
  opacity: 1;
}
#unit .contents_q_answer_box .q_select_box .select_radio .input_box.sankaku .select_area::after {
  transform: translate(-50%, -50%);
}
#unit .contents_q_answer_box .q_select_box .input_box.sankaku {
  margin-bottom: 2.4em;
}
#unit .contents_q_answer_box .q_select_box .type_radio .input_box.sankaku .input_area::after {
  opacity: 1;
  width: 3.2rem;
  height: 3.2rem;
  left: -2.5rem;
}
#unit .contents_q_answer_box .q_select_box .senmusubi_list li.sankaku::after {
  content: "";
  width: 3.2rem;
  height: 3.2rem;
  position: absolute;
  right: calc(50% + 0.5rem);
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  bottom: -3.8rem;
  -webkit-filter: brightness(0) saturate(100%) invert(13%) sepia(77%) saturate(6315%) hue-rotate(334deg) brightness(95%) contrast(106%);
          filter: brightness(0) saturate(100%) invert(13%) sepia(77%) saturate(6315%) hue-rotate(334deg) brightness(95%) contrast(106%);
  background: url(/v2/images/unit/result/result_sankaku_icon.svg) no-repeat top left/100% auto;
}
#unit .contents_q_answer_box .q_select_box .type_radio .input_box.sankaku .input_area::after {
  opacity: 1;
  -webkit-transform: scale(0.9) translate(-50%, -50%);
          transform: scale(0.9) translate(-50%, -50%);
  -webkit-transform-origin: top left;
          transform-origin: top left;
  width: 100%;
  height: 100%;
  -webkit-filter: none;
          filter: none;
}
#unit .contents_q_answer_box .q_select_box .select_radio.type_radio02 .input_box.sankaku .input_area {
  outline: none;
  border-radius: 1rem;
}
#unit .contents_q_answer_box .q_select_box .english_box.sankaku::after {
  content: "";
  width: 100%;
  height: 60%;
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  opacity: 0.5;
  -webkit-filter: brightness(0) saturate(100%) invert(13%) sepia(77%) saturate(6315%) hue-rotate(334deg) brightness(95%) contrast(106%);
          filter: brightness(0) saturate(100%) invert(13%) sepia(77%) saturate(6315%) hue-rotate(334deg) brightness(95%) contrast(106%);
  background: url(/v2/images/unit/result/result_sankaku_icon.svg) no-repeat center center/auto 100%;
  pointer-events: none;
}
#unit .contents_q_answer_box .q_select_box .english_box.sankaku .input_area::after {
  display: none;
}
#unit .contents_q_answer_box .q_select_box .english_box.input_box.sankaku .correct_txt {
  margin-top: 2rem;
  border-radius: 0.5rem;
  width: 100%;
  background: #fff url(/v2/images/unit/common/unit_english_line.svg) repeat-x center left/auto calc(100% - 2rem);
  height: 5.5rem;
  padding: 0 1rem 0.9rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  line-height: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
#unit .contents_q_tate .contents_q_answer_box .q_select_box.q_select_box_tate .select_radio li .input_box.sankaku .input_area {
  top: 0;
}
#unit .contents_q_tate .contents_q_answer_box .q_select_box.q_select_box_tate .select_radio li .input_box.sankaku .input_area::after {
  left: 50%;
  top: -4.2rem;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
}
#unit .contents_q_tate .contents_q_answer_box .q_select_box.q_select_box_tate .select_radio.type_radio02 .input_box.sankaku .input_area::after {
  left: 50%;
  top: -4.2rem;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
}
#unit .contents_q_tate .contents_q_answer_box .q_select_box .senmusubi_list li.sankaku::after {
  left: calc(50% + 3.5rem);
  right: auto;
}
#unit .contents_q_tate .contents_q_answer_box .write_box.sankaku .correct_txt {
  left: calc(-1em - 2rem);
  top: 0;
  line-height: 1;
  margin-left: auto;
}
#unit .contents_q_tate .contents_q_answer_box .input_box_tate.input_box.sankaku {
  margin-bottom: 0;
}
#unit .contents_q_tate .contents_q_answer_box .input_box_tate.input_box.sankaku .correct_txt {
  position: relative;
  line-height: 1.4;
  margin-left: auto;
  margin-right: 1rem;
  font-size: 3.2rem;
}
#unit .contents_q_tate .contents_q_answer_box .input_box_tate.input_box.sankaku .input_area::after {
  width: 60%;
  height: 100%;
  background: url(/v2/images/unit/common/unit_icon_sankaku.svg) no-repeat center center/100% auto;
}
#unit .contents_q_tate .contents_q_answer_box .input_box_tate.input_box.sankaku .input_area.select_area::after {
  left: calc(50% - 0.6rem);
  top: 50%;
  opacity: 0.5;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 4rem;
  height: 4rem;
}
#unit .contents_q_tate .contents_q_answer_box .input_box_tate.input_box_tate_tenkey.sankaku {
  margin-bottom: 1rem;
}
#unit .contents_q_tate .contents_q_answer_box .input_box_tate.input_box_tate_tenkey.sankaku .correct_txt {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  font-size: 3.6rem;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
}
#unit .contents_q_tate .contents_q_answer_box .input_box_tate.input_box_tate_select.sankaku {
  margin-bottom: 1rem;
}
#unit .contents_q_tate .contents_q_answer_box .input_box_tate.input_box_tate_select.sankaku .correct_txt {
  position: absolute;
  height: 100%;
  font-size: 3.6rem;
}
#unit .contents_q_tate .contents_q_answer_box .input_box_tate.input_box_tate_dd.sankaku {
  margin-left: 2.4em;
}
#unit .contents_q_tate .contents_q_answer_box .input_box_tate.input_box_tate_dd.sankaku .correct_txt {
  position: absolute;
  height: 100%;
}
#unit .contents_q_answer_box .q_select_box .input_box.sankaku.sankaku_big .input_area::after {
  opacity: 0.5;
  z-index: 10;
  background-image: url(/v2/images/unit/common/unit_icon_sankaku.svg) !important;
  background-size: 100% 100%;
}
/* 紙テストメッセージ（赤枠） */
#unit .unit_main_contents_comment_list_box ul li.paper_test_message {
  color: #e60012;
  border: 2px solid #e60012;
  border-radius: 0.5rem;
  padding: 0.3rem 0.8rem;
  margin-top: 0.5rem;
  display: inline-block;
}

/* 先生ロック時のポップアップモーダル */
.student_waiting_modal .modal_box {
  max-width: 40rem;
  width: 90%;
  background-color: #fff;
  border-radius: 1.5rem;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 3rem 2rem;
  text-align: center;
}
.student_waiting_modal .modal_content {
  padding: 1rem;
}
.student_waiting_modal .waiting_message {
  font-size: 2rem;
  line-height: 1.6;
  color: #333;
}

/* たて問題番号ルール カスタム */
#unit .contents_q_tate .contents_q_answer_box .q_select_box .q_num {
  -webkit-writing-mode: horizontal-tb;
      -ms-writing-mode: lr-tb;
          writing-mode: horizontal-tb;
  font-size: 2.4rem;
}
#unit .contents_q_tate .contents_q_answer_box .q_select_box .q_num_seq {
  letter-spacing: normal;
}
#unit .contents_q_tate .contents_q_answer_box .q_select_box .select_radio.type_radio02 label .q_num.q_num_seq {
  left: 6.5rem;
  position: relative;
  width: 0;
}
#unit .contents_q_tate .contents_q_answer_box .q_select_box p:has(> .q_num) {
  padding-top: 3.9rem;
}
#unit .contents_q_tate .contents_q_answer_box .q_select_box p > .q_num {
  -webkit-transform: translate(0, -4.5rem);
          transform: translate(0, -4.5rem);
  margin-bottom: -4.5rem;
}


#unit .contents_q_tate .contents_q_answer_box .q_select_box .input_box.incorrect .correct_txt,
#unit .contents_q_tate .contents_q_answer_box .q_select_box .input_box.sankaku .correct_txt {
  margin-right: 0;
  line-height: 1.2;
}
#unit .contents_q_tate .contents_q_answer_box .q_select_box.q_select_box_tate.incorrect .correct_txt {
  padding-right: 0.25rem;
}
/* たて手書きの正答表示調整 */
#unit .contents_q_tate .contents_q_answer_box .input_box_tate.write_box_draw.incorrect .correct_txt {
  right: 105%;
  text-align: left;
}
#unit .contents_q_tate .contents_q_answer_box .input_box_tate.input_box_tate_tenkey.incorrect .correct_txt .q_num {
  font-size: 3.2rem;
}
/* まとめ回答 キーボードの正答表示調整 */
#unit .contents_q_tate .contents_q_answer_box .q_select_box.q_select_box_tate.incorrect .input_box_keyboard,
#unit .contents_q_tate .contents_q_answer_box .q_select_box.q_select_box_tate.sankaku .input_box_keyboard {
  margin: 1rem 4rem;
}
#unit .contents_q_answer_box .q_select_box.incorrect:not(.q_select_box_tate) .input_box_keyboard,
#unit .contents_q_answer_box .q_select_box.sankaku:not(.q_select_box_tate) .input_box_keyboard {
  margin: 2rem 1rem;
}

/* まとめ問題で完答の○×△ */
#unit .contents_q_answer_box .contents_answer_inner.incorrect::after {
  content: "";
  width: 100%;
  height: 30rem;
  position: absolute;
  left: 11%;
  top: 10%;
  z-index: 1;
  background-image: url(/v2/images/unit/common/unit_icon_incorrect02.svg) !important;
  background-size: 100% 100%;
  pointer-events: none;
}
#unit .contents_q_answer_box .contents_answer_inner.correct::after {
  content: "";
  width: 100%;
  height: 30rem;
  position: absolute;
  left: 11%;
  top: 10%;
  opacity: 0.5;
  z-index: 1;
  background-image: url(/v2/images/unit/common/unit_icon_correct.svg) !important;
  background-size: 100% 100%;
  pointer-events: none;
}
#unit .contents_q_answer_box .contents_answer_inner.sankaku::after {
  content: "";
  width: 100%;
  height: 30rem;
  position: absolute;
  left: 11%;
  top: 10%;
  opacity: 0.5;
  z-index: 1;
  background-image: url(/v2/images/unit/result/result_sankaku_icon.svg) !important;
  background-size: 100% 100%;
  pointer-events: none;
}

#unit:not(:has(.contents_q_tate)) .contents_q_answer_box .contents_answer_inner.incorrect::after,
#unit:not(:has(.contents_q_tate)) .contents_q_answer_box .contents_answer_inner.correct::after,
#unit:not(:has(.contents_q_tate)) .contents_q_answer_box .contents_answer_inner.sankaku::after,
#unit .contents_q_answer_box .contents_answer_inner.sankaku::after {
  left: 0;
}

/* 禁則処理: 句読点・閉じ括弧等が行頭に来ることを防ぐ */
#unit .q_txt {
  line-break: strict;
}

#unit:not(:has(.contents_q_tate)) .contents_q_answer_box .q_select_box .input_box.input_box_s input {
  margin-right: 1rem;
}

/* 正答の囲み文字 */
#unit .contents_q_answer_box .q_select_box .input_box.incorrect .correct_txt .rule-circle-text {
  border-color: #fa0050;
}

/* ラジオボタンのラベルに含む囲み文字の位置ズレを調整 */
#unit .contents_q_answer_box .q_select_box .select_radio label > .rule-circle-text {
  display: inline-block;
  text-align: right;
  vertical-align: middle;
}
#unit .contents_q_answer_box .q_select_box.q_select_box_tate .select_radio label > .rule-circle-text {
  vertical-align: unset;
}
#unit .contents_q_answer_box .q_select_box .select_radio label > .rule-circle-text .char {
  position: absolute;
  right: 0.1em;
  bottom: 0.6em;
  line-height: 0;
}
#unit .contents_q_answer_box .q_select_box.q_select_box_tate .select_radio label > .rule-circle-text .char {
  right: 0.6em;
  bottom: 0.1em;
}

/* パスワード入力画面 */
#unitTestPasswordModal .modal_block {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1000;
  opacity: 0;
  transition: opacity 0.3s;
}

#unitTestPasswordModal .modal_block.js_active {
  opacity: 1;
}

#unitTestPasswordModal .modal_bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
}

#unitTestPasswordModal .modal_box {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #fff;
  border-radius: 2rem;
  padding: 3rem;
  min-width: 36rem;
  box-shadow: 0 0.5rem 2rem rgba(0, 0, 0, 0.3);
}

#unitTestPasswordModal .modal_close {
  position: absolute;
  top: -1.5rem;
  right: -1.5rem;
  width: 4rem;
  height: 4rem;
  background: #666;
  border-radius: 50%;
  border: none;
  cursor: pointer;
}

#unitTestPasswordModal .modal_close::before,
#unitTestPasswordModal .modal_close::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2rem;
  height: 0.3rem;
  background: #fff;
}

#unitTestPasswordModal .modal_close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

#unitTestPasswordModal .modal_close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

#unitTestPasswordModal .modal_box_inner {
  text-align: center;
}

#unit .reflection_contents .stamp_item {
  background-image: url(/v2/images/unit/common/mimasita.png);
}

/* 手書きガイド */
#unit .contents_q_answer_box .q_select_box .input_box.show_guide .input_area:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(/v2/images/unit/common/gesture01.png) no-repeat center center / auto 50%;
  pointer-events: none;
  /* background-color: rgba(0, 0, 0, 0.3); */
  z-index: 1000;
  opacity: 0;
  transition: opacity 0.2s ease-out;
}
#unit .contents_q_answer_box .q_select_box.q_select_box_4_2 .input_box.show_guide .input_area:after {
  background-size: auto 100%;
}
#unit .contents_q_tate .contents_q_answer_box .q_select_box.q_select_box_4_1 .input_box.show_guide .input_area:after {
  background-size: auto 30%;
}
#unit .contents_q_answer_box .q_select_box .input_box.show_guide .input_area::after {
  opacity: 1;
}
