@charset "UTF-8";
/***************************************

component

***************************************/
/*---------------------------------------
comp_fv
---------------------------------------*/
.comp_fv {
  padding: 1.269035533vw;
}
@media screen and (min-width: 769px) {
  .comp_fv {
    padding: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.comp_fv_bg {
  background-image: -webkit-gradient(linear, left top, right top, from(#c7f6ff), to(#ced0ff));
  background-image: linear-gradient(90deg, #c7f6ff, #ced0ff);
  border-radius: 2.538071066vw;
  padding: 8.883248731vw 3.807106599vw 15.2284263959vw;
  margin: 0 0 1.269035533vw;
}
@media screen and (min-width: 769px) {
  .comp_fv_bg {
    border-radius: 0 0.7692307692vw 0.7692307692vw 0;
    width: calc(100% - 39.2307692308vw);
    padding: 6.6923076923vw 0;
    margin: 0;
  }
}
@media screen and (min-width: 1300px) {
  .comp_fv_bg {
    border-radius: 0 10px 10px 0;
    width: calc(100% - 510px);
    padding: 87px 0;
  }
}
.comp_fv_title {
  font-size: 5.5837563452vw;
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: 0.05em;
  font-family: YakuHanMP, "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;
}
@media screen and (min-width: 769px) {
  .comp_fv_title {
    width: 49.2307692308vw;
    margin: 0 auto;
    font-size: 3.3846153846vw;
  }
}
@media screen and (min-width: 1300px) {
  .comp_fv_title {
    width: 640px;
    margin: 0 auto;
    font-size: 44px;
  }
}
.comp_fv_title_parent {
  display: block;
  font-family: YakuHanMP, "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;
  font-size: 3.0456852792vw;
  font-weight: 700;
  line-height: 4.3147208122vw;
  height: 8.1218274112vw;
  letter-spacing: 0.05em;
  padding: 0 0 3.807106599vw;
  margin: 0 0 4.3147208122vw;
  position: relative;
}
@media screen and (min-width: 769px) {
  .comp_fv_title_parent {
    font-size: 1.2307692308vw;
    line-height: 1.7692307692vw;
    height: 3.0769230769vw;
    padding: 0 0 1.3076923077vw;
    margin: 0 0 1.5384615385vw;
  }
}
@media screen and (min-width: 1300px) {
  .comp_fv_title_parent {
    font-size: 16px;
    line-height: 23px;
    height: 40px;
    padding: 0 0 17px;
    margin: 0 0 20px;
  }
}
.comp_fv_title_parent::after {
  content: "";
  display: block;
  width: 12.6903553299vw;
  height: 0.5076142132vw;
  position: absolute;
  left: 0;
  bottom: 0;
  background: -webkit-gradient(linear, left top, right top, from(#2B278D), color-stop(50%, #2B278D), color-stop(50%, #8DE5FA), to(#8DE5FA));
  background: linear-gradient(90deg, #2B278D 0%, #2B278D 50%, #8DE5FA 50%, #8DE5FA 100%);
}
@media screen and (min-width: 769px) {
  .comp_fv_title_parent::after {
    width: 3.8461538462vw;
    height: 0.1538461538vw;
  }
}
@media screen and (min-width: 1300px) {
  .comp_fv_title_parent::after {
    width: 50px;
    height: 2px;
  }
}
@media screen and (min-width: 769px) {
  .comp_fv.no_visual {
    padding: 0 0.7692307692vw 0 0;
  }
}
@media screen and (min-width: 1300px) {
  .comp_fv.no_visual {
    padding: 0 10px 0 0;
  }
}
.comp_fv.no_visual .comp_fv_bg {
  width: 100%;
  margin: 0;
}
@media screen and (min-width: 769px) {
  .comp_fv.no_visual .comp_fv_bg {
    padding: 3.8461538462vw 0 5.0769230769vw;
  }
}
@media screen and (min-width: 1300px) {
  .comp_fv.no_visual .comp_fv_bg {
    padding: 50px 0 66px;
  }
}
@media screen and (min-width: 769px) {
  .comp_fv.no_visual .comp_fv_title {
    width: 88.4615384615vw;
    margin: 0 auto;
    font-size: 2.6153846154vw;
  }
}
@media screen and (min-width: 1300px) {
  .comp_fv.no_visual .comp_fv_title {
    width: 1150px;
    margin: 0 auto;
    font-size: 34px;
  }
}
@media screen and (min-width: 769px) {
  .comp_fv.no_visual .comp_fv_title_parent {
    margin: 0 0 2.3076923077vw;
  }
}
@media screen and (min-width: 1300px) {
  .comp_fv.no_visual .comp_fv_title_parent {
    margin: 0 0 30px;
  }
}
.comp_fv .comp_fv_visual img {
  width: 100%;
}
@media screen and (min-width: 769px) {
  .comp_fv .comp_fv_visual img {
    width: 38.4615384615vw;
  }
}
@media screen and (min-width: 1300px) {
  .comp_fv .comp_fv_visual img {
    width: 500px;
  }
}

/*---------------------------------------
bread
---------------------------------------*/
#bread {
  padding: 1.7766497462vw 5.076142132vw 0;
}
@media screen and (min-width: 769px) {
  #bread {
    padding: 1.9230769231vw 0 0;
    width: 96.1538461538vw;
    margin: 0 auto;
  }
}
@media screen and (min-width: 1300px) {
  #bread {
    padding: 25px 0 0;
    width: 1250px;
  }
}
#bread ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 3.0456852792vw 0;
}
@media screen and (min-width: 769px) {
  #bread ul {
    gap: 0.9230769231vw 0;
  }
}
@media screen and (min-width: 1300px) {
  #bread ul {
    gap: 12px 0;
  }
}
#bread ul li a {
  font-size: 3.0456852792vw;
  line-height: 4.5685279188vw;
  letter-spacing: 0.04em;
  color: #AAAAAA;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 3.0456852792vw;
  margin: 0 0 0 3.0456852792vw;
}
@media screen and (min-width: 769px) {
  #bread ul li a {
    font-size: 1.0769230769vw;
    line-height: 1.6923076923vw;
    gap: 0 0.9230769231vw;
    margin: 0 0 0 1.0769230769vw;
  }
}
@media screen and (min-width: 1300px) {
  #bread ul li a {
    font-size: 14px;
    line-height: 22px;
    gap: 0 12px;
    margin: 0 0 0 14px;
  }
}
#bread ul li a::after {
  content: "_";
  display: block;
  color: #AAAAAA;
}
#bread ul li a.is-archive::after {
  display: none;
}
#bread ul li:first-child a {
  margin: 0;
}
#bread ul li span {
  display: block;
  font-size: 3.0456852792vw;
  line-height: 4.5685279188vw;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #2B278D;
  margin: 0 0 0 3.0456852792vw;
}
@media screen and (min-width: 769px) {
  #bread ul li span {
    font-size: 1.0769230769vw;
    line-height: 1.6923076923vw;
    margin: 0 0 0 1.0769230769vw;
  }
}
@media screen and (min-width: 1300px) {
  #bread ul li span {
    font-size: 14px;
    line-height: 22px;
    margin: 0 0 0 14px;
  }
}

