@charset "UTF-8";


/*-----------------------------------------------------------
共通スタイルの上書き
-----------------------------------------------------------*/
@media only screen and (max-width:767px){
    .secPictureArea.environment{ background-image: url(../images/topImageEnvironmentSp.jpg); }
}
@media print,screen and (min-width:768px){
    .secPictureArea.environment{ background-image: url(../images/topImageEnvironment.jpg); }
}


#pageEnvironment{
    background:#f2f2f2;
}
.workTop{
    padding-bottom: 20px;
    background: none;
}

/*--------------------------------------------------
ページ内共通
-------------------------------------------------- */
#pageEnvironment .titleArea{
}
#pageEnvironment .titleArea .secTitle{
    font-weight:bold;font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    text-align:center;
    letter-spacing: 5px;
}
#pageEnvironment .titleArea .titleLine{
    background:#1567B1;
    margin-left:auto;
    margin-right:auto;
}
#pageEnvironment .contentSubTitle{
    font-weight:bold;font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    letter-spacing: 3px;
}
#pageEnvironment .contentSubTitle .icoBuilding{
    background:url(../images/icoBuilding.svg) left top no-repeat;
}


@media only screen and (max-width:767px){
    #pageEnvironment .titleArea{
        padding-top:35px;
    }
    #pageEnvironment .titleArea .secTitle{
        font-size:27px;
    }
    #pageEnvironment .titleArea .titleLine{
        width:27px;
        height:3px;
        margin-top:15px;
        margin-bottom:25px;
    }
    #pageEnvironment .contentSubTitle{
        font-size:20px;
        line-height: 26px;
        padding-bottom:10px;
    }
    #pageEnvironment .contentSubTitle .icoBuilding{
        background-size:33px 32px;
        padding:5px 0 0 50px;
        display: block;
    }
    #pageEnvironment .contentSubTitle .icoBuilding.multiLine{
        padding-top:0px;
        padding-bottom: 10px;
    }
}
@media print,screen and (min-width:768px){
    #pageEnvironment .titleArea{
        padding-top:75px;
    }
    #pageEnvironment .titleArea .secTitle{
        font-size:36px;
    }
    #pageEnvironment .titleArea .titleLine{
        width:36px;
        height:4px;
        margin-top:25px;
        margin-bottom:45px;
    }
    #pageEnvironment .contentSubTitle{
        font-size:30px;
        text-align:center;
        padding-bottom:30px;
        padding-top:10px;
    }
    #pageEnvironment .contentSubTitle .icoBuilding{
        background-size:44px 43px;
        padding:10px 0 0 75px;
        display: inline;
    }
}


/*--------------------------------------------------
menu
-------------------------------------------------- */
.jumpMenu{
    font-size: 17px;
    font-weight:bold;font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    line-height: 28px;
    letter-spacing: 0px;
    color: #232323;
    border-bottom: 1px solid #ccc;
    background: #ffffff;
}

.jumpMenu .jumpMenuMain{
    display: table;
    margin: 0 auto;
    padding: 0;
    max-width: 1200px;
    width: 100%;
    text-align: center;
}

.jumpMenu .jumpMenuMain li{
    display: table-cell;
    vertical-align: middle;
    background-image: url(/recruit/shared/images/arrowBlackDown.png);
    background-repeat: no-repeat;
    background-position: right 7% center;
    background-size: 14px;
    width: 33.333%;
    border-right: 1px solid #ccc;
}

.jumpMenu .jumpMenuMain li:first-child{
    border-left: 1px solid #ccc;
}

.jumpMenu .jumpMenuMain li a{
    display: block;
    color: #1567b1;
    width: 100%;
    padding: 16px 0;
    text-decoration: none;
    letter-spacing: 3px;
}
.jumpMenu .jumpMenuMain li:last-of-type a{
    letter-spacing: 0px;
}

.jumpMenu .jumpMenuMain li:hover{
    opacity: 0.8;
}

