/******************** 共通パーツ *********************/
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Homemade+Apple&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@900&display=swap');

.juli{
    font-weight: 900;
}
.sec_rec *{
    letter-spacing: .025em;
}
.sec_rec img{
    image-rendering: -webkit-optimize-contrast;
}

/*----- 見出し */
.sec_rec .sec_title{
    font-size: 5rem;
    letter-spacing: 0.1em;
    margin-bottom: 7.5rem;
    line-height: 1;
    text-align: center;
    font-weight: bold;
    font-family: 'Noto Serif JP', serif;
}
.sec_rec .sec_title::after{
    width: 3rem;
    height: 0.2rem;
    margin-top: 2.5rem;
    margin-left: auto;
    margin-right: auto;
    background: #8aabb8;
    display: block;
    content: "";
}

/*----- コンテンツ */
.sec_rec{
    padding-top: 14rem;
    padding-bottom: 10rem;
}
.sec_rec .contents{
    width: 100%;
    max-width: 120rem;
    margin-left: auto;
    margin-right: auto;
    position: relative;
}

/* 水色背景 */
.sec_rec.bg_blue{
    background: #e1e7e9;
}

/* ピンク背景 */
.sec_rec.bg_pink{
    background: #f5f1f3;
}
.sec_rec.bg_pink .sec_title::after{
    background: #d9b3c1;
}

/*-----  half&half */
.half_block{
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
}
.half_block .thumbnail,
.half_block .detail_cont{
    width: calc(50% - 1.5rem);
}
.half_block .thumbnail{
    border: 0.2rem solid #000;
    padding: 0.9rem;
    background: #fff;
}
.half_block .thumbnail img{
    width: 100%;
}
.half_block .detail_cont{
    /* min-width: 50rem; */
    /* padding-left: 1.5rem; */
}
.half_block .title{
    line-height: 1.5;
    margin-bottom: 1.5rem;
    letter-spacing: 0.1em;
    display: inline-block;
    text-align: center;
    font-weight: bold;
    font-family: 'Noto Serif JP', serif;
}
.half_block .title.full{
    /*width: 100%;*/
    padding-left: 10px;
    padding-right: 10px;
    text-align: center;
}
.half_block .detail .cont .txt{
    font-size: 1.8rem;
    line-height: 1.7;
}
.half_block .detail .cont .txt:not(:last-child){
    margin-bottom: 3.5rem;
}

/* 逆向き */
.half_block.reverse{
    flex-direction: row-reverse;
}
.half_block.reverse .detail_cont{
    padding-left: 0;
    /* padding-right: 1.5rem; */
}

/* .rec_sec01{
    padding-top:16.5rem;
    padding-bottom:12.5rem;
}
.rec_sec01 .merit{
    background: #e1e7e9;
    padding-bottom: 12.5rem;
}
.rec_sec01 .merit_flex{
    display: flex;
}
.rec_sec01 .m_item{
    border-left:1px solid #000;
    width: 33%;
    display: flex;
    flex-direction: column;
    justify-items: center;
    background: #e1e7e9;
}
.rec_sec01 .m_item:last-child{
    border-right:1px solid #000;
}
.rec_sec01 .m_center{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.rec_sec01 .m_item:nth-child(1) .item_inner{
padding: 0 4rem;
}
.rec_sec01 .m_item:nth-child(2) .item_inner{
padding: 0 2rem;
}
.rec_sec01 .m_item:nth-child(3) .item_inner{
    padding:0 2rem;
}
.rec_sec01 p.sub_tit{
    font-size:2.4rem;
}
.rec_sec01 p.small_tit{
    font-size:5rem;
}
.rec_sec01 p.big_tit{
    font-size:10rem;
    background:#b0c3c9;
    color: #fff;
}
.rec_sec01 p.iro_cha{
    background:#fff;
    color: #b0c3c9;
}
.rec_sec01 .m_flex{
    display: flex;
}
.rec_sec01 .m_flex .item{
    background:#b0c3c9 ;
    color: #fff;
    width: 5.8rem;
    height:5.8rem;
    justify-content: space-between;
}
.rec_sec01 .m_item img.no{
width: 16.4rem;
} */




/********************スタッフの声*********************/
/* .a_vice {
    padding-bottom: 18rem;
}
.rec_sec01 .a_vice .vice_flex{
    display: flex;
    justify-content: space-between;
}
.rec_sec01 .a_vice .vice_s01 {
    padding-bottom: 7rem;
}
.rec_sec01 .a_vice .v_txt{
 width: 50%;
}
.rec_sec01 .a_vice .v_img{
    width: 50%;
   }
.rec_sec01 .a_vice .under_line{
    font-size:4rem;
}
.rec_sec01 .a_vice .m_txt{
    font-size:2rem;
}
.rec_sec01 .a_vice img.woman{
    width: 53.6rem;
}
.rec_sec01 .a_vice .no_order1{
    order:1;
}
.rec_sec01 .a_vice .no_order2{
    order:2;
}
.rec_sec01 .a_vice img.right{
    float: right;
} */



/********************an easy place to work*********************/
/* .rec_sec01 .easy .e_hope{
background:#b0c3c9;
font-size:2rem;
}
.rec_sec01 .easy img.easy_img{
    width: 73.5rem;
} */



/******************** メインビジュアル *********************/

