
#recruit,
.recruitArea{
  background: #fff;
  color: #000!important;
}

.recruit_logo{
  display: block;
  max-width: 360px;
  width: 100%;
  margin-top: 10px;
}
.recruit_main{
  padding-top: 100px;
}
@media screen and (max-width: 768px){
  #recruit section{
    padding: 50px 0!important;
  }
  .recruit_logo{
    width: 85%;
    margin-top: 5px;
  }
}

/* recruit_about */
#recruit_about{
  display: flex;
  justify-content:center;
  align-items: center;
  background: url(../images/recruit/main_about.jpg) no-repeat bottom center / cover;
  min-height: 620px;
}
.recruit_aboutArea{
  display: table-cell;
  max-width: 470px;
  width: 80%;
  vertical-align: middle;
  margin: 60px auto;
}

.title_recruitAbout span{
  box-sizing: border-box;
  display: block;
  background: #fff;
  color: #000;
  font-family: serif;
  font-size: 3.0rem!important;
  font-weight: 500!important;
  line-height: 1.4;
  padding: 15px 10px;
  margin-bottom: 10px;
}
.title_recruitAbout02{
  font-size: 2.4rem!important;
  margin-bottom: 10px!important;
}
.recruit_about_txt{
  box-sizing: border-box;
  border-radius: 10px;
  background: #fff;
  padding: 20px;
  margin-top: 20px;
}

.title_recruit_red01,
.title_recruit_bk01{
  color: #cb0000;
  font-size: 1.8rem!important;
  font-weight: 500!important;
  line-height: 1.6!important;
}
.title_recruit_bk01{color: #000;}
.title_recruit_main02{
  font-size: 5.0rem!important;
  font-weight: 600!important;
  line-height: 1.6!important;
  margin-bottom: 40px!important;
}
.title_recruit_main02 span{
  font-size: 3.0rem;
  margin-left: 20px;
}
.title_recruit_sub{
  font-size: 2.4rem!important;
  font-weight: 600!important;
  line-height: 1.8!important;
  margin-bottom: 10px!important;
}
.title_recruit_sub span{
  display: block;
  font-size: 1.6rem;
  margin-right: 20px;
}

.title_voice{
  color: #fff;
  font-family: serif;
  font-size: 2.2rem!important;
  line-height: 1.6!important;
  margin-bottom: 20px!important;
}
.title_voice02{
  color: #fff;
  font-size: 1.6rem!important;
  font-weight: 500!important;
  line-height: 1.4!important;
}
.btn_more{
  width: 80%!important;
}
@media screen and (max-width: 768px){
  .title_recruit_main02{
    font-size: 4.5rem!important;
    line-height: 1.4!important;
  }
  .title_recruit_main02 span{
    display: block;
    margin-left: 0;
  }
}

/* 仕事を知る */
#job .item03 img{
  margin-bottom: 10px;
}
@media screen and (max-width: 768px){
  #job .item03{margin-bottom: 30px;}
}


/* 働き方を知る */
#voice{
  background: #d9d9d9;
}
#voice .item03{
  box-sizing: border-box;
  display: flex;
  align-items:flex-end;
  min-height: 500px;
  padding: 10px;
}
.voiceBox{
  width: 100%;
}

.bg_voice01{
  background: url(../images/recruit/voice_img01.png) no-repeat center center / cover;
}
.bg_voice01:hover{
  background: url(../images/recruit/voice_img01_on.png) no-repeat center center / cover;
}
.bg_voice02{
  background: url(../images/recruit/voice_img02.png) no-repeat center center / cover;
}
.bg_voice02:hover{
  background: url(../images/recruit/voice_img02_on.png) no-repeat center center / cover;
}
.bg_voice03{
  background: url(../images/recruit/voice_img03.png) no-repeat center center / cover;
}
.bg_voice03:hover{
  background: url(../images/recruit/voice_img03_on.png) no-repeat center center / cover;
}

@media screen and (max-width: 768px){
  #voice .item03{margin-bottom: 30px;}
  #voice .btn_more{
    width: 40%!important;
    float: right;
  }
  #voice .item03 .item02{
    text-align: right;
    margin-bottom: 20px;
  }
}


/* 働く環境 */
#working .title_recruit_main02{margin-bottom: 1px!important;}
.workingArea{width: calc(100% - 250px);}
.workingArea:last-child{width: 240px;}

/* 矢印が動くボタン */
.btn_arrow02,
.btn_arrow{
  box-sizing: border-box;
  position: relative;
  display: inline-block;
  background: #cb0000;
  width: 100%;
  text-decoration: none;
  outline: none;
  padding: 15px 20px;
  margin-top: 40px;
}
.btn_arrow02{
  display: block;
  max-width: 240px;
  margin: 40px auto 0;
}
.btn_arrow:hover,
.btn_arrow02:hover{
  color: #f1cf00;
  opacity: 0.9;
}