@media screen and (max-width:767px) {
    .jumpMenu{
        font-size: 16px;
        line-height: 26px;
    }    

    .jumpMenu .jumpMenuMain li{
        background-position: center bottom 5%;
        background-size: 12px;
        padding-left:5px;
    }    
}

/*-----------------------------------------------------------
secWalfare
-----------------------------------------------------------*/
.secWalfare{
    background:#ffffff;
}
.secWalfare .walfareLeft{
}
.secWalfare .walfareLeft .leftTitle{
    color:#8CC63F;
    border:solid 2px #8CC63F;
    font-weight:bold;font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    text-align: center;
    letter-spacing: 1px;
}
.secWalfare .walfareRight{
    border-top:solid 1px #8CC63F;
    padding-top:15px;
}
.secWalfare .walfareRight .txtWalfare{
    font-size:16px;
}
.secWalfare .walfareRight .txtWalfare.txtArea01{
}
.secWalfare .walfareRight .txtWalfare.txtArea02{
    font-weight:bold;font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
}
.secWalfare .walfareRight .txtWalfare.txtArea03{
}
.secWalfare .walfareRight .txtWalfare.txtArea04{
}

.secWalfare .walfareRight .txtWalfare .pickup{
    color:#8CC63F;
    font-weight:bold;font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
}
.secWalfare .walfareRight .imgBalloon{
    padding-bottom: 10px;
}
.secWalfare .walfareRight .boxCap{
    background: #d1e8b2;
    font-weight:bold;font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
}
.secWalfare .walfareRight .boxNumber{
    background: #c3dcf3;
    font-weight:bold;font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
}
.secWalfare .walfareRight .boxNumber .tName{
    float:left;
    width:64%;
}
.secWalfare .walfareRight .boxNumber .tNumber{
    float:left;
    width:36%;
}
.secWalfare .walfareRight .boxNumber .tNumber .num{
    color:#1567B1;
    letter-spacing: 2px;
    padding-left:2px;
}
.secWalfare .walfareRight .boxGraph{
}


@media only screen and (max-width:767px){
    .secWalfare .walfareLeft .leftTitle{
        width:210px;
        height:45px;
        font-size:16px;
        line-height:20px;
        padding:10px 2px 15px 2px;
        margin:0 auto 20px auto;
    }
    .secWalfare .walfareRight .imgBalloon{
        text-align: center;
    }
    .secWalfare .walfareRight .boxCap{
        line-height: 27px;
        padding:15px 5px 15px 20px;
        font-size:14px;
        margin-bottom:20px;
    }
    .secWalfare .walfareRight .boxNumber{
        line-height: 27px;
        padding:15px 5px 15px 20px;
        font-size:14px;
        margin-bottom:25px;
    }
    .secWalfare .walfareRight .boxGraph{
        padding-bottom: 50px;
        text-align: center;
        margin-left:-3%;
        margin-right:-3%;
    }
    .secWalfare .walfareRight .txtWalfare{
        line-height:26px;
        font-size:15px;
        letter-spacing: -0.5px;
    }
    .secWalfare .walfareRight .txtWalfare.txtArea01{
        padding-bottom:18px;
    }
    .secWalfare .walfareRight .txtWalfare.txtArea02{
        padding-bottom:16px;
    }
    .secWalfare .walfareRight .txtWalfare.txtArea03{
        padding-bottom:40px;
    }
    .secWalfare .walfareRight .txtWalfare.txtArea04{
        padding-bottom:30px;
    }
}
@media print,screen and (min-width:768px){
    .secWalfare .walfareLeft{
        float:left;
        width:25%;
    }
    .secWalfare .walfareLeft .leftTitle{
        width:90%;
        max-width:240px;
        height:60px;
        font-size:18px;
        line-height:20px;
        padding:20px 2px;
    }

    .secWalfare .walfareRight{
        float:left;
        width:75%;
    }
    
    .secWalfare .walfareRight .boxCap{
        line-height: 28px;
        padding:20px 10px 20px 30px;
        font-size:16px;
        width:540px;
        margin-bottom:40px;
    }
    .secWalfare .walfareRight .boxNumber{
        line-height: 28px;
        padding:20px 10px 20px 30px;
        font-size:16px;
        max-width:710px;
        margin-bottom:25px;
    }
    .secWalfare .walfareRight .boxLeft{
        width:50%;
        float:left;
    }
    .secWalfare .walfareRight .boxRight{
        width:50%;
        float:left;
    }
    .secWalfare .walfareRight .boxNumber .tName{
    }
    .secWalfare .walfareRight .boxNumber .tNumber{
    }
    .secWalfare .walfareRight .boxNumber .tNumber .num{
    }
    .secWalfare .walfareRight .boxGraph{
        padding-bottom: 60px;
    }
    .secWalfare .walfareRight .txtWalfare{
        line-height:28px;
    }
    .secWalfare .walfareRight .txtWalfare.txtArea01{
        padding-bottom:35px;
    }
    .secWalfare .walfareRight .txtWalfare.txtArea02{
        padding-bottom:20px;
    }
    .secWalfare .walfareRight .txtWalfare.txtArea03{
        padding-bottom:60px;
    }
    .secWalfare .walfareRight .txtWalfare.txtArea04{
        padding-bottom:0px;
    }
}
@media only screen and (min-width:768px) and (max-width:991px){
    .secWalfare .walfareLeft .leftTitle {
        font-size: 13px;
        letter-spacing: 0px;
    }    
    .secWalfare .walfareRight .boxCap{
        font-size:14px;
    }
    .secWalfare .walfareRight .boxNumber{
        font-size:14px;
        letter-spacing: -2px;
    }
}

