@charset "UTF-8";
a,
strong {
  color: #38525b;
}

input,
select,
option,
textarea {
  font-family: "Zen Kaku Gothic New", sans-serif;
  color: #38525b;
}

.br-sp {
  display: block;
}
@media (min-width: 1024px) {
  .br-sp {
    display: none;
  }
}
.br-pc {
  display: none;
}
@media (min-width: 1024px) {
  .br-pc {
    display: block;
  }
}

.dot {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  font-size: clamp(1.8rem, 2.34375vw, 2.6rem);
  font-weight: bold;
  line-height: 1.4;
}
.dot:has(wbr) {
  word-break: keep-all;
}
.dot::before {
  content: "";
  display: block;
  background-color: #00a73c;
  width: clamp(1rem, 1.3020833333vw, 1.4rem);
  height: clamp(1rem, 1.3020833333vw, 1.4rem);
  min-width: clamp(1rem, 1.3020833333vw, 1.4rem);
  min-height: clamp(1rem, 1.3020833333vw, 1.4rem);
  border-radius: 50%;
  margin-right: clamp(1.2rem, 1.5625vw, 1.8rem);
  margin-top: clamp(0.8rem, 1.0416666667vw, 1.2rem);
}

.line {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-size: clamp(1.8rem, 2.34375vw, 2.6rem);
  font-weight: bold;
  position: relative;
  padding-left: clamp(1.4rem, 1.8229166667vw, 2rem);
  line-height: 1.4;
}
.line:has(wbr) {
  word-break: keep-all;
}
.line::before {
  content: "";
  display: block;
  background-color: #00a73c;
  width: clamp(0.3rem, 0.390625vw, 0.6rem);
  height: clamp(1.4rem, 1.8229166667vw, 2.2rem);
  min-width: clamp(0.3rem, 0.390625vw, 0.6rem);
  min-height: clamp(1.4rem, 1.8229166667vw, 2.2rem);
  position: absolute;
  left: 0;
  height: 80%;
}

#pageTitle {
  background: url(../../img/recruitment/top_img.jpg) no-repeat;
  background-size: cover;
}
@media (min-width: 768px) {
  #pageTitle {
    background: url(../../img/recruitment/top_img_pc.jpg) no-repeat;
    background-size: cover;
  }
}

.contents {
  width: min(100% - 30px, 1270px);
  margin-left: auto;
  margin-right: auto;
  padding-bottom: clamp(7.5rem, 9.765625vw, 15rem);
}

#pageTitle .inner h2 span.ff-Montserrat {
  font-size: clamp(1.8rem, 2.34375vw, 5rem);
}

.contents {
  padding-bottom: clamp(6rem, 7.8125vw, 9rem);
}
.contents .box {
  margin-top: clamp(2.6rem, 3.3854166667vw, 5rem);
}
.contents .box > p {
  margin-top: clamp(2rem, 2.6041666667vw, 2.6rem);
}
@media (max-width: 1023px) {
  .contents .box > p {
    width: calc(100% - 28px);
    margin-left: auto;
    margin-right: auto;
  }
}
.contents .box > p span {
  color: #c00;
  font-weight: bold;
}