.btn_arrow p::before,
.btn_arrow02 p::before{
  content: "";
  position: absolute;
  bottom:26px;
  right: 35px;
  width: 30%;
  height: 1px;
  background: #fff;
  transition: all .3s;
  z-index: 3;
}
.btn_arrow p::after,
.btn_arrow02 p::after{
  content: "";
  position: absolute;
  bottom: 32px;
  right: 35px;
  width: 20px;
  height: 1px;
  background: #fff;
  transform: rotate(35deg);
  transition: all .3s;
  z-index: 3;
}
.btn_arrow p:hover::before,
.btn_arrow02 p:hover::before{
  right: 5%;
}
.btn_arrow p:hover::after,
.btn_arrow02 p:hover::after{
  right: 5%;
}
.btn_arrow02{
  position: relative;
}
.btn_arrow02::after{
  content: "";
  background: #e58080;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  position: absolute;
  top: 9px;
  right: 20px;
  display: block;
  z-index: 1;
}
@media screen and (max-width: 768px){
  .workingArea,
  .workingArea:last-child{width: 100%;}
}


/* 選考について */
#process .item02{
  box-sizing: border-box;
  width: 50%;
}
#process .item02:first-child{
  padding-right: 40px;
}

ul.process_list{
  list-style: none;
  padding-left: 0;
}
ul.process_list li{
  box-sizing: border-box;
  position: relative;
  border-bottom: 1px solid #ccc;
  color: #000;
  font-size: 2.2rem!important;
  padding: 15px 10px;
}
ul.process_list li a:link,
ul.process_list li a:visited{
  display: block;
  color: #000!important;
}
ul.process_list li a:hover{color: #cb0000!important;}
ul.process_list li:hover{background: rgba(237,0,0,.1);}

ul.process_list li:first-child{
  border-top: 1px solid #ccc;
}
ul.process_list li::before,
ul.process_list li::after{
  content: "";
  position: absolute;
	top: 0;
	bottom: 0;
  vertical-align: middle;
	margin: auto;
}
ul.process_list li::before{
  right: 10px;
  width: 34px;
	height: 34px;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	background: #cb0000;
}
ul.process_list li::after{
  right: 23px ;
	width: 10px;
	height: 10px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

@media screen and (max-width: 768px){
#process .item02:first-child,
#process .item02{
  width: 100%;
  padding-right: 0;
}
}

/* 下層ページ */
.recruit_other{
  padding: 100px 0 80px!important;
}

section.recruit_other{
  padding: 100px 0 0!important;
}
.recruit_otherfirst{
  box-sizing: border-box;
  border-top: 1px solid #ccc;
}

/* 仕事を知る */
#job_area .containerbox,
#job_area .containerbox_r{
  align-items: center;
}
#job_area .containerbox_r .title_recruit_sub{
  text-align: right;
}
#job_area .item02{
  width: 48%;
}
.job_detail{
  box-sizing: border-box;
  background: #fff;
  border: 1px solid #ccc;
  padding: 10px 20px;
  margin: 30px auto;
}
.title_job_detail{
  font-size: 1.6rem!important;
  border-bottom: 1px solid #ccc;
  margin: 10px 0!important;
}
#job02{
  background: #eee;
}

/* 募集要項 */
.bg_gradient{
  background-image: linear-gradient(90deg, rgba(239, 179, 178, 1), rgba(241, 201, 180, 1));
}

