@charset "UTF-8";

/* ===========================
main
============================*/
/* sectionSchool */
.mainVisual {
    width: 82.6%;
    margin-top: 20px;
    border-radius: 0px 1px 1px 0px;
}

/* 画像FadeInアニメ */
.mainVisual__outer {
    overflow: hidden;
}

.mainVisual__tb {
    display: none;
}

.mainVisual__outer img {
    /* img要素に以下のアニメーションプロパティが適用されます: */
    animation: zoom-in 4s linear 0s 1 normal both;
    /*
        - zoom-in: 適用するアニメーションの名前。
        - 10s: アニメーションの持続時間は10秒。
        - linear: アニメーションは一定の速度で進行します。
        - 0s: アニメーションが開始するまでの遅延時間はなし。
        - 1: アニメーションは1回再生されます。
        - normal: アニメーションは正方向に再生されます。
        - both: アニメーションのプロパティがアニメーション中および終了後も適用されます。
    */
}

.topic__outer {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-end;
    margin: 70px 4.2% 0;
}

.mainTopic,
.section__topic {
    text-align: center;
    font-family: Marcellus;
    font-size: 2.2rem;
    letter-spacing: 4.4px;
}

.mainCaption__txt {
    font-family: "Noto Serif JP";
    font-size: 2rem;
    letter-spacing: 1.6px;
    font-weight: 500;
    margin-top: 16px;
}

.mainCaption__txt--small {
    font-size: 1.6rem;
    letter-spacing: 1.12px;
    margin-top: 34px;
}   

.school__desk {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 110px 4.2% 80px;
}

.section__title {
    text-align: center;
    font-family: Marcellus;
    font-size: 2.2rem;
    font-weight: 400;
    letter-spacing: 4.4px;
}

.school__desk p {
    font-size: 1.6rem;
    letter-spacing: 0.96px;
    margin-top: 30px;
}

/* sectionSchool pc*/
@media screen and (min-width:1025px) {
    .main__outer {
        display: flex;
        margin-top: 85px;
    }

    .mainVisual__outer {
        width: 88.2%;
    }
    
    .mainVisual {
        width: 91%;
        margin-top: 0;
    }

    .mainTopic,
    .section__topic {
        font-size: 3.2rem;
        letter-spacing: 6.4px;
    }

    .mainCaption {
        display: flex;
        flex-direction: column;
        align-items: flex-end;
    }

    .mainCaption__txt--small {
        line-height: 2;
        margin-top: 70px;
    }
    
    .topic__outer {
        width: 39.6%;
        margin: auto 5.97% 8% auto;
    }

    .school__desk {
        align-items: flex-start;
        margin: 170px auto 180px;
        width: 75.6%;
        min-width: 860px;
    }

    .section__title {
        font-family: Marcellus;
        font-size: 3.2rem;
        letter-spacing: 6.4px;
    }

    .school__desk p {
        margin-top: 40px;
        line-height: 1.6;
    }
}
/* pc 1025px */

/* sectionSchool tb */
@media screen and (min-width: 768px) and (max-width: 1024px) {
        .main__outer {
            display: flex;
            margin-top: 20px;
        }

        .mainVisual__outer {
            width: 59.1%;
        }  
        
        .mainVisual__tb {
            display: block;
            width: 100%;
            margin-top: 0;
        }

        .mainVisual {
            display: none;
        }
    
        .mainCaption {
            display: flex;
            flex-direction: column;
            align-items: flex-end;
        }

        .mainCaption__txt--small {
            margin-top: 40px;
        }
        
        .topic__outer {
            width: 30.2%;
            margin: auto 5.97% 54px auto;
            justify-content: flex-end;
        }
    
        .school__desk {
            align-items: flex-start;
            margin: 170px auto 120px;
            width: 78.3%;
        }
    
        .school__desk p {
            margin-top: 30px;
        }
}
/* tb 768px-1024px */

