@charset  "UTF-8";

/* ------------------------------------------
	top.css
------------------------------------------- */



/* メインビジュアル
----------------------------------------- */
#page-top .mainvisual{
    color: #fff;
    height: 52.5em;
    background: url(../img/main.jpg) no-repeat top center;
    background-size: 112%;
    background-color:rgba(255,255,255,0.2);
    background-blend-mode:lighten;
    padding: 110px 0 0 0;
    position: relative;
    overflow: hidden;
    transition: all 0.3s;
}
#page-top .mainvisual .w_inner{
    width: 1580px;
    padding: 0 40px;
}
#page-top .mainvisual h2{
    font-size: 6.2em;
    line-height: 1.1em;
    letter-spacing: 0.03em;
    margin-top: 100px;
}
#page-top .mainvisual .catch{
    font-size: 2.8em;
    margin-top: 20px;
}


@media screen and (max-width: 1210px){

    #page-top .mainvisual{
        height: auto;
        padding: 6em 0 4em 0;
        background-size: 120%;
    }

    #page-top .mainvisual h2{
        font-size: 6em;
        line-height: 1em;
        margin-top: 130px;
    }
    #page-top .mainvisual .catch{
        font-size: 2.5em;
        margin-top: 20px;
        margin-bottom: 30px;
    }

}

@media screen and (max-width: 960px){

    #page-top .mainvisual{
        padding: 7em 0 5em 0;
    }

}

@media screen and (max-width: 840px){

    #page-top .mainvisual{
        padding: 6em 0 4em 0;
    }

    #page-top .mainvisual h2{
        font-size: 4.7em;
        line-height: 1em;
        margin-top: 115px;
    }
    #page-top .mainvisual .catch{
        font-size: 2em;
        margin-top: 15px;
    }

}

@media screen and (max-width: 667px){

    #page-top .mainvisual{
        background: url(../img/main.jpg) no-repeat top 70px center;
        background-size: 140%;
        padding: 10px 0 40px 0;
    }
    #page-top .mainvisual .w_inner{
        width: 100%;
        padding: 0 20px;
    }
    #page-top .mainvisual h2{
        font-size: 37px;
        line-height: 1.2em;
        letter-spacing: 0.03em;
        margin-top: 125px;
    }
    #page-top .mainvisual .catch{
        font-size: 22px;
        margin-top: 10px;
        margin-bottom: 10px;
    }

}

@media screen and (max-width: 410px){

    #page-top .mainvisual{
        background: url(../img/main.jpg) no-repeat top 70px center;
        background-size: 140%;
        background-color:rgba(255,255,255,0.2);
        background-blend-mode:lighten;
        padding: 0 0 50px 0;
    }
    #page-top .mainvisual h2{
        font-size: 34px;
        margin-top: 115px;
    }
    #page-top .mainvisual .catch{
        font-size: 22px;
    }

}

@media screen and (max-width: 320px){

    #page-top .mainvisual{
        background: url(../img/main.jpg) no-repeat top 70px center;
        background-size: 140%;
        background-color:rgba(255,255,255,0.2);
        background-blend-mode:lighten;
        padding: 20px 0 40px 0;
    }
    #page-top .mainvisual h2{
        font-size: 29px;
        line-height: 1.1em;
        margin-top: 100px;
    }
    #page-top .mainvisual .catch{
        font-size: 22px;
    }

}




/* リンクエリア
----------------------------------------- */
#page-top .link_area{
    background: #fff;
    padding: 8em 0;
    text-align: center;
}
#page-top .link_area .w_inner{
    width: 1250px;
}
#page-top .link_area ul{
    display:flex;
}
#page-top .link_area ul li{
    margin: 0 20px;
}
#page-top .link_area ul li a{
    width: 600px;
    height: 250px;
    border-radius: 15px;
    background: #fff;
    display: block;
    background: url(../img/arrow.svg) no-repeat right 30px center;
    background-size: 50px;
    box-shadow: 0 0 20px rgba(0,0,0,0.1);
    padding-top: 80px;
}
#page-top .link_area ul li a:hover{
    background: url(../img/arrow.svg) no-repeat right 25px center;
    background-size: 50px;
    box-shadow: 0 0 20px rgba(0,0,0,.2);
    opacity: 1;
}
#page-top .link_area ul li .title{
    font-size: 23px;
    letter-spacing: 0.04em;
}
#page-top .link_area ul li .txt{
    font-size: .95vw;
}


