@charset "utf-8";
/* CSS Document */
html{
    scroll-behavior: smooth;
}
body{
    font-feature-settings: "palt";
}
h2{
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 800;
}
h3{
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
}
h4 , h4 span{
    font-size: 2.0rem;
    color: #E60012;
    margin: 16px auto 8px auto;
}
p,li{
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    font-size: 2.0rem;
}
p{
    margin-bottom: 0;
}

ul li{
    list-style: none;
}
ul{
    padding: 0;
}

section{
    margin-bottom: 0;
}
.btn{
    border: none;
}
#btn01{
    background: #1DB68A;
    border: none;
}
#btn01:hover{
    color: #1DB68A;
    border: 1px solid #1DB68A;
    background: #fff;
}
#btn02{
    background: #E60012;
    border: none;
}
#btn02:hover{
    color: #E60012;
    border: 1px solid #E60012;
    background: #fff;
}

footer .inner .ta-c{
    margin-bottom: 16px;
}
footer .inner p{
    line-height: 2.8rem;
}
footer .inner .ta-c br{
    margin-bottom: 0;
}
.banner{
    margin-top: 24px;
}
.btn , .copyright{
    background: #E60012;
}
.btn:hover{
    color: #E60012;
    border: 1px solid #E60012;
}
span{
    color: #E60012;
}
#eye_catcher{
    display: none!important;
    width: 0!important;
    height: 0!important;
}

