@charset "UTF-8";
/* ---------------------------------------------
  TOP
-----------------------------------------------*/



@media screen and (max-width: 767px) {

}


/*  sec01 -------------------------------------------*/
.sec01{
    position: relative;
    padding: 50px 0 0 0;
    box-sizing: border-box;
}

.sec01 .box_wrap{
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

.sec01 .txt{
    position: relative;
    width: 49%;
    box-sizing: border-box;
}
.sec01 .txt h2{
    font-size: 9.0rem;
    color: #f5f5f5;
    margin-bottom: 5px;
}
.sec01 .txt .bg_gray{ position: relative;}
.sec01 .txt p{
    position: relative;
    top: -50px;
    font-size: 2.8rem;
    font-weight: 700;
    line-height: 2.0;
    padding-left: 40px;
    box-sizing: border-box;
}

.sec01 .img{
    width: 51%;
    max-width: 600px;
    margin-bottom: 50px;
}

.sec01 .txt .bg_gray:after{
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    display: block;
    content: '';
    width: 156%;
    max-width: 902px;
    height: 100%;
    background: #f0f0f0;
    z-index: -1;
}

@media screen and (max-width: 767px) {
    .sec01{
        padding: 0;
    }

    .sec01 .box_wrap{
        flex-direction: column-reverse;
    }

    .sec01 .txt{
        width: 100%;
        margin-top: 4%;
    }
    .sec01 .txt h2{
        position: absolute;
        right: 4%;
        bottom: 0;
        font-size: 10vw;
        margin-bottom: 0;
    }
    .sec01 .txt .bg_gray{
        margin-top: -40vw;
        padding-top: 40vw;
        box-sizing: border-box;
    }
    .sec01 .txt p{
        width: 88%;
        margin: 0 auto;
        top: 0;
        font-size: 5.4vw;
        line-height: 2.0;
        padding-left: 0;
    }

    .sec01 .img{
        width: 92%;
        max-width: 600px;
        margin: 0 auto;
    }

    .sec01 .txt .bg_gray:after{
        top: -11vw;
        width: 75%;
        max-width: inherit;
        height: 100%;
    }

}


/*  sec02 -------------------------------------------*/
.sec02{
    position: relative;
    padding: 50px 0 75px 0;
    box-sizing: border-box;
}

.sec02 .tbl01{
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
    border-collapse: collapse;
    border-spacing: 0;
    box-sizing: border-box;
}

.sec02 .tbl01 th,.sec02 .tbl01 td{
    font-size: 1.4rem;
    padding: 15px 0;
    border-bottom: 1px solid #c8c8c8;
    box-sizing: border-box;
}
.ie .sec02 .tbl01 th,.ie .sec02 .tbl01 td{
    padding: 17px 0 13px 0;
}

.sec02 .tbl01 th{
    width: 250px;
    font-weight: 700;
    text-align: center;
}

.sec02 .box_wrap{
    margin-top: 95px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 0 90px;
    box-sizing: border-box;
}
.sec02 .box_wrap .box{
    width: 50%;
}
.sec02 .box_wrap .box p,
.sec02 .box_wrap .box dt,
.sec02 .box_wrap .box dd{
    font-size: 1.4rem;
    line-height: 2.28;
}
.sec02 .box_wrap .box dl{
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
}
.sec02 .box_wrap .box dt{ width: 178px;}

@media screen and (max-width: 767px) {
    .sec02{
        padding: 14% 0 8% 0;
    }
    .sec02.wrap{
        width: 86%;
    }

    .sec02 .tbl01{
        width: 100%;
        max-width: inherit;
    }

    .sec02 .tbl01 th,.sec02 .tbl01 td{
        font-size: 3.6vw;
        padding: 4% 2%;
    }
    .sec02 .tbl01 th{
        width: 24vw;
        text-align: left;
    }

    .sec02 .box_wrap{
        margin-top: 12%;
        display: block;
        padding: 0;
    }
    .sec02 .box_wrap .box{
        width: 100%;
    }
    .sec02 .box_wrap .box+.box{ margin-top: 10%;}
    .sec02 .box_wrap .box p,
    .sec02 .box_wrap .box dt,
    .sec02 .box_wrap .box dd{
        font-size: 3.6vw;
        line-height: 2;
    }
    .sec02 .box_wrap .box dl{
        display: block;
    }
    .sec02 .box_wrap .box dl+dl{ margin-top: 5%;}
    .sec02 .box_wrap .box dt{ width: 100%;}

}


/*  sec03 -------------------------------------------*/
.sec03{
    position: relative;
    padding: 50px 0 50px 0;
    box-sizing: border-box;
}

.sec03 p{
    font-size: 1.4rem;
}

.sec03 .gMap{
    margin-top: 50px;
    width: 100%;
    height: 914px;
}
.sec03 .gMap iframe{
    width: 100%;
    height: 100%;
    border: none;
    box-sizing: border-box;
}


@media screen and (max-width: 767px) {
    .sec03{
        padding: 8% 0 8% 0;
    }
    .sec03 .wrap{
        width: 86%;
    }

    .sec03 p{
        font-size:3.6vw;
    }

    .sec03 .gMap{
        margin-top: 8%;
        height: 80vw;
    }


}


/*  sec04 -------------------------------------------*/
.sec04{
    position: relative;
    padding: 50px 0 55px 0;
    box-sizing: border-box;
}

.sec04 .bg_gray{
    position: relative;
    width: 100%;
    max-width: 840px;
    margin: 0 auto 30px auto;
    padding: 15px 0 25px 0;
    box-sizing: border-box;
    background: #f5f5f5;
}
.sec04 .bg_gray:after{
    display: block;
    position: absolute;
    right: -82px;
    bottom: 45px;
    content: '';
    background: url("../img/company/text.png") no-repeat center center;
    width: 74px;
    height: 468px;
}

.sec04 .tbl01{
    width: 100%;
    max-width: 750px;
    margin: 0 auto;
    border-collapse: collapse;
    border-spacing: 0;
    box-sizing: border-box;
}

.sec04 .tbl01 th,.sec04 .tbl01 td{
    font-size: 1.4rem;
    padding: 15px 0;
    border-bottom: 1px solid #c8c8c8;
    box-sizing: border-box;
}
.ie .sec04 .tbl01 th,.ie .sec04 .tbl01 td{
    padding: 17px 0 13px 0;
}
.sec04 .tbl01 th{
    width: 112px;
    font-weight: 700;
    text-align: right;
}

.sec04 .tbl01 .borderNone th,.sec04 .tbl01 .borderNone td{ border-bottom: none; padding-bottom: 0;}
.sec04 .tbl01 td{ padding-left: 55px;}
.ie .sec04 .tbl01 td{ padding-left: 55px !important;}

.sec04 .sp_inline{ display: none;}

.sec04 .btn_wrap ul{
    display: flex;
    justify-content: center;
    align-items: center;
}
.sec04 .btn_wrap ul li{
    width: 30%;
    max-width: 260px;
}
.sec04 .btn_wrap ul li+li{ margin-left: 60px;}

.sec04 .btn a{
    max-width: inherit;
    color: #FFF;
    background: #646464;
    padding: 13px 0;
}


@media screen and (max-width: 767px) {
    .sec04{
        padding: 8% 0;
    }
    .sec04.wrap{
        width: 86%;
    }

    .sec04 .bg_gray{
        max-width: inherit;
        margin: 14.5vw auto 12% auto;
        padding: 0;
        background: none;
    }
    .sec04 .bg_gray:after{
        right: 0;
        top: -14.5vw;
        bottom: auto;
        background: url("../img/company/text_sp.png") no-repeat center center;
        background-size: 100% auto;
        width: 70vw;
        max-width: 624px;
        height: 14vw;
        max-height: 98px;
    }

    .sec04 .tbl01{
        width: 100%;
        max-width: inherit;
        border-top: 1px solid #c8c8c8;
    }

    .sec04 .tbl01 th,.sec04 .tbl01 td{
        display: block;
        font-size:3.4vw;
        padding: 3% 0;
        border-bottom: 1px solid #c8c8c8;
        box-sizing: border-box;
    }
    .sec04 .tbl01 th{
        width: 100%;
        text-align: center;
        background: #f5f5f5;
    }
    .sec04 .tbl01 td{ padding-left: 0;}
    .sec04 .tbl01 .borderNone th,.sec04 .tbl01 .borderNone td{
        border-bottom: 1px solid #c8c8c8; padding-bottom: 3%;
    }
    .sec04 .sp_inline{ display: inline;}
    .sec04 .pc_tbl{ display: none;}

    .sec04 .btn_wrap ul{
        display: block;
    }
    .sec04 .btn_wrap ul li{
        width: 70%;
        max-width: inherit;
        margin: 0 auto;
    }
    .sec04 .btn_wrap ul li+li{ margin-left: auto; margin-top: 7%;}

    .sec04 .btn_wrap .btn a{
        text-align: left;
        width: 100%;
        padding: 5% 10%;
    }
    .sec04 .btn a:after{
        position: absolute;
        right: 10%;
        top: 50%;
        margin-top: -2vw;
    }



}
















