@charset "utf-8";

/* index.html
-------------------------------*/
/* メインimage
-------------------------------*/
.top01{
    width: 100%;
    height: 63vw;
    background: url(../img/top/top01_img.jpg) center top/cover no-repeat;
    padding-top: 215px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}
.top01_txt{
    width: 75vw;
    color: #fff;
}
.top01_txt .cp01{
    font-size: 6.25vw;
    line-height: 1.25em;
    font-weight: 700;
    text-shadow: 0 0 1vw rgba(0,131,165,0.7);
}
.top01_txt .cp02{
    width: 44vw;
    margin-top: 1vw;
    margin-bottom: 1vw;
}
.top01_txt .cp03{
    font-size: 0.9vw;
    line-height: 1.8em;
    font-weight: 500;
    
}
.scroll_bar{
    position: absolute;
    bottom: 1.8vw;
    left: calc(50% - 13vw);
    width: 15px;
    text-align: center;
}
.scroll_bar .bar{
    width: 7px;
    height: 70px;
    margin: 10px auto 0;
    background: url(../img/top/scroll_bar.png) center center repeat-y;/* 縦の時は　repeat-y */
    -moz-animation: kurukuru 2s linear infinite;
    animation: kurukuru 2s linear infinite;
}
/* スクロールの矢印　縦にスクロール　 */
@keyframes kurukuru {
    0% {background-position: 0 0;}
    100% {background-position: 0 140px;}
}

@-moz-keyframes kurukuru {
    0% {background-position: 0 0;}
    100% {background-position: 0 140px;}
}

@media screen and (max-width:1500px){
    .scroll_bar{
        position: absolute;
        bottom: 20px;
        left: 20px;
    }
}


@media screen and (max-width:1600px){
    .top01{
        padding-top: 120px;
    }
}

@media screen and (max-width:910px){
    .top01{
        margin-top: -100px;
        padding-top: 100px;
        height: 600px;
    }
    .top01_txt{
        width: 90%;
        color: #fff;
    }
    .top01_txt .cp01{
        font-size: 8.2vw;
        line-height: 1.25em;
    }
    .top01_txt .cp02{
        width: 60vw;
    }
    .top01_txt .cp03{
        font-size: 16px;
        line-height: 1.8em;
    }
    .scroll_bar{
        display: none;
    }
}
@media screen and (max-width:640px){
    .top01{
        margin-top: 0;
        padding-top: 0;
        height: 110vw;
    }
    .top01_txt .cp01{
        font-size: 9.5vw;
        line-height: 1.25em;
    }
    .top01_txt .cp02{
        width: 75vw;
    }
    .top01_txt .cp03{
        font-size: 15px;
        line-height: 1.5em;
    }
}








@media screen and (max-width:910px){

}
@media screen and (max-width:640px){

}














@media screen and (max-width:910px){

}
@media screen and (max-width:640px){

}














@media screen and (max-width:910px){

}
@media screen and (max-width:640px){

}














@media screen and (max-width:910px){

}
@media screen and (max-width:640px){

}














@media screen and (max-width:910px){

}
@media screen and (max-width:640px){

}





@media screen and (max-width:910px){

}
@media screen and (max-width:640px){

}



/* サイドタイトル
-------------------------------*/

.top_sec_ttl{
    margin-bottom: 30px;
    color: #0a4972;
}
.top_sec_ttl .en{
    font-size: 18px;
    line-height: 1.2em;
}
.top_sec_ttl .en span{display: inline-block;
    position: relative;
}
.top_sec_ttl .en span:after{
    position: absolute;
    top: 50%;
    right: -200px;
    width: 190px;
    height: 1px;
    background-color: #0a4972;
    content: "";
}
.top_sec_ttl .ja{
    margin-top: 5px;
    font-size: 37px;
    line-height: 1.3em;
    font-weight: 700;
}
.w1450{
    width: 90%;
    max-width: 1450px;
    margin: auto;
}

