/* Section 06 only: stable content above two quiet, decorative rings. */
#recruit {
  --entry-ink: #16394c;
  --entry-teal: #1b7d82;
  padding: clamp(72px, 6.2vw, 90px) 0 clamp(76px, 6.6vw, 96px);
  background: #fbfcfa;
  color: var(--entry-ink);
  font-family: "RIVERST Recruit Noto", "Noto Sans JP", sans-serif;
  isolation: isolate;
}
#recruit .entry-rings { position: absolute; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; }
#recruit .entry-ring {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-play-state: paused;
}
#recruit .entry-ring-mint {
  width: 780px;
  height: 780px;
  left: -590px;
  top: calc(50% - 390px);
  border: 64px solid #e5f2ec;
  animation-name: entry-mint-drift;
  animation-duration: 10s;
}
#recruit .entry-ring-beige {
  width: 580px;
  height: 580px;
  right: -390px;
  top: -350px;
  border: 54px solid #f3efe4;
  animation-name: entry-beige-drift;
  animation-duration: 12s;
}
#recruit.entry-motion-on .entry-ring,
#recruit.entry-motion-on .entry-arrow-nudge { animation-play-state: running; }
#recruit .recruit-inner { position: relative; text-align: center; }
#recruit h2 { margin: 0; font-size: clamp(54px, 5.4vw, 76px); font-weight: 700; line-height: 1.12; letter-spacing: -.045em; }
#recruit .entry-japanese { margin: 12px 0 0; font-size: 16px; line-height: 1.6; letter-spacing: .18em; font-weight: 700; }
#recruit .recruit-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; max-width: 800px; margin: 38px auto 22px; }
#recruit .recruit-links button, #recruit .line-button {
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr) 26px;
  align-items: center;
  gap: 0;
  padding: 20px 26px;
  border: 1px solid var(--entry-teal);
  border-radius: 7px;
  font: inherit;
  font-weight: 700;
  text-align: center;
  line-height: 1.55;
  transition: background-color 180ms ease;
}
#recruit .recruit-links button { min-height: 96px; font-size: 21px; background: #fff; color: var(--entry-ink); }
#recruit .entry-button-label { grid-column: 2; display: block; margin: 0; padding: 0; color: inherit; font: inherit; }
#recruit .entry-arrow { grid-column: 3; justify-self: end; display: block; width: 26px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.2; transition: transform 180ms ease; }
#recruit .entry-arrow-nudge {
  grid-column: 3;
  justify-self: end;
  display: block;
  width: 26px;
  height: 18px;
  animation: entry-line-arrow 6s ease-in-out infinite paused;
}
#recruit .line-button { width: min(100%, 480px); min-height: 64px; margin: 0 auto; padding-block: 17px; background: var(--entry-teal); color: #fff; font-size: 17px; }
#recruit button:focus-visible { outline: 3px solid #257fa8; outline-offset: 4px; }
#recruit button:focus-visible .entry-arrow { transform: translateX(4px); }
#recruit .line-button:focus-visible .entry-arrow-nudge { animation: none; transform: none; }
@media (hover: hover) and (pointer: fine) {
  #recruit .recruit-links button:hover { background: #f0f7f3; }
  #recruit .line-button:hover { background: #146c72; }
  #recruit button:hover .entry-arrow { transform: translateX(4px); }
  #recruit .line-button:hover .entry-arrow-nudge { animation: none; transform: none; }
}
@keyframes entry-mint-drift {
  0%, 100% { transform: translate3d(-10px, 10px, 0); }
  50% { transform: translate3d(14px, -14px, 0); }
}
@keyframes entry-beige-drift {
  0%, 100% { transform: translate3d(12px, -8px, 0); }
  50% { transform: translate3d(-11px, 13px, 0); }
}
@keyframes entry-line-arrow {
  0%, 76%, 94%, 100% { transform: translateX(0); }
  86% { transform: translateX(4px); }
}
@media (max-width: 760px) {
  #recruit { padding: 56px 0 52px; }
  #recruit h2 { font-size: clamp(48px, 12.5vw, 60px); line-height: 1.12; }
  #recruit .entry-japanese { margin-top: 9px; font-size: 14px; }
  #recruit .recruit-links { grid-template-columns: 1fr; gap: 12px; max-width: 430px; margin: 30px auto 20px; }
  #recruit .recruit-links button, #recruit .line-button { grid-template-columns: 22px minmax(0, 1fr) 22px; padding: 16px 18px; }
  #recruit .recruit-links button { min-height: 64px; font-size: 18px; }
  #recruit .entry-arrow, #recruit .entry-arrow-nudge { width: 22px; height: 18px; }
  #recruit .line-button { width: min(100%, 380px); min-height: 64px; font-size: 16px; }
  #recruit .entry-ring-mint { width: 450px; height: 450px; left: -374px; top: calc(50% - 225px); border-width: 40px; }
  #recruit .entry-ring-beige { width: 400px; height: 400px; right: -326px; top: -265px; border-width: 36px; }
}
@media (prefers-reduced-motion: reduce) {
  #recruit .entry-ring, #recruit .entry-arrow-nudge { animation: none; }
  #recruit .entry-arrow, #recruit .recruit-links button, #recruit .line-button { transition: none; }
}
