@charset "UTF-8";
/*!
global > color
------------------------------
*/
/*!
global > content-width
------------------------------
*/
/*!
global > font
------------------------------
*/
/*!
global > mixin
------------------------------
*/
/* イージング
_______________________________________________________________________________________________________*/
/*
 * Easing function
 * Original：http://easings.net/
 */
.c_mvtop {
  position: relative;
  padding: 25.6vw 30px 60px;
}
@media screen and (min-width: 768px) {
  .c_mvtop {
    padding: 17.125vw 40px 117px 40px;
  }
}
.c_mvtop__title {
  font-size: 1.25rem;
  font-weight: 900;
  letter-spacing: 0.01em;
  line-height: 1.6;
  color: #fff;
  text-align: right;
  padding-top: 20px;
}
@media screen and (min-width: 768px) {
  .c_mvtop__title {
    padding-top: 1.625vw;
    font-size: 2.5vw;
  }
}
.c_mvtop__banner01 {
  width: 74.6666666667vw;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .c_mvtop__banner01 {
    width: 70.25vw;
  }
}
.c_mvtop__banner01 img {
  position: relative;
}
@media screen and (min-width: 768px) {
  .c_mvtop__banner01 img {
    left: 2px;
  }
}
.c_mvtop__banner02 {
  position: absolute;
  right: -2.6666666667vw;
  top: 8vw;
  width: 58.6666666667vw;
}
@media screen and (min-width: 768px) {
  .c_mvtop__banner02 {
    right: -4.125vw;
    top: -0.5625vw;
    width: 58.8125vw;
  }
}
.c_mvtop__banner03 {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 120px;
}
@media screen and (min-width: 768px) {
  .c_mvtop__banner03 {
    left: 3.125vw;
    bottom: 1.5vw;
    width: 21.8125vw;
  }
}
.c_mvtop__banner04 {
  position: absolute;
  left: 5.3333333333vw;
  top: 14.6666666667vw;
  width: 21.3333333333vw;
}
@media screen and (min-width: 768px) {
  .c_mvtop__banner04 {
    left: 10.8125vw;
    top: 9.1875vw;
    width: 15.3125vw;
  }
}
.c_mvtop__banner05 {
  position: absolute;
  right: 17.3333333333vw;
  top: 18.6666666667vw;
  width: 13.3333333333vw;
}
@media screen and (min-width: 768px) {
  .c_mvtop__banner05 {
    right: 16.875vw;
    top: 14.875vw;
    width: 9.9375vw;
  }
}