@media screen and (min-width:1401px){

    .top_sec_ttl{
        position: absolute;
        left: 0;
        top: 0;
        margin-bottom: 0;
        writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl; /* IE用 */
        min-height: 300px;
    }
    .top_sec_ttl .en span:after{
        position: absolute;
        top: auto;
        right: auto;
        left: 0.5em;
        bottom: -200px;
        width: 1px;
        height: 190px;
        background-color: #0a4972;
        content: "";
    }
    .top_sec_ttl .ja{
        margin-top: 0;
    }
    .in_cont{
        width: calc(100% - 130px);
        margin-left: auto;
    }

}
@media screen and (max-width:910px){
    .top_sec_ttl .ja{
        font-size: 27px;
        line-height: 1.3em;
    }
}
@media screen and (max-width:640px){
    .top_sec_ttl .ja{
        font-size: 22px;
        line-height: 1.3em;
    }

}





/* 私たちについて
-------------------------------*/
.top02{
    width: 100%;
    padding-top: 250px;
    padding-bottom: 400px;
    background: url(../img/top/top02_img.jpg) center top/cover no-repeat
}
.top02_in{
    position: relative;
}
.top02 .ttl_sub{
    font-size: 75px;
    line-height: 1.3em;
    font-weight: 700;
    margin-bottom: 50px;
}
.top02 .txt{
    width: 550px;
    font-weight: 500;
}

@media screen and (max-width:1600px){
    .top02{
        padding-top: 16vw;
        padding-bottom: 25vw;
    }
    .top02 .ttl_sub{
        font-size: 4.6vw;
        line-height: 1.3em;
        margin-bottom: 3vw;
    }
}
@media screen and (max-width:910px){

    .top02{
        padding-top: 50px;
        padding-bottom: 100px;
    }
    .top02 .ttl_sub{
        font-size: 48px;
        line-height: 1.3em;
        margin-bottom: 30px;
    }
    .top02 .txt{
        width: 100%;
        text-shadow: 0 0 2px #fff;
    }
}
@media screen and (max-width:640px){
    .top02 .ttl_sub{
        font-size: 28px;
        line-height: 1.3em;
        margin-bottom: 20px;
    }
}







/* 事業案内
-------------------------------*/
.top03{
    background-color: #000;
    padding-top: 200px;
    padding-bottom: 100px;
    color: #fff;
}

.top03 .top_sec_ttl{
    margin-bottom: 30px;
    color: #fff;
}
.top03 .top_sec_ttl .en span:after{
    background-color: #fff;
}

@media screen and (min-width:1401px){
    .top03 .top_sec_ttl .en span:after{
        background-color: #fff;
    }

}

.top03_bg1{
    background: url(../img/top/top03_img01.jpg) center top no-repeat;
    margin-bottom: 120px;
}
.top03_in{
    position: relative;
}
.top03_sub1{
    font-size: 45px;
    line-height: 1.3em;
    font-weight: 700;
    margin-bottom: 40px;
}
.top03_sub2{
    width: 100%;
    max-width: 740px;
    margin-bottom: 130px;
}
.top03_sub2 li{
    width: 32%;
    aspect-ratio: 1 / 1;
    background-color: rgba(255,255,255,0.1);
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 15px;
    text-align: center;
    font-size: 21px;
    line-height: 1.3em;
    font-weight: 700;
    margin-bottom: 15px;
}
.top03_sub1 span.bg{
    display: inline-block;
    margin-right: 10px;
    background: url(../img/top/top03_img11.png) center center/cover no-repeat;
    font-size: 65px;
    line-height: 1.4em;
    padding-left: 10px;
    padding-right: 10px;
}
.top03_sub3{
    width: 100%;
    max-width: 900px;
}
@media screen and (max-width:1600px){
    .top03{
        padding-top: 12.5vw;
    }
}
@media screen and (max-width:910px){
    .top03_bg1{
        margin-bottom: 80px;
    }
    .top03_sub1{
        font-size: 35px;
        line-height: 1.3em;
        margin-bottom: 30px;
    }
    .top03_sub1 span.bg{
        font-size: 50px;
        line-height: 1.4em;
    }
    .top03_sub2{
        margin-bottom: 80px;
    }
    .top03_sub2 li{
        font-size: 18px;
        line-height: 1.5em;
        font-weight: 700;
        margin-bottom: 15px;
        background-color: rgba(255,255,255,0.2);
    }
}
@media screen and (max-width:640px){
    .top03_bg1{
        background-position: right bottom;
        background-size: auto 100vw;
        padding-bottom: 100vw;
        margin-bottom: 50px;
    }
    .top03_sub1{
        font-size: 23px;
        line-height: 1.3em;
        margin-bottom: 20px;
    }
    .top03_sub1 span.bg{
        margin-right: 1.5vw;
        font-size: 7vw;
        line-height: 1.4em;
        padding-left: 1.5vw;
        padding-right: 1.5vw;
    }
    .top03_sub2{
        margin-bottom: 40px;
    }
    .top03_sub2 li{
        width: 49%;
        aspect-ratio: 1.5 / 1;
        font-size: 16px;
        line-height: 1.5em;
        margin-bottom: 10px;
        background-color: rgba(255,255,255,0.25);
    }
}



