﻿/* <!-- ↓↓ add20230718 form追加スタイル ↓↓ --> */

.form_ttl h3{
  font-size: 14px;
}

.form{
  width: 100%;
}

.form_item{
  display: flex;
  margin: 0 0 30px;
}

.form .form_item p{
  margin: 0;
}

.form_ttl{
  width: 210px;
}

.content{
  width: 100%;
}

.form input{
  height: 35px;
  max-width: 500px;
  width: 100%;
  font-size: 16px;
}

.cnt_item{
  width: 100%;
  margin: 0 0 15px;
}

.is-required{
  color: #CC0000;
}

.form_box_before, .form_box_after{
  width: fit-content;
  color: #996666;
}

.input-desc{
  display: block;
  width: 100%;
}

.kanji_name input{
  max-width: 450px;
  width:100%;
  margin-left: 20px;
}
.kana_name input{
  max-width: 450px;
  width:100%;
  margin-left: 10px;
}
.company_name input{
  max-width: 600px;
  width:100%;
}
.contact_address input{
  max-width: 500px;
  width:100%;
}
.contact_address select{
  width: 90px;
  height: 35px;
}
.form .detail textarea{
  max-width: 600px;
  width: 100%;
    padding: 2px;
    line-height: 1.5;
    font-size: 16px;
}

.sec04 .form_ttl{
  margin: 0 0 12px;
}

.personal_txt{
  margin: 0 0 40px;
}

.form-btn {
  text-align: center;
}

.form-btn .btn{
  width: 248px;
  padding: 12px 0;
  background-color: #144E94;
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  margin: 0 auto;

}

.form-btn .btn span{
  position: relative;
  padding-left: 15px;
}

.form-btn .btn span::before{
  content: ">";
  font-size: 20px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

.confirm .form_item{
  margin: 0 0 20px;
}

.confirm .cnt_item{
  margin: 0;
}
.confirm .content{
  margin: 0;
}

.thanks .btn span::before{
  content: "<";
}

.send .form-btn-confirm{
 border: none;
 margin: 0;
 cursor: pointer;
}
.send .input_wrap{
 width: fit-content;
 margin: 0 auto;
 position: relative;
}

.send .input_wrap::before{
  content: ">";
  font-size: 20px;
  position: absolute;
  left: 75px;
  top: 47%;
  transform: translateY(-50%);
  color: #fff;
}

@media screen and (max-width: 1000px){

  .kanji_name input{
    max-width: 400px;
    width:70%;
  }
  
  .kana_name input{
    max-width: 400px;
    width:70%;
  }
  .company_name input{
    max-width: 500px;
    width:100%;
  }
  
  .contact_address input,
   #mail3,#cmail3,
   .tel input{
    max-width: 450px;
    width:80%;
  }
  
  .contact_address select{
    width: 90px;
    height: 35px;
  }
  
  .form .detail textarea{
    max-width: 600px;
    width: 100%;
  }
  .form-btn {
    margin: 0 0 90px;
  }
}
@media screen and (max-width: 750px){
  .form_item{
    display: block;
  }
  .form_box_before{
    display: block;
  }
  .kanji_name input{
    width:80%;
    margin-left: 0;
  }
  
  .kana_name input{
    width:80%;
    margin-left: 0;
  }
  .form_ttl{
    width: 100%;
    margin: 0 0 12px;
  }
  .content{
    padding:0 15px;
  }
}


/*230725 add*/
.ta-c img, .ta-r img{display:inline-block;}
.col2{
    display: flex;
    gap: 60px
}
@media screen and (max-width: 750px){
    .col2{
        flex-direction: column;
        gap: 10px;
    }
    .col2.reverse{
        flex-direction: column-reverse;
    }
}
.col3{
  gap: 36px;
}

/* <!-- ↓↓ recruit top add20230725_shimazu ↓↓ --> */

.rec_mv{
  position: relative;
}

.mv_img_mb{
  display: none;
}

.rec_mv .mv_message{
  color: #fff;
  position: absolute;
  bottom: 20px;
  left: 20px;
  font-size: 36px;
  font-weight: bold;
  line-height: 45px;
}

.rec_mv .mv_message p{
  margin: 0 0 10px;
  text-shadow: 0 0 10px #000;
}

.mv_message img {
  width: 220px;
  filter: drop-shadow(0 0 10px #000)
}

.sec02_txt{
  text-align: center;
}

.sec02_txt .sec_ttl{
  font-size: 18px;
  font-weight: bold;
  margin: 0 0 15px;
}
.sec02_txt .sec_subttl{
  font-size: 18px;
  margin: 0 0 15px;
}

#recruit_top .sec03 .col3{
  gap: 36px;
  padding: 0;
  margin: 0 0 45px;
}

#recruit_top .sec03 .item{
  display: block;
  position: relative;
}

#recruit_top .sec03  h3{
  color: #fff;
  font-size: 18px;
  line-height: 29px;
  font-weight: bold;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  text-align: center;
  text-shadow: 0 0 2px #000;
}

.recruit_info{
  justify-content: center;
  gap: 130px;
  padding: 0;
}

.recruit_info a{
  display: block;
  color: #000;
  border: solid 1px ;
  padding: 20px 0 21px;
  width: 250px;
  font-size: 18px;
  text-align: center;
  font-weight: bold;
}

.recruit_info a:last-child{
  margin-right: 0;
}

@media screen and (max-width: 1000px){
  #recruit_top .sec03 .col3{
    display: flex;
  }
  .recruit_info{
    display: flex;
  }
}

