@charset "UTF-8";
:root { --default_font_size: 10px; --inner: 1170px; --inner_padding: 0; --font_size11:1.1rem; --font_size12:1.2rem; --font_size13:1.3rem; --font_size14:1.4rem; --font_size15:1.5rem; --font_size16:1.6rem; --font_size17:1.7rem; --font_size18:1.8rem; --font_size19:1.9rem; --font_size20:2rem; --font_size21:2.1rem; --font_size22:2.2rem; --font_size23:2.3rem; --font_size24:2.4rem; --font_size25:2.5rem; --font_size26:2.6rem; --font_size27:2.7rem; --font_size28:2.8rem; --font_size29:2.9rem; --font_size30:3rem; --font_size31:3.1rem; --font_size32:3.2rem; --font_size33:3.3rem; --font_size34:3.4rem; --font_size35:3.5rem; --font_size36:3.6rem; --font_size37:3.7rem; --font_size38:3.8rem; --font_size39:3.9rem; --font_size40:4rem; --color1:#000; --color2:#232323; --color3:#333; --color4:#454545; --color5:#666; --color6:#767676; --color7:#8e8e90; --color8:#989898; --color9:#999; --color10:#ddd; --color11:#eee; --color12:#efefef; --color13:#f5f5f5; --color14:#fefefe; --color15:#fff; --cm_color1:#EF5BA1; --cm_color2:#F5B700; --cm_color3:#119E23; --cm_color4:#A696EE; }

/* basic */
::selection { background: rgba(13, 132, 78, 0.2); color: #000; }
.no-js { opacity: 0; }

/* 스크롤바 */
::-webkit-scrollbar { width: 8px; height: 10px; }
::-webkit-scrollbar-thumb { border-radius: 10px; background: #ccc; }
::-webkit-scrollbar-track { background: #f4f4f4; }
.dragscroll::-webkit-scrollbar { display: none !important; }

/* basic */
html,
body { min-width: 360px; line-height: 1.5; font-family: "Verdana", "NotoSansKR", "Malgun Gothic", "맑은 고딕", helvetica, "Apple SD Gothic Neo", sans-serif; letter-spacing: -0.5px; word-wrap: break-word; word-break: break-all; }
html { overflow: auto; overflow-x: hidden; font-size: var(--default_font_size); }
body { color: #000; font-size: 1.6rem; }

/* option layout */
.cm_option { display: flex; z-index: 2; position: relative; align-items: center; justify-content: space-between; width: 100%; }
.cm_option .op_left { flex-shrink: 0; justify-content: flex-start; text-align: left; }
.cm_option .op_right { flex-shrink: 0; justify-content: flex-end; text-align: right; }
.cm_option .btn_area { width: auto; }
.cm_option.start { align-items: flex-start; }
.cm_option.end { align-items: flex-end; }

/* board search */
.board_search { display: flex; align-items: center; justify-content: flex-end; margin-bottom: 3.3rem; gap: 1.2rem; }
.board_search .search_item { display: flex; align-items: center; gap: 1.2rem; }
.board_search .search_item .form_control { flex-grow: 1; height: 5rem; padding: 0 2rem; border: 1px solid #ddd; border-radius: 1rem; background-color: #fff; font-size: 1.6rem; }
.board_search .search_item select.form_control { padding-right: 4rem; }
.board_search .search_item .btn_search { flex-shrink: 0; width: 5rem; height: 5rem; border-radius: 1rem; background: #000 url(../../images/common/icon_search02.svg) no-repeat center/2.4rem; font-size: 0; }

/* board option */
.board_option { margin-bottom: 2.5rem; }
.board_option > div { display: flex; align-items: center; gap: 2.4rem; }
.board_option .op_left { display: flex; align-items: center; }
.board_option .op_item { position: relative; font-size: 1.6rem; }
.board_option .op_item:after { position: absolute; top: 50%; right: -1.2rem; width: 1px; height: 1.2rem; margin-top: -0.6rem; background-color: #ddd; content: ""; }
.board_option .op_item:last-child:after { display: none; }

/* 공통 게시판 리스트 */
.cm_board_list { position: relative; }

/* board list1 */
.board_list1.cm_board_list table { width: 100%; table-layout: fixed; }
.board_list1.cm_board_list table thead th { height: 8rem; padding: 2rem; border-top: 2px solid #000; border-bottom: 1px solid #000; background: #fff; font-weight: 700; font-size: 2rem; text-align: center; }
.board_list1.cm_board_list table tbody td { height: 8rem; padding: 2rem; border-bottom: 1px solid #ddd; background-color: #fff; color: #000; font-size: 1.7rem; line-height: 1.5; text-align: center; }
.board_list1.cm_board_list table tbody td.item_subject { text-align: left; }
.board_list1.cm_board_list table tbody td.item_subject > a { display: inline-block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; vertical-align: bottom; white-space: nowrap; }
.board_list1.cm_board_list table tbody td.item_subject > a:hover { text-decoration: underline; }
.board_list1.cm_board_list table tbody td.item_empty { padding: 15rem 3rem; }
.board_list1.cm_board_list table tbody tr.notice { border: 1px solid #000; background: #F2F2F4; }
.board_list1.cm_board_list table tbody tr.notice td { border: none; background: none; }
.board_list1.cm_board_list table tbody tr:first-child,
.board_list1.cm_board_list table tbody tr:first-child td { border-top: 0; }

/* board view */
.cm_board_view { padding-bottom: 5rem; border-bottom: 2px solid #999; background-color: #fff; word-break: keep-all; }
.cm_board_view .board_view_head { position: relative; padding-bottom: 5rem; border-bottom: 2px solid #000; }
.cm_board_view .board_view_head .view_label { display: flex; flex-shrink: 0; justify-content: center; margin-bottom: 2rem; gap: 1rem; }
.cm_board_view .board_view_head .view_title { font-weight: 700; font-size: 3.6rem; line-height: 1.3; text-align: center; }
.cm_board_view .board_view_head .view_info { display: flex; align-items: center; justify-content: center; margin-top: 3.2rem; gap: 4rem; }
.cm_board_view .board_view_head .view_info .info_item { display: flex; position: relative; align-items: center; justify-content: center; gap: 1.2rem; font-size: 1.7rem; }
.cm_board_view .board_view_head .view_info .info_item:after { position: absolute; top: 50%; right: -2rem; width: 1px; height: 12px; margin-top: -0.6rem; background-color: #ddd; content: ""; }
.cm_board_view .board_view_head .view_info .info_item:last-child:after { display: none; }
.cm_board_view .board_view_head .view_info .info_item dt { font-weight: 500; }
.cm_board_view .board_view_head .view_info .info_item dd { color: #555; }
.cm_board_view .board_view_file { display: flex; align-items: flex-start; margin-top: 2rem; padding: 4rem; border: 1px solid #E8E8EE; border-radius: 10px; background: #F8F8F8; }
.cm_board_view .board_view_file .file_title { display: flex; flex-shrink: 0; align-items: center; width: 15rem; font-weight: 700; font-size: 1.7rem; }
.cm_board_view .board_view_file .file_title:before { display: block; width: 2.4rem; height: 2.4rem; margin-top: -0.3rem; margin-right: 1rem; background: url(../../images/common/icon_file02.svg) no-repeat center/contain; content: ""; }
.cm_board_view .board_view_file .file_cont { width: calc(100% - 15rem); }
.cm_board_view .board_view_cont { min-height: 32rem; padding: 4rem 0; }

/* editor */
.cm_editor { font-size: 1.6rem; line-height: normal; letter-spacing: 0; word-break: break-all; }
.cm_editor * { font-size: inherit; font-family: "Verdana", "NotoSansKR", "Malgun Gothic", "맑은 고딕", helvetica, "Apple SD Gothic Neo", sans-serif !important; }
.cm_editor pre { white-space: break-spaces; word-break: break-all; }
.cm_editor em,
.cm_editor i { font-style: italic; }
.cm_editor strong,
.cm_editor b { font-weight: bold; }
.cm_editor sup { font-size: smaller; vertical-align: super; }
.cm_editor sub { font-size: smaller; vertical-align: sub; }
.cm_editor img { max-width: 100% !important; height: auto !important; }
.cm_editor table { max-width: 100%; }
.cm_editor table th { padding: 5px; border: 1px solid #666; border-top: 0; border-right: 0; }
.cm_editor table th:last-child { border-right: 1px solid #666; }
.cm_editor table tr:first-child th { border-top: 1px solid #666; }
.cm_editor table tbody td { padding: 5px; border: 1px solid #666; border-top: 0; border-right: 0; }
.cm_editor table tbody td:last-child { border-right: 1px solid #666; }
.cm_editor table tbody tr:first-child td { border-top: 1px solid #666; }
.cm_editor .marker { background-color: Yellow; }

/* 공통 박스 */
.cm_box .link_box { display: inline-block; position: relative; width: 100%; height: 100%; }
.cm_box .link_box.link1:after { position: absolute; top: 50%; right: 0; width: 9px; height: 17px; transform: translateY(-50%); background: url(../../images/common/icon_arr2_right.svg) no-repeat center/9px; content: ""; }
.cm_box.acc_box { position: relative; padding-right: 40px; }
.cm_box.acc_box .acc_btn { position: absolute; top: 8px; right: 15px; width: 17px; height: 9px; }
.cm_box.acc_box .acc_btn .cm_icon { display: inline-block; width: 17px; }
.cm_box.acc_box.acc1 { max-height: 50px; overflow: hidden; }
.cm_box.acc_box.acc1.active { max-height: 100%; }
.cm_box.acc_box.acc1.active .acc_btn .cm_icon { transform: rotate(180deg); }
.box1.cm_box { padding: 3.5rem 4rem; background-color: #f7f7f7; }
.cm_box_shadow { box-shadow: 0 0 8px rgba(0, 0, 0, 0.2); }

/* 공통 버튼 */
.cm_btn_area { display: flex; z-index: 2; position: relative; flex-wrap: wrap; align-items: center; gap: 1rem; }
.cm_btn_area.fixed { flex-wrap: nowrap; }
.cm_btn_area.center { justify-content: center; }
.cm_btn_area.right { justify-content: flex-end; }
.cm_btn_area.between { justify-content: space-between; }
.cm_btn { display: inline-flex; z-index: 1; position: relative; align-items: center; justify-content: center; height: 5rem; padding: 1rem 2rem; overflow: hidden; border: 1px solid #ddd; background-color: #fff; font-weight: 700; line-height: 1.4; text-align: center; vertical-align: baseline; word-break: keep-all; cursor: pointer; transition: color 0.2s, border-color 0.2s, background-color 0.2s, filter 0.2s; }
.cm_btn:hover { text-decoration: underline; }
.cm_btn.hover:hover { padding: 1rem calc(2rem - 1px); border: 2px solid var(--cm_color1); }
.cm_btn.btn_xl { height: 7rem; padding: 2rem 6rem; font-size: 2rem; }
.cm_btn.btn_circle { width: 5rem; height: 5rem; padding: 1rem; border-radius: 100%; border-color: #fff; box-shadow: 5px 5px 10px 0 rgba(0, 0, 0, 0.1); text-indent: -9999px; }
.cm_btn.btn_round { border-radius: 100px; }
.cm_btn.btn_shadow { box-shadow: 5px 5px 10px 0 rgba(0, 0, 0, 0.1); }
.cm_btn.btn_etc1 { height: auto !important; padding: 0 !important; overflow: visible; border-color: transparent !important; background-color: transparent !important; }
.cm_btn.btn_etc1:hover { text-decoration: underline; }
.cm_btn.btn_sm.hover:hover { padding: 0.7rem calc(1.5rem - 1px); }
.cm_btn.btn_lg.hover:hover { padding: 1rem calc(3rem - 1px); }
.cm_btn.cm_icon { justify-content: space-between; }
.cm_btn.cm_icon.notext,
.cm_btn.cm_icon.notext > * { text-indent: -9999px; }
.cm_btn.cm_icon:before { margin-top: 0.1rem; margin-right: 1rem; }
.cm_btn.cm_icon.right:before { margin-right: 0; margin-left: 1rem; }
.cm_btn.btn_xs.cm_icon:before,
.cm_btn.btn_sm.cm_icon:before { margin-right: 0.8rem; }
.cm_btn.btn_xs.cm_icon.right:before,
.cm_btn.btn_sm.cm_icon.right:before { margin-right: 0; margin-left: 0.8rem; }
.cm_btn.btn_lg.cm_icon:before,
.cm_btn.btn_xl.cm_icon:before { margin-right: 1.2rem; }
.cm_btn.btn_lg.cm_icon.right:before,
.cm_btn.btn_xl.cm_icon.right:before { margin-right: 0; margin-left: 1.2rem; }
.btn1.cm_btn { border-color: var(--cm_color1); background-color: var(--cm_color1); color: #333; }
.btn1.cm_btn.border { border-color: var(--cm_color1); background-color: #fff; color: var(--cm_color1); }
.btn2.cm_btn { border-color: var(--cm_color2); background-color: var(--cm_color2); color: #333; }
.btn2.cm_btn.border { border-color: var(--cm_color2); background-color: #fff; color: var(--cm_color2); }
.btn3.cm_btn { border-color: var(--cm_color3); background-color: var(--cm_color3); color: #333; }
.btn3.cm_btn.border { border-color: var(--cm_color3); background-color: #fff; color: var(--cm_color3); }
.btn4.cm_btn { border-color: var(--cm_color4); background-color: var(--cm_color4); color: #333; }
.btn4.cm_btn.border { border-color: var(--cm_color4); background-color: #fff; color: var(--cm_color4); }
.btn5.cm_btn { border-width: 2px; border-color: #000; background-color: #000; color: #fff; }
.btn5.cm_btn.border { border-color: #000; background-color: #fff; color: #000; }

/* 공통 컬러 */
.cm_color.color1 { color: var(--cm_color1) !important; }
.cm_bg.bg1 { background: var(--cm_color1) !important; }
.cm_gradient.gradient1 { background: var(--cm_gradient1) !important; }
.cm_color.color2 { color: var(--cm_color2) !important; }
.cm_bg.bg2 { background: var(--cm_color2) !important; }
.cm_gradient.gradient2 { background: var(--cm_gradient2) !important; }
.cm_color.color3 { color: var(--cm_color3) !important; }
.cm_bg.bg3 { background: var(--cm_color3) !important; }
.cm_gradient.gradient3 { background: var(--cm_gradient3) !important; }
.cm_color.color4 { color: var(--cm_color4) !important; }
.cm_bg.bg4 { background: var(--cm_color4) !important; }
.cm_gradient.gradient4 { background: var(--cm_gradient4) !important; }
.cm_color.color5 { color: var(--cm_color5) !important; }
.cm_bg.bg5 { background: var(--cm_color5) !important; }
.cm_gradient.gradient5 { background: var(--cm_gradient5) !important; }
.cm_color.color6 { color: var(--cm_color6) !important; }
.cm_bg.bg6 { background: var(--cm_color6) !important; }
.cm_gradient.gradient6 { background: var(--cm_gradient6) !important; }
.cm_color.color7 { color: var(--cm_color7) !important; }
.cm_bg.bg7 { background: var(--cm_color7) !important; }
.cm_gradient.gradient7 { background: var(--cm_gradient7) !important; }
.cm_color.color8 { color: var(--cm_color8) !important; }
.cm_bg.bg8 { background: var(--cm_color8) !important; }
.cm_gradient.gradient8 { background: var(--cm_gradient8) !important; }
.cm_color.color9 { color: var(--cm_color9) !important; }
.cm_bg.bg9 { background: var(--cm_color9) !important; }
.cm_gradient.gradient9 { background: var(--cm_gradient9) !important; }
.cm_color.color10 { color: var(--cm_color10) !important; }
.cm_bg.bg10 { background: var(--cm_color10) !important; }
.cm_gradient.gradient10 { background: var(--cm_gradient10) !important; }
.cm_color.color11 { color: var(--cm_color11) !important; }
.cm_bg.bg11 { background: var(--cm_color11) !important; }
.cm_gradient.gradient11 { background: var(--cm_gradient11) !important; }
.cm_color.color12 { color: var(--cm_color12) !important; }
.cm_bg.bg12 { background: var(--cm_color12) !important; }
.cm_gradient.gradient12 { background: var(--cm_gradient12) !important; }
.cm_color.color13 { color: var(--cm_color13) !important; }
.cm_bg.bg13 { background: var(--cm_color13) !important; }
.cm_gradient.gradient13 { background: var(--cm_gradient13) !important; }
.cm_color.color14 { color: var(--cm_color14) !important; }
.cm_bg.bg14 { background: var(--cm_color14) !important; }
.cm_gradient.gradient14 { background: var(--cm_gradient14) !important; }
.cm_color.color15 { color: var(--cm_color15) !important; }
.cm_bg.bg15 { background: var(--cm_color15) !important; }
.cm_gradient.gradient15 { background: var(--cm_gradient15) !important; }
.mono_color1 { color: var(--color1) !important; }
.mono_bg1 { background: var(--color1) !important; }
.mono_color2 { color: var(--color2) !important; }
.mono_bg2 { background: var(--color2) !important; }
.mono_color3 { color: var(--color3) !important; }
.mono_bg3 { background: var(--color3) !important; }
.mono_color4 { color: var(--color4) !important; }
.mono_bg4 { background: var(--color4) !important; }
.mono_color5 { color: var(--color5) !important; }
.mono_bg5 { background: var(--color5) !important; }
.mono_color6 { color: var(--color6) !important; }
.mono_bg6 { background: var(--color6) !important; }
.mono_color7 { color: var(--color7) !important; }
.mono_bg7 { background: var(--color7) !important; }
.mono_color8 { color: var(--color8) !important; }
.mono_bg8 { background: var(--color8) !important; }
.mono_color9 { color: var(--color9) !important; }
.mono_bg9 { background: var(--color9) !important; }
.mono_color10 { color: var(--color10) !important; }
.mono_bg10 { background: var(--color10) !important; }
.mono_color11 { color: var(--color11) !important; }
.mono_bg11 { background: var(--color11) !important; }
.mono_color12 { color: var(--color12) !important; }
.mono_bg12 { background: var(--color12) !important; }
.mono_color13 { color: var(--color13) !important; }
.mono_bg13 { background: var(--color13) !important; }
.mono_color14 { color: var(--color14) !important; }
.mono_bg14 { background: var(--color14) !important; }
.mono_color15 { color: var(--color15) !important; }
.mono_bg15 { background: var(--color15) !important; }

/* 공통 폼 */
input::-webkit-search-decoration,
input::-webkit-search-cancel-button,
input::-webkit-search-results-button,
input::-webkit-search-results-decoration { display: none; }
.form_label { display: flex; align-items: center; width: 100%; margin-bottom: 1rem; color: #333; font-size: 1.4rem; }
.form_control { width: 100%; height: 6rem; padding: 0.5rem 2rem; border: 1px solid #9b9a9a; border-radius: 5px; background-color: #fff; font-size: 1.7rem; }
.form_control::placeholder { color: #767676; }
select.form_control { padding-right: 4rem; background: #fff url(../../images/common/icon_arr_select.svg) no-repeat right 1.6rem center/1.2rem; }
textarea.form_control { height: 15rem; padding: 1.5rem 2rem; }
.form_control.form_datepicker { padding-right: 5.5rem; background: #fff url(../../images/common/icon_calendar01.svg) no-repeat right 2rem center/2.5rem; }
.form_control:hover { padding: 0.5rem calc(2rem - 2px); border: 3px solid var(--cm_color1); }
.form_control[readonly],
.form_control:disabled { padding: 0.5rem 2rem; border: 1px solid #ccc !important; background-color: #fbfbfb !important; color: #666 !important; cursor: not-allowed !important; }
select.form_control[readonly],
select.form_control:disabled { padding-right: 4rem; background: #fbfbfb url(../../images/common/icon_arr_select.svg) no-repeat right 16px center/1.2rem !important; }
.form_control.form_datepicker[readonly],
.form_control.form_datepicker:disabled { padding-right: 5.5rem; background: #fbfbfb url(../../images/common/icon_calendar01.svg) no-repeat right 2rem center/2.5rem !important; }

/* form_group */
.cm_form_area > .form_group + .form_group { margin-top: 3rem; }
.cm_form_area .highlight { color: var(--cm_color1) !important; font-weight: 500; }
.cm_form_area > .form_group > .col > .form_label,
.cm_form_area > .form_group > [class^=col] > .form_label { margin-bottom: 1rem; }
.form_wrap { position: relative; }
.form_wrap > .form_control { padding-right: 8rem; }
.form_wrap > .form_search { padding-right: 4rem; }
.form_wrap > .cm_btn { position: absolute; top: 0.7rem; right: 0.7rem; min-width: 7rem; height: 4rem; padding-right: 1rem; padding-left: 1rem; font-size: 1.3rem; letter-spacing: -1px; }
.form_wrap.max > .form_control { padding-right: 11rem; }
.form_wrap.max > .cm_btn { min-width: 9.1rem; }
.form_wrap > .btn_search { position: absolute; top: 0; right: 0; width: 3rem; height: 5.5rem; overflow: hidden; background: url(../../images/common/icon_search01.svg) no-repeat left center/16px; text-indent: -9999px; }
.form_group { display: flex; flex-wrap: wrap; margin: 0 -1.5rem; }
.form_group > [class^=col] { padding-right: 1.5rem; padding-left: 1.5rem; }
.form_group.type2 { margin: 0 -0.5rem; }
.form_group.type2 > [class^=col] { padding-right: 0.5rem; padding-left: 0.5rem; }
.form_group .col-text { align-self: center; text-align: center; }
.form_group.between { justify-content: space-between !important; }
.form_group.end { justify-content: flex-end !important; }
.form_group.noCols { margin: 0 !important; }
.form_group.fixed { flex-wrap: nowrap; }
.form_group.fixed [class^=col] { flex-shrink: 1; }

/* ui datepicker */
.ui-datepicker { z-index: 50 !important; width: 320px !important; padding: 0; overflow: hidden; border: 1px solid #ddd; border-radius: 0; background-color: #fff; box-shadow: 5px 5px 10px 0 rgba(0, 0, 0, 0.1); font-size: 16px; font-family: "Verdana", "NotoSansKR", "Malgun Gothic", "맑은 고딕", helvetica, "Apple SD Gothic Neo", sans-serif; }
.ui-datepicker .ui-datepicker-header { padding: 10px; border: 0; border-bottom: 0; border-radius: 0; background-image: none; background-color: #fff; }
.ui-datepicker .ui-datepicker-title { position: relative; margin: 0; line-height: 1; }
.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next { z-index: 1; position: absolute; top: 50%; width: 30px; height: 30px; margin-top: -15px; background-position: center; background-repeat: no-repeat; cursor: pointer; }
.ui-datepicker .ui-datepicker-prev { left: 15px; background-image: url(../../images/common/icon_arr02_left.svg); }
.ui-datepicker .ui-datepicker-next { right: 15px; background-image: url(../../images/common/icon_arr02_right.svg); }
.ui-datepicker .ui-datepicker-prev span,
.ui-datepicker .ui-datepicker-next span { display: none; }
.ui-datepicker .ui-datepicker-prev:hover,
.ui-datepicker .ui-datepicker-next:hover { border: 0; background-color: transparent; }
.ui-datepicker .ui-datepicker-title select { width: 100px; height: 35px; margin: 0 5px; padding: 0 10px; padding-right: 30px; border: 0; background: #fff url(../../images/common/icon_arr_select.svg) no-repeat right 10px center/11px; color: #333; font-weight: 500; font-size: 16px; line-height: 1.5; transition: border-color 0.15s ease-in-out; }
.ui-datepicker table { width: calc(100% - 40px); margin: 0 20px 20px; }
.ui-datepicker th { height: 34px; padding: 0; border-bottom: 1px solid #ddd; background-color: #fff; color: var(--cm_color2); font-weight: 500; text-align: center; }
.ui-datepicker td { height: 34px; padding: 0; border: 0; text-align: center; }
.ui-state-default,
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default,
.ui-button,
html .ui-button.ui-state-disabled:hover,
html .ui-button.ui-state-disabled:active { display: block; width: 34px; height: 34px; margin: 0 auto; padding: 0; border: 0; border-radius: 100%; background-image: none; background-color: #fff; line-height: 34px; text-align: center; }
.ui-state-active,
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active,
a.ui-button:active,
.ui-button:active,
.ui-button.ui-state-active:hover { background-color: var(--cm_color1); color: #000; font-weight: 700; }
.ui-state-highlight,
.ui-widget-content .ui-state-highlight,
.ui-widget-header .ui-state-highlight { background-color: #fff; color: var(--cm_color2); font-weight: 700; }

/* form search */
.form_search { display: flex; width: 100%; padding: 2px; background-color: #131313; }
.form_search .search_item { display: flex; width: 100%; }
.form_search .search_item .form_control { height: 8rem; padding: 0 3.5rem; border: 0; border-radius: 0; font-size: 1.8rem; }
.form_search .search_item .search_select { display: flex; flex-shrink: 0; }
.form_search .search_item .search_form_wrap { display: flex; width: 100%; }
.form_search .search_item .search_form_wrap .form_control.search_form { width: 100%; padding: 0 3.5rem; }
.form_search .search_item .search_form_wrap .search_btn { flex-shrink: 0; width: 8rem; height: 8rem; overflow: hidden; background: #131313 url(../../images/common/icon_search01.svg) no-repeat center/2.6rem; font-size: 1px; text-indent: -9999px; }
.form_search_option { position: relative; padding: 4rem 0; }
.form_search_option dl { display: flex; align-items: flex-start; }
.form_search_option dl + dl { margin-top: 2rem; }
.form_search_option dl dt { flex-shrink: 0; min-width: 12rem; padding-top: 0.8rem; padding-right: 2rem; font-weight: 500; font-size: 1.8rem; }
.form_search_option dl dd { width: 100%; }

/* form check */
.form_check_area { display: flex; align-items: flex-start; min-height: 6rem; padding: 1.6rem 2rem; border: 1px solid #9b9a9a; border-radius: 5px; background-color: #fff; }
.form_check_area .check_list { display: flex; flex-wrap: wrap; align-items: center; width: 100%; gap: 2rem; }
.form_check_area > .form_label { flex-shrink: 0; width: auto; margin: 0; padding-right: 2rem; color: #999; font-weight: 400; font-size: 1.7rem; }
.form_check_area.type2 { flex-wrap: wrap; min-height: 0; padding: 0; border: 0; }
.form_check_area.type2 .check_list { gap: 1rem; }
.form_check { display: inline-flex; position: relative; overflow: hidden; vertical-align: middle; cursor: pointer; user-select: none; }
.form_check input[type=checkbox],
.form_check input[type=radio] { position: absolute; top: 0; left: 0; width: 100%; height: 100%; min-height: 0; margin: 0; border: 0; background: transparent; -webkit-appearance: checkbox; z-index: 2; opacity: 0; clip: auto; }
.form_check input + .form_label { display: flex; z-index: 2; position: relative; align-items: center; height: auto; margin: 0; font-weight: 400; line-height: 1.4; cursor: pointer; user-select: none; }
.form_check input + .form_label:before { flex-shrink: 0; background-position: center; background-size: contain; background-repeat: no-repeat; content: ""; }
.form_check.notext input + .form_label { font-size: 0 !important; }
.form_check.notext input + .form_label:before { margin: 0 !important; }
.form_check.check1 input + .form_label { font-size: 1.7rem; }
.form_check.check1 input + .form_label:before { width: 2.6rem; height: 2.6rem; margin-right: 1.5rem; background: url(../../images/common/icon_check01.svg) no-repeat center/contain; }
.form_check.check1 input[type=radio] + .form_label:before { background: url(../../images/common/icon_check02.svg) no-repeat center/contain; }
.form_check.check1 input:checked + .form_label:before { background: url(../../images/common/icon_check01_on.svg) no-repeat center/contain; }
.form_check.check1 input[type=radio]:checked + .form_label:before { background: url(../../images/common/icon_check02_on.svg) no-repeat center/contain; }
.form_check.check1 input:disabled + .form_label,
.form_check.check1 input:disabled:focus-visible + .form_label { color: #999; cursor: default; }
.form_check.check1 input:disabled + .form_label:before,
.form_check.check1 input:disabled:focus-visible + .form_label:before,
.form_check.check1 input:disabled:checked + .form_label:before,
.form_check.check1 input:disabled:focus-visible:checked + .form_label:before { opacity: 0.3; }

/* form file */
.form_file { display: flex; z-index: 1; position: relative; align-items: center; min-height: 6rem; padding: 0 2rem; padding-right: 8rem; overflow: hidden; border: 1px solid #9b9a9a; background-color: #fff; }
.form_file input[type=file] { position: absolute; top: 100%; left: -100%; width: 1px; height: 1px; }
.form_file .file_subj { display: flex; z-index: 2; position: relative; align-items: center; width: 100%; padding: 1rem 0; padding-left: 4rem; text-align: left; }
.form_file .file_subj:after { position: absolute; top: 1.2rem; left: 0; width: 3rem; height: 1.7rem; background: url(../../images/common/icon_file02.svg) no-repeat center/contain; content: ""; }
.form_file .file_subj .file_text { width: 100%; overflow: hidden; color: #444; font-weight: 500; font-size: 1.6rem; text-overflow: ellipsis; white-space: nowrap; }
.form_file .file_add { position: absolute; top: 0; right: 0; bottom: 0; width: 8rem; overflow: hidden; background: url(../../images/common/icon_plus01.svg) no-repeat center/2rem; font-size: 1px; text-indent: -9999px; }
.form_file .file_delete { z-index: 2; position: absolute; top: 0; right: 0; bottom: 0; width: 8rem; overflow: hidden; background: url(../../images/common/icon_delete01.svg) no-repeat center/2rem; font-size: 1px; text-indent: -9999px; }
.form_file:hover { padding: 0 calc(2rem - 2px); padding-right: calc(8rem - 2px); border: 3px solid var(--cm_color1); }
.form_file:hover .file_subj:after { background: url(../../images/common/icon_file03.svg) no-repeat center/contain; }
.form_file:hover .file_add { width: calc(8rem - 2px); overflow: hidden; background: url(../../images/common/icon_plus02.svg) no-repeat center/2rem; }
.form_file:hover .file_delete { width: calc(8rem - 4px); }
.form_file_list { width: 100%; }
.form_file_list .list_item { position: relative; max-width: 100%; }
.form_file_list .list_item + .list_item { margin-top: 1rem; }
.form_file_list .file_subj { display: inline-block; position: relative; width: auto; max-width: 100%; padding-right: 3.2rem; overflow: hidden; color: #666; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; word-break: break-all; }
.form_file_list .file_subj:after { position: absolute; top: 0; right: 0; width: 2.4rem; height: 2.4rem; background: url(../../images/common/icon_download01.svg) no-repeat center/contain; content: ""; }
.form_file_list .file_subj:hover { text-decoration: underline; }

/* 공통 아이콘 */
.cm_icon { display: inline-flex; position: relative; align-items: flex-start; line-height: 1.6; vertical-align: middle; }
.cm_icon:before { display: block; flex-shrink: 0; margin-right: 1rem; background-position: center; background-size: contain; background-repeat: no-repeat; content: ""; transition: background-image 0.3s; }
.cm_icon.right { flex-direction: row-reverse; }
.cm_icon.right:before { margin-right: 0; margin-left: 1rem; }
.cm_icon.notext,
.cm_icon.notext > * { overflow: hidden; text-indent: -9999px; }
.cm_icon.notext:before { margin: 0 !important; }
.icon_arr1.cm_icon { align-items: center; }
.icon_arr1.cm_icon:before { width: 1rem; height: 1.7rem; margin-top: 0; }
.icon_arr1.cm_icon.arr_left:before { background-image: url(../../images/common/icon_arr01_left.svg); }
.icon_arr1.cm_icon.arr_right:before { background-image: url(../../images/common/icon_arr01_right.svg); }
.icon_arr1.cm_icon.small { align-items: center; }
.icon_arr1.cm_icon.small:before { width: 0.8rem; height: 1.3rem; margin-top: 0; }
.icon_arr1.cm_icon.small.arr_left:before { background-image: url(../../images/common/icon_arr01_left.svg); }
.icon_arr1.cm_icon.small.arr_right:before { background-image: url(../../images/common/icon_arr01_right.svg); }
.icon1.cm_icon:before { width: 3rem; height: 2.4rem; margin-top: -0.1rem; background-image: url(../../images/common/icon01.svg); }
.icon_reset.cm_icon { align-items: center; }
.icon_reset.cm_icon:before { width: 1.6rem; height: 1.7rem; margin-top: -0.1rem; background-image: url(../../images/common/icon_reset01.svg); }
.icon_file1.cm_icon:before { width: 2.4rem; height: 2.2rem; margin-top: -0.1rem; background-image: url(../../images/common/icon_file01.svg); }

/* 공통 keyframes */
@keyframes modalFade {
	0% { transform: translate3d(0, -10%, 0); opacity: 0; }
	100% { transform: translate3d(0, 0, 0); opacity: 1; }
}
@keyframes moveLeft {
	0% { transform: translate3d(10%, 0, 0); }
	100% { transform: translate3d(-10%, 0, 0); }
}
@keyframes modalBtm {
	0% { transform: translate3d(0, 100%, 0); opacity: 0; }
	100% { transform: translate3d(0, 0, 0); opacity: 1; }
}
@keyframes bounce {
	0% { transform: translateY(100%); opacity: 0; }
	60% { transform: translateY(-10%); opacity: 1; }
	100% { transform: translateY(0); opacity: 1; }
}
@keyframes fade-left {
	0% { transform: translateX(50px); opacity: 0; }
	100% { transform: translateX(0); opacity: 1; }
}
@keyframes fade-up {
	0% { transform: translateY(50px); opacity: 0; }
	100% { transform: translateY(0); opacity: 1; }
}
@keyframes scaleX-in {
	0% { transform: scaleX(0); }
	100% { transform: scaleX(1); }
}

/* 공통 라벨 */
.cm_label { display: inline-flex; align-items: center; justify-content: center; height: 3.5rem; padding: 0 1.7rem; border: 1px solid #ddd; border-radius: 100px; background-color: #f5f5f5; font-weight: 700; font-size: 1.4rem; vertical-align: baseline; }
.cm_label.label1 { height: 3.6rem; padding: 0.5rem 1.7rem; border: 1px solid #000; background: var(--cm_color4); font-size: 1.6rem; }

/* 공통 태그 */
.cm_tag { display: flex; flex-wrap: wrap; gap: 0.7rem; }
.cm_tag .tag_item { display: flex; align-items: center; max-width: 100%; height: 4rem; padding: 0 1.5rem; padding-bottom: 0.1rem; overflow: hidden; border: solid 1px var(--cm_color2); border-radius: 100px; color: var(--cm_color2); font-size: 1.4rem; text-overflow: ellipsis; white-space: nowrap; }
.cm_tag .tag_item:before { margin-right: 2px; content: "#"; }
.cm_tag.type2 .tag_item { border-radius: 5px; }
.cm_tag.type2 .tag_item:before { display: none; }

/* 공통 리스트 */
.cm_list { position: relative; }
.cm_list .list_body { position: relative; }
.cm_list .list_body .list_item { position: relative; }
.cm_list .list_body .list_item .item_box { display: flex; position: relative; }
.cm_list .list_body .list_item .item_box .item_thumb { position: relative; width: 100%; }
.cm_list .list_body .list_item .item_box .item_thumb .thumb_box { position: relative; width: 100%; overflow: hidden; background-color: #ccc; text-align: center; word-break: keep-all; }
.cm_list .list_body .list_item .item_box .item_thumb .thumb_box:after { display: block; width: 100%; content: ""; }
.cm_list .list_body .list_item .item_box .item_thumb .thumb_box > .thumb_img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }
.cm_list .list_body .list_item .item_box .item_title .item_icon { display: inline-flex; align-items: center; justify-content: center; margin-right: 0.3rem; overflow: hidden; background-position: center; background-size: contain; background-repeat: no-repeat; font-size: 1px; text-indent: -9999px; vertical-align: text-bottom; }
.cm_list .list_body .list_item .item_box .item_title .item_new { width: 2.4rem; height: 2.4rem; margin-bottom: 0.1rem; border-radius: 5px; background-color: var(--cm_color1); color: #333; font-weight: 700; font-size: 1.5rem; text-indent: 0; }
.cm_list .list_body .list_item .item_box .item_title .item_lock { width: 1.7rem; height: 2rem; margin-bottom: 0.3rem; background-image: url(../../images/common/icon_lock01.svg); }

/* list1 */
.list1.cm_list .list_body { display: flex; flex-wrap: wrap; gap: 3rem; }
.list1.cm_list .list_body .list_item { width: calc((100% - 6rem) / 3); }
.list1.cm_list .list_body .list_item .item_box { display: flex; flex-direction: column; height: 100%; border: 1px solid #ddd; background-color: #fff; transition: box-shadow 0.2s; }
.list1.cm_list .list_body .list_item .item_box:after { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 3px solid var(--cm_color2); content: ""; opacity: 0; transition: opacity 0.2s; }
.list1.cm_list .list_body .list_item .item_box > div { color: #222; }
.list1.cm_list .list_body .list_item .item_box .item_thumb { flex-shrink: 0; height: 13rem; border-bottom: 1px solid #ddd; }
.list1.cm_list .list_body .list_item .item_box .item_thumb .thumb_box { display: flex; align-items: center; justify-content: center; height: 100%; padding: 1rem 2rem; background-color: #fff; }
.list1.cm_list .list_body .list_item .item_box .item_thumb .thumb_box:after { display: none; }
.list1.cm_list .list_body .list_item .item_box .item_thumb .thumb_box > .thumb_img { position: static; width: auto; max-width: 20rem; height: auto; max-height: 6.5rem; object-fit: none; }
.list1.cm_list .list_body .list_item .item_box .item_desc { padding: 4rem 4rem 3rem; }
.list1.cm_list .list_body .list_item .item_box .item_title { width: 100%; font-size: 2.4rem; line-height: 1.3; text-align: left; word-break: keep-all; }
.list1.cm_list .list_body .list_item .item_box .item_info { margin-top: 2rem; }
.list1.cm_list .list_body .list_item .item_box .item_info dl { display: flex; margin-bottom: 0.7rem; font-size: 1.6rem; }
.list1.cm_list .list_body .list_item .item_box .item_info dl:last-child { margin-bottom: 0; }
.list1.cm_list .list_body .list_item .item_box .item_info dl dt { min-width: 8.5rem; padding-right: 1rem; font-weight: 500; }
.list1.cm_list .list_body .list_item .item_box .item_info dl dd { color: #777; }
.list1.cm_list .list_body .list_item .item_box .item_tag { max-height: 8.7rem; margin-top: 1.5rem; overflow: hidden; }
.list1.cm_list .list_body .list_item .item_box:hover { box-shadow: 5px 5px 10px 0 rgba(0, 0, 0, 0.1); }
.list1.cm_list .list_body .list_item .item_box:hover:after { opacity: 1; }

/* 공통 데이터 없음 */
.cm_nodata { text-align: center; word-break: keep-all; }
.cm_nodata .no_inner { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 43rem; padding: 8rem 3rem; border: 3px solid #000; background-color: #fff; box-shadow: 5px 5px 10px 0 rgba(0, 0, 0, 0.1); }
.cm_nodata .img_no { max-width: 18rem; }
.cm_nodata .text1 { margin-top: 4rem; font-weight: 300; font-size: 3rem; }
.cm_nodata .text1 .text-bold { font-weight: 500 !important; }
.cm_nodata .text2 { margin-top: 3rem; color: #444; font-weight: 300; font-size: 2rem; }

/* overview1 */
.cm_overview1 { position: relative; }
.cm_overview1 .ovw_box { position: relative; padding: 4rem 5rem; padding-right: 35rem; border: 1px solid #ddd; background-color: #fff; }
.cm_overview1 .ovw_box + .ovw_box { margin-top: 2rem; }
.cm_overview1 .ovw_title { display: flex; align-items: center; gap: 5rem; }
.cm_overview1 .ovw_title .ovw_name { font-weight: 500; font-size: 2.8rem; }
.cm_overview1 .ovw_title .ovw_desc { position: relative; color: #222; font-weight: 300; font-size: 2rem; }
.cm_overview1 .ovw_title .ovw_desc:after { position: absolute; top: 50%; left: -2.6rem; width: 1px; height: 2.2rem; margin-top: -1.1rem; background-color: #ddd; content: ""; }
.cm_overview1 .ovw_info { margin-top: 3rem; }
.cm_overview1 .ovw_info dl { display: flex; color: #222; }
.cm_overview1 .ovw_info dl + dl { margin-top: 1rem; }
.cm_overview1 .ovw_info dl dt { flex-shrink: 0; min-width: 15rem; padding-right: 2rem; font-weight: 500; font-size: 1.7rem; }
.cm_overview1 .ovw_info dl dd { width: 100%; font-size: 1.7rem; }
.cm_overview1 .ovw_info .info_text { font-size: 1.7rem; line-height: 1.6; word-break: keep-all; }
.cm_overview1 .ovw_btn { position: absolute; right: 5rem; bottom: 4rem; }
.cm_overview1 .ovw_label { position: absolute; top: 4rem; right: 5rem; }
.cm_overview1 .ovw_box.type2 { padding-right: 5rem; border: 1px solid #f6f6f6; background-color: #f6f6f6; }
.cm_overview1 .ovw_box.type2 .ovw_name { font-size: 2.2rem; }
.cm_overview1 .ovw_box.type2 .ovw_desc { color: #666; font-size: 1.7rem; }
.cm_overview1 .ovw_box.type2 .ovw_info { margin-top: 2rem; }
.cm_overview1 .ovw_box.type3 .ovw_info { margin-top: 0; }
.cm_overview1 .ovw_box.type3 .ovw_info dl + dl { margin-top: 2rem; }

/* step1 */
.step1.cm_step { display: flex; align-items: flex-start; word-break: keep-all; }
.step1.cm_step .item_step { display: flex; z-index: 1; position: relative; flex-direction: column; align-items: center; width: 100%; padding: 0 1rem; color: #333; font-size: 1.8rem; text-align: center; }
.step1.cm_step .item_step:after { z-index: -1; position: absolute; top: 2.75rem; right: 0; left: 0; height: 2px; background-color: var(--cm_color1); content: ""; }
.step1.cm_step .item_step:first-child:after { left: 50%; }
.step1.cm_step .item_step:last-child:after { right: 50%; }
.step1.cm_step .item_step .step_num { display: flex; align-items: center; justify-content: center; width: 5.5rem; height: 5.5rem; border: 2px solid var(--cm_color1); border-radius: 100%; background-color: #fff; font-weight: 700; }
.step1.cm_step .item_step .step_title { margin-top: 2rem; }
.step1.cm_step .item_step .step_desc { margin-top: 1.5rem; color: #666; font-size: 1.6rem; line-height: 1.5; }

/* 공통 페이징 */
.cm_paging1 { display: flex; align-items: center; justify-content: center; margin-top: 8rem; gap: 1.2rem; }
.cm_paging1 .page_control { display: flex; flex-shrink: 0; align-items: center; justify-content: center; width: 2.4rem; height: 4.2rem; overflow: hidden; border-radius: 10px; background-position: center; background-size: contain; background-repeat: no-repeat; font-size: 0; }
.cm_paging1 .page_control.first { background-image: url(../../images/common/pg_first.svg); }
.cm_paging1 .page_control.prev { background-image: url(../../images/common/pg_prev.svg); }
.cm_paging1 .page_control.next { background-image: url(../../images/common/pg_next.svg); }
.cm_paging1 .page_control.last { background-image: url(../../images/common/pg_last.svg); }
.cm_paging1 .paging_page { display: flex; margin: 0 1.2rem; gap: 0.8rem; }
.cm_paging1 .page_link { display: flex; flex-shrink: 0; align-items: center; justify-content: center; width: 4.2rem; height: 4.2rem; border-radius: 10px; background: #fff; color: #444; font-size: 1.6rem; transition: color 0.2s, background-color 0.2s; }
.cm_paging1 .page_link:hover { background: #F4F4F4; }
.cm_paging1 .page_link.active { background: #000; color: #fff; font-weight: 700; }

/* 상세 페이징 */
.cm_paging2 { display: flex; justify-content: center; margin-top: 4rem; gap: 2rem; }
.cm_paging2 .item_paging { display: flex; position: relative; flex-direction: column; justify-content: center; width: calc((100% - 2rem) / 2); padding: 2.8rem 2rem; border: 1px solid #ddd; border-radius: 10px; background: #fff; transition: border-color 0.2s; }
.cm_paging2 .item_paging:after { position: absolute; top: 50%; width: 6rem; height: 6rem; margin-top: -3rem; border-radius: 100%; background-position: center; background-size: 2.4rem; background-repeat: no-repeat; background-color: #F8F8F8; content: ""; }
.cm_paging2 .item_paging.item_prev { padding-left: 12rem; }
.cm_paging2 .item_paging.item_prev:after { left: 2rem; background-image: url(../../images/common/icon_arr05_left.svg); }
.cm_paging2 .item_paging.item_next { padding-right: 12rem; padding-left: 0; text-align: right; }
.cm_paging2 .item_paging.item_next:after { right: 2rem; left: auto; background-image: url(../../images/common/icon_arr05_right.svg); }
.cm_paging2 .item_paging .item_text { display: block; font-weight: 700; font-size: 1.6rem; transition: color 0.2s; }
.cm_paging2 .item_paging .item_title { display: -webkit-box; max-height: 4.48rem; margin-top: 1.2rem; color: #666; line-height: 1.4; word-break: break-all; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.cm_paging2 .item_paging:hover { border-color: #000; }
.cm_paging2 .item_paging:hover .item_text { color: var(--cm_color1); }
.cm_paging2 .item_paging.item_disabled { cursor: default; }
.cm_paging2 .item_paging.item_disabled .item_text { color: #666; }
.cm_paging2 .item_paging.item_disabled:hover { border-color: #ddd; }
.cm_paging2 .item_paging.item_disabled:hover .item_text { color: #666; }

/* 공통 약관 */
.cm_policy { color: #333; font-size: 1.4rem; line-height: 1.6; word-break: keep-all; }
.cm_policy .plcy_box { padding: 2.5rem 3rem; border: 1px solid #ddd; background: #f5f5f5; line-height: 1.8; }
.cm_policy .plcy_title1 { margin-bottom: 1.5rem; font-weight: 700; font-size: 1.7rem; }
.cm_policy .plcy_title2 { margin-bottom: 0.8rem; font-weight: 500; font-size: 1.5rem; }
.cm_policy .plcy_list1 > li { position: relative; margin-bottom: 0.4rem; padding-left: 2rem; line-height: 1.5; }
.cm_policy .plcy_list1 > li:last-child { margin-bottom: 0; }
.cm_policy .plcy_list1 > li > .num { position: absolute; top: -0.01rem; left: 0; }
.cm_policy .plcy_list2 > li { position: relative; margin-bottom: 0.4rem; padding-left: 1.5rem; line-height: 1.5; }
.cm_policy .plcy_list2 > li:last-child { margin-bottom: 0; }
.cm_policy .plcy_list2 > li:after { position: absolute; top: 0.1rem; left: 0; content: "-"; font-weight: 700; }
.cm_policy .plcy_list1 > li .plcy_list2 { margin-top: 0.5rem; }
.cm_policy .plcy_ovw1 { position: relative; margin-bottom: 0.4rem; padding-left: 2rem; line-height: 1.5; }
.cm_policy .plcy_ovw1:after { position: absolute; top: -0.2rem; left: 0; content: "*"; font-weight: 700; }
.cm_policy .plcy_ovw1 dt { font-weight: 500; }
.cm_policy .plcy_ovw1 dd { margin-top: 0.5rem; }

/* 공통 팝업 */
.cm_modal { display: none; z-index: 200; position: fixed; top: 0; left: 0; align-items: center; justify-content: center; width: 100%; height: 100vh; }
.cm_modal .modal_contents { display: flex; z-index: 2; position: relative; flex-direction: column; width: 94%; max-width: 1024px; max-height: 90vh; margin: auto; overflow: hidden; transform: translateY(10%); background-color: #fff; animation: modalFade 0.5s ease both; animation-play-state: paused !important; }
.cm_modal .modal_contents .modal_head { display: flex; position: relative; flex-shrink: 0; flex-wrap: wrap; align-items: center; padding: 3rem 4rem 2rem; padding-right: 10rem; }
.cm_modal .modal_contents .modal_body { height: 100%; padding: 0 4rem 5rem; overflow: hidden; overflow-y: auto; /*scrollbar-gutter: stable; */ text-align: left; }
.cm_modal .modal_contents .modal_foot { flex-shrink: 0; padding: 3rem 4rem; background-color: #191919; }
.cm_modal .modal_title { font-weight: 500; font-size: 3.2rem; line-height: 1.3; text-align: left; }
.cm_modal .modal_close { z-index: 5; position: absolute; top: 3rem; right: 4.5rem; width: 2.8rem; height: 2.8rem; background: url(../../images/common/icon_close01.svg) no-repeat center/contain; color: transparent; font-size: 0; }
.cm_modal .modal_bg { z-index: 1; position: fixed; top: 0; right: 0; bottom: 0; left: 0; background-color: rgba(0, 0, 0, 0.5); }
.cm_modal.modal_sm .modal_contents { max-width: 660px; }
.cm_modal.modal_lg .modal_contents { max-width: 1170px; }
.cm_modal.show { display: flex !important; }
.cm_modal.show .modal_contents { animation-play-state: running !important; }
.cm_modal.show .modal_contents:focus-visible { outline: 0 dashed #000; outline-offset: -5px; }
.cm_modal:focus-visible { outline: none !important; }

/* 공통 탭 */
.cm_tab_content { position: relative; }
.cm_tab_content .tab_cont { display: none; }
.cm_tab_content .tab_cont.active { display: block; }
.cm_tab { z-index: 5; position: relative; word-break: keep-all; }
.cm_tab .tab_list { display: flex; position: relative; width: 100%; }
.cm_tab .tab_list > li { position: relative; }
.cm_tab .tab_list > li > a { display: flex; z-index: 1; position: relative; align-items: center; justify-content: center; text-align: center; transition: color 0.2s, background-color 0.2s, border-color 0.2s; }

/* tab1 */
.tab1.cm_tab { border: 1px solid #ddd; box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1); }
.tab1.cm_tab .tab_list { display: flex; flex-wrap: wrap; padding: 0 4rem; gap: 0 4rem; }
.tab1.cm_tab .tab_list .btn_tab > a { display: flex; position: relative; align-items: center; justify-content: center; height: 7rem; padding: 0 1rem; color: #333; font-size: 1.8rem; }
.tab1.cm_tab .tab_list .btn_tab > a:after { position: absolute; right: 0; bottom: 0; left: 0; height: 2px; background-color: var(--cm_color4); content: ""; opacity: 0; transition: opacity 0.2s; }
.tab1.cm_tab .tab_list .btn_tab > a:hover,
.tab1.cm_tab .tab_list .btn_tab.on > a,
.tab1.cm_tab .tab_list .btn_tab.active > a { font-weight: 700; }
.tab1.cm_tab .tab_list .btn_tab > a:hover:after,
.tab1.cm_tab .tab_list .btn_tab.on > a:after,
.tab1.cm_tab .tab_list .btn_tab.active > a:after { opacity: 1; }

/* 공통 테이블 */
.cm_table { width: 100%; }
.cm_table table { width: 100%; border-top: 1px solid #000; border-collapse: separate; table-layout: fixed; }
.cm_table table th { height: 6rem; padding: 1rem 1.5rem; border: 1px solid #ddd; border-top: 0; background-color: #f6f6f6; color: #444; font-weight: 500; font-size: 1.3rem; line-height: 1.5; text-align: center; }
.cm_table table td { height: 6rem; padding: 1rem 1.5rem; border: 1px solid #ddd; border-top: 0; background-color: #fff; color: #222; line-height: 1.5; text-align: center; }
.cm_table .nodata { padding: 7rem 0 !important; color: #666; font-size: 1.6rem !important; text-align: center !important; }
.hover.cm_table table tbody tr:hover td { background-color: #f8f8f8 !important; }
.hover.cm_table table tbody tr:hover .nodata { background-color: #fff !important; }
.cm_table.toggle { display: none !important; }
.cm_table.toggle.active { display: block !important; }
.border-top0 { border-right: 0 !important; }
.border-right0 { border-right: 0 !important; }
.border-bottom0 { border-right: 0 !important; }
.border-left0 { border-right: 0 !important; }
.border-top { border-right: 1px solid #ddd !important; }
.border-right { border-right: 1px solid #ddd !important; }
.border-bottom { border-right: 1px solid #ddd !important; }
.border-left { border-right: 1px solid #ddd !important; }
.cm_table.auto table { table-layout: auto; }
.cm_table.auto .nowrap { white-space: nowrap !important; }
.cm_table.center table th,
.cm_table.center table td { text-align: center; }
.cm_table.left table th,
.cm_table.left table td { text-align: left; }
.cm_table.table_lg { overflow: auto; }
.cm_table.table_lg table { min-width: 1000px; }
.cm_table.table_md { overflow: auto; }
.cm_table.table_md table { min-width: 768px; }
.cm_table.table_sm { overflow: auto; }
.cm_table.table_sm table { min-width: 480px; }

/* table1 */
.table1.cm_table > table { border: 0; }
.table1.cm_table > table th,
.table1.cm_table > table td { padding: 1rem 1.5rem; border: 0; background-color: #fff; font-size: 1.7rem; }
.table1.cm_table > table thead th { background-color: #131313; color: #fff; font-weight: 500; }
.table1.cm_table > table thead.border th { border-right: 1px solid #fff; border-bottom: 1px solid #fff; }
.table1.cm_table > table tbody td { height: 7.5rem; border-bottom: 1px solid #ddd; }
.table1.cm_table > table tbody tr:last-child td { border-bottom: 1px solid #000; }

/* 공통 타이포그래피 */
.cm_font_size10 { font-size: var(--default_font_size) !important; }
.cm_font_size11 { font-size: var(--font_size11) !important; }
.cm_font_size12 { font-size: var(--font_size12) !important; }
.cm_font_size13 { font-size: var(--font_size13) !important; }
.cm_font_size14 { font-size: var(--font_size14) !important; }
.cm_font_size15 { font-size: var(--font_size15) !important; }
.cm_font_size16 { font-size: var(--font_size16) !important; }
.cm_font_size17 { font-size: var(--font_size17) !important; }
.cm_font_size18 { font-size: var(--font_size18) !important; }
.cm_font_size19 { font-size: var(--font_size19) !important; }
.cm_font_size20 { font-size: var(--font_size20) !important; }
.cm_font_size21 { font-size: var(--font_size21) !important; }
.cm_font_size22 { font-size: var(--font_size22) !important; }
.cm_font_size23 { font-size: var(--font_size23) !important; }
.cm_font_size24 { font-size: var(--font_size24) !important; }
.cm_font_size25 { font-size: var(--font_size25) !important; }
.cm_font_size26 { font-size: var(--font_size26) !important; }
.cm_font_size27 { font-size: var(--font_size27) !important; }
.cm_font_size28 { font-size: var(--font_size28) !important; }
.cm_font_size29 { font-size: var(--font_size29) !important; }
.cm_font_size30 { font-size: var(--font_size30) !important; }
.cm_font_size31 { font-size: var(--font_size31) !important; }
.cm_font_size32 { font-size: var(--font_size32) !important; }
.cm_font_size33 { font-size: var(--font_size33) !important; }
.cm_font_size34 { font-size: var(--font_size34) !important; }
.cm_font_size35 { font-size: var(--font_size35) !important; }
.cm_font_size36 { font-size: var(--font_size36) !important; }
.cm_font_size37 { font-size: var(--font_size37) !important; }
.cm_font_size38 { font-size: var(--font_size38) !important; }
.cm_font_size39 { font-size: var(--font_size39) !important; }
.cm_font_size40 { font-size: var(--font_size40) !important; }

/* 공통 줄간격 */
.cm_line_height1 { line-height: 1 !important; }
.cm_line_height13 { line-height: 1.3 !important; }
.cm_line_height15 { line-height: 1.5 !important; }
.cm_line_height18 { line-height: 1.8 !important; }
.cm_line_height2 { line-height: 2 !important; }

/* title */
.cm_title { position: relative; font-weight: 500; word-break: keep-all; }
.cm_title.bul { padding-left: 2.5rem; }
.cm_title.bul:after { position: absolute; top: 0; left: 0; content: ""; }
.cm_title + .cm_desc { color: #333; font-size: 1.8rem; }
.cm_title.toggle a.active .icon_arr6 { transform: rotate(180deg); }
.cm_title.title1 { color: #222; font-size: 3rem; }

/* split text */
.cm_split { display: flex; flex-wrap: wrap; align-items: center; gap: 4rem; color: #666; }
.cm_split.end { justify-content: flex-end; }
.cm_split.center { justify-content: center; }
.cm_split .split_item { display: inline-block; position: relative; flex-shrink: 0; font-size: 1.5rem; line-height: 1; }
.cm_split .split_item:after { position: absolute; top: 50%; right: -2rem; width: 1px; height: 1.4rem; margin-top: -0.7rem; background-color: #d6d6d6; content: ""; }
.cm_split .split_item:last-child:after { display: none; }
.cm_split .split_item.active { color: #000; font-weight: 500; }

/* text guide */
.cm_text_guide { color: #777; font-size: 1.5rem; word-break: keep-all; }
.cm_text_guide.bul { position: relative; padding-left: 2.5rem; }
.cm_text_guide.bul:after { position: absolute; top: 0.2rem; left: 0; width: 1.8rem; height: 1.8rem; background-position: center; background-size: contain; background-repeat: no-repeat; content: ""; }
.cm_text_guide.type1 { color: #1e1e1e; }
.cm_text_guide.type1.bul:after { background-image: url(../../images/common/icon_info01.svg); }

/* bullet */
.cm_bullet > * { position: relative; line-height: 1.4; text-align: left; }
.cm_bullet > *:last-child { margin-bottom: 0 !important; }
.cm_bullet > *:before { position: absolute; left: 0; content: ""; }
.cm_bullet > *.nobul { padding-left: 0 !important; }
.cm_bullet > *.nobul:before { display: none !important; }
.cm_bullet.nobul > * { padding-left: 0 !important; }
.cm_bullet.nobul > *:before { display: none !important; }
.cm_bullet .cm_bullet > * { color: #666; }
.cm_bullet.bullet1 > * { margin-bottom: 0.8rem; padding-left: 1.3rem; font-size: 1.6rem; }
.cm_bullet.bullet1 > *:before { top: 0.8rem; width: 3px; height: 3px; background: #000; }

/* 웹접근성 */
*:focus-visible { outline: 2px dashed #000; outline-offset: 2px; transition: none !important; }
input:focus,
select:focus,
textarea:focus { outline: none !important; }
#skipNavi { z-index: 9999; position: absolute; top: 0; left: 0; white-space: nowrap; }
#skipNavi a { display: inline-block; position: absolute; top: -9999px; }
#skipNavi a:focus-visible { top: 0; padding: 5px; background-color: #000; color: #fff; font-size: 15px; }

/* 공통 스크립트 */
.js_read_more .js_read_more_content { position: relative; max-height: 85px; overflow: hidden; transition: max-height 0.5s ease; }
.js_read_more .js_read_more_content:before { position: absolute; bottom: 0; width: 100%; height: 85px; background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, #f0f0f3 80%, #f0f0f3 100%); content: ""; transition: opactiy 0.5s ease, visibility 0.5s ease; }
.js_read_more .js_read_more_btn { transition: opactiy 0.5s ease, visibility 0.5s ease; }
.js_read_more.expanded .js_read_more_content:before,
.js_read_more.expanded .js_read_more_btn { visibility: hidden; opacity: 0; }
@media screen and (max-width:1279px) {
	:root { --default_font_size: 9px; --inner: 100%; --inner_padding: 30px; }

	/* 스크롤바 */
	::-webkit-scrollbar { width: 5px; height: 5px; }

	/* option layout */
	.cm_option.resp { flex-direction: column; }
	.cm_option.resp .op_left { width: 100%; }
	.cm_option.resp .op_right { width: 100%; }
	.cm_option.resp.start { flex-direction: row; justify-content: flex-start; }
	.cm_option.resp.start .op_left { width: auto; margin-right: 1rem; }
	.cm_option.resp.start .op_right { width: auto; }
	.cm_option.resp.end { flex-direction: row; justify-content: flex-end; }
	.cm_option.resp.end .op_left { width: auto; }
	.cm_option.resp.end .op_right { width: auto; margin-left: 1rem; }
	.cm_option.resp.revs { flex-direction: column-reverse; }

	/* 공통 박스 */
	.box1.cm_box { padding: 2.5rem 3rem; }
	.box2.cm_box { padding: 2.5rem 3rem; }

	/* form search */
	.form_search .search_item .form_control { height: 7rem; padding: 0 3rem; font-size: 1.7rem; }
	.form_search .search_item .search_form_wrap .form_control.search_form { padding: 0 3rem; }
	.form_search .search_item .search_form_wrap .search_btn { width: 7rem; height: 7rem; background: #131313 url(../../images/common/icon_search01.svg) no-repeat center/2.5rem; }

	/* list1 */
	.list1.cm_list .list_body .list_item .item_box:hover { box-shadow: none; }
	.list1.cm_list .list_body .list_item .item_box:hover:after { display: none !important; }

	/* tab1 */
	.tab1.cm_tab { overflow: hidden; overflow-x: auto; }
	.tab1.cm_tab .tab_list { flex-wrap: nowrap; gap: 0 2rem; }
	.tab1.cm_tab .tab_list .btn_tab { flex-shrink: 0; }
	.tab1.cm_tab .tab_list .btn_tab:last-child { padding-right: 2rem; }
}
@media screen and (max-width:1023px) {
	:root { --default_font_size: 8.5px; }

	/* board list1 */
	.board_list1.cm_board_list table { display: block; border-top: 2px solid #000; }
	.board_list1.cm_board_list table thead { display: none; }
	.board_list1.cm_board_list table tbody,
	.board_list1.cm_board_list table tbody tr,
	.board_list1.cm_board_list table tbody td { display: block; width: 100%; height: auto; padding: 0; border: 0; }
	.board_list1.cm_board_list table tbody tr { display: flex; align-items: center; padding: 2rem; border-bottom: 1px solid #ddd; }
	.board_list1.cm_board_list table tbody td { width: auto; text-align: center; }
	.board_list1.cm_board_list table tbody td.item_number { display: none; }
	.board_list1.cm_board_list table tbody td.item_subject { width: calc(100% - 11rem - 5rem); padding-right: 2rem; font-weight: 600; font-size: 1.8rem; }
	.board_list1.cm_board_list table tbody td.item_file { flex-shrink: 0; width: 5rem; }
	.board_list1.cm_board_list table tbody td.item_date { flex-shrink: 0; width: 11rem; }
	.board_list1.cm_board_list table tbody td.item_empty { width: 100%; padding: 8rem 0; text-align: center; }
	.board_list1.cm_board_list table tbody tr.notice td.item_number { display: block; flex-shrink: 0; width: 7rem; }
	.board_list1.cm_board_list table tbody tr.notice td.item_subject { width: calc(100% - 7rem - 11rem - 5rem); padding-left: 2rem; }

	/* board view */
	.cm_board_view { padding-bottom: 3rem; }
	.cm_board_view .board_view_head { padding-bottom: 3rem; }
	.cm_board_view .board_view_head .view_title { font-size: 3rem; }
	.cm_board_view .board_view_file { padding: 3rem; }
	.cm_board_view .board_view_file .file_title { width: 13rem; font-size: 1.6rem; }
	.cm_board_view .board_view_file .file_cont { width: calc(100% - 13rem); }
	.cm_board_view .board_view_cont { min-height: 25rem; padding: 3rem 0; }

	/* list1 */
	.list1.cm_list .list_body { gap: 2.5rem; }
	.list1.cm_list .list_body .list_item { width: calc((100% - 5rem) / 3); }

	/* 상세 페이징 */
	.cm_paging2 { margin-top: 3rem; }

	/* title */
	.cm_title.title1 { font-size: 2.6rem; }
}
@media screen and (max-width:767px) {
	:root { --default_font_size: 8px; --inner_padding: 20px; }

	/* option layout */
	.cm_option.resp-md { flex-direction: column; }
	.cm_option.resp-md .op_left { width: 100%; }
	.cm_option.resp-md .op_right { width: 100%; }
	.cm_option.resp-md.start { flex-direction: row; justify-content: flex-start; }
	.cm_option.resp-md.start .op_left { width: auto; margin-right: 1rem; }
	.cm_option.resp-md.start .op_right { width: auto; }
	.cm_option.resp-md.end { flex-direction: row; justify-content: flex-end; }
	.cm_option.resp-md.end .op_left { width: auto; }
	.cm_option.resp-md.end .op_right { width: auto; margin-left: 1rem; }
	.cm_option.resp-md.revs { flex-direction: column-reverse; }

	/* board search */
	.board_search .search_item select.form_control { min-width: 20vw; }
	.board_search .search_item:last-child { width: 100%; }

	/* board list1 */
	.board_list1.cm_board_list table tbody tr { flex-wrap: wrap; gap: 1.2rem 0; }
	.board_list1.cm_board_list table tbody td { position: relative; text-align: left; }
	.board_list1.cm_board_list table tbody td.item_subject { width: 100%; padding-right: 0; }
	.board_list1.cm_board_list table tbody td.item_date { width: auto; padding-right: 2rem; }
	.board_list1.cm_board_list table tbody td.item_file { order: 10; width: auto; }
	.board_list1.cm_board_list table tbody td.item_file:after { display: none; }
	.board_list1.cm_board_list table tbody td.item_file .cm_icon { margin-bottom: -0.5rem; }
	.board_list1.cm_board_list table tbody tr.notice td.item_subject { width: calc(100% - 7rem); margin-top: 0.1rem; padding-left: 1.5rem; }

	/* board view */
	.cm_board_view .board_view_head .view_title { font-size: 2.8rem; }
	.cm_board_view .board_view_file { display: block; }
	.cm_board_view .board_view_file .file_title { width: 100%; margin-bottom: 2rem; }
	.cm_board_view .board_view_file .file_cont { width: 100%; }
	.cm_board_view .board_view_cont { min-height: 25rem; padding: 3rem 0; }

	/* 공통 폼 */
	.form_label { font-size: 1.6rem; }

	/* form_group */
	.cm_form_area > .form_group + .form_group { margin-top: 2rem; }
	.cm_form_area > .form_group > [class^=col] + [class^=col] > .form_group { margin-top: 2rem; }

	/* form search */
	.form_search .search_item { flex-wrap: wrap; }
	.form_search .search_item .form_control { height: 6rem; padding: 0 2rem; font-size: 1.6rem; }
	.form_search .search_item .search_select { width: 100% !important; padding-bottom: 2px; }
	.form_search .search_item .search_select > .form_control { width: 100% !important; }
	.form_search .search_item .search_form_wrap { width: 100%; }
	.form_search .search_item .search_form_wrap .form_control.search_form { padding: 0 2rem; }
	.form_search .search_item .search_form_wrap .search_btn { width: 6rem; height: 6rem; background: #131313 url(../../images/common/icon_search01.svg) no-repeat center/2.2rem; }

	/* form check */
	.form_check_area { flex-direction: column; }
	.form_check_area .check_list { width: 100%; gap: 1rem 2rem; }
	.form_check_area > .form_label { width: 100%; margin-bottom: 1rem; padding-right: 0; }

	/* 공통 태그 */
	.cm_tag .tag_item { height: 3.6rem; padding: 0 1.2rem; padding-bottom: 0; }

	/* list1 */
	.list1.cm_list .list_body .list_item { width: calc((100% - 2.5rem) / 2); }
	.list1.cm_list .list_body .list_item .item_box .item_title { font-size: 2.2rem; }
	.list1.cm_list .list_body .list_item .item_box .item_desc { padding: 3rem; }
	.list1.cm_list .list_body .list_item .item_box .item_tag { max-height: 3.6rem; }

	/* 공통 데이터 없음 */
	.cm_nodata .no_inner { min-height: 40rem; padding: 5rem 3rem; }
	.cm_nodata .img_no { max-width: 16rem; }
	.cm_nodata .text1 { margin-top: 3rem; font-size: 3rem; }
	.cm_nodata .text2 { margin-top: 2rem; font-size: 1.8rem; }

	/* overview1 */
	.cm_overview1 .ovw_box { padding: 3rem 4rem; padding-right: 4rem; }
	.cm_overview1 .ovw_title { gap: 4rem; }
	.cm_overview1 .ovw_title .ovw_name { font-size: 2.4rem; }
	.cm_overview1 .ovw_title .ovw_desc { font-size: 1.8rem; }
	.cm_overview1 .ovw_title .ovw_desc:after { left: -2.1rem; height: 2rem; margin-top: -1rem; }
	.cm_overview1 .ovw_info { margin-top: 2rem; }
	.cm_overview1 .ovw_info dl dt { min-width: 12rem; padding-right: 1.5rem; font-size: 1.6rem; }
	.cm_overview1 .ovw_info dl dd { font-size: 1.6rem; }
	.cm_overview1 .ovw_info .info_text { font-size: 1.6rem; }
	.cm_overview1 .ovw_btn { position: static; margin-top: 1.5rem; }
	.cm_overview1 .ovw_label { top: 2.5rem; right: 4rem; }
	.cm_overview1 .ovw_box.type2 { padding-right: 4rem; }
	.cm_overview1 .ovw_box.type2 .ovw_name { font-size: 2rem; }
	.cm_overview1 .ovw_box.type2 .ovw_desc { font-size: 1.6rem; }
	.cm_overview1 .ovw_box.type2 .ovw_info { margin-top: 1.5rem; }

	/* step1 */
	.step1.cm_step { flex-direction: column; }
	.step1.cm_step .item_step { flex-direction: row; align-items: flex-start; justify-content: flex-start; padding: 1.5rem 0; }
	.step1.cm_step .item_step:first-child { padding-top: 0; }
	.step1.cm_step .item_step:last-child { padding-bottom: 0; }
	.step1.cm_step .item_step:after { top: 0; right: auto; bottom: 0; left: 2.75rem; width: 2px; height: auto; }
	.step1.cm_step .item_step:first-child:after { left: 2.75rem; }
	.step1.cm_step .item_step:last-child:after { right: auto; bottom: auto; height: 4.25rem; }
	.step1.cm_step .item_step .step_num { width: 5.5rem; height: 5.5rem; }
	.step1.cm_step .item_step .step_title { margin-top: 1.2rem; margin-left: 2rem; }

	/* 공통 페이징 */
	.cm_paging1 { margin-top: 5rem; }
	.cm_paging1 .page_control { width: 2.5rem; height: 4rem; background-size: auto 2.2rem; }
	.cm_paging1 .paging_page { margin: 0 2rem; }
	.cm_paging1 .page_link { width: 4rem; height: 4rem; }
	.cm_paging1 .page_link:hover { background-color: #fff; color: #222; }

	/* 상세 페이징 */
	.cm_paging2 .item_paging:after { width: 5rem; height: 5rem; margin-top: -2.5rem; }
	.cm_paging2 .item_paging.item_prev { padding-left: 9rem; }
	.cm_paging2 .item_paging.item_next { padding-right: 9rem; padding-left: 0; }
	.cm_paging2 .item_paging .item_title { margin-top: 1rem; }

	/* 공통 팝업 */
	.cm_modal .modal_contents .modal_head { padding: 3rem 3rem 2.5rem; padding-right: 10rem; }
	.cm_modal .modal_contents .modal_body { padding: 0 3rem 4rem; }
	.cm_modal .modal_contents .modal_foot { padding: 3rem; }
	.cm_modal .modal_title { font-size: 2.8rem; }
	.cm_modal .modal_close { top: 3.5rem; right: 4rem; width: 2.3rem; height: 2.3rem; }

	/* split text */
	.cm_split { gap: 3rem; }
	.cm_split .split_item:after { right: -1.5rem; }
}
@media screen and (max-width:479px) {
	:root { --default_font_size: 7.5px; }

	/* board search */
	.board_search { flex-direction: column; }
	.board_search .search_item { width: 100%; }

	/* form search */
	.form_search_option { padding: 3rem 0; }
	.form_search_option dl { display: block; }
	.form_search_option dl dt { min-width: 100%; padding-top: 0; padding-right: 0; }
	.form_search_option dl dd { margin-top: 0.7rem; }

	/* list1 */
	.list1.cm_list .list_body .list_item { width: 100%; }

	/* 상세 페이징 */
	.cm_paging2 .item_paging:after { top: 2.4rem; width: 3rem; height: 3rem; margin-top: 0; }
	.cm_paging2 .item_paging.item_prev { padding-left: 2rem; }
	.cm_paging2 .item_paging.item_next { padding-right: 2rem; padding-left: 0; }
	.cm_paging2 .item_paging .item_text { padding-left: 4.5rem; }
	.cm_paging2 .item_paging.item_next .item_text { padding-right: 4.5rem; padding-left: 0; }
	.cm_paging2 .item_paging .item_title { margin-top: 1.5rem; }
}