@media screen and (min-width: 768px) {
  .contact-cta__ttl br {
    display: none;
  }
}
@media screen and (min-width: 1024px) {
  .contact-cta__ttl br {
    display: block;
  }
}
@media screen and (min-width: 1330px) {
  .contact-cta__ttl br {
    display: none;
  }
}

.contact-cnt {
  padding-top: clamp(6rem, 5rem + 2.59vw, 10rem);
}
.contact-cnt__ttl {
  margin-bottom: clamp(3rem, 1.1rem + 5.09vw, 5rem);
}
.contact-cnt__txt {
  font-size: clamp(1.6rem, 1.4rem + 0.51vw, 1.8rem);
  letter-spacing: 0.05em;
  text-align: center;
  margin-bottom: clamp(3rem, 1.1rem + 5.09vw, 5rem);
}
.contact-cnt__txt strong {
  font-weight: 400;
}
@media screen and (min-width: 840px) {
  .contact-cnt__txt strong br {
    display: none;
  }
}
.contact-cnt__list {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  align-items: center;
  gap: 30px 45px;
}
@media screen and (min-width: 900px) {
  .contact-cnt__list {
    flex-direction: row;
    justify-content: center;
    align-items: stretch;
  }
}
.contact-cnt__item {
  max-width: 370px;
  width: 100%;
  border-radius: 15px;
  padding: clamp(3rem, 2rem + 2.54vw, 4rem) clamp(1.5rem, 0.5rem + 2.54vw, 2.5rem);
}
@media screen and (min-width: 900px) {
  .contact-cnt__item {
    width: calc((100% - 45px) / 2);
  }
}
@media screen and (min-width: 1320px) {
  .contact-cnt__item {
    width: calc((100% - 90px) / 3);
  }
}
.contact-cnt__item-ttl {
  font-size: clamp(2rem, 1.6rem + 1.02vw, 2.4rem);
  letter-spacing: 0.05em;
  text-align: center;
  margin-bottom: 20px;
}
.contact-cnt__item-txt {
  font-size: clamp(1.6rem, 1.4rem + 0.51vw, 1.8rem);
  letter-spacing: 0.05em;
  color: #666;
  text-align: center;
  margin-bottom: clamp(3rem, 2rem + 2.54vw, 4rem);
}
.contact-cnt__item-btn {
  max-width: 320px;
  width: 100%;
  border-radius: 5px;
  margin-inline: auto;
}
.contact-cnt__item-btn-link {
  display: block;
  text-align: center;
  position: relative;
}
.contact-cnt__item-btn-link::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 30px;
  transform: translateY(-50%);
}
@media screen and (min-width: 768px) {
  .contact-cnt__item-btn-link::before {
    left: clamp(2rem, -1rem + 3.91vw, 3rem);
  }
}
.contact-cnt__item-btn-link-st {
  letter-spacing: 0.025em;
  line-height: 80px;
  color: #fff;
  padding-left: 20px;
}
.contact-cnt__item.--tel {
  border: solid 1px #42382f;
}
.contact-cnt__item.--tel .contact-cnt__item-ttl {
  color: #42382f;
}
.contact-cnt__item.--tel .contact-cnt__item-btn {
  background-color: #42382f;
}
.contact-cnt__item.--tel .contact-cnt__item-btn-link::before {
  width: 23px;
  aspect-ratio: 30/31;
  background: url(/system_panel/uploads/images/icon_phone01.png) no-repeat center center/contain;
}
@media screen and (min-width: 768px) {
  .contact-cnt__item.--tel .contact-cnt__item-btn-link::before {
    width: clamp(2rem, 1.1rem + 1.17vw, 2.3rem);
  }
}
.contact-cnt__item.--tel .contact-cnt__item-btn-link-st {
  font-family: "EB Garamond", serif;
  font-size: clamp(2.6rem, 2rem + 1.53vw, 3.2rem);
}
.contact-cnt__item.--line {
  border: solid 1px #06c755;
}
.contact-cnt__item.--line .contact-cnt__item-ttl {
  color: #06c755;
}
.contact-cnt__item.--line .contact-cnt__item-btn {
  background-color: #06c755;
}
.contact-cnt__item.--line .contact-cnt__item-btn-link::before {
  width: 36px;
  aspect-ratio: 1;
  background: url(/system_panel/uploads/images/icon_line02.png) no-repeat center center/contain;
}
@media screen and (min-width: 768px) {
  .contact-cnt__item.--line .contact-cnt__item-btn-link::before {
    width: clamp(3rem, 1.2rem + 2.34vw, 3.6rem);
  }
}
.contact-cnt__item.--line .contact-cnt__item-btn-link-st {
  font-size: clamp(2rem, 1.6rem + 1.02vw, 2.4rem);
  padding-left: 40px;
}
.contact-cnt__item.--insta {
  border: solid 1px #a08a76;
}
.contact-cnt__item.--insta .contact-cnt__item-btn {
  background-color: #f5eee5;
}
.contact-cnt__item.--insta .contact-cnt__item-btn-link::before {
  width: 36px;
  aspect-ratio: 1;
  background: url(/system_panel/uploads/images/icon_instagram01.png) no-repeat center center/contain;
}
@media screen and (min-width: 768px) {
  .contact-cnt__item.--insta .contact-cnt__item-btn-link::before {
    width: clamp(3rem, 1.2rem + 2.34vw, 3.6rem);
  }
}
.contact-cnt__item.--insta .contact-cnt__item-btn-link-st {
  font-size: clamp(1.8rem, 1.5rem + 0.76vw, 2.1rem);
  color: #42382f;
}