@media screen and (max-width: 750px){

  .mv_img_pc{
    display: none;
  }
  .mv_img_mb{
    display: block;
    width:100%;
  }
  #recruit_top .sec03 .col3{
    display: block;
  }
  #recruit_top .sec03 .item{
    max-width: 230px;
    width: 100%;
    margin: 0 auto 30px;
  }
  .recruit_info{
    display: block;
  }
  .recruit_info a{
    max-width: 250px;
    width: 100%;
    margin: 0 auto 30px; 
  }
  .recruit_info a:last-child{
    margin: 0 auto;
  }
  #recruit_top .page_head{
    font-size: 30px;
  }
  .rec_mv .mv_message{

    text-align: center;
    left: 0;
    right: 0;
    bottom: 50%;
    transform: translateY(50%);
    margin: 0;
  }
  .mv_message img{
    margin: 0 auto;
    width: 170px;
  }
}


@media screen and (max-width: 350px){
  .rec_mv .mv_message{
    font-size: 25px;
    line-height: 31px;
  }
}

/* <!-- ↑↑ recruit top add20230725_shimazu ↑↑ --> */

/* <!-- ↓↓ 仕事紹介 add20230725 ↓↓ --> */
#job_introduction section img{
  width: 100%;
}

#job_introduction h2{
  background-image: url(/cms/corestaff/img/recruit/job_introduction/ttl_bg.png);
  background-size: cover;
  background-position: center center;
  color: #fff;
  padding: 20px 8px;
  font-size: 30px;
  font-weight: bold;
  line-height: 1.2;
  margin: 0 0 50px;
}
#job_introduction h2 span{
  font-size: 24px;
  font-weight: normal;
}

.team_image{
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 0 32px;
}

.team_item{
  width:300px ;
  position: relative;
}
.team_item figcaption{
  text-align: center;
  color: #000;
  color: #000;
  text-shadow:1px 1px 0 #FFF, -1px -1px 0 #FFF,
              -1px 1px 0 #FFF, 1px -1px 0 #FFF,
              0px 1px 0 #FFF,  0 -1px 0 #FFF,
              -1px 0 0 #FFF, 1px 0 0 #FFF;
              position: absolute;
  font-weight: bold;
}
.outside figcaption{
top: 42px;
left: 26px;
}
.inside figcaption{
top: 42px;
right: 26px;
}
.team_image .plus{
  width: 45px;
  height: 5px;
  background-color: #000;
  position: relative;
}
.team_image .plus::after{
  content: "";
  height: 45px;
  width: 5px;
  background-color: #000;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  margin: 0 auto;
  transform: translateY(-50%);
}

.team_support{
  display: flex;
  align-items: center;
  margin: 10px 0 10px 40px;
}

#job_introduction .team_support img {
  width: 15px;
  margin-right: 10px;
}

.team_support p{
  font-size: 21px;
  color: #fff;
}

.flow01{
  max-width: 800px;
  background-color: #29ABE2;
  border-radius: 10px;
  padding: 15px 32px;
  margin: 0 auto;
  width: 100%;
}
.flow02{
  max-width: 800px;
  margin: 0 auto;
  width: 100%;
}

.flow_item{
  max-width: 740px;
  position: relative;
}

.flow_item .item_cnt{
  position: absolute;
  top: 5px;
  right: 15px;
}

.flow01 .item_cnt .cnt_txt{
  font-size: 14px;
  display: flex;
  margin: 0;
}

.flow01 .left{
  margin: 0 0 0 14px;
  width: 220px;
}

.flow_item .head::before{
  content: "◆";
  position: absolute;
  left: -15px;
}

.flow_item .left p::before{
  content: '★';
  position: absolute;
  left: 0;
}

.flow_item  ul li{
  list-style-type: circle;
  list-style: inside;
  margin-left: 14px;
}
.flow_item_tab{
  display: none;
}
.flow_item_sp{
  display: none;
}

#job_introduction h3.page_head{
  font-size: 18px;
  padding: 0 0 15px;
  border-bottom: solid 8px #E2E2E2;
  text-align: left;
}

.job_link{
  justify-content: center;
  gap: 40px;
}

.job_link .job_btn a{
  display: block;
  color: #333;
  font-size: 18px;
  font-weight: bold;
  width: 212px;
  text-align: center;
  padding: 15px 0;
  border: solid 1px #5F5F5F;
  border-radius: 22px;
  transition: .3s;
}

.job_link .job_btn a:hover{
  background-color: #000;
  color: #fff;
}

@media screen and (max-width: 1000px){
  .team_item{
    width: 247px;
  }
  .team_image .plus{
    width: 37px;
  }
  .team_image .plus::after{
    height: 37px;
  }
  .flow_item_pc{
    display: none;
  }
  .flow_item_tab{
    display:block;
  }
  .flow01 .left{
    width: 170px;
  }
  .job_link{
    display: flex;
  }
  .job_link .job_btn a{
    width: 186px;
  }
}

@media screen and (max-width: 750px){
  .team_item{
    width: 42%;
  }
  .team_item figcaption{
    font-size: 6px;
   line-height: 1.2;
  }
  .outside figcaption {
    top: 10px;
    left: 6px;
}
.inside figcaption {
  top: 10px;
  right: 6px;
}

  .team_image .plus{
    width: 17px;
    height: 2px;
  }
  .team_image .plus::after{
    height: 17px;
    width: 2px;
  }

  .flow_item_tab{
    display: none;
  }
  #job_introduction .flow_item_sp{
    display: block;
    width: 218px;
    margin: 0 0 10px;
  }
  .flow_item .item_cnt{
    position: static;
    background-color: #fff;
    padding: 16px 0;
  }
  .flow01 .item_cnt .head{
    margin-left: 14px;
  }
  .flow_item .head::before {
    left: -1px;
  }
  
  .job_link{
    display: block;
  }
  .job_link .job_btn a{
    margin: 0 auto 35px;
  }
  #job_introduction .item_cnt .flow_item_sp{
    width: fit-content;
    margin: 0 0 0 auto;
  }
  #job_introduction .flow02 .flow_item_sp{
    width: 100%;
  }
  
}
/* <!-- ↑↑ 仕事紹介 add20230725 ↑↑ --> */


