/* Job detail only: original ANEW green, inherited fonts, readable requirements and a true 3-step flow. */
#recruitDetail.anew-job-detail {
  --job-green: #178653;
  --job-ink: #303432;
  --job-mist: #f0f7f3;
  --job-line: #d5e3da;
  color: var(--job-ink);
}
#recruitDetail.anew-job-detail .anew-job-container { max-width: 1120px; }
#recruitDetail.anew-job-detail .anew-job-preview-notice { margin:0; padding:16px 5vw; background:#fff3cd; color:#463600; font-size:14px; }
#recruitDetail.anew-job-detail section { padding: 76px 0; scroll-margin-top: 108px; }
#recruitDetail.anew-job-detail p,
#recruitDetail.anew-job-detail li,
#recruitDetail.anew-job-detail dd { font-size: 16px; line-height: 1.95; }
#recruitDetail.anew-job-detail h1,
#recruitDetail.anew-job-detail h2,
#recruitDetail.anew-job-detail h3 { color: var(--job-ink); font-weight: 900; line-height: 1.5; overflow-wrap: anywhere; }
#recruitDetail.anew-job-detail .anew-job-hero { padding: 48px 0 56px; background: #fff; }
#recruitDetail.anew-job-detail .anew-job-back { display: flex; align-items: center; gap: 12px; width: fit-content; color: var(--job-green); font-size: 14px; line-height: 1.7; }
#recruitDetail.anew-job-detail .anew-job-eyebrow { margin: 38px 0 12px; color: var(--job-green); font-size: 13px; font-weight: 600; letter-spacing: .12em; }
#recruitDetail.anew-job-detail h1 { margin: 0; max-width: 960px; font-size: clamp(30px, 3.8vw, 48px); }
#recruitDetail.anew-job-detail .anew-job-english { margin: 10px 0 0; color: var(--job-green); font-size: 18px; font-weight: 500; }
#recruitDetail.anew-job-detail .anew-job-employment { display: inline-block; margin: 16px 0 0; padding: 5px 14px; border: 1px solid var(--job-line); border-radius: 5px; color: var(--job-green); font-size: 14px; font-weight: 700; }
#recruitDetail.anew-job-detail .anew-job-tagline { margin: 26px 0 0; font-size: clamp(18px, 2vw, 23px); font-weight: 700; }
#recruitDetail.anew-job-detail .anew-job-tagline { white-space: pre-line; }
#recruitDetail.anew-job-detail .anew-job-nav { display: flex; flex-wrap: wrap; gap: 0; margin-top: 40px; padding-top: 22px; border-top: 1px solid var(--job-line); }
#recruitDetail.anew-job-detail .anew-job-nav a { padding: 10px 20px; color: var(--job-green); font-size: 15px; font-weight: 700; border-right: 1px solid var(--job-line); }
#recruitDetail.anew-job-detail .anew-job-nav a:first-child { padding-left: 0; }
#recruitDetail.anew-job-detail .anew-job-nav a:last-child { border-right: 0; }
#recruitDetail.anew-job-detail .anew-job-section-heading { margin-bottom: 34px; }
#recruitDetail.anew-job-detail .anew-job-section-heading > p { margin: 0 0 6px; color: var(--job-green); font-size: 13px; font-weight: 600; letter-spacing: .1em; }
#recruitDetail.anew-job-detail .anew-job-section-heading h2 { margin: 0; font-size: clamp(28px, 3vw, 38px); }
#recruitDetail.anew-job-detail h3 { margin: 0 0 14px; font-size: 21px; }
#recruitDetail.anew-job-detail .anew-job-intro { max-width: 900px; margin: 0 0 34px; }
#recruitDetail.anew-job-detail .anew-job-work-block { margin-top: 32px; }
#recruitDetail.anew-job-detail .anew-job-bullets { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
#recruitDetail.anew-job-detail .anew-job-bullets li { position: relative; padding-left: 22px; }
#recruitDetail.anew-job-detail .anew-job-bullets li::before { content: ''; position: absolute; top: .8em; left: 0; width: 6px; height: 6px; border-radius: 50%; background: var(--job-green); }
#recruitDetail.anew-job-detail .anew-job-growth { margin-top: 36px; padding: 28px 32px; border-left: 4px solid var(--job-green); background: var(--job-mist); }
#recruitDetail.anew-job-detail .anew-job-person { background: var(--job-mist); }
#recruitDetail.anew-job-detail .anew-job-person-lead { margin: 0 0 18px; font-size: clamp(26px, 3vw, 40px); font-weight: 900; line-height: 1.55; }
#recruitDetail.anew-job-detail .anew-job-person-intro { margin: 0 0 36px; }
#recruitDetail.anew-job-detail .anew-job-values { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; margin: 0; padding: 0; list-style: none; }
#recruitDetail.anew-job-detail .anew-job-values > li { min-width: 0; padding: 30px 24px; border-radius: 18px; background: #fff; }
#recruitDetail.anew-job-detail .anew-job-values h3 { font-size: 20px; }
#recruitDetail.anew-job-detail .anew-job-values p { margin: 0; }
#recruitDetail.anew-job-detail .anew-job-interest { margin-top: 32px; padding-top: 28px; border-top: 1px solid var(--job-line); }
#recruitDetail.anew-job-detail .anew-job-interest p { margin: 0; }
#recruitDetail.anew-job-detail .anew-job-requirements { margin: 0; overflow: hidden; border: 1px solid var(--job-line); border-radius: 18px; }
#recruitDetail.anew-job-detail .anew-job-qualification-note { margin: 0 0 28px; }
#recruitDetail.anew-job-detail .anew-job-requirements > div { display: grid; grid-template-columns: minmax(150px, 24%) minmax(0, 1fr); }
#recruitDetail.anew-job-detail .anew-job-requirements > div + div { border-top: 1px solid var(--job-line); }
#recruitDetail.anew-job-detail .anew-job-requirements dt { padding: 25px 28px; background: var(--job-mist); font-size: 16px; line-height: 1.9; font-weight: 700; }
#recruitDetail.anew-job-detail .anew-job-requirements dd { min-width: 0; margin: 0; padding: 25px 30px; background: #fff; overflow-wrap: anywhere; }
#recruitDetail.anew-job-detail .anew-job-requirements dd p { margin: 0; }
#recruitDetail.anew-job-detail .anew-job-requirements dd p + p { margin-top: 1em; }
#recruitDetail.anew-job-detail .anew-job-requirements dd ul,
#recruitDetail.anew-job-detail .anew-job-requirements dd ol { padding-left: 1.5em; }
#recruitDetail.anew-job-detail .anew-job-note { margin-top: 32px; padding: 28px 32px; border: 1px solid var(--job-line); border-radius: 18px; }
#recruitDetail.anew-job-detail .anew-job-note > div { font-size: 16px; line-height: 1.95; overflow-wrap: anywhere; }
#recruitDetail.anew-job-detail .anew-job-note > div p { margin: 0; }
#recruitDetail.anew-job-detail .anew-job-flow-section { background: var(--job-mist); }
#recruitDetail.anew-job-detail .anew-job-flow { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; margin: 0; padding: 0; list-style: none; }
#recruitDetail.anew-job-detail .anew-job-flow > li { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 24px; padding: 28px; border-radius: 18px; background: #fff; }
#recruitDetail.anew-job-detail .anew-job-flow > li:not(:last-child)::after { content: ''; position: absolute; right: -21px; top: 48px; width: 10px; height: 10px; border-top: 2px solid var(--job-green); border-right: 2px solid var(--job-green); transform: rotate(45deg); }
#recruitDetail.anew-job-detail .anew-job-step { display: grid; place-items: center; width: 58px; height: 58px; border-radius: 50%; color: #fff; background: var(--job-green); font-size: 21px; font-weight: 600; line-height: 1; }
#recruitDetail.anew-job-detail .anew-job-flow h3 { font-size: 23px; }
#recruitDetail.anew-job-detail .anew-job-flow p { margin: 0; }
#recruitDetail.anew-job-detail .anew-job-entry { text-align: center; }
#recruitDetail.anew-job-detail .anew-job-entry > .container > .font-en { color: var(--job-green); font-size: 14px; font-weight: 600; letter-spacing: .1em; }
#recruitDetail.anew-job-detail .anew-job-entry h2 { margin: 15px 0 20px; font-size: clamp(25px, 3vw, 38px); }
#recruitDetail.anew-job-detail .anew-job-entry-link { display: flex; justify-content: space-between; align-items: center; gap: 24px; width: min(100%, 420px); margin: 32px auto 24px; padding: 22px 30px; border: 2px solid var(--job-green); border-radius: 9px; color: #fff; background: var(--job-green); font-size: 18px; font-weight: 700; line-height: 1.6; }
#recruitDetail.anew-job-detail .anew-job-entry-link:hover { color: var(--job-green); background: #fff; }
#recruitDetail.anew-job-detail .anew-job-entry .anew-job-back { margin-inline: auto; }
#recruitDetail.anew-job-detail a:focus-visible { outline: 3px solid var(--job-green); outline-offset: 5px; }
#recruitDetail.anew-job-detail a:hover { text-decoration: underline; text-underline-offset: .25em; }
@media (max-width: 900px) {
  #recruitDetail.anew-job-detail .anew-job-values { gap: 14px; }
  #recruitDetail.anew-job-detail .anew-job-values > li { padding: 24px 18px; }
  #recruitDetail.anew-job-detail .anew-job-flow { gap: 24px; }
  #recruitDetail.anew-job-detail .anew-job-flow > li { padding: 24px 18px; }
  #recruitDetail.anew-job-detail .anew-job-flow > li:not(:last-child)::after { right: -17px; }
}
@media (max-width: 767px) {
  #recruitDetail.anew-job-detail section { padding: 48px 0; scroll-margin-top: 88px; }
  #recruitDetail.anew-job-detail .anew-job-hero { padding: 28px 0 36px; }
  #recruitDetail.anew-job-detail .anew-job-eyebrow { margin-top: 28px; }
  #recruitDetail.anew-job-detail .anew-job-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 12px; margin-top: 28px; }
  #recruitDetail.anew-job-detail .anew-job-nav a,
  #recruitDetail.anew-job-detail .anew-job-nav a:first-child { padding: 10px 0; border: 0; }
  #recruitDetail.anew-job-detail .anew-job-section-heading { margin-bottom: 26px; }
  #recruitDetail.anew-job-detail .anew-job-values,
  #recruitDetail.anew-job-detail .anew-job-flow { grid-template-columns: minmax(0, 1fr); }
  #recruitDetail.anew-job-detail .anew-job-values > li { padding: 26px 24px; }
  #recruitDetail.anew-job-detail .anew-job-requirements > div { display: block; }
  #recruitDetail.anew-job-detail .anew-job-requirements dt { padding: 15px 20px; }
  #recruitDetail.anew-job-detail .anew-job-requirements dd { padding: 20px; }
  #recruitDetail.anew-job-detail .anew-job-growth,
  #recruitDetail.anew-job-detail .anew-job-note { padding: 24px; }
  #recruitDetail.anew-job-detail .anew-job-flow { gap: 26px; }
  #recruitDetail.anew-job-detail .anew-job-flow > li { flex-direction: row; align-items: flex-start; gap: 20px; padding: 24px; }
  #recruitDetail.anew-job-detail .anew-job-step { flex: 0 0 46px; width: 46px; height: 46px; font-size: 18px; }
  #recruitDetail.anew-job-detail .anew-job-flow > li > div { min-width: 0; }
  #recruitDetail.anew-job-detail .anew-job-flow > li:not(:last-child)::after { right: auto; left: 42px; top: auto; bottom: -18px; transform: rotate(135deg); }
  #recruitDetail.anew-job-detail .anew-job-flow h3 { font-size: 21px; }
  #recruitDetail.anew-job-detail .anew-job-entry-link { padding: 20px 24px; }
}
