.content_block.contact {
    position: relative;
    margin-top: calc(100vw / 24);
}

.content_block.contact header {
    margin-left: calc(0px - 100vw / 24);
}

.content-wrapper .content_block.contact ul.flexbox li:before {
    content: none
}

.content-wrapper .content_block.contact ul.flexbox li {
    text-indent: 0;
    width: calc((100% - calc(100vw / 8)) / 3);
    margin: 0;
}

.content_block.contact ul.flexbox {
    display: flex;
    gap: calc(100vw / 24);
    flex-wrap: wrap;
    padding: 0;
    margin: 0;
    /* margin: 0 calc(100vw / 24); */
}

.content_block.contact img {
    max-width: 100%;
    height: auto;
    margin-bottom: 3rem;
}

.content-wrapper .content_block.contact ul.flexbox li strong {
    color: #a98540;
}

.modules .content_block.contact .h3 {
    margin: 0 0 5rem;
}

.content_block.contact .button {
    margin-top: 0;
}

.content_block.contact .effect-wrapper {
    font-size: 11vw;
    line-height: 0.8;
    text-align: right;
    z-index: -1;
    opacity: .2;
    left: calc(100vw / 24 * 3);
    height: 100%;
}

.content_block.contact .bg-image {
    max-width: 50%;
    float: right;
    max-width: calc(100vw / 24 * 8);
    height: auto;
    padding: 0;
    background-color: #a14a2b;
    margin-bottom: 4rem;
    margin-right: calc(100vw / 24);
    background-size: cover;
}

.content_block.contact .bg-image img {
    opacity: 0;
    max-width: 100%;
    height: auto;
}

@media screen and (max-width: 1240px) {
    .content_block.contact .effect-wrapper {
        font-size: 13vw;
        letter-spacing: 0;
        overflow: hidden;
    }
}

@media screen and (max-width: 1080px) {
    .content_block.contact header {
        margin-left: 0;
    }

    .content_block.contact ul.flexbox {
        flex-direction: column;
    }

    .content-wrapper .content_block.contact ul.flexbox li {
        width: 100%;
    }

    .content_block.contact .effect-wrapper {
        display: none;
    }

    .content_block.contact {
        display: flex;
        flex-direction: column;
        align-items: stretch;
    }

    .content_block.contact .bg-image {
        order: 2;
        float: none;
        margin: 0 0 3rem;
    }

    .content_block.contact > .clearfix ~ * {
        order: 3;
    }

    .content_block.contact ul.flexbox {
        gap: 0;
    }

    .content_block.contact .bg-image {
        max-width: 100%;
    }
}