@charset "UTF-8";

.column {
    background:#E5EDF6;
    padding:85px 0;
    margin-top:100px;
    position:relative;
    container-type: inline-size;
}
.column + .column {
    margin-top:155px;
}
.column::before {
    font-size:110px;
    font-weight:bold;
    color:#E5EDF6;
    position:absolute;
    right:6vw;
    top:-156px;
}
.column-social::before {
    content:'SOCIAL';
}
.column-env::before {
    content:'ENVIRONMENT';
}

:is(.column, .column-gov) h3 {
    font-size:30px;
    border-left:solid 5px #004EA2;
    line-height:1;
    display:flex;
    align-items: flex-start;
    justify-content: flex-start;
    flex-direction: column;
    gap:10px;
    letter-spacing: 0.2em;
    padding-left:20px;
    margin-bottom:20px;
}
:is(.column, .column-gov) h3 small {
    font-size:0.5em;
    color:#595757;
    letter-spacing: 0;
}
:is(.column, .column-gov) h3 + :is(dic, p) {
    margin-top:auto;
}
.column h4 {
    font-size:36px;
    font-weight:600;
    line-height:1.8;
    color:#004EA2;
    letter-spacing:0.1em;
}
.column .right-image-contents {
    display:flex;
    justify-content: space-between;
    gap:5cqw;
    margin-right:-6vw;
    width: calc(100% + 6vw);
}
.column .right-image-contents > div:first-of-type {
    flex:3;
    display:flex;
    justify-content: space-between;
    flex-direction: column;
}
.column .right-image-contents > div:last-of-type {
    flex:2.5;
}

.column-gov {
    display:flex;
    justify-content: space-between;
    color:#595757;
    container-type: inline-size;
    margin:113px 0;
}
.column-gov > div:first-of-type {
    flex:2.5;
}
.column-gov > div:last-of-type {
    flex:3;
    border:solid 3px #595757;
    border-left:none;
    padding:4cqw;
    display:flex;
    justify-content: space-between;
    flex-direction: column;
}
.column-gov h3 {
    border-left:solid 5px #595757;
}



@media screen and (max-width: 1198.98px) {

}

@media screen and (max-width: 599.98px) {
    .column {
        padding:55px 0 0 0;
        margin-top:0;
    }
    .column + .column {
        margin-top:80px;
    }
    .column::before {
        font-size:46px;
        top:-66px;
        right:0;
    }
    .column .right-image-contents {
        flex-direction: column;
        margin-right:0;
        width: 100%;
        gap:60px;
    }
    .column .image-wrapper {
        width: calc(100% + 12vw);
        margin-left:-6vw;
    }

    :is(.column, .column-gov) h3 {
        margin-bottom:60px;
        letter-spacing: 0;
        padding-left:16px;
    }
    .column h4 {
        font-size:24px;
        line-height:1.4;
    }

    .column-gov {
        flex-direction: column;
        margin:55px 0;
    }
    .column-gov > div:last-of-type {
        border:solid 3px #595757;
        border-top:none;
        padding-top:10cqw;
    }
}

@container ( width < 500px ){

}