@charset "utf-8";



/* 事業案内
-------------------------------*/

.biz_in{
    width: 90%;
    max-width: 1150px;
    margin: 0 auto 120px;
}
.biz_cate{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin-bottom: 35px;
}
.biz_cate .num{
    margin-right: 25px;
}
.biz_cate .num img{
    vertical-align: middle;
}
.biz_cate p{
    font-size: 35px;
    line-height: 1.2em;
    letter-spacing: 0.2em;
    color: #0039a2;
}
.biz_bnr{
    width: 100%;
    max-width: 1070px;
    margin-left: auto;
    display: flex;
    flex-flow: row-reverse;
    justify-content: space-between;
    align-items: center;
}

.biz_bnr .txt{
    width: 48%;
}

.biz_bnr .img{
    width: 42%;
}

.biz_bnr .txt .btn{
    margin-top: 50px;
}

.biz_foot_img{
    width: 100%;
    height: 300px;
    overflow: hidden;
    position: relative;
    /*
    background: url(../img/business/biz_footer_bg.jpg) center center no-repeat;
    background-size: cover;
    */
}

.biz_foot_img video{
    position: absolute;
    top: 70%;
    left: 50%;
    -webkit-transform: translate(-50%, -70%);
    -ms-transform: translate(-50%, -70%);
    transform: translate(-50%, -70%);
    width: 100%;
    height: auto;
}
@media only screen and (max-width:1000px) {
    .biz_cate{
        margin-bottom: 20px;
    }
    .biz_cate .num{
        margin-right: 10px;
    }
    .biz_cate .num img{
        width: auto;
        max-width: none;
        height: 38px;
    }
    .biz_cate p{
        font-size: 30px;
        line-height: 1.2em;
    }
    .biz_bnr .txt .btn{
        margin-top: 20px;
    }
    .biz_bnr .img{
        width: 48%;
    }

    .biz_foot_img video{
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        width: auto;
        height: 140%;
    }


}
@media only screen and (max-width:640px) {
    .biz_in{
        margin-bottom: 60px;
    }

    .biz_cate .num img{
        width: auto;
        max-width: none;
        height: 30px;
    }
    .biz_cate p{
        font-size: 24px;
        line-height: 1.2em;
        letter-spacing: 0.1em;
    }


    .biz_bnr{
        display: block;
    }

    .biz_bnr .txt{
        width: 100%;
    }

    .biz_bnr .img{
        width: 100%;
        text-align: center;
        margin-top: 20px;
    }
}
@media only screen and (max-width:420px) {
    .biz_foot_img{
        height: 40vw;
    }
}









/* 01 物流サービス
-------------------------------*/
.service .ttlbox{
    margin-bottom: 0;
}



.sev01_01{
    width: 100%;
    margin-bottom: 120px;
    text-align: right;
}
.sev01_02{
    width: 90%;
    max-width: 1050px;
    margin: 0 auto 160px;
}

.sev01_02 .cate{
    margin-top: 80px;
    margin-bottom: 80px;
    font-size: 25px;
    line-height: 1.5em;
    letter-spacing: 0.15em;
}
.sev01_02 .cate dt{
    padding-left: 100px;
    margin-bottom: 10px;
    position: relative;
}
.sev01_02 .cate dt:before{
    position: absolute;
    left: 0;
    top: 15px;
    width: 50px;
    height: 3px;
    background-color: #000;
    content: "";
}
.sev01_02 .cate dd{
    padding-left: 100px;
    margin-bottom: 60px;
}
.sev01_02 .cate dd:last-child{
    margin-bottom: 0;
}

.sev01_02 .fig{
    text-align: center;
}
.sev01_02 .fig .ttl{
    color: #0039a2;
    font-size: 30px;
    line-height: 1.2em;
    letter-spacing: 0.1em;
    margin-bottom: 40px;
}
.sev01_03 .item{
    width: 90%;
    max-width: 1200px;
    margin: 0 auto 180px;
}
.sev01_03 .item .txt{
    width: 48%;
}
.sev01_03 .item .img{
    width: 49%;
    text-align: center;
}
.sev01_03 .item .txt .btn{
    margin-top: 80px;
}
@media only screen and (max-width:1200px) {
    .sev01_02 .cate{
        font-size: 2vw;
        line-height: 1.5em;
    }
}

@media only screen and (max-width:1000px) {
    .sev01_01{
        margin-bottom: 12vw;
    }
    .sev01_02{
        margin-bottom: 16vw;
    }
    .sev01_02 .cate{
    }
    
    .sev01_02 .cate{
        margin-top: 8vw;
        margin-bottom: 8vw;
        font-size: 19px;
        line-height: 1.5em;
        letter-spacing: 0.1em;
    }
    .sev01_02 .cate dt{
        padding-left: 50px;
        margin-bottom: 0;
    }
    .sev01_02 .cate dt:before{
        left: 0;
        top: 15px;
        width: 30px;
        height: 2px;
    }
    .sev01_02 .cate dd{
        padding-left: 50px;
        margin-bottom: 30px;
    }
    .sev01_02 .fig .ttl{
        font-size: 2.5vw;
        line-height: 1.2em;
        margin-bottom: 20px;
    }
    .sev01_03 .item{
        margin-bottom: 16vw;
    }
    .sev01_03 .item .txt{
        width: 100%;
    }
    .sev01_03 .item .img{
        width: 100%;
        margin-top: 20px;
    }
    .sev01_03 .item .txt .btn{
        margin-top: 20px;
        width: 70%;
    }

}
@media only screen and (max-width:640px) {

    .sev01_02 .cate{
        font-size: 18px;
        line-height: 1.5em;
    }
    .sev01_02 .cate dt{
        padding-left: 25px;
    }
    .sev01_02 .cate dt:before{
        left: 0;
        top: 15px;
        width: 15px;
        height: 2px;
    }
    .sev01_02 .cate dd{
        padding-left: 25px;
    }
    .sev01_02 .fig .ttl{
        font-size: 2.5vw;
        line-height: 1.2em;
        margin-bottom: 20px;
    }
    .sev01_02 .fig .ttl{
        font-size: 19px;
        line-height: 1.2em;
        margin-bottom: 10px;
    }
    .sev01_02 .fig .img_waku{
        width: 100%;
        overflow: auto;
    }
    .sev01_02 .fig .img_waku img{
        width: auto;
        max-width: none;
        height: 350px;
    }



}





