@charset "UTF-8";

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


.information{
    padding-top: 40px;
    padding-bottom: 40px;
    background: #EFEFEF;
}

.informationTitle{
    float: left;
    width: 20%;
}

.information dl{
    float: left;
    width: 80%;
}

.information dt{
    font-size: 15px;
    color: #232323;
    float: left;
    font-weight: normal;
    width: 15%;
    margin-bottom: 15px;
}

.information dd a{
    font-size: 15px;
    color: #333333;
    float: left;
    width: 85%;
    word-wrap: break-word;
    margin-bottom: 15px;
    text-decoration: underline;
}

.information dd a:hover{
    color: #666666;
}

.t7_b10{
    padding-top: 60px;
    font-size: 16px;
    font-weight:bold;font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    color: #232323;
    line-height: 26px;
    letter-spacing: 1.4px;
}

.about{
    padding-top: 100px;
    font-size: 16px;
    font-weight:bold;font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    color: #232323;
    line-height: 26px;
    letter-spacing: 1.4px;

}

.white_arrow{
    min-height: 114px;
    background: #EFEFEF;
    background-image: url(/recruit/images/white_bg.png);
    background-position: bottom center;
    background-size: cover;
    background-repeat: no-repeat;
}

.gray_arrow{
    min-height: 114px;
    background: #fff;
    background-image: url(/recruit/images/gray_bg.png);
    background-position: bottom center;
    background-size: cover;
    background-repeat: no-repeat;
}

.aboutLeftBox{
    width: 50%;
    float: left;
    position: relative;
}

.aboutLeftImg1{
}

.aboutLeftImg1 img{
    margin: auto;
}

.aboutLeftImg2{
    position: absolute;
    top: 47%;
    z-index: 2;
}

.aboutLeftImg3{
    position: absolute;
    top: 70%;
    z-index: 1;
    right: 27%;
}

.aboutLeftImg3 img{
    margin: auto;
}

.aboutRightBox{
    width: 50%;
    float: left;
}

.aboutTitle{
    margin-top: 5px;
    margin-bottom: 40px;
}

.aboutText{
    margin-bottom: 50px;
}

.box{
    clear: both;
    max-width: 500px;
    width: 100%;
    height: 130px;
    padding: 25px 0px;
    position: relative;
    background: #fff;
}

.aboutBox{
    border: 1px solid #1567b1;
    margin-left: 20px;
}

.aboutBox::before{
    content: "";
    border-bottom: 1px solid #1567b1;
    position: absolute;
    top: 64px;
    width: 120px;
    left: -120px;
}

.aboutBox::after{
    content: "";
    border: 2.5px solid #1567b1;
    position: absolute;
    top: 62px;
    width: 2px;
    border-radius: 50%;
    left: -122px;
}

.aboutBoxText{
    color: #1567b1;
    letter-spacing: 1.4px;
    margin-bottom: 10px;
    line-height: 20px;
    padding-left: 80px;
    background-image: url(/recruit/images/question_1.png);
    background-repeat: no-repeat;
    background-position: left 40px top;
}

.aboutBoxText:last-child{
    margin-bottom: 0px;
}

.boxLink{
    position: absolute;
    bottom: -30px;
    right: -13%;
    width: 300px;
    height: 50px;
    line-height: 50px;
    font-weight: normal;
    padding-right: 10px;
    text-align: center;
    font-size: 15px!important;
}

.aboutBoxLink{
    background: #1567b1;
    color: #fff;
    background-image: url(/recruit/images/arrow_2.png);
    background-repeat: no-repeat;
    background-position: right 30px center;
}

.work{
    background: #EFEFEF;
}

.workLeftBox{
    width: 54%;
    float: left;
}

.workTitle{
    margin-bottom: 40px;
}

.workText{
    margin-bottom: 40px;
}

.workLeftImg img{
    margin-bottom: 10px;
}

.workImgText{
    color: #1567b1;
    text-align: center;
    font-size: 15px;
    line-height: 15px;
}

.workLeftImg{
    margin-bottom: 30px;
}

.workSubText{
    clear: both;
    font-size: 13px;
    line-height: 20px;
}

.workRightBox{
    width: 46%;
    float: right;
}

.workImg{
    margin-bottom: 50px;
}

.workImg img{
    margin-left: auto;
}

.workBox{
    border: 1px solid #29abe2;
    margin-left: 20px;
}

.workBox::before{
    content: "";
    border-left: 1px solid #29abe2;
    position: absolute;
    top: -190px;
    height: 190px;
    width: 2px;
    right: 50px;
}

