
body {
font-family: 'Noto Sans JP',
     sans-serif,
    "Helvetica Neue",
    Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
}

img{
    width: 100%;
}

.pc_none{
    display: none;
}

.sp_none{
    display: block;
}

header{
    padding: 24px clamp(60px, 4vw, 105px) 32px;
    display: flex;
    justify-content: space-between;
}

.logo{
    flex-basis: 24%;
}

.logo img{
    max-width: 100%;
    width: clamp(140px, 70%, 261px);
    height: auto;
}

.header_list{
    display: flex;
    justify-content: center;
    align-items: center;
    column-gap: clamp(24px, 3.3vw, 30px);
    flex-basis: 52%;
    margin-right: 24%;

}

.mv_wrap{
    position: relative;
}

.mv_line{
    position: absolute;
    z-index: 100;
    bottom: 0;
    left: 0;
    width: 100%;
    height: clamp(10.5rem, 20vw, 20rem);
    background-color: #554132;
}

.content_frame{
    padding: 0 clamp(60px, 4vw, 105px);
}

.content_frame .inner{
    padding:0 clamp(60px, 4vw, 105px);
}

.mv_img_wrap{
    width: 100%;
    height: min(850px, 44.270vw);
    border-radius: 0 0 0 40px;
    background: url(../img/main_img.jpg) no-repeat;
    background-size: cover;
}

.main_img{
    z-index: 200;
    padding-right: 0;
    position: relative;
    padding-bottom: 50px;
}

.mein_ttl{
    position: absolute;
    bottom: 0;
    margin: 0 0 7vw 4vw;
    color: #fff;
}

.mein_ttl h1{
    font-weight: 500;
    font-size: max(48px, 2.916vw);
    line-height: 1.5;
    text-shadow: 4px 4px 3px rgb(0, 0, 0, 0.3);
}

.mein_ttl p{
    font-size: max(22px, 1.2vw);
    padding-bottom: 8px;
}

.concept_wrap{
    margin-top: min(200px, 10.41vw);
}

.concept_wrap .inner{
    display: flex;
}

.concept_ttl{
    flex-basis: 50%;
}

.concept_ttl p{
    color: #8ca546;
    font-size: max(16px, 0.8333333333333334vw);
    font-weight: 700;
    letter-spacing: .2rem;
}

.concept_ttl h2{
    font-size: max(40px, 2.5vw);
    line-height: 1.7;
    margin-top: min(24px, 1.25vw);
}

.concept_txt{
    flex-basis: 50%;
    font-size: max(18px, 0.9375vw);
    line-height: 1.8;
}

.servise_wrap{
    margin-top: min(200px, 10.41vw);
}

.servise_ttl{
    text-align: center;
}

.servise_ttl p{
    font-size: max(24px, 1.25vw);
    font-weight: 500;
    letter-spacing: .2rem;
}

.servise_ttl h2{
    font-size: max(24px, 2.5vw);
    margin:32px 0 40px;
    font-weight: 500;
    letter-spacing: .2rem;
}

.servise_ttl_line{
    display: inline-block;
    width: 8.333333333333332vw;
    border-top: #8ca546 4px solid;
}

.servise_inner{
    margin-top: min(160px, 8.3333vw);
}

.servise_content{
    display: flex;
    margin-top: min(80px, 4.1666vw);
}

.servise_img{
    flex-basis: 48%;
}

.servise_img img{
    border-radius: 0 0 0 40px;
}

.servise_txt{
    flex-basis: 52%;
    margin-left: 5.416vw;
}

.servise_txt h3{
    font-size: max(32px, 2.083vw);
    font-weight: 500;
    color: #554132;
}

.servise_txt p{
    margin-top: min(64px, 3.3333vw);
    font-size: max(18px, 0.9375vw);
    line-height: 1.8;
}

.flow_wrap{
    margin-top: min(200px, 10.41vw);
    background-color: #554132;
    background-image: url(../img/flow_bg.jpg);
    background-size: cover;
    background-position: bottom;
    padding-top: 160px;
    padding-bottom: 240px;
}

.flow_ttl{
    display: flex;
    color: #fff;
    align-items: center;
}

.flow_ttl h3{
    font-size: max(64px, 3.333vw);
    font-weight: 500;
    letter-spacing: .2rem;
}

.flow_ttl p{
    font-size: max(24px, 1.25vw);
    margin-left: 40px;
}

.flow_list{
    margin-top: 112px;
}