/* 02 物流コンサルティング
-------------------------------*/

.sev02{
    width: 90%;
    max-width: 1065px;
    margin: 0 auto 160px;
}
.sev02 .item01{
    margin-bottom: 100px;
    align-items: center;
}
.sev02 .item01 .txt{
    width: 47%;
}
.sev02 .item01 .img{
    width: 49%;
    text-align: center;
}
.sev02 .item01 .txt p{
    margin-bottom: 30px;
}

.sev02 .item02{
    width: 100%;
    padding: 80px 20px;
    background-color: #fff;
    border-radius: 50px;
    box-shadow: 0 0 15px rgba(0,57,162,0.3);
    text-align: center;
}
.sev02 .item02 .ttl{
    color: #0039a2;
    font-size: 30px;
    line-height: 1.2em;
    letter-spacing: 0.1em;
    margin-bottom: 80px;
}

@media only screen and (max-width:1000px) {
    .sev02{
        margin-bottom: 16vw;
    }
    .sev02 .item01{
        margin-bottom: 10vw;
    }
    .sev02 .item01 .txt{
        width: 100%;
    }
    .sev02 .item01 .img{
        width: 100%;
    }
    .sev02 .item01 .txt p{
        margin-bottom: 20px;
    }
    .sev02 .item01 .txt p br{
        display: none;
    }
    .sev02 .item02{
        width: 100%;
        padding: 30px 20px;
        border-radius: 30px;
        box-shadow: 0 0 10px rgba(0,57,162,0.3);
    }
    .sev02 .item02 .ttl{
        margin-bottom: 30px;
    }

}
@media only screen and (max-width:640px) {

    .sev02 .item02 .ttl{
        font-size: 20px;
        line-height: 1.2em;
    }
    .sev02 .item02 .waku{
        width: 100%;
        padding: 15px 0;
        overflow: auto;
    }
    .sev02 .item02 .waku img{
        width: 600px;
        max-width: none;
        height: auto;
    }

}





/* 02 海外事業
-------------------------------*/
.sev03_01{
    width: 100%;
    background-color: #f2f2f2;
    padding-bottom: 110px;
}
.sev03_01 .item01{
    width: 100%;
    background: url(../img/service/bg_siro.png) center top repeat-x;
    position: relative;
    margin-bottom: 120px;
}
.sev03_01 .item01 .img{
    width: 66%;
    height: 573px;
    margin-left: auto;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}
.sev03_01 .item01 .txt{
    width: 523px;
    height: 218px;
    background-color: #0039a2;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 35px;
    line-height: 1.2em;
    letter-spacing: 0.2em;
    color: #fff;
    position: absolute;
    left: 10%;
    top: 30%;
}
.sev03_01 .item02 {
    width: 90%;
    max-width: 1290px;
    margin: auto;
}
.sev03_01 .item02 .txt{
    width: 50%;
}
.sev03_01 .item02 .img{
    width: 48%;
    max-width: 560px;
}

.sev03_01 .item02 .txt .ttl{
    font-size: 25px;
    line-height: 1.4em;
    letter-spacing: 0.2em;
    font-weight: bold;
    padding-top: 60px;
    margin-bottom: 60px;
    position: relative;
}
.sev03_01 .item02 .txt .ttl:before{
    position: absolute;
    top: 0;
    left: 0;
    width: 190px;
    height: 1px;
    background-color: #0039a2;
    content: "";
}

.sev03_01 .item02 .img li{
    width: 50%;
}

.sev03_01 .item01.rev .img{
    margin-left: 0;
}
.sev03_01.bg_siro{
    background-color: transparent;
    padding-top: 120px;
    padding-bottom: 150px;
}

.sev03_01 .item02.rev {
    flex-flow: row-reverse;
}
@media only screen and (max-width:1000px) {
    .sev03_01{
        padding-bottom: 11vw;
    }
    .sev03_01 .item01{
        background:none;
        margin-bottom: 12vw;
    }
    .sev03_01 .item01 .img{
        width: 100%;
        height: 48vw;
    }
    .sev03_01 .item01 .txt{
        width: 60%;
        height: auto;
        padding: 20px;
        font-size: 3.5vw;
        line-height: 1.2em;
        letter-spacing: 0.1em;
        position: absolute;
        left: 20px;
        top: 20px;
    }
    .sev03_01 .item02 .txt{
        width: 100%;
    }
    .sev03_01 .item02 .img{
        width: 100%;
        max-width: 560px;
        margin: 30px auto 0;
    }
    .sev03_01 .item02 .txt .ttl{
        font-size: 22px;
        line-height: 1.4em;
        letter-spacing: 0.2em;
        padding-top: 40px;
        margin-bottom: 40px;
    }
    .sev03_01 .item02 .txt .ttl:before{
        width: 100px;
    }
    .sev03_01 .item02 .txt p br{
        display: none;
    }
    .sev03_01.bg_siro{
        padding-top: 12vw;
        padding-bottom: 15vw;
    }
    .sev03_01 .item02.rev {
        display: block;
    }

}
@media only screen and (max-width:640px) {
    .sev03_01 .item01 .txt{
        font-size: 4.5vw;
        line-height: 1.2em;
    }
    .sev03_01 .item02 .txt .ttl{
        font-size: 20px;
        line-height: 1.4em;
        letter-spacing: 0.1em;
        padding-top: 30px;
        margin-bottom: 30px;
    }
}




