@charset "utf-8";

/* header.css部分の画像差し替え */
.side_image_wrap {
  background-image: url(../img/recruit_grid5.jpg);
  background-position: 80%;
}

.single_recruit {
  position: relative;
  background-color: var(--rec-main-color);
  padding-bottom: 13.5rem;
  font-family: var(--NotoSans);
}

.bgimg_outer {
  position: fixed;
  width: fit-content;
  height: fit-content;
  z-index: 100;
}

.sr_bgimg {
  position: fixed;
  top: 0;
  left: 0;
  aspect-ratio: 418 / 719;
  width: 41.8rem;
  height: 100%;
  overflow: hidden;
  mask-image: url(../img/circle_mask.svg);
  mask-repeat: no-repeat;
  mask-size: 120.1rem;
  mask-position: 100% 25%;
  z-index: 100;
}

.sr_bgimg img {
  object-position: 100% 0;
}

.section_title {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: .7rem;
  margin: 0 auto;
  color: white;
  font-size: min(2.5rem, 25px);
  letter-spacing: 0;
  line-height: 1em;
}

.section_title .title_circle {
  display: flex;
  justify-content: center;
  align-items: center;
  aspect-ratio: 1/1;
  width: min(6.6rem, 66px);
  background-color: black;
  border-radius: 50%;
  font-weight: 700;
}





/* recruit_top */
.recruit_top {
  font-family: var(--NotoSans);
  position: relative;
  /* padding: 12.4rem 7rem 11rem 48.9rem; */
  padding: 9rem 7rem 0 48.9rem;
}

.rt_titles {
  position: relative;
  border-bottom: solid .1rem black;
}


.rt_cats {
  font-size: min(2rem, 20px);
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
}

.rt_title {
  font-size: min(5rem, 50px);
  font-weight: 500;
  letter-spacing: 0;
  line-height: calc(80 / 60);
  padding-bottom: 1.0rem;
}

.rt_image {
  margin-top: 3rem;
  aspect-ratio: 722/420;
  width: 100%;
  overflow: hidden;
}

.rt_desc {
  /* margin-top: 4rem; */
  margin-top: 3.4rem;
  font-size: min(1.4rem, 14px);
  font-weight: 500;
  letter-spacing: 0;
  line-height: calc(30 / 14);
}


/* staff */
.staff {
  position: relative;
  padding: 11rem 7rem 0 29.6rem;
}

.staff_inner {
  margin-left: auto;
  width: 72.2rem;
}

.staff_contents {
  margin-top: 4.6rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}

.staff_content {
  width: 23rem;
}

.staff_img {
  aspect-ratio: 1/1;
  width: 100%;
  overflow: hidden;
  border: #CBBFA1 .3rem solid;
  border-radius: 50%;
}

.staff_text {
  margin-top: 1.2rem;
  text-align: center;
  font-size: min(1.6rem, 16px);
  font-weight: 700;
  letter-spacing: .02em;
  line-height: 1em;
}

.staff_job {
  position: relative;
  padding: 0 0 0 29.6rem;
}

.staff_job_desc {
  margin-top: 10rem;
}

.job_dropdown {
  width: 100%;
}

.job_dropdown:not(:first-child) {
  margin-top: 1.5rem;
}

.dropdown_header {
  background-color: #FF9924;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: min(1.8rem, 18px) 8.8rem min(1.8rem, 18px) 19.2rem;
}

.dropdown_title {
  font-size: min(1.8rem, 18px);
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1em;
}

.dropdown_triangle {
  aspect-ratio: 20/17;
  width: min(2rem, 20px);
  background-color: #fff;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  transition: all ease .5s;
}

.dropdown_triangle.active {
  transform: rotateZ(60deg);
}

.dropdown_main {
  display: none;
  background-color: #fff;
  padding: 3rem 7rem 3rem 19.2rem;
}

.dropdowm_desc {
  font-size: min(1.5rem, 15px);
  font-weight: 500;
  letter-spacing: 0;
  line-height: calc(30 / 15);
}

.dropdown_table {
  margin-top: 3.4rem;
  background-color: var(--rec-main-color);
  padding: 3.7rem 3rem 2.9rem;
}

.dropdown_table_content {
  display: flex;
  align-items: start;
  padding: 2.5rem 0;
  font-size: min(1.5rem, 15px);
  letter-spacing: 0;
  line-height: calc(30em/15);
}

.dropdown_table_content:not(:last-child) {
  border-bottom: solid black .1rem;
}