.p_top {
  background-color: #58beee;
}
.p_top_teachers01 {
  position: relative;
  padding-top: 40px;
  padding-bottom: 80px;
}
@media screen and (min-width: 768px) {
  .p_top_teachers01 {
    padding-bottom: clamp(
      8.5625rem,
      4.4471153846vw + 4.1153846154rem,
      6.25rem
  );
    padding-top: 80px;
  }
}
.p_top_teachers01__inner {
  margin: 0 auto;
  border-radius: 20px;
  background-color: #fff;
  width: 100%;
  padding: 40px 30px;
  position: relative;
  margin-bottom: 30px;
}
@media screen and (min-width: 768px) {
  .p_top_teachers01__inner {
    border-radius: 40px;
    max-width: 960px;
    padding: clamp(
      3.75rem,
      4.5673076923vw + 1.5576923077rem,
      6.125rem
  ) clamp(
      2.5rem,
      10.2163461538vw + -2.4038461538rem,
      7.8125rem
  ) clamp(
      5.625rem,
      -3.6057692308vw + 9.2307692308rem,
      7.5rem
  );
    margin-bottom: 87px;
  }
}
.p_top_teachers01__inner .c_ttl25 {
  text-align: center;
  margin-bottom: 30px;
}
@media screen and (min-width: 768px) {
  .p_top_teachers01__inner .c_ttl25 {
    margin-bottom: 44px;
  }
}
.p_top_teachers01__inner p {
  line-height: 2;
}
.p_top_teachers01__img {
  width: 75vw;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  top: 19vw;
  margin-top: -12vw;
}
@media screen and (min-width: 768px) {
  .p_top_teachers01__img {
    top: 207px;
    margin-top: -161px;
    width: clamp(
      41.25rem,
      31.25vw + 26.25rem,
      57.5rem
  );
  }
}
.p_top_teachers01__video {
  margin: 20vw auto 0;
  width: calc(100% - 60px);
}
@media screen and (min-width: 768px) {
  .p_top_teachers01__video {
    margin: clamp(
      9.375rem,
      8.0528846154vw + 5.5096153846rem,
      13.5625rem
  ) auto 0;
    max-width: 960px;
  }
}
.p_top_teachers01__video_inner {
  width: 100%;
  aspect-ratio: 16/9;
  height: 100%;
}
.p_top_company {
  position: relative;
  padding-bottom: 80px;
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  .p_top_company {
    padding-bottom: clamp(
      6.25rem,
      2.1634615385vw + 5.2115384615rem,
      7.375rem
  );
  }
}
.p_top_company::before {
  content: "";
  width: 100%;
  height: 11.7vw;
  background-color: #58beee;
  clip-path: polygon(0 0, 100% 0, 100% 2.5%, 0% 100%);
  position: absolute;
  left: 0;
  top: -2px;
}
@media screen and (min-width: 768px) {
  .p_top_company::before {
    height: 11.7vw;
  }
}
.p_top_company::after {
  content: "";
  width: 41%;
  height: 8px;
  background-color: #58beee;
  position: absolute;
  right: 0;
  top: 5vw;
  transform: skew(0deg, -6.6deg);
}
@media screen and (min-width: 768px) {
  .p_top_company::after {
    height: 14px;
    top: 4.1vw;
  }
}
.p_top_company_inner {
  padding-top: 100px;
}
@media screen and (min-width: 768px) {
  .p_top_company_inner {
    padding-top: clamp(12.5rem, 4.423rem + 16.827vw, 21.25rem);
  }
}
.p_top_company__btn {
  text-align: center;
  padding-top: 50px;
}
@media screen and (min-width: 768px) {
  .p_top_company__btn {
    padding-top: 82px;
  }
}
.p_top_company_heading {
  position: relative;
  padding-bottom: 40px;
}
@media screen and (min-width: 768px) {
  .p_top_company_heading {
    padding-bottom: 54px;
  }
}
.p_top_company_heading .c_title01 {
  padding-top: 15px;
}
.p_top_company_heading .desc {
  font-size: 1rem;
  font-weight: 900;
  line-height: 2;
  padding-top: 25px;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p_top_company_heading .desc {
    padding-top: 35px;
    width: calc(100% - 20.625vw);
    font-size: clamp(
      1rem,
      0.4807692308vw + 0.7692307692rem,
      1.25rem
  );
  }
}
.p_top_company_heading .img {
  max-width: 160px;
  margin-bottom: 20px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p_top_company_heading .img {
    max-width: 20.9375vw;
    position: absolute;
    right: 0;
    top: clamp(-9.688rem, 2.933rem - 12.62vw, -3.125rem);
    margin-bottom: 0;
  }
}
.p_top01 {
  color: #fff;
  padding: 60px 0;
}
@media screen and (min-width: 768px) {
  .p_top01 {
    padding: 116px 0 95px 0;
  }
}
.p_top01__txt {
  font-size: 1rem;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .p_top01__txt {
    font-size: 1.25rem;
  }
}
.p_top01__inner {
  padding: 0 20px;
  padding: 0 clamp(
      1.25rem,
      18.1818181818vw + -2.3863636364rem,
      1.875rem
  );
}
@media screen and (min-width: 768px) {
  .p_top01__inner {
    padding: 0 40px;
    margin-right: 0;
    margin-left: auto;
    max-width: calc(50% + 620px);
    display: flex;
  }
}
.p_top01__inner .c_title01 {
  margin-top: 25px;
  margin-bottom: 25px;
}
@media screen and (min-width: 768px) {
  .p_top01__inner .c_title01 {
    margin-top: 34px;
    margin-bottom: 35px;
  }
}
.p_top01__left {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p_top01__left {
    padding-right: 40px;
  }
}
@media screen and (min-width: 768px) {
  .p_top01__left .txt_01 {
    padding-right: clamp(
      0rem,
      7.2115384615vw + -3.4615384615rem,
      3.75rem
  );
  }
}
.p_top01__right {
  padding-top: 40px;
}
@media screen and (min-width: 768px) {
  .p_top01__right {
    padding-top: 0;
    flex-shrink: 0;
    width: clamp(
      25rem,
      52.8846153846vw + -0.3846153846rem,
      52.5rem
  );
  }
}
.p_top01__right img {
  position: relative;
}
@media screen and (min-width: 768px) {
  .p_top01__right img {
    right: clamp(
      -3.75rem,
      -4.8076923077vw + 1.0576923077rem,
      -1.25rem
  );
    top: 6px;
  }
}
.p_top01__btn {
  padding-top: 25px;
}
@media screen and (min-width: 768px) {
  .p_top01__btn {
    padding-top: 34px;
  }
}
.p_top01 .c_list02 {
  padding-top: 50px;
}
@media screen and (min-width: 768px) {
  .p_top01 .c_list02 {
    padding-top: 75px;
  }
}
.p_top02 {
  position: relative;
  padding: 100px 0 60px 0;
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  .p_top02 {
    padding: calc(11.8vw + 90px) 0 78px 0;
  }
}
.p_top02 .c_bg01 {
  position: absolute;
  left: 0;
  top: 0;
}
.p_top02 .c_label01 {
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .p_top02 .c_label01 {
    margin-bottom: 24px;
  }
}
.p_top02 .c_title01 {
  margin-bottom: 25px;
}
@media screen and (min-width: 768px) {
  .p_top02 .c_title01 {
    margin-bottom: 35px;
  }
}
.p_top02__txt {
  font-size: 1rem;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .p_top02__txt {
    font-size: 1.25rem;
  }
}
.p_top02__img {
  margin-top: 25px;
}
@media screen and (min-width: 768px) {
  .p_top02__img {
    margin-top: 33px;
  }
}
@media screen and (min-width: 768px) {
  .p_top02__img img {
    width: 100%;
  }
}
.p_top02__btn {
  text-align: center;
  padding-top: 40px;
}
@media screen and (min-width: 768px) {
  .p_top02__btn {
    padding-top: 60px;
  }
}
.p_top03 {
  position: relative;
  color: #fff;
  padding: 100px 0 0 0;
  text-align: center;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .p_top03 {
    padding: clamp(
      11.25rem,
      7.5721153846vw + 7.6153846154rem,
      15.1875rem
  ) 0 0 0;
  }
}
.p_top03 .c_bg02 {
  position: absolute;
  left: 0;
  top: 0;
}
@media screen and (min-width: 768px) {
  .p_top03 .c_bg02::after {
    top: 4.5vw;
  }
}
@media screen and (min-width: 1440px) {
  .p_top03 .c_bg02::after {
    top: 6.5vw;
  }
}
.p_top03 .c_ttl25 {
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .p_top03 .c_ttl25 {
    margin-bottom: 53px;
  }
}
.p_top03__txt {
  font-size: 1rem;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 2;
  text-align: left;
  max-width: 818px;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .p_top03__txt {
    font-size: 1.25rem;
  }
}
.p_top03__btn {
  padding-top: 30px;
}
@media screen and (min-width: 768px) {
  .p_top03__btn {
    padding-top: 44px;
  }
}
@media screen and (min-width: 768px) {
  .p_top .c_other {
    margin-top: clamp(
      -0.6875rem,
      -1.3221153846vw + 0.6346153846rem,
      0rem
  );
    padding-bottom: clamp(
      0rem,
      3.2451923077vw + -1.5576923077rem,
      1.6875rem
  );
  }
}
/*# sourceMappingURL=top.css.map */