.workBox::after{
    content: "";
    border: 2.5px solid #29abe2;
    position: absolute;
    top: -190px;
    width: 2px;
    border-radius: 50%;
    right: 49px;
}

.workBoxLink{
    background: #29abe2;
    color: #fff;
    right: -3%;
    background-image: url(/recruit/images/arrow_2.png);
    background-repeat: no-repeat;
    background-position: right 30px center;
}

.workBoxText{
    color: #29abe2;
    letter-spacing: 1.4px;
    margin-bottom: 10px;
    line-height: 20px;
    padding-left: 80px;
    background-image: url(/recruit/images/question_2.png);
    background-repeat: no-repeat;
    background-position: left 40px top;
}

.environmentTitle{
    text-align: right;
    margin-bottom: 30px;
}

.environmentBoxTopLeft{
    width: 36%;
    float: left;
    position: relative;
    background: #EFEFEF;
    padding: 40px;
    padding-right: 20px;
}

.environment_abu{
    position: absolute;
    top: -15px;
    left: -15px;
}

.environmentPointTitle{
    color: #1567b1;
    font-size: 24px;
    margin-bottom: 20px;
}

.environmentList{
    padding-left: 20px;
    letter-spacing: 4px;
    line-height: 18px;
    margin-bottom: 10px;
}

.environmentList li{
    margin-bottom: 10px;
}

.environmentBoxTopRight{
    width: 60%;
    float: right;
    position: relative;
}

.environmentTopImg1 img{
}

.environmentTopImg2 img{
    position: absolute;
    bottom: 0;
    left: 120px;
    z-index: 2;
}

.environmentTopImg3 img{
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
}

.environmentBoxBottomLeft{
    float: left;
}

.environmentBoxBottomRight{
    width: 50%;
    float: right;
    letter-spacing: 2.8px;
    padding-top: 25px;
}

.environmentBoxBottomLeft{
    border: 1px solid #7ac943;
}

.environmentBoxBottomLeft::before{
    content: "";
    border-left: 1px solid #7ac943;
    position: absolute;
    top: -70px;
    height: 70px;
    width: 2px;
    left: 90px;
}

.environmentBoxBottomLeft::after{
    content: "";
    border: 2.5px solid #7ac943;
    position: absolute;
    top: -70px;
    width: 2px;
    border-radius: 50%;
    left: 88px;
}

.environmentBoxLink{
    background: #7ac943;
    color: #fff;
    right: -7%;
    background-image: url(/recruit/images/arrow_2.png);
    background-repeat: no-repeat;
    background-position: right 20px center;
}

.environmentBoxText{
    color: #7ac943;
    letter-spacing: 1.4px;
    margin-bottom: 10px;
    line-height: 20px;
    padding-left: 80px;
    background-image: url(/recruit/images/question_3.png);
    background-repeat: no-repeat;
    background-position: left 40px top;
}

.member{
    background: #EFEFEF;
    padding-bottom: 114px;
}

.memberTitle{
    margin-bottom: 40px;
}

.memberTitle img{
    margin: auto;
}

.memberText{
    text-align: center;
    margin-bottom: 50px;
}

.memberImgArea > div{
    width: 25%;
    float: left;
}

.member_2,.member_4{
    margin-top: 15%;
}

.memberQuestionBox{
    border: 1px solid #ff9b8b;
    margin-left: 220px;
}

.memberImgArea{
    overflow: hidden;
    margin-bottom: 60px;
}

.memberQuestionBox::before{
    content: "";
    border-left: 1px solid #ff9b8b;
    position: absolute;
    top: -80px;
    height: 80px;
    width: 2px;
    left: 50px;
}

.memberQuestionBox::after{
    content: "";
    border: 2.5px solid #ff9b8b;
    position: absolute;
    top: -80px;
    width: 2px;
    border-radius: 50%;
    left: 48px;
}

.memberBoxLink{
    background: #ff9b8b;
    color: #fff;
    right: -270px;
    background-image: url(/recruit/images/arrow_2.png);
    background-repeat: no-repeat;
    background-position: right 35px center;
}

.memberBoxText{
    color: #ff9b8b;
    letter-spacing: 1.4px;
    margin-bottom: 10px;
    line-height: 20px;
    padding-left: 80px;
    background-image: url(/recruit/images/question_4.png);
    background-repeat: no-repeat;
    background-position: left 40px top;
}


.center{
    display: inline-block;
}

.text_center{
    text-align: center;
    height: 90px;
}