/*-----------------------------------------------------------
secInternal
-----------------------------------------------------------*/
.secInternal{
    background:url(../images/bgArrowWhite.png) center top no-repeat #f2f2f2;
    /*background-size:contain;*/
}
.secInternal .txtCaption{
}
.secInternal .listBox{
    background: #ffffff;
    display: block;
    position: relative;
}
.secInternal .listBox li{
    list-style: none;
}
.secInternal .listBox .list{
    background:url(../images/icoFlag.svg) left center no-repeat;
    font-weight:bold;font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    letter-spacing:0.1em;
}
.secInternal .listBox .list .pickup{
    color:#F15A24;
}
.secInternal .listBox .imgCircle{
    position:absolute;
}
.secInternal .boxFlexSystem{
    border:solid 2px #1567B1;
    background: #ffffff;
}
.secInternal .boxFlexSystem .titFlex{
    color:#1567B1;
    font-weight:bold;font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
}
.secInternal .boxFlexSystem .txtFlex{
}
.secInternal .boxFlexSystem .imgFlex{
}


@media only screen and (max-width:767px){
    .secInternal{
        background-image:url(../images/bgArrowWhiteSp.png);
        padding-top:30px;
        background-size:contain;
    }
    .secInternal .txtCaption{
        font-size:15px;
        line-height:26px;
        padding-bottom:30px;
    }
    .secInternal .listBox{
        padding:20px 0 20px 20px;
        margin:0 auto 75px auto;
    }
    .secInternal .listBox .list{
        line-height:28px;
        background-size:14px;
        padding-left:30px;
        font-size:14px;
    }
    .secInternal .listBox .list.leftPad{
        padding-left:20px;
    }
    .secInternal .listBox .imgCircle{
        width:33%;
        max-width:105px;
        bottom:-65px;
        right:-15px;
    }
    .secInternal .boxFlexSystem{
        margin-bottom:40px;
        padding:25px 10px 25px 20px;
    }
    .secInternal .boxFlexSystem .titFlex{
        font-size:18px;
        padding-bottom:10px;
    }
    .secInternal .boxFlexSystem .txtFlex{
        line-height:26px;
        font-size:14px;
        padding-bottom: 20px;
        letter-spacing: -0.2px;
    }
    .secInternal .boxFlexSystem .imgFlex{
    }
}
@media print,screen and (min-width:768px){
    .secInternal{
        padding-top:110px;
    }
    .secInternal .txtCaption{
        font-size:16px;
        text-align:center;
        line-height:28px;
        padding-bottom:50px;
    }
    .secInternal .listBox{
        box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.2);
        padding:25px 0 25px 50px;
        width:550px;
        margin:0 auto 80px auto;
    }
    .secInternal .listBox .list{
        line-height:36px;
        background-size:18px;
        padding-left:35px;
        font-size:18px;
    }
    .secInternal .listBox .list.leftPad{
        padding-left:25px;
    }
    .secInternal .listBox .imgCircle{
        width:170px;
        bottom:-35px;
        right:-90px;
        z-index:1;
    }
    .secInternal .boxFlexSystem{
        max-width: 900px;
        margin:0 auto 10px auto;
        padding:30px 43px;
    }
    .secInternal .boxFlexSystem .titFlex{
        font-size:18px;
        padding-bottom:15px;
    }
    .secInternal .boxFlexSystem .txtFlex{
        font-size:16px;
        line-height:28px;
        padding-bottom: 25px;
    }
    .secInternal .boxFlexSystem .imgFlex{
    }
}
@media print,screen and (max-width:359px){
    .secInternal .listBox {
        letter-spacing: 0em;
    }
}