/* PC
------------------------------------------------------------*/
@media (min-width: 769px) {
    .sp{
        display: none;
    }
    /*メインビジュアルの調整*/
    .outsourcing-mv , .outsourcing-mv .inner , .dis-pc img{
        width: 100%;
    }
    .inner{
        padding: 0;
    }
    .sp{
        display: none;
    }

    /*.outsourcing-facilities-main*/
    .outsourcing-facilities-main{
        margin: 0 auto 80px auto;
    }

    /*.link-button*/
    .link-button{
        width: 360px;
        height: 60px;
        margin: 0 auto;
        background: #E60012;
        box-shadow: 0px 5px 0px 0px rgba(173,0,16,1);
        text-align: center;
        line-height: 60px;
        border-radius: 30px;
    }
    .link-button a{
        font-weight: 900;
        font-size: 2.0rem;
        color: #fff;
        text-decoration: none;
        display: block;
    }
    .link-button:hover{
        box-shadow: none;
        background: rgba(173,0,16,1);
        position: relative;
        top: 4px;
    }
    .casa-contents{
        background: #FFF3F3;
    }

    /*outsourcing-mv*/
    .outsourcing-mv{
        height: 60%;
        min-height: 480px;
    }
    .outsourcing-mv{
        z-index: 0;
        position: relative;
    }
    .img-c{
        height: 100%;
        background-size: cover;
    }
    .img-c img{
        height: 100%;
        object-fit: cover;
    }
    .outsourcing-mv .mv-detail{
        width: 60%;
        max-width: 800px;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        z-index: 2;
    }
    .outsourcing-mv .mv-detail h2{
        width: 100%;
        margin: auto;
    }
    
    .mv-cta{
        width: 80%;
        max-width: 800px;
        background: #fff;
        padding: 28px 40px;
        margin: 20px auto 32px auto;
        box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.16);
        border-radius: 8px;
        
    }
    .mv-cta p{
        font-size: 2.8rem;
        font-weight: 800;
        text-align: center;
        margin-bottom: 16px;
    }
    .mv-cta .link-button{
        width: 80%;
        height: 60px;
        line-height: 60px;
        border-radius: 30px;
        font-size: 2.4rem;
    }
    /*.outsourcing-risk-main*/
    .outsourcing-risk-main{
        
    }

    /*.outsourcing-group*/
    .group01 , .group03{
        width: calc( 100% - 80px );
        max-width: 1200px;
        margin: 40px auto 0 auto;
    }
    .outsourcing-group:first-child{
        margin-top: 0;
    }
    .outsourcing-group h2{
        font-size: 4.0rem;
        text-align: center;
    }
    .outsourcing-graph li h2{
        font-size: 2.8rem;
        color: #E60012;
    }

    /*.content-text*/
    .content-text{
        margin: 0 auto;
    }
    .content-text p{
        margin-top: 24px;
    }
    .content-text p:first-child{
        margin-top: 0;
    }
    /*.outsourcing-group group*/
    /*group01*/
    .group01{

    }
    .group01 .content-text{
        width: 80%;

    }
    .group01 .content-text p{
        text-align: center;
    }
    .content-text-c{
        font-size: 3.2rem;
        color: #E60012;
    }
    .outsourcing-graph{
        display: flex;
        justify-content: space-between;
        margin: 80px auto;
    }
    .outsourcing-graph li{
        background: #FFF3F3;
        width: 48%;
        padding: 32px 32px;
        border-radius: 8px;
    }
    .outsourcing-graph li p{
        margin: 16px auto;
    }
    .outsourcing-graph li .graph-comment{
        font-size: 1.4rem;
        margin-top: 16px;
    }
    .outsourcing-graph li .graph-comment a{
        color: #E60012;
    }

    /*group02*/
    .group02{
        width: 100%;
        background: #FFF3F3;
        padding: 40px 0;
        margin-top: 80px;
    }
    .group02 h2 , .group02 ul{
        width: calc( 100% - 80px);
        max-width: 1200px;
        margin: auto;
    }
    .group02 ul{
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }
    .group02 ul li{
        width: 48%;
        background: #fff;
        margin: 0 auto;
        padding: 40px;
        border-radius: 8px;
    }
    .group02 ul li:first-child{
        width: 100%;
    }
    .group02 ul li:first-child{
        display: block;
        background: none;
        padding: 0;
        margin: 32px auto;
    }
    .group02 ul li div{
        width: 100%;
    }
    .group02 ul li div h3{
        font-size: 2.8rem;
        font-weight: 800;
        color: #E60012;
        text-align: center;
    }
    .group02 ul li img{
        width: 60%;
        height: 240px;
        margin: 32px auto 0 auto;
        object-fit: contain;
    }

    /*group03*/
    .group03{
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }
    .group03 h2{
        width: 100%;
        margin-bottom: 20px;
    }
    .group03 .content-text{
        width: 66%;
    }
    .group03 img{
        width: 32%;
    }
    .outsourcing-cta{
        width: calc( 100% - 80px );
        max-width: 1200px;
        margin: 80px auto;
        text-align: center;
        box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.16);
        padding: 32px;
    }
    .outsourcing-cta p{
        font-size: 3.2rem;
        margin-bottom: 16px;
        font-weight: 800;
    }
    .outsourcing-cta .link-button{
        width: 640px;
        height: 80px;
        line-height: 80px;
        border-radius: 80px;
    }
    .outsourcing-cta .link-button a{
        font-size: 2.8rem;
    }
    .points-detail{
        width: calc( 100% - 80px );
        max-width: 1200px;
        margin: 0 auto;
    }
    .outsourcing-points h2{
        font-size: 4.0rem;
        text-align: center;
    }
    .casa-contents ul li div h3 , .flow-contents h2 ,.flow-contents ul li div .flow-title{
        color: #E60012;
    }
    .flow-contents h2{
        font-size: 4.0rem;
    }
    .flow-cta{
        background: #FFF3F3;
    }
    .flow-cta p{
        font-size: 4.0rem;
    }
    .cost-button{
        background: #158263;
        box-shadow: 0px 5px 0px 0px rgba(15,90,69,1);
    }
    .cost-button:hover{
        background: rgba(15,90,69,1);
    }
    footer{
        padding-top: 30px;
    }
    .points-group h4{
        color: #E60012;
        height: auto;
    }
    .flow-contents h2{
        margin-top: 80px;
    }
}




