@charset "UTF-8";

/* ===========================
main
============================*/
/* sectionschoolIbttAS */
/* 画像ZoomInアニメ */
.mainImg__outer {
    overflow: hidden;
    width: 100%;
    position: relative;
}

.mainImg {
    width: 100%;
}

.mainImg__outer img {
    /* img要素に以下のアニメーションプロパティが適用されます: */
    animation: zoom-in 4s linear 0s 1 normal both;
}

.mainTopic {
    color: #FFF;
    text-align: center;
    font-family: Marcellus;
    font-size: 1.6rem;
    letter-spacing: 0.96px;
    text-transform: uppercase;
    position: absolute;
    top: 12px;
    left: 50%;
    transform: translateX(-50%);
    width: 94.5%;;
}

.section--schoolIbttAS h3 {
    text-align: center;
    font-family: "Noto Serif JP";
    font-size: 1.7rem;
    font-weight: 700;
    letter-spacing: 3.4px;
    line-height: 1.5; 
    position: relative;
    margin-top: 40px;
}

.section--schoolIbttAS h3::after {
    content: "";
    width: 0.6px;
    height: 50px;
    background-color: var(--primary-glay);
    position: absolute;
    bottom: -74px;
    left: 50%;
    transform: translateX(-50%);
}

.txt__small {
    font-weight: 400;
    letter-spacing: 1.7px;
}

/* sectionschoolIbttAS pc*/
@media screen and (min-width:1025px) {
    .mainTopic {
        font-size: 3.7rem;
        letter-spacing: 7.4px;
        top: 50px;
        width: 100%;
    }

    .section--schoolIbttAS h3 {
        font-size: 2.4rem;
        letter-spacing: 4.8px;
        margin-top: 50px;
    }

    .section--schoolIbttAS h3:after {
        height: 90px;
        bottom: -120px;
    }
        
    .txt__small {
        font-size: 2.4rem;
        letter-spacing: 4.8px;
    }
}
/* pc 1025px */

/* sectionschoolIbttAS tb */
@media screen and (min-width: 768px) and (max-width: 1024px) {
        .mainTopic {
            font-size: 2.2rem;
            letter-spacing: 4.4px;
            top: 35px;
            width: 100%; 
        }

        .section--schoolIbttAS h3 {
            margin-top: 65px;
        }
}
/* tb 768px-1024px */

/* sectionClassSchedule */
.enTxt {
    color: rgba(255, 255, 255, 0.70);
    text-align: center;
    font-family: Marcellus;
    font-size: 2.6rem;
    font-weight: 400;
    letter-spacing: 5.2px;
    text-transform: uppercase;
    margin: 110px auto 0;
    width: 162px;
}

.courseHour__outer {
    width: 91.4%;
    max-width: 350px;
    height: auto;
    border-radius: 1px;
    background: var(--primary-beigeSchool);
    margin: 10px auto 0;
    padding-bottom: 15px;
}

.courseHour {
    font-size: 1.8rem;
    line-height: 1.6; /* 28.8px */
    letter-spacing: 0.72px;
    text-decoration-line: underline;
    text-decoration-color: rgba(140, 140, 140, 0.50);
    text-underline-position: from-font;
    padding: 15px 22px 0;
}

.hour__inner {
    margin: 28px auto 0 10.7%;
    display: flex;
}

.hour__inner,
.year,
.note,
.classSchedule tr {
    font-size: 1.6rem;
    line-height: 1.6; /* 25.6px */
    letter-spacing: 0.64px;
}

.note {
    letter-spacing: 0.96px;
}

.hour {
    margin-left: 20px;
    display: inline-block;
}

.classTime {
    color: var(--FontColor02, rgba(47, 47, 47, 0.74));
    font-size: 1.5rem;
    line-height: 1.6; /* 24px */
    letter-spacing: 0.3px;
    margin-left: 21px;
}

.classSchedule {
    margin: 30px auto 0;
    width: 91.4%;
}

.cstitle__outer {
    display: flex;
}

.classSchedule h4 {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.6; /* 25.6px */
    width: 66px;
    margin-left: 3px;
}

.year {
    margin-top: 16px;
    margin-left: -1px;
    letter-spacing: 0;
}

.scheduleTable {
    /* overflow-x: scroll; */
    /* scrollbar-color: var(--primary-beigeSchool) var(--primary-beige); */
    margin-bottom: 20px;
}

.classSchedule table {
    margin-top: 8px;
    width: 100%;
}

.classSchedule tr {
    border-top: 1px solid var(--primary-glay);
    display: flex;
}

.classSchedule tr:first-child {
    border-top: none;
}

.month {
    width: 60px;
    min-height: 51px;
    height: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--primary-beigeSchool);
    border-right: 1px solid var(--primary-glay);
}

.date {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    width: 82%;
}