@media screen and (max-width:767px) {
    .informationTitle{
        width: 50%;
        margin-bottom: 15px;
    }
    .information{
        padding-top: 25px;
        padding-bottom: 20px;
    }
    .aboutLeftImg1{
        width: 95%;
        margin-bottom: 15px;
    }
    .aboutTitle{
        width:85%;
        margin-bottom: 15px;
    }
    .information dl{
        width: 100%;
        clear: both;
    }
    .information dt{
        width: 100%;
        margin-bottom: 10px;
    }
    .information dd a{
        width: 100%;
    }
    .about{
        padding-top: 20px;
    }
    .aboutLeftBox,.aboutRightBox,.workLeftBox,.workRightBox,.environmentBoxTopRight,.environmentBoxBottomRight,.environmentBoxTopLeft,.environmentBoxBottomLeft{
        width: 100%;
        clear: both;
        float: none;
    }
    .aboutBox,.workBox,.memberQuestionBox{
        margin-left: 0px;
        max-width: 100%;
    }
    .aboutTitle,.aboutText{
        padding-left: 30px;
    }
    .aboutBox::before {
        border-left: 1px solid #1567b1;
        top: -280%;
        width: 1px;
        height: 280%;
        left: 10px;
    }
    .aboutBox::after {
        top: -280%;
        width: 1px;
        left: 8px;
    }
    .aboutText{
        margin-bottom: 20px;
    }
    .boxLink {
        position: absolute;
        bottom: -40px;
        right: 0;
        left: 0;
        margin: auto;
        width: 90%;
    }
    .memberImgArea > div{
        width: 100%;
        float:none;
        clear: both;
    }
    .memberImgArea > div > div{
        width: 50%;
        float: left;
    }
    .white_arrow{
        background-image: url(/recruit/images/sp/white_bg.png);
        min-height: 100px;
    }
    .gray_arrow{
        background-image: url(/recruit/images/sp/gray_bg.png);
        min-height: 100px;
    }
    .work,.environment,.member{
        padding-top: 30px;
    }
    .workTitle{
        width: 80%;
        margin-bottom: 15px;
    }
    .workText{
        margin-bottom: 20px;
    }
    .workLeftImg img{
        margin-bottom: 5px;
    }
    .workLeftImg{
        margin-bottom: 10px;
    }
    .workImgBox{
        overflow: hidden;
        margin-bottom: 10px;
    }
    .t7_b10{
        line-height: inherit;
    }
    .workSubText{
        margin-bottom: 15px;
    }
    .workImg{
        margin-bottom: 20px;
    }
    .workBox::before{
        top: -50%;
        height: 50%;
        width: 2px;
        right: unset;
        left: 15px;
    }
    .workBox::after{
        top: -50%;
        width: 2px;
        border-radius: 50%;
        right: unset;
        left: 13px;
    }
    .environmentTitle{
        text-align: left;
        margin-bottom: 15px;
    }
    .environmentBoxBottomRight{
        padding-top: 15px;
        padding-bottom: 30px;
    }
    .environmentBoxTopLeft{
        padding: 20px;
        margin-bottom: 20px;
    }
    .environmentList li{
        margin-bottom: 5px;
    }
    .environment_abu{
        position: absolute;
        top: -10px;
        left: -10px;
        width: 40px;
    }
    .environmentBoxBottomLeft::before {
        top: -30%;
        height: 30%;
        width: 2px;
        left: 0;
        right: 0;
        margin: auto;
    }
    .environmentBoxBottomLeft::after {
        top: -30%;
        width: 2px;
        left: 0;
        right: 0;
        margin: auto;
    }
    .memberTitle{
        width: 60%;
        margin: auto;
        text-align: center;
        margin-bottom: 15px;
    }
    .memberText{
        margin-bottom: 20px;
        letter-spacing: 3px;
    }
    .member_2, .member_4{
        margin-top: 28%;
    }
    .member_3{
        margin-top: -10%;
    }
    .member_4{
        margin-top: 15%;
    }
    .memberImgArea{
        margin-bottom: 20px;
    }
    .memberQuestionBox::before{
        top: -60px;
        height: 60px;
        width: 2px;
        left: 80px;
    }
    .memberQuestionBox::after{
        top: -60px;
        width: 2px;
        left: 78px;
    }
    .member{
        padding-bottom: 0px;
    }
    .about{
        font-size: 15px;
        line-height: 24px;
        letter-spacing: 4.4px;
    }

    .aboutBoxText{
        padding-left: 40px;
        background-image: url(/recruit/images/sp/question_1.png);
        background-position: left 16px top;
        background-size: 12px;
        letter-spacing: inherit;
    }
    .t7_b10{
        font-size: 15px;
        letter-spacing: inherit;
        letter-spacing: 4.4px;
    }
    .workSubText{
        font-size: 15px;
    }
    .workImgText{
        letter-spacing: 0px;
    }

    .box{
        padding: 25px 0px 10px;
        height: auto;
    }
    .workBoxText {
        padding-left: 40px;
        background-image: url(/recruit/images/sp/question_2.png);
        background-position: left 16px top;
        background-size: 12px;
        letter-spacing: inherit;
    }
    .environmentBoxBottomRight{
        letter-spacing: 4.4px;
    }
    .environmentBoxText{
        padding-left: 40px;
        background-image: url(/recruit/images/sp/question_3.png);
        background-position: left 16px top;
        background-size: 12px;
        letter-spacing: inherit;
    }
    .memberBoxText{
        padding-left: 40px;
        background-image: url(/recruit/images/sp/question_4.png);
        background-position: left 16px top;
        background-size: 12px;
        letter-spacing: inherit;
    }
}

