@charset "utf-8";

/*-------------------------------------------------------------------
setting basic
-------------------------------------------------------------------*/
.body_mhlw { 
    font-size: 62.5%; 
}
#wrapper {
    overflow: hidden;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    color: #333;
}
.wid100{
    width:100%;
    max-width: 100%;
    height:auto;
    vertical-align: bottom;
}
.iBlock{
    display: inline-block;
}
.fadelink{
    display: block;
    cursor: pointer;
    transition: .6s;
    text-decoration: none;
}

/* フェードイン */
.is-fadeIn {
    opacity: 0;
    transform: translate3d(0, 30px, 0);
    transition: opacity 1.0s, transform 1.0s;
}
.is-fadeIn.is-scrollIn {
    opacity: 1;
    transform: translate(0, 0);
}

@media screen and (min-width:751px){
    .is-fadeIn {
        transform: translate3d(0, 40px, 0);
    }
    .u-sp{
        display: none !important;
    }
    .fadelink:hover{
        opacity: 0.6;
    }
}
@media screen and (max-width:750px){
    .u-pc{
        display: none !important;
    }
}

/* ============ tablet ============ */
@media screen and (max-width:1100px) and (min-width:751px){
    .body_mhlw { 
        font-size: 52.5%; 
    }
}

/*-------------------------------------------------------------------
HEADER
-------------------------------------------------------------------*/
/* ============ common ============ */
.site_header{
    position: relative;
    padding: 20px 0 25px;
    background: #fff;
}
.site_logoList{
    display: flex;
    justify-content: center;
    align-items: center;
}
.site_logoItem01{
    width:236px;
}
.site_logoItem02{
    width:120px;
}
.site_logoItem03{
    width:221px;
}
.site_logoItem:not(:last-child){
    margin: 0 45px 0 0;
}

/* ============ sp ============ */
@media screen and (max-width:750px){
    .site_header{
        padding: 1vw 0;
    }
    .site_logoItem01{
        width:31.3vw;
    }
    .site_logoItem02{
        width:16vw;
    }
    .site_logoItem03{
        width:29.4vw;
    }
    .site_logoItem:not(:last-child){
        margin: 0 8vw 0 0;
    }
}

/*-------------------------------------------------------------------
FOOTER
-------------------------------------------------------------------*/
/* ============ common ============ */
.site_footer {
    background: #333333;
    font-size: 1.6em;
    text-align: center;
    color: #c9c9c9;
}
.foot_inner {
    position: relative;
    max-width: 1366px;
    margin: auto;
    padding: 50px 0 60px;
}
.footerPr {
    line-height: 1.9;
}
.footerDescriptionList_link {
  color: #c9c9c9;
  text-decoration: none;
  position: relative;
}
.footerDescriptionList_link::after {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  height: 1px;
  background: #c9c9c9;
}
.copyright {
    line-height: 1.9;
    display: block;
}

/* ============ sp ============ */
@media screen and (max-width:750px){
    .site_footer {
        font-size: 3.46vw;
    }
    .foot_inner {
        padding: 9.3vw 0;
    }
    .footerDescription {
        margin: 0 auto 9.3vw;
    }
    .footerDescriptionList{
        display: block;
    }
    .footerDescriptionListItem:not(:last-child){
        margin: 0 0 5vw;
    }
    .footerDescriptionList_link {
        display: inline-block;
    }
    .footerDescriptionList_link::after {
      bottom: -30%;
      width: 100%;
    }
    .footerPr {
        line-height: 1.6;
    }
    .copyright {
        line-height: 1.6;
    }
}
/* ============ pc ============ */
@media screen and (min-width:751px){
    .footerDescription {
        margin: 0 0 2.2%;
    }
    .footerDescriptionList_link::after {
      bottom: -7px;
      width: 100%;
    }
    .footerDescriptionList {
        display: flex;
        justify-content: center;
        margin: 0 0 35px;
    }
    .footerDescriptionListItem:first-child {
        margin-right: 20px;
    }
    .footerDescriptionList_link:hover::after {
        opacity: 0;
    }
}


