@charset "utf-8";

.fv-btn-cta:not(:first-of-type) {
  margin-top: 20px;
}
@media screen and (max-width: 544px) {
  .fv-btn-cta:not(:first-of-type) {
    margin-top: 10px;
  }
}




#about {
  padding:150px 30px 55px;
}
@media screen and (max-width: 600px) {
  #about {
    padding-top: 20.6vw;
  }
}




.reason {
  margin-top: 153px;
  padding: 0 30px;
}
.reason > p {
  margin-top: 51px;
}
@media screen and (max-width: 600px) {
  .reason {
    margin-top: 3.5em;
  }
  section.reason > p {
    text-align: start;
  }
  .reason > p {
    margin-top: 1.5em;
  }
}



.contact2 {
  background-color: var(--yellow);
}
.contact2 h2 {
  padding: 55px 0 0 0;
  text-align: center;
  color: var(--blue);
  font-size: 25px;
  font-weight: 800;
}
.contact2 .contact_upper {
  width: fit-content;
  margin: 40px auto 0 auto;
  line-height: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}
.contact2 .contact_upper .contact_upper_left {
  width: 166px;
  margin-right: 40px;
}
.contact2 .contact_upper .contact_upper_right {
  width: 332px;
}
.contact2 .contact_upper .contact_upper_right > a {
  display: inline-block;
  width: 100%;
  margin: 6px auto 6px auto;
}

.contact2 .contact_lower {
  position: relative;
  background-color: var(--blue);
  margin: 50px auto 0 auto;
  padding: 50px 0 57px 0;
}
.contact2 .contact_lower:before {
  content: "";
  display: block;
  position: absolute;
  width: 28px;
  height: 22px;
  background-color: var(--blue);
  top: -21px;
  left: 50%;
  transform: translateX(-50%);
  clip-path: polygon(0 100%, 100% 0, 95% 100%);
}
.contact2 .contact_lower .contact_lower_heading {
  width: 600px;
  margin: 0 auto;
  text-align: center;
}
.contact2 .contact_bonus {
  width: fit-content;
  margin: 47px auto 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}
.contact2 .contact_bonus > li {
  position: relative;
  width: 346px;
  margin: 3px 38px;
  padding: 14px 10px;
  border-radius: 20px;
  background-color: var(--white);
}
.contact2 .contact_bonus > li .no {
  position: absolute;
  width: 60px;
  height: 60px;
  line-height: 45px;
  border-radius: 30px;
  color: var(--blue);
  background-color: var(--yellow);
  border: 6px solid var(--blue);
  font-size: 28px;
  font-weight: 900;
  left: -30px;
  top: -30px;
}
.contact2 .contact_bonus > li .detail {
  text-align: center;
  font-size: 20px;
  line-height: 1.3;
  font-weight: 600;
}

@media screen and (max-width: 777px) {
  .contact2 {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .contact2 .contact_lower .contact_lower_heading {
    width: 77.2%;
  }
}
@media screen and (max-width: 555px) {
  .contact2 h2 {
    padding: 40px 0 0 0;
    font-size: 20px;
  }
  
  .contact2 .contact_upper {
    width: 92%;
    margin: 20px auto 0 auto;
  }
  .contact2 .contact_upper .contact_upper_left {
    width: 28%;
    margin-right: 4%;
  }
  .contact2 .contact_upper .contact_upper_right {
    width: 68%;
  }
  .contact2 .contact_upper .contact_upper_right > a {
    margin: 5px auto 5px auto;
  }
  
  .contact2 .contact_lower {
    margin: 40px auto 0 auto;
  }
  
  .contact2 .contact_lower .contact_lower_heading {
    width: 96%;
  }
  .contact2 .contact_bonus > li {
    width: 76%;
    max-width: 346px;
    margin: 3px 0;
  }
  .contact2 .contact_bonus > li .detail {
    font-size: 18px;
  }
}




.curriculum-table thead th {
  height: fit-content;
}
.curriculum-table td.td_detail {
  vertical-align: top;
}
.curriculum-table td.td_detail p {
  margin: 20px auto 0 auto;
  padding: 0 50px;
  text-align: left;
}
.curriculum-table td.td_detail p.detail_title {
  margin: 60px auto 0 auto;
  width: 200px;
  padding: 5px 10px;
  text-align: center;
  border: 1.75px solid var(--blue);
}
.curriculum-table td.td_detail p.detail_title:first-of-type {
  margin: 35px auto 0 auto;
}

@media screen and (max-width: 960px) {
  .curriculum-table {
    min-width: 900px;
  }
  .curriculum-table td.td_detail p {
    padding: 0 30px;
  }
}