.sev03_02{
    width: 90%;
    max-width: 1290px;
    margin: auto;
    padding-top: 180px;
    padding-bottom: 180px;
}
.sev03_02 .item:nth-child(1){
    margin-bottom: 100px;
}
.sev03_02 .item .add{
    margin-bottom: 40px;
}
.sev03_02 .item .add .txt{
    width: 48%;
}
.sev03_02 .item .add .img{
    width: 45%;
    text-align: center;
    padding-top: 80px;
}

.sev_item_ttl{
    font-size: 35px;
    line-height: 1.2em;
    letter-spacing: 0.2em;
    color: #0039a2;
    position: relative;
    margin-bottom: 85px;
    font-family: Arial,"NSans-R",sans-serif;
}
.sev_item_ttl:before{
    position: absolute;
    bottom: -40px;
    left: 0;
    width: 190px;
    height: 1px;
    background-color: #0039a2;
    content: "";
}
.sev03_02 .item .add .name{
    font-size: 25px;
    line-height: 1.5em;
    letter-spacing: 0.07em;
    font-weight: bold;
    margin-bottom: 30px;
}
.sev03_02 .item .add .name .sub{
    color: #0039a2;
    font-size: 15px;
    line-height: 1.4em;
    margin-bottom: 10px;
}
.sev03_02 .item li{
    width: 32.5%;
}

@media only screen and (max-width:1000px) {
    .sev03_02{
        padding-top: 18vw;
        padding-bottom: 18vw;
    }
    .sev03_02 .item:nth-child(1){
        margin-bottom: 10vw;
    }

    .sev03_02 .item .add{
        margin-bottom: 30px;
    }
    .sev03_02 .item .add .txt{
        width: 100%;
    }
    .sev03_02 .item .add .img{
        width: 100%;
        padding-top: 30px;
    }
    .sev_item_ttl{
        font-size: 30px;
        line-height: 1.2em;
        letter-spacing: 0.2em;
        margin-bottom: 60px;

    }
    .sev_item_ttl:before{
        position: absolute;
        bottom: -20px;
        left: 0;
        width: 150px;
        height: 1px;
    }
    .sev03_02 .item .add .name{
        font-size: 20px;
        line-height: 1.5em;
        margin-bottom: 20px;
    }
    .sev03_02 .item .add .name .sub{
        margin-bottom: 5px;
    }
}
@media only screen and (max-width:640px) {

    .sev03_02 .item .add{
        margin-bottom: 10px;
    }
    .sev03_02 .item .add .img{
        padding-top: 20px;
    }
    .sev_item_ttl{
        font-size: 25px;
        line-height: 1.2em;
        margin-bottom: 50px;
    }
    .sev03_02 .item .add .name{
        font-size: 18px;
        line-height: 1.5em;
        letter-spacing: 0;
        margin-bottom: 10px;
    }
    .sev03_02 .item li{
        width: 50%;
    }
}




/* 03_ホテル事業 04_飲食サービス
-------------------------------*/

.ttlbox ._in .ja span.wide {
    display: inline-block;
    padding-right: 0;
}


.sev04_01,
.sev05_01{
    width: 100%;
    margin-bottom: 120px;
    text-align: right;
}
.sev04_02,
.sev05_02{
    width: 90%;
    max-width: 1125px;
    margin: 0 auto 160px;
}
.sev04_02 .cate,
.sev05_02 .cate{
    margin-top: 40px;
}
.sev04_02 .cate li,
.sev05_02 .cate li{
    width: 48%;
    text-align: center;
    position: relative;
}
.sev04_02 .cate li .txt,
.sev05_02 .cate li .txt{
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 100%;
    height: auto;
    color: #fff;
    font-size: 25px;
    line-height: 1.5em;
    letter-spacing: 0.1em;
}
.sev04_02 .cate li .txt img,
.sev05_02 .cate li .txt img{
    padding-top: 15px;
}

@media only screen and (max-width:1000px) {
    .sev04_01,
    .sev05_01{
        margin-bottom: 12vw;
    }
    .sev04_02,
    .sev05_02{
        margin-bottom: 16vw;
    }
    .sev04_02 .cate,
    .sev05_02 .cate{
        margin-top: 20px;
    }
    .sev04_02 .cate li .txt,
    .sev05_02 .cate li .txt{
        font-size: 3vw;
        line-height: 1.5em;
    }
    .sev04_02 .cate li .txt img,
    .sev05_02 .cate li .txt img{
        width: 28vw;
        height: auto;
    }
}

@media only screen and (max-width:420px) {
    
    .sev04_02 .cate li,
    .sev05_02 .cate li{
        width: 90%;
        margin: 0 auto 20px;
    }
    .sev04_02 .cate li .txt,
    .sev05_02 .cate li .txt{
        font-size: 18px;
        line-height: 1.5em;
    }
    .sev04_02 .cate li .txt img,
    .sev05_02 .cate li .txt img{
        width: 60vw;
        height: auto;
    }

}















/* 拠点一覧
-------------------------------*/

.ttlbox.bg_base{
    background: url(../img/ttlbox/ttl_base.jpg) right center no-repeat;
    background-size: cover;
    margin-bottom: 60px;
}
.ttlbox.bg_base ._in{
    background: none;
    color: #fff;
}
.ttlbox.bg_base ._in .en span{
    color: #fff;
}
.base main{
    background-color: #f2f2f2;
}
/* .base .biz_foot_img{
    margin-top: 120px;
} */
.base section{
    width: 90%;
    max-width: 1375px;
    background-color: #fff;
    padding: 70px;
    margin: 0 auto 25px;
}


.base02_box{
    margin-top: 80px;
}
.base02_box .item{
    width: 48%;
    margin-bottom: 40px;
}
.base02_box .item .gaikan{
    width: 43%;
}
.base02_box .item .info{
    width: 50%;
    line-height: 1.5em;
}
.base02_box .item .info dt{
    font-size: 20px;
    line-height: 1.3em;
    font-weight: bold;
    margin-bottom: 10px;
}
.base02_box .item .info dd{
    display: inline-block;
    padding-right: 1.5em;
}
.base03_box{
    text-align: center;
    margin-top: 40px;
}

.base03_box div{
    width: 49%;
}


