/*========================================
セクション
========================================*/

.c-section2__contents {
  position: relative;
  background-color: #d4ebc0;
}

.c-section3 {
  padding-top: 48px;
  background-color: #ffffff;
}

@media (min-width: 640px) {
  .c-section2 {
    padding: 24px 12px;
  }
}

@media (max-width: 869px) {
  .c-section3 {
    padding-top: 12px;
  }
}

@media (max-width: 639px) {
  .c-section2 {
    padding: 0 0 24px;
  }
  .c-section3 {
    padding: 0 0 0;
    background-color: transparent;
  }
}



/*========================================
見出し
========================================*/

.c-heading2 + *,
.c-heading2-group + *,
.c-heading3 + * {
  margin-top: 24px;
}

.c-heading2--type1 {
  padding: 0.9rem;
  color: #ffffff;
  font-size: 2.4rem;
  font-family: var(--marugothic);
  background: url(../img/title_background01.png),url(../img/title_background02.png),#5cc700;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: left 12px center,right,center;
  border-radius: 6px;
}

.c-heading3--type1 {
  color: var(--accent-color);
  font-size: 2.4rem;
  font-family: var(--marugothic);
  font-weight: normal;
  text-align: center;
}

.c-heading3--type2 {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 9px;
  margin: 0 auto;
  padding-bottom: 9px;
  max-width: 660px;
  width: 100%;
  color: #5cc700;
  font-size: 3rem;
  font-family: var(--marugothic);
  font-weight: normal;
  text-align: center;
  border-bottom: solid 1px #707070;
}

.c-heading3--type2 span {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 2.1rem;
  font-family: var(--sansserif);
  font-weight: normal;
  text-align: center;
  border-radius: 50%;
}

.c-heading3--type2 span span {
  align-content: center;
  display: inline-block;
  width: 30px;
  height: 30px;
  font-size: 1.6rem;
  color: #ffffff;
  font-weight: bold;
  background-color: #5cc700;
}

@media (min-width: 870px) {
  .c-heading2--type1-sp {
    display: none;
  }
}

@media (max-width: 869px) {
  .c-heading2--type1 {
    display: none;
  }
  .c-heading2--type1-sp {
    padding: 1.2rem;
    color: #ffffff;
    font-size: 1.8rem;
    font-family: var(--marugothic);
    background: url(../img/title_background01.png),url(../img/title_background02.png),#5cc700;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: left 12px center,right,center;
    border-radius: 6px;
  }
  .c-heading3--type2 {
    margin-right: 30px;
    padding: 9px 6px 3px;
  }
  .c-heading-area .c-heading-area__inner.step2,
  .c-form-buttons-area .c-form-buttons-area__inner.step2 {
    transform: translateX(-640px);
  }
  .c-heading-area__inner.step2 .c-heading3--type2 {
    margin-right: 0;
    max-width: 580px;
  }
}

@media (max-width: 639px) {
  .c-heading2--type1-sp {
    padding: 0.9rem 0.6rem;
    font-size: 1.6rem;
    letter-spacing: -0.5px;
    background: #5cc700;
    border-radius: 0;
  }
  .c-heading2--type1-sp + .c-section3 {
    margin-top: 0;
  }
  .c-heading3--type2 {
    margin-right:  12px;
    padding: 9px 0 3px;
    font-size: 2.1rem;
    border-bottom: none;
  }
  .c-heading3--type2 span {
    font-size: 1.6rem;
  }
  .c-heading3--type2 span span {
    width: 24px;
    height: 24px;
    font-size: 1.4rem;
  }
}



/*========================================
カラム
========================================*/

.c-2columns,
.c-3columns {
  display: flex;
  margin-top: 12px;
  gap: 24px;
}

* .c-2columns:first-child,
* .c-3columns:first-child {
  margin-top: 0;
}

.c-2columns__container {
  width: calc((100% - 24px) / 2);
}

.c-3columns__container {
  width: calc((100% - 48px) / 3);
}

@media (max-width: 639px) {
  .c-2columns,
  .c-3columns {
    flex-direction: column;
  }
  .c-2columns__container {
    width: 100%;
  }
  .c-3columns__container {
    width: 100%;
  }
}



/*========================================

========================================*/

.c-text-emphasis01 {
  color: var(--text-emphasis-color);
}

* + .c-map {
  margin-top: 12px;
}

@media (min-width: 370px) {
  .c-newline-sp-s {
    display: none;
  }
}
@media (min-width: 640px) {
  .c-newline-sp {
    display: none;
  }
}

@media (max-width: 991px) {
  .c-newline-tb {
    display: inline-block;
  }
  .c-no-newline-tb {
    display: none;
  }
}

@media (max-width: 639px) {
  .c-newline-sp {
    display: inline-block;
  }
  .c-no-newline-sp {
    display: none;
  }
}



/*========================================

========================================*/

