@charset "utf-8";

.scroll_up {
    transition: 1.8s ease-in-out;
    transform: translateY(30px);
    opacity: 0;
}

.scroll_up.on {
    transform: translateY(0);
    opacity: 1.0;
}

.p-title, .p-date__inner, .p-summary__inner, .p-instructor__inner {
    width: 64.44444444444444vw;
    margin: 0 auto;
}

/* fv */
.p-fv__item {
    width: 64.44444444444444vw;
    margin: 0 auto;
}

.p-fv__item img {
    width: 64.375vw;
}

/* title */
.p-title {
    padding: 3.4722222222222223vw 0 2.7777777777777777vw 0;
}

.p-title__main {
    font-size: 1.6666666666666667vw;
    line-height: 1.5;
    font-weight: 600;
}

.p-title__sub {
    font-size: 1.3888888888888888vw;
    padding-top: 0.6944444444444444vw;
    line-height: 1.5;
    font-weight: 600;
}

/* date */
.p-date__text {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.0416666666666665vw 0;
    border-top: 0.06944444444444445vw solid #007070;
    border-bottom: 0.06944444444444445vw solid #007070;
}

.p-date__left {
    display: flex;
    gap: 0.6944444444444444vw;
    justify-content: space-between;
    align-items: center;
    margin-left: 0.6944444444444444vw;
}

.p-date__day {
    font-size: 1.6666666666666667vw;
    font-family: "Inter", serif;
}

.p-date__week {
    font-size: 1.0416666666666665vw;
    font-family: "Inter", serif;
}

.p-date__time {
    font-size: 1.6666666666666667vw;
    font-family: "Afacad", serif;
}

.p-date__right {
    margin-right: 1.3888888888888888vw;
}

.p-date__archive {
    font-size: 0.9722222222222222vw;
    padding: 0.7638888888888888vw 1.3888888888888888vw;
    border: 0.06944444444444445vw solid #007070;
    border-radius: 3.4722222222222223vw;
}

/* summary */
.p-summary__inner {
    padding: 0.6944444444444444vw 0 6.944444444444445vw 0;
}

.p-summary__text {
    line-height: 1.75;
    text-align: left;
    padding: initial;
    font-size: 1.1111111111111112vw;
}

.p-summary__text-heading {
    text-decoration: underline;
}

.p-summary__title {
    font-weight: 900;
    font-family: "Noto Sans JP", serif;
    padding-bottom: 0.8333333333333334vw;
    padding-top: 2.083333333333333vw;
    font-size: 1.3888888888888888vw;
}

.p-summary__subText {
    font-size: 0.9027777777777777vw;
    line-height: 1.8;
}

.p-summary__item {
    display: flex;
    justify-content: space-between;
    padding-top: 2.7777777777777777vw;
}

.p-summary__item img {
    width: 30.90277777777778vw;
}

.p-summary__title, .p-summary__subText {
    padding-top: 2.083333333333333vw;
    font-family: "Noto Sans JP", serif;
}

.p-summary__attention {
    padding-top: 1.25vw;
}

.p-summary__img {
    padding-top: 2.083333333333333vw;
    width: 32.375vw;
}

.p-summary__img img {
    width: 100%;
}

/* instructor */
.p-instructor {
    background: #DC9A6A;
    padding: 5.555555555555555vw 0;
}

.p-instructor__title {
    font-size: 1.25vw;
    color: #fff;
    font-weight: 600;
    text-align: center;
    background-color: #007070;
    padding: 1.25vw 0;
}

.p-instructor__card {
    display: flex;
    justify-content: space-between;
    padding-top: 3.4722222222222223vw;
}

.p-instructor__img img {
    width: 14.23611111111111vw;
    border-radius: 0.3472222222222222vw;
}

.p-instructor__right {
    width: 46.736111111111114vw;
    color: #fff;
}

.p-instructor__job {
    font-family: "Afacad", serif;
    line-height: 1.3;
    font-size: 1.25vw;
}

