@charset "UTF-8";
/* CSS Document */

/* ----------cont_after–---------- */
.cont_after{
}
/* ----------main---------- */
.cont_after .main{
    display:flex;
    justify-content:space-between;
    margin-bottom:100px;
}
.cont_after .main .image{
    width:50%;
    overflow:hidden;
}
.cont_after .main .image img{
    object-fit:cover;
    height:100%;
    width:100%
}
.cont_after .main .detail{
    width:45%;
}
.cont_after .main .detail h2{
    font-size:1.5rem;
    margin:2em 0;
}

/* ----------959px–---------- */
@media screen and (max-width: 959px) {
    .cont_after .main{
        display:block;
        justify-content:unset;
    }
    .cont_after .main .image{
        width:100%;
        overflow:hidden;
        aspect-ratio:1 / 1;
    }
    .cont_after .main .detail{
        width:100%;
    }
}
/* ----------768px–---------- */
@media screen and (max-width: 768px) {
    .cont_after .main .detail h2{
        font-size:1.3rem;
    }
}
/* ----------519px–---------- */
@media screen and (max-width: 519px) {
    .cont_after .main .detail h2 span{
        display:block;
    }
}


/* ----------wrap_scha–---------- */
.wrap_scha{
    margin:0 calc(50% - 50vw);
    width:100vw;
    background:url("../../../../../img/after/maintenance/after_mainte_scha_image_bg.webp")center / cover;
    position:relative;
    padding:150px 0;
}
.wrap_scha:after{
    content:"";
    display:block;
    height:100%;
    width:100%;
    position:absolute;
    top:0;
    left:0;
    background:#000;
    opacity:0.5;
}

.wrap_scha .detail{
    width:90%;
    max-width:500px;
    margin:auto;
    z-index:1;
    position:relative;
    color:#fff;
}
.wrap_scha .detail h2{
    font-size:1.5rem;
    margin:2em 0;
}
.wrap_scha .detail .scha{
    margin:1em 0;
    padding:1em 1em;
    width:100%;
    font-size:1.1rem;
    font-weight:bold;
    border:1px solid #fff;
    box-sizing:border-box;
    text-align:center;
    border-radius:10px;
}
.wrap_scha .detail .scha span{
    display:block;
    font-size:95%;
    margin:0 0 0.5em 0;
}
.wrap_scha .detail .scha dd{
    display:flex;
    justify-content:space-between;
    flex-wrap:wrap;
}
.wrap_scha .detail .scha em{
    padding:0.1em 0;
    border-radius:20px;
    display:block;
    width:24%;
    box-sizing:border-box;
    margin:0 0 10px 0;
    background:#fff;
    color:#000;
}
/* ----------768px–---------- */
@media screen and (max-width: 768px) {
    .wrap_scha .detail h2{
        font-size:1.3rem;
    }
}
/* ----------519px–---------- */
@media screen and (max-width: 519px) {
    .wrap_scha .detail h2{
        text-align:center;
    }
    .wrap_scha .detail h2 span{
        display:block
    }
    .wrap_scha .detail .scha em{
        width:48%;
        margin:0 auto 10px;
    }
}


/* ----------wrap_special–---------- */
.wrap_special{
    background:#f1f1ee;
    margin:0 calc(50% - 50vw) 100px;
    padding:100px 0;
}
.wrap_special .inner{
    display:flex;
    justify-content:space-between;
    width:90%;
    max-width:1400px;
    margin:auto;
}
.wrap_special .sub_inner{
    width:48%;
    box-sizing:border-box;
}
.wrap_special .sub_inner dt{
    overflow:hidden;
}
.wrap_special .sub_inner dt img{
    object-fit:cover;
    height:100%;
    width:100%;
}
.wrap_special .sub_inner h2{
    font-size:1.3rem;
    margin:0.5em 0;
}
/* ----------768px–---------- */
@media screen and (max-width: 768px) {
    .wrap_special .inner{
        display:block;
        justify-content:unset;
    }
    .wrap_special .sub_inner{
        width:100%;
        box-sizing:border-box;
    }
    .wrap_special .sub_inner:nth-of-type(1){
        margin:0 0 50px 0;
        padding:0 0 50px 0;
        border-bottom:1px solid #b2b2ac;
    }
    .wrap_special .sub_inner h2{
        font-size:1.2rem;
    }
}



/* ----------end–---------- */
.end{
    padding:200px 0;
    background:url("../../../../../img/after/maintenance/after_mainte_end_image_bg.webp")center / cover;
    position:relative;
    border-radius:10px;
    overflow:hidden;
}
.end:after{
    content:"";
    display:block;
    height:100%;
    width:100%;
    position:absolute;
    top:0;
    left:0;
    background:#000;
    opacity:0.5;
}
.end .detail{
    z-index:1;
    position:relative;
    color:#fff;
    width:80%;
    max-width:500px;
    margin:auto;
}
.end .detail h2{
    font-size:1.5rem;
    margin-bottom:1em;
}
/* ----------768px–---------- */
@media screen and (max-width: 768px) {
    .end{
        padding:10vh 0;
    }
    .end .detail h2{
        font-size:1.3rem;
        margin-bottom:1em;
    }
}