.c-2columns__container .c-heading3--type1 {
  font-size: 1.6rem;
  letter-spacing: -0.5px;
}

.c-flow {
  display: flex;
  justify-content: center;
  flex-direction: column;
  padding-left: 0;
  margin: 12px auto 0;
  max-width: 924px;
  list-style-type: none;
}

.c-flow::before {
  content: "";
  display: inline-block;
  width: 100%;
  height: 6px;
  background-image: url("../img/background_dotted01.png");
  background-size: 12px 6px;
}

.c-flow li {
  padding: 18px 0;
}

.c-flow li + li {
  border-top: solid 2px #eeeeee;
}

@media (max-width: 639px) {
  .c-flow {
    padding: 12px 24px 0;
  }
  .c-flow::before {
    content: none;
  }
  .c-flow li {
    padding: 9px 0;
    text-align: center;
  }
}




/*========================================
入力フォーム　ステップ
========================================*/

.c-information {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px;
  font-size: 1.4rem;
  background-color: #ffffff;
  border-radius: 6px;
  cursor: pointer;
}

.c-information p {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-top: 0;
}

.c-information p::before {
  content: "お知らせ";
  display: inline-block;
  padding: 3px 2px;
  width: 48px;
  height: 18px;
  color: #ffffff;
  font-size: 1.2rem;
  font-weight: bold;
  text-align: center;
  background-color: #fdac2a;
  border-radius: 2px;
}

.c-information__link,
.c-information__link--sp {
  padding: 0 2px;
  border: solid 2px #d3d3d3;
  border-radius: 2px;
}

.c-information:hover,
.c-information:hover .c-information__link {
  color: #fdac2a;
}


.c-form__title {
  position: relative;
}

.c-form__title::before,
.c-form__title::after {
  content: "";
  display: inline-block;
  position: absolute;
  z-index: 10;
  background-repeat: no-repeat;
  background-size: contain;
}

.c-form__title::before {
  top: -12px;
  left: 20px;
  width: 226px;
  height: 128px;
  background-image: url("../img/smile_01-left.png");
}

.c-form__title::after {
  top: -18px;
  right: 28px;
  width: 232px;
  height: 132px;
  background-image: url("../img/smile_01-right.png");
}

.c-form__step-list {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 9px;
  position: relative;
  margin: 0;
  padding: 9px;
  list-style-type: none;
  background-color: #e2e0e0;
}

.c-form__step-list::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 7px;
  left: 280px;
  z-index: 10;
  width: 36px;
  height: 34px;
  background: url("../img/smile_02.png") no-repeat;
  background-size: contain;
  transition: 0.2s;
}

.c-form__step-list.step2::before {
  left: 406px;
  transition: 0.2s;
}

.c-form__step-list li {
  color: #858585;
  font-weight: bold;
}

.c-form__step-list li span {
  display: inline-block;
  margin-left: 3px;
  padding: 3px;
  width: 24px;
  height: 24px;
  color: #ffffff;
  font-size: 1.2rem;
  font-weight: bold;
  text-align: center;
  background-color: #858585;
  border-radius: 50%;
}

.c-form__step-list li:nth-of-type(1),
.c-form__step-list li:nth-of-type(2).step2,
.c-form__step-list li:nth-of-type(3).step3 {
  color: #5cc700;
}

.c-form__step-list li:nth-of-type(1) span,
.c-form__step-list li:nth-of-type(2).step2 span,
.c-form__step-list li:nth-of-type(3).step3 span {
  color: #ffffff;
  background-color: #5cc700;
}

.c-form__step-list li + li {
  display: flex;
  align-items: center;
}

.c-form__step-list li + li::before {
  content: "";
  display: inline-block;
  margin-right: 9px;
  width: 36px;
  height: 2px;
  background-color: #707070;
}

.c-form__step-list li.step2::before,
.c-form__step-list li.step3::before,
.c-form__step-list li.step4::before {
  background-color: transparent;
}

@media (max-width: 869px) {
  .c-information {
    display: none;
  }
  .c-form__title::before,
  .c-form__title::after {
    content: none;
  }
  .c-form__title img {
    width: 100%;
  }
  .c-form__step-list::before {
    top: 7px;
    left: 50%;
    transform: translateX(calc(-50% - 120px));
    height: 34px;
  }

  .c-form__step-list.step2::before {
    left: 50%;
    transform: translateX(calc(-50% + 6px));
    transition: 0.2s;
  }

}

@media (max-width: 639px) {
  .c-information__link--sp {
    width: 30px;
    font-size: 1rem;
    text-align: center;
  }
  .c-form {
    margin-top: 0;
    padding-bottom: 24px;
    background-color: #d4ebc0;
  }
  .c-form__step-list {
    
  }
  .c-form__step-list li span {
    
  }
  .c-form__step-list li + li::before {
    
  }
  .c-form__step,
  .c-form-registration {
    margin: 0 12px;
  }
}