.base_box .gaikan{
    width:27%;
    max-width: 255px;
}
.base_box .info{
    width: 43%;
}
.base_box .imgs{
    width: 27%;
    max-width: 310px;
}
.base_box .info.wides{
    width: 71.5%;
}

.base_box .info .area{
    display: inline-block;
    background-color: #0098e2;
    padding: 4px 1em 6px;
    color: #fff;
    font-weight: bold;
    line-height: 1.2em;
    margin-bottom: 20px;
}
.base_box .info .area.ore{
    background-color: #fd6700;
}
.base_box .info .area.gre{
    background-color: #00b12e;
}

.base_box .info .name{
    font-size: 23px;
    line-height: 1.5em;
    font-weight: bold;
    margin-bottom: 20px;
}
.base_box .info .name span{
    display: inline-block;
    font-size: 16px;
    line-height: 1.2em;
}
.base_box .info .add span{
    margin-left: 1em;
}
.base_box .info .add span a img{
    vertical-align: middle;
    border-bottom: solid 1px #0053a6;
}
.base_box .info .add span a:hover img{
    border-bottom: none;
}

@media only screen and (max-width:1200px) {

    .base_box .info .name{
        font-size: 20px;
        line-height: 1.5em;
    }

}

@media only screen and (max-width:1000px) {
    
    /* .base .biz_foot_img{
        margin-top: 10vw;
    } */

    .base section{
        padding: 30px;
    }
    .ttlbox.bg_base{
        background-position: 90% bottom;
        background-size: auto 210px;
    }

    .base02_box{
        margin-top: 8vw;
    }
    
    .base02_box .item{
        width: 100%;
        margin-bottom: 30px;
    }
    .base02_box .item .gaikan{
        width: 30%;
    }
    .base02_box .item .info{
        width: 65%;
    }
    
    .base_box .gaikan{
        width:30%;
    }
    .base_box .info{
        width: 65%;
    }
    .base_box .info.wides{
        width: 65%;
    }
    .base_box .imgs{
        width: 100%;
        text-align: center;
        max-width: initial;
        max-width: auto;
        margin-top: 30px;
    }
    .base_box .info .area{
        margin-bottom: 10px;
    }
    
}
@media only screen and (max-width:640px) {
    .base section{
        padding: 30px 20px;
    }

    .ttlbox.bg_base{
        background-size: auto 170px;
    }

    .base02_box .item{
        margin-bottom: 20px;
    }
    .base02_box .item .gaikan{
        width: 100%;
    }
    .base02_box .item .info{
        width: 100%;
        margin-top: 20px;
    }
    .base02_box .item .info dt{
        font-size: 19px;
        line-height: 1.3em;
        margin-bottom: 5px;
    }
    .base02_box .item .info dd{
        padding-right: 1em;
    }
    
    .base03_box{
        margin-top: 20px;
    }
    .base03_box div{
        width: 100%;
        text-align: center;
        margin-top: 20px;
        overflow: auto;
    }
    .base03_box div.map img{
        width: 600px;
        max-width: none;
        height: auto;
    }
    
    .base_box .gaikan{
        width:100%;
        max-width: initial;
        max-width: auto;
        margin-bottom: 20px;
    }
    .base_box .info{
        width: 100%;
    }
    .base_box .info.wides{
        width: 100%;
    }
    .base_box .info .name{
        font-size: 19px;
        line-height: 1.5em;
        margin-bottom: 10px;
    }

}











/* 企業情報
-------------------------------*/

.ttlbox ._in .ja.wides {
    font-size: 35px;
    line-height: 1.4em;
    letter-spacing: 0.2em;
}

.ttlbox .img.com00{
    position: relative;
}
.ttlbox .img.com00 .img_sub{
    position: absolute;
    left: 1110px;
    top: -220px;
    width: 376px;
}
.ttlbox .img.com00 .img_sub{
    border: solid 6px #fff;
}

.com01{
    width: 90%;
    max-width: 1070px;
    margin: 0 auto 120px;
}
.com_navi li{
    width: 48%;
    margin-bottom: 20px;
}
.com_navi li a{
    width: 100%;
    height: 340px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-position: center center;
    background-size: auto 110%;
    background-repeat: no-repeat;
    transition: 0.3s;
    color: #fff;
    text-align: center;
    font-size: 25px;
    line-height: 1.5em;
    letter-spacing: 0.2em;
}
.com_navi li a:hover{
    background-size: auto 100%;
}

.com_navi li.bnr01 a{
    background-image: url(../img/company/com_navi01.jpg);
}
.com_navi li.bnr02 a{
    background-image: url(../img/company/com_navi02.jpg);
}
.com_navi li.bnr03 a{
    background-image: url(../img/company/com_navi03.jpg);
}
.com_navi li a span{
    font-family: "Kazesawa-SB",sans-serif;
    font-size: 20px;
    line-height: 1.4em;
}

@media only screen and (max-width:1600px) {
    .ttlbox .img.com00 .img_sub{
        position: absolute;
        left: auto;
        right: 0;
        top: -13vw;
        width: 23.5vw;
    }
    .ttlbox .img.com00 .img_sub{
        border: solid 6px #fff;
    }

}

@media only screen and (max-width:1000px) {
    .ttlbox ._in .ja.wides {
        font-size: 30px;
        line-height: 1.4em;
        letter-spacing: 0.2em;
    }
    
    .com01{
        margin-bottom: 10vw;
    }
}
@media only screen and (max-width:640px) {
    .ttlbox ._in .ja.wides {
        font-size: 24px;
        line-height: 1.4em;
        letter-spacing: 0.07em;
    }
    .com_navi li{
        width: 100%;
    }
    .com_navi li a{
        width: 100%;
        height: 200px;
        background-size: cover;
        font-size: 22px;
        line-height: 1.5em;
    }
    .com_navi li a:hover{
        background-size: cover;
    }

    .com_navi li a span{
        font-size: 16px;
        line-height: 1.4em;
    }
}

@media only screen and (max-width:420px) {
    .ttlbox .img.com00 .img_sub{
            display: none;
    }
}