.form_item {
  margin-top: clamp(2.4rem, 3.125vw, 5rem);
}
.form_item strong {
  font-size: clamp(1.8rem, 2.34375vw, 2rem);
}
.form_item-dl {
  margin-top: clamp(0.8rem, 1.0416666667vw, 1.4rem);
}
.form_item-dl > dl:nth-last-of-type(1) > dd {
  border-bottom: solid 1px #dadad9;
}
@media (min-width: 1024px) {
  .form_item-dl > dl:nth-last-of-type(1) > dd {
    border-bottom: none;
  }
}
@media (min-width: 1024px) {
  .form_item-dl > dl:nth-last-of-type(1) {
    border-bottom: solid 1px #dadad9;
  }
}
@media (min-width: 1024px) {
  .form_item-dl > dl {
    display: flex;
    justify-content: flex-start;
    border-top: solid 1px #dadad9;
  }
  .form_item-dl > dl:nth-last-of-type(1) {
    border-bottom: solid 1px #dadad9;
  }
  .form_item-dl > dl:has(dd > dl) > dt {
    width: calc(45% - 130px);
  }
  .form_item-dl > dl:has(dd > dl) dd > dl > dt {
    width: 130px;
    padding-block: 20px;
  }
  .form_item-dl > dl:has(dd > dl) dd > dl {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    border-left: solid 1px #dadad9;
    width: calc(100% + 130px);
  }
  .form_item-dl > dl:has(dd > dl) dd > dl > dd {
    width: calc(100% - 130px);
    padding-left: 28px;
    padding-right: 70px;
  }
}
.form_item-dl > dl > dt {
  background-color: #f2fbf5;
  padding-block: 12px;
  padding-inline: 14px;
  font-weight: bold;
  border-block: solid 1px #dadad9;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
}
@media (min-width: 1024px) {
  .form_item-dl > dl > dt {
    border-block: 20px;
    padding-inline: 28px;
  }
}
.form_item-dl > dl > dt.required {
  gap: clamp(1.4rem, 1.8229166667vw, 1.8rem);
}
.form_item-dl > dl > dt.required::after {
  content: "必須";
  display: inline-block;
  color: #c00;
  font-size: clamp(1.3rem, 1.6927083333vw, 1.5rem);
}
@media (min-width: 1024px) {
  .form_item-dl > dl > dt {
    width: 45%;
  }
}
.form_item-dl > dl > dd {
  padding-block: 20px;
  padding-inline: 14px;
}
@media (min-width: 1024px) {
  .form_item-dl > dl > dd {
    width: 55%;
    padding-left: 28px;
    padding-right: 70px;
  }
}
.form_item-dl > dl > dd:has(dl) {
  padding-block: 0;
  padding-inline: 0;
}
.form_item-dl > dl > dd > dl > dt {
  padding-block: 6px;
  padding-inline: 14px;
  background-color: #f2fbf5;
  font-weight: bold;
  border-block: solid 1px #dadad9;
}
@media (min-width: 1024px) {
  .form_item-dl > dl > dd > dl > dt {
    border-block: none;
  }
  .form_item-dl > dl > dd > dl > dt:nth-of-type(n+2) {
    border-top: solid 1px #dadad9;
  }
}
.form_item-dl > dl > dd > dl > dt:nth-of-type(1) {
  border-top: none;
}
.form_item-dl > dl > dd > dl > dd {
  padding-block: 20px;
  padding-inline: 14px;
}
@media (min-width: 1024px) {
  .form_item-dl > dl > dd > dl > dd:nth-of-type(n+2) {
    border-top: solid 1px #dadad9;
  }
}
@media (max-width: 1023px) {
  .form_item-dl input[type=text]:focus,
  .form_item-dl textarea:focus {
    font-size: 1.6rem;
  }
}
.form_item-dl input[type=text] {
  font-size: clamp(1.4rem, 1.8229166667vw, 1.6rem);
  width: 100%;
  border: solid 1px #dadad9;
  padding-inline: 14px;
  height: clamp(4.6rem, 5.9895833333vw, 5rem);
}
.form_item-dl input[type=text]::placeholder {
  font-size: clamp(1.4rem, 1.8229166667vw, 1.6rem);
}
.form_item-dl input[type=text].address {
  width: min(56%, 250px);
}
.form_item-dl input[type=text].w90 {
  width: 90%;
}
.form_item-dl input[type=text].w70 {
  width: 70%;
}
.form_item-dl select {
  font-size: clamp(1.4rem, 1.8229166667vw, 1.6rem);
  border: solid 1px #dadad9;
  padding-inline: 14px;
  height: clamp(4.6rem, 5.9895833333vw, 5rem);
}
.form_item-dl textarea {
  font-size: clamp(1.4rem, 1.8229166667vw, 1.6rem);
  width: 100%;
  min-height: min(40vw, 250px);
  border: solid 1px #dadad9;
  padding-inline: 14px;
  padding-block: 14px;
}
.form_item-dl .radio_btn label {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-size: clamp(1.4rem, 1.8229166667vw, 1.6rem);
}
.form_item-dl .radio_btn label input {
  margin-right: 5px;
}
.form_item-dl ul {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 10px;
}
@media (min-width: 1024px) {
  .form_item-dl ul {
    gap: 24px;
  }
}
.form_item-dl ul.tanni {
  padding-left: 16px;
  display: inline-flex;
}
.form_item-dl dd:has(.tanni) {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

.conf_container .err {
  color: #c00;
}
.conf_container .confirmation,
.conf_container .completion {
  margin-top: clamp(2.4rem, 3.125vw, 5rem);
  text-align: center;
}
.conf_container .submit_content {
  margin-top: clamp(2.4rem, 3.125vw, 5rem);
}
.conf_container dl:nth-last-of-type(1) > dd {
  border-bottom: solid 1px #dadad9;
}
@media (min-width: 1024px) {
  .conf_container dl:nth-last-of-type(1) > dd {
    border-bottom: none;
  }
}
@media (min-width: 1024px) {
  .conf_container dl:nth-last-of-type(1) {
    border-bottom: solid 1px #dadad9;
  }
}
@media (min-width: 1024px) {
  .conf_container dl {
    display: flex;
    justify-content: flex-start;
    border-top: solid 1px #dadad9;
  }
  .conf_container dl:nth-last-of-type(1) {
    border-bottom: solid 1px #dadad9;
  }
}
.conf_container dl > dt {
  background-color: #f2fbf5;
  padding-block: 12px;
  padding-inline: 14px;
  font-weight: bold;
  border-block: solid 1px #dadad9;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
}
@media (min-width: 1024px) {
  .conf_container dl > dt {
    border-block: 20px;
    padding-inline: 28px;
    padding-block: 20px;
    width: 45%;
  }
}
.conf_container dl > dd {
  padding-block: 20px;
  padding-inline: 14px;
}
@media (min-width: 1024px) {
  .conf_container dl > dd {
    width: 55%;
    padding-left: 28px;
    padding-right: 70px;
  }
}

.submit_btn {
  margin-top: clamp(3rem, 3.90625vw, 6rem);
  width: min(100% - 28px, 400px);
  margin-left: auto;
  margin-right: auto;
  background-color: #38525b;
  border-radius: 50px;
  border: solid 1px #38525b;
  transition: 0.7s;
}
.submit_btn input[type=submit] {
  display: block;
  width: 100%;
  height: clamp(5rem, 6.5104166667vw, 5.8rem);
  background-color: transparent;
  color: #fff;
  border-radius: 50px;
  font-size: clamp(1.4rem, 1.8229166667vw, 2rem);
  transition: 0.7s;
}
.submit_btn input[type=button] {
  display: block;
  width: 100%;
  height: clamp(5rem, 6.5104166667vw, 5.8rem);
  background-color: transparent;
  color: #fff;
  border-radius: 50px;
  font-size: clamp(1.4rem, 1.8229166667vw, 2rem);
  transition: 0.7s;
}
@media (min-width: 1024px) {
  .submit_btn:hover {
    background-color: #f2fbf5;
    border: solid 1px #dadad9;
    transition: 0.7s;
  }
  .submit_btn:hover input[type=submit] {
    color: #38525b;
    transition: 0.7s;
  }
  .submit_btn:hover input[type=button] {
    color: #38525b;
    transition: 0.7s;
  }
}

.submit_area {
  margin-top: clamp(3rem, 3.90625vw, 6rem);
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: clamp(1.5rem, 1.953125vw, 3rem);
}
.submit_area .submit_btn {
  margin: 0;
}

.caution {
  margin-top: clamp(3rem, 3.90625vw, 6rem);
  padding-block: 14px;
  padding-inline: 18px;
  border: solid 1px #dadad9;
}
.caution strong {
  color: #c00;
}