@media (max-width: 369px) {
  .c-information__link--sp {
    padding: 0 2px;
    width: 30px;
  }
}



/*========================================
入力フォーム
========================================*/

@media (max-width: 639px) {
  #form {
    /*padding-top: 84px;
    margin-top: -84px;*/
  }
}

.c-form-registration {
  
}

.c-form-registration__row {
  display: flex;
  flex-direction: column;
  gap: 9px;
  padding: 1.2rem 0;
  min-height: 76px;width:100%;
}

.c-form-registration__row:nth-of-type(odd) {
  /*background-color: #fff0f0;*/
}

.c-form-registration__row:last-child {
  display: flex;
}

.c-form-registration__row--additional {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 1.2rem;
  margin-top: 12px;
}

.c-form-registration__row--additional + .c-form-registration__row--additional {
  padding-top: 12px;
  border-top: solid 1px #bab9b9;
}

.c-form-registration__note01 {
  margin-left: 9px;
  font-size: 1.2rem;
}

.c-form-registration__left-column {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 9px;
  /*width: 300px;
  max-width: 300px;*/
  font-weight: bold;
}

.c-form-registration__left-column::before {
  padding: 1px 6px;
  color: #ffffff;
  font-size: 1.4rem;
  border-radius: 2px;
}

.c-form-registration__left-column.c-required::before {
  content: "必須";
  background-color: #5cc700;
}

.c-form-registration__left-column.c-no-required::before {
  content: "任意";
  background-color: #0486d8;
}

.c-form-registration__right-column {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  width: 100%;
}

.c-form-registration__right-column > .c-form-container {
  width: 100%;
}

.c-form-wrapper {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  width: 100%;
}

.c-checkbox-sub-container {
  width: 100%;
}

.c-checkbox-sub-container__title {
  display: flex;
  align-items: center;
  font-size: 14px;
  text-align: center;
}

.c-checkbox-sub-container__title::after {
  content: "";
  display: inline-block;
  margin-left: 6px;
  width: 6px;
  height: 6px;
  border: solid 2px #dddddd;
  border-top: none;
  border-right: none;
  transform: rotate(-45deg);
}

.c-checkbox-sub-wrapper {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-top: 12px;
  visibility: hidden;
  transform-origin: top;
  height: 0;
  transition: 0.3s ease;
  opacity: 0;
}

.c-checkbox-sub-wrapper.open {
  visibility: visible;
  height: 100%;
  transition: 0.3s ease;
  opacity: 1;
}

input[type="tel"] {
  /*width: 280px;*/
}

input[name="c_zip1"] {
  width: calc((100% - 24px) / 3);
}


.c-form-registration__row label,
.c-form-registration__row--additional label {
  display: flex;
  align-items: center;
  /*padding: 3px;*/
  width: calc((100% - 24px) / 3);
  height: 32px;
  font-size: 1.4rem;
  line-height: 1.25;
  /*border: solid 2px #dddddd;*/
  border-radius: 4px;
}

.c-form-registration__row label + label,
.c-form-registration__row--additional label + label {
  margin-top: 3px;
}

.c-radio {
  display: flex;
  justify-content: flex-end;
  gap: 6px;
  width: calc((100% - 24px) / 3);
  border: solid 2px #dddddd;
  border-radius: 4px;
}

.c-radio--02 {
  width: calc((100% - 12px) / 2);
}

.c-radio--04 {
  width: calc((100% - 36px) / 4);
}

input[type="radio"] {
  margin-right: 3px;
  inline-size: 1.8rem;
  block-size: 1.8rem;
  display: none;
}

.c-radio label {
  position: relative;
  width: calc(100% - 30px);
}

.c-radio label::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 51%;
  left: -20px;
  z-index: 10;
  margin-top: -9px;
  width: 12px;
  height: 12px;
  border: 2px solid #ffffff;
  border-radius: 50%;
  opacity: 0;
}

.c-radio input[type="radio"]:checked + label::before {
  opacity: 1;
}

.c-radio label:hover::after {
  /*filter: brightness(90%);*/
}

.c-radio label::after {
  content: "";
  display: block;
  position: absolute;
  top: 48%;
  left: -20px;
  margin: -10px 0 0 -2px;
  width: 16px;
  height: 16px;
  border: solid 2px #999999;
  border-radius: 50%;
}

.c-radio input[type="radio"]:checked + label::after {
  background-color: #fdac2a; 
  border: solid 2px #fdac2a;
}

.c-checkbox {
  display: flex;
  justify-content: flex-end;
  gap: 6px;
  width: calc((100% - 24px) / 3);
  border: solid 2px #dddddd;
  border-radius: 4px;
}

.c-checkbox--02 {
  width: calc((100% - 12px) / 2);
}

