/* 「求人を依頼する」入口（/recruitment/ とトップページ）。6項目だけの入力フォーム。
   色・字体は、トップページのお問い合わせフォーム（acceptance-map-20260729.css）に合わせる。 */
.job-request { box-sizing: border-box; display: grid; grid-template-columns: 1fr 1.1fr; gap: 42px; width: 100%; margin: 0; padding: 52px; background: #fff; border-top: 1px solid #c8d2d8; color: #132d43; font-family: "Noto Sans JP", "Yu Gothic", Meiryo, sans-serif; line-height: 1.7; scroll-margin-top: 84px; }
.job-request *, .job-request *::before, .job-request *::after { box-sizing: border-box; }
.job-request--standalone { width: min(calc(100% - 96px), 1120px); margin: 34px auto; border: 1px solid #c8d2d8; box-shadow: 0 16px 42px rgba(19, 38, 57, .10); }
.job-request__kicker { margin: 0; color: #087c82; font-size: 12px; font-weight: 800; letter-spacing: .15em; }
.job-request__title { margin: 8px 0 18px; color: #0a3159; font-family: "Yu Mincho", serif; font-size: clamp(24px, 2.3vw, 34px); line-height: 1.5; word-break: keep-all; overflow-wrap: anywhere; }
.job-request__lead { margin: 0 0 14px; font-size: 15px; word-break: keep-all; overflow-wrap: anywhere; }
.job-request__fee { margin: 18px 0 0; padding-top: 14px; border-top: 1px solid #c8d2d8; color: #33566d; font-size: 12px; line-height: 1.8; }
.job-request__form { display: grid; gap: 16px; align-content: start; }
.job-request__field { display: grid; gap: 6px; color: #0a3159; font-size: 13px; font-weight: 800; }
.job-request__label { display: block; }
.job-request__req { margin-left: 6px; color: #b3261e; font-size: 12px; }
.job-request__input { display: block; width: 100%; min-height: 46px; border: 1px solid #91a5af; border-radius: 0; background: #fff; padding: 10px 12px; color: #132d43; font: inherit; font-weight: 400; }
.job-request__input[aria-invalid="true"] { border-color: #b3261e; background: #fff8f7; }
.job-request__row { display: flex; align-items: center; gap: 8px; }
.job-request__row .job-request__input { max-width: 160px; }
.job-request__unit { color: #132d43; font-weight: 700; }
.job-request__hint { margin: 0; color: #4a6272; font-size: 12px; font-weight: 400; }
.job-request__error { margin: 0; color: #b3261e; font-size: 12px; font-weight: 700; }
.job-request__error:empty { display: none; }
.job-request__privacy { margin: 0; color: #132d43; font-size: 13px; line-height: 1.7; }
.job-request__privacy a { color: #0a3159; font-weight: 800; text-underline-offset: 3px; }
.job-request__submit { min-height: 52px; border: 0; background: #0a3159; color: #fff; font: inherit; font-weight: 800; cursor: pointer; }
.job-request__submit[disabled] { opacity: .6; cursor: progress; }
.job-request__status { margin: 0; font-size: 13px; font-weight: 700; color: #b3261e; }
.job-request__status:empty { display: none; }
.job-request__status a { color: #0a3159; }
.job-request__trap { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.job-request__thanks { grid-column: 1 / -1; padding: 24px; background: #e8f4f0; color: #0a3159; }
.job-request__thanks h3 { margin: 0 0 8px; font-size: 20px; }
.job-request__thanks p { margin: 0 0 10px; color: #132d43; font-size: 14px; }
.job-request__thanks .job-request__note { font-size: 12px; color: #33566d; }
.job-request__timerex { display: inline-flex; align-items: center; min-height: 48px; padding: 0 22px; background: #0a3159; color: #fff; font-weight: 800; text-decoration: none; }
.job-request__thanks[hidden], .job-request__form[hidden] { display: none; }
.job-request :focus-visible { outline: 4px solid #ff9d24; outline-offset: 2px; }
.job-request-jump { margin: 0; padding: 12px 5.5%; border-top: 1px solid #c8d3d8; background: #f8f7f2; color: #10283f; font-size: 14px; line-height: 1.7; }
.job-request-jump a { color: #08295a; font-weight: 800; text-underline-offset: 3px; }
@media (max-width: 700px) {
  .job-request { grid-template-columns: 1fr; gap: 26px; padding: 34px 16px; }
  .job-request--standalone { width: 100%; margin: 24px 0 0; border-left: 0; border-right: 0; box-shadow: none; }
  .job-request-jump { padding: 12px 16px; font-size: 13px; }
}
