@charset "UTF-8";

html {
    font-size: calc(10 / 1440 * 100vw);
    color: #271d19;
}

html,
body {
    overflow-x: hidden;
}

.sp__only {
    display: none !important;
}

.pc__only {
    display: inline !important;
}

h3 {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 600;
    font-size: 4rem;
    text-align: center;
    letter-spacing: 0.03em;
}

h4 {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    font-size: 2.6rem;
}

h5 {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 600;
    font-size: 2.2rem;
    text-align: center;
}

p {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    font-size: 1.8rem;
}



/* 初期状態（非表示） */
.fadeLeft,
.fadeUp {
    opacity: 0;
    transition: opacity 0.6s ease-out, transform 0.8s ease-out;
}

/* 左からフェードイン */
.fadeLeft {
    transform: translateX(-50px);
}

.fadeLeft.active {
    opacity: 1;
    transform: translateX(0);
}

/* 右からフェードイン */
.fadeRight {
    opacity: 0;
    transition: opacity 0.8s ease-out, transform 1s ease-out;
    transform: translateX(50px);
}

.fadeRight.active {
    opacity: 1;
    transform: translateX(0);
}

/* 下からフェードイン */
.fadeUp {
    transform: translateY(50px);
}

.fadeUp.active {
    opacity: 1;
    transform: translateY(0);
}

/* その場でフェードイン */
.fadeOp {
    opacity: 0;
    transition: opacity 0.8s ease-out, transform 0.9s ease-out;
    transform: none;
    /* 位置は変更しない */
}

.fadeOp.active {
    opacity: 1;
}


/* .trouble__container {
    opacity: 0;
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

/* .trouble__itemLeft のアニメーション(左からフェードイン） */
/* .trouble__item {
    opacity: 0;
    transform: translateX(-50px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
} */

/* .trouble__itemRight のアニメーション（右からフェードイン） */
/* .trouble__item:nth-child(3) {
    opacity: 0;
    transform: translateX(50px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
} */

/* .scrollin がついたときの動き */
/* .trouble__container.scrollin {
    opacity: 1;
    transform: translateX(0);
}

.trouble__item.scrollin
.trouble__item.scollin:nth-child(3) {
    opacity: 1;
    transform: translateX(0);
} */


@media(max-width:750px) {
    html {
        font-size: calc(10/750*100vw);
        font-family: "Noto Sans JP", sans-serif;
    }

    .sp__only {
        display: inline !important;
    }

    .pc__only {
        display: none !important;
    }

    h3 {
        font-size: 3.5rem;
    }

    h4 {
        font-size: 2.5rem;
    }

    h5 {
        font-family: "Noto Sans JP", sans-serif;
        font-weight: 600;
        font-size: 2.5rem;
        text-align: center;
    }

    p {
        font-size: 2rem;
    }
}

.text__wh {
    color: #fff;
}

.text__yellow {
    color: #f1df26;
}

.cta {
    width: 100%;
}

.cta__text {
    font-size: 2rem;
    text-align: center;
    margin: 5rem 0 1rem;
}

