@charset "utf-8";
/*//////////////// 基本設定 ///////////////*/
html {
    font-size: 62.5%;
}
:root{
    --hind: 'Hind', sans-serif;
}
body {
    width: 100%;
    font-size: 1.5rem;
    -webkit-text-size-adjust: 100%;
    color: #272626;
    font-family: 'Noto Sans JP', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}
main{
    min-width:120rem;
}
.svg{
	line-height: 1;
	display: block;
}
.svg img{
	display: block;
	width: 100%;
	height: auto;
	line-height: 1;
}
img{
	height: auto;
	vertical-align: bottom;
}
.obj-img img{
	object-fit: cover;
}

p {
	text-align: justify;
	text-justify: inter-ideograph;
}
.fullwidth{
    min-width: 120rem;
}
.basewidth{
    width: 136.6rem;
}
.sp_navi{
    visibility: hidden;
    overflow: hidden;
    position:relative;
}

@media screen and (max-width:767px){
    html {
        font-size: 2.5445vw;
    }
    body {
        width:100%;
        font-size:3.2rem;
    }
    main{
        min-width: 100%;
    }
    .fullwidth{
        min-width: 100%;
    }
}
/*//////////////// 共通パーツ ///////////////*/
.sec{
    padding-left:2.5rem;
    padding-right:2.5rem;
    margin-right:auto;
    margin-left:auto;
}

.sec2{
    background:#F4f4f4;
    padding-left:2.5rem;
    padding-right:2.5rem;
    margin-right:auto;
    margin-left:auto;
}
.common_sec{
    padding-top:9rem;
    min-width:120rem;
    box-sizing: border-box;

    /* padding-left:2.5rem; view左右の余白 */
    margin-right:auto;
    margin-left:auto;
}
.common_inner{
    margin-right:auto;
    margin-left:auto;
    /* width:96.65rem; */
    width:110.3rem;
    padding-bottom:8rem;

}
.common_inner::before{
    /* content:"";
    display: block;
    width:96.65rem;
    height:1px;
    background:#b7b7b7;
    margin-top:-5px; */
}
.common_title_wrap{
    width:96.65rem;
    padding-left:6.82rem;
    padding-right:6.82rem;
}
.common_title_wrap::before{
    content:"";
    display: block;
    width:96.65rem;
    height:1px;
    background:#b7b7b7;
    margin-top:-5px;
}
.common_title{
    font-family: var(--hind);
    font-size:7.5rem;
    font-weight:bold;
    letter-spacing: 0.1em;
    /* line-height: 2; */
    line-height: 1.65;
    border-top:#b7b7b7 solid 5px;
    width:fit-content;
    height:11rem;
}
.common_subtitle{
    font-size:2.5rem;
    font-weight: bold;
    letter-spacing: 0.05em;
    line-height:2;
    color:#26771F;
}
.sp_headerMenu{
    display:none;
}

/*//////////////// 個別設定 ///////////////*/

.headerInner{
    display: flex;
    justify-content: space-between;
    height: 10.8rem;
}
.headerInner .headerMenu{
    display: flex;
    align-items: center;
   
}
.headerInner .headerLogo{
    display: flex;
    align-items: center;
}
.headerInner .headerLogo a{
    display: block;
    height: inherit;
    margin-left: 4.3rem;
}
.headerInner .headerLogo a img{
    display: block;
    height: inherit;
}
.headerInner .headerMenu_list{
    display: flex;
    align-items: center;
    list-style-type: none;
}
.headerInner .headerMenu_list li{
    width: fit-content;
    padding-right: 3.6vw;
    font-weight: bold;
}
.headerInner .headerMenu_list li a {
    position: relative;
    display: inline-block;
    text-decoration: none;
    transition:.3s all ease;
}
.headerInner .headerMenu_list li a:hover {
    color:#26771F;
}
.headerInner .headerMenu_list li a::after {
    position: absolute;
    bottom: -1.5rem;
    left: 0;
    content: '';
    width: 100%;
    height: 2px;
    background: #26771F;
    transform: scale(0, 1);
    transform-origin: left top;
    transition: transform .3s;
}
.headerInner .headerMenu_list li a:hover::after {
    transform: scale(1, 1);
}
.headerMenu_recruit{
    position:relative;
    width: 19.6rem;
    height: 4.7rem;
    border-radius: 5.7rem;
    background-color: #26771F;
    text-align: center;
    line-height: 3.33;
    margin-right: 5.3rem;
    box-shadow: 5px 5px 3px rgba(0, 0, 0, 0.16);
    box-sizing: border-box;
    border: 2px solid #26771F;
    transition: .5s all ease;
}
.headerMenu_recruit a{
    display: block;
    width: 100%;
    height: 100%;
    color: #fff;
    text-align:center;
    box-sizing: border-box;
    font-weight: bold;
    font-size: 1.4rem;
    transition: .5s all ease;
    
}

.headerMenu_recruit a:hover{
    background: #fff;
    color: #26771F;
    border-radius: 5.7rem;
}
.headerMenu_recruit:hover{
    background: #fff;
    color: #26771F;
    border: 2px solid #26771F;
    border-radius: 5.7rem;
}

