/* main visual */
#mainVisual{
    height: 800px;
    position: relative;
    z-index: 1;
    overflow: hidden;
    }
#mainVisual .cntText{
    position: absolute;
    z-index: 2;
    top: 40%;
    left: 0;
    right: 0;
    width: 90%;
    margin: auto;
    max-width: 1200px;
    color: #fff;
    text-align: center;
    }
#mainVisual .cntText h2{margin-bottom: 25px;}
#mainVisual .cntText h2 span{
    background: #113589;
    padding: 10px 10px;
    font-size: 6.0rem;
    }
#mainVisual .cntText p{line-height: 2.2;}
#mainVisual .cntText p span{
    background: #246a2b;
    padding: 5px 15px;
    font-size: 2.6rem;
    }
#mainVisual .--ff-en{
    position: absolute;
    z-index: 2;
    bottom: -7px;
    left: 0;
    color: #F1F1F1;
    /*font-size: 12.0rem;*/
    font-size: 8.8vw;
    letter-spacing: 0;
    text-transform: uppercase;
    line-height: 1.0;
    }
#mainVisual .slider{width: 100%;height: 800px;}
#mainVisual .slider li{height: 800px;}
#mainVisual .slider .main01{
    background: url("../img/top/mv01.jpg")no-repeat center;
    background-size: cover;
    }
#mainVisual .slider .main02{
    background: url("../img/top/mv02.jpg")no-repeat center;
    background-size: cover;
    }
#mainVisual .slider .main03{
    background: url("../img/top/mv03.jpg")no-repeat center;
    background-size: cover;
    }
@media screen and (max-width: 1290px) { 
#mainVisual .cntText h2 span{
    padding: 10px 2px;
    font-size: 4.4rem;
    letter-spacing: 0;
    }
#mainVisual .cntText p span{
    padding: 5px 5px;
    font-size: 2.2rem;
    } 
}
/* TAB */
@media screen and (max-width: 899px) {
#mainVisual{height: 500px;}
#mainVisual .slider{height: 500px;}
#mainVisual .slider li{height: 500px;}
#mainVisual .cntText{top:28%;}
#mainVisual .cntText h2 {
    max-width: 450px;
    margin:0 auto 16px;
    }
#mainVisual .cntText h2 span{font-size: 3.8rem;}
#mainVisual .cntText p{line-height: 1.5;}
#mainVisual .cntText p span{font-size: 1.6rem;letter-spacing: 0;}
}
@media screen and (max-width: 560px) {
#mainVisual .cntText p{line-height: 1.2;}
#mainVisual .cntText p span{font-size: 1.4rem;}
}
/* SP */
@media screen and (max-width: 480px) {
#mainVisual{height: 400px;}
#mainVisual .slider{height: 400px;}
#mainVisual .slider li{height: 400px;}
#mainVisual .cntText h2 {max-width: 350px;}
#mainVisual .cntText h2 span{font-size: 2.5rem;}
#mainVisual .cntText p span{font-size: 1.2rem;}
}



/* _about */
#_about{padding: 120px 0;}
#_about .cntInner{max-width: 1500px;}
#_about .cntList{align-content: center;align-items:center;}
#_about .cntInner .cntText{width: 48%}
#_about .cntInner .cntImg{width: 48%;}

/* TAB */
@media screen and (max-width: 899px) {
#_about{padding: 80px 0;}
#_about .cntInner .cntText{width: 100%;margin-bottom: 40px;}
#_about .cntInner .cntImg{
    text-align: center;
    width: 100%;}
}
/* SP */
@media screen and (max-width: 480px) {
#_about{padding: 40px 0;}   
    
}



/* _company */
#_company{
    background: #f6f6f6;
    padding: 60px 0;
    }
#_company li{width: 48%;letter-spacing: .05em;border-radius: 10px;}
#_company li a{
    display: block;
    width: 100%;
    padding: 40px;
    background: #fff;
    box-sizing: border-box;
    }
#_company h3{
    padding: 10px 0;
    background: url("../img/cmn/arw_wht2.png")no-repeat 100% center;
    transition: 0.7s;
    margin-bottom: 10px;
    }
#_company a:hover h3{
    background: url("../img/cmn/arw_wht.png")no-repeat 100% center;
    }
#_company h3 .en{
    font-family: var(--ff-en);
    font-size: 4.0rem;
    }
#_company h3::first-letter{
    color: var(--c-main);
    }
#_company h3 .ja{
    font-family: var(--ff-main);
    font-size: 1.8rem;
    padding-left: 10px;
    }