/*-----------------------------------------------------------
secTraining
-----------------------------------------------------------*/
.secTraining{
    background:url(../images/bgArrowGray.png) center top no-repeat #ffffff;
    /*background-size: contain;*/
}
.secTraining .photoArea{
}
.secTraining .txtCaption{
}
.secTraining .boxTheme{
    background:#F2F2F2;
    text-align: center;
}
.secTraining .boxTheme .titTheme{
    font-weight:bold;font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
}
.secTraining .boxTheme .listTheme{
    font-weight:bold;font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
}
.secTraining .boxTheme .listTheme .themeIn{
    margin:0 auto;
}
.secTraining .boxTheme .listTheme .themeTitle{
    letter-spacing: 3px;
}
.secTraining .boxTheme .listTheme.theme01 .themeTitle{
    color:#8CC63F;
    background:url(../images/borderThemeGreen.svg) center bottom no-repeat;
    background-size:contain;
}
.secTraining .boxTheme .listTheme.theme02 .themeTitle{
    color:#1567B1;
    background:url(../images/borderThemeBlue.svg) center bottom no-repeat;
    background-size:contain;
}
.secTraining .boxTheme .listTheme.theme03 .themeTitle{
    color:#FF9B8B;
    background:url(../images/borderThemePink.svg) center bottom no-repeat;
    background-size:contain;
}
.secTraining .boxTheme .listTheme .txtSetting{
    white-space: nowrap;
}

/* boxDetail */
.secTraining .boxDetail{
}
.secTraining .boxDetail .leftArea{
}
.secTraining .boxDetail .leftArea .leftTitle{
    color: #8CC63F;
    border: solid 2px #8CC63F;
    font-weight:bold;font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    text-align: center;
    letter-spacing: 3px;
}
.secTraining .boxDetail .rightArea{
    border-top: solid 1px #8CC63F;
    padding-top: 15px;
}
.secTraining .boxDetail .rightArea .icon{
    display: inline-block;
    font-size:18px;
    font-weight:bold;font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    color:#ffffff;
    line-height:20px;
    width:30px;
    height:30px;
    text-align: center;
    padding:5px 0;
    margin:0 5px 5px 0;
}
.secTraining .boxDetail .rightArea .icon.type01{
    background: #8CC63F;
}
.secTraining .boxDetail .rightArea .icon.type02{
    background: #1567B1;
}
.secTraining .boxDetail .rightArea .icon.type03{
    background: #FF9B8B;
}
.secTraining .boxDetail .rightArea .detailText{
}
.secTraining .boxDetail .rightArea .detailText.text01{
}
.secTraining .boxDetail .rightArea .detailText.text02{
}
.secTraining .boxDetail .rightArea .detailText.text03{
}


