#job {
  padding-bottom: 100px;
}
@media screen and (max-width: 767px) {
  #job {
    padding-bottom: 50px;
  }
}
#job #first {
  padding-bottom: 100px;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  #job #first {
    padding-bottom: 50px;
  }
}
#job #first .cat_title {
  font-size: 2.6rem;
  font-weight: 400;
  padding: 65px 0 50px;
}
@media screen and (max-width: 767px) {
  #job #first .cat_title {
    padding: 40px 0;
  }
}
#job #first .lead {
  margin-bottom: 150px;
}
@media screen and (max-width: 767px) {
  #job #first .lead {
    margin-bottom: 50px;
  }
}
#job #first .layout {
  display: flex;
}
@media screen and (max-width: 767px) {
  #job #first .layout {
    display: block;
  }
}
#job #first .layout .box {
  background-color: #E5E4DF;
  width: 50%;
  text-align: center;
  padding: 60px 3vw 70px;
}
@media screen and (max-width: 767px) {
  #job #first .layout .box {
    width: 100%;
    padding: 40px 3vw;
  }
}
#job #first .layout .box.box2 {
  background-color: #F6F6F4;
}
#job #first .layout .box h2 {
  font-size: 2.8rem;
  font-weight: 500;
  margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
  #job #first .layout .box h2 {
    margin-bottom: 25px;
    font-size: 2.2rem;
  }
}
#job #first .layout .box p {
  font-size: 1.8rem;
  font-weight: 400;
  margin-bottom: 70px;
}
@media screen and (max-width: 767px) {
  #job #first .layout .box p {
    font-size: 1.5rem;
    margin-bottom: 30px;
  }
}
#job #first .layout .box .image {
  max-width: 380px;
  line-height: 0;
  margin: 0 auto 60px;
}
#job #first .layout .box a {
  position: relative;
  display: block;
  width: 68px;
  height: 68px;
  border-radius: 50%;
  background-color: #fff;
  margin: auto;
}
#job #first .layout .box a:hover {
  background-color: #FF0000;
}
#job #first .layout .box a:hover::before {
  background-color: #fff;
}
#job #first .layout .box a:hover::after {
  border-color: #fff;
}
#job #first .layout .box a::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1px;
  height: 10px;
  background-color: #707070;
  transform: translate(-50%, -50%);
}
#job #first .layout .box a::after {
  content: "";
  position: absolute;
  top: calc(50% + 2px);
  left: calc(50% - 4px);
  width: 8px;
  height: 8px;
  border-right: 1px solid #707070;
  border-bottom: 1px solid #707070;
  transform: rotate(45deg) translate(-50%, -50%);
}
#job #content_wrap .content_block {
  padding: 100px 8vw;
}
@media screen and (max-width: 767px) {
  #job #content_wrap .content_block {
    padding: 50px 5vw;
  }
}
#job #content_wrap .content_block#job1 {
  background-color: #E5E4DF;
}
#job #content_wrap .content_block#job2 {
  background-color: #F6F6F4;
}
#job #content_wrap .content_block h2 {
  font-size: 3.8rem;
  font-weight: 500;
  margin-bottom: 130px;
}
@media screen and (max-width: 767px) {
  #job #content_wrap .content_block h2 {
    font-size: 2.6rem;
    margin-bottom: 50px;
  }
}
#job #content_wrap .content_block .intro {
  display: flex;
  gap: 5%;
  margin-bottom: 100px;
}
@media screen and (max-width: 767px) {
  #job #content_wrap .content_block .intro {
    display: block;
    margin-bottom: 50px;
  }
}
#job #content_wrap .content_block .intro .box {
  width: 33.333%;
}
@media screen and (max-width: 767px) {
  #job #content_wrap .content_block .intro .box {
    width: 100%;
  }
}
#job #content_wrap .content_block .intro .box h3 {
  margin-bottom: 30px;
  font-size: 2.2rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  #job #content_wrap .content_block .intro .box h3 {
    font-size: 1.8rem;
    margin-bottom: 10px;
  }
}
@media screen and (max-width: 767px) {
  #job #content_wrap .content_block .intro .box p {
    margin-bottom: 20px;
  }
}
#job #content_wrap .content_block .data h3 {
  font-size: 2.2rem;
  font-weight: 500;
  border-bottom: 1px solid #707070;
  padding-bottom: 20px;
  margin-bottom: 50px;
}
#job #content_wrap .content_block .data table {
  width: 100%;
  margin-bottom: 50px;
}
#job #content_wrap .content_block .data table .tr {
  text-align: right;
}
#job #content_wrap .content_block .data table colgroup .w20p {
  width: 20%;
}
@media screen and (max-width: 767px) {
  #job #content_wrap .content_block .data table colgroup .w20p.p1 {
    width: 0;
  }
  #job #content_wrap .content_block .data table colgroup .w20p.p2 {
    width: 20%;
  }
}
#job #content_wrap .content_block .data table colgroup .w15p {
  width: 15%;
}
@media screen and (max-width: 767px) {
  #job #content_wrap .content_block .data table colgroup .w15p {
    width: 20%;
  }
}
#job #content_wrap .content_block .data table thead {
  border-bottom: 1px solid rgba(112, 112, 112, 0.2);
}
@media screen and (max-width: 767px) {
  #job #content_wrap .content_block .data table thead {
    font-size: 1.2rem;
  }
}
#job #content_wrap .content_block .data table tbody th {
  font-size: 2.2rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  #job #content_wrap .content_block .data table tbody th {
    font-size: 1.6rem;
  }
}
#job #content_wrap .content_block .data table tbody td {
  border-bottom: 1px solid rgba(112, 112, 112, 0.2);
  padding: 15px 0 0;
  font-size: 1.8rem;
}
@media screen and (max-width: 767px) {
  #job #content_wrap .content_block .data table tbody td {
    font-size: 1.6rem;
  }
}
#job #content_wrap .content_block .data table tbody td.tit {
  font-size: 1.5rem;
}
#job #content_wrap .content_block .data table tbody td b {
  font-size: 2.6rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  #job #content_wrap .content_block .data table tbody td b {
    font-size: 1.8rem;
  }
}
#job .relation {
  padding-top: 30px;
  text-align: center;
}
#job .relation h3 {
  font-size: 1.8rem;
  font-weight: 400;
  margin-bottom: 20px;
}
#job .relation ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
}
#job .relation ul li {
  max-width: 313px;
  width: calc(33.333% - 20px);
  min-width: 250px;
}
@media screen and (max-width: 767px) {
  #job .relation ul li {
    width: 100%;
    max-width: none;
  }
}
#job .relation ul li a {
  position: relative;
  display: block;
  background: #c2c2c2;
  padding: 14px 20px;
}
#job .relation ul li a::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 16px;
  width: 10px;
  height: 1px;
  background-color: #000;
  transform: translateY(-50%);
}
#job .relation ul li a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 16px;
  width: 7px;
  height: 7px;
  border-right: 1px solid #000;
  border-top: 1px solid #000;
  transform: rotate(45deg) translate(-35%, -35%);
}