@charset "utf-8";

/* =========================================================
	로그인
========================================================= */
.login { background: var(--bg); }
.login article { padding: 72px 0 72px; }
.login .wrap.cen { width: 100%; max-width: var(--content-max); margin: 0 auto; padding: 0 var(--page-x-pc); box-sizing: border-box; }
.login .login-page { width: 100%; max-width: 480px; margin: 0 auto; }
.login .login-card { padding: 32px 34px; border: 1px solid var(--line); border-radius: 10px; background: var(--bg); box-sizing: border-box; }
.login .login-head { margin-bottom: 28px; }
.login .login-title { margin: 0; color: var(--text-strong); font-size: var(--fs-24); font-weight: 700; line-height: 1.3; letter-spacing: 0; }
.login #frmInfo { display: none; }
.login #frmInput { margin: 0; }
.login .form-field { margin-bottom: 18px; }
.login .form-label { display: block; margin-bottom: 8px; color: var(--text-muted); font-size: var(--fs-15); font-weight: 400; line-height: var(--lh); }
.login .form-label .required { margin-left: 2px; background: transparent !important; color: var(--danger); font-weight: 700; }
.login .form-input { width: 100%; height: 40px !important; padding: 0 14px !important; color: var(--text-strong); font-size: var(--fs-15) !important; font-weight: 400; line-height: 40px !important; }
.login .form-input:-webkit-autofill, .login .form-input:-webkit-autofill:hover, .login .form-input:-webkit-autofill:focus, .login .form-input:-webkit-autofill:active { -webkit-box-shadow: 0 0 0 1000px var(--bg) inset !important; -webkit-text-fill-color: var(--text-strong) !important; caret-color: var(--text-strong); transition: background-color 9999s ease-out 0s; }
.login .form-field.is-error .form-input, .login .form-input.is-error, .login .form-input[aria-invalid="true"] { border-color: var(--danger) !important; }
.login .form-field.is-error .form-input:hover, .login .form-input.is-error:hover, .login .form-input[aria-invalid="true"]:hover { border-color: var(--danger) !important; }
.login .form-field.is-error .form-input:focus, .login .form-field.is-error .form-input:focus-visible, .login .form-input.is-error:focus, .login .form-input.is-error:focus-visible, .login .form-input[aria-invalid="true"]:focus, .login .form-input[aria-invalid="true"]:focus-visible { border-color: var(--danger) !important; outline: 0; box-shadow: inset 0 0 0 var(--focus-width) var(--danger); }
.login .form-error { display: none; align-items: center; gap: 8px; margin: 8px 0 0 0; color: var(--danger); font-size: var(--fs-15); font-weight: 400; line-height: var(--lh); }
.login .form-error.is-show { display: flex; }
.login .form-error-icon { display: block; width: 16px; height: 16px; flex: 0 0 16px; }
.login .form-error-text { display: block; color: var(--danger); font-size: var(--fs-15); font-weight: 400; line-height: var(--lh); }
.login .password-field { position: relative; }
.login .password-input { padding-right: 44px !important; }
.login .password-toggle { position: absolute; right: 4px; top: 50%; width: 32px; height: 32px; min-width: 0; min-height: 0; padding: 0; border: 0; border-radius: 4px; background: transparent; color: var(--text-muted); display: inline-flex; align-items: center; justify-content: center; transform: translateY(-50%); cursor: pointer; }
.login .password-toggle:hover, .login .password-toggle:active { background: transparent; color: var(--text-muted); }
.login .password-toggle:focus, .login .password-toggle:focus-visible { outline: 0; background: transparent; color: var(--text-strong); box-shadow: var(--focus-ring); }
.login .password-toggle img { width: 20px; height: 20px; display: block; }
.login .form-row, .login .login-option-row { margin: 14px 0 22px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.login .checkbox-wrap { display: inline-flex; align-items: center; gap: 8px; color: var(--text); font-size: var(--fs-15); font-weight: 400; line-height: var(--lh); cursor: pointer; }
.login .checkbox-wrap input { width: 20px; height: 20px; min-width: 20px; }
.login .login-submit { width: 100%; height: 48px; padding: 0 16px; font-size: var(--fs-15); font-weight: 700; }
.login .signup-guide { margin-top: 18px; color: var(--text); font-size: var(--fs-15); font-weight: 400; line-height: var(--lh); text-align: center; }
.login .signup-link { display: inline-flex; align-items: center; justify-content: center; width: auto; height: auto; min-width: 0; min-height: 0; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--text); font-family: inherit; font-size: var(--fs-15); font-weight: 400; line-height: var(--lh); text-decoration: none; text-underline-offset: 4px; cursor: pointer; }
.login .signup-link:hover, .login .signup-link:focus-visible { background: transparent; color: var(--text); text-decoration: underline; }
.login .signup-link:active { color: var(--text); }
.login .login-notice { margin-top: 18px; padding: 16px; border: 1px solid var(--line-soft); border-radius: 10px; background: var(--bg-soft); color: var(--text); font-size: var(--fs-15); font-weight: 400; line-height: var(--lh); }
.login .login-notice strong { display: block; margin: 0 0 8px 0; color: var(--text-strong); font-size: var(--fs-15); font-weight: 700; line-height: var(--lh); }
.login .login-notice ul { margin: 0; padding-left: 16px; list-style: disc; }
.login .login-notice li { margin: 0; color: var(--text); font-size: var(--fs-15); line-height: var(--lh); word-break: keep-all; }
.login .login-notice li + li { margin-top: 4px; }

