@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: "Noto Sans JP", sans-serif;
    -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;*/
}
.banner_wrap{
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 5rem;
}
@media print , screen and (min-width: 769px) and (max-width: 1160px) {
    html{
        font-size: 0.87vw;
    }
}
.wrap{
    max-width: 1160px;
    margin: 0 auto;
}

section{
    padding-bottom: 5%;
    position: relative;
}

h3{
    font-size: 2.7rem;
    font-weight: 500;
    border-left: solid 1rem #005698;
    padding: 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;
}
a.no_link{
    cursor:default;
    color:inherit;
    text-decoration:none;
}
a.no_link:hover{
    opacity: 1;
}
.wrap_inner{
    padding-left: 5.172413793103448%; /* 60px計算（60/1160*100） */
    padding-right: 5.172413793103448%; /* 60px計算（60/1160*100） */
}
.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_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） */
    }
}
@media print , screen and (min-width: 1200px){
    main > section{
        padding-bottom: 90px;
    }
}

/*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;
    }
    .wrap{
        padding-left: 5.3%;
        padding-right: 5.3%;
    }
    .banner_wrap{
        margin-bottom: 2.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;
    align-items: center;
    font-size: 1.4rem;
}
nav ul li{
    margin-right: 2em;
}
nav ul li:last-child{
    margin-right: 0;
}
.inquiry{
    padding: 1rem 3rem;
    background-color: #065AAA;
    color: #FFF;
    border-radius: 0.5em;
}
.menu_btn{
    background-color: #ededed;
    padding: 0.5rem;
    border-radius: 0.5rem;
    display: inline-block;
}
#menu{
    position: fixed;
    top: 0;
    left: 0;
    background-color:rgba(0,0,0,0.9);
    color: #FFF;
}
.menu_wrap .wrap{
    padding: 80px 0;
    position: relative;
}
.menu_wrap .menu_btn{
    background-color:rgba(237,237,237,0.6);
}
.menu_btn_wrap{
    position: absolute;
    top: 15px;
    right: 0;
}
.clm-wrap li{
    margin-right: 0;
}
.clm-wrap{
    display: flex;
    justify-content: space-around;
}
.clm-wrap .clm{
    flex-direction: column;
    align-items: flex-start;
}
.clm-wrap .clm .clm-title,
.clm-wrap .clm .jp-link {
    font-weight: bold;
    margin-bottom: 2rem;
    font-size: 1.8rem;
}
.clm-wrap .clm .detail li{
    margin: 0;
    margin-bottom: 1.5rem;
    font-size: 1.5rem;
}
.clm-wrap ul{
    flex-direction: column;
    align-items: flex-start;
}
.clm-wrap li{
    line-height: 1.6;
}
.clm-wrap .clm .contact_web{
    background-color: rgba(31, 107, 179, 1);
    padding: 4.7% 11.7%;
}
.clm-wrap .clm .contact_web .ico{
    margin-right: 3rem;
}
.clm-wrap .clm .contact_web p{
    font-size: 1.5rem;
    text-wrap: nowrap;
}
.clm-wrap .clm .contact_title{
    margin-bottom: 2rem;
}
.clm-wrap .clm .contact_tell{
    margin-top: 1rem;
}
.clm-wrap .clm .contact_tell p:first-child{
    margin-bottom: 0;
}


/*sp*/
@media print, screen and (max-width: 768px){
    .h1_box .h1_35 h1{
        margin-right: 0;
    }
    .sz_logo p{
        font-size: 1.6rem;
    }
    #menu_btn{
        padding: 1rem;
    }
    #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;
    }
    .menu_btn_wrap{
        top:5px;
        right:5px;
    }
    .clm-wrap {
        max-width: 100%;
        padding: 0 5.3%;
        margin-left: auto;
        margin-right: auto;
        display: block;
    }
    .clm-wrap li{
        width: 100%;
    }
    .clm-wrap .clm{
        /*        border-bottom: 1px solid rgba(255, 255, 255, 0.5);*/
    }
    .clm-wrap .clm .detail{
        display: none;
    }
    .clm-wrap .clm .clm-title,
    .clm-wrap .clm .jp-link {
        margin-bottom: 0;
        padding: 2rem;
        padding-left: 5.3rem;
        position: relative;
        border-bottom: 1px solid rgba(255, 255, 255, 0.5);
    }
    .clm-wrap .clm .clm-title a{
        pointer-events: none;
    }
    .clm-wrap .clm:first-child .clm-title{
        border-top: 1px solid rgba(255, 255, 255, 0.5);
    }
    .clm-wrap .clm .clm-title::before,
    .clm-wrap .clm .clm-title::after{
        position: absolute;
        top: 50%;
        transform: translate(0, -50%);
        line-height: 1;
    }
    .clm-wrap .clm .clm-title::before{
        content: "●";
        font-size: 150%;
        left: 3.1%;
    }
    .clm-wrap .clm .clm-title::after{
        content: "＋";
        color: #000000;
        left: 3.1%;
        padding: 4.5px;
    }.clm-wrap .clm .clm-title.open::after{
        content: "－";
    }
    .clm-wrap .clm .detail li {
        margin-bottom: 0;
        background-color: #ededed;
        color: #000;
        border-bottom: 1px solid #000;
    }
    .clm-wrap .clm .detail li a{
        padding: 1rem 3rem;
        display: block;
    }
    .clm-wrap .clm .contact_btn{
        margin-top: 3.5rem;
    }
    .clm-wrap .clm .contact_btn.flexbox .contact_title{
        margin-bottom: 2rem;
    }
    .clm-wrap .clm .contact_btn.flexbox .contact_web{
        margin-bottom: 1rem;
    }
    .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;
    }
    #menu-out-wrap #menu{
        display: none;
    }
    #menu{
        height: 100vh;
        overflow: scroll;
    }
    .menu_wrap .menu_btn_wrap{
        position: fixed;
    }
    .menu_wrap .menu_btn{
        background-color: transparent;
    }
    .sz_logo img{
        max-width: 65px;
    }
}
@media print, screen and (min-width: 769px){
    header{
        border-bottom: 1px solid #ABABAB;
    }
    .inner_r li.pc.active{
        font-weight: bold;
        color: #065AAA;
        pointer-events: none;
    }
}