/* <!-- ↓↓ 職種紹介 add20230728 ↓↓ --> */
.sec01 .job_mv p{
  margin: 0;
}

#occupation .col_left .flex_col{
  padding: 0;
}

.job_link{
  flex-wrap: wrap;
}

h2.job_sec_head{
  /* background-image: url(../img/recruit/job_introduction/ttl_bg.png); */
  background-size: cover;
  background-position: center center;
  color: #fff;
  padding: 20px 8px;
  font-size: 30px;
  font-weight: bold;
  line-height: 1.2;
  margin: 0 0 72px;
}
h2.job_sec_head span{
  font-size: 24px;
  font-weight: normal;
}

.job_mv{
  position: relative;
  margin: 0 0 65px;
}
.job_mv .mv_ttl{
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  margin: auto;
  transform: translateY(-50%);
  text-align: center;
  color: #fff;
  text-shadow: 0 0 10px #000;
}

.job_mv .mv_ttl .main{
  font-size: 36px;
  font-weight: bold;
  margin: 0 0 24px;
}

.job_mv .mv_ttl .sub{
  font-size: 18px;
  line-height: 31px;
}

.job_link{
  gap: 40px 35px;
  padding: 0;
}
.job_link .job_btn{
  margin: 0;
}

#occupation .outside_head{
  background-image: url(/cms/corestaff/img/recruit/outside/ttl_bg.png);
}
#occupation .inside_head{
  background-image: url(/cms/corestaff/img/recruit/inside/ttl_bg.png);
}
#occupation .warehouse_head{
  background-image: url(/cms/corestaff/img/recruit/warehouse/ttl_bg.png);
}

#occupation .sec02 img{
  width: 358px;
}
#occupation .sec02 p{
  font-size: 14px;
  line-height: 35px;
  margin-top: -.5rem;
}

#occupation .col2{
  gap: 25px;
}

.job_workflow .cnt{
  max-width: 853px;
  width: 100%;
  background-color: #B3B3B3;
  border-radius: 12px;
  padding: 40px;
  margin: 0 auto 75px;
}

.job_workflow h3{
  font-size: 18px;
  font-weight: bold;
  color: #fff;
  margin: 0 0 20px;
}

.step_wrap{
  margin-left: 14px;
}

.job_workflow .step{
  display: flex;
  align-items: center;
  margin: 0 0 85px;
}

.job_workflow .step:last-child{
  margin: 0;
}

.job_workflow .step p{
  color: #fff;
  font-weight: bold;
}

.job_workflow .step span{
  position: relative;
  display: block;
  width: 45px;
  height: 45px;
  background-color: #00A99D;
  border-radius: 50%;
  text-align: center;
  line-height: 44px;
  font-size: 18px;
  font-weight: bold;
  color: #fff;
  margin-right: 32px;
    flex-shrink: 0;
}
.job_workflow .step span::after{
  display: block;
  content: "";
  width: 25px;
  height: 25px;
  background-color: #0071BC;
  clip-path: polygon(0 0, 100% 0%, 50% 100%);
  position: absolute;
  bottom: -55px;
  left: 0;
  right: 0;
  margin:0 auto ;
}

.job_workflow .step:last-child span::after{
  content: none;
}

.exist .step span{
  background-color: #FCEE22;
  color: #B3B3B3;
}

.time{
  align-items: center;
  font-weight: bold;
  margin: 0 0 60px;
  margin-left: 60px;
}
#occupation .time{
  gap: 0;
}
.time span{
  font-weight: normal;
}

.time img{
  width: 100px;
  margin-right: 40px;
}

.interview{
  max-width: 853px;
  width: 100%;
  margin: 0 auto;
}

#occupation .interview .cnt{
  flex-direction: row-reverse;
  gap: 0;
  align-items: flex-start;
}

.interview .cnt img{
  flex-shrink: 0;
  width: 204px;
  margin-left: 63px;
}
.interview .cnt .head{
  margin: 0 0 18px;
}
.interview .cnt .txt{
  line-height: 35px;
  padding: 30px 15px;
  border-radius: 12px;
}
.interview .item{
  margin: 0 0 75px;
}
.arrow_box {
	position: relative;
	background: #ffffff;
	border: 1px solid #4D4D4D;
    box-sizing: border-box;
}
.arrow_box:before {
	right:-15px;
	top: 50%;
  transform: translateY(-50%) rotate(-45deg);
	border-right: solid 1px #4D4D4D;
  border-bottom: solid 1px #4D4D4D;
	content: "";
	height: 30px;
	width: 30px;
	position: absolute;
	pointer-events: none;
  clip-path: polygon(0 100%, 100% 100%, 100% 0);
  background-color: #fff;
}
.arrow_box:after {
    right: -1px;
    top: 50%;
    transform: translateY(-50%);
    content: "";
    height: 40px;
    width: 2px;
    position: absolute;
    pointer-events: none;
    background-color: #fff;
    z-index: 2;
    clip-path: polygon(0% 0%, 75% 0%, 100% 50%, 75% 100%, 0% 100%);
}

@media screen and (max-width: 750px){
  #occupation .sec02 img {
    max-width: 298px;
    width: 100%;
    margin: 0 auto;
}
.time {
  flex-direction: row;
  margin: 0 0 60px;
  width: 100%;
}
#occupation .interview .cnt{
  display: block;
}
#occupation .interview .head{
  margin: 0 0 25px;
}
.interview .cnt img{
  max-width: 174px;
  width: 100%;
  margin: 0 auto 50px;
}


    .arrow_box:before {
    right: 0;
    left: 0;
    margin: auto;
    top: -15px;
    transform: translateY(0) rotate(225deg); 
    clip-path: polygon(0 100%, 100% 100%, 100% 0);
  }
  .arrow_box:after {
    content: none;
  }

    .job_workflow .cnt{
     padding: 10px;
    }
    .job_workflow .step span{
    margin-right: 10px;
    font-size: 14px;
    width: 30px;
    height: 30px;
    line-height: 29px
    }
    .step_wrap {
    margin-left: 0;
	}
    .job_mv .mv_ttl .main{
    line-height: 1.5;
    }
    .job_mv .mv_ttl .sub {
    font-size: 14px;
    line-height: 1.5;
}
      .application_cnt h4{
    margin: 0 0 15px;
  }
  .application_cnt p{
    margin-left: -30px;
  }
}


