@charset "utf-8";

.fade-in {
  opacity: 0;
  transform: translateY(30px) scale(0.98);
  transition: opacity 1.5s ease, transform 2s cubic-bezier(0.22, 1, 0.36, 1);
}

.fade-in.show {
  opacity: 1;
  transform: translateY(0) scale(1);
}

/*===========================
article header
===========================*/

.article__header {
    background-image: url(../images/page-backPC.webp);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    /* background-size: 100%; */
    margin-top: -118px;
    padding: 18%;
    position: relative;
    z-index: -100;
}

.page__title {
    top: 50%;
    left: 17%;
    font-size: 4rem;
    font-weight: 500;
    line-height: 150%;
    position: absolute;
    z-index: 10;
}

.page__title::before {
    content: '';
    display: inline-block;
    width: 117px;
    height: 107px;
    background-image: url(../images/decorationPC.webp);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    left: -45px;
    top: 50%;
    transform: translateY(-50%);
    z-index: -1;
}

@media screen and (max-width: 1024px) {
    .page__title {
        font-size: 3rem;
    }

    .page__title::before {
        width: 80px;
        height: 77px;
        left: -32px;
    }
}

/* .article header sp */
@media screen and (max-width: 767px) {
    .article__header {
        background-image: url(../images/page-backSP.webp);
        background-size: cover;
        margin-top: -62px;
        padding: 32% 0;
    }

    .page__title {
        top: 50%;
        left: 15%;
        font-size: 2rem;
    }

    .page__title::before {
        width: 50px;
        height: 45.7px;
        background-image: url(../images/decorationSP.webp);
        background-size: contain;
        background-position: center;
        left: -18px;
    }
}

/*===========================
Kazuko
===========================*/

.section__Kazuko {
    margin-top: 104px;
    padding: 0 12.5%;
}

.main__copy {
    margin: 0 auto;
    width: fit-content;
    font-size: 3.2rem;
    font-weight: 500;
    line-height: 150%;
}

.pink {
    color: var(--primary-pink);
}

.kazuko__content {
    margin-top: 50px;
    display: flex;
    align-items: center;
    gap: 30px;
}

.kazuko__img {
    display: block;
    width: 362px;
    height: auto;
}

.kazuko__txt {
    display: block;
    text-align: left;
}

.kazuko__position {
    font-size: 2rem;
    line-height: 150%;
}

.kazuko__name {
    margin-top: 10px;
    font-size: 2.4rem;
    font-weight: 500;
    line-height: 150%;
}

.kazuko__profile {
    margin-top: 30px;
    font-family: "BIZ UDPGothic";
    font-size: 1.8rem;
    line-height: 180%;
}

.accordion-button {
    display: none;
}

.accordion__content {
    margin-top: 28px;
    padding-left: 10%;
}

.kazuko__background {
    padding: 12px 0 20px 45px;
    border-left: solid 2px #BFA2DB;    
}

.background__detail {
    margin-top: 20px;
    display: block;
    text-align: left;
}

.background__detail:first-of-type {
    margin-top: 0;
}

.time {
    font-family: "BIZ UDPGothic";
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 150%;
    position: relative;
}

.time::before {
    content: '';
    display: inline-block;
    position: absolute;
    background-image: url(../images/underlinePC.webp);
    width: 164px;
    height: 17px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    left: -55px;
    top: 135%;
    transform: translateY(-50%);
}

.background__txt {
    margin-top: 10px;
    font-family: "BIZ UDPGothic";
    font-size: 1.6rem;
    line-height: 150%;
}

