* {
    margin: 0;
    padding: 0;
}

body {
    font-family: 'Noto Sans JP', sans-serif;
    width: auto;
}

img {
    vertical-align: top;
    box-sizing: border-box;
}

p {
    line-height: 30px;
    font-size:18px;
    letter-spacing:0.03em;
}

.sp_br {
    display: none;
}
.sp-none{
    display:block;
}

.pc-none{
    display:none;
}


.gnavisp {
    display: none;
}

.header_logo {
    z-index: 2;
    position: absolute;
    top: 20px;
    left: 25%;
    right: 25%;
    margin: auto;
    width: 283px;
    height: auto;
}

.header_logo a {
    display: block;
    width: 283px;
    height: auto;
    text-decoration: none;
}

.header_logo a img {
    display: block;
    width: 100%;
    height: auto;
}

.header_logo a p {
    text-align: center;
    color: #fff;
    font-size: 14px;
    font-weight: 400;
    vertical-align: 10px;
}

.header_sp {
    display: none;
}

.header_MV {
    margin-bottom: -100px;
    width: 100%;
    display: block;
}


.gnavi {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    height: 100px;
    width: 100%;
    background: #fff;
    z-index: 2;
}

.gnavi_inner {
    width:100%;
    max-width:1100px;
    height: 100px;
    position: relative;
    display:flex;
    align-items:center;
    margin: 0 auto;
}

.gnavi_inner h1 a img{
    width:78px;
    height: auto;
}

.navi_right {
    width: 450px;
    margin-left: auto;
}

.navi_right ul {
    display: flex;
    justify-content:end;
    align-items: center;
}

.navi_right li {
    list-style-type: none;
    text-align: center;
    font-size:18px;
    margin:0 20px;
    line-height: 100px;
}

.navi_right a {
    display: block;
    line-height: 50px;
    color: #012060;
    text-decoration: none;
    font-size:18px;
}

.navi_right a:hover {
    opacity:0.8;
}




/*section*/

.top_sec01 {
    width: 100%;
    padding: 140px 0;
}

.top_sec01 .content_title{
    margin-bottom: 70px;
}

.content_title {
    margin: auto;
}

.content_title img {
    margin: auto;
    display: block;
}

.top_sec01_inner {
    margin: auto;
    max-width: 1000px;
}

.sec01_img{
    width:50%;
}

.sec01_img img{
    max-width:100%;
}



.sec01_text p {
    font-size: 18px;
    line-height: 35px;
    text-align:center;
}


.contactbtn {
    height: 50px;
    margin-top: 110px;
}

.contactbtn a {
    position: relative;
    margin: auto;
    width: 240px;
    height: 50px;
    text-align: center;
    color: #012060;
    text-decoration: none;
    display: block;
    line-height: 50px;
    border: 1px #012060 solid;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    font-size:18px;
}

.contactbtn a span {
    width: 30px;
    border-bottom: 1px #012060 solid;
    position: absolute;
    top: 50%;
    right: 0px;

}

.contactbtn a:hover {
    background-color: #012060;
    color: #fff;
}

.contactbtn02 {
    margin-top: 50px;
}

.contactbtn02_inner {
    width: 100%;
    height: 50px;
    margin: auto;

}

.contactbtn02 a {
    position:relative;
    width: 240px;
    height: 50px;
    text-align: center;
    background-color: #fff;
    color: #012060;
    text-decoration: none;
    display: block;
    line-height: 50px;
    border: 1px #012060 solid;
    margin: auto;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    font-size:18px;
}

.contactbtn02 a span {
    width: 30px;
    border-bottom: 1px #012060 solid;
    position: absolute;
    top: 50%;
    right: 0px;

}

.contactbtn02 a:hover {
    color: #fff;
    border: 1px #012060 solid;
    background-color: #012060;
}


.top_sec02 {
    background-image: url(../image/servisebgimg.png);
    background-size:cover;
    background-repeat: no-repeat;
    background-position:center;
}

.top_sec02_inner .content_title{
    margin-bottom: 20px;
}

.top_sec02_inner {
    width: 100%;
    height: auto;
    padding: 70px 0;
}

.top_sec02 p {
    color: #fff;
    font-size: 18px;
    line-height: 35px;
    text-align: center;
    display: block;
    margin: auto;
}

/*information*/
.top_sec03 {
    padding: 150px 0;
}

.information {
    width: 900px;
    height: auto;
    border-bottom: 1px #000 solid;
    border-top: 1px #000 solid;
    margin: auto;
}