@media only screen and (max-width:767px){
    .secTraining{
        background-image:url(../images/bgArrowGraySp.png);
        padding-top:30px;
        background-size:contain;
    }
    .secTraining .photoArea{
        padding-bottom:15px;
    }
    .secTraining .txtCaption{
        font-size:15px;
        line-height: 26px;
        padding-bottom:20px;
    }
    .secTraining .boxTheme{
        margin: 0 -6% 30px -6%;
        padding:30px 10px;
    }
    .secTraining .boxTheme .titTheme{
        font-size:18px;
        padding-bottom:25px;
        letter-spacing: 3px;
    }
    .secTraining .boxTheme .listTheme .themeIn{
        width:150px;
    }
    secTraining .boxTheme .listTheme .themeTitle{
        font-size:18px;
    }
    .secTraining .boxTheme .listTheme.theme01{
        width:100%;
        padding-bottom:20px;
    }
    .secTraining .boxTheme .listTheme.theme02{
        width:50%;
        float:left;
    }
    .secTraining .boxTheme .listTheme.theme03{
        width:50%;
        float:left;
    }
    .secTraining .boxTheme .listTheme .themeTitle{
        font-size:18px;
        padding-bottom: 20px;
    }
    .secTraining .boxTheme .listTheme .txtSetting{
        padding-top:15px;
        line-height:26px;
        font-size:14px;
    }
    
    /* boxDetail */
    .secTraining .boxDetail{
    }
    .secTraining .boxDetail .leftArea{
    }
    .secTraining .boxDetail .leftArea .leftTitle{
        width: 210px;
        height: 45px;
        font-size: 16px;
        line-height: 20px;
        padding: 10px 2px 15px 2px;
        margin: 0 auto 20px auto;        
    }
    .secTraining .boxDetail .rightArea{
    }
    .secTraining .boxDetail .rightArea .detailText{
        font-size:15px;
        line-height:26px;
        letter-spacing: -0.5px;
    }
    .secTraining .boxDetail .rightArea .detailText.text01{
        padding-bottom: 25px;
    }
    .secTraining .boxDetail .rightArea .detailText.text02{
        padding-bottom: 10px;
    }
    .secTraining .boxDetail .rightArea .detailText.text03{
        padding-bottom: 25px;
    }
    .secTraining .boxDetail .rightArea .detailText.text04{
        padding-bottom: 30px;
    }
    .secTraining .boxDetail .rightArea .detailContent{
        display: block;
        padding-left:30px;
        padding-bottom:5px;
        margin-top:-10px;
    }
}
@media print,screen and (min-width:768px){
    .secTraining{
        padding-top:110px;
    }
    .secTraining .photoArea{
        padding-bottom:40px;
    }
    .secTraining .photoArea .photoList{
        float:left;
        width: 30%;
        margin-right:5%;
    }
    .secTraining .photoArea .photoList:nth-of-type(3n){
        margin-right:0;
    }
    .secTraining .txtCaption{
        font-size:16px;
        line-height: 28px;
        text-align: center;
        padding-bottom:40px;
    }
    .secTraining .boxTheme{
        margin: 0 auto 60px auto;
        padding:40px 5.3%;
    }
    .secTraining .boxTheme .titTheme{
        font-size:24px;
        padding-bottom:35px;
        letter-spacing: 3px;
    }
    .secTraining .boxTheme .listTheme{
        width:33.3%;
        float:left;
    }
    .secTraining .boxTheme .listTheme .themeIn{
        width:200px;
    }
    .secTraining .boxTheme .listTheme.theme01{
    }
    .secTraining .boxTheme .listTheme.theme02{
    }
    .secTraining .boxTheme .listTheme.theme03{
    }
    .secTraining .boxTheme .listTheme .themeTitle{
        font-size:20px;
        padding-bottom: 30px;
    }
    .secTraining .boxTheme .listTheme .txtSetting{
        padding-top:15px;
        line-height:28px;
        font-size:16px;
    }
    
    /* boxDetail */
    .secTraining .boxDetail{
    }
    .secTraining .boxDetail .leftArea{
        float:left;
        width:25%;
    }
    .secTraining .boxDetail .leftArea .leftTitle{
        width: 90%;
        max-width: 240px;
        height: 60px;
        font-size: 18px;
        line-height: 20px;
        padding: 20px 2px;
    }
    .secTraining .boxDetail .rightArea{
        float: left;
        width: 75%;
    }
    .secTraining .boxDetail .rightArea .detailText{
        font-size:16px;
        line-height: 36px;
    }
    .secTraining .boxDetail .rightArea .detailText.text01{
        padding-bottom: 55px;
    }
    .secTraining .boxDetail .rightArea .detailText.text02{
        padding-bottom: 20px;
    }
    .secTraining .boxDetail .rightArea .detailText.text03{
        padding-bottom: 60px;
    }
    .secTraining .boxDetail .rightArea .detailText.text04{
        padding-bottom: 0px;
    }
}
@media only screen and (max-width:359px){
    .secTraining .boxTheme .titTheme {
        letter-spacing: 2px;
    }
}
@media only screen and (min-width:768px) and (max-width:991px){
    .secTraining .boxDetail .leftArea .leftTitle {
        font-size: 15px;
        letter-spacing: 0px;
    }    
}