.top03_bg2{
    background-color: rgba(177,190,225,0.3);
    padding: 40px;
    margin-bottom: 40px;
}
.top03_sub4{
    font-size: 30px;
    line-height: 1.3em;
    font-weight: 500;
    padding-left: 15px;
    border-left: solid 3px #fff;
    margin-bottom: 30px;
}
.top03_sub5{
    width: 100%;
    padding-bottom: 30px;
}
.top03_sub5 li{
    width: 31%;
    margin-bottom: 50px;
}
.top03_sub5 li .cap1{
    padding-top: 10px;
    padding-bottom: 10px;
    border-bottom: solid 1px #fff;
    margin-bottom: 10px;
}
.top03_sub6{
    text-align: center;
    margin-bottom: 40px;
}

.setsubi{
    width: 100%;
    border: solid 2px #fff;
}
.setsubi tr{
    border-top: solid 1px #fff;
}
.setsubi tr:nth-child(even){
    background-color: rgba(177,190,225,0.1);
}
.setsubi td{
    width: 25% !important;
    padding: 15px;
    border-right: solid 1px #fff;
    line-height: 1.5em;
}
.setsubi td:last-child{
    border-right: none;
}
.setsubi thead{
    background-color: #fff;
    color: #000;
    font-weight: 500;
}
.setsubi.x2 td:first-child{
    width: 50% !important;
}
.top03_sub7{
    width: 100%;
    max-width: 900px;
    margin: auto;
    position: relative;
    text-align: center;
    padding: 20px 0;
    font-size: 20px;
    line-height: 1.8em;
    font-weight: 700;
}
.top03_sub7:before{
    position: absolute;
    left: 0;
    top: 0;
    width: 50px;
    height: 50px;
    border-top: solid 1px #fff;
    border-left: solid 1px #fff;
    content: "";
}
.top03_sub7:after{
    position: absolute;
    right: 0;
    bottom: 0;
    width: 50px;
    height: 50px;
    border-bottom: solid 1px #fff;
    border-right: solid 1px #fff;
    content: "";
}

@media screen and (max-width:910px){
    .top03{
        padding-bottom: 70px;
    }
    .top03_bg2{
        padding: 30px;
        margin-bottom: 30px;
    }
    .top03_sub4{
        font-size: 24px;
        line-height: 1.3em;
        margin-bottom: 20px;
    }
    .top03_sub5 li{
        width: 48%;
        line-height: 1.5em;
        margin-bottom: 40px;
    }
    .setsubi td{
        padding: 10px;
    }
}
@media screen and (max-width:640px){
    .top03{
        padding-bottom: 50px;
    }
    .top03_bg2{
        padding: 20px;
    }
    .top03_sub4{
        font-size: 20px;
        line-height: 1.3em;
    }
    .top03_sub5 li{
        margin-bottom: 30px;
    }
    .setsubi_waku{
        width: 100%;
        overflow: auto;
    }
    .setsubi{
        width: 640px;
    }
    .setsubi td{
        width: auto!important;
    }
    .setsubi.x2 td:first-child{
        width: 60% !important;
    }
    .top03_sub7{
        border: solid 1px #fff;
        text-align: left;
        font-size: 16px;
        line-height: 1.8em;
        padding: 20px;
    }
    .top03_sub7:before{
        display: none;
    }
    .top03_sub7:after{
        display: none;
    }
}
@media screen and (max-width:400px){
    .top03_sub5 li{
        width: 100%;
    }

}