/* sectionSchool カスタムブレイクポイント */
@media (min-width: 1025px) and (max-width: 1225px) {
        .mainCaption__txt--small {
            margin-top: 40px;
        }

        .topic__outer {
            width: 48.2%;
            margin: auto 5.97% 24px auto;
            justify-content: flex-end;
        }
    
        .school__desk {
            align-items: flex-start;
            margin: 170px auto 120px;
            width: 78.3%;
        }
    
        .school__desk p {
            margin-top: 30px;
        }

}
/* カスタム 1025-1225px */

/* sectionFeature */
.section--feature {
    background: var(--primary-beigeSchool);
    
}

.section__topic--feature,
.section__topic span {
    font-family: "Noto Serif JP";
    font-size: 2rem;
    font-weight: 600;
    line-height: 1.8;
    letter-spacing: 4px;
    text-align: center;
}

.section__topic span {
    margin-top: 7px;
    display: inline-block;
}

.section__topic--feature {
    padding-top: 80px;
}

.feature__list {
    text-align: center;
    display: inline-block;
    display: flex;
    gap: 70px;
    flex-direction: column;
}

.feature__item:nth-of-type(1) {
    margin-top: 80px;
}

.feature__item:nth-last-of-type(1) {
    margin-bottom: 100px;
}

.item__icon {
    width: 37.3%;
}

.itemTitle__outer {
    display: flex;
    align-items: flex-end;
    gap: 6px;
    text-align: center;
    justify-content: center;
    margin-top: 30px;
    padding-right: 12px;
}

.item__num {
    color: var(--primary-green);
    text-align: center;
    font-family: Marcellus;
    font-size: 2.4rem;
    line-height: 1;
    letter-spacing: 0.96px;
}

.item__title {
    font-family: "Noto Serif JP";
    font-size: 1.8rem;
    font-weight: 600;
    letter-spacing: 1.8px;
    text-transform: capitalize;
    position: relative;
}

.item__title::after {
    position: absolute;
    content: "";
    bottom: -11px;
    width: 80px;
    height: 0.6px;
    background-color: var(--primary-green);
    right: 50%;
    transform: translateX(40%);
}

.item__txt {
    width: 55.7%;
    font-size: 1.6rem;
    letter-spacing: 0.96px;
    text-align: left;
    margin-top: 40px;
    display: inline-block;
}

/* sectionCourse pc*/
@media screen and (min-width:1025px) {
    .feature__list {
        text-align: center;
        display: flex;
        /* gap: 3.4%; */
        flex-direction: row;
        padding-bottom: 150px;
        justify-content: center;
        /* margin: 0 10.5%; */
    }

    .section__topic--feature,
    .section__topic span {
        font-size: 2.4rem;
        letter-spacing: 4.8px;
    }
        
    .section__topic--feature {
        padding-top: 115px;
    }
        
    .feature__item {
        margin-top: 90px;
        width: 255px;
    }
    
    .feature__item:nth-of-type(1) {
        margin-top: 90px;
    }
    
    .feature__item:nth-last-of-type(1) {
        margin-bottom: 0px;
    }
    
    .item__icon {
        width: 140px;
    }

    .item__txt {
        width: 82.4%;
    }
} /* pc 1025px */

/* sectionCourse tb */
@media screen and (min-width: 768px) and (max-width: 1024px) {
        .feature__list {
            text-align: center;
            flex-direction: row;
            padding-bottom: 120px;
            justify-content: center;
            margin: 0 10.5%;
            flex-wrap: wrap;
            column-gap: 70px;
            row-gap: 30px;
        } 

        .feature__item {
            margin-top: 30px;
            width: 255px;
        }

        .feature__item:nth-of-type(1),
        .feature__item:nth-of-type(2) {
            margin-top: 50px;
        }
        
        .item__icon {
            width: 140px;
        }

        .item__txt {
            width: 82.4%;
        }
}
/* tb 768px-1024px */

/* sectionFeature カスタムブレイクポイント */
@media (min-width: 1025px) and (max-width: 1320px) {
    .feature__list {
        gap: 0;
    }

    .feature__item {
        width: 244px;
    }
}
/* カスタム 1025-1320px */