.none_nav{
    display: none;
    overflow: hidden;
    opacity:0;
    /* right:-100vw; */
    position:absolute;
    z-index:2;
    /* transition: .5s all ease; */
    background:#fff;
    width:100%;
    height:100%;
    /* margin-top:8.3rem; */
}
.none_nav.active{
    display: block;
    position: fixed;
    opacity: 1;
    right:0;
}
.small_arrow_wrap{
    position:absolute;
    top:2rem;
    right:3rem;
}
.headerMenu_recruit a #small_arrow1_2{
    transition:.5s all ease;
}
.headerMenu_recruit a #small_arrow1_1{
    transition:.5s all ease;
}
.headerMenu_recruit a:hover #small_arrow1_2{
    stroke: #26771F !important;
}
.headerMenu_recruit a:hover #small_arrow1_1{
    stroke: #26771F !important;
}
.none_nav .detail {
    margin-top:8.3rem;
}
.none_nav .detail li{
    font-size:1.6rem;
    font-weight:bold;
    letter-spacing: 0.05em;
    line-height: 1.87;
    padding-bottom: 3.4rem;
    text-align: center;
}
.none_nav .detail .headerMenu_recruit{
    margin-top:3.1rem;
    width:26.4rem;
    height:6.5rem;
    margin-left:auto;
    margin-right:auto;
}
.none_nav .detail .headerMenu_recruit a{
    font-size: 1.6rem;
    letter-spacing: 0.05rem;
    line-height: 4.06;


}
.mainVisual {
    position: relative;
}
.mainVisual .mainVisual_img {
    aspect-ratio: 1 / 0.65 ;
    width: 91%;
    max-height: 81.1rem;
    min-height:calc( 100vh - 10.8rem );
    overflow: hidden;
    min-width: 108.5rem;
    margin-right: 0;
    /* margin-left: auto; */
    margin-left:9%;
}
.mainVisual .mainVisual_img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.mainVisual .mainVisual_copy{
    position:absolute;
    left:13.3%;
    top:24.4rem;
    width:41%;
}
.mainVisual .mainVisual_copy img{
    width: 100%;
    max-width:56.6rem;
    letter-spacing: 0.1em;
}
.mainVisual .mainVisual_copy .sub_copy{
    font-size:2.36vw;
    color:#fff;
    font-weight: bold;
    margin-top: 6rem;
    line-height: 1.8;
    letter-spacing: 0.05em;
    width: max-content;
}
.Message{
    width:110.3rem;
    margin-left:auto;
    margin-right:auto;
    position: relative;
}
.Message::before{
    content:"";
    width:45rem;
    height:21.9rem;
    display:block;
    position:absolute;
    left:71.9rem;
    top:-12rem;
    background-image:url("../images/logo_light.png");
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) { 
    .Message::before{
        content:"";
        background-image:url("../images/logo_light.png");
        background-size: 100%;
    }
}
.MessageInner{
    margin-top:15.5rem;
    margin-bottom:10rem;
}
.MessageInner_block{
    display:flex;
}
.MessageInner_body{
    margin-right:8.3rem;
    padding-bottom:9.3rem;
}
.MessageInner_title{
    font-family: var(--hind);
    font-size: 4.2rem;
    font-weight: bold;
    color: #C0D8BD;
    letter-spacing: 0.1em;
}
.MessageInner_content{
    margin-left:5.6rem;
    width:41.5rem;
}
.MessageInner_subtitle{
    font-weight: bold;
    font-size:3rem;
    line-height: 1.83;
    letter-spacing: 0.05em;
    margin-top:1rem;
}
.MessageInner_text{
    font-size:1.8rem;
    line-height: 2;
    margin-top:4rem;
}
.MessageInner_name{
    font-size:1.5rem;
    line-height: 1.83;
    letter-spacing: 0.05em;
    text-align: right;
    margin-top:3.8rem;
    font-weight: bold;
}
.MessageInner_image{
    display: flex;
    align-items: end;
    padding-top:11.5rem;
}
.MessageInner_block:first-child .MessageInner_image{
    padding-top:0;
}