/* 会社案内
-------------------------------*/
.top04{
    width: 100%;
    height: 930px;
    padding-top: 180px;
    padding-bottom: 200px;
    position: relative;
}
.top04 .img{
    position: absolute;
    left: calc(50% + 115px);
    top: 100px;
    width: 845px;
}
.top04_in{
    position: relative;
    z-index: 3;
}

.gaiyou{
    width: 710px;
    line-height: 1.5em;
    background-color: rgba(255,255,255,0.7);
}
.gaiyou tr{
    border-bottom: solid 1px #ccc;
}
.gaiyou th{
    width: 170px;
    padding: 15px;
}
.gaiyou td{
    width: calc(100% - 170px);
    padding: 15px;
}

@media screen and (max-width:910px){
    .top04{
        padding-top: 80px;
        padding-bottom: 50px;
        height: auto;
    }
    .top04 .img{
        position: static;
        width: 100%;
        text-align: right;
        padding-left: 5%;
        margin-top: 40px;
    }
    .gaiyou{
        width: 100%;
    }
}
@media screen and (max-width:640px){
    .top04{
        padding-top: 50px;
        padding-bottom: 30px;
    }
    .gaiyou th{
        display: inline-block;
        width: 100%;
        padding: 10px 15px;
        background-color: #f1f1f1;
    }
    .gaiyou td{
        display: inline-block;
        width: 100%;
        padding: 10px 15px;
    }
    
    
}







/* 採用情報
-------------------------------*/
.top05{
    padding-top: 250px;
    padding-bottom: 200px;
    background: url(../img/top/top05_bg.jpg) center top/cover no-repeat;
    
}
.top05_in{
    width: 100%;
}


.top05_txt1{
    font-size: 75px;
    line-height: 1.3em;
    font-weight: 700;
    position: relative;
}
.top05_txt1 span{
    padding-left: 0.3em;
    font-size: 60%;
}
.top05_txt1:after{
    position: absolute;
    left: -75px;
    top: -270px;
    width: 377px;
    height: 751px;
    background: url(../img/top/top05_kei.png) center center no-repeat;
    content: "";
}
.top05_txt2{
    padding-left: 120px;
    margin-top: 60px;
    margin-bottom: 120px;
    font-weight: 500;
}

.top05_txt3 {
    font-size: 30px;
    line-height: 1.3em;
    font-weight: 700;
    padding-left: 15px;
    border-left: solid 7px #0083a5;
    margin-bottom: 30px;
}

.bosyu{
    width: 100%;
    line-height: 1.5em;
    background-color: rgba(255,255,255,0.3);
}
.bosyu tr{
    border-bottom: solid 1px #ccc;
}
.bosyu th{
    width: 170px;
    padding: 15px;
}
.bosyu td{
    width: calc(100% - 170px);
    padding: 15px;
}

@media screen and (min-width:911px){
    .top05_in{
        width: 100%;
        max-width: 1010px;
        margin-left: auto;
        position: relative;
    }
}
@media screen and (max-width:910px){
    .top05{
        padding-top: 80px;
        padding-bottom: 100px;
    }
    .top05_txt1{
        font-size: 60px;
        line-height: 1.3em;
    }
    .top05_txt1:after{
        display: none;
    }
    .top05_txt2{
        padding-left: 0;
        margin-top: 40px;
        margin-bottom: 60px;
    }

    .top05_txt2 br.pc{
        display: none;
    }
    .top05_txt3{
        font-size: 24px;
        line-height: 1.3em;
        margin-bottom: 20px;
    }

    .bosyu{
        line-height: 1.5em;
        background-color: rgba(255,255,255,0.8);
    }
    
}
@media screen and (max-width:640px){
    .top05{
        padding-bottom: 70px;
    }
    .top05_txt1{
        font-size: 9.3vw;
        line-height: 1.3em;
    }
    .top05_txt2{
        margin-top: 30px;
        margin-bottom: 40px;
    }
    .top05_txt3{
        font-size: 20px;
        line-height: 1.3em;
    }
    .bosyu th{
        display: inline-block;
        width: 100%;
        padding: 10px 15px;
        background-color: #f1f1f1;
    }
    .bosyu td{
        display: inline-block;
        width: 100%;
        padding: 10px 15px;
    }
    
}





















