@charset "UTF-8";
/* icon font */
/* 
====================
共通 specialcourse.csにまとめる
====================
 */
  /* 講習終了時のKVのフィルター (specialcourse.css) */
.coursekv__inner > * {
    -webkit-filter: blur(5px);
    filter: blur(5px);
}
/* / 講習終了時のKVのフィルター */

.coursekv--ended__message {
  position: absolute;
  z-index: 10;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  border: 4px solid #D13C18;
  text-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  color: #D13C18;
  background: #fff;
  border-radius: 2rem;
  font-size: 2.8rem;
  line-height: 1.5;
  letter-spacing: 0;
  padding: 3rem 4rem;
  font-weight: 600;
  white-space: nowrap;
}
.coursekv--ended__message.cfi {
  opacity: 0;
  -webkit-transition: opacity ease 600ms 200ms;
  transition: opacity ease 600ms 200ms;
}
.coursekv--ended__message.cfi.frame-in {
  opacity: 1;
}
@media screen and (max-width: 1023px) {
  .coursekv--ended__message {
    font-size: 2.8rem;
  }
}
@media screen and (max-width: 767px) {
  .coursekv--ended__message {
    font-size: 1.8004rem;
        padding: 1rem 2rem;
    border-width: 0.2rem;
    top: 30%;
    border-radius: 1rem;
  }
}


/* 
====================
↑ここまで共通 special.cssにまとめる
====================
 */

 /* 講習終了時のKVのフィルター外す (specialcourse.cssの打消し) */
 @media screen and (min-width: 768px) {
  /* .coursekv__inner > * {
    -webkit-filter: none;
            filter: none;
  } */
} 
@media screen and (max-width: 767px) {
   .coursekv__inner .coursekv__img {
    overflow: hidden;
    z-index: 1;
    /* padding-top: 21rem; */
  }

   /* 講習終了時のKVのフィルター外す (specialcourse.cssの打消し) */
  /* .coursekv__inner .coursekv__img picture {
    -webkit-filter: none;
            filter: none;
  }  */
}


/* 春キャンペーンバナー  */
 .springcp_banner {
  padding: 2rem 0 5rem;
  text-align: center;
}
.springcp_banner_detail {
  padding: 5rem 0;
}
@media screen and (max-width: 767px) {
  .springcp_banner {
    padding: 1rem 1rem 3rem;
  }
  .springcp_banner_detail {
    padding: 3rem 1rem;
}
}
/* 
====================
共通
====================
 */
.bg-red {
    background: url(/img/bg_stripe02.png) repeat;
    background-size: 0.8rem;
    padding: 4rem 0 6rem 0;
}

.bg-gray {
  background: url(/img/bg_stripe01.png) repeat;
  background-size: 0.8rem;
  /* padding: 4rem 0 6rem 0; */
}
.min_wrap800 {
    max-width: 86rem;
    margin: 0 auto;
    padding: 8rem 3rem;
}

/* ==================================
 * 締切
 * ================================== */
 .simekiri {
  background: #ffed26;
  color: #df2c00;
}
.simekiri p {
  text-align: center;
  font-weight: bold;
  padding: 1rem;
  font-size: 1.7rem;
}
.simekiri p span{
  font-size: 2rem;
}
 @media screen and (max-width: 768px) {
.simekiri p {
  font-size: 1rem;
}
.simekiri p span{
  font-size: 1.3rem;
}
}

/* 
====================
kv
====================
 */
.coursekv__img img {
  display: block;
  margin: auto;
}

/* 
====================
ボタン
====================
 */
 
.cta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4rem;
}

.campaign-btn p, .price-btn p {
    font-size: 2.3rem;
    margin-bottom: 2.5rem;
    text-align: center;
    line-height: 2.3rem;
    font-weight: bold;
}
.campaign-btn p span {
    font-size: 3rem;
    font-weight: bold;
    color: #D13B16;
}

