@charset "utf-8";

html{
    font-size: 62.5%;
    overflow-y: scroll; 
    overflow-x: hidden;
}
* {
    box-sizing: border-box;
    line-height: 1.5;
}
main p,
#cont .table-wrap{
    line-height: 2;
}
.outer-base-width{
    padding-left: 1.5%;
    padding-right: 1.5%;
}
body{
    background-color: #fff;
    /*font-family: Helvetica , Arial , Verdana , "游ゴシック" , "Yu Gothic" , "游ゴシック体" , "YuGothic" , "メイリオ" , Meiryo , sans-serif;*/
    font-family: "Noto Sans JP", sans-serif;
    color: #707070;
    -webkit-text-size-adjust: 100%;
    font-size: 1.6rem;
}

.scroll-prevent{
    overflow: hidden;
    position: relative;
}

body.scroll-prevent:before{
    /*    content:" ";
        width: 100%;
        height: 100%;
        position: absolute;
        background-color: rgba(0, 0, 0, 0.12);
        top: 0;
        right: 0;*/
}
@media print , screen and (min-width: 769px) and (max-width: 1160px) {
    html{
        font-size: 0.87vw;
    }
}
.wrap{
    max-width: 1160px;
    margin: 0 auto;
}
section{
    margin-top: 5%;
    margin-bottom: 5%;
}
h3{
    font-size: 2.7rem;
    font-weight: 500;
    border-left: solid 1rem #005698;
    padding: 0 1rem;
}
.blue_txt{
    color: #005AAA;
    font-size: 2rem;
    line-height: 1.5;
    margin-top: 2rem;
}
img{
    width: 100%;
}
a{
    color: inherit;
    text-decoration: none;
}
a:hover{
    opacity: 0.5;
}
.inner{
    padding-left: 5.172413793103448%; /* 60px計算（60/1160*100） */
    padding-right: 5.172413793103448%; /* 60px計算（60/1160*100） */
    max-width: 1260px;
    margin: auto;
}
.inner_l{
    margin-left: 60px;
}
.inner_r{
    /*margin-right: 60px;*/
}
.flexbox{
    display: flex;
}
.flexbox.clum2{
    justify-content: space-between;
}
.flexbox.clum2 .item{
    width: 49%;
}
.clearfix:after{
    content: "."; 
    display: block; 
    height: 0; 
    font-size:0;	
    clear: both; 
    visibility:hidden;
}
.clearfix{
    display: inline-block;
}
.header-ecs{ /*ヘッダーの高さ分下げる*/
    /*margin-top: 80px;*/
}
.sp{
    display: none;
}
.mt1{
    margin-top: 1rem;
}
.mt2{
    margin-top: 2rem;
}
.mt3{
    margin-top: 3rem;
}
.mt4{
    margin-top: 4rem;
}
.mt5{
    margin-top: 5rem;
}
.mt6{
    margin-top: 6rem;
}
.mt7{
    margin-top: 7rem;
}
.mt8{
    margin-top: 8rem;
}
.mt9{
    margin-top: 9rem;
}
.mt10{
    margin-top: 10rem;
}
.btn-wrap.center{
    text-align: center;
}
.btn-wrap .br{
    display: inline-block;
}
.text-center{
    text-align: center;
}
.text-left{
    text-align: left;
}
.text-right{
    text-align: right;
}
.btn-wrap{
    margin-top: 1rem;
    margin-bottom: 1rem;
}
.btn_S,.btn_M,.btn_L{
    display: inline-block;
    background: -moz-linear-gradient(left, #0091FF, #005AAA);
    background: -webkit-linear-gradient(left, #0091FF, #005AAA);
    background: linear-gradient(to right, #0091FF, #005AAA);
    color: #FFF;
    padding: 2rem 2em;
    border-radius: 1rem; 
    position: relative;
    vertical-align: middle;
    text-align: center;
}
.btn_S:after,
.btn_M:after,
.btn_L:after{
    content:"";
    display: inline-block;
    width: 1em;
    height: 1em;
    background:url(../image/btn_arrow.svg) no-repeat;
    background-size:contain;
    position: absolute;
    top: 50%;
    right: 2%;
    -webkit-transform : translateY(-50%);
    transform : translateY(-50%);
}
.btn_S{
    font-size: 1.6rem;
    width: 220px
}
.btn_S_2{
    padding: 1rem 1em;
}
.btn_M{
    font-size: 2.2rem;
    width: 336px
}
.btn_L{
    font-size: 2.7rem;
    width: 500px;
}
#cms_part br{
    display: none;
}
.topimage .pc{
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
    width: 100vw;
}

/*pc*/
@media print , screen and (min-width: 769px){
    .flexbox.overLeft{
        width: 105.7692307692308%; /* 1100px計算（1100/1040） */
        position: relative;
        left: -5.76923076923077%; /* 60px計算（60/1040） */
    }
}

/*sp*/
@media print, screen and (max-width: 768px){
    .pc{
        display: none;
    }
    .sp{
        display: block;
    }
    .header-ecs{ /*ヘッダーの高さ分下げる*/
        /*margin-top: 60px;*/
    }
    .outer-base-width{
        padding: 0;
    }
    .inner{
        padding-left: 5%;
        padding-right: 5%;
    }
    h3{
        font-size: 2.4rem;
        font-weight: bold;
    }
    .blue_txt{
        font-size: 1.8rem;
        line-height: 1.7;
    }
    .flexbox.clum2{
        display: block;
    }
    .flexbox.clum2 .item{
        width: auto;
    }
    .flexbox.clum2 .item + .item{
        margin-top: 1rem;
    }
    .btn-wrap{
        text-align: center;
    }
    .btn_S{
        width: 80%;
    }
    .btn_M{
        width: 90%;
    }
    .btn_L{
        width: 100%;
    }
    main p,
    #cont .table-wrap{
        line-height: 1.5;
    }
    #busi_status{
        padding-top: 10rem;
        margin-top: -5rem;
    }
}

