/*------------------------------------
リクルート共通
------------------------------------*/
.r_index_ttl{
  text-align: center;
  margin-bottom: 80px;
}

.r_index_ttl h3{
  font-size: 48px;
  line-height: 4.8rem;
  margin-bottom: 1.6rem;
}


/*------------ sp ------------*/

@media (max-width: 899px){
  .r_index_ttl{
    text-align: center;
    margin-bottom: 40px;
  }
  
  .r_index_ttl h3{
    font-size: 40px;
    line-height: 4.0rem;
    margin-bottom: 0.8rem;
  }
}





/*------------------------------------
MV
------------------------------------*/

.r_mv {
  margin-top: 120px;
}

.r_mv h1 {
  font-size: 56px;
  line-height: 9.2rem;
  padding-top: 80px;
  margin-left: 8%;
}

.r_sub_ttl{
  font-size: 20px;
  line-height: 36px;
  margin-top: 16px;
  margin-left: 8%;
}

.r_mv_swiper {
  position: relative;
  width: 100%;
  overflow: hidden;
  margin-top: 100px;
}

.r_mv_track {
  display: flex;
  align-items: flex-start;
  position: relative;
  left: 0;
}

.r_mv_slide{
  flex-shrink: 0;
  margin-right: 40px;
}

.r_mv_slide img {
  display: block;
  height: auto;
  width: 100%;
  border-radius: 8px;
}

.r_mv_slide.r_mv_01 {
  width: 600px;
}

.r_mv_slide.r_mv_02 {
  width: 300px;
  margin-top: 132px;
}

.r_mv_slide.r_mv_03 {
  width: 400px;
}

.r_mv_slide.r_mv_04 {
  width: 300px;
  margin-top: 80px;
}


/*------------ sp ------------*/

@media (max-width: 899px){
  .r_mv {
    margin-top: 40px;
  }
  
  .r_mv h1 {
    font-size: 34px;
    line-height: 5.6rem;
    padding-top: 64px;
    margin-left: 5%;
  }

  .r_sub_ttl{
    font-size: 16px;
    line-height: 30px;
    margin-top: 16px;
    margin-left: 5%;
  }
  
  
  .r_mv_swiper {
    width: 100%;
    overflow: hidden;
    position: relative;
    margin-top: 72px;
  }
  
  .r_mv_track {
    display: flex;
    align-items: flex-start;
    width: max-content;
    animation: scrollLoop 60s linear infinite;
  }
  
  .r_mv_slide img {
    display: block;
    height: auto;
    border-radius: 8px;
    width: 100%;
  }
  
  .r_mv_slide.r_mv_01 {
    width: 400px;
  }
  
  .r_mv_slide.r_mv_02 {
    width: 200px;
    margin-top: 40px;
  }
  
  .r_mv_slide.r_mv_03 {
    width: 266px;
  }
  
  .r_mv_slide.r_mv_04 {
    width: 200px;
    margin-top: 40px;
  }
  
  @keyframes scrollLoop {
    from {
      transform: translateX(0);
    }
    to {
      transform: translateX(-50%);
    }
  }
}





/*------------------------------------
content
------------------------------------*/
.r_outline{
  margin: 144px auto;
}


/*------------ sp ------------*/

@media (max-width: 899px){
  .r_outline{
    margin: 72px auto;
  }
}





/*------------------------------------
Message
------------------------------------*/
.r_index_message{
  text-align: center;
}

.r_index_message h2{
  font-size: 32px;
  line-height: 5.6rem;
  margin-bottom: 32px;
}

.r_index_message p{
  margin-bottom: 16px;
}


/*------------ sp ------------*/

@media (max-width: 899px){
  .r_index_message{
    text-align: center;
  }
  
  .r_index_message h2{
    font-size: 20px;
    line-height: 4rem;
    margin-bottom: 32px;
  }

  .r_index_message p{
    font-size: 14px;
    line-height: 2.4rem;
    margin-bottom: 16px;
  }
}




/*------------------------------------
Voice
------------------------------------*/

.r_index_voice_cont{
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: center;
  margin-bottom: 40px;
}

.r_index_voice_item {
  display: block;
  position: relative;
  width: 32%;
  min-width: 360px;
  transition: transform 0.3s ease;
  will-change: transform;
}

.r_index_voice_item:hover {
  transform: scale(1.025);
}

.r_index_voice_item:last-child {
  justify-self: center;
}

.r_index_voice_item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 8px;
}

.r_index_voice_text {
  position: absolute;
  inset: 0;
  padding: 28px;
  z-index: 2;
}