/*----------------------------
パンくず
----------------------------*/
#breadcrumb{
    font-size: 1.6rem;
    margin-bottom: 2rem;
}
#breadcrumb .wrap{
    line-height: 2.5;
}
#breadcrumb .breadcrumb-arrow {
    margin: 0 0.5em;
}
#breadcrumb .breadcrumb-text a{
    text-decoration: underline;
    text-underline-position:under;
}
#breadcrumb .breadcrumb-text a{
    display: inline-block;
}
/*sp*/
@media print, screen and (max-width: 768px){
    #breadcrumb{
        font-size: 12px;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        overflow-scrolling: touch;
        overflow: auto;
        white-space: nowrap;
    }
    #breadcrumb .wrap{
        padding: 5px;
    }
}

/*----------------------------
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;
}
.footer_nav_item{
    margin-right: 8%;
    line-height: 2;
}
.footer_nav_item:last-child{
    margin-right: 0;
}
.footer_nav_item a{
    display: block
}
#footer_recommend-service,
#footer_recruit,
#footer_aboutus{
    padding-top: 7.75%;
    padding-bottom: 7.75%;
    position: relative;
}
.grayback:before{
    content: " ";
    background-color: #F2F2F2;
    display: block;
    width: 100vw;
    height: 100%;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
}
.footer_item_wrap.flexbox{
    flex-wrap: wrap;
}
.footer_item_wrap .item{
    width: 23.2%;
    margin-right: 2.4%;
}
#footer_recommend-service .footer_item_wrap{
    justify-content: space-between;
}
#footer_recommend-service .footer_item_wrap .item{
    width: 48.79310344827586%;
    margin-right: 0%;
    margin-bottom: 4%;
    margin-top: 0;
}
#footer_recommend-service .footer_item_wrap .item:nth-last-child(-n+2){
    margin-bottom: 0;
}
#footer_recommend-service .footer_item_wrap .item img{
    margin-bottom: 0%;
}
#footer_recommend-service .footer_item_wrap .item:nth-last-child(-n+2) img{
    margin-bottom: 0;
}
.footer_item_wrap .item img{
    margin-bottom: 4rem;
}
.footer_item_wrap .item .title{
    font-weight: bold;
    font-size: 2rem;
    margin-bottom: 0.5em;
}
.footer_item_wrap .item p{
    line-height: 1.5;
}
#footer_recruit .footer_item_wrap{
    justify-content: space-between;
}
#footer_recruit .footer_item_wrap .item{
    width: 48.79310344827586%;
    margin-right: 0%;
    margin-bottom: 4%;
    margin-top: 0;
}
#contact{
    background-color: #065AAA;
    color: #fff;
    font-size: 1.3rem;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
}
#contact .lead{
    text-align: center;
}
.contact_wrap{
    padding: 5.2% 0;
}
.contact_wrap_en{
    padding: 1% 0 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;
}
/*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-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;
    }
}
/*sp2*/
@media print, screen and (max-width: 480px){
    #footer_recommend-service{
        padding-bottom: 0;
    }
    #footer_recommend-service .footer_item_wrap {
        width: 100vw;
        position: relative;
        left: 50%;
        transform: translateX(-50vw);
    }
    #footer_recommend-service .footer_item_wrap .item {
        width: 100%;
        margin-left: 0;
        margin-right: 0;
        margin-bottom: 0;
    }
    #footer_recommend-service .footer_item_wrap .item img{
        margin-bottom: 0;
        display: block;
    }
    #footer_recruit .footer_item_wrap .item {
        width: 100%;
        margin-left: 0;
        margin-right: 0;
    }
}
/*pc*/
@media print, screen and (min-width: 769px){
    .footer_item_wrap .item:nth-child(4n){
        margin-right: 0%;
    }
    .footer_item_wrap .item:nth-child(n+5){
        margin-top: 5rem;
    }
}



/*----------------------------
content
----------------------------*/
.index_h{
    font-size: 3.6rem;
    position: relative;
    color: #065AAA;
    margin-bottom: 5rem;
}
.index_h h2{
    display: inline-block;
    position: relative;
    margin-bottom: 2.5rem;
    font-weight: bold;
    font-size: 4rem;
    line-height: 1.2;
}
.index_h p{
    font-size: 1.6rem;
    line-height: 1.2;
}
#footer_inc{
    margin: 0;
}
@media print, screen and (max-width: 768px){
    .index_h h2{
        font-size: 3rem;
        margin-bottom: 1.5rem;
    }
    #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, .contact_wrap_en {
        padding: 0;
        padding-top: 1rem;
    }
    .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: 400px;
    }
    .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;
    }
    #footer_inc .index_h.sp_style{
        /*font-weight: bold;*/
    }
    #footer_inc .index_h.sp_style h2{
        display: inline-block;
        line-height: 1;
    }
    .index_h.sp_style{
        margin-bottom: 4rem;
        text-align: center;
    }
    .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);
    }
}

sup {
    vertical-align: top;
    font-size: small;
    top: 0;
}