.c-checkbox.c-checkbox--02.c-nocheckbox {
  width: calc((100% - 12px) / 2);
  font-size: 1.2rem;
  border: none;
}

.c-checkbox.c-checkbox--02.c-nocheckbox p {
  margin-top: 6px;
  width: 100%;
  line-height: 1.2;
}

input[type="checkbox"] {
  margin-right: 3px;
  inline-size: 1.8rem;
  block-size: 1.8rem;
  display: none;
}

.c-checkbox label {
  position: relative;
  width: calc(100% - 30px);
}

.c-checkbox label::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  left: -16px;
  z-index: 10;
  margin-top: -9px;
  width: 4px;
  height: 12px;
  border-right: 3px solid #ffffff;
  border-bottom: 3px solid #ffffff;
  transform: rotate(45deg);
  opacity: 0;
}

.c-checkbox input[type="checkbox"]:checked + label::before {
  opacity: 1;
}

.c-checkbox label:hover::after {
  /*filter: brightness(90%);*/
}

.c-checkbox label::after {
  content: "";
  display: block;
  position: absolute;
  top: 48%;
  left: -20px;
  margin: -10px 0 0 -2px;
  width: 16px;
  height: 16px;
  border: solid 2px #999999;
  border-radius: 3px;
}

.c-checkbox input[type="checkbox"]:checked + label::after {
  background-color: #fdac2a; 
  border: solid 2px #fdac2a;
}




.c-form-registration__row.c-form-registration__row--2items {
  display: flex;
  flex-direction: row;
  gap: 12px;
}

.c-form-registration__row.c-form-registration__row--2items .c-form-2items-wrapper {
  width: 100%;
}

.c-form-registration__row.c-form-registration__row--2items > .c-form-2items-wrapper,
.c-form-registration__row.c-form-registration__row--2items-02 > .c-form-2items-wrapper {
  display: flex;
  flex-direction: column;
  gap: 9px;
}

.c-form-registration__row.c-form-registration__row--2items-02 {
  display: flex;
  flex-direction: row;
  gap: 12px;
}

.c-form-registration__row.c-form-registration__row--2items-02 .c-form-2items-wrapper:nth-child(1) {
  width: calc((100% - 24px) / 3);
}

.c-form-registration__row.c-form-registration__row--2items-02 .c-form-2items-wrapper:nth-child(2) {
  flex-grow: 1;
}

.p-form-birth-sex .c-form-2items-wrapper:nth-child(1) .c-form-registration__right-column {
  gap: 6px;
}

input[name="namae"],
input[name="kana"],
input[name="tel"],
input[name="mail"],
input[name="zip"],
input[name="address_01"],
input[name="last_work_history_company"],
input[name="last_work_history_affiliation"],
input[name="last_work_history_position"],
input[name="last_work_history_occupation"],
input[name="last_work_history_job_description"],
input.empty[name="graduation_year"],
input.empty[name="academic_history_other"],
input[name="monthly_salary_01"],
input[name="monthly_salary_02"],
input[name="hourly_wage_01"],
input[name="hourly_wage_02"],
input[name="annual_salary_01"],
input[name="annual_salary_02"],
input[name="workplace_01"],
select[name="birth_year"],
select[name="birth_month"],
select[name="birth_day"],
select[name="last_work_history_year"],
select[name="last_work_history_month"],
select[name="desired_industry_01"],
select[name="desired_occupation_01"],
select[name="start_year"],
select[name="start_month"],
select[name="start_day"],
select[name="desired_work_style"],
select[name="employment_status"],
textarea[name="expertise"],
.c-radio,
.c-checkbox:not(.c-nocheckbox) {
  background-color: #ffdfdf;
}

input[name="namae"]:user-valid,
input[name="kana"]:user-valid,
input[name="tel"]:user-valid,
input[name="mail"]:user-valid,
input[name="zip"]:user-valid,
input[name="address_01"]:user-valid,
input[name="last_work_history_affiliation"]:user-valid,
input[name="last_work_history_position"]:user-valid,
input[name="last_work_history_occupation"]:user-valid,
input[name="last_work_history_job_description"]:user-valid,
input[name="last_work_history_company"]:user-valid,
input[name="monthly_salary_01"]:user-valid,
input[name="monthly_salary_02"]:user-valid,
input[name="hourly_wage_01"]:user-valid,
input[name="hourly_wage_02"]:user-valid,
input[name="annual_salary_01"]:user-valid,
input[name="annual_salary_02"]:user-valid,
input[name="workplace_01"]:user-valid,
select[name="birth_year"]:user-valid,
select[name="birth_month"]:user-valid,
select[name="birth_day"]:user-valid,
select[name="last_work_history_year"]:user-valid,
select[name="last_work_history_month"]:user-valid,
select[name="desired_industry_01"]:user-valid,
select[name="desired_occupation_01"]:user-valid,
select[name="start_year"]:user-valid,
select[name="start_month"]:user-valid,
select[name="start_day"]:user-valid,
select[name="desired_work_style"]:user-valid,
select[name="employment_status"]:user-valid,
textarea[name="expertise"]:user-valid {
  background-color: #ffffff;
}