/* =========================================================
	비밀번호
========================================================= */
.login .sub_wrap { padding-top: 24px; padding-bottom: 40px; }
.login .inner { width: 1000px !important; margin: auto; }
.login .sub_title { padding-bottom: 24px; text-align: center; }
.login .sub_title h3 { margin: 0; color: var(--text-strong); font-size: var(--fs-32); font-weight: 700; line-height: 1.3; }
.login .sub_title .login_title_desc { margin: 8px 0 0 0; color: var(--text-muted); font-size: var(--fs-17); line-height: var(--lh); }
.login_wrap { max-width: 700px; margin: 0 auto 24px; padding: 40px 0; border: 1px solid var(--line-soft); border-radius: 10px; background: var(--bg-soft); }
.login_wrap .login_inner { position: relative; width: 560px; margin: auto; }
.login_wrap .login_inner .password_form, .login_wrap .login_inner .chk_password_form { margin-bottom: 16px; padding-bottom: 16px; border-bottom: 1px solid var(--line-soft); }
.login_wrap .login_inner .chk_password_form { text-align: center; }
.login_wrap .login_inner .password_form dl { overflow: hidden; margin-bottom: 16px; }
.login_wrap .login_inner .password_form dl dt { display: inline-block; float: left; width: 130px; color: var(--text-strong); font-size: var(--fs-15); font-weight: 700; line-height: 40px; }
.login_wrap .login_inner .password_form dl dd { display: inline-block; float: left; }
.login_wrap .login_inner .password_form dl dd input { width: 340px; height: 40px; padding: 0 16px; font-size: var(--fs-15); line-height: 40px; }
.btnAction { overflow: hidden; width: fit-content; margin: 0 auto; text-align: center; }

/* =========================================================
	회원가입
========================================================= */
.join_wrap { margin-bottom: 32px; padding: 24px 0; border: 1px solid var(--line-soft); border-radius: 10px; background: var(--bg-soft); }
.join_wrap .join_inner { position: relative; width: 1000px; margin: auto; }
.join_wrap .join_inner .join_form { margin-bottom: 16px; padding-bottom: 16px; }
.join_wrap .join_inner .join_form .checkCursor { cursor: pointer; }
.join_wrap .join_inner .join_form div { margin-top: 12px; }
.join_wrap .join_inner .join_form h3 { margin: 12px 0; color: var(--text-strong); font-size: var(--fs-19); font-weight: 700; }
.join_wrap .join_inner .join_form textarea { width: 100%; }
.buttonArea .right button:nth-child(n+2) { margin-right: 12px; }
.buttonArea .left button:nth-child(n+2) { margin-left: 12px; }

/* =========================================================
	사용자 구분
========================================================= */
.userSe { display: block; width: 100%; margin: 32px 0; text-align: center; }
.userSe ul { display: inline-block; }
.userSe ul li { float: left; position: relative; width: 200px; margin-right: 64px; padding: 24px; border: 8px solid var(--bg-soft); border-radius: 12px; color: var(--text-strong); font-size: var(--fs-24); font-weight: 700; cursor: pointer; }
.userSe ul li:first-child { margin-left: 0; }
.userSe ul li:last-child { margin-right: 0; }
.userSe ul li.on { border-color: var(--primary); background: var(--bg); color: var(--text-strong); font-weight: 700; }

/* =========================================================
	인사대체키
========================================================= */
.hrscRplcKey { width: 709px; height: 675px; background: url(../images/login/insakey.gif) no-repeat 0; }

/* =========================================================
	반응형
========================================================= */
@media (max-width: 1200px) {
	.login .wrap.cen { max-width: none; padding-left: var(--page-x-pc); padding-right: var(--page-x-pc); }
	.login .inner, .join_wrap .join_inner { width: 100% !important; padding-left: var(--page-x-pc); padding-right: var(--page-x-pc); box-sizing: border-box; }
}
@media (max-width: 767px) {
	.login article { padding: 40px 0 48px; }
	.login .wrap.cen { padding-left: var(--page-x-mo); padding-right: var(--page-x-mo); }
	.login .login-page { max-width: none; }
	.login .login-card { padding: 24px 16px; }
	.login .form-row, .login .login-option-row { align-items: center; flex-direction: row; }
	.login_wrap .login_inner { width: 100%; }
	.login_wrap .login_inner .password_form dl dt, .login_wrap .login_inner .password_form dl dd { float: none; display: block; width: 100%; }
	.login_wrap .login_inner .password_form dl dd input { width: 100%; }
	.userSe ul li { float: none; width: 100%; margin: 0 0 16px 0; }
}
