@charset "UTF-8";
/*採用ページ */
.page__wrapper.recruit {
  font-weight: bold;
}
.content {
  max-width: 1000px;
  margin: 0 auto;
}
.recruit__title {
  text-align: center;
}
.recruit__title span {
  text-transform: uppercase;
  color: #00863c;
}
.recruit__title h1 {
  font-size: 32px;
}
.recruit__firstview {
  width: 100%;
  height: 670px;
}
.recruit__firstview {
  width: 100%;
  margin: 0 auto;
  background: url("../image/recruit/recruitfirst-back2024.jpg");
  background-position-x: 0%;
  background-position-y: 0%;
  background-size: auto;
  height: 500px;
  background-size: cover;
  background-position: center center;
  position: relative;
}
.recruit__firstview h2 {
  position: absolute;
  width: 400px;
  top: 50%;
  right: 5%;
}
@media screen and (max-width:768px) {
  .recruit__firstview {
    background: url("../image/recruit/recruitfirst-back2024-sp.jpg");
    background-size: cover;
  }
  .recruit__firstview h2 {
    position: absolute;
    width: 48%;
    top: 39%;
    left: 5%;
    right: auto;
  }
}
.section__aboutconsul-back {
  background: url(../image/recruit/net-back.jpg) no-repeat;
  background-size: cover;
  padding: 150px 5%;
}
@media screen and (max-width:768px) {
  .section__aboutconsul-back {
    padding: 8vw 5%;
  }
  .consul__item p {
    margin-top: 5vw;
  }
  .message__textbox__content {
    padding: 5vw 3vw;
  }
}
.consul__container {
  display: flex;
  justify-content: space-between;
  max-width: 1000px;
  margin: 0 auto;
  flex-direction: row;
}
.consul__item {
  flex: 0 0 48%;
}
.consul__item h3 {
  background-color: #008045;
  font-size: 32px;
  padding: 8px;
  text-align: center;
  max-width: 380px;
  color: #fff;
}
@media screen and (max-width:768px) {
  .consul__item h3 {
    font-size: 24px;
  }
}
.consul__item p {
  margin-top: 32px;
}
.section__title {
  margin: 0 auto 120px;
  position: relative;
  text-align: center;
  font-size: 24px;
  font-weight: bold;
}
.section__title h2:before {
  content: "";
  width: 40px;
  height: 4px;
  background-color: #00873C;
  position: absolute;
  top: 56px;
  left: 50%;
  transform: translate(-50%);
}
.section__bussiness {
  padding-top: 140px;
}
.section__bussiness-back {
  padding-top: 80px;
  background: url("../image/recruit/bussiness-back.jpg") no-repeat;
  background-size: cover;
}
.busintro__container {
  position: relative;
  top: -140px;
}
.busintro__container ul {
  display: flex;
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 5%;
  justify-content: space-between;
}
.busintro__container ul li {
  width: 30%;
  background-color: #fff;
  padding: 20px 40px;
  box-sizing: border-box;
  -moz-box-shadow: 1px 1px 28px -3px rgba(0, 0, 0, 0.41);
  -webkit-box-shadow: 1px 1px 28px -3px rgba(0, 0, 0, 0.41);
  -ms-box-shadow: 1px 1px 28px -3px rgba(0, 0, 0, 0.41);
  box-shadow: 1px 1px 28px -3px rgba(0, 0, 0, 0.41);
}
.busintro-icon {
  max-width: 115px;
  margin: 20px auto 0;
}
.busintro__container h4 {
  text-align: center;
}
.recruit-btn {
  max-width: 600px;
  height: 40px;
  border: 1px solid #000;
  margin-left: 60px;
  background-color: #fff;
  margin: 80px auto 0;
}
.recruit-btn a {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  color: #000;
  transition: letter-spacing 0.3s;
  flex-direction: row;
}
.section__departmentjob {
  padding: 220px 0 240px;
  background-color: #e5e5e5;
}
.department__container {
  max-width: 1000px;
  margin: 0 auto;
  text-align: justify;
  text-justify: inter-ideograph;
}
.container__plan {
  width: 400px;
  height: 400px;
  background: url("../image/recruit/plan.jpg") no-repeat;
  position: relative;
  float: left;
  margin-left: 90px;
}
.container__plan.geography {
  background: url("../image/recruit/geological.jpg") no-repeat;
}
.container__plan.measurement {
  background: url("../image/recruit/measurement.jpg") no-repeat;
}
.container__plan.inspection {
  background: url("../image/recruit/infra2024.jpg") no-repeat;
  background-size: contain;
}
.container__plan.hoshoimg {
  background: url("http://www.rikuchi-net.jp/wp/wp-content/uploads/2022/06/hosho-top.jpg") no-repeat;
  background-size: cover;
}
.container__plan.kankyoimg {
  background: url("http://www.rikuchi-net.jp/wp/wp-content/uploads/2022/06/kankyo.jpg") no-repeat;
  background-size: cover;
}
.container__plan.right {
  margin-left: 20px;
  margin-top: 60px;
}
.container__plan.right .department__box {
  left: inherit;
  right: -22%;
}
.department__box {
  background-color: #fff;
  padding: 20px;
  width: 250px;
  height: 250px;
  box-sizing: border-box;
  position: absolute;
  top: 20%;
  left: -25%;
}
.department__box-box {
  border: 3px solid #00863c;
  padding: 20px;
  width: 211px;
  height: 211px;
  box-sizing: border-box;
  position: relative;
}
.department__box-box h3 {
  color: #00863c;
  font-size: 24px;
}
.view-btn a {
  display: flex;
  justify-content: space-between;
  color: #00873c;
  position: absolute;
  bottom: 10%;
  transition: all 0.3s;
  flex-direction: row;
}
.view-btn a:hover p:last-child {
  animation-name: ka;
  animation-duration: 1s;
  animation-timing-function: ease-out;
  animation-iteration-count: infinite;
}
.view-btn p {
  flex: 0 0 80px;
  font-size: 14px;
  transition: all 0.3s;
}
.view-btn p:last-child {
  flex: 0 0 40px;
  position: relative;
  bottom: 7px;
  margin-left: 45px;
}
.section__interview {
  background: url("../image/recruit/net-back.jpg") no-repeat;
  background-size: cover;
  padding: 200px 0 180px;
}
@media screen and (max-width:768px) {
  .section__interview {
    padding: 80px 0 80px;
  }
}
.interview__interviewbox ul {
  display: flex;
  max-width: 1000px;
  margin: 0 auto;
  justify-content: space-between;
  padding: 0 5%;
  flex-direction: row;
}
.interview__interviewbox ul li {
  flex: 0 0 23%;
  border: 1px solid #00863c;
  text-align: center;
}
.interviewbox-text {
  background-color: #00863c;
  color: #fff;
  padding: 10px;
}
.interview__interviewbox .type {
  background-color: #fff;
  color: #000;
}
.section__message {
  background-color: #e5e5e5;
}
.message__messagebox {
  display: flex;
  width: 100%;
  height: 600px;
  flex-direction: row;
}
.messagebox-text {
  background-color: #00863c;
  flex: 0 0 50%;
  position: relative;
}
.messagebox-item {
  flex: 0 0 50%;
  background: url("../image/recruit/group-photo.jpg") no-repeat;
  background-size: cover;
  background-position: center top;
}
.message__wrapper {
  padding: 0 5%;
  padding-top: 40px;
}
.message__textbox__top h5 {
  font-size: 24px;
  margin-bottom: 40px;
  font-weight: bold;
}
@media screen and (max-width:768px) {
  .message__textbox__top h5 {
    font-size: 18px;
    margin-bottom: 20px;
  }
}
.message__textbox__top {
  margin-bottom: 60px;
  font-size: 18px;
}
@media screen and (max-width:768px) {
  .message__textbox__top {
    margin-bottom: 30px;
    font-size: 16px;
  }
}
.message__textbox {
  background-color: #fff;
  padding: 60px 100px 60px;
  max-width: 1000px;
  margin: 0 auto;
  box-sizing: border-box;
  /*  position: relative;
  top: -80px;*/
}
.message-text-content {
  position: absolute;
  top: 18%;
  right: 230px;
  display: flex;
  flex-direction: column;
}
.message__textbox__content {
  display: flex;
  justify-content: space-between;
  border: 3px solid #00873c;
  padding: 20px 40px 40px;
  margin-bottom: 100px;
  flex-direction: row;
}
@media screen and (max-width:768px) {
  .message__textbox__content {
    margin-bottom: 40px;
  }
}
.message-text-content p {
  color: #fff;
}
.message-text-content p:first-child {
  font-size: 24px;
  padding-bottom: 40px;
  border-bottom: 1px solid #fff;
  margin-bottom: 20px;
}
.message-text-content p:last-child {
  position: relative;
  left: 100px;
}
.message__contentbox__text {
  flex: 0 0 58%;
}
.message__textbox__title {
  background-color: #00873c;
  padding: 3px;
  margin-bottom: 20px;
  max-width: 230px;
  color: #fff;
  text-align: center;
  font-size: 24px;
}
.message__contentbox__item {
  flex: 0 0 40%;
  margin-top: 68px;
}
@media screen and (max-width:768px) {
  .message__contentbox__item {
    margin-top: 30px;
  }
}
/*-----------job---*/
.job__back {
  background: url("../image/recruit/job-back.jpg");
  background-size: cover;
}
.job__back h2 {
  text-align: center;
  font-size: 34px;
  padding-top: 205px;
  color: #fff;
  font-weight: bold;
  position: relative;
}
.job__back h2:after {
  display: inline-block;
  content: "JOB LIST";
  position: absolute;
  bottom: 60px;
  font-size: 12px;
  color: #fff;
  transform: translate(-50%);
  left: 50%;
}
.job__container {
  display: flex;
  justify-content: space-around;
  max-width: 1000px;
  margin: 0 auto;
  padding: 100px 10% 180px;
  flex-direction: row;
}
.job__item {
  flex: 0 0 40%;
  height: 80px;
}
.job__item a {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  font-weight: bold;
}
.job__item a {
  color: #fff;
  position: relative;
  transition: all 0.3s;
  border: 3px solid #fff;
  border-radius: 4px;
}
.job__item a:before {
  content: "";
  display: block;
  width: 20px;
  height: 30px;
  position: absolute;
  transition: all 0.3s;
}
.job__item a:hover {
  background-color: #00873c;
  color: #fff;
}
.job__item a:hover:before {
  content: "";
  display: block;
  width: 20px;
  height: 30px;
  position: absolute;
  transform: translate(120px, 8px);
}
.arrow_r_b {
  position: relative;
  display: inline-block;
  padding-left: 20px;
  color: #00873c;
  text-decoration: none;
}
.arrow_r_b:before {
  content: '';
  width: 24px;
  height: 24px;
  background: #fff;
  border-radius: 50%;
  position: absolute;
  top: -4px;
  left: 20px;
  margin-top: -9px;
}
.arrow_r_b:after {
  content: '';
  width: 8px;
  height: 8px;
  border: 0;
  border-top: solid 4px #00873c;
  border-right: solid 4px #00873c;
  position: absolute;
  top: -3px;
  left: 24px;
  margin-top: -3px;
  transform: rotate(45deg);
}
/*-----
contact
---------*/
.concept__contact {
  /*margin: 0 auto 80px;*/
  position: relative;
  text-align: center;
  font-size: 16px;
  font-weight: bold;
  padding-bottom: 60px;
}
.concept__contact h3 {
  /*padding-bottom: 60px;*/
  font-size: 24px;
}
.concept__contact h3:before {
  content: "";
  width: 40px;
  height: 4px;
  background-color: #00873C;
  position: absolute;
  top: 50px;
  left: 50%;
  transform: translate(-50%);
}
.contact__box {
  background-color: #e5e5e5;
  padding: 60px 5%;
}
/*.concept__contact {
box-sizing: border-box;
max-width:920px;
text-align: center;
}*/
.contact__waybox {
  display: flex;
  background-color: #fff;
  color: #00873C;
  font-size: 15px;
  margin: 40px auto 0;
  max-width: 1000px;
  flex-direction: row;
}
.contact__waybox__way {
  flex: 1 1 50%;
  text-align: center;
  padding: 20px 40px;
}
.tel-number {
  font-size: 28px;
}
.icon-mail {
  margin: 10px;
}
@keyframes ka {
  0% {
    transform: translateX(0px);
  }
  50% {
    transform: translateX(10px);
  }
  100% {
    transform: translateX(0px);
  }
}
@media screen and (max-width: 1000px) {
  .container__plan {
    width: 400px;
    height: 400px;
    background: url("../image/recruit/plan.jpg") no-repeat;
    position: relative;
    float: none;
    margin: 0 auto;
  }
  .container__plan.right {
    margin-left: inherit;
    margin-top: inherit;
  }
}
@media screen and (max-width: 850px) {
  .consul__container {
    flex-direction: column;
  }
  .consul__item {
    margin-top: 40px;
  }
  .consul__item p {
    margin-top: 30px;
  }
  .busintro__container ul {
    flex-direction: column;
  }
  .busintro__container ul li {
    width: 100%;
    margin-top: 20px;
  }
  .interview__interviewbox ul {
    flex-direction: column;
  }
  .interview__interviewbox ul li {
    margin-top: 20px;
    background: #fff;
  }
  .interview__interviewbox ul li a p img {
    margin: 0 auto;
  }
  .job__container {
    flex-direction: column;
  }
  .job__item {
    margin-top: 20px;
    flex: initial;
  }
  .message-text-content {
    left: 10%;
    right: inherit;
  }
  .message-text-content p:last-child {
    left: 150%;
    bottom: 70px;
  }
  .message__messagebox {
    flex-direction: column;
  }
  .message__textbox__content {
    flex-direction: column;
    padding: 5vw 3vw;
  }
  .message__textbox {
    padding: 30px 20px 30px;
  }
}
@media screen and (max-width: 768px) {
  /* 768pxまでの幅の場合に適応される */
  .concept__content {
    padding: 120px 8%;
  }
  .recruit-btn {
    width: 80vw;
    height: auto;
  }
  .recruit-btn a {
    padding: 5% 5%;
    font-size: 14px;
  }
  .content__text {
    display: flex;
    flex-direction: column;
    border-bottom: 1px solid #808080;
    padding: 20px 0;
    box-sizing: border-box;
    padding-left: 20px;
  }
  .address-area {
    display: flex;
    flex-direction: column;
    margin-bottom: 20px;
  }
  .contact__waybox {
    display: block;
  }
  .contact__waybox__way .icon-mail {
    padding: 10px;
  }
  .messagebox-item {
    flex: 0 0 50%;
    background-size: cover;
    padding-bottom: 100px;
  }
  .message__textbox {
    top: 0;
    padding-bottom: 15vw;
    top: 20vw;
  }
  .message__wrapper {
    padding-bottom: 20vw;
  }
  .message-text-content p:last-child {
    left: 0;
    bottom: 0;
  }
  .messagebox-text {
    padding-bottom: 128px;
  }
}
@media screen and (max-width: 700px) {
  .container__plan {
    width: 250px;
    height: 250px;
    background-size: cover;
    margin-bottom: 40px;
  }
  .department__box-box {
    border: 3px solid #00863c;
    padding: 10px;
    width: 140px;
    height: 140px;
    box-sizing: border-box;
    position: relative;
  }
  .department__box {
    background-color: #fff;
    padding: 10px;
    width: 160px;
    height: 160px;
    box-sizing: border-box;
    position: absolute;
    top: 20%;
    left: -25%;
  }
  .department__box-box {
    font-size: 12px;
  }
  .department__box-box h3 {
    font-size: 16px;
  }
  .view-btn a {
    display: flex;
    justify-content: space-between;
    color: #00873c;
    position: absolute;
    bottom: 0%;
    transition: all 0.3s;
    flex-direction: row;
  }
  .view-btn p:last-child {
    flex: 0 0 29px;
    position: relative;
    bottom: 7px;
    margin-left: 10px;
  }
  .container__plan {
    background-size: contain;
  }
  .container__plan.measurement {
    background-size: contain;
  }
  .container__plan.inspection {
    background-size: contain;
  }
  .container__plan.geography {
    background-size: contain;
  }
}
div.rec-messagetitile {
  background-color: #00873C;
  color: #fff;
  letter-spacing: 0.2em;
  text-align: center;
  font-size: 32px;
  padding: 40px 0;
}
@media screen and (max-width:768px) {
  div.rec-messagetitile {
    font-size: 24px;
    padding: 20px 0;
  }
}
.font-w500 {
  font-weight: 500;
}
.linehight18 {
  line-height: 1.8;
}