input[name="graduation_year"]:disabled,
input[name="academic_history_other"]:disabled,
.c-radio.checked,
.c-checkbox.checked,
.p-form-salary .c-radio,
.p-form-agree .c-checkbox {
  background-color: #ffffff;
}

input:valid {
  background-color: #ffffff;
}

select[name="birth_year"] {
  width: 30%;
}

select[name="birth_month"],
select[name="birth_day"] {
  flex-grow: 1;
}

select[name="birth_year"] + span,
select[name="birth_month"] + span,
select[name="birth_day"] + span {
  margin-right: 6px;
}

.p-form-address {
  gap: 6px;
  padding-top: 0;
}

.p-form-zip-address .c-form-note01 {
  font-size: 1rem;
}

.p-form-academic-history .c-radio-2items {
  display: flex;
  align-items: center;
  gap: 6px;
  width: calc((100% - 24px) / 3);
}

.p-form-academic-history .c-radio-2items > .c-radio {
  width: 60%;
}

.p-form-academic-history .c-radio-2items > .c-radio label {
  width: calc(100% - 30px);
}

.p-form-academic-history .c-radio-2items > input[name="graduation_year"] {
  width: 30px;
}

.p-form-academic-history .c-radio-2items > input[name="graduation_year"]:disabled,
.p-form-academic-history .c-radio-2items--other > input[name="academic_history_other"]:disabled {
  color: transparent;
}

.p-form-academic-history .c-radio-2items > input[name="graduation_year"] + span {
  font-size: 1.2rem;
  line-height: 1.1;
}

.p-form-academic-history .c-radio-2items--other {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
}

.p-form-academic-history .c-radio-2items--other .c-radio {
  flex-shrink: 0;
  gap: 6px;
}

.p-form-last-work-history input[name="last_work_history_affiliation"]::placeholder,
.p-form-last-work-history input[name="last_work_history_position"]::placeholder {
  font-size: 1.4rem;
}

.p-form-salary__row-radio {
  display: flex;
  gap: 12px;
  width: 50%;
}


.p-form-salary__row-amount {
  display: flex;
  gap: 9px;
  width: 100%;
}

.p-form-industry-occupation .c-form-registration__right-column {
  flex-wrap: nowrap;
}

.p-form-industry-occupation .c-form-registration__right-column select,
.p-form-start-style .c-form-2items-wrapper:nth-child(2) .c-form-registration__right-column select {
  width: calc(50% - 6px);
}

.c-form-note01 {
  font-size: 1.2rem;
  font-weight: normal;
  line-height: 1.1;
}

.c-form-agree p {
  margin-top: 0;
}

.c-form-agree p a {
  color: #0486d8;
}
.c-form-agree p a:hover {
  text-decoration: none;
}

.c-form-2items-wrapper {
  width: calc((100% - 12px) / 2);
}

.c-form-2items-wrapper {
  width: calc((100% - 12px) / 2);
}

.p-form-last-work-history .c-form-registration__right-column > .c-form-2items-wrapper > span:nth-child(1) {
  font-weight: bold;
}

.p-form-last-work-history .c-form-registration__right-column > .c-form-2items-wrapper > span:nth-child(1) + input {
  margin-top: 2px;
}

.p-form-last-work-history .c-form-registration__right-column:nth-of-type(4) > .c-form-2items-wrapper:nth-child(1) {
  width: 68%;
}

.p-form-last-work-history .c-form-registration__right-column:nth-of-type(4) > .c-form-2items-wrapper:nth-child(2) {
  width: calc(32% - 12px);
}

.p-form-last-work-history .c-form-registration__right-column:nth-of-type(4) > .c-form-2items-wrapper:nth-child(2) > .c-form-2items-wrapper {
  display: flex;
  gap: 6px;
  margin-top: 2px;
  width: 100%;
}

.p-form-last-work-history .c-form-registration__right-column:nth-of-type(4) > .c-form-2items-wrapper:nth-child(2) > .c-form-2items-wrapper select {
  flex-grow: 1;
  width: 50%;
}


.p-form-salary__row {
  display: flex;
  align-items: center;
  gap: 9px;
  width: 100%;
}

.p-form-salary__row-title {
  flex-shrink: 0;
  margin-right: 24px;
  font-weight: bold;
}

.p-form-salary__row-low,
.p-form-salary__row-high {
  display: flex;
  align-items: center;
  gap: 6px;
  width: 246px;
}

.p-form-salary__row span {
  flex-shrink: 0;
  font-weight: bold;
}

.p-form-salary__row input[type="number"] {
  width: 180px;
}

.p-form-agree {
  gap: 0;
}