@media screen and (max-width: 1520px){

    #page-top .link_area{
        padding: 6em 0;
    }
    #page-top .link_area .w_inner{
        width: 1200px;
    }
    #page-top .link_area ul li{
        margin: 0 20px;
    }
    #page-top .link_area ul li a{
        width: 560px;
        height: 250px;
    }
    #page-top .link_area ul li .txt{
        font-size: 1vw;
    }

}

@media screen and (max-width: 1220px){

    #page-top .link_area{
        padding: 4.5em 0;
    }
    #page-top .link_area .w_inner{
        width: 900px;
    }
    #page-top .link_area ul li{
        margin: 0 20px;
    }
    #page-top .link_area ul li a{
        width: 410px;
        height: 220px;
        background: url(../img/arrow.svg) no-repeat right 20px center;
        background-size: 40px;
        padding-top: 70px;
    }
    #page-top .link_area ul li a:hover{
        background: url(../img/arrow.svg) no-repeat right 17px center;
        background-size: 40px;
    }
    #page-top .link_area ul li .title{
        font-size: 20px;
    }
    #page-top .link_area ul li .txt{
        font-size: 1.2vw;
    }

}

@media screen and (max-width: 960px){

    #page-top .link_area{
        padding: 5em 0;
    }
    #page-top .link_area .w_inner{
        width: 100%;
    }
    #page-top .link_area ul{
        display: flex;
        justify-content:space-between;
    }
    #page-top .link_area ul li{
        width: 100%;
        margin: 0 15px;
    }
    #page-top .link_area ul li a{
        width: 100%;
        height: auto;
        background: url(../img/arrow.svg) no-repeat right 10px center;
        background-size: 30px;
        padding: 35px 40px 40px 40px;
    }
    #page-top .link_area ul li a:hover{
        background: url(../img/arrow.svg) no-repeat right 7px center;
        background-size: 30px;
    }
    #page-top .link_area ul li .title{
        font-size: 2vw;
    }
    #page-top .link_area ul li .txt{
        font-size: 1.3vw;
    }


}

@media screen and (max-width: 840px){

    #page-top .link_area{
        padding: 5em 0;
    }
    #page-top .link_area .w_inner{
        width: 100%;
    }
    #page-top .link_area ul{
        display: flex;
        justify-content:space-between;
    }
    #page-top .link_area ul li{
        width: 100%;
        margin: 0 10px;
    }
    #page-top .link_area ul li a{
        width: 100%;
        height: auto;
        background: url(../img/arrow.svg) no-repeat right 10px center;
        background-size: 20px;
        padding: 25px 0 30px 0;
    }
    #page-top .link_area ul li a:hover{
        background: url(../img/arrow.svg) no-repeat right 7px center;
        background-size: 20px;
    }
    #page-top .link_area ul li .title{
        font-size: 17px;
    }

}

@media screen and (max-width: 667px){

    #page-top .link_area{
        padding: 30px 0;
    }
    #page-top .link_area .w_inner{
        width: 100%;
        padding: 0 20px;
    }
    #page-top .link_area ul{
        display: block;
    }
    #page-top .link_area ul li{
        margin: 0;
    }
    #page-top .link_area ul li:first-of-type{
        margin-bottom: 30px;
    }
    #page-top .link_area ul li a{
        width: 100%;
        height: auto;
        background: url(../img/arrow.svg) no-repeat right 20px center;
        background-size: 28px;
        padding: 40px 20px 50px 10px;
    }
    #page-top .link_area ul li a:hover{
        background: url(../img/arrow.svg) no-repeat right 20px center;
        background-size: 28px;
    }
    #page-top .link_area ul li .title{
        font-size: 19px;
        letter-spacing: 0.04em;
    }
    #page-top .link_area ul li .txt{
        font-size: 14px;
    }

}

@media screen and (max-width: 320px){

    #page-top .link_area{
        padding: 30px 0;
    }
    #page-top .link_area ul li a{
        width: 100%;
        height: auto;
        background: url(../img/arrow.svg) no-repeat right 15px center;
        background-size: 20px;
        padding: 40px 20px 50px 10px;
    }
    #page-top .link_area ul li a:hover{
        background: url(../img/arrow.svg) no-repeat right 15px center;
        background-size: 20px;
    }
    #page-top .link_area ul li .title{
        font-size: 16px;
        letter-spacing: 0.04em;
    }
    #page-top .link_area ul li .txt{
        font-size: 1.4vw;
    }

}



