@charset "UTF-8";
/* ===================================================================
CSS information

file name  : entry_form.css
author     : Abilive
style info : 募集要項 応募フォーム
=================================================================== */
/* ===================================================================
CSS information

file name  : _settings.scss
author     : Abilive
style info : 汎用設定
=================================================================== */
.p-flow {
  max-width: 1120px;
  margin-right: auto;
  margin-left: auto;
  --tsuruga-container-width: var(--tsuruga-content-0);
}
@media only screen and (min-width: 1025px) {
  .p-flow {
    width: calc(var(--tsuruga-child-width) / var(--tsuruga-container-width) * 100%);
    --tsuruga-child-width: var(--tsuruga-content-4);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-flow {
    width: calc(var(--tsuruga-child-width) / var(--tsuruga-container-width) * 100%);
    --tsuruga-child-width: var(--tsuruga-content-1);
  }
}
@media only screen and (max-width: 767px) {
  .p-flow {
    width: calc(var(--tsuruga-child-width) / var(--tsuruga-container-width) * 100%);
    --tsuruga-child-width: var(--tsuruga-content-1);
  }
}
@media only screen and (min-width: 1025px) {
  .p-flow {
    padding-top: calc(120 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-flow {
    padding-top: calc(100 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-flow {
    padding-top: calc(80 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
.p-flow dd ol {
  display: flex;
  justify-content: center;
}
.p-flow dd ol li {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: calc(100% / 3);
  text-align: center;
}
.p-flow dd ol li > * {
  display: block;
}
.p-flow dd ol li::after {
  content: "";
  display: block;
  position: relative;
  z-index: 1;
  margin: 1em auto 0;
  width: 1em;
  height: 1em;
  border-radius: 100%;
  background: var(--tsuruga-color-gray-ca);
}
.p-flow dd ol li:not(:first-child):before {
  content: '';
  position: absolute;
  right: 50%;
  bottom: .4em;
  width: 100%;
  height: 1px;
  margin-top: -1px;
  background: var(--tsuruga-color-gray-ca);
}
.p-flow dd ol li[aria-current="step"]::after {
  transform: scale(1.2);
  background: var(--tsuruga-color-accent);
}
.p-flow dd ol li .txt_number {
  line-height: 1;
}
.p-flow dd ol li .txt_label {
  margin-top: .8em;
  font-size: calc(100% * (14 / 16));
}

.p-form {
  max-width: 1120px;
  margin-right: auto;
  margin-left: auto;
  --tsuruga-container-width: var(--tsuruga-content-0);
}
@media only screen and (min-width: 1025px) {
  .p-form {
    width: calc(var(--tsuruga-child-width) / var(--tsuruga-container-width) * 100%);
    --tsuruga-child-width: var(--tsuruga-content-4);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-form {
    width: calc(var(--tsuruga-child-width) / var(--tsuruga-container-width) * 100%);
    --tsuruga-child-width: var(--tsuruga-content-1);
  }
}
@media only screen and (max-width: 767px) {
  .p-form {
    width: calc(var(--tsuruga-child-width) / var(--tsuruga-container-width) * 100%);
    --tsuruga-child-width: var(--tsuruga-content-1);
  }
}
@media only screen and (min-width: 768px) {
  .p-form {
    margin-top: calc(80 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-form {
    margin-top: calc(60 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
@media only screen and (min-width: 768px) {
  .p-form {
    margin-bottom: calc(100 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-form {
    margin-bottom: calc(80 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
.p-form .required {
  display: inline-block;
  background-color: #a62222;
  color: #fff;
  line-height: 1;
  text-align: center;
  padding: calc(8 / var(--tsuruga-parent-font-size) * 1rem) calc(10 / var(--tsuruga-parent-font-size) * 1rem);
  font-size: calc(100% * (14 / 16));
}
.p-form .txt_required {
  position: relative;
}
.p-form .txt_required .required {
  margin-right: calc(5 / var(--tsuruga-parent-font-size) * 1rem);
}
.p-form__input {
  width: 100%;
}
.p-form__input .form_table {
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .p-form__input .form_table {
    display: block;
  }
}
.p-form__input .form_table tbody {
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .p-form__input .form_table tbody {
    display: block;
  }
}
@media only screen and (max-width: 767px) {
  .p-form__input .form_table tr {
    display: block;
  }
}
.p-form__input .form_table tr th, .p-form__input .form_table tr td {
  position: relative;
}
@media only screen and (max-width: 767px) {
  .p-form__input .form_table tr th, .p-form__input .form_table tr td {
    display: block;
    width: 100%;
    box-sizing: border-box;
  }
}
@media only screen and (min-width: 768px) {
  .p-form__input .form_table tr th {
    width: calc(260 / 1120 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .p-form__input .form_table tr th {
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .p-form__input .form_table tr th {
    border-bottom: 1px solid var(--tsuruga-table-td-border-color);
    background: color-mix(in srgb, var(--tsuruga-color-accent) 5%, transparent);
  }
}
.p-form__input .form_table .u-flex {
  display: flex;
}
.p-form__input .form_table .u-flex > .flex_items {
  width: 49%;
}
.p-form__input .form_table .u-flex > .flex_items + .flex_items {
  margin-left: 2%;
}
.p-form__input .form_table input, .p-form__input .form_table select {
  width: 100%;
  padding: calc(12 / var(--tsuruga-parent-font-size) * 1rem) calc(15 / var(--tsuruga-parent-font-size) * 1rem);
  border: 1px solid var(--tsuruga-color-gray-ca);
  box-sizing: border-box;
}
@media only screen and (max-width: 767px) {
  .p-form__input .form_table input, .p-form__input .form_table select {
    padding: calc(12 / var(--tsuruga-parent-font-size) * 1rem) calc(10 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
.p-form__input .form_table input:read-only {
  background-color: #ebebeb;
}
.p-form__input .form_table select {
  background-color: #fff;
}
.p-form__input .form_table textarea {
  width: 100%;
  padding: calc(12 / var(--tsuruga-parent-font-size) * 1rem) calc(15 / var(--tsuruga-parent-font-size) * 1rem);
  border: 1px solid var(--tsuruga-color-gray-ca);
  box-sizing: border-box;
}
@media only screen and (max-width: 767px) {
  .p-form__input .form_table textarea {
    padding: calc(12 / var(--tsuruga-parent-font-size) * 1rem) calc(10 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
.p-form__input .form_table input,
.p-form__input .form_table textarea,
.p-form__input .form_table select {
  transition: .15s box-shadow ease-out, .15s background-color ease-out;
  box-sizing: border-box;
}
.p-form__input .form_table input:focus:not(:read-only),
.p-form__input .form_table textarea:focus:not(:read-only),
.p-form__input .form_table select:focus:not(:read-only) {
  background-color: #fff;
  box-shadow: calc(3 / var(--tsuruga-parent-font-size) * 1rem) calc(3 / var(--tsuruga-parent-font-size) * 1rem) calc(8 / var(--tsuruga-parent-font-size) * 1rem) rgba(0, 0, 0, 0.2);
}
.p-form__input .form_table .birth-date-wrapper {
  display: flex;
  align-items: center;
}
.p-form__input .form_table .birth-date-wrapper input, .p-form__input .form_table .birth-date-wrapper select {
  width: calc(100 / var(--tsuruga-parent-font-size) * 1rem);
}
.p-form__input .form_table .birth-date-wrapper > * {
  margin-left: calc(20 / var(--tsuruga-parent-font-size) * 1rem);
  margin-right: calc(10 / var(--tsuruga-parent-font-size) * 1rem);
}
.p-form__input .form_table .birth-date-wrapper > *:first-child {
  margin-left: 0;
}
.p-form__input .form_table #age {
  width: calc(100 / var(--tsuruga-parent-font-size) * 1rem);
  margin-right: calc(10 / var(--tsuruga-parent-font-size) * 1rem);
}
.p-form__input .form_table #sex, .p-form__input .form_table #work_history, .p-form__input .form_table #hotel_experience_wrap, .p-form__input .form_table #hotel_experience, .p-form__input .form_table #service_experience_wrap, .p-form__input .form_table #service_experience {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
.p-form__input .form_table #sex input, .p-form__input .form_table #work_history input, .p-form__input .form_table #hotel_experience_wrap input, .p-form__input .form_table #hotel_experience input, .p-form__input .form_table #service_experience_wrap input, .p-form__input .form_table #service_experience input {
  width: auto;
}
.p-form__input .form_table #sex > *:nth-child(2n+2), .p-form__input .form_table #work_history > *:nth-child(2n+2), .p-form__input .form_table #hotel_experience_wrap > *:nth-child(2n+2), .p-form__input .form_table #hotel_experience > *:nth-child(2n+2), .p-form__input .form_table #service_experience_wrap > *:nth-child(2n+2), .p-form__input .form_table #service_experience > *:nth-child(2n+2) {
  margin-right: calc(40 / var(--tsuruga-parent-font-size) * 1rem);
}
@media only screen and (max-width: 767px) {
  .p-form__input .form_table #sex > *:nth-child(2n+2), .p-form__input .form_table #work_history > *:nth-child(2n+2), .p-form__input .form_table #hotel_experience_wrap > *:nth-child(2n+2), .p-form__input .form_table #hotel_experience > *:nth-child(2n+2), .p-form__input .form_table #service_experience_wrap > *:nth-child(2n+2), .p-form__input .form_table #service_experience > *:nth-child(2n+2) {
    margin-right: calc(20 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
.p-form__input .form_table #sex > *:nth-child(2n+1), .p-form__input .form_table #work_history > *:nth-child(2n+1), .p-form__input .form_table #hotel_experience_wrap > *:nth-child(2n+1), .p-form__input .form_table #hotel_experience > *:nth-child(2n+1), .p-form__input .form_table #service_experience_wrap > *:nth-child(2n+1), .p-form__input .form_table #service_experience > *:nth-child(2n+1) {
  margin-right: calc(10 / var(--tsuruga-parent-font-size) * 1rem);
}
.p-form__input .form_table .experience {
  margin-top: .8em;
}
.p-form__input .form_table .experience #hotel_experience_content, .p-form__input .form_table .experience #service_experience_content {
  margin-top: .6em;
}
.p-form__input .form_table .note {
  margin-top: calc(10 / var(--tsuruga-parent-font-size) * 1rem);
  font-size: calc(100% * (15 / 16));
}
.p-form__input .form_table .note + .note {
  margin-top: 1em;
}
.p-form__input .form_table .note:first-child {
  margin-block: 0 calc(10 / var(--tsuruga-parent-font-size) * 1rem);
}
.p-form__input .form_table .error_text {
  font-size: calc(100% * (15 / 16));
  color: #a62222;
}
@media only screen and (min-width: 768px) {
  .p-form__input .form_table .error_text {
    margin-top: calc(10 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-form__input .form_table .error_text {
    margin-top: calc(25 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
.p-form__input .required {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
.p-form__input .agree_text {
  margin-top: calc(60 / var(--tsuruga-parent-font-size) * 1rem);
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .p-form__input .agree_text {
    margin-top: calc(40 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
.p-form__input .agree_text a {
  text-decoration: underline;
}
.p-form__input .agree {
  max-width: calc(300 / 1120 * 100%);
  margin: calc(30 / var(--tsuruga-parent-font-size) * 1rem) auto 0;
  background-color: #F5F7F8;
}
@media only screen and (max-width: 767px) {
  .p-form__input .agree {
    max-width: 100%;
  }
}
.p-form__input .agree input {
  display: none;
}
.p-form__input .agree input:checked + label .check {
  background-color: var(--tsuruga-color-accent);
}
.p-form__input .agree input:checked + label .check::before {
  border-bottom-color: #fff;
  border-right-color: #fff;
}
.p-form__input .agree label {
  display: flex;
  justify-content: center;
  width: 100%;
  padding: calc(14 / var(--tsuruga-parent-font-size) * 1rem);
  cursor: pointer;
}
.p-form__input .agree .inner {
  padding-left: 1.75em;
  position: relative;
}
.p-form__input .agree .check {
  display: inline-block;
  width: 1.25em;
  height: 1.25em;
  margin-top: -.625em;
  border: 1px solid #dedbd8;
  background-color: #fff;
  position: absolute;
  top: 50%;
  left: 0;
}
.p-form__input .agree .check::before {
  content: "";
  width: 35%;
  height: 85%;
  position: absolute;
  border-bottom: 2px solid #CCCCCC;
  border-right: 2px solid #CCCCCC;
  top: 45%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
  transition: .2s border-bottom-color ease-in-out,.2s border-right-color ease-in-out;
}
.p-form .box_btn {
  display: flex;
  justify-content: center;
  gap: calc(20 / var(--tsuruga-parent-font-size) * 1rem);
  margin-top: calc(40 / var(--tsuruga-parent-font-size) * 1rem);
}
@media only screen and (max-width: 767px) {
  .p-form .box_btn {
    flex-direction: column;
    gap: calc(15 / var(--tsuruga-parent-font-size) * 1rem);
  }
  .p-form .box_btn li .c-btn a, .p-form .box_btn li .c-btn button {
    margin-inline: auto;
  }
}
.p-form .box_note {
  border: 1px solid var(--tsuruga-color-gray-ca);
}
@media only screen and (min-width: 768px) {
  .p-form .box_note {
    margin-top: calc(80 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-form .box_note {
    margin-top: calc(60 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
@media only screen and (min-width: 768px) {
  .p-form .box_note {
    padding: calc(30 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-form .box_note {
    padding: calc(30 / var(--tsuruga-parent-font-size) * 1rem) calc(15 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
.p-form .box_note li {
  padding-left: 1em;
  text-indent: -1em;
}
.p-form .box_thanks {
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .p-form .box_thanks {
    margin-top: calc(60 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-form .box_thanks {
    margin-top: calc(30 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
@media only screen and (min-width: 768px) {
  .p-form .box_thanks p {
    margin-top: calc(40 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-form .box_thanks p {
    margin-top: calc(25 / var(--tsuruga-parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-form .box_thanks p {
    text-align: left;
  }
}
