@charset "UTF-8";

/* ---------------------- MV ---------------------- */
#u-mv{ padding:50px 0 !important}
#u-mv.u-mv-wrap{
    background: url("../img/recruit/mv.jpg") no-repeat;
    background-size: cover;
    margin-top:60px;
}
#u-mv .u-mv-ttl{
    font-size:24px;
    font-weight: 600;
    color:#fff;
}
#u-mv .u-mv-ttl span{
    font-family: 'Josefin Sans', sans-serif;
    font-size:70px;
    font-weight: 600;
    display: block;
    line-height: 1;
}

@media screen and (max-width:768px) {
    #u-mv{ padding:10vw 0 !important}
    #u-mv.u-mv-wrap{background-position: 29% 50%;}
    #u-mv .u-mv-ttl{font-size:5vw;}
    #u-mv .u-mv-ttl span{
        font-size:10vw;
    }
}

/* ---------------------- MESSAGE ---------------------- */
#message {padding: 80px 0 20px !important;}
#message .sec-ttl .ttl-en{color:#E5ECEF;}
#message .message-in{
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    margin-top:20px;
}
#message picture{width:47%;}
#message .message-r{width:49%;}
#message .message-txt{
    font-size:24px;
    font-weight: bold;
    line-height: 1.6;
    margin-bottom:15px;
}
#message .job-cate{
    background: #E5ECEF;
    padding:50px 30px;
    margin-top:80px;
}
#message .job-cate-h{
    font-size:24px;
    font-weight: bold;
    text-align: center;
    color:#2274B6;
    position: relative;
    align-items: center;
    display: flex; 
    justify-content: center;
}
#message .job-cate-h::after,
#message .job-cate-h::before{
    background-color: #2274B6; 
    border-radius: 5px; 
    content: "";
    height: 3px; 
    width: 35px;
}
#message .job-cate-h::after{
    margin-right: 10px; 
    transform: rotate(-60deg); 
}
#message .job-cate-h::before{
    margin-right: 10px; 
    transform: rotate(60deg); 
}
#message .job-cate-list{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
#message .job-cate-list li{
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top:30px;
}
#message .job-cate-list li:nth-of-type(odd){width:46%;}
#message .job-cate-list li:nth-of-type(even){width:52%;}
#message .job-cate-icon{
    width:170px;
    height:170px;
    border-radius: 50%;
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
}
#message .job-cate-icon p{width:87px;}
#message .job-cate-r{width:calc(100% - 190px);}
#message .job-cate-ttl{
    font-size:20px;
    font-weight: bold;
    color:#2274B6;
}

@media screen and (max-width:768px) {
    #message {padding: 10vw 0 3vw !important;}
    #message .message-in{ margin-top:3vw;}
    #message picture{width:100%;margin-bottom:5vw;}
    #message .message-r{width:100%;}
    #message .message-txt{
        font-size:3.7vw;
        margin-bottom:2vw;
    }
    #message .job-cate{
        padding:5vw 3vw;
        margin-top:5vw;
    }
    #message .job-cate-h{
        font-size:4.7vw;
    }
    #message .job-cate-h::after,
    #message .job-cate-h::before{
        content: "";
        height: 3px; 
        width: 7vw;
    }
    #message .job-cate-h::after{margin-right: 1vw; }
    #message .job-cate-h::before{margin-right: 1vw; }
    #message .job-cate-list li{
        margin-top:5vw;
    }
    #message .job-cate-list li:nth-of-type(odd){width:100%;}
    #message .job-cate-list li:nth-of-type(even){width:100%;}
    #message .job-cate-icon{
        width:25vw;
        height:25vw;
    }
    #message .job-cate-icon p{width:15vw;}
    #message .job-cate-r{width:calc(100% - 27vw);}
    #message .job-cate-ttl{
        font-size:4vw;
    }
}

/* ---------------------- MESSAGE ---------------------- */
#requirements .sec-ttl .ttl-en{color:#E5ECEF;}
#requirements table{
    width:90%;
    margin:20px auto 0;
    text-align: left;
}
#requirements table tbody tr:first-of-type{border-top:1px solid #707070;}
#requirements table tbody tr{border-bottom:1px solid #707070;}
#requirements table tbody tr th{
    background: #C1DAEF;
    vertical-align: middle;
    padding:15px 30px ;
    font-weight: bold;
}
#requirements table tbody tr td{padding:15px 30px;}
#requirements .btn-entry{
    display: inline-block;
    background: #2274B6;
    color:#fff;
    font-weight: 600;
    font-size:28px;
    width:80%;
    max-width:600px;
    padding:20px 0;
    text-align: center;
    margin:60px 0 0;
    position: relative;
}
#requirements .btn-entry::after{
    content:'';
    position: absolute;
    background: url("../img/common/icon-link.svg") no-repeat;
    background-size: 100%;
    width:20px;
    height:18px;
    top:0;
    bottom:0;
    right:25px;
    margin:auto;
}
#requirements .s-txt{font-size:14px;}

@media screen and (max-width:768px) {
    #requirements table{
        width:100%;
        margin:3vw auto 0;
    }
    #requirements table tbody tr:first-of-type{border-top:1px solid #707070;}
    #requirements table tbody tr{border-bottom:1px solid #707070;}
    #requirements table tbody tr th{
        padding:3vw 3vw;
        white-space: nowrap;
    }
    #requirements table tbody tr td{padding:3vw 0 3vw 3vw;}
    #requirements .btn-entry{
        font-size:4vw;
        max-width:inherit;
        width:250px;
        padding:3vw 0;
        margin:10vw 0 0;
    }
    #requirements .btn-entry::after{
        width:4vw;
        height:3.2vw;
        right:3vw;
    }
    #requirements .s-txt{font-size:3vw;}
}