@charset "UTF-8";
/* CSS Document */
.recBody{
  /*font-size:12px;*/
  font-weight: 500;
  font-feature-settings: "palt";/*Google Notoは効く、Adobe notoは効かない、メイリオは効かない*/
  line-height:1.0;
  letter-spacing:0px;
  -webkit-text-size-adjust: 100%;/*スマホ文字拡大対策*/
}
.recBody .recWarp{overflow: hidden;}
.recBody *,
.recBody *:before,
.recBody *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}
.recBody p{
  display: block;
	margin:0;
	padding:0;
	border:0;
	outline:0;
	font-size:100%;
	font-style:normal;/*追加*/
	vertical-align:baseline;
	/*background:transparent;*/
	background-color: transparent;
	-webkit-tap-highlight-color: transparent;
}
.recBody .fgo_b{font-weight: 700!important;}


.recBody .opBtf a,
a.opBtf{
	opacity: 1;
	transition: opacity 0.25s ease;
}
.recBody .opBtf a:not(.noLink):hover,
.recBody a.opBtf:not(.noLink):hover{
	opacity: 0.5;
	transition: opacity 0.35s ease;
}

.recBody a.op_hov .op{
	opacity: 1;
	transition: opacity 0.25s ease;
}
.recBody a.op_hov:not(.noLink):hover .op{
	opacity: 0.5;
	transition: opacity 0.35s ease;
}


.recBody .zoomBt a,
.recBody a.zoomBt{
	transform: scale(1.0);
	transition: transform 0.35s ease;
}
.recBody .zoomBt a,
.recBody a.zoomBt,
.recBody .zoomBt a *,
.recBody a.zoomBt *{
	backface-visibility: hidden;/*chrome transition 1pxズレ対策*/
}
.recBody .zoomBt a:not(.noLink):hover,
.recBody a.zoomBt:not(.noLink):hover{
	transition: transform 0.2s ease;
	transform: scale(1.15);
}

.recBody .zoomImg_hov img.zoomImg{
	transform: scale(1);
	transition: transform 0.75s ease;
}
.recBody .zoomImg_hov:not(.noLink):hover img.zoomImg,
.recBody .imgShowKey.show .zoomImg_hov:not(.noLink):hover img.zoomImg{
	transform: scale(1.1);
}

/*imgShowKeyとinViewを併用*/
.recBody .imgShowKey img.imgShowAni,
.recBody .imgShowKey a.zoomImg_hov img.imgShowAni{
	opacity: 0;
	transform: scale(1.3);
	transition:
		opacity 1s ease,
		transform 1s ease;
}
.recBody .imgShowKey.show img.imgShowAni,
.recBody .imgShowKey.show a.zoomImg_hov img.imgShowAni{
	opacity: 1;
	transform: scale(1.0);
}

