@charset "UTF-8";
.topTtl_ttl {
    text-align: center;
}
.topTtl_ttl .en {
    font-weight: 700;
    font-size: 16px;
    line-height: 1.4;
    color: #006CAF;
    margin-bottom: 15px;
}
.topTtl_ttl .ttl {
    font-weight: 900;
    font-size: 36px;
    line-height: 1.4;
    letter-spacing: .02em;
    font-family: "Noto Sans JP", sans-serif;
}
.topTtl_ttl .ttl span {
    font-size: 60px;
    color: #006CAF;
}
.topTtl_ttl.is-white .en,
.topTtl_ttl.is-white .ttl,
.topTtl_ttl.is-white .txt {
    color: #fff;
}
.topTtl_ttl.is-ver2 {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}
.topTtl_ttl.is-ver2 .ttl {
    font-size: 48px;
}
.topTtl_ttl .txt {
    font-weight: 700;
    font-size: 20px;
    line-height: 1.4;
    letter-spacing: .02em;
    margin-top: 40px;
}
.topTtl_ttl.is-about {
    height: 134px;
    background: url(../svg/ttl_about.svg) no-repeat center / 635px auto;
}
.topTtl_ttl.is-learning {
    height: 150px;
    background: url(../svg/ttl_learning.svg) no-repeat center / 996px auto;
}
.topTtl_ttl.is-support {
    height: 134px;
    background: url(../svg/ttl_support.svg) no-repeat center / 848px auto;
}
.topTtl_ttl.is-voice {
    height: 150px;
    background: url(../svg/ttl_voice.svg) no-repeat center / 640px auto;
}
.topTtl_ttl.is-flow {
    height: 150px;
    background: url(../svg/ttl_flow.svg) no-repeat center / 566px auto;
}
.topTtl_ttl.is-faq {
    height: 134px;
    background: url(../svg/ttl_faq.svg) no-repeat center / 337px auto;
}
.topTtl_ttl.is-reservation {
    height: 134px;
    background: url(../svg/ttl_reservation.svg) no-repeat center / 1227px auto;
    margin: 0 -114px;
}
.topRead_img {
    position: relative;
    overflow: hidden;
}
.topRead_img:before {
    content: '';
    display: block;
    width: 1471px;
    height: 924px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 147px;
    background: url(../img/topRead_img01.png) no-repeat center / 100% auto;
    background: url(../webp/topRead_img01.webp) no-repeat center / 100% auto;
    z-index: 3;
}
.topRead_wrap {
    padding: 158px 0 140px;
    overflow: hidden;
}
.topRead_txt {
    text-align: center;
    margin-top: 67px;
}
.topRead_txt .txt {
    font-size: 20px;
    font-weight: 700;
    line-height: 2;
    letter-spacing: .02em;
    margin-bottom: 30px;
}
.topRead_txt .txt:last-child {
    margin-bottom: 0;
}
.topReco_wrap {
    padding: 120px 0;
    background: rgb(0,108,175);
    background: linear-gradient(73.82deg, #006CAF 24.34%, #34BBF1 104.55%);

}
.topReco_lst {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    margin-top: 80px;
}
.topReco_box {
    width: 360px;
    width: 31%;
    background: #fff;
    text-align: center;
    padding: 50px 40px 43px;
    border-radius: 16px;
    position: relative;
    box-sizing: border-box;
}
.topReco_box:before {
    content: '';
    display: block;
    width: 64px;
    height: 60px;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    top: -30px;
    background: url(../svg/icn_check.svg) no-repeat center / 100% auto;
    z-index: 1;
}
.topReco_box .icn {
    margin-bottom: 37px;
}
.topReco_box .icn source,
.topReco_box .icn img {
    width: 100%;
    height: auto;
    max-width: 210px;
}
.topReco_box .txt {
    font-size: 20px;
    line-height: 1.6;
    font-weight: 700;
    letter-spacing: .02em;
}
.topMerit_wrap {
    padding: 120px 0;
    background: #fff;
}
.topMerit_lst {
    margin-top: 60px;
}
.topMerit_box {
    width: 100%;
    max-width: 950px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    margin-bottom: 20px;
}
.topMerit_box:last-child {
    margin-bottom: 0;
}
.topMerit_box .merit {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100px;
    height: 100px;
    box-sizing: border-box;
    background: #006CAF;
    border-radius: 50%;
    position: relative;
    z-index: 3;
}
.topMerit_box .merit .is-in {
    font-weight: 700;
    font-size: 11px;
    line-height: 1;
    text-align: center;
    color: #FFFFFF;
}
.topMerit_box .merit .is-in span {
    display: block;
    font-size: 47px;
    line-height: 1;
}
.topMerit_box .txt {
    font-weight: 700;
    font-size: 32px;
    line-height: 1.6;
    letter-spacing: .02em;
    width: -webkit-calc(100% - 100px);
    width: calc(100% - 100px);
    box-sizing: border-box;
    padding-left: 27px;
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 12px;
}
.topMerit_box .txt span {
    color: #02B381;
}
.topExam_wrap {
    padding: 120px 0;
}
.topExam_box {
    margin-top: 80px;
}
.splide__slide:nth-child(2n) .topExam_img {
    padding-top: 60px;
}
.topExam_img {
    position: relative;
}
.topExam_img source,
.topExam_img img {
    border-radius: 16px;
}
.topExam_txt {
    position: absolute;
    bottom: 0;
    left: 0;
    background: #006CAF;
    border-radius: 0 16px 0 16px;
    padding: 10px 20px;
}
.topExam_txt .txt {
    font-weight: 700;
    font-size: 16px;
    line-height: 1.6;
    letter-spacing: .02em;
    color: #FFF;
}
.topExamLst_wrap {
    margin-top: 80px;
}
.topExamLst_wrap .ttl {
    font-weight: 700;
    font-size: 24px;
    line-height: 1;
    letter-spacing: .02em;
    text-align: center;
}
.topExamLst_lst {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 60px;
    gap: 52px;
}
.topExamLst_lst .lst li {
    font-weight: 600;
    font-size: 16px;
    line-height: 1.6;
    letter-spacing: .02em;
    margin-bottom: .6em;
}
.topExamLst_lst .lst li:last-child {
    margin-bottom: 0;
}
.topLearn_wrap {
    padding: 120px 0;
    background: rgb(0,108,175);
    background: linear-gradient(73.82deg, #006CAF 24.34%, #34BBF1 104.55%);
}
.topLearn_txt {
    text-align: center;
    margin-top: 40px;
    font-weight: 700;
    font-size: 24px;
    line-height: 1;
    letter-spacing: .02em;
    color: #FFF;
}
.topLearn_txt.is-ver2 {
    color: #000;
}
.topLearn_lst {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    margin-top: 80px;
}
.topLearn_box:before {
    content: '';
    display: block;
    width: 80px;
    height: 80px;
    box-sizing: border-box;
    position: absolute;
    left: -2px;
    top: -2px;
    background: #032F4A;
    z-index: 1;
    font-weight: 700;
    font-size: 24px;
    line-height: 1;
    text-align: left;
    color: #FFF;
    padding: 14px 0 0 15px;
    clip-path: polygon(100% 0, 0 0, 0 100%);
}
.topLearn_box:nth-child(1):before {
    content: '1';
}
.topLearn_box:nth-child(2):before {
    content: '2';
}
.topLearn_box:nth-child(3):before {
    content: '3';
}
.topLearn_box {
    width: 360px;
    width: 31%;
    background: #fff;
    text-align: center;
    padding: 44px 0 36px;
    border-radius: 16px;
    position: relative;
    box-sizing: border-box;
    overflow: hidden;
    border: 2px solid #032F4A;
}
.topLearn_box .txt {
    text-align: center;
    font-weight: 700;
    font-size: 24px;
    line-height: 1.6;
    letter-spacing: .02em;
}
.topLearn_box .txt span {
    color: #02B381;
}
.topLsup_wrap {
    padding: 120px 0;
    background: rgb(0,108,175);
    background: linear-gradient(73.82deg, #2280B6 24.34%, #34BBF1 104.55%);
}
#a_support.topLsup_wrap {
    background: linear-gradient(73.82deg, #006CAF 24.34%, #2E97D8 104.55%);
}
.topLsup_lst {
    margin-top: 80px;
}
.topLsup_lst .splide__slide {
    width: 31%;
    min-height:515px;
    background: #fff;
    border-radius: 16px;
}
.topLsup_box {
    width: 100%;
    padding: 60px 40px 0;
    position: relative;
    box-sizing: border-box;
}
.topLsup_box .support {
    position: absolute;
    top: 0;
    left: 0;
    background: #032F4A;
    border-radius: 16px 0 16px 0;
    padding: 4px 14px;
}
.topLsup_box .support .is-txt {
    font-weight: 700;
    font-size: 14px;
    line-height: 1.4;
    text-align: center;
    color: #FFF;
}
.topLsup_box .support .is-txt span {
    font-size: 24px;
}
.topLsup_box .ttl {
    font-weight: 700;
    font-size: 24px;
    line-height: 1.6;
    text-align: center;
    letter-spacing: .02em;
    margin-bottom: 20px;
}
.topLsup_box .img {
    text-align: center;
    margin-bottom: 20px;
}
.topLsup_box .txt {
    font-weight: 400;
    font-size: 16px;
    line-height: 1.6;
    letter-spacing: .02em;
    text-align: left;
}
.topLsup_box .txt span {
    font-size: 12px;
}
.topCou_wrap {
    background: #fff;
    padding: 120px 0;
}
.topCou_lst {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 80px;
}
.course_box {
    width: 560px;
    width: 48.3%;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0px 3px 10px 4px rgba(0, 0, 0, .04);
}
.course_ttl {
    background: #006CAF;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    height: 100px;
    border-radius: 16px 16px 0 0;
}
.course_ttl .ttl {
    font-weight: 700;
    font-size: 24px;
    line-height: 1.4;
    text-align: center;
    letter-spacing: .02em;
    color: #FFFFFF;
}
.course_ttl .ttl .is-sml {
    display: block;
    font-size: 16px;
    line-height: 1;
    margin-top: 5px;
}
.course_dtl .img source,
.course_dtl .img img {
    width: 100%;
    height: auto;
}
.course_txt {
    padding: 40px;
}
.course_txt .mds {
    font-weight: 700;
    font-size: 24px;
    line-height: 1.4;
    text-align: center;
    letter-spacing: .02em;
    color: #006CAF;
}
.course_txt .box {
    margin-top: 20px;
}
.course_txt .box dl {
    padding: 20px 0;
    border-top: 1px solid #E6E6E6;
}
.course_txt .box dl:last-child {
    padding-bottom: 0;
}
.course_txt .box dl dt {
    font-weight: 700;
    font-size: 16px;
    line-height: 1.6;
    letter-spacing: .02em;
}
.course_txt .box dl dd {
    font-weight: 400;
    font-size: 14px;
    line-height: 1.6;
    letter-spacing: .02em;
    margin-top: 5px;
}
.course_btn {
    margin-top: 20px;
}
.course_btn .ist {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    height: 62px;
    background: #032F4A;
    border-radius: 100vh;
    padding: 0 5px;
}
.course_btn .ist li {
    width: 49%;
}
.course_btn .ist li a {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    height: 52px;
    font-weight: 700;
    font-size: 16px;
    line-height: 1.4;
    text-align: center;
    letter-spacing: .02em;
    color: #FFF;
    text-decoration: none;
    border-radius: 100vh;
}
.course_btn .ist li.is-on a {
    background: #FFF;
    color: #032F4A;
}
.course_txt .box.is-course1,
.course_txt .box.is-course2 {
    display: none;
    margin-top: 30px;
}
.course_txt .box.is-course1.is-active,
.course_txt .box.is-course2.is-active {
    display: block;
}
.topCou_txt {
    font-weight: 900;
    font-size: 24px;
    line-height: 2;
    text-align: center;
    letter-spacing: .02em;
    margin-top: 80px;
}
.topCou_txt span {
    color: #02B381;
}
.topSup_wrap {
    background: #fff;
    padding: 85px 0 120px;
}
.topSup_box {
    position: relative;
    max-width: 1440px;
    margin: 0 auto;
}
.topSupTop_box {
    margin-top: 96px;
}
.topSupTop_box .img {
    position: absolute;
    right: 0;
    top: 195px;
}
.topSupTop_box .box {
    width: 480px;
    padding-right: 100px;
}
.topSupTop_box .box .mds {
    font-weight: 900;
    font-size: 32px;
    line-height: 1.6;
    letter-spacing: .02em;
}
.topSupTop_box .box .read {
    font-weight: 900;
    font-size: 36px;
    line-height: 1.4;
    letter-spacing: .02em;
}
.topSupTop_box .box .read span {
    font-size: 120px;
    letter-spacing: -0.04em;
    color: #006CAF;
    padding-right: 8px;
    font-weight: 700;
}
.topSupTop_box .box .txt {
    font-weight: 700;
    font-size: 16px;
    line-height: 200%;
    letter-spacing: .02em;
}
.topSupTop_box .box .txt span {
    color: #02B381;
}
.topSupLst_lst {
    margin-top: 108px;
}
.topSupLst_box {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 40px 0;
    border-top: 1px solid #E6E6E6;
}
.topSupLst_box:last-child {
    border-bottom: 1px solid #E6E6E6;
}
.topSupLst_box .img source,
.topSupLst_box .img img {
    border-radius: 16px;
}
.topSupLst_box .box {
    width: -webkit-calc(100% - 360px);
    width: calc(100% - 360px);
    box-sizing: border-box;
    padding-left: 40px;
}
.topSupLst_box .box .ttl {
    font-weight: 700;
    font-size: 32px;
    line-height: 2;
    letter-spacing: .02em;
    position: relative;
    padding-left: 70px;
}
.topSupLst_box .box .ttl span {
    width: 50px;
    height: 50px;
    box-sizing: border-box;
    background: #006CAF;
    color: #fff;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    font-weight: 700;
    font-size: 24px;
    line-height: 1;
    text-align: center;
    color: #FFFFFF;
    position: absolute;
    left: 0;
    top: 5px;
    padding-top: 2px;
}
.topSupLst_box .box .txt {
    font-weight: 400;
    font-size: 16px;
    line-height: 2;
    letter-spacing: .02em;
    margin-top: 22px;
}
.topSupFree_box {
    margin-top: 80px;
}
.topSupFree_box .img {
    text-align: center;
}
.topSupFree_box .txt {
    padding: 50px 0;
    font-weight: 900;
    font-size: 24px;
    line-height: 2;
    text-align: center;
    letter-spacing: .02em;
    color: #032F4A;
}
.topSupFree_box .c-lnk {
    text-align: center;
}
.topVoice_wrap {
    padding: 78px 0 120px;
    background: rgb(0, 108, 175);
    background: linear-gradient(73.82deg, #006CAF 24.34%, #34BBF1 104.55%);
}
.topVoice_lst {
    margin-top: 40px;
}
.topVoice_box {
    width: 360px;
}
.topVoice_bln {
    background: #fff;
    border-radius: 16px;
    padding: 40px;
    position: relative;
}
.topVoice_bln:before {
    content: '';
    display: block;
    width: 20px;
    height: 20px;
    position: absolute;
    left: 40px;
    bottom: -34px;
    background: #ffffff;
    height: calc(70px / 2);
    width: 35px;
    clip-path: polygon(0 0, 0% 100%, 100% 0);
    z-index: 1;
}
.topVoice_bln .ttl {
    font-weight: 700;
    font-size: 24px;
    line-height: 1.6;
    letter-spacing: .02em;
}
.topVoice_bln .ttl span {
    color: #02B381;
}
.topVoice_bln .txt {
    font-weight: 400;
    font-size: 16px;
    line-height: 2;
    letter-spacing: .02em;
    margin-top: 20px;
}
.topVoice_prof {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-top: 46px;
}
.topVoice_prof .txt {
    font-weight: 700;
    font-size: 16px;
    line-height: 2;
    letter-spacing: .02em;
    color: #FFF;
    width: -webkit-calc(100% - 80px);
    width: calc(100% - 80px);
    box-sizing: border-box;
    padding-left: 20px;
}
.topVoice_lst .splide {
    padding-bottom: 100px;
}
.splide__arrows {
    position: absolute;
    top: 225px;
    left: 0;
    right: 0;
    margin: auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}
.splide__arrow {
    display: block;
    width: 80px;
    height: 80px;
    position: relative;
}
.splide__arrow:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    border: 1px solid #032F4A;
    background: #032F4A;
    border-radius: 50%;
    z-index: 1;
    transition:all .2s ease-out;
}
.splide__arrow:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    z-index: 2;
    transition:all .2s ease-out;
}
.splide__arrow.splide__arrow--next {
    margin-right: -60px;
}
.splide__arrow.splide__arrow--next:after {
    background: url(../svg/icn_arw_r_w.svg) no-repeat center / auto 16px;
}
.splide__arrow.splide__arrow--prev {
    margin-left: -60px;
}
.splide__arrow.splide__arrow--prev:after {
    background: url(../svg/icn_arw_l_w.svg) no-repeat center / auto 16px;
}
.splide__arrow span {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 2;
    overflow: hidden;
}
.splide__pagination {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    max-width: 500px;
}
.splide__pagination li {
    width: 100px;
    height: 6px;
    flex: 1;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
.splide__pagination__page {
    display: block;
    width: 100%;
    height: 4px;
    background-color: rgba(255, 255, 255, .1);
}
.splide__pagination__page.is-active {
    height: 6px;
    background: #fff;
}
.topFlow_wrap {
    padding: 78px 0 120px;
    background: #fff;
}
.topFlow_lst {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 60px;
}
.topFlow_read {
    width: 100%;
}
.topFlow_read source,
.topFlow_read img {
    width: 100%;
    height: auto;
    max-width: 1160px;
}
.topFlow_box {
    width: 445px;
    width: 38.4%;
    box-sizing: border-box;
    background-color: rgba(2, 179, 129, .1);
    padding: 20px;
    position: relative;
}
.topFlow_box.is-ver2 {
    width: 670px;
    width: 57.8%;
    background-color: rgba(0, 108, 175, 0.1);
}
.topFlow_box:before {
    content: "";
    position: absolute;
    top: 94px;
    right: -30px;
    z-index: 9;
    width: 15px;
    height: 32px;
    background: url(../svg/icn_bl_arw_r.svg) no-repeat center;
    background-size: 100% auto;
}
.topFlow_box.is-ver2:before {
    display: none;
}
.topFlow_box .img {
    text-align: center;
    margin-bottom: 20px;
}
.topFlow_box .img source,
.topFlow_box .img img {
    width: 100%;
    height: auto;
    max-width: 405px;
}
.topFlow_box.is-ver2 .img source,
.topFlow_box.is-ver2 .img img {
    max-width: 630px;
}
.topFlow_txt .ttl {
    font-weight: 700;
    font-size: 20px;
    line-height: 1.4;
    text-align: center;
    letter-spacing: .02em;
    color: #02B381;
}
.topFlow_box.is-ver2 .topFlow_txt .ttl {
    color: #006CAF;
}
.topFlow_txt .box {
    min-height: 152px;
    box-sizing: border-box;
    padding: 20px;
    margin-top: 40px;
    background: #FFFFFF;
    border-radius: 16px;
    box-shadow: 0px 3px 10px 4px rgba(0, 0, 0, .04);
    position: relative;
}
.topFlow_txt .box:before {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    top: -20px;
    background: #ffffff;
    height: calc(40px / 2 * tan(60deg));
    width: 40px;
    clip-path: polygon(50% 0, 100% 100%, 0 100%);
}
.topFlow_txt .box .txt {
    font-weight: 400;
    font-size: 14px;
    line-height: 2;
    letter-spacing: .02em;
}
.topFaq_wrap {
    padding: 85px 0 120px;
}
.topFaq_in {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    box-sizing: border-box;
}
.topFaq_lst {
    margin-top: 58px;
}
.topFaq_box {
    width: 100%;
    box-sizing: border-box;
    padding: 0 40px;
    background: #FFFFFF;
    border-radius: 16px;
    box-shadow: 0px 3px 10px 4px rgba(0, 0, 0, .04);
    position: relative;
    margin-bottom: 20px;
}
.topFaq_box:last-child {
    margin-bottom: 0;
}
.topFaq_box .ttl {
    padding: 30px 0;
    font-weight: 700;
    font-size: 20px;
    line-height: 1.6;
    letter-spacing: .02em;
    cursor: pointer;
    transition: transform .4s;
    position: relative;
}
.topFaq_box .ttl:after,
.topFaq_box .ttl:before {
    content: '';
    display: block;
    width: 16px;
    height: 2px;
    background: #006CAF;
    position: absolute;
    right: 0;
    top: 50%;
    transition: .2s;
    z-index: 2;
}
.topFaq_box .ttl:after {
    transform: rotate(90deg);
}
.topFaq_box .ttl.on {
    color: #006CAF;
}
.topFaq_box .ttl.on:after {
    transform: rotate(0);
}
.topFaq_box .ttl span {
    display: inline-block;
    position: relative;
    padding-left: 35px;
}
.topFaq_box .ttl span:before {
    content: "Q.";
    color: #006CAF;
    position: absolute;
    display: block;
    top: 3px;
    left: 0;
    font-size: 24px;
    line-height: 1;
    font-weight: 700;
    font-variation-settings: "wght" 700;
    z-index: 1;
}
.topFaq_box .txt {
    display: none;
    font-weight: 400;
    font-size: 16px;
    line-height: 2;
    letter-spacing: .02em;
    padding: 25px 0 40px;
    border-top: 1px solid #E6E6E6;
}
.topForm_wrap {
    padding: 85px 0 120px;
    position: relative;
    z-index: 1;
    overflow: hidden;
}
.topForm_wrap:before {
    content: '';
    display: block;
    width: 100%;
    height: 367px;
    position: absolute;
    left: 0;
    top: 0;
    background: #02B381;
    z-index: 2;
}
.topForm_in {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    box-sizing: border-box;
    position: relative;
    z-index: 3;
}
.topForm_box {
    margin-top: 48px;
    background: #fff;
    border-radius: 16px;
    padding: 80px 80px;
}
.topComp_wrap {
    background: #fff;
    padding: 120px 0;
}
.topComp_box {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    background: #F8F8F8;
    border-radius: 16px;
    padding: 60px;
    margin-top: 60px;
}
.topComp_box .box {
    width: -webkit-calc(100% - 320px);
    width: calc(100% - 320px);
    box-sizing: border-box;
    padding-left: 60px;
}
.topComp_box .ttl {
    font-weight: 700;
    font-size: 24px;
    line-height: 1.6;
    letter-spacing: .02em;
}
.topComp_box .txt {
    font-weight: 400;
    font-size: 16px;
    line-height: 2;
    letter-spacing: .02em;
    margin-top: 15px;
}
.topComp_box .c-lnk {
    margin-top: 30px;
}
.end_wrap {
    padding: 120px 0 0;
    text-align: center;
}
.end_wrap .ttl {
    font-weight: 900;
    font-size: 36px;
    line-height: 1.4;
    letter-spacing: .02em;
    font-family: "Noto Sans JP", sans-serif;
}
.end_wrap .txt {
    font-weight: 400;
    font-size: 20px;
    line-height: 1.6;
    letter-spacing: .02em;
    margin-top: 40px;
}
.end_box {
    margin-bottom: 60px;
}
.end_btn {
    margin: 0 auto;
}
.topSupTop_box .read.is-kome span,
.topSupTop_box .txt.is-kome {
    position: relative;
}
.topSupTop_box .read.is-kome span::before {
    content: "※";
    position: absolute;
    top: 0;
    right: 5px;
    color: #006CAF;
    font-size: 20px;
    font-weight: 400;
}
.topSupTop_box .txt.is-kome::before {
    content: "※2025年4月1日時点";
    position: absolute;
    bottom: -40px;
    left: 0;
    font-size: 10px;
    font-weight: 400;
}
@media(min-width:767px) {
    .topFaq_box .ttl:hover {
        color: #006CAF;
    }
    .splide__arrow:hover:before {
        background: #fff;
    }
    .splide__arrow.splide__arrow--next:hover:after {
        background: url(../svg/icn_arw_r_bl.svg) no-repeat center / auto 16px;
    }
    .splide__arrow.splide__arrow--prev:hover:after {
        background: url(../svg/icn_arw_l_bl.svg) no-repeat center / auto 16px;
    }
}
@media(min-width:1024px) {
    .topLsup_lst .splide:not(.is-overflow) .splide__list {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
}
/*tab*/
@media screen and (min-width:1024px) and (max-width:1240px) {
}
@media screen and (max-width:1300px) {
    .splide__arrows {
        padding: 0 10px;
    }
    .splide__arrow.splide__arrow--next {
        margin-right: 0;
    }
    .splide__arrow.splide__arrow--prev {
        margin-left: 0;
    }
}
@media screen and (max-width:1240px) {
    .topSupTop_box .img {
        width: 50%;
    }
    .topSupTop_box .img source,
    .topSupTop_box .img img {
        width: 100%;
        height: auto;
        max-width: 720px;
    }
    .topSupTop_box .box {
        width: -webkit-calc(100% - 50%);
        width: calc(100% - 50%);
        box-sizing: border-box;
        padding-right: 20px;
    }
}
@media screen and (max-width:1024px) {
    .topLsup_lst .splide,
    .topVoice_lst .splide {
        padding-bottom: 36px;
    }
    .splide__arrows {
        top: 242px;
        padding: 0 10px;
    }
    .splide__arrow {
        width: 50px;
        height: 50px;
    }
    .splide__pagination {
        max-width: 295px;
    }
    .splide__pagination li {
        width: 98px;
        height: 6px;
    }
    .topLsup_lst .splide__arrows {
        display: block;
        width: 100%;
        position: relative;
        top: 186px;
    }
    .topLsup_lst .splide__slide {
        width: 360px;
        min-height:515px;
    }
    .topLsup_lst .splide__arrow--prev {
        position: absolute;
        top: 0;
        left: 10px;
    }
    .topLsup_lst .splide__arrow--next {
        position: absolute;
        top: 0;
        right: 30px;
    }
    .topLsup_lst .splide__slide {
        width: 295px;
        min-height:352px;
    }
    .topLsup_lst .splide.is-asup .splide__slide {
        min-height:412px;
    }
    .topLsup_in {
        max-width: 100%;
    }
    .topLsup_box {
        height: auto;
        padding: 48px 30px 30px;
    }
    .topLsup_box .support {
        padding: 3px 11px;
    }
    .topLsup_box .support .is-txt {
        font-size: 10px;
    }
    .topLsup_box .support .is-txt span {
        font-size: 16px;
    }
    .topLsup_box .ttl {
        font-size: 16px;
        margin-bottom: 20px;
    }
    .topLsup_box .img {
        margin-bottom: 20px;
    }
    .topLsup_box .txt {
        font-size: 14px;
    }
}
@media screen and (min-width:767px) and (max-width:1240px) {
    .topLsup_box {
        height: auto;
        padding-bottom: 40px;
    }
    .topMerit_box .txt {
        font-size: 30px;
    }
    .topLearn_box .txt {
        font-size: 20px;
    }
    .topSupTop_box .box .read span {
        font-size: 106px;
    }
    .topLsup_box .ttl {
        font-size: 22px;
    }
    .topFaq_in,
    .topForm_in {
        max-width: 89.063vw;
    }
    .topRead_img:before {
        content: none;
    }
    .topRead_wrap {
        padding-bottom: 590px;
    }
    .topReco_wrap {
        position: relative;
    }
    .topReco_wrap:before {
        content: '';
        display: block;
        width: 718px;
        height: 616px;
        position: absolute;
        right: 0;
        left: 0;
        margin: auto;
        top: -546px;
        background: url(../img/sp/topRead_img01.png) no-repeat center / 100% auto;
        background: url(../webp/sp/topRead_img01.webp) no-repeat center / 100% auto;
        z-index: 2;
    }
}
@media screen and (min-width:767px) and ( max-width:1024px) {
    .topSupTop_box .img {
        width: 100%;
        position: static;
    }
    .topSupTop_box .box {
        width: 100%;
        padding: 40px 0 0;
    }
    .topSupLst_box .img {
        width: 40%;
    }
    .topSupLst_box .img source,
    .topSupLst_box .img img {
        width: 100%;
        height: auto;
    }
    .topSupLst_box .box {
        width: -webkit-calc(100% - 40%);
        width: calc(100% - 40%);
    }
    .topComp_box .img {
        width: 40%;
    }
    .topComp_box .img source,
    .topComp_box .img img {
        width: 100%;
        height: auto;
    }
    .topComp_box .box {
        width: -webkit-calc(100% - 40%);
        width: calc(100% - 40%);
        box-sizing: border-box;
        padding-left: 40px;
    }
    .topReco_lst {
        display: block;
    }
    .topReco_box {
        width: 100%;
        margin-bottom: 40px;
    }
    .topReco_box:last-child {
        margin-bottom: 0;
    }
    .topLearn_txt {
        font-size: 22px;
    }
    .topLearn_lst {
        display: block;
    }
    .topLearn_box {
        width: 100%;
        margin-bottom: 20px;
    }
    .topLearn_box:last-child {
        margin-bottom: 0;
    }
    .topLearn_box .txt {
        font-size: 24px;
    }
    .topCou_txt {
        font-size: 20px;
    }
    .topForm_box {
        padding: 40px 40px;
    }
    .topExamLst_wrap .ttl {
        font-size: 22px;
    }
    .topExamLst_lst {
        gap: 20px;
    }
    .topExamLst_lst .lst li {
        font-size: 14px;
    }
}
/*sp*/
@media only screen and (max-width:767px) {
    main {
        overflow: hidden;
    }
    .topTtl_ttl .en {
        font-size: 10px;
        margin-bottom: 5px;
    }
    .topTtl_ttl .ttl {
        font-weight: 900;
        font-size: 20px;
        line-height: 1.4;
    }
    .topTtl_ttl .ttl span {
        font-size: 32px;
    }
    .topTtl_ttl .txt {
        padding: 0 20px;
        font-size: 14px;
        line-height: 1.6;
        letter-spacing: 0;
        margin-top: 20px;
    }
    .topTtl_ttl.is-ver2 .ttl {
        font-size: 24px;
    }
    .topTtl_ttl.is-about {
        height: auto;
        padding-top: 26px;
        background: url(../svg/ttl_about.svg) no-repeat center top / 211px auto;
    }
    .topTtl_ttl.is-learning {
        height: auto;
        padding-top: 26px;
        background: url(../svg/ttl_learning.svg) no-repeat center / 298px auto;
    }
    .topTtl_ttl.is-support {
        height: auto;
        padding-top: 26px;
        background: url(../svg/ttl_support.svg) no-repeat center / 282px auto;
    }
    .topTtl_ttl.is-voice {
        height: auto;
        padding-top: 26px;
        background: url(../svg/ttl_voice.svg) no-repeat center / 183px auto;
    }
    .topTtl_ttl.is-flow {
        height: auto;
        padding-top: 26px;
        background: url(../svg/ttl_flow.svg) no-repeat center top -15px / 170px auto;
    }
    .topTtl_ttl.is-faq {
        height: auto;
        padding-top: 26px;
        background: url(../svg/ttl_faq.svg) no-repeat center / 122px auto;
    }
    .topTtl_ttl.is-reservation {
        height: auto;
        padding-top: 26px;
        background: url(../svg/ttl_reservation.svg) no-repeat center / 409px auto;
        margin: 0 -50px;
    }
    .topRead_img:before {
        content: none;
    }
    .topRead_wrap {
        padding: 60px 0 330px;
    }
    .topRead_in {
        padding: 0 20px;
    }
    .topRead_txt {
        margin-top: 40px;
    }
    .topRead_txt .txt {
        font-weight: 700;
        font-size: 14px;
        line-height: 2;
        text-align: center;
    }
    .topRead_txt .txt:last-child {
        margin-bottom: 0;
    }
    .topReco_wrap {
        padding: 80px 0 100px;
        background: rgb(0,108,175);
        background: linear-gradient(73.82deg, #006CAF 24.34%, #34BBF1 104.55%);
        position: relative;
        min-height: 687px;
        box-sizing: border-box;
    }
    .topReco_wrap:before {
        content: '';
        display: block;
        width: 359px;
        height: 308px;
        position: absolute;
        right: -16px;
        top: -270px;
        background: url(../img/sp/topRead_img01.png) no-repeat center / 100% auto;
        background: url(../webp/sp/topRead_img01.webp) no-repeat center / 100% auto;
        z-index: 2;
    }
    .topReco_in {
        padding: 0 20px;
    }
    .topReco_lst {
        display: block;
        margin-top: 40px;
    }
    .topReco_box {
        width: 100%;
        padding: 15px 20px;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        margin-bottom: 30px;
    }
    .topReco_box:last-child {
        margin-bottom: 0;
    }
    .topReco_box:before {
        width: 40px;
        height: 38px;
        top: -22px;
    }
    .topReco_box .icn {
        margin-bottom: 0;
    }
    .topReco_box .icn source,
    .topReco_box .icn img {
        max-width: 120px;
    }
    .topReco_box .txt {
        width: -webkit-calc(100% - 120px);
        width: calc(100% - 120px);
        box-sizing: border-box;
        padding-left: 10px;
        font-size: 16px;
        text-align: left;
    }
    .topMerit_wrap {
        padding: 80px 0;
    }
    .topMerit_in {
        padding: 0 20px;
    }
    .topMerit_lst {
        margin-top: 40px;
    }
    .topMerit_box {
        margin-bottom: 18px;
    }
    .topMerit_box:last-child {
        margin-bottom: 0;
    }
    .topMerit_box .merit {
        width: 80px;
        height: 80px;
    }
    .topMerit_box .merit .is-in {
        font-size: 10px;
    }
    .topMerit_box .merit .is-in span {
        font-size: 36px;
    }
    .topMerit_box .txt {
        font-size: 14px;
        line-height: 2.4;
        width: -webkit-calc(100% - 80px);
        width: calc(100% - 80px);
        padding-left: 20px;
        text-decoration-thickness: 2px;
        text-underline-offset: 10px;
    }
    .topExam_wrap {
        padding: 80px 0;
    }
    .topExam_box {
        margin-top: 40px;
    }
    .splide__slide:nth-child(2n) .topExam_img {
        padding-top: 40px;
    }
    .topExam_img {
        position: relative;
    }
    .topExam_img source,
    .topExam_img img {
        border-radius: 8px;
    }
    .topExam_txt {
        border-radius: 0 8px 0 8px;
        padding: 5px 8px;
    }
    .topExam_txt .txt {
        font-size: 12px;
    }
    .topExamLst_wrap {
        margin-top: 40px;
    }
    .topExamLst_wrap .ttl {
        margin-top: 30px;
        font-size: 14px;
        line-height: 1.6;
    }
    .topExamLst_lst {
        justify-content: space-between;
        margin-top: 30px;
        padding: 0 20px;
        gap: 0;
    }
    .topExamLst_lst .lst {
        width: 49%;
        margin: 0.6em 0 0;
    }
    .topExamLst_lst .lst:nth-child(-n+2) {
        margin: 0;
    }
    .topExamLst_lst .lst li {
        font-size: 13px;
    }
    .topExamLst_lst .lst:last-child {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
    .topExamLst_lst .lst:last-child li {
        width: 49%;
    }
    .topLearn_wrap {
        padding: 58px 0 80px;
        background: rgb(0,108,175);
        background: linear-gradient(73.82deg, #006CAF 24.34%, #34BBF1 104.55%);
    }
    .topLearn_in {
        padding: 0 20px;
    }
    .topLearn_txt {
        margin-top: 30px;
        font-size: 14px;
        line-height: 1.6
    }
    .topLearn_lst {
        display: block;
        margin-top: 40px;
    }
    .topLearn_box:before {
        font-size: 24px;
        padding: 14px 0 0 15px;
    }
    .topLearn_box {
        width: 100%;
        padding: 20px 0;
        margin-bottom: 20px;
    }
    .topLearn_box:last-child {
        margin-bottom: 0;
    }
    .topLearn_box .txt {
        font-size: 16px;
    }
    .topLsup_wrap {
        padding: 80px 0;
        background: rgb(0,108,175);
        background: linear-gradient(73.82deg, #006CAF 24.34%, #34BBF1 104.55%);
    }
    #a_support.topLsup_wrap {
        background: linear-gradient(73.82deg, #006CAF 24.34%, #34BBF1 104.55%);
    }
    .topLsup_lst {
        margin-top: 40px;
    }
    .topCou_wrap {
        padding: 80px 0;
    }
    .topCou_in {
        padding: 0 20px;
    }
    .topCou_lst {
        display: block;
        margin-top: 40px;
    }
    .course_box {
        width: 100%;
        margin-bottom: 20px;
        box-shadow: 0px 3px 10px 4px rgba(0, 0, 0, 0.04);
    }
    .course_box:last-child {
        margin-bottom: 0;
    }
    .course_ttl {
        height: 62px;
    }
    .course_ttl .ttl {
        font-size: 16px;
    }
    .course_ttl .ttl .is-sml {
        font-size: 12px;
        margin-top: 5px;
    }
    .course_dtl .img source,
    .course_dtl .img img {
        width: 100%;
        height: auto;
    }
    .course_txt {
        padding: 20px;
    }
    .course_txt .mds {
        font-size: 16px;
    }
    .course_txt .box {
        margin-top: 20px;
    }
    .course_txt .box dl {
        padding: 15px 0;
    }
    .course_txt .box dl dt {
        font-size: 14px;
    }
    .course_txt .box dl dd {
        font-size: 12px;
        margin-top: 5px;
    }
    .course_btn {
        margin-top: 20px;
    }
    .course_btn .ist {
        height: 52px;
    }
    .course_btn .ist li {
        width: 49%;
    }
    .course_btn .ist li a {
        height: 42px;
        font-size: 14px;
    }
    .course_txt .box.is-course1,
    .course_txt .box.is-course2 {
        margin-top: 20px;
    }
    .topCou_txt {
        font-size: 16px;
        margin-top: 60px;
    }
    .topSup_wrap {
        padding: 60px 0 80px;
    }
    .topSup_in {
        padding: 0 20px;
    }
    .topSupTop_box {
        margin-top: 40px;
    }
    .topSupTop_box .img {
        width: 100%;
        position: static;
        text-align: center;
        margin-bottom: 30px;
    }
    .topSupTop_box .img source,
    .topSupTop_box .img img {
        width: 100%;
        height: auto;
        max-width: 375px;
    }
    .topSupTop_box .box {
        width: 100%;
        padding-right: 0;
    }
    .topSupTop_box .box .mds {
        font-size: 16px;
    }
    .topSupTop_box .box .read {
        font-weight: 900;
        font-size: 20px;
        line-height: 1.4;
    }
    .topSupTop_box .box .read span {
        font-size: 60px;
    }
    .topSupTop_box .box .txt {
        font-weight: 700;
        font-size: 14px;
        line-height: 200%;
        margin-top: 10px;
    }
    .topSupLst_lst {
        margin-top: 40px;
    }
    .topSupLst_box {
        flex-direction: column-reverse;
        padding: 20px 0;
    }
    .topSupLst_box .img {
        text-align: center;
    }
    .topSupLst_box .img source,
    .topSupLst_box .img img {
        width: 100%;
        height: auto;
        max-width: 335px;
    }
    .topSupLst_box .box {
        width: 100%;
        padding: 0 0 20px;
    }
    .topSupLst_box .box .ttl {
        font-size: 16px;
        padding-left: 50px;
    }
    .topSupLst_box .box .ttl span {
        width: 40px;
        height: 40px;
        font-size: 16px;
        left: 0;
        top: -4px;
    }
    .topSupLst_box .box .txt {
        font-size: 14px;
        margin-top: 15px;
    }
    .topSupFree_box {
        margin-top: 40px;
    }
    .topSupFree_box .txt {
        padding: 30px 0;
        font-size: 20px;
    }
    .topVoice_wrap {
        padding: 57px 0 80px;
        background: rgb(0, 108, 175);
        background: linear-gradient(73.82deg, #006CAF 24.34%, #34BBF1 104.55%);
        overflow: hidden;
    }
    .topVoice_lst {
        margin-top: 40px;
    }
    .topVoice_box {
        width: 295px;
    }
    .topVoice_bln {
        padding: 30px;
    }
    .topVoice_bln:before {
        content: '';
        display: block;
        width: 20px;
        height: 20px;
        position: absolute;
        left: 40px;
        bottom: -35px;
        background: #ffffff;
        height: calc(70px / 2);
        width: 35px;
        clip-path: polygon(0 0, 0% 100%, 100% 0);
        z-index: 1;
    }
    .topVoice_bln .ttl {
        font-size: 16px;
    }
    .topVoice_bln .txt {
        font-size: 14px;
        margin-top: 20px;
    }
    .topVoice_prof {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        margin-top: 46px;
    }
    .topVoice_prof .txt {
        font-size: 14px;
    }
    .topFlow_wrap {
        padding: 58px 0 80px;
    }
    .topFlow_in {
        padding: 0 20px;
    }
    .topFlow_lst {
        position: relative;
        display: block;
        margin-top: 60px;
    }
    .topFlow_read {
        position: absolute;
        top: 0;
        left: 0;
        z-index: 2;
    }
    .topFlow_read source,
    .topFlow_read img {
        width: 100%;
        height: auto;
        max-width: 30px;
    }
    .topFlow_box {
        display: flex;
        flex-wrap: wrap;
        width: -webkit-calc(100% - 23px);
        width: calc(100% - 23px);
        box-sizing: border-box;
        margin-left: auto;
        padding: 20px 17px 20px 17px;
    }
    .topFlow_box:before {
        content: "";
        position: absolute;
        top: auto;
        right: auto;
        bottom: -27px;
        left: 43px;
        width: 22px;
        height: 12px;
        background: url(../svg/icn_bl_arw_dwn.svg) no-repeat center;
        background-size: 100% auto;
    }
    .topFlow_box.is-ver2 {
        width: -webkit-calc(100% - 20px);
        width: calc(100% - 20px);
        margin-top: 37px;
    }
    .topFlow_box .img {
        text-align: center;
        margin-bottom: 0;
    }
    .topFlow_box .img source,
    .topFlow_box .img img {
        width: 100%;
        height: auto;
        max-width: 75px;
    }
    .topFlow_box.is-ver2 .img source,
    .topFlow_box.is-ver2 .img img {
        max-width: 75px;
    }
    .topFlow_txt {
        width: -webkit-calc(100% - 75px);
        width: calc(100% - 75px);
        box-sizing: border-box;
        padding-left: 14px;
    }
    .topFlow_txt .ttl {
        font-size: 13px;
    }
    .topFlow_txt .box {
        height: auto;
        padding: 16px 16pxx;
        margin-top: 25px;
        border-radius: 8px;
    }
    .topFlow_txt .box:before {
        top: -16px;
    }
    .topFlow_txt .box .txt {
        font-size: 12px;
        letter-spacing: 0;
    }
    .topFaq_wrap {
        padding: 58px 0 80px;
    }
    .topFaq_in {
        padding: 0 20px;
    }
    .topFaq_lst {
        margin-top: 40px;
    }
    .topFaq_box {
        padding: 0 20px;
        margin-bottom: 10px;
    }
    .topFaq_box .ttl {
        padding: 20px 0;
        font-size: 14px;
        padding-right: 10px;
    }
    .topFaq_box .ttl span {
        padding-left: 30px;
    }
    .topFaq_box .ttl span:before {
        top: 1px;
        font-size: 20px;
    }
    .topFaq_box .txt {
        font-size: 14px;
        padding: 20px 0 20px;
    }
    .topFaq_box .ttl:after,
    .topFaq_box .ttl:before {
        right: -6px;
    }
    .topForm_wrap {
        padding: 58px 0 80px;
    }
    .topForm_wrap:before {
        height: 214px;
    }
    .topForm_in {
        padding: 0 20px;
    }
    .topForm_box {
        margin-top: 40px;
        padding: 20px 20px 30px;
    }
    .topComp_wrap {
        background: #F8F8F8;
        padding: 0 20px;
    }
    .topComp_in {
        background: #fff;
        padding: 60px 0;
    }
    .topComp_box {
        width: 240px;
        margin: 0 auto;
        background: #fff;
        border-radius: 0;
        padding: 0;
        margin-top: 40px;
    }
    .topComp_box .img {
        text-align: center;
        margin-bottom: 20px;
    }
    .topComp_box .box {
        width: 100%;
        padding-left: 0;
    }
    .topComp_box .ttl {
        font-size: 16px;
    }
    .topComp_box .txt {
        font-size: 12px;
        margin-top: 10px;
    }
    .topComp_box .c-lnk {
        margin-top: 20px;
    }
    .end_wrap {
        padding: 30px 20px 0;
    }
    .end_wrap .ttl {
        font-weight: 900;
        font-size: 20px;
        line-height: 1.4;
    }
    .end_wrap .txt {
        font-size: 14px;
        line-height: 1.6;
        letter-spacing: 0;
        margin-top: 20px;
    }
    .end_box {
        margin-bottom: 30px;
    }
    .end_btn {
        margin: 0 auto;
    }
    body.end .mv_wrap {
        height: 590px;
    }
    body.end .mv_read {
        bottom: 42px;
    }
    .topSupTop_box .read.is-kome span::before {
        right: 8px;
        font-size: 14px;
    }
    .topSupTop_box .txt.is-kome::before {
        bottom: -25px;
    }
}
@media only screen and (max-width: 374px) {
}