.information_inner {
    width: 80%;
    height: auto;
    margin: auto;
    padding-top: 20px;
    padding-bottom: 50px;
}

.information_inner li {
    margin-top: 20px;
    list-style: none;
}

.information_inner li span {
    font-size: 14px;
    color: #012060;
}

.information_inner .news_title {
    font-size: 18px;
    font-weight: 600;
    color: #535353;
}

.information_inner .news_text {
    font-size: 16px;
    line-height: 30px;
    color: #535353;
}



/*information*/

/*contact*/
.footer_contact {
    width: 100%;
    height: auto;
    background-color: #012060;
    padding: 100px 0;

}

.footer_contact_inner {
    font-size: 0;
    width: 704px;
    height: auto;
    margin: auto;
}

.footer_btn {
    width: 350px;
    height: 120px;
    border: 1px #fff solid;
    display: inline-block;
    margin: auto;
}

.footer_btn a {
    width: 350px;
    height: 100px;
    display: block;
}

.footer_btn img {
    width: 80%;
    height: auto;
    display: block;
    margin: auto;
    padding-top: 10px;

}

.footer_inner {
    height: auto;
}

.footer_inner ul {
    display: flex;
    width: 100%;
    margin: auto;
    padding: 30px 0px;
    background-color: #012060;
    justify-content: center;
}

.footer_inner ul li {
    list-style: none;
    height: auto;
    text-align: center;
    padding: 0 30px;
}

.footer_inner ul li a {
    color: #fff;
    text-decoration: none;
    font-size:18px;
    letter-spacing: 0.07em;
}

.footer_border {
    border-right: 1px #fff solid;
}
.footer_border:last-child{
    border-right: none;
}

.footer_inner a {
    text-decoration: none;
}

.footer_inner a img {
    margin: auto;
    width: 78px;
    height:auto;
}


.footer_inner a p {
    text-align: center;
    color: #000;
    font-size: 14px;
    font-weight: 400;
    vertical-align: 10px;
}

.footer_under{
    display:flex;
    max-width:700px;
    height:120px;
    align-items: center;
    justify-content:center;
    margin: 0 auto;
    font-size:13px;
}

.footer_under p{
 line-height:20px;
 font-size:13px;
 margin-left: 20px;
}



.copy {
    height: 50px;
    background-color: #000;
}

.copy copy {
    text-align: center;
    color: #fff;
    display: block;
    line-height: 50px;
    height: 50px;
}


/*contact*/

/*services*/

.service_sec01 {
    padding: 90px 0 95px;
}

.service_sec01 .content_title{
    margin-bottom: 80px;
}

.header_MV02 {
    position: relative;
    overflow: hidden;
    height: 500px;
    z-index: -1;
}

.header_MV02_sp {
    display: none;
}

.header_MV03 {
    position: relative;
    overflow: hidden;
    height: 500px;
    z-index: -1;
}

.service_sec01_textbox {
    max-width: 900px;
    margin: auto;
    padding-bottom: 80px;
    text-align: left;
}

.service_sec01_inner {
    width: 900px;
    margin: auto;
}


.service_sec01_inner02 {
    max-width: 900px;
    margin: auto;
}

.service_text{
    margin-top: 25px;
    width:490px;
    margin-left:10px;
}

.service_text h3 {
    color: #000000;
    font-size:24px;
    font-weight:bold;
    letter-spacing: 0.03em;
    margin-bottom: 16px;
}

.service_text h3 span{
    color:#D1D1D1;
    font-size:13px;
    font-weight:initial;
    margin-left: 5px;
}
.sub_mv_service{
    height:500px;
    overflow: hidden;
    width:100%;
    background-image: url(../image/service_mv.png);
    background-size:cover;
    background-repeat: no-repeat;
    background-position: center;
}

.service_sec01_box{
    display:flex;
    justify-content: space-between;
}

.service_sec02_box{
    margin-top: 60px;
    display:flex;
    justify-content: space-between;
}

.service_sec02_box img,.service_sec01_box img{
    max-width:360px;
    width:100%;
}

/*services*/

/*company*/
.sub_mv_company{
    height:500px;
    overflow: hidden;
    width:100%;
    background-image: url(../image/company_mv.png);
    background-size:cover;
    background-repeat: no-repeat;
    background-position: center;
}
.company_sec {
    width: 100%;
    padding: 100px 0;
}

.company_sec .content_title{
    margin-bottom: 100px;
}

