.f-promotion-banner .f-hidden-link {
    z-index: 2
}

.f-promotion-banner__wrapper {
    position: relative
}

.f-promotion-banner__background {
    position: absolute;
    inset: 0
}

.f-promotion-banner__background > div {
    height: 100%;
    position: relative
}

.f-promotion-banner__background img {
    position: absolute;
    inset: 0;
    object-fit: cover;
    width: 100%;
    height: 100%
}

.f-promotion-banner__main, .f-promotion-banner__promotion {
    position: relative;
    padding-left: 90px;
    padding-right: 90px;
    z-index: 3;
    pointer-events: none
}

.f-promotion-banner__promotion {
    order: -1
}

.f-promotion-banner__promotion:after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    width: 1px;
    height: 100%;
    background-color: rgba(var(--color-foreground), 0.2)
}

.f-promotion-banner__text {
    margin-top: 12px
}

.f-promotion-banner__button {
    margin-top: 24px;
    pointer-events: auto
}

.f-promotion-banner .f-richtext__title {
    font-size: 130px;
    line-height: 1;
    letter-spacing: 10px
}

@media screen and (max-width: 1023px) {
    .f-promotion-banner__main, .f-promotion-banner__promotion {
        position: relative;
        padding-left: 50px;
        padding-right: 50px
    }

    .f-promotion-banner .f-richtext__title {
        font-size: 100px
    }
}

@media screen and (max-width: 767px) {
    .f-promotion-banner > [class*=container] {
        padding-left: 0;
        padding-right: 0
    }

    .f-promotion-banner__wrapper {
        flex-direction: column;
        padding-left: 15px;
        padding-right: 15px
    }

    .f-promotion-banner__main, .f-promotion-banner__promotion {
        width: 100%;
        flex: 0 0 100%;
        padding-left: 20px;
        padding-right: 20px
    }

    .f-promotion-banner__main {
        text-align: center
    }

    .f-promotion-banner__promotion {
        margin-bottom: 32px;
        padding-bottom: 30px
    }

    .f-promotion-banner__promotion > * {
        text-align: center
    }

    .f-promotion-banner__promotion:after {
        top: auto;
        bottom: 0;
        transform: translateY(0);
        width: 100%;
        height: 1px
    }
}
