

    section.image-and-text .title{
        font-family: 'Open Sans', sans-serif;
        font-weight: 400;
        font-size: .16rem;
        line-height: .86;
        letter-spacing: -0.04em;
        color: var(--dark-gray);
    }
@media screen and (max-width: 768px) and (orientation: portrait) {
        section.image-and-text .title{
            font-size: .12rem;
    }
        }
section.image-and-text .text{
        font-family: 'Open Sans', sans-serif;
        font-weight: 700;
        font-size: .2rem;
        line-height: .26rem;
        letter-spacing: -0.05em;
    }
@media screen and (max-width: 768px) and (orientation: portrait) {
        section.image-and-text .text{
            font-size: .14rem;
            line-height: .18rem;
    }
        }
section.image-and-text .caption{
        margin-top: .12rem;
        text-align: center;
    }
@media screen and (max-width: 768px) and (orientation: portrait) {
        section.image-and-text .caption{
            margin-top: .08rem;
    }
        }
section.image-and-text.style_1 .container-1{
            display: flex;
            flex-direction: column;
            gap: .3rem;
        }
@media screen and (max-width: 768px) and (orientation: portrait) {
        section.image-and-text.style_1 .container-1{
                gap: .1rem;
        }
            }
.reverse:is(section.image-and-text.style_1 .container-1){
                flex-direction: column-reverse;
            }
@media screen and (max-width: 768px) and (orientation: portrait) {
        .reverse:is(section.image-and-text.style_1 .container-1){
                    gap: .1rem;
            }
                }
section.image-and-text.style_1 .image-and-caption-wrapper{
            width: 100%;
        }
:is(section.image-and-text.style_1 .image-and-caption-wrapper) .image-wrapper{
                width: 100%;
                height: 7.18rem;
                text-align: center;
                line-height: 0;
            }
@media screen and (max-width: 768px) and (orientation: portrait) {
        :is(section.image-and-text.style_1 .image-and-caption-wrapper) .image-wrapper{
                    height: auto;
            }
                }
:is(:is(section.image-and-text.style_1 .image-and-caption-wrapper) .image-wrapper) img{
                    width: 100%;
                    height: 100%;
                    object-fit: cover;
                    object-position: center;
                }
section.image-and-text.style_1 .text-wrapper{
            max-width: 6.3rem;
        }
@media screen and (max-width: 768px) and (orientation: portrait) {
        section.image-and-text.style_1 .text-wrapper{
                max-width: 100%;
                padding-right: .32rem;
        }
            }
section.image-and-text.style_1 .title + .text{
            margin-top: .06rem;
        }
@media screen and (max-width: 768px) and (orientation: portrait) {
        section.image-and-text.style_1 .title + .text{
                margin-top: .08rem;
        }
            }
section.image-and-text.style_1 .text{
            font-family: 'Open Sans', sans-serif;
            font-weight: 700;
            font-size: .24rem;
            line-height: .3rem;
            letter-spacing: -0.03em;
        }
@media screen and (max-width: 768px) and (orientation: portrait) {
        section.image-and-text.style_1 .text{
                font-size: .18rem;
                line-height: .22rem;
        }
            }
section.image-and-text.style_2 .container-2{
            display: flex;
            gap: .2rem;
        }
@media screen and (max-width: 768px) and (orientation: portrait) {
        section.image-and-text.style_2 .container-2{
                gap: .1rem;
                flex-direction: column;
        }
            }
.reverse:is(section.image-and-text.style_2 .container-2){
                flex-direction: row-reverse;
            }
@media screen and (max-width: 768px) and (orientation: portrait) {
        .reverse:is(section.image-and-text.style_2 .container-2){
                    flex-direction: column-reverse;
                    gap: .1rem;
            }
                }
section.image-and-text.style_2 .image-and-caption-wrapper{
            width: 7.37rem;
            flex-shrink: 0;
        }
@media screen and (max-width: 768px) and (orientation: portrait) {
        section.image-and-text.style_2 .image-and-caption-wrapper{
                width: 100%;
        }
            }
:is(section.image-and-text.style_2 .image-and-caption-wrapper) .image-wrapper{
                width: 100%;
                height: 4.14rem;
                text-align: center;
                line-height: 0;
            }
@media screen and (max-width: 768px) and (orientation: portrait) {
        :is(section.image-and-text.style_2 .image-and-caption-wrapper) .image-wrapper{
                    height: auto;
            }
                }
:is(:is(section.image-and-text.style_2 .image-and-caption-wrapper) .image-wrapper) img{
                    width: 100%;
                    height: 100%;
                    object-fit: cover;
                    object-position: center;
                }
section.image-and-text.style_2 .text-wrapper{
            flex-grow: 1;
        }
section.image-and-text.style_2 .title + .text{
            margin-top: .1rem;
        }