.flow_list_item{
    padding-top: 80px;
    padding-bottom: 80px;
    border-bottom: 2px solid #fff;
}

.flow_list_item:first-child{
    padding-top: 0;
}

.flow_list_item dl{
    display: flex;
    align-items: center;
}

.flow_list_item dt{
    color: #c8b48c;
    font-size: 5.833vw;
    font-weight: 400;
    letter-spacing: .2rem;
    border-right: 2px #fff dashed;
    padding: 64px 4vw 64px 0;
}

.flow_list_item dd{
    padding-left: 80px;
    color: #fff;
}

.flow_list_item dd h4{
    font-size: max(40px, 2.083vw);
}

.flow_list_item dd p{
    font-size: max(18px, 0.9375vw);
    margin-top: min(48px,2.5vw);
    line-height: 1.8;
}

.recruit_wrap{
    margin-top: min(200px, 10.41vw);
}

.recruit_inner{
    display: flex;
    justify-content: space-between;
    margin-top: 40px;
}

.recruit_content{
    flex-basis: 44%;
}

.recruit_ttl p{
    color: #8ca546;
    font-size: max(16px, 0.8333333333333334vw);
    font-weight: 700;
    letter-spacing: .2rem;
}

.recruit_ttl h3{
    color: #554132;
    font-size: max(24px, 2.5vw);
    line-height: 1.7;
    margin-top: 16px;
    font-weight: 500;
}

.recruit_list_wrap{
    flex-grow: 35%;
}

.recruit_read{
    font-size: max(20px, 1.0416vw);
    line-height: 1.8;
}

.recruit_list{
    margin-top: 56px;
}

.recruit_list_item{
    display: flex;
    font-size: max(18px, 0.9375vw);
    padding: 40px 0;
    border-bottom: 1px #000 solid;
    line-height: 1.8;
}

.recruit_list_item:first-child{
    padding-top: 0;
}

.recruit_list_ttl{
    flex-basis: 20%;
    font-weight: 600;
}

.recruit_list_txt{
    flex-basis: 80%;
}

.recruit_form_wrap{
    flex-basis: 50%;
}

.agreement-text{
    font-size: min(14px, 3.589vw);
    line-height: 1.5;
}

.company_wrap{
    margin-top: min(200px, 10.41vw);
}

.company_ttl{
    display: flex;
    align-items: center;
}

.company_ttl h3{
    color: #8ca546;
    font-size: max(64px, 3.333vw);
    font-weight: 500;
    letter-spacing: .2rem;
}

.company_ttl p{
    font-size: max(24px, 1.25vw);
    margin-left: 40px;
}

.company_map{
    margin-top: min(80px, 4.1666vw);
    position: relative;
    width: 100%;
    padding-top: 42.85%;
    height: 0;
}

.company_map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.company_list{
    margin-top: min(80px, 4.1666vw);
}

.company_list_item{
    display: flex;
    align-items: center;
    line-height: 1.8;
    padding-bottom: 80px;
    border-bottom: 1px #000 solid;
    margin-bottom: min(80px, 4.1666vw);
}

.company_list_item__ttl{
    font-size: max(20px, 1.041vw);
    flex-basis: 30%;
    font-weight: 500;
}

.company_list_item__txt{
    font-size: max(20px, 1.041vw);
    flex-basis: 70%;
}

footer{
    margin: min(200px, 10.41vw) 0 40px;
}

.copyright{
    font-size: max(16px, 0.8333333333333334vw);
    text-align: center;
}

.slider{
    display: flex;
    margin-top: min(200px, 10.41vw);
}

.slider img{
    margin-left: 16px;
}

