@charset "UTF-8";
/*=======================================
	breakpoint
=======================================*/
/*=======================================
	hover
=======================================*/
/*=======================================
	中央配置
=======================================*/
/*=======================================
	可変レスポンシブ
=======================================*/
/* PC */
/* TB */
/* SP */
/*=======================================
	ブラウザ別
=======================================*/
/* Safari */
/* Firefox */
/*-------------------------
- base
- question
- character_comment
- highlight
- summary_sec
-------------------------*/
/*=======================================
　base
=======================================*/
html {
  scrollbar-gutter: stable;
}

/* ============================
	question
================================= */
:where(.question) {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  position: relative;
}
:where(.question) .q_inner {
  position: relative;
}
:where(.question) .q_inner .q_question {
  width: 9.365vw;
  height: 7.1342857143vw;
  background: #249CE4;
  -webkit-mask: center/contain url(../img/common/question.svg) no-repeat;
          mask: center/contain url(../img/common/question.svg) no-repeat;
  position: absolute;
  top: -3.5vw;
  left: -5.5vw;
}
@media screen and (max-width: 768px) {
  :where(.question) .q_inner .q_question {
    width: 20.4213333333vw;
    height: 12.2373333333vw;
    -webkit-mask: center/contain url(../img/common/question_sp.svg) no-repeat;
            mask: center/contain url(../img/common/question_sp.svg) no-repeat;
    margin-inline: auto;
    margin-bottom: 1.3333333333vw;
    position: static;
  }
}
:where(.question) .q_inner .q_ttl {
  color: #183251;
  font-family: var(--murecho);
  font-size: 3.9285714286vw;
  font-weight: 700;
  letter-spacing: 0.03em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 768px) {
  :where(.question) .q_inner .q_ttl {
    font-size: 5.3333333333vw;
  }
}
:where(.question) .q_inner .q_ttl .ttl_q {
  font-size: 4.6428571429vw;
  margin-left: 0.5714285714vw;
}
@media screen and (max-width: 768px) {
  :where(.question) .q_inner .q_ttl .ttl_q {
    font-size: 6.1333333333vw;
  }
}
:where(.question) img {
  position: absolute;
}
:where(.question) .q_balls {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.7142857143vw;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  bottom: -2vw;
}
@media screen and (max-width: 768px) {
  :where(.question) .q_balls {
    gap: 1.3333333333vw;
    bottom: -3.2vw;
  }
}
:where(.question) .q_balls .ball {
  width: 0.7142857143vw;
  height: 0.7142857143vw;
  border-radius: 9999px;
}
@media screen and (max-width: 768px) {
  :where(.question) .q_balls .ball {
    width: 1.3333333333vw;
    height: 1.3333333333vw;
  }
}

/*=======================================
	character_comment
=======================================*/
:where(.character_comment) {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  position: relative;
}
:where(.character_comment) img {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
}
:where(.character_comment) .comment_wrapper {
  padding-top: 2.1428571429vw;
}
@media screen and (max-width: 768px) {
  :where(.character_comment) .comment_wrapper {
    padding-top: 2.6666666667vw;
  }
}
:where(.character_comment) .comment_txt {
  color: #183251;
  font-family: var(--murecho);
  font-size: 1.7142857143vw;
  font-weight: 500;
  letter-spacing: 0.03em;
  line-height: 2;
  text-align: center;
  background: #fff;
  border-radius: 0.5714285714vw;
  padding: 1.6428571429vw 1.6428571429vw 1.0714285714vw;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  :where(.character_comment) .comment_txt {
    font-size: 3.7333333333vw;
    line-height: 2;
    border-radius: 1.3333333333vw;
    padding: 4vw 2.6666666667vw 2.6666666667vw;
  }
}
:where(.character_comment) .comment_txt:not(:has(.ruby)) {
  padding-top: 1.0714285714vw;
}
@media screen and (max-width: 768px) {
  :where(.character_comment) .comment_txt:not(:has(.ruby)) {
    padding-top: 3.2vw;
  }
}
:where(.character_comment) .comment_txt::before {
  content: "";
  display: block;
  width: 1.8571428571vw;
  height: 1.8571428571vw;
  background: #fff;
  position: absolute;
  top: 1.7857142857vw;
  left: -1.7857142857vw;
  -webkit-mask: center/cover url(../img/common/fukidashi.svg) no-repeat;
          mask: center/cover url(../img/common/fukidashi.svg) no-repeat;
  z-index: 0;
}
@media screen and (max-width: 768px) {
  :where(.character_comment) .comment_txt::before {
    width: 6.9333333333vw;
    height: 6.9333333333vw;
    -webkit-transform: scale(1, -1) rotate(90deg);
        -ms-transform: scale(1, -1) rotate(90deg);
            transform: scale(1, -1) rotate(90deg);
    top: auto;
    bottom: -6.6666666667vw;
    left: 13.3333333333vw;
  }
}
:where(.character_comment) .comment_txt .ruby .rt {
  top: -0.5em;
}
@media screen and (max-width: 768px) {
  :where(.character_comment) .comment_txt .ruby .rt {
    top: -0.75em;
  }
}
:where(.character_comment).yellow .comment_txt {
  background: #FFD737;
}
:where(.character_comment).yellow .comment_txt::before {
  background: #FFD737;
}
:where(.character_comment).green .comment_txt {
  color: #fff;
  background: #0EAE56;
}
:where(.character_comment).green .comment_txt::before {
  background: #0EAE56;
}
:where(.character_comment).right .comment_txt::before {
  left: auto;
  right: -1.7857142857vw;
  scale: -1 1;
}
@media screen and (max-width: 768px) {
  :where(.character_comment).right .comment_txt::before {
    right: 13.3333333333vw;
  }
}
:where(.character_comment).right img {
  left: auto;
}