.p-instructor__name {
    font-size: 2.2222222222222223vw;
    font-family: "Playfair Display", serif;
    padding-bottom: 2.083333333333333vw;
}

.p-instructor__name span {
    font-size: 1.1111111111111112vw;
}

.p-instructor__text {
    font-weight: 600;
    padding-top: 2.083333333333333vw;
    border-top: 0.06944444444444445vw solid #fff;
    line-height: 1.7;
}


/* ticket */
.p-ticket {
    padding: 5.555555555555555vw 0 6.944444444444445vw 0;
}

.p-ticket__title {
    text-align: center;
    font-size: 1.25vw;
    padding-bottom: 0.6944444444444444vw;
}

.p-ticket__price {
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: "Afacad", serif;
    font-size: 4.444444444444445vw;
}

.p-tax {
    font-family: "Noto Sans JP", serif;
    font-size: 0.9722222222222222vw;
}

/* .p-ticket__text{
        width: 37.56944444444444vw;
        margin: 2.7777777777777777vw auto 2.7777777777777777vw auto;        
        line-height: 1.75;
    } */
.p-ticket__text li {
    text-indent: -1em;
    padding-left: 1em;
}

/* c-button */
.c-button {
    width: 20.833333333333336vw;
    margin: 0 auto;
}

.c-button__text {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    width: 20.833333333333336vw;
    height: 5.555555555555555vw;
    font-weight: 600;
    background-color: #007070;
    font-size: 1.3888888888888888vw;
    letter-spacing: -0.04em;
    position: relative;
    padding-left: 2.083333333333333vw;
}

.c-button__text:hover {
    color: #007070;
    z-index: 1;
}

.c-button__text::before {
    position: absolute;
    content: "";
    display: inline-block;
    width: 2.083333333333333vw;
    height: 2.083333333333333vw;
    background: url(../img/arrow_white.svg) no-repeat;
    background-size: contain;
    top: 0;
    bottom: 0;
    margin: auto;
    left: 1.8055555555555554vw;
    z-index: 1;
}

.c-button__text:hover:before {
    position: absolute;
    content: "";
    display: inline-block;
    width: 2.083333333333333vw;
    height: 2.083333333333333vw;
    background: url(../img/arrow_green.png) no-repeat;
    background-size: contain;
    top: 0;
    bottom: 0;
    margin: auto;
    left: 1.8055555555555554vw;
    transition: 0.5s;
}

.c-button__text::after {
    content: "";
    width: 0%;
    height: 100%;
    background: #FFF2E8;
    position: absolute;
    top: 0;
    left: 0;
    transition: 0.5s;
}

.c-button__text:hover::after {
    width: 100%;
    color: #007070;
    position: absolute;
    z-index: -1;
}

@media screen and (min-width:441px) {
    .l-headerSp, .p-fixedSp, .p-summary__logoSp, .u-brSp {
        display: none;
    }
}