@media screen and (max-width: 350px){
  .job_mv .mv_ttl .main{
    font-size: 21px;
    line-height: 25px;
  }
  .job_mv .mv_ttl .sub {
    font-size: 13px;
    line-height: 1.3;
  }
}

/* <!-- ↓↓ 物流業務用スタイル ↓↓ --> */
.warehouse_cnt .step{
  align-items: flex-start;
}
.warehouse_cnt .step p{
  margin-top: 10px;
}

.step img{
  width: 166px;
  margin-left: auto;
  margin-top: 10px;
}

.warehouse_cnt .step span::after {
  bottom: -70px;
}
.warehouse_cnt .step span::before {
  display: block;
  content: "";
  width: 25px;
  height: 25px;
  background-color: #0071BC;
  clip-path: polygon(0 0, 100% 0%, 50% 100%);
  position: absolute;
  bottom: -130px;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.warehouse_cnt .border span::after {
  content: none;
}
.warehouse_cnt .border span::before {
  content: none;
}

.warehouse_cnt .step:last-child{
  margin-top: 140px;
  margin-left: 21px;
}

/* .warehouse_cnt .branch span::before{
  content: none;
} */

.branch{
  gap: 100px;
  margin-left: 21px;
}

.branch_item{
  text-align: center;
  width: 50%;
  position: relative;
}

.branch_item span::before{
  content: "";
  width: 25px;
  height: 25px;
  background-color: #0071BC;
  clip-path: polygon(0 0, 100% 0%, 50% 100%);
  position: absolute;
  top: -35px;
  left: 0;
  right: 0;
  margin: 0 auto;
}

.branch_item::after{
  content: "";
  width: 50%;
  height: 3px;
  background-color: #0071BC;
  position: absolute;
  top: -63px;
  right: 50%;
}
.branch_item::before{
  content: "";
  width: 3px;
  height: 30px;
  background-color: #0071BC;
  position: absolute;
  top: -63px;
  left: 0;
  right: 0;
  margin: 0 auto;
}

.warehouse_cnt .branch_item p{
  margin: 0 0 30px;
}

.warehouse_cnt .branch_item span{
  margin: 0 auto;
}

.warehouse_cnt .branch_item img{
  margin: 0 auto;
}

.border{
  position: relative;
}

.border::after{
  content: "";
  width:60%;
  height: 150px;
  border-left: solid 3px #0071BC;
  border-bottom: solid 3px #0071BC;
  position: absolute;
  left: 21px;
  bottom: -80px;
}

#occupation .warehouse_interview .cnt{
  align-items: flex-start;
}
@media screen and (max-width: 750px){
  .branch{
    gap: 40px;
  }
  .warehouse_cnt .step p {
    margin-top: 3px;
    font-size: 12px;
}
    .step img {
    width: 40%;
}
    .border::after{
    left:10px;
    }
    .branch .branch_item img{
      width:100%;
    }
}
.job_mv img{
width:100%;
}

/* <!-- ↑↑ 物流業務用スタイル ↑↑ --> */

/* <!-- ↓↓ 質問コーナー追記スタイル ↓↓ --> */

#QandA .sec01{
  margin: 0 0 25px;
}

#QandA .job_mv{
  margin: 0 0 25px;
}
 
#QandA .QandA_head{
  background-image: url(/cms/corestaff/img/recruit/QandA/ttl_bg.png);
  margin: 0 0 15px;
}

#QandA .job_link .job_btn a{
  width: 143px;
  padding: 8px 0;
}

.question_item{
  list-style: decimal inside;
  font-weight: bold;
  margin: 0 0 20px;
}

.question_cnt span.Answer{
  display: block;
  font-weight: normal;
}

@media screen and (max-width: 750px){
  #QandA .job_link{
    display: flex;
    gap: 30px;
    flex-direction: row;
  }
  #QandA .job_link .job_btn a{
    margin: 0;
  }
}

/* <!-- ↑↑ 質問コーナー追記スタイル ↑↑ --> */


/* <!-- ↓↓ キャリア採用 ↓↓ --> */

.career_nav a{
  color: #000;
}

.career_nav{
  margin-bottom: 30px;
}

#career .sec01{
  margin: 0 0 25px;
}

#career .job_mv{
  margin: 0 0 25px;
}
 
#career .career_head{
  background-image: url(/cms/corestaff/img/recruit/career/ttl_bg.jpg);
  margin: 0 0 25px;
}

.application_flow .cnt{
  margin: 0 auto 20px;
}

.application_flow .step{
  align-items: flex-start;
  margin: 0 0 60px;
}

.application_flow .step:last-child{
  margin: 0 0 20px;
}
.application_flow .step:last-child .arrow01{
  display: none;
}

.application_cnt{
  color: #fff;
  margin: 10px 0 0;
  font-weight: normal;
}

.application_flow .step p{
  font-weight: normal;
}

.application_flow .step span::after{
  content: none;
}

.application_flow .num{
  position: relative;
}

.application_flow .num span{
  border-radius: 0;
  width: 25px;
  height: 25px;
  background-color: #0071BC;
  clip-path: polygon(0 0, 100% 0%, 50% 100%);
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
}

.application_flow .num .arrow01{
  bottom: -50px;
}
.application_flow .num .arrow02{
  bottom: -100px;
}
.application_flow .num .arrow03{
  bottom: -150px;
}
.application_flow .num .arrow04{
  bottom: -200px;
}

