/* TOPここから */
.christmas {
    background: url(../img/bg_christmas_pc.png) repeat-y center top / contain;
}

.christmas .mainHdr-bnr.campaign {
    bottom: -186px;
    z-index: 10;
}

.christmas .mainHdr-bnr.campaign {
    width: 926px;
}

.christmas .mainHdr-bnr.campaign .bnr-ctr .freeTrial-bnr {
    box-shadow: 15px 15px 0 0 rgba(0, 0, 0, .1);
    width: 453px;
}

.bnr-ctr {
    width: 926px;
}

.mainHdr {
    margin: 0 auto calc(65px + 2.5rem);
}

.christmas .mainHdr-bnr {
    bottom: -48px;
    left: 50%;
    position: absolute;
    transform: translateX(-50%);
}

.intro.sectionCtr {
    background: radial-gradient(circle, #056e60 70%, transparent 70.03%) no-repeat 50% 0% / 6616px 6616px;
    content: "";
    margin-bottom: 0;
    padding: 26rem 0 10rem;
    position: relative;
}

.intro.sectionCtr::before,
.intro.sectionCtr::after {
    content: "";
    position: absolute;
    top: 55px;
    width: 125px;
}

.intro.sectionCtr::before {
    background: url(../img/christmas_item1_pc.png) no-repeat right bottom / auto;
    height: 210px;
    left: 20px;
}

.intro.sectionCtr::after {
    background: url(../img/christmas_item2_pc.png) no-repeat right bottom / auto;
    height: 243px;
    right: 20px;
}

.intro .sectionCtr-hdr {
    background: url(../img/deco_chars-christmas_pc.png) no-repeat right bottom / auto;
    color: #fff;
    margin: 0 auto 11rem;
    width: 74%;
}

.worriesList::before {
    background: url(../img/deco_worries_christmas_pc.png) no-repeat 0 0 / auto;
    height: 143px;
    width: 126px;
}

.freeTrial.sectionCtr {
    background-color: unset;
    padding-bottom: 4rem;
}

.reason-why.sectionCtr {
    background-color: #fff;
}

.price.sectionCtr {
    background-color: unset;
}

.christmas .price .sectionTtl {
    color: #fff;
    text-shadow: 1px 1px 0 #000, -1px -1px 0 #000,
        -1px 1px 0 #000, 1px -1px 0 #000,
        0px 1px 0 #000, 0 -1px 0 #000,
        -1px 0 0 #000, 1px 0 0 #000;
}

.priceTbl {
    border-collapse: separate;
    border-spacing: 2px;
}

.priceTbl th,
.priceTbl td {
    border: 2px solid transparent;
}

.priceTbl-hdr.basic::after {
    content: unset;
}

.priceTbl::before {
    background: url(../img/deco_priceTbl-hayashi_christmas_pc.png) no-repeat 0 0 / contain;
    width: 280px;
}

.christmas .price.sectionCtr+.freeTrial.sectionCtr {
    background: url(../img/bg_christmas_green_pc.png) repeat-y center top / contain;
}

.price.sectionCtr+.freeTrial.sectionCtr {
    background: url(../img/bg_christmas_pc.png) repeat-y center top / contain;
}

.priceTbl-under-txt {
    color: #fff;
}

.toPrice-a {
    color: #fff;
}

.movies.sectionCtr {
    background-color: #fff;
}

.globalFtr .freeTrial-bnr {
    margin-bottom: 4.2rem;
}

/* TOP ここまで */

.basic .courseFee-Ttl::after {
    content: unset;
}

/* 入会 ここから */
.christmas-application .price.sectionCtr {
    background: url(../img/bg_winter_pc.png) no-repeat center top / contain;
    padding-bottom: 0;
}

.christmas-application .price.sectionCtr .sectionTtl {
    margin: auto;
    width: 764px;
}

.christmas-plan {
    margin-top: 8.5rem;
    margin-bottom: 0;
}

.christmas-plan .admissionFee-ttl {
    background-color: unset;
    padding: 0;
}

.courseFee-box {
    background: radial-gradient(circle, #04724d 70%, transparent 70.03%) no-repeat 50% 0% / 6290px 6290px;
    margin-top: -1rem;
    padding: 7rem 0 9.3rem;
    position: relative;
}

.courseFee-box::before,
.courseFee-box::after {
    content: "";
    position: absolute;
}

.courseFee-box::before {
    background: url(../img/deco_application_worries_christmas_pc.png) no-repeat center top / contain;
    height: 305px;
    left: 10px;
    top: -150px;
    width: 206px;
}

.courseFee-box::after {
    background: url(../img/deco_application_chars-christmas_pc.png) no-repeat center top / contain;
    height: 318px;
    right: 10px;
    top: -160px;
    width: 217px;
}

.admissionFee-catch {
    border-bottom: 2px solid #fff;
    color: #fff;
    font-size: 2.5rem;
    font-weight: 600;
    margin: auto;
    line-height: 1.25;
    position: relative;
    text-align: center;
    width: fit-content;
}

.admissionFee-catch::before,
.admissionFee-catch::after {
    border-bottom: 0;
    bottom: 0;
    content: "";
    left: 50%;
    position: absolute;
    transform: translate(-50%, 100%);
}

.admissionFee-catch::before {
    border-left: 9px solid transparent;
    border-top: 12px solid #fff;
    border-right: 9px solid transparent;
}

.admissionFee-catch::after {
    border-left: 6px solid transparent;
    border-top: 8px solid #04724d;
    border-right: 6px solid transparent;
}

.catch-number {
    font-size: 4.6rem;
    font-weight: bold;
    margin: 0 .25rem;
    position: relative;
}

.catch-number::after {
    background: url(../img/christmas_btn_decoration.png) no-repeat center top / contain;
    content: "";
    height: 13px;
    position: absolute;
    top: 12px;
    width: 14px;
}

.plan-list {
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin: 10rem auto 0;
    width: 660px;
}

.plan-list-item {
    background-color: #fff;
    border-radius: 30px;
    display: block;
    height: 470px;
    margin: 0;
    padding: 4.6rem 2.7rem 2.1rem;
    position: relative;
    text-align: center;
}

.plan-list-item.basic {
    width: 333px;
}

.plan-list-item.master {
    width: 303px;
}

.first-time {
    align-items: start;
    color: #ffe500;
    display: flex;
    font-size: 2.2rem;
    font-weight: 500;
    gap: .2em;
    left: 50%;
    letter-spacing: .05em;
    line-height: 1;
    margin: 0 auto;
    position: absolute;
    text-align: center;
    top: -1.5rem;
    transform: translate(-50%, -100%);
    white-space: nowrap;
}

.first-time::before,
.first-time::after {
    background-color: #ffe500;
    border-radius: 5px;
    content: "";
    display: block;
    height: 26px;
    transform-origin: 0 100%;
    width: 3px;
}

.first-time::before {
    transform: rotate(-16deg);
}

.first-time::after {
    transform: rotate(16deg);
}

.plan-list-item-ttl {
    color: #04724d;
    font-size: 3.2rem;
}

.plan-list-item-txt {
    color: #04724d;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.5;
    margin-top: 1.9rem;
}

.plan-list-item-fee {
    align-items: baseline;
    border-bottom: 2px solid #04724d;
    border-top: 2px solid #04724d;
    color: #04724d;
    display: flex;
    font-size: 2rem;
    font-weight: bold;
    gap: .5rem;
    justify-content: center;
    letter-spacing: .02em;
    margin-top: 2.2rem;
    padding: 1.5rem 0;
}

.fee-num {
    font-size: 3.2rem;
}

.fee-tax {
    font-size: 1.2rem;
}

.joining-box {
    margin: 4.2rem auto 0;
}

.courseSupport+.joining-box {
    margin-bottom: 3rem;
}

.with-arrow {
    align-items: center;
    display: flex;
    gap: 10px;
    justify-content: center;
    text-align: center;
}

.joining-btn {
    --arrow-col: #d20d1e;
    --arrow-border-col: #fff;
    background-color: var(--arrow-col);
    border-radius: 10px;
    color: #fff;
    font-size: 1.7rem;
    font-weight: 500;
    height: 48px;
    margin: auto;
    width: 200px;
}

.joining-txt {
    display: block;
    font-size: 1rem;
    font-weight: bold;
    letter-spacing: .02em;
    margin: .5rem auto 0;
    text-align: center;
}

.plan-btn {
    --arrow-col: #04724d;
    --arrow-border-col: var(--arrow-col);
    color: var(--arrow-col);
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: .02em;
    margin: 2.3rem auto 0;
    width: fit-content;
}

.with-arrow::after {
    background: url(../img/deco_christmas_arrow_pc.svg) no-repeat center / cover var(--arrow-col);
    border: 1px solid var(--arrow-border-col);
    border-radius: 50%;
    content: "";
    display: block;
    height: 26px;
    width: 26px;
}

.christmas-application .courseFee {
    background-color: #fffcdd;
    padding: 13.6rem 0 10.1rem;
}

.courseFee-List {
    max-width: 930px;
}

.courseFee-List-item {
    border-radius: 10px;
}

.christmas-application .courseFee-Ttl {
    border-radius: 10px 10px 0 0;
}

.christmas-application .basic .courseFee-Ttl::before {
    background: url(../img/deco_santa_img_pc.png) no-repeat 0 0 / contain;
    height: 91px;
    left: -35px;
    top: -57px;
    width: 93px;
}

.remarksList-item.completion {
    font-size: 1.5rem;
    font-weight: 500;
    padding-left: 0;
}

.remarksList-item.completion::before {
    content: unset;
}

/* 入会ここまで */

/* bannerクリスマス仕様 */
.bnr-ctr .bnr-christmas {
    width: 750px;
}

.globalFtr-hdr+.bnr-ctr {
    width: 750px;
}

/* 特定商取引 */
.cnt-txt.completion {
    font-size: 21px;
    font-weight: 600;
    margin: 1em 0 .25em;
}

.cnt-txt {
    font-size: 20px;
}