/* 代表挨拶メッセージ
-------------------------------*/
.company.message .ttlbox{
    margin-bottom: 0;
}

.msg01{
    width: 100%;
    text-align: center;
    margin-bottom: 120px;
}
.msg02{
    width: 90%;
    max-width: 960px;
    margin: 0 auto 160px;
}

.msg02 .img{
    width: 40%;
    text-align: center;
}
.msg02 .img p{
    margin-top: 20px;
    font-family: "NSans-M",sans-serif;
    font-size: 20px;
}
.msg02 .img p span{
    font-size: 130%;
}
.msg02 .txt{
    width: 55%;
    font-size: 17px;
    line-height: 2em;
    letter-spacing: 0.07em;
}
.msg02 .txt p{
    margin-bottom: 20px;
}

@media only screen and (max-width:1000px) {
    .msg01{
        margin-bottom: 10vw;
    }
    .msg02{
        margin-bottom: 12vw;
    }
    .msg02 .img{
        width: 100%;
        margin-bottom: 80px;
    }
    .msg02 .img img{
        max-width: 80%;
        height: auto;
    }

    .msg02 .txt{
        width: 100%;
    }
}

@media only screen and (max-width:640px) {
    .company .ttlbox ._in .ja.short {
        letter-spacing: 0.2em;
    }
    .msg02 .img{
        margin-bottom: 40px;
    }

    .msg02 .img p{
        margin-top: 10px;
        font-size: 18px;
    }

    .msg02 .txt{
        width: 100%;
        font-size: 16px;
        line-height: 1.8em;
        letter-spacing: 0.05em;
    }
    .msg02 .txt p{
        margin-bottom: 10px;
    }

}







/* 会社概要
-------------------------------*/
main.gaiyou{
    position: relative;
}
.img_com_sub{
    position: absolute;
    top: 0;
    right: 0;
    width: 58.5%;
    max-width: 1053px;
    height: 573px;
    background-position: center center;
    background-size: cover;
}
.txt_com_sub{
    width: 100%;
    max-width: 1400px;
    padding-top: 220px;
    padding-bottom: 100px;
    padding-left: 5%;
    padding-right: 5%;
    background-color: #f2f2f2;
}
.txt_com_sub ._in{
    width: 100%;
    max-width: 900px;
    margin: auto;
}
.txt_com_sub dt{
    font-size: 35px;
    line-height: 1.2em;
    letter-spacing: 0.2em;
    color: #0039a2;
    padding-bottom: 30px;
    margin-bottom: 40px;
    position: relative;
}
.txt_com_sub dt:before{
    position: absolute;
    left: 0;
    bottom: 0;
    width: 190px;
    height: 1px;
    background-color: #0039a2;
    content: "";
}
.txt_com_sub dd{
    font-size: 25px;
    line-height: 1.8em;
    letter-spacing: 0.2em;
    margin-bottom: 80px;
}

.txt_com_sub.enkaku{
    position: relative;
    z-index: 3;
    padding-top: 0;
}
.txt_com_sub.enkaku ._in{
    max-width:1100px;
}

.gaiyo01{
    width: 100%;
    padding-top: 100px;
    padding-bottom: 100px;
    padding-left: 250px;
}
.gaiyo01.bg_gray{
    background-color: #f2f2f2;
}
.gaiyo01 ._in{
    width: 1140px;
}
.gai-ttl{
    font-size: 35px;
    line-height: 1.2em;
    letter-spacing: 0.2em;
    color: #0039a2;
    margin-bottom: 80px;
}
.gai-ttl span{
    display: inline-block;
}
.gai-ttl span.s{
    color: #000;
    font-size: 15px;
    letter-spacing: 0;
    padding-left: 1em;
}

.gaiyou_cont{
    width: 100%;
    max-width: 1000px;
    margin: auto;
    border-top: solid 1px #e6e6e6;
}
.gaiyou_cont tr{
    border-bottom: solid 1px #e6e6e6;
}
.gaiyou_cont th{
    width: 237px;
    padding: 40px 0 40px 40px;
    border-bottom: solid 1px #0039a2;
    font-family: "NSans-B",sans-serif;
    font-size: 115%;
    line-height: 1.4em;
    vertical-align: top;
}
.gaiyou_cont tr:first-child th{
    border-top: solid 1px #0039a2;
}
.gaiyou_cont td{
    width: calc(100% - 237px;);
    padding: 40px;
}
.gaiyou_cont td .partner dd{
    margin-left: 1em;
    margin-bottom: 1em;
}

.c_gallery{
    width: 100%;
    max-width: 1080px;
    margin: 80px auto 0;
}
.c_gallery li{
    width: 32%;
    margin-bottom: 15px;
}

.img_trend{
    width: 100%;
    padding: 60px;
    text-align: center;
    background-color: #fff;
}

@media (min-width:1201px) and (max-width:1520px) {


    .gaiyo01{
        padding-left: 5%;
    }
    .gaiyo01 ._in{
        width: 100%;
        max-width: 1140px;
        padding-right: 5%;
        margin-left: auto;
    }

}

@media only screen and (max-width:1200px) {
    .gaiyo01{
        padding-left: 0;
    }

    .gaiyo01 ._in{
        width: 90%;
        max-width: 1140px;
        margin: auto;
    }
    .img_com_sub{
        position: static;
        width: 100%;
        height: 45vw;
    }
    .txt_com_sub{
        padding-top: 80px;
        padding-bottom: 80px;
    }

}