.application_mail{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 20px;
}

.application_mail p{
  font-size: 18px;
  font-weight: bold;
 
}

.application_mail img{
  width: 71px;
}
.application_mail .mail_btn{
  display: block;
  width: 143px;
  color: #fff;
  background-color: #CC0000;
  border-radius: 14px;
  border: solid 1px #000000;
  text-align: center;
  padding: 3px 0;
  font-size: 18px;
}
.Requirements .career_nav{
  max-width: 630px;
  width: 100%;
  margin: 0 auto 40px;
}
.Requirements .career_nav ul{
  width: 100%;
  flex-wrap: wrap;
  gap: 36px 100px;
  justify-content: flex-start;
}
.Requirements .career_nav ul a{
  width: 143px;
}

.Requirements_head{
  font-size: 18px;
    display: flex;
    border: 1px solid;
    border-radius: 0.75em;
    width: 143px;
    height: 34px;
    align-items: center;
    justify-content: center;
    font-weight: normal;
    margin: 0 0 20px;
    color: #fff;
    border:solid 1px #000;
}
.Requirements .regular{
  background-color: #0071BC;
}
.Requirements .part{
  background-color: #00A99D;
}

.job_description{
  max-width: 900px;
  width: 100%;
  margin: 0 auto 35px;
}

.job_description h4{
  text-align: center;
  color: #004795;
  margin: 0 0 30px;
}

.job_description table{
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
  
}
.job_description th{
  width: 130px;
  text-align: left;
  font-weight: normal;
  vertical-align: top;
}

.job_description th,
.job_description td{
  padding-left: 14px;
}

.job_description .table01{
  margin: 0 0 40px;
}

.job_description .table01 tr{
  border-bottom: solid 1px #3333332c;
}
.job_description .table01 tr:last-child{
  border: none;
}

.job_description .table02 caption{
  text-align: left;
  padding-left: 14px;
  font-weight: bold;
}

.job_description .table02,
.job_description .table02 th,
.job_description .table02 td{
  border: solid 1px #3333332c;
}

.job_description td span{
  font-size: 12px;
}

.Requirements .head_middle{
  margin:100px 0 40px;
}
.job_workflow .step .space {
  position: static;
  display: inline-block;
  width: auto;
  height: auto;
  background-color: transparent;
  border-radius: 50%;
  text-align: center;
  line-height: 0;
  font-size: 14px;
  font-weight: bold;
  color: #fff;
  margin: 0;
  flex-shrink: 0;
}
.job_workflow .step .space_sp{
    display:none;
    }
@media screen and (max-width: 750px){
  .Requirements_head{
    margin:0 auto 20px ;
  }

  .job_description th,
  .job_description td{
    display: block;
  }
  .job_description .table02 caption,
  .job_description th{
    padding-left: 0;
  }
  .job_description .table01 tr{
    border: none;
  }
  .job_description .table02,
  .job_description .table02 th,
  .job_description .table02 td{
    border: none;
  }
  .job_description td{
    margin: 0 0 20px;
  }
  .Requirements .career_nav ul{
    justify-content: center;
  }
  .application_flow .cnt{
    padding: 40px 10px;
  }
    .job_workflow .step .space{
     display:none;
    }
    .job_workflow .step .space_sp {
    display: inline-block;
    width: fit-content;
    height: auto;
    border-radius: 0;
    background-color: transparent;
}
  .application_flow .step{
    margin: 0 0 20px;
  }
  .application_flow .num span{
    display: none;
  }
  .application_mail{
    flex-wrap: wrap;  
  }
  .application_mail .mail_btn{
    margin: 25px 0 0;
  }
  .application_cnt{
  margin: 4px 0 0;
}
}

/* <!-- ↑↑ キャリア採用 ↑↑ --> */

/* <!-- ↓↓ 品質保証追記スタイル ↓↓ --> */
#guarantee{
  box-sizing: border-box;
}
#guarantee section img{
  width: 100%;
}
#guarantee .sec01 .lead{
  font-size: 18px;
}

#guarantee .sec_head{
  margin: 0 0 15px;
}

#guarantee .sec02 ul,
#guarantee .sec02 li{
  list-style-type: disc;
  line-height: 24px;
}

#guarantee .sec02 ul{
  padding-left: 20px;
}
#guarantee .sec02 li{
  color: #0092D6;
}
#guarantee .sec02 li span{
  color: #000;
}
#guarantee .sec02 ol,
#guarantee .sec02 ol li{
  list-style-type: decimal;
  color: #000;
  line-height: 24px;
}
#guarantee .sec02 ol{
  padding-left: 35px;
}

#guarantee table{
  border-collapse: collapse;
  border-spacing: 0;
}

.inspection{
  display: flex;
  flex-wrap: wrap;
  gap: 20px 32px;
}

.inspection_item{
  width: calc((100% / 4) - 32px);
  text-align: center;
  border: solid 1px #99999977;
}
.inspection_item .txt span{
  font-size: 10px;
}
.inspection_item .txt{
  height: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-top: solid 1px #99999977;
}

.Purchase table{
  line-height: 20px;
  text-align: center;
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
}
.Purchase .table_pc th:nth-of-type(1){
  width: 80px;
}
.Purchase .table_pc td:nth-of-type(1){
  width: 245px;
  text-align: left;
}
.table_pc th,
.table_pc td{
  padding: 0 8px;
  border: solid 1px #3333332c;
  font-weight: normal;
}

.Purchase .table_pc th h3{
  font-size: 14px;
}

.Purchase .table_pc th:nth-of-type(3),
.Purchase .table_pc td:nth-of-type(2)
{
  background-color: #FCDEFF;
}