/* sectionCourse */
.section__topic--course,
.section__topic--news,
.section__topic--schedule {
    text-transform: uppercase;
}

.section__topic--course {
    margin-top: 100px;
}

.course__groupTitle {
    text-align: center;
    font-family: "Noto Serif JP";
    font-size: 1.8rem;
    font-weight: 600;
    line-height: 1.8; 
    letter-spacing: 3.6px;
    margin-top: 70px;
    position: relative;
}

.course__groupTitle--fe,
.course__groupTitle--ct {
    margin-top: 130px;
}

.course__groupTitle::after {
    content: "";
    background: var(--planTable, rgba(47, 47, 47, 0.80));
    width: 91.6%;
    height: 0.6px;
    position: absolute;
    bottom: -22%;
    left: 50%;
    transform: translateX(-50%); 
}

.course__groupInfo {
    color: var(--primary-green);
    font-family: "Noto Serif JP";
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.6;
    letter-spacing: 0.6px;
    width: 252px;
    margin: 30px auto 0;
}

.course__groupImg {
    width: 92%;
    border-radius: 0px 1px 1px 0px;
    margin-top: 40px;
}

.course__groupImg--01 {
    margin-top: 30px;
}

.course__groupDesk {
    font-size: 1.7rem;
    letter-spacing: 1.36px;
    width: 91.4%;
    margin: 30px auto 0;
}

.course__list {
    gap: 40px;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 70px;
}

.course__item {
    width: 91.4%;
    height: auto;
    border-radius: 1px;
    background: var(--primary-beigeSchool);
    padding: 40px 5%;
}

.course__title {
    font-family: "Noto Serif JP";
    font-size: 1.7rem;
    font-weight: 600;
    line-height: 1.8;
    letter-spacing: 3.4px;
    position: relative;
}

.course__title a:hover {
    color: var(--primary-green);
}

.course__desk {
    font-size: 1.6rem;
    letter-spacing: 0.96px;
    margin-top: 20px;
}

.course__desk span {
    margin-top: 24px;
    display: inline-block;
}

.course__desk--01 span {
    margin-top: 12px;
}

.course__desk small {
    color: var(--primary-blackLow);
    font-size: 1.5rem;
    letter-spacing: 0.9px;
}

.course__link {
    padding: 4px 10px;
    align-items: center;
    border-radius: 1px;
    border: 1px solid var(--primary-blackLow);
    margin: 40px auto 0;
    width: 138px;
}

.course__link--ws {
    width: 201px;
}

.course__link a {
    text-align: right;
    font-family: "Noto Serif JP";
    font-size: 1.5rem;
    line-height: 1.6;
    letter-spacing: 0.6px;
}

.course__link:hover {
    border:1px solid var(--primary-green);
    background: var(--primary-green);
    color: #FFF;
}

/* sectionCourse pc*/
@media screen and (min-width:1025px) {
    .section__topic--course {
        margin-top: 135px;
    }
        
    .course__groupTitle {
        font-size: 2rem;
        font-weight: 700;
        letter-spacing: 4px;
        margin: 214px 10.7% 0 auto;
        text-align: right;
    }

    .course__groupTitle::after {
        width: 94.8%;
        transform: translateX(-44%);
        bottom: -32%;
    }
        
    .course__groupTitle--ct {
        margin: 250px 14.7% 0 auto;
    }

    .course__groupTitle--ct::after {
        width: 99.2%;
        transform: translateX(-41.5%);
    }
        
    .course__groupTitle--fe {
        margin: 250px 7.7% 0 auto;
    }

    .course__groupTitle--fe::after {
        width: 91.7%;
        transform: translateX(-45.6%);
    }
        
    .course__groupInfo {
        font-size: 1.7rem;
        letter-spacing: 0.7px;
        width: auto;
        margin: 16px auto 0;
        margin-left: 10.5%;
    }

    .groupDesk__outer {
        display: flex;
    }
    
    .course__groupImg {
        width: 59%;
        margin-top: 130px;
    }
         
    .course__groupImg--01 {
        margin-top: 103px;
    }
        
    .course__groupDesk {
        width: 29.7%;
        margin: 58px 7.5% 0 auto;
    }

    .course__groupDesk--ibtt {
        margin: 23px 7.5% 0 auto;
    }
    
    .course__list {
        margin-top: 50px;
    }
    
    .course__item {
        width: 81.6%;
        padding: 20px;
        position: relative;
    }
    
    .course__title {
        font-size: 1.8rem;
        font-weight: 700;
        letter-spacing: 3.6px;
    }
    
    .course__desk {
        margin-top: 30px;
    }

    .course__desk--ct span {
        margin-top: 0;
    }
                
    .course__link {
        position: absolute;
        top: 0;
        right: 1.9%;
        margin-top: 20px;
    }
} /* pc 1025px */