.r_index_voice_text .r_voice_gr{
  font-size: 11px;
  line-height: 18px;
  margin-bottom: 8px;
}

.r_index_voice_text .r_voice_ttl{
  font-size: 15px;
  line-height: 2.4rem;
  font-weight: 500;
  margin-bottom: 16px;
}

.r_index_voice_text .r_voice_name{
  font-size: 12px;
  line-height: 1.2rem;
  margin-bottom: 16px;
}

.r_voice_more{
  display: inline;
  padding: 0 2px 2px;
  border-bottom: solid #c7d5e0 2px;
}

.r_index_view_all{
  text-align: center;
}

.r_index_view_all a{
  padding: 2px;
  font-size: 20px;
  border-bottom: solid #c7d5e0 2px;
  transition: opacity 0.3s ease;
}

.r_index_view_all a:hover{
  opacity: 0.6;
}


/*------------ sp ------------*/

@media (max-width: 899px){
  .r_index_voice_cont{
    display: block;
    gap: 16px;
    justify-content: center;
    margin-bottom: 40px;
  }
  
  .r_index_voice_item {
    display: block;
    position: relative;
    width: 80%;
    min-width: 340px;
    max-width: 440px;
    margin-bottom: 24px;
    justify-self: center;
    transition: none;
  }
  
  .r_index_voice_item:hover {
    transform: none;
  }
  
  .r_index_voice_item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 8px;
  }
  
  .r_index_voice_text {
    position: absolute;
    inset: 0;
    padding: 28px;
    z-index: 2;
  }
  
  .r_index_voice_text .r_voice_gr{
    font-size: 11px;
    line-height: 18px;
    margin-bottom: 8px;
  }
  
  .r_index_voice_text .r_voice_ttl{
    font-size: 14px;
    line-height: 2.2rem;
    font-weight: 500;
    margin-bottom: 16px;
  }
  
  .r_index_voice_text .r_voice_name{
    font-size: 12px;
    line-height: 1.2rem;
    margin-bottom: 8px;
  }
  
  .r_voice_more{
    display: inline;
    padding: 0 2px 2px;
    border-bottom: solid #c7d5e0 2px;
  }
  
  .r_index_view_all{
    text-align: center;
  }
  
  .r_index_view_all a{
    padding: 2px;
    font-size: 20px;
    border-bottom: solid #c7d5e0 2px;
    transition: opacity 0.3s ease;
  }
  
  .r_index_view_all a:hover{
    opacity: 0.6;
  }
}





/*------------------------------------
Business
------------------------------------*/

.r_business_text{
  text-align: center;
  margin-bottom: 72px;
}

.r_business_text_lg{
  font-size: 24px;
  line-height: 3.6rem;
  text-align: center;
  margin-bottom: 32px;
}

.r_solution,
.r_mono{
  text-align: center;
  margin-bottom: 72px;
}

.r_solution h4{
  display: inline-block;
  font-size: 20px;
  padding: 0 20px 8px;
  border-bottom: solid #c7d5e0 2px;
  margin-bottom: 40px;
}

/*デジタルソリューション*/
.r_solution_cont{
  margin-top: 56px;
}

.r_solution_item{
  display: flex;
  flex-direction: row-reverse;
  text-align: left;
  margin-bottom: 56px;
  align-items: top;
}

.r_solution_text_wrap{
  margin-top: 8px;
  flex: 1;
  min-width: 0;
}

.r_solution_item h5{
  font-size: 18px;
  margin-bottom: 8px;
  font-weight: 600;
}

.r_solution_item_lead{
  font-weight: 600;
  margin-bottom: 16px;
}

.r_solution_item_desc{
  font-size: 15px;
  line-height: 2.6rem;
}

.r_solution_img_wrap{
  width: 26%;
  min-width: 320px;
  margin-right: 64px;
}

.r_solution_img_wrap img{
  width: 100%;
  border-radius: 8px;
  object-fit: cover;
}

/*ものづくり*/
.r_mono_cont{
  display: flex;
  text-align: left;
  align-items: top;
}

.r_mono h4{
  display: inline-block;
  font-size: 20px;
  padding: 0 20px 8px;
  border-bottom: solid #c7d5e0 2px;
  margin-bottom: 56px;
}

.r_mono_item_desc{
  font-size: 15px;
  line-height: 2.6rem;
  margin-top: 8px;
}

.r_mono_img_wrap{
  width: 26%;
  min-width: 320px;
  margin-left: 64px;
}

