@charset "utf-8";

/* --------------
header
-------------- */
.nav__item--class {
    position: relative;
}

.nav__item--class::before {
    content: '';
    width: 10px;
    height: 10px;
    border-radius: 5px;
    display: inline-block;
    background-color: var(--primary-green);
    position: absolute;
    top: -100%;
    left: 45%;
}

.nav__item--class::after {
    content: '';
    width: 100%;
    height: 3px;
    display: inline-block;
    background-color: var(--primary-green);
    position: absolute;
    bottom: -17px;
    left: 0;
}

/* --------------
article__header
-------------- */
.mainImg__pc--class {
    margin-bottom: 100px;
}

.class__title {
    border-color: var(--primary-green);
}

.class__title::after {
    background-color: var(--primary-green);
}

.class__subtitle {
    color: var(--primary-green);
}

@media screen and (max-width:768px) {
    .mainImg__pc--class {
        margin-bottom: 50px;
    }

    .nav__item--class::before {
        left: 47%;
    }
}


/* --------------
class1
-------------- */
.section--class1,
.section--class2 {
    padding: 140px 7% 70px;
    text-align: center;
}

.class__name {
    font-size: 3.5rem;
    font-weight: 500;
    color: var(--primary-white);
    background-color: var(--primary-green);
    padding: 5px;
    border-radius: 10px;
}

.class__trial--txt::before {
    transform: rotate(-35deg);
}

.class__trial--txt::after {
    transform: rotate(35deg);
}

.class__trial--txt::before,
.class__trial--txt::after {
    position: relative;
    display: inline-block;
    content: '';
    background-color: var(--primary-green);
    width: 1px;
    height: 10px;
    margin: 0 6px;
    vertical-align: middle;
}

.class__above {
    display: flex;
    margin-top: 95px;
}

.class__trial {
    text-align: center;
}

.class__trial--txt {
    color: var(--primary-green);
    font-size: 2.5rem;
}

.class__trial img {
    width: 484px;
    height: auto;
    margin-top: 44px;
}

.class__info {
    margin-left: 5%;
}

.class__info--txt {
    font-size: 2rem;
    line-height: 200%;
    margin-bottom: 71px;
    text-align: start;
}

h5 {
    font-size: 2rem;
}

.class__info--list {
    display: flex;
    margin-top: 28px;
}

.class__item--topic {
    padding: 7px 12px;
    justify-content: center;
    align-items: center;
    color: var(--primary-white);
    font-size: 2rem;
    font-weight: 500;
    border-radius: 7px 7px 0 0;
    border-bottom: 1px solid var(--primary-green);
    background: var(--primary-green);
    text-align: center;
}

.class__info--item {
    margin: auto;
}

.class__info--item span {
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: 0.64px;
}

.class__item--price {
    text-align: center;
    font-size: 2.5rem;
    font-weight: 700;
    letter-spacing: 1px;
    border-radius: 0 0 7px 7px;
    border-right: 2px solid var(--primary-green);
    border-bottom: 2px solid var(--primary-green);
    border-left: 2px solid var(--primary-green);
    background: var(--primary-white);
}

.class__caution {
    color: var(--primary-green);
    font-size: 1.6rem;
    margin-top: 26px;
}

.class__info--item2 {
    display: flex;
    align-items: center;
    margin-bottom: 50px;
}

.class__info--item2::before {
    display: inline-block;
    content: '';
    margin-top: 2px;
    margin-right: 7px;
    width: 10px;
    height: 10px;
    vertical-align: top;
    border-radius: 5px;
    background-color: var(--primary-green);
}

.class__line {
    width: 83px;
    height: 1px;
    background-color: var(--primary-brown);
    margin: 0 16px;
}

.class__below {
    display: flex;
    margin: 73px 0 40px;
    justify-content: center;
    text-align: start;
}

.class__bikou {
    margin-left: 5.5%;
}

.class__bikou p {
    font-size: 2rem;
    margin-top: 22px;
}

.class__btn {
    background: var(--primary-green);
    color: var(--primary-white);
    margin: 0 auto;
}