/* .Kazuko sp */
@media screen and (max-width: 767px) {
    .section__Kazuko {
        margin-top: 45px;
        padding: 0 10.1%;
    }

    .main__copy {
        text-align: center;
        font-size: 2rem;
    }

    .kazuko__content {
        margin-top: 26px;
        display: block;
        text-align: center;
    }

    .kazuko__img {
        margin: 0 auto;
        width: fit-content;
        width: 271px;
    }

    .kazuko__txt {
        margin-top: 20px;
        text-align: center;
    }

    .kazuko__position {
        font-size: 1.6rem;
    }

    .kazuko__name {
        margin-top: 5px;
        font-size: 2rem;
    }

    .kazuko__profile {
        margin-top: 20px;
        text-align: left;
        font-size: 1.4rem;
        line-height: 150%;
    }

    .accordion {
        margin-top: 30px;
    }

    .accordion-button {
        display: block;
        width: 100%;
        background: transparent;
        border: none;
        border-bottom: 0.5px solid #000;
        text-align: left;
        padding: 3px 20px;
        position: relative;
        cursor: pointer;
        font-family: "BIZ UDPGothic";
        font-size: 1.4rem;
        line-height: 150%;
    }

    .accordion-button::after {
        content: "";
        position: absolute;
        background-image: url(../images/arrou_teacher.webp);
        background-size: contain;
        background-position: center;
        background-repeat: no-repeat;
        right: 20px;
        top: 50%;
        width: 8px;
        height: 8px;
        transform: translateY(-50%);
        transition: transform 0.2s ease;
    }

    .accordion-button.active::after {
        transform: translateY(-50%) rotate(-180deg);
    }

    .accordion__content {
        margin-top: 30px;
        padding-left: 30px;
    }

    .kazuko__background {
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.4s ease;
        list-style: none;
        margin: 0;
        padding: 0;
    }

    .kazuko__background.open {
        max-height: 1300px;
        margin: 0;
        padding: 8px 0 30px 30px;
        border-left: solid 2px #BFA2DB; 
        overflow: visible;   
    }

    .background__detail {
        margin-top: 20px;
        display: block;
        text-align: left;
    }

    .background__detail:first-of-type {
        margin-top: 0;
    }

    .time {
        font-size: 1.6rem;
        line-height: 130%;
    }

    .time::before {
        content: '';
        display: inline-block;
        position: absolute;
        background-image: url(../images/underlineSP.webp);
        width: 111px;
        height: 15px;
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        left: -38.5px;
        top: 122%;
        transform: translateY(-50%);
    }

    .background__txt {
        margin-top: 8px;
        font-size: 1.4rem;
        line-height: 130%;
    }
}

/*===========================
other__teachers
===========================*/

.other__teachers {
    text-align: left;
    padding: 0 16.6%;
    margin: 0 auto;
    width: fit-content;
}

.about__Fumie,
.about__Keiko,
.about__Taeko {
    display: flex;
    align-items: center;
    gap: 30px;
}

.about__Fumie {
    margin-top: 90px;
}

.about__Keiko,
.about__Taeko {
    margin-top: 70px;
}

.teacher__img {
    display: block;
    width: 250px;
    height: 250px;
}

.teacher__txt {
    display: block;
    text-align: left;
}

.position {
    font-size: 1.8rem;
    line-height: 150%;
}

.teacher__name {
    margin-top: 5px;
    font-size: 2rem;
    font-weight: 500;
    line-height: 150%;
}

.teacher__profile {
    margin-top: 20px;
    font-family: "BIZ UDPGothic";
    font-size: 1.6rem;
    line-height: 180%;
}

/* .other__teachers sp */
@media screen and (max-width: 767px) {
    .other__teachers {
    text-align: left;
    padding: 0 10.1%;
    margin: 0 auto 70px;
    width: fit-content;
}

.about__Fumie,
.about__Keiko,
.about__Taeko {
    display: block;
    margin: 45px auto 0;
    width: fit-content;
}

.about__Fumie {
    margin-top: 100px;
}

.teacher__img {
    display: block;
    margin: 0 auto;
    width: fit-content;
    width: 240px;
    height: 240px;
}

.teacher__txt {
    text-align: center;
}

.position {
    margin-top: 15px;
    font-size: 1.4rem;
}

.teacher__name {
    font-size: 1.8rem;
}

.teacher__profile {
    margin-top: 15px;
    text-align: left;
    font-size: 1.4rem;
    line-height: 150%;
}
}