@media screen and (max-width:440px) {
    .p-fixedPc, .l-header {
        display: none;
    }

    body {
        font-size: 3.6363636363636362vw;
    }

    .p-title, .p-date__inner, .p-summary__inner, .p-instructor__inner {
        width: 90.9090909090909vw;
        margin: 0 auto;
    }

    /* fv */
    .p-fv__item {
        width: 100vw;
    }

    .p-fv__item img {
        width: 100vw;
    }

    /* title */
    .p-title {
        padding: 6.363636363636363vw 0 6.8181818181818175vw 0;
    }

    .p-title__main {
        font-size: 4.545454545454546vw;
        line-height: 1.4;
    }

    .p-title__sub {
        font-size: 3.6363636363636362vw;
        padding-top: 1.1363636363636365vw;
        line-height: 1.75;
    }

    /* date */
    .p-date__text {
        padding: 2.0454545454545454vw 0;
        border-top: 0.22727272727272727vw solid #007070;
        border-bottom: 0.22727272727272727vw solid #007070;
    }

    .p-date__left {
        gap: 1.1363636363636365vw;
        margin-left: 2.272727272727273vw;
    }

    .p-date__day {
        font-size: 4.545454545454546vw;
    }

    .p-date__week {
        font-size: 2.727272727272727vw;
    }

    .p-date__time {
        font-size: 4.545454545454546vw;
    }

    .p-date__right {
        margin-right: 2.272727272727273vw;
    }

    .p-date__archive {
        font-size: 2.9545454545454546vw;
        padding: 1.5909090909090908vw 4.318181818181818vw;
        border: 0.22727272727272727vw solid #007070;
        border-radius: 11.363636363636363vw;
    }

    /* summary */
    .p-summary__inner {
        padding: 2.272727272727273vw 0 11.363636363636363vw 0;
    }

    .p-summary__text {
        font-size: 3.1818181818181817vw;
        line-height: 1.85;
    }

    .p-summary__subText {
        font-size: 2.727272727272727vw;
        line-height: 1.8;
    }

    .p-summary__item {
        display: block;
        padding-top: 2.272727272727273vw;
    }

    .p-summary__item img {
        width: 90.9090909090909vw;
        padding-top: 4.545454545454546vw;
    }

    .p-summary__subText {
        padding-top: 4.545454545454546vw;
    }

    .p-summary__title {
        padding-bottom: 2.727272727272727vw;
        padding-top: 4.545454545454546vw;
        font-size: 4.0909090909090918vw;
    }

    /* instructor */
    .p-instructor {
        padding: 9.090909090909092vw 0 13.636363636363635vw 0;
    }

    .p-instructor__title {
        font-size: 3.4090909090909087vw;
        padding: 2.727272727272727vw 0;
    }

    .p-instructor__card {
        display: block;
        padding-top: 6.8181818181818175vw;
    }

    .p-instructor__img {
        width: 46.590909090909086vw;
        margin: 0 auto;
    }

    .p-instructor__img img {
        width: 46.590909090909086vw;
        border-radius: 1.1363636363636365vw;
    }

    .p-instructor__right {
        width: initial;
    }

    .p-instructor__job {
        line-height: 1.25;
        font-size: 3.6363636363636362vw;
        text-align: center;
        padding-top: 5.454545454545454vw;
    }

    .p-instructor__name {
        font-size: 5.454545454545454vw;
        font-family: "Playfair Display", serif;
        padding-bottom: 4.545454545454546vw;
        padding-top: 1.3636363636363635vw;
        text-align: center;
    }

    .p-instructor__name span {
        font-size: 3.1818181818181817vw;
    }

    .p-instructor__text {
        font-size: 2.727272727272727vw;
        padding-top: 4.545454545454546vw;
        border-top: 0.22727272727272727vw solid #fff;
        line-height: 1.8;
    }

    /* ticket */
    .p-ticket {
        padding: 13.636363636363635vw 0 15.909090909090908vw 0;
    }

    .p-ticket__title {
        font-size: 3.6363636363636362vw;
    }

    .p-ticket__price {
        font-size: 14.545454545454545vw;
    }

    .p-tax {
        font-size: 3.1818181818181817vw;
    }

    .p-ticket__text {
        width: 90.9090909090909vw;
        margin: 4.545454545454546vw auto;
        font-size: 3.1818181818181817vw;
    }


    /* c-button */
    .c-button {
        width: 50vw;
    }

    .c-button__text {
        width: 50vw;
        height: 15.909090909090908vw;
        border: 0.22727272727272727vw solid #007070;
        font-size: 3.6363636363636362vw;
        padding-left: 6.8181818181818175vw;
    }

    .c-button__text::before {
        width: 5.227272727272727vw;
        height: 5.227272727272727vw;
        left: 3.4090909090909087vw;
    }

    .c-button__text:hover:before {
        width: 5.227272727272727vw;
        height: 5.227272727272727vw;
        left: 3.4090909090909087vw;
    }

    /* Utility */
    .u-line {
        width: 90.9090909090909vw;
        margin: 0 auto;
        border: 0.06944444444444445vw solid #5A4646;
    }
}