@media screen and (max-width: 768px) and (orientation: portrait) {
        section.image-and-text.style_2 .title + .text{
                margin-top: .08rem;
        }
            }
section.image-and-text.style_2 .text{
            font-family: 'Open Sans', sans-serif;
            font-weight: 700;
            font-size: .2rem;
            line-height: .26rem;
            letter-spacing: -0.01em;
        }
section.image-and-text.style_3 .container-3{
            display: flex;
            gap: .6rem;
            max-width: 9.88rem;
        }
@media screen and (max-width: 768px) and (orientation: portrait) {
        section.image-and-text.style_3 .container-3{
                max-width: 100%;
                gap: .1rem;
                flex-direction: column;
        }
            }
.reverse:is(section.image-and-text.style_3 .container-3){
                flex-direction: row-reverse;
            }
@media screen and (max-width: 768px) and (orientation: portrait) {
        .reverse:is(section.image-and-text.style_3 .container-3){
                    flex-direction: column-reverse;
                    gap: .1rem;
            }
                }
section.image-and-text.style_3 .image-and-caption-wrapper{
            width: 5.22rem;
            flex-shrink: 0;
        }
@media screen and (max-width: 768px) and (orientation: portrait) {
        section.image-and-text.style_3 .image-and-caption-wrapper{
                width: 100%;
        }
            }
:is(section.image-and-text.style_3 .image-and-caption-wrapper) .image-wrapper{
                width: 100%;
                height: 4.55rem;
                text-align: center;
                line-height: 0;
            }
@media screen and (max-width: 768px) and (orientation: portrait) {
        :is(section.image-and-text.style_3 .image-and-caption-wrapper) .image-wrapper{
                    height: auto;
            }
                }
:is(:is(section.image-and-text.style_3 .image-and-caption-wrapper) .image-wrapper) img{
                    width: 100%;
                    height: 100%;
                    object-fit: cover;
                    object-position: center;
                }
:is(section.image-and-text.style_3 .image-and-caption-wrapper) .caption{
                padding: 0 .54rem;
            }
@media screen and (max-width: 768px) and (orientation: portrait) {
        :is(section.image-and-text.style_3 .image-and-caption-wrapper) .caption{
                    padding: 0 .32rem;
            }
                }
section.image-and-text.style_3 .text-wrapper{
            flex-grow: 1;
        }
section.image-and-text.style_3 .title + .text{
            margin-top: .1rem;
        }
@media screen and (max-width: 768px) and (orientation: portrait) {
        section.image-and-text.style_3 .title + .text{
                margin-top: .08rem;
        }
            }
section.image-and-text.style_3 .text{
            font-family: 'Open Sans', sans-serif;
            font-weight: 700;
            font-size: .3rem;
            line-height: .36rem;
            letter-spacing: -0.05em;
        }
@media screen and (max-width: 768px) and (orientation: portrait) {
        section.image-and-text.style_3 .text{
                font-size: .22rem;
                line-height: .26rem;
        }
            }
section.image-and-text.style_4 .container-4{
            display: flex;
            gap: .2rem;
        }
.reverse:is(section.image-and-text.style_4 .container-4){
                flex-direction: row-reverse;
            }
@media screen and (max-width: 768px) and (orientation: portrait) {
        .reverse:is(section.image-and-text.style_4 .container-4){
                    flex-direction: column-reverse;
                    gap: .1rem;
            }
                }
@media screen and (max-width: 768px) and (orientation: portrait) {
        section.image-and-text.style_4 .container-4{
                flex-direction: column;
                gap: .1rem;
        }
            }
section.image-and-text.style_4 .text-wrapper{
            flex-grow: 1;
        }
section.image-and-text.style_4 .title + .text{
            margin-top: .1rem;
        }
@media screen and (max-width: 768px) and (orientation: portrait) {
        section.image-and-text.style_4 .title + .text{
                margin-top: .08rem;
        }
            }
section.image-and-text.style_4 .image-and-caption-wrapper{
            flex-shrink: 0;
            width: 4.14rem;
        }
@media screen and (max-width: 768px) and (orientation: portrait) {
        section.image-and-text.style_4 .image-and-caption-wrapper{
                width: 100%;
        }
            }
:is(section.image-and-text.style_4 .image-and-caption-wrapper) .image-wrapper{
                width: 100%;
                height: 7.48rem;
                text-align: center;
                line-height: 0;
            }
@media screen and (max-width: 768px) and (orientation: portrait) {
        :is(section.image-and-text.style_4 .image-and-caption-wrapper) .image-wrapper{
                    height: auto;
            }
                }
:is(:is(section.image-and-text.style_4 .image-and-caption-wrapper) .image-wrapper) img{
                    width: 100%;
                    height: 100%;
                    object-fit: cover;
                    object-position: center;
                }