/*-----------------------------------------------------------
secNext
-----------------------------------------------------------*/
.secNext{
    background:url(../images/bgArrowWhite.png) center top no-repeat #f2f2f2;
    /*background-size:contain;*/
}
.secNext .nextTitle{
    text-align: center;
    margin:0 auto;
}
.secNext .txtNext{
    text-align: center;
}
.secNext .nextBtn{
    font-weight:bold;font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    background:#1567b1;
    color:#ffffff;
    display: block;
    margin:0 auto;
}
.secNext .nextBtn .nextBtnIn{
    background:url(/recruit/images/arrow_2.png) right 40px center no-repeat;
    line-height:20px;
    display: block;
    text-align: center;
}

@media only screen and (max-width:767px){
    .secNext{
        background-image:url(../images/bgArrowWhiteSp.png);
        padding-top:30px;
        background-size:contain;
    }
    .secNext .nextTitle{
        padding-top:40px;
        padding-bottom:10px;
        max-width:310px;
    }
    .secNext .txtNext{
        font-size:12px;
        padding-bottom:15px;
    }
    .secNext .nextBtn{
        width:260px;
        height:50px;
        font-size:14px;
        margin-bottom: 50px;
    }
    .secNext .nextBtn .nextBtnIn{
        padding:15px 0;
    }
}
@media print,screen and (min-width:768px){
    .secNext{
        padding-top:110px;
    }
    .secNext .nextTitle{
        padding-top:80px;
        padding-bottom:15px;
        max-width:420px;
    }
    .secNext .txtNext{
        font-size:16px;
        padding-bottom:20px;
    }
    .secNext .nextBtn{
        width:340px;
        height:70px;
        font-size:16px;
        margin-bottom: 100px;
    }
    .secNext .nextBtn .nextBtnIn{
        padding:25px 0;
    }
    
}



/* -----------------------------------------------------------
hover
----------------------------------------------------------- */
a {
    color: #333;
}

a:hover {
    text-decoration: none;
    color: #333;
}

.nextBtn:hover{
    opacity: 0.8;
}

.jumpMenu li:hover{
    opacity: 0.8;
}
