/* 求人Pro - front */
.sr-recruit { margin: 1.5em 0; }
.sr-job { margin: 0 0 3em; padding: 0 0 2em; border-bottom: 3px solid #eef1f5; }
.sr-job:last-child { border-bottom: none; }
.sr-job-title { font-size: 1.5em; margin: 0 0 .5em; color: #1f4e79; }
.sr-job-desc { margin: 0 0 1.2em; line-height: 1.8; }

.sr-details { margin: 1.5em 0; }
.sr-details-title,
.sr-form-title { font-size: 1.2em; margin: 0 0 .6em; padding-bottom: .3em; border-bottom: 2px solid #1f4e79; }
.sr-details-table { width: 100%; border-collapse: collapse; }
.sr-details-table th,
.sr-details-table td { border: 1px solid #d9d9d9; padding: .6em .8em; text-align: left; vertical-align: top; font-size: .95em; }
.sr-details-table th { width: 30%; background: #f2f6fb; font-weight: 600; }
.sr-details-table tr.sr-details-heading th { background: #1f4e79; color: #fff; width: auto; }

.sr-form-wrap { margin: 2em 0 0; padding: 1.5em; background: #f7f9fc; border: 1px solid #e1e7ef; border-radius: 8px; }
.sr-form .sr-field { margin: 0 0 1.1em; }
.sr-form .sr-field label { display: block; font-weight: 600; margin-bottom: .35em; }
.sr-form input[type=text],
.sr-form input[type=email],
.sr-form input[type=tel],
.sr-form textarea { width: 100%; padding: .7em .75em; border: 1px solid #c4ccd6; border-radius: 6px; font-size: 16px; box-sizing: border-box; background: #fff; }
.sr-form input[readonly] { background: #eef1f5; color: #555; }
.sr-form .sr-req { display: inline-block; margin-left: .4em; padding: .1em .5em; font-size: .72em; color: #fff; background: #c0392b; border-radius: 3px; vertical-align: middle; }
.sr-consent label { font-weight: normal; }
.sr-consent input { margin-right: .4em; }

.sr-submit { margin: 1.4em 0 0; text-align: center; }
.sr-btn { display: inline-block; width: 100%; max-width: 320px; padding: .85em 2em; font-size: 1.05em; font-weight: 600; color: #fff; background: #1f4e79; border: none; border-radius: 6px; cursor: pointer; transition: background .15s; }
.sr-btn:hover { background: #2e75b6; }
.sr-btn[disabled] { opacity: .6; cursor: default; }

.sr-notice { margin: 0 0 1.2em; padding: .9em 1.1em; border-radius: 6px; font-size: .95em; }
.sr-notice.sr-ok { background: #e6f4ea; border: 1px solid #9cc1a8; color: #1e6b34; }
.sr-notice.sr-err { background: #fdecec; border: 1px solid #e3a6a6; color: #a3322a; }
.sr-notice ul { margin: .5em 0 0 1.2em; }
.sr-closed { padding: 1em; text-align: center; color: #777; background: #f0f0f0; border-radius: 6px; }

.sr-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

/* 送信前の確認画面 */
.sr-confirm { margin-top: .5em; }
.sr-confirm-title { font-size: 1.1em; font-weight: 700; margin: 0 0 .3em; padding-bottom: .3em; border-bottom: 2px solid #1f4e79; }
.sr-confirm-note { font-size: .9em; color: #666; margin: 0 0 1em; }
.sr-confirm-list { margin: 0 0 1.4em; border: 1px solid #d9d9d9; border-radius: 6px; overflow: hidden; background: #fff; }
.sr-confirm-list dt { padding: .55em .8em .1em; font-size: .8em; font-weight: 600; color: #667; background: #f6f8fb; border-top: 1px solid #e5e9ef; }
.sr-confirm-list dt:first-child { border-top: none; }
.sr-confirm-list dd { margin: 0; padding: .1em .8em .6em; background: #f6f8fb; white-space: pre-wrap; word-break: break-word; }
.sr-confirm-actions { display: flex; gap: 10px; flex-wrap: wrap; justify-content: center; margin: 0; }
.sr-confirm-actions .sr-btn { width: auto; min-width: 180px; }
.sr-btn-back { background: #8a94a3 !important; }

.sr-apply-cta { margin: 1em 0 0; }
.sr-apply-link { display: inline-block; padding: .5em 1.2em; font-weight: 600; color: #1f4e79; background: #e8f0f9; border-radius: 6px; text-decoration: none; }
.sr-apply-link:hover { background: #d5e6f6; }
.sr-form select { width: 100%; padding: .7em .75em; border: 1px solid #c4ccd6; border-radius: 6px; font-size: 16px; box-sizing: border-box; background: #fff; }
.sr-form .sr-postal { max-width: 200px; }
.sr-form .sr-choices label { display: inline-block; margin: 0 16px 4px 0; font-weight: normal; }

.sr-list { list-style: none; margin: 1.5em 0; padding: 0; }
.sr-list-item { padding: .7em .2em; border-bottom: 1px solid #e5e5e5; }
.sr-list-badge { display: inline-block; margin-left: .5em; padding: .1em .6em; font-size: .78em; color: #1f4e79; background: #e8f0f9; border-radius: 3px; }
.sr-empty { color: #777; }

@media (max-width: 600px) {
	.sr-form-wrap { padding: 1.1em; }
	.sr-details-table th { width: 38%; }
	.sr-job-title { font-size: 1.3em; }
}
