@charset "UTF-8";
/*------------------------------------------------------------

1.Default */
/*------------------------------------------------------------

2.Element */
/*------------------------------------------------------------

1.Font */
/*------------------------------------------------------------

1.Clear fix */
/*------------------------------------------------------------

1.Clear fix */
/*------------------------------------------------------------

1.Position */
/* ------------------------------------------------------------
  求人採用応募フォームページ（thuentyi/contact）
------------------------------------------------------------ */
.p-form-page {
  background-color: #fff;
  color: #000;
}

.p-form-mv__img {
  display: block;
  width: 100%;
  height: auto;
}

.p-form {
  display: flex;
  justify-content: center;
  padding: 70px 40px 120px;
  /* バリデーションエラー表示 */
  /* 確認画面：入力内容のレビュー */
  /* ボタン群（確認・完了） */
}
@media screen and (max-width: 768px) {
  .p-form {
    padding: 10.2564102564vw 5.1282051282vw 17.9487179487vw;
  }
}
.p-form__container {
  width: 100%;
  max-width: 690px;
}
.p-form__icon {
  display: block;
  width: 56px;
  height: auto;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .p-form__icon {
    width: 11.5384615385vw;
  }
}
.p-form__heading {
  margin-top: 24px;
  font-size: min(4.1666666667vw, 48px);
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-form__heading {
    margin-top: 3.8461538462vw;
    font-size: 7.1794871795vw;
  }
}
.p-form__lead {
  margin-top: 24px;
  font-size: min(1.6666666667vw, 18px);
  line-height: 1.8;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-form__lead {
    margin-top: 4.6153846154vw;
    font-size: 3.5897435897vw;
    text-align: left;
  }
}
.p-form__note {
  margin-top: 6px;
  color: #bc121a;
  font-size: min(1.6666666667vw, 18px);
  font-weight: 700;
  line-height: 1.8;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-form__note {
    font-size: 3.5897435897vw;
  }
}
.p-form__form {
  margin-top: 60px;
}
@media screen and (max-width: 768px) {
  .p-form__form {
    margin-top: 8.9743589744vw;
  }
}
.p-form__row + .p-form__row {
  margin-top: 30px;
}
@media screen and (max-width: 768px) {
  .p-form__row + .p-form__row {
    margin-top: 5.641025641vw;
  }
}
.p-form__label {
  display: block;
  margin-bottom: 10px;
  font-size: min(1.6666666667vw, 18px);
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .p-form__label {
    font-size: 3.8461538462vw;
  }
}
.p-form__required {
  display: inline-block;
  margin-left: 6px;
  padding: 3px 10px;
  background-color: #bc121a;
  color: #fff;
  font-size: min(1.5277777778vw, 18px);
  font-weight: 700;
  line-height: 1;
  vertical-align: middle;
}
@media screen and (max-width: 768px) {
  .p-form__required {
    font-size: 3.0769230769vw;
    padding: 0.7692307692vw 2.0512820513vw;
  }
}
.p-form__input {
  width: 100%;
  padding: 16px 18px;
  border: 1px solid #ccc;
  background-color: #fff;
  color: #000;
  font-size: min(1.6666666667vw, 18px);
  line-height: 1.4;
}
.p-form__input::placeholder {
  color: #b3b3b3;
}
.p-form__input:focus {
  outline: none;
  border-color: #2ea7dd;
}
@media screen and (max-width: 768px) {
  .p-form__input {
    padding: 3.0769230769vw 3.5897435897vw;
    font-size: 3.8461538462vw;
  }
}
.p-form__date {
  display: flex;
  align-items: center;
  gap: 14px;
}
.p-form__date-group {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
}
.p-form__date-unit {
  margin-left: 8px;
  flex-shrink: 0;
  font-size: min(1.6666666667vw, 18px);
}
@media screen and (max-width: 768px) {
  .p-form__date-unit {
    margin-left: 1.2820512821vw;
    font-size: 3.8461538462vw;
  }
}
.p-form__select {
  flex: 1;
  width: 100%;
  min-width: 0;
  padding: 16px 18px;
  border: 1px solid #ccc;
  background-color: #fff;
  color: #000;
  font-size: min(1.6666666667vw, 18px);
}
.p-form__select:focus {
  outline: none;
  border-color: #2ea7dd;
}
@media screen and (max-width: 768px) {
  .p-form__select {
    padding: 3.0769230769vw 2.5641025641vw;
    font-size: 3.8461538462vw;
  }
}
.p-form__submit {
  display: block;
  width: 100%;
  margin-top: 50px;
  padding: 20px;
  border: none;
  background-color: #2ea7dd;
  color: #fff;
  font-size: min(1.9444444444vw, 22px);
  font-weight: 700;
  text-align: center;
  cursor: pointer;
  transition: opacity 0.3s;
}
.p-form__submit:hover {
  opacity: 0.85;
}
@media screen and (max-width: 768px) {
  .p-form__submit {
    margin-top: 8.9743589744vw;
    padding: 4.358974359vw;
    font-size: 4.358974359vw;
  }
}
.p-form__alert {
  margin-top: 40px;
  padding: 16px 20px;
  border: 1px solid #bc121a;
  background-color: #fdeced;
  color: #bc121a;
  font-size: min(1.6666666667vw, 18px);
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .p-form__alert {
    margin-top: 6.4102564103vw;
    padding: 3.0769230769vw 3.5897435897vw;
    font-size: 3.5897435897vw;
  }
}
.p-form__error {
  margin-top: 8px;
  color: #bc121a;
  font-size: min(1.5277777778vw, 16px);
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .p-form__error {
    margin-top: 1.2820512821vw;
    font-size: 3.3333333333vw;
  }
}
.p-form__input.is-error, .p-form__select.is-error {
  border-color: #bc121a;
  background-color: #fdeced;
}
.p-form__review {
  margin-top: 50px;
  border-top: 1px solid #ccc;
}
@media screen and (max-width: 768px) {
  .p-form__review {
    margin-top: 8.9743589744vw;
  }
}
.p-form__review-row {
  display: flex;
  padding: 20px 4px;
  border-bottom: 1px solid #ccc;
}
@media screen and (max-width: 768px) {
  .p-form__review-row {
    flex-flow: column;
    gap: 1.2820512821vw;
    padding: 3.8461538462vw 0.7692307692vw;
  }
}
.p-form__review-label {
  flex-shrink: 0;
  width: 230px;
  font-size: min(1.6666666667vw, 18px);
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .p-form__review-label {
    width: 100%;
    font-size: 3.8461538462vw;
  }
}
.p-form__review-value {
  flex: 1;
  font-size: min(1.6666666667vw, 18px);
  line-height: 1.6;
  word-break: break-all;
}
@media screen and (max-width: 768px) {
  .p-form__review-value {
    font-size: 3.8461538462vw;
  }
}
.p-form__buttons {
  display: flex;
  gap: 20px;
  margin-top: 50px;
}
.p-form__buttons .p-form__submit {
  flex: 1;
  width: auto;
  margin-top: 0;
}
@media screen and (max-width: 768px) {
  .p-form__buttons {
    flex-flow: column-reverse;
    gap: 3.0769230769vw;
    margin-top: 8.9743589744vw;
  }
}
.p-form__buttons--single {
  justify-content: center;
}
.p-form__buttons--single .p-form__back {
  flex: 0 0 auto;
  min-width: 320px;
}
@media screen and (max-width: 768px) {
  .p-form__buttons--single .p-form__back {
    min-width: 0;
    width: 100%;
  }
}
.p-form__back {
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: center;
  padding: 20px;
  border: 1px solid #999;
  background-color: #fff;
  color: #000;
  text-decoration: none;
  font-size: min(1.9444444444vw, 22px);
  font-weight: 700;
  text-align: center;
  transition: opacity 0.3s;
}
.p-form__back:hover {
  opacity: 0.7;
}
@media screen and (max-width: 768px) {
  .p-form__back {
    padding: 4.358974359vw;
    font-size: 4.358974359vw;
  }
}

/*# sourceMappingURL=contact.css.map */
