.mb1 {
  margin-bottom: 1em;
}

.mb2 {
  margin-bottom: 2em;
}

.mb3 {
  margin-bottom: 3em;
}

@media screen and (max-width: 767px) {
  .mb3 {
    margin-bottom: 2em;
  }
}

.mb4 {
  margin-bottom: 4em;
}

@media screen and (max-width: 767px) {
  .mb4 {
    margin-bottom: 3em;
  }
}

.mb1 {
  margin-bottom: 1em;
}

.mb2 {
  margin-bottom: 2em;
}

.mb3 {
  margin-bottom: 3em;
}

@media screen and (max-width: 767px) {
  .mb3 {
    margin-bottom: 2em;
  }
}

.mb4 {
  margin-bottom: 4em;
}

@media screen and (max-width: 767px) {
  .mb4 {
    margin-bottom: 3em;
  }
}

.main-img {
  position: relative;
  background: url("../img/job-offer/main_img.webp") no-repeat center center/cover;
  height: 280px;
  display: table;
  width: 100%;
}

.main-img__inner {
  display: table-cell;
  text-align: center;
  vertical-align: middle;
}

.main-img__title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  margin: 0 auto;
  width: 440px;
  height: 130px;
  background-color: #fff;
  font-size: 2.4rem;
  font-family: source-han-serif-japanese, serif;
  font-weight: 500;
  letter-spacing: 0.15em;
  line-height: 1.33333;
}

.main-img__title--en {
  font-size: 2rem;
  font-family: cormorant-garamond, serif;
  font-weight: 400;
  letter-spacing: 0.025em;
  color: #e24b07;
}

@media screen and (max-width: 767px) {
  .main-img {
    height: 140px;
  }
  .main-img__title {
    width: 275px;
    height: calc(130px / 2);
    font-size: 2rem;
    line-height: 1.25;
  }
  .main-img__title--en {
    margin-top: 0.5em;
    font-size: 1.3rem;
  }
}

@media screen and (max-width: 767px) {
  .main-img {
    position: relative;
    background: url("../img/job-offer/sp_main_img.webp") no-repeat center center/cover;
    height: 280px;
    display: table;
    width: 100%;
    margin-bottom: 45px;
  }
  .main-img__inner {
    display: table-cell;
    text-align: center;
    vertical-align: middle;
  }
  .main-img__title {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: 0 auto;
    width: 440px;
    height: 130px;
    background-color: #fff;
    font-size: 2.4rem;
    font-family: source-han-serif-japanese, serif;
    font-weight: 500;
    letter-spacing: 0.15em;
    line-height: 1.33333;
  }
  .main-img__title--en {
    font-size: 2rem;
    font-family: cormorant-garamond, serif;
    font-weight: 400;
    letter-spacing: 0.025em;
    color: #e24b07;
  }
}

@media screen and (max-width: 767px) and (max-width: 767px) {
  .main-img {
    height: 140px;
  }
  .main-img__title {
    width: 275px;
    height: calc(130px / 2);
    font-size: 2rem;
    line-height: 1.25;
  }
  .main-img__title--en {
    margin-top: 0.5em;
    font-size: 1.3rem;
  }
}

.headline-main {
  font-size: 2.6rem;
  font-family: source-han-serif-japanese, serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: 1.84615;
  border-bottom: 2px solid #e24b07;
}

@media screen and (max-width: 767px) {
  .headline-main {
    font-size: 2rem;
    border-width: 1px;
    line-height: 1.3;
    padding-bottom: 6px;
  }
}

.job-offer {
  margin-bottom: 112px;
}
.job-offer .headline-job-h2{
    margin-bottom: 25px;
    padding: 10px 0 11px;
    background: #141414;
    color: #fff;
    font-size: 20px;
    text-align: center;
}
.job-offer table{
    width: 100%;
    margin: 0 auto 60px;
    border-collapse: collapse;
}
.job-offer table th,
.job-offer table td{
    padding: 16px 0 19px 13px;
    border: 1px solid rgba(120,120,120,0.25);
    text-align: left;
    vertical-align: middle;
    font-size: 15px;
    line-height: 26px;
}
.job-offer table th{
    width: 25%;
}
.job-offer .hedline-job-h3{
    margin-bottom: 40px;
    font-size: 18px;
}
.job-offer ul{
    margin-bottom: 40px;
    padding-bottom: 45px;
    border-bottom: 1px solid rgba(120,120,120,0.25);
}
.job-offer ul:last-child{
    border: none;
}
.job-offer ul li{
    line-height: 20px;
    margin-bottom: 10px;
    padding-left: 1em;
    text-indent: -1em;
}
.job-offer ul li:last-child{
    margin: 0;
}

@media screen and (max-width: 767px) {
    .job-offer {
      margin-bottom: 88px;
    }
    .job-offer .headline-job-h2{
        margin: 0 calc(50% - 50vw) 18px;
        font-size: 18px;
    }
    .job-offer table{
        margin: 0 auto 33px;
    }
    .job-offer table th,
    .job-offer table td{
        padding: 15px 0 17px 10px;
    }
    .job-offer table th{
        width: 25%;
    }
    .job-offer .hedline-job-h3{
        margin-bottom: 33px;
        font-size: 16px;
    }
    .job-offer ul{
        margin-bottom: 40px;
        padding-bottom: 45px;
        border-bottom: 1px solid rgba(120,120,120,0.25);
    }
    .job-offer ul:last-child{
        border: none;
    }

}