@charset "UTF-8";
.info_wrap {
    background: #ECF9F3;
    border-radius: 32px;
}
.info_in {
    padding: 45px 55px 48px;
}
.info_box {
    display: flex;
    justify-content: space-between;
}
.info_wrap .ttl {
    font-weight: 700;
    font-variation-settings: "wght" 700;
    font-size: 20px;
    line-height: 1;
}
.info_wrap .ttl span {
    position: relative;
    padding-left: 44px;
}
.info_wrap .ttl span:before {
    content: '';
    display: block;
    width: 28px;
    height: 30px;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    background: url(../svg/icn_info.svg) no-repeat center / 100% auto;
    z-index: 1;
}
.info_lst {
    width: 660px;
}
.info_lst li {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 10px 0;
    background-image: repeating-linear-gradient(90deg, #a1a1a1, #a1a1a1 1px, transparent 1px, transparent 4px);
    background-position: left bottom;
    background-repeat: repeat-x;
    background-size: 100% 1px;
}
.info_lst li:first-child {
    padding-top: 0;
}
.info_lst li .day {
    display: flex;
    align-items: center;
    font-weight: 600;
    font-size: 16px;
    line-height: 2;
    letter-spacing: 0.11em;
}
.info_lst li .is-new {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 20px;
    background: #A5CC27;
    border-radius: 4px;
    font-size: 12px;
    line-height: 1;
    letter-spacing: normal;
    line-height: 1;
    color: #FFFFFF;
    margin-left: 12px;
}
.info_lst li .txt {
    font-size: 16px;
    line-height: 2;
    width: -webkit-calc(100% - 186px);
    width: calc(100% - 186px);
    box-sizing: border-box;
}
.info_lst li .txt a:hover {
    color: #009944;
}
.info_btn {
    margin-top: 28px;
    text-align: right;
}
.txt_link {
    font-weight: 500;
    font-variation-settings: "wght" 500;
    font-size: 16px;
    line-height: 1.18;
}
.txt_link a {
    text-decoration-line: underline;
	text-underline-offset: 2px;
    font-weight: 500;
    font-variation-settings: "wght" 500;
}
.txt_link a:hover {
    text-decoration-line: none;
    color: #009944;
}
.txt_link span {
    position: relative;
    padding-left: 32px;
}
.txt_link span:before {
    content: '';
    display: block;
    width: 22px;
    height: 22px;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    background: url(../svg/arw_arrow_r.svg) no-repeat center / 100% auto;
    z-index: 1;
}
.anchor_wrap {
    padding: 50px 0 40px;
    margin-top: 70px;
    background: #87CAAC;
}
.anchor_lst {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0 38px;
}
.anchor_lst li {
    width: -webkit-calc((100% - 38px * 2) / 3);
    width: calc((100% - 38px * 2) / 3);
    text-align: center;
}
.anchor_lst li a {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #FFFFFF;
    border: 3px solid #009944;
    border-radius: 12px;
    width: 100%;
    height: 90px;
    position: relative;
}
.anchor_lst li a:hover {
    background: #F8FFF0;
}
.anchor_lst li .txt {
    font-weight: 700;
    font-variation-settings: "wght" 700;
    font-size: 20px;
    line-height: 1;
    color: #009944;
}
.anchor_lst li .txt:before {
    content: '';
    display: block;
    position: absolute;
    z-index: 1;
}
.anchor_lst li.page01 .txt:before {
    background: url(../webp/img01.webp) no-repeat center / 100% auto;
    width: 62px;
    height: 52px;
    left: 25px;
    top: -20px;
}
.anchor_lst li.page02 .txt:before {
    background: url(../webp/img02.webp) no-repeat center / 100% auto;
    width: 84px;
    height: 48px;
    left: 20px;
    top: -20px;
}
.anchor_lst li.page03 .txt:before {
    background: url(../webp/img03.webp) no-repeat center / 100% auto;
    width: 84px;
    height: 60px;
    left: 12px;
    top: -30px;
}
.anchor_lst li a:before {
    content: '';
    display: block;
    width: 24px;
    height: 24px;
    position: absolute;
    right: 28px;
    top: 50%;
    transform: translateY(-50%);
    background: url(../svg/arw_arrow_d.svg) no-repeat center / 100% auto;
    z-index: 1;
}
.charm_wrap {
    margin-top: 50px;
}
.charm_ttl {
    text-align: center;
}
.charm_ttl .read {
    font-weight: 600;
    font-variation-settings: "wght" 600;
    font-size: 20px;
    line-height: 1;
    margin-bottom: 28px;
}
.charm_ttl .ttl {
    font-weight: 700;
    font-variation-settings: "wght" 700;
    font-size: 40px;
    line-height: 1;
    margin-bottom: 42px;
}
.charm_ttl .ttl .is-icn {
    padding: 0 52px 0 52px;
    position: relative;
}
.charm_ttl .ttl .is-icn:before,
.charm_ttl .ttl .is-icn:after{
    content: '';
    display: block;
    position: absolute;
    top: 0;
    z-index: 1;
}
.charm_ttl .ttl .is-icn:before {
    width: 31px;
    height: 44px;
    left: 8px;
    background: url(../webp/img05.webp) no-repeat center / 100% auto;
}
.charm_ttl .ttl .is-icn:after {
    width: 43px;
    height: 48px;
    right: 0;
    background: url(../webp/img06.webp) no-repeat center / 100% auto;
}
.charm_ttl .ttl .is-dot {
    color: #009944;
}
.charm_ttl .ttl .is-dot > span {
    position: relative;
    display: inline-block;
}
.charm_ttl .ttl .is-dot > span::before {
    content: "";
    position: absolute;
    top: -8px;
    left: 50%;
    transform: translateX(-50%);
    width: 6px;
    height: 6px;
    background-color: #009944;
    border-radius: 50%;
}
.charm_txt {
    font-size: 16px;
    line-height: 24px;
    text-align: center;
    letter-spacing: 0.07em;
    font-feature-settings: 'palt' on;
}
.charm_lst {
    margin-top: 34px;
    display: flex;
    justify-content: space-between;
}
.charm_lst li {
    width: 331px;
    height: 315px;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    position: relative;
    padding-top: 52px;
}
.charm_lst li.charm01 {
    background: url(../svg/charm_bg01.svg) no-repeat center / 100% auto;
}
.charm_lst li.charm02 {
    background: url(../svg/charm_bg02.svg) no-repeat center / 100% auto;
}
.charm_lst li.charm03 {
    background: url(../svg/charm_bg03.svg) no-repeat center / 100% auto;
}
.charm_lst .nmb {
    font-weight: 700;
    font-size: 32px;
    line-height: 1;
    color: #009944;
    position: absolute;
    top: 13px;
    left: 6px;
}
.charm_lst li.charm01 .nmb {
    left: 8px;
}
.charm_lst .txt {
    font-weight: 700;
    font-variation-settings: "wght" 700;
    font-size: 20px;
    line-height: 1.5;
    text-align: center;
    padding-left: 25px;
}
.charm_lst .txt:before {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 1;
}
.charm_lst li.charm01 .txt:before {
    background: url(../webp/charm01.webp?2) no-repeat center;
    width: 126px;
    height: 148px;
    bottom: 39px;
}
.charm_lst li.charm02 .txt:before {
    background: url(../webp/charm02.webp?2) no-repeat center;
    width: 168px;
    height: 120px;
    bottom: 52px;
}
.charm_lst li.charm03 .txt:before {
    background: url(../webp/charm03.webp?2) no-repeat center;
    width: 164px;
    height: 154px;
    bottom: 35px;
}
.course_wrap {
    padding: 70px 47px 76px;
    margin-top: 70px;
    background: #E6F8F3;
    border-radius: 32px;
}
.course_wrap .ttl {
    font-weight: 700;
    font-size: 40px;
    line-height: 1;
    text-align: center;
    margin-bottom: 10px;
}
.course_wrap .ttl span {
    color: #009944;
}
.course_wrap .txt {
    font-size: 16px;
    line-height: 1.75;
    text-align: center;
}
.course_wrap .lst {
    display: flex;
    justify-content: space-between;
    margin-top: 40px;
}
.course_wrap .lst li {
    width: 300px;
}
.course_wrap .lst li a {
    width: 100%;
    height: 100px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    background: #F8FFF0;
    border: 3px solid #009944;
    border-radius: 16px;
    font-weight: 700;
    font-variation-settings: "wght" 700;
    font-size: 24px;
    line-height: 1;
    color: #009944;
    position: relative;
}
.course_wrap .lst li a:hover {
    opacity: .8;
}
.course_wrap .lst li a:before,
.course_wrap .lst li a:after{
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
}
.course_wrap .lst li a:after {
    width: 32px;
    height: 32px;
    right: 24px;
    background: url(../svg/arw_arrow_r.svg) no-repeat center / 100% auto;
}
.course_wrap .lst li a:before {
    width: 72px;
    left: 23px;
}
.course_wrap .lst li.course01 a:before {
    height: 62px;
    background: url(../webp/course01.webp?2) no-repeat center;
}
.course_wrap .lst li.course02 a:before {
    height: 64px;
    background: url(../webp/course02.webp?2) no-repeat center;
}
.course_wrap .lst li.course03 a:before {
    height: 72px;
    background: url(../webp/course03.webp?2) no-repeat center;
}
.course_btn {
    margin-top: 28px;
    text-align: center;
}
.materials_wrap {
    background: #ECF9F3;
    border-radius: 32px;
    padding:62px 90px 98px;
    margin-top: 76px;
    position: relative;
}
.materials_wrap:before {
    content: '';
    display: block;
    width: 100px;
    height: 122px;
    position: absolute;
    right: 88px;
    top: -44px;
    background: url(../webp/img10.webp) no-repeat center;
    z-index: 1;
}
.materials_ttl {
    font-weight: 700;
    font-variation-settings: "wght" 700;
    font-size: 40px;
    line-height: 1;
    text-align: center;
    margin-bottom: 22px;
}
.materials_ttl span {
    color: #009944;
}
.materials_txt {
    font-size: 16px;
    line-height: 1.75;
    text-align: center;
}
.materialsCnt_lst {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 40px;
    gap: 70px 0;
}
.materialsCnt_box {
    width: 404px;
}
.materialsCnt_ttl {
    font-weight: 700;
    font-variation-settings: "wght" 700;
    font-size: 24px;
    line-height: 1;
    text-align: center;
    margin-bottom: 22px;
    position: relative;
}
.materialsCnt_ttl:before {
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    position: absolute;
    left: 0;
    top: 50%;
    z-index: 1;
}
.materialsCnt_ttl span {
    background: #ECF9F3;
    padding: 0 20px;
    position: relative;
    z-index: 2;
}
.materialsCnt_btn {
    width: 100%;
    max-width: 270px;
    height: 52px;
    margin: 0 auto;
    margin-top: 24px;
}
.materialsCnt_btn a {
    width: 100%;
    height: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    background: linear-gradient(90deg, #28CC75 0%, #00B297 100%);
    font-weight: 600;
    font-variation-settings: "wght" 600;
    font-size: 16px;
    line-height: 1;
    color: #FFFFFF;
    border-radius: 100vh;
}
.materialsCnt_btn a:hover {
    opacity: .8;
}
.materialsCnt_btn a span {
    position: relative;
    padding-left: 30px;
}
.materialsCnt_btn a span:before {
    content: '';
    display: block;
    width: 22px;
    height: 22px;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    background: url(../svg/arw_arrow_r_green.svg) no-repeat center / 100% auto;
    z-index: 1;
}
.materialsCnt_slide {
    background: #FFFFFF;
    border: 3px solid #5CD1EB;
    border-radius: 12px;
    padding: 30px 28px 42px;
}
.materialsCnt_slide .ttl {
    font-weight: 700;
    font-variation-settings: "wght" 700;
    font-size: 24px;
    line-height: 1;
    text-align: center;
    color: #007D99;
    padding-bottom: 20px;
    margin-bottom: 20px;
    background-position: left bottom;
    background-repeat: repeat-x;
    background-size: 8px 4px;
}
.materialsCnt_slide .box {
    margin-bottom: 32px;
}
.materialsCnt_slide .mds {
    font-weight: 700;
    font-variation-settings: "wght" 700;
    font-size: 18px;
    line-height: 1.2;
    margin-bottom: 10px;
}
.materialsCnt_slide .txt {
    font-size: 16px;
    line-height: 1.5;
}
.materialsCnt_slide .add {
    color: #A991DF;
    font-size: 14px;
    font-weight: bold;
    margin-top: .6em;
}
.materialsCnt_slide .img {
    text-align: center;
}
.materialsCnt_flx {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.materialsCnt_flx .materialsCnt_ttl {
    width: 100%;
    color: #A991DF;
    margin-bottom: 42px;
}
.materialsCnt_flx .materialsCnt_ttl:before {
    background: #A991DF;
}
.materialsCnt_mds {
    text-align: center;
    margin-bottom: 18px;
}
.materialsCnt_mds span {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 40px;
    background: #A991DF;
    border-radius: 100vh;
    font-weight: 700;
    font-variation-settings: "wght" 700;
    font-size: 18px;
    line-height: 1;
    color: #FFFFFF;
}
.is-materials .splide__slide img {
    width: 100%;
    max-width: 220px;
    height: auto;
}
.is-materials.materials04 .splide__slide img {
    width: 100%;
    max-width: 270px;
    height: auto;
}
.is-materials.materials04 .splide__slide video {
    width: 100%;
    max-width: 270px;
    height: auto;
}
.is-materials .splide__arrows {
    gap: 0 38px;
    margin-top: 30px;
    padding: 0;
}
#materials01 .materialsCnt_ttl {
    color: #3FB1DF;
}
#materials01 .materialsCnt_ttl:before {
    background: #3FB1DF;
}
#materials01 .materialsCnt_slide {
    border: 3px solid #3FB1DF;
}
#materials01 .materialsCnt_slide .ttl {
    color: #3FB1DF;
    background-image: radial-gradient(circle, #3FB1DF 2px, transparent 2px);
}
#materials02 .materialsCnt_ttl {
    color: #FFAAEA;
}
#materials02 .materialsCnt_ttl:before {
    background: #FFAAEA;
}
#materials02 .materialsCnt_slide {
    border: 3px solid #FFAAEA;
}
#materials02 .materialsCnt_slide .ttl {
    color: #FFAAEA;
    background-image: radial-gradient(circle, #FFAAEA 2px, transparent 2px);
}
#materials03 .materialsCnt_ttl {
    color: #A991DF;
}
#materials03 .materialsCnt_ttl:before {
    background: #A991DF;
}
#materials03 .materialsCnt_slide {
    border: 3px solid #A991DF;
}
#materials03 .materialsCnt_slide .ttl {
    color: #A991DF;
    background-image: radial-gradient(circle, #A991DF 2px, transparent 2px);
}
#materials04 .materialsCnt_ttl {
    color: #A991DF;
}
#materials04 .materialsCnt_ttl:before {
    background: #A991DF;
}
#materials04 .materialsCnt_slide {
    border: 3px solid #A991DF;
}
#materials04 .materialsCnt_slide .ttl {
    color: #A991DF;
    background-image: radial-gradient(circle, #A991DF 2px, transparent 2px);
}
.price_wrap {
    margin-top: 120px;
    margin-bottom: 98px;
}
.price_ttl {
    font-weight: 700;
    font-variation-settings: "wght" 700;
    font-size: 40px;
    line-height: 1;
    text-align: center;
    margin-bottom: 50px;
}
.price_ttl .is-cl {
    color: #009944;
}
.price_ttl .is-icn {
    position: relative;
}
.price_ttl .is-icn:before {
    content: '';
    display: block;
    width: 56px;
    height: 72px;
    position: absolute;
    top: -50px;
    left: -66px;
    background: url(../img/img08.png) no-repeat center / 100% auto;
    z-index: 1;
}
.price_cnt {
    width: 845px;
    margin: 0 auto;
}
.price_lst {
    display: flex;
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    width: 100%;
}
.price_lst .box {
    width: 50%;
    background: #A5CC27;
    padding-top: 23px;
    position: relative;
}
.price_lst .subject {
    position: absolute;
    top: 39px;
    left: 98px;
    display: flex;
    justify-content: center;
    gap: 0 4px;
}
.price_lst .subject li span {
    width: 52px;
    height: 25px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    background: #fff;
    font-weight: 600;
    font-variation-settings: "wght" 600;
    font-size: 18px;
    line-height: 1;
    border-radius: 100vh;
}
.price_lst .price {
    text-align: center;
    font-weight: 700;
    font-variation-settings: "wght" 700;
}
.price_lst .price dt {
    font-size: 24px;
    line-height: 1;
    color: #FFFFFF;
    padding-bottom: 34px;
    text-align: left;
    padding-left: 216px;
}
.price_lst .price dt span {
    font-size: 40px;
}
.price_lst .price dd {
    background: #EDF3DB;
    font-size: 24px;
    line-height: 1;
    padding: 50px 0 68px;
}
.price_lst .price dd span {
    font-size: 40px;
}
.price_lst .tax {
    position: absolute;
    bottom: 68px;
    left: 0;
    right: 0;
    margin: auto;
    width: 198px;
    height: 42px;
}
.price_lst .tax span {
    width: 100%;
    height: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    background: #fff;
    font-weight: 700;
    font-variation-settings: "wght" 700;
    font-size: 24px;
    line-height: 1;
    border-radius: 100vh;
}
.price_lst .box.is-ver2 {
    background: #009944;
}
.price_lst .box.is-ver2 .price dd {
    background: #CEE7D9;
}
.price_lst .box.is-ver2 .subject {
    left: 69px;
}
.price_lst .box.is-ver2 .price dt {
    padding-left: 243px;
}
.price_add {
    margin-top: 16px;
}
.price_add li {
    font-size: 14px;
    line-height: 1.71;
}
.price_btn {
    width: 100%;
    max-width: 360px;
    height: 60px;
    margin: 0 auto;
    margin-top: 30px;
}
.price_btn a {
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, #28CC75 0%, #00B297 100%);
    border-radius: 100vh;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    font-weight: 600;
    font-variation-settings: "wght" 600;
    font-size: 20px;
    line-height: 1;
    color: #FFFFFF;
    border-radius: 100vh;
}
.price_btn a:hover {
    opacity: .8;
}
.voice_wrap {
    margin-top: 55px;
}
.voice_wrap .ttl {
    font-weight: 700;
    font-variation-settings: "wght" 700;
    font-size: 32px;
    line-height: 1;
    text-align: center;
}
.voice_wrap .lst {
    display: flex;
    justify-content: center;
    margin-top: 38px;
    gap: 0 24px;
}
.voice_wrap .lst li.is-pb12 {
    padding-bottom: 12px;
}
.voice_wrap .lst li a:hover {
    opacity: .8;
}
.faq_wrap {
    background: #ECF9F3;
    padding: 56px 0 76px;
    margin-top: 65px;
}
.faq_wrap .ttl {
    font-weight: 700;
    font-variation-settings: "wght" 700;
    font-size: 40px;
    line-height: 1;
    text-align: center;
}
.faq_wrap .lst {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 32px;
    gap: 16px 13px;
}
.faq_wrap .lst li {
    width: 273px;
}
.faq_wrap .lst li a {
    width: 100%;
    height: 80px;
    background: #009944;
    border-radius: 8px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    font-weight: 600;
    font-variation-settings: "wght" 600;
    font-size: 18px;
    line-height: 1;
    color: #FFFFFF;
}
.faq_wrap .lst li a:hover {
    opacity: .8;
}