@media screen and (max-width:767px){
    .pc_none{
        display: block;
    }

    .sp_none{
        display: none;
    }

    header{
        padding: 24px clamp(24px, 4vw, 40px) 24px;
    }

    .header_list{
        display: none;
    }

    .content_frame{
        padding: 0 clamp(24px, 4vw, 40px);
    }

    .content_frame .inner{
        padding: 0;
    }

    .concept_wrap{
        margin-top: min(80px, 20.512vw);
    }

    .content_frame .inner,
    .servise_content,
    .recruit_inner{
        display: block;
    }

    .main_img{
        padding-right: 0;
        padding-bottom: 32px;
    }

    .logo{
        flex-basis: 48%;
    }

    .mv_img_wrap{
        height: min(560px, 70vh);
    }

    .mv_line{
        height: clamp(12rem, 20vw, 20rem);
    }

    .mein_ttl{
        margin: 0 0 16vw 6vw;
    }

    .mein_ttl h1{
        font-size: max(28px, 7.179vw);
        text-shadow: 4px 4px 3px rgb(0, 0, 0, 0.4);
    }

    .mein_ttl p{
        font-size: max(14px, 3.589vw);
    }

    .concept_ttl p{
        font-size:4.266vw;
    }

    .concept_ttl h2{
        margin-top:24px;
        font-size:6.4vw;
    }

    .concept_txt{
        font-size: 3.7333vw;
        margin-top: 40px;
        letter-spacing: .1rem;
    }

    .slider{
        margin-top: 40px;
    }

    .slider img{
        width: 5vw;
    }

    .servise_wrap{
        margin-top: 80px;
    }

    .servise_ttl p{
        font-size: 4.266vw;
    }

    .servise_ttl h2{
        font-size: 6.4vw;
        margin: 16px 0 8px;
    }

    .servise_ttl_line{
        width: 12vw;
    }

    .servise_inner{
        margin-top: 40px;
    }

    .servise_content{
        margin-top: 40px;
    }

    .servise_txt{
        margin-left: 0;
        margin-top: 24px;
        letter-spacing: .1rem;
    }

    .servise_txt h3{
        font-size: 5.3333vw;
        line-height: 1.6;
    }

    .servise_txt p{
        font-size: 3.7333vw;
        margin-top: 16px;
    }

    .flow_wrap{
        padding-bottom: 56px;
    }

    .flow_ttl{
        display: block;
        padding-top: 40px;
    }

    .flow_ttl h3{
        font-size: 10.666vw;
    }

    .flow_ttl p{
        letter-spacing: .1rem;
        margin-left: 0;
        margin-top: 16px;
        font-size: 4.266vw;
    }

    .flow_list{
        margin-top: 56px;
    }

    .flow_list_item{
        padding-top: 40px;
        padding-bottom: 40px;
        border-bottom: 2px dashed #fff;
    }

    .flow_list_item dl{
        display: block;
    }

    .flow_list_item dt{
        border-right: 0;
        text-align: center;
        padding: 0 0 24px;
        font-size: 21.333vw;
    }

    .flow_list_item dd{
        padding-left: 0;
    }

    .flow_list_item dd h4{
        font-size: 6.4vw;
        text-align: center;
    }

    .flow_list_item dd p{
        font-size: 3.7333vw;
        margin-top: 24px;
        letter-spacing: .1rem;
    }

    .recruit_wrap{
        margin-top: 56px;
    }

    .recruit_inner{
        margin-top: 16px;
    }

    .recruit_ttl p{
        font-size: 4.266vw;
    }

    .recruit_ttl h3{
        font-size: 10.666vw;
        margin-top: 8px;
    }

    .recruit_read{
        font-size: 4.266vw;
    }

    .recruit_list_item{
        display: block;
        padding: 16px 0;
    }

    .recruit_list{
        margin-top: 32px;
    }

    .recruit_list_ttl{
        font-size: 4.266vw;
    }

    .recruit_list_txt{
        margin-top: 8px;
        font-size: 3.7333vw;
    }

    .recruit_form_wrap{
        margin: 40px calc(50% - 50vw) 0;
    }

    .container-fluid .contents{
        margin: 32px clamp(24px, 4vw, 40px);
    }

    .company_wrap{
        margin-top: 56px;
    }

    .company_ttl{
        display: block;
    }

    .company_ttl h3{
        font-size: 10.666vw;
    }

    .company_ttl p {
        letter-spacing: .1rem;
        margin-left: 0;
        margin-top: 16px;
        font-size: 4.266vw;
    }

    .company_map{
        margin-top: 40px;
    }

    .company_list{
        margin-top: 40px;
    }

    .company_list_item{
        align-items: center;
        padding-bottom: 32px;
        margin-bottom: 32px;
    }

    .company_list_item__ttl{
        font-size:3.7333vw;
        flex-basis: 35%;
    }

    .company_list_item__txt{
        font-size:3.7333vw;
        flex-basis: 65%;
    }

    .copyright{
        font-size:3.2vw;
    }

}


.fadeIn {
    opacity: 0;
    transition: 1.5s;
  }
.fadeIn.is-show {
opacity: 1;
}

.fadeIn_left {
opacity: 0;
transform: translate(-20%, 0);
transition: 2s;
}
.fadeIn_left.is-show {
transform: translate(0, 0);
opacity: 1;
}