.company_table table {
    max-width: 900px;
    border-collapse: collapse;
    margin: auto;
    margin-bottom: 40px;
}

.border_top {
    border-top: 1px #707070 solid;
}

.border_top_td {
    border-top: 1px #707070 solid;
}

.company_table table{
width:100%;
}

.company_table table th {
    height: 90px;
    background-color: #EBF1FC;
    border-bottom: 1px #707070 solid;
    width: 200px;
    font-size:18px;
}

.company_table table td {
    height: 90px;
    border-bottom: 1px #707070 solid;
    padding-left: 30px;
    font-size:18px;
}

.map {
    max-width: 900px;
    height: auto;
    margin: auto;
}

.sp_access{
    display: none;
}

.map_inner {
    width: 100%;
    height: auto;

}

.map_inner iframe{
    max-width:100%;
}

.map_title {
    width: 100%;
    height: auto;
    padding: 50px 0 40px;
    margin: auto;
}

.map_title img,
.map_title p {
    display: block;
    margin: auto;
    text-align: center;
}


/*company*/

/*contact*/

.contact_sec01 {
    padding: 150px 0;
}

.contact-table {
    width: 100%;
}

.contact-box {
    width: 730px;
    height: auto;
    margin: auto;
}

.contact-table__tr {
    height: 40px;
}



.contact-table__td-1 {
    width: 180px;
    font-weight: 600;
}

.contact-table__td-2 {
    width: 40px;
}

.contact-table__td-2 span {
    background-color: #012060;
    color: #fff;
    font-size: 14px;
    width: 40px;
    display: block;
    text-align: center;
    border-radius: 5px;
    margin-right: -20;
}

.contact-table__td-3 {
    padding-left: 10px;

}

.contact-input__2 {
    border: 1px #BBBBBB solid;
    width: 100%;
    padding: 5px 2px;
}

.contact-input__3 {
    border: 1px #BBBBBB solid;
    width: 101%;
    height: 100px;
}

.text-center {
    text-align: center;
    margin-top: 20px;
    padding: 5px 2px;
}

.contact-submit {
    max-width: 300px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    width: 100%;
    height: 60px;
    background-color: #012060;
    border: 0;
    background-size: 100%;
    color: #fff;
    font-size: 18px;
}

.contact-submit:hover {
    background-color: #D52828;
}

/*contact*/


.header_MV_thanks {
    height: 90px;
    background-color: #fff;
}

.thanks_sec {
    width: auto;
    padding: 100px 0 150px 0;
}


.thanks_sec_inner {
    width: 1000px;
    margin: auto;
}

.thanks-box {
    text-align: center;
}

.header_MV03 {
    height: 150px;
}

.policy_wrap {
    width: 100%;
    padding: 150px 0;
}

.policy_inner {
    margin: auto;
    max-width:1000px;
}

.policy_inner h3 {
    color: #012060;
    font-size: 24px;
    text-align: center;
    margin: 100px 0 50px 0;

}

#viewer{
    background-image: url(../image/topMV01.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position:center;
    height: 627px;
    width: 100%;
}