.contact-privacy {
  padding-block: clamp(6rem, 5rem + 2.59vw, 10rem);
}
.contact-privacy__ttl {
  margin-bottom: clamp(3rem, 1.1rem + 5.09vw, 5rem);
}

.recruit-cnt {
  padding-block: clamp(6rem, 5rem + 2.59vw, 10rem);
  position: relative;
}
.recruit-cnt::before {
  content: "";
  width: 100%;
  height: 100%;
  background: url(/system_panel/uploads/images/bg_recruit01.jpg) no-repeat center center/cover;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -3;
}
.recruit-cnt__inr {
  position: relative;
}
.recruit-cnt__ttl {
  margin-bottom: clamp(3rem, 1.1rem + 5.09vw, 5rem);
}
.recruit-cnt__message {
  max-width: 1000px;
  width: 100%;
  background-color: #fff;
  padding: clamp(3rem, 1.1rem + 5.09vw, 5rem) clamp(1.5rem, 0rem + 3.87vw, 5rem);
  margin-inline: auto;
}
.recruit-cnt__message-ttl {
  margin-bottom: clamp(3rem, 1.1rem + 5.09vw, 5rem);
}
.recruit-cnt__message-txt {
  font-size: clamp(1.6rem, 1.4rem + 0.51vw, 1.8rem);
  letter-spacing: 0.025em;
  line-height: 2;
}
.recruit-cnt__icon {
  max-width: max-content;
  width: 30%;
  position: absolute;
  bottom: clamp(6rem, 5rem + 2.59vw, 10rem);
  left: -15px;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .recruit-cnt__icon {
    left: -40px;
  }
}
@media screen and (min-width: 1280px) {
  .recruit-cnt__icon {
    left: max((1200px - 100vw) / 2, -290px);
  }
}

.recruit-about__list.diet-support__list:last-of-type {
  margin-bottom: 0;
}
.recruit-about__list .diet-support__item {
  max-width: none;
}
@media screen and (min-width: 1024px) {
  .recruit-about__list .diet-support__info {
    max-width: 550px;
  }
}
.recruit-about__list .diet-support__media {
  max-width: 550px;
}