.r_mono_img_wrap img{
  width: 100%;
  border-radius: 8px;
  object-fit: cover;
}


/*------------ sp ------------*/

@media (max-width: 899px){
  .r_business_text{
    text-align: center;
    margin-bottom: 72px;
  }
  
  .r_business_text_lg{
    font-size: 18px;
    line-height: 3.6rem;
    text-align: center;
    margin-bottom: 32px;
  }
  
  .r_solution,
  .r_mono{
    text-align: center;
    margin-bottom: 40px;
  }
  
  .r_solution h4{
    display: inline-block;
    font-size: 20px;
    padding: 0 12px 8px;
    border-bottom: solid #c7d5e0 2px;
    margin-bottom: 40px;
  }
  
  /*デジタルソリューション*/
  .r_solution_cont{
    margin-top: 48px;
  }
  
  .r_solution_item{
    display: block;
    flex-direction: none;
    text-align: left;
    margin-bottom: 56px;
    align-items: center;
  }

  .r_solution_text_wrap{
    margin-top: 0;
    flex: 1;
    min-width: 0;
  }
  
  .r_solution_item h5{
    font-size: 18px;
    margin-bottom: 8px;
    font-weight: 600;
  }
  
  .r_solution_item_lead{
    font-size: 15px;
    font-weight: 600;
    margin-bottom: 16px;
  }
  
  .r_solution_item_desc{
    font-size: 15px;
    line-height: 2.6rem;
  }
  
  .r_solution_img_wrap{
    width: 100%;
    min-width: none;
    margin-right: 0;
  }

  .r_solution_img_wrap img{
    width: 100%;
    max-width: 560px;
    margin: 24px auto 0;
    border-radius: 8px;
    object-fit: cover;
  }
  
  /*ものづくり*/
  .r_mono{
    margin-top: 56px;
  }

  .r_mono_cont{
    display: block;
    text-align: left;
    margin-bottom: 0;
    align-items: none;
  }

  .r_mono h4{
    display: inline-block;
    font-size: 20px;
    padding: 0 12px 8px;
    border-bottom: solid #c7d5e0 2px;
    margin-bottom: 40px;
  }

  .r_mono_img_wrap{
    width: 100%;
    min-width: none;
    margin-left: 0;
  }
  
  .r_mono_item_desc{
    font-size: 15px;
    line-height: 2.6rem;
    margin-top: 8px;
  }
  
  .r_mono_img_wrap img{
    width: 100%;
    max-width: 560px;
    margin: 24px auto 0;
    border-radius: 8px;
    object-fit: cover;
  }
}





/*------------------------------------
Data
------------------------------------*/

.r_data_cont{
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  max-width: 900px;
  justify-content: center;
  margin: 0 auto;
}

.r_data_item{
  width: 260px;
  height: 260px;
  border: solid 2px #c7d5e0;
  border-radius: 8px;
  text-align: center;
}

.r_data_item img{
  width: 50%;
  margin: 24px auto 16px;
}

.r_data_item p{
  font-size: 14px;
}

.r_data_item p span{
  font-size: 24px;
  font-weight: 700;
}


/*------------ sp ------------*/

@media (max-width: 899px){
  .r_data_cont{
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 12px;
    width: 100%;
    max-width: 372px;
    justify-content: center;
    margin: 0 auto;
  }

  .r_data_item{
    width: 100%;
    height: 100%;
    max-width: 180px;
    max-height: 180px;
    border: solid 2px #c7d5e0;
    border-radius: 8px;
    text-align: center;
  }
  
  .r_data_item img{
    width: 44%;
    margin: 12px auto 8px;
  }
  
  .r_data_item p{
    font-size: 14px;
    padding-bottom: 12px;
  }
  
  .r_data_item p span{
    font-size: 20px;
    font-weight: 600;
  }
}





/*------------------------------------
Culture
------------------------------------*/

.r_cul_cont{
  display: grid;
  grid-template-columns: repeat(auto-fit, 256px);
  gap: 56px 40px;
  justify-content: center;
}

.r_cul_item{
  width: 256px;
  text-align: center;
}

.r_cul_item img{
  width: 100px;
  margin: 0 auto 16px;
}

.r_cul_item p span{
  display: block;
  margin-top: 16px;
  font-size: 14px;
  line-height: 24px;
}

.r_cul_item p span a{
  border-bottom: solid #c7d5e0 2px;
  transition: opacity 0.3s ease;
}

.r_cul_item p span a:hover{
  opacity: 0.6;
}


/*------------ sp ------------*/