/* -------------------------------------------------- */
body{
    overflow: hidden;
}

/* top */
.messageTop{
    font-size: 16px;
    color: #232323;
    line-height: 26px;
    letter-spacing: 1.4px;
    background: #f2f2f2;
    margin-bottom: 80px;
    padding-bottom: 60px;
}


.messageTop .textArea{
    font-weight:bold;font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    letter-spacing: 3px;
    text-align: center;
    margin-bottom: 71px;
}
.messageTop .textArea .topMsgImage{
    position:relative;
    z-index: 1;
    margin:0 auto;
}



.messageTop .textArea p {
    margin: 0 0 30px;
}

.messageTop .textArea img{
    margin: auto;
    margin-bottom: 50px;
}

.messageTop .textArea .topText{
    line-height:28px;
}

.messageTop .topPictureSec{
    display: flow-root;
    min-width: 1600px;
    margin: auto 30px;
}

.messageTop .topPictureSec img{
    float: left;
    width: 12.4%;
    margin-left: 2.2%;
}



@keyframes slideAnimation{
    0%{
        left:0%;
    }
    100%{
        left:-50%;
    }
}

@media screen and (max-width:767px) {
    .messageTop .topPictureSec{
        position: relative;
        left: -93px;
        bottom: 0;
        height:95px;
        width:2520px;
    }
    .messageTop .topPictureSec .scrollIn{
        position:absolute;
        width:100%;
        animation:slideAnimation 20s infinite linear;
    }

    .messageTop .topPictureSec img{
        width: 150px;
        margin-left:30px;
    }    
    
    
    .messageTop{
        padding-bottom: 40px;
        font-size: 15px;
        line-height: 25px;
        letter-spacing: 1px;
        margin-bottom: 50px;
    }

    .messageTop .textArea {
        width: 95%;
        margin: auto;
        margin-bottom: 45px;
        letter-spacing: 2px;
    }

    .messageTop .topText{
        width: 95%;
        margin: auto;
    }    

    .messageTop .textArea img{
        width: 80%;
        margin: auto;
        margin-bottom: 32px;
    }    
}
@media print, screen and (min-width:768px){
    .messageTop .textArea{
        padding-top:25px;
    }
    .messageTop .textArea .topMsgImage{
        width:450px;
    }
    .messageTop .topPictureSec img:first-child{
        margin-left: 0;
    }

    .messageTop .topPictureSec img:last-child{
        margin-right: 0;
    }
}

/* President */
.President{
    max-width: 1200px;
    width: 95%;
    margin: auto;
    font-size: 16px;
    color: #232323;
    line-height: 26px;
    letter-spacing: 1.4px;
}

@media screen and (max-width:767px) {
    .President{
        width:100%;
    }
    .President .maxWidth{
        width: 90%;
        margin: auto;
    }
}

.President .titleArea{
    font-size: 36px;
    font-weight:bold;font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    color: #333;
    line-height: 32px;
    letter-spacing: 4px;
    text-align: center;
}

.President .titleLine{
    background: #1567b1;
    width: 36px;
    height: 4px;
    margin: auto;
    margin-top: 28px;
    margin-bottom: 15px;
}
.President .titleAreaBox{
    position: relative;
    margin:0 auto;
}
.President .titleAreaBox:before{
    content: "";
    position: absolute;
    left:0%;
    right:0%;
    height:100%;
    transition: 1.0s;
    background: #ffffff;
}
.President .titleAreaBox.is-animated:before{
    left:100%;
    transition: 1.0s;
}
.President .titleAreaSecBox{
    margin: auto;
    margin-bottom: 40px;
}

