.en{
    font-family: 'Barlow Condensed', sans-serif;
}
.contents{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width:100%;
    /* max-width:1440px; */
    max-width:1900px;
    margin:0 auto;
    font-family: 'Noto Sans JP',sans-serif;
}
.contents *{
    box-sizing: border-box;
}
.contents .black{
    background-color:#111;
}
.contents .blue{
    background-color:#2a85d2;
}
.contents .green{
    background-color:#78b92d;
}
.contents .box{
    width:50%;
    height:34vw;
}
@media screen and (max-width:1360px) {
    .contents .box{
        height:50vw;
    }
    @media screen and (max-width:767px) {
        .contents .box{
            width:100%;
            height:100vw;
            aspect-ratio: unset;
        }
    }
}
.contents .box-txt{
    display: flex;
    justify-content: center;
    align-items: center;
    padding:4em;
    color:#fff;
}
@media screen and (max-width:767px) {
    .contents .box-txt{
        padding:2.5em;
        height:auto;
    }
}
.contents.co2 .box-txt,
.contents.co4 .box-txt{
    order:1;
}

@media screen and (max-width:767px) {
    .contents .box-txt,
    .contents .box-txt{
        order:1;
    }
}
.contents .box-txt .box-inner{
    width: 100%;
    max-width:510px;
    margin:0 auto;
    text-align: left;
}
.contents .box-title{
    font-size:1.8em;
    color:#fff;
    margin-bottom: 1.5em;
    font-weight: 600;
    position: relative;
}
@media screen and (max-width:1360px) {
    .contents .box-title{
        font-size:2.3vw;
    }
    @media screen and (max-width:767px) {
        .contents .box-title{
            font-size:4.5vw;
            margin-top: -27vw;
            margin-bottom: 2.7em;
            z-index: 3;
        }
    }
}
.contents .box-title .number{
    display: inline-block;
    font-size:2.5em;
    font-family: 'Barlow Condensed', sans-serif;
    margin-right:.3em;
}
.contents .box-subtitle{
    font-size:min(1.6em,4.5vw);
    font-feature-settings: "palt";
    color:#fff;
    margin-bottom: 1em;
    line-height: 1.6;
    font-weight: 600;
    letter-spacing: .05em;
}
.contents .box-lead{
    font-size:min(1em,3.5vw);
    text-align: justify;
    color:#fff;
    line-height: 1.8;
}
.contents .box-img{
    position: relative;
    overflow: hidden;
}
@media screen and (max-width:767px) {
    .contents .box-img{
        height:100vw;
        order:0;
    }
    .contents .box-img::after{
        position: absolute;
        top:0;
        left:0;
        content: '';
        width:100%;
        height:100%;
        background: linear-gradient(0deg, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0) 30%);
    }
}
.contents .box-img .slider{
    position: absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
}
.contents .box-img figure{
    display: block;
    width:50vw;
    height:40vw;
}
@media screen and (max-width:1360px) {
    .contents .box-img figure{
        display: block;
        width:50vw;
        height:50vw;
    }
    @media screen and (max-width:767px) {
        .contents .box-img figure{
            height:100vw;
        }
    }
}
.contents .box-img img{
    width:100%;
    height:100%;
    object-fit: cover;
}
.slick-dots{
    bottom:25px;
    z-index: 10;
    text-align: right;
    padding-right:15px;
}

.slick-dots li {
    position: relative;
    display: inline-block;
    width: 15px;
    height: 15px;
    margin: 0 10px;
    padding: 0;
    cursor: pointer;
}

.slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 15px;
    height: 15px;
    padding: 0;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
    
}
.slick-dots li button:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 15px;
    height: 15px;
    margin:0;
    padding:0;
    content: '';
    text-align: center;
    opacity: .5;
    background-color: #000;
    border-radius: 50%;
}

.slick-dots li.slick-active button:before {
    opacity: 1;
    color: black;
}
@media screen and (max-width:767px){
    .slick-dots{
        bottom:10px;
        padding-right:10px;
    }
    .slick-dots li {
        margin: 0 5px;
    }
    .slick-dots li button:before {
        width: 10px;
        height: 10px;
    }
}