@media (max-width: 899px){
  .r_cul_cont{
    display: grid;
    grid-template-columns: repeat(auto-fit, 256px);
    gap: 40px;
    justify-content: center;
  }
  
  .r_cul_item{
    width: 256px;
    text-align: center;
  }
  
  .r_cul_item img{
    width: 100px;
    margin: 0 auto 16px;
  }
  
  .r_cul_item p span{
    display: block;
    margin-top: 8px;
    font-size: 14px;
    line-height: 24px;
  }
  
  .r_cul_item p span a{
    border-bottom: solid #c7d5e0 2px;
    transition: opacity 0.3s ease;
  }
  
  .r_cul_item p span a:hover{
    opacity: 0.6;
  }
}





/*------------------------------------
Job List
------------------------------------*/

.r_index_job p.yugo{
  text-align: center;
  margin-bottom: 72px;
}

.r_index_job_cont{
  margin-bottom: 40px;
}

.r_index_job_item{
  position: relative;
  width: 800px;
  margin: 0 auto;
  border-bottom: solid #c7d5e0 2px;
}

.r_index_job_item::after{
  content: "";
  display: inline-block;
  margin-left: 8px;
  border-left: 12px solid #333;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  position: absolute;
  top: 47%;
  left: 92%;
  transition: left 0.3s ease;
}

.r_index_job_item:hover::after{
  left: 93.4%;
}

.r_index_job_item p{
  text-align: left;
}

.r_index_job_item a{
  position: relative;
}

.r_index_job_text{
  padding: 48px;
}

.r_index_job_type{
  font-size: 20px;
  font-weight: 500;
  margin-bottom: 24px;
}

.r_index_job_type span{
  font-size: 14px;
}


/*------------ sp ------------*/

@media (max-width: 899px){
  .r_index_job p.yugo{
    text-align: center;
    margin-bottom: 32px;
  }
  
  .r_index_job_cont{
    margin-bottom: 40px;
  }
  
  .r_index_job_item{
    position: relative;
    width: 100%;
    max-width: 560px;
    margin: 0 auto;
    border-bottom: solid #c7d5e0 2px;
  }
  
  .r_index_job_item::after{
    content: "";
    display: inline-block;
    margin-left: 8px;
    border-left: 12px solid #333;
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    position: absolute;
    top: 47%;
    left: 88%;
    transition: left 0.3s ease;
  }
  
  .r_index_job_item p{
    text-align: left;
  }
  
  .r_index_job_item a{
    position: relative;
  }
  
  .r_index_job_text{
    padding: 24px;
  }
  
  .r_index_job_type{
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 0;
  }
  
  .r_index_job_type span{
    font-size: 14px;
  }
}





/*------------------------------------
CTA
------------------------------------*/

.r_cta{
  position: relative;
  width: 100%;
  height: 400px;
}

.r_cta_wrap::after{
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(rgba(0, 0, 0, 0.65), rgba(0, 0, 0, 0.65)), url(../images/ph05.jpg) center / cover no-repeat;
  z-index: -1;
}

.r_cta_cont{
  display: flex;
  position: relative;
  z-index: 100;
  justify-content: center;
  height: 400px;
}

.r_cta_cont::before{
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 1px;
  height: 160px;
  background: #fff;
}

.r_cta_item{
  margin: auto 0;
  padding: 5% 14%;
}

.r_cta_text{
  margin-bottom: 48px;
}

.r_cta_text .jost.w{
  font-size: 40px;
  text-align: center;
  line-height: 40px;
  font-weight: 400;
}

.r_cta_text .jost.w span{
  font-size: 16px;
  font-weight: 300;
}

/* btn */
.r_index_btn{
  text-align: right;
}

.r_index_btn_a, 
a.r_index_btn_a,
button.r_index_btn_a {
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 2rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #fff;
  border-radius: 0.5rem;
  font-family: "Libre Caslon Text","游明朝体";
}

a.r_index_btn_svg {
  font-weight: 400;
  line-height: 54px;
  width: 204px;
  height: 54px;
  padding: 0;
  cursor: pointer;
  text-decoration: none;
  background-color: transparent;
}

a.r_index_btn_svg svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

a.r_index_btn_svg svg rect {
  -webkit-transition: all 400ms ease;
  transition: all 400ms ease;
  stroke: #fff;
  stroke-width: 1px;
  stroke-dasharray: 200px, 16px;
  stroke-dashoffset: 70px;
}

a.r_index_btn_svg:hover svg rect {
  stroke-dashoffset: 284px;
}

