@charset "UTF-8";
html {
  font-size: 100%;
}

body {
  font-family: "游ゴシック体";
  color: #000000;
  text-align: center;
}

img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

li {
  list-style: none;
}

.inner {
  max-width: 860px;
  padding: 0 20px;
  margin: 0 auto;
}

.section__ttl--pc {
  max-width: 792px;
  margin: 50px auto 20px;
}

.section__ttl--sp {
  display: none;
}

.feature__about {
  font-size: 0.875rem;
  line-height: 1.78;
  margin: 25px 0 40px;
}

.catch__ttl {
  font-size: 0.875rem;
  font-weight: bold;
  text-align: center;
  max-width: 840px;
  height: 40px;
  padding: 12px 0;
  border-top: 1px solid #000000;
  border-bottom: 1px solid #000000;
  margin: 0 auto 25px;
}

.btn {
  text-decoration: underline;
  position: relative;
}

.btn::after {
  position: absolute;
  content: "";
  top: 4px;
  right: -14px;
  width: 7px;
  height: 7px;
  border-top: 1px solid #000000;
  border-right: 1px solid #000000;
  transform: rotate(45deg);
}

.curriculum__img--sp {
  display: none;
}

span {
  background-color: yellow;
}

.header__mv {
  position: relative;
  height: 800px;
}
.header__logo {
  position: absolute;
  top: 26px;
  left: 3.1vw;
}
.header__text {
  position: absolute;
  top: 132px;
  left: 3.1vw;
}
.header__lead {
  position: absolute;
  top: 535px;
  right: 3.1vw;
}

#course__wrapper .course__wrapper__heading {
  max-width: 751px;
  margin: 90px auto 80px;
}
#course__wrapper .course__wrapper__subttl {
  font-size: 1.875rem;
  line-height: 1.7;
  letter-spacing: 1.05px;
  margin-bottom: 15px;
}
#course__wrapper .course__wrapper__img {
  max-width: 606px;
  margin: 0 auto 80px;
}
#course__wrapper .course__wrapper__text {
  max-width: 560px;
  margin: 0 auto 50px;
}
#course__wrapper .course__wrapper__arrow {
  max-width: 341px;
  margin: 0 auto 40px;
}
#course__wrapper .course__list {
  display: flex;
  justify-content: space-between;
  gap: 9.5%;
  margin-bottom: 140px;
  text-align: left;
}
#course__wrapper .course__list__item {
  width: 45.2%;
}
#course__wrapper .course__list__item__img {
  border-radius: 50%;
  overflow: hidden;
  max-width: 280px;
  margin: 20px auto;
}
#course__wrapper .course__list__item__text {
  font-size: 1rem;
  font-weight: bold;
  line-height: 1.8;
}

#feature {
  background-color: #45CCC4;
  position: relative;
  padding-bottom: 80px;
}
#feature .feature__ttl {
  position: absolute;
  top: -67.5px;
  left: 0;
  right: 0;
  margin: 0 auto;
  max-width: 311px;
}
#feature .feature__subttl {
  font-size: 1.5rem;
  font-weight: bold;
  letter-spacing: 1.92px;
  padding: 100px 0 50px;
}
#feature .feature__list__item {
  display: block;
  margin-bottom: 30px;
}
#feature .feature__list__item:last-child {
  margin-bottom: 0;
}