@media only screen and (max-width:1000px) {
    .txt_com_sub{
        padding-top: 60px;
        padding-bottom: 40px;
    }
    .txt_com_sub dt{
        font-size: 28px;
        line-height: 1.2em;
        letter-spacing: 0.2em;
        padding-bottom: 15px;
        margin-bottom: 20px;
    }
    .txt_com_sub dt:before{
        width: 130px;
    }
    .txt_com_sub dd{
        font-size: 20px;
        line-height: 1.6em;
        letter-spacing: 0.05em;
        margin-bottom: 50px;
    }
    .gaiyo01{
        padding-top: 10vw;
        padding-bottom: 10vw;
    }
    .gai-ttl{
        font-size: 22px;
        line-height: 1.2em;
        letter-spacing: 0.1em;
        margin-bottom: 60px;
    }
    .gaiyou_cont th{
        width: 160px;
        padding: 20px 0 20px 20px;
        font-size: 110%;
        line-height: 1.4em;
    }
    .gaiyou_cont td{
        width: calc(100% - 160px;);
        padding: 20px;
    }
    .img_trend{
        padding: 30px;
    }

}
@media only screen and (max-width:640px) {
    .txt_com_sub{
        padding-bottom: 20px;
    }
    .txt_com_sub dt{
        font-size: 22px;
        line-height: 1.2em;
        padding-bottom: 10px;
        margin-bottom: 15px;
    }
    .txt_com_sub dd{
        font-size: 18px;
        line-height: 1.6em;
    }
    .gaiyou_cont{
        border-top-color: #999;
    }
    .gaiyou_cont tr{
        border-bottom-color: #999;
    }

    .gaiyou_cont th{
        display: inline-block;
        width: 100%;
        padding: 10px;
        border-bottom: none;
        background-color: #f2f2f2;
        font-size: 100%;
    }
    .gaiyou_cont td{
        display: inline-block;
        width: 100%;
        padding: 10px;
    }
    
    .c_gallery{
        margin-top: 40px;
    }
    .c_gallery li{
        width: 49%;
        margin-bottom: 10px;
    }
    
    .img_trend{
        padding: 20px;
    }
    .img_trend .waku{
        padding: 10px;
        overflow: auto;
    }

    .img_trend .waku img{
        max-width: 480px;
        height: auto;
    }

}



/* 沿革
-------------------------------*/
.year_box{
    display: flex;
}
.year_box .item01{
    width: 222px;
    padding-top: 10px;
}
.year_box .item02{
    width: calc(100% - 222px);
}
.year_space{
    margin-left: 222px;
    width: auto;
    height: 50px;
    border-left: solid 3px #fff;
}
.year_space.nth1{
    height: 120px;
}
.year_box .item02 table{
    width: 100%;
    line-height: 1.4em;
    border-left: solid 3px #fff;
}

.year_box .item02 th{
    width: 230px;
    color: #0039a2;
    padding-left: 50px;
    font-family: "NSans-M",sans-serif;
    font-size: 19px;
    line-height: 1.3em;
    padding-top: 15px;
    vertical-align: top;
}
.year_box .item02 td{
    width: calc(100% - 230px);
    padding: 15px 0;
}

.year_box .item02 th span{
    position: relative;
}
.year_box .item02 th span:before{
    position: absolute;
    top: 50%;
    left: -50px;
    width: 50px;
    height: 3px;
    background-color: #fff;
    content: "";
}
.year_box .item02 tr:first-child th span:before{
    position: absolute;
    top: 50%;
    left: -120px;
    width: 120px;
    height: 3px;
    background-color: #fff;
    content: "";
}
.year_box .item02 .logo_img{
    margin-top: 15px;
}



@media only screen and (max-width:1100px) {

    .year_box .item01{
        width: 200px;
    }
    .year_box .item02{
        width: calc(100% - 200px);
    }
    .year_space{
        margin-left: 200px;
    }

}
@media only screen and (max-width:1000px) {

    .year_box .item01{
        width: 120px;
    }
    .year_box .item01 img{
        width: 80px;
        height: auto;
        padding-top: 10px;
    }
    .year_box .item02{
        width: calc(100% - 120px);
    }
    .year_space{
        margin-left: 120px;
    }

    .year_box .item02 th{
        width: 175px;
        padding-left: 30px;
    }
    .year_box .item02 th span:before{
        position: absolute;
        top: 50%;
        left: -30px;
        width: 30px;
    }
    .year_box .item02 tr:first-child th span:before{
        position: absolute;
        top: 50%;
        left: -60px;
        width: 60px;
    }
    .year_box .item02 td{
        width: calc(100% - 175px);
    }

}
@media only screen and (max-width:680px) {

    .year_space{
        height: 30px;
    }
    .year_space.nth1{
        height: 60px;
    }

    .year_box .item01{
        width: 85px;
        padding-top: 0;
    }
    .year_box .item01 img{
        width: 65px;
        height: auto;
        padding-top: 10px;
    }
    .year_box .item02{
        width: calc(100% - 85px);
    }
    .year_space{
        margin-left: 85px;
    }
    .year_box .item02 th{
        display: inline-block;
        width: 100%;
        padding-top: 5px;
        padding-left: 20px;
        font-size: 16px;
        line-height: 1.7em;
    }
    .year_box .item02 th span:before{
        left: -20px;
        width: 20px;
    }
    .year_box .item02 tr:first-child th span:before{
        left: -34px;
        width: 35px;
    }

    .year_box .item02 td{
        display: inline-block;
        width: 100%;
        padding-top: 0;
        padding-left: 20px;
        font-size: 90%;
        line-height: 1.7em;
    }


}












/* 安全への取り組み
-------------------------------*/

.safety .ttlbox {
    margin-bottom: 0;
}
.safety_box{
    margin-top: -280px;
    background-color: #f2f2f2;
    padding-top: 430px;
    padding-bottom: 100px;
}
.safety_box  section{
    width: 95%;
    max-width: 1373px;
    margin: 0 auto 110px;;
}
.saf_ttl{
    width: 95%;
    margin: auto;
    color: #0039a2;
    font-size: 35px;
    line-height: 1.3em;
    letter-spacing: 0.15em;
    margin-bottom: 30px;
}
.saf_ttl img{
    margin-right: 20px;
}
.safety_box ._in{
    width: 100%;
    background-color: #fff;
    padding: 100px 0;
}
.safety_box ._in dl{
    width: 90%;
    max-width: 1057px;
    margin: auto;
    padding-left: 100px;
}

