@charset "utf-8";

@media print, screen {
  #core {
    background-color: var(--grayf2-color);
  }
  #core .mv__normal {
    background-image: url(../../images/src/core/img_mv.png);
  }
  /* #core .mv__normal {
    padding: 116px 0 0 0;
  } */
  /* #core .mv__normal .tit__box {
    margin-right: -50px;
    padding: 40px 0 40px 50px;
    width: 820px;
  } */
  #core .tit__jp {
    margin-bottom: 60px;
    color: var(--main-color);
    font-size: 40px;
    font-weight: 700;
    line-height: 1.6;
    text-align: center;
    letter-spacing: 0.03em;
    text-indent: 0.03em;
  }
}
@media screen and (max-width: 1600px) {
  /* #core .mv__normal .tit__box {
    margin-right: -2.125vw;
    padding: 2.5vw 0 2.5vw 3.125vw;
    width: 51.25vw;
  } */
}
@media screen and (max-width: 1300px) {
  #core .tit__jp {
    margin-bottom: 3vw;
    font-size: 3vw;
  }
}
@media screen and (max-width: 768px) {
  #core .mv__normal {
    margin: 7.246vw auto 0;
    padding: 0 0 38.647vw;
    width: 100%;
    max-width: inherit;
    height: auto;
    background: none;
    position: relative;
  }
  #core .mv__normal .tit__box {
    padding: 7.971vw 0 14.492vw;
    width: 100%;
    text-align: center;
  }
  #core .mv__normal .tit__box .tit {
    font-size: 5.797vw;
  }
  #core .mv__normal .tit__box .lead {
    margin-top: 3.864vw;
    font-size: 3.864vw;
  }
  #core .tit__jp {
    margin-bottom: 60px;
    color: var(--main-color);
    font-size: 40px;
    font-weight: 700;
    line-height: 1.6;
    text-align: center;
    letter-spacing: 0.03em;
    text-indent: 0.03em;
  }
  #core .mv__normal .img__main {
    display: block;
    margin: 0 auto;
    width: 89.371vw;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
  }
}
@media print, screen {
  #core .sec01 {
    margin: 0 auto;
    padding: 100px 0 120px;
    width: 100%;
    max-width: 1500px;
  }
  #core .sec01 .osusume__list {
    width: 100%;
  }
  #core .sec01 .osusume__list li {
    padding: 60px 0;
    width: 24%;
    text-align: center;
    background-color: var(--white);
    border-radius: 14px;
  }
  #core .sec01 .osusume__list li .osusume__icon {
    margin: 0 auto 30px;
    width: 22.222%;
    max-width: 80px;
  }
  #core .sec01 .osusume__list li .osusume__text {
    font-size: 18px;
    font-weight: 500;
    line-height: 2;
  }
}
@media screen and (max-width: 1600px) {
  #core .sec01 {
    padding: 6.25vw 0 7.5vw;
    width: 93.75%;
  }
  #core .sec01 .osusume__list li {
    padding: 3.75vw 0;
  }
  #core .sec01 .osusume__list li .osusume__icon {
    margin: 0 auto 1.875vw;
  }
  #core .sec01 .osusume__list li .osusume__text {
    font-size: min(1.4vw, 18px);
  }
}
@media screen and (max-width: 768px) {
  #core .sec01 {
    padding: 35.5vw 0 14.25vw;
    width: 76%;
    max-width: inherit;
  }
  #core .sec01 .osusume__list li {
    padding: 4.83vw 0;
    width: 100%;
  }
  #core .sec01 .osusume__list li + li {
    margin-top: 3.623vw;
  }
  #core .sec01 .osusume__list li .osusume__icon {
    margin: 0 auto 3vw;
    width: 16.9%;
    max-width: inherit;
  }
  #core .sec01 .osusume__list li .osusume__text {
    font-size: 3.381vw;
  }
}
@media print, screen {
  #core .sec02 {
    margin: 0 auto;
    width: 100%;
    max-width: 1660px;
  }
  #core .sec02 .sec02__tit {
    padding: 78px 0;
    width: 100%;
    color: var(--white);
    font-size: 40px;
    font-weight: 700;
    line-height: 1.38;
    letter-spacing: 0.03em;
    text-indent: 0.03em;
    text-align: center;
    background-color: var(--main-color);
  }
  #core .sec02 .sec02__tit span {
    display: inline-block;
    font-weight: 700;
    line-height: 1.2;
    border-bottom: 3px solid #f8e513;
  }
  #core .sec02 .inner {
    padding: 65px 0;
    width: 100%;
    text-align: center;
    background-color: var(--white);
  }
  #core .sec02 .inner .text18 {
    font-size: 18px;
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0.1em;
  }
  #core .sec02 .inner .text18 span {
    font-size: 24px;
    font-weight: 500;
  }
  #core .sec02 .inner .text20 {
    font-size: 20px;
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0.1em;
  }
  #core .sec02 .inner .text20 span {
    color: var(--orange-color);
    font-size: 32px;
    font-weight: 500;
  }
  #core .sec02 .inner .img01 {
    margin: 20px auto 35px;
    width: 100%;
    max-width: 825px;
  }
  #core .sec02 .inner .box01 {
    align-items: center;
    margin: 60px auto 40px;
    padding: 40px 58px 40px 115px;
    width: 100%;
    max-width: 1100px;
    border: 1px solid var(--orange-color);
    box-sizing: border-box;
  }
  #core .sec02 .inner .box01 .box01__text {
    width: 45.3%;
    max-width: 420px;
    text-align: left;
  }
  #core .sec02 .inner .box01 .box01__text .copy__text {
    margin-bottom: 15px;
    padding: 13px 0;
    width: 140px;
    color: var(--white);
    font-size: 24px;
    font-weight: 500;
    line-height: 1;
    text-align: center;
    background-color: var(--orange-color);
  }
  #core .sec02 .inner .box01 .box01__text .text18 span {
    color: var(--orange-color);
  }
  #core .sec02 .inner .box01 .box01__img {
    width: 46%;
    max-width: 426px;
  }
  #core .sec02 .inner .box02 {
    margin: 100px auto 0;
    padding: 55px 0;
    width: 100%;
    max-width: 1100px;
    background-color: var(--grayf2-color);
  }
  #core .sec02 .inner .box02 .box02__copy {
    margin-bottom: 40px;
    font-size: 40px;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.03em;
    text-indent: 0.03em;
  }
  #core .sec02 .inner .box02 .box02__subcopy {
    margin-bottom: 46px;
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.1em;
    text-indent: 0.1em;
  }
  #core .sec02 .inner .box02 .box02__inner {
    margin: 0 auto;
    width: 100%;
    max-width: 770px;
    text-align: left;
    background: url(../../images/src/core/003.png) no-repeat right bottom;
    background-size: 162px auto;
  }
  #core .sec02 .inner .box02 .box02__inner .inner__copy {
    margin-bottom: 36px;
    color: var(--white);
    font-size: 24px;
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0.1em;
  }
  #core .sec02 .inner .box02 .box02__inner .inner__copy span {
    display: inline-block;
    padding: 0 16px;
    font-weight: 500;
    background-color: var(--main-color);
  }
  #core .sec02 .inner .box02 .box02__inner .inner__text {
    font-size: 18px;
    font-weight: 500;
    line-height: 2.44;
    letter-spacing: 0.1em;
  }
  #core .sec02 .inner .box02 .box02__inner .inner__text span {
    color: var(--orange-color);
    font-weight: 500;
    position: relative;
  }
  #core .sec02 .inner .box02 .box02__inner .inner__text span::after {
    content: "・";
    text-align: center;
    position: absolute;
    left: 0;
    right: 0;
    top: -22px;
  }
}
@media screen and (max-width: 1700px) {
  #core .sec02 .sec02__tit {
    padding: 4.588vw 0;
    font-size: 2.352vw;
  }
  #core .sec02 .inner {
    margin: 0 auto;
    padding: 3.823vw 0;
    width: 96%;
  }
  #core .sec02 .inner .text18 {
    font-size: 1vw;
  }
  #core .sec02 .inner .text18 span {
    font-size: 1.411vw;
  }
  #core .sec02 .inner .text20 {
    font-size: 1.176vw;
  }
  #core .sec02 .inner .text20 span {
    font-size: 1.882vw;
  }
  #core .sec02 .inner .img01 {
    margin: 1.176vw auto 2vw;
    width: 95%;
  }
  #core .sec02 .inner .box01 {
    margin: 3.529vw auto 2.352vw;
    padding: 2.352vw 3.411vw 2.352vw 6.764vw;
    width: 64.7%;
  }
  #core .sec02 .inner .box01 .box01__text .copy__text {
    margin-bottom: 0.88vw;
    padding: 0.764vw 0;
    width: 8.235vw;
    font-size: 1.411vw;
  }
  #core .sec02 .inner .box02 {
    margin: 5.882vw auto 0;
    padding: 3.235vw 0;
    width: 64.7%;
  }
  #core .sec02 .inner .box02 .box02__copy {
    margin-bottom: 2.352vw;
    font-size: 2.352vw;
  }
  #core .sec02 .inner .box02 .box02__subcopy {
    margin-bottom: 2.7vw;
    font-size: 1.176vw;
  }
  #core .sec02 .inner .box02 .box02__inner {
    width: 70%;
    background-size: 9.529vw auto;
  }
  #core .sec02 .inner .box02 .box02__inner .inner__copy {
    margin-bottom: 2.117vw;
    font-size: 1.411vw;
  }
  #core .sec02 .inner .box02 .box02__inner .inner__copy span {
    padding: 0 0.941vw;
  }
  #core .sec02 .inner .box02 .box02__inner .inner__text {
    font-size: 1vw;
  }
  #core .sec02 .inner .box02 .box02__inner .inner__text span::after {
    top: -1.294vw;
  }
}
@media screen and (max-width: 768px) {
  #core .sec02 {
    width: 94.2%;
    max-width: inherit;
  }
  #core .sec02 .sec02__tit {
    padding: 8.454vw 0;
    font-size: 5.797vw;
  }
  #core .sec02 .inner {
    padding: 10.87vw 0;
    width: 100%;
  }
  #core .sec02 .inner .text18 {
    font-size: 3.864vw;
  }
  #core .sec02 .inner .text18 span {
    font-size: 4.83vw;
  }
  #core .sec02 .inner .text20 {
    font-size: 4.347vw;
  }
  #core .sec02 .inner .text20 span {
    font-size: 5vw;
  }
  #core .sec02 .inner .img01 {
    margin: 5.676vw auto;
    width: 94%;
    max-width: inherit;
  }
  #core .sec02 .inner .box01 {
    margin: 9.42vw auto 40px;
    padding: 6.642vw 3.26vw;
    width: 94.87%;
    max-width: inherit;
  }
  #core .sec02 .inner .box01 .box01__text {
    width: 100%;
    max-width: inherit;
    text-align: left;
    text-align: center;
  }
  #core .sec02 .inner .box01 .box01__text .copy__text {
    margin: 0 auto 2.4vw;
    padding: 2.4vw 0;
    width: 31.642vw;
    font-size: 5.314vw;
  }
  #core .sec02 .inner .box01 .box01__img {
    padding: 4.83vw 0 0;
    width: 100%;
    max-width: inherit;
  }
  #core .sec02 .inner .box02 {
    margin: 10.265vw auto 0;
    padding: 10.8vw 0;
    width: 94.87%;
    max-width: inherit;
  }
  #core .sec02 .inner .box02 .box02__copy {
    margin-bottom: 3.623vw;
    font-size: 6.28vw;
  }
  #core .sec02 .inner .box02 .box02__subcopy {
    margin-bottom: 6.642vw;
    font-size: 3.864vw;
    line-height: 1.3;
  }
  #core .sec02 .inner .box02 .box02__inner {
    width: 94.5%;
    max-width: inherit;
    background: none;
  }
  #core .sec02 .inner .box02 .box02__inner .inner__copy {
    margin-bottom: 6vw;
    font-size: 4.347vw;
    text-align: center;
  }
  #core .sec02 .inner .box02 .box02__inner .inner__copy span {
    padding: 0;
    width: 100%;
  }
  #core .sec02 .inner .box02 .box02__inner .inner__text {
    margin-bottom: 4vw;
    font-size: 3.864vw;
    text-align: center;
    line-height: 2;
  }
  #core .sec02 .inner .box02 .box02__inner .inner__text span {
    color: var(--orange-color);
    font-weight: 500;
    position: relative;
  }
  #core .sec02 .inner .box02 .box02__inner .inner__text span::after {
    top: -4vw;
  }
  #core .sec02 .inner .box02 .box02__inner .inner__img {
    margin: 0 auto;
    width: 100%;
    max-width: 24.637vw;
  }
}
@media print, screen {
  #core .sec03 {
    margin: 0 auto;
    padding: 88px 0;
    width: 100%;
    background-image: url(../../images/src/core/bg03.png);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 1920px auto;
  }
  #core .sec03 .title {
    margin-bottom: 26px;
    color: var(--white);
    font-size: 20px;
    font-weight: 700;
    line-height: 2;
    letter-spacing: 0.1em;
    text-indent: 0.1em;
    text-align: center;
  }
  #core .sec03 .inner {
    margin: 0 auto;
    width: 100%;
    max-width: 1200px;
  }
  #core .sec03 .inner .seminar_list {
    justify-content: flex-start;
    padding: 0 0 45px;
    width: 100%;
  }
  #core .sec03 .inner .seminar_list li {
    padding: 0 0 0 50px;
    width: auto;
    color: var(--white);
    font-size: 24px;
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0.1em;
    background-image: url(../../images/src/core/icon05.svg);
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 36px auto;
  }
  #core .sec03 .inner .seminar_list li:nth-of-type(1),
  #core .sec03 .inner .seminar_list li:nth-of-type(3) {
    margin-right: 37px;
  }
  #core .sec03 .inner .stepup__box {
    padding: 45px 0;
    width: 100%;
    background-color: var(--white);
  }
  #core .sec03 .inner .stepup__box .stepup__subcopy {
    font-size: 22px;
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0.1em;
    text-align: center;
  }
  #core .sec03 .inner .stepup__box .stepup__subcopy span {
    font-weight: 700;
  }
  #core .sec03 .inner .stepup__box .stepup__copy {
    display: block;
    margin-bottom: 20px;
    font-size: 30px;
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0.1em;
    text-align: center;
  }
  #core .sec03 .inner .stepup__box .stepup__copy span {
    display: inline-block;
    font-weight: 700;
    line-height: 1.3;
    background: linear-gradient(transparent 70%, #f8e513 70%);
  }
  #core .sec03 .inner .stepup__box .stepup__inner {
    align-items: center;
    margin: 0 auto;
    width: 100%;
    max-width: 1020px;
  }
  #core .sec03 .inner .stepup__box .stepup__inner .inner__text {
    padding: 0 0 0 45px;
    width: 59%;
    max-width: 600px;
    font-size: 18px;
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0.1em;
    box-sizing: border-box;
  }
  #core .sec03 .inner .stepup__box .stepup__inner .inner__img {
    width: 35.88%;
    max-width: 366px;
  }
}
@media screen and (max-width: 1300px) {
  #core .sec03 {
    padding: 6.769vw 0;
    background-image: url(../../images/src/core/bg03_1300.png);
    background-size: 100% auto;
  }
  #core .sec03 .title {
    margin-bottom: 2vw;
    font-size: 1.538vw;
  }
  #core .sec03 .inner {
    width: 92.3%;
  }
  #core .sec03 .inner .seminar_list {
    padding: 0 0 3.461vw;
  }
  #core .sec03 .inner .seminar_list li {
    padding: 0 0 0 3.846vw;
    font-size: 1.846vw;
    background-size: 2.769vw auto;
  }
  #core .sec03 .inner .seminar_list li:nth-of-type(1),
  #core .sec03 .inner .seminar_list li:nth-of-type(3) {
    margin-right: 2.846vw;
  }
  #core .sec03 .inner .stepup__box {
    padding: 3.461vw 0;
  }
  #core .sec03 .inner .stepup__box .stepup__subcopy {
    font-size: 1.692vw;
  }
  #core .sec03 .inner .stepup__box .stepup__copy {
    margin-bottom: 1.538vw;
    font-size: 2.3vw;
  }
  #core .sec03 .inner .stepup__box .stepup__inner {
    width: 90%;
  }
  #core .sec03 .inner .stepup__box .stepup__inner .inner__text {
    padding: 0 0 0 3.461vw;
    font-size: 1.384vw;
  }
}
@media screen and (max-width: 768px) {
  #core .sec03 {
    padding: 10.628vw 0;
    background-image: url(../../images/src/core/sp/bg03.png);
    background-repeat: repeat-y;
    background-size: 100% auto;
  }
  #core .sec03 .title {
    margin-bottom: 6.6vw;
    font-size: 3.864vw;
  }
  #core .sec03 .inner {
    width: 94.2%;
    max-width: inherit;
  }
  #core .sec03 .inner .seminar_list {
    padding: 0 0 45px;
  }
  #core .sec03 .inner .seminar_list li {
    padding: 0 0 0 6.884vw;
    width: 100%;
    font-size: 4.347vw;
    background-position: left 2vw;
    background-size: 5.314vw auto;
  }
  #core .sec03 .inner .seminar_list li + li {
    margin-top: 2vw;
  }
  #core .sec03 .inner .seminar_list li:nth-of-type(1),
  #core .sec03 .inner .seminar_list li:nth-of-type(3) {
    margin-right: 0;
  }
  #core .sec03 .inner .stepup__box {
    padding: 10.38vw 0;
  }
  #core .sec03 .inner .stepup__box .stepup__subcopy {
    font-size: 4.347vw;
  }
  #core .sec03 .inner .stepup__box .stepup__copy {
    margin-bottom: 20px;
    font-size: 5.314vw;
    text-align: center;
  }
  #core .sec03 .inner .stepup__box .stepup__inner {
    flex-direction: column-reverse;
    width: 87%;
    max-width: inherit;
  }
  #core .sec03 .inner .stepup__box .stepup__inner .inner__text {
    padding: 0;
    width: 100%;
    max-width: inherit;
    font-size: 3.864vw;
  }
  #core .sec03 .inner .stepup__box .stepup__inner .inner__img {
    padding: 0 0 4vw;
    width: 100%;
    max-width: inherit;
  }
}
@media print, screen {
  #core .sec04 {
    margin: 0 auto;
    padding: 140px 0;
    width: 100%;
  }
  #core .sec04 .sec04__copy {
    margin-bottom: 55px;
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.1em;
    text-align: center;
  }
  #core .sec04 .sec04__mov {
    margin: 0 auto 130px;
    width: 100%;
    max-width: 800px;
  }
  #core .sec04 .sec04__overview {
    margin: 0 auto;
    width: 100%;
    max-width: 1020px;
  }
  #core .sec04 .sec04__overview .overview__copy {
    margin-bottom: 55px;
    font-size: 24px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.16em;
    text-align: center;
  }
  #core .sec04 .sec04__overview .overview__inner {
    align-items: center;
    margin-bottom: 130px;
    width: 100%;
  }
  #core .sec04 .sec04__overview .overview__text {
    width: 50%;
    max-width: 510px;
  }
  #core .sec04 .sec04__overview .overview__text p {
    font-size: 18px;
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0.1em;
  }
  #core .sec04 .sec04__overview .overview__text p + p {
    margin-top: 20px;
  }
  #core .sec04 .sec04__overview .overview__text p span {
    font-weight: 700;
  }
  #core .sec04 .sec04__overview .overview__img {
    width: 43.8%;
    max-width: 447px;
  }
  #core .sec04 .sec04__program {
    margin: 0 auto;
    width: 100%;
    max-width: 1220px;
  }
  #core .sec04 .sec04__program .program_list {
    justify-content: space-around;
    gap: 10px 0;
    margin-bottom: 65px;
    width: 100%;
  }
  #core .sec04 .sec04__program .program_list li {
    padding: 0 0 0 38px;
    font-size: 20px;
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0.1em;
    background-image: url(../../images/src/core/icon06.svg);
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 28px auto;
  }
  #core .sec04 .sec04__program .program_time {
    margin-bottom: 55px;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.62;
    letter-spacing: 0.12em;
    text-align: center;
  }
  #core .sec04 .sec04__program .program_box {
    margin: 0 auto 50px;
    width: 100%;
  }
  #core .sec04 .sec04__program .program_box .box {
    width: 32.214%;
    max-width: 384px;
    background-color: var(--white);
    border-radius: 14px;
  }
  #core .sec04 .sec04__program .program_box .box .box__tit {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 71px;
    font-size: 26px;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-indent: 0.1em;
    color: var(--white);
    background-color: var(--main-color);
    border-radius: 10px 10px 0 0;
    text-align: center;
  }
  #core .sec04 .sec04__program .program_box .box .box__tit span {
    font-weight: 500;
  }
  #core .sec04 .sec04__program .program_box .box .box__tit span small {
    display: block;
    font-size: 14px;
    font-weight: 500;
    text-align: center;
  }
  #core .sec04 .sec04__program .program_box .box .box__price {
    padding: 40px 0;
    font-size: 14px;
    line-height: 1;
    letter-spacing: 0.1em;
    text-align: center;
  }
  #core .sec04 .sec04__program .program_box .box .box__price span {
    display: inline-block;
    color: var(--main-color);
    font-size: 50px;
    font-weight: 700;
    line-height: 40px;
  }
  #core .sec04 .sec04__program .program_box .box .box__price span small {
    font-size: 22px;
    font-weight: 700;
  }
  #core .sec04 .sec04__program .price__note {
    font-size: 14px;
    line-height: 1.85;
    letter-spacing: 0.1em;
}
  #core .core__btn {
    margin-top: 60px;
    width: 100%;
    max-width: 880px;
    margin-right: auto;
    margin-left: auto;
  }
  #core .core__btn a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 115px;
    background-color: var(--grayf1-color);
    border: 1px solid var(--grayf1-color);
    border-radius: 14px;
    transition: 0.5s;
  }
  #core .core__btn a span {
    padding: 5px 0 5px 84px;
    color: var(--white);
    font-size: 24px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.2em;
    text-indent: 0.2em;
    background-image: url(../../images/src/growthcore/arrow02.svg);
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 54px auto;
  }
  #core .core__btn a:hover {
    background-color: var(--white);
  }
  #core .core__btn a:hover span {
    color: var(--grayf1-color);
    background-image: url(../../images/src/growthcore/arrow03.svg);
  }
  #core .under__menu {
    padding: 118px 0 0;
  }
}
@media screen and (max-width: 1300px) {
  #core .sec04 {
    padding: 10.769vw 0;
  }
  #core .sec04 .sec04__copy {
    margin-bottom: 4.23vw;
    font-size: 1.538vw;
  }
  #core .sec04 .sec04__mov {
    margin: 0 auto 10vw;
    width: 61.538%;
  }
  #core .sec04 .sec04__overview {
    width: 78.461%;
  }
  #core .sec04 .sec04__overview .overview__copy {
    margin-bottom: 4.23vw;
    font-size: 1.846vw;
  }
  #core .sec04 .sec04__overview .overview__inner {
    margin-bottom: 10vw;
  }
  #core .sec04 .sec04__overview .overview__text p {
    font-size: 1.384vw;
  }
  #core .sec04 .sec04__overview .overview__text p + p {
    margin-top: 1.538vw;
  }
  #core .sec04 .sec04__program {
    width: 93.846%;
  }
  #core .sec04 .sec04__program .program_list {
    gap: 0.769vw 0;
    margin-bottom: 5vw;
  }
  #core .sec04 .sec04__program .program_list li {
    padding: 0 0 0 2.923vw;
    font-size: 1.538vw;
    background-size: 2.153vw auto;
  }
  #core .sec04 .sec04__program .program_time {
    margin-bottom: 4.23vw;
    font-size: 1.846vw;
  }
  #core .sec04 .sec04__program .program_box {
    margin: 0 auto 3.846vw;
  }
  #core .sec04 .sec04__program .program_box .box .box__tit {
    font-size: 2vw;
  }
  #core .sec04 .sec04__program .program_box .box .box__price {
    padding: 3vw 0;
    font-size: 1vw;
  }
  #core .sec04 .sec04__program .program_box .box .box__price span {
    font-size: 3.846vw;
  }
  #core .sec04 .sec04__program .program_box .box .box__price span small {
    font-size: 1.692vw;
  }
  #core .core__btn {
    margin-top: 4.615vw;
    width: 92.3%;
  }
  #core .core__btn a {
    height: 10.923vw;
  }
  #core .core__btn a span {
    padding: 0.384vw 0 0.384vw 6.461vw;
    font-size: 1.846vw;
    background-size: 4.153vw auto;
  }
  #core .under__menu {
    padding: 9vw 0 0;
  }
}
@media screen and (max-width: 768px) {
  #core .sec04 {
    padding: 18.2vw 0;
  }
  #core .sec04 .tit__jp {
    margin-bottom: 4vw;
    font-size: 6.28vw;
    line-height: 1.2;
  }
  #core .sec04 .sec04__copy {
    margin-bottom: 4.23vw;
    font-size: 4.347vw;
  }
  #core .sec04 .sec04__mov {
    margin: 0 auto 19.3vw;
    width: 82%;
    max-width: inherit;
  }
  #core .sec04 .sec04__mov iframe {
    width: 100%;
    height: auto;
    aspect-ratio: 4/3;
  }
  #core .sec04 .sec04__overview {
    max-width: inherit;
  }
  #core .sec04 .sec04__overview .overview__copy {
    margin-bottom: 55px;
    font-size: 4.347vw;
    line-height: 1.77;
  }
  #core .sec04 .sec04__overview .overview__inner {
    margin-bottom: 19.3vw;
  }
  #core .sec04 .sec04__overview .overview__text {
    width: 100%;
    max-width: inherit;
  }
  #core .sec04 .sec04__overview .overview__text p {
    font-size: 3.864vw;
  }
  #core .sec04 .sec04__overview .overview__text p + p {
    margin-top: 20px;
  }
  #core .sec04 .sec04__overview .overview__img {
    display: none;
  }
  #core .sec04 .sec04__overview .overview__img.sp {
    display: block;
    width: 100%;
  }
  #core .sec04 .sec04__program {
    width: 94.2%;
    max-width: inherit;
  }
  #core .sec04 .sec04__program .program_list {
    gap: 2vw 0;
    margin-bottom: 10.8vw;
    text-align: left;
  }
  #core .sec04 .sec04__program .program_list li {
    padding: 0 0 0 7.246vw;
    width: 100%;
    font-size: 4.347vw;
    background-position: left 1vw;
    background-size: 6.76vw auto;
  }
  #core .sec04 .sec04__program .program_time {
    margin-bottom: 8.454vw;
    font-size: 3.864vw;
  }
  #core .sec04 .sec04__program .program_box {
    margin: 0 auto 2.425vw;
    width: 100%;
    max-width: inherit;
  }
  #core .sec04 .sec04__program .program_box .box {
    width: 100%;
    max-width: inherit;
  }
  #core .sec04 .sec04__program .program_box .box + .box {
    margin-top: 4.22vw;
  }
  #core .sec04 .sec04__program .program_box .box .box__tit {
    padding: 5.434vw 0;
    font-size: 5.797vw;
  }
  #core .sec04 .sec04__program .program_box .box .box__price {
    padding: 5.434vw 0;
    font-size: 3.38vw;
  }
  #core .sec04 .sec04__program .program_box .box .box__price span {
    font-size: 8.695vw;
  }
  #core .sec04 .sec04__program .program_box .box .box__price span small {
    font-size: 4.83vw;
  }
  #core .sec04 .sec04__program  .price__note {
    margin: 0 auto 10vw;
    font-size: 3.381vw;
}
  #core .core__btn {
    margin: 0 auto 7.24vw;
    width: 100%;
    max-width: inherit;
  }
  #core .core__btn a {
    height: 18.84vw;
  }
  #core .core__btn a span {
    padding: 0.6vw 0 0.6vw 13.76vw;
    font-size: 3.864vw;
    background-size: 8.937vw auto;
  }
  #core .under__menu {
    padding: 19.323vw 0 0;
  }
}