a.r_index_btn_svg span {
  color: #fff;
}



/*------------ sp ------------*/

@media (max-width: 899px){
  .r_cta{
    width: 100%;
    height: 552px;
    position: relative;
  }

  .r_cta_wrap::after{
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 552px;
    background: linear-gradient(rgba(0, 0, 0, 0.65), rgba(0, 0, 0, 0.65)), url(../images/ph05.jpg) 82% bottom / cover no-repeat;
    z-index: -1;
  }

  .r_cta_cont{
    display: block;
    z-index: 100;
    height: 100%;
    padding-bottom: 80px;
  }

  .r_cta_cont::before{
    content: none;
  }

  .r_cta_item{
    margin: auto 0;
    padding: 80px 0 0;
  }

  .r_cta_text{
    margin-bottom: 36px;
  }

  .r_cta_text .jost.w{
    font-size: 32px;
    text-align: center;
    line-height: 32px;
    font-weight: 400;
  }

  .r_cta_text .jost.w span{
    font-size: 14px;
    font-weight: 300;
  }

  /* btn */
  .r_index_btn{
    text-align: center;
  }

  .r_index_btn_a, 
  a.r_index_btn_a,
  button.r_index_btn_a {
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.5;
    position: relative;
    display: inline-block;
    padding: 1rem 2rem;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    letter-spacing: 0.1em;
    color: #fff;
    border-radius: 0.5rem;
    font-family: "Libre Caslon Text","游明朝体";
  }

  a.r_index_btn_svg {
    font-weight: 400;
    line-height: 54px;
    width: 204px;
    height: 54px;
    padding: 0;
    cursor: pointer;
    text-decoration: none;
    background-color: transparent;
  }

  a.r_index_btn_svg svg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }

  a.r_index_btn_svg svg rect {
    -webkit-transition: all 400ms ease;
    transition: all 400ms ease;
    stroke: #fff;
    stroke-width: 1px;
    stroke-dasharray: 200px, 16px;
    stroke-dashoffset: 70px;
  }

  a.r_index_btn_svg:hover svg rect {
    stroke-dashoffset: 284px;
  }

  a.r_index_btn_svg span {
    color: #fff;
  }
}





/*------------------------------------------------------
Members Voice
------------------------------------------------------*/

/*----------------------------------------
Voice一覧
----------------------------------------*/

.v_list_wrap{
  margin: 144px auto;
}

.v_list_cont{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
}

.v_list_item{
  width: 100%;
  min-width: 400px;
  height: auto;
}

.v_list_item a{
  display: block;
  position: relative;
}

.v_list_item img{
  object-fit: cover;
  border-radius: 8px;
}

.v_list_item a{
  transition: transform 0.3s ease;
  will-change: transform;
}

.v_list_item a:hover{
  transform: scale(1.03);
}

.v_list_text{
  position: absolute;
  top: 10%;
  left: 8%;
  width: 60%;
}

.v_list_ttl{
  font-size: 16px;
  line-height: 2.5rem;
  margin-bottom: 16px;
}

.v_list_gr{
  font-size: 14px;
  line-height: 2.4rem;
  margin-bottom: 8px;
}

.v_list_name{
  font-size: 14px;
  line-height: 1.4rem;
  margin-bottom: 24px;
}

.v_vm{
  display: inline;
  padding: 0 2px 4px;
  border-bottom: solid 2px #c7d5e0;
}

.v_list_arrow{
  content: "";
  display: inline-block;
  margin-left: 8px;
  border-left: 9px solid #333;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
}


@media(max-width:899px){
  .v_list_wrap{
    margin: 72px auto;
  }

  .v_list_cont{
    display: block;
    gap: 0;
    width: 100%;
    max-width:440px;
    justify-content: center;
  }
  
  .v_list_item{
    width: 100%;
    min-width: 0;
    max-width: 440px;
    height: auto;
    margin-bottom: 24px;
  }
  
  .v_list_item a{
    display: block;
    position: relative;
  }
  
  .v_list_item img{
    object-fit: cover;
    border-radius: 8px;
  }
  
  .v_list_item a{
    transition: none;
  }
  
  .v_list_item a:hover{
    transform: none;
  }
  
  .v_list_text{
    position: absolute;
    top: 5%;
    left: 5%;
    width: 70%;
  }
  
  .v_list_ttl{
    font-size: 16px;
    line-height: 2.4rem;
    margin-bottom: 16px;
  }
  
  .v_list_gr{
    font-size: 14px;
    line-height: 2.2rem;
    margin-bottom: 4px;
  }
  
  .v_list_name{
    font-size: 12px;
    line-height: 1.4rem;
    margin-bottom: 16px;
  }
  
  .v_vm{
    display: inline;
    padding: 0 2px 4px;
    border-bottom: solid 2px #c7d5e0;
  }
}