.Purchase .table_pc th:nth-of-type(4),
.Purchase .table_pc th:nth-of-type(5),
.Purchase .table_pc td:nth-of-type(3),
.Purchase .table_pc td:nth-of-type(4)
{
  background-color: #D2FAFF;
}
.Purchase .table_pc th:nth-of-type(6),
.Purchase .table_pc th:nth-of-type(7),
.Purchase .table_pc td:nth-of-type(5),
.Purchase .table_pc td:nth-of-type(6)
{
  background-color: #D7FFE1;
}

.Purchase .table_pc .rank_a{
  color: #FF7983;
  font-weight: bold;
}
.Purchase .table_pc .rank_b{
  color: #28B7E4;
  font-weight: bold;
}
.Purchase .table_pc .rank_c{
  color: #3ECC72;
  font-weight: bold;
}

.Purchase .caution span{
  padding-left: 8%;
}

.Purchase .caution{
  text-align: right;
}
@media screen and (max-width: 750px){
  .Purchase .caution {
    text-align: left;
}
}

.important_item table{
  width: 100%;
}

.important_item i.item{
  display: block;
  width: 56px;
  font-size: 14px;
  text-align: center;
  font-style:normal;
}

#guarantee .important_item .item img{
  width: 32px;
  margin: 0 auto;
}

.important_item .icons .cnt{
  display: flex;
  flex-wrap: wrap;
  gap: 10px 20px;
  padding: 10px;
}

.important_item .head{
  font-weight: bold;
}

.important_item .table_pc tr:nth-of-type(1){
  height: 50px;
}
.important_item .table_pc th:nth-of-type(1){
  width: 150px;
}
.important_item .table_pc td:nth-of-type(1){
  width: 300px;
}
.important_item .table_pc td:nth-of-type(2){
  width: 250px;
}
.important_item .table_pc td:nth-of-type(3){
  width: 200px;
}

.important_item .images{
  text-align: center;
  padding: 20px 0;
}
#guarantee .important_item .images img{
  width: 100px;
  margin: 0 auto 5px;
}

.important_item .images a{
  color: #0092D6;
  position: relative;
  padding-left: 15px;
}
.important_item .images a::before{
  content: "";
  width: 13px;
  height: 14px;
  background-color: #0092D6;
  clip-path: polygon(100% 50%, 0 0, 0 100%);
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

.table_sp{
  display: none;
}

@media screen and (max-width: 1000px){
.Purchase .caution span {
    padding-left: 14px;
}
  .inspection{
    display: flex;
    flex-wrap: wrap;
    gap: 30px 15px;
  }
  .inspection_item{
    width: calc((100% / 4) - 15px);
    text-align: center;
    border: solid 1px #99999977;
  }
  .inspection_item .txt{
    line-height: 16px;
  }
}
@media screen and (max-width: 750px){
  .inspection{
    display: block;
  }
  .inspection_item{
    max-width: 175px;
    width: 100%;
    margin: 0 auto 20px;
  }
  .table_pc{
    display: none;
  }
  .table_sp{
    border-collapse: collapse;
    display: table;
    width: 100%;
    margin: 0 auto 40px;
  }

.table_sp th,
.table_sp td{
  border: solid 1px #999999;
  font-weight: normal;
}
.table_sp th.ta_left{
  text-align: left;
  padding: 10px 5px;
}

.table_sp .rank_head{
  font-size: 14px;
  color: #fff;
  line-height: 16px;
  padding: 5px;
}
.table_sp .description{
  font-size: 14px;
  line-height: 16px;
  padding: 5px;
  background-color: #E6E6E6;
}

.table_sp .rank_a{
  background-color: #FF7983;
}
.table_sp .rank_b{
  background-color: #28B7E4;
}
.table_sp .rank_c{
  background-color: #3ECC72;
}

.table_sp .color_cell td{
  padding: 10px 0;
}

.table_sp .color_cell th:nth-of-type(1),
.table_sp .color_cell td:nth-of-type(1){
  background-color: #FCDEFF;
}
.table_sp .color_cell th:nth-of-type(2),
.table_sp .color_cell td:nth-of-type(2),
.table_sp .color_cell th:nth-of-type(3),
.table_sp .color_cell td:nth-of-type(3){
  background-color: #D2FAFF;
}
.table_sp .color_cell th:nth-of-type(4),
.table_sp .color_cell td:nth-of-type(4),
.table_sp .color_cell th:nth-of-type(5),
.table_sp .color_cell td:nth-of-type(5){
  background-color: #D7FFE1;
}

.important_item .table_sp{
  margin: 0 auto 25px;
}

.important_item .table_sp th,
.important_item .table_sp td
{
  width: 100%;
  text-align: center;
}

.important_item .table_sp .head{
  text-align: left;
  padding: 5px;
  color: #fff;
  background-color: #2253A2;
}
.important_item .table_sp tr:nth-of-type(2) td{
  padding: 10px 5px;
}
.important_item i.item{
  line-height: 15px;
}
.important_item .images{
  padding: 10px 0;
}
    .Purchase .caution span{
    display: block;
    padding-left: 0;
  }  
    
}

/* <!-- ↑↑ 品質保証追記スタイル ↑↑ --> */

/* <!-- ↓↓ コアスタッフの風景 ↓↓ --> */

#cs_office .sec_head{
  margin: 0 0 15px;
}

.corestaff_gallery .modal{
  display: block;
  max-width: 432px;
  width: 100%;
}

.gallery_intro{
  margin: 0 0 50px;
}

.corestaff_gallery .modal .txt{
  text-align: center;
  color: #0092D6;
}

.corestaff_gallery .modal .txt span{
  position: relative;
  padding-left: 15px;
}
.corestaff_gallery .modal .txt span::before{
  content: "";
  width: 13px;
  height: 14px;
  background-color: #0092D6;
  clip-path: polygon(100% 50%, 0 0, 0 100%);
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

.corestaff_gallery .view_photos{
  display: none;
}
#guarantee #cboxTitle,
#cs_office #cboxTitle{
  font-size: 12px;
  padding: 0 40px 0 60px;
}
 #cs_office #colorbox,
  #cs_office #cboxWrapper,
  #cs_office #cboxContent,
  #cs_office #cboxLoadedContent {
    overflow: visible;
  }