.recruit_visual{
    width: 100%;
    height: calc(100vh - 13rem);
    position: relative;
}
.recruit_visual::before{
    width: calc(50% + 27.5rem);
    height: calc(100% - 16rem);
    right: 0;
    top: 16rem;
    z-index: 18;
    position: absolute;
    background: #b0c3c9;
    display: block;
    content: "";
}
.recruit_visual_inner{
    width: calc(50% + 120rem / 2);
    height: calc(100% - 8rem);
    background-image: url(../images/recruit/recruit_visual@2x.jpg);
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
    z-index: 19;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: flex-end;
}
.recruit_visual_inner .catchcopy{
    max-width: 79rem;
    right: 0;
    bottom: 45%;
    position: absolute;
}
.recruit_visual_inner .catchcopy img{
    max-width: none;
}
.recruit_visual_inner .cont{
    padding-top: 5%;
    max-width: 79rem;
    width: 100%;
    bottom: 15%;
    right: 0;
    position: relative;
    color: #fff;
}
.recruit_visual_inner .cont::before{
    left: 0;
    top: 0;
    width: calc(100% + 8rem);
    height: 0.1rem;
    background: #fff;
    position: absolute;
    display: block;
    content: "";
}
.recruit_visual .entry_btn{
    width: 27.5rem;
    height: 27.5rem;
    border-radius: 50%;
    background: #fff;
    position: absolute;
    right: -24rem;
    bottom: 0;
    z-index: 6000;
}
.recruit_visual .entry_btn::before{
    width: 100%;
    height: 100%;
    border: 0.1rem solid #000;
    border-radius: 50%;
    display: block;
    content: "";
    position: absolute;
    right: 0.5rem;
    bottom: 0;
}
.recruit_visual .entry_btn a{
    width: 100%;
    height: 100%;
    font-size: 3.8rem;
    line-height: 1.3;
    font-weight: 700;
    text-align: center;
    font-family: 'Noto Serif JP', serif;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 7000;
}


/******************** 初回ブロック *********************/

/*----- first */
.sec_first{
    padding-top: 0;
    padding-bottom: 22.5rem;
}
.sec_first .first_block{
    padding-top: 16rem;
    padding-bottom: 12rem;
    background: #e1e7e9;
    position: relative;
}
.sec_first .first_block::before{
    width: 100%;
    height: 12.5rem;
    background-image: url(../images/recruit/bg_wave_blue_bottom@2x.png);
    position: absolute;
    left: 0;
    bottom: -12.5rem;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    display: block;
    content: "";
}
.sec_first .point_wrap{
    display: flex;
    align-items: inherit;
    justify-content: center;
}
.sec_first .point_wrap .point_cont{
    padding: 2.5rem 1.8rem 1.5rem;
    border-left: .1rem solid #000;
    width: calc(99.999999% / 3);
    text-align: center;
}
.sec_first .point_wrap .point_cont .cont{
    font-size: 5rem;
    font-weight: bold;
    font-family: 'Noto Serif JP', serif;
    position: relative;
}

.sec_first .point_wrap .point_cont .cont .left_strong_txt,
.sec_first .point_wrap .point_cont .cont .left_strong_txt_2{
	font-size: 5rem;
}