/* sectionCourse tb */
@media screen and (min-width: 768px) and (max-width: 1024px) {
        .course__groupTitle {
            margin: 140px 5.6% 0 auto;
            text-align: right;
        }

        .course__groupTitle::after {
            width: 94.8%;
            transform: translateX(-47%);
            bottom: -28%;
        }
            
        .course__groupTitle--ct {
            margin: 130px 9.24% 0 auto;
        }

        .course__groupTitle--ct::after {
            width: 98.6%;
            transform: translateX(-45%);
        }
        
        .course__groupTitle--fe {
            margin: 130px 5.2% 0 auto;
        }

        .course__groupTitle--fe::after {
            width: 94.4%;
            transform: translateX(-47.3%);
        }
        
        .course__groupInfo {
            margin: 16px auto 0;
            margin-left: 10.5%;
        }

        .groupDesk__outer {
            display: flex;
        }
        
        .course__groupImg {
            width: 56%;
            margin-top: 48px;
        }
            
        .course__groupImg--01 {
            margin-top: 40px;
        }
            
        .course__groupDesk {
            width: 34.6%;
            margin: 43px 4.3% 0 auto;
        }

        .course__groupDesk--ibtt {
            margin: -21px 4.3% 0 auto;
        }
        
        .course__list {
            margin-top: 50px;
        }
    
        .course__item {
            width: 89.4%;
            padding: 20px 2.76%;
            position: relative;
        }

        .course__link {
            position: absolute;
            top: 0;
            right: 2.6%;
            margin-top: 20px;
        }
}
 /* tb 768px-1024px */

/* sectionNews */
.section__topic--news {
    margin-top: 130px;
}

.section__topic--news span {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 7.84px;
}

.news__list {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 10px;
    margin-top: 56px;
    width: 91.4%;
    max-width: 520px;
    margin: 56px auto 0;
    padding-left: 5px;
    position: relative;
}

.news__list:first-of-type {
    margin-top: 100px;
}

.news__date,
.news__txt {
    font-family: "Noto Serif JP";
    font-size: 1.7rem;
    font-weight: 500;
    letter-spacing: 1.02px;
}

.news__txt::after {
    content: "";
    width: 100%;
    height: 0.6px;
    background: var(--primary-glay);
    position: absolute;
    left: 0;
    bottom: -28px;
}

.news__txt--last::after {
    display: none;
}

/* sectionNews pc */
@media screen and (min-width:1025px) {
    .section--news {
        margin: 235px auto 230px;
    }

    .section__topic--news {
        margin-top: 0;
    }

    .section__topic--news span {
        font-size: 1.8rem;
        letter-spacing: 8.82px;
    }

    .news__list {
        flex-direction: row;
        gap: 80px;
        width: 52%;
        justify-content: flex-start;
        max-width: 1000px;
        min-width: 780px;
        padding-left: 10px;
        align-items: center;
    }
    
    .news__list:first-of-type {
        margin-top: 108px;
    }
    
    .news__txt::after {
        width: 100%;
        left: 0;
        bottom: -28px;
    }
}
/* pc 1025px */

