/**
 * page layout
 */
.p_l-section-head {
  background-size: cover;
  border-radius: 6rem 6rem 0 0;
  color: white;
  height: 29.6rem;
  margin-top: -6rem;
  padding: 7.2rem 0 0;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p_l-section-head {
    border-radius: 3rem 3rem 0 0;
    height: 17rem;
    overflow: hidden;
    padding: 3.6rem 0 0;
  }
}
.p_l-section-head .en {
  font-family: var(--font-2);
  font-size: 5.4rem;
  font-weight: 300;
  line-height: normal;
}
@media screen and (max-width: 767px) {
  .p_l-section-head .en {
    font-size: 4rem;
    margin-bottom: 0.5rem;
  }
}
.p_l-section-head .ja {
  font-size: 3.2rem;
  line-height: 1.625;
}
@media screen and (max-width: 767px) {
  .p_l-section-head .ja {
    font-size: 2rem;
  }
}

/**
 * page style
 */
.p-recruit {
  background: var(--ultra-light-green) url("../img/recruit_bg.webp") no-repeat left calc(50% + 9rem) top 0/154.7rem auto;
}
@media screen and (max-width: 767px) {
  .p-recruit {
    background: var(--ultra-light-green) url("../img/recruit_bg_sp.webp") no-repeat 50% 0/100dvw auto;
  }
}
.p-recruit:before {
  background: var(--ultra-light-green);
  content: " ";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  transition: opacity 1s ease 0.2s;
  width: 100%;
}
.p-recruit.is-inview:before {
  opacity: 0;
}
.p-recruit-head {
  padding: 14.4rem 0 0;
}
@media screen and (max-width: 767px) {
  .p-recruit-head {
    padding: 10.2rem 0 0;
  }
}
.p-recruit-head .img {
  left: calc(50% + 2.7rem);
  position: absolute;
  top: 11.7rem;
  width: 58.2rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-head .img {
    left: 11.2rem;
    width: 25.4rem;
    top: 17.5rem;
  }
}
.p-recruit-head .c-headline-ttl {
  margin-bottom: 3rem;
}
.p-recruit-head .copy {
  color: var(--green);
  font-size: 5.6rem;
  letter-spacing: 0.28rem;
  line-height: 1.32;
  padding: 2rem 0 0;
}
@media screen and (max-width: 767px) {
  .p-recruit-head .copy {
    font-size: 3.6rem;
    letter-spacing: 0.18rem;
    line-height: 1.33;
    padding: 15.8rem 0 0;
  }
}
.p-recruit-head .txt {
  font-size: 2rem;
  font-weight: 500;
  padding: 1.5rem 0 2.7rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-head .txt {
    font-size: 1.6rem;
    line-height: 1.75;
    padding: 0.6rem 0 1.8rem;
  }
}
.p-recruit-head .btn {
  align-items: center;
  border-radius: 9999px;
  display: flex;
  justify-content: center;
  padding-bottom: 0.1rem;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
  text-decoration: none;
}
.p-recruit-head .btn:hover {
  opacity: 1;
}
.p-recruit-head .btn {
  background: var(--blue);
  color: white;
  font-size: 1.4rem;
  font-weight: 700;
  height: 4.9rem;
  width: 25.9rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-head .btn {
    height: 4rem;
    width: 19.2rem;
  }
}
.p-recruit-head .btn:after {
  background-color: black;
  content: " ";
  display: inline-block;
  height: auto;
  line-height: 0;
  mask-repeat: no-repeat;
  mask-size: 100% auto;
  flex-shrink: 0;
  aspect-ratio: 6/10;
  background: white;
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="6" height="10" viewBox="0 0 6 10" fill="none"><path d="M3.69237 4.59842L0.210455 8.08034C0.0657366 8.20843 -0.011471 8.39635 0.00138455 8.58919C0.0142401 8.78203 0.115709 8.95803 0.276151 9.06579C0.54833 9.26281 0.922878 9.23507 1.16306 9.00009L5.072 5.05829C5.20083 4.94009 5.27418 4.77326 5.27418 4.59842C5.27418 4.42357 5.20083 4.25675 5.072 4.13854L1.16306 0.196745C0.922876 -0.0382375 0.54833 -0.0659817 0.276151 0.131048C0.115709 0.238802 0.014241 0.414806 0.00138455 0.607645C-0.011471 0.800484 0.0657366 0.988399 0.210455 1.1165L3.69237 4.59842Z" fill="black"/></svg>');
  position: absolute;
  right: 1.77rem;
  width: 0.6rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-head .btn:after {
    right: 1.4rem;
    width: 0.6rem;
  }
}
.p-recruit-head .btn:hover {
  background-color: #18B;
}
.p-recruit .p-features {
  padding: 14.4rem 0 17rem;
}
@media screen and (max-width: 767px) {
  .p-recruit .p-features {
    padding: 8rem 0 15.6rem;
  }
}
.p-recruit .p-features-ttl {
  margin: 0 0 3.5rem;
}
@media screen and (max-width: 767px) {
  .p-recruit .p-features-ttl {
    margin: 0 0 5.8rem;
  }
}
.p-recruit .p-features-ttl .en {
  color: var(--blue);
  display: block;
  font-family: var(--font-2);
  font-size: 11rem;
  font-weight: 300;
  line-height: 1;
  margin: 0 0 1rem;
}
@media screen and (max-width: 767px) {
  .p-recruit .p-features-ttl .en {
    font-size: 4.7rem;
  }
}
.p-recruit .p-features-ttl .en b {
  font-weight: 300;
}
.p-recruit .p-features-ttl .ja {
  color: var(--green);
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.625;
}
@media screen and (max-width: 767px) {
  .p-recruit .p-features-ttl .ja {
    font-size: 2.2rem;
  }
}
.p-recruit .p-features .img-1 {
  right: -0.8rem;
  top: 27.5rem;
  position: absolute;
  width: 19.1rem;
}
@media screen and (max-width: 767px) {
  .p-recruit .p-features .img-1 {
    right: 0;
    top: 14rem;
    width: 11.3rem;
  }
}
.p-recruit .p-features .img-2 {
  bottom: 16.4rem;
  position: absolute;
  right: 2rem;
  width: 32.7rem;
}
@media screen and (max-width: 767px) {
  .p-recruit .p-features .img-2 {
    margin: 4.2rem 0 0 9.3rem;
    position: unset;
    width: 22.7rem;
  }
}
.p-recruit .p-features-items {
  counter-reset: recruit-feature;
  display: flex;
  flex-direction: column;
  gap: 3rem;
  padding: 0 43.1rem 0 0;
}
@media screen and (max-width: 767px) {
  .p-recruit .p-features-items {
    gap: 2.6rem;
    padding: 0;
  }
}
.p-recruit .p-features-item {
  counter-increment: recruit-feature;
  padding-left: 13rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-recruit .p-features-item {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    padding: 0;
    width: 100%;
  }
}
.p-recruit .p-features-item:before {
  color: var(--green);
  content: counter(recruit-feature, decimal-leading-zero);
  font-family: var(--font-2);
  font-size: 8rem;
  font-weight: 400;
  left: 0;
  line-height: 1;
  position: absolute;
  top: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-recruit .p-features-item:before {
    font-size: 4.6rem;
    left: unset;
    position: unset;
    top: unset;
    width: 7.3rem;
  }
}
.p-recruit .p-features-item:after {
  background: var(--green);
  content: " ";
  display: inline-block;
  height: 10.1rem;
  position: absolute;
  left: 10.6rem;
  top: 0.4rem;
  width: 2px;
}
@media screen and (max-width: 767px) {
  .p-recruit .p-features-item:after {
    display: none;
  }
}
.p-recruit .p-features-item .ttl {
  font-size: 3.2rem;
  font-weight: 500;
  display: block;
  letter-spacing: 0.05rem;
  line-height: 1.6;
  margin: 0 0 0.9rem;
}
@media screen and (max-width: 767px) {
  .p-recruit .p-features-item .ttl {
    font-size: 2.2rem;
    flex: 1;
    line-height: 1.36;
    margin: 0;
    width: 26.9rem;
    white-space: nowrap;
  }
  .p-recruit .p-features-item .ttl:before {
    background: var(--green);
    content: " ";
    display: inline-block;
    min-height: 5.44rem;
    height: calc(100% - 1rem);
    position: absolute;
    left: -1.1rem;
    top: 0.5rem;
    width: 2px;
  }
}
.p-recruit .p-features-item .txt {
  display: block;
  line-height: 1.625;
  width: 50.3rem;
}
@media screen and (max-width: 767px) {
  .p-recruit .p-features-item .txt {
    padding: 0.8rem 0 0;
    width: 100%;
  }
}
.p-recruit .p-job .p_l-section-head {
  background-image: url(../img/recruit_job_head.webp);
}
@media screen and (max-width: 767px) {
  .p-recruit .p-job .p_l-section-head {
    background-image: url(../img/recruit_job_head_sp.webp);
  }
}
.p-recruit .p-job .p_l-section-body {
  background: var(--light-green);
  padding: 0 0 11.6rem;
}
@media screen and (max-width: 767px) {
  .p-recruit .p-job .p_l-section-body {
    padding: 0 0 8.3rem;
  }
}
.p-recruit .p-job .p_l-section-body .box {
  align-items: start;
  background: white;
  border-radius: 2rem;
  display: flex;
  gap: 5.1rem;
  padding: 5rem 4.4rem;
  position: relative;
  top: -5.2rem;
}
@media screen and (max-width: 767px) {
  .p-recruit .p-job .p_l-section-body .box {
    font-size: 1.6rem;
    flex-direction: column;
    gap: 2.5rem;
    padding: 2.4rem 2.4rem 4.2rem;
    top: -2.7rem;
  }
}
.p-recruit .p-job .p_l-section-body .box-img {
  flex-shrink: 0;
  width: 31.3rem;
}
@media screen and (max-width: 767px) {
  .p-recruit .p-job .p_l-section-body .box-img {
    border-radius: 1rem;
    overflow: hidden;
    width: 100%;
  }
  .p-recruit .p-job .p_l-section-body .box-img img {
    height: 21rem;
    object-fit: cover;
    width: 100%;
  }
}
.p-recruit .p-job .p_l-section-body .box-body {
  display: grid;
  gap: 2rem;
  grid-template-columns: 12.2rem 1fr;
  margin: 0.7rem 0 0;
}
@media screen and (max-width: 767px) {
  .p-recruit .p-job .p_l-section-body .box-body {
    display: flex;
    flex-direction: column;
    gap: 1.3rem;
  }
}
.p-recruit .p-job .p_l-section-body .box-body dt {
  align-items: center;
  align-self: start;
  background: var(--blue);
  border-radius: 9999px;
  color: white;
  display: flex;
  font-weight: 500;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .p-recruit .p-job .p_l-section-body .box-body dt {
    height: 3rem;
    padding: 0 0.6rem;
    min-width: 12.2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-recruit .p-job .p_l-section-body .box-body dd {
    line-height: 1.375;
  }
}
.p-recruit .p-job .p_l-section-body .box-body dd .jobs {
  display: flex;
  flex-direction: column;
  gap: 1.4rem;
}
.p-recruit .p-job .p_l-section-body .box-body dd .jobs li {
  align-items: baseline;
  display: flex;
  gap: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-recruit .p-job .p_l-section-body .box-body dd .jobs li {
    align-items: center;
    gap: 2.5rem;
  }
}
.p-recruit .p-job .p_l-section-body .box-body dd .jobs li b {
  color: var(--green);
  font-size: 2.4rem;
  font-weight: 600;
  line-height: normal;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .p-recruit .p-job .p_l-section-body .box-body dd .jobs li b {
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-recruit .p-job .p_l-section-body .box-body dd .note {
    display: block;
    padding-top: 1rem;
  }
}
@media screen and (max-width: 767px) {
  .p-recruit .p-job .p_l-section-body .box-body dd + dt {
    margin-top: 1.5rem;
  }
}
.p-recruit .p-benefits .p_l-section-head {
  background-image: url(../img/recruit_benefits_head.webp);
}
.p-recruit .p-benefits .p_l-section-body {
  background-color: white;
  padding: 7.6rem 0 9.5rem;
}
@media screen and (max-width: 767px) {
  .p-recruit .p-benefits .p_l-section-body {
    padding: 3.3rem 0 9.5rem;
  }
}
.p-recruit .p-benefits .p_l-section-body .u-flex {
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .p-recruit .p-benefits .p_l-section-body .u-flex {
    flex-direction: column;
    gap: 3.6rem;
  }
}
.p-recruit .p-benefits .p_l-section-body .u-flex > div {
  width: 50rem;
}
@media screen and (max-width: 767px) {
  .p-recruit .p-benefits .p_l-section-body .u-flex > div {
    width: 100%;
  }
}
.p-recruit .p-benefits .p_l-section-body .u-flex .c-ttl-2 {
  margin-bottom: 3.3rem;
}
@media screen and (max-width: 767px) {
  .p-recruit .p-benefits .p_l-section-body .u-flex .c-ttl-2 {
    margin-bottom: 2.1rem;
  }
}
.p-recruit .p-benefits .p_l-section-body .u-flex .subttl {
  color: var(--green);
  font-weight: 700;
  line-height: 1.375;
  margin: 2.3rem 0 1.7rem;
}
@media screen and (max-width: 767px) {
  .p-recruit .p-benefits .p_l-section-body .u-flex .subttl {
    margin: 2.3rem 0 2rem;
  }
}
.p-recruit .p-benefits .p_l-section-body .u-flex dt {
  font-weight: 700;
  border-bottom: 1px solid #E5E5E5;
  margin-top: 1.8rem;
  padding-bottom: 0.7rem;
}
@media screen and (max-width: 767px) {
  .p-recruit .p-benefits .p_l-section-body .u-flex dt {
    margin-top: 2rem;
  }
}
.p-recruit .p-benefits .p_l-section-body .u-flex dd {
  line-height: 1.375;
  margin-top: 1rem;
}
.p-recruit .p-entry {
  background: white url(../img/recruit_entry_bg.webp) no-repeat 50% 0/100% auto;
  color: white;
  height: 48.1rem;
}
@media screen and (max-width: 767px) {
  .p-recruit .p-entry {
    background-image: url(../img/recruit_entry_bg_sp.webp);
    height: 41.3rem;
  }
}
.p-recruit .p-entry .u-flex {
  display: flex;
  padding: 10.2rem 0 0;
}
@media screen and (max-width: 767px) {
  .p-recruit .p-entry .u-flex {
    flex-direction: column;
    padding: 2.5rem 2rem;
  }
}
.p-recruit .p-entry-ttl {
  padding: 6rem 0 0 5.7rem;
  width: 44.4rem;
}
@media screen and (max-width: 767px) {
  .p-recruit .p-entry-ttl {
    border-bottom: 1px solid white;
    margin: 0 0 1.8rem;
    padding: 0 0 1.8rem;
    width: auto;
  }
}
.p-recruit .p-entry-ttl .en {
  font-family: var(--font-2);
  font-size: 9.6rem;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-recruit .p-entry-ttl .en {
    font-size: 7.2rem;
  }
}
.p-recruit .p-entry-ttl .ja {
  font-size: 2.2rem;
  font-weight: 500;
  padding: 0.5rem 0 0 0.5rem;
}
@media screen and (max-width: 767px) {
  .p-recruit .p-entry-ttl .ja {
    font-size: 1.6rem;
    padding: 0 0 0 0.5rem;
  }
}
.p-recruit .p-entry-body {
  padding: 1.7rem 0 0 5rem;
}
@media screen and (max-width: 767px) {
  .p-recruit .p-entry-body {
    padding: 0;
  }
}
.p-recruit .p-entry-body:before {
  background-color: white;
  content: " ";
  display: block;
  left: 0;
  height: 28rem;
  top: 0;
  position: absolute;
  width: 1px;
}
@media screen and (max-width: 767px) {
  .p-recruit .p-entry-body:before {
    display: none;
  }
}
.p-recruit .p-entry-body .ttl {
  align-items: baseline;
  display: flex;
  font-size: 3.6rem;
  font-weight: 700;
  gap: 0.5rem;
  line-height: 1.22;
}
@media screen and (max-width: 767px) {
  .p-recruit .p-entry-body .ttl {
    font-size: 2.4rem;
    gap: 0;
  }
}
.p-recruit .p-entry-body .ttl small {
  font-size: 2.4rem;
}
@media screen and (max-width: 767px) {
  .p-recruit .p-entry-body .ttl small {
    font-size: 1.6rem;
    padding-left: 0.5rem;
  }
}
.p-recruit .p-entry-body .address {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.83;
  margin: 0.5rem 0 0.3rem;
}
@media screen and (max-width: 767px) {
  .p-recruit .p-entry-body .address {
    font-size: 1.4rem;
  }
}
.p-recruit .p-entry-body .tel {
  align-items: baseline;
  display: flex;
  font-family: var(--font-3);
  font-weight: 500;
  letter-spacing: 0.13rem;
  margin: 0 0 1.2rem;
}
@media screen and (max-width: 767px) {
  .p-recruit .p-entry-body .tel {
    display: grid;
    grid-template-columns: auto 1fr;
    line-height: 1.3;
    margin: 0 0 2.3rem;
  }
}
.p-recruit .p-entry-body .tel dt {
  font-size: 2.83rem;
  padding-right: 0.5rem;
}
@media screen and (max-width: 767px) {
  .p-recruit .p-entry-body .tel dt {
    font-size: 2rem;
  }
}
.p-recruit .p-entry-body .tel dd {
  font-size: 4.17rem;
}
@media screen and (max-width: 767px) {
  .p-recruit .p-entry-body .tel dd {
    font-size: 3rem;
    flex: 1;
  }
}
.p-recruit .p-entry-body .tel dd + dt {
  padding-left: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-recruit .p-entry-body .tel dd + dt {
    padding: 0;
  }
}
.p-recruit .p-entry-body .btn {
  align-items: center;
  border-radius: 9999px;
  display: flex;
  justify-content: center;
  padding-bottom: 0.1rem;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
  text-decoration: none;
}
.p-recruit .p-entry-body .btn:hover {
  opacity: 1;
}
.p-recruit .p-entry-body .btn {
  background: white;
  color: var(--green);
  font-size: 1.8rem;
  font-weight: 700;
  height: 6rem;
  gap: 1rem;
  width: 35.1rem;
}
@media screen and (max-width: 767px) {
  .p-recruit .p-entry-body .btn {
    height: 5rem;
    width: 100%;
  }
}
.p-recruit .p-entry-body .btn:after {
  background-color: black;
  content: " ";
  display: inline-block;
  height: auto;
  line-height: 0;
  mask-repeat: no-repeat;
  mask-size: 100% auto;
  flex-shrink: 0;
  aspect-ratio: 22/18;
  background-color: var(--green);
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="22" height="18" viewBox="0 0 22 18" fill="none"><path d="M19.166 4.97754L11.2324 10.5312C10.8715 10.7839 10.3912 10.7839 10.0303 10.5312L2.0957 4.97754V14.4648C2.09588 14.9399 2.48972 15.333 2.96484 15.333H18.2979C18.773 15.333 19.1658 14.9399 19.166 14.4648V4.97754ZM2.96484 2.0957C2.65559 2.0957 2.38059 2.2625 2.22656 2.50977L10.6309 8.39355L19.0342 2.50977C18.8801 2.2629 18.6068 2.0957 18.2979 2.0957H2.96484ZM21.2627 14.4648C21.2625 16.0978 19.9308 17.4297 18.2979 17.4297H2.96484C1.33185 17.4297 0.000177333 16.0978 0 14.4648V2.96484C0 1.33175 1.33175 0 2.96484 0H18.2979C19.931 0 21.2627 1.33175 21.2627 2.96484V14.4648Z" fill="black"/></svg>');
  width: 2.2rem;
}
.p-recruit .p-entry-body .btn:hover {
  background: var(--dark-green);
  color: white;
}
.p-recruit .p-entry-body .btn:hover:after {
  background-color: white;
}

/*# sourceMappingURL=recruit.css.map */