/*----------------------------
header
----------------------------*/
header{
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 1;
}
#header_cont{
    padding: 15px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
}
#header_inc{
    background-color: #fff;
}
.sz_logo{
    display: flex;
    align-items: center;
}
h1{
    margin-right: 2.5rem;
}
.sz_logo img{
    max-width: 118px;
}
.sz_logo p{
    font-size: 2rem;
}
nav ul{
    display: flex;
    color: #005AAA;
    font-weight: bold;
    font-size: 1.4rem;
}
nav ul li{
    margin-right: 2em;
}
nav ul li:last-child{
    margin-right: 0;
}
/*sp*/
@media print, screen and (max-width: 768px){
    .sz_logo p{
        font-size: 1.6rem;
    }
    #menu_btn{
        background-color: #004BB1;
        padding: 12px;
    }
    #menu_btn img{
        max-width: 23px;
    }
    #header_cont{
        padding: 5px;
    }
    #sp_menu{
        position: absolute;
        top: 60px;
        left: 0;
        width: 100%;
        color: #004BB1;
        font-size: 2rem;
        display: none;
        overflow: scroll;
    }
    .sp_menu_wrap{
        background: #fff;
    }
    #sp_menu a{
        padding: 25px 0;
        border-bottom: solid 1px #004BB1;
        display: block;
        background-color: #F0F3F5;
        position: relative;
    }
    #sp_menu a:after{
        content: "";
        background: url(../image/ico_menu_arrow.png) no-repeat;
        background-size: cover;
        position: absolute;
        top: 50%;
        right: 1em;
        width: 6px;
        height: 10px;
        transform: translateY(-50%);
    }
    #sp_menu a:last-child{
        border-bottom: none;
    }
    #sp_menu a p{
        text-indent: 1em;
    }
    #sp_menu .active{
        position: relative;
        pointer-events: none;
        font-weight: bold;
    }
    #sp_menu .active:before{
        content: " ";
        width: 100%;
        height: 100%;
        position: absolute;
        background-color: rgba(0, 0, 0, 0.12);
        top: 0;
        right: 0;
    }
}