/* 会社概要はこちら
----------------------------------------- */
#page-top .company_area{
    background: #eee;
    padding: 7em 0;
}
#page-top .company_area .w_inner{
    width: 1250px;
}
#page-top .company_area .box{
    width: 100%;
    display: flex;
}
#page-top .company_area .left{
    width: 52%;
    text-align: center;
}
#page-top .company_area .left img{
    width: 235px;
    margin-top: 40px;
}
#page-top .company_area .right{
    width: 48%;
    padding-right: 40px;
}
#page-top .company_area .right h3{
    font-size: 46px;
}
#page-top .company_area .right .txt{
    font-size: 18px;
    line-height: 2em;
    margin: 20px 0 40px 0;
}

#page-top .company_area .redline_btn a{
    width: 240px;
}

@media screen and (max-width: 1250px){

    
    #page-top .company_area{
        padding: 7em 0;
    }
    #page-top .company_area .w_inner{
        width: 100%;
        padding: 0 40px;
    }
    #page-top .company_area .left{
        width: 47%;
    }
    #page-top .company_area .right{
        width: 53%;
        padding-right: 0;
    }
    #page-top .company_area .right h3{
        font-size: 3vw;
    }
    #page-top .company_area .right .txt{
        font-size: 1.6vw;
        line-height: 2em;
        margin: 20px 0 40px 0;
    }

}

@media screen and (max-width: 1250px){

    #page-top .company_area .right h3{
        font-size: 3.4vw;
    }
    #page-top .company_area .right .txt{
        font-size: 1.6vw;
        line-height: 2em;
        margin: 20px 0 40px 0;
    }

}

@media screen and (max-width: 852px){

    #page-top .company_area .right h3{
        font-size: 3.6vw;
    }
    #page-top .company_area .right .txt{
        font-size: 15px;
        line-height: 2em;
        margin: 20px 0 40px 0;
    }

}

@media screen and (max-width: 667px){

    #page-top .company_area{
        padding: 50px 0 70px 0;
    }
    #page-top .company_area .w_inner{
        width: 100%;
        padding: 0 20px;
    }
    #page-top .company_area .box{
        display: block;
    }
    #page-top .company_area .left{
        width: 100%;
    }
    #page-top .company_area .left img{
        width: 160px;
        margin: 0 0 20px 0;
    }
    #page-top .company_area .right{
        width: 100%;
    }
    #page-top .company_area .right h3{
        font-size: 28px;
    }
    #page-top .company_area .right .txt{
        font-size: 15px;
        line-height: 2em;
        margin: 10px 0 40px 0;
    }

}

@media screen and (max-width: 320px){

    #page-top .company_area .right h3{
        font-size: 20px;
    }
    #page-top .company_area .right .txt{
        font-size: 14px;
    }

}



/* 事業内容
----------------------------------------- */
#page-top .businesslines_area{
    background: #fff;
    padding: 7em 0;
}
#page-top .businesslines_area ul{
    display: flex;
    justify-content: space-between;
}
#page-top .businesslines_area ul li{
    width: 100%;
    margin: 0;
}
#page-top .businesslines_area .title_box{
    width: 320px;
    margin-right: 60px;
    float: left;
}
#page-top .businesslines_area .title_box h3{
    font-size: 74px;
    line-height: .9em;
}
#page-top .businesslines_area .title_txt{
    font-size: 24px;
    line-height: 3em;
    margin-bottom: 40px;
}
#page-top .businesslines_area ul li.red_box{
    color: #fff;
    text-align: center;
    width: 345px;
    height: 345px;
    border-radius: 15px;
}
#page-top .businesslines_area ul li.red_box a{
    color: #fff;
    height: 345px;
    display: block;
    padding-top: 120px;
    border-radius: 15px;
    background: #9a102a;
    border: 2px solid #9a102a;
    transition: inherit;
}
#page-top .businesslines_area ul li.red_box a:hover{
    color: #9a102a;
    background: #fff;
    opacity: 1;
}
#page-top .businesslines_area ul li.red_box.inh{
    padding-top: 120px;
    background: #9a102a;
}
#page-top .businesslines_area ul li.red_box.inh a:hover{
    color: #fff;
    background: #9a102a;
    opacity: .6;
}
#page-top .businesslines_area ul li.red_box .underline{
    width: 154px;
    height: auto;
    margin: 40px auto 0 auto;
    border-bottom: 1px solid #fff;
    padding-top: 0;
    border-radius: 0;
}
#page-top .businesslines_area ul li.red_box a:hover .underline{
    border-bottom: 1px solid #9a102a;
}
#page-top .businesslines_area ul li.red_box h4{
    font-size: 22px;
    letter-spacing: 0.06em;
}
#page-top .businesslines_area ul li .txt{
    font-size: 13px;
}