.Service{
    overflow: hidden;
}
.Service_body{
    display:flex;
    justify-content: space-between;
    width:112.7rem;
    margin-left:-1.2rem;
    margin-top:7.3rem;
}
.Service_block{
    display:flex;
    width:36.5rem;
    background:#fff;
    flex-wrap:wrap;
}
.Service_block__title{
    font-size:2.5rem;
    font-weight: bold;
    letter-spacing: 0.05em;
    line-height:2.2;
    margin-top:4.7rem;
}
.Service_block__textwrap{
    padding-right:4.5rem;
    padding-left:4.5rem;
    /* height:31.8rem; */
    /* height:33.8rem; */
    height:33.6rem;
}
.Service_block__text{
    line-height:2;
    /* padding-bottom:1rem; */
    padding-bottom:4rem;
    /* margin-top:1.9rem; */
    margin-top:1.4rem;
}
.JobDescription{
    overflow:hidden;
}
.JobDescription_body{
    width: 96.65rem;
    margin-left: auto;
    margin-right: auto;
}
.JobDescription_block1{
    display: flex;
    position:relative;
    margin-top:8.45rem;

}
.JobDescription_content1{
    display: flex;
    flex-wrap:wrap;
    width:41.5rem;
    margin-right:6.8rem;
    margin-top:3.05rem;
}
.JobDescription_title1{
    font-size:2.8rem;
    font-weight: bold;
    letter-spacing: 0.05em;
    line-height:1.78;
}
.JobDescription_text1{
    font-size:1.78rem;
    line-height:2;
    padding-bottom:1rem;
    padding-top:2.8rem;
}
.JobDescription_image1{
    position:absolute;
    left:48.3rem;
}
.JobDescription_block2{
    border-top:#b7b7b7 solid 1px;
    margin-top:25.9rem;
    display:flex;
    flex-wrap:wrap;
    margin-left: auto;
    margin-right: auto;
}
.JobDescription_title2{
    font-size:2.8rem;
    font-weight:bold;
    letter-spacing: 0.05em;
    line-height:1.78;
    width:34.75rem;
    margin-top:4.1rem;
}
.JobDescription_content2 {
    display:flex;
    width:61.9rem;
}
.JobDescription_list2{
    width:61.9rem;
    display:flex;
    flex-wrap: wrap;
}
.JobDescription_list2 > div{
    display:flex;
    padding-bottom:2.35rem;
    padding-top:2.35rem;
    border-bottom:#b7b7b7 solid 1px;
}
.JobDescription_list2 > div:last-child{
    border-bottom:none;
}
.JobDescription_time2{
    width: 9.2rem;
    height:6.1rem;
    font-size:4.4rem;
    font-family: var(--hind);
    font-weight:light;
    color:#b7b7b7;
    letter-spacing: 0.1em;
    line-height:1.95;
    padding-right:5.8rem;
    padding-left:1.75rem;
}
.JobDescription_content2 dl{
    padding-left:3.9rem;
    padding-right:2.75rem;
    border-left:#b7b7b7 solid 1px;
}
.JobDescription_content2 dt{
    font-size:2rem;
    font-weight: bold;
    letter-spacing: 0.05em;
    line-height:1.65;
    color:#26771F;
    margin-bottom:1.6rem;
}
.JobDescription_content2 dd{
    font-size: 1.4rem;
    line-height:1.78;
}