.p-form-agree .c-checkbox {
  justify-content: center;
  margin-top: 9px;
  width: auto;
  border: none;
}

.p-form-agree .c-checkbox label {
  padding-left: 3px;
  width: auto;
  font-size: 1.6rem;
}

.p-form-agree .c-checkbox label::after {
  border: solid 2px #fd6666;
}

.p-form-agree .c-checkbox input[type="checkbox"]:checked + label::after {
  background-color: #fd6666; 
  border: solid 2px #fd6666;
}

@media (min-width: 640px) {
  select[name="desired_industry_01"],
  select[name="desired_industry_02"],
  select[name="desired_occupation_01"],
  select[name="desired_occupation_02"] {
    padding: 6px;
  }
}

@media (min-width: 870px) {
  .c-form-registration__row.c-form-registration__row--2items.p-form-status-workplace .c-form-2items-wrapper {
    width: calc((100% - 24px) / 3);
  }
  .c-form-registration__row.c-form-registration__row--2items.p-form-status-workplace .c-form-2items-wrapper,
  .c-form-registration__row.c-form-registration__row--2items.p-form-status-workplace #employment_status {
    width: 100%;
  }
}

@media (max-width: 869px) {
  .c-form-registration__row.c-form-registration__row--2items.p-form-status-workplace {
    flex-wrap: wrap;
  }
  .c-form-registration__row.c-form-registration__row--2items.p-form-status-workplace .c-form-2items-wrapper {
    width: calc((100% - 12px) / 2);
  }
  .c-form-registration__row.c-form-registration__row--2items.p-form-status-workplace #employment_status {
    width: 100%;
  }
  .c-form-registration__row.c-form-registration__row--2items-02 .c-form-2items-wrapper:nth-child(1) {
    width: 220px;
  }
}

@media (max-width: 869px) and (min-width: 640px) {
  select[name="birth_year"] {
    width: 24%;
  }
  select[name="birth_month"],
  select[name="birth_day"] {
    width: 18%;
  }
}

@media (max-width: 639px) {
  .c-form-registration__row.c-form-registration__row--2items.p-form-tel-mail,
  .c-form-registration__row.c-form-registration__row--2items.p-form-birth-sex,
  .c-form-registration__row.c-form-registration__row--2items-02.p-form-zip-address,
  .c-form-registration__row.c-form-registration__row--2items.p-form-industry-occupation,
  .c-form-registration__row.c-form-registration__row--2items.p-form-sart {
    flex-direction: column;
  }
  .p-form-start-style {
    flex-wrap: wrap;
  }
  .c-form-registration__left-column {
    gap: 6px;
    font-size: 1.4rem;
  }
  .c-form-registration__left-column::before {
    flex-shrink: 0;
    padding: 1px 4px;
    font-size: 1rem;
  }
  .c-form-registration__right-column .c-checkbox {
    width: calc((100% - 12px) / 2);
  }
  .c-checkbox label,
  .c-radio label {
    /*width: 82%;*/
    height: 40px;
    font-size: 1.4rem;
  }
  .c-form-registration__right-column .c-radio {
    width: calc((100% - 12px) / 2);
  }
  .c-form-registration__row.c-form-registration__row--2items-02.p-form-zip-address .c-form-2items-wrapper:nth-child(1),
  .p-form-zip-address .c-form-2items-wrapper:nth-child(2) {
    width: 100%;
  }
  input[name="zip"] {
    width: 120px;
  }
  .p-form-last-work-history .c-form-registration__right-column:nth-child(4) > .c-form-2items-wrapper:nth-child(1) {
    width: 100%;
  }
  .p-form-last-work-history .c-form-registration__right-column:nth-child(4) > .c-form-2items-wrapper:nth-child(2) {
    width: calc(50% - 6px);
  }
  .p-form-academic-history .c-radio-2items {
    width: calc((100% - 12px) / 2);
  }
  .p-form-academic-history .c-radio-2items > .c-radio {
    width: 68%;
  }
  .p-form-academic-history .c-radio-2items > input[type="text"],
  .p-form-academic-history .c-radio-2items--other > input[name="academic_history_other"] {
    flex-grow: 1;
    padding: 6px 3px;
    width: 24px;
    height: 42px;
  }
  .p-form-academic-history .c-radio-2items > input[type="text"] + span {
    font-size: 1rem;
    /*writing-mode: vertical-lr;*/
  }
  .p-form-last-work-history .c-form-registration__right-column > .c-form-2items-wrapper > span {
    display: block;
    font-size: 1.4rem;
  }
  .c-checkbox.c-checkbox--02.c-nocheckbox p {
    letter-spacing: -0.5px;
  }
  .p-form-salary__row-title {
    margin-right: 3px;
    font-size: 1.4rem;
  }
  .p-form-salary__row span {
    flex-shrink: 0;
    font-size: 1.4rem;
    font-weight: bold;
  }
  .p-form-salary__row input[type="number"] {
    width: 110px;
  }
  .p-form-transfer-shift .c-form-2items-wrapper:nth-child(2) .c-form-registration__left-column {
    margin-bottom: 3px;
    font-size: 1.2rem;
    letter-spacing: -0.3px;
  }
  .c-form-note01 {
    font-size: 1rem;
    line-height: 1.25;
    letter-spacing: -0.5px;
  }
  .c-form-agree {
    min-height: 60px;
  }
  .c-form-agree p {
    font-size: 1.4rem;
    letter-spacing: -0.5px;
    line-height: 1.25;
  }
}



