@charset "UTF-8";
:root { --default_font_size: 10px; --inner: 100%; --inner_padding: 2.8646vw; --vh: 1vh; --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:#002FA7; --cm-color2:#C87560; }

/* 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: "Pretendard", "Malgun Gothic", "맑은 고딕", helvetica, "Apple SD Gothic Neo", sans-serif; word-wrap: break-word; font-size: var(--default_font_size); letter-spacing: -0.5px; word-break: break-all; }
html { overflow: auto; overflow-x: hidden; }
body { color: #000; }

/* 공통 게시판 리스트 */
.cm_board-list { position: relative; }

/* board list1 */
.board-list1.cm_board-list { width: 100%; table-layout: fixed; }

/* editor */
.cm-editor { font-size: clamp(10px, 1vw, 16px); line-height: normal; letter-spacing: 0; word-break: break-all; }
.cm-editor * { font-size: inherit; font-family: "Pretendard", "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 iframe { aspect-ratio: 16/9 !important; width: 100% !important; 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-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: 2.9167vw; padding: 0.5208vw 1.0417vw; overflow: hidden; border: 1px solid #ddd; border-radius: 3px; background-color: #fff; font-weight: 700; font-size: clamp(10px, 0.7292vw, 14px); 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; }
.btn-xs.cm-btn { height: 1.5104vw; padding: 0.5208vw 1.0417vw; }
.btn-sm.cm-btn { height: 2.2917vw; font-size: clamp(10px, 0.7292vw, 14px); }
.btn-lg.cm-btn { height: 3.4375vw; font-size: clamp(12px, 1.0417vw, 20px); }
.btn1.cm-btn { border-color: var(--cm-color1); background-color: var(--cm-color1); color: #fff; }
.btn1.cm-btn.border { border-color: var(--cm-color1); background-color: #fff; color: var(--cm-color1); }
.btn2.cm-btn { border-color: #000; background-color: #000; color: #fff; }
.btn2.cm-btn.border { border-color: #000; background-color: #fff; color: #000; }
.cm-btn.ready { border-color: #dcdcdc !important; background-color: #dcdcdc !important; color: #fff !important; cursor: default !important; }

/* 기타 버튼 */
.btn-download { display: inline-flex; align-items: center; color: #0A34A1; font-weight: 700; font-size: clamp(10px, 0.9375vw, 18px); line-height: 1.2; text-decoration: underline; text-underline-offset: 4px; }
.btn-download:before { display: block; flex-shrink: 0; width: 1.25vw; height: 1.25vw; margin-right: 0.625vw; background: url(../../images/common/icon07.svg) no-repeat center/contain; content: ""; }
.btn-box { display: block; position: relative; min-height: 11.9271vw; padding: 1.6146vw 1.3542vw; border-radius: 3px; background: #002FA7; color: #fff; font-weight: 600; font-size: clamp(12px, 1.0417vw, 20px); line-height: 1; }
.btn-box:after { position: absolute; right: 1.3542vw; bottom: 1.6146vw; flex-shrink: 0; width: 2.6042vw; height: 2.6042vw; background: url(../../images/common/icon_arr17.svg) no-repeat center/contain; content: ""; }
.btn-box .cover { display: flex; position: absolute; top: 0; left: 0; align-items: center; justify-content: center; width: 100%; height: 100%; padding: 1.0417vw; border-radius: 3px; background: rgba(0, 0, 0, 0.8); color: #fff; font-weight: 600; font-size: clamp(10px, 1vw, 16px); line-height: 1.4; text-align: center; opacity: 0; transition: opacity 0.3s; }
.btn-box:hover .cover { opacity: 1; }

/* 공통 컬러 */
.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 { font-weight: 700; font-size: 1.0417vw; line-height: 1.4; }
.form-label.required:after { margin-left: 1px; content: "*"; color: #F00; }
.form-control { width: 100%; height: 2.2917vw; padding: 0 1.25vw; border: 1px solid #E1E1E1; border-radius: 3px; background: #fff; font-size: clamp(10px, 0.7292vw, 14px); }
.form-control::placeholder { color: #676767; }
textarea.form-control { height: 14.0625vw; padding: 1.25vw; }
.form-control[readonly] { border-color: #E1E1E1 !important; background-color: #F3F3F3 !important; cursor: default; }
.form-label .highlight { color: #F00 !important; }

/* form-group */
.cm_form_area > .form-group + .form-group { margin-top: 2.0833vw; }
.cm_form_area > .form-group > [class^=col] > .form-label { margin-bottom: 0.625vw; }
.form-group { display: flex; flex-wrap: wrap; margin: 0 -0.625vw; }
.form-group > [class^=col] { padding-right: 0.625vw; padding-left: 0.625vw; }
.form-group.type2 { margin: 0 -0.4167vw; }
.form-group.type2 > [class^=col] { padding-right: 0.4167vw; padding-left: 0.4167vw; }
.form-group.type3 { margin: 0 -0.2604vw; }
.form-group.type3 > [class^=col] { padding-right: 0.2604vw; padding-left: 0.2604vw; }
.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; }

/* form check */
.form-check-area { display: flex; flex-wrap: wrap; margin-top: 1.0417vw; gap: 0.9375vw 1.25vw; }
.form-check { display: inline-flex; position: relative; 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: 1; opacity: 0; clip: auto; }
.form-check input + .form-label { display: flex; z-index: 2; position: relative; align-items: center; height: auto; margin: 0; border-radius: 3px; font-weight: 400; line-height: 1.4; cursor: pointer; user-select: none; }
.form-check input:focus-visible + .form-label { outline: 2px dashed #000; }
.form-check input + .form-label:before { display: block; 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-weight: 500; font-size: clamp(10px, 0.8333vw, 16px); }
.form-check.check1 input + .form-label:before { width: 1.0417vw; height: 1.0417vw; margin-top: -0.1042vw; margin-right: 0.4167vw; 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_radio01.svg) no-repeat center/contain; }
.form-check.check1 input:checked + .form-label:before { background: url(../../images/common/icon_check02.svg) no-repeat center/contain; }
.form-check.check1 input[type=radio]:checked + .form-label:before { background: url(../../images/common/icon_radio02.svg) no-repeat center/contain; }
.form-check.check1 input:disabled + .form-label,
.form-check.check1 input:disabled:focus-visible + .form-label { color: #676767; 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-check.check1.reverse input + .form-label { flex-direction: row-reverse; }
.form-check.check1.reverse input + .form-label:before { margin-right: 0; margin-left: 0.4167vw; }

/* form file */
.form-file { display: flex; z-index: 1; position: relative; align-items: center; overflow: hidden; gap: 0.5208vw; }
.form-file input[type=file] { position: absolute; top: 100%; left: -100%; width: 1px; height: 1px; }
.form-file .file-subj { display: flex; position: relative; align-items: center; width: 100%; padding: 0.5208vw 1.25vw; overflow: hidden; border: 1px solid #E1E1E1; border-radius: 3px; background: #FFF; color: #676767; font-size: clamp(10px, 0.7292vw, 14px); text-align: left; text-overflow: ellipsis; white-space: nowrap; }
.form-file .cm-btn { flex-shrink: 0; }

/* 공통 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 fadeLeft {
	0% { transform: translateX(50px); opacity: 0; }
	100% { transform: translateX(0); opacity: 1; }
}
@keyframes fadeUp {
	0% { transform: translateY(50px); opacity: 0; }
	100% { transform: translateY(0); opacity: 1; }
}
@keyframes rotate360 {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}
@keyframes bounce {
	0%,
	20%,
	53%,
	80%,
	100% { transform: translateY(0); }
	40%,
	43% { transform: translateY(-10%); }
	70% { transform: translateY(-12%); }
	90% { transform: translateY(-1%); }
}
@keyframes blink {
	0%,
	100% { opacity: 1; }
	50% { opacity: 0.3; }
}

/* overview1 */
.cm-overview1 { display: flex; flex-direction: column; gap: 2.0833vw; }
.cm-overview1 .ovw-item { display: flex; align-items: flex-start; gap: 1.0417vw; }
.cm-overview1 .ovw-item dt { flex-shrink: 0; min-width: 10.4167vw; color: #A1A1A1; font-weight: 600; font-size: clamp(12px, 1.0417vw, 20px); line-height: 1; }
.cm-overview1 .ovw-item dd { width: 100%; font-weight: 500; font-size: clamp(12px, 1.25vw, 24px); line-height: 1; }

/* 공통 팝업 */
.cm-modal { display: none; z-index: 200; position: fixed; top: 0; left: 0; align-items: center; justify-content: center; width: 100%; height: 100vh; word-break: keep-all; }
.cm-modal .modal-contents { display: flex; z-index: 2; position: relative; flex-direction: column; width: 94%; max-width: 40.9375vw; max-height: 90vh; margin: auto; overflow: hidden; transform: translateY(10%); border-radius: 3px; background: #fff; box-shadow: -22px 24px 79px 0 rgba(0, 0, 0, 0.31); animation: modalFade 0.5s both; animation-play-state: paused !important; }
.cm-modal .modal-contents .modal-head { position: relative; flex-shrink: 0; padding: 2.3438vw 2.0833vw 2.0833vw; padding-right: 5.2083vw; }
.cm-modal .modal-contents .modal-body { position: relative; height: 100%; padding: 1.0417vw 2.0833vw 2.0833vw; padding-bottom: 7.0833vw; overflow: hidden; overflow-y: auto; text-align: left; }
.cm-modal .modal-contents .modal-body .fixed-area { z-index: 2; position: fixed; right: 0.5208vw; bottom: 0; left: 0.5208vw; padding: 1.5625vw 2.0833vw; background: #fff; }
.cm-modal .modal-progress { display: flex; margin-bottom: 2.8125vw; gap: 3.3333vw; }
.cm-modal .modal-progress .item-pgs { position: relative; width: 1.6667vw; height: 1.6667vw; background: url(../../images/common/icon_check03.svg) no-repeat center/contain; background-size: 100% 100%; font-size: 0; }
.cm-modal .modal-progress .item-pgs.active { background: url(../../images/common/icon_check04.svg) no-repeat center/contain; background-size: 100% 100%; }
.cm-modal .modal-progress .item-pgs:after { position: absolute; top: 50%; left: 100%; width: 3.3333vw; height: 2px; margin-top: -1px; background: #002FA7; content: ""; }
.cm-modal .modal-progress .item-pgs:last-child:after { display: none; }
.cm-modal .modal-title { position: relative; font-weight: 700; font-size: 1.5625vw; line-height: 1.3; text-align: left; }
.cm-modal .modal-title.required:after { margin-left: 1px; content: "*"; color: #F00; }
.cm-modal .modal-text { margin-top: 1.6667vw; color: #686868; font-weight: 500; font-size: clamp(14px, 1.0417vw, 20px); line-height: 1.4; }
.cm-modal .modal-title.align-center { padding-left: 3.125vw; }
.cm-modal .modal-text.align-center { padding-left: 3.125vw; }
.cm-modal .modal-close { z-index: 5; position: absolute; top: 2.0833vw; right: 2.0833vw; width: 2.0833vw; height: 2.0833vw; background: url(../../images/common/icon_close03.svg) no-repeat center/contain; background-size: 100% 100%; font-size: 0; }
.cm-modal .modal-bg { z-index: 1; position: fixed; top: 0; right: 0; bottom: 0; left: 0; background: rgba(0, 0, 0, 0.5); }
.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 .tab-list { display: flex; gap: 0.5729vw; }
.tab1.cm-tab .tab-list .btn-tab { width: 100%; }
.tab1.cm-tab .tab-list .btn-tab > a { display: flex; align-items: center; justify-content: center; height: 3.6458vw; padding: 0.5208vw 1.0417vw; border-radius: 3px; background: #E8E8E8; color: #1A44B0; font-weight: 700; font-size: 0.8333vw; line-height: 1.2; }
.tab1.cm-tab .tab-list .btn-tab.on > a,
.tab1.cm-tab .tab-list .btn-tab.active > a { background: #1A44B0; color: #fff; }

/* cate-tab */
.cate-tab { display: none; }
.cate-tab .mo-select { display: none; }
.cate-tab .tab-list { display: flex; gap: 0.5729vw; justify-content: center; width: auto; }
.cate-tab.multi { display: flex; justify-content: center; }
.cate-tab.multi .tab-list { flex-wrap: wrap; max-width: 79%; }
.cate-tab .tab-list .btn-tab > a { display: flex; align-items: center; justify-content: center; min-width: 11.875vw; height: 3.6458vw; padding: 0.5208vw 1.0417vw; border-radius: 3px; background: #E8E8E8; color: #1A44B0; font-weight: 700; font-size: 0.8333vw; line-height: 1.2; }
.cate-tab .tab-list .btn-tab.on > a,
.cate-tab .tab-list .btn-tab.active > a { background: #1A44B0; color: #fff; }
.cate-tab ~ .types-cont-area .tab-cont { display: none; }
.cate-tab ~ .types-cont-area .tab-cont.active { display: block; }

/* 공통 타이포그래피 */
.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: 700; word-break: keep-all; }
.cm-title.bul > span { position: relative; }
.cm-title.bul > span:after { position: absolute; top: 0; left: 0; background-position: center; background-size: contain; background-repeat: no-repeat; content: ""; }
.cm-title + .cm-desc { color: #333; font-size: 1.8rem; }
.cm-title.title1 { margin-bottom: 2.8rem; font-size: 3.2rem; }

/* text guide */
.cm-text-guide { font-weight: 600; font-size: clamp(10px, 0.8333vw, 16px); word-break: keep-all; }
.cm-text-guide:before { display: block; width: 0.7292vw; height: 0.7292vw; margin-top: 0.1563vw; margin-right: 0.3125vw; background: url(../../images/common/icon_info01.svg) no-repeat center/contain; content: ""; }
.only-mo { display: none; }

@media screen and (max-width:1079px) {
	.only-mo { display: block; }
	.only-pc { display: none; }
}

/* 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.7813vw; padding-left: 0.7813vw; font-weight: 500; font-size: clamp(14px, 1.0417vw, 20px); line-height: 1.4; }
.cm-bullet.bullet1 > *:before { top: 0.5729vw; width: 0.2083vw; height: 0.2083vw; border-radius: 100%; background: #000; content: ""; font-weight: 700; }
.cm-bullet.bullet1.small > * { margin-bottom: 0.3646vw; font-size: clamp(10px, 0.7292vw, 14px); }
.cm-bullet.bullet1.small > *:before { top: 0.3125vw; }

/* 웹접근성 */
*: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; }

/* 스크린 리더용 숨김 텍스트 */
.skip { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(1px, 1px, 1px, 1px) !important; }
@media screen and (max-width:1439px) {
	:root { --default_font_size: 9px; }
}
@media screen and (max-width:1279px) {

	/* 스크롤바 */
	::-webkit-scrollbar { width: 5px; height: 5px; }
}
@media screen and (max-width:1079px) {
	:root { --inner_padding: 3.3854vw; --default_font_size: 8.5px; }

	/* editor */
	.cm-editor { font-size: 1.8229vw; }

	/* 공통 버튼 */
	.cm-btn { height: 7.2917vw; padding: 0.651vw 2.6042vw; font-size: 1.5625vw; }
	.btn-xs.cm-btn { height: 3.776vw; padding: 0.651vw 1.9531vw; }
	.btn-sm.cm-btn { height: 5.2083vw; font-size: 1.5625vw; }
	.btn-lg.cm-btn { height: 7.2917vw; font-size: 1.5625vw; }

	/* 기타 버튼 */
	.btn-download { font-size: 2.0833vw; }
	.btn-download:before { width: 3.125vw; height: 3.125vw; margin-right: 1.5625vw; }
	.btn-box { display: flex; align-items: center; justify-content: space-between; min-height: 7.2917vw; padding: 0.651vw 3.3854vw; font-size: 1.5625vw; }
	.btn-box:after { position: static; width: 3.125vw; height: 3.125vw; }

	/* 공통 폼 */
	.form-label { font-size: 1.8229vw; }
	.form-control { height: 5.2083vw; padding: 0 2.0833vw; font-size: 1.5625vw; }
	textarea.form-control { height: 24.7396vw; padding: 2.0833vw; }

	/* form-group */
	.cm_form_area > .form-group + .form-group { margin-top: 5.2083vw; }
	.cm_form_area > .form-group > [class^=col] > .form-label { margin-bottom: 1.3021vw; }
	.form-group { margin: 0 -1.3021vw; }
	.form-group > [class^=col] { padding-right: 1.3021vw; padding-left: 1.3021vw; }
	.form-group.type2 { margin: 0 -0.651vw; }
	.form-group.type2 > [class^=col] { padding-right: 0.651vw; padding-left: 0.651vw; }
	.form-group.type3 { margin: 0 -0.651vw; }
	.form-group.type3 > [class^=col] { padding-right: 0.651vw; padding-left: 0.651vw; }

	/* form check */
	.form-check-area { margin-top: 1.9531vw; gap: 1.5625vw 2.6042vw; }
	.form-check.check1 input + .form-label { font-size: 1.5625vw; }
	.form-check.check1 input + .form-label:before { width: 2.3438vw; height: 2.3438vw; margin-top: -0.1302vw; margin-right: 0.7813vw; }
	.form-check.check1.reverse input + .form-label:before { margin-right: 0; margin-left: 0.7813vw; }

	/* form file */
	.form-file { gap: 0.651vw; }
	.form-file .file-subj { height: 5.2083vw; padding: 0.651vw 2.0833vw; font-size: 1.5625vw; }

	/* overview1 */
	.cm-overview1 { gap: 2.6042vw; }
	.cm-overview1 .ovw-item { gap: 1.3021vw; }
	.cm-overview1 .ovw-item dt { min-width: 13.6719vw; font-size: 1.5625vw; }
	.cm-overview1 .ovw-item dd { font-weight: 700; font-size: 2.0833vw; }

	/* 공통 팝업 */
	.cm-modal { height: calc(var(--vh) * 100); }
	.cm-modal .modal-contents { width: 100%; max-width: 100%; height: calc(var(--vh) * 100); max-height: calc(var(--vh) * 100); border-radius: 0; }
	.cm-modal .modal-contents .modal-head { padding: 2.6042vw; padding-right: 7.8125vw; }
	.cm-modal .modal-contents .modal-body { padding: 1.3021vw 2.6042vw 2.6042vw; padding-bottom: 13.8022vw; }
	.cm-modal .modal-contents .modal-body .fixed-area { right: 0; left: 0; padding: 2.6042vw; }
	.cm-modal .modal-progress { margin-bottom: 4.1667vw; gap: 6.5104vw; }
	.cm-modal .modal-progress .item-pgs { width: 3.125vw; height: 3.125vw; }
	.cm-modal .modal-progress .item-pgs:after { width: 6.5104vw; }
	.cm-modal .modal-title { font-size: 2.0833vw; }
	.cm-modal .modal-text { margin-top: 2.6042vw; font-size: 1.5625vw; }
	.cm-modal .modal-title.align-center { padding-left: 5.2083vw; }
	.cm-modal .modal-text.align-center { padding-left: 5.2083vw; }
	.cm-modal .modal-close { top: 2.6042vw; right: 2.6042vw; width: 3.125vw; height: 3.125vw; }

	/* tab1 */
	.tab1.cm-tab .tab-list { flex-wrap: wrap; gap: 0.651vw 1.3021vw; }
	.tab1.cm-tab .tab-list .btn-tab { width: calc((100% - 1.3021vw) / 2); }
	.tab1.cm-tab .tab-list .btn-tab > a { height: 6.1198vw; padding: 1.1719vw; font-size: 1.8229vw; letter-spacing: -1px; }

	/* cate-tab */
	.cate-tab { position: relative; z-index: 2; }
	.cate-tab .mo-select { position: relative; display: flex; height: 7.292vw; background: #f3f3f3; text-align: left; font-size: 1.823vw; border-radius: 3px; overflow: hidden; }
	.cate-tab .mo-select:after { content: ''; position: absolute; top: 50%; right: 2.734vw; width: 3.125vw; height: 3.125vw; background: url(../../images/common/icon_arr19.svg) no-repeat; background-size: 100% 100%; transform: translateY(-50%); }
	.cate-tab .mo-select > button { width: 100%; padding: 0 3.385vw; text-align: left; font-weight: 600; }
	.cate-tab .tab-list { display: none; }
	.cate-tab .tab-list.on { display: block; position: absolute; width: 100%; background: #f3f3f3; }
	.cate-tab .tab-list.on .btn-tab { height: 7.292vw; }
	.cate-tab .tab-list.on .btn-tab > a { padding: 1.946vw 3.385vw; justify-content: unset; height: 100%; border-radius: 0; font-size: 1.823vw; color: #000; font-weight: 400; }
	.cate-tab .tab-list.on .btn-tab.active > a { color: #fff; font-weight: 600; }

	/* bullet */
	.cm-bullet.bullet1 > * { margin-bottom: 1.9531vw; padding-left: 1.5625vw; font-size: 1.5625vw; }
	.cm-bullet.bullet1 > *:before { top: 0.7813vw; width: 0.3906vw; height: 0.3906vw; }
	.cm-bullet.bullet1.small > * { margin-bottom: 0.7813vw; font-size: 1.5625vw; }
	.cm-bullet.bullet1.small > *:before { top: 0.651vw; }
}
@media screen and (max-width:768px) {
	:root { --default_font_size: 8px; --inner_padding: 6.9333vw; }

	/* editor */
	.cm-editor { font-size: 3.4667vw; }

	/* 공통 버튼 */
	.cm-btn { height: 14.9333vw; padding: 1.3333vw 5.3333vw; font-size: 3.2vw; }
	.btn-xs.cm-btn { height: 7.7333vw; padding: 1.3333vw 4vw; }
	.btn-sm.cm-btn { height: 10.6667vw; font-size: 3.2vw; }
	.btn-lg.cm-btn { height: 14.9333vw; font-size: 3.2vw; }

	/* 기타 버튼 */
	.btn-download { font-size: 4.2667vw; }
	.btn-download:before { width: 6.4vw; height: 6.4vw; margin-right: 3.2vw; }
	.btn-box { min-height: 14.9333vw; padding: 1.3333vw 6.9333vw; font-size: 3.2vw; }
	.btn-box:after { width: 6.4vw; height: 6.4vw; }

	/* 공통 폼 */
	.form-label { font-size: 3.7333vw; }
	.form-control { height: 10.6667vw; padding: 0 4.2667vw; font-size: 3.2vw; }
	textarea.form-control { height: 50.6667vw; padding: 4.2667vw; }

	/* form-group */
	.cm_form_area > .form-group + .form-group { margin-top: 10.6667vw; }
	.cm_form_area > .form-group > [class^=col] > .form-label { margin-bottom: 2.6667vw; }
	.form-group { margin: 0 -2.6667vw; }
	.form-group > [class^=col] { padding-right: 2.6667vw; padding-left: 2.6667vw; }
	.form-group.type2 { margin: 0 -1.3333vw; }
	.form-group.type2 > [class^=col] { padding-right: 1.3333vw; padding-left: 1.3333vw; }
	.form-group.type3 { margin: 0 -1.3333vw; }
	.form-group.type3 > [class^=col] { padding-right: 1.3333vw; padding-left: 1.3333vw; }

	/* form check */
	.form-check-area { margin-top: 4vw; gap: 3.2vw 5.3333vw; }
	.form-check.check1 input + .form-label { font-size: 3.2vw; }
	.form-check.check1 input + .form-label:before { width: 4.8vw; height: 4.8vw; margin-top: -0.2667vw; margin-right: 1.6vw; }
	.form-check.check1.reverse input + .form-label:before { margin-right: 0; margin-left: 1.6vw; }

	/* form file */
	.form-file { gap: 1.3333vw; }
	.form-file .file-subj { height: 10.6667vw; padding: 1.3333vw 4.2667vw; font-size: 3.2vw; }

	/* overview1 */
	.cm-overview1 { gap: 5.3333vw; }
	.cm-overview1 .ovw-item { gap: 2.6667vw; }
	.cm-overview1 .ovw-item dt { min-width: 28vw; font-size: 3.2vw; }
	.cm-overview1 .ovw-item dd { font-size: 4.2667vw; }

	/* 공통 팝업 */
	.cm-modal .modal-contents .modal-head { padding: 5.3333vw; padding-right: 16vw; }
	.cm-modal .modal-contents .modal-body { padding: 2.6667vw 5.3333vw 5.3333vw; padding-bottom: 28.2666vw; }
	.cm-modal .modal-contents .modal-body .fixed-area { padding: 5.3333vw; }
	.cm-modal .modal-progress { margin-bottom: 8.5333vw; gap: 13.3333vw; }
	.cm-modal .modal-progress .item-pgs { width: 6.4vw; height: 6.4vw; }
	.cm-modal .modal-progress .item-pgs:after { width: 13.3333vw; }
	.cm-modal .modal-title { font-size: 4.2667vw; }
	.cm-modal .modal-text { margin-top: 5.3333vw; font-size: 3.2vw; }
	.cm-modal .modal-title.align-center { padding-left: 10.6667vw; }
	.cm-modal .modal-text.align-center { padding-left: 10.6667vw; }
	.cm-modal .modal-close { top: 5.3333vw; right: 5.3333vw; width: 6.4vw; height: 6.4vw; }

	/* tab1 */
	.tab1.cm-tab .tab-list { gap: 1.3333vw 2.6667vw; }
	.tab1.cm-tab .tab-list .btn-tab { width: calc((100% - 2.6667vw) / 2); }
	.tab1.cm-tab .tab-list .btn-tab > a { height: 12.5333vw; padding: 2.4vw; font-size: 3.7333vw; }

	/* cate-tab */
	.cate-tab { position: relative; z-index: 2; }
	.cate-tab .mo-select { display: flex; height: 14.933vw;  font-size: 3.733vw; }
	.cate-tab .mo-select:after { right: 5.6vw; width: 6.4vw; height: 6.4vw; }
	.cate-tab .mo-select > button { padding: 0 6.933vw; }
	.cate-tab .tab-list.on .btn-tab { height: 14.933vw; }
	.cate-tab .tab-list.on .btn-tab > a { padding: 5.6vw 6.933vw; justify-content: unset; height: 100%; font-size: 3.733vw; }

	/* bullet */
	.cm-bullet.bullet1 > * { margin-bottom: 4vw; padding-left: 3.2vw; font-size: 3.2vw; }
	.cm-bullet.bullet1 > *:before { top: 1.6vw; width: 0.8vw; height: 0.8vw; }
	.cm-bullet.bullet1.small > * { margin-bottom: 1.6vw; font-size: 3.2vw; }
	.cm-bullet.bullet1.small > *:before { top: 1.3333vw; }
}
@media screen and (max-width:480px) {
	:root { --default_font_size: 7.5px; }
}