.recBody a.txt_hovAni {
  display: inline;
  background-image: linear-gradient(#000, #000);
  background-size: 0% 1px;
  background-position: 0% 100%;
  background-repeat: no-repeat;
	transition: background 0.35s ease;
}

.recBody a.txt_hovAni:hover {
  background-size: 100% 1px;
}



.recBody .noEvent{pointer-events:none;}/*IE11以降（IE11ではaタグには利かない）*/


.recBody img.obFit,
.recBody img.obFit_ct{width: 100%;height: 100%;}
.recBody img.obFit   {object-fit: cover;}
.recBody img.obFit_ct{object-fit: contain;}


.recBody .bdr999{
	isolation: isolate;
	border-radius: 9999px;
}
/*splide利用するしているページでoverflow:hiddeen;など使っている要素に*/
.recBody .willc_trans{will-change: transform;}



/*txtBtAni*/
.recBody a .txtBtAni{display: inline-block;}
.recBody a:hover:not(.noLink) .txtBtAni{
	position: relative;
	animation: txtBtAni 0.5s ease 0s 1 normal both;
}
@keyframes         txtBtAni {
	0% {
		top: 0;
		opacity: 1;
	}
	30% {
		top: -0.25em;
		opacity: 0;
	}
	31% {
		top: 0.25em;
		opacity: 0;
	}
	100% {
		top:0;
		opacity: 1;
	}
}




/*=============================
  FV
=============================*/
.recBody .recFV .splide{
  isolation: isolate;
	border-radius: 12px;
  overflow: hidden;
}
.recBody .recFV .splide .splide__track {
  height: 100%;
}
.recBody .recFV .splide .splide__list .splide__slide .item{
  position: relative;
  width: 100%;
  height: 100%;
}
.recBody .recFV .splide .splide__list .splide__slide .item::after{
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top:0;
  left:0;
  z-index: 10;
  opacity: 0.25;
  background: linear-gradient(902deg,  rgba(34,34,34,0) 0%,rgba(34,34,34,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}
.recBody .recFV .splide .splide__list .splide__slide.is-active .item,
.recBody .recFV .splide .splide__list .splide__slide.is-prev .item,
.recBody .recFV .splide .splide__list .splide__slide.is-prevee .item{
  animation: zoomfade 10s linear 0s 1 normal both;
}
@keyframes zoomfade {
	0% {
		transform: scale(1);
	}
	100% {
		transform: scale(1.2);
	}
}

.recBody .recFV {
  padding: 0 60px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  margin-top: 60px;
}

@media screen and (max-width: 1320px) and (min-width: 1251px) {
  .recBody .recFV {
    width: 100%;
    max-width: 1200px;
    padding: 0 0px;
  }
}

@media screen and (max-width: 1250px) {
  .recBody .recFV {
    padding: 0 25px;
  }
}

@media screen and (min-width: 768px) {
	/*PC*/
  .recBody .sp{display: none !important;}

  /*========
  上下中央寄せ
  ========*/
  /*上下中央寄せ*/
  .recBody .vmf,
  .recBody .pc_vmf{
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  /*上下左右中央寄せ*/
  .recBody .vmf_c,
  .recBody .pc_vmf_c{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
  .recBody .vmg_c,
  .recBody .pc_vmg_c{
    display: grid;
    place-content: center;
    place-items: center;
  }
  .recBody .flex,
  .recBody .pc_flex{
    display: flex;
  }
  .recBody .f_warp,.recBody .pc_f_warp	{flex-wrap: wrap;}
  .recBody .f_ac,.recBody .pc_f_ac			{align-items: center;}
  .recBody .f_as,.recBody .pc_f_as			{align-items: flex-start;}
  .recBody .f_dr,.recBody .pc_f_dr			{flex-direction: row-reverse;}/*逆順*/
  .recBody .f_dc,.recBody .pc_f_dc			{flex-direction: column;}
  .recBody .f_cc,.recBody .pc_f_cc			{justify-content: center;}
  .recBody .f_ce,.recBody .pc_f_ce			{justify-content: flex-end;}/*後ろ付き*/
  .recBody .f_cb,.recBody .pc_f_cb			{justify-content: space-between;}

  .recBody .grid,
  .recBody .pc_grid{display: grid;}
  .recBody .grid .ga1,
  .recBody .pc_grid .pc_ga1{grid-area: 1/1;}

  .recBody img.obPos_tc,
  .recBody img.pc_obPos_tc{object-position: top center;}



  /*=============================
    PC FV
  =============================*/
  .recBody .recFV h2{
    z-index: 10;
    margin-top: auto;
    margin-bottom: auto;
    margin-left: calc((125/1470)*100%);
    font-size: calc(2.4rem * 0.625);
    line-height: 1.75;
    color: #FFF;
  }

  /*=============================
    PC section
  =============================*/
  .recBody .recCont{padding-bottom: 125px;}
  .recBody section{
    padding: 0 25px;
  }
  .recBody .bloc01{
    margin-top: 100px;
  }
  .recBody .bloc02{
    margin-top: 45px;
  }
  .recBody section h2{
    border-top: 1px solid #EEEEEE;
    border-bottom: 1px solid #EEEEEE;
    font-size: calc(2rem * 0.625);
    line-height: 1.25;
    padding: 1em 0 1em 55px;
    position: relative;
    max-width: 1200px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .recBody section h2::before{
    content: '';
    display: block;
    aspect-ratio: 1/1;
    height: 23px;
    background: url(/sites/default/files/shared_contents/cmn/img/recruit/icon_tit.svg) no-repeat center center/contain;
    position: absolute;
    top:20px;
    left:15px;
  }
  .recBody section > .inner{
    max-width: 1200px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  
  .recBody section .txt01{
    text-align: center;
    font-size: calc(1.8rem * 0.625);
    line-height: 1.75;
    margin-top: 40px;
  }
  .recBody section h3{margin-top: 60px;}
  .recBody section .txt01 + *{margin-top: 40px;}
  .recBody section h3 + *{margin-top: 50px;}
  .recBody section h3{
    font-size: calc(1.8rem * 0.625);
    line-height: 1;
    background: #F6F6F6;
    padding: 1em 1em;
    margin-bottom: 0;
  }
  .recBody section .recList {
    padding: 0 10px;
  }
  .recBody section .recList > li{
    width: calc((377/1180)*100%);
    border: 1px solid #EEEEEE;
    overflow: hidden;
    isolation: isolate;
  	border-radius: 6px;
    margin-bottom: 0;
    margin-right: calc((24/1180)*100%);
    box-shadow: 0px 0px 20px 0px rgba(0,0,0,0);
    transition: box-shadow 0.5s ease;
  }
  .recBody section .recList > li.on{
    box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.1);
  }
  .recBody section .recList > li:nth-child(3n){margin-right: 0;}
  .recBody section .recList > li:nth-child(n+4){margin-top: calc((24/1180)*100%);}
  .recBody section .recList > li .picArea{
    position: relative;
  }
  .recBody section .recList > li .picArea .pic{
    aspect-ratio: 378/212;
    width: 100%;
    overflow: hidden;
    border-bottom: 1px solid #EEEEEE;
  }
  .recBody section .recList > li .picArea .label{
    position: absolute;
    top:10px;
    right: 10px;
    width: fit-content;
    padding: 0.5em 0.75em;
    background: #808080;
    color: #FFF;
    font-size: calc(1.2rem * 0.625);
    isolation: isolate;
    border-radius: 4px;
  }
  .recBody section .recList > li .txtArea{
    flex-grow: 1;
    padding: 20px 15px 30px;
  }
  .recBody section .recList > li .txtArea h4{
    font-size: calc(1.6rem * 0.625);
    margin-bottom: 0;
  }
  .recBody section .recList > li .txtArea .txt{
    font-size: calc(1.4rem * 0.625);
    line-height: 1.65;
    margin-top: 1em;
    margin-bottom: auto;
  }
  .recBody section .recList > li .txtArea .btList{
    border-top: 1px solid #EEEEEE;
    padding-top: 1.25em;
    margin-top: 1em;
  }
  .recBody section .recList > li .txtArea .btList li{margin:0 1em 0.25em 0 ;}
  .recBody section .recList > li .txtArea .btList li .fgo_b{
    font-size: calc(1.3rem * 0.625);
  }
  .recBody section .recList > li .txtArea .btList li .icon{
    width: 11px;
    margin-left: 5px;
  }
  .recBody .icon_blk::before{
    content: '';
    width: 11px;
    height: 10px;
    display: block;
    mask-image: url(/sites/default/files/shared_contents/cmn/img/recruit/icon_blank.svg);
    mask-size: 100% 100%;
    background: rgba(0,0,0,1);
  }
}







@media screen and (max-width: 767px),
screen and (max-width: 896px) and (orientation: landscape){
	/*SP*/
  .recBody .pc{display: none !important;}

    /*========
  上下中央寄せ
  ========*/
  /*上下中央寄せ*/
  .recBody .vmf,
  .recBody .sp_vmf{
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  /*上下左右中央寄せ*/
  .recBody .vmf_c,
  .recBody .sp_vmf_c{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
  .recBody .vmg_c,
  .recBody .sp_vmg_c{
    display: grid;
    place-content: center;
    place-items: center;
  }
  .recBody .flex,
  .recBody .sp_flex{
    display: flex;
  }
  .recBody .f_warp,.recBody .sp_f_warp	{flex-wrap: wrap;}
  .recBody .f_ac,.recBody .sp_f_ac			{align-items: center;}
  .recBody .f_as,.recBody .sp_f_as			{align-items: flex-start;}
  .recBody .f_dr,.recBody .sp_f_dr			{flex-direction: row-reverse;}/*逆順*/
  .recBody .f_dc,.recBody .sp_f_dc			{flex-direction: column;}
  .recBody .f_cc,.recBody .sp_f_cc			{justify-content: center;}
  .recBody .f_ce,.recBody .sp_f_ce			{justify-content: flex-end;}/*後ろ付き*/
  .recBody .f_cb,.recBody .sp_f_cb			{justify-content: space-between;}

  .recBody .grid,
  .recBody .sp_grid{display: grid;}
  .recBody .grid .ga1,
  .recBody .sp_grid .sp_ga1{grid-area: 1/1;}

  .recBody img.obPos_tc,
  .recBody img.sp_obPos_tc{object-position: top center;}




  /*=============================
    SP FV
  =============================*/
  .recBody .recFV{
    padding: 0 10px;
    position: relative;
    margin-top: 30px;
  }
  .recBody .recFV h2{
    z-index: 10;
    margin-top: auto;
    margin-bottom: calc((25/355)*100%);
    margin-left: calc((20/355)*100%);
    font-size: calc(1.5rem * 0.625);
    line-height: 1.75;
    color: #FFF;
  }

  /*=============================
    SP section
  =============================*/
  .recBody .recCont{padding-bottom: 65px;}
  .recBody section{
  }
  .recBody .bloc01{
    margin-top: 50px;
  }
  .recBody .bloc02{
    margin-top: 50px;
  }
  .recBody section h2{
    border-top: 1px solid #EEEEEE;
    border-bottom: 1px solid #EEEEEE;
    font-size: calc(2rem * 0.625);
    line-height: 1.25;
    padding: 1em 0 1em 55px;
    position: relative;
  }
  .recBody section h2::before{
    content: '';
    display: block;
    aspect-ratio: 1/1;
    height: 23px;
    background: url(/sites/default/files/shared_contents/cmn/img/recruit/icon_tit.svg) no-repeat center center/contain;
    position: absolute;
    top:20px;
    left:15px;
  }
  .recBody section > .inner{
    padding: 0 15px;
  }
  
  .recBody section .txt01{
    font-size: calc(1.4rem * 0.625);
    line-height: 1.75;
    margin-top: 1.5em;
  }
  .recBody section h3{
    width: 100vw;
    margin-left: -15px;
    margin-top: 60px;
  }
  .recBody section .txt01 + *{margin-top: 40px;}
  .recBody section h3 + *{margin-top: 50px;}
  .recBody section h3{
    font-size: calc(1.8rem * 0.625);
    line-height: 1;
    background: #F6F6F6;
    padding: 1em 1em;
    margin-bottom: 0;
  }
  .recBody section .recList {
  }
  .recBody section .recList > li{
    border: 1px solid #EEEEEE;
    overflow: hidden;
    isolation: isolate;
  	border-radius: 6px;
    margin-bottom: 0;
    box-shadow: 0px 0px 20px 0px rgba(0,0,0,0);
    transition: box-shadow 0.5s ease;
  }
  .recBody section .recList > li.on{
    box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.1);
  }
  .recBody section .recList > li:nth-child(n+2){margin-top: 20px;}
  .recBody section .recList > li .picArea{
    position: relative;
  }
  .recBody section .recList > li .picArea .pic{
    aspect-ratio: 378/212;
    width: 100%;
    overflow: hidden;
    border-bottom: 1px solid #EEEEEE;
  }
  .recBody section .recList > li .picArea .label{
    position: absolute;
    top:10px;
    right: 10px;
    width: fit-content;
    padding: 0.5em 0.75em;
    background: #808080;
    color: #FFF;
    font-size: calc(1.2rem * 0.625);
    isolation: isolate;
    border-radius: 4px;
  }
  .recBody section .recList > li .txtArea{
    flex-grow: 1;
    padding: 20px 15px 30px;
  }
  .recBody section .recList > li .txtArea h4{
    font-size: calc(1.6rem * 0.625);
    margin-bottom: 0;
  }
  .recBody section .recList > li .txtArea .txt{
    font-size: calc(1.4rem * 0.625);
    line-height: 1.65;
    margin-top: 1em;
    margin-bottom: auto;
  }
  .recBody section .recList > li .txtArea .btList{
    border-top: 1px solid #EEEEEE;
    padding-top: 1.25em;
    margin-top: 1em;
  }
  .recBody section .recList > li .txtArea .btList li{margin:0 1em 0.25em 0 ;}
  .recBody section .recList > li .txtArea .btList li .fgo_b{
    font-size: calc(1.3rem * 0.625);
  }
  .recBody section .recList > li .txtArea .btList li .icon{
    width: 11px;
    margin-left: 5px;
  }
  .recBody .icon_blk::before{
    content: '';
    width: 11px;
    height: 10px;
    display: block;
    mask-image: url(/sites/default/files/shared_contents/cmn/img/recruit/icon_blank.svg);
    mask-size: 100% 100%;
    background: rgba(0,0,0,1);
  }
}