#looking .recruit_otherfirst{
  padding: 80px 0;
}
a.btn_looking01,
a.btn_looking02{
  box-sizing: border-box;
  display: block!important;
  width: 100%;
  text-align: center;
  color: #fff;
  font-size: 2.8rem;
  letter-spacing: 0.1em;
  line-height: 100px;
}
a.btn_looking01{
  background-image: linear-gradient(90deg, rgba(203, 0, 0, 1), rgba(136, 1, 1, 1));
}
a.btn_looking02{
  background-image: linear-gradient(90deg, rgba(225, 57, 17, 1), rgba(203, 1, 1, 1));
}
a:hover.btn_looking01,
a:hover.btn_looking02{
  opacity: 0.8;
  color: #fff;
}
a.btn_looking{
  box-sizing: border-box;
  position: relative;
  display: block;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  color: #222;
  text-align: center;
  font-size: 2.2rem!important;
  line-height: 80px;
  margin: 20px 0 40px;
}
a:hover.btn_looking{
  background: rgba(237,0,0,.1);
  color: #cb0000;
}
a.btn_looking::before{
  content: "";
  position: absolute;
  top: 30%;
  right: 20px;
  width: 30px;
  height: 30px;
  margin: 0 10px;
  border-top: 2px solid #ccc;
  border-right: 2px solid #ccc;
  transform: rotate(45deg);
}
.title_boshu{
  box-sizing: border-box;
  border-bottom: 1px solid #cb0000;
  font-size: 2.0rem!important;
  line-height: 1.6!important;
  padding-bottom: 5px;
  margin-bottom: 20px!important;
}
.title_boshu::before{
  content: "◆";
  font-size: 1.6rem;
  color: #cb0000;
  margin-right: 5px;
}
.recruit_table,
.entry_table{
  width: 100%;
  border-collapse: collapse;
}
.recruit_table th,
.recruit_table td,
.entry_table th,
.entry_table td{
  box-sizing: border-box;
  background: none!important;
  text-align: left;
  font-size: 1.6rem!important;
  font-weight: 400;
  line-height: 1.8;
  padding: 20px 10px;
}
.recruit_table tr,
.entry_table tr{border-bottom: 1px solid #ccc;}

#career .recruit_table tr:first-child,
.entry_table tr:first-child{border-top: 1px solid #ccc;}

.recruit_table th{width: 20%;}
.recruit_table td{width: 80%;}
.entry_table th{width: 30%;}
.entry_table td{width: 70%;}

.recruit_table td dl{
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 5px;
}
.recruit_table td dl dt,
.recruit_table td dl dd{career
  box-sizing: border-box;
  border-bottom: 1px dashed #ccc;
  padding: 10px;
}
.recruit_table td dl dt{width: 35%;}
.recruit_table td dl dd{width: 65%;}

#shinsotsu .btn_arrow02,
#career .btn_arrow02{
  background: #666;
}
#shinsotsu .btn_arrow02::after,
#career .btn_arrow02::after{
  background: rgba(255,255,255,.5);
}
#shinsotsu .btn_arrow02:hover,
#career .btn_arrow02:hover{
  color: #ccc;
}
#shinsotsu a.item04,
#career a.item04{
  box-sizing: border-box;
  border: 1px solid #ccc;
  color: #000;
  text-align: center;
  padding: 10px;
}
@media screen and (max-width: 1010px){
  #recruit_about{min-height: auto;}
}

@media screen and (max-width: 768px){
  #recruit_about{
    display: block;
    background: none;
  }
  .recruit_aboutArea{
    max-width: initial;
    width: 85%;
    background: #eee;
  }
  #entryArea .wrap750{
    width: 100%;
  }
  .recruit_table th,
  .recruit_table td,
  .entry_table th,
  .entry_table td{
    display: block;
    width: 100%;
    padding: 15px 10px;
  }
  .entry_table th{
    background: #eee!important;
    border-bottom: 1px solid #ccc;
  }
}


/* お申し込み */
#recruit_entry{
  background-image: url(../images/recruit/entry_img.jpg);
  background-repeat: no-repeat;
  background-position:right -100px center;
  background-size: 95%;
  padding: 0;
}
.entry_bg01{
  background-image: linear-gradient(90deg,#FFB3B3 0%, #FFD2B5 50%,rgba(255,255,255,0) 50%, rgba(255,255,255,0) 100% );
}
.entryBox{
  width: 50%;
  padding: 80px 0;
}
a.btn_new,
a.btn_career{
  box-sizing: border-box;
  position: relative;
  display: block;
  max-width: 440px;
  width: 100%;
  color: #fff;
  font-size: 2.4rem!important;
  padding: 20px 15px;
}
a.btn_new{background: #cb0000;}
a.btn_career{background: #666;}
a.btn_new span,
a.btn_career span{
  font-size: 1.6rem;
  margin-left: 10px;
}
.btn_new::after,
.btn_career::after{
  content: url(../images/recruit/btn_more_wht.svg);
  width: 120px;
  height: auto;
  position: absolute;
  top: 30%;
  right: 10px;
}
.btn_new:hover,
.btn_career:hover{
  opacity: 0.8;
  color: #fff;
}
@media screen and (max-width: 977px) {
  #recruit_entry{
    background: none;
  }
  .entryBox{width: 100%;}
  .entry_bg01{
    background-image: linear-gradient(90deg,#FFB3B3 0%, #FFD2B5 100% );
  }
}

/* 採用までの流れ */
#entry_flow{
  background: #eee;
}
#entry_flow dl{
  position: relative;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
  z-index: 2;
}
#entry_flow dl dt,
#entry_flow dl dd{
  box-sizing: border-box;
  padding: 10px 20px;
}
#entry_flow dl dt{
  width: 25%;
  font-size: 2.4rem;
  font-weight: 600;
}
#entry_flow dl dd{
  width: 74%;
  font-size: 1.8rem;
}
.flow_step{
  position: relative;
}
.flow_step::after{
  content: "";
  position: absolute;
  left: 30px;
  top: 0;
  width: 7px;
  height: 100%;
  background: #cb0000;
  z-index: 0;
}
.bg_strt{
  border: 1px solid #ccc;
  background: #fff;
}
.bg_red{
  background: #cb0000;
  color: #fff;
}
.bg_goal{
  border: 1px solid #ccc;
  background: #fff;
  color: #cb0000;
}