.safety_box ._in dt{
    color: #0039a2;
    font-size: 25px;
    line-height: 1.3em;
    letter-spacing: 0.15em;
    margin-bottom: 30px;
    margin-top: 80px;
    position: relative;
}
.safety_box ._in dt:before{
    position: absolute;
    top: 13px;
    left: -100px;
    width: 50px;
    height: 3px;
    background-color: #0039a2;
    content: "";
}
.safety_box ._in dt:first-child{
    margin-top: 0;
}

.safety_box ._in dd{
    margin-bottom: 20px;
    
}
.safety_box ._in dd.imgx3 div{
    width: 32%;
}

.safety_box ._in .sub01 .txt{
    width: 60%;
    
}
.safety_box ._in .sub01 .fig{
    width: 32%;
}
.safety_box ._in dd.imgx2 div{
    width: 48%;
}

@media only screen and (max-width:1400px) {

    .safety_box ._in dd.imgx1 img{
        width: 32vw;
        max-width: none;
        height: auto;
    }
}

@media only screen and (max-width:1000px) {

    .safety_box{
        margin-top:0;
        padding-top: 10vw;
        padding-bottom: 10vw;
    }
    .safety_box  section{
        margin-bottom: 12vw;
    }
    .safety_box  section:last-child{
        margin-bottom: 0;
    }
    .saf_ttl{
        font-size: 30px;
        line-height: 1.3em;
        letter-spacing: 0.15em;
        margin-bottom: 30px;
    }
    .saf_ttl img{
        width: 40px;
        height: auto;
    }
    .safety_box ._in{
        padding: 10vw 0;
    }
    .safety_box ._in dl{
        width: 95%;
        padding-left: 30px;
    }
    .safety_box ._in dt{
        color: #0039a2;
        font-size: 20px;
        line-height: 1.3em;
        letter-spacing: 0.1em;
        margin-bottom: 20px;
        margin-top: 50px;
        position: relative;
    }
    .safety_box ._in dt:before{
        position: absolute;
        top: 12px;
        left: -30px;
        width: 20px;
        height: 2px;
    }
}
@media only screen and (max-width:640px) {
    .saf_ttl{
        font-size: 25px;
        line-height: 1.3em;
        letter-spacing:0;
        margin-bottom: 20px;
        letter-spacing: -0.02em;
    }
    .saf_ttl img{
        width: 30px;
        height: auto;
        margin-right: 5px;
        vertical-align: middle;
    }
    .safety_box ._in dt{
        font-size: 19px;
        line-height: 1.5em;
        letter-spacing: 0;
        margin-bottom: 10px;
    }
    .safety_box ._in dd.imgx3 div{
        width: 48%;
        margin-bottom: 10px;
    }
    .safety_box ._in .sub01 .txt{
        width: 100%;
    }
    .safety_box ._in .sub01 .fig{
        width: 70%;
        text-align: center;
        margin: 20px auto 0;
    }
    .safety_box ._in dd.imgx1 img{
        width: 48%;
        max-width: none;
        height: auto;
    }

}






/* 採用情報
-------------------------------*/
.recruit_box .ttlbox{
    margin-bottom: 0;
}
.recruit_box section{
    padding-top: 100px;
    padding-bottom: 100px;
}
.rec_ttl{
    text-align: center;
    font-size: 40px;
    line-height: 1.2em;
    letter-spacing: 0.2em;
    color: #0039a2;
    margin-bottom: 80px;
    
}

.rec01 .rec_ttl{
    text-align: left;
    line-height: 1.6em;
}

.rec01 .txt{
    width: 54%;
    line-height: 2em;
    letter-spacing: 0.1em;
}
.rec01 .img{
    width: 40%;
}
@media only screen and (max-width:1000px) {

    .recruit_box section{
        padding-top: 10vw;
        padding-bottom: 10vw;
    }
    .rec_ttl{
        font-size: 30px;
        line-height: 1.2em;
        letter-spacing: 0.2em;
        margin-bottom: 60px;

    }
    .rec01 .rec_ttl{
        line-height: 1.4em;
    }
    .rec01 .txt{
        width: 100%;
        line-height: 1.8em;
        letter-spacing: 0;
        margin-bottom: 30px;
    }
    .rec01 .img{
        width: 100%;
        text-align: center;
    }
    .rec01 .txt p br{
        display: none;
    }

}
@media only screen and (max-width:640px) {
    .rec_ttl{
        font-size: 22px;
        line-height: 1.2em;
        letter-spacing: 0.15em;
        margin-bottom: 30px;
    }

}



.rec_bg_gray{
    background-color: #f2f2f2;
}
.w1310{
    width: 90%;
    max-width: 1310px;
    margin: auto;
}
.rec_itemx3 li{
    width: 32%;
    margin-bottom: 25px;
    background-color: #fff;
    padding: 40px;
}
.rec_itemx3 li .icon{
    text-align: center;
    margin-bottom: 20px;
}
.rec_itemx3 li .ttl-1{
    text-align: center;
    font-family: "NSans-B",Arial,sans-serif;
    font-size: 22px;
    line-height: 1.3em;
    letter-spacing: 0.07em;
    color: #0039a2;
    margin-bottom: 20px;
}
.rec_itemx3.job li .ttl-1{
    text-align: left;
}
.rec_itemx3.job li .cat{
    display: inline-block;
    padding: 3px 10px;
    background-color: #0039a2;
    color: #fff;
    font-family: "NSans-M",Arial,sans-serif;
    font-size: 15px;
    line-height: 1.2em;
    margin-bottom: 10px;
}
.rec_itemx3.job li .cat.part{
    background-color: #0098e2;
}
.rec_itemx3.job li .txt{
    min-height: 88px;
}
.rec_itemx3.job li .btn{
    text-align: center;
    margin-top: 40px;
}
@media only screen and (max-width:1300px) {
    .rec_itemx3 li{
        padding: 20px;
    }
}