/*========================================
入力フォーム　見出し・ボタン
========================================*/

.c-heading-area {
  position: relative;
  max-width: 840px;
  overflow: hidden;
}

.c-heading-area__inner {
  display: flex;
  width: 1680px;
}

.c-form-registration {
  position: relative;
}

.c-form-registration__step-area {
  background-color: #ffffff;
  /*overflow-x: hidden;*/
  max-width: 840px;
  position: relative;
}

.c-form-registration__step-area-inner {
  display: flex;flex-direction: column;
  /*width: 2560px;*/
  transition: 0.2s ease-in;
}

/*.c-form-registration__step-area-inner {
  transform: translateX(0);
  transition: 0.2s ease-in;
}

.c-form-registration__step-area-inner.step2 {
  transform: translateX(-640px);
  transition: 0.2s ease-in;
}*/

.c-heading-area__inner.step2,
.c-form-buttons-area__inner.step2 {
  transform: translateX(-840px);
}

.c-form-registration__step-area-inner > * {
  position: relative;
  padding: 12px 90px 0;
  max-width: 840px;
  width: 100%;
}

.c-form-registration__step-area-inner .c-form-registration__step-section:nth-of-type(2) {
  display:none;
}

.c-form-registration__step-area-inner.step2 .c-form-registration__step-section:nth-of-type(2) {
  display:block;
}
.c-form-registration__step-area-inner.step2 .c-form-registration__step-section:nth-of-type(1) {
  display:none;
}

.c-form-buttons-area {
  padding-top: 12px;
  padding-bottom: 36px;
  background-color: #ffffff;
  border-radius: 0 0 6px 6px;
  overflow: hidden;
}

.c-form-buttons-area__inner {
  display: flex;
  width: 1680px;
}

.c-form-buttons-area__inner > * {
  display: flex;
  justify-content: center;
  gap: 24px;
  width: 840px;
}

.c-form-buttons--01,
.c-form-buttons--02 {
  position: relative;
}

.c-form-buttons--02 .c-prev {
  position: absolute;
  top: 50%;
  left: 12%;
  transform: translateY(-50%);
}

.c-next,
.c-submit {
  cursor: pointer;
}

.c-next:hover,
.c-submit:hover {
  opacity: 0.8;
}

.c-next:disabled,
.c-submit:disabled {
  cursor: default;
  opacity: 0.5;
}

.c-next img,
.c-submit img {
  border-radius: 6px;  
  box-shadow: 6px 6px 18px rgba(0,0,0,0.3);;
}

.c-prev {
  color: #0486d8;
  font-size: 1.4rem;
  font-weight: bold;
}

.c-prev::before {
  content: "◀︎";
}


@media (min-width: 870px) {
  .p-form-status-workplace .c-form-2items-wrapper:nth-child(2) {
    display: none;
  }
}

@media (max-width: 869px) {
  .c-heading-area__inner {
    padding: 0 30px;
    width: 1280px;
  }
  .c-form-registration__step-area-inner > * {
    position: relative;
    padding: 12px 30px 0;
    max-width: 840px;
    width: 100%;
  }
  .c-form-buttons-area__inner {
    width: 200%;
  }
}