#page-top .businesslines_area .redline_btn a{
    width: 240px;
}

@media screen and (max-width: 1500px){

    #page-top .businesslines_area .w_inner{
        width: 100%;
        padding: 0 40px;
    }

    #page-top .businesslines_area .title_box h3{
        font-size: 68px;
    }
    #page-top .businesslines_area .title_txt{
        margin-bottom: 20px;
    }
    #page-top .businesslines_area ul li.red_box{
        height: 300px;
        margin: 0 10px;
    }
    #page-top .businesslines_area ul li.red_box a{
        height: 300px;
        padding-top: 95px;
    }
    #page-top .businesslines_area ul li.red_box.inh{
        padding-top: 95px;
    }
    #page-top .businesslines_area ul li.red_box .underline{
        margin: 25px auto 0 auto;
    }

}

@media screen and (max-width: 1340px){


    #page-top .businesslines_area .title_box{
        width: 240px;
        margin-right: 30px;
        float: left;
    }
    #page-top .businesslines_area .title_box h3{
        font-size: 57px;
    }
    #page-top .businesslines_area .title_txt{
        font-size: 17px;
        margin-bottom: 20px;
    }
    #page-top .businesslines_area ul li.red_box{
        height: 270px;
    }
    #page-top .businesslines_area ul li.red_box a{
        height: 270px;
        padding-top: 75px;
    }
    #page-top .businesslines_area ul li.red_box.inh{
        padding-top: 75px;
    }
    #page-top .businesslines_area ul li.red_box h4{
        font-size: 18px;
    }
    #page-top .businesslines_area ul li .txt{
        font-size: 13px;
    }

}

@media screen and (max-width: 1000px){

    #page-top .businesslines_area ul li{
        margin: 0;
    }
    #page-top .businesslines_area .title_box{
        width: 100%;
        margin: 0 0 40px 0;
        float: none;
    }
    #page-top .businesslines_area ul li.red_box:first-of-type{
        margin: 0 10px 0 0;
    }
    #page-top .businesslines_area ul li.red_box:last-of-type{
        margin: 0 0 0 10px;
    }

}

@media screen and (max-width: 667px){

    #page-top .businesslines_area{
        padding: 50px 0 30px 0;
    }
    #page-top .businesslines_area .w_inner{
        padding: 0 20px;
    }
    #page-top .businesslines_area ul{
        display: block;
    }
    #page-top .businesslines_area ul li{
        width: 100%;
    }
    #page-top .businesslines_area .title_box{
        margin-bottom: 50px;
    }
    #page-top .businesslines_area .title_box h3{
        font-size: 45px;
        line-height: .9em;
    }
    #page-top .businesslines_area .title_txt{
        font-size: 22px;
        line-height: 3em;
        margin-bottom: 30px;
    }
    /*
    #page-top .businesslines_area ul li.red_box:first-of-type{
        margin: 0 0 30px 0;
    }
    #page-top .businesslines_area ul li.red_box:last-of-type{
        margin: 0 0 30px 0;
    }
    */
    #page-top .businesslines_area ul li.red_box{
        width: 100%;
        height: auto;
        margin: 0 0 30px 0;
    }
    #page-top .businesslines_area ul li.red_box:first-of-type{
        margin: 0 0 30px 0;
    }
    #page-top .businesslines_area ul li.red_box:last-of-type{
        margin: 0 0 30px 0;
    }

    #page-top .businesslines_area ul li.red_box a{
        height: auto;
        display: block;
        padding: 30px 0;
    }
    #page-top .businesslines_area ul li.red_box.inh{
        height: auto;
        margin: 0 0 30px 0;
        padding: 30px 0;
    }
    #page-top .businesslines_area ul li.red_box .underline{
        width: 135px;
        margin: 20px auto 0 auto;
        border-bottom: 1px solid #fff;
        padding: 0;
    }
    #page-top .businesslines_area ul li.red_box h4{
        font-size: 18px;
        line-height: 1em;
        letter-spacing: 0.06em;
    }
    #page-top .businesslines_area ul li .txt{
        font-size: 12px;
    }

}