/*----------------------------------------
Voice詳細
----------------------------------------*/

/*----- MV -----*/
.v_mv_wrap{
  width: 100%;
  height: 600px;
  position: relative;
  margin-top: 80px;
}

/*MV個別*/
.v_mv_wrap.mem_01::after{
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 70%;
  height: 600px;
  background: url(../images/_recruit/voice/01/voice_mv.jpg) top center / cover no-repeat;
  z-index: -1;
}

.v_mv_wrap.mem_02::after{
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 70%;
  height: 600px;
  background: url(../images/_recruit/voice/02/voice_mv.jpg) top left / cover no-repeat;
  z-index: -1;
}

.v_mv_wrap.mem_03::after{
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 70%;
  height: 600px;
  background: url(../images/_recruit/voice/03/voice_mv.jpg) top / cover no-repeat;
  z-index: -1;
}

.v_mv_wrap.mem_04::after{
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 70%;
  height: 600px;
  background: url(../images/_recruit/voice/04/voice_mv.jpg) top left / cover no-repeat;
  z-index: -1;
}

.v_mv_wrap.mem_05::after{
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 70%;
  height: 600px;
  background: url(../images/_recruit/voice/05/voice_mv.jpg) top / cover no-repeat;
  z-index: -1;
}

.v_mv_wrap.mem_06::after{
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 70%;
  height: 600px;
  background: url(../images/_recruit/voice/06/voice_mv.jpg) top / cover no-repeat;
  z-index: -1;
}

.v_mv_wrap.mem_07::after{
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 70%;
  height: 600px;
  background: url(../images/_recruit/voice/07/voice_mv.jpg) top left / cover no-repeat;
  z-index: -1;
}

.v_mv_cont{
  display: inline-block;
  padding: 56px;
  margin-left: 10%;
  margin-top: 136px;
  background: linear-gradient(
    to right,
    rgba(255,255,255,0.88) 0%,
    rgba(255,255,255,0.88) 70%,
    rgba(255,255,255,0.0) 100%
  );
}

.v_mv_cont h1{
  font-size: 24px;
  line-height: 4.0rem;
  font-weight: 700;
  margin-bottom: 24px;
}

.v_mv_gr{
  margin-bottom: 8px;
}

.v_mv_name{
  font-size: 14px;
}

/*----- content -----*/
.v_wrap{
  margin: 144px auto;
  width: 80%;
  max-width: 1400px;
}

.v_cont{
  margin-bottom: 112px;
}

.v_flex{
  display: flex;
  gap: 4%;
}

.v_rr{
  flex-direction: row-reverse;
}

.v_cont_text{
  width: 45%;
  height: 100%;
  display: inline-block;
  margin: auto 0;
}

.v_cont_text h2{
  font-size: 20px;
  line-height: 3.4rem;
  font-weight: 700;
  margin-bottom: 24px;
}

.v_cont_text p{
  line-height: 3.0rem;
}

.v_cont img{
  width: 51%;
  height: 100%;
  object-fit: cover;
  border-radius: 8px;
}

/* other interview */
.v_other{
  width: 100%;
  margin: 144px auto;
}

.v_other h3{
  font-size: 20px;
  padding-bottom: 16px;
  border-bottom: solid 2px #c7d5e0;
  text-align: center;
  margin-bottom: 64px;
}

.v_other_wrap {
  display: flex;
  padding: 0;
  flex-wrap: wrap;
  gap: 32px;
  justify-content: center;
}

.v_other_item a{
  display: flex;
  width: 400px;
  height: 140px;
}

.v_other_text{
  margin: 16px 0 auto 24px;
}

.v_other_item img{
  transition: transform 0.3s ease;
}

.v_other_item a:hover img{
  transform: scale(1.06);
}

.v_other_item img{
  width: 140px;
  height: 140px;
  border-radius: 8px;
}

.v_other_text .name{
  font-size: 14px;
}