.President .leadArea{
    font-size: 24px;
    font-weight:bold;font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    color: #023665;
    line-height: 40px;
    letter-spacing: 4px;
    padding-left: 24px;
    border-left: solid 4px #023665;
    margin-bottom: 40px;
}

.President .bodyArea{
}
.President .bodyArea .pictureArea{
    display: inline-block;
    font-weight:bold;font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    text-align: center;
}

.President .bodyArea .pictureArea .bigText{
    font-size: 25px;
    font-weight:bold;font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    line-height: 35px;
    letter-spacing: 1.4px;
}

.President .bodyArea .pictureArea img{
    margin-bottom: 10px;
}


.President .bodyArea .textArea{
    font-size: 15px;
    line-height: 24px;
    letter-spacing: 1px;
}

.President .bodyArea .textArea .redLine{
    font-weight:bold;font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    background: linear-gradient(transparent 70%, #ffcdc5 70%);
}

.President .bodyArea .textArea .redText{
    font-size: 18px;
    font-weight:bold;font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    color: #c1272d;
}

.President .bodyArea .textArea .blueText{
    font-weight:bold;font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    color: #1567b1;
}

@media screen and (max-width:1200px) {
    .President .bodyArea .textArea{
        padding-left: 20px;
    }
}

@media screen and (max-width:767px) {
    .President .bodyArea .textArea{
        padding-left: 0px;
        letter-spacing: 0px;
    }
    
    .President .titleAreaSecBox {
        max-width: 97%;
        margin: auto;
        margin-bottom: 20px;
    }
    
    .President .titleLine {
        width: 30px;
        margin-top: 10px;
    }
    .President .bodyArea .pictureArea{
        display: block;
        margin-bottom: 25px;
    }
    .President .bodyArea .pictureArea .bigText {
        font-size: 20px;
        line-height: 30px;
    }
    .President .bodyArea .pictureArea img {
        margin: auto;
        margin-bottom: 10px;
    }
    .President .titleArea {
        font-size: 26px;
        line-height: 36px;
        margin-bottom: 10px;
    }   
    .President .leadArea {
        font-size: 18px;
        line-height: 26px;
        letter-spacing: 2px;
        padding-left: 14px;
        margin-bottom: 20px;
    }
    .white_arrow {
        min-height: 70px;
    }
}

@media print,screen and (min-width: 768px){
    .President .titleAreaBox{
        width:730px;
    }
    .President .bodyArea .textArea{
        font-size: 16px;
    }
    .President .bodyArea .pictureArea{
        display: block;
    }
}

/* --------------------------------------------------
next
-------------------------------------------------- */
a:hover {
    text-decoration: none;
}

a:hover {
    color: #999999;
}

.nextBtn:hover{
    opacity: 0.8;
}

.next{
    padding-top: 100px;
    padding-bottom: 76px;
    font-size: 16px;
    color: #232323;
    line-height: 26px;
    letter-spacing: 1px;
    background: #efefef;
}

.next .maxWidth{
    max-width: 1200px;
    width: 90%;
    margin: auto;
}

.next .nextTitle{
    text-align: center;
    margin-bottom: 20px;
}

.next .nextTitle img{
    margin: auto;
    margin-bottom: 10px;
}

.next .nextBtn{
    text-align: center;
    height: 90px;
}

.next .nextBtn .nextBtnSec{
    display: inline-block;
}

.next .nextBtn .nextBtnSec .nextPage{
    width: 340px;
    height: 70px;
    border: 1px solid #1567b1;
    color: #fff;
    background: #1567b1;
    text-align: center;
    font-weight:bold;font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    display: table-cell;
    vertical-align: middle;
    background-image: url(/recruit/images/arrow_2.png);
    background-repeat: no-repeat;
    background-position: right 50px center;
}

@media screen and (max-width: 767px){
    .next .nextBtn .nextBtnSec .nextPage {
        height: 50px;
        font-size:14px;
    }

    .next .nextTitle {
        margin-bottom: 15px;
    }

    .next .nextTitle img {
        margin: auto;
        margin-bottom: 5px;
    }

    .next{
        font-size: 12px;
        line-height: 20px;
        padding-top: 40px;
        padding-bottom: 30px;
        letter-spacing: 2px;
    }

    .next .nextTitle img{
        max-width: 320px;
        width: 95%;
    }

    .next .nextBtn {
        width:260px;
        margin: auto;
        height: 50px;
    }
}