/*----------------------------
パンくず
----------------------------*/
#breadcrumb{
    font-size: 1.6rem;
    background-color: #F2F2F2;
}
#breadcrumb .wrap{
    padding: 0 15px;
    line-height: 2;
}
#breadcrumb .breadcrumb-arrow {
    margin: 0 0.5em;
}
#breadcrumb .breadcrumb-text a{
    text-decoration: underline;
    text-underline-position:under;
}
/*sp*/
@media print, screen and (max-width: 768px){
    #breadcrumb{
        font-size: 12px;
    }
}

/*----------------------------
footer
----------------------------*/
#footer_nav{
    background-color: #F2F2F2;
    padding: 7.3% 0;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
}
#footer_nav .inner.flexbox{
    justify-content: center;
}
.footer_nav_item p:first-child{
    font-weight: bold;
    color: #515151;
}
.footer_nav_item{
    margin-right: 8%;
    line-height: 2;
}
.footer_nav_item:last-child{
    margin-right: 0;
}
.footer_nav_item a{
    display: block;
    font-weight: 400;
}
#footer_aboutus{
    padding-top: 7.75%;
    padding-bottom: 45px;
}
.footer_item_wrap .item{
    width: 25%;
    margin: 0 1%;
}
.footer_item_wrap .item img{
    margin-bottom: 16%;
}
.footer_item_wrap .item .title{
    font-weight: bold;
    font-size: 2rem;
    margin-bottom: 0.5em;
}
.footer_item_wrap .item p{
    line-height: 1.5;
}
#contact{
    background-color: #065AAA;
    color: #fff;
    font-size: 1.3rem;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
}
.contact_wrap{
    padding: 5.2% 0;
}
.contact_btn{
    margin-top: 60px;
    align-items: center;
    justify-content: space-around;
}
.contact_title{
    /*margin-right: 7.75%;*/
}
.contact_title img {
    /*max-width: 117px;*/
    width: 12rem;
}
.contact_web{
    padding: 1.7% 3.7%;
    background-color: rgba(255, 255, 255, 0.1);
    border: solid 1px #FFFFFF;
    border-radius: 50px;
    align-items: center;
}
.contact_web .ico{
    width: 4.1rem;
    max-width: 30px;
    margin-right: 3.5rem;
}
.contact_web p{
    font-size: 1.9rem;
    font-weight: bold;
}
.contact_tell .ico{
    /*max-width: 36px;*/
    width: 4.1rem;
    margin-right: 2rem;
    align-self: center;
}
.contact_tell p span{
    font-size: 3rem;
    font-weight: bold;
}
.contact_tell p:first-child{
    margin-bottom: 1em;
}
.corp_wrap{
    padding: 25px 0;
    border-top: solid 1px;
    border-color: rgba(255, 255, 255, 0.37);
    text-align: center;
}
.corp_wrap ul{
    justify-content: center;
    margin-bottom: 1.5em;
}
.corp_wrap ul li{
    margin-right: 2em;
}
.corp_wrap ul li:last-child{
    margin-right: 0;
}
.newmark{
    background-color: #E71F19;
    color: #FFF;
    padding-left: 0.5em;
    padding-right: 0.5em;
    font-weight: bold;
    font-size: 0.8em;
    margin-right: 0.3em;
}
/*sp*/
@media print, screen and (max-width: 768px){
    #footer_aboutus{
        /*        padding-left: 0;
                padding-right: 0;*/
    }
    #footer_aboutus .item .title{
        /*        text-decoration: underline;
                text-underline-position:under;*/
    }
    .index_h.sp_style{
        font-weight: bold;
        color: #707070;
        font-size: 2.6rem;
    }
    .index_h.sp_style h2{
        margin-bottom: 1em;
    }
    .index_h.sp_style h2:after{
        display: none;
    }
    .footer_item_wrap{
        flex-wrap: wrap;
    }
    .footer_item_wrap .item{
        width: 48%;
        /*background-color: #F0F3F5;*/
    }
    .footer_item_wrap .item:nth-child(odd){
        margin-left: 0;
        margin-right: 2%;
    }
    .footer_item_wrap .item:nth-child(even){
        margin-left: 2%;
        margin-right: 0;
    }
    .footer_item_wrap .item:nth-child(1), .footer_item_wrap .item:nth-child(2){
        margin-bottom: 2%;
    }
    .footer_item_wrap .item img{
        margin-bottom: 0;
    }
    .footer_item_wrap .item .txt-area{
        padding: 1em 0;
    }
    .footer_item_wrap .item .title{
        font-size: 1.8rem;
    }
    .footer_item_wrap .item p{
        font-size: 1.3rem;
    }
}

