/*body*/
.wrapper{
    width: 1000px;
    margin: 0 auto;
    text-align: left;
}
#company,
#facility,
#training,
#recreation,
#voice,
#recruit{
    padding: 175px 0 100px;
    text-align: center;
}
/*BK
.button{
    display: block;
    width: 220px;
    height: 65px;
    padding-top: 25px;
    background: #003399;
    text-align: center;
    letter-spacing: 0.17em;
    color:#fff;
}*/
/*マップ専用ボタン*/
.buttonMap{
    display: block;
    width: 220px;
    height: 65px;
    padding-top: 25px;
    background: #003399;
    text-align: center;
    letter-spacing: 0.17em;
    color:#fff;
}
.button{
    display: block;
    width: 440px;
    height: 65px;
    padding-top: 25px;
    background: #003399;
    text-align: center;
    letter-spacing: 0.17em;
    color:#fff;
}

.button:hover{
    background: #1851AD;
}

/*top*/
#top{
    width: 100%;
    position: relative;
    color:#fff;
    background: url('../img/bg_top.jpg');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    text-align: center;
}
#top a:link,
#top a:visited,
#top a:active{
    color:#fff;
}
#top h1{
    display: none;
    width: 660px; height: 230px;
    padding-top: 75px;
    background: rgba(0, 0, 0, 0.3);
    position: absolute;
    top: 0; bottom: 0; left: 0; right: 0;
    margin: auto;
    font-family: 'hannari';
    font-size: 50px;
}
#top h1> span{
    font-size: 60px;
    vertical-align: bottom;
}
#top h1> span:first-child:before{
    content: "";
    display: inline-block;
    width: 40px; height: 40px;
    border-top: 1px solid #fff;
    border-left: 1px solid #fff;
    position: relative;
    top:-15px;
    left:25px;
}
#top h1> span:first-child:after{
    content: "";
    display: inline-block;
    width: 40px; height: 40px;
    border-bottom: 1px solid #fff;
    border-right: 1px solid #fff;
    position: relative;
    bottom:-15px;
    right:25px;
}
#top h1> span:nth-child(2){
    margin-left: -20px;
}
#top .firstStep{
    display: block;
    width: 70px; height: 20px;
    font-size: 18px;
    position: absolute;
    left :0; right: 0;
    bottom:70px;
    margin:auto;
    font-family: 'share';
}
#top .firstStep:hover{
    bottom:75px;
}
#top .firstStep:after{
    content: "";
    display: block;
    width: 50px; height: 50px;
    margin: -15px auto 0;
    border-bottom: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
}

/*company*/
#company .motto{
    width: 100%;
    padding: 50px 0 1px;
    background: url('../img/bg_motto.jpg');
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: cover;
    color:#fff;
}
#company .president{
    padding: 50px 0 0;
}
#company .wrapper{
    display: table;
}
#company .presWrap{
    display: table-cell;
    vertical-align: top;
}
#company .presWrap:first-child{
    width: 400px;
}
#company .presWrap:first-child h3{
    width: 300px;
    text-align: center;
}
#company .presWrap > div{
    width: 300px;
    height: 300px;
    border-radius: 50%;
    overflow: hidden;
}
#company .presWrap > div img{
    width: 100%;
}

#company .presWrap:last-child{
    width: 600px;
    text-align: left;
}
#company .presWrap:last-child >p{
    margin: 0 0 30px;
}
#company .presWrap:last-child >h4{
    margin: 0 0 10px;
}
#company .presWrap > p:last-child{
    margin: 0;
    text-align: right;
}
#company .presWrap > p:last-child br{
    display: block;
}

/*Facility*/
#facility{
    background: url('../img/bg_facility.jpg');
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: cover;
}
#facility .imgWrap{
    display: table;
    width: 100%;
    margin-bottom: 50px;
}
#facility .imgWrap > section{
    display: table-cell;
}
#facility .imgWrap img{
    width: 100%;
}
#facility #map_canvas{
    width: 1000px;
    height: 400px;
    margin: 0 auto 50px;
    border: 1px solid #003399;
}
#facility section,
#facility aside{
    width: 600px;
    margin: 0 auto;
    text-align: left;
}
#facility section{
    position: relative;
    margin-bottom: 20px;
}
#facility section > *{
    display: inline-block;
    vertical-align: top;
}
#facility section p,
#facility aside p{
    margin: 0;
}
#facility section p{
    width: 355px;
}
#facility .button{
    position: absolute;
    right: 0;
    letter-spacing: 0;
}
#facility aside > p:first-child{
    font-weight: bold;
}

/*training*/
#training h3 br{display: none;}

