@charset "UTF-8";
/* css/contact.css */
/* ================================= */
/*         CONTACT系ページ兼用        */
/* ================================= */
.recruit-form__button {
  display: flex;
  justify-content: center;
  width: fit-content;
  background-color: var(--button-bg);
  padding-top: 1.6rem;
  padding-bottom: 1.5rem;
  padding-inline: 4rem;
  border-radius: 3rem;
}
.recruit-form__button--back {
  background-color: var(--gray);
}
.recruit-form__button[disabled] {
  pointer-events: none;
  cursor: default;
  background-color: var(--gray);
}
@media (hover: hover) {
  .recruit-form__button:not(.recruit-form__button--back):hover {
    background-color: var(--button-bg-hover);
  }
}
@media (hover: hover) {
  .recruit-form__button--back:hover {
    opacity: 0.7;
  }
}

.recruit-form__button > span {
  color: var(--white);
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 1.2;
  text-align: center;
}
.recruit-form__button[disabled] > span {
  color: var(--lightgray);
}
.recruit-form__button--back > span {
  color: var(--black);
}

/* .entry-input__html */

.recruit-form__main {
  padding-top: 5rem;
  padding-bottom: 14rem;
  justify-content: center;
}

.recruit-form__description {
  max-width: 85%;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 6rem;
}

.recruit-form__description > p {
  text-align: center;
  padding-left: 1em;
}

.recruit-form__description > .recruit-form__proviso {
  position: relative;
  width: fit-content;
  color: var(--text-red);
  font-size: 1.4rem;
  font-weight: 600;
  text-align: center;
  margin-top: 1rem;
  padding-left: 1em;
}
.recruit-form__proviso::before {
  content: "";
  position: absolute;
  top: 0.45em;
  left: 0;
  display: inline-block;
  width: 0.7em;
  height: 0.7em;
  flex: 0 0 auto;
  background-color: var(--text-red);
  -webkit-mask-image: url("../images/asterisk.svg");
          mask-image: url("../images/asterisk.svg");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  aspect-ratio: 1 / 1;
}

.recruit-form__form__wrapper {
  display: flex;
  width: 85%;
  max-width: 67rem;
  flex-direction: column;
}

.form {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
}

/* BOT対策ハニーポット あえてnameをtextとする */
.form__text {
  display: none;
}

.form__row {
  width: 100%;
  display: flex;
  flex-direction: row;
}

.form__label {
  position: relative;
  width: 40%;
  font-size: 1.6rem;
  padding-left: 1em;
  margin-top: 0.6rem;
}

.form__label--required::before {
  content: "";
  position: absolute;
  top: 0.7rem;
  left: 0;
  display: inline-block;
  width: 0.7em;
  height: 0.7em;
  flex: 0 0 auto;
  background-color: var(--text-red);
  -webkit-mask-image: url("../images/asterisk.svg");
          mask-image: url("../images/asterisk.svg");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  aspect-ratio: 1 / 1;
}

.form__inputBox {
  position: relative;
  width: 60%;
  display: flex;
  flex-direction: column;
}

.form__input {
  width: 100%;
  padding-block: 0.8rem;
  padding-inline: 0.8rem;
  border: solid var(--gray) 0.1rem;
  font-size: 1.4rem;
  font-weight: 400;
}
.form__input:focus {
  border-color: var(--black);
}
.form__input[aria-invalid="true"] {
  border: solid var(--text-red) 0.2rem;
  border-radius: 0.3rem;
}
.form__input--select {
  padding-inline: 0.4rem;
}
.form__input--radio {
  border: 0;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  column-gap: 4rem;
  row-gap: 0.5rem;
  padding-top: 0.4rem;
  padding-bottom: 0.3rem;
}
.form__input--address {
  max-height: 6rem;
  min-height: 3.8rem;
  resize: vertical;
  word-break: break-all;
  white-space: pre-wrap;
  field-sizing: content;
}

.form__inputBox[aria-invalid="true"] .form__input {
  border: solid var(--text-red) 0.2rem;
  border-radius: 0.3rem;
}

.form__errorMessage {
  color: var(--text-red);
  font-size: 1.4rem;
  font-weight: 400;
  padding-left: 0.5em;
}

.form__radioBox {
  display: flex;
  align-items: center;
}

.form__radioLabel {
  font-size: 1.5rem;
  padding-left: 0.8rem;
  cursor: pointer;
}

.form__textarea {
  width: 100%;
  min-height: 10rem;
  max-height: 20rem;
  padding-block: 0.8rem;
  padding-inline: 0.8rem;
  border: solid var(--gray) 0.1rem;
  font-size: 1.4rem;
  font-weight: 400;
  resize: vertical;
  word-break: break-all;
  white-space: pre-wrap;
  field-sizing: content;
}
.form__textarea[aria-invalid="true"] {
  border: solid var(--text-red) 0.2rem;
  border-radius: 0.3rem;
}