@media(max-width:899px){
  /*----- MV -----*/
  .v_mv_wrap{
    width: 100%;
    height: auto;
    position: relative;
    margin: 80px auto 0;
  }

  /*MV個別*/
.v_mv_wrap.mem_01::after{
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 400px;
  background: url(/images/_recruit/voice/01/voice_mv.jpg) top right / cover no-repeat;
  z-index: -1;
}

.v_mv_wrap.mem_02::after{
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 400px;
  background: url(/images/_recruit/voice/02/voice_mv.jpg) top left / cover no-repeat;
  z-index: -1;
}

.v_mv_wrap.mem_03::after{
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 400px;
  background: url(/images/_recruit/voice/03/voice_mv.jpg) top / cover no-repeat;
  z-index: -1;
}

.v_mv_wrap.mem_04::after{
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 400px;
  background: url(/images/_recruit/voice/04/voice_mv.jpg) top / cover no-repeat;
  z-index: -1;
}

.v_mv_wrap.mem_05::after{
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 400px;
  background: url(/images/_recruit/voice/05/voice_mv.jpg) top / cover no-repeat;
  z-index: -1;
}

.v_mv_wrap.mem_06::after{
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 400px;
  background: url(/images/_recruit/voice/06/voice_mv.jpg) top / cover no-repeat;
  z-index: -1;
}

.v_mv_wrap.mem_07::after{
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 400px;
  background: url(/images/_recruit/voice/07/voice_mv.jpg) top / cover no-repeat;
  z-index: -1;
}

.v_mv_cont{
  display: inline-block;
  padding: 0 5%;
  margin: 440px 0 0 0;
  background: none;
}

  .v_mv_cont h1{
    font-size: 20px;
    line-height: 3.4rem;
    font-weight: 600;
    margin-bottom: 16px;
  }

  .v_mv_gr{
    margin-bottom: 8px;
  }

  .v_mv_name{
    font-size: 14px;
  }

  /*----- content -----*/
  .v_wrap{
    margin: 56px auto 72px;
    width: 90%;
    max-width: 90%;
  }

  .v_cont{
    margin-bottom: 64px;
  }

.v_flex{
  display: block;
  gap: 0;
}

  .v_rr{
    flex-direction: none;
  }

  .v_cont_text{
    width: 100%;
    height: 100%;
    display: inline-block;
    margin: 0 0 32px;
  }

  .v_cont_text h2{
    font-size: 18px;
    line-height: 3.2rem;
    font-weight: 700;
    margin-bottom: 16px;
  }

  .v_cont_text p{
    font-size: 15px;
    line-height: 3.0rem;
  }

  .v_cont img{
    width: 100%;
    max-width: 640px;
    height: auto;
    border-radius: 8px;
    margin: 0 auto;
  }

  /* other interview */
  .v_other{
    width: 100%;
    margin: 120px auto;
  }

  .v_other h3{
    font-size: 20px;
    padding-bottom: 16px;
    border-bottom: solid 2px #c7d5e0;
    text-align: center;
    margin-bottom: 56px;
  }

  .v_other_wrap{
    display: flex;
    width: 100%;
    margin: 0 auto;
    padding: 0;
    flex-wrap: wrap;
    gap: 16px;
  }

  .v_other_item{
    display: flex;
    width: 320px;
    height: 100px;
  }

  /*.v_other_item{
    margin-bottom: 16px;
  }*/

  .v_other_item a{
    transition: none;
  }

  .v_other_item a:hover{
    transform: none;
  }

  .v_other_item img{
    width: 100px;
    height: 100px;
    border-radius: 8px;
  }

  .v_other_text{
    font-size: 14px;
    line-height: 2.0rem;
    margin: 8px 0 auto 24px;
  }

  .v_other_text .name{
    font-size: 12px;
    margin-top: 8px;
  }
}







/*------------------------------------------------------
job list
------------------------------------------------------*/

.j_wrap{
  text-align: center;
}

.j_cont{
  width: 90%;
  max-width: 1080px;
  margin: 0 auto;
}

.j_text{
  margin: 0 auto 96px;
}

.j_text h2{
  font-size: 24px;
  text-align: center;
  margin-bottom: 16px;
}

.j_position{
  text-align: center;
  margin-bottom: 24px;
}

.j_position span{
  margin-left: 24px;
}

.j_detail{
  text-align: left;
}

/* 募集要項 */
.j_desc{
  text-align: center;
}

.j_desc h3{
  display: inline-block;
  font-size: 20px;
  font-weight: 600;
  text-align: center;
  margin: 0 auto 56px;
  padding: 0 12px 4px;
  border-bottom: solid 2px #c5d7e0;
}

.j_desc table{
  width: 100%;
  margin-bottom: 96px;
  text-align: left;
}

.j_desc table th,
.j_desc table td{
  border-bottom: solid 1px #999;
}