@media screen and (min-width: 1921px) {


    .header_MV02 img {
        width: 100%;
    }

    .footer_contact_inner {
        width: 740px;
    }
}



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

    .sp-none{
        display:none;
    }

    .pc-none{
        display:block;
    }

    .PC_br {
        display: none;
    }

    .sp_br {
        display: block;
    }

    .gnavi {
        display: none;
    }


    .hamburger_btn {
        display: block;
    }

    .gnavisp {
        display: block;
    }

    .hamburger_btn {
        display: block;
        position: fixed;
        z-index: 4;
        right: 7px;
        top: 10px;
        width: 42px;
        height: 42px;
        cursor: pointer;
        text-align: center;
    }

    .hamburger_btn span {
        display: block;
        position: absolute;
        width: 30px;
        height: 2px;
        left: 6px;
        background: #012060;
        -webkit-transition: 0.3s ease-in-out;
        -moz-transition: 0.3s ease-in-out;
        transition: 0.3s ease-in-out;
    }

    .hamburger_btn span:nth-child(1) {
        top: 10px;
    }

    .hamburger_btn span:nth-child(2) {
        top: 20px;
    }

    .hamburger_btn span:nth-child(3) {
        top: 30px;
    }

    /* ナビ開いてる時のボタン */
    .hamburger_btn.active span:nth-child(1) {
        top: 16px;
        left: 6px;
        -webkit-transform: rotate(-45deg);
        -moz-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }

    .hamburger_btn.active span:nth-child(2),
    .hamburger_btn.active span:nth-child(3) {
        top: 16px;
        -webkit-transform: rotate(45deg);
        -moz-transform: rotate(45deg);
        transform: rotate(45deg);
    }

    .gnavisp {
        position: fixed;
        z-index: 3;
        top: 0px;
        left: 0;
        color: #000;
        background: #fff;
        text-align: center;
        transform: translateY(-100%);
        transition: all 0.6s;
        width: 100%;
    }

    .gnavisp ul {
        background: #fff;
        margin: 0 auto;
        padding: 100px 0;
        width: 100%;
    }

    .gnavisp ul li {
        list-style-type: none;
        padding: 0;
        width: 100%;
        display: inline-block;
  position: relative;
    }

    .gnavisp ul li:before{
        display: inline-block;
        position: absolute;
        content: '';
        bottom: 0px; /*下線の上下の位置*/
        left: 50%;
        width: 14px; /*下線の幅*/
        height: 1px; /*下線の太さ*/
        -moz-transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        transform: translate(-50%); /*位置の調整*/
        background-color: #012060; /*下線の色*/
    }
    .gnavisp ul li:last-child:before{
        content:none;
    }

    .gnavisp ul li:last-child {
        padding-bottom: 0;
        border-bottom: none;
    }

    .gnavisp ul li:hover {
        background: #ddd;
    }

    .gnavisp ul li a {
        display: block;
        color: #012060;
        padding: 1em 0;
        text-decoration: none;
        font-size: 18px;
    }

    /* このクラスを、jQueryで付与・削除する */
    .gnavisp.active {
        transform: translateY(0%);
        top:60px;
    }

    .header_logo {
        display: none;
    }

    .header_sp {
        display: block;
        width: 100%;
        height: 60px;
        background-color: #fff;
        position: -webkit-sticky;
        position: sticky;
        top: 0;
        z-index: 3;
    }

    .header_logo_sp img {
        display: block;
        position: absolute;
        left: 10px;
    }

    .header_sp img {
        display: block;
        position: absolute;
        width:50px;
        height: auto;
        top:4px;
        left:7px;
    }


    .gnavi_sp {
        width: 100%;
        height: 50px;
        background-color: #fff;
    }

    .header_MV {
        height: 400px !important;
        margin-bottom: 0px;

    }

    .top_sec01 {
        width: 100%;
        padding: 60px 0 100px 0;
    }

    .content_title {
        width: 100%;
    }

    .top_sec01_inner {
        margin: auto;
        width: 100%;
        display: block
    }


.sec01_img{
margin:0 7px;
width:auto;
}


.top_sec01 .content_title{
    margin-bottom:50px ;
}

    .top_sec01_inner img {
        width: 100%;
    }

    .sec01_text {
        width: 100%;
        margin: 0;
    }

    .sec01_text p {
        display: block;
        margin: auto;
        width: 90%;
        padding: 0;
        font-size: 16px;
        line-height: 30px;
    }

    .contactbtn {
        width: 240px;
        right: 0;
        left: 0;
        margin: auto;
        margin-top: 50px;
    }

    .contactbtn a {
        margin: auto;
        width: 238px;
    }

    .contactbtn span {
        right: 0px;
    }

    .top_sec02{
        background-position:center;
    }

    .top_sec02 p {
        font-size: 16px;
        line-height: 30px;
        width: 100%;
        text-align:left;
    }

    .pc-br{
        display:none;
    }
    .content_p{
        margin: 0 7px;
    }
    .content_title img{
        width:190px;
        height:auto;
    }



    .service_sec01_inner {
        width: 100%;
    }

    .service_sec01_inner02 {
        width: 95%;
    }

    .contactbtn02_inner {
        width: 240px;
    }

    .contactbtn02 {
        width: 240px;
        right: 0;
        left: 0;
        margin: auto;
        margin-top: 50px;
    }

    .contactbtn02 a {
        margin: auto;
        width: 238px;
    }

    .contactbtn02 span {
        right: 0px;
    }

    .information {
        width: 100%;
    }

    .information_inner {
        width: 90%;
    }



    .top_sec03 {
        padding: 100px 0;
    }


    /*    service*/

    .sub_mv_service{
       height:300px;
       /* background-position: 82%; */
    }

    .service_sec01{
        padding: 50px 0 80px;
    }
.service_sec01_textbox p{
    font-size:16px;
}

.service_sec01_box,.service_sec02_box{
    display:block;
}