#feature01 .feature01__course--top {
  max-width: 380px;
  margin: 0 auto 40px;
}
#feature01 .feature01__course__box {
  background-color: #EB4E45;
  color: #FFFFFF;
  margin-bottom: 10px;
}
#feature01 .feature01__course__text {
  text-align: left;
  font-size: 0.75rem;
  line-height: 1.16;
  margin-top: 10px;
}
#feature01 .feature01__course--sub {
  display: flex;
  justify-content: space-between;
  gap: 9.5%;
  margin-bottom: 40px;
}
#feature01 .feature01__course--sub .feature01__course___item {
  width: 45.2%;
}
#feature01 .feature01__course--sub .feature01__course___item .feature01__course__text--left,
#feature01 .feature01__course--sub .feature01__course___item .feature01__course__text--right {
  text-align: left;
  font-size: 0.75rem;
  line-height: 1.16;
  margin-top: 10px;
  padding: 0 22px;
}
#feature01 .curriculum__introduction {
  background-color: #ECFCFB;
  padding: 40px 0;
  width: 100vw;
  margin-top: 42px;
}
#feature01 .curriculum__introduction .curriculum__introduction__about {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 7.3%;
  margin-top: 20px;
}
#feature01 .curriculum__introduction .curriculum__introduction__about__item {
  width: 30.9%;
}
#feature01 .curriculum__introduction .curriculum__introduction__about__text {
  width: 61.5%;
  text-align: left;
}
#feature01 .curriculum__introduction .curriculum__introduction__about__text__ttl {
  font-size: 1.0625rem;
  font-weight: bold;
  padding-bottom: 20px;
}
#feature01 .curriculum__introduction .curriculum__introduction__about__text__detail {
  font-size: 0.875rem;
  line-height: 1.78;
}

#feature03 .grid__container {
  display: grid;
  grid-template-columns: repeat(3, auto);
  grid-template-rows: repeat(3, 156px);
  gap: 30px;
  margin-bottom: 30px;
}
#feature03 .grid__container .grid__item {
  background-color: #F5F5F5;
  padding: 20px;
  text-align: left;
}
#feature03 .grid__container .grid__item__subject {
  background-color: #333333;
  font-size: 0.75rem;
  color: #FFFFFF;
  text-align: center;
  width: 40px;
}
#feature03 .grid__container .grid__item__name {
  font-size: 0.875rem;
  font-weight: bold;
  padding: 14px 0;
}
#feature03 .grid__container .grid__item__message {
  font-size: 0.875rem;
  line-height: 1.2;
}

#feature04 .feature04__chart {
  max-width: 600px;
  margin: 0 auto 60px;
}
#feature04 .student__list {
  display: flex;
  justify-content: space-between;
  gap: 4.7%;
}
#feature04 .student__list__item {
  width: 47.6%;
  background-image: url(../img/stripe.svg);
  background-repeat: repeat;
  padding: 40px;
}
#feature04 .student__list__item__img {
  width: 180px;
  margin: 0 auto;
  border-radius: 50%;
  overflow: hidden;
}
#feature04 .student__list__item__ttl {
  font-size: 1rem;
  font-weight: bold;
  width: 110px;
  margin: 25px auto;
  background-color: #FFFFFF;
  padding: 5px 15px;
}
#feature04 .student__list__item__message {
  font-size: 0.8125rem;
  line-height: 2;
  text-align: left;
}

#feature05 .support__wrapper {
  background-color: #ECFCFB;
  font-size: 1rem;
  font-weight: bold;
  padding: 40px 0;
  margin-bottom: 50px;
}
#feature05 .support__wrapper .support__wrapper__block {
  display: flex;
  justify-content: space-between;
  max-width: 628px;
  margin: 30px auto 40px;
  line-height: 2;
  text-align: left;
}
#feature05 .support__wrapper .support__wrapper__block .support__list__item__text {
  position: relative;
}
#feature05 .support__wrapper .support__wrapper__block .support__list__item__text::before {
  position: absolute;
  content: "";
  top: 11px;
  left: -11px;
  width: 11px;
  height: 11px;
  background-color: #45CCC4;
  border-radius: 50%;
  overflow: hidden;
}
#feature05 .support__wrapper__text {
  line-height: 1.75;
}
#feature05 .feature__caption {
  margin: 50px auto 148px;
}
#feature05 .feature__caption__ttl {
  padding-bottom: 32px;
  font-size: 1.0625rem;
  font-weight: bold;
}
#feature05 .feature__caption__text {
  font-size: 0.875rem;
  line-height: 1.78;
}

