@charset "UTF-8";
/* ===============
    page
=============== */
.learning_wrap {
    background: #fff;
}
.skill-ttl {
    background: repeating-linear-gradient(45deg, rgba(252,233,241,1) 0 5px,  transparent 5px 20px),#fff;
    border: 4px solid #D75996;
    border-radius: 14px;
    text-align: center;
    font-weight: 700;
}
.skillLst_wrap li {
    position: relative;
    background: #D75996;
    border-radius: 14px;
    color: #fff;
    font-weight: 600;
}
.skillLst_wrap li:first-child::before,
.skillLst_wrap li:nth-child(5)::before {
    position: absolute;
    content: '';
    z-index: 9;
}
.skillLst_wrap li:first-child::before {
    background: url(../svg/skill_shape01.svg) no-repeat center / 100% auto;
    transform: rotate(11deg);
}
.skillLst_wrap li .num {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translate(-50%,-50%);
    background: #FEF56F;
    border-radius: 50%;
    aspect-ratio: 1 / 1;
    display: flex;
    justify-content: center;
    align-items: center;
}
.study-ttl {
    background: repeating-linear-gradient(45deg, rgba(229,243,240,1) 0 5px, transparent 5px 20px),#fff;
    border: 4px solid #4DAB9C;
    border-radius: 14px;
    text-align: center;
    font-weight: 700;
}
.study-txt {
    font-size: 15px;
    font-weight: 600;
    line-height: 1.467;
}
.study-txt .is-marker {
    position: relative;
    z-index: 1;
}
.study-txt .is-marker::before {
    position: absolute;
    content: '';
    background: #FDF250;
    width: 100%;
    left: -1px;
    bottom: 0;
    z-index: -1;
}
.studyLst_wrap {
    display: grid;
    grid-template-columns: auto 1fr;
}
.studyLst_wrap dt {
    background: #77BEB1;
    color: #fff;
    font-weight: 600;
    font-size: 18px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 6px;
}
.studyLst_wrap dd {
    position: relative;
    color: #000;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.222;
}
.studyLst_wrap dd .is-fz {
    font-size: 15px;
    color: #1A1A1A;
    font-weight: normal;
    line-height: 1.467;
}
.studyLst_wrap dd .is-attention {
    color: #1A1A1A;
    font-size: 14px;
    font-weight: normal;
    line-height: 1.467;
}
.studyLst_wrap dd .is-pink {
    font-size: 28px;
}
.studyLst_wrap dd:nth-of-type(3)::before {
    background: url(../svg/study_shape01.svg) no-repeat center / 100% auto;
    transform: rotate(1deg);
}
.studyLst_wrap dd:nth-of-type(4)::before {
    background: url(../svg/study_shape02.svg) no-repeat center / 100% auto;
}
.studyLst_wrap dd:nth-of-type(3)::before,
.studyLst_wrap dd:nth-of-type(4)::before {
    position: absolute;
    content: '';
    z-index: 9;
}
.step_wrap {
    position: relative;
}
.step_wrap::before,
.step_wrap::after {
    position: absolute;
    content: '';
    z-index: 9;
}
.step_wrap::before {
    width: 100%;
    left: 0;
}
.step_wrap::after {
    width: 100%;
    left: 0;
}
.step_in {
    text-align: center;
}
.step-ttl {
    position: relative;
    background: #fff;
    border: 4px solid #4DAB9C;
    box-sizing: border-box;
    color: #4DAB9C;
    font-weight: 700;
    display: inline-block;
}
.step-ttl::before {
    position: absolute;
    content: '';
    background: url(../svg/step_shape01.svg) no-repeat center / 100% auto;
    transform: rotate(10deg);
    z-index: 9;
}
.stepLst_wrap {
    position: relative;
}
.stepLst_wrap::before {
    position: absolute;
    content: '';
    background: url(../svg/step_arwup.svg) no-repeat center / 100% auto;
    right: 0;
    bottom: 0;
    z-index: -1;
}
.stepLst_wrap li {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.stepLst_wrap li:last-child {
    margin-bottom: 0;
}
.stepLst_wrap li .stepLst_times {
    display: flex;
    align-items: center;
    flex: 1;
}
.stepLst_wrap li .stepLst_times .num {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #4DAB9C;
    color: #fff;
    border-radius: 50%;
}
.stepLst-txt {
    font-weight: normal;
}
.up-txt {
    font-weight: 700;
    margin-left: auto;
}
.voice_wrap {
    background: #FFF5E8;
}
.voice-ttl {
    position: relative;
    color: #F48E0E;
    font-weight: 700;
    display: inline-block;
}
.voice-ttl::before,
.voice-ttl::after {
    position: absolute;
    content: '';
    bottom: 0;
    z-index: 9;
}
.voice-ttl::before {
    background: url(../svg/voice_ttl_lf.svg) no-repeat center / 100% auto;
}
.voice-ttl::after {
    background: url(../svg/voice_ttl_rg.svg) no-repeat center / 100% auto;
}
.voice_box {
    position: relative;
    background: #fff;
    border-radius: 14px;
    text-align: left;
}
.voice_box::before {
    position: absolute;
    content: '';
    background: url(../svg/voice_shape01.svg) no-repeat center / 100% auto;
    z-index: 9;
}
.vcChild_in {
    display: flex;
    align-items: center;
}
.vcImg_wrap {
    flex-shrink: 0;
}
.vc-sttl {
    font-weight: 600;
    color: #F48E0E;
}
.profile {
    font-weight: normal;
}
.vc-txt {
    font-size: 15px;
    font-weight: normal;
    line-height: 1.467;
}
.cv-ttl {
    position: relative;
    font-weight: 700;
    text-align: center;
}
.cv-ttl::before {
    position: absolute;
    content: '';
    background: url(../svg/cv_line.svg) no-repeat center / 100% auto;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;
    z-index: 9;
}
.cv-search_wrap {
    border-radius: 14px;
    background: #fff;
    width: 100%;
}
.cv-search-ttl {
    text-align: center;
    font-size: 20px;
    line-height: 1.7;
}
.cv-search-box div {
    position: relative;
}
.cv-search-box div::before {
    position: absolute;
    content: '';
    background: url(../svg/cv_arw.svg) no-repeat;
    background-size: 100% auto;
    pointer-events: none;
    top: 50%;
    transform: translateY(-50%);
    z-index: 9;
}
.cv-search-box select {
    appearance: none;
    background: #FFFDE2;
    border: none;
    cursor: pointer;
    border-radius: 10px;
    color: #1A1A1A;
}
.cv-searchbtn {
    background: #E88100;
    border: none;
    text-align: center;
    align-items: center;
    cursor: pointer;
    border-radius: 10px;
}
.cv-searchbtn span {
    position: relative;
    font-weight: 700;
    line-height: 1;
    color: #fff;
    font-size: 16px;
}
.cv-searchbtn span::before {
    position: absolute;
    content: '';
    background: url(../svg/cv_search.svg) no-repeat;
    background-size: 100% auto;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    z-index: 9;
}
select:focus {
    outline: none;
}
.cv-contact_wrap {
    background: #fff;
    border-radius: 14px;
}
.inq_wrap a {
    background: #E52D8A;
    border-radius: 15px;
}
.inq-ttl {
    color: #fff;
    font-weight: 700;
    text-align: center;
}
.tel_wrap {
    background: #009844;
    border-radius: 15px;
    text-align: center;
}
.tel-ttl {
    font-weight: 700;
    line-height: 1;
    color: #fff;
}
.telnumber a {
    display: flex;
    align-items: center;
    justify-content: center;
}
.tel-txt {
    display: block;
    font-weight: normal;
    text-align: center;
    color: #fff;
}
.tel_wrap .tel-txt:last-child {
    margin-bottom: 0;
}
/* ===============
    footer
=============== */
footer {
    position: relative;
    background: #77BEB1;
}
.ftrLst_wrap li a {
    font-size: 15px;
    font-weight: 500;
    line-height: 1;
    color: #fff;
}
.copyright {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    font-size: 14px;
    color: #fff;
    line-height: 1;
    font-weight: normal;
}
@media only screen and (min-width: 895px) {
    /* ===============
        page
    =============== */
    .c_wrap {
        max-width: 780px;
        margin: 0 auto;
    }
    .learning_wrap {
        padding: 64px 0;
    }
    .skill_wrap {
        padding-bottom: 80px;
    }
    .skill-ttl {
        padding: 18px;
        font-size: 30px;
        line-height: 1.133;
        max-width: 780px;
        margin: 0 auto 44px;
    }
    .skillLst_wrap {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-wrap: wrap;
        gap: 40px 50px;
        max-width: 800px;
        margin: 0 auto;
    }
    .skillLst_wrap li {
        display: inline-block;
        padding: 20px 23px 20px 40px;
        font-size: 24px;
        line-height: 1.333;
    }
    .skillLst_wrap li:nth-child(1) {
        margin-right: 10px;
    }
    .skillLst_wrap li:nth-child(1),
    .skillLst_wrap li:nth-child(2) {
        padding: 20px 40px;
    }
    .skillLst_wrap li:first-child::before {
        width: 95px;
        height: 125px;
        left: -150px;
        top: -7px;
    }
    .skillLst_wrap li:nth-child(5)::before {
        background: url(../img/skill_shape02.png) no-repeat center / 100% auto;
        width: 137px;
        height: 123px;
        right: -48px;
        top: -143px;
    }
    .skillLst_wrap li .num {
        width: 48px;
        height: 48px;
    }
    .study-ttl {
        padding: 16px 0 18px;
        font-size: 30px;
        line-height: 1.133;
        margin-bottom: 30px;
    }
    .study-txt {
        margin-bottom: 30px;
    }
    .study-txt .is-marker::before {
        height: 7px;
    }
    .studyLst_wrap {
        gap: 20px 12px;
        align-items: center;
    }
    .studyLst_wrap dt {
        width: 112px;
        height: 37px;
    }
    .studyLst_wrap dd .is-attention {
        padding-left: 4px;
    }
    .studyLst_wrap dd:nth-of-type(3)::before {
        width: 113px;
        height: 91px;
        right: 60px;
        top: -108px;
    }
    .studyLst_wrap dd:nth-of-type(4)::before {
        width: 90px;
        height: 70px;
        right: -20px;
        top: -33px;
    }
    .step_wrap::before {
        background: url(../img/step_bg.png) repeat-x;
        height: 30px;
        top: -10px;
    }
    .step_wrap::after {
        background: url(../img/step_bg02.png) repeat-x;
        height: 30px;
        bottom: -10px;
    }
    .step_in {
        padding: 40px 0;
    }
    .step-ttl {
        border-radius: 37px;
        padding: 16px 26px 18px;
        margin-bottom: 30px;
        font-size: 30px;
        line-height: 1.133;
    }
    .step-ttl::before {
        width: 57px;
        height: 67px;
        right: -68px;
        bottom: -19px;
    }
    .stepLst_wrap::before {
        width: 78px;
        height: 522px;
    }
    .stepLst_wrap li {
        margin-bottom: 20px;
    }
    .stepLst_wrap li .stepLst_times {
        position: relative;
        gap: 0 16px;
    }
    .stepLst_wrap li .stepLst_times::after {
        content: '';
        background: repeating-linear-gradient(
            to right,
            #1A1A1A 0 8px,
            transparent 8px 18px
        );
        height: 2px;
        z-index: 9;
        flex: 1;
        margin: 0 31px;
    }
    .stepLst_wrap li .stepLst_times .num {
        width: 48px;
        height: 48px;
    }
    .stepLst-txt {
        font-size: 20px;
        line-height: 1.1;
    }
    .up-txt {
        font-size: 22px;
        line-height: 1;
    }
    .up-txt .is-green {
        font-size: 32px;
    }
    .voice_wrap {
        padding: 77px 0 60px;
    }
    .voice_in {
        text-align: center;
    }
    .voice-ttl {
        font-size: 30px;
        line-height: 1.667;
        margin-bottom: 36px;
    }
    .voice-ttl::before,
    .voice-ttl::after {
        width: 29px;
        height: 45px;
    }
    .voice-ttl::before {
        left: -49px;
    }
    .voice-ttl::after {
        right: -49px;
    }
    .voice_box {
        padding: 40px;
    }
    .voice_box::before {
        width: 195px;
        height: 69px;
        right: -20px;
        top: -19px;
    }
    .vcChild_wrap {
        margin-bottom: 55px;
    }
    .vcChild_in {
        gap: 0 40px;
        margin-bottom: 30px;
        padding-left: 20px;
    }
    .vcChild_wrap .vcChild_in:last-child {
        margin-bottom: 0;
        padding-right: 20px;
    }
    .vcChild_Imgbox {
        display: contents;
    }
    .vc-sttl {
        font-size: 24px;
        line-height: 1.333;
        margin-bottom: 10px;
    }
    .profile {
        font-size: 18px;
        line-height: 1.222;
    }
    .vcParent_wrap .profile {
        margin-bottom: 27px;
    }
    .cv_wrap {
        padding: 58px 0 60px;
    }
    .cv-ttl {
        font-size: 30px;
        line-height: 1.133;
        padding-bottom: 21px;
        margin-bottom: 15px;
    }
    .cv-ttl::before {
        width: 371px;
        height: 10px;
    }
    .cv-search_wrap {
        display: flex;
        justify-content: center;
        height: 181px;
        margin-bottom: 20px;
    }
    .cv-search_in {
        padding: 40px 0 49px;
    }
    .cv-search-ttl {
        font-weight: 600;
        margin-bottom: 20px;
    }
    .cv-search-box {
        display: flex;
        align-items: center;
        gap: 0 20px;
    }
    .cv-search-box div::before {
        width: 12px;
        height: 7px;
        right: 21px;
    }
    .cv-search-box select {
        font-size: 16px;
        font-weight: 500;
        line-height: 1.438;
        width: 240px;
        height: 48px;
        padding: 12px 16px 11px;
    }
    .cv-searchbtn {
        width: 180px;
        height: 48px;
        transition: all 0.6s;
    }
    .cv-searchbtn:hover {
        opacity: 0.7;
    }
    .cv-searchbtn span {
        padding-left: 33px;
    }
    .cv-searchbtn span::before {
        width: 17px;
        height: 17px;
    }
    .cv-contact_wrap {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 0 70px;
        padding: 40px;
    }
    .inq_wrap a {
        width: 310px;
        height: 148px;
        display: flex;
        justify-content: center;
        align-items: center;
        transition: all 0.6s;
    }
    .inq_wrap a:hover {
        opacity: 0.8;
    }
    .inq-ttl {
        font-size: 26px;
        line-height: 1.462;
    }
    .tel_wrap {
        width: 320px;
        height: 148px;
        padding: 20px 14px;
    }
    .tel-ttl {
        display: block;
        margin-bottom: 6px;
        font-size: 20px;
    }
    .telnumber {
        margin-bottom: 9px;
    }
    .telnumber a {
        gap: 0 13px;
        pointer-events: none;
    }
    .tel-txt {
        font-size: 15px;
        line-height: 1.133;
        margin-bottom: 8px;
    }
    /* ===============
        footer
    =============== */
    footer {
        height: 210px;
        padding: 37px 0 19px;
    }
    .ftrLst_wrap {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 0 60px;
    }
    .ftrLst_wrap li a:hover {
        text-decoration: underline;
    }
    .copyright {
        bottom: 19px;
    }
}
@media (min-width: 895px) and (max-width: 1045px) {
    .skillLst_wrap li:nth-child(5)::before {
        right: -33px;
    }
}
@media only screen and (max-width: 896px) {
    /* ===============
        page
    =============== */
    .c_wrap {
        padding: 0 20px;
        max-width: 390px;
        margin: 0 auto;
    }
    .learning_wrap {
        padding: 40px 0 50px;
    }
    .skill_wrap {
        padding: 0 20px 40px;
        max-width: 390px;
        margin: 0 auto;
    }
    .skill-ttl {
        padding: 16px 24px;
        font-size: 26px;
        line-height: 1.308;
        margin-bottom: 30px;
    }
    .skillLst_wrap {
        padding-left: 20px;
    }
    .skillLst_wrap li {
        padding: 20px 10px 20px 28px;
        font-size: 18px;
        line-height: 1.6;
        margin-bottom: 20px;
    }
    .skillLst_wrap li:first-child::before {
        width: 69px;
        height: 91px;
        right: -12px;
        bottom: -118px;
    }
    .skillLst_wrap li:nth-child(5)::before {
        background: url(../img/sp/skill_shape02.png) no-repeat center / 100% auto;
        width: 91px;
        height: 82px;
        right: -15px;
        top: -43px;
    }
    .skillLst_wrap li .num {
        width: 40px;
        height: 40px;
    }
    .study-ttl {
        padding: 20px 0 15px;
        font-size: 26px;
        line-height: 1.308;
        margin-bottom: 30px;
    }
    .study-txt {
        margin-bottom: 30px;
    }
    .study-txt .is-marker::before {
        height: 7px;
    }
    .studyLst_wrap {
        gap: 20px 8px;
    }
    .studyLst_wrap dt {
        width: 112px;
        height: 37px;
    }
    .studyLst_wrap dd:first-of-type {
        padding-top: 5px;
    }
    .studyLst_wrap dd .is-attention {
        margin-top: 6px;
        display: block;
    }
    .studyLst_wrap dd:nth-of-type(3)::before {
        width: 69px;
        height: 56px;
        right: -4px;
        top: -4px;
    }
    .studyLst_wrap dd:nth-of-type(4)::before {
        width: 66px;
        height: 51px;
        left: -128px;
        bottom: -25px;
    }
    .step_wrap::before {
        background: url(../img/sp/step_bg.png) repeat-x left top / 100% auto;
        height: 15px;
        top: -10px;
    }
    .step_wrap::after {
        background: url(../img/sp/step_bg02.png) repeat-x left top / 100% auto;
        height: 15px;
        bottom: -10px;
    }
    .step_in {
        padding: 20px 20px 30px;
    }
    .step-ttl {
        border-radius: 31px;
        padding: 10px 29px;
        margin-bottom: 30px;
        font-size: 26px;
        line-height: 1.308;
    }
    .step-ttl::before {
        width: 42px;
        height: 49px;
        right: -26px;
        bottom: -21px;
    }
    .stepLst_wrap::before {
        width: 60px;
        height: 403px;
    }
    .stepLst_wrap li {
        margin-bottom: 12px;
    }
    .stepLst_wrap li .stepLst_times {
        gap: 0 4px;
    }
    .stepLst_wrap li .stepLst_times .num {
        width: 40px;
        height: 40px;
    }
    .stepLst-txt {
        font-size: 18px;
        line-height: 1.222;
    }
    .up-txt {
        font-size: 18px;
        line-height: 1.222;
    }
    .up-txt .is-green {
        font-size: 22px;
    }
    .voice_wrap {
        padding: 60px 0 40px;
    }
    .voice_in {
        text-align: center;
    }
    .voice-ttl {
        font-size: 26px;
        line-height: 1.308;
        margin-bottom: 30px;
    }
    .voice-ttl::before,
    .voice-ttl::after {
        width: 24px;
        height: 36px;
        bottom: -5px;
    }
    .voice-ttl::before {
        left: -39px;
    }
    .voice-ttl::after {
        right: -39px;
    }
    .voice_box {
        padding: 30px 10px;
    }
    .voice_box::before {
        width: 101px;
        height: 36px;
        right: 0;
        top: -11px;
    }
    .vcChild_in.is-ver2 .vcChild_txtbox,
    .vcChild_Imgbox,
    .vcParent_wrap {
        padding: 0 10px;
    }
    .vcChild_wrap {
        margin-bottom: 40px;
    }
    .vcChild_in {
        padding-left: 10px;
        gap: 0 20px;
        margin-bottom: 20px;
    }
    .vcChild_in.is-ver2 {
        display: contents;
        margin-bottom: 4px;
    }
    .vcChild_Imgbox {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 8px;
    }
    .vc-sttl {
        font-size: 18px;
        line-height: 1.222;
        margin-bottom: 8px;
    }
    .profile {
        font-size: 15px;
        line-height: 1.467;
    }
    .vcParent_wrap .profile {
        margin-bottom: 20px;
    }
    .cv_wrap {
        padding: 40px 20px 0;
    }
    .cv-ttl {
        font-size: 26px;
        line-height: 1.308;
        padding-bottom: 25px;
        margin-bottom: 20px;
    }
    .cv-ttl::before {
        width: 310px;
        height: 10px;
    }
    .cv-search_wrap {
        padding: 40px 20px;
        margin-bottom: 20px;
    }
    .cv-search-ttl {
        font-weight: normal;
        margin-bottom: 24px;
    }
    .cv-search-box div {
        margin-bottom: 20px;
    }
    .cv-search-box div::before {
        width: 10px;
        height: 6px;
        right: 21px;
    }
    .cv-search-box select {
        width: 100%;
        font-weight: normal;
        line-height: 1;
        padding: 16px;
        font-size: 16px;
    }
    .cv-searchbtn {
        width: 100%;
        padding: 11px 16px 10px;
    }
    .cv-searchbtn span {
        padding-left: 35px;
    }
    .cv-searchbtn span::before {
        width: 19px;
        height: 19px;
    }
    .cv-contact_wrap {
        padding: 40px 20px;
    }
    .inq_wrap {
        margin-bottom: 20px;
    }
    .inq_wrap a {
        display: block;
        text-align: center;
        padding: 19px 20px;
    }
    .inq-ttl {
        font-size: 16px;
        line-height: 1;
    }
    .tel_wrap {
        padding: 25px 8px;
    }
    .tel-ttl {
        display: block;
        font-size: 16px;
        margin-bottom: 7px;
    }
    .telnumber {
        margin-bottom: 8px;
    }
    .telnumber a {
        gap: 0 12px;
    }
    .tel-txt {
        font-size: 14px;
        line-height: 1;
        margin-bottom: 8px;
    }
    /* ===============
        footer
    =============== */
    footer {
        height: 220px;
        padding: 40px 0 20px;
    }
    .ftrLst_wrap {
        text-align: center;
    }
    .ftrLst_wrap li {
        margin-bottom: 12px;
    }
    .ftrLst_wrap li:last-child {
        margin-bottom: 0;
    }
    .copyright {
        bottom: 20px;
    }	
}
@media only screen and (max-width: 389px) {
    .skill-ttl {
        font-size: 23px;
    }
    .study-ttl {
        font-size: 23px;
    }
    .skillLst_wrap li:first-child::before {
        width: 17.692vw;
        height: 23.333vw;
    }
    .skillLst_wrap li:nth-child(5)::before {
        width: 23.333vw;
        height: 21.026vw;
    }
    .studyLst_wrap dd:nth-of-type(3) {
        padding-right: calc(13.59vw + 5px);
    }
    .studyLst_wrap dd:nth-of-type(3)::before {
        width: 13.59vw;
        height: 14.359vw;
    }
    .studyLst_wrap dd:nth-of-type(4)::before {
        width: 16.923vw;
        height: 13.077vw;
    }
    .cv-search-ttl {
        font-size: 18px;
    }
    .tel-txt {
        font-size: 12px;
    }
}
@media only screen and (max-width: 360px) {
    .skill-ttl {
        font-size: 20px;
    }
    .skillLst_wrap li:nth-child(2) {
        padding: 20px 43px 20px 28px;
    }
    .study-ttl {
        font-size: 20px;
    }
    .step-ttl {
        font-size: 21px;
    }
    .studyLst_wrap dd {
        font-size: 15px;
    }
    .studyLst_wrap dd .is-pink {
        font-size: 24px;
    }
    .stepLst-txt {
        font-size: 14px;
    }
    .up-txt {
        font-size: 15px;
    }
    .up-txt .is-green {
        font-size: 17px;
    }
    .profile {
        font-size: 14px;
    }
    .vc-sttl .is-none {
        display: none;
    }
    .cv-ttl {
        font-size: 23px;
    }
    .cv-ttl::before {
        width: 100%;
    }
    .cv-search-ttl {
        font-size: 17px;
    }
    .tel-txt {
        font-size: 11px;
    }
}