/* sectionNews tb */
@media screen and (min-width: 768px) and (max-width: 1024px) {
        .section--news {
            margin: 150px auto 158px;
        }

        .section__topic--news {
            margin-top: 0;
        }

        .section__topic--news span {
            font-size: 1.6rem;
            letter-spacing: 7.84px;
        }

        .news__list {
            width: 89.5%;
            padding-left: 10px;
            max-width: 720px;
        }
        
        .news__list:first-of-type {
            margin-top: 100px;
        }

        .pcBr--tb {
            display: block;
        }
}
/* tb 768px-1024px */

/* sectionSchedule */
.section__topic--schedule {
    margin-top: 150px;
}

.section__topic--schedule span {
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 3.6px;
}

.schedule__list {
    margin-top: 70px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
}

.schedule__item {
    font-family: "Noto Serif JP";
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.96px;
    display: flex;
    width: 86.1%;
    max-width: 440px;
    padding: 8px 0px 4px 5px;
    justify-content: space-between;
    align-items: center;
    border-bottom: 0.6px solid var(--primary-glay);
    position: relative;
}

.schedule__item a {
    display: flex;
    justify-content: space-between;
    width: 100%;
    align-items: center;
}

.arrow {
    font-size: 1.7rem;
    letter-spacing: 1.02px;
}

.schedule__item:hover {
    color: var(--primary-green);
    border-bottom: 0.6px solid var(--primary-green);
}

.schedule__item:hover::after {
    color: var(--primary-green);
}

.schoolImg__outer {
    display: inline-flex;
    justify-content: flex-end;
    margin-top: 100px;
    margin-bottom: 80px;
}

.section--schedule img {
    width: 83.4%;
    border-radius: 1px 0px 0px 1px;
}

/* 画像ZoomInアニメ */
/* .schoolImg__outer {
    overflow: hidden;
    display: inline-flex;
    justify-content: flex-end;
    margin-top: 100px;
    margin-bottom: 80px;
} */
/* 
.section--schedule img {
    width: 83.4%;
    border-radius: 1px 0px 0px 1px;
    /* img要素に以下のアニメーションプロパティが適用されます: */
    /* animation: zoom-in 4s linear 0s 1 normal both;
} */ 

/* sectionSchedule pc */
@media screen and (min-width:1025px) {
    .section__topic--schedule {
        margin-top: 0;
    }
    
    .section__topic--schedule span {
        font-size: 2rem;
        letter-spacing: 8px;
    }

    .schedule__list {
        margin-top: 80px;
        gap: 30px;
    }

    .schedule__item {
        font-size: 1.7rem;
        letter-spacing: 1.02px;
        width: 54.1%;
        max-width: 1000px;
        min-width: 780px;
        padding: 8px 10px 4px;
    }

    .schoolImg__outer {
        display: flex;
        justify-content: flex-end;
        margin: 200px auto;
    }

    .section--schedule img {
        width: 72.3%;
    }
}
/* pc 1025px */

/* sectionSchedule tb */
@media screen and (min-width: 768px) and (max-width: 1024px) {
        .section__topic--schedule {
            margin-top: 0;
        }
        
        .schedule__list {
            gap: 30px;
        }

        .schedule__item {
            width: 89.6%;
            font-size: 1.56rem;
            max-width: 720px;       
        }

        .schoolImg__outer {
            display: flex;
            justify-content: flex-end;
            margin: 105px auto 130px;
        }

        .section--schedule img {
            width: 75.9%;
        }
}
/* tb 768px-1024px */

/* sectionSchedule カスタムブレイクポイント */
@media  (max-width: 343px) {
    .schedule__item {
        align-items: flex-end;
    }

    .item__txt {
        width: 74.7%;
    }

    .course__title {
        letter-spacing: 2px;
    }

    .course__desk {
        font-size: 1.5rem;
    }

    .news__date, .news__txt {
        font-size: 1.5rem
    }

    .schedule__item {
        font-size: 1.5rem;
    }
}

