.end .key-visual {
    height: 100vh !important;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

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

.font-700 {
    font-weight: 700 !important;
}

.next-period {
    display: flex;
    justify-content: center;
}

.next-period-date {
    display: inline;
}

@media screen and (max-width: 767px) {
    .end .key-visual {
        background-size: cover;
    }

    .font-14 {
        font-size: 14px;
    }

    .font-16 {
        font-size: 16px;
    }

    .next-period {
        align-items: flex-start;
    }

    .next-period-label {
        flex-shrink: 0;
    }

    .next-period-date {
        text-align: left;
    }

    .next-period-break {
        display: block;
    }
}