#guarantee #colorbox,
#guarantee #cboxWrapper,
#guarantee #cboxContent,
#guarantee #cboxLoadedContent {
  overflow: visible;
}
  #cs_office #cboxPrevious{
    width:25px; height:25px; 
    text-indent:-9999px;
    position: absolute;
    top: 50%;
    left: -15%;
    transform: translateY(-50%);
    background-image: url(/cms/corestaff/js/colorbox/images/arrow_prev.svg);
    background-size: cover;
    background-position: center center;
  }
  #cs_office #cboxNext{
    width:25px; height:25px; 
    text-indent:-9999px;
    position: absolute;
    top: 50%;
    right: -15%;
    transform: translateY(-50%);
    background-image: url(/cms/corestaff/js/colorbox/images/arrow_next.svg);
    background-size: cover;
    background-position: center center;
  }
  #cs_office #cboxClose,
  #guarantee #cboxClose{
    width:25px; height:25px;
    text-indent:-9999px;
    position:absolute; 
    top: -55px;
    right: -10px;
    background-image: url(/cms/corestaff/js/colorbox/images/close.svg);
    background-size: cover;
    background-position: center center;
  }
  #cs_office #cboxTitle{
    padding:0 12px;
  }

@media screen and (max-width: 750px){
 
  #cs_office #cboxTitle{
    padding:0;
    bottom: 25px;
  }
  #cs_office #cboxLoadedContent{
    margin-bottom: 80px;
  }
}

/* <!-- ↑↑ コアスタッフの風景 ↑↑ --> */

/* <!-- ↓↓ Parts Alliance Service-JP ↓↓ --> */
#pas-jp .col2{
  justify-content: center;
  gap: 32px;
}

#pas-jp .col2 p{
  font-size: 14px;
  margin: 0 0 5px;
}
#pas-jp .time{
  margin-left: 0;
}
#pas-jp .time p:nth-child(2){
  font-size: 18px;
}
#pas-jp .time p:nth-child(3) span{
  color: #fff;
  background-color: #004795;
  padding: 3px;
  margin-right: 5px;
  font-weight: bold;
}
#pas-jp .tel,
#pas-jp .fax{
  display: flex;
  align-items: center;
}
#pas-jp .tel{
  margin: 0 0 5px;
}
#pas-jp .fax{
  margin: 0 0 10px;
}
#pas-jp .contact img{
  width: 32px;
  margin-right: 10px;
}
#pas-jp .tel p{
  font-size: 18px
}
/* <!-- ↓↓ ページネーションスタイル ↓↓ --> */
.pagination{
  display: flex;
  justify-content: center;
  margin: 75px 0 0;
  align-items: center;
}
.pagination-item a{
  padding: 8px;
  display: block;
}
.pagination-item a:hover{
  background-color: #000;
  color: #fff;
}
.pagination .is-active{
  background-color: #000;
  color: #fff;
  padding: 8px;
}
@media screen and (max-width: 750px){
  .pagination{
    margin: 50px 0 0;
  }
}
/* <!-- ↑↑ ページネーションスタイル ↑↑ --> */
/* 20231011 ADD */
.article_list dd span.Nolink_ {
    display: inline-flex;
}
.article_list dd span.Nolink_ span {
    display: inline-block;
    padding-right: 2em;
}
.article_list dd a.body_link_ {
    display: inline;
}
.article_list dd span.body_link_.Nolink_ {
    display: inline;
}
.EN.only {
    display: none;
}
p.error_ {
    color: #CC0000;
}
h1.page_head {
    line-height: 35px;
}
@media screen and (max-width: 750px){
    .efo_status_indication {
        top: 80px !important;
        z-index: 9 !important;
    }
}

.flex_box.mail .link_btn::after{
  top: 0;
  transform: translateY(30%);
}
/* 20231213 ADD */
.cnt_item + p.input-desc {
    margin-top: -15px;
    margin-bottom: 15px;
}
main {
    word-break: break-word;
}
li.menu_head.font-s-15 {
    font-size: 15px;
}

/*20240627 ADD*/
.article_list_inline .article_list dd a{
  display: inline;
}