.date__inner {
    width: 79px;
    text-align: end;
    margin-left: 10px;
}

.note02 {
    font-size: 1.5rem;
    letter-spacing: 0.9px;
    width: 100%;
    margin: 0 auto 0 0;
}

/* sectionClassSchedule pc*/
@media screen and (min-width:1025px) {
    .enTxt {
        font-size: 4rem;
        letter-spacing: 8px;
        margin-top: 210px;
        width: 248px;
    }

    .courseHour__outer {
        width: 584px;
        max-width: none;
        margin: 20px auto 0;
        padding-bottom: 16px;
    }
    
    .hour__inner {
        display: flex;
        margin: 18px auto 0 180px;
    }

    .hour {
        margin-left: 60px;
    }

    .classTime {
        margin-left: 60px;
        margin-top: 10px;
        display: inline-block;
    }

    .classSchedule {
        margin: 100px auto 0;
        width: 76.1%;
        max-width: 1094px;
        min-width: 910px;
    }

    .note {
        margin-left: 20px;
    }

    .year {
        margin-top: 30px;
        letter-spacing: 0.64px;
        /* margin-left: 17px; */
    }

    .scheduleTable {
        overflow-x: hidden;
        margin-bottom: 30px;
    }

    .classSchedule table {
        width: auto;
    }

    .classSchedule tr {
        padding-right: 20px;
    }

    .month {
        width: 98px;
    }

    .date {
        width: auto;
        max-width: 700px;
    }

    .date__inner {
        margin-left: 20px;
    }

    .note02 {
        width: auto;
    }
}
/* pc 1025px */

/* sectionClassSchedule tb */
@media screen and (min-width: 768px) and (max-width: 1024px) {
       .enTxt {
            font-size: 2.7rem;
            letter-spacing: 8.1px;
            width: 185px;
        }

        .courseHour__outer {
            padding-bottom: 16px;
        }

        .inner02 {
            margin-top: 0;
        }

        .hour {
            margin-left: 40px;
        }

        .hour--02 {
            margin-left: 10px;
        }

        .classTime {
            margin-left: 40px;
            margin-top: 0;
        }

        .classTime--02 {
            margin-left: 42px;
        }

        .plus01 {
            margin-left: 10px;
        }

        .spBr--tb {
            display: inline-block;
        }

        .classSchedule {
            margin: 80px auto 0;
            width: 78.1%;
        }

        .note {
            margin-left: 0;
        }
        
        /* .year {
            margin-left: 12px;
        } */

        .classSchedule table {
            margin-top: 10px;
            width: auto;
        }

        .classSchedule tr {
            padding-right: 20px;
        }

        .month {
            width: 90px;
        }

        .date__inner {
            margin-left: 10px;
        }

        .note02 {
            width: auto;
        }
}
/* tb 768px-1024px */

/* Curriculm */
.curriculum__outer {
    width: 89.9%;
    margin: 90px auto 0;
}

.curriculum__outer table {
    border: 1px solid var(--primary-glay);
    width: 100%;
}

.table02 {
    margin-top: 0 !important;
    border-top: none !important;
}

.curriculum__outer tr {
    border-top: 1px solid var(--primary-glay);
    display: flex;
}

.curriculum__outer tr:first-child {
    border-top: none;
}

.curriculum__item td:first-child {
    width: 73px;
    height: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    background: rgba(53, 101, 104, 0.10);
    font-size: 1.4rem;
    letter-spacing: 0.84px;
    border-right: 1px solid var(--primary-glay);
}

.curriculum__item td:last-child {
    width: 83%;
}

.curriculum__item div {
    width: 93%;
    height: 91px;
    margin: 0 auto;
    display: flex;
    align-items: center;
}

.curriculum__item p {
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.4; /* 21px */
    letter-spacing: 0.6px;
}

.else__outer {
    display: flex;
    flex-direction: column;
    flex-direction: column-reverse;
}

.curriculumImg__sp {
    width: 69.8%;
    margin: 25px 4.8% 0 auto;
    display: block;
    max-width: 400px;
}

.curriculumImg__pc {
    display: none;
}

.note03 {
    font-size: 1.5rem;
    letter-spacing: 0.9px;
    width: 83.2%;
    margin: 30px auto 0;
    text-indent: -14px;
    padding-left: 10px;
}