/*-------------------------------------------------------------------
MAIN
-------------------------------------------------------------------*/
/* ============ common ============ */
.inner{
    max-width: 1000px;
    margin: auto;
    position: relative;
    width:100%;
    z-index: 10;
}
.btnArea{
    background: -moz-linear-gradient(left, #35adc8, #1dd5e6);
    background: -webkit-linear-gradient(left, #35adc8, #1dd5e6);
    background: linear-gradient(to right, #35adc8, #1dd5e6);
    padding: 55px 17% 45px;
    margin:0 0 20px 0;
}
.btnArea_tit{
    margin: 0 0 20px;
}

/* ============ kv ============ */
.kv{
    position: relative;
    background: #00b4ce;
    padding: 15px 0 0;
}
.kv_img{
    max-width: 1366px;
    margin: auto;
    z-index: 10;
    position: relative;
}

/* ============ works ============ */
.sec_works{
    background: #f5f9fc;
    padding: 0 0 55px;
}
.works_copy{
    background: #fff;
    box-shadow: 3px 3px 10px rgba(0,0,0,0.2);
    padding: 70px;
    width:80%;
    position: relative;
    top:-75px;
    margin: 0 auto 50px;
}
.copy_tit{
    margin: 0 0 40px;
}
.copy_txt{
    font-size: 1.8em;
    line-height: 1.6;
}
.copy_txt_small{
    font-size: 0.7em;
    vertical-align: baseline;
}
.copy_list{
    margin: 30px 0 0;
    font-size: 1.2em;
    line-height: 2;
}
.works_tit{
    margin: 0 auto 20px;
}
.works_img{
    max-width:94%;
    margin: auto;
}
.works_works{
    max-width: 86%;
    margin: auto;
}

/* ============ support ============ */
.sec_support{
    padding: 90px 0 110px;
}
.support_tit{
    width:80%;
    margin: 0 auto 35px;
}
.support_txt{
    width:66%;
    font-size: 1.8em;
    line-height: 1.6;
    margin: 0 auto 65px;
}
.support_list{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    position: relative;
    margin: 0 0 125px;
}
.support_list::after{
    content: "";
    display: block;
    visibility: visible;
    background: url("../img/support_down.png") no-repeat;
    background-size: contain;
    width:50px;
    height: 100px;
    position: absolute;
    top:100%;
    left: 50%;
    transform: translateX(-50%);
}
.support_item{
    width:20%;
    margin-bottom: 40px;
}
.support_item:not(:last-child):not(:nth-child(3)){
    margin-right:9%;
}
.support_list_tit{
    line-height: 1.6;
    font-size: 1.8em;
    font-weight: 900;
    text-align: center;
    margin: 20px 0 0;
}

/* ============ check ============ */
.sec_check{
    background: #f5f9fc;
    padding: 90px 0 150px;
}
.check_tit{
    width:78%;
    margin: 0 auto 95px;
}
.check_content{
    width:86%;
    display: flex;
    margin: auto;
}
.check_content_img{
    width:35%;
    flex-shrink: 0;
    margin: 0 20px 0 0;
}
.check_content_item{
    width:55%;
}
.check_content_tit{
    color: #fff;
    font-size: 3em;
    font-weight: 900;
    position: relative;
    display: inline-block;
    margin:  0 0 65px;
}
.check_content_tit::after{
    content: "";
    display: block;
    visibility: visible;
    background: url("../img/check_waku.png") no-repeat;
    background-size: contain;
    width:560px;
    height: 106px;
    position: absolute;
    top:-13px;
    left: -45px;
    z-index: 10;
}
.check_content_tit_inner{
    position: relative;
    z-index: 100;
}
.check_content_txt{
    font-size: 1.8em;
    line-height: 1.6;
    margin: 0 0 30px;
}

/* ============ route ============ */
.sec_route{
    padding: 100px 0 150px;
}
.route_tit{
    width:32%;
    margin: 0 auto 40px;
}
.route_txt{
    line-height: 1.6;
    font-size: 1.8em;
    width:69%;
    margin: 0 auto 40px;
    text-align: center;
}
.route_list{
    width:66%;
    margin: 0 auto 70px;
}
.route_item{
    display: flex;
    align-items: center;
    padding: 13px 40px;
    background: #f5f9fc;
    border-radius: 35px;
    color: #35adc8;
    font-weight: 900;
}
.route_item:not(:last-child){
    margin: 0 0 35px;
}
.route_list_num{
    flex-shrink: 0;
    font-size: 4.6em;
    margin: 0 20px 0 0;
}
.route_list_txt{
    font-size: 3.3em;
    line-height: 1.12;
}
.route_list_accent{
    color: #ff9b00;
}


/* ============ sp ============ */
@media screen and (max-width:750px){
    /* ============ common ============ */
    .inner{
        width:100%;
    }
    .btnArea{
        padding: 6vw 5vw;
    }
    .btnArea_tit{
        margin: 0 auto 6.6vw;
        width:66.4vw;
    }

    /* ============ kv ============ */
    .kv{
        padding: 1.3vw 0 13vw;
    }

    /* ============ works ============ */
    .sec_works{
        padding: 0 0 18.6vw;
    }
    .works_copy{
        padding: 4vw 2.6vw 6.6vw;
        width:93.3vw;
        top:-9.3vw;
        margin: 0 auto 9.3vw;
    }
    .copy_tit{
        margin: 0 0 5.3vw;
    }
    .copy_txt{
        font-size: 3.43vw;
        width:82.6vw;
        margin: auto;
    }
    .copy_txt_small{
        font-size: 2.6vw;
    }
    .copy_list{
        margin: 4vw auto 0;
        font-size: 2.6vw;
        width:82.6vw;
    }
    .works_tit{
        margin: 0 auto 5vw;
        width:87vw;
    }
    .works_img{
        max-width:94.8vw;
    }
    .works_works{
        max-width: 100%;
    }

    /* ============ support ============ */
    .sec_support{
        padding: 18.6vw 0 0;
    }
    .support_tit{
        width:81.3vw;
        margin: 0 auto 5.3vw;
    }
    .support_txt{
        width:92vw;
        font-size: 3.43vw;
        margin: 0 auto 9.3vw;
    }
    .support_list{
        margin: 0 0 25vw;
    }
    .support_list::after{
        width:9vw;
        height: 20.6vw;
    }
    .support_item{
        width:37.3vw;
        margin-bottom: 8vw;
    }
    .support_item:not(:last-child):not(:nth-child(3)){
        margin-right: 0;
    }
    .support_item:nth-child(even){
        margin-left: 7vw;
    }
    .support_list_tit{
        line-height: 1.4;
        font-size: 4vw;
        margin: 2.6vw 0 0;
    }

    /* ============ check ============ */
    .sec_check{
        padding: 18.6vw 0;
    }
    .check_tit{
        width:88.6vw;
        margin: 0 auto 6.6vw;
    }
    .check_content{
        width:92vw;
        display: block;
        margin: auto;
    }
    .check_content_img{
        width:56vw;
        margin: 0 auto 9.3vw;
    }
    .check_content_item{
        width:100%;
    }
    .check_content_tit{
        font-size: 5.6vw;
        display: block;
        text-align: center;
        margin:  0 0 12vw;
    }
    .check_content_tit::after{
        background: url("../img/check_waku_sp.png") no-repeat;
        background-size: contain;
        width:93.3vw;
        height: 20vw;
        top:-6.8vw;
        left: 50%;
        transform: translateX(-50%);
    }
    .check_content_txt{
        font-size: 3.43vw;
        width:88vw;
        margin: 0 auto 6.6vw;
    }

    /* ============ route ============ */
    .sec_route{
        padding: 16vw 0 13.3vw;
    }
    .route_tit{
        width:59vw;
        margin: 0 auto 8vw;
    }
    .route_txt{
        font-size: 3.43vw;
        width:92vw;
        margin: 0 auto 8vw;
        text-align: left;
    }
    .route_list{
        width:92vw;
        margin: 0 auto 10.6vw;
    }
    .route_item{
        padding: 2.6vw 6.6vw;
        border-radius: 25px;
    }
    .route_item:not(:last-child){
        margin: 0 0 3vw;
    }
    .route_list_num{
        font-size: 8.5vw;
        margin: 0 3vw 0 0;
    }
    .route_list_txt{
        font-size: 6.3vw;
    }
}
/* ============ tablet ============ */
@media screen and (max-width:1100px) and (min-width:751px){
    .works_copy{
        top:-65px;
    }
    .check_content_tit{
        margin: 0 0 55px;
    }
    .check_content_tit::after {
        width: 490px;
        height: 94px;
        top: -24px;
        left: -40px;
    }
}
/* ============ tablet ============ */
@media screen and (max-width:940px) and (min-width:751px){
    .recommendList_list_link::after{
        border-width: 4px 0 4px 8px;
        top:5px;
    }
}