#training .stepUp{
    position: relative;
    width: 600px;
    height: 500px;
    margin: 0 auto;
    color:#fff;
}
#training .stepUp > h3{
    display: block;
    width: 210px;
    height: 30px;
    color: #003399;
    margin: 0;
    position: absolute;
    left: 20px;
}
#training .stepUp > h3:nth-of-type(1){ top: 30px; }
#training .stepUp > h3:nth-of-type(2){ top: 60px; }
#training .stepUp > h3:nth-of-type(1):after{width: 210px;}
#training .stepUp > h3:nth-of-type(2):after{width: 130px;}
#training .stepUp > h3:nth-of-type(1):after,
#training .stepUp > h3:nth-of-type(2):after{
    content:"";
    display: block;
    height: 13px;
    margin: 0 auto;
    position: relative;
    top:-10px;
    background: rgba(0, 51, 153, 0.1);
}
#training .stepUp > section{
    width: 150px;
    padding-top: 15px;
    position: absolute;
    bottom: 0;
}
#training .stepUp > section:nth-of-type(1){
    left:0;
    height: 200px;
    background: #2a8ef2;
}
#training .stepUp > section:nth-of-type(2){
    left:150px;
    height: 300px;
    background: #2375d8;
}
#training .stepUp > section:nth-of-type(3){
    right:150px;
    height: 400px;
    background: #1c5dba;
}
#training .stepUp > section:nth-of-type(4){
    right:0;
    height: 500px;
    background: #003399;
}
#training .stepUp > section:nth-of-type(5){
    left:20px;
    top:245px;
    width: 50px;
    height: 50px;
    padding: 0;
}
#training .stepUp > section:nth-of-type(5) img{
    width: 100%;
}

#training .stepUp section > p{
    width: 130px;
    font-size: 14px;
    text-align: left;
    margin: 0 auto;
}
#training aside{
    width: 1000px;
    height: 540px;
    margin: 50px auto 0;
    position: relative;
}
#training aside > h3 br{display: block;}
#training aside > p{margin: 0 auto 30px;}
#training aside >div{
    position: absolute;
    width: 300px;
    height: 300px;
    border-radius: 50%;
    background: #ccc;
    overflow: hidden;
}
#training aside >div:nth-of-type(1){left: 0;}
#training aside >div:nth-of-type(2){ left :0; right: 0; margin: auto;}
#training aside >div:nth-of-type(3){right: 0;}
#training aside >div img{ width: 100%; }



/*recreation*/
#recreation h3 br{display: none;}
#recreation{
    background: url('../img/bg_recteation.jpg');
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
    color:#fff;
}
#recreation article{
    width: 1000px;
    height: 460px;
    margin: 0 auto;
    position: relative;
}
#recreation article:nth-of-type(1){margin-bottom: 80px;}

#recreation h3,
#recreation p{
    width: 600px;
    margin: 30px auto;
}
#recreation article > div{
    position: absolute;
    width: 300px;
    height: 300px;
    border-radius: 50%;
    background: #ccc;
    overflow: hidden;
}
#recreation article > div:nth-of-type(1){left: 0;}
#recreation article > div:nth-of-type(2){ left :0; right: 0; margin: auto;}
#recreation article > div:nth-of-type(3){right: 0;}
#recreation article > div img{ width: 100%; }

/*voice*/
#voice article{
    display: table;
    text-align: left;
    margin: 0 auto 80px;
}
#voice article section{
    display: table-cell;
    vertical-align: top;
}
#voice article section:first-of-type{
    width: 400px;
    padding-right: 100px;
}
#voice article section:last-of-type{
    width: 600px;
}
#voice article section h3,
#voice article section h4{
    text-align: center;
    margin-bottom: 20px;
}
#voice article section div{
    width: 300px;
    height: 300px;
    border-radius: 50%;
    overflow: hidden;
}
#voice article section div img{
    width: 100%;
}
#voice article section span{
    display: block;
    font-weight: bold;
    margin-bottom: 1em;
}
#voice article section p{
    margin: 0 auto 3em;
}

/*recruit*/
/*
#recruit  .button{
    display: block;
    font-family: 'share';
    margin: 0 auto;
}
*/
/*recruit タレントプール対応*/
#recruit  .button{
    display: block;
    font-family: 'share';
    margin: 50px auto;
}
#recruit  .wrapper{
}
#recruit .recWrap1,
#recruit .recWrap2{
    display: table;
    width: 100%;
}
#recruit h3{ text-align: center; }

#recruit article{
    display: table-cell;
    vertical-align: top;
    width: 50%;
}
#recruit article.career,
#recruit article.recCom:last-child{
    padding-left: 25px;
}
#recruit article dl{
    display: table;
    width:475px;
    height: 65px;
    padding: 10px ;
    border-top: 1px solid #ccc;
}
#recruit article dt {
    display: table-cell;
    width: 120px;
    font-weight: bold;
}
#recruit article dd{
    display: table-cell;
}
#recruit article li{
    list-style: circle;
    margin-top: 5px;
}

    /*onliy recWrap1*/