.cta__text::before {
    content: "";
    display: inline-block;
    width: 1.7rem;
    height: 2.6rem;
    margin-right: 1.9rem;

    background-image: url(../images/cta__text--befor.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle;
}

.cta__text::after {
    content: "";
    display: inline-block;
    width: 1.7rem;
    height: 2.6rem;
    margin-left: 1.9rem;

    background-image: url(../images/cta__text--after.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle;
}

.cta__button {
    display: block;
    margin: 0 auto;
    width: 43.4rem;
    height: 7.7rem;
    background: linear-gradient(30deg, rgb(30, 128, 221) 0%, rgb(91, 166, 238) 80%);
    border-radius: 3.8rem;
    border: #156fc4 3px solid;
    box-sizing: content-box;
    align-items: center;
    text-align: center;

    box-shadow: 8px 11px 18px rgba(107, 88, 74, 0.4);
}

.cta__button:hover {
    opacity: 0.8;
}

.cta__button a {
    font-family: "Noto Sans JP", sans-serif;
    ;
    font-size: 2.4rem;
    font-weight: 700;
    color: #fff;
    text-align: center;
    margin-left: 8.5rem;
}

.cta__arrow {
    width: 1.7rem;
    height: 1.9rem;
    vertical-align: baseline;
    margin-left: 6.5rem;
}

.title__wrapper {
    width: 100%;
    position: relative;
    /* h2をh1の上に配置するための基準 */
    display: inline-block;
    /* タイトルに合わせたサイズ */
    position: relative;
    z-index: 4;
}


.title__en {
    font-family: "Roboto", sans-serif;
    font-size: 11.5rem;
    font-weight: 700;
    color: #efeeee;
    text-align: center;

    position: relative;
    z-index: 1;
}

.title__ja {
    position: absolute;

    top: 3.2rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 700;
    font-size: 4.8rem;
    text-align: center;
    width: 100%;
    background: linear-gradient(18deg, #ee6c23 0%, #e33814 100%);

    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.title__ja--40 {
    position: absolute;

    top: 1.5rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 700;
    font-size: 4rem;
    text-align: center;
    width: 100%;
    background: linear-gradient(18deg, #ee6c23 0%, #e33814 100%);

    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

@media(max-width:750px) {

    .cta__text {
        font-size: 2.4rem;
        font-weight: 500;
        text-align: center;
        margin: 5rem 0 1rem;
    }


    .cta__button {
        width: 55rem;
        height: 10rem;
        border-radius: 10rem;
    }

    .cta__button a {
        font-size: 2.9rem;
        margin-left: 12.5rem;
    }

    .cta__arrow {
        width: 2rem;
        height: 2.1rem;
        margin-left: 8.9rem;
    }

    .title__en {
        font-size: 8.5rem;
    }

    .title__ja {
        font-size: 4.5rem;
        top: 2rem;
    }

    .title__ja--40 {
        font-size: 3rem;
    }

}

.mv__image {
    width: 100%;
}



.about {
    margin: 11.6rem 0 7rem;
}


.list__nayami {
    margin-top: 11.8rem;
    height: 52.2rem;

    background-image: url(/assets/images/bg__about--list.png);
    background-size: cover;
    background-position: center;
    position: relative;
}

.about ul {
    padding-top: 14.5rem;
    padding-bottom: 20.4rem;
    margin: 0 auto;
    width: fit-content;
    /* リスト幅をコンテンツに合わせる */
}

.list__alto ul {
    padding-top: 7.1rem;
    padding-bottom: 7.6rem;
    margin: 0 auto;
    width: fit-content;
    /* リスト幅をコンテンツに合わせる */
}

.about ul li {
    display: flex;
    margin-bottom: 3.3rem;
    align-items: center;

    font-family: "Noto Sans JP", sans-serif;
    font-weight: 600;
    font-size: 2.6rem;
    color: #fff;

    text-align: start;
    width: fit-content;
}

.checkbox44 {
    width: 4.4rem;
    height: auto;
    margin-right: 1.3rem;
}

.checkbox32 {
    width: 3.2rem;
    height: auto;
    margin-right: 1.5rem;
}


.about__arrow {
    position: absolute;
    bottom: -3rem;
    left: 50%;
    transform: translateX(-50%);

    width: 23.2rem;
    height: auto;
}

.about__text--strong {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 600;
    font-size: 3.2rem;
    text-align: center;

    margin-top: 12.8rem;
}

.about__text--strong img {
    width: 29.3rem;
    vertical-align: middle;
}

.dots {
    background-image: radial-gradient(circle at center, #271d19 10%, transparent 10%);
    /* 点の色とサイズ調整 */
    background-position: top right;
    /* 点の位置 */
    background-repeat: repeat-x;
    /* 横方向に繰り返し */
    background-size: 1em 0.3em;
    /* 点の間隔とサイズ調整 */
    padding-top: 0.1em;
    /* 縦方向の位置調整 */

    color: #271d19;
}

.bg__about--titleGrd {
    background-image: url(../images/bg__about--titleGrd.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;

    margin-top: 8.7rem;
    padding: 6.7rem 0 11.5rem;
    color: #fff;

    position: relative;
    z-index: 1;
}

.bg__about--titleGrdsecond {
    background-image: url(../images/bg__about--titleGrd--3change.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;

    padding: 6.9rem 0 6.5rem;
    color: #fff;
}

.about__content--first {
    background-image: url(../images/bg__about--content.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;

    padding: 8.7rem 0 9.9rem;

    position: relative;
    z-index: 0;
    margin-top: -4.1rem;
}

.about__content--second {
    background-image: url(../images/bg__about--contentSecondbg.png);
    background-position: top;
    background-repeat: no-repeat;
    background-size: contain;
    /* padding: 4.6rem 0 9.9rem; */
}

.c__abilityNerve {
    display: flex;
    gap: 3.3rem;
    justify-content: center;
    align-items: center;
}

.c__wrapper--ability {
    display: flex;
    width: 43rem;
    height: 15.9rem;
    /* padding: 2.3rem 1.5rem 2.3rem 1.8rem; */
    gap: 0.9rem;
    background-color: #b7cce0;
    border-radius: 1.7rem;
    border: #1e80dd 0.3rem solid;
    box-sizing: content-box;
    justify-content: center;
    align-items: center;
}

.c__wrapper--nerve {
    display: flex;
    width: 43rem;
    height: 15.9rem;
    /* padding: 2.3rem 1.5rem 2.3rem 1.8rem; */
    gap: 0.9rem;
    background-color: #f7d9c8;
    border-radius: 1.7rem;
    border: #ec7a3a 0.3rem solid;
    box-sizing: content-box;
    justify-content: center;
    align-items: center;
}

.ability__image--wrapper,
.nerve__image--wapper {
    width: 11.4rem;
    height: auto;
}

.ability__image,
.nerve__image {
    width: 100%;
}


.ability__title,
.nerve__title {
    -webkit-text-stroke: 0.3rem #fff;
    paint-order: stroke;
}

.ability__text--text,
.nerve__text--text {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    font-size: 1.8rem;

    margin-top: 2.6rem;
    text-align: start;
}

.c__grapText {
    display: flex;
    margin-top: 6.4rem;
    gap: 3.5rem;
    justify-content: center;
}

.grap {
    width: 46.4rem;
    height: auto;
}

.grap__image {
    width: 100%;
}

.content__text {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    font-size: 1.8rem;
    line-height: 1.6em;
    text-align: start;

    margin-top: 5.4rem;
    width: 60.4rem;
    height: auto;
}

.letter__space {
    margin: 0;
    letter-spacing: -0.02em;
}


.font__os--60 {
    font-family: "Oswald", sans-serif;
    font-weight: 500;
    font-size: 6rem;
    font-style: italic;

    margin-right: 0.5rem;
}

.change__wapper {
    background-image: url(../images/bg__about--secondContent.png);
    background-position: top;
    background-repeat: no-repeat;
    background-size: contain;
    max-width: 110rem;
    width: 100%;
    margin: 0 auto;
    padding: 6.9rem 10rem 18.1rem;

    position: relative;
    z-index: 3;
}

.change__text {
    line-height: 1.67em;
}

.c__illustration {
    width: 100%;
    margin: 6.8rem 0 5.7rem;
}

.c__illustration img {
    width: 100%;
}

.change__wapper h4 {
    text-align: center;
}

.text__orange {
    font-weight: 700;
    font-size: 4rem;
    text-align: center;
    color: #ec7a3a;
    margin-top: 2.4rem;
}

.under__line {
    border-bottom: 2px solid #ec7a3a;
    display: inline-block;
    padding-bottom: 0.5rem;
}

.list__alto {
    position: relative;

    background-image: url(../images/bg__about--listAlto.png);
    background-position: top;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    margin-top: -17.3rem;
    padding: 22rem 0 0;

    text-align: center;
}

.list__alto h4 {
    color: #fff;
    letter-spacing: 0.02em;
}

.list__alto h3 {
    margin-top: 2.5rem;
    text-shadow: 5px 5px 4px rgba(127, 56, 36, 0.47);
}


@media(max-width:750px) {

    .about {
        margin: 6.4rem 0 6rem;
    }


    .list__nayami {
        margin-top: 5.8rem;
        height: 28.4rem;

        background-image: url(/assets/images/bg__about--list__sp@2x.png);
    }

    .about ul {
        padding-top: 6rem;
        padding-bottom: 10.5rem;
        margin: 0 auto;
        width: fit-content;
        /* リスト幅をコンテンツに合わせる */
    }

    .list__alto ul {
        padding-top: 2.4rem;
        padding-bottom: 4rem;
        margin: 0 auto;
        width: fit-content;
        /* リスト幅をコンテンツに合わせる */
    }

    .about ul li {
        display: flex;
        margin-bottom: 1.4rem;
        font-size: 2.5rem;
        font-weight: 500;
    }

    .checkbox44 {
        width: 2.8rem;
    }

    .checkbox32 {
        width: 2.5rem;
        height: auto;
        margin-right: 0.9rem;
    }


    .about__arrow {
        position: absolute;
        bottom: -1.8rem;
        width: 12.7rem;
        height: auto;
    }

    .about__text--strong {
        font-size: 3.5rem;

        margin-top: 4.4rem;
        line-height: 2.3em;
    }

    .dots {
        background-size: 1em 0.5em;
        /* 点の間隔とサイズ調整 */
        padding-top: 0.3em;
        /* 縦方向の位置調整 */
    }

    .bg__about--titleGrd {
        background-image: url(../images/bg__about--titleGrd__sp@2x.png);

        margin-top: 4.4rem;
        padding: 4.5rem 0 6.5rem;
    }

    .bg__about--titleGrdsecond {
        padding: 3.5rem 0 4rem;
        line-height: 1.3em;
    }

    .about__content--first {
        padding: 6rem 0 5rem;
        margin-top: -2rem;
    }



    .c__abilityNerve {
        display: flex;
        gap: 4rem;
        justify-content: center;
        align-items: center;
    }

    .c__wrapper--ability {
        display: flex;
        width: 31rem;
        height: 13rem;
        align-items: start;
        position: relative;
    }

    .c__wrapper--nerve {
        display: flex;
        width: 31rem;
        height: 13rem;
        gap: 0.9rem;
        align-items: start;
        position: relative;

    }

    .ability__image--wrapper,
    .nerve__image--wapper {
        width: 6rem;
        height: auto;
        position: absolute;
        top: -3rem;
        left: -2rem;
    }

    .ability__image,
    .nerve__image {
        width: 100%;
    }


    .ability__title,
    .nerve__title {
        -webkit-text-stroke: 0.3rem #fff;
        /* text-stroke: 3px #fff; */
        paint-order: stroke;
        text-align: center;
        margin: 1.8rem 0 2rem;
        font-size: 3.5rem;
    }

    .ability__text--text,
    .nerve__text--text {
        font-family: "Noto Sans JP", sans-serif;
        font-weight: 500;
        font-size: 1.9rem;
        margin-top: 0;
        text-align: center;
    }

    .c__grapText {
        display: flex;
        flex-direction: column-reverse;
        margin-top: 5.7rem;
        justify-content: center;
        align-items: center;
    }

    .grap {
        width: 45.6rem;
        height: auto;
    }

    .content__text {
        font-size: 2rem;
        margin-top: 0;
        width: 64rem;
        height: auto;
    }

    .font__os--60 {
        font-size: 5.5rem;

        margin-right: 0.5rem;
    }

    .change__wapper {
        background-image: url(../images/bg__about--secondContent__sp@2x.png);
        background-position: top;
        background-repeat: no-repeat;
        background-size: contain;
        max-width: 69rem;
        width: 100%;
        height: 48.4rem;
        margin: 0 auto;
        padding: 4rem 2rem 12.6rem;

        position: relative;
        z-index: 3;
    }

    .change__wapper p:nth-child(1) {
        width: 59rem;
        margin: 0 auto;
        line-height: 1.5em;
    }

    .c__illustration {
        width: 100%;
        margin: 2.4rem 0 3rem;
    }

    .c__illustration img {
        width: 100%;
    }

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

    .text__orange {
        font-size: 3.5rem;
        margin-top: 0.9rem;
        line-height: 1.3em;
    }

    .under__line {
        border-bottom: 3px solid #ec7a3a;
        padding-bottom: 0;
    }

    .list__alto {
        background-image: url(../images/bg__about--listAlto__sp@2x.png);
        padding: 12rem 0 0;
        margin-top: -8rem;
    }

    .list__alto h4 {
        font-size: 2rem;
    }

    .list__alto h3 {
        margin-top: 1.2rem;
    }
}



.trainingMenu {
    background-image: url(../images/bg__trainingmenu.png);
    background-repeat: no-repeat;
    background-size: cover;

    padding: 22.5rem 0 14.6rem;
}

.trainingMenu .title__wrapper h1,
.imformation .title__wrapper h1,
.profile .title__wrapper h1 {
    opacity: 0.7;
}

.trainingMenu h4 {
    text-align: center;
    margin-top: 4.9rem;
}

.menu__01,
.menu__02,
.menu__03 {
    position: relative;
    width: 90rem;
    margin: 0 auto 10rem;
}

.menu__number {
    font-family: "Oswald", sans-serif;
    font-weight: 500;
    font-size: 10rem;
    font-style: italic;
    color: #e33814;

    padding-left: 2.5rem;
    position: relative;
    z-index: 6;
}

.menu__number--rev {
    font-family: "Oswald", sans-serif;
    font-weight: 500;
    font-size: 10rem;
    font-style: italic;
    color: #e33814;
    text-align: end;

    padding-right: 2.5rem;
    position: relative;
    z-index: 6;
}

.menu__text {
    margin-top: -6rem;
    background-image: url(../images/bg__menu--text__shadow@2x.png);
    background-repeat: no-repeat;
    background-size: cover;
    width: 83.8rem;
    height: 39.3rem;

    padding: 9.9rem 0 0 3.8rem;
    position: relative;
    z-index: 5;
}

.menu__text--rev {
    margin-top: -6rem;
    background-image: url(../images/bg__menu--textRev__shadow@2x.png);
    background-repeat: no-repeat;
    background-size: cover;
    width: 83.8rem;
    height: 39.3rem;

    margin-left: 8rem;
    padding: 9.9rem 0 0 34rem;
    position: relative;
    z-index: 5;
}

.menu__text h3 {
    text-align: start;
}

.menu__text--rev h3 {
    text-align: start;

}

.menu__text p {
    width: 46rem;
    margin-top: 4.3rem;
    font-size: 2.6rem;
    font-weight: 400;
}

.menu__text--rev p {
    width: 46rem;
    margin-top: 4.3rem;
    font-size: 2.5rem;
    font-weight: 400;
    line-height: 1.3em;
    letter-spacing: -0.7px;
}

.menu__image--trunk,
.menu__image--saq {
    width: 45.2rem;
    height: 32.8rem;

    position: absolute;
    top: 16rem;
    right: 0;
    z-index: 5;
    box-shadow: 15px 15px 15px rgba(136, 82, 53, 0.3);
}

.menu__image--rhythm {
    width: 45.2rem;
    height: 32.8rem;

    position: absolute;
    top: 16rem;
    left: -1rem;
    z-index: 5;

}

.menu__image--trunk img,
.menu__image--saq img,
.menu__image--rhythm img {
    width: 100%;
    height: auto;
}

.menu__bg--orange {
    width: 109.7rem;
    height: 33rem;
    position: absolute;
    z-index: 1;
    bottom: -7rem;
    left: 7rem;
}

.menu__bg--orange__rev {
    width: 109.7rem;
    height: 33rem;
    position: absolute;
    z-index: 1;
    bottom: -7rem;
    right: 7rem;
}

.menu__bg--orange img,
.menu__bg--orange__rev img {
    width: 100%;
    height: auto;
}

.schedule {
    background-color: #fff;
    width: 90rem;
    margin: 16rem auto 0;
    padding: 9rem 12.9rem 9.7rem;
}

.flow__pc {
    margin: 5.2rem auto 2.5rem;
    display: flex !important;
    width: fit-content;
}

.flow__time {
    width: 13rem;
    margin-right: 1.6rem;
}

.flow__text {
    padding: 2rem 0 5rem;
}

.flow__text p {
    font-size: 2.6rem;
    text-align: center;
    line-height: 1.2em;
}

.flow__text p:nth-child(2) {
    margin: 10rem 0 15rem;
}

.flow__text p:nth-child(4) {
    margin-top: 13rem;
}

.flow__image {
    width: 15rem;
    margin-left: 9.7rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding-bottom: 2rem;
}

.flow__time img,
.flow__image img {
    width: 100%;
}

.flow__time img {
    margin-top: -1.2rem;
}

@media(max-width:750px) {

    .trainingMenu {
        background-image: url(../images/bg__trainingmenu__sp@2x.png);
        background-repeat: no-repeat;
        background-size: cover;

        padding: 11rem 0 10rem;
    }

    .trainingMenu .title__wrapper h1,
    .imformation .title__wrapper h1 {
        opacity: 0.7;
    }

    .trainingMenu h4 {
        text-align: center;
        margin: 4.9rem 0 5.8rem;
    }

    .menu__01,
    .menu__02,
    .menu__03 {
        position: relative;
        width: 65rem;
        margin: 0 auto 10rem;
    }

    .menu__number {
        font-size: 6.5rem;
        padding-left: 1.5rem;
        position: relative;
        z-index: 6;
    }

    .menu__number--rev {
        font-size: 6.5rem;
        padding-right: 1.5rem;
        position: relative;
        z-index: 6;
    }

    .menu__text {
        margin-top: -4rem;
        background-image: url(../images/bg__menu--text__shadow__sp@2x.png);
        background-repeat: no-repeat;
        background-size: cover;
        width: 52.4rem;
        height: 27.6rem;

        padding: 5.5rem 0 0 3rem;
        position: relative;
        z-index: 5;
    }

    .menu__text--rev {
        margin-top: -4rem;
        background-image: url(../images/bg__menu--textRev__shadow__sp@2x.png);
        background-repeat: no-repeat;
        background-size: cover;
        width: 52.4rem;
        height: 27.6rem;

        margin-left: 14rem;
        padding: 5.5rem 0 0 12rem;
        position: relative;
        z-index: 5;
    }

    .menu__text h3 {
        text-align: start;
    }

    .menu__text--rev h3 {
        text-align: end;
        padding-right: 4rem;
    }

    .menu__text p {
        width: 37rem;
        margin-top: 1.3rem;
        font-size: 2rem;
        letter-spacing: 0.04em;
        line-height: 1.3em;
    }

    .menu__text--rev p {
        width: 36.5rem;
        margin-top: 1.3rem;
        font-size: 2rem;
        line-height: 1.3em;
        letter-spacing: -0.7px;
    }

    .menu__image--trunk,
    .menu__image--saq {
        width: 26.9rem;
        height: 19.5rem;

        position: absolute;
        top: 14rem;
        right: 0;
        z-index: 5;
        box-shadow: 15px 15px 15px rgba(136, 82, 53, 0.3);
    }

    .menu__image--rhythm {
        width: 26.9rem;
        height: 19.5rem;

        position: absolute;
        top: 12rem;
        left: 1rem;
        z-index: 5;
    }

    .menu__image--trunk img,
    .menu__image--saq img,
    .menu__image--rhythm img {
        width: 100%;
        height: 100%;
    }

    .menu__bg--orange {
        width: 65rem;
        height: 19.6rem;
        position: absolute;
        z-index: 1;
        bottom: -4rem;
        left: 5rem;
    }

    .menu__bg--orange__rev {
        width: 65rem;
        height: 19.6rem;
        position: absolute;
        z-index: 1;
        bottom: -2rem;
        right: 5rem;
    }

    .menu__bg--orange img,
    .menu__bg--orange__rev img {
        width: 100%;
        height: auto;
    }

    .schedule {
        background-color: #fff;
        width: 69rem;
        margin: 6.2rem auto 0;
        padding: 3.4rem 7.7rem;
    }

    .flow__pc {
        display: none !important;
    }


    .flow__sp {
        margin: 4.3rem auto 6rem;
        display: flex !important;
        width: fit-content;
        gap: 3rem;
    }

    .flow__time {
        width: 10rem;
        margin-right: 1.6rem;
    }

    .flow__text {
        padding: 0;
        width: fit-content;
        margin-top: -2rem;
    }

    .flow__text img {
        width: 19.8rem;
        margin-top: 0.8rem;
        margin-bottom: 3.8rem;
    }

    .flow__time img {
        width: 100%;
    }

    .flow__time img {
        margin-top: -1.2rem;
    }

    .flow__text p {
        font-size: 2.6rem;
        text-align: start;
        line-height: 1.2em;
    }

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

.profile {
    background-image: url(../images/bg__profile.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top;
    padding: 16rem 0 37rem;

    position: relative;
    z-index: 2;
}

.bg__profile--top {
    width: 68.6rem;
    height: 85rem;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 3;
}

.bg__profile--bottom {
    width: 27.9rem;
    height: 78.2rem;
    position: absolute;
    bottom: 19%;
    left: 0;
    z-index: 3;
}


.profile__wrapper {
    display: flex;
    margin-top: 14rem;
    justify-content: center;
    gap: 4.8rem;
    position: relative;
    z-index: 5;
}

.profile__nishimoto,
.profile__matsumoto {
    background-color: #fff;
    border: 2px #271d19 solid;
    width: 52rem;
    box-shadow: 12px 12px 0 #ec7a3a;
    padding-bottom: 6rem;
}

.profile__image {
    width: 17.6rem;
    height: auto;
    display: block;
    margin: -10.3rem auto 0;
}

.profile__image img {
    width: 100%;
}

.profile__name {
    margin-top: 1.6rem;
    display: flex;
    gap: 2.8rem;
    justify-content: center;
}

.icon__instagram {
    width: 3.4rem;
    height: auto;
}

.icon__instagram--45 {
    width: 4.5rem;
    height: auto;
}

.profile__fullname {
    width: 45rem;
    margin: 0 auto;
    text-align: center;
    font-size: 2.5rem;
    border-bottom: 0.2rem solid #ec7a3a;
    padding-bottom: 2.4rem;
}

.profile__text {
    width: fit-content;
    margin: 2.4rem auto 0;
}

.profile__text p {
    font-weight: 400;
    line-height: 1.5em;
}

.profile__career {
    margin-top: 2.4rem;
}

.profile__career p {
    margin-top: 2.3rem;
}

.profile__career ul li {
    font-size: 1.8rem;
    padding: 1rem 0 0.5rem 1em;
    font-family: "Noto Sans JP", sans-serif;
}

.profile__matsumoto .profile__license {
    text-align: center;
}

.profile__matsumoto .profile__career {
    margin-top: 8.9rem;
}


.imformation {
    background-image: url(../images/bg__imformation@2x.png);
    background-repeat: no-repeat;
    background-size: cover;

    position: relative;
    z-index: 1;
    margin-top: -34rem;
    padding: 36rem 0 12.4rem;
}

.imformation .title__wrapper {
    margin-bottom: 8rem;
}



.info__dp,
.info__price {
    display: flex;
    width: 110rem;
    height: 18.5rem;
    margin: 0 auto 1.5rem;
}

.info__class {
    display: flex;
    width: 110rem;
    height: 14.5rem;
    margin: 0 auto 1.5rem;
}


.info__dp h5,
.info__price h5 {
    background-color: #271d19;
    font-size: 2.2rem;
    font-weight: 600;
    color: #fff;
    text-align: center;

    width: 27.7%;
    padding: 8rem 0 5rem;
}

.info__class h5 {
    background-color: #271d19;
    font-size: 2.2rem;
    font-weight: 600;
    color: #fff;
    text-align: center;

    width: 27.7%;
    padding: 6rem 0;
}


.info__dp--textbox {
    background-color: #fff;
    width: 72.3%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0 5.5rem;
}

.dp__text--flex {
    display: flex !important;
    justify-content: space-between;
}

.dp__text--flex p {
    font-weight: 400;
    line-height: 1.8em;
}

.dp__annotation {
    margin-top: 1rem;
    font-weight: 400;
    text-align: start;
}

.info__class--textbox {
    background-color: #fff;
    width: 72.3%;

    display: flex;
    align-items: center;
    padding: 0 5.5rem;
}

.info__class--textbox p{
    font-weight: 400;
    line-height: 2em;
}

.price__table {
    background-color: #fff;
    width: 72.3%;
    height: auto;
    padding: 2rem 4.6rem 2rem;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    /* アイテム間の間隔 */
    justify-content: start;
}

.price__table p {
    font-weight: 400;
    text-align: start;
}

.price__item {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 4rem;
    width: calc(45% - 0.5rem);
    /* 2列に分ける */
    padding: 0.5rem 0;
    /* 余白を少し確保 */
}

.price__table .price__item:nth-child(1) {
    gap: 1rem;
}

.price__table .price__item:nth-child(2) {
    gap: 5rem;
}

.label,
.price {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 1.8rem;
    font-weight: 400;
    color: #271d19;
}

.qa {
    background-image: url(../images/bg__qa@2x.png);
    background-repeat: no-repeat;
    background-size: cover;

    padding: 12.3rem 0 16.3rem;
    position: relative;
}

.bg__qa--top,
.bg__qa--bottom {
    width: 85.2rem;
    height: 12.3rem;
}

.bg__qa--top {
    position: absolute;
    top: 0;
    left: 0;
}

.bg__qa--bottom {
    position: absolute;
    bottom: 0;
    right: 0;
}



.qa__item {
    width: 63%;
    margin: 0 auto;
    margin-bottom: 4rem;
    background-color: #271d19;

    font-family: "Noto Sans JP", sans-serif;
    color: #fff;

    position: relative;
}

.qa__item summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 2.6rem 4.2rem 2.7rem 8.8rem;
    font-size: 2.6rem;
    font-weight: 500;
    cursor: pointer;
    line-height: 1.4;
    list-style: none;
}

.qa__item summary::-webkit-details-marker {
    display: none;
}

.qa__item summary::before {
    content: 'Q';
    position: absolute;
    left: 4rem;

    font-family: "Oswald", sans-serif;
    font-weight: 500;
    font-size: 4rem;
}

.qa__item summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 2.9rem;
    height: 2.9rem;
    border-bottom: 3px solid #fff;
    border-right: 3px solid #fff;
    content: "";
    transition: transform 0.5s;
}


.qa__item[open] summary::after {
    transform: rotate(225deg);
}

.qa__triangle {
    width: 4rem;
    position: absolute;
    top: 8.8rem;
    left: 50%;
    transform: translateX(-50%);
    opacity: 0;
    z-index: 2;
}

.qa__item p {
    width: 100%;
    position: relative;
    z-index: 1;
    opacity: 0;
    margin: 0;
    padding: 5rem 8rem;
    font-size: 2.2rem;
    font-weight: 400;
    color: #271d19;
    transition: transform 0.5s, opacity 0.5s;
    background-color: #f4eee7;
}

.qa__item p::before {
    content: 'A';
    position: absolute;
    top: 4rem;
    left: 4rem;

    font-family: "Oswald", sans-serif;
    font-weight: 500;
    font-size: 4rem;
}

.qa__item[open] p {
    opacity: 1;
    line-height: 1.6;
    letter-spacing: 0px;
}

.qa__item[open] .qa__triangle {
    opacity: 1;
}

.contact {
    background-color: #271d19;
    padding: 10rem 0 8.7rem;
}

.contact h1 {
    color: #3e332f;
}

.contact__altobaseup {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 3.2rem;
    margin-top: 8.6rem;
    font-family: "Roboto", sans-serif;
    color: #fff;
}

.altobaseup__image {
    width: 20.8rem;
    height: auto;
}

.altobaseup__image img {
    width: 100%;
}

.altobaseup__tel,
.altobaseup__mail {
    display: flex;
    align-items: self-end;
    gap: 2rem;
    margin-bottom: 3.4rem;
}

.tel,
.mail {
    font-size: 2.6rem;
    font-weight: 300;
}

.tel__number {
    font-size: 4rem;
    font-weight: 300;
}

.mail__add {
    font-size: 3.2rem;
    font-weight: 300;
}

.contact__altofootball {
    margin: 5.7rem auto 6.6rem;
    width: 90rem;
    background-image: url(/assets/images/bg__altofootball@2x.png);
    background-repeat: no-repeat;
    background-size: cover;

    display: flex;
    justify-content: center;
    align-items: center;
    gap: 6.3rem;
    padding: 2.8rem 0;
}

.altofootball__image {
    width: 9.9rem;
    height: auto;
}

.altofootball__image img {
    width: 100%;
}


.altofootball_taxt p {
    font-size: 4rem;
    color: #fff;
}

.altofootball_taxt button {
    background-color: #0e569a;
    width: 46.3rem;
    height: 4.4rem;
    color: #fff;
    cursor: pointer;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 2rem;
    font-weight: 500;
    text-align: end;
    margin: 2.3rem 1rem 0;
}

.altofootball_taxt button img {
    width: 1.2rem;
    height: 1.4rem;
    margin: 0 2.7rem 0.2rem 10rem;
}

.line {
    background-color: #9e9d9d;
    display: block;
    margin: 0 auto;
    width: 130rem;
    height: 0.2rem;
}

.contact__support {
    margin: 6.3rem auto 0;
    display: flex;
    width: 90rem;
    height: 16rem;
    gap: 1.5rem;
}

.yurashi-lab {
    background-color: #fff;
    width: 61.5%;
}

.yurashi-lab a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.2rem;
}

.orenoashi {
    background-color: #fff;
    width: 38.5%;
}

.orenoashi a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 3rem;
}

.yurashiLab__image {
    width: 14.1rem;
}

.yurashiLab__image img,
.orenoashi__image img {
    width: 100%;
}

.orenoashi__image {
    width: 16.1rem;
}

.yurashi__text {
    text-align: center;
}

.font__26 {
    font-size: 2.6rem;
}

.font__21 {
    font-size: 2.1rem;
    margin-top: 2rem;
}

footer {
    margin: 3.4rem 0 1.3rem;
    text-align: center;
}

small {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 1.7rem;
    font-weight: 400;
}

@media(max-width:750px) {
    .profile {
        background-image: url(../images/bg__profile__sp.png);
        background-repeat: no-repeat;
        background-size: cover;
        background-position: top;
        padding: 5.7rem 0 24rem;

        position: relative;
        z-index: 2;
    }

    .bg__profile--top {
        width: 37.7rem;
        height: 44.2rem;
        position: absolute;
        top: 0;
        right: 0;
        z-index: 3;
    }

    .bg__profile--bottom {
        width: 18.4rem;
        height: 53.1rem;
        position: absolute;
        bottom: 9%;
        left: 0;
        z-index: 3;
    }

    .profile__wrapper {
        display: flex;
        flex-direction: column;
        margin-top: 14rem;
        justify-content: center;
        align-items: center;
        gap: 15.7rem;
    }

    .profile__nishimoto,
    .profile__matsumoto {
        width: 65rem;
        padding-bottom: 3rem;
    }

    .profile__image {
        width: 16.9rem;
    }

    .profile__image img {
        width: 100%;
    }

    .profile__name {
        margin-top: 4rem;
        display: flex;
        gap: 1.5rem;
        justify-content: center;
        align-items: baseline;
    }

    .profile__name h4 {
        font-size: 3.5rem;
        font-weight: 700;
    }

    .icon__instagram {
        width: 3rem;
        height: auto;
    }

    .icon__instagram--45 {
        width: 3.2rem;
        height: auto;
    }

    .profile__fullname {
        font-size: 2.5rem;
        font-weight: 700;
        padding-bottom: 1.3rem;
    }

    .profile__text {
        width: 100%;
        margin: 1.4rem auto 0;
    }

    .profile__license {
        width: fit-content;
        margin: 0 auto;
    }

    .profile__text p {
        font-weight: 400;
        line-height: 1.5em;
    }

    .profile__career {
        margin-top: 2rem;
        margin-left: 3rem;
    }

    .flex__box {
        display: flex;
        margin-bottom: 1.5rem;
        gap: 4rem;
    }

    .profile__career .flex__box:nth-child(3) {
        gap: 2rem;
    }

    .flex__box ul {
        padding-top: 0.2rem;
    }

    .profile__career p {
        margin-top: 0;
    }

    .profile__career ul li {
        font-size: 2rem;
        padding: 0 0 0.5rem 0;
    }

    .profile__matsumoto .profile__license {
        text-align: center;
    }

    .profile__matsumoto .profile__career {
        margin-top: 1.9rem;
    }


    .imformation {
        background-image: url(../images/bg__imformation__sp@2x.png);
        background-repeat: no-repeat;
        background-size: cover;

        position: relative;
        z-index: 1;
        margin-top: -23em;
        padding: 21rem 0 7.8rem;
    }

    .imformation .title__wrapper {
        margin-bottom: 3rem;
    }



    .info__dp {
        display: flex;
        width: 69rem;
        height: 26.5rem;
        margin: 0 auto 0.6rem;
    }

    .info__class {
        display: flex;
        width: 69rem;
        height: 12rem;
        margin: 0 auto 0.6rem;
    }

    .info__price {
        display: flex;
        width: 69rem;
        height: 20rem;
        margin: 0 auto 0.6rem;
    }

    .info__dp h5 {
        font-size: 2.5rem;

        padding: 12.5rem 0 5rem;
    }

    .info__class h5 {
        font-size: 2.5rem;

        padding: 5rem 0 4rem;
    }

    .info__price h5 {
        font-size: 2.5rem;

        padding: 11.5rem 0 14.1rem;
    }


    .info__dp--textbox {
        background-color: #fff;
        width: 72.3%;

        padding: 0 3rem;

    }

    .dp__text--flex p {
        font-weight: 400;
        font-size: 2rem;
        line-height: 2em;
    }

    .dp__annotation {
        margin-top: 1rem;
        font-weight: 400;
        font-size: 1.5rem;
    }

    .info__class--textbox {
        background-color: #fff;
        width: 72.3%;

        padding: 0 3rem;
    }

    .info__class--textbox p {
        line-height: 1.5em;
    }

    .price__table {
        background-color: #fff;
        width: 72.3%;
        height: 25.6rem;
        padding: 2rem 3rem;
        display: flex;
        flex-direction: column;
        flex-wrap: wrap;
        gap: 0;
        /* アイテム間の間隔 */
    }

    .price__table p {
        font-weight: 400;
        text-align: start;
    }

    .price__item {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        gap: 4rem;
        width: auto;
        /* 2列に分ける */
        padding: 0.5rem 0;
        /* 余白を少し確保 */
    }

    .price__table .price__item:nth-child(1) {
        gap: 4rem;
    }

    .price__table .price__item:nth-child(2) {
        gap: 4rem;
    }

    .label,
    .price {
        font-family: "Noto Sans JP", sans-serif;
        font-size: 2rem;
        font-weight: 400;
        color: #271d19;
    }

    .special {
        margin-top: 1rem;
    }

    .qa {
        background-image: url(../images/bg__qa__sp@2x.png);
        background-repeat: no-repeat;
        background-size: cover;

        padding: 6.5rem 0 6rem;
        position: relative;
    }

    .bg__qa--top,
    .bg__qa--bottom {
        width: 44.4rem;
        height: 6.4rem;
    }

    .qa__item {
        width: 87%;
    }

    .qa__item summary {
        display: flex;
        justify-content: space-between;
        align-items: center;
        position: relative;
        padding: 1.6rem 1.3rem 1.6rem 5.3rem;
        font-size: 2.5rem;
        font-weight: 600;
        cursor: pointer;
        line-height: 1.4;
        list-style: none;
    }

    .qa__item summary::-webkit-details-marker {
        display: none;
    }

    .qa__item summary::before {
        content: 'Q';
        position: absolute;
        left: 1.4rem;

        font-family: "Oswald", sans-serif;
        font-weight: 500;
        font-size: 4rem;
    }

    .qa__item summary::after {
        transform: translateY(-25%) rotate(45deg);
        width: 2.1rem;
        height: 2.1rem;
        border-bottom: 2px solid #fff;
        border-right: 2px solid #fff;
        content: "";
        transition: transform 0.5s;
    }


    .qa__item[open] summary::after {
        transform: rotate(225deg);
    }

    .qa__triangle {
        width: 2.9rem;
        height: 1.9rem;
        position: absolute;
        top: 6.5rem;
        left: 50%;
        transform: translateX(-50%);
        opacity: 0;
        z-index: 2;
    }

    .qa__item p {
        width: 100%;
        position: relative;
        z-index: 1;
        opacity: 0;
        margin: 0;
        padding: 4.4rem 5.4rem 2.4rem;
        font-size: 1.9rem;
        font-weight: 400;
        color: #271d19;
        transition: transform 0.5s, opacity 0.5s;
        background-color: #f4eee7;
    }

    .qa__item p::before {
        content: 'A';
        position: absolute;
        top: 3rem;
        left: 1.6rem;
    }

    .contact {
        background-color: #271d19;
        padding: 5.7rem 0 6rem;
    }


    .contact__altobaseup {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 1.7rem;
        margin-top: 5.7rem;
        font-family: "Roboto", sans-serif;
        color: #fff;
    }

    .altobaseup__image {
        width: 10.9rem;
        height: auto;
    }

    .altobaseup__image img {
        width: 100%;
    }

    .altobaseup__tel,
    .altobaseup__mail {
        display: flex;
        align-items: self-end;
        gap: 1.2rem;
        margin-bottom: 1.7rem;
    }

    .tel,
    .mail {
        font-size: 1.9rem;
        font-weight: 300;
    }

    .tel__number {
        font-size: 3.1rem;
        font-weight: 300;
    }

    .mail__add {
        font-size: 2.2rem;
        font-weight: 300;
    }

    .contact__altofootball {
        margin: 2.9rem auto 4rem;
        width: 54.7rem;
        background-image: url(/assets/images/bg__altofootball@2x.png);
        background-repeat: no-repeat;
        background-size: cover;

        display: flex;
        justify-content: center;
        align-items: center;
        gap: 4rem;
        padding: 2.2rem 0 1.2rem;
    }

    .altofootball__image {
        width: 6rem;
        height: auto;
    }

    .altofootball__image img {
        width: 100%;
    }


    .altofootball_taxt p {
        font-size: 2.5rem;
        color: #fff;
    }

    .altofootball_taxt button {
        background-color: #0e569a;
        width: 28.1rem;
        height: 3.7rem;

        font-size: 1.2rem;
        font-weight: 500;
        text-align: end;
        margin: 1.4rem 0 0;
    }

    .altofootball_taxt button img {
        width: 0.7rem;
        height: 0.7rem;
        margin: 0 1.6rem 0.2rem 6rem;
    }

    .line {
        background-color: #9e9d9d;
        display: block;
        margin: 0 auto;
        width: 68.3rem;
        height: 0.1rem;
    }

    .contact__support {
        margin: 4.1rem auto 0;
        display: flex;
        width: 54.8rem;
        height: 9.5rem;
        gap: 2rem;
    }

    .yurashi-lab {
        background-color: #fff;
        width: 61.5%;
    }

    .yurashi-lab a {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 1.2rem;
    }

    .orenoashi {
        background-color: #fff;
        width: 38.5%;
    }

    .orenoashi a {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 3rem;
    }

    .yurashiLab__image {
        width: 8.4rem;
    }

    .yurashiLab__image img,
    .orenoashi__image img {
        width: 100%;
    }

    .orenoashi__image {
        width: 9.5rem;
    }

    .yurashi__text {
        text-align: center;
    }

    .font__26 {
        font-size: 1.7rem;
    }

    .font__21 {
        font-size: 1.2rem;
        margin-top: 1rem;
    }

    footer {
        margin: 3.4rem 0 1.3rem;
        text-align: center;
    }

    small {
        font-family: "Noto Sans JP", sans-serif;
        font-size: 1.7rem;
        font-weight: 400;
    }
}