@charset "utf-8";
@font-face {
  font-family: 'Pretendard GOV';
  src: url('/font/PretendardGOV-Thin.woff2') format('woff2');
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Pretendard GOV';
  src: url('/font/PretendardGOV-ExtraLight.woff2') format('woff2');
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Pretendard GOV';
  src: url('/font/PretendardGOV-Light.woff2') format('woff2');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Pretendard GOV';
  src: url('/font/PretendardGOV-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Pretendard GOV';
  src: url('/font/PretendardGOV-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Pretendard GOV';
  src: url('/font/PretendardGOV-SemiBold.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Pretendard GOV';
  src: url('/font/PretendardGOV-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Pretendard GOV';
  src: url('/font/PretendardGOV-ExtraBold.woff2') format('woff2');
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Pretendard GOV';
  src: url('/font/PretendardGOV-Black.woff2') format('woff2');
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}


/*초기화*/
*, *::before, *::after{box-sizing: border-box;-webkit-box-sizing: border-box;-moz-box-sizing: border-box;-webkit-text-size-adjust:none;/*ios 확대방지*/}
:root{-webkit-tap-highlight-color: transparent;-webkit-text-size-adjust: 100%;text-size-adjust: 100%;cursor: default;line-height: 1.5;word-break: keep-all;overflow-wrap: break-word;tab-size: 4;}
body, h1, h2, h3, h4, h5, h6, p, ul, ol, li, dl, dt, dd, form, fieldset, legend, table, thead, tbody, tfoot, tr, td, th, span, figure {margin: 0;padding: 0;word-break: keep-all;overflow-wrap: break-word;}
body, html{font-family: "Pretendard GOV", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Roboto, "Helvetica Neue", "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif;font-size: 17px;font-weight: 400;color: var(--font-color-default);line-height: 1.5;letter-spacing: -0.025em;max-width: 100%;}
ul, ol{list-style: none;}
em, address, i{font-style: normal;}
strong, b{font-weight: 600;}
a{text-decoration: none;color: inherit;}
img, picture, video, canvas, svg{display: block;max-width: 100%;border: 0;}
iframe{border: 0;}
button, input, select, textarea{font-family: inherit;font-size: inherit;color: inherit;margin: 0;}
button{border: 0;background: none;cursor: pointer;padding: 0;line-height: 1.5;}
button > span{-ms-transform: translate(0px, -0.5px);}
fieldset{border: 0;}
table{width: 100%;table-layout: fixed;border-collapse: collapse;border-spacing: 0;border: 0;line-height: inherit;}
legend, table caption{position: absolute;z-index: -1;width: 1px;height: 1px;padding: 0;margin: -1px;overflow: hidden;border: 0;clip: rect(1px, 1px, 1px, 1px);clip-path: inset(50%);white-space: nowrap;}
/* 포커스 색상변경 */
/* *:focus{outline: 3px solid #0b153a !important;outline-offset: 2px;position: relative;z-index: 100;} */
/* *:focus:not(:focus-visible){outline: 0 !important; } */
/* .slick-slide a:focus img{outline: 3px solid #0b153a !important;} */
/* footer *:focus{outline: 3px solid #fff !important;} */
/* 포커스 세팅 */
a, button, input, select, textarea, [tabindex]{outline: var(--wa-focus-width) solid transparent;outline-offset: var(--wa-focus-offset);}
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible{outline-color: var(--wa-focus-color)!important;}
a:focus:not(:focus-visible), button:focus:not(:focus-visible), input:focus:not(:focus-visible), select:focus:not(:focus-visible), textarea:focus:not(:focus-visible), [tabindex]:focus:not(:focus-visible){outline-color: transparent!important;}


/*전체공통*/
body{width: 100vw;overflow-x: hidden;display: flex;flex-direction: column;min-height: 100vh;}

/*스킵네비게이션*/
.skip_menu{display:block;position: fixed;top: 0;left: 0;width: 100%;z-index: 9999;}
.skip_menu a{display: block;position: absolute;top: -9999px;}
.skip_menu a span {display: block;padding:10px 0;background: #0b69b8;border: 0 none;color: #fff;text-align: center;}
.skip_menu a:focus, .skip_menu a:hover, .skip_menu a:active{display:inline-block;width: 100%;z-index: 100;top:0;}

/* input, select, textarea... */
:is(input[type="text"], input[type="password"], input[type="number"], input[type="tel"], input[type="email"]), select, textarea{border: 1px solid #555;border-radius: var(--form-radius);appearance: none;-webkit-appearance: none;-moz-appearance: none;padding: 4px 16px;height:40px;background-color: #fff;line-height: 1.5;}
:is(input[type="text"], input[type="password"], input[type="number"], input[type="tel"], input[type="email"])::placeholder{color: #888;}
:is(input[type="text"], input[type="password"], input[type="number"], input[type="tel"], input[type="email"])::-ms-clear{display: none;}
:is(input, textarea)[readonly]{background: #f4f4f4;}
:is(input[type="text"], input[type="password"], input[type="number"], input[type="tel"], input[type="email"]):disabled, select:disabled, textarea:disabled{background-color: #e0e0e0;border-color: #e0e0e0;color: #888;cursor: default;}
:is(input[type="text"], input[type="password"], input[type="number"], input[type="tel"], input[type="email"]).small{height: 36px;}

select{padding: 4px 48px 4px 16px;background: #fff url(/images/common/select_bg.png) right 12px center / 20px no-repeat;vertical-align: top;border-radius: var(--form-radius);color: #111;}
select::-ms-expand{display:none;}
select option{margin: 4px 0;color: #111;}
select:invalid{color: #888;}
/* select.small{height: 40px;padding: 4px 36px 4px 12px;background-position: right 12px center;} */
select.small{height: 36px;padding-right: 32px;}

textarea{display: block;width: 100%;height: auto;overflow-y: auto;resize: vertical;padding: 8px 16px;border-radius: var(--form-radius);}
textarea::-webkit-scrollbar{width: 8px;}
textarea::-webkit-scrollbar-thumb{background-color: #acacac;border-radius: var(--form-radius);}

label:has(input:not(:disabled)), input:not(:disabled) + label[for], label[for]:has(+ input:not(:disabled)){cursor:pointer;}
label:has(input:disabled), input:disabled + label[for], label[for]:has(+ input:disabled), input:disabled{cursor:default!important;}

input[type="radio"]{cursor: pointer;margin: 4px;min-width: 20px;width: 20px;height: 20px;accent-color:#1172e9;} 
input[type="radio"]:focus{outline:0!important;box-shadow:0 0 0 var(--wa-focus-width) var(--wa-focus-color)!important;border-radius:50%;}
input[type="radio"], input[type="checkbox"]{box-shadow:0 0 0 var(--wa-focus-width) transparent;}
input[type="checkbox"]{cursor: pointer;height: 20px;width: 20px;vertical-align: middle;appearance:none;-webkit-appearance:none;position:relative;min-width: 20px;width:20px;height:20px;margin:0;border:1px solid #555;border-radius: 4px;background-color: #fff;}
input[type="checkbox"]:checked{border-color: #1172e9;background:#1172e9 url(/images/common/checkbox.png) center / contain no-repeat;}
input[type="checkbox"]:disabled{border-color:#888;background-color:#e0e0e0;cursor:default;}
input[type="checkbox"]:disabled:checked{background-image: url(/images/common/checkbox_off.png);}
input[type="checkbox"]:focus{outline:0!important;box-shadow:0 0 0 var(--wa-focus-width) var(--wa-focus-color)!important;border-radius:var(--wa-focus-radius);}

/* 토글 스위치 */
.toggle_switch{display:inline-flex;align-items:center;gap:8px;vertical-align:middle;cursor:pointer}
.toggle_switch input{position: absolute;min-width: auto;width: 1px;height: 1px;margin: -1px;border: 0;}
.toggle_switch .toggle_track{position:relative;display:inline-flex;align-items:center;width:54px;height:30px;padding:3px;flex-shrink:0;border-radius:999px;background-color:#888;transition:background-color .2s ease}
.toggle_switch .toggle_track i{position: absolute;left: 3px;width:24px;height:24px;border-radius:50%;background-color:#fff;background-image: url(/images/sub/icoSwich_off.png);background-position: center;background-repeat: no-repeat;background-size: 20px;transition:all .2s ease;}
.toggle_switch:has(input:checked) .toggle_track{background-color:var(--color-primary-50)}
.toggle_switch:has(input:checked) .toggle_track i{left: calc(100% - 27px);background-image: url(/images/sub/icoSwich_on.png);}
.toggle_switch:has(input:focus-visible) .toggle_track{outline:var(--wa-focus-width) solid var(--wa-focus-color);outline-offset:var(--wa-focus-offset)}
.toggle_switch:has(input:disabled) .toggle_track{background-color:#e0e0e0;}
.toggle_switch:has(input:disabled) .toggle_track i{background-color:#888;background-image: url(/images/sub/icoSwich.png);}
.toggle_switch:has(input:disabled) .toggle_label{color:#888}




/* air-datepicker 달력 커스텀 */
input.calendar{width: 100%;max-width: 170px;background: #fff url(/images/common/calendar.png) right 12px center no-repeat;z-index: 50;cursor: pointer;padding-right: 40px;}
input.calendar.small{height: 36px;background-size: 18px;}
input.calendar.period{max-width: 280px;} /* 시작~종료 기간 선택 */
.date_range{display: inline-flex;align-items: center;gap: 4px;}
.date_range em{width: 10px;text-align: center;}
.date_range .calendar{width: calc((100% - 18px) / 2);}
.air-datepicker {--adp-cell-background-color-selected: #256ef4; --adp-cell-background-color-selected-hover: #256ef4;--adp-cell-background-color-in-range: #edf2fe;--adp-cell-background-color-in-range-hover: #edf2fe;--adp-background-color-in-range:#edf2fe;--adp-background-color-selected-other-month: rgba(60,110,242,.8);font-family: "Pretendard GOV", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Roboto, "Helvetica Neue", "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif;font-size: 15px;--adp-width: 290px;--adp-mobile-width: 314px;}
.air-datepicker-nav{--adp-padding: 4px 12px;}
.air-datepicker-body--day-name{font-size: 13px; color: #111; font-weight: 500;}
.air-datepicker-body--day-names .air-datepicker-body--day-name:first-child{color: #ef4444;}
.air-datepicker-body--day-names .air-datepicker-body--day-name:last-child{color: #3b82f6;}
.air-datepicker-body--cells.-days-{gap: 4px;}
.air-datepicker--content{--adp-padding: 4px 12px;}
.air-datepicker-cell{padding-top: 2px;}
.air-datepicker-cell.-current-{color: #083891;border:1px solid #083891;background: #fff;font-weight: 500;} /* 오늘 날짜 */
.air-datepicker-cell.-current-.-in-range-{color: #083891;}
.air-datepicker-cell.-current-.-selected- {color: #fff;} /* 오늘 날짜 + 선택됐을 때 */
.air-datepicker-cell.-day- {aspect-ratio: 1;border-radius: 6px !important;} /* 날짜 셀 */
.air-datepicker-cell.-in-range-.-day-{background: #edf2fe;}
.air-datepicker-cell.-day-:hover{background: var(--adp-cell-background-color-in-range);}
.air-datepicker-cell.-selected-:hover{background: #256ef4!important;}
.air-datepicker-nav{background: #f0f0f0;} /* 달력 헤더 배경 */
.air-datepicker-nav--title, .air-datepicker-nav--title i{font-size: 17px;font-weight: 500;color: #333;} 
.air-datepicker--buttons{border-top: 0;--adp-padding: 12px;}
.air-datepicker-buttons{gap: 4px;}
.air-datepicker-buttons .air-datepicker-button{height: 38px;border: 1px solid;border-radius: 6px;} /* 하단 버튼 */
.air-datepicker-buttons .air-datepicker-button:first-child{border-color: #767676;color: #555;} /* 하단 버튼 : 초기화 */
.air-datepicker-buttons .air-datepicker-button:last-child{border-color: #0b50d0;color: #0b50d0;background: #ecf2fe;} /* 하단 버튼 : 오늘 */
.air-datepicker--pointer {display: none;} /* 달력 포인터 제거 */
/* 터치 디바이스일 경우 */
.air-datepicker.-is-mobile- .air-datepicker-buttons .air-datepicker-button{height: 44px;}
.air-datepicker.-is-mobile-{--adp-z-index: 310;}
.air-datepicker-overlay{--adp-overlay-background-color: rgba(0, 0, 0, .6);--adp-overlay-z-index:300}


/*인풋 파일추가 스타일*/
input[type="file"]{position: absolute;width: 1px;height: 1px;padding: 0;margin: -1px;overflow: hidden;clip: rect(0, 0, 0, 0);border: 0 none;}
input.file_name{min-width: 400px;border: none;background:#ececec !important}
input.last_file{margin-top:0;}
.file_focus{outline: 3px solid #0b153a!important;}
.file_add {font-size: 14px;height: 35px;line-height: 35px;color: #fff;background: #242424;display: inline-block !important;text-align: center;padding: 0 15px;margin-left: 2px;vertical-align: top;cursor: pointer;}

/* 체크박스, 라디오 박스 정렬 */
.choice_list{display: inline-flex;gap: 16px 24px;flex-wrap: wrap;}
.choice_list li{display: inline-flex;align-items: center;}
.choice_list li:has(label):has(input:focus){outline:var(--wa-focus-width) solid var(--wa-focus-color);outline-offset:var(--wa-focus-offset);border-radius:var(--wa-focus-radius);}
.choice_list li:has(label) input:focus{outline:0!important;box-shadow:none!important;}
.choice_list input[type="radio"], .choice_list input[type="checkbox"]{margin: 0;margin-right: 8px;}
.choice_list label{display: inline-flex;align-items: center;margin-right: 8px;word-break: break-all;}

.a_link{color: #1172e9;text-decoration: underline;text-underline-position: under;}
.cursor_p{cursor: pointer;}
.mobile_tel{color:inherit;text-decoration:none;}
.mobile_tel:not([href]){cursor:auto;}


/*버튼스타일*/
/* 버튼 토큰 : 기본 버튼 값 .pri */
.btn_base{line-height: 1.2;font-family: inherit;font-size: inherit;display: inline-flex;justify-content: center;align-items: center;gap: 4px;min-height: 48px;min-width: 96px;padding: 8px 16px;text-align: center;word-break: keep-all;border-radius: 8px;border: 1px solid transparent;background-color: var(--color-primary-50);border-color: var(--color-primary-50);color: var(--color-white);-webkit-appearance: none;cursor: pointer;box-sizing: border-box;transition: all .4s;}
.btn_base:hover{background-color: var(--color-primary-60);border-color: var(--color-primary-60);}
.btn_base:active{background-color: var(--color-primary-70);border-color: var(--color-primary-70);}
.btn_base:disabled{background-color: var(--color-gray-04)!important;border-color: var(--color-gray-04)!important;color: var(--color-gray-07)!important;}
/* 사이즈 토큰: 작은 사이즈 / 초소형 사이즈 */
.btn_base.small{min-height: 40px;padding: 4px 16px;}
.btn_base.xs{width: auto;min-width: 80px;min-height: 36px;padding: 4px 12px;font-size: 14px;}
/* 컬러 토큰  */
/* dark: dk / primary : pri / secondary : sec / danger : dng / brand : bnd / gray : gr */
.btn_base.dk{background-color: #242424;color: var(--color-white)}
.btn_base.dk:hover{background-color: #000;}
.btn_base.pri{background-color: var(--color-primary-50);border-color: var(--color-primary-50);color: var(--color-white)}
.btn_base.pri:hover{background-color: var(--color-primary-60);border-color: var(--color-primary-60);}
.btn_base.pri:active{background-color: var(--color-primary-70);border-color: var(--color-primary-70);}
.btn_base.sec{background-color: var(--color-primary-05);border-color: var(--color-primary-70);color: var(--color-primary-70);}
.btn_base.sec:hover{background-color: var(--color-primary-10);}
.btn_base.sec:active{background-color: var(--color-primary-20);}
.btn_base.dng{background-color: var(--color-red-50);border-color: var(--color-red-50);color: var(--color-white)}
.btn_base.dng:hover{background-color: #b2290e;border-color: #b2290e;}
.btn_base.dng:active{background-color: var(--color-red-70);border-color: var(--color-red-70);}
.btn_base.bnd{background-color: #103697;}
.btn_base.bnd:hover{background-color: #092b83;}
.btn_base.gr{background-color: var(--color-gray-10);border-color: var(--color-gray-10);color: var(--color-white)}
.btn_base.gr:hover{background-color: var(--color-gray-11);border-color: var(--color-gray-11);}
.btn_base.gr:active{background-color: var(--color-gray-11);border-color: var(--color-gray-11);}
/* 테두리 토큰 border :bd */
.btn_base.bd{background-color: var(--color-white);border-color: var(--color-gray-06);color: var(--color-gray-11);}
.btn_base.bd:hover{background-color: var(--color-gray-03);}
.btn_base.bd:active{background-color: var(--color-gray-04);}
.btn_base.bd_dk{background-color: #fff;border-color: #242424;color: #242424;}
.btn_base.bd_dk:hover{background-color: #242424;color: #fff;}
.btn_base.bd_bnd{background-color: #fff;border-color: #06367f;color: #06367f;min-height: 50px;}
.btn_base.bd_bnd:hover{background-color: #06367f;color: #fff;}
/* 아이콘 버튼 공통 속성 */
.btn_base.ico_only{padding: 0!important;min-width: 48px;}
.btn_base.ico_only.small{min-width: 40px;}
.btn_base.ico_only.xs{min-width: 36px;}
.btn_base.ico_add{background: var(--color-white);border-color: var(--color-gray-06);color: var(--color-gray-11);}
.btn_base.ico_add:hover{background: var(--color-gray-03);}
.btn_base.ico_add:active{background: var(--color-gray-04);}
.btn_base.ico_add::after{background-image: url(/images/sub/ico_plus.png);}
.btn_base.ico_del{background: var(--color-red-50);border-color: var(--color-red-50);}
.btn_base.ico_del:hover{background: #b2290e;border-color: #b2290e;}
.btn_base.ico_del:active{background: var(--color-red-70);border-color: var(--color-red-70);}
.btn_base.ico_del::after{background-image: url(/images/sub/ico_minus.png);}
.btn_base[class*="ico"]{padding-right: 12px;}
.btn_base[class*="ico"].xs{padding-right: 8px;}
.btn_base[class*="ico"]::after{content: '';width: 20px;min-width: 20px;height: 20px;display: block;background-position: center;background-repeat: no-repeat;background-size: contain;}
.btn_base.ico_down::after{background-image: url(/images/sub/ico_down.png);}
.btn_base.ico_srch::after{background-image: url(/images/sub/ico_srch.png);}
.btn_base.ico_link::after{background-image: url(/images/sub/ico_link.png);}
.btn_base.ico_blank::after{background-image: url(/images/sub/ico_blank.png);}
.btn_base.ico_more::after{background-image: url(/images/sub/ico_more.png);}
.btn_base.ico_excel{flex-direction: row-reverse;padding-left: 14px;padding-right: 16px;}
.btn_base.ico_excel::after{background-image: url(/images/sub/ico_excel.png);}
.btn_base.ico_attach{border: transparent;background-color: transparent;min-width: 36px;min-height: 36px;}
.btn_base.ico_attach::after{background-image: url(/images/sub/ico_attach.png);}
/* 링크버튼 */
.link_btn{color: var(--color-primary-50);text-decoration: underline;text-underline-position: under;display: inline-flex;align-items: center;gap: 8px;transition: all .4s;}
.link_btn:hover{color: var(--color-primary-60);}
.link_btn.small{font-size: 15px;}
.link_btn.ico_blank::after, .link_btn[target="_blank"]::after{content: '';width: 20px;min-width: 20px;height: 20px;display: block;background: url(/images/sub/icoLink_blank.png) center /contain no-repeat;}
.link_btn.ico_link::after{content: '';width: 20px;min-width: 20px;height: 20px;display: block;background: url(/images/sub/icoLink_link.png) center /contain no-repeat;}
.link_btn.ico_attach{color: #111;text-decoration: none;flex-direction: row-reverse;justify-content: flex-end;}
.link_btn.ico_attach::after{content: '';width: 20px;min-width: 20px;height: 20px;display: block;background: url(/images/sub/ico_attach.png) center /contain no-repeat;}
.link_btn.ico_attach:hover{color: var(--color-primary-50);text-decoration: underline;}

.attach_area{display: inline-flex;align-items: center;flex-wrap: wrap;gap: 8px 40px;}

/* 게시판 용 첨부파일 버튼 */
.btn_attach{line-height:1.2;font-family:inherit;font-size:inherit;display:inline-flex;justify-content:center;align-items:center;min-width:20px;min-height:20px;padding:0;text-align:center;-webkit-appearance:none;cursor:pointer;box-sizing:border-box;}
.btn_attach::after{content:'';width:20px;min-width:20px;height:20px;display:block;background:url(/images/sub/ico_attach.png) center/contain no-repeat;}


/*버튼위치*/
.btn_area{display: flex;align-items: center;justify-content: flex-end;align-items: stretch;gap: 8px;}
.btn_area .btn_base{cursor: pointer;}
.btn_area.small{gap: 8px;}
.btn_area.small .btn_base{min-height: 40px;padding: 4px 16px;font-size: 15px;}
.btn_area.btn_space{justify-content: space-between;align-items: flex-start;}
.btn_area.left{justify-content: flex-start;}
.btn_area.center{justify-content: center;}
.btn_area.right{justify-content: flex-end;}



/*레이아웃*/
.w60{width: 60px !important;min-width: 60px;}
.w90{width: 90px !important;min-width: 90px;}
.w120{width: 120px !important;}
.w125{width: 125px;}
.w130{width: 130px!important;}
.w150{width: 150px;}
.w170{width: 170px;}
.w180{width: 180px;}
.w190{width: 190px;max-width: 190px!important;}
.w215{width: 215px;}
.maxw250{max-width: 250px!important;}
.w300{width: 300px;}
.w380{width: 380px;}
.w710{width: 710px;}
.w1P{width: 100% !important;max-width: none!important;}
.wC40{width: calc(100% - 41px)!important;}
.t_left{text-align: left !important;}
.t_center{text-align: center !important;}
.t_right{text-align: right !important;}
.ellipsis1{text-overflow: ellipsis;white-space: nowrap;word-wrap: normal;overflow: hidden;display: block;max-width: 96%;}
.ellipsis2{width: 100%;overflow: hidden;text-overflow: ellipsis;display: -webkit-box;-webkit-line-clamp: 2;/* 라인수 */-webkit-box-orient: vertical;max-height: 3em;}
.ellipsis3{width: 100%;overflow: hidden;text-overflow: ellipsis;display: -webkit-box;-webkit-line-clamp: 3;/* 라인수 */-webkit-box-orient: vertical;max-height: 4.5em;}

/* 포인트 컬러 */
.pointB{color: #0758b9!important;}
.pointR{color: #ff0000!important;}
.pointG{color: #218533!important;}
.pointO{color: #df3c10!important;}
.pointY{color: #f77f0b!important;}
.pointD{}
.bg_pointB{background-color: #f2f6fc!important;}
.bg_pointO{background-color: #fcf4f2!important;}
.bg_pointW{background-color: #fff!important;}

/* 폰트 굵기 */
.txt_normal{font-weight: var(--weight-normal)!important;}
.txt_bold{font-weight: var(--weight-bold)!important;}
.txt_black{font-weight: var(--weight-black)!important;}

/*마진, 패딩*/
.mt100{margin-top:100px !important;}
.mt80{margin-top:80px !important;}
.mt70{margin-top:70px !important;}
.mt60{margin-top:60px !important;}
.mt50{margin-top:50px !important;}
.mt40{margin-top:40px !important;}
.mt32{margin-top:32px !important;}
.mt30{margin-top:30px !important;}
.mt25{margin-top:25px !important;}
.mt20{margin-top:20px !important;}
.mt16{margin-top:16px !important;}
.mt10{margin-top:10px !important;}
.mt5{margin-top:5px !important;}
.mt2{margin-top:2px !important;}
.mt0{margin-top:0px !important;}

.mb0{margin-bottom:0 !important;}
.mb5{margin-bottom:5px !important;}
.mb10{margin-bottom:10px !important;}
.mb16{margin-bottom:16px !important;}
.mb20{margin-bottom:20px !important;}
.mb30{margin-bottom:30px !important;}
.mb40{margin-bottom:40px !important;}

.m0{margin:0 !important;}
.p0{padding:0 !important;}
.pl0{padding-left:0px !important;}
.pt0{padding-top:0px !important;}
.pb0{padding-bottom:0px !important;}
.p20b0{padding: 20px 0 !important;}

.borderT_gray{border-top: 1px solid #d9d9d9!important;}
.borderR_gray{border-right: 1px solid #d9d9d9!important;}
.border_t0{border-top: 0 !important;}

.hide{overflow: hidden;display: inline-block;position: absolute;z-index: -1;border: 0;width: 1px;height: 1px;clip: rect(1px, 1px, 1px, 1px);clip-path: inset(50%);white-space: nowrap;}
.sr_only{position: absolute;width: 1px;height: 1px;padding: 0;margin: -1px;overflow: hidden;clip: rect(0, 0, 0, 0);clip-path: inset(50%);white-space: nowrap;border: 0;}
.no_scroll{position:fixed;left:0;width:100%;overflow:hidden;padding-right:var(--scrollbar-width);}
.f_left{justify-content: flex-start!important;}
.f_center{justify-content: center!important;}
.f_right{justify-content: flex-end!important;}
.cursor_none{cursor: auto;}
.d_ib{display: inline-block;}

/* 쉐도우 */
.shadow{position:fixed;left: 0;top:0;width: 100%;height: 100%;background: rgba(0,0,0,.7);z-index: 250;display: none;}
.shadow2{position: fixed;left: 0;top:0;width: 100%;height: 100%;background: rgba(0,0,0,.7);z-index: 100;display: none;}
.shadow3{position:fixed;left: 0;top:0;width: 100%;height: 100%;background: rgba(0,0,0,.7);z-index: 250;display: none;}
.shadow_pop{position:fixed;left: 0;top:0;width: 100%;height: 100%;background: rgba(0,0,0,.7);z-index: 510;display: block;}

/*팝업*/
.pop_layer{background:linear-gradient(to bottom, #213f63 40px, #fff 40px);width: calc(100% - 20px); min-width: 540px;position: fixed;left: calc(50% - 10px);top: 48%;z-index: 520;transform: translateX(-50%) translateY(-50%);display:none;border-radius: 25px 25px 20px 20px;margin: 0 10px;max-width: 800px;max-height: calc(100vh - 50px);}
.pop_title{background: #213f63;font-size: 20px;color: #fff;font-weight: 400;padding: 14px 50px 14px 30px;height: 54px;border-top-right-radius: 16px;;border-top-left-radius: 16px;text-align: left;text-overflow: ellipsis;white-space: nowrap;word-wrap: normal;overflow: hidden;display: block;max-width: 100%;}
.pop_inner{padding: 30px;height: calc(100% - 54px);text-align: center;}
.pop_inner .cts{text-align: left;height: auto;max-height: 500px;overflow-y: auto;}
.pop_inner .cts.scroll{height: auto;max-height: 500px;margin-top: 0;}
.pop_inner .text{line-height:1.5}
.pop_inner .img_area{width: 100%;margin: 30px 0 40px;}
.pop_close{font-size:0;line-height:0;width:17px;height:16px;position: absolute;right:30px;top:19px;background: url(/images/common/pop_close.png) left top no-repeat;}
.pop_layer .line{width: 100%;height: 1px;background: url(/images/common/pattern01.png) left bottom repeat-x;margin: 20px 0;}
.pop_layer .title{text-align: center;font-weight: 600;font-size: 24px;}
.pop_layer.password_pop{min-width: auto;max-width: 400px;margin-bottom: 30px;}
.pop_layer .btn_area{margin-top:30px}
.pop_layer .btn_area a{margin-left: 10px;height: 45px;padding: 0 15px;line-height: 45px;min-width: 120px;}
.pop_layer .btn_area a:last-child{margin-left: 0;}
.pop_layer .tableW th{text-align: center;}
.pop_layer .tableA th,.pop_layer .tableA td{height: 45px;}

/* 페이지 오픈시 열리는 팝업(이미지팝업) */
.modal_pop{background:#fff;position: fixed;left: calc(50% - 10px);top: 48%;z-index: 520;transform: translateX(-50%) translateY(-50%);border-radius: 20px;margin: 0 10px;display: block;max-height: calc(100vh - 50px);width: calc(100% - 20px);max-width: 600px;}
.modal_pop .pop_inner{padding: 0;height: 100%;overflow: hidden;border-radius: 0 0 20px 20px;}
.modal_pop .pop_inner img{max-width: 100%;max-height: 80vh;display: block;margin: 0 auto;}

/* 호버시 팝업 */
.pop_hover{position: relative;cursor: pointer;}
.pop_hover::after{content: '';background: url(/images/sub/pop_ico.png) center no-repeat;width: 18px;height: 18px;display: inline-block;position: relative;top: 3px;margin-left: 6px;}
.pop_hover_wrap:hover .pop_hover_layer,.pop_hover_wrap:focus .pop_hover_layer{display: block;}
.pop_hover_layer{position: absolute;left: 0;top:100%;width: 510px;box-shadow: 0px 0px 10px 1px rgba(0, 0, 0, .24);border-radius: 16px;z-index: 5;display: none;}
.pop_hover_layer .pop_inner{background: #fff;border-radius:0 0 16px 16px;text-align: left;}


/* 메인 팝업 배너 (CmMainPop_i1.jsp) */
.pop_wrap{position:fixed;left:50%;top:48%;transform:translateX(-50%) translateY(-50%);z-index:520;background:#fff;overflow:hidden;margin:0 10px;width:max-content;max-width:calc(100vw - 20px);}
.pop_wrap .pop_slide{position:relative;}
.pop_wrap .pop_slide>a{list-style:none;margin:0;padding:0;display:flex;flex-direction:row;flex-wrap:wrap;align-items:flex-start;}
.pop_wrap .pop_slide img{display:block;max-width:100%;}
.pop_wrap .pop_control{display:flex;align-items:center;justify-content:space-between;gap:12px;height: 50px;background:#333;color:#fff;}
.pop_wrap .pop_control button.btn_todayCash{background: url(/images/common/popCash_ico.png) left 20px center / 20px no-repeat;padding: 4px 4px 4px 48px;}
.pop_wrap .pop_control button.btn_close{background: url(/images/common/popClose_ico.png) left 20px center / 20px no-repeat;padding: 4px 20px 4px 48px;position: relative;}
.pop_wrap .pop_control button.btn_close::before{content: '';width: 1px;height: 20px;background: #666;position: absolute;left: 0;top: 50%;transform: translateY(-50%);}
.pop_wrap .pop_control button:focus{outline:none;}


/* GSAP 공통 애니메이션 */
[data-ani="clip-up"],[data-ani="clip-left"],[data-ani="clip-right"]{overflow:hidden;}
[data-ani="zoom-in"],[data-ani="zoom-out"]{transform-origin:50% 50%;backface-visibility:hidden;}
[data-ani="blur-up"]{will-change:transform,opacity,filter;}
[data-ani="char-wave"]>span,[data-ani="char-up"]>span{display:inline-block;white-space:pre;transform-origin:50% 100%;will-change:transform,opacity;backface-visibility:hidden;}
[data-ani="stagger-up"]>*, [data-ani="stagger-zoom-in"]>*{transform-origin:50% 100%;will-change:transform,opacity;backface-visibility:hidden;}
.ani_mask{overflow:hidden;}


/* 260917 서비스 찾기 추가 */
.finder{position:fixed;inset:0;z-index:510;background:rgba(0,0,0,.5);opacity:0;visibility:hidden;transition:opacity .3s,visibility 0s .3s;}
.finder.is_open{opacity:1;visibility:visible;transition:opacity .3s;}

/* 패널: 데스크톱은 왼쪽에서 밀려 나온다 */
.finder_panel{position:absolute;left:0;top:0;height:100%;width:80%;max-width:840px;background:#fff url(/images/common/finder_bg.png) center bottom / contain no-repeat;z-index:520;display:flex;flex-direction:column;transform:translateX(-100%);transition:transform .3s ease;box-shadow:4px 0 24px rgba(0,0,0,.15);padding: 128px 40px 40px;}
.finder.is_open .finder_panel{transform:none;}

.finder_close{position:absolute;right:40px;top:40px;width:48px;height:48px;background: url(/images/common/finderClose_ico.png) center / contain no-repeat;}

/* 본문은 스크롤 영역, '처음으로'는 상단 고정 */
.finder_head{position: absolute;left: 40px;top: 40px;}
.finder_head[hidden]{display:none;}
.finder_body{text-align:left;word-break:keep-all;display: flex;flex-direction: column;height: 100%;position: relative;}

.finder_greet{font-size:15px;color:#1172e9;position: absolute;left: 0;top: -32px;}
.finder_q{font-size:32px;font-weight:700;margin-bottom: 32px;display: flex;align-items: center;gap: 12px;}
.finder_q::before{content: '';width: 56px;aspect-ratio: 1;min-width: 56px;background: #d7e8fd url(/images/common/finder_ico.png) center / contain no-repeat;display: inline-block;border-radius: 50%;}

.finder_opt,.finder_card{border-radius: 12px;overflow-y:auto;padding-bottom: env(safe-area-inset-bottom);}
.finder_opt li + li,.finder_card li + li{margin-top:8px;}
.finder_opt button{display: flex;align-items: center;gap: 12px;width:100%;min-height: 80px;text-align:left;padding:12px;border-radius: 12px;background:#fff;box-shadow: inset 0 0 0 1px #ddd;transition: all .3s;outline:none;}
.finder_opt button::before{content: '';width: 58px;aspect-ratio: 1;min-width: 58px;background: #f2f2f2 url(/images/common/finderQ_ico.png) center / contain no-repeat;display: inline-block;border-radius: 8px;transition: background-color .3s;}
.finder_opt button:hover, .finder_opt button:focus-visible{background:#eaf1fa;box-shadow: inset 0 0 0 2px #0a448c;color:#0a448c;text-shadow: 0 0 0 currentColor;}
.finder_opt button:hover::before,.finder_opt button:focus-visible::before{background-color: #fff;}
.finder_opt button span{display: inline-block;padding-left: 24px;position: relative;text-wrap: balance;}
.finder_opt button span::before{content: '';width: 4px;aspect-ratio: 1;min-width: 4px;background: #111;border-radius: 50%;position: absolute;left: 4px;top: 10px;}

.finder_card a{display: flex;justify-content: center;flex-direction: column;gap: 8px;min-height:110px;padding:20px 40px;border-radius: 12px;background:#fff;position:relative;outline:none;transition: all .3s;overflow: hidden;}
.finder_card a:hover,.finder_card a:focus-visible{box-shadow: inset 0 0 0 4px #0a448c;}
.finder_card a::before{content: '';position: absolute;left: 0;top: 0;width: 100%;height: 100%;background: linear-gradient(to right, rgba(0, 0, 0, .7) 60%, rgba(0, 0, 0, 0));}
.finder_card a::after{content:"바로가기";display: flex;align-items: center;justify-content: center;text-align: center;min-width: 96px;height: 48px;border-radius: 8px;color: #fff;background: #0758b9;position: absolute;right: 40px;top: 50%;transform: translateY(-50%);}
.finder_card .title{display:block;font-size: 21px;font-weight:600;color:#fff;z-index: 1;}
.finder_card .text{display:block;color:#ddd;z-index: 1;}

.finder_card[data-finder-step=lease] .item01 a{background: url(/images/common/finder_lease01.jpg) center / cover no-repeat;}
.finder_card[data-finder-step=lease] .item02 a{background: url(/images/common/finder_lease02.jpg) center / cover no-repeat;}
.finder_card[data-finder-step=lease] .item03 a{background: url(/images/common/finder_lease03.jpg) center / cover no-repeat;}
.finder_card[data-finder-step=epc] .item01 a{background: url(/images/common/finder_epc01.jpg) center / cover no-repeat;}
.finder_card[data-finder-step=epc] .item02 a{background: url(/images/common/finder_epc02.jpg) center / cover no-repeat;}
.finder_card[data-finder-step=coop] .item01 a{background: url(/images/common/finder_coop01.jpg) center / cover no-repeat;}
.finder_card[data-finder-step=coop] .item02 a{background: url(/images/common/finder_coop02.jpg) center / cover no-repeat;}
.finder_card[data-finder-step=policy] .item01 a{background: url(/images/common/finder_policy01.jpg) center / cover no-repeat;}
.finder_card[data-finder-step=policy] .item02 a{background: url(/images/common/finder_policy02.jpg) center / cover no-repeat;}
.finder_card[data-finder-step=about] .item01 a{background: url(/images/common/finder_about01.jpg) center / cover no-repeat;}
.finder_card[data-finder-step=about] .item02 a{background: url(/images/common/finder_about02.jpg) center / cover no-repeat;}

.finder_restart{display: flex;align-items: center;min-height: 48px;color: #555;transition: color .3s;}
.finder_restart:hover,.finder_restart:focus-visible{color: #de3412;}
.finder_restart::before{content: '';display: inline-block;width: 48px;aspect-ratio: 1;background: url(/images/common/finderBack_ico.png) left center / contain no-repeat;transform: rotate(0deg);transform-origin: center;}
.finder_restart:hover::before,.finder_restart:focus-visible::before{transform: rotate(360deg);transition: transform .6s ease-in-out;}

 /* 움직임을 줄인 설정이면 전환 없이 바로 */
@media (prefers-reduced-motion:reduce){ 
    .finder,.finder_panel{transition:none;} 
    .finder_restart:hover::before,.finder_restart:focus-visible::before{transition: none;}
}
@media screen and (max-width: 1040px){
  .finder_q{font-size: 28px;}
}
@media screen and (max-width: 767px){
  .finder_panel{width:100%;max-width:none;height:100vh;height:100dvh;transform:translateY(100%);box-shadow:none;padding: 100px 24px 40px;}
  .finder_close{right: 24px;top: 24px;}
  .finder_head{left: 24px;top: 24px;}
	.finder_q{font-size: 26px;}
  .finder_card a{padding: 20px 24px;}
}
  @media screen and (max-width: 600px){
	.finder_card a::after{display: none;}
}