.service_sec01_box img,.service_sec02_box img{
    width:100%;
    max-width:none;
}

.service_sec01 .content_title{
    margin-bottom: 70px;
}

.service_text{
    width:300px;
    text-align: center;
    margin: 30px auto 0;
    line-height:35px;
}


.service_text div p{
    text-align: left;
    display: inline-block;
    width:300px;
}


    .header_MV02 {
        display: none;
    }

    .header_MV02_sp {
        display: block
    }

    .header_MV02_sp img {
        width: 100%;
        display: block;
    }

    .service_sec01_textbox {
        width: 95%;
        margin: auto;
        padding-bottom: 80px;
        text-align: left;
    }


    .service_item {
        display: block;
        width: 100%;
    }

    .service_item_inner {
        width: 95%;
        margin: auto;
        margin-bottom: 60px;
    }

    .service_item_inner_h3 {
        text-align: center;
        display: block;
        width: 100%;
    }

    .service_sec02_box{
        margin-top: 80px;
    }
    .service_text h3{
        line-height:20px;
    }


    /*    service*/
    /*company*/

    .sub_mv_company{
        height: 300px;

    }
    .company_table table{
        margin-bottom: 100px;
    }
    .company_sec .content_title{
        margin-bottom: 60px;
    }
    .company_sec {
        padding: 50px 0 80px;

    }

    .company_sec table {
        width: 100%;
    }

    .border_top_td {
        border-top: none;
    }

    .company_sec table th,
    .company_sec table td {
        display: block;
        width: 100%;
        height:auto;
        padding-left: 0;
        font-size:16px;
    }

    .company_sec table th{
        height:60px;
        line-height:60px;
    }

    .company_sec td {
        padding: 0;
        text-align: center;
        padding: 18px 0;
    }




    .map {
        width: 100%;
        display: block;
    }

        .sp_access {
        display: block;
            margin: auto;
            width:160px;
            height:auto;

    }

    .map iframe{
        width: 100%;
        display: block;
    }

    .map_title{
        display: none;
    }

    .map_inner {
        padding: 50px 0 0;
        width: 100%;
    }



    /*company*/

    /*contact*/
    .contact_sec01 {
        padding: 70px 0;
    }


    .contact-box {
        width: 95%;
    }


    .contact-table__td-2 {
        display: inline-block;
        padding-top: 0;
        text-align: right;
    }

    .contact-table__td-3 {
        display: block;
        width: 100%;
        padding-left: 0;
        margin-bottom: 10px;
    }

    .contact-input__2 {
        width: 100%;
    }

    .contact-table__td-1 {
        display: inline-block;
        width: 88%;
    }


    /*contact*/


    .header_MV03 {
        display: none;
    }

    .policy_wrap {
        width: 100%;
        padding: 70px 0;
    }

    .policy_inner {
        width: 90%;
        margin: auto;
    }

    .policy_inner h3 {
        color: #012060;
        font-size: 24px;
        text-align: center;
        margin: 100px 0 50px 0;

    }

    .policy_inner p{
        font-size: 16px;
    }

    .header_MV_thanks {
        height: 0px;
    }

    .footer_contact_inner {
        width: 100%;
    }

    .footer_btn {
        display: block;
    }

    .footer_contact {
        padding: 50px 0;
    }

    .footer_inner {
        height: auto;
    }

    .footer_inner ul {
        display: block;
        width: 100%;
        padding: 25px 0;
    }
    .footer_inner a img{
        width:78px;
        height:auto;
    }

    .footer_inner ul li {
        width: 100%;
        height: 60px;
        line-height: 20px;
        display: inline-block;
        position: relative;
        padding: 0;
    }

    .footer_inner ul li:before{
        display: inline-block;
        position: absolute;
        content: '';
    bottom: 0px; /*下線の上下の位置*/
    left: 50%;
    width: 14px; /*下線の幅*/
    height: 1px; /*下線の太さ*/
    -moz-transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translate(-50%); /*位置の調整*/
    background-color: #fff; /*下線の色*/
    }

    .footer_inner ul li:last-child:before{
        content:none;
    }

    .footer_inner ul li a {
        height: 60px;
        line-height: 60px;
        display: block;
    }

    .footer_border {
        border-right: none;
    }

    .footer_under{
        width:auto;
        display:block;
        height:auto;
        text-align:center;
        margin: 30px 0;
    }

    .footer_under div{
        margin-top: 30px;
        text-align: center;
    }

    .footer_under div p{
        text-align: left;
        display: inline-block;
    }
}