/*---------------------------------------
comp-btn
---------------------------------------*/
.comp-btn a {
  width: 54.5685279188vw;
  display: block;
  text-align: center;
  font-size: 3.5532994924vw;
  padding: 5.5837563452vw 0;
  color: #fff;
  border-radius: 12.6903553299vw;
  background-color: #2B278D;
  position: relative;
}
@media screen and (min-width: 769px) {
  .comp-btn a {
    width: 16.4615384615vw;
    font-size: 1.0769230769vw;
    padding: 1.3846153846vw 0;
    border-radius: 3.8461538462vw;
  }
}
@media screen and (min-width: 1300px) {
  .comp-btn a {
    width: 214px;
    font-size: 14px;
    padding: 18px 0;
    border-radius: 50px;
  }
}
.comp-btn a::after {
  content: "";
  display: block;
  width: 3.0456852792vw;
  height: 2.7918781726vw;
  background-image: url("../../img/common/icn_btn_arw_sp.svg");
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: 7.614213198vw;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (min-width: 769px) {
  .comp-btn a::after {
    right: 2.3076923077vw;
    width: 1.3076923077vw;
    height: 0.8461538462vw;
    background-image: url("../../img/common/icn_btn_arw_pc.svg");
  }
}
@media screen and (min-width: 1300px) {
  .comp-btn a::after {
    right: 30px;
    width: 17px;
    height: 11px;
  }
}
.comp-btn a.pdf::after {
  width: 2.538071066vw;
  height: 3.5532994924vw;
  background-image: url("../../img/common/icn_btn_pdf.svg");
  right: 6.345177665vw;
}
@media screen and (min-width: 769px) {
  .comp-btn a.pdf::after {
    width: 0.7692307692vw;
    height: 1.0769230769vw;
    right: 1.9230769231vw;
  }
}
@media screen and (min-width: 1300px) {
  .comp-btn a.pdf::after {
    width: 10px;
    height: 14px;
    right: 25px;
  }
}
.comp-btn a[target=_blank]::after {
  width: 3.2994923858vw;
  background-image: url("../../img/common/icn_btn_target.svg");
}
@media screen and (min-width: 769px) {
  .comp-btn a[target=_blank]::after {
    width: 1vw;
  }
}
@media screen and (min-width: 1300px) {
  .comp-btn a[target=_blank]::after {
    width: 13px;
  }
}

/*---------------------------------------
comp_related-links
---------------------------------------*/
.comp_related-links {
  width: 89.847715736vw;
  margin: 0 auto 25.3807106599vw;
  padding: 7.614213198vw 5.076142132vw 8.883248731vw;
  border: 1px solid #DDDDDD;
  border-radius: 2.538071066vw;
  background-color: #ffffff;
}
@media screen and (min-width: 769px) {
  .comp_related-links {
    width: 88.4615384615vw;
    margin: 0 auto 14.2307692308vw;
    padding: 3.8461538462vw 3.7692307692vw 4.2307692308vw;
  }
}
@media screen and (min-width: 1300px) {
  .comp_related-links {
    width: 1150px;
    margin: 0 auto 185px;
    padding: 50px 49px 55px;
  }
}
.comp_related-links h2 {
  font-size: 5.076142132vw;
  font-weight: 600;
  padding: 0 0 6.345177665vw;
  color: #2B278D;
}
@media screen and (min-width: 769px) {
  .comp_related-links h2 {
    font-size: 1.5384615385vw;
    padding: 0 0 3.4615384615vw;
  }
}
@media screen and (min-width: 1300px) {
  .comp_related-links h2 {
    font-size: 20px;
    padding: 0 0 45px;
  }
}
.comp_related-links h2 a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  font-size: 5.076142132vw;
  font-weight: 600;
  color: #2B278D;
}
@media screen and (min-width: 769px) {
  .comp_related-links h2 a {
    font-size: 1.5384615385vw;
  }
}
@media screen and (min-width: 1300px) {
  .comp_related-links h2 a {
    font-size: 20px;
  }
}
.comp_related-links h2 a::after {
  content: "";
  display: block;
  width: 3.0456852792vw;
  height: 2.7918781726vw;
  background-image: url("../../img/common/icn_link_arw_sp.svg");
  background-repeat: no-repeat;
  background-size: contain;
  margin-left: 5.5837563452vw;
}
@media screen and (min-width: 769px) {
  .comp_related-links h2 a::after {
    width: 0.9230769231vw;
    height: 0.8461538462vw;
    background-image: url("../../img/common/icn_link_arw_pc.svg");
    margin-left: 1.6923076923vw;
  }
}
@media screen and (min-width: 1300px) {
  .comp_related-links h2 a::after {
    width: 12px;
    height: 11px;
    margin-left: 22px;
  }
}
@media screen and (min-width: 769px) {
  .comp_related-links ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 2.3076923077vw 1.1538461538vw;
  }
}
@media screen and (min-width: 1300px) {
  .comp_related-links ul {
    gap: 30px 15px;
  }
}
.comp_related-links ul li {
  border-bottom: 1px solid #DDDDDD;
}
@media screen and (min-width: 769px) {
  .comp_related-links ul li {
    width: 25.3846153846vw;
  }
}
@media screen and (min-width: 1300px) {
  .comp_related-links ul li {
    width: 330px;
  }
}
.comp_related-links ul li a {
  display: block;
  padding: 5.5837563452vw 0 4.8223350254vw;
  font-size: 3.5532994924vw;
  color: #2B278D;
  position: relative;
  line-height: 1.5;
}
@media screen and (min-width: 769px) {
  .comp_related-links ul li a {
    padding: 1.5384615385vw 0 1.5384615385vw 0.7692307692vw;
    font-size: 1.3846153846vw;
  }
}
@media screen and (min-width: 1300px) {
  .comp_related-links ul li a {
    padding: 20px 0 20px 10px;
    font-size: 18px;
  }
}
.comp_related-links ul li a::after {
  content: "";
  display: block;
  width: 3.0456852792vw;
  height: 2.7918781726vw;
  background-image: url("../../img/common/icn_link_arw_sp.svg");
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: 4.5685279188vw;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (min-width: 769px) {
  .comp_related-links ul li a::after {
    width: 0.9230769231vw;
    height: 0.8461538462vw;
    right: 1.1538461538vw;
    background-image: url("../../img/common/icn_link_arw_pc.svg");
  }
}
@media screen and (min-width: 1300px) {
  .comp_related-links ul li a::after {
    width: 12px;
    height: 11px;
    right: 15px;
  }
}
.comp_related-links ul li a[target=_blank]::after {
  width: 3.2994923858vw;
  background-image: url("../../img/common/icn_link_target.svg");
}
@media screen and (min-width: 769px) {
  .comp_related-links ul li a[target=_blank]::after {
    width: 1vw;
    right: 0.8461538462vw;
  }
}
@media screen and (min-width: 1300px) {
  .comp_related-links ul li a[target=_blank]::after {
    width: 13px;
    right: 11px;
  }
}
.comp_related-links ul li a.pdf::after {
  width: 2.538071066vw;
  height: 3.5532994924vw;
  background-image: url("../../img/common/icn_btn_pdf.svg");
}
@media screen and (min-width: 769px) {
  .comp_related-links ul li a.pdf::after {
    width: 0.7692307692vw;
    height: 1.0769230769vw;
  }
}
@media screen and (min-width: 1300px) {
  .comp_related-links ul li a.pdf::after {
    width: 10px;
    height: 14px;
  }
}

/*---------------------------------------
comp-anchor
---------------------------------------*/
.comp-anchor {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 5.076142132vw 0;
}
@media screen and (min-width: 769px) {
  .comp-anchor {
    gap: 2.1538461538vw 3.4615384615vw;
  }
}
@media screen and (min-width: 1300px) {
  .comp-anchor {
    gap: 28px 45px;
  }
}
.comp-anchor li {
  width: 50%;
}
@media screen and (min-width: 769px) {
  .comp-anchor li {
    width: auto;
  }
}
.comp-anchor li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 0 4.3147208122vw;
  color: #2B278D;
  font-size: 3.5532994924vw;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 769px) {
  .comp-anchor li a {
    gap: 0 0.7692307692vw;
    font-size: 1.2307692308vw;
  }
}
@media screen and (min-width: 1300px) {
  .comp-anchor li a {
    gap: 0 10px;
    font-size: 16px;
  }
}
.comp-anchor li a::before {
  content: "";
  display: block;
  width: 4.0609137056vw;
  height: 2.2842639594vw;
  background: url("../../img/common/icn_anchor_arw.svg") no-repeat;
  background-size: contain;
  margin-top: 2.0304568528vw;
}
@media screen and (min-width: 769px) {
  .comp-anchor li a::before {
    width: 1.2307692308vw;
    height: 0.6923076923vw;
    margin-top: 0.7692307692vw;
  }
}
@media screen and (min-width: 1300px) {
  .comp-anchor li a::before {
    width: 16px;
    height: 9px;
    margin-top: 10px;
  }
}