.contact__list {
  max-width: 961px;
  display: flex;
  gap: 1px;
  margin: 0 auto;
  position: fixed;
  z-index: 9999;
  right: 0;
  left: 0;
  bottom: 0;
  width: 100%;
}
.contact__list__item {
  width: 50%;
  background-color: #45CCC4;
  padding: 28px 0;
  color: #FFFFFF;
  font-size: 1.25rem;
  font-weight: bold;
  letter-spacing: 0.56px;
  text-align: left;
  border-radius: 10px 10px 0px 0px;
  display: table-cell;
  vertical-align: middle;
  text-align: center;
}
.contact__list__item__text--left, .contact__list__item__text--right {
  position: absolute;
  position: relative;
}
.contact__list__item__text--left::after, .contact__list__item__text--right::after {
  position: absolute;
  content: "";
  top: 5px;
  right: -20px;
  width: 10px;
  height: 10px;
  border-top: 2px solid #FFFFFF;
  border-right: 2px solid #FFFFFF;
  transform: rotate(45deg);
}

@media screen and (max-width: 538px) {
  #feature03 .grid__container {
    display: flex;
    flex-direction: column;
  }
  #feature03 .grid__container .grid__item {
    width: 100%;
    margin-bottom: 20px;
  }
  #feature03 .grid__container .grid__item:last-child {
    margin-bottom: 0;
  }
}
@media screen and (max-width: 664px) {
  #feature05 .support__wrapper__block {
    flex-direction: column;
  }
}
@media screen and (max-width: 768px) {
  .section__ttl--pc {
    display: none;
  }
  .section__ttl--sp {
    display: block;
    margin-top: 50px;
  }
  .feature__about {
    max-width: 390px;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
  }
  .sp {
    display: none;
  }
  .curriculum__img--pc {
    display: none;
  }
  .curriculum__img--sp {
    display: block;
  }
  .header__mv {
    height: 500px;
  }
  .header__text {
    top: 80px;
    max-width: 210px;
  }
  .header__lead {
    top: 380px;
    right: 3.1vw;
    max-width: 180px;
  }
  #course__wrapper .course__wrapper__heading {
    max-width: 751px;
    margin: 72px auto 40px;
  }
  #course__wrapper .course__wrapper__subttl {
    font-size: 1.125rem;
    letter-spacing: 0.63px;
    margin-bottom: 5px;
  }
  #course__wrapper .course__wrapper__img {
    margin: 0 auto 40px;
  }
  #course__wrapper .course__wrapper__text {
    margin: 0 auto 20px;
  }
  #course__wrapper .course__wrapper__arrow {
    max-width: 180px;
    margin: 0 auto 30px;
  }
  #course__wrapper .course__list {
    flex-direction: column;
    margin-bottom: 80px;
    row-gap: 40px;
  }
  #course__wrapper .course__list__item {
    width: 100%;
    padding: 0 20px;
  }
  #feature {
    padding-bottom: 60px;
  }
  #feature .feature__ttl {
    max-width: 206px;
    top: -48px;
  }
  #feature .feature__subttl {
    font-size: 1.1875rem;
    letter-spacing: 1.52px;
    padding-top: 85px;
  }
  #feature .feature__list__item {
    margin-bottom: 10px;
  }
  #feature01 .feature01__course--top .feature01__course__img {
    height: 166px;
  }
  #feature01 .feature01__course--sub {
    flex-direction: column;
    row-gap: 40px;
  }
  #feature01 .feature01__course--sub .feature01__course___item {
    margin: 0 auto;
    max-width: 380px;
    width: 100%;
  }
  #feature01 .curriculum__introduction .curriculum__introduction__about {
    flex-direction: column;
    row-gap: 20px;
    margin-top: 30px;
  }
  #feature01 .curriculum__introduction .curriculum__introduction__about__item {
    width: 100%;
  }
  #feature01 .curriculum__introduction .curriculum__introduction__about__text {
    width: 100%;
  }
  #feature01 .curriculum__introduction .curriculum__introduction__about__text__ttl {
    font-size: 1rem;
    padding-bottom: 17px;
  }
  #feature03 .grid__container {
    gap: 10px;
  }
  #feature03 .grid__container .grid__item__message {
    font-size: 0.75rem;
  }
  #feature04 .student__list {
    flex-direction: column;
    row-gap: 20px;
  }
  #feature04 .student__list__item {
    width: 100%;
  }
  #feature05 .support__wrapper__block {
    padding: 0 20px;
  }
  #feature05 .feature__caption {
    text-align: left;
  }
  #feature05 .feature__caption__ttl {
    text-align: center;
  }
}
/*# sourceMappingURL=style.css.map */