/* Curriculm pc*/
@media screen and (min-width:1025px) {
    .curriculum__outer {
        margin: 100px auto 0;
        display: flex;
        align-items: flex-start;
        justify-content: center;
        gap: 80px;
        width: 76.1%;
        max-width: 1096px;
    }
      
    .table02 {
        border-top: 1px solid var(--primary-glay) !important;
    }

    .curriculum__item td:first-child {
        width: 110px;
        height: 110px;
        font-size: 1.6rem;
        letter-spacing: 0.96px;
    }

    .curriculum__item td:last-child {
        width: 78.1%;
        display: flex;
        align-items: center;
    }

    .curriculum__item div {
        height: auto !important;
    }

    .last__item {
        font-size: 1.4rem !important; 
        letter-spacing: 0.56px !important;
    }

    .else__outer {
        display: flex;
        flex-direction: row-reverse;
        gap: 80px;
        margin: 30px auto;
        width: 76.1%;
        max-width: 1096px;
    }

    .curriculumImg__pc {
        width: 395px;
        margin: -100px 0 0;
        max-width: none;
        display: block;
        height: 270px;
    } 

    .curriculumImg__sp {
        display: none;
    }

    .note03 {
        text-indent: 0;
        padding-left:0;
        margin-top: 0;
        line-height: 2;
        width: 507px;
        margin: 30px auto 0 0;
    }

    .note03__txt {
        padding-left: 8px;
        text-indent: -8px;
    }
}
/* pc 1025px */

/* Curriculm tb */
@media screen and (min-width: 768px) and (max-width: 1024px) {
        .curriculum__outer {
            margin: 90px auto 0 11%;
            width: 77.7%;
        }

        .curriculum__item td:first-child {
            width: 130px;
        }

        .curriculum__item td:last-child {
            padding: 14px 0px 14px 14px;
            display: flex;
            align-items: center;
            width: 79%;
        }   
    
        .curriculum__item div {
            margin: 0;
            height: 63px;
        }

        .else__outer {
            flex-direction: column-reverse;
            width: 77.8%;
            margin: 20px auto;
        }

         .curriculumImg__pc {
            width: 395px;
            margin: 30px 0 0 auto;
            display: block;
        }   

        .curriculumImg__sp {
            display: none;
        }
        
        .note03 {
            letter-spacing: 0.9px;
            width: 100%;
            margin: 0;
        }
}
/* tb 768px-1024px */

/* sectionSchedule */
.section--schedule h3 {
    margin-top: 155px;
    text-align: center;
    font-family: "Noto Serif JP";
    font-size: 1.7rem;
    font-weight: 600;
    line-height: 1.8; /* 30.6px */
    letter-spacing: 3.4px;
}

.section--schedule p {
    font-family: "Noto Serif JP";
    font-size: 1.6rem;
    letter-spacing: 0.96px;
    width: 81.6%;
    max-width: 462px;
    margin: 50px auto 40px;
}

.google__schedule {
    display: flex;
}

.google__schedule iframe {
    height: 279px;
    margin: 0 auto;
    width: 91.4%;
    min-width: 300px;
    max-width: 400px;
}

.section--schedule {
    margin-bottom: 180px;
}

/* sectionSchedule pc*/
@media screen and (min-width:1025px) {
    .section--schedule h3 {
        font-size: 2rem;
        letter-spacing: 4px;
        margin-top: 280px;
    }
    
    .section--schedule p {
        font-size: 1.7rem;
        letter-spacing: 1.02px;
        width: 491px;
        max-width: none;
        margin: 40px auto;
    }
    
    .google__schedule iframe {
        width: 580px;
        height: 394px;
        min-width: initial;
        max-width: initial;
    }
    
    .section--schedule {
        margin-bottom: 280px;
    }
}
/* pc 1025px */

/* sectionSchedule tb*/
@media screen and (min-width: 768px) and (max-width: 1024px) {
        .section--schedule h3 {
            margin-top: 150px;
        }
            
        .section--schedule p {
            margin: 40px auto;
        }
        
        .google__schedule iframe {
            width: 500px;
            height: 340px;
            max-width: none;
        }
            
        .course__link--toTop {
            margin: 170px auto 180px!important;
        }
}
/* tb 768px-1024px */

/* else カスタムブレイクポイント */
@media (max-width: 350px) {
    .mainTopic {
        font-size: 1.3rem;
    }

    .section--schoolIbttAS h3 {
        font-size: 1.6rem;
    }

    .txt__small {
        font-size: 1.5rem;
    }

    .curriculum__item p {
        font-size: 1.4rem;
    }

    .curriculum__item td:last-child {
        width: 96%;
    }

    .curriculum__item div {
        width: 96%;
        margin: 0 0 0 auto;
    }

    .curriculum__item p {
        font-size: 1.4rem;
    }

    .courseHour {
        padding: 15px 5px 0;
    }

    .hour__inner {
        margin: 28px auto 0 4.7%;
    }
}

@media (min-width: 950px) and (max-width: 1200px) {
    .mainTopic {
        font-size: 3rem;
    }
}

@media (min-width: 1025px) and (max-width: 1360px) {
        .curriculum__outer {
            gap: 30px;
            width: 91.5%;
        }

        .else__outer {
            width: 91.5%;
        }
}