/*----------------------------
content
----------------------------*/
.index_h{
    font-size: 3.6rem;
    text-align: center;
}
.index_h h2{
    display: inline-block;
    position: relative;
    margin-bottom: 60px;
}
.index_h h2:after{
    position: absolute;
    content: '';
    width: 150px;
    height: 3px;
    background-color: #005AAA;
    bottom: -20px;
    left: 50%;
    transform: translateX(-50%);
}
@media print, screen and (max-width: 768px){
    #contact{
    }
    #contact .inner{
        padding-top: 1rem;
    }
    #contact .sp_bg{
        background-color: #F2F2F2;
        padding: 5%;
    }
    .lead{
        font-family: "メイリオ" , Meiryo;
        font-size: 1.4rem;
        line-height: 1.5;
    }
    .contact_wrap{
        padding: 0;
    }
    .contact_btn{
        margin-top: 5%;
    }
    .contact_web{
        margin-right: auto;
        margin-left: auto;
        /*background-color: #004BB1;*/
        color: #fff;
        margin-bottom: 5%;
        padding: 20px;
        justify-content: center;
        max-width: 370px;
    }
    .contact_web .txt{
        margin-right: 1rem;
    }
    .contact_web p{
        font-size: 1.5rem;
        line-height: 1.2;
    }
    .contact_web .ico{
        margin-right: 2rem;
    }
    .contact_tell{
        text-align: center;
        /*font-size: 1.8rem;*/
    }
    .contact_tell p span{
        font-size: 2.8rem;
        color: #FFF;
    }
    .contact_tell .ico {
        margin-right: 1rem;
    }
    .corp_wrap{
        padding: 0;
    }
    .corp_wrap ul{
        display: flex;
        flex-wrap: wrap;
        text-align: center;
        font-size: 100%;
        text-decoration: underline;
        line-height: 1.5;
        padding: 25px 0;
        margin-bottom: 0;
        justify-content: space-between;
    }
    .corp_wrap ul li{
        margin-right: 0;
        width: 49%;
    }
    .corp_wrap ul li:nth-child(n+3){
        margin-top: 1rem;
    }
    .copy{
        line-height: 1.7;
        padding: 1em 0;
    }
    .btn_sp{
        width:90%;
        font-size:2.0rem;
    }
    .worker dt,
    #footer_inc .index_h.sp_style{
        font-weight: bold;
    }
    .worker .underline,
    #footer_inc .index_h.sp_style h2{
        border-bottom: 2px solid #005AAA;
        padding-bottom: 0.75rem;
        margin-bottom: 0;
        display: inline-block;
        line-height: 1;
    }
    .worker dt,
    #footer_inc .index_h.sp_style{
        margin-bottom: 4rem;
    }
    .contact_btn.flexbox{
        display: block;
        text-align: center;
    }
    .contact_btn.flexbox .contact_title,
    .contact_btn.flexbox .contact_web,
    .contact_btn.flexbox .contact_tell{
        margin-bottom: 5rem;
    }
    .contact_btn.flexbox .contact_tell{
        justify-content: center;
    }
    .corp_wrap{
        border-top:none;
        position: relative;
    }
    .corp_wrap::after{
        content: "";
        position: absolute;
        top: 0;
        right: 50%;
        transform: translateX(50vw);
        width: 100vw;
        border-bottom: 1px solid;
        border-color: rgba(255, 255, 255, 0.37);
    }
}