@charset "UTF-8";/* ----- 로그인 ----- */
/* 로그인 페이지 헤더 스타일 */
.header_lnb_wrap { background-image:none !important; background-color:#fff !important; margin-top:40px !important; }
.header_lnb_wrap .header { position:relative !important; top:0 !important; background-color:#fff !important; }
.header_lnb_wrap .header .header_wrap { background-color:#fff !important; }
.header_lnb_wrap .header .header_wrap:before { display:none !important; }
.header_lnb_wrap .header .menu_left .header_menu_item_top a { color:#111 !important; }
.header_lnb_wrap .header .menu_right .header_menu_item_top a { color:#111 !important; }
.header_lnb_wrap .header .logo a .logo_img { background-image:url('../../images/main_n/img_logo_b.png') !important; background-size:contain !important; background-repeat:no-repeat !important; background-position:center !important; min-width:58px !important; width:auto !important; height:55px !important; }
.header_lnb_wrap .header .logo a .logo_img img { opacity:1 !important; }
.header_lnb_wrap .header .logo a .logo_text { color:#111 !important; }
.header_lnb_wrap .header.scrolled .header_wrap .menu_left a { color:#111 !important; }
.header_lnb_wrap .header.scrolled .header_wrap .menu_right a { color:#111 !important; }
.header_lnb_wrap .header.scrolled .header_wrap .header_menu_item_top a { color:#111 !important; }
.header_lnb_wrap .header.scrolled .header_wrap .logo a .logo_img { background-image:url('../../images/main_n/img_logo_b.png') !important; }
.header_lnb_wrap .header.scrolled .header_wrap .logo a .logo_text { color:#111 !important; }
.header_lnb_wrap .lnb_area { display:none !important; }
/* 로그인 페이지 lnb_menu_box 스타일 */
.lnb_menu_box { position:relative !important; top:0 !important; opacity:1 !important; visibility:visible !important; left:0 !important; width:100% !important; background-color:#fff !important; box-shadow:2px 0 50px rgba(0,0,0,0.1) !important; z-index:999 !important; margin-top:0 !important; min-height:60px !important; }
.lnb_menu_box.show { opacity:1 !important; visibility:visible !important; }
.lnb_menu_box_inner { transform:translateX(0) !important; display:flex !important; }
.lnb_menu_box.show .lnb_menu_box_inner { transform:translateX(0) !important; }
.lnb_menu_box_left { display:block !important; visibility:visible !important; opacity:1 !important; }
.lnb_menu_box_right { display:block !important; visibility:visible !important; opacity:1 !important; }
.lnb_menu_box_list { display:block !important; visibility:visible !important; opacity:1 !important; }
.lnb_menu_box_horizontal_list { display:flex !important; visibility:visible !important; opacity:1 !important; }
.lnb_menu_box_item { display:block !important; visibility:visible !important; opacity:1 !important; }
.lnb_menu_box_toggle { display:block !important; visibility:visible !important; opacity:1 !important; }
/* .contents_wrap { background-image:url('../../images/login_new/img_login_bg.png') ; background-size:cover; background-repeat:no-repeat; background-position:center; } */
.contents { background-image:url('../../images/login_new/img_login_bg.png') ; background-size:cover; background-repeat:no-repeat; background-position:center; }
.contents.join_wrap { background-image:none !important; }
.login_wrap { display:flex; width:100%; justify-content:center; align-items:center; padding:80px 20px; min-height:calc(100vh - 280px); box-sizing:border-box; } 
.login_inner { width:740px; min-height:555px; background:rgba(255,255,255,0.7); box-shadow:none; padding:40px 65px; box-sizing:border-box; display:flex; flex-direction:column; }
.login_title { font-size:30px; font-weight:700; color:#000; margin:0 0 12px; letter-spacing:-0.25px; line-height:1.3; }
.login_desc { font-size:16px; font-weight:500; color:#000; margin:0 0 32px; letter-spacing:-0.5px; line-height:1.4; }
.login_form { display:flex; flex-direction:column; gap:22px; flex:1; } 
.login_fields { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:8px; } 
.login_field { width:100%; display:flex; flex-direction:column; align-items:stretch; } 
.login_input_wrap { position:relative; display:flex; align-items:center; width:100%; }
.input_icon { position:absolute; left:20px; background-repeat:no-repeat; background-position:center; z-index:1; }
.input_icon_id { width:14px; height:16px; background-image:url('../../images/login_new/ico_login_id.png'); background-size:14px 16px; }
.input_icon_pw { width:14px; height:17px; background-image:url('../../images/login_new/ico_login_pw.png'); background-size:14px 17px; }
.login_input { width:100%; height:40px; border:1px solid #cbd4e5; background:#ffffff; padding:0 20px 0 48px; font-family:'Noto Sans Korean', 'Nanum Gothic' , sans-serif !important; font-size:16px; font-weight:400; color:#1b2743; transition:border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease; box-sizing:border-box; } 
.login_input:focus { border-color:#0035a9; background:#ffffff; box-shadow:0 0 0 3px rgba(0,53,169,0.1); outline:none; } 
.login_input::placeholder { font-family:'Noto Sans Korean', sans-serif; font-size:15px; color:#666; } 
.btn_wrap { position:relative; display:flex; align-items:center; width:100%; }
.btn_icon { position:absolute; left:255px; top: 19px; width:15px; height:18px; background-image:url('../../images/login_new/ico_login_btn.png'); background-size:15px 18px; background-repeat:no-repeat; background-position:center; z-index:1; }
.login_btn { width:100%; height:54px; border:none; background:#18256E; color:#ffffff; font-size:18px; font-weight:500; letter-spacing:-0.5px; cursor:pointer; transition:background 0.2s ease, box-shadow 0.2s ease; box-sizing:border-box; text-align:center; } 
.login_btn:hover { background:#002a86; }
.login_btn:active { background:#001f64; }
.register_wrap { display:flex; align-items:center; justify-content:flex-end; gap:8px; padding-right: 10px; }
.register_link { display:inline-block; font-size:16px; color:#0B57D0; font-weight: 700; text-decoration:none; letter-spacing:-0.5px; transition:color 0.2s ease; }
.register_link:hover { color:#0035a9; text-decoration:underline; }
.register_icon { width:32px; height:30px; display:flex; align-items:center; justify-content:center; color:#ffffff; font-size:12px; font-weight:700; position:relative; }
.register_bottom { width:100%; margin-top:auto; padding-top:20px; display: flex;  justify-content: flex-end; }
.register_bottom_logo { display:block; width:32px; height:30px; background-image:url('../../images/main_n/img_logo_b.png'); background-size:contain; background-repeat:no-repeat; background-position:center; }
.register_bottom_link { position:relative; display:flex; align-items:center; justify-content:center; width:398px; height:60px; border:none; border-radius:8px; background:#0B57D0; color:#ffffff; font-size:14px; font-weight:400; letter-spacing:-0.5px; cursor:pointer; transition:background 0.2s ease; box-sizing:border-box; text-decoration:none; gap:8px; padding-left:30px; overflow:visible; }
.register_bottom_link:before { content:''; position:absolute; left:20px; width:18px; height:18px; background-image:url('../../images/login_new/ico_login_link_btn.png'); background-size:contain; background-repeat:no-repeat; background-position:center; }
.register_bottom_link:after { content:''; position:absolute; top:-8px; right:17px; width:0; height:0; border-left:8px solid transparent; border-right:8px solid transparent; border-bottom:8px solid #0B57D0; }
.register_bottom_icon { width:20px; height:20px; background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23ffffff"><path d="M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z"/></svg>'); background-size:contain; background-repeat:no-repeat; background-position:center; } 


@media (max-width:1200px){
    /* 모바일에서 로고와 햄버거 버튼 항상 검정색 */
    .header_lnb_wrap .header .header_mobile .mobile_logo .logo_img { background-image:url('../../images/main_n/img_logo_b.png') !important; }
    .header_lnb_wrap .header .header_mobile .mobile_logo .logo_text { color:#111 !important; }
    .header_lnb_wrap .header .header_mobile .mobile_logo .logo_text .logo_text_bold { color:#111 !important; }
    .header_lnb_wrap .header .mobile_menu_icon_btn .bar { background:#111 !important; }
    /* 스크롤 시에도 검정색 유지 */
    .header_lnb_wrap .header.scrolled .header_mobile .mobile_logo .logo_img { background-image:url('../../images/main_n/img_logo_b.png') !important; }
    .header_lnb_wrap .header.scrolled .header_mobile .mobile_logo .logo_text { color:#111 !important; }
    .header_lnb_wrap .header.scrolled .header_mobile .mobile_logo .logo_text .logo_text_bold { color:#111 !important; }
    .header_lnb_wrap .header.scrolled .mobile_menu_icon_btn .bar { background:#111 !important; }
}

@media (max-width:768px){
    .login_wrap { padding:60px 16px; min-height:calc(100vh - 220px); } 
    .login_inner { padding:44px 32px 52px; max-width:440px; box-shadow:none; } 
    .login_title { font-size:28px; } 
    .login_welcome { font-size:20px; } 
    .login_desc { font-size:15px; } 
} 
@media (max-width:480px){
    .login_inner { padding:36px 26px 44px; border-radius:12px; max-width:360px; box-shadow:none; } 
    .login_fields { gap:10px; } 
    .login_input { height:50px; padding:0 18px 0 44px; border-radius:8px; } 
    .login_btn { height:50px; font-size:16px; border-radius:8px; padding-left:44px; } 
    .login_title { font-size:24px; } 
    .login_welcome { font-size:18px; } 
    .login_desc { font-size:14px; } 
} 