@media screen and (max-width: 768px) {
  :where(.character_comment.character_comment) img {
    width: 23.4666666667vw;
    height: 23.4666666667vw;
    top: auto;
    left: 50%;
    bottom: -25.0666666667vw;
    -webkit-transform: translate(-50%, 0);
        -ms-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
  }
}

/* =====================
	highlight
======================== */
:where(.highlight) {
  color: inherit;
  background: #48B1E6;
  padding-inline: 0.3em;
  margin-inline: 0.2em;
}

.ruby:has(.highlight),
.highlight:has(.ruby) {
  padding-top: 0.4em;
}
.ruby:has(.highlight) .rt,
.highlight:has(.ruby) .rt {
  color: inherit;
  font-weight: 700;
  top: -0.75em;
}
@media screen and (max-width: 768px) {
  .ruby:has(.highlight) .rt,
  .highlight:has(.ruby) .rt {
    top: -0.5em;
  }
}

/*=======================================
　summary_sec
=======================================*/
.summary_sec .comment_summary .comment_wrapper {
  margin-bottom: 7.5714285714vw;
}
@media screen and (max-width: 768px) {
  .summary_sec .comment_summary .comment_wrapper {
    margin-bottom: 36.2666666667vw;
  }
}
.summary_sec .comment_summary .comment_wrapper img {
  width: 10.2142857143vw;
  height: 9.4285714286vw;
  right: -14.1428571429vw;
}
@media screen and (max-width: 768px) {
  .summary_sec .comment_summary .comment_wrapper img {
    width: 19.0666666667vw;
    height: 17.6vw;
    right: auto;
    bottom: -18.6666666667vw;
    left: 50%;
  }
}
.summary_sec .inner {
  width: 65.7142857143vw;
  background: #fff;
  border-radius: 1.4285714286vw;
  border: 0.3571428571vw solid #183251;
  padding-bottom: 2.8571428571vw;
  margin-inline: auto;
  position: relative;
  z-index: 1;
  -webkit-filter: drop-shadow(0.2142857143vw 0.2142857143vw 0 rgba(0, 0, 0, 0.2));
          filter: drop-shadow(0.2142857143vw 0.2142857143vw 0 rgba(0, 0, 0, 0.2));
}
@media screen and (max-width: 768px) {
  .summary_sec .inner {
    width: 86.6666666667vw;
    padding: 0 4vw 5.3333333333vw;
    border-radius: 4.2666666667vw;
    border: 0.8vw solid #183251;
  }
}
.summary_sec .inner > * {
  translate: 0 -2.5714285714vw;
  will-change: translate;
}
@media screen and (max-width: 768px) {
  .summary_sec .inner > * {
    translate: 0 -5.3333333333vw;
  }
}
.summary_sec .summary_icon {
  width: 12vw;
  margin-inline: auto;
  margin-bottom: 1.0714285714vw;
}
@media screen and (max-width: 768px) {
  .summary_sec .summary_icon {
    width: 24vw;
    margin-bottom: 2.6666666667vw;
  }
}
.summary_sec .summary_txt_wrapper {
  position: relative;
  width: 54.3021428571vw;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .summary_sec .summary_txt_wrapper {
    width: 100%;
  }
}
.summary_sec .summary_txt_wrapper .summary_txt {
  font-family: var(--zenmarugothic);
  font-size: 1.2857142857vw;
  font-weight: 500;
  letter-spacing: 0.03em;
  line-height: 2.7777777778;
  text-decoration: none;
}
@media screen and (max-width: 768px) {
  .summary_sec .summary_txt_wrapper .summary_txt {
    font-size: 3.7333333333vw;
    line-height: 2.5;
  }
}
.summary_sec .summary_txt_wrapper .summary_txt .summary_txt_line {
  display: inline;
  padding-bottom: 0.5714285714vw;
  position: relative;
}
.summary_sec .summary_txt_wrapper .summary_txt .ruby .rt {
  top: -0.33em;
}
.summary_sec .summary_txt_wrapper hr {
  border: none;
  width: 100%;
  height: 1px;
  background-image: repeating-linear-gradient(to right, #183251 0 2px, transparent 2px 6px);
  position: absolute;
  left: 0;
  font-size: 1.2857142857vw;
  line-height: 2.7777777778;
}
@media screen and (max-width: 768px) {
  .summary_sec .summary_txt_wrapper hr {
    font-size: 3.7333333333vw;
    line-height: 2.5;
  }
}
.summary_sec .summary_txt_wrapper hr:nth-of-type(1) {
  top: calc(3.1428571429vw + 0lh);
}
@media screen and (max-width: 768px) {
  .summary_sec .summary_txt_wrapper hr:nth-of-type(1) {
    top: calc(8.2666666667vw + 0lh);
  }
}
.summary_sec .summary_txt_wrapper hr:nth-of-type(2) {
  top: calc(3.1428571429vw + 1lh);
}
@media screen and (max-width: 768px) {
  .summary_sec .summary_txt_wrapper hr:nth-of-type(2) {
    top: calc(8.2666666667vw + 1lh);
  }
}
.summary_sec .summary_txt_wrapper hr:nth-of-type(3) {
  top: calc(3.1428571429vw + 2lh);
}
@media screen and (max-width: 768px) {
  .summary_sec .summary_txt_wrapper hr:nth-of-type(3) {
    top: calc(8.2666666667vw + 2lh);
  }
}
.summary_sec .summary_txt_wrapper hr:nth-of-type(4) {
  top: calc(3.1428571429vw + 3lh);
}
@media screen and (max-width: 768px) {
  .summary_sec .summary_txt_wrapper hr:nth-of-type(4) {
    top: calc(8.2666666667vw + 3lh);
  }
}
.summary_sec .summary_txt_wrapper hr:nth-of-type(5) {
  top: calc(3.1428571429vw + 4lh);
}
@media screen and (max-width: 768px) {
  .summary_sec .summary_txt_wrapper hr:nth-of-type(5) {
    top: calc(8.2666666667vw + 4lh);
  }
}
.summary_sec .summary_txt_wrapper hr:nth-of-type(6) {
  top: calc(3.1428571429vw + 5lh);
}
@media screen and (max-width: 768px) {
  .summary_sec .summary_txt_wrapper hr:nth-of-type(6) {
    top: calc(8.2666666667vw + 5lh);
  }
}
.summary_sec .summary_txt_wrapper hr:nth-of-type(7) {
  top: calc(3.1428571429vw + 6lh);
}
@media screen and (max-width: 768px) {
  .summary_sec .summary_txt_wrapper hr:nth-of-type(7) {
    top: calc(8.2666666667vw + 6lh);
  }
}
.summary_sec .summary_txt_wrapper hr:nth-of-type(8) {
  top: calc(3.1428571429vw + 7lh);
}
@media screen and (max-width: 768px) {
  .summary_sec .summary_txt_wrapper hr:nth-of-type(8) {
    top: calc(8.2666666667vw + 7lh);
  }
}
.summary_sec .summary_txt_wrapper hr:nth-of-type(9) {
  top: calc(3.1428571429vw + 8lh);
}
@media screen and (max-width: 768px) {
  .summary_sec .summary_txt_wrapper hr:nth-of-type(9) {
    top: calc(8.2666666667vw + 8lh);
  }
}
.summary_sec .summary_txt_wrapper hr:nth-of-type(10) {
  top: calc(3.1428571429vw + 9lh);
}
@media screen and (max-width: 768px) {
  .summary_sec .summary_txt_wrapper hr:nth-of-type(10) {
    top: calc(8.2666666667vw + 9lh);
  }
}
.summary_sec .summary_txt_wrapper hr:nth-of-type(11) {
  top: calc(3.1428571429vw + 10lh);
}
@media screen and (max-width: 768px) {
  .summary_sec .summary_txt_wrapper hr:nth-of-type(11) {
    top: calc(8.2666666667vw + 10lh);
  }
}
.summary_sec .summary_txt_wrapper hr:nth-of-type(12) {
  top: calc(3.1428571429vw + 11lh);
}
@media screen and (max-width: 768px) {
  .summary_sec .summary_txt_wrapper hr:nth-of-type(12) {
    top: calc(8.2666666667vw + 11lh);
  }
}
.summary_sec .summary_txt_wrapper hr:nth-of-type(13) {
  top: calc(3.1428571429vw + 12lh);
}
@media screen and (max-width: 768px) {
  .summary_sec .summary_txt_wrapper hr:nth-of-type(13) {
    top: calc(8.2666666667vw + 12lh);
  }
}
.summary_sec .summary_txt_wrapper hr:nth-of-type(14) {
  top: calc(3.1428571429vw + 13lh);
}
@media screen and (max-width: 768px) {
  .summary_sec .summary_txt_wrapper hr:nth-of-type(14) {
    top: calc(8.2666666667vw + 13lh);
  }
}
.summary_sec .summary_txt_wrapper hr:nth-of-type(15) {
  top: calc(3.1428571429vw + 14lh);
}
@media screen and (max-width: 768px) {
  .summary_sec .summary_txt_wrapper hr:nth-of-type(15) {
    top: calc(8.2666666667vw + 14lh);
  }
}
.summary_sec:has(.summary_txt_wrapper + .summary_txt_wrapper) .summary_txt_wrapper:nth-last-of-type(2) {
  margin-bottom: 1.7857142857vw;
}
@media screen and (max-width: 768px) {
  .summary_sec:has(.summary_txt_wrapper + .summary_txt_wrapper) .summary_txt_wrapper:nth-last-of-type(2) {
    margin-bottom: 5.3333333333vw;
  }
}

/*=======================================
　.ttl_ellipse
=======================================*/
.ttl_ellipse {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.8857142857vw;
  padding-left: 0.6428571429vw;
  padding-bottom: 0.8571428571vw;
  margin-bottom: 2.6428571429vw;
  position: relative;
}
@media screen and (max-width: 768px) {
  .ttl_ellipse {
    gap: 3.2vw;
    padding-left: 1.3333333333vw;
    padding-bottom: 3.2vw;
    margin-bottom: 5.3333333333vw;
  }
}
.ttl_ellipse::after {
  content: "";
  display: block;
  width: 100%;
  height: 3px;
  background-image: radial-gradient(circle at center, #FF5353 0.1071428571vw, transparent 0.1214285714vw);
  background-size: 0.8571428571vw 100%;
  background-repeat: repeat-x;
  background-position: center left;
  position: absolute;
  bottom: 0;
  left: 0;
}
@media screen and (max-width: 768px) {
  .ttl_ellipse::after {
    background-image: radial-gradient(circle at center, #FF5353 0.2vw, transparent 0.2266666667vw);
    background-size: 1.6vw 100%;
  }
}
.ttl_ellipse .num {
  color: #fff;
  font-family: var(--jost);
  font-size: 2vw;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 2;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .ttl_ellipse .num {
    font-size: 4.2666666667vw;
    line-height: 1.5;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    translate: 0 1.6vw;
  }
}
.ttl_ellipse .num::before {
  content: "";
  display: block;
  width: 5.4592857143vw;
  height: 5.7564285714vw;
  background: center/cover url(../img/examination/ellipse.svg) no-repeat;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  top: 40%;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .ttl_ellipse .num::before {
    width: 10.1906666667vw;
    height: 10.7453333333vw;
    top: 45%;
  }
}
.ttl_ellipse .ttl {
  color: #183251;
  font-family: var(--murecho);
  font-size: 2.8571428571vw;
  font-weight: 700;
  letter-spacing: 0.03em;
  margin-bottom: 1.3357142857vw;
}
@media screen and (max-width: 768px) {
  .ttl_ellipse .ttl {
    font-size: 5.3333333333vw;
    line-height: 1.75;
    margin-bottom: 0;
  }
}
.ttl_ellipse .ttl .ruby .rt {
  font-size: 0.33em;
}
@media screen and (max-width: 768px) {
  .ttl_ellipse .ttl .ruby .rt {
    font-size: 0.4em;
    top: -0.5em;
  }
}/*# sourceMappingURL=contents.css.map */