/* 仕事を知る／インタビュー */
#voice_main{
  position: relative;
}
.voice_maintex{
  box-sizing: border-box;
  position: absolute;
  bottom: -50px;
  left: -30px;
  background: #cb0000;
  color: #fff!important;
  font-size: 2.8rem!important;
  line-height: 1.6!important;
  padding: 20px 30px;
}
.interview_jobbox{
  margin-bottom: 60px;
}
#voice_area section:first-child{
  padding: 40px 0!important;
}
#voice_area .title_ribbon span{
  color: #fff!important;
  background: #cb0000;
}
#voice_area .title_ribbon span::after{
  border-bottom: solid 40px #cb0000;
}
.voice_q{
  font-size: 2.1rem!important;
  font-weight: 600;
  margin-bottom: 10px!important;
}

#interview p{
  text-align: justify;
}
#interview .containerbox,
#interview .containerbox_r{
  margin-bottom: 60px;
}
#interview .item02:first-child{width: 45%;}
#interview .item02:last-child{width: 52%;}

#job_msg .item02{
  width: 50%!important;
}

.voic_msbBox{
  box-sizing: border-box;
  border: 1px solid #ccc;
  padding: 30px;
}
.time_img{
  margin: 0 auto 20px!important;
}

.bg_glade_voice{
  background-image: linear-gradient(145deg, rgba(89, 173, 241, 1), rgba(207, 253, 157, 1));
  color: #fff!important;
}
.bg_glade_voice02{
  background: #59adf1;
}

/* flex-schedul */
.time_schedule {
  width: 100%;
  list-style: none;
  margin: 0 auto 0 0;
  box-sizing: border-box;
}
.time_schedule li {
  width: 100%;
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
  justify-content: flex-start;
  position: relative;

}
.time_schedule .area {
  padding: 10px;
  display: block;
  width: 100%;
  border-left: 6px solid #e58080;
}
.time_schedule li .time {
  display: inline-flex;
  justify-content: flex-end;
  flex-basis: 5em;
  max-width: 5em;
  margin-right: 1em;
  margin-top: 30px;
}
.time_schedule .sch_box {
  position: relative;
  min-height: 1em;
  padding: 1em;
  background: #eee;
}
.time_schedule .sch_box::before {
  content: "";
  position: absolute;
  left: -23px;
  top: 20px;
  background: #cb0000;
  width: 20px;
  height: 20px;
  border-radius: 10px;
}
.time_schedule .sch_title {
  font-weight: 700;
}
.time_schedule .sch_tx {
  font-size: 14px;
  font-weight: normal;
}



@media screen and (max-width: 768px) {
  #job_area .item02{
    width: 100%;
  }
  #job_area .item02{
    margin-bottom: 20px!important;
  }
  #job_area .containerbox_r .title_recruit_sub{
    text-align: left;
  }
#shinsotsu .wrap750,
#career .wrap750{width: 100%;}

  .recruit_table th,
  .recruit_table td{
    display: block;
    width: 100%;
    padding: 10px;
  }
  .recruit_table th{background: #eee!important;}
  .recruit_table td{
    padding-bottom: 20px;
  }

.voice_maintex{
  position: initial;
  font-size: 2.2rem!important;
  padding: 15px 20px;
}

#interview .containerbox,
#interview .containerbox_r {
  margin-bottom: 30px;
}
#interview .item02:first-child,
#interview .item02:last-child{
  width: 100%;
  margin-bottom: 30px;
}
.voic_msbBox{padding: 15px;}
#workflow.wrap750{
  width: 100%;
}

/* 採用までのフロー */
#entry_flow dl dt,
#entry_flow dl dd{
  display: block;
  width: 100%;
}
.flow_step dl dd{
  padding: 10px 20px 10px 40px!important;
}
.flow_step::after{
  left: 20px;
  height: 90%;
}


}

