/* AONOMA RECRUIT — final quality polish
   Align typography, numerals, CTA rhythm, and concrete-entry notes. */

.route-recruit .aonoma-recruit h2,
.route-recruit .aonoma-recruit-detail h2 {
  font-weight: 600 !important;
  letter-spacing: -0.024em !important;
  line-height: 1.14 !important;
}

.route-recruit .aonoma-recruit h3,
.route-recruit .aonoma-recruit-detail h3 {
  font-weight: 600 !important;
  letter-spacing: -0.012em !important;
}

.route-recruit .aonoma-recruit p,
.route-recruit .aonoma-recruit li,
.route-recruit .aonoma-recruit dd {
  line-height: 1.86;
}

.route-recruit .aonoma-recruit .font-en,
.route-recruit .aonoma-recruit-detail .font-en {
  font-weight: 600;
  letter-spacing: 0.12em;
  font-variant-numeric: tabular-nums;
}

.route-recruit .aonoma-recruit [class*="text-[3.2rem]"],
.route-recruit .aonoma-recruit [class*="md:text-[4rem]"] {
  font-variant-numeric: tabular-nums;
}

.aonoma-section-bridge {
  margin-bottom: 1.25rem;
  display: grid;
  gap: 0.45rem;
  border-left: 1px solid rgba(11, 95, 131, 0.42);
  padding-left: 0.95rem;
}

.aonoma-section-bridge__label {
  margin: 0;
  color: #0b5f83;
  font-family: "IBM Plex Sans", Inter, system-ui, sans-serif;
  font-size: 0.56rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  line-height: 1.2;
  text-transform: uppercase;
}

.aonoma-section-bridge__text {
  margin: 0;
  max-width: 32rem;
  color: #526474;
  font-size: 0.82rem;
  font-weight: 500;
  line-height: 1.72;
}

#aonoma-entry .aonoma-section-bridge {
  margin-bottom: 1.05rem;
}

#aonoma-entry .aonoma-entry-specific-example {
  margin-top: 1rem;
  border-left: 1px solid rgba(11, 95, 131, 0.46);
  background: rgba(255, 255, 255, 0.48);
  padding: 0.9rem 1rem;
}

#aonoma-entry .aonoma-entry-specific-example__label {
  margin: 0;
  color: #0b5f83;
  font-family: "IBM Plex Sans", Inter, system-ui, sans-serif;
  font-size: 0.58rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

#aonoma-entry .aonoma-entry-specific-example__text {
  margin-top: 0.45rem;
  color: #344556;
  font-size: 0.82rem;
  font-weight: 500;
  line-height: 1.78;
}

#aonoma-entry .aonoma-entry-specific-example strong {
  color: #07111c;
  font-weight: 600;
}

#aonoma-people .aonoma-person-index .line-clamp-2,
#aonoma-people article p {
  word-break: keep-all;
  overflow-wrap: anywhere;
}

#aonoma-people .aonoma-person-index[aria-label] {
  text-decoration: none;
}

.aonoma-faq-summary::before {
  content: attr(data-faq-category);
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  border: 1px solid rgba(11, 95, 131, 0.22);
  background: rgba(238, 245, 248, 0.82);
  padding: 0.28rem 0.5rem;
  color: #0b5f83;
  font-size: 0.58rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1;
  white-space: nowrap;
}

.aonoma-faq-summary[data-faq-category="追加"]::before {
  color: #6d7a86;
  border-color: rgba(109, 122, 134, 0.24);
  background: rgba(255, 255, 255, 0.72);
}

@media (max-width: 767px) {
  .route-recruit .aonoma-recruit h2 {
    line-height: 1.18 !important;
  }

  .route-recruit .aonoma-recruit .font-en {
    letter-spacing: 0.1em;
  }

  .aonoma-mobile-index {
    position: relative;
  }

  .aonoma-mobile-index::before,
  .aonoma-mobile-index::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 2;
    width: 2.3rem;
    pointer-events: none;
  }

  .aonoma-mobile-index::before {
    left: 0;
    background: linear-gradient(90deg, #07111c, rgba(7, 17, 28, 0));
  }

  .aonoma-mobile-index::after {
    right: 0;
    background: linear-gradient(270deg, #07111c, rgba(7, 17, 28, 0));
  }

  .aonoma-mobile-index > div {
    scroll-snap-type: x mandatory;
    padding-right: 2.8rem;
  }

  #aonoma-entry .aonoma-entry-specific-example {
    margin-top: 0.9rem;
    padding: 0.78rem 0.86rem;
  }

  #aonoma-entry .aonoma-entry-specific-example__text {
    font-size: 0.78rem;
    line-height: 1.72;
  }

  .aonoma-section-bridge {
    margin-bottom: 1rem;
    padding-left: 0.8rem;
  }

  .aonoma-section-bridge__text {
    font-size: 0.76rem;
    line-height: 1.64;
  }

  .aonoma-faq-summary {
    align-items: flex-start !important;
  }

  .aonoma-faq-summary::before {
    margin-top: 0.12rem;
    font-size: 0.54rem;
  }
}