.j_desc table th{
  width: 30%;
  padding: 32px 56px;
  vertical-align: top;
  text-align: left;
}

.j_desc table td{
  width: 70%;
  padding: 32px 56px 32px 0;
}

ul.j_dot li{
  position: relative;
  padding-left: 16px;
}

ul.j_dot li::before{
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
}

ul.j_sq li{
  position: relative;
  padding-left: 20px;
}

ul.j_sq li::before{
  content: "■";
  position: absolute;
  top: 0;
  left: 0;
}

/* 条件/待遇 */
.j_req{
  text-align: center;
}

.j_req h3{
  display: inline-block;
  font-size: 20px;
  font-weight: 600;
  text-align: center;
  margin: 0 auto 56px;
  padding: 0 12px 4px;
  border-bottom: solid 2px #c5d7e0;
}

.j_req table{
  width: 100%;
  margin-bottom: 96px;
  text-align: left;
}

.j_req table th,
.j_req table td{
  border-bottom: solid 1px #999;
}

.j_req table th{
  width: 30%;
  padding: 32px 56px;
  vertical-align: top;
  text-align: left;
}

.j_req table td{
  padding: 32px 56px 32px 0;
}

.j_req table td a{
  padding: 0 2px 2px;
  border-bottom: solid 2px #c5d7e0;
  transition: opacity 0.3s ease;
}

.j_req table td a:hover{
  opacity: 0.6;
}

/* 応募btn */
.j_btn a{
  font-size: 20px;
  display: inline-block;
  text-align: center;
  width: 50%;
  padding: 24px 80px;
  border: solid 1px #999;
  transition: transform 0.3s ease;
}

.j_btn a:hover{
  transform: scale(1.04);
}

/*---------- SP ----------*/
@media(max-width:899px){
  .j_cont{
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
  }
  
  .j_text{
    margin: 0 auto 56px;
  }
  
  .j_text h2{
    font-size: 20px;
    line-height: 3.2rem;
    text-align: center;
    margin-bottom: 16px;
  }
  
  .j_position{
    font-size: 14px;
    line-height: 2.2rem;
    text-align: center;
    margin-bottom: 24px;
  }
  
  .j_position span{
    margin-left: 0;
  }
  
  /* 募集要項 */
  .j_desc{
    text-align: center;
  }
  
  .j_desc h3{
    display: inline-block;
    font-size: 18px;
    font-weight: 600;
    text-align: center;
    margin: 0 auto 24px;
    padding: 0 12px 2px;
    border-bottom: solid 2px #c5d7e0;
  }

  .j_desc table,
  .j_desc table tbody,
  .j_desc table tr,
  .j_decs table th,
  .j_desc table td{
    display: block;
    width: 100%;
    text-align: left;
  }
  
  .j_desc table{
    margin-bottom: 64px;
  }
  
  .j_desc table th{
    display: block;
    width: 100%;
    border-bottom: none;
    padding: 24px 8px 0;
    color: #666;
  }

  .j_desc table td{
    font-size: 15px;
    padding: 16px 8px 24px;
    border-bottom: solid 1px #999;
  }
  
  ul.j_dot li::before{
    content: "・";
  }
  
  ul.j_sq li::before{
    content: "■";
  }
  
  /* 条件/待遇 */
  .j_req{
    text-align: center;
  }
  
  .j_req h3{
    display: inline-block;
    font-size: 18px;
    font-weight: 600;
    text-align: center;
    margin: 0 auto 24px;
    padding: 0 12px 2px;
    border-bottom: solid 2px #c5d7e0;
  }

  .j_req table,
  .j_req table tbody,
  .j_req table tr,
  .j_req table th,
  .j_req table td{
    display: block;
    width: 100%;
    text-align: left;
  }
  
  .j_req table{
    margin-bottom: 64px;
  }

  /*.j_req table tbody{
    display: block;
    width: 100%;
  }

  .j_req table tr{
    display: block;
    width: 100%;
  }*/
  
  .j_req table th{
    /*display: block;
    width: 100%;*/
    border-bottom: none;
    padding: 24px 8px 0;
    color: #666;
  }

  .j_req table td{
    /*display: block;
    width: 100%;*/
    font-size: 15px;
    padding: 16px 8px 24px;
    border-bottom: solid 1px #999;
  }

  /* 応募btn */
  .j_btn a{
    font-size: 18px;
    display: inline-block;
    text-align: center;
    width: 90%;
    padding: 20px 64px;
    border: solid 1px #999;
    transition: none;
  }

  .j_btn a:hover{
    transform: none;
  }
}