/* 20240819 ADD */
#interview_detail .interviewDetail_imgCenter.interviewDetail_img {
    display: block;
    margin-top: 40px;
}
#interview_detail .interviewDetail_imgCenter.interviewDetail_img .img img {
    margin: 0 auto;
}
#interview_detail .interviewDetail_imgCenter.interviewDetail_img .txt {
    margin-top: 40px;
}
#interview_detail .interviewDetail_imgCenter.interviewDetail_img .txt + .img {
    margin-top: 40px;
}
@media (min-width: 768px) {
  section#interview_list .interview_list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 60px 40px;
  }
  #environment_institution .design_cards .card.ptn-1 .cont {
    margin-top: 40px;
  }
  #job_introduction .design_box .flex.flex_job_introduction {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
 }
  #job_introduction .design_box .flex.flex_job_introduction .gp span {
    top: 60px;
  }
  #newworker section.sec02 .sec02_flex div.img {
    width: 440px;
  }
}
#environment_institution .design_cards .card.ptn-2 .left .cont .flex.flex_age {
    display: inline-block;
}
#environment_institution .design_cards .card.ptn-2 .left .cont .flex.flex_age .gender {
    width: 80px;
}
#environment_institution .design_cards .card.ptn-2 .left .cont .flex.flex_age .gp {
    flex-direction: initial;
}
#environment_institution .design_cards.col-2 .card.ptn-2 {
    align-items: center;
}
@media screen and (max-width: 750px){
  #job_introduction .design_box .flex.flex_job_introduction .gp span {
    top: 40px;
  }
}
section#interview_list .interview_list.no_data {
    display: block;
}
.pagelead_flex .gp:nth-child(1) .ttl {
    line-height: normal;
}
#newworker section.sec02 .sec02_txt {
    text-align: initial;
}
#newworker section.sec03 .sec03_steps {
  display: flex;
  flex-direction: column;
  gap: 34px;
  margin-top: 28px;
}
#newworker section.sec03 .sec03_steps .step {
  position: relative;
  display: flex;
  border: 2px solid #E6E6E6;
  border-radius: 8px;
}
#newworker section.sec03 .sec03_steps .step:not(.noarrow)::before {
  position: absolute;
  top: -26px;
  left: 50%;
  display: block;
  width: 22px;
  height: 18px;
  content: "";
  background-image: url("/cms/corestaff/img/recruit/outside/sec03_arrow.svg");
  background-repeat: no-repeat;
  background-size: cover;
  transform: translateX(-50%);
}
#newworker section.sec03 .sec03_steps .step .ttl {
  font-family: Ubuntu, sans-serif;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 146px;
  /*height: 100%;*/
  min-height: 140px;
  font-weight: 500;
  color: #038FD6;
  border-right: 2px solid #E6E6E6;
}
@media (width <= 1000px) {
  #newworker section.sec03 .sec03_steps .step .ttl {
    width: 100px;
    height: auto;
    min-height: 100px;
  }
}
#newworker section.sec03 .sec03_steps .step .ttl span {
  font-size: 20px;
}
@media (width <= 1000px) {
  #newworker section.sec03 .sec03_steps .step .ttl span {
    font-size: 18px;
  }
}
#newworker section.sec03 .sec03_steps .step .ttl .num {
  font-size: 32px;
}
@media (width <= 1000px) {
  #newworker section.sec03 .sec03_steps .step .ttl .num {
    font-size: 28px;
  }
}
#newworker section.sec03 .sec03_steps .step .cont {
  display: flex;
  flex: 1;
  padding: 20px 28px;
}
@media (width <= 1000px) {
  #newworker section.sec03 .sec03_steps .step .cont {
    flex-direction: column;
    gap: 8px;
    padding: 16px;
  }
}
#newworker section.sec03 .sec03_steps .step .cont .txt {
  display: flex;
  flex: 1;
  align-items: center;
}
#newworker section.sec03 .sec03_steps .step .cont .txt.col {
  flex-direction: column;
  gap: 12px;
  align-items: start;
}
@media (width <= 1000px) {
  #newworker section.sec03 .sec03_steps .step .cont .txt.col {
    gap: 8px;
  }
}
#newworker section.sec03 .sec03_steps .step .cont .txt b {
  font-size: 20px;
  font-weight: bold;
}
@media (width <= 1000px) {
  #newworker section.sec03 .sec03_steps .step .cont .txt b {
    font-size: 16px;
  }
}
#newworker section.sec03 .sec03_steps .step .cont .img {
  width: calc(150 / 900 * 100%);
}
@media (width <= 1000px) {
  #newworker section.sec03 .sec03_steps .step .cont .img {
    width: 100%;
  }
}
#newworker section.sec03 .sec03_steps .step .cont .img img {
  width: 100%;
  height: 100%;
  margin: 0;
  object-fit: cover;
}
#newworker section.sec03 .sec03_steps .stepFlex {
  display: flex;
  gap: 28px;
}
@media (width <= 1000px) {
  #newworker section.sec03 .sec03_steps .stepFlex {
    flex-direction: column;
    gap: 34px;
  }
}
#newworker section.sec03 .sec03_steps .stepFlex .step {
  flex: 1;
}
#newworker section.sec03 .sec03_steps .stepFlex .step .cont {
  flex-direction: column;
  gap: 16px;
  align-items: start;
}
#newworker section.sec03 .sec03_steps .stepFlex .step .cont .txt {
  flex-direction: column;
  gap: 12px;
  align-items: start;
}
#newworker section.sec03 .sec03_steps .stepFlex .step .cont .img {
  width: 150px;
}
#newworker section.sec03 .career_sec03_banner {
  display: flex;
  justify-content: center;
  margin-top: 28px;
}
#newworker section.sec03 .career_sec03_banner a {
  width: calc(480 / 900 * 100%);
}
@media (width <= 1000px) {
  #newworker section.sec03 .career_sec03_banner a {
    width: 100%;
  }
}
#newworker section.sec03 .career_sec03_banner a img {
  width: 100%;
}
.design_pageTtl-3.mt-100 {
    margin-top: 100px;
}
#cs_office .cs_office .list-pic-wide-01 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px 20px;
    margin-top: 20px;
}
#cs_office .cs_office .list-pic-wide-01 li {
    position: relative;
}
#cs_office .cs_office .list-pic-wide-01 li img {
    width: 100%;
}
#cs_office .cs_office .list-pic-wide-01 li .caption {
    background: rgba(6,143,195,.7);
    bottom: 0;
    color: #fff;
    display: inline-block;
    font-size: 10px;
    padding: 4px 10px;
    position: absolute;
    right: 0;
}
@media (max-width: 767px) {
  #cs_office .cs_office .list-pic-wide-01 {
    display: flex;
    flex-direction: column;
    gap: 40px;
    margin-top: 40px;
  }
  #cs_office .cs_office .list-pic-wide-01 li .caption {
    font-size: 14px;
  }
}
.design_pageTtl-4 {
    font-weight: bold;
    font-size: 17px;
    color: #038FD6;
    margin-bottom: 10px;
}
@media (min-width: 768px) {
  #occupation section.sec04 .sec04_schedule .item .cont .flex div.sub {
    width: 300px;
  }
}
#occupation .design_pageTtl .img img,
#newworker .design_pageTtl .img img {
    width: 100%;
}
@media (width <= 1000px) {
  #interview_detail .interviewDetail_kv .main .job {
    max-width: 110px;
  }
}

.dots-list-noFlex.dots0092D6 li{
  display:block;
}