.form__privacyPolicyAgreement {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
  margin-top: 4rem;
  margin-bottom: 4rem;
}

.form__privacyPolicyLink {
  position: relative;
  color: var(--text-red);
  font-size: 1.4rem;
  font-weight: 500;
  padding-left: 1.4em;
}
.form__privacyPolicyLink:visited {
  color: var(--text-red);
}
.form__privacyPolicyLink::before {
  content: "";
  position: absolute;
  top: 0.1em;
  left: 0;
  display: inline-block;
  width: 1em;
  flex: 0 0 auto;
  background-color: currentColor;
  -webkit-mask-image: url("../images/icon_popup_white.svg");
          mask-image: url("../images/icon_popup_white.svg");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  aspect-ratio: 10 / 13;
}
@media (hover: hover) {
  .form__privacyPolicyLink:hover {
    color: var(--darkred);
  }
}

.form__checkboxWrapperBox {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.form__checkboxWrapper {
  display: flex;
  align-items: center;
}

.form__checkboxLabel {
  font-size: 1.6rem;
  font-weight: 400;
  padding-left: 1rem;
  cursor: pointer;
}

.form--confirm input {
  font-size: 1.6rem;
  border: 0;
  background-color: transparent;
}
.form--confirm input[disabled] {
  color: var(--black);
}

.form--confirm textarea {
  font-size: 1.6rem;
  border: 0;
  height: unset;
  max-height: unset;
  min-height: 3rem;
  padding-block: 0.8rem;
  padding-inline: 0.8rem;
  background-color: transparent;
  resize: none;
}
.form--confirm textarea[disabled] {
  color: var(--black);
}

.form--confirm .recruit-form__button {
  width: 21rem;
}

.form--confirm .recruit-form__button--back {
  margin-top: 4rem;
  margin-bottom: 2rem;
}


/* ------------------------
       レスポンシブ
------------------------- */
@media (min-width: 768.1px) and (max-width: 1100px) {
  .recruit-form__button {
    padding-top: 1.7rem;
    padding-bottom: 1.5rem;
  }

  .form--confirm .recruit-form__button--back {
    padding-top: 1.5rem;
    padding-bottom: 1.7rem;
  }
}

@media (max-width: 768px) {
  .recruit-form__button {
    padding-top: 1.6rem;
    padding-bottom: 1.6rem;
    padding-inline: 2rem;
  }
  /* .recruit-form__button[disabled] */

  /* .recruit-form__button > span */
  /* .recruit-form__button[disabled] > span */

  /* .entry-input__html */

  .recruit-form__main {
    padding-top: 6rem;
    padding-bottom: 12rem;
  }

  .recruit-form__description {
    max-width: 90%;
    margin-bottom: 4rem;
  }

  .recruit-form__description > p {
    font-size: 1.5rem;
    padding-left: unset;
  }

  .recruit-form__description > .recruit-form__proviso {
    padding-left: 0.8em;
  }

  /* .recruit-form__proviso::before */

  .recruit-form__form__wrapper {
    max-width: 45rem;
  }

  /* .form */

  /* .form__text */

  .form__row {
    flex-direction: column;
    gap: 0.5rem;
  }

  .form__label {
    width: unset;
    padding-left: 0.8em;
    margin-top: unset;
  }

  /* .form__label--required::before */

  .form__inputBox {
    width: 100%;
  }

  /* .form__input */
  .form__input--radio {
    column-gap: 2.8rem;
    padding-top: 0.3rem;
    padding-bottom: 0.2rem;
  }

  /* .form__errorMessage */

  /* .form__radioBox */

  /* .form__radioLabel */

  /* .form__textarea */

  .form__privacyPolicyAgreement {
    margin-top: 3rem;
    margin-bottom: 3rem;
  }

  /* .form__privacyPolicyLink */
  /* .form__privacyPolicyLink::before */

  /* .form__checkboxWrapperBox */

  /* .form__checkboxWrapper */

  /* .form__checkboxLabel */


  .recruit-form__description--noProviso {
    margin-bottom: 5rem;
  }

  .form--confirm {
    row-gap: 3rem;
  }

  .form--confirm .form__row {
    gap: 0.1rem;
  }

  .form--confirm input {
    padding-top: 0.2rem;
  }

  .form--confirm textarea {
    padding-top: 0.2rem;
  }

  /* .form--confirm .recruit-form__button */

  .form--confirm .recruit-form__button--back {
    margin-bottom: unset;
  }
}

@media print {
  .recruit-form__button {
    background-color: transparent;
    border: 1px solid var(--button-bg);
  }

  .recruit-form__button--back {
    background-color: transparent;
    border: 1px solid var(--gray);
  }

  .recruit-form__button[disabled] {
    background-color: transparent;
    border: 1px solid var(--gray);
  }

  .recruit-form__button > span {
    color: var(--button-bg);
  }

  .recruit-form__button--back > span {
    color: var(--black);
  }

  .recruit-form__button[disabled] > span {
    color: var(--gray);
  }
}