.recruit-role {
  padding-block: clamp(6rem, 5rem + 2.59vw, 10rem);
  position: relative;
}
.recruit-role::before {
  content: "";
  width: 100%;
  height: 100%;
  background: url(/system_panel/uploads/images/bg_recruit-role01.jpg) no-repeat center center/cover;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -3;
}
.recruit-role__cnt {
  position: relative;
}
.recruit-role__ttl {
  margin-bottom: clamp(3rem, 1.1rem + 5.09vw, 5rem);
}
.recruit-role__list {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  align-items: center;
  gap: 20px 15px;
}
@media screen and (min-width: 768px) {
  .recruit-role__list {
    flex-direction: row;
    justify-content: center;
    align-items: stretch;
  }
}
.recruit-role__item {
  max-width: 390px;
  width: 100%;
  padding-block: clamp(3rem, 2rem + 2.54vw, 4rem);
  padding-inline: clamp(1.5rem, 0.6rem + 2.31vw, 3rem);
  margin-top: clamp(7rem, 6rem + 2.54vw, 8rem);
  position: relative;
}
@media screen and (min-width: 768px) {
  .recruit-role__item {
    width: calc((100% - 15px) / 2);
  }
}
@media screen and (min-width: 1024px) {
  .recruit-role__item {
    width: calc((100% - 30px) / 3);
    padding-inline: clamp(1.5rem, -4.5rem + 5.86vw, 3rem);
  }
}
.recruit-role__item {
  background-color: #fff;
}
.recruit-role__item-num {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, calc(-100% + 20px));
}
.recruit-role__item-num-st {
  font-family: "EB Garamond", serif;
  font-size: clamp(4rem, 3rem + 2.54vw, 5rem);
  letter-spacing: 0.05em;
  line-height: 1;
  color: #42382f;
  padding-bottom: 50px;
  position: relative;
}
.recruit-role__item-num-st::before {
  content: "";
  width: 1px;
  height: 40px;
  background-color: #ccb39c;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
.recruit-role__item-ttl {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: clamp(2rem, 1.6rem + 1.02vw, 2.4rem);
  letter-spacing: 0.025em;
  color: #42382f;
  text-align: center;
  margin-bottom: clamp(2rem, 1rem + 2.54vw, 3rem);
}
@media screen and (min-width: 768px) {
  .recruit-role__item-ttl {
    font-size: min(2.7vw, 2.4rem);
  }
}
@media screen and (min-width: 1024px) {
  .recruit-role__item-ttl {
    font-size: min(2vw, 2.4rem);
  }
}
.recruit-role__item-txt {
  font-size: clamp(1.6rem, 1.4rem + 0.51vw, 1.8rem);
  letter-spacing: 0.025em;
}
.recruit-role__icon {
  max-width: max-content;
  width: 40%;
  position: absolute;
  left: -15px;
  bottom: 0;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .recruit-role__icon {
    left: -40px;
  }
}
@media screen and (min-width: 1280px) {
  .recruit-role__icon {
    left: max((1200px - 100vw) / 2, -290px);
  }
}

.recruit-support {
  padding-top: clamp(6rem, 5rem + 2.59vw, 10rem);
}
.recruit-support__cnt {
  position: relative;
}
.recruit-support__ttl {
  margin-bottom: clamp(3rem, 1.1rem + 5.09vw, 5rem);
}
.recruit-support__txt {
  font-size: clamp(1.6rem, 1.4rem + 0.51vw, 1.8rem);
  text-align: center;
  margin-bottom: clamp(3rem, 1.1rem + 5.09vw, 5rem);
}
.recruit-support__txt strong {
  font-weight: 400;
}
@media screen and (min-width: 1024px) {
  .recruit-support__txt strong br {
    display: none;
  }
}
.recruit-support__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
}
.recruit-support__item {
  max-width: 490px;
  width: calc((100% - 20px) / 2);
}
.recruit-support__icon {
  max-width: max-content;
  width: 40%;
  position: absolute;
  right: -15px;
  bottom: 0;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .recruit-support__icon {
    right: -40px;
  }
}
@media screen and (min-width: 1280px) {
  .recruit-support__icon {
    right: max((1200px - 100vw) / 2, -290px);
  }
}

.recruit-staff {
  padding-block: clamp(6rem, 5rem + 2.59vw, 10rem);
}
.recruit-staff__cnt {
  position: relative;
}
.recruit-staff__ttl {
  margin-bottom: clamp(3rem, 1.1rem + 5.09vw, 5rem);
}
.recruit-staff__icon {
  max-width: max-content;
  width: 40%;
  position: absolute;
  left: -15px;
  bottom: 0;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .recruit-staff__icon {
    left: -40px;
  }
}
@media screen and (min-width: 1280px) {
  .recruit-staff__icon {
    left: max((1200px - 100vw) / 2, -290px);
  }
}

.recruit-requirements {
  background: url(/system_panel/uploads/images/bg_recruit-requirements01.jpg) no-repeat center center/cover;
  padding-block: clamp(6rem, 5rem + 2.59vw, 10rem);
}
.recruit-requirements__cnt {
  position: relative;
}
.recruit-requirements__ttl {
  margin-bottom: clamp(3rem, 1.1rem + 5.09vw, 5rem);
}
.recruit-requirements__table {
  max-width: 900px;
  width: 100%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .recruit-requirements__table .cmn-table__th {
    width: clamp(20rem, -10rem + 39.06vw, 30rem);
    padding-left: clamp(4rem, 1rem + 3.91vw, 5rem);
  }
}
.recruit-requirements__table-td-sns {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
}
.recruit-requirements__table-td-sns-icon {
  width: 25px;
  aspect-ratio: 1;
}
@media screen and (min-width: 768px) {
  .recruit-requirements__table-td-sns-icon {
    width: 30px;
  }
}