@media screen and (max-width:768px) {

    .section--class1,
    .section--class2 {
        padding: 60px 7% 70px;
        text-align: center;
    }

    .class__above {
        display: block;
        margin-top: 40px
    }

    .class__name {
        font-size: 1.6rem;
    }

    .class__trial--txt {
        font-size: 1.4rem;
    }

    .class__info--txt {
        font-size: 1.4rem;
        margin: 30px 0 50px;
    }

    h5 {
        font-size: 1.4rem;
    }

    .class__bikou p {
        font-size: 1.4rem;
    }

    .class__below {
        display: block;
    }

    .class__item--topic {
        font-size: 1.4rem;
    }


    .class__info--item span {
        font-size: 1.4rem;
    }

    .class__item--price {
        font-size: 2rem;
    }

    .class__trial img {
        width: 47%;
        height: auto;
        margin-top: 10px;
    }

    .class__info--item2 {
        margin-bottom: 20px;
    }

}

/* --------------
class2
-------------- */
.class2__item--topic {
    color: var(--primary-white);
    text-align: center;
    font-size: 2rem;
    font-weight: 500;
    display: flex;
    padding: 7px 12px;
    justify-content: center;
    align-items: center;
    align-self: stretch;
    border-radius: 7px 7px 0 0;
    border-bottom: 1px solid var(--primary-green);
    background: var(--primary-green);
}

.class2__item--price {
    text-align: center;
    font-size: 2.5rem;
    font-weight: 700;
    letter-spacing: 1px;
    display: flex;
    padding: 15px 0;
    justify-content: center;
    align-items: center;
    align-self: stretch;
    border-radius: 0 0 7px 7px;
    border-right: 2px solid var(--primary-green);
    border-bottom: 2px solid var(--primary-green);
    border-left: 2px solid var(--primary-green);
    background: var(--primary-white);
}

.class2__info--item {
    margin-right: 3%;
    width: 47%;
}

@media screen and (max-width:768px) {
    /* .class__info--list {
        display: block;
    } */

    .class2__info--item {
        margin: auto;
        margin-bottom: 20px;
    }

    .class2__item--topic {
        font-size: 1.4rem;
    }

    .class2__info--item span {
        font-size: 1.4rem;
    }

    .class2__item--price {
        font-size: 2rem;
    }

    .class__line {
        width: 9%;
        margin: 0 16px;
    }
}

/* --------------
review
-------------- */
.section--classreview {
    padding: 100px 7%;
    border-bottom: 3px solid var(--primary-green);
}

.review__list {
    display: flex;
    gap: 4%;
    margin-top: 140px;
    align-items: end;
}

.review__item {
    width: 45%;
    height: auto;
    padding-bottom: 20px;
}


.review__item img {
    width: 288px;
    display: block;
    margin: 0 auto;
}


.review__item--txt {
    position: relative;
    font-size: 2rem;
    letter-spacing: 1.6px;
    display: inline-flex;
    padding: 27px;
    justify-content: center;
    align-items: center;
    border-radius: 40px;
    border: 3px solid var(--primary-green);
}

.review__item--txt::before {
    position: absolute;
    content: '';
    top: 100%;
    left: 50%;
    margin-left: -15px;
    border: 15px solid transparent;
    border-top: 15px solid var(--primary-green);
}

.review__name {
    color: var(--primary-brown);
    text-align: center;
    font-size: 2rem;
}

&::scroll-button(*) {
    display: none;
}





@media screen and (max-width:768px) {
    .section--classreview {
        padding: 100px 6%;
        position: relative;
    }

    .review__item--txt {
        font-size: 1.4rem;
    }

    .review__item {
        width: 60%;
        height: auto;
        scroll-snap-align: center;
    }

    /* carousel */
    .review__list {
        display: grid;
        grid-auto-columns: 100%;
        grid-auto-flow: column;
        place-items: center;
        overflow-x: auto;
        scroll-snap-type: X mandatory;
        margin-top: 60px;

        &::scroll-button(right) {
            position: absolute;
            top: 60%;
            right: 10%;
            content: '＞' / "Scroll Right";
        }

        &::scroll-button(left) {
            position: absolute;
            top: 60%;
            left: 10%;
            content: '＜' / "Scroll Left";
        }

        &::scroll-button(*) {
            width: 42px;
            height: 42px;
            background-color: var(--primary-green);
            border-radius: 50%;
            color: var(--primary-white);
            font-size: 1.2rem;
            font-weight: 500;
            border: 1px solid var(--primary-green);
        }
    }

}