.table_title {
  position: relative;
  width: 23rem;
  padding-left: 1.6rem;
  font-weight: 500;
}

.table_title::before {
  content: "";
  position: absolute;
  background-color: #FF9924;
  left: 0;
  top: 0;
  width: .6rem;
  height: 100%;
}

.table_desc {
  font-weight: 500;
}



/* facility */
.facility {
  padding: 10rem 7rem 0 48.8rem;
}

.facility_contents {
  margin-top: 5.3rem;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6.8rem;
}

.facility_content {
  display: block;
  padding: 1.12rem 2.76rem;
  background-color: #fff;
  border-radius: .6rem;
  aspect-ratio: 285/60;
  width: 28.5rem;
}

.facility_content img {
  height: auto;
}

/* /img/top_section1.png : ケアプラン /img/top_section2.png : ホームヘルプ /img/top_section3.png : レスピケアナース /img/top_section4.png : プルーンベリーハウス */

/* application */
.application {
  /* padding: 10rem 7rem 13.6rem 48.8rem; */
  padding: 10rem 7rem 0 48.8rem;
}

.app_desc {
  margin-top: 5.3rem;
  font-size: min(1.5rem, 15px);
  letter-spacing: 0;
  line-height: calc(30em/15);
}

.app_line {
  margin-top: 4rem;
  margin-bottom: 8.5rem;
  display: flex;
  align-items: center;
  gap: 4.5rem;
}

.app_line_link {
  aspect-ratio: 268/102;
  width: 26.8rem;
  padding: 4.1rem 3.8rem;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #fff;
}

.app_line_desc {
  font-size: min(1.5rem, 15px);
  letter-spacing: 0;
  line-height: calc(30em/15);
}

.contact_form_area{
  margin: 0;
}

.contect_forms {
  margin-top: 8.5rem;
}

.contact_form:not(:first-child) {
  margin-top: 3.5rem;
}

.contact_form.input_select {
  position: relative;
}

.contact_form.input_select::after {
  content: "";
  position: absolute;
  bottom: 1.65rem;
  right: 4rem;
  aspect-ratio: 17/14;
  width: 1.7rem;
  background-color: black;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
}

.contact_form_header {
  height: 4.7rem;
  width: 100%;
  background-color: #FF9924;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 2.3rem;
}

.contact_form_label {
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1em;
}

.contact_form_required {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #EC6D65;
  padding: .2rem .8rem;
  color: white;
  font-size: 1.3rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1em;
}

.contact_sep_tel {
  margin: 2.3rem 0 0 2.5rem;
  display: flex;
  align-items: center;
  gap: 1.4rem;
}

.input_form {
  background-color: #F2F2F2;
  display: block;
  margin: 2.3rem auto 0;
  width: calc(100% - 5rem);
  padding: 1rem 1.3rem;
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1em;
  border-bottom: solid .1rem black;
}

.input_form.tel {
  width: 15.7rem;
  margin: 0;
}

.input_form_dash {
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1em;
}

/* リストの縦幅制御 */
.wpcf7-select {
  height: 4.6rem;

}

.input_form.input_textarea {
  resize: none;
  height: 21.57rem;
  line-height: calc(30em/18);
}



.contact_confirm {
  display: block;
  margin: 5.93rem auto 0;
  aspect-ratio: 174/54;
  width: 17.4rem;
  background-color: #FF9924;
  display: flex;
  justify-content: center;
  align-items: center;
  color: white;
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1em;
}

/* ページ下部の余白調整 */
.wpcf7-spinner {
  display: none;
}


.contact_label{
  background-color: #FF9924;
}

.contact_form_area{

  input[type="text"],
  input[type="email"],
  input[type="date"],
  select,
  textarea {
    /* border: 0.1rem solid #333; */
    background-color: #ffffff;
    padding: 0.5em;
  }
  
}


.contact_btn{
  background-color: #FF9924;
}

.contact_btn_back{
  background-color: #fff;
  border: 0.1rem solid #FF9924;
}