#_company figure{
    overflow: hidden;
    border-radius: 10px;
}
/* TAB */
@media screen and (max-width: 899px) {
    #_company li{
        width: 100%;
        max-width: 540px;
        margin:10px auto;
    }
}
/* SP */
@media screen and (max-width: 480px) {
#_company{padding: 40px 0;}  
#_company li a{padding: 15px 25px 25px;}
#_company h3{
    background: url("../img/cmn/arw_wht2.png")no-repeat 100% center;
    background-size: 45px;
    }
#_company a:hover h3{
    background: url("../img/cmn/arw_wht.png")no-repeat 100% center;
    background-size: 45px;
    } 
#_company h3 .en{font-size: 3.0rem;}  
#_company h3 .ja{font-size: 1.4rem;}
}



/* _recruit */
#_recruit{
    margin: 130px 0;
    padding: 200px 0;
    background: url("../img/top/recruit_bg.jpg")no-repeat center;
    background-size: cover;
    }
#_recruit .cntBox{
    max-width: 700px;
    margin: auto;
    background: #fff;
    text-align: center;
    padding: 80px;
    box-sizing: border-box;
    position: relative;
    border-radius: 10px;
    }
#_recruit .cntBox::after{
    position: absolute;
    content: "";
    background:url("../img/top/recruit.png")no-repeat;
    width: 512px;
    height: 197px;
    top: -140px;
    left: -120px;
    }
#_recruit h3{font-size: 3.6rem;}


/* TAB */
@media screen and (max-width: 899px) {
    #_recruit{
    margin: 80px 0;
    padding: 150px 0;
    }
#_recruit .cntBox{
    padding: 50px;
    }
#_recruit .cntBox::after{
    background:url("../img/top/recruit.png")no-repeat;
    background-size: 100%;
    width: 312px;
    height: 120px;
    top: -100px;
    left: -20px;
    } 
#_recruit h3{font-size: 3.0rem;}  
}



/* SP */
@media screen and (max-width: 480px) {
#_recruit{
    margin: 40px 0;
    padding: 60px 0;
    }
#_recruit .cntBox{
    padding: 30px;
    }
#_recruit .cntBox::after{
    width: 180px;
    height: 75px;
    top: -40px;
    left: -20px;
    }  
#_recruit h3{font-size: 2.1rem;}   
}




/* CONTACT */
#_contact{
    color: #fff;
    position: relative;
    }
#_contact::after{
    position: absolute;
    content: "";
    width: 98%;
    height: 100%;
    max-width: 1700px;
    margin: auto;
    top: 0;
    left: 0;
    right: 0;
    background: var(--c-main);
    z-index: -1;
    border-radius: 10px;
    }
#_contact .cntInner{
    box-sizing: border-box;
    padding: 100px 10px;
    }
#_contact .cntInner .cntList{max-width: 1040px;margin: auto;}
#_contact .cntInner ._Title{width: 50%}
#_contact .cntInner ._Title .en::first-letter{color: #fff;}
#_contact .cntInner .cntBox{width: 50%}
#_contact .cntInner .form_tel{
    font-size: 5.0rem;
    letter-spacing: 0;
    }
#_contact .cntInner .form_mail{
    font-size: 1.8rem;
    }
#_contact .cntInner .form_mail a{
    display: block;
    background: #fff;
    color: var(--c-main);
    text-align: center;
    letter-spacing: 0;
    border-radius: 4px;
    padding: 25px 5px;
    transition: 0.7s;
    }
#_contact .cntInner .form_mail a:hover{background: var(--c-accent);}
#_contact .cntInner .form_mail a span{
    background: url("../img/cmn/email.png")no-repeat left center;
    padding-left: 40px;
    }
/* TAB */
@media screen and (max-width: 899px) {
    #_contact .cntInner{padding: 60px 40px;}
    #_contact .cntInner ._Title{width: 100%;margin-bottom: 20px;}
    #_contact .cntInner .cntBox{width: 100%}
    }
/* SP */
@media screen and (max-width: 480px) {
#_contact::after{width: 96%;}
#_contact .cntInner{padding: 25px;}
#_contact .cntInner .form_tel{font-size: 3.0rem;}
#_contact .cntInner .form_mail{
    font-size: 1.6rem;
    }
#_contact .cntInner .form_mail a{
    padding: 20px 5px;
    }
#_contact .cntInner .form_mail a span{
    background: url("../img/cmn/email.png")no-repeat left center;
    background-size: 20px;
    padding-left: 30px;
    }

}