/*---------------------------------------
comp-index
---------------------------------------*/
.comp-index {
  padding: 8.883248731vw 0 25.3807106599vw;
}
@media screen and (min-width: 769px) {
  .comp-index {
    padding: 9.2307692308vw 0 15.3846153846vw;
  }
}
@media screen and (min-width: 1300px) {
  .comp-index {
    padding: 120px 0 200px;
  }
}
.comp-index_inner {
  width: 89.847715736vw;
  margin: 0 auto;
  padding: 0 0 14.7208121827vw;
}
@media screen and (min-width: 769px) {
  .comp-index_inner {
    width: 88.4615384615vw;
    padding: 0 0 7.6923076923vw;
  }
}
@media screen and (min-width: 1300px) {
  .comp-index_inner {
    width: 1150px;
    padding: 0 0 100px;
  }
}
.comp-index_inner:last-child {
  padding: 0;
}
.comp-index h3 {
  font-size: 5.5837563452vw;
  font-weight: 500;
  padding: 4.0609137056vw 0 8.6294416244vw;
  border-top: 1px solid #000;
}
@media screen and (min-width: 769px) {
  .comp-index h3 {
    font-size: 1.5384615385vw;
    padding: 2.1538461538vw 0 5.7692307692vw;
  }
}
@media screen and (min-width: 1300px) {
  .comp-index h3 {
    font-size: 20px;
    padding: 28px 0 75px;
  }
}
@media screen and (min-width: 769px) {
  .comp-index-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.comp-index-image {
  padding: 0 0 5.076142132vw;
}
@media screen and (min-width: 769px) {
  .comp-index-image {
    padding: 0;
  }
}
.comp-index-image img {
  width: 100%;
}
@media screen and (min-width: 769px) {
  .comp-index-image img {
    width: 33.4615384615vw;
  }
}
@media screen and (min-width: 1300px) {
  .comp-index-image img {
    width: 435px;
  }
}
@media screen and (min-width: 769px) {
  .comp-index-list {
    width: 41.5384615385vw;
  }
}
@media screen and (min-width: 1300px) {
  .comp-index-list {
    width: 540px;
  }
}
.comp-index-list li {
  border-bottom: 1px solid #dddddd;
}
.comp-index-list li:first-of-type {
  border-top: 1px solid #dddddd;
}
.comp-index-list li a {
  display: block;
  padding: 4.8223350254vw 0 4.8223350254vw 2.538071066vw;
  font-size: 4.0609137056vw;
  color: #2B278D;
  font-weight: 600;
  position: relative;
}
@media screen and (min-width: 769px) {
  .comp-index-list li a {
    padding: 2.8461538462vw 0 3vw 1.1538461538vw;
    font-size: 1.5384615385vw;
  }
}
@media screen and (min-width: 1300px) {
  .comp-index-list li a {
    padding: 37px 0 39px 15px;
    font-size: 20px;
  }
}
.comp-index-list li a::after {
  content: "";
  display: block;
  width: 3.0456852792vw;
  height: 2.7918781726vw;
  background-image: url("../../img/common/icn_link_arw_sp.svg");
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  right: 4.5685279188vw;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (min-width: 769px) {
  .comp-index-list li a::after {
    width: 0.9230769231vw;
    height: 0.8461538462vw;
    background-image: url("../../img/common/icn_link_arw_pc.svg");
    right: 2.9230769231vw;
  }
}
@media screen and (min-width: 1300px) {
  .comp-index-list li a::after {
    width: 12px;
    height: 11px;
    right: 38px;
  }
}
.comp-index-list li a[target=_blank]::after {
  width: 3.2994923858vw;
  height: 2.7918781726vw;
  background-image: url("../../img/common/icn_link_target.svg");
}
@media screen and (min-width: 769px) {
  .comp-index-list li a[target=_blank]::after {
    width: 1vw;
    height: 0.8461538462vw;
  }
}
@media screen and (min-width: 1300px) {
  .comp-index-list li a[target=_blank]::after {
    width: 13px;
    height: 11px;
  }
}
.comp-index-list li a.pdf::after {
  width: 2.538071066vw;
  height: 3.5532994924vw;
  background-image: url("../../img/common/icn_btn_pdf.svg");
}
@media screen and (min-width: 769px) {
  .comp-index-list li a.pdf::after {
    width: 0.7692307692vw;
    height: 1.0769230769vw;
  }
}
@media screen and (min-width: 1300px) {
  .comp-index-list li a.pdf::after {
    width: 10px;
    height: 14px;
  }
}

/*---------------------------------------
comp-teachers-modal
---------------------------------------*/
.comp-teachers-modal {
  width: 100%;
  height: 100vh;
  height: 100svh;
  height: 100dvh;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 100;
}
.comp-teachers-modal::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  background-color: #838383;
  opacity: 0.9;
  position: relative;
  left: 0;
  top: 0;
}
.comp-teachers-modal .teachers-modal_wrap {
  width: 97.461928934vw;
  max-height: 90vh;
  max-height: 90svh;
  max-height: 90dvh;
  overflow-y: auto;
  background: #ffffff;
  border-radius: 2.538071066vw;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  position: absolute;
  left: 50%;
  bottom: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  padding: 0 6.0913705584vw 0 3.807106599vw;
  scrollbar-width: thin;
  scrollbar-color: rgba(0, 0, 0, 0.15) transparent;
}
@media screen and (min-width: 769px) {
  .comp-teachers-modal .teachers-modal_wrap {
    width: 90vw;
    max-height: 90vh;
    max-height: 90svh;
    max-height: 90dvh;
    max-width: 970px;
    border-radius: 10px;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    padding: 0 104px 0 95px;
  }
}
.comp-teachers-modal .teachers-modal_wrap::-webkit-scrollbar {
  width: 8px;
  background: transparent;
}
.comp-teachers-modal .teachers-modal_wrap::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.15);
  border-radius: 2.0304568528vw;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