.sec_first .point_wrap .point_cont:nth-of-type(1){
    padding-left: 3.5rem;
    padding-right: 3.5rem;
}
.sec_first .point_wrap .point_cont:nth-of-type(1) .cont::before{
    width: 11.6rem;
    height: 9.6rem;
    left: -2rem;
    top: -1rem;
    position: absolute;
    background-image: url(../images/recruit/point1_balloon@2x.png);
    background-position: center center;
    background-size: contain;
    background-repeat: no-repeat;
    display: block;
    content: "";
}
.sec_first .point_wrap .point_cont:nth-of-type(1) .cont .strong{
    font-size: 10rem;
    padding-top: 2.5rem;
    padding-bottom: 3rem;
    margin-top: 1.5rem;
    background: #b0c3c9;
    color: #fff;
}
.sec_first .point_wrap .point_cont:nth-of-type(2) .cont .strong{
    font-size: 8rem;
    padding-top: 3.5rem;
    padding-bottom: 4rem;
    margin-top: 1.5rem;
    background: #fff;
    color: #b0c3c9;
}
.sec_first .point_wrap .point_cont:last-child{
    border-right: .1rem solid #000;
}
.sec_first .point_wrap .point_cont:last-child .cont .marker{
    font-size: 6rem;
    margin-bottom: 2rem;
    padding-bottom: 1rem;
    background: linear-gradient(transparent 70%, #fff 70%);
    color: #4c5e65;
    display: inline-block;
}
.sec_first .point_wrap .point_cont .title,
.sec_first .point_wrap .point_cont .title .marker{
    margin-bottom: 2rem;
    font-size: 2.4rem;
    line-height: 1;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-family: 'Noto Serif JP', serif;
}
.sec_first .point_wrap .point_cont:nth-of-type(2) .title{
    margin-bottom: calc(2rem - 0.25em);
}
.sec_first .point_wrap .point_cont .title .marker{
    margin-bottom: 0;
    padding-left: 0.25em;
    padding-bottom: 0.25em;
    padding-right: 0.25em;
    background: linear-gradient(transparent 40%, #b0c3c9 40%);
}
.sec_first .point_wrap .point_cont .title::before{
    width: 100%;
    font-size: 4.8rem;
    line-height: 1;
    margin-bottom: 2.5rem;
    display: block;
    color: #4c5e65;
    font-weight: normal;
    font-family: 'Homemade Apple', cursive;
    content: attr(data-en);
}
.sec_first .point_wrap .point_cont .title .square{
    width: 5.5rem;
    height: 5.5rem;
    font-size: 1.8rem;
    margin-bottom: 1.5rem;
    margin-left: .7rem;
    margin-right: .7rem;
    line-height: 1.25;
    letter-spacing: 0;
    background: #b0c3c9;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Noto Serif JP', serif;
    box-shadow: .3rem .3rem #fff;
}

/*----- middle */
.sec_first .middle_block{
    padding-bottom: 6rem;
    background-image: url(../images/recruit/bg_sec_first_middle@2x.png);
    background-position: center bottom;
    background-size: 94%;
    background-repeat: no-repeat;
}
.sec_first .middle_block .middle:not(:last-child){
    margin-bottom: 6.5rem;
}
.sec_first .middle_block .half_block{
    align-items: flex-start;
}

.sec_first .middle_block .title_wrap{
    margin-bottom: 3rem;
}
.sec_first .middle_block .title{
    font-size: 2.5rem;
    margin-bottom: .5rem;
    padding-bottom: .5rem;
    background:linear-gradient(transparent 45%, #b0c3c9 45%);
}

/*----- bottom */
.sec_first .bottom_block{
    padding-top: 11rem;
}
.sec_first .bottom_block .title{
    font-size: 7rem;
    margin-bottom: 6rem;
    line-height: 1;
    color: #4c5e65;
}
.sec_first .bottom_block .keyword_wrap{
    margin-bottom: 5.5rem;
    display: flex;
    align-items: flex-start;
    flex-direction: column;
}
.sec_first .bottom_block .keyword_wrap .keyword{
    font-size: 2rem;
    padding: 1.5rem;
    line-height: 1;
    display: inline-block;
    background: #b0c3c9;
    font-weight: bold;
    font-family: 'Noto Serif JP', serif;
}
.sec_first .bottom_block .keyword_wrap .keyword:not(:last-child){
    margin-bottom: 1.5rem;
}


/******************** 福利厚生 *********************/

.sec_welfare{
    background: #f5f1f3;
    overflow: visible;
}
.sec_welfare::before{
    width: 100%;
    height: 12.5rem;
    background-image: url(../images/recruit/bg_wave_pink_top@2x.png);
    position: absolute;
    left: 0;
    top: -10rem;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    display: block;
    content: "";
}
.sec_welfare .welfare_block:nth-of-type(1) .thumbnail,
.sec_welfare .welfare_block:nth-of-type(2) .detail_cont,
.sec_welfare .welfare_block:nth-of-type(3) .thumbnail{
    /*margin-top: 9rem;*/
}
.sec_welfare .welfare_block:not(:last-child){
    margin-bottom: 13rem;
}
.sec_welfare .title_wrap{
    margin-bottom: 2rem;
}
.sec_welfare .half_block{
    align-items: flex-start;
}
.sec_welfare .title{
    font-size: 2.5rem;
    padding: 0.5rem 1rem;
    text-align: left;
    color: #fff;
    background: #d9b3c1;
}


/******************** 先輩社員・アルバイトの声 *********************/

.sec_voice{
    padding-bottom: 29rem;
}
.sec_voice .voice_block{
    position: relative;
}
.sec_voice .voice_block:not(:last-child){
    margin-bottom: 14rem;
}
.sec_voice .voice_block .half_block:first-child{
    align-items: flex-start;
}
.sec_voice .voice_block::before{
    font-size: 4.8rem;
    transform: rotate(-10deg);
    left: 2rem;
    top: 4rem;
    z-index: 6000;
    position: absolute;
    color: #fff;
    font-family: 'Homemade Apple', cursive;
    content: attr(data-title);
}
.sec_voice .thumbnail.hole{
    position: relative;
}
.sec_voice .thumbnail.hole::before,
.sec_voice .thumbnail.hole::after{
    width: 1.1rem;
    height: 1.5rem;
    background: #fff;
    position: absolute;
    display: block;
    content: "";
}
.sec_voice .thumbnail.hole::before{
    left: -0.2rem;
    top: 2rem;
}
.sec_voice .thumbnail.hole::after{
    right: -0.2rem;
    bottom: 2rem;
}
.sec_voice .detail_cont .title{
    font-size: 2.4rem;
    padding: 1rem;
    background: #b0c3c9;
}
.sec_voice .name_cont{
    margin-left: 2.4rem;
    padding: 2rem 3rem;
    margin-bottom: 3.5rem;
    border: 0.2rem solid #000;
    position: relative;
    display: inline-block;
}
.sec_voice .name_cont.pc_none{
    display: none;
}
.sec_voice .name_cont::before{
    width: 2.4rem;
    height: 1.7rem;
    left: -2.4rem;
    top: 4.2rem;
    position: absolute;
    background-image: url(../images/recruit/icon_balloon@2x.jpg);
    background-position: center center;
    background-size: contain;
    background-repeat: no-repeat;
    display: block;
    content: "";
}
.sec_voice .name_cont::after{
    width: 100%;
    height: 100%;
    right: -0.8rem;
    bottom: -0.8rem;
    z-index: -1;
    position: absolute;
    background: #b0c3c9;
    display: block;
    content: "";
}
.sec_voice .name_cont .name{
    font-size: 2.8rem;
    letter-spacing: 0.1em;
    line-height: 1;
    font-weight: bold;
    font-family: 'Noto Serif JP', serif;
}
.sec_voice .name_cont .name span{
    font-size: 1.6rem;
    margin-left: 1.5rem;
    font-weight: normal;
}

/* 1日のスケジュール */
.sec_voice .schedule_block{
    margin-top: 8rem;
}
.sec_voice .schedule_block .title{
    font-size: 2.4rem;
    line-height: 1.5;
    padding: 1rem;
    margin-bottom: 3.5rem;
    text-align: center;
    font-weight: bold;
    font-family: 'Noto Serif JP', serif;
    background: #b0c3c9;
}
/* .sec_voice .schedule{
    height: 39rem;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}
.sec_voice .schedule_block .image{
    max-width: 100rem;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
.sec_voice .schedule_block .image img{
    width: 100%;
}
.sec_voice .balloon{
    width: 25rem;
    padding: 1rem 2rem;
    border: 0.2rem solid #000;
    position: absolute;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    text-align: center;
}
.sec_voice .balloon1{
    top: 0;
    left: 0;
}
.sec_voice .balloon2{
    bottom: 0;
}
.sec_voice .balloon3{
    top: 0;
    left: 0;
}
.sec_voice .balloon4{
    bottom: 0;
}
.sec_voice .balloon5{
    top: 0;
    right: 0;
}
.sec_voice .balloon6{
    bottom: 0;
    right: 0;
}
.sec_voice .balloon .balloon_title{
    padding-left: 0.25rem;
    padding-right: 0.25rem;
    padding-bottom: 0.5rem;
    margin-bottom: 0.5rem;
    font-weight: 900;
    line-height: 1;
    background: linear-gradient(transparent 45%, #e1e7e9 45%);
}
.sec_voice .balloon .txt{
    line-height: 1.5;
} */

/******************** よくある質問 *********************/

.sec_faq{
    padding-top: 7rem;
    padding-bottom: 6.5rem;
    overflow: visible;
}
.sec_faq::before,
.sec_faq::after{
    width: 100%;
    height: 12.5rem;
    position: absolute;
    left: 0;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    display: block;
    content: "";
}
.sec_faq::before{
    background-image: url(../images/recruit/bg_wave_blue_top@2x.png);
    top: -12.5rem;
}
.sec_faq::after{
    background-image: url(../images/recruit/bg_wave_blue_bottom@2x.png);
    bottom: -12.5rem;
}
.sec_faq .detail{
    padding: 3rem;
    border-radius: 1rem;
    border: 0.2rem solid #000;
    background: #fff;
}
.sec_faq .detail:not(:last-child){
    margin-bottom: 3rem;
}
.sec_faq .detail .title{
    font-size: 2.4rem;
    padding-right: 10rem;
    letter-spacing: 0.1em;
    font-weight: 900;
    cursor: pointer;
    position: relative;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    font-family: 'Noto Serif JP', serif;
}
.sec_faq .detail .title:hover{
    opacity: 0.6;
}
.sec_faq .detail .title::before{
    font-size: 3rem;
    margin-right: 3rem;
    letter-spacing: 0;
    content: attr(data-no);
}
.sec_faq .detail .title::after{
    width: 4.8rem;
    height: 4.7rem;
    right: 0;
    top: -1rem;
    position: absolute;
    background-image: url(../images/recruit/icon_faq_arrow_close@2x.png);
    background-position: center center;
    background-size: contain;
    background-repeat: no-repeat;
    display: block;
    content: "";
}
.sec_faq .detail .cont{
    margin-top: 2rem;
    padding-left: 7rem;
    display: none;
}
.sec_faq .detail .cont .txt{
    font-size: 2rem;
}

/*----- オープン時 */
.sec_faq .detail .title.open::after{
    background-image: url(../images/recruit/icon_faq_arrow_open@2x.png);
}
.sec_faq .detail .title.open + .cont{
    display: block;
}



/******************** 募集要項 *********************/

.sec_detail{
    padding-top: 26rem;
    padding-bottom: 31rem;
}
.sec_detail .sec_bg{
    background-image: url(../images/recruit/bg_detail@2x.png);
    background-repeat: no-repeat;
    background-position: left center;
    background-size: contain;
}
.sec_detail .contents{
    border: 0.2rem solid #000;
    padding: 5.5rem 5rem 11.5rem;
}
.sec_detail .contents::before{
    width: 100%;
    height: 100%;
    right: -1.3rem;
    top: 1.5rem;
    z-index: -1;
    background: #efefef;
    position: absolute;
    display: block;
    content: "";
}
.sec_detail .detail_wrap{
    width: 100%;
    max-width: 78rem;
    margin-left: auto;
    margin-right: auto;
}
.sec_detail .detail{
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
    border-bottom: 0.2rem solid #000;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.sec_detail .detail .title{
    width: 14.5rem;
    font-size: 2rem;
    letter-spacing: 0.1em;
    font-weight: bold;
    font-family: 'Noto Serif JP', serif;
}
.sec_detail .detail .cont{
    width: calc(100% - 14.5rem);
    font-size: 1.8rem;
    letter-spacing: 0.1em;
    line-height: 1.5;
}
.sec_detail .detail .list > li{
    font-size: 1.8rem;
    letter-spacing: 0.1em;
    padding-left: 3.5rem;
    min-height: 2.5rem;
    position: relative;
}
.sec_detail .detail .list > li:not(:last-child){
    margin-bottom: 1rem;
}
.sec_detail .detail .list > li::before,
.sec_detail .detail .list > li::after{
    width: 1.7rem;
    height: 1.7rem;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
    /* -webkit-transform-origin: 0 100%;
    -moz-transform-origin: 0 100%;
    -ms-transform-origin: 0 100%;
    -o-transform-origin: 0 100%;
    transform-origin: 0 100%; */
    /* top: calc(50% - 1.2rem); */
    top: 0;
    margin-top: 0.35rem;
    position: absolute;
    box-sizing: border-box;
    display: block;
    content: "";
}
.sec_detail .detail .list > li::before{
    border: 0.2rem solid #000;
    left: 0;
    z-index: 6000;
}
.sec_detail .detail .list > li::after{
    left: 0.6rem;
    z-index: 4000;
    background: #fff;
}
.sec_detail .detail .list > li .list_data{
    margin-top: 0.5rem;
    font-size: 1.8rem;
    letter-spacing: 0.1em;
    line-height: 1.8;
}
.sec_detail .detail .list > li.pickup::after{
    background: #fff68c;
}
.sec_detail .detail .list .child{
    margin-top: 0.5rem;
}
.sec_detail .detail .list .child > li{
    font-size: 1.8rem;
    letter-spacing: 0.1em;
    line-height: 1.8;
}
.sec_detail .detail .list .child > li::before{
    content: "※";
}



/******************** 応募の流れ *********************/

.sec_flow{
    padding-top: 4rem;
    position: relative;
    overflow: visible;
}
.sec_flow::before{
    width: 100%;
    height: 12.5rem;
    background-image: url(../images/recruit/bg_wave_pink_top@2x.png);
    position: absolute;
    left: 0;
    top: -10rem;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    display: block;
    content: "";
}
.sec_flow .detail_wrap{
    margin-bottom: 8rem;
    display: flex;
    align-items: inherit;
    justify-content: space-between;
}
.sec_flow .detail{
    width: calc((100% - (1.2rem * 3)) / 4);
    min-height: 23rem;
    padding: 6rem 2rem 2.5rem;
    border: 0.2rem solid #000;
    background: #fff;
    /* display: flex;
    flex-direction: column;
    align-items: inherit;
    justify-content: flex-start; */
    position: relative;
    text-align: center;
}
.sec_flow .detail::before{
    font-size: 2.5rem;
    letter-spacing: 0;
    transform: rotate(-10deg);
    left: 2.5rem;
    top: 2rem;
    position: absolute;
    font-family: 'Homemade Apple', cursive;
    content: attr(data-step);
}
.sec_flow .detail:not(:last-child)::after{
    width: 4.4rem;
    height: 4.4rem;
    right: -3.1rem;
    top: calc(50% - 2.2rem);
    z-index: 6000;
    position: absolute;
    background-image: url(../images/recruit/icon_flow_arrow@2x.png);
    background-position: center center;
    background-size: contain;
    background-repeat: no-repeat;
    display: block;
    content: "";
}
.sec_flow .detail .title{
    font-size: 2rem;
    letter-spacing: 0.1em;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    padding-bottom: 0.5rem;
    line-height: 1;
    display: inline-block;
    font-weight: bold;
    background:linear-gradient(transparent 45%, #d9b3c1 45%);
    font-family: 'Noto Serif JP', serif;
    margin-bottom: 1.5rem;
    line-height: 1;
    text-align: center;
}
.sec_flow .detail .cont .txt{
    line-height: 1.5;
    letter-spacing: 0.1em;
    text-align: left;
}
.sec_flow .detail .cont .txt a.link{
    color: #bf738f;
    font-weight: bold;
}
.sec_flow .btn{
    max-width: 99rem;
    margin-bottom: 2rem;
    margin-left: auto;
    margin-right: auto;
    position: relative;
}
.sec_flow .btn::before{
    width: 100%;
    height: 100%;
    border-radius: 6.5rem;
    left: 1.5rem;
    top: 1rem;
    position: absolute;
    background: #d9b3c1;
    display: block;
    content: "";
}
.sec_flow .btn a{
    height: 13rem;
    font-size: 5rem;
    line-height: 1;
    letter-spacing: 0.1em;
    border-radius: 6.5rem;
    border: 0.2rem solid #000;
    position: relative;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-family: 'Noto Serif JP', serif;
}
.sec_flow .hosoku{
    text-align: center;
}



/******************** Reservation *********************/

.reservation{
    background: #E1E7E9;
}



@media screen and (max-width: 1750px) {

    .recruit_visual_inner .catchcopy img{
        width: 110%;
    }
    .recruit_visual .entry_btn{
        right: -12rem;
    }

}

@media screen and (max-width: 1450px) {

    .recruit_visual_inner .catchcopy img{
        width: 90%;
    }
    .recruit_visual .entry_btn{
        width: 24rem;
        height: 24rem;
        right: -6rem;
    }
    .recruit_visual .entry_btn a{
        font-size: 3rem;
    }
    .recruit_visual_inner .cont{
        bottom: 5%;
    }
    .recruit_visual_inner .cont p{
        width: 75%;
    }

}

@media screen and (max-width: 1450px) {

    .recruit_visual_inner {
        width: calc(50% + 110rem / 2);
    }
    .recruit_visual_inner .catchcopy img{
        width: 110%;
    }

}

@media screen and (max-width: 1300px) {

    .recruit_visual_inner {
        width: calc(50% + 100rem / 2);
    }
    .recruit_visual_inner .catchcopy img{
        width: 100%;
    }
    .recruit_visual .entry_btn{
        width: 20rem;
        height: 20rem;
        right: 0;
    }
    .recruit_visual_inner .cont p{
        width: 60%;
    }

}

@media screen and (max-width: 1050px) {

    .recruit_visual_inner {
        width: calc(50% + 85rem / 2);
    }

}

@media screen and (max-width: 950px) {

    .recruit_visual_inner {
        width: calc(50% + 75rem / 2);
        padding-left: 2.5rem;
    }
    .recruit_visual_inner .catchcopy{
        padding-left: 2.5rem;
    }

}



@media screen and (max-width: 768px) {

    /*----- 見出し */
    .sec_rec .sec_title{
        font-size: 8.75vw;
        margin-bottom: 7.5vw;
        line-height: 1.4;
    }
    .sec_rec .sec_title::after{
        width: 7.5vw;
        margin-top: 3.75vw;
    }
    
    /*----- コンテンツ */
    .sec_rec{
        padding-top: 5vw;
        padding-bottom: 7.5vw;
    }
    .sec_rec .contents{
        max-width: 100%;
    }



    /*-----  half&half */
    .half_block{
        display: block;
    }
    .half_block .thumbnail,
    .half_block .detail_cont{
        width: 100%;
    }
    .half_block .thumbnail{
        padding: 1.5vw;
        margin-bottom: 7.5vw;
    }
    .half_block .detail_cont{
        min-width: 100%;
        padding-left: 0;
        margin-bottom: 3.75vw;
    }
    .half_block .title{
        margin-bottom: 2.5vw;
    }
    .half_block .detail .cont .txt{
        font-size: 4vw;
        line-height: 1.9;
    }
    .half_block .detail .cont .txt:not(:last-child){
        margin-bottom: 7.5vw;
    }

    /* 逆向き */
    .half_block.reverse .detail_cont{
        padding-right: 0;
    }



    /******************** メインビジュアル *********************/

    .recruit_visual{
        width: calc(100% - 5vw);
        height: 180vw;
    }
    .recruit_visual::before{
        width: calc(100% + 5vw);
        height: calc(100% + 21.25vw);
        right: -5vw;
        top: -10.25vw;
		background: linear-gradient(180deg,#ffffff 0%,#ffffff 15%,#b0c3c9 15%,#b0c3c9 100%);
    }
    .recruit_visual_inner{
        width: 100%;
        height: 100%;
        background-image: url(../images/recruit/sp_recruit_visual@2x.jpg);
        flex-direction: column;
		background-size:100%;
		background-position:top;
    }
    .recruit_visual_inner .catchcopy{
        max-width: 100%;
        padding-left: 0;
        margin-bottom: 3.75vw;
        position: relative;
        bottom: 0;
        top: 35vw;
    }
    .recruit_visual_inner .catchcopy img{
        max-width: none;
        width: 100%;
    }
    .recruit_visual_inner .cont{
        margin-bottom: 40.75vw;
        padding-top: 3.75vw;
        max-width: 100%;
        width: 100%;
        
        padding-left: 0;
        position: relative;
        bottom: 0;
        top: 35vw;
    }
    .recruit_visual_inner .cont p{
        width: 100%;
		color:#000;
    }
    .recruit_visual_inner .cont::before{
        width: 100%;
        left: 0vw;
		background:#000;
    }
    .recruit_visual .entry_btn{
        width: 100%;
        height: 15vw;
        border-radius: 7.5vw;
        position: relative;
        left: 0;
        top: 0vw;
        position: relative
    }
    .recruit_visual .entry_btn::before{
        border-radius: 7.5vw;
        right: 1.25vw;
        bottom: 1.25vw;
    }
    .recruit_visual .entry_btn a{
        font-size: 7vw;
        top: -.625vw;
    }


    /******************** 初回ブロック *********************/
	
	.left_strong_txt{
		font-size:10vw;
		display:inline-block;
		margin-right:5vw;
	}

    /*----- first */
    .sec_first{
        /*padding-top: 40vw;*/
        padding-bottom: 21.25vw;
    }
    .sec_first .first_block{
        padding-top: 20vw;
        padding-bottom: 15vw;
    	margin-bottom: 35vw;
    }
    .sec_first .first_block::before{
        height: 7vw;
        bottom: -7vw;
        background-size: 100%;
        background-position: center top;
    }
    .sec_first .point_wrap{
        display: block;
    }
    .sec_first .point_wrap .point_cont{
        padding: 10vw 0 5vw;
        width: 100%;
        border-left: none;
        border-top: .2rem solid #000;
    }
    .sec_first .point_wrap .point_cont:last-child{
        border-right: none;
        border-bottom: .2rem solid #000;
    }
    .sec_first .point_wrap .point_cont .cont{
        font-size: 11.25vw;
    }
	
	.sec_first .point_wrap .point_cont .cont .left_strong_txt{
		font-size: 10vw;
	}
	
	.sec_first .point_wrap .point_cont .cont .left_strong_txt_2{
		font-size: 10vw;
		display:none;
	}
	
    .sec_first .point_wrap .point_cont:nth-of-type(1){
        padding-left: 4.5vw;
        padding-right: 4.5vw;
    }
    .sec_first .point_wrap .point_cont:nth-of-type(1) .cont::before{
        width: 20vw;
        height: 20vw;
        left: 30vw;
        top: -5vw;
    }
    .sec_first .point_wrap .point_cont:nth-of-type(1) .cont .strong{
        font-size: 10vw;
        padding-top: 3.75vw;
        padding-bottom: 4.5vw;
        margin-top: 3.75vw;
		display:inline-block;
		padding:10px 5vw 10px 18vw;
    }
	
	.sec_first .point_wrap .point_cont:nth-of-type(2) .cont::before {
    	width: 20vw;
        height: 20vw;
        left: 12vw;
        top: -5vw;
    	position: absolute;
    	background-image: url(../images/recruit/point2_balloon@2x.png);
    	background-position: center center;
    	background-size: contain;
    	background-repeat: no-repeat;
    	display: block;
    	content: "";
	}
	
    .sec_first .point_wrap .point_cont:nth-of-type(2) .cont .strong{
        font-size: 10vw;
        padding-top: 3.75vw;
        padding-bottom: 4.5vw;
        margin-top: 3.75vw;
		color:#fff;
		background:#b0c3c9;
		text-align:right;
    	width:80%;
    	margin:0 10%;
    	padding-right:20px;
    }
    .sec_first .point_wrap .point_cont:last-child .cont{
        font-size: 12vw;
        letter-spacing: 0;
    }
    .sec_first .point_wrap .point_cont:last-child .cont br{
        display: none;
    }
    .sec_first .point_wrap .point_cont:last-child .cont .marker{
        font-size: 17vw;
        margin-bottom: 0;
        padding-bottom: 2.5vw;
        letter-spacing: 0;
    }
    .sec_first .point_wrap .point_cont .title,
    .sec_first .point_wrap .point_cont .title .marker{
        margin-bottom: 8vw;
        font-size: 6vw;
        letter-spacing: 0;
    }
    .sec_first .point_wrap .point_cont .title .marker{
        margin-bottom: 5vw;
    }
    .sec_first .point_wrap .point_cont:last-child .title{
        margin-bottom: 0;
    }
    .sec_first .point_wrap .point_cont .title::before{
        font-size: 9vw;
        margin-bottom: 3.75vw;
    }
    .sec_first .point_wrap .point_cont .title .square{
        width: 15vw;
        height: 15vw;
        font-size: 4.5vw;
        margin-bottom: 2.4vw;
        margin-left: 1.2vw;
        margin-right: 1.2vw;
    }

    /*----- middle */
    .sec_first .middle_block{
        margin-top: -17.5vw;
        padding-bottom: 5vw;
        background-image: url(../images/recruit/sp_bg_sec_first_middle@2x.png);
        background-size: 100%;
    }
    .sec_first .middle_block .middle:not(:last-child){
        margin-bottom: 5vw;
    }
    .sec_first .middle_block .middle:last-child .detail_cont{
        margin-bottom: 0;
    }
    .sec_first .middle_block .title_wrap{
        margin-bottom: 4.5vw;
    }
    .sec_first .middle_block .title{
        font-size: 5.5vw;
        letter-spacing: 0;
        margin-bottom: 0;
        padding-bottom: 2.5vw;
    }
    .sec_first .middle_block .thumbnail{
        margin-bottom: 2.5vw;
		height:220px;
    }
	
	.half_block .thumbnail img{
		height:100%;
		object-fit:cover;
	}

    /*----- bottom */
    .sec_first .bottom_block{
        padding-top: 11.25vw;
    }
    .sec_first .bottom_block .title{
        font-size: 8.5vw;
        margin-bottom: 3.75vw;
        letter-spacing: 0;
    }
    .sec_first .bottom_block .keyword_wrap{
        margin-bottom: 6.25vw;
    }
    .sec_first .bottom_block .keyword_wrap .keyword{
        font-size: 4vw;
        padding: 2.5vw;
        letter-spacing: 0;
    }
    .sec_first .bottom_block .keyword_wrap .keyword:not(:last-child){
        margin-bottom: 2.5vw;
    }


    /******************** 福利厚生 *********************/

    .sec_welfare::before{
        height: 7vw;
        top: -7vw;
        background-size: 100%;
        background-position: center bottom;
    }
    .sec_welfare .welfare_block:nth-of-type(1) .thumbnail,
    .sec_welfare .welfare_block:nth-of-type(2) .detail_cont,
    .sec_welfare .welfare_block:nth-of-type(3) .thumbnail{
        margin-top: 0;
    }
    .sec_welfare .welfare_block:not(:last-child){
        margin-bottom: 6.25vw;
    }
    .sec_welfare .title_wrap.pc_none{
        margin-bottom: 2.5vw;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
    }
    .sec_welfare .title_wrap .title{
        font-size: 5vw;
        padding: 1.25vw 2.5vw 2vw;
        letter-spacing: 0;
    }
    .sec_welfare .title_wrap .title.full{
        text-align: center;
    }
    .sec_welfare .thumbnail{
        margin-bottom: 2.5vw;
		height:220px;
    }
    .sec_welfare .detail_cont{
        margin-bottom: 0;
    }


    /******************** 先輩社員・アルバイトの声 *********************/

    .sec_voice{
        padding-top: 10vw;
        padding-bottom: 22.5vw;
    }
    .sec_voice .voice_block:not(:last-child){
        margin-bottom: 11.25vw;
    }
    .sec_voice .voice_block::before{
        font-size: 7.25vw;
        left: 3.5vw;
        top: 7.5vw;
    }
    .sec_voice .voice_block .half_block:first-child .thumbnail{
        width: 82.5vw;
        margin-bottom: 17.5vw;
    }
    .sec_voice .thumbnail.hole::before,
    .sec_voice .thumbnail.hole::after{
        height: 3.75vw;
    }
    .sec_voice .detail_cont .title{
        font-size: 5vw;
        padding: 2.5vw 5vw;
        letter-spacing: 0;
		width: 100%;
    }
    .sec_voice .name_cont{
        margin-left: 0;
        margin-bottom: 0;
    }
    .sec_voice .name_cont.pc_none{
        right: -5vw;
        bottom: -8.75vw;
        padding: 0;
        border: none;
        position: absolute;
        display: block;
    }
    .sec_voice .name_cont .name{
        padding: 5vw 6.25vw;
        border: 0.2rem solid #000;
        position: relative;
        z-index: 6000;
    }
    .sec_voice .name_cont.sp_none{
        display: none;
    }
    .sec_voice .name_cont::before{
        display: none;
    }
    .sec_voice .name_cont::after{
        z-index: 4000;
    }
    .sec_voice .name_cont .name{
        font-size: 5vw;
        letter-spacing: 0;
    }
    .sec_voice .name_cont .name span{
        font-size: 3.5vw;
        margin-left: 5vw;
    }

    /* 1日のスケジュール */
    .sec_voice .schedule_block{
        margin-top: 5vw;
    }
    .sec_voice .schedule_block .title{
        font-size: 5vw;
        padding: 2.5vw 5vw;
        letter-spacing: 0;
        margin-bottom: 5vw;
    }



    /******************** よくある質問 *********************/

    .sec_faq{
        padding-top: 5vw;
        padding-bottom: 7.5vw;
    }
    .sec_faq::before,
    .sec_faq::after{
        height: 7vw;
        background-size: 100%;
    }
    .sec_faq::before{
        top: -7vw;
        background-position: center bottom;
    }
    .sec_faq::after{
        bottom: -7vw;
        background-position: center top;
    }

    .sec_faq .detail{
        padding: 3.75vw;
        border-radius: 3.75vw;
    }
    .sec_faq .detail:not(:last-child){
        margin-bottom: 5vw;
    }
    .sec_faq .detail .title{
        font-size: 4vw;
        padding-right: 11.25vw;
        line-height: 1.5;
    }
    .sec_faq .detail .title::before{
        font-size: 4.5vw;
        margin-right: 1.25vw;
    }
    .sec_faq .detail .title::after{
        width: 7.5vw;
        height: 7.5vw;
        right: 0;
        top: 0;
    }
    .sec_faq .detail .cont{
        margin-top: 2.5vw;
        padding-left: 7vw;
    }
    .sec_faq .detail .cont .txt{
        font-size: 3.5vw;
    }



        /******************** 募集要項 *********************/

    .sec_detail{
        padding-top: 17.5vw;
        padding-bottom: 20vw;
    }
    .sec_detail .sec_bg{
        background: none;
    }
    .sec_detail .contents{
        padding: 0 4.25vw 11.25vw;
    }
    .sec_detail .contents::before{
        right: -1.25vw;
        top: 1.25vw;
    }
    .sec_detail .detail_wrap{
        width: 100%;
        max-width: 100%;
    }
    .sec_detail .detail{
        padding-top: 5vw;
        padding-bottom: 3.75vw;
        display: block;
    }
    .sec_detail .detail .title{
        width: 100%;
        font-size: 4.5vw;
        line-height: 1;
        margin-bottom: 2.5vw;
        text-align: center;
    }
    .sec_detail .detail .cont{
        width: 100%;
        font-size: 4vw;
    }
    .sec_detail .detail .list > li{
        font-size: 4vw;
        padding-left: 7.5vw;
        line-height: 1.9;
    }
    .sec_detail .detail .list > li .list_data{
        font-size: 4vw;
        line-height: 1.9;
        margin-top: 1.25vw;
    }
    .sec_detail .detail .list > li:not(:last-child){
        margin-bottom: 1.5vw;
    }
    .sec_detail .detail .list > li::before,
    .sec_detail .detail .list > li::after{
        width: 3.75vw;
        height: 3.75vw;
        margin-top: 2vw;
    }
    .sec_detail .detail .list > li::after{
        left: 1.25vw;
    }
    .sec_detail .detail .list .child{
        margin-top: 1.25vw;
    }
    .sec_detail .detail .list .child > li{
        font-size: 4vw;
    }



    /******************** 応募の流れ *********************/

    .sec_flow{
        padding-top: 3.75vw;
        padding-bottom: 10vw;
    }
    .sec_flow::before{
        height: 7vw;
        top: -7vw;
        background-size: 100%;
        background-position: center bottom;
    }
    .sec_flow .detail_wrap{
        margin-bottom: 11.25vw;
        display: block;
    }
    .sec_flow .detail{
        width: 100%;
        min-height: auto;
        padding: 12.5vw 3.75vw 7.5vw;
    }
    .sec_flow .detail:not(:last-child){
        margin-bottom: 5vw;
    }
    .sec_flow .detail::before{
        font-size: 6.25vw;
        left: 5vw;
        top: 5vw;
    }
    .sec_flow .detail:not(:last-child)::after{
        width: 11vw;
        height: 11vw;
        right: calc(50% - 5.625vw);
        top: calc(100% - 3vw);
        transform: rotate(90deg);
    }
    .sec_flow .detail .title{
        font-size: 5vw;
        padding-left: 1vw;
        padding-right: 1vw;
        padding-bottom: 1.5vw;
        margin-bottom: 2.5vw;
    }
    .sec_flow .detail .cont .txt{
        font-size: 4vw;
    }
    .sec_flow .btn{
        max-width: 100%;
        margin-bottom: 3.75vw;
    }
    .sec_flow .btn::before{
        border-radius: 7.5vw;
        left: 1.25vw;
        top: 1.25vw;
    }
    .sec_flow .btn a{
        height: 15vw;
        font-size: 7vw;
        border-radius: 7.5vw;
    }

}