@media only screen and (max-width:1000px) {
    .rec_itemx3 li{
        width: 48%;
        padding: 30px 20px;
    }
    .rec_itemx3.job li .txt{
        min-height: initial;
        min-height: auto;
    }
    .rec_itemx3 li .ttl-1{
        font-size: 20px;
        line-height: 1.3em;
        letter-spacing: 0;
        margin-bottom: 15px;
    }
    .rec_itemx3.job li .btn{
        margin-top: 20px;
    }

}
@media only screen and (max-width:640px) {
    .rec_itemx3 li{
        width: 100%;
    }
}




/*  社員インタビュー  -----*/
.rec_staff{
    margin-bottom: 90px;
}

.rec_staff_name{
    margin-bottom: 30px;
    justify-content: flex-start;
    align-items: center;
}
.rec_staff_name div{
    margin-right: 20px;
}
.rec_staff_name .name{
    color: #0039a2;
    font-size: 35px;
    line-height: 1.2em;
    letter-spacing: 0.2em;
}
.rec_staff_name .cat{
    margin-right: 0;
    color: #666;
    font-size: 20px;
    line-height: 1.2em;
    font-family: "NSans-B",sans-serif;
    letter-spacing: 0.1em;
}

.rec_staff .item .img{
    width: 481px;
}
.rec_staff .item .txt{
    width: calc(100% - 540px);
}
.rec_staff_interview dt{
    font-family: "NSans-B",Arial,sans-serif;
    color: #0039a2;
    font-size: 20px;
    line-height: 1.6em;
    margin-bottom: 10px;
}
.rec_staff_interview dd{
    width: 100%;
    max-width: 610px;
    margin-bottom: 40px;
}

.inte_box{
    padding: 50px 5%;
}
.inte_box .item01{
    margin-bottom: 50px;
    align-items: center;
}
.inte_box .item01 .img{
    width: 44%;
}
.inte_box .item01 .txt{
    width: 50%;
}
.inte_box .item01 .txt .rec_staff_name .cat{
    width: 100%;
    margin-top: 20px;
    margin-left: 70px;
}
.inte_box .item02 dl{
    width: 60%;
}
.inte_box .item02 .flow{
    width: 35%;
}
.inte_box .item02 .flow .sub{
    text-align: center;
    margin-bottom: 20px;
}
.inte_box .item02 .flow table{
    width: 100%;
    background-color: #0039a2;
    color: #fff;
    border-collapse: separate;
    border-spacing: 20px;
}
#cboxClose {
    position: absolute;
    bottom: auto;
    top: 0;
    right: 20px;
    display: block;
    background-color: #0039a2;
    padding: 10px 20px;
    text-align: center;
    color: #fff;
    font-size: 18px;
    line-height: 1.2em;
    font-weight: bold;
    font-family: "NSans-M",Arial,sans-serif;
    padding-bottom: 10px;
}

@media only screen and (max-width:1200px) {
    .rec_staff{
        margin-bottom: 9vw;
    }
    .rec_staff .item .img{
        width: 44%;
    }
    .rec_staff .item .txt{
        width: 50%;
    }
    .rec_staff_interview dd{
        margin-bottom: 30px;
    }
    .inte_box .item01{
        margin-bottom: 20px;
    }
    .inte_box .item01 .img{
        width: 100%;
        text-align: center;
        margin-bottom: 40px;
    }
    .inte_box .item01 .txt{
        width: 100%;
    }
    .inte_box .item02 dl{
        width: 100%;
        margin-bottom: 30px;
    }
    .inte_box .item02 .flow{
        width: 100%;
    }
    .inte_box .item02 .flow table{
        max-width: 365px;
        margin: auto;
    }
}

@media only screen and (max-width:1000px) {
    .rec_staff_name .name{
        letter-spacing: 0.05em;
    }
    .rec_staff_name .cat{
        letter-spacing: 0;
    }

}
@media only screen and (max-width:680px) {
    
    .rec_staff_name{
        margin-bottom: 20px;
    }
    .rec_staff_name div{
        margin-right: 10px;
    }
    .rec_staff_name .num img{
        width: 38px;
        height: auto;
    }
    .rec_staff_name .name{
        font-size: 28px;
        line-height: 1.2em;
    }
    .rec_staff_name .cat{
        width: 100%;
        margin-top: 10px;
        margin-right: 0;
        color: #666;
        font-size: 16px;
        line-height: 1.2em;
    }
    .rec_staff .item .img{
        width: 100%;
        text-align: center;
        margin-bottom: 30px;
    }
    .rec_staff .item .txt{
        width: 100%;
    }
    .rec_staff .item .txt .btn{
        text-align: center;
    }
    .rec_staff .item .txt .btn img{
        max-width: 70%;
        height: auto;
    }
    .rec_staff_interview dt{
        font-size: 19px;
        line-height: 1.4em;
        margin-bottom: 5px;
    }
    .rec_staff_interview dd{
        margin-bottom: 30px;
    }
    .inte_box .item01 .txt .rec_staff_name .cat{
        margin-left: 0;
    }

}






.rec05{
    width: 90%;
    margin: auto;
    text-align: center;
}
.rec_info1{
    width: 100%;
    max-width: 790px;
    margin: 0 auto 50px;
    align-items: center;
}
.rec_info1 .tel{
    width: 47%;
}
.rec_info1 .mail{
    width: 47%;
}

.rec_info2{
    width: 100%;
    max-width: 660px;
    margin: auto;
}
.rec_info2 .txt{
    width: 64%;
    text-align: left
}
.rec_info2 .code{
    width: 28%;
}
.rec_info2 .txt dd{
    margin-top: 15px;
    margin-left: 70px;
}
@media only screen and (max-width:640px) {
    .rec_info1 .tel{
        width: 100%;
        margin-bottom: 30px;
    }
    .rec_info1 .mail{
        width: 100%;
    }
    .rec_info2 .txt{
        width: 100%;
        margin-bottom: 10px;
    }
    .rec_info2 .code{
        width: 100%;
    }
    .rec_info2 .txt dd{
        margin-top: 5px;
        margin-left: 20px;
    }

}