@media screen and (min-width: 769px) {
  .comp-teachers-modal .teachers-modal_wrap::-webkit-scrollbar-thumb {
    border-radius: 8px;
  }
}
.comp-teachers-modal .comp-teachers-modal .teachers-modal_wrap {
  opacity: 0;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.comp-teachers-modal .comp-teachers-modal.is-opa .teachers-modal_wrap {
  opacity: 1;
}
.comp-teachers-modal .teachers-modal_close {
  padding: 6.345177665vw 0 5.8375634518vw;
  border-bottom: 1px solid #000;
}
@media screen and (min-width: 769px) {
  .comp-teachers-modal .teachers-modal_close {
    padding: 20px 0;
  }
}
.comp-teachers-modal .teachers-modal_close button {
  margin: 0 0 0 auto;
}
@media screen and (min-width: 769px) {
  .comp-teachers-modal .teachers-modal_close button {
    -webkit-transform: translateX(75px);
            transform: translateX(75px);
  }
}
.comp-teachers-modal .teachers-modal_close button img {
  width: 10.152284264vw;
}
@media screen and (min-width: 769px) {
  .comp-teachers-modal .teachers-modal_close button img {
    width: 46px;
  }
}
.comp-teachers-modal .teachers-modal_head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 5.8375634518vw 0 5.8375634518vw 3.2994923858vw;
}
@media screen and (min-width: 769px) {
  .comp-teachers-modal .teachers-modal_head {
    padding: 1.1538461538vw 0;
  }
}
@media screen and (min-width: 1300px) {
  .comp-teachers-modal .teachers-modal_head {
    padding: 15px 0;
  }
}
.comp-teachers-modal .teachers-modal_head .teachers-modal_head-name {
  width: 53.2994923858vw;
}
@media screen and (min-width: 769px) {
  .comp-teachers-modal .teachers-modal_head .teachers-modal_head-name {
    width: 79%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 15px 0;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.comp-teachers-modal .teachers-modal_head .teachers-modal_head-name span {
  font-size: 4.0609137056vw;
  font-weight: 500;
  color: #8D8D8D;
  display: block;
  padding: 0 0 3.0456852792vw;
  letter-spacing: 0.04em;
}
@media screen and (min-width: 769px) {
  .comp-teachers-modal .teachers-modal_head .teachers-modal_head-name span {
    font-size: 24px;
    padding: 0 45px 0 0;
    margin: 0 40px 0 0;
    border-right: 1px solid #dddddd;
  }
}
.comp-teachers-modal .teachers-modal_head .teachers-modal_head-name h3 {
  font-size: 5.076142132vw;
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 769px) {
  .comp-teachers-modal .teachers-modal_head .teachers-modal_head-name h3 {
    font-size: 24px;
  }
}
.comp-teachers-modal .teachers-modal_head .teachers-modal_head-img {
  padding: 0 2.0304568528vw 0 0;
  width: 25.3807106599vw;
  height: 25.3807106599vw;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  border-radius: 50%;
  background-color: #ffffff;
}
@media screen and (min-width: 769px) {
  .comp-teachers-modal .teachers-modal_head .teachers-modal_head-img {
    padding: 0 10px 0 0;
    width: 100px;
    height: 100px;
  }
}
.comp-teachers-modal .teachers-modal_info {
  border-top: 1px solid #dddddd;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 0 0 8.883248731vw;
}
@media screen and (min-width: 769px) {
  .comp-teachers-modal .teachers-modal_info {
    padding: 35px 0 60px;
  }
}
.comp-teachers-modal .teachers-modal_info dt {
  width: 20%;
  border-bottom: 1px solid #ddd;
  padding: 2.7918781726vw 0 3.2994923858vw;
  font-size: 3.5532994924vw;
  line-height: 5.5837563452vw;
  font-weight: 500;
  letter-spacing: 0.02em;
}
@media screen and (min-width: 769px) {
  .comp-teachers-modal .teachers-modal_info dt {
    padding: 16px 0 18px;
    font-size: 16px;
    line-height: 1.6;
    letter-spacing: 0.05em;
  }
}
.comp-teachers-modal .teachers-modal_info dd {
  width: 75.76%;
  border-bottom: 1px solid #ddd;
  padding: 2.7918781726vw 0 3.2994923858vw;
}
@media screen and (min-width: 769px) {
  .comp-teachers-modal .teachers-modal_info dd {
    padding: 16px 0 18px;
  }
}
.comp-teachers-modal .teachers-modal_info dd p {
  font-size: 3.5532994924vw;
  line-height: 5.5837563452vw;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 769px) {
  .comp-teachers-modal .teachers-modal_info dd p {
    font-size: 16px;
    line-height: 1.6;
  }
}
.comp-teachers-modal .teachers-modal_info dd ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 3.0456852792vw 7.614213198vw;
}
@media screen and (min-width: 769px) {
  .comp-teachers-modal .teachers-modal_info dd ul {
    gap: 12px 30px;
  }
}
.comp-teachers-modal .teachers-modal_info dd ul li {
  border: none;
}
.comp-teachers-modal .teachers-modal_info dd ul li a {
  font-size: 3.5532994924vw;
  line-height: 5.5837563452vw;
  position: relative;
  letter-spacing: 0.05em;
  color: #2B278D;
  text-decoration: underline;
  padding: 0 5.5837563452vw 0 0;
}
@media screen and (min-width: 769px) {
  .comp-teachers-modal .teachers-modal_info dd ul li a {
    font-size: 16px;
    line-height: 1.6;
    padding: 0 22px 0 0;
  }
}
.comp-teachers-modal .teachers-modal_info dd ul li a::after {
  position: absolute;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  top: calc(50% + 0.5076142132vw);
  right: 0;
  content: "";
  display: block;
  width: 2.7918781726vw;
  height: 2.538071066vw;
  background: url("../../img/common/icn_link_arw_sp.svg") no-repeat;
  background-size: contain;
}
@media screen and (min-width: 769px) {
  .comp-teachers-modal .teachers-modal_info dd ul li a::after {
    top: calc(50% + 2px);
    width: 11px;
    height: 10px;
  }
}
.comp-teachers-modal .teachers-modal_info dd ul li a.is-text {
  color: #000000;
  pointer-events: none;
  text-decoration: none;
}
.comp-teachers-modal .teachers-modal_info dd ul li a.is-text::after {
  display: none;
}
.comp-teachers-modal .button {
  width: 54.3147208122vw;
  margin: 0 auto 11.421319797vw;
  display: block;
  line-height: 15.2284263959vw;
  position: relative;
  font-size: 3.5532994924vw;
  text-align: center;
  color: #fff;
  background-color: #2B278D;
  border-radius: 7.614213198vw;
}
@media screen and (min-width: 769px) {
  .comp-teachers-modal .button {
    width: 250px;
    margin: 0 auto 65px;
    font-size: 16px;
    line-height: 70px;
    border-radius: 35px;
  }
}
.comp-teachers-modal .button::after {
  content: "";
  display: block;
  width: 3.807106599vw;
  height: 3.807106599vw;
  background: url("../../img/common/icn_btn_close.svg") no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: 7.1065989848vw;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (min-width: 769px) {
  .comp-teachers-modal .button::after {
    width: 14px;
    height: 14px;
    right: 38px;
  }
}

.labs-list_thema dd ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.labs-list_thema dd ul li {
  position: relative;
  padding-left: 1.2em;
  text-indent: 0;
  line-height: 1.8;
  word-break: break-all;
}

.labs-list_thema dd ul li::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
  color: #333;
  font-size: 1em;
  line-height: 1.8;
}