.join-us-detail {
  padding-top: 60px;
  text-align: center;
  background-color: white;
}

.only-mobile,
.without-desktop {
  display: block;
}

.only-tablet,
.only-desktop,
.without-mobile {
  display: none;
}

.join-us-detail-inner {
  padding: 94px 20px 40px;
}

.join-us-detail-header {
  display: flex;
  flex-direction: column;
  gap: 40px;
  padding-bottom: 48px;
  border-bottom: 1px solid #dbe0ec;
}

.job-info-detail h2 {
  font-size: var(--font-40);
  font-weight: var(--font-weight-bold);
  margin-bottom: 16px;
  text-align: start;
}

.job-meta-detail {
  display: flex;
  gap: 8px;
  font-size: var(--font-b3);
  line-height: 1.2;
  color: #6c6c6c;
}

.job-meta-detail span:not(:last-child)::after {
  content: "·";
  margin-left: 8px;
}

.join-us-detail-header button {
  height: 42px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: black;
  border-radius: 100px;
  color: white;
  font-size: var(--font-b3);
  font-weight: var(--font-weight-semibold);
}

.text-section {
  padding: 48px 0;
}

.text-box {
  display: flex;
  flex-direction: column;
  text-align: start;
  margin-bottom: 55px;
}

.text-box:last-child {
  margin-bottom: 0;
}

.text-box h3 {
  font-size: var(--font-b3);
  font-weight: var(--font-weight-bold);
  margin-bottom: 19px;
}

.text-box p {
  font-size: var(--font-b3);
}

.text-box ul {
  font-size: var(--font-b4);
  line-height: 1.2;
  padding: 0 25px;
  letter-spacing: 0;
}

.text-box ul li {
  list-style: disc;
}

.welfare h3 {
  font-size: var(--font-b2);
  font-weight: var(--font-weight-bold);
  margin-bottom: 40px;
  text-align: start;
}

.welfare-cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}

.welfare-card {
  height: 248px;
  border-radius: 16px;
  padding: 40px 39px;
  gap: 24px;
  background-color: #f6f8fb;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.welfare-card-text {
  text-align: start;
}

.welfare-card-text h4 {
  font-size: var(--font-b2);
  font-weight: var(--font-weight-medium);
  margin-bottom: 8px;
}

.welfare-card-text span {
  color: #6c6c6c;
  line-height: 1.57;
}

.hiring-process {
  margin: 68px 0;
}

.hiring-process h3 {
  font-size: var(--font-b2);
  font-weight: var(--font-weight-bold);
  margin-bottom: 40px;
  text-align: start;
}

.process-cards {
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: #f6f8fb;
  border-radius: 16px;
}

.process-card {
  height: 246px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 24px;
}

.process-number {
  font-size: var(--font-h4);
  font-weight: var(--font-weight-medium);
}

.process-text h3 {
  text-align: center;
  font-size: var(--font-b2);
  font-weight: var(--font-weight-medium);
  margin-bottom: 8px;
}

.process-text span {
  color: #6c6c6c;
  line-height: 1.57;
  font-size: var(--font-b3);
}

.apply-card {
  position: relative;
  width: 100%;
  height: 350px;
  border-radius: 15px;
  overflow: hidden;
}

.apply-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(/images/pages/join-us-detail/join-us-detail-apply.jpg);
  background-size: cover;
  background-position: center;
  z-index: 1;
}

.apply-card::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000000b5;
  z-index: 2;
}

.apply-card .apply-card-content {
  position: relative;
  z-index: 3;
  color: white;
  text-align: center;
  padding: 90px 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.apply-card-content h2 {
  font-size: var(--font-b1);
  font-weight: var(--font-weight-bold);
  margin-bottom: 16px;
  color: white;
}

.apply-card-content span {
  font-size: var(--font-b3);
  margin-bottom: 32px;
  line-height: 1.57;
  color: #f6f8fb;
}

.apply-card-content button {
  height: 42px;
  width: 125px;
  border-radius: 100px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4px;
  font-size: var(--font-b3);
  font-weight: var(--font-weight-semibold);
  color: #0b0b0b;
  background-color: #f7d749;
}

@media (min-width: 800px) {
  .only-mobile,
  .only-desktop {
    display: none;
  }

  .without-mobile,
  .only-tablet,
  .without-desktop {
    display: block;
  }

  .join-us-detail-header {
    display: flex;
    flex-direction: row;
    width: 100%;
    justify-content: space-between;
  }

  .join-us-detail-header button {
    height: 44px;
    width: 176px;
  }

  .text-box {
    margin-bottom: 58px;
  }

  .text-box h3 {
    font-size: var(--font-b2);
  }

  .text-box p {
    font-size: var(--font-b2);
  }

  .welfare-cards {
    grid-template-columns: repeat(3, 1fr);
  }

  .welfare-card {
    padding: 40px;
  }

  .process-cards {
    flex-direction: row;
  }

  .process-card {
    flex: 1;
  }

  .process-cards img {
    flex-shrink: 0;
    width: auto;
    height: auto;
    transform: rotate(-90deg);
  }

  .apply-card-content h2 {
    font-size: var(--font-title);
  }

  .apply-card-content span {
    font-size: var(--font-b2);
    line-height: 1.45;
  }

  .apply-card-content button {
    height: 44px;
    width: 131px;
    font-size: var(--font-b2);
  }
}
@media (min-width: 1280px) {
  .only-mobile,
  .only-tablet,
  .without-desktop {
    display: none;
  }

  .without-mobile,
  .only-desktop {
    display: block;
  }
  .join-us-detail-inner {
    margin: 0 auto;
    max-width: 1240px;
  }
}