/* Tablet and SP
------------------------------------------------------------*/
@media (max-width: 768px) {
    .sp{
        display: block;
    }
    .link-button{
        background: #E60012;
        box-shadow: 0px 5px 0px 0px rgba(173,0,16,1);
    }
    /*header*/
    .header_link{
        width: 64%;
        max-width: 380px;
        display: flex;
        justify-content: space-between;
    }
    header h1{
        width: max(10%, 120px);
    }
    header .btn{
        padding: 10px 20px;
        text-align: center;
    }
    .header_link a{
        font-size: 1.2rem;
        display: block;
    }
    #btn01{
        width: 42%;
        border: 0px;
    }
    #btn02{
        width: 56%;
        border: 0px;
        margin-left: 8px;
    }
    .outsourcing-mv{
        width: 100%;
        height: auto;
        margin: 0 auto;
        position: relative;
    }
    .outsourcing-mv .inner{
        padding: 0;
        position: relative;
    }
    .outsourcing-mv .inner .img-c img{
        width: 100%;
        height: auto;
        object-fit: contain;
    }
    .outsourcing-mv .mv-detail{
        width: 90%;
        height: auto;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        z-index: 2;
    }
    .outsourcing-mv .mv-detail h2{
        margin: auto;
    }
    .mv-cta{
        width: 90%;
        background: #fff;
        padding: 32px 24px;
        margin: 24px auto 0 auto;
        box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.16);
        border-radius: 8px;
    }
    .mv-cta p{
        font-size: 2.0rem;
        font-weight: 800;
        text-align: center;
        margin-bottom: 16px;
    }
    .mv-cta .link-button{
        width: 100%;
        height: 60px;
        line-height: 60px;
        border-radius: 30px;
        font-size: 2.4rem;
    }
    /*.outsourcing-risk-main*/
    .outsourcing-risk-main{
        margin-top: 60px;
    }
    /*.outsourcing-group*/
    .group01 , .group03{
        width: 90%;
        margin: 80px auto 0 auto;
    }
    .outsourcing-group:first-child{
        margin-top: 0;
    }
    .outsourcing-group h2{
        font-size: 3.2rem;
        text-align: center;
    }
    .outsourcing-graph h2{
        color: #E60012;
    }
    /*.content-text*/
    .content-text{
        margin: 0 auto;
    }
    .content-text p{
        margin-top: 24px;
    }
    .content-text p:first-child{
        margin-top: 0;
    }
    /*.outsourcing-group group*/
    /*group01*/
    .group01{

    }
    .group01 .content-text p{
        text-align: center;
    }
    .content-text-c{
        font-size: 2.4rem;
        color: #E60012;
    }
    .outsourcing-graph{
        margin: 40px auto;
    }
    .outsourcing-graph li:first-child{
        margin-bottom: 24px;
    }
    .outsourcing-graph li{
        background: #FFF3F3;
        padding: 32px;
        border-radius: 8px;
    }
    .outsourcing-graph li p{
        margin: 16px auto;
    }
    .outsourcing-graph li .graph-comment{
        font-size: 1.4rem;
        margin-top: 16px;
    }
    .outsourcing-graph li .graph-comment a{
        color: #E60012;
    }
    /*group02*/
    .group02{
        width: 100%;
        background: #FFF3F3;
        padding: 40px 0;
        margin-top: 32px;
    }
    .group02 h2 , .group02 ul{
        width: 90%;
        margin: auto;
    }
    .group02 ul li{
        background: #fff;
        margin: 32px auto;
        padding: 24px;
        border-radius: 8px;
    }
    .group02 ul li:first-child{
        display: block;
        background: none;
        padding: 0;
    }
    .group02 ul li div h3{
        font-size: 2.4rem;
        color: #E60012;
    }
    .group02 ul li img{
        width: 80%;
        margin: 16px auto 0 auto;
    }
    .group03 h2{
        width: 100%;
    }
    .outsourcing-points{
        width: 90%;
        margin: 80px auto 0 auto;
    }
    .outsourcing-points h4{
        color: #E60012;
    }
    .outsourcing-cta{
        width: 90%;
        margin: 80px auto;
        text-align: center;
        box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.16);
        padding: 40px;
    }
    .outsourcing-cta p{
        font-size: 2.4rem;
        margin-bottom: 16px;
        font-weight: 800;
    }
    .outsourcing-cta .link-button{
        width: 100%;
        height: 60px;
        line-height: 60px;
    }
    .points-detail{
        margin: 0 auto;
    }
    .outsourcing-points h2{
        font-size: 3.2rem;
        text-align: center;
    }
    .casa-contents ul li div h3 , .flow-contents h2 ,.flow-contents ul li div .flow-title{
        color: #E60012;
    }
    .flow-contents h2{
        font-size: 3.2rem;
    }
    .flow-cta{
        background: #FFF3F3;
    }
    .flow-cta p{
        font-size: 3.2rem;
    }
    .cost-button{
        background: #158263;
        box-shadow: 0px 5px 0px 0px rgba(15,90,69,1);
    }
    .cost-button:hover{
        background: rgba(15,90,69,1);
    }
    .casa-contents{
        background: #FFF3F3;
    }
    .casa-contents h2{
        margin: 16px auto 0 auto;
        text-align: center;
    }
}