.JobDescription_block3{
    border:#b7b7b7 solid 1px;
    margin-top:6.1rem;
}
.JobDescription_content3{
    display:flex;
    align-items: center;
    padding:3.7rem 4.5rem; 
}
.JobDescription_content3:first-child{
    border-bottom:#b7b7b7 solid 1px;
}
.JobDescription_title3{
    font-size:2.1rem;
    font-weight:bold;
    letter-spacing: 0.05em;
    line-height: 1.9;
    color: #26771F;
    margin-left:4.1rem;
    width:22.5rem;
}
.JobDescription_image3 img{
    width:15.2rem;
}
.JobDescription_list3{
    margin-left:4.9rem;
    font-size:1.8rem;
    height:11.9rem;
    display:flex;
    flex-wrap: wrap;
    align-items: center;
    width:32.4rem;
}
.JobDescription_list3 li{
    font-weight: bold;
    line-height:2;
    width:32.4rem;
}
.JobDescription_text3{
    margin-left:4.9rem;
    font-size:1.6rem;
    line-height:1.87;
    width:40.2rem;
}
.JobDescription_recruit4{
    display: flex;
    flex-wrap: wrap;
    width:38.8rem;
    text-align: center;
    margin-right:auto;
    margin-left:auto;
    margin-top:8.9rem;
    justify-content: center;
}
.JobDescription_speech4{
    font-size: 2rem;
    font-weight: bold;
    letter-spacing: 0.05em;
    line-height: 2.5;
    display: flex;
    align-items: center;
}
.JobDescription_speech4::before{
    content:"";
    display:block;
    width:2.3rem;
    height:2.7rem;
    background-image:url('../images/speech_left.png');
	background-repeat:no-repeat;
    vertical-align: middle;
    margin-right:0.4rem;
}
.JobDescription_speech4::after{
    content:"";
    display:block;
    width:2.3rem;
    height:2.7rem;
    background-image:url('../images/speech_right.png');
	background-repeat:no-repeat;
    vertical-align: middle;
    margin-left: 0.8rem;
}
.JobDescription_title4{
    font-size: 2.7rem;
    letter-spacing: 0.05em;
    line-height: 2.5;
    color: #26771F;
    font-weight:bold;
}
.JobDescription_button4{
    margin-top:3.1rem;
}
.JobDescription_button4{
    position:relative;
    width: 38.8rem;
    height: 9.2rem;
    border-radius: 5.7rem;
    background-color: #26771F;
    text-align: center;
    line-height: 3.33;
    box-shadow: 5px 5px 3px rgba(0, 0, 0, 0.16);
    box-sizing: border-box;
    border: 2px solid #26771F;
    transition: .5s all ease;
    z-index: 2;
    position: relative;
}
.JobDescription_button4 a{
    display: block;
    width: 100%;
    height: 100%;
    color: #fff;
    text-align:center;
    box-sizing: border-box;
    font-weight: bold;
    font-size: 2.4rem;
    line-height: 92px;
    letter-spacing: 0.05em;
    transition: .5s all ease;
    border-radius: 5.7rem;
    
}
.JobDescription_button4 #arrow{
    transition:0.5s all ease;
    stroke: #fff;
}
.JobDescription_button4 #arrow_wrap{
    position: absolute;
    top: 3.56rem;
    right: 4rem;
    transition:0.5s all ease;
}
.JobDescription_button4:hover #arrow{
    stroke: #26771F !important;
}
.JobDescription_button4 a:hover{
    background: #fff;
    color: #26771F;
    border-radius: 5.7rem;
}
.JobDescription_button4:hover{
    background: #fff;
    color: #26771F;
    border: 2px solid #26771F;
    border-radius: 5.7rem;

}
.WorkEnvironment_inner{
    padding-bottom:16.1rem;
}
.WorkEnvironment_text{
    font-size:1.8rem;
    line-height:2;
    margin-top:3.4rem;
    margin-bottom:6.1rem;
}
.WorkEnvironment_body{
    display: flex;
    justify-content: space-between;
    width: 96.65rem;
    margin-left: auto;
    margin-right: auto;
}
.WorkEnvironment_block{
    background-color:#fff;
    display:flex;
    flex-wrap: wrap;
    justify-content: center;
    width:23.6rem;
}
.WorkEnvironment_image{
    width:100%;
    padding-top:5.3rem;
    text-align: center;
    margin:0 auto;
}
.WorkEnvironment_image img{
    width:10.2rem;
}
.WorkEnvironment_caption{
    margin-top:5rem;
    margin-bottom:2.8rem;
    font-size: 1.8rem;
    letter-spacing: 0.05em;
    font-weight:bold;
    line-height: 1.83;
    text-align: center;
}
.Staff_inner .common_subtitle{
    padding-bottom:4.1rem;
}
.Staff_block{
    margin-top:8rem;
    display:flex;
    flex-wrap:wrap;
    width: 96.65rem;
    margin-left: auto;
    margin-right: auto;
}
.Staff_inner .JobDescription_recruit4{
    margin-top:10.8rem;
}
.Staff_image img{
    width:51.7rem;
    height:37rem;

}
.Staff_content{
    padding-left:4.5rem;
    width:40.3rem;
}
.Staff_kanzi{
    font-size:2.4rem;
    letter-spacing: 0.05em;
    line-height:2;
    font-weight:bold;
}
.Staff_romazi{
    font-size:1.3rem;
    letter-spacing: 0.1em;
    line-height: 2.3;
    padding-left:2.5rem;

}
.Staff_position{
    font-size:1.7rem;
    letter-spacing: 0.05em;
    /* line-height:2.94; */
    padding-top:0.9rem;
    font-weight:bold;
}
.Staff_title{
    padding-top:3.2rem;
    font-size:2rem;
    line-height:1.6;
    font-weight:bold;
    color:#26771F;
}
.Staff_text{
    padding-top:0.9rem;
    font-size:1.6rem;
    line-height:1.87;
}
.Staff_innerBlock{
    height:8.4rem;
    margin-top:2.7rem;
    border:#b7b7b7 1px solid;
    padding:1.6rem 1.9rem;
    list-style-type: none;
    display:flex;
    align-items: center;
    flex-wrap: wrap;
}
.Staff_innerBlock li{
    width:100%;
    line-height:1.25;
    font-size:1.6rem;
}
.Faq{

}
.Faq_body{
    width:90.4rem;
    background-color: #fff;
    margin-left:auto;
    margin-right:auto;
    margin-top:7.8rem;
    display: flex;
    flex-wrap: wrap;
    padding-top: 1.7rem;
    padding-bottom: 4.6rem;
}
.Faq_block{
    padding-top:4rem;
    /* padding-bottom:3.1rem; */
    padding-right:5.1rem;
    padding-left:9.7rem;

}
.Faq_block::after{
    content:"";
    width:75.6rem;
    height:1px;
    display:block;
    background-image : linear-gradient(to right, #b7b7b7, #b7b7b7 5px, transparent 5px, transparent 10px);  /* 幅2の線を作る */
    background-size: 10px 1px;          /* グラデーションの幅・高さを指定 */
    background-position: left bottom;  /* 背景の開始位置を指定 */
    background-repeat: repeat-x;       /* 横向きにのみ繰り返す */
}
.Faq_block:last-child:after{
    content: none;
}
.Faq_question{
    position:relative;
}
.Faq_question span{
    padding-left:4.6rem;
    font-size: 2rem;
    font-weight: bold;
    letter-spacing: 0.05em;
    line-height: 1.8;
}
.Faq_question::before{
    content: "Q";
    position: absolute;
    background-color:#26771F;
    display: flex;
    font-weight: bold;
    align-items: center;
    justify-content: center;
    color:#fff;
    font-size:1.6rem;
    width: 3.1rem;
    height:3.1rem;
    border-radius:50%;

}
/* .Faq_question::after{
    content: "Q";
    position:absolute;
    font-weight: bold;
    color:#fff;
    display: block;
    font-size:1.6rem;
    left: 0.8rem;
    top: 0.8rem;
} */
.Faq_answer{
    position:relative;
    display: block;
    margin-top:2.7rem;
    margin-bottom: 3.1rem;
}
.Faq_answer span{
    padding-left:4.6rem;
    display: block;
    line-height: 1.87;
    height:5.4rem;
}
.Faq_answer::before{
    content: "A";
    position: absolute;
    background-color:#fff;
    display: block;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    color:#26771F;
    font-size:1.6rem;
    width: 3.1rem;
    height:3.1rem;
    border-radius:50%;
    border:#26771F 1px solid;
}
/* .Faq_answer::after{
    content: "A";
    position:absolute;
    font-weight: bold;
    color:#26771F;
    display: block;
    font-size:1.6rem;
    left: 1rem;
    top: 0.9rem;
} */

.Company_block{
    display:flex;
    flex-wrap: wrap;
    margin-top:11.2rem;
}
.Company_content{
    width:44.25rem;
}
.Company_title{
    font-weight: bold;
    font-size:1.8rem;
    line-height:1.4;
}
.Company_address{
    font-size: 1.6rem;
    line-height:2.56;
    margin-bottom:3.9rem;
}
.Company_address span{
    font-size: 1.4rem;  
    line-height:1.78;
    border-bottom :#000 1px solid;
    letter-spacing: 0.05em;
}
.Company_description{
    font-size: 1.6rem;
    line-height: 2.46;
}
.Company_description span{
    line-height:1.78;
    border-bottom :#000 1px solid;
    letter-spacing: 0.05em;
}
.Company_image img{
    width:52.4rem;
}
.Company .common_inner{
    padding-bottom:0;
}
.Company .icon{
    display: inline-block;
    line-height: 1;
    margin-right: .5rem;
    transform: translate(0, .5rem);
}
.Company .icon::before{
    width: 2rem;
    height: 2rem;
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
    display: block;
    content: "";
}
.Company .icon-insta::before{
    background-image: url(../images/instagram.svg);
}
.Company .icon-pin::before{
    background-image: url(../images/location-point.svg);
}


.footer{
    text-align: center;
    margin-top:14.5rem;
    margin-right:auto;
    margin-left:auto;
}
.footer img{
    width:40.1rem;

}
.footer.remark{
    margin-top:3.6rem;
    padding-bottom:3.9rem;
}
.footerbar{
    height:3.2rem;
    background:#26771F;
    width:100%;
    min-width:120rem;
}


@media screen and (max-width:767px){
    .pc{
        display:none;
    }
    .common_title{
        width:fit-content;
        font-size: 3.9rem;
        height: auto;
    }
    .common_title_wrap{
        padding-right:0;
        padding-left:0;
        width:100%;
    }
    .common_title_wrap::before{
        width:100%;
    }
    .common_inner{
        width:100%;
        padding-bottom:4.4rem;
    }
    .common_sec{
        padding-top:4.9rem;
    }
    .common_subtitle {
        font-size:1.6rem;
    }
    .sec{
        padding-left:0;
        padding-right:0;
    }
    .common_sec{
        padding-right:2.7rem;
        padding-left:2.7rem;
        min-width:100%;
    }
    .sec2{
        padding-right:2.7rem;
        padding-left:2.7rem;
    }
    .headerInner{
        height: 8.3rem;
        position:fixed;
        z-index:3;
        margin-top:-8.3rem;
        background:#fff;
    }
    header::before{
        content:"";
        display:flex;
        height: 8.3rem;
        width:100%;
    }
    .headerInner .headerMenu{
        display: none;
    }
    .headerInner .headerLogo{

    }
    .headerInner .headerLogo a{

        margin-left:2rem;
    }
    .headerInner .headerLogo a img{
        width: 9.3rem;
        max-width: 12.5rem;
    }
    .headerInner .headerMenu_list{

    }
    .headerInner .headerMenu_list li{
            padding-right: 3.6vw;

    }
    .headerInner .headerMenu_list li a {

    }
    .headerInner .headerMenu_list li a::after {
        bottom: -1.5rem;
        left: 0;
        width: 118%;
        height: 2px;

    }
    .headerInner .headerMenu_list li a:hover::after {
        transform: scale(1, 1);
    }

    .headerMenu_recruit{
        width: 19.6rem;
        height: 4.7rem;
        border-radius: 5.7rem;
        line-height: 3.33;
        margin-right: 5.3rem;
    }
    .headerMenu_recruit a{
        width: 100%;
        height: 100%;
        font-size: 1.4rem;
        
    }
    .headerMenu_recruit a::after{
        top: 0rem;
        right: 2rem;
        height: 4.7rem;
    }
    .headerMenu_recruit a:hover{
        border-radius: 5.7rem;
    }
    .headerMenu_recruit:hover{
        border-radius: 5.7rem;
    }
    .sp_headerMenu{
        display:flex;
        width:3.5rem;
        margin-right:2.2rem;
    }
    .mainVisual .mainVisual_copy .sub_copy{
        font-size:1.8rem;
        margin-top:4rem;
    }
/*----- ハンバーガーボタン */
.hamburger_wrap{
	/* width: 15vw;
	height: 15vw; */
	/* position: fixed; */
	right: 0;
	top: 0;
	text-align: center;
	z-index: 9500;
	position: relative;
	cursor: pointer;
}
.hamburger_wrap .hamburger {
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 300;
}
.hamburger_wrap .hamburger > div{
	display: flex;
	align-items: center;
	justify-content: center;
}
.hamburger_wrap .hamburger > div:after{
	display: none;
}
.menu-trigger {
	position: relative;
	width: 35px;
	height:24px;
    width: 3.6rem;
    height: 3.6rem;
	margin-top: 0;
}
.menu-trigger span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 2px;
	background-color: #26771F;
	transition: all .4s;
}
.menu-trigger span:nth-of-type(1) {
	top: 0;
}
.menu-trigger span:nth-of-type(2) {
	top: calc(50% - 1px);
}
.menu-trigger span:nth-of-type(3) {
	width: 100%;
	right: 0;
	left: unset;
	bottom: 0;
}
/*アニメーション*/
/*.menu-trigger.active span:nth-of-type(1) {
	-webkit-transform: translateY(calc(1.8rem - 2px)) rotate(-45deg);
	transform: translateY(calc(1.8rem - 2px)) rotate(-45deg);

}
.menu-trigger.active span:nth-of-type(2) {
	opacity: 0;
}
.menu-trigger.active span:nth-of-type(3) {
	-webkit-transform: translateY(calc((1.8rem - 2px) * -1)) rotate(45deg);
	transform: translateY(calc((1.8rem - 2px) * -1)) rotate(45deg);
	width: 100%;

}*/
.menu-trigger.active{
	height:24px;
}
.menu-trigger.active span:nth-of-type(1) {
	-webkit-transform: translateY(11px) rotate(-45deg);
	transform: translateY(11px) rotate(-45deg);

}
.menu-trigger.active span:nth-of-type(2) {
	opacity: 0;
}
.menu-trigger.active span:nth-of-type(3) {
	-webkit-transform: translateY(-11px) rotate(45deg);
	transform: translateY(-11px) rotate(45deg);
	width: 100%;

}




    .mainVisual {

    }
    .mainVisual .mainVisual_img {
        aspect-ratio: 1 / 0.65 ;
        width: 100%;
        height: 55.6rem;
        min-height: 55.6rem;
        min-width: 100%;
        margin-right: 0;
        margin-left: 0;
        padding-left:0;
    }
    .mainVisual .mainVisual_img img{
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: -19rem;
    }
    .mainVisual .mainVisual_copy{
        left: 0;
        top: 16.4rem;
        width: 100%;
        padding-left: 3rem;
        box-sizing: border-box;
    }
    .mainVisual .mainVisual_copy img{
        width: 26.6rem;
        max-width:100%;
    }
    
    .Message{
        width:100%;

    }
    .Message::before{
        width:18.6rem;
        height:9.1rem;
        left:18rem;
        top:-8rem;
        background-size:contain;
    }
    @media only screen and (-webkit-min-device-pixel-ratio: 2) { 
        .Message::before{
            background-size: 100%;
        }
    }
    .MessageInner{
        margin-top:9.7rem;
        margin-bottom:7.3rem;
    }
    .MessageInner_block{
        flex-wrap:wrap;
    }
    .MessageInner_block:not(:first-child){
        padding-top:7.1rem;
    }
    .MessageInner_body{
        width: 100%;
        margin-right:0;
        padding-bottom:0;
    }
    .MessageInner_title{
        font-size: 2.7rem;
        letter-spacing: 0.1em;
        margin-left:2.7rem;
    }
    .MessageInner_content{
        padding-left:4.6rem;
        width:100%;
        box-sizing: border-box;
        margin-left:0;
    }
    .MessageInner_subtitle{
        font-size:2rem;
        line-height: 1.83;
        letter-spacing: 0.05em;
        margin-top:1.7rem;
    }
    .MessageInner_text{
        width: 100%;
        font-size:1.5rem;
        line-height: 2;
        margin-top:2.3rem;
        padding-right: 1.7rem;
        box-sizing: border-box;
        text-align: justify;
    }
    .MessageInner_text p{
        margin-bottom:1rem;
    }
    .MessageInner_name{
        font-size:1.4rem;
        line-height: 1.83;
        letter-spacing: 0.05em;
        margin-top:2.6rem;
        font-weight:bold;
        padding-right:4rem;
    }
    .MessageInner_image{
        margin-top:3rem;
        width:100%;
        padding-left:4.6rem;
        padding-top: 0;
        box-sizing: border-box;

    }
    .MessageInner_image img{
        width:100%;
        margin-left:auto;
        margin-right:0;
    }
    
    .Service{

    }
    .Service_body{
        flex-wrap:wrap;
        width:100%;
        margin-left:0;
        margin-top:3.6rem;
    }
    .Service_block{
        margin-bottom:2.1rem;
        width:36.5rem;

    }
    .Service_block__title{
        font-size:1.6rem;
        letter-spacing: 0.05em;
        line-height:1;
        margin-top:2.3rem;
    }
    .Service_block__textwrap{
        padding-right:0;
        padding-left:0;
        height:auto;
        box-sizing: border-box;
        padding-left:2rem;
        padding-right:2rem;
        margin-bottom:2.7rem;
    }
    .Service_block__text{
        line-height:2;
        font-size:1.4rem;
        padding-bottom:0;
        margin-top:1.9rem;
    }
    .Service_block__image img{
        width:34rem;
        height:23.4rem;
    }
    .JobDescription{
        padding-top:5.9rem;
        overflow: hidden;
    }
    .JobDescription .common_title{
        font-size:3rem;
    }
    .JobDescription_body{
        width: 100%;

    }
    .JobDescription_block1{
        display:flex;
        flex-wrap: wrap;
        flex-direction: column;
        margin-top:4.5rem;
        padding-left:1.9rem;
    }
    .JobDescription_content1{
        box-sizing: border-box;
        width:100%;
        margin-right:0;
        margin-top:0;
    }
    .JobDescription_title1{
        font-size:2rem;
        letter-spacing: 0.05em;
        line-height:1.78;
    }
    .JobDescription_text1{
        font-size:1.5rem;
        line-height:2;
        padding-bottom:0;
        padding-top:2.3rem;
    }
    .JobDescription_image1{
        width: calc(100% + 2.7rem);
        margin-top:2.3rem;
        position:unset;
    }
    .JobDescription_image1 img{
        width:100%;
        margin-left: 0;
        /* margin-left:2.6rem; */
    }
    .JobDescription_block2{
        margin-top:5.1rem;
    }
    .JobDescription_title2{
        font-size:2.2rem;
        letter-spacing: 0.05em;
        line-height:1.78;
        width:fit-content;
        margin-top:2rem;
    }
    .JobDescription_content2 {
        width:100%;
    }
    .JobDescription_list2{
        width:100%;

    }
    .JobDescription_list2 > div{
        padding-bottom:2rem;
        padding-top:2rem;
    }
    .JobDescription_list2 > div:last-child{
    }
    .JobDescription_time2{
        box-sizing: border-box;
        width: 5.2rem;
        height:auto;
        font-size:2rem;
        letter-spacing: 0.1em;
        line-height:1.95;
        margin-right:1.8rem;
        padding-left:0;
    }
    .JobDescription_content2 dl{
        padding-left:2rem;
        padding-right:2rem;
    }
    .JobDescription_content2 dt{
        font-size:1.6rem;
        letter-spacing: 0.05em;
        line-height:1.65;
        margin-bottom:0.5rem;
    }
    .JobDescription_content2 dd{
        font-size: 1.4rem;
        line-height:1.78;
    }
    
    .JobDescription_block3{
        margin-top:3.5rem;
    }
    .JobDescription_content3{
        padding:3.6rem 2.8rem; 
        flex-wrap: wrap;
        justify-content: center;
    }
    .JobDescription_content3:first-child{

    }
    .JobDescription_title3{
        margin-top:3.3rem;
        font-size:1.8rem;
        letter-spacing: 0.05em;
        line-height: 1.9;
        margin-left:0;
        width:100%;
        box-sizing: border-box;

    }
    .JobDescription_image3 img{
        width:15.2rem;
    }
    .JobDescription_list3{
        margin-top:1.3rem;
        margin-left:0;
        font-size:1.56rem;
        height:11.9rem;
        width:100%;
    }
    .JobDescription_list3 li{
        line-height:2;
        width:100%;
    }
    .JobDescription_text3{
        margin-top:1.6rem;
        margin-left:0;
        font-size:1.6rem;
        line-height:1.87;
        width:100%;
    }
    .JobDescription_recruit4{
        width:100%;
        margin-top:4.5rem;
    }
    .JobDescription_speech4{
        font-size: 1.6rem;
        letter-spacing: 0.05em;
        line-height: 2.5;
        margin-bottom: 1rem;
    }
    .JobDescription_speech4 span img{

    }
    .JobDescription_title4{
        font-size: 1.8rem;
        letter-spacing: 0.05em;
        line-height: 1;

    }
    .JobDescription_button4{
        margin-top:2.08rem;
    }
    .JobDescription_button4{
         width: 26.4rem;
        height: 6.3rem;
        border-radius: 5.7rem;
        line-height: 3.33;
        box-shadow: 5px 5px 3px rgba(0, 0, 0, 0.16);
        z-index:0;

    }
    .JobDescription_button4 a{
        width: 100%;
        height: 100%;
        font-size: 1.6rem;
        line-height: 4;
        letter-spacing: 0.05em;
        border-radius: 5.7rem;
        
    }
    .JobDescription_button4 #arrow_wrap{
        width: .68rem;
        height: .68rem;
        top: calc(50% - .34rem);
        right: 2.8rem;
    }
    /* .JobDescription_button4 a::after{
        top: 0rem;
        right: 4rem;
        height: 4.7rem;
    } */
    .JobDescription_button4 a:hover{
        border-radius: 5.7rem;
    }
    .JobDescription_button4:hover{
        border-radius: 5.7rem;
    
    }
    .WorkEnvironment .common_title{
        font-size:3rem;
    }
    .WorkEnvironment_inner{
        padding-bottom:4.4rem;
    }
    .WorkEnvironment_text{
        box-sizing: border-box;
        font-size:1.5rem;
        line-height:2;
        margin-top:3.4rem;
        margin-bottom:4.5rem;
        padding-left: 1.9rem;
        padding-right: 1.9rem;
    }
    .WorkEnvironment_body{
        box-sizing: border-box;
        padding-left: 1.9rem;
        padding-right: 1.9rem;
        width: 34.4rem;
        flex-wrap: wrap;

    }
    .WorkEnvironment_block{
        margin-bottom:0.5rem;
        width:14.8rem;
        height:17.4rem;
    }
    .WorkEnvironment_image{
        width:100%;
        padding-top:3.2rem;

    }
    .WorkEnvironment_image img{
        width:5.7rem;
    }
    .WorkEnvironment_caption{
        margin-top:2.2rem;
        margin-bottom:2.8rem;
        font-size: 1.4rem;
        letter-spacing: 0.05em;
        line-height: 1.83;

    }
    .Staff_inner .common_subtitle{
        padding-bottom:4.1rem;
    }
    .Staff_block{
        margin-top:0;
        width: 100%;
        justify-content: center;
    }
    .Staff_inner .JobDescription_recruit4{
        margin-top:1rem;
    }
    .Staff_image img{
        width:30.1rem;;
        height:auto;
    
    }
    .Staff_content{
        padding-left:0;
        width:30.1rem;
    }
    .Staff_name{
        margin-top:1.6rem;
    }
    .Staff_kanzi{
        font-size:1.7rem;
        letter-spacing: 0.05em;
        line-height:2;
    }
    .Staff_romazi{
        font-size:1rem;
        letter-spacing: 0.1em;
        line-height: 2.3;
        padding-left:1.8rem;
    
    }
    .Staff_position{
        font-size:1.4rem;
        letter-spacing: 0.05em;
        padding-top:0.9rem;
    }
    .Staff_title{
        padding-top:1.9rem;
        font-size:1.6rem;
        line-height:1.6;
    }
    .Staff_text{
        padding-top:0.9rem;
        font-size:1.4rem;
        line-height:1.87;
    }
    .Staff_innerBlock{
        height:10.1rem;
        margin-top:1.6rem;
        margin-bottom:4.4rem;
        padding:1.5rem 1.4rem;

    }
    .Staff_innerBlock li{
        width:100%;
        line-height:1.25;
        font-size:1.4rem;
    }
    .Faq{
    
    }
    .Faq_body{
        width:100%;
        margin-top:5rem;
        padding-top: 0rem;
        padding-bottom: 0.5rem;
        width:34rem;
    }
    .Faq_block{
        padding-top:2rem;
        /* padding-bottom:3.1rem; */
        padding-right:1.5rem;
        padding-left:1.7rem;
        box-sizing: border-box;

    }
    .Faq_block::after{
        width:29rem;
        height:1px;
        margin:0 auto;
        background-size: 10px 1px;          /* グラデーションの幅・高さを指定 */
   }
    .Faq_block:last-child:after{

    }
    .Faq_question{
        display:flex;
        width: 100%;
    }
    .Faq_question span{
        padding-left:3.3rem;
        font-size: 1.5rem;
        letter-spacing: 0.05em;
        line-height: 1.8;
    }
    .Faq_question::before{
        font-size:1.2rem;
        width: 2.4rem;
        height:2.4rem;
        border-radius:50%;
    }
    .Faq_question::after{
        font-size:1.2rem;
        left: 0.6rem;
        top: 0.7rem;
    }
    .Faq_answer{
        width: 100%;
        font-size:1.4rem;
        margin-top:1.5rem;
        margin-bottom: 2rem;
    }
    .Faq_answer span{
        padding-left:3.3rem;
        line-height: 1.92;
        height:auto;
    }
    .Faq_answer::before{
        font-size:1.2rem;
        width: 2.4rem;
        height:2.4rem;
        border-radius:50%;
    }
    .Faq_answer::after{
        font-size:1.2rem;
        left: 0.8rem;
        top: 0.8rem;
    }
    .Company{
        overflow: hidden;
    }  
    .Company_block{
        margin-top:3.9rem;
        flex-direction: column;
    }
    .Company_content{
        width:100%;
        box-sizing: border-box;
        padding-left:1.9rem;
        padding-right:1.9rem;
    }
    .Company_title{
        font-size:1.6rem;
        line-height:1.4;
    }
    .Company_address{
        font-size: 1.4rem;
        line-height:2.56;
        margin-bottom:2.8rem;
    }
    .Company_address span{  
        line-height:1.78;
        letter-spacing: 0.05em;
    }
    .Company_description{
        font-size: 1.4rem;
        line-height: 2.36;
    }
    .Company_image{
        margin-top:4.4rem;
        width: calc(100% + (2.7rem * 2));
        margin-left:-2.7rem;
    }
    .Company_image img{
        width: 100%;
    }
    .Company .common_inner{
        padding-bottom:0;
    }
    .footer{

        margin-top:8rem;
    }
    .footer img{
        width:16.9rem;
    
    }
    .footer.remark{
        margin-top:2.7rem;
        padding-bottom:2.7rem;
        font-size:1rem;
    }
    .footerbar{
        min-width: 100%;
        height:2.7rem;
        width:100%;
    }
    .small_arrow_wrap{
        position:absolute;
        top:2.7rem;
        right:3rem;
    }

}