.campaign-btn a {
    background: linear-gradient(to bottom, #FF4D22, #D13B16);
    font-size: 2.6rem;
    font-weight: bold;
    color: #fff;
    border-radius: 5rem;
    padding: 2rem 3rem;
}
.campaign-btn a::after {
  content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    background-image: url(/img/summercourse/cv-arrow-w.png);
    background-size: contain;
    vertical-align: middle;
    position: relative;
    left: 10px;
    top: -2px;
    background-repeat: no-repeat;
}
.campaign-btn a span {
    color: #FFF45F;
    font-size: 3.5rem;
    vertical-align: text-bottom;
}

.price-btn a {
    background: linear-gradient(to bottom, #FBFF87, #F7DE00);
    font-size: 2.6rem;
    font-weight: bold;
    color: #d13d17;
    border-radius: 5rem;
    padding: 2rem 3rem;
    border: 3px solid;
}
.price-btn a::after {
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    background-image: url(/img/summercourse/cv-arrow-r.png);
    background-size: contain;
    vertical-align: middle;
    position: relative;
    left: 10px;
    top: -2px;
    background-repeat: no-repeat;

}
.price-btn a span {
      font-size: 3.5rem;
      vertical-align: text-bottom;
}

/* 
====================
キャンペーン
====================
 */
 .top_campaign_info {
    margin-top: 8rem;
}
.all_top_campaign_info_box {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0 20px;
    width: calc(100vw - 6rem);
    max-width: 100rem;
    margin: auto;
    padding: 0 0 5rem 0;
}
.all_top_campaign_info_box img {
    width: 100%;
    max-width: 52.5rem;
    height: auto;
}


/* 
====================
アンカーリンク
====================
 */
.schoolfeatures__btn__container {
    max-width: 86rem;
    margin: 1rem auto 6rem;
    padding: 0;
    display: flex;
    justify-content: space-between;
}

.schoolfeatures__btn {
    display: block;
    width: 24%;
    height: 78px;
    border: 3px solid #D13C18;
    border-radius: 0.6rem;
    background: #fff;
    text-align: center;
    display: grid;
    place-items: center;
}
.schoolfeatures__btn a {
    display: block;
    width: 100%;
    height: 100%;
    padding: 1.5rem 2rem 1rem;
    color: #D13C18;
    font-size: 1.4rem;
    font-weight: 700;
    position: relative;
}

.schoolfeatures__btn a::after {
    font-family: 'icomoon' !important;
    speak: never;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color: #D13C18;
    line-height: 1;
    font-size: 1.0em;
    content: '\e904';
    position: absolute;
    left: calc(50% - 0.5em);
    bottom: 0.2rem;
    margin: 0 auto;
    -webkit-transition: ease 200ms;
    transition: ease 200ms;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
}

/* 
====================
3つの特長
====================
 */
.point-contents {
    background-color: #fff;
    border-radius: 1rem;
    box-shadow: 0 0.4rem 0 rgba(0, 0, 0, 0.16);
    margin: 6.5rem 0 0;
}

.ponint-heading {
    position: relative;
    background-color: #D13C18;
    border-radius: 1rem 1rem 0 0;
    padding: 4.6rem 0 2.45rem;
}

.ponint-heading:before {
    content: "";
    position: absolute;
    background-color: #fff;
    border-radius: 50%;
    left: 2rem;
    top: 2.05rem;
    width: 0.8rem;
    height: 0.8rem;
}

.ponint-heading::after {
    content: "";
    position: absolute;
    background-color: #fff;
    border-radius: 50%;
    right: 2rem;
    top: 2.05rem;
    width: 0.8rem;
    height: 0.8rem;
}

.point-number {
    z-index: 1;
    position: absolute;
    background-color: #D13C18;
    border-radius: 50%;
    display: inline-block;
    left: 50%;
    transform: translateX(-50%);
    width: 9rem;
    height: 9rem;
    top: -2.5rem;
}

.point-number div {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
}

.point-number div span:nth-child(1) {
    font-size: 1.4rem;
    color: #fff;
}

.point-number div span:nth-child(2) {
    font-size: 3.3rem;
    color: #FFD726;
}

.point-heading-ttl {
    font-size: 2.8rem;
    position: relative;
    z-index: 2;
    text-align: center;
    color: #fff;
    font-weight: bold;
    line-height: 1.5;
}

.point-heading-ttl span:before {
    content: "";
    position: absolute;
    width: 100%;
    left: 0;
    bottom: 0;
    background-color: rgba(255, 255, 255, 0.25);
    transition: transform cubic-bezier(0.165, 0.84, 0.44, 1) 800ms;
    will-change: transform;
    transform: scaleX(0);
    transform-origin: left center;
}

.frame-in .point-heading-ttl span:before {
    transition: transform cubic-bezier(0.165, 0.84, 0.44, 1) 800ms 400ms;
    transform: scaleX(1);
    height: 1.4rem;
}

.point-method {
    padding: 3.9rem 5rem 4rem;
    display: flex;
    justify-content: space-between;
}

.topfeatures__section__body__graph {
    display: flex;
    justify-content: space-between;
}

.point-method h4 {
    width: 33.9rem;
    font-size: 1.6rem;
    letter-spacing: 0.02em;
    line-height: 1.75;
}

.point-method h4 span{
  font-weight: bold;
  color: #D13C18;
  position: relative;
}

.topfeatures .topfeatures__section {
    box-shadow: 0 0.4rem 0 rgba(0, 0, 0, 0.16);
    margin: 6.5rem 0 0;
}
.topfeatures__section__body__graph__lead {
    text-align: center;
    color: black;
    margin-bottom: 1rem;
}

/* ==================================
 * TOP -3つの特徴
 * ================================== */

/* ===== 追加部分============ */
 .topfeatures__prizes__list__item,.topfeatures__prizes__list__item.is-active {
  margin: auto;
  margin-top: 60px;
}
.topfeatures .topfeatures__section {
  background-color: #fff;
  border-radius: 1rem;
}
  .topfeatures .topfeatures__section {
    box-shadow: 0 0.4rem 0 rgba(0, 0, 0, 0.16);
    margin: 6.5rem 0 0;
  }
  .topfeatures .topfeatures__section.cfi.frame-in .topfeatures__section__heading__ttl span:before {
  transition: transform cubic-bezier(0.165, 0.84, 0.44, 1) 800ms 400ms;
  transform: scaleX(1);
}

.topfeatures .topfeatures__section .topfeatures__section__heading:before {
  content: "";
  position: absolute;
  background-color: #fff;
  border-radius: 50%;
}
  .topfeatures .topfeatures__section .topfeatures__section__heading:before {
    left: 2rem;
    top: 2.05rem;
    width: 0.8rem;
    height: 0.8rem;
  }
  .topfeatures .topfeatures__section .topfeatures__section__heading:after {
  content: "";
  position: absolute;
  background-color: #fff;
  border-radius: 50%;
}
  .topfeatures .topfeatures__section .topfeatures__section__heading:after {
    right: 2rem;
    top: 2.05rem;
    width: 0.8rem;
    height: 0.8rem;
  }
  .topfeatures .topfeatures__section .topfeatures__section__heading__point {
  z-index: 1;
  position: absolute;
  background-color: #D13C18;
  border-radius: 50%;
  display: inline-block;
  left: 50%;
  transform: translateX(-50%);
}
  .topfeatures .topfeatures__section .topfeatures__section__heading__point {
    width: 9rem;
    height: 9rem;
    top: -2.5rem;
  }
  .topfeatures .topfeatures__section .topfeatures__section__heading__point > div {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
}
.topfeatures .topfeatures__section .topfeatures__section__heading__point span {
  display: block;
  font-weight: bold;
}
.topfeatures .topfeatures__section .topfeatures__section__heading__point span:nth-child(1) {
  color: #fff;
}
  .topfeatures .topfeatures__section .topfeatures__section__heading__point span:nth-child(1) {
    font-size: 1.4rem;
  }
  .topfeatures .topfeatures__section .topfeatures__section__heading__point span:nth-child(2) {
  color: #FFD726;
}
  .topfeatures .topfeatures__section .topfeatures__section__heading__point span:nth-child(2) {
    font-size: 3.3rem;
  }
.topfeatures .topfeatures__section .topfeatures__section__heading__ttl {
  position: relative;
  z-index: 2;
  text-align: center;
  color: #fff;
  font-weight: bold;
  line-height: 1.5;
}

  .topfeatures .topfeatures__section .topfeatures__section__heading__ttl {
    font-size: 2.8rem;
  }
.topfeatures .topfeatures__section .topfeatures__section__heading__ttl span {
  position: relative;
  display: inline-block;
  color: #FFD726;
}
.topfeatures .topfeatures__section .topfeatures__section__heading__ttl span:before {
  content: "";
  position: absolute;
  width: 100%;
  left: 0;
  bottom: 0;
  background-color: rgba(255, 255, 255, 0.25);
  transition: transform cubic-bezier(0.165, 0.84, 0.44, 1) 800ms;
  will-change: transform;
  transform: scaleX(0);
  transform-origin: left center;
}
  .topfeatures .topfeatures__section .topfeatures__section__heading__ttl span:before {
    height: 1.4rem;
  }
  .topfeatures .topfeatures__section .topfeatures__section__heading__ttl span:before {
    height: 1.15rem;
  }
.topfeatures .topfeatures__section .topfeatures__section__lead {
  position: relative;
  background-color: #F2F8FF;
}
  .topfeatures .topfeatures__section .topfeatures__section__lead {
    padding: 3rem 5rem 2rem;
  }
.topfeatures .topfeatures__section .topfeatures__section__lead:after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-color: #F2F8FF transparent transparent transparent;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
}
  .topfeatures .topfeatures__section .topfeatures__section__lead:after {
    border-width: 4.8rem 40rem 0 40rem;
  }
.topfeatures .topfeatures__section .topfeatures__section__lead .topfeatures__section__lead__ttl {
  position: relative;
  color: #2640AD;
  font-weight: bold;
  letter-spacing: 0em;
}
  .topfeatures .topfeatures__section .topfeatures__section__lead .topfeatures__section__lead__ttl {
    font-size: 1.6rem;
    padding-left: 3rem;
  }
.topfeatures .topfeatures__section .topfeatures__section__lead .topfeatures__section__lead__ttl:before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  background: url(/img/top/top_feature/ico_face.svg) center no-repeat;
  background-size: contain;
}
  .topfeatures .topfeatures__section .topfeatures__section__lead .topfeatures__section__lead__ttl:before {
    width: 2.6rem;
    height: 2.6rem;
  }
  .topfeatures .topfeatures__section .topfeatures__section__lead .topfeatures__section__lead__img {
    position: absolute;
    right: 5rem;
    bottom: 2rem;
    width: 22.5rem;
  }
.topfeatures .topfeatures__section .topfeatures__section__lead .topfeatures__section__lead__img img {
  width: 100%;
}
  .topfeatures .topfeatures__section .topfeatures__section__lead .topfeatures__section__lead__list {
    width: 48rem;
  }
  .topfeatures .topfeatures__section .topfeatures__section__lead .topfeatures__section__lead__list.-point02 {
    width: 47rem;
  }
.topfeatures .topfeatures__section .topfeatures__section__lead .topfeatures__section__lead__list li {
  position: relative;
  line-height: 1.5;
  letter-spacing: 0.02em;
}
  .topfeatures .topfeatures__section .topfeatures__section__lead .topfeatures__section__lead__list li {
    font-size: 1.6rem;
    padding-left: 1.5rem;
    margin: 0.7rem 0 0;
  }
.topfeatures .topfeatures__section .topfeatures__section__lead .topfeatures__section__lead__list li:before {
  content: "";
  position: absolute;
  left: 0;
  border-radius: 50%;
  background-color: #2640AD;
}
  .topfeatures .topfeatures__section .topfeatures__section__lead .topfeatures__section__lead__list li:before {
    top: 0.8rem;
    width: 0.8rem;
    height: 0.8rem;
  }
    .topfeatures .topfeatures__section .topfeatures__section__body {
    padding: 6.8rem 0 4rem;
  }
  .topfeatures .topfeatures__section .topfeatures__section__body.-point03 {
    padding: 3.9rem 5rem 4rem;
  }

  .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__wrap {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
.topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__ttlWrap {
  position: relative;
  z-index: 2;
}
  .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__ttlWrap {
    padding-left: 5rem;
    padding-top: 2.2rem;
  }
.topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__label {
  position: relative;
  display: inline-block;
  font-weight: bold;
  color: #fff;
  background-color: #D13C18;
  line-height: 1.4;
  letter-spacing: 0em;
}
  .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__label {
    padding: 0.7rem 2.1rem 0.9rem 4.9rem;
    border-radius: 2.2rem;
    font-size: 1.8rem;
  }
.topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__label:before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: url(/img/top/top_feature/ico_face_smile.svg) center no-repeat;
  background-size: contain;
}
  .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__label:before {
    left: 2.1rem;
    width: 2.6rem;
    height: 2.6rem;
  }
.topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__label:after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-color: #D13C18 transparent transparent transparent;
}
  .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__label:after {
    border-width: 1.4rem 0.8rem 0 0.8rem;
    bottom: -1.3rem;
  }
.topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__ttl {
  font-weight: bold;
  letter-spacing: 0.04em;
  line-height: 2;
}
.topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__ttl .topfeatures__section__body__ttl_inner > span, .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__ttl > span {
  display: inline-block;
  position: relative;
}
.topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__ttl .topfeatures__section__body__ttl_inner > span:after, .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__ttl > span:after {
  content: "";
  position: absolute;
  height: 0.2rem;
  width: 100%;
  border-radius: 0.1rem;
  background-color: rgba(242, 70, 27, 0.25);
  bottom: 0;
  left: 0;
}
.topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__ttl span span {
  color: #D13C18;
}
.topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__ttl.-point02 .topfeatures__section__body__ttl_inner > span {
  position: relative;
}
  .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__ttl.-point02 .topfeatures__section__body__ttl_inner > span:before {
    content: "";
    z-index: -1;
    position: absolute;
    background-color: #fff;
    border-radius: 0.4rem;
    width: calc(100% + 10px);
    height: calc(100% + 20px);
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
  }
.topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__img {
  z-index: 1;
  display: block;
}
  .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__img {
    position: absolute;
    right: 0;
    top: 0;
    width: 35rem;
  }
.topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__img img {
  width: 100%;
}
  .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__listWrap {
    padding: 5.7rem 5rem 0;
  }
.topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__list {
  background-color: #FFFBEC;
}
  .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__list {
    padding: 2rem 11.6rem;
  }
.topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__list li {
  position: relative;
  letter-spacing: 0.02em;
  line-height: 1.75;
}
  .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__list li {
    font-size: 1.6rem;
    padding-left: 2.8rem;
  }
.topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__list li:before {
  content: "";
  position: absolute;
  background-color: #FFD726;
}
  .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__list li:before {
    width: 0.8rem;
    height: 0.8rem;
    border-radius: 0.4rem;
    left: 1rem;
    top: 1rem;
  }
  .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__list li + li {
    margin-top: 0.5rem;
  }
.topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__arrow {
  text-align: center;
  margin: 1rem 0;
}
  .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__arrow img {
    width: 6.4rem;
  }
  .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__checkList {
            padding: 5rem 5rem 0;
  }
.topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__checkList li {
  position: relative;
  letter-spacing: 0.02em;
  line-height: 1.5;
}
.topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__checkList li:before {
  content: "";
  position: absolute;
  background: url(/img/top/top_feature/ico_checkbox.svg) center no-repeat;
  background-size: contain;
  left: 0;
}
  .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__checkList li:before {
    width: 1.9rem;
    height: 1.9rem;
    top: 0.3rem;
  }
.topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__checkList li + li {
  margin-top: 0.6rem;
}
.topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__checkList li span {
  font-weight: bold;
  color: #D13C18;
}
  .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__checkList.-point02 .txt-caption {
    font-size: 1.2rem;
    line-height: 1.5;
    letter-spacing: 0;
    margin-top: 1em;
    text-indent: -1em;
    color: #888;
    text-align: center;
  }
.topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__prize {
  position: relative;
  text-align: center;
  margin: 2rem auto 0;
}
.topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__prize_1 {
  padding-top: 2rem;
}
.topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__prize:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
.topfeatures__section__body__prize_1:before {
  background-color: #D13C18;
}
  .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__prize:before {
    height: 0.3rem;
    border-radius: 0.2rem;
  }
.topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__prize__fukidashiWrap {
  position: relative;
  display: inline-block;
}
.topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__prize__fukidashiWrap:after {
  content: "";
  position: absolute;
  background: url(/img/top/top_feature/ico_megaphone.svg) center no-repeat;
  background-size: contain;
}
  .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__prize__fukidashiWrap:after {
    width: 5.2rem;
    height: 4rem;
    bottom: 0;
    right: -0.2rem;
  }
.topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__prize__fukidashi {
  position: relative;
  display: inline-block;
  margin: 0 auto;
  text-align: center;
  font-weight: bold;
  background-color: #FFFBEC;
  line-height: 1.66;
  filter: drop-shadow(0 0.4rem 0 rgba(0, 0, 0, 0.16));
}
  .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__prize__fukidashi {
    font-size: 1.8rem;
    padding: 1.7rem 10.7rem 1.82rem;
    border-radius: 6.7rem;
    letter-spacing: 0.03em;
  }
.topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__prize__fukidashi span {
  color: #D13C18;
}
.topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__prize__fukidashi:before {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  background: url(/img/top/top_feature/ico_arrow_yellow.svg) center no-repeat;
  background-size: contain;
}
  .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__prize__fukidashi:before {
    width: 2.123rem;
    height: 1.527rem;
    bottom: -1.5rem;
  }
.topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__prize__lead {
  line-height: 1.5;
}
  .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__prize__lead {
    margin: 3.2rem 0 1.6rem;
    font-size: 1.6rem;
    letter-spacing: 0.028em;
  }
.topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__prize__crown {
  display: flex;
  /* flex-wrap: wrap; */
  justify-content: center;
  gap: 5px;
}
.topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__prize__crownWrap {
  position: relative;
}
  .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__prize__crownWrap {
    width: 22.3rem;
  }
   .topfeatures__section__body__prize__crownWrap_1 {
    margin: auto;
   }
     .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__prize__crownWrap + .topfeatures__section__body__prize__crownWrap {
    margin-left: 1.42rem;
  }
  .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__prize__crownWrap:before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -0.5rem;
  background: url(/img/top/top_feature/img_kazari_left.svg) center no-repeat;
  background-size: contain;
}
  .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__prize__crownWrap:before {
    width: 2.087rem;
    height: 7.693rem;
  }
.topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__prize__crownWrap:after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -0.5rem;
  background: url(/img/top/top_feature/img_kazari_right.svg) center no-repeat;
  background-size: contain;
}
  .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__prize__crownWrap:after {
    width: 2.087rem;
    height: 7.693rem;
  }
.topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__prize__crownWrap dt {
  position: relative;
  font-weight: bold;
  line-height: 2;
  letter-spacing: 0em;
}
  .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__prize__crownWrap dt {
    font-size: 1.4rem;
    padding-top: 3.4rem;
  }
.topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__prize__crownWrap dt:before {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 0;
  background: url(/img/top/top_feature/ico_crown.svg) center no-repeat;
  background-size: contain;
}
  .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__prize__crownWrap dt:before {
    width: 5.712rem;
    height: 2.436rem;
  }
.topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__prize__crownWrap dd {
  font-weight: bold;
  color: #D13C18;
  letter-spacing: 0em;
}
  .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__prize__crownWrap dd {
    line-height: 1.375;
  }
  .topfeatures__prizes__list__item__ttl {
    font-size: 1.6rem;
  }
  .topfeatures__prizes__list__item__ttl_1 {
    font-size: 2.8rem;
}
.topfeatures__prizes__list__item__ttl_1-1 {
  font-size: 2.3rem;
}
.topfeatures__prizes__list__item__ttl_1-2 {
font-size: 1.8rem;
}
.topfeatures__prizes__list__item__ttl_1-3 {
font-size: 1.5rem;
color: #333333;
font-weight: 100;
}
  .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__graph {
    display: flex;
    justify-content: space-between;
  }
.topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__graph__text {
  line-height: 1.75;
}
  .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__graph__text {
    width: 33.9rem;
    font-size: 1.6rem;
    letter-spacing: 0.02em;
  }
.topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__graph__text span {
  font-weight: bold;
  color: #D13C18;
}
.topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__graph__wrap {
  text-align: center;
}
  .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__graph__wrap {
    width: 32.1rem;
  }
.topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__graph__lead {
  display: flex;
  align-items: center;
  justify-content: center;
}
.boldCaption {
    font-size: 1.6rem;
    letter-spacing: 0.02em;
      font-weight: bold;
  line-height: 1.75;
  }
.caption {
    font-size: 1rem;
    letter-spacing: 0.02em;
    margin-left: 0.5rem;
      display: inline-block;
  line-height: 1.75;
  }
.topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__graph__img {
  width: 100%;
  display: block;
}
  .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__graph__img {
    margin-top: 0.6rem;
  }
.topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__graph__img img {
  width: 100%;
}

 /* 
====================
成績保証
====================
 */
.topcourses__guarantee {
    max-width: 49rem;
    margin: 4rem auto 0;
    padding: 2rem 6rem;
    background: url(/img/prize-left.svg), url(/img/prize-right.svg), radial-gradient(#F0F0F0 0px, #F0F0F0 4px, transparent 4px), radial-gradient(#F0F0F0 0px, #F0F0F0 4px, transparent 4px), radial-gradient(#F0F0F0 0px, #F0F0F0 4px, transparent 4px), radial-gradient(#F0F0F0 0px, #F0F0F0 4px, transparent 4px), -webkit-gradient(linear, left top, left bottom, from(#fff), to(#fff));
    background: url(/img/prize-left.svg), url(/img/prize-right.svg), radial-gradient(#F0F0F0 0px, #F0F0F0 4px, transparent 4px), radial-gradient(#F0F0F0 0px, #F0F0F0 4px, transparent 4px), radial-gradient(#F0F0F0 0px, #F0F0F0 4px, transparent 4px), radial-gradient(#F0F0F0 0px, #F0F0F0 4px, transparent 4px), linear-gradient(#fff, #fff);
    background-repeat: no-repeat;
    background-size: auto 75%, auto 75%, 8px 8px, 8px 8px, 8px 8px, 8px 8px, 100% 100%;
    background-position: left 2.5rem center, right 2.5rem center, top 1rem left 1rem, top 1rem right 1rem, bottom 1rem right 1rem, bottom 1rem left 1rem, 0 0;
    border-radius: 1rem;
    -webkit-filter: drop-shadow(0 0.4rem 0 rgba(0, 0, 0, 0.16));
    filter: drop-shadow(0 0.4rem 0 rgba(0, 0, 0, 0.16));
    text-align: center;
}
.topcourses__guarantee__ttl {
    color: #D13C18;
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 1.75;
    letter-spacing: 0;
}
.topcourses__guarantee__ttl strong {
    font-size: 4.2rem;
    line-height: 1.5;
    letter-spacing: 0;
}
    .topcourses__guarantee__notation {
        margin-top: 0.5rem;
    }
.txt-caption {
    font-size: 1.4rem;
    line-height: 1.5;
    letter-spacing: 0;
    margin-top: 1em;
}


 /* 
====================
メソッド
====================
 */
 .method-ttl {
  color: #D13C18;
  font-size: 2.4rem;
  font-weight: bold;
      position: relative;
        padding: 2.5rem;
    text-align: center;
    border-top: 4px solid #D13C18;
 }
   .methodbox {
    border: 4px solid #D13C18;
    border-radius: 20px;
    padding: 0;
}
.point-method-open{
    border-top: 4px solid #D13C18;
    display: block;
}
.point-method-close {
  border-top: 4px solid #D13C18;
    display: none;
}
.method {
    position: relative;
}
.method-ttl::before {
    content: "";
    position: absolute;
    top: 1rem;
    left: 4.5rem;
    width: 1.5em;
    height: 1.5em;
    font-size: 35px;
}
.method-ttl01::before {
        background: url(/img/summercourse/01.svg) no-repeat center center / 100%;
}
.method-ttl02::before {
        background: url(/img/summercourse/02.svg) no-repeat center center / 100%;
}
.method-ttl03::before {
        background: url(/img/summercourse/03.svg) no-repeat center center / 100%;
}

 .method {
    max-width: 100rem;
    margin: 0 auto;
    overflow: hidden;
}

 .plus-icon {
    display: block;
    position: absolute;
    width: 2.4rem;
    height: 2.4rem;
    top: calc(50% - 1.2rem);
    right: 4rem;
}
.method-ttl01 .plus-icon::before {
    transform: rotate(0deg);
}
.method-ttl02 .plus-icon::before,
.method-ttl03 .plus-icon::before {
    transform: rotate(90deg);
}
.plus-icon::before, .plus-icon::after {
    content: '';
    display: block;
    height: 3px;
    width: 100%;
    border-radius: 99px;
    top: calc(50% - 1px);
    left: 0;
    background: #D13C18;
    position: absolute;
    transition: transform ease 200ms;
}
.method-ttl01.is-open .plus-icon::before {
    transform: rotate(90deg); 
}
.method-ttl02.is-open .plus-icon::before,
.method-ttl03.is-open .plus-icon::before {
    transform: rotate(0deg); 
}

.method-ttl01 {
    border-top: initial;
}

 /* 
====================
講習日程
====================
 */
.summercourseprogram__detail {
    padding: 6rem 5rem 0 5rem;
    font-size: 1.6rem;
    line-height: 1.75;
    letter-spacing: 0;
}
.summercourseprogram__detail section {
  background: #fff;
  -webkit-filter: drop-shadow(0 0.4rem 0 rgba(0, 0, 0, 0.16));
          filter: drop-shadow(0 0.4rem 0 rgba(0, 0, 0, 0.16));
  border-radius: 1rem;
  padding: 5rem;
}
.summercourseprogram__detail section + section {
  margin-top: 3rem;
}
.summercourseprogram__detail section > *:first-child {
  margin-top: 0;
}
.summercourseprogram__detail h2 {
  font-size: 2.8rem;
  line-height: 1.5;
  font-weight: 700;
  padding-left: 1.8rem;
  position: relative;
  margin-bottom: 3rem;
}
.summercourseprogram__detail h2:not(:first-child) {
  margin-top: 5rem;
}
.summercourseprogram__detail h2:before {
  content: "";
  display: block;
  width: 4px;
  border-radius: 99px;
  background: #D13C18;
  height: calc( 100% - .4em);
  position: absolute;
  top: 0.2em;
  left: 0;
}
.summercourseprogram__detail h3 {
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: 0;
  font-weight: 700;
  margin-bottom: 2rem;
}
.summercourseprogram__detail h3:not(:first-child) {
  margin-top: 3rem;
}
.summercourseprogram__detail h4 {
  font-weight: 700;
  margin-bottom: 2rem;
}
.summercourseprogram__detail h4:not(:first-child) {
  margin-top: 3rem;
}
.summercourseprogram__detail p {
  margin-top: 2rem;
}
.summercourseprogram__detail ul,
.summercourseprogram__detail ol {
  margin-top: 3rem;
}
.summercourseprogram__detail ol {
  counter-reset: orderlist;
}
.summercourseprogram__detail ol li {
  padding-left: 1.5em;
  counter-increment: orderlist;
  text-indent: -1.5em;
}
.summercourseprogram__detail ol li:not(:last-child) {
  margin-bottom: 1rem;
}
.summercourseprogram__detail ol li:before {
  content: counter(orderlist) ".";
  width: 1.5em;
  display: inline-block;
  text-indent: 0;
}
.summercourseprogram__detail ul li {
  padding-left: 1em;
  position: relative;
}
.summercourseprogram__detail ul li:before {
  content: "";
  height: 6px;
  width: 6px;
  border-radius: 9999px;
  position: absolute;
  background: #D13C18;
  left: 0.2em;
  top: calc( 1.75em * 0.5 - 2px);
}
.summercourseprogram__detail ul li:not(:last-child) {
  margin-bottom: 0.1em;
}
.summercourseprogram__detail li ul,
.summercourseprogram__detail li ol {
  margin: 0.1em 0 0.5em;
  padding-left: 1em;
}
.summercourseprogram__detail a {
  color: #D13C18;
  text-decoration: underline;
}

/* @media screen and (min-width: 768px)  */
  .summercourseprogram__detail a {
    -webkit-transition: ease 200ms;
    transition: ease 200ms;
  }
  .summercourseprogram__detail a:hover {
    opacity: 0.7;
  }
  .summercourseprogram__detail dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .summercourseprogram__detail dl dt {
    width: 9rem;
  }
  .summercourseprogram__detail dl dd {
    width: calc( 100% - 9rem);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .summercourseprogram__detail dl dd > div {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .summercourseprogram__detail dl dd a {
    display: block;
    min-width: calc( ( 100% - 6em) * .2);
    margin-left: 1.2em;
    position: relative;
  }
  .summercourseprogram__detail dl dd a:before {
    content: "";
    height: 6px;
    width: 6px;
    border-radius: 9999px;
    position: absolute;
    background: #D13C18;
    right: calc( 100% + 0.4em);
    top: calc( 1.75em * 0.5 - 2px);
  }
  .summercourseprogram__detail dl dt:nth-child(n+3),
.summercourseprogram__detail dl dd:nth-child(n+3) {
    margin-top: 1.5rem;
  }
    .summercourseprogram__detail dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .summercourseprogram__detail dl dt {
    width: 9rem;
  }
  .summercourseprogram__detail dl dd {
    width: calc( 100% - 9rem);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .summercourseprogram__detail dl dd > div {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .summercourseprogram__detail dl dd a {
    display: block;
    min-width: calc( ( 100% - 6em) * .2);
    margin-left: 1.2em;
    position: relative;
  }
  .summercourseprogram__detail dl dd a:before {
    content: "";
    height: 6px;
    width: 6px;
    border-radius: 9999px;
    position: absolute;
    background: #D13C18;
    right: calc( 100% + 0.4em);
    top: calc( 1.75em * 0.5 - 2px);
  }
  .summercourseprogram__detail dl dt:nth-child(n+3),
.summercourseprogram__detail dl dd:nth-child(n+3) {
    margin-top: 1.5rem;
  }
/* @media screen and (min-width: 768px)  */

.summercourseprogram__detail table {
  max-width: 100%;
  width: 60rem;
  margin: 1.5rem auto 0;
  border-style: solid;
  border-width: 2px 0 2px;
  border-color: #D13C18;
}
.summercourseprogram__detail table th {
  width: 14.4rem;
  text-align: center;
  background: rgba(209, 60, 24, 0.25);
  color: #D13C18;
  padding: 0.8rem 1.5rem;
  word-break: keep-all;
}
.summercourseprogram__detail table td {
  padding: 0.6rem 1rem;
}
.summercourseprogram__detail table tr:not(:last-child) {
  border-bottom: 2px dashed #D13C18;
}
.summercourseprogram__detail > p:first-child {
  margin-top: 0;
}
.summercourseprogram__detail .calendar + .calendar {
  margin-top: 8rem;
}
.summercourseprogram__detail .calendar .calendar__ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 400;
  max-width: 60rem;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.summercourseprogram__detail .calendar .calendar__ttl__season {
  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;
  margin-right: 2rem;
  height: 5rem;
  width: 12rem;
  font-size: 2.4rem;
  font-weight: 700;
}
.summercourseprogram__detail .calendar .calendar__tbl {
  border: 1px solid #D9D4D4;
}
.summercourseprogram__detail .calendar .calendar__tbl tr {
  border: none;
}
.summercourseprogram__detail .calendar .calendar__tbl th,
.summercourseprogram__detail .calendar .calendar__tbl td {
  border: 1px solid #D9D4D4;
  text-align: center;
  vertical-align: middle;
}
.summercourseprogram__detail .calendar .calendar__tbl thead td,
.summercourseprogram__detail .calendar .calendar__tbl thead th {
  padding: 0.25em;
  background: #e2e2e2;
  border: 1px solid #fff;
  color: #000;
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: 0;
  font-weight: 400;
}
.summercourseprogram__detail .calendar .calendar__tbl thead td.sun,
.summercourseprogram__detail .calendar .calendar__tbl thead th.sun {
  background: #D13C18;
  color: #fff;
}
.summercourseprogram__detail .calendar .calendar__tbl thead td.sat,
.summercourseprogram__detail .calendar .calendar__tbl thead th.sat {
  background: #3F8CC9;
  color: #fff;
}
.summercourseprogram__detail .calendar .calendar__tbl tbody td {
  height: 6rem;
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: 0;
  font-weight: 400;
  padding: 1rem 0.5rem;
}
.summercourseprogram__detail .calendar__notation {
letter-spacing: 0;
    margin: 2rem auto 0;
    max-width: 60rem;
    text-align: center;
}
.summercourseprogram__detail .calendar.season01 .calendar__ttl__bg01 {
  background: #d6e9de;
  margin-right: 10px;
  padding: 5px 10px;
}
.summercourseprogram__detail .calendar.season01 .calendar__tbl .term01 {
  background: #d6e9de;
}
.summercourseprogram__detail .calendar.season01 .calendar__ttl__bg02 {
  background: #FEEED0;
  margin-right: 10px;
  padding: 5px 10px;
}
.summercourseprogram__detail .calendar.season01 .calendar__tbl .term02 {
  background: #FEEED0;
}
.summercourseprogram__detail .calendar.season01 .calendar__ttl__bg03 {
  background: #FFE2DB;
  margin-right: 10px;
  padding: 5px 10px;
}
.summercourseprogram__detail .calendar.season01 .calendar__tbl .term03 {
  background: #FFE2DB;
}

/* ==================================
 * googlemap口コミ
 * ================================== */
.g_voices {
  background: url(/img/bg_stripe01.png) repeat;
  background-size: 0.8rem;
  padding: 8rem 0;
  /* margin-bottom: 8rem; */
}
.g_voices__list_no_slide {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

.g_voices__list_no_slide li {
	width:32%;
	margin: 0 0.5%;
}
.g_slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
  display: flex;
}
.g_voices__list__item {
  border-radius: 1.6rem;
  background: #fff;
  padding: 2rem;
  margin: 0 0.8rem 0.5rem;
  -webkit-filter: drop-shadow(0 0.4rem 0 rgba(0, 0, 0, 0.16));
  filter: drop-shadow(0 0.4rem 0 rgba(0, 0, 0, 0.16));
	width:21vw;
  height: 25rem;
}
.g_voices__list__inner {
	display: flex;
  align-items: center;
  height: 21rem;
}
.g_voices__list__item .g_voices_pic {
  width:30%;
	text-align: center;
}

.g_voices__list__item .g_voices_txt {
  width:65%;
}

.g_voices__list__item img{
  width: 85%;
  max-height: 18rem;
}

.g_voices__list .slick-dots li {
  display: block;
  margin: 0 0.4rem;
}

.g_voices_txt .txt-limit {
  margin: 0 0 0 2%;
  font-size: 1.6rem;
  line-height: 2.3rem;
}
.g_voices_txt .txt-limit {
  margin-bottom: 2%;
}

.gmap {
  text-align: right;
  color: #757575;
  font-size: 1.5rem;
  line-height: 2.3rem;
}
.gmap span{
  text-decoration: underline;
  color: #757575;
}


.slick-dots {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  bottom: 0;
  left: 0;
  width: 100%;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  overflow: hidden;
}

.slick-dots button {
  width: 2rem;
  height: 2rem;
  font-size: 0;
  position: relative;
}
.g_voices .slick-dots li.slick-active button::before {
  background: #D13C18;
}
.g_voices .slick-dots > li:first-child:last-child {
    display: none;
}
.slick-dots button::before {
  content: "";
  display: block;
  position: absolute;
  top: 0.5rem;
  left: 0.5rem;
  width: 1rem;
  height: 1rem;
  border-radius: 9999px;
  background: #D9D4D4;
  -webkit-transition: ease 200ms;
  transition: ease 200ms;
}
.gmap [target="_blank"]::after {
  display: none;
}

.g_voices [target="_blank"]::after {
  font-family: 'icomoon' !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #D13C18;
  font-size: 0.8em;
  content: '\e904' !important;
  position: absolute;
  right: 2rem;
  transition: ease 200ms;
}

/* location */
.school_num_area {
	display: none;
}
.school-location [aria-hidden=true] {
  display: none
}


/* ==================================
 * 成績アップ事例
 * ================================== */
.voices {
  background: url(/img/bg_stripe01.png) repeat;
  background-size: 0.8rem;
}
.voices__inner {
    padding-bottom: 8rem;
}
.voices__balloon {
    max-width: 45rem;
    border-radius: 9999px;
    background: #fff;
    -webkit-filter: drop-shadow(0 0.4rem 0 rgba(0, 0, 0, 0.16));
    filter: drop-shadow(0 0.4rem 0 rgba(0, 0, 0, 0.16));
    width: calc(100% - 5rem);
    margin: 0 auto;
    position: relative;
    text-align: center;
    font-size: 1.8rem;
    line-height: 1.5;
    letter-spacing: 0;
    font-weight: 600;
    padding: 1.8rem;
    z-index: 1;
}
.voices__balloon:after {
  content: "";
  position: absolute;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 0.3rem 0;
  background: #fff;
  bottom: -1.2rem;
  left: calc(50% - 1.25rem);
  -webkit-transform: scaleX(0.6) rotate(45deg);
          transform: scaleX(0.6) rotate(45deg);
  z-index: -1;
}
.voices__balloon::before {
  content: "";
  display: block;
  width: 5rem;
  height: 4rem;
  background-image: url(../img/top/icon-megafon.svg);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  right: 0;
  bottom: 0;
}
.voices__balloon strong {
  font-weight: 600;
  color: #D13C18;
}
.voices__image {
  display: block;
  margin: -4rem 0 -10rem;
}
.voices__image picture,
.voices__image img {
  display: block;
  max-width: 100%;
  margin: 0 auto;
}
.voices__list__item .point span {
  font-size: 0.419em;
}
.voices__list__item .detail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.75;
  letter-spacing: 0;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.voices__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  opacity: 0;
  -webkit-transition: opacity ease 200ms;
  transition: opacity ease 200ms;
  padding: 4rem 0 2.5rem;
}
.voices__list.slick-initialized {
  opacity: 1;
}
.voices__list__item {
  width: 24rem;
  border-radius: 1.6rem;
  background: #fff;
  padding-bottom: 2rem;
  margin: 0 0.8rem 0.5rem;
  -webkit-filter: drop-shadow(0 0.4rem 0 rgba(0, 0, 0, 0.16));
          filter: drop-shadow(0 0.4rem 0 rgba(0, 0, 0, 0.16));
}
.voices__list__item .person {
  min-height: 4.6rem;
  width: 100%;
  background: #D13C18;
  font-size: 1.8rem;
  line-height: 1.5;
  letter-spacing: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-weight: 700;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  color: #fff;
  border-radius: 1.6rem 1.6rem 0 0;
  padding: 0.8rem 1rem;
}
  .voices__list__item .person {
    font-size: 1.8rem;
  }
.voices__list__item .point {
  margin: 1.25rem 0 0.5rem;
  padding-right: 1rem;
  text-align: center;
  font-size: 4.3rem;
  font-weight: 700;
  color: #D13C18;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  position: relative;
}
.voices__list__item .point::before {
  content: "";
  display: inline-block;
  display: block;
  width: 2rem;
  height: 2rem;
  background-image: url(../img/icon-plus.svg);
  background-size: contain;
  background-repeat: no-repeat;
  position: relative;
  margin-right: 0;
  bottom: 0;
}
.voices__list__item .point::after {
  content: "";
  width: 3.56rem;
  height: 3.46rem;
  background-image: url(../img/top/icon-up.svg);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  right: 1.6rem;
  bottom: 0.2em;
}
  .voices__list__item .detail {
    font-size: 1.6rem;
  }
.voices__list__item .detail span {
  display: block;
  margin: 0 0.8rem;
}
.voices__list__item .detail .num {
  font-family: "Barlow", "Noto Sans JP", sans-serif;
  font-weight: 600;
}
.voices__list__item .detail .arrow {
  display: block;
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
  border-style: solid;
  border-width: 4px 0 4px 5px;
  border-color: transparent transparent transparent #333333;
}
.voices__list .slick-dots {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  overflow: hidden;
}
.voices__list .slick-dots li {
  display: block;
  margin: 0 0.4rem;
}
.voices__list .slick-dots li.slick-active button::before {
  background: #D13C18;
}
.voices__list .slick-dots button {
  width: 2rem;
  height: 2rem;
  font-size: 0;
  position: relative;
}
.voices__list .slick-dots button::before {
  content: "";
  display: block;
  position: absolute;
  top: 0.5rem;
  left: 0.5rem;
  width: 1rem;
  height: 1rem;
  border-radius: 9999px;
  background: #D9D4D4;
  -webkit-transition: ease 200ms;
  transition: ease 200ms;
}
.voices__list__caption {
  max-width: 106rem;
  margin: 0 auto;
  padding: 0 3rem;
  text-align: right;
  margin-top: 1rem;
}
  .voices__btn {
    width: calc((100% - 2rem) * .5);
  }
.voices__btn__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: 106rem;
  margin: 0 auto;
  padding: 4rem 3rem 0;
}
  .faq {
    padding: 8rem 3rem;
  }
.faq__btn {
  margin: 0 auto;
}
.faq__btn__container {
  padding-top: 4rem;
}

/* ==================================
 * SEOテキスト
 * ================================== */
.accordion_btn {
    background-color: rgb(230, 230, 230);
    text-align: center;
    position: relative;
    height: 40px;
}
.seo_plus-icon {
    display: block;
    position: absolute;
    width: 2.4rem;
    height: 2.4rem;
    top: calc(50% - 1.2rem);
    right: 50%;
}
.seo_plus-icon {
    display: block;
    position: absolute;
    width: 2.4rem;
    height: 2.4rem;
    top: calc(50% - 1.2rem);
    right: 50%;
}
.accordionlist {
    display: none;
    padding: 2em 1em;
    background-color: rgb(230, 230, 230);
    text-align: center;
    border-top: 1px solid #fff;
    text-align: start;
}
.seo_plus-icon::before {
    transform: rotate(90deg);
}
.is-open .seo_plus-icon::before {
    transform: rotate(0deg);
}

.seo_plus-icon::before, .seo_plus-icon::after {
    content: "";
    display: block;
    height: 3px;
    width: 100%;
    border-radius: 99px;
    top: calc(50% - 1px);
    background: #D13C18;
    position: absolute;
    transition: transform ease 200ms;
}
.accordionlist p {
    max-width: 100rem;
    margin: 0 auto;
    font-size: 1.6rem;
    line-height: 2.5rem;
    margin-bottom: 1.5%;
}



/* 
====================
講習日程
====================
 */
@media screen and (max-width: 1023px) {
  .summercourseprogram__detail {
    font-size: 1.6rem;
  }
    .summercourseprogram__detail h3 {
    font-size: 2rem;
  }
    .summercourseprogram__detail .calendar .calendar__tbl thead td,
.summercourseprogram__detail .calendar .calendar__tbl thead th {
    font-size: 2rem;
  }
    .summercourseprogram__detail .calendar .calendar__tbl tbody td {
    font-size: 2rem;
  }
}


  /* 
====================
sp
====================
 */

@media screen and (max-width: 767px) {

  /* 
====================
共通
====================
 */
  .min_wrap800 {
    max-width: 86rem;
    margin: 0 auto;
    padding: 8rem 3rem;
  }

  /* 
====================
ボタン
====================
 */
  .cta {
    flex-direction: column;
  }

  .campaign-btn p,
  .price-btn p {
    font-size: 1.5rem;
    margin-bottom: 2.5rem;
    text-align: center;
    line-height: 2.3rem;
  }

  .campaign-btn p span {
    font-size: 2rem;
    font-weight: bold;
    color: #D13B16;
  }

  .campaign-btn a,
  .price-btn a {
    font-size: 1.6rem;
  }

  .campaign-btn a span,
  .price-btn a span {
    font-size: 2.5rem;
    vertical-align: bottom;
  }

  /* 
====================
アンカーリンク
====================
 */
  .schoolfeatures__btn__container {
    padding: 0 2.5rem;
    margin: 1rem auto 2rem;
    flex-wrap: wrap;
  }

  .schoolfeatures__btn {
    width: 49%;
    margin-bottom: 1rem;
  }

  .schoolfeatures__btn a {
    padding: 1.5rem 0 1.8rem;
  }

  /* 
====================
3つの特長
====================
 */
  .point-method {
    padding: 2.5rem;
    display: flex;
    /* justify-content: space-between; */
    flex-direction: column;
  }

  .point-method h4 {
    width: auto;
    font-size: 1.4rem;
    letter-spacing: 0.02em;
    line-height: 1.75;
    margin-bottom: 2.5rem;
  }

  /* 
====================
成績保証
====================
 */

  .topcourses__guarantee {
    width: 100%;
    background-position: left 1.2rem center, right 1.2rem center, top 1rem left 1rem, top 1rem right 1rem, bottom 1rem right 1rem, bottom 1rem left 1rem, 0 0;
    background-size: auto 75%, auto 75%, 5px 5px, 5px 5px, 5px 5px, 5px 5px, 100% 100%;
    padding: 1rem 2rem;
  }

  .topcourses__guarantee__ttl {
    font-size: 1.4rem;
  }

  .topcourses__guarantee__ttl strong {
    font-size: 2.7006rem;
  }

  .topcourses__guarantee__notation {
    margin-top: 0;
    letter-spacing: -0.05em;
  }

  .txt-caption {
    font-size: 1.162rem;
  }

  /* 
====================
3つの特徴
====================
 */
  .topfeatures__prizes__list__item,
  .topfeatures__prizes__list__item.is-active {
    margin-top: 0px;
  }

  .topfeatures .topfeatures__section {
    box-shadow: 0 0.3rem 0 rgba(0, 0, 0, 0.16);
    margin: 4.775rem 0 0;
  }

  .topfeatures .topfeatures__section .topfeatures__section__heading {
    padding: 3rem 0 1.45rem;
  }

  .topfeatures .topfeatures__section .topfeatures__section__heading:before {
    left: 1rem;
    top: 1rem;
    width: 0.5rem;
    height: 0.5rem;
  }

  .topfeatures .topfeatures__section .topfeatures__section__heading:after {
    right: 1rem;
    top: 1rem;
    width: 0.5rem;
    height: 0.5rem;
  }

  .topfeatures .topfeatures__section .topfeatures__section__heading__point {
    width: 7rem;
    height: 7rem;
    top: -2.25rem;
  }

  .topfeatures .topfeatures__section .topfeatures__section__heading__point span:nth-child(1) {
    font-size: 1.05rem;
  }

  .topfeatures .topfeatures__section .topfeatures__section__heading__point span:nth-child(2) {
    font-size: 2.45rem;
  }

  .topfeatures .topfeatures__section .topfeatures__section__heading__ttl {
    font-size: 1.8rem;
  }

  .topfeatures .topfeatures__section .topfeatures__section__lead {
    padding: 2.5rem 2.5rem 0.1rem;
  }

  .topfeatures .topfeatures__section .topfeatures__section__lead:after {
    border-width: 4rem calc(50vw - 2.5rem) 0 calc(50vw - 2.5rem);
  }

  .topfeatures .topfeatures__section .topfeatures__section__lead .topfeatures__section__lead__ttl {
    font-size: 1.4rem;
    padding-left: 2.25rem;
  }

  .topfeatures .topfeatures__section .topfeatures__section__lead .topfeatures__section__lead__ttl:before {
    width: 1.9rem;
    height: 1.9rem;
  }

  .topfeatures .topfeatures__section .topfeatures__section__lead .topfeatures__section__lead__img {
    display: block;
    width: 17.85rem;
    margin: 0.25rem auto 1rem;
  }

  .topfeatures .topfeatures__section .topfeatures__section__lead .topfeatures__section__lead__list li {
    font-size: 1.4rem;
    padding-left: 1.25rem;
  }

  .topfeatures .topfeatures__section .topfeatures__section__lead .topfeatures__section__lead__list li:before {
    top: 0.6rem;
    width: 0.6rem;
    height: 0.6rem;
  }

  .topfeatures .topfeatures__section .topfeatures__section__lead .topfeatures__section__lead__list li+li {
    margin-top: 0.5rem;
  }

  .topfeatures .topfeatures__section .topfeatures__section__body {
    padding: 5rem 0 2.5rem;
  }

  .topfeatures .topfeatures__section .topfeatures__section__body.-point03 {
    padding: 2.5rem 2.5rem 3.125rem;
  }

  .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__label {
    margin: 0 auto;
    padding: 0.575rem 0.96rem 0.725rem 2.84rem;
    border-radius: 1.575rem;
    font-size: 1.3rem;
  }

  .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__label:before {
    left: 1rem;
    width: 1.6rem;
    height: 1.6rem;
  }

  .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__label:after {
    border-width: 0.75rem 0.45rem 0 0.45rem;
    bottom: -0.7rem;
  }

  .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__ttl {
    font-size: 2.4rem;
    margin-top: 1.5rem;
  }

  .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__ttl {
    font-size: 1.6rem;
    margin-top: 1.25rem;
  }

  .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__img {
    width: 100%;
    margin-top: 1.5rem;
  }

  .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__listWrap {
    padding: 1.5rem 2rem 0;
  }

  .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__list {
    padding: 2rem 2.5rem;
  }

  .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__list li {
    font-size: 1.4rem;
    padding-left: 1.25rem;
  }

  .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__list li:before {
    width: 0.6rem;
    height: 0.6rem;
    border-radius: 0.3rem;
    left: 0;
    top: 0.8rem;
  }

  .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__arrow img {
    width: 3.2rem;
  }

  .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__checkList {
    padding: 2.5rem 2.5rem 0;
  }

  .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__checkList li {
    font-size: 1.8rem;
    padding-left: 2.7rem;
  }

  .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__checkList li {
    font-size: 1.4rem;
    padding-left: 2.3rem;
  }

  .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__checkList li:before {
    width: 1.7rem;
    height: 1.7rem;
    top: 0.2rem;
  }

  /* .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__checkList.-point02 {
    margin-top: 1.5rem;
  } */
  .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__checkList.-point02 .txt-caption {
    font-size: 1.2rem;
    line-height: 1.5;
    letter-spacing: 0;
    margin-top: 1em;
    /* padding-left: 1em; */
    text-indent: -1em;
    color: #888;
  }

  .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__prize {
    width: calc(100% - 5rem);
  }

  .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__prize:before {
    height: 0.2rem;
    border-radius: 0.1rem;
  }

  .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__prize__fukidashiWrap:after {
    width: 3.95rem;
    height: 3.2rem;
    bottom: 0;
    right: -0.75rem;
  }

  .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__prize__fukidashi {
    letter-spacing: 0em;
    font-size: 1.4rem;
    padding: 1.15rem 4.65rem 1.25rem;
    border-radius: 3.35rem;
  }

  .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__prize__fukidashi:before {
    width: 1.5rem;
    height: 1.15rem;
    bottom: -1rem;
  }

  .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__prize__lead {
    margin: 2.15rem 0 1rem;
    font-size: 1.4rem;
    letter-spacing: 0em;
  }

  .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__prize__crownWrap {
    width: 13.5rem;
  }

  .topfeatures__section__body__prize__crownWrap_1 {
    margin: auto;
  }

  .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__prize__crownWrap+.topfeatures__section__body__prize__crownWrap {
    margin-left: 0.5rem;
  }

  .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__prize__crownWrap:before {
    width: 1.4965rem;
    height: 5.5155rem;
  }

  .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__prize__crownWrap:after {
    width: 1.4965rem;
    height: 5.5155rem;
  }

  .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__prize__crownWrap dt {
    font-size: 0.9rem;
    padding-top: 2.5rem;
  }

  .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__prize__crownWrap dt:before {
    width: 4.095rem;
    height: 1.7465rem;
  }

  .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__prize__crownWrap dd {
    line-height: 1.5;
  }

  .topfeatures__prizes__list__item__ttl {
    font-size: 1.1rem;
  }

  .topfeatures__prizes__list__item__ttl_1 {
    font-size: 2rem;
  }

  .topfeatures__prizes__list__item__ttl_1 {
    font-size: 2rem;
  }

  .topfeatures__prizes__list__item__ttl_1-1 {
    font-size: 1.5rem;
  }

  .topfeatures__prizes__list__item__ttl_1-2 {
    font-size: 1.2rem;
  }

  .topfeatures__prizes__list__item__ttl_1-3 {
    font-size: 1rem;
  }

  .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__graph__text {
    font-size: 1.4rem;
    letter-spacing: 0em;
  }

  .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__graph__wrap {
    margin-top: 2.5rem;
  }

  .boldCaption {
    font-size: 1.3rem;
    letter-spacing: 0.02em;
  }

  .caption {
    font-size: 0.8rem;
    letter-spacing: 0.02em;
    margin-left: 0.9rem;
  }

  .topfeatures .topfeatures__section .topfeatures__section__body .topfeatures__section__body__graph__img {
    margin-top: 0.7rem;
  }

  /* 
====================
メソッド
====================
 */

  .method-ttl {
    font-size: 1.8rem;
    padding: 1.5rem;
  }

  .method-ttl::before {
    content: "";
    position: absolute;
    top: 2rem;
    left: 1rem;
    width: 1em;
    height: 1em;
    font-size: 35px;
  }

  .plus-icon {
    display: block;
    position: absolute;
    width: 2rem;
    height: 2rem;
    top: calc(50% - 1.2rem);
    right: 1rem;
  }

  .methodbox dd {
    padding: 0;
  }

  /* 
====================
講習日程
====================
 */
  .summercourseprogram__detail {
    padding: 3rem 1.5rem 0 1.5rem;
    font-size: 1.4rem;
  }

  .summercourseprogram__detail section {
    padding: 3.5rem 2rem;
  }

  .summercourseprogram__detail section+section {
    margin-top: 2rem;
  }

  .summercourseprogram__detail h2 {
    font-size: 1.8rem;
    padding-left: 1rem;
    margin-bottom: 2.5rem;
  }

  .summercourseprogram__detail h2:not(:first-child) {
    margin-top: 3.5rem;
  }

  .summercourseprogram__detail h2:before {
    width: 0.3rem;
  }

  .summercourseprogram__detail h3 {
    font-size: 1.6rem;
  }

  .summercourseprogram__detail h3 {
    margin-bottom: 1.5rem;
  }

  .summercourseprogram__detail h3:not(:first-child) {
    margin-top: 2.5rem;
  }

  .summercourseprogram__detail h4 {
    margin-bottom: 1.5rem;
  }

  .summercourseprogram__detail h4:not(:first-child) {
    margin-top: 2.5rem;
  }

  .summercourseprogram__detail ul,
  .summercourseprogram__detail ol {
    margin-top: 2rem;
  }

  .summercourseprogram__detail table {
    width: 100%;
    border-width: 0.1rem 0 0.1rem;
    margin-top: 2rem;
  }

  .summercourseprogram__detail table th {
    width: 7rem;
    padding: 0.6rem 1.5rem;
  }

  .summercourseprogram__detail table td {
    padding: 0.6rem 1.5rem;
  }

  .summercourseprogram__detail table tr:not(:last-child) {
    border-bottom: 0.1rem dashed #D13C18;
  }

  .summercourseprogram__detail dl dt {
    margin-bottom: 0.3rem;
  }

  .summercourseprogram__detail dl dd {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-left: -0.2em;
  }

  .summercourseprogram__detail dl dd>div {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .summercourseprogram__detail dl dd a {
    display: block;
    min-width: calc((100% - 3.6em) * .3333);
    margin-left: 1.2em;
    position: relative;
  }

  .summercourseprogram__detail dl dd a:before {
    content: "";
    height: 5px;
    width: 5px;
    border-radius: 9999px;
    position: absolute;
    background: #D13C18;
    right: calc(100% + 0.3em);
    top: calc(1.75em * 0.5 - 2.5px);
  }

  .summercourseprogram__detail dl dt:not(:first-child) {
    margin-top: 2rem;
  }

  .summercourseprogram__detail .calendar+.calendar {
    margin-top: 5rem;
  }

  .summercourseprogram__detail .calendar .calendar__ttl__season {
    font-size: 1.6rem;
    width: 8rem;
    height: 4rem;
  }

  .summercourseprogram__detail .calendar .calendar__tbl thead td,
  .summercourseprogram__detail .calendar .calendar__tbl thead th {
    font-size: 1.6rem;
  }

  .summercourseprogram__detail .calendar .calendar__tbl tbody td {
    font-size: 1.6rem;
  }

  .summercourseprogram__detail .calendar .calendar__tbl tbody td {
    height: 2rem;
    padding: 0.5rem;
  }

  .summercourseprogram__detail .calendar__notation {
    margin: 1.5rem 0 auto;
  }

  /* 
====================
保護者の口コミ
====================
 */
  .g_voices {
    padding: 5rem 0;
  }

  .g_voices__list_no_slide li {
    width: calc(100% - 5rem);
    margin: 0 auto 30px auto;
  }

  .g_voices__list__item {
    width: 75vw;
    height: 22rem;
  }

  .g_voices__list__inner {
    display: flex;
    align-items: center;
    height: 17rem;
  }

  .g_voices_txt .txt-limit {
    margin: 0 0 0 2%;
    font-size: 1.2rem;
    line-height: 2rem;
  }

  .gmap {
    font-size: 1.2rem;
  }

  .slick-dots button {
    width: 1.4rem;
    height: 1.4rem;
  }

  .slick-dots button::before {
    top: 0.35rem;
    left: 0.35rem;
    width: 0.7rem;
    height: 0.7rem;
  }

  /* 
====================
成績アップ事例
====================
 */
  .voices__balloon {
    font-size: 1.8rem;
  }

  .voices__balloon {
    font-size: 1.44rem;
  }

  .voices__balloon:after {
    width: 1.2rem;
    height: 1.2rem;
    bottom: -0.5rem;
    left: calc(50% - .6rem);
    border-radius: 0.3rem 0;
  }

  .voices__balloon::before {
    width: 4rem;
    height: 3rem;
  }

  .voices__list__item {
    width: 15.75rem;
    padding-bottom: 1.5rem;
  }

  .voices__list__item .person {
    font-size: 1.2996rem;
  }

  .voices__list__item .person {
    height: 3rem;
  }

  .voices__list__item .point {
    font-size: 3rem;
  }

  .voices__list__item .point::after {
    width: 2.4rem;
    height: 2.3rem;
    right: 1rem;
  }

  .voices__list__item .detail {
    font-size: 1.4rem;
  }

  .voices__list__item .detail span {
    margin: 0 0.4rem;
  }

  .voices__list .slick-dots li {
    margin: 0;
  }

  .voices__list .slick-dots button {
    width: 1.4rem;
    height: 1.4rem;
  }

  .voices__list .slick-dots button::before {
    top: 0.35rem;
    left: 0.35rem;
    width: 0.7rem;
    height: 0.7rem;
  }

  .voices__list__caption {
    padding: 0 2.5rem;
  }

  .voices__btn {
    width: calc((100% - 1rem) * .5);
  }

  .voices__btn__container {
    padding: 2.5rem 2.5rem 0;
  }

  .faq {
    padding: 5rem 2.5rem;
  }

  .faq__btn__container {
    padding-top: 2.5rem;
  }

  /* 
====================
SEOテキスト
====================
 */
  .accordionlist p {
    max-width: 90vw;
    margin: 0 auto;
    font-size: 1.296rem;
    line-height: 2rem;
    margin-bottom: 5%;
  }
}


 /* 
====================
成績アップ事例
====================
 */
@media screen and (min-width: 128rem) {
  .voices__image {
    width: 100vw;
    margin-left: calc( ( 100% - 100vw) * .5);
    margin-right: calc( ( 100% - 100vw) * .5);
  }
}