#recruit article dl:nth-child(3){
    height: 140px;
}
#recruit h3{
    margin-bottom: 20px;
}
#recruit .recWrap1{
    margin-bottom: 50px;
}
#recruit .recWrap1 article dl:last-child dt,
#recruit .recWrap1 article dl:last-child dd{
    display: block;
}
#recruit .recWrap1 article dl:last-child dd{
    height: 91px;
    margin-top: 10px;
    padding-left: 10px;
    color: rgba(0, 0, 0, 0);
}
#recruit .newgrad dl:last-child dd{background: url('../img/rec_flow01.png');}
#recruit .career dl:last-child dd{background: url('../img/rec_flow02.png');}
#recruit .newgrad dl:last-child dd,
#recruit .career dl:last-child dd{
    background-repeat: no-repeat;
    background-position: 10px top;
}
/*
#recruit .recWrap1 article li:nth-last-child(-n+2){
    font-size: 12px;
    list-style: none;
}

#recruit .recWrap1 article.career li:nth-last-child(-n+3){
    font-size: 12px;
    list-style: none;
}

#recruit .recWrap1 li:nth-last-child(-n+2):before{
    content: "※";
    margin-right: 5px;
}

#recruit .recWrap1 article.career li:nth-last-child(-n+3):before{
    content: "※";
    margin-right: 5px;
}
*/
    /*onliy recWrap2*/
#recruit .recWrap2{
    margin-bottom: 20px;
}

/*footer*/
footer{
    width: 100%;
}
/*BK
footer .toTop{
    display: block;
    width: 70px;
    height: 80px;
    font-size: 18px;
    position: relative;
    top: 10px;
    left :0; right: 0;
    margin:auto;
    text-align: center;
    font-family: 'share';
    color:#003399;
}*/

footer .toTop{
    display: block;
    width: 70px;
    height: 80px;
    font-size: 18px;
    position: relative;
    top: 10px;
    left :0; right: 0;
    margin:auto;
    text-align: center;
    font-family: 'share';
    color:#003399;
}

footer .toTop:hover{
    top:5px;
}
footer .toTop:before{
    content: "";
    display: block;
    width: 50px; height: 50px;
    margin: 0 auto -15px;
    border-top: 2px solid #003399;
    border-left: 2px solid #003399;
    transform: rotate(45deg);
}

footer nav{
    width: 100%;
    background: #003399;
    font-size: 14px;
    letter-spacing: 0.17em;
    text-align: center;
    z-index: 10;
}
footer nav > ul{
    width: 1000px;
    padding: 50px 0;
    display: table;
    height: 30px;
    margin: 0 auto;
}
footer nav >ul li{
    display: table-cell;
    border-left: 1px solid #fff;
}
footer nav >ul li:first-child{
    width: 100px !important;
    border-left: none;
}
footer nav li a{
    display: block;
    width: 100%;
    height: 30px;
    color:#fff;
    position: relative;
}
footer nav li a span{
    display: block;
    height: 15px;
    position: absolute;
    top: 0; bottom: 0; left: 0; right: 0;
    margin: auto;
}
footer nav >ul li:first-child span{
    width: 47px;
    height: 30px;
    overflow: hidden;
}
footer nav >ul li:first-child span:hover img{
    opacity: 0.8;
}
footer nav li a img{
    width: 100%;
    position: relative;
    top:-60px
}

footer nav li a span.eng,
footer nav li a:hover span.jpn{
    display: inline;
    width: 100%;
}
footer nav li a span.eng{
    font-family: 'share';
}
footer nav li a:hover span.eng,
footer nav li a span.jpn{
    display: none;
}

footer nav .button{
    margin: 0 auto;
    background: #fff;
    color: #003399;
    font-family: 'share';
}
footer nav .button:hover{
    background: #fff;
    opacity: 0.8;
}
footer nav section{
    width: 220px;
    height: 40px;
    margin: 30px auto;
    position: relative;
}
footer nav section > *{
    display: inline-block;
    vertical-align: middle;
    color: #fff;
    font-family: 'share';
    letter-spacing: 0;
    font-size: 15px;
    position: absolute;
}
footer nav section > *:hover{
    opacity: 0.8;
}
footer nav section > p{
    width: 46px;
    height: 16px;
    left: 0;
    top: 0; bottom: 0;
    margin: auto;
}
footer nav section > a{
    height: 40px;
    margin: 0;
}
footer nav section > a:nth-of-type(1){right: 0; left: 0; margin: auto;}
footer nav section > a:nth-of-type(2){right: 0;}
footer nav  section > a img{
    height: 100%;
}
footer small{
    display: block;
    height: 20px;
    margin-top: 50px;
    color: rgba(255, 255, 255, 0.3);
    font-size: 13px;
    letter-spacing: 0;
}