@media (max-width: 639px) {
  .c-heading-area {
    margin: 0 auto;
    padding: 0 12px;
    max-width: calc(100% - 24px);
    background-color: #ffffff;
  }
  .c-form-registration__step-area {
    width: 100%;
    /*overflow-x: hidden;*/
  }
  .c-form-registration__step-area-inner {
    /*width: 400%;*/
  }
  .c-form-registration__step-area-inner > * {
    padding: 3px 12px 0;
    width: 100%;
  }
  .c-form-registration__step-area-inner .c-form-registration__step-section:nth-of-type(1) .c-form-registration__row:nth-of-type(2) .c-form-registration__right-column .c-radio:nth-of-type(2) {
    letter-spacing: -1px;
  }
  .c-form-registration__step-area-inner.step2 {
    /*transform: translateX(-25%);*/
  }
  .c-heading-area .c-heading-area__inner.step2,
  .c-form-buttons-area .c-form-buttons-area__inner.step2 {
    transform: translateX(-50%);
  }
  .c-form-registration__step-area-inner .c-form-registration__step-section > *:nth-child(1) {
    padding-top: 24px;
    border-top: solid 1px #707070;
  }
  .p-form-tel-mail,
  .p-form-birth-sex,
  .p-form-zip-address,
  .p-form-academic-history,
  .p-form-last-work-history,
  .p-form-license,
  .p-form-start-style,
  .p-form-salary,
  .p-form-status-workplace,
  .p-form-transfer-shift,
  .p-form-relocating,
  .p-form-expertise,
  .p-form-pr {
    padding-top: 0;
  }
  .c-form-registration__row,
  .c-form-registration__row.c-form-registration__row--2items > .c-form-2items-wrapper,
  .c-form-registration__row.c-form-registration__row--2items-02 > .c-form-2items-wrapper {
    gap: 6px;
  }
  .p-form-salary__row-radio {
    width: 80%;
  }
  .p-form-agree {
    gap: 0;
  }
  .c-form-buttons-area {
    padding-top: 6px;
    width: 100%;
  }
  .c-heading-area__inner {
    padding: 0;
    width: calc(200% + 24px);
  }
  .c-form-buttons-area__inner > * {
    gap: 12px;
    width: 100%;
  }
  .c-form-buttons-area__inner {
    width: 200%;
  }
  .c-form-buttons--02 .c-prev {
    left: 6%;
  }
  .c-form-buttons-area__inner .c-next img,
  .c-form-buttons-area__inner .c-submit img {
    width: 200px;
  }
}

@media (max-width: 369px) {
  .c-form-buttons--02 .c-prev {
    left: 5%;
  }
  .c-form-buttons-area__inner .c-next img,
  .c-form-buttons-area__inner .c-submit img {
    width: 180px;
  }
}



/*========================================
モーダル
========================================*/

.c-modal {
  display: none;
  position: absolute;
  top: 0;
  z-index: 100;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,0.5);
}

.c-modal.open {
  display: block;
}

.c-modal-container {
  max-width: 740px;
  max-height: 780px;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  border-radius: 12px;
  box-shadow: 6px 12px 12px rgba(0,0,0,0.5);
}

.c-modal-body {
  position: relative;
}

.c-modal-body__announcement img {
  width: 100%;
  border-radius: 12px;
}

.c-modal-body__button {
  position: absolute;
  top: 53%;
  left: 50%;
  transform: translateX(-50%);
}

.c-modal-body__button a {
  transition: 0.3s;
}

.c-modal-body__button a:hover {
  filter: brightness(80%);
  transition: 0.3s;
}

.c-modal-container__close {
  position: absolute;
  top: -12px;
  right: -12px;
}

@media (max-width: 991px) {
  .c-modal-container {
    max-width: 100%;
    width: 70%;
  }
  .c-modal-body__button {
    
  }
}

@media (max-width: 639px) {
  .c-modal-container {
    max-width: 100%;
    width: 80%;
  }
  .c-modal-body__button {
    top: 53%;
  }
}



/*========================================
Thanks
========================================*/

.page-thanks .l-contents {
  padding-bottom: 100px;
  background-image: url(../img/background01.jpg);
}

.c-thanks-message {
  position: relative;
  z-index: 10;
  margin-top: 3.6rem;
  padding-top: 3.6rem;
  text-align: center;
  background-color: #ffffff;
  border-radius: 6px;
}

.c-thanks-message__body {
  padding: 0 1.2rem;
}

.c-thanks-message__body > * {
  margin-left: auto;
  margin-right: auto;
  max-width: 540px;
}

.c-thanks-message__body b {
  font-size: 2.1rem;
}

.c-thanks-message__body p {
  margin-top: 9px;
  padding-top: 12px;
  border-top: solid 1px #707070;
}

.c-thanks-message__footer {
  display: flex;
  justify-content: center;
  gap: 12px;
  position: relative;
  margin-top: 2.4rem;
  padding: 1.2rem;
  background-color: #5cc700;
  border-bottom-left-radius: 6px;
  border-bottom-right-radius: 6px;
}

@media (max-width: 639px) {
  .c-thanks-message {
    flex-direction: column;
    margin: 9.6rem 1.2rem 0;
    padding: 1.8rem 0 0;
  }
  .c-thanks-message__body b {
    font-size: 1.8rem;
  }
  .c-thanks-message__footer > * {
    flex-basis: 50%;
  }
}

@media (max-width: 369px) {
  .page-thanks .l-contents {
    padding-bottom: 70px;
  } 
}



/*========================================
validationEngine
========================================*/

.c-form-registration__right-column .formErrorArrow {
  display: none;
}

.c-form-registration__right-column .formError .formErrorContent {
  margin-top: 6px;
  padding: 3px 6px;
  color: #ff0000;
  font-size: 1rem;
  line-height: 1.1;
  background-color: #ffffff;
  border-color: #999999;
  box-shadow: 0 0 3px #999999;
}