@media screen and (max-width: 699.98px) {

  .single_recruit {
    /* padding-bottom: 10rem; */
    padding-bottom: 1.5rem;
  }

  .bgimg_outer {
    position: relative;
    width: 100%;
    height: 26.9rem;
    overflow: hidden;
  }

  .sr_bgimg {
    position: relative;
    height: 67rem;
    z-index: 0;
  }

  .section_title {
    gap: 1rem;
    font-size: 1.7rem;
    letter-spacing: 0;
    line-height: 1em;
  }

  .section_title .title_circle {
    width: 5rem;
  }


  /* recruit_top */
  .recruit_top {
    position: relative;
    padding: 3rem 2rem 0;
  }

  .rt_cats {
    font-size: 1.5rem;
    letter-spacing: 0;
    line-height: 1em;
  }

  .rt_title {
    font-size: 4.5rem;
    letter-spacing: 0;
    line-height: calc(69 / 45);
    padding-bottom: 0.5rem;
  }

  .rt_image {
    margin-top: 5.5rem;
    margin-left: -2rem;
    width: 37.5rem;
  }

  .rt_desc {
    font-size: 1.4rem;
    letter-spacing: 0;
    line-height: calc(30 / 14);
  }


  /* staff */
  .staff {
    padding: 8.5rem 0 0;
  }

  .staff_inner {
    margin-left: unset;
    width: 100%;
    padding: 0 2rem;
  }

  .staff_contents {
    margin-top: 3.5rem;
    flex-wrap: wrap;
    justify-content: space-between;
    /* gap: 3.5rem 2.5rem; */
    gap: 3.2rem 2.5rem;
  }

  .staff_content {
    width: 15.5rem;
  }

  .staff_text {
    /* margin-top: 1.2rem; */
    margin-top: 1.0rem;
    text-align: center;
    font-size: 1.4rem;
    font-weight: 700;
    letter-spacing: 0.028rem;
    line-height: calc(30 / 14);
  }

  .staff_job {
    padding: 0;
  }

  .staff_job_desc {
    /* margin-top: 6.6rem; */
    margin-top: 6.1rem;
  }

  .dropdown_header {
    height: 6.2rem;
    padding: 1.9rem 2rem;
  }

  .dropdown_title {
    font-size: 1.6rem;
    line-height: 1em;
  }

  .dropdown_main {
    /* padding: 3rem .9rem; */
    padding: 2.7rem 0.9rem 3.0rem 0.9rem;
  }

  .dropdowm_desc {
    padding: 0 1.1rem;
  }

  .dropdown_table {
    margin-top: 1.0rem;
    padding: 3rem 2rem 3rem 2rem;
  }

  .dropdown_table_content {
    display: flex;
    align-items: start;
    flex-direction: column;
    /* padding: 0 0 1.55rem; */
    padding: 0 0 1.1rem;
    /* gap: 2.55rem; */
    gap: 2.2rem;
  }

  .dropdown_table_content:not(:first-child) {
    margin-top: 2.6rem;
  }

  .table_title {
    width: unset;
    /* height: 3rem; */
    font-size: 1.5rem;
  }


  /* facility */
  .facility {
    padding: 6rem 2rem 0;
  }

  .facility_contents {
    margin-top: 3.5rem;
    flex-direction: column;
    gap: 2.5rem;
  }

  .facility_content {
    padding: 1rem 3.3rem;
  }



  /* ath/pplication */
  .application {
    padding: 6rem 2rem 0;
  }

  .app_desc {
    margin-top: 3.5rem;
  }

  .app_line {
    margin-top: 2.5rem;
    margin-bottom: 5.5rem;
    flex-direction: column;
    gap: 2.5rem;
  }

  .app_line_link {
    aspect-ratio: 192/20;
    width: 100%;
    padding: 4.1rem 7.2rem;
  }

  .contact_form.input_select::after {
    bottom: 1.1rem;
  }

  .contact_form_header {
    height: 4.7rem;
    width: 100%;
    background-color: #FF9924;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 1.5rem;

  }

  .contact_form_label {
    font-size: 1.4rem;
    line-height: 1em;
  }

  .contact_form_required {
    padding: .5rem 1rem;
    font-size: 1rem;
    line-height: 1em;
  }

  .contact_sep_tel {
    margin: 2rem auto 0;
    justify-content: center;
    gap: .7rem;
  }

  .input_form {
    margin: 2.5rem auto 0;
    width: calc(100% - 3rem);
    font-size: 1.4rem;
    line-height: 1;
    height: 4.6rem;
  }

  .input_form.tel {
    width: 8.866rem;
    margin: 0;
  }

  .input_form_dash {
    font-size: 1.4rem;
    font-weight: 500;
    letter-spacing: 0;
  }

  .input_form.input_textarea {
    resize: none;
    height: 21.4rem;
    line-height: calc(30em/14)
  }

  .contact_confirm {
    /* margin: 3.9rem auto 0; */
    margin: 6.0rem auto 0;
    width: 15rem;
    font-size: 1.8rem;
    line-height: calc(54 / 18);
    width: 17.4rem;
    height: 5.4rem;
  }
}