@charset "UTF-8";
:root { --inner_padding: clamp(20px, 1.5625vw, 30px); --col_padding: clamp(20px, 1.3020833333vw, 25px); --form_height: clamp(40px, 2.5vw, 48px); --textarea_height: clamp(150px, 9.375vw, 180px); --border_radius5:0.5rem; --border_radius10:1rem; --border_radius15:1.5rem; --border_radius20:2rem; --border_radius25:2.5rem; --border_radius30:3rem; --border_radius35:3.5rem; --border_radius40:4rem; --border_radius45:4.5rem; --border_radius50:5rem; --primary: #005fc9; --error: #eb2e2e; --primary-30:#e6ebff; --primary-50:#c5e1ff; --primary-120:#2346d2; --primary-s10:#4c69da; --primary-s20:#667ee0; --primary-s30:#7c91e4; --primary-s40:#8fa1e8; --primary-s50:#a2b1ec; --primary-s60:#b3bfef; --primary-s70:#c3cdf3; --primary-s80:#d3daf6; --primary-s90:#e2e7f9; --primary-s100:#f1f3fc; --error-s10:#ef5555; --error-s20:#f16d6d; --error-s30:#f38282; --error-s40:#f59595; --error-s50:#f7a6a6; --error-s60:#f8b7b7; --error-s70:#fac6c6; --error-s80:#fbd5d5; --error-s90:#fce4e4; --error-s100:#fef2f2; --mono1:#000; --mono2:#1a1a1a; --mono3:#333; --mono4:#4d4d4d; --mono5:#666; --mono6:#808080; --mono7:#999; --mono8:#b3b3b3; --mono9:#ccc; --mono10:#fff; --font_size10:clamp(10px, 0.5208333333vw, 10px); --font_size11:clamp(11px, 0.5729166667vw, 11px); --font_size12:clamp(12px, 0.625vw, 12px); --font_size13:clamp(13px, 0.6770833333vw, 13px); --font_size14:clamp(14px, 0.7291666667vw, 14px); --font_size15:clamp(14px, 0.78125vw, 15px); --font_size16:clamp(14px, 0.8333333333vw, 16px); --font_size17:clamp(14px, 0.8854166667vw, 17px); --font_size18:clamp(14px, 0.9375vw, 18px); --font_size19:clamp(14px, 0.9895833333vw, 19px); --font_size20:clamp(14px, 1.0416666667vw, 20px); --font_size21:clamp(14px, 1.09375vw, 21px); --font_size22:clamp(14px, 1.1458333333vw, 22px); --font_size23:clamp(14px, 1.1979166667vw, 23px); --font_size24:clamp(14px, 1.25vw, 24px); --font_size25:clamp(14px, 1.3020833333vw, 25px); --font_size26:clamp(14px, 1.3541666667vw, 26px); --font_size27:clamp(14px, 1.40625vw, 27px); --font_size28:clamp(14px, 1.4583333333vw, 28px); --font_size29:clamp(14px, 1.5104166667vw, 29px); --font_size30:clamp(14px, 1.5625vw, 30px); --font_size31:clamp(14px, 1.6145833333vw, 31px); --font_size32:clamp(14px, 1.6666666667vw, 32px); --font_size33:clamp(14px, 1.71875vw, 33px); --font_size34:clamp(14px, 1.7708333333vw, 34px); --font_size35:clamp(14px, 1.8229166667vw, 35px); --font_size36:clamp(14px, 1.875vw, 36px); --font_size37:clamp(14px, 1.9270833333vw, 37px); --font_size38:clamp(14px, 1.9791666667vw, 38px); --font_size39:clamp(14px, 2.03125vw, 39px); --font_size40:clamp(14px, 2.0833333333vw, 40px); --font_size41:clamp(14px, 2.1354166667vw, 41px); --font_size42:clamp(14px, 2.1875vw, 42px); --font_size43:clamp(14px, 2.2395833333vw, 43px); --font_size44:clamp(14px, 2.2916666667vw, 44px); --font_size45:clamp(14px, 2.34375vw, 45px); --font_size46:clamp(14px, 2.3958333333vw, 46px); --font_size47:clamp(14px, 2.4479166667vw, 47px); --font_size48:clamp(14px, 2.5vw, 48px); --font_size49:clamp(14px, 2.5520833333vw, 49px); --font_size50:clamp(14px, 2.6041666667vw, 50px); --font_size51:clamp(14px, 2.65625vw, 51px); --font_size52:clamp(14px, 2.7083333333vw, 52px); --font_size53:clamp(14px, 2.7604166667vw, 53px); --font_size54:clamp(14px, 2.8125vw, 54px); --font_size55:clamp(14px, 2.8645833333vw, 55px); --font_size56:clamp(14px, 2.9166666667vw, 56px); --font_size57:clamp(14px, 2.96875vw, 57px); --font_size58:clamp(14px, 3.0208333333vw, 58px); --font_size59:clamp(14px, 3.0729166667vw, 59px); --font_size60:clamp(14px, 3.125vw, 60px); --font_size61:clamp(14px, 3.1770833333vw, 61px); --font_size62:clamp(14px, 3.2291666667vw, 62px); --font_size63:clamp(14px, 3.28125vw, 63px); --font_size64:clamp(14px, 3.3333333333vw, 64px); --font_size65:clamp(14px, 3.3854166667vw, 65px); --font_size66:clamp(14px, 3.4375vw, 66px); --font_size67:clamp(14px, 3.4895833333vw, 67px); --font_size68:clamp(14px, 3.5416666667vw, 68px); --font_size69:clamp(14px, 3.59375vw, 69px); --font_size70:clamp(14px, 3.6458333333vw, 70px); --font_size71:clamp(14px, 3.6979166667vw, 71px); --font_size72:clamp(14px, 3.75vw, 72px); --font_size73:clamp(14px, 3.8020833333vw, 73px); --font_size74:clamp(14px, 3.8541666667vw, 74px); --font_size75:clamp(14px, 3.90625vw, 75px); --font_size76:clamp(14px, 3.9583333333vw, 76px); --font_size77:clamp(14px, 4.0104166667vw, 77px); --font_size78:clamp(14px, 4.0625vw, 78px); --font_size79:clamp(14px, 4.1145833333vw, 79px); --font_size80:clamp(14px, 4.1666666667vw, 80px); --font_size81:clamp(14px, 4.21875vw, 81px); --font_size82:clamp(14px, 4.2708333333vw, 82px); --font_size83:clamp(14px, 4.3229166667vw, 83px); --font_size84:clamp(14px, 4.375vw, 84px); --font_size85:clamp(14px, 4.4270833333vw, 85px); --font_size86:clamp(14px, 4.4791666667vw, 86px); --font_size87:clamp(14px, 4.53125vw, 87px); --font_size88:clamp(14px, 4.5833333333vw, 88px); --font_size89:clamp(14px, 4.6354166667vw, 89px); --font_size90:clamp(14px, 4.6875vw, 90px); --font_size91:clamp(14px, 4.7395833333vw, 91px); --font_size92:clamp(14px, 4.7916666667vw, 92px); --font_size93:clamp(14px, 4.84375vw, 93px); --font_size94:clamp(14px, 4.8958333333vw, 94px); --font_size95:clamp(14px, 4.9479166667vw, 95px); --font_size96:clamp(14px, 5vw, 96px); --font_size97:clamp(14px, 5.0520833333vw, 97px); --font_size98:clamp(14px, 5.1041666667vw, 98px); --font_size99:clamp(14px, 5.15625vw, 99px); --font_size100:clamp(14px, 5.2083333333vw, 100px); }
::selection { background: var(--primary-s80); color: #000; }

/* 스크롤바 */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-thumb { border-radius: var(--border_radius10); background: #ddd; }
::-webkit-scrollbar-track { background: #f4f4f4; }
.dragscroll::-webkit-scrollbar { display: none !important; }

/* basic */
html { font-size: 10px; }
body { color: #000; font-size: var(--font_size16); font-family: "PretendardGOV"; letter-spacing: normal; }

/* 공통 배경색상 */
.cm_bg.bg1 { background-color: #f5f5f5; }

/* 공통 게시판 리스트 */
.cm_board_list1 { border-top: 2px solid #000; background-color: #fff; }
.cm_board_list1 .board1_list th,
.cm_board_list1 .board1_list td { padding: clamp(6.4px, 0.4166666667vw, 8px) clamp(12.8px, 0.8333333333vw, 16px); text-align: center; word-break: keep-all; }
.cm_board_list1 .board1_list th { height: clamp(40px, 3.4895833333vw, 67px); border-bottom: 1px solid #000; font-weight: 700; font-size: var(--font_size16); }
.cm_board_list1 .board1_list td { height: clamp(35px, 3.125vw, 60px); border-bottom: 1px solid #ddd; font-size: var(--font_size17); }
.cm_board_list1 .board1_list .subject { text-align: left; }
.cm_board_list1 .board1_list .subject a:hover { color: var(--primary); font-weight: 700; text-decoration: underline; }
.cm_board_list1 .board1_list .subject span { vertical-align: middle; }
.cm_board_list1 .board1_list tbody tr:hover { background-color: #f8f8f8; }
.cm_board_list1 .board1_list td.no_data { height: clamp(132px, 8.59375vw, 165px); font-weight: 700; font-size: var(--font_size18); }
.cm_board_list2 .board2_list { display: flex; flex-wrap: wrap; gap: clamp(10px, 2.0833333333vw, 40px); }
.cm_board_list2 .board2_list > li { width: calc((100% - 2 * clamp(15px, 2.0833333333vw, 40px)) / 3); }
.cm_board_list2 .board2_box { display: flex; position: relative; flex-direction: column; height: 100%; padding: clamp(15px, 1.6666666667vw, 32px); overflow: hidden; border: 1px solid #ddd; border-radius: 12px; background-color: #fff; transition: all 0.3s ease; }
.cm_board_list2 .board2_box:before { z-index: 1; position: absolute; top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100%; border: 2px solid var(--primary); border-radius: inherit; content: ""; opacity: 0; transition: all 0.3s ease; }
.cm_board_list2 .board2_thumb { position: relative; aspect-ratio: 1/1; overflow: hidden; background-color: #eee; }
.cm_board_list2 .board2_thumb_img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease; }
.cm_board_list2 .board2_content { display: flex; position: relative; flex-grow: 1; flex-direction: column; justify-content: space-between; margin-top: clamp(10px, 1.0416666667vw, 20px); gap: clamp(10px, 1.0416666667vw, 20px) 0; font-weight: 800; }
.cm_board_list2 .board2_title { display: -webkit-box; -webkit-line-clamp: 2; color: #333; font-size: clamp(16px, 1.0416666667vw, 20px); line-height: 1.4; line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; }
.cm_board_list2 .board2_date { color: #666; font-weight: 400; font-size: var(--font_size16); }
.cm_board_list2 .board2_new { position: absolute; right: clamp(-10px, -0.5208333333vw, -8px); bottom: clamp(-10px, -0.5208333333vw, -8px); }
.cm_board_list2 .board2_box:hover { transform: translateY(-2px); box-shadow: 0 clamp(3.2px, 0.2083333333vw, 4px) clamp(9.6px, 0.625vw, 12px) rgba(0, 0, 0, 0.1); }
.cm_board_list2 .board2_box:hover:before { opacity: 1; }
.cm_board_list2 .board2_box:hover .board2_thumb_img { transform: scale(1.05); }
.cm_board_list2 .board2_box:hover .board2_title { color: var(--primary); text-decoration: underline; }
.cm_board_list3 { border-top: 2px solid #000; }
.cm_board_list3 .board3_list { display: flex; flex-direction: column; }
.cm_board_list3 .board3_list > li { border-bottom: 1px solid #ddd; }
.cm_board_list3 .board3_box { display: flex; position: relative; padding: clamp(20px, 2.0833333333vw, 40px) clamp(15px, 1.0416666667vw, 20px); gap: 0 clamp(15px, 1.8229166667vw, 35px); background-color: #fff; transition: all 0.3s ease; }
.cm_board_list3 .board3_thumb { position: relative; flex-shrink: 0; aspect-ratio: 8/5; width: 26%; min-width: 180px; overflow: hidden; border-radius: 8px; background-color: #eee; }
.cm_board_list3 .board3_thumb_img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease; }
.cm_board_list3 .board3_content { display: flex; position: relative; flex-grow: 1; flex-direction: column; justify-content: space-around; width: calc(74% - clamp(28px, 1.8229166667vw, 35px)); gap: clamp(16px, 1.0416666667vw, 20px) 0; }
.cm_board_list3 .board3_title { display: flex; gap: 5px; }
.cm_board_list3 .board3_title_text { min-width: 0; overflow: hidden; font-weight: 800; font-size: clamp(16px, 1.25vw, 24px); line-height: 1.4; text-overflow: ellipsis; white-space: nowrap; transition: all 0.3s ease; }
.cm_board_list3 .board3_desc { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; margin-top: clamp(16px, 1.0416666667vw, 20px); overflow: hidden; font-size: var(--font_size18); text-overflow: ellipsis; }
.cm_board_list3 .board3_date { color: #666; font-size: var(--font_size16); }
.cm_board_list3 .board3_new { display: inline-block; flex-shrink: 0; }
.cm_board_list3 .board3_box:hover .board3_title { color: var(--primary); text-decoration: underline; }
.cm_board_list3 .board3_box:hover .board3_thumb_img { transform: scale(1.05); }

/* 공통 게시판 상세 */
.cm_board_view1 .board1_title_wrap { position: relative; padding: clamp(20px, 2.0833333333vw, 40px) 0; border-bottom: 2px solid #000; }
.cm_board_view1 .board1_title { display: flex; align-items: center; font-weight: 800; font-size: clamp(18px, 1.6666666667vw, 32px); line-height: 1.3; }
.cm_board_view1 .board1_info { margin-top: clamp(10px, 1.5625vw, 30px); }
.cm_board_view1 .board1_info dl { display: flex; gap: 0 clamp(5px, 0.625vw, 12px); font-size: var(--font_size17); }
.cm_board_view1 .board1_info dd { color: #666; font-weight: 400; }
.cm_board_view1 .board1_content { display: flex; flex-direction: column; min-height: clamp(300px, 31.25vw, 600px); padding: clamp(30px, 3.125vw, 60px) 0; padding-top: clamp(32px, 2.0833333333vw, 40px); overflow: auto; gap: clamp(20px, 2.0833333333vw, 40px) 0; border-bottom: 1px solid #ddd; }
.cm_board_view1 .board1_content .editor_content { flex-grow: 1; }

/* border */
.cm_border1 { width: 100%; height: 1px; background: #000; }

/* 공통 박스 */
.cm_box1 { padding: clamp(15px, 1.0416666667vw, 20px); border-radius: clamp(10px, 0.625vw, 12px); }
.cm_box2 { padding: clamp(20px, 2.0833333333vw, 40px); border-radius: clamp(10px, 1.0416666667vw, 20px); }
.cm_box3 { padding: clamp(20px, 2.0833333333vw, 40px); border-radius: 10px; }
[class*=cm_box].box1 { background-color: #f8f8f8; }
[class*=cm_box].box2 { background-color: #fff; }
[class*=cm_box].box3 { border: 1px solid #ddd; background-color: #fff; }
[class*=cm_box].box4 { border: 1px solid #ddd; background-color: #f6f7f9; }

/* 공통 버튼 */
.cm_btn_area { display: flex; flex-wrap: wrap; justify-content: space-between; margin-top: clamp(20px, 2.0833333333vw, 40px); gap: clamp(4px, 0.2604166667vw, 5px) clamp(5px, 0.625vw, 12px); }
.cm_btn_area.fixed { flex-wrap: nowrap; }
.cm_btn_area.fixed > * { margin: 0; margin-right: clamp(4px, 0.2604166667vw, 5px); }
.cm_btn_area.fixed > *:last-child { margin-right: 0; }
.cm_btn_area.center { justify-content: center; }
.cm_btn_area.right { justify-content: flex-end; }
.cm_btn_area .btns { display: flex; flex-wrap: wrap; gap: clamp(4px, 0.2604166667vw, 5px); }
.cm_btn { display: inline-flex; align-items: center; justify-content: center; border: 1px solid transparent; border-radius: 8px; font: inherit; font-weight: 500; line-height: 1.1; text-align: center; transition: border 0.3s ease, background 0.3s ease; }
.cm_btn .input_file { display: none; }
.cm_btn.btn_radius { border-radius: 1000px; }
.cm_btn.btn_shadow { box-shadow: clamp(3.2px, 0.2083333333vw, 4px) clamp(3.2px, 0.2083333333vw, 4px) clamp(3.2px, 0.2083333333vw, 4px) rgba(0, 0, 0, 0.1); }
.cm_btn.size_xs { height: clamp(30px, 1.9791666667vw, 38px); padding: 0 clamp(8px, 0.625vw, 12px); font-size: var(--font_size14); }
.cm_btn.size_sm { height: var(--form_height); padding: 0 clamp(10px, 0.78125vw, 15px); }
.cm_btn.size_md { height: clamp(35px, 2.6041666667vw, 50px); padding: 0 clamp(10px, 1.0416666667vw, 20px); font-size: var(--font_size18); }
.cm_btn.size_lg { height: clamp(45px, 2.96875vw, 57px); padding: 0 clamp(10px, 1.0416666667vw, 20px); font-size: var(--font_size18); }
.cm_btn.btn1 { background-color: #dae9f4; color: #00266c; transition: all 0.2s ease; }
.cm_btn.btn1:hover { background-color: #c5dcf0; }
.cm_btn.btn2 { border-color: #ddd; background-color: #fff; color: #444; }
.cm_btn.btn3 { background-color: var(--primary); color: #fff; }
.cm_btn.btn4 { background-color: #000; color: #fff; }
.cm_btn.btn4:disabled { background-color: #444; }
.cm_btn.btn5 { border-color: var(--primary); background-color: #fff; color: var(--primary); }
.cm_btn.btn5:hover { border-color: var(--primary); background-color: var(--primary); color: #fff; }
.cm_btn.btn5:hover .cm_icon.icon_link3:before { background-image: url(../../images/common/icon_link4.svg); }
.cm_btn.btn6 { border-color: #000; transition: all 0.2s ease; }
.cm_btn.btn6:hover { background-color: #000; color: #fff; }
.cm_btn.btn7 { background-color: #e6ebff; color: var(--primary); }

/* 공통 컬러 */
.cm_color.primary { color: var(--primary) !important; }
.cm_color.error { color: var(--error) !important; }
.cm_color.primary-s10 { color: var(--primary-s10) !important; }
.cm_color.primary-s20 { color: var(--primary-s20) !important; }
.cm_color.primary-s30 { color: var(--primary-s30) !important; }
.cm_color.primary-s40 { color: var(--primary-s40) !important; }
.cm_color.primary-s50 { color: var(--primary-s50) !important; }
.cm_color.primary-s60 { color: var(--primary-s60) !important; }
.cm_color.primary-s70 { color: var(--primary-s70) !important; }
.cm_color.primary-s80 { color: var(--primary-s80) !important; }
.cm_color.primary-s90 { color: var(--primary-s90) !important; }
.cm_color.primary-s100 { color: var(--primary-s100) !important; }
.cm_color.error-s10 { color: var(--error-s10) !important; }
.cm_color.error-s20 { color: var(--error-s20) !important; }
.cm_color.error-s30 { color: var(--error-s30) !important; }
.cm_color.error-s40 { color: var(--error-s40) !important; }
.cm_color.error-s50 { color: var(--error-s50) !important; }
.cm_color.error-s60 { color: var(--error-s60) !important; }
.cm_color.error-s70 { color: var(--error-s70) !important; }
.cm_color.error-s80 { color: var(--error-s80) !important; }
.cm_color.error-s90 { color: var(--error-s90) !important; }
.cm_color.error-s100 { color: var(--error-s100) !important; }
.cm_color.mono1 { color: var(--mono1) !important; }
.cm_color.mono2 { color: var(--mono2) !important; }
.cm_color.mono3 { color: var(--mono3) !important; }
.cm_color.mono4 { color: var(--mono4) !important; }
.cm_color.mono5 { color: var(--mono5) !important; }
.cm_color.mono6 { color: var(--mono6) !important; }
.cm_color.mono7 { color: var(--mono7) !important; }
.cm_color.mono8 { color: var(--mono8) !important; }
.cm_color.mono9 { color: var(--mono9) !important; }
.cm_color.mono10 { color: var(--mono10) !important; }

/* 공통 폼 */
input::-webkit-search-decoration,
input::-webkit-search-cancel-button,
input::-webkit-search-results-button,
input::-webkit-search-results-decoration { display: none; }
input[type=file] { display: none; }
.form_control { width: 100%; height: var(--form_height); padding: 0 clamp(10px, 0.8333333333vw, 16px); border: 1px solid #ddd; border-radius: 8px; background-color: #fff; font-size: var(--font_size16); }
.form_control::placeholder { color: #767676; }
.form_control.datepicker { padding-left: clamp(28px, 1.8229166667vw, 35px); background: #fff url(../../images/common/icon_calendar.svg) no-repeat left clamp(9.6px, 0.625vw, 12px) center/clamp(12px, 0.78125vw, 15px); }
.form_control.form_id,
.form_control.form_pw { padding-left: clamp(30px, 2.7083333333vw, 52px); background-position: left clamp(10px, 0.8333333333vw, 16px) center; background-size: clamp(15px, 1.25vw, 24px); background-repeat: no-repeat; }
.form_control.form_id { background-image: url(../../images/common/icon_man.svg); }
.form_control.form_pw { background-image: url(../../images/common/icon_lock.svg); }
select.form_control { padding-right: clamp(30px, 2.0833333333vw, 40px); background-image: url(../../images/common/icon_bottom.svg); background-position: right clamp(11.2px, 0.7291666667vw, 14px) center; background-size: clamp(18px, 1.25vw, 24px); background-repeat: no-repeat; }
select.form_control.type2 { border: none; font-size: var(--font_size16); }
textarea.form_control { height: var(--textarea_height); padding: clamp(10px, 0.8333333333vw, 16px); }
.form_control:focus-visible { border-color: var(--primary); outline: none; box-shadow: 0 0 0 2px rgba(1, 77, 249, 0.1); }
.form_control[readonly],
.form_control:disabled { border-color: #ddd; background-color: #f5f5f5; color: #777; cursor: default; }
.cm_form_group { display: flex; flex-direction: column; gap: clamp(20px, 1.5625vw, 30px); }
.cm_form_group .form_row { display: flex; gap: clamp(20px, 2.0833333333vw, 40px); }
.cm_form_group .form_group { display: flex; flex: 1; flex-direction: column; min-width: 0; gap: clamp(5px, 0.5208333333vw, 10px); }
.cm_form_group .form_group.col_2 { max-width: calc(50% - clamp(32px, 2.0833333333vw, 40px) / 2); }
.cm_form_group .form_label { font-weight: bold; font-size: var(--font_size18); }
.cm_form_group .form_content { display: flex; flex: 1; flex-direction: column; gap: clamp(8px, 0.5208333333vw, 10px); }
.cm_form_group .email_group { display: flex; align-items: center; gap: clamp(5px, 0.4166666667vw, 8px); }
.cm_form_group .address_group { display: flex; align-items: center; max-width: calc(50% - clamp(20px, 2.0833333333vw, 40px) / 2); gap: 8px; }
.cm_form_group .zipcode_search { flex-shrink: 0; }
.cm_form_group .input_check_group { display: flex; align-items: center; gap: 8px; }
.cm_form_group .input_check_group .form_control { min-width: 0; }
.cm_form_group .input_check_group .form_control .file_name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cm_form_group .input_check_group .check_btn { flex-shrink: 0; }
.cm_form_group .custom_group { display: flex; gap: clamp(8px, 0.5208333333vw, 10px); }
.cm_form_group .custom_group.col_2 { max-width: calc(50% - clamp(32px, 2.0833333333vw, 40px) / 2); }

/* 공통 체크박스 */
[class*=cm_chk] { display: inline-flex; flex-wrap: wrap; cursor: pointer; }
[class*=cm_chk] input[type=checkbox],
[class*=cm_chk] input[type=radio] { clip: rect(0, 0, 0, 0); position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; border: 0; }
[class*=cm_chk] .chk_label { -webkit-user-select: none; -moz-user-select: none; cursor: pointer; user-select: none; }
.cm_chk_wrap { display: flex; flex-wrap: wrap; gap: clamp(8px, 0.625vw, 12px); cursor: default; }
.cm_chk1 .chk_label { position: relative; padding-left: clamp(25px, 1.6666666667vw, 32px); color: #444; font-weight: 700; font-size: var(--font_size16); line-height: 1.2; }
.cm_chk1 .chk_label:before { position: absolute; top: 50%; left: 0; aspect-ratio: 1/1; width: clamp(20px, 1.25vw, 24px); transform: translateY(-50%); border: 1px solid #bababa; border-radius: clamp(3.2px, 0.2083333333vw, 4px); background-position: center; background-repeat: no-repeat; background-color: #fff; content: ""; transition: all 0.2s ease; }
.cm_chk1 .chk_label.type2 { display: flex; align-items: center; gap: 10px; }
.cm_chk1 .chk_label_text { flex-shrink: 0; }
.cm_chk1 input[type=checkbox]:checked + .chk_label:before { background-image: url(../../images/common/icon_check2.svg); background-color: var(--primary); }
.cm_chk1 input[type=radio] + .chk_label:after { position: absolute; top: 50%; left: clamp(5px, 0.3125vw, 6px); aspect-ratio: 1/1; width: clamp(10px, 0.625vw, 12px); transform: translateY(-50%); border-radius: 50%; background-color: var(--primary); content: ""; opacity: 0; transition: opacity 0.2s ease; }
.cm_chk1 input[type=radio] + .chk_label:before { border-radius: 50%; }
.cm_chk1 input:checked + .chk_label:before { border-color: var(--primary); }
.cm_chk1 input:checked + .chk_label:after { opacity: 1; }
.cm_chk1 input:disabled + .chk_label { cursor: default; }
.cm_chk1 input:disabled:not(:checked) + .chk_label { color: #bbb; }
.cm_chk1 input:disabled:not(:checked) + .chk_label:before { border-color: #ddd; background-color: #f5f5f5; }
.cm_chk1 input:disabled:not(:checked) + .chk_label:after { background-color: #ddd; }
.cm_chk1 input:focus-visible + .chk_label { outline: 2px dashed #000; outline-offset: 2px; transition: none !important; }
.cm_chk2 .chk_label { display: flex; align-items: center; justify-content: center; height: clamp(35px, 2.0833333333vw, 40px); margin: 0; padding: 12px; border: 1px solid #ddd; border-radius: 1000px; background-color: #fff; color: #444; font-weight: 700; font-size: var(--font_size15); line-height: 1; cursor: pointer; transition: all 0.2s ease; }
.cm_chk2 input:checked + .chk_label { border-color: var(--primary); background-color: var(--primary); color: #fff; }
.cm_chk2 .chk_label:hover { border-color: var(--primary); color: var(--primary); }
.cm_chk3 .chk_label { display: flex; flex-direction: column; align-items: center; gap: clamp(8px, 0.625vw, 12px); transition: all 0.2s ease; }
.cm_chk3 .chk_icon { display: flex; position: relative; align-items: center; justify-content: center; aspect-ratio: 1/1; width: clamp(45px, 4.1666666667vw, 80px); border: 1px solid #ddd; border-radius: 1000px; background-color: #fff; font-weight: bold; transition: all 0.2s ease; user-select: none; }
.cm_chk3 .chk_icon:before { display: block; position: absolute; top: -1px; right: -1px; bottom: -1px; left: -1px; border: 2px solid var(--primary); border-radius: inherit; content: ""; opacity: 0; pointer-events: none; transition: all 0.2s ease; }
.cm_chk3 .chk_icon:after { display: block; z-index: 1; position: absolute; top: 0; right: 0; aspect-ratio: 1/1; width: clamp(18px, 1.4583333333vw, 28px); background: url(../../images/common/icon_check.svg) no-repeat center/contain; content: ""; opacity: 0; pointer-events: none; transition: all 0.2s ease; }
.cm_chk3 .chk_icon img { width: 60%; object-fit: contain; }
.cm_chk3 .chk_text { color: #444; font-weight: 700; font-size: var(--font_size15); line-height: 1.3; text-align: center; word-break: keep-all; transition: all 0.2s ease; }
.cm_chk3 .chk_label:hover .chk_icon { border-color: var(--primary); }
.cm_chk3 .chk_label:hover .chk_text { color: var(--primary); }
.cm_chk3 input:checked + .chk_label .chk_icon:before { opacity: 1; }
.cm_chk3 input:checked + .chk_label .chk_icon:after { opacity: 1; }
.cm_chk3.type2 input:checked + .chk_label .chk_icon { border-color: transparent; background-color: var(--primary); color: #fff; }
.cm_chk3.type2 input:checked + .chk_label .chk_icon:before { opacity: 0; }
.cm_chk3.type2 input:checked + .chk_label .chk_icon:after { opacity: 0; }
.cm_drop_zone { margin-top: clamp(8px, 0.625vw, 12px); padding: clamp(20px, 2.0833333333vw, 40px); border: 1px dashed #ccc; border-radius: clamp(5px, 0.4166666667vw, 8px); background-color: #f5f5f5; color: #666; font-size: var(--font_size15); text-align: center; transition: all 0.2s; }
.cm_drop_zone.dragover { border-color: var(--primary); background-color: var(--primary-s100); color: var(--primary); }

/* 공통 파일리스트 */
.cm_file_list { display: inline-flex; flex-direction: column; gap: clamp(5px, 0.625vw, 12px) 0; }
.cm_file_list > li { font-size: var(--font_size17); }
.cm_file_list .file_box { display: block; padding: clamp(5px, 0.625vw, 12px) clamp(10px, 1.0416666667vw, 20px); border: 1px solid #ddd; border-radius: clamp(5px, 0.4166666667vw, 8px); transition: all 0.22s cubic-bezier(0.4, 0, 0.2, 1); }
.cm_file_list .file_box:hover { border-color: var(--primary); box-shadow: 0 clamp(2.4px, 0.15625vw, 3px) clamp(9.6px, 0.625vw, 12px) 0 rgba(0, 123, 255, 0.07); }
.cm_file_list2 { display: flex; flex-direction: column; gap: clamp(9.6px, 0.625vw, 12px); }

/* ui 달력 */
.ui-datepicker { z-index: 10; width: clamp(208px, 13.5416666667vw, 260px); padding: 0; overflow: hidden; border: 1px solid #dee0e1; border-radius: clamp(4px, 0.2604166667vw, 5px); font-size: var(--font_size14); }
.ui-datepicker .ui-datepicker-header { padding: clamp(8px, 0.5208333333vw, 10px); border: 0; border-bottom: 1px solid #dee0e1; border-radius: 0; background-image: none; background-color: #eff2f9; }
.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: clamp(24px, 1.5625vw, 30px); height: clamp(24px, 1.5625vw, 30px); margin-top: clamp(-15px, -0.78125vw, -12px); background-position: center; background-repeat: no-repeat; cursor: pointer; }
.ui-datepicker .ui-datepicker-prev { background-image: url(../../images/common/icon_arr2_left.svg); }
.ui-datepicker .ui-datepicker-next { background-image: url(../../images/common/icon_arr2_right.svg); }
.ui-datepicker .ui-datepicker-prev:hover,
.ui-datepicker .ui-datepicker-next:hover { border: 0; background-color: transparent; }
.ui-datepicker .ui-datepicker-title select { width: clamp(72px, 4.6875vw, 90px); height: clamp(24px, 1.5625vw, 30px); margin: 0 clamp(4px, 0.2604166667vw, 5px); padding: 0 clamp(8px, 0.5208333333vw, 10px); padding-right: clamp(16px, 1.0416666667vw, 20px); border: 1px solid #dee0e1; border-radius: clamp(2.4px, 0.15625vw, 3px); background: #fff url(../../images/common/icon_arr2_down.svg) no-repeat right clamp(8px, 0.5208333333vw, 10px) center/clamp(8.8px, 0.5729166667vw, 11px); color: #333; font-weight: 400; font-size: var(--font_size14); line-height: 1.5; transition: border-color 0.15s ease-in-out; }
.ui-datepicker table { margin: 0; }
.ui-datepicker th { height: clamp(24px, 1.5625vw, 30px); padding: 0; background-color: #e6ebf7; text-align: center; }
.ui-datepicker td { height: clamp(24px, 1.5625vw, 30px); padding: 0; border-top: 1px solid #dee0e1; border-right: 1px solid #dee0e1; 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: 100%; height: clamp(24px, 1.5625vw, 30px); padding: 0; border: 0; background-image: none; background-color: #fff; line-height: clamp(24px, 1.5625vw, 30px); 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: #01276b; color: #fff; font-weight: 600; }
.ui-state-highlight,
.ui-widget-content .ui-state-highlight,
.ui-widget-header .ui-state-highlight { background-color: #f5f6fa; color: #01276b; font-weight: 600; }

/* 공통 라인 */
.cm_hr { border-bottom: 1px solid #ddd; }
.cm_hr2 { display: flex; position: relative; align-items: center; justify-content: center; }
.cm_hr2:before { display: block; position: absolute; top: 50%; right: 0; left: 0; height: 1px; background-color: #ddd; content: ""; }
.cm_hr2 span { position: relative; padding: 0 clamp(28px, 1.8229166667vw, 35px); background-color: #fff; color: #444; font-weight: bold; font-size: var(--font_size18); }

/* 공통 아이콘 */
.cm_icon { display: inline-flex; position: relative; align-items: center; gap: 4px; vertical-align: middle; }
.cm_icon:before { display: block; flex-shrink: 0; aspect-ratio: 1/1; width: clamp(18px, 1.25vw, 24px); background-position: center; background-size: contain; background-repeat: no-repeat; content: ""; }
.cm_icon.icon_r { flex-direction: row-reverse; }
.cm_icon.no_text { gap: 0; }
.cm_btn.size_md .cm_icon { gap: 8px; }
.cm_icon.size_xs:before { width: 12px; }
.cm_icon.size_sm:before { width: clamp(15px, 0.8333333333vw, 16px); }
.cm_icon.size_md:before { width: clamp(15px, 1.0416666667vw, 20px); }
.cm_icon.size_lg:before { width: clamp(18px, 1.25vw, 24px); }
.cm_icon.size_xl:before { width: clamp(20px, 1.6666666667vw, 32px); }
.cm_icon.size_2xl:before { width: clamp(22px, 2.0833333333vw, 40px); }
.cm_icon.icon_bottom:before { background-image: url(../../images/common/icon_bottom.svg); }
.cm_icon.icon_bus:before { background-image: url(../../images/common/icon_bus.svg); }
.cm_icon.icon_call:before { background-image: url(../../images/common/icon_call.svg); }
.cm_icon.icon_call2:before { background-image: url(../../images/common/icon_call2.svg); }
.cm_icon.icon_car:before { background-image: url(../../images/common/icon_car.svg); }
.cm_icon.icon_check:before { background-image: url(../../images/common/icon_check.svg); }
.cm_icon.icon_check3:before { background-image: url(../../images/common/icon_check3.svg); }
.cm_icon.icon_close:before { background-image: url(../../images/common/icon_close.svg); }
.cm_icon.icon_close2:before { background-image: url(../../images/common/icon_close2.svg); }
.cm_icon.icon_file:before { background-image: url(../../images/common/icon_file.svg); }
.cm_icon.icon_goto:before { background-image: url(../../images/common/icon_goto.svg); }
.cm_icon.icon_home:before { background-image: url(../../images/common/icon_home.svg); }
.cm_icon.icon_info:before { background-image: url(../../images/common/icon_info.svg); }
.cm_icon.icon_link:before { background-image: url(../../images/common/icon_link.svg); }
.cm_icon.icon_link2:before { background-image: url(../../images/common/icon_link2.svg); }
.cm_icon.icon_link3:before { background-image: url(../../images/common/icon_link3.svg); }
.cm_icon.icon_link4:before { background-image: url(../../images/common/icon_link4.svg); }
.cm_icon.icon_lock:before { background-image: url(../../images/common/icon_lock.svg); }
.cm_icon.icon_mail:before { background-image: url(../../images/common/icon_mail.svg); }
.cm_icon.icon_man:before { background-image: url(../../images/common/icon_man.svg); }
.cm_icon.icon_map:before { background-image: url(../../images/common/icon_map.svg); }
.cm_icon.icon_map2:before { background-image: url(../../images/common/icon_map2.svg); }
.cm_icon.icon_map3:before { background-image: url(../../images/common/icon_map3.svg); }
.cm_icon.icon_map4:before { background-image: url(../../images/common/icon_map4.svg); }
.cm_icon.icon_month:before { background-image: url(../../images/common/icon_month.svg); }
.cm_icon.icon_new:before { background-image: url(../../images/common/icon_new.svg); }
.cm_icon.icon_next:before { background-image: url(../../images/common/icon_next.svg); }
.cm_icon.icon_next2:before { background-image: url(../../images/common/icon_next2.svg); }
.cm_icon.icon_reset:before { background-image: url(../../images/common/icon_reset.svg); }
.cm_icon.icon_search:before { background-image: url(../../images/common/icon_search.svg); }
.cm_icon.icon_search_wt:before { background-image: url(../../images/common/icon_search_wt.svg); }
.cm_icon.icon_share:before { background-image: url(../../images/common/icon_share.svg); }
.cm_icon.icon_subway:before { background-image: url(../../images/common/icon_subway.svg); }
.cm_icon.icon_play:before { background-image: url(../../images/common/icon_play.svg); }
.cm_icon.icon_print:before { background-image: url(../../images/common/icon_print.svg); }
.cm_icon.icon_warning:before { background-image: url(../../images/common/icon_warning.svg); }
.cm_icon.icon_chevron_left:before { background-image: url(../../images/common/icon_chevron_left.svg); }
.cm_icon.icon_chevrons_left:before { background-image: url(../../images/common/icon_chevrons_left.svg); }
.cm_icon.icon_chevron_right:before { background-image: url(../../images/common/icon_chevron_right.svg); }
.cm_icon.icon_chevrons_right:before { background-image: url(../../images/common/icon_chevrons_right.svg); }
.cm_icon.icon_notice:before { background-image: url(../../images/common/icon_notice.svg); }
.cm_icon.icon_login:before { background-image: url(../../images/common/icon_login.svg); }
.cm_icon.icon_logout:before { background-image: url(../../images/common/icon_logout.svg); }
.cm_icon.icon_join:before { background-image: url(../../images/common/icon_join.svg); }
.cm_icon.icon_mypage:before { background-image: url(../../images/common/icon_mypage.svg); }

/* 공통 데이터 없음 */
.cm_nodata1 { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 80px 20px; border-top: 2px solid #000; border-bottom: 1px solid #ddd; font-weight: bold; font-size: var(--font_size18); text-align: center; }
.cm_nodata1 .img_nodata1 { max-width: clamp(112px, 7.2916666667vw, 140px); margin-bottom: clamp(24px, 1.5625vw, 30px); }
.cm_nodata2 { display: block; padding: clamp(36px, 2.34375vw, 45px) 0; text-align: center; }

/* 공통 오버뷰 */
.cm_overview1 .ovw1_list { display: flex; flex-direction: column; gap: clamp(20px, 2.0833333333vw, 40px) 0; }
.cm_overview1 .ovw1_box { display: flex; position: relative; align-items: flex-start; padding: clamp(15px, 2.0833333333vw, 40px); gap: 0 clamp(32px, 2.0833333333vw, 40px); border: 1px solid #ddd; border-radius: 8px; transition: all 0.3s ease; }
.cm_overview1 .ovw1_box:before { z-index: 1; position: absolute; top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100%; border: 2px solid #000; border-radius: inherit; content: ""; opacity: 0; pointer-events: none; transition: all 0.3s ease; }
.cm_overview1 .ovw1_thumb { flex-shrink: 0; aspect-ratio: 1/1; width: 21%; min-width: 180px; overflow: hidden; border-radius: 8px; background-color: #eee; }
.cm_overview1 .ovw1_thumb_img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease; }
.cm_overview1 .ovw1_content { display: flex; flex-grow: 1; flex-direction: column; justify-content: space-around; width: calc(74% - clamp(28px, 1.8229166667vw, 35px)); padding-top: clamp(15px, 1.0416666667vw, 20px); gap: clamp(10px, 1.0416666667vw, 20px) 0; }
.cm_overview1 .ovw1_top_meta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; margin-bottom: clamp(10px, 1.0416666667vw, 20px); gap: 8px; }
.cm_overview1 .ovw1_category { display: flex; flex-wrap: wrap; gap: 0 clamp(9.6px, 0.625vw, 12px); }
.cm_overview1 .ovw1_dday { border-radius: 8px; background-color: #e6ebff; }
.cm_overview1 .ovw1_dday_text { padding: 0 clamp(9.6px, 0.625vw, 12px) 0 clamp(6.4px, 0.4166666667vw, 8px); color: var(--primary); font-weight: 500; font-size: var(--font_size15); }
.cm_overview1 .ovw1_title { display: -webkit-box; -webkit-line-clamp: 2; font-weight: 800; font-size: clamp(16px, 1.0416666667vw, 20px); -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; }
.cm_overview1 .ovw1_box:hover { transform: translateY(-2px); box-shadow: 0 clamp(3.2px, 0.2083333333vw, 4px) clamp(9.6px, 0.625vw, 12px) rgba(0, 0, 0, 0.1); }
.cm_overview1 .ovw1_box:hover:before { opacity: 1; }
.cm_overview1 .ovw1_box:hover .ovw1_thumb_img { transform: scale(1.05); }
.cm_overview1 .ovw1_box:hover .ovw1_title { color: var(--primary); text-decoration: underline; }
.cm_overview1.type2 .ovw1_list { display: block; border-top: 1px solid #ddd; }
.cm_overview1.type2 .ovw1_box { padding: 3.2rem 2.4rem 2rem; border: 0; border-bottom: 1px solid #ddd; border-radius: 0; }
.cm_overview1.type2 .ovw1_box:before { display: none; border: 0; }
.cm_overview1.type2 .ovw1_box:hover { transform: none; border: 0; border-bottom: 1px solid #ddd; outline: none; background: #f6f7f9; box-shadow: none; }
.cm_overview1.type2 .ovw1_content { gap: 3.2rem; }
.cm_overview1.type2 .ovw1_title { font-weight: 700; font-size: 2.2rem; }
.cm_overview1.type2 .ovw1_bottom { padding-top: 2rem; border-top: 1px dashed #ddd; }
.cm_overview1.type2 .ovw1_bottom .cm_dl1 { flex-direction: row; flex-wrap: wrap; gap: 0.8rem 3.2rem; }
.cm_overview1.type2 .ovw1_bottom .cm_dl1 dl { gap: 1.4rem; font-size: 1.6rem; }
.cm_overview1.type2 .ovw1_bottom .cm_dl1 dt { min-width: 0; }
.cm_overview2 .ovw2_box { display: flex; position: relative; padding: clamp(20px, 2.0833333333vw, 40px); gap: 0 clamp(20px, 2.0833333333vw, 40px); border-radius: 8px; background-color: #f8f8f8; transition: all 0.3s ease; }
.cm_overview2 .ovw2_thumb { flex-shrink: 0; aspect-ratio: 1/1; width: 21%; overflow: hidden; border-radius: 8px; background-color: #eee; }
.cm_overview2 .ovw2_thumb_img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease; }
.cm_overview2 .ovw2_content { display: flex; position: relative; flex-grow: 1; flex-direction: column; justify-content: space-around; width: calc(74% - clamp(28px, 1.8229166667vw, 35px)); gap: clamp(32px, 2.0833333333vw, 40px) 0; }
.cm_overview2 .ovw2_top { display: flex; align-items: flex-start; justify-content: space-between; gap: clamp(10px, 1.0416666667vw, 20px); }
.cm_overview2 .ovw2_category { display: flex; flex-wrap: wrap; margin-bottom: clamp(10px, 1.0416666667vw, 20px); gap: 5px clamp(9.6px, 0.625vw, 12px); }
.cm_overview2 .ovw2_dday { display: flex; flex-shrink: 0; align-items: center; justify-content: center; width: clamp(60px, 4.1666666667vw, 80px); height: clamp(60px, 4.1666666667vw, 80px); overflow: hidden; border: 1px solid var(--primary); border-radius: 1000px; background-color: #fff; text-align: center; }
.cm_overview2 .ovw2_dday_text { color: var(--primary); font-weight: 800; font-size: var(--font_size20); white-space: nowrap; }
.cm_overview2 .ovw2_dday.active { background-color: #e6ebff; }
.cm_overview2 .ovw2_dday.active .ovw2_dday_text { color: var(--primary); }
.cm_overview2 .ovw2_title { font-weight: 700; font-size: var(--font_size22); }
.cm_overview2 .ovw2_desc { margin-top: clamp(10px, 1.25vw, 24px); font-size: var(--font_size18); }
.cm_overview2 .ovw2_apply_btn { position: absolute; top: 0; right: 0; }
.cm_overview2 .cm_dl1 { gap: 1.2rem 5px; }
.cm_overview2 .cm_dl1 dl { font-size: var(--font_size18); }
.cm_overview3 .ovw3_list { display: flex; flex-wrap: wrap; gap: clamp(15px, 2.0833333333vw, 40px); }
.cm_overview3 .ovw3_list > li { width: calc((100% - clamp(15px, 2.0833333333vw, 40px)) / 2); }
.cm_overview3 .ovw3_list.swiper { display: block; }
.cm_overview3 .ovw3_list.swiper .ovw3_item .ovw3_box_wrap ~ .ovw3_box_wrap { margin-top: 4rem; }
.cm_overview3 .ovw3_box_wrap { position: relative; height: 100%; border: 1px solid #ddd; border-radius: 12px; transition: all 0.3s ease; }
.cm_overview3 .ovw3_box { display: flex; flex-direction: column; justify-content: space-around; padding: clamp(15px, 1.6666666667vw, 32px); gap: clamp(12.8px, 0.8333333333vw, 16px) 0; }
.cm_overview3 .ovw3_box:before { z-index: 1; position: absolute; top: -1px; right: -1px; bottom: -1px; left: -1px; border: 2px solid var(--primary); border-radius: 8px; content: ""; opacity: 0; pointer-events: none; transition: all 0.3s ease; }
.cm_overview3 .ovw3_contact { margin-top: clamp(10px, 0.8333333333vw, 16px); color: #666; font-size: var(--font_size15); }
.cm_overview3 .ovw3_category { margin-bottom: 18px; }
.cm_overview3 .ovw3_title { margin-bottom: clamp(12px, 0.8333333333vw, 16px); overflow: hidden; font-weight: 800; font-size: clamp(16px, 1.1458333333vw, 22px); line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; transition: color 0.3s ease; }
.cm_overview3 .ovw3_desc { display: -webkit-box; -webkit-line-clamp: 2; font-size: var(--font_size18); line-height: 1.53; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; }
.cm_overview3 .cm_dl1 { gap: 1.2rem; }
.cm_overview3 .cm_dl1 dl { font-size: var(--font_size18); }
.cm_overview3 .ovw3_btn { position: absolute; top: clamp(15px, 2.0833333333vw, 40px); right: clamp(15px, 2.0833333333vw, 40px); }
.cm_overview3 .ovw3_box_wrap:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); }
.cm_overview3 .ovw3_box:hover:before { opacity: 1; }
.cm_overview3 .ovw3_box:hover .ovw3_title { color: var(--primary); }
.cm_overview3.type2 { position: relative; }
.cm_overview3.type2 .ovw3_box_wrap:hover { transform: none; box-shadow: none; }
.cm_overview3.type2 .ovw3_box { gap: 1.6rem; }
.cm_overview3.type2 .ovw3_top_head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1.6rem; }
.cm_overview3.type2 .ovw3_top_head .ovw3_category { margin-bottom: 0; }
.cm_overview3.type2 .ovw3_dday { height: 3.8rem; border-radius: 8px; font-size: 1.8rem; }
.cm_overview3.type2 .ovw3_title { margin-bottom: 0; font-weight: 700; font-size: var(--font_size22); }
.cm_overview4 { margin-top: clamp(30px, 2.0833333333vw, 40px); }
.cm_overview4 .ovw4_list { display: flex; position: relative; flex-wrap: wrap; gap: clamp(20px, 1.6666666667vw, 32px) clamp(10px, 1.6666666667vw, 32px); counter-reset: ovw4-step; }
.cm_overview4 .ovw4_list:before { display: block; position: absolute; top: 50%; right: 0; left: 0; width: 100%; border-bottom: 1px dashed var(--primary); content: ""; }
.cm_overview4 .ovw4_list > li { position: relative; flex: 1; min-width: 0; counter-increment: ovw4-step; }
.cm_overview4 .ovw4_list > li:before { display: inline-block; position: absolute; top: 0; left: 0; padding: 4px clamp(5px, 0.5208333333vw, 10px); transform: translateY(-50%); border-radius: clamp(8px, 0.8333333333vw, 16px) clamp(8px, 0.8333333333vw, 16px) clamp(8px, 0.8333333333vw, 16px) 0; background-color: #d3e3fd; content: "Step." counter(ovw4-step, decimal-leading-zero); color: #2346d2; font-weight: 800; font-size: var(--font_size14); }
.cm_overview4 .ovw4_box { display: flex; align-items: center; justify-content: center; height: 100%; min-height: clamp(70px, 5.2083333333vw, 100px); padding: clamp(10px, 1.0416666667vw, 20px); border: 1px solid #ddd; border-radius: clamp(10px, 1.0416666667vw, 20px); background-color: #fff; word-break: keep-all; }
.cm_overview4 .ovw4_title { font-weight: bold; font-size: var(--font_size17); text-align: center; }
.cm_overview5 .ovw5_list { display: flex; flex-wrap: wrap; gap: clamp(10px, 2.0833333333vw, 40px); }
.cm_overview5 .ovw5_list > li { position: relative; width: calc((100% - clamp(20px, 2.0833333333vw, 40px)) / 2); }
.cm_overview5 .ovw5_list > li:before { position: absolute; right: clamp(20px, 1.5625vw, 30px); bottom: 0; width: clamp(70px, 11.9791666667vw, 230px); height: clamp(67px, 11.40625vw, 219px); background-position: center; background-size: contain; background-repeat: no-repeat; content: ""; pointer-events: none; }
.cm_overview5 .ovw5_box { display: flex; align-items: center; height: 100%; min-height: clamp(80px, 8.8541666667vw, 170px); padding: clamp(20px, 2.0833333333vw, 40px); padding-right: clamp(160px, 10.4166666667vw, 200px); border-radius: 8px; }
.cm_overview5 .ovw5_title { font-weight: 800; font-size: var(--font_size24); line-height: 1.2; }
.cm_overview5 .ovw5_list > li.list1 .ovw5_box { background-color: #ebf3ff; }
.cm_overview5 .ovw5_list > li.list2 .ovw5_box { background-color: #feebff; }
.cm_overview5 .ovw5_list > li.list1:before { background-image: url(../../images/common/icon_membership5.png); }
.cm_overview5 .ovw5_list > li.list2:before { background-image: url(../../images/common/icon_membership6.png); }
.cm_overview6 { padding: clamp(20px, 2.0833333333vw, 40px); border: 1px solid #ddd; border-radius: clamp(15px, 1.0416666667vw, 20px); }
.cm_overview6 .ovw6_list { display: flex; flex-direction: column; gap: clamp(15px, 1.5625vw, 30px); }
.cm_overview6 .ovw6_list > li { padding-bottom: clamp(15px, 1.5625vw, 30px); border-bottom: 1px solid #ddd; }
.cm_overview6 .ovw6_list > li:last-child { padding-bottom: 0; border-bottom: none; }
.cm_overview6 .ovw6_box { display: flex; align-items: center; justify-content: space-between; gap: clamp(10px, 1.0416666667vw, 20px); }
.cm_overview6 .ovw6_left { flex: 1; }
.cm_overview6 .ovw6_right { flex-shrink: 0; }
.cm_overview6 .ovw6_title { margin-bottom: clamp(8px, 0.625vw, 12px); font-weight: bold; font-size: var(--font_size17); }
.cm_overview6 .ovw6_desc { color: #444; font-size: var(--font_size15); }
.cm_overview7 .ovw7_list { display: flex; flex-direction: column; flex-wrap: wrap; gap: clamp(20px, 2.0833333333vw, 40px); }
.cm_overview7 .ovw7_list > li { width: 100%; }
.cm_overview7 .ovw7_box_wrap { position: relative; border: 1px solid #ddd; border-radius: 8px; }
.cm_overview7 .ovw7_box { display: flex; position: relative; flex-direction: column; justify-content: space-around; min-height: 100px; padding: clamp(20px, 2.0833333333vw, 40px); gap: clamp(10px, 0.8333333333vw, 16px) 0; }
.cm_overview7 .ovw7_box:before { z-index: 1; position: absolute; top: -1px; right: -1px; bottom: -1px; left: -1px; border: 2px solid #000; border-radius: 8px; content: ""; opacity: 0; pointer-events: none; transition: all 0.3s ease; }
.cm_overview7 .ovw7_contact { margin-top: clamp(10px, 0.8333333333vw, 16px); color: #666; font-size: var(--font_size15); }
.cm_overview7 .ovw7_category { margin-bottom: clamp(10px, 0.9375vw, 18px); }
.cm_overview7 .ovw7_title { display: -webkit-box; -webkit-line-clamp: 2; font-weight: 800; font-size: clamp(16px, 1.0416666667vw, 20px); line-height: 1.25; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; }
.cm_overview7 .ovw7_desc { display: -webkit-box; -webkit-line-clamp: 2; font-size: var(--font_size17); line-height: 1.53; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; }
.cm_overview7 .ovw7_btn { position: absolute; top: clamp(20px, 2.0833333333vw, 40px); right: clamp(20px, 2.0833333333vw, 40px); }
.cm_overview7 .ovw7_btn br { display: none; }
.cm_overview7 .ovw7_box:hover:before { opacity: 1; }
.cm_overview8 .ovw8_list { display: flex; flex-wrap: wrap; gap: clamp(15px, 1.4583333333vw, 28px); }
.cm_overview8 .ovw8_list > li { width: calc((100% - clamp(15px, 1.4583333333vw, 28px) * 2) / 3); }
.cm_overview8 .ovw8_box { display: flex; flex-direction: column; height: 100%; overflow: hidden; border: 1px solid #dedede; border-radius: 8px; }
.cm_overview8 .ovw8_top { flex-grow: 1; padding: clamp(15px, 1.25vw, 24px) clamp(15px, 1.4583333333vw, 28px) clamp(15px, 1.0416666667vw, 20px) clamp(15px, 1.4583333333vw, 28px); border-bottom: none; border-radius: 8px 8px 0 0; }
.cm_overview8 .ovw8_bottom { flex-shrink: 0; border-radius: 0 0 8px 8px; }
.cm_overview8 .ovw8_btn { border-radius: 0; }
.cm_overview8 .ovw8_category { margin-bottom: clamp(10px, 1.0416666667vw, 20px); }
.cm_overview8 .ovw8_top .cm_dl1 { gap: clamp(12.8px, 0.8333333333vw, 16px); }
.cm_overview9 .ovw9_box { position: relative; padding: clamp(20px, 1.6666666667vw, 32px); gap: 0 clamp(20px, 2.0833333333vw, 40px); border: 1px solid #ddd; border-radius: 8px; background-color: #f6f7f9; transition: all 0.3s ease; }
.cm_overview9 .ovw9_title { font-weight: 800; font-size: clamp(16px, 1.0416666667vw, 20px); }
.cm_overview9 .ovw9_meta { display: flex; align-items: center; margin-top: clamp(8px, 0.625vw, 12px); gap: 0 clamp(8px, 0.625vw, 12px); }
.cm_overview9 .ovw9_date { font-size: var(--font_size18); }
.cm_overview10 .ovw10_box { display: block; overflow: hidden; border: 1px solid #ddd; border-radius: 12px; background-color: #fff; transition: all 0.3s ease; }
.cm_overview10 .ovw10_thumb { aspect-ratio: 342/320; overflow: hidden; }
.cm_overview10 .ovw10_thumb_img { width: 100%; height: 100%; object-fit: fill; transition: transform 0.3s ease; }
.cm_overview10 .ovw10_content { display: flex; flex-direction: column; justify-content: space-between; min-height: clamp(170px, 10.2083333333vw, 196px); padding: clamp(15px, 1.25vw, 24px) clamp(15px, 1.0416666667vw, 20px); gap: clamp(10px, 0.78125vw, 15px) 0; }
.cm_overview10 .ovw10_category { margin-bottom: clamp(8px, 0.625vw, 12px); }
.cm_overview10 .ovw10_title { display: -webkit-box; font-weight: 700; font-size: clamp(16px, 1.0416666667vw, 20px); word-break: keep-all; transition: color 0.3s ease; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.cm_overview10 .ovw10_date { color: #666; }
.cm_overview10 .ovw10_box:hover { border-color: #aaa; }
.cm_overview10 .ovw10_box:hover .ovw10_thumb_img { transform: scale(1.05); }
.cm_overview10 .ovw10_box:hover .ovw10_title { color: var(--primary); }
.cm_overview11 { height: clamp(356px, 23.1770833333vw, 445px); overflow: hidden; border: 1px solid #ddd; border-radius: 12px; background-color: #fff; }
.cm_overview11 .ovw11_list { display: flex; flex-direction: column; height: 100%; }
.cm_overview11 .ovw11_list > li { position: relative; height: 50%; }
.cm_overview11 .ovw11_list > li:before { display: block; z-index: 1; position: absolute; right: clamp(25.6px, 1.6666666667vw, 32px); bottom: 0; left: clamp(25.6px, 1.6666666667vw, 32px); height: 1px; background-color: #ddd; content: ""; }
.cm_overview11 .ovw11_list > li:last-child:before { display: none; }
.cm_overview11 .ovw11_box { display: flex; position: relative; align-items: center; height: 100%; padding: clamp(20px, 1.5625vw, 30px) clamp(20px, 1.6666666667vw, 32px); gap: 0 clamp(15px, 1.25vw, 24px); transition: all 0.3s ease; }
.cm_overview11 .ovw11_thumb { position: relative; flex-shrink: 0; aspect-ratio: 8/5; width: 32%; min-width: 110px; overflow: hidden; border-radius: clamp(6.4px, 0.4166666667vw, 8px); background-color: #eee; }
.cm_overview11 .ovw11_thumb_img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease; }
.cm_overview11 .ovw11_content { display: flex; position: relative; flex-grow: 1; flex-direction: column; justify-content: space-around; width: calc(68% - clamp(19.2px, 1.25vw, 24px)); min-width: 0; gap: clamp(16px, 1.0416666667vw, 20px) 0; }
.cm_overview11 .ovw11_title { display: flex; gap: 5px; }
.cm_overview11 .ovw11_title_text { display: -webkit-box; min-width: 0; -webkit-line-clamp: 2; font-weight: 700; font-size: clamp(16px, 1.0416666667vw, 20px); line-height: 1.4; transition: all 0.3s ease; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; }
.cm_overview11 .ovw11_desc { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; margin-top: clamp(16px, 1.0416666667vw, 20px); overflow: hidden; font-size: var(--font_size16); text-overflow: ellipsis; }
.cm_overview11 .ovw11_date { margin-top: clamp(8px, 0.5208333333vw, 10px); color: #666; font-size: var(--font_size16); }
.cm_overview11 .ovw11_new { display: inline-block; flex-shrink: 0; }
.cm_overview11 .ovw11_box:hover .ovw11_title { color: var(--primary); text-decoration: underline; }
.cm_overview11 .ovw11_box:hover .ovw11_thumb_img { transform: scale(1.05); }
.cm_overview12 { height: clamp(356px, 23.1770833333vw, 445px); overflow: hidden; border: 1px solid #ddd; border-radius: 12px; background-color: #fff; }
.cm_overview12 .ovw12_list { display: flex; flex-direction: column; height: 100%; }
.cm_overview12 .ovw12_list > li { position: relative; height: 33.3%; }
.cm_overview12 .ovw12_list > li:before { display: block; z-index: 1; position: absolute; right: clamp(25.6px, 1.6666666667vw, 32px); bottom: 0; left: clamp(25.6px, 1.6666666667vw, 32px); height: 1px; background-color: #ddd; content: ""; }
.cm_overview12 .ovw12_list > li:nth-child(n+3):before { display: none; }
.cm_overview12 .ovw12_box { display: flex; align-items: center; height: 100%; padding: clamp(15px, 1.5625vw, 30px) clamp(15px, 1.6666666667vw, 32px); gap: 0 clamp(15px, 1.25vw, 24px); box-shadow: 0 0 0 rgba(0, 0, 0, 0); transition: all 0.3s ease, box-shadow 0.3s ease; }
.cm_overview12 .ovw12_date { display: flex; flex-shrink: 0; flex-direction: column; align-items: center; justify-content: center; aspect-ratio: 1/1; width: clamp(50px, 4.6875vw, 90px); border-radius: clamp(8px, 0.5208333333vw, 10px); background-color: #f5f5f5; box-shadow: 0 0 0 rgba(0, 0, 0, 0); font-weight: 700; line-height: 1.3; letter-spacing: -1px; transition: all 0.3s ease, box-shadow 0.3s ease; }
.cm_overview12 .ovw12_title { display: -webkit-box; -webkit-line-clamp: 2; font-weight: 700; font-size: clamp(16px, 1.1458333333vw, 22px); -webkit-box-orient: vertical; overflow: hidden; line-height: 1.25; text-overflow: ellipsis; transition: all 0.3s ease; }
.cm_overview12 .ovw12_title .ovw12_new { display: inline-block; flex-shrink: 0; }
.cm_overview12 .ovw12_date_day { font-size: var(--font_size24); }
.cm_overview12 .ovw12_date_year { font-size: var(--font_size18); }
.cm_overview12 .ovw12_content { flex-grow: 1; }
.cm_overview12 .ovw12_box:hover .ovw12_title { color: var(--primary); text-decoration: underline; }
.cm_overview12 .ovw12_box:hover .ovw12_date { background-color: var(--primary); box-shadow: 0 clamp(4.8px, 0.3125vw, 6px) clamp(19.2px, 1.25vw, 24px) 0 rgba(30, 70, 180, 0.07); color: #fff; }
.cm_overview13 .ovw13_item ~ .ovw13_item { margin-top: 1.2rem; }
.cm_overview13 .ovw13_link { display: flex; align-items: center; padding: 1.6rem 2rem; padding-right: 4.8rem; gap: 1.2rem; border-radius: 1.2rem; background: #fff url(../../images/common/icon_chevron_right.svg) no-repeat right 2rem center/2rem; transition: background 0.15s; }
.cm_overview13 .ovw13_link:hover { background-color: #c5e1ff; }
.cm_overview13 .ovw13_link .cm_state { flex: 0 0 auto; width: 8rem; height: 3.5rem; border-radius: 4px; font-weight: 500; font-size: var(--font_size15); }
.cm_overview13 .ovw13_link .ovw13_title { flex: 1 1 auto; min-width: 0; font-weight: 500; font-size: var(--font_size18); line-height: 1.5; transition: all 0.3s ease; }
.cm_overview13 .ovw13_link .ovw13_title span { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1; overflow: hidden; }
.cm_overview14 { padding-bottom: clamp(60px, 6.25vw, 120px); }
.cm_overview14 .ovw14_list { display: flex; z-index: 1; position: relative; flex-direction: column; gap: clamp(15px, 2.0833333333vw, 40px); }
.cm_overview14 .ovw14_list:before { display: block; z-index: -1; position: absolute; top: 0; bottom: 0; left: 50%; width: 1.5px; background: linear-gradient(to bottom, #c4c9eb 50%, transparent 50%); background-size: 1.5px 12px; content: ""; opacity: 0; transition: opacity 0.8s ease; }
.cm_overview14 .ovw14_list.is-line-visible:before { opacity: 1; }
.cm_overview14 .ovw14_box { display: flex; align-items: center; padding: clamp(15px, 2.0833333333vw, 40px) clamp(20px, 6.25vw, 120px); gap: clamp(15px, 1.5625vw, 30px); border-radius: clamp(9.6px, 0.625vw, 12px); background-color: #fff; }
.cm_overview14 .ovw14_title_wrap { display: flex; flex: 0 0 37%; align-items: center; gap: clamp(8px, 0.5208333333vw, 10px); }
.cm_overview14 .ovw14_title_icon { flex-shrink: 0; width: clamp(40px, 4.1666666667vw, 80px); }
.cm_overview14 .ovw14_title_icon img { width: 100%; object-fit: contain; }
.cm_overview14 .ovw14_title { font-weight: bold; font-size: clamp(18px, 1.1458333333vw, 22px); }
.cm_overview14 .ovw14_desc { margin-bottom: clamp(8px, 0.5208333333vw, 10px); color: var(--primary); font-weight: 500; font-size: clamp(16px, 0.9375vw, 18px); }

/* 공통 페이징 */
.cm_paging1 { display: flex; align-items: center; justify-content: center; margin-top: clamp(30px, 3.125vw, 60px); }
.cm_paging1.under5 { justify-content: center; }
.cm_paging1 .page_control { display: block; flex: 0 0 auto; aspect-ratio: 1/1; width: clamp(30px, 2.1875vw, 42px); margin: 0 2px; overflow: hidden; border-radius: clamp(5px, 0.4166666667vw, 8px); background-position: center; background-size: auto clamp(15px, 1.25vw, 24px); background-repeat: no-repeat; background-color: #fff; text-indent: 100%; white-space: nowrap; }
.cm_paging1 .page_control.first { background-image: url(../../images/common/icon_chevrons_left.svg); }
.cm_paging1 .page_control.prev { background-image: url(../../images/common/icon_chevron_left.svg); }
.cm_paging1 .page_control.next { background-image: url(../../images/common/icon_chevron_right.svg); }
.cm_paging1 .page_control.last { background-image: url(../../images/common/icon_chevrons_right.svg); }
.cm_paging1 .paging_page { display: flex; margin: 0 clamp(4px, 0.2604166667vw, 5px); }
.cm_paging1 .page_link { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; aspect-ratio: 1/1; min-width: clamp(30px, 2.1875vw, 42px); margin: 0 clamp(1.6px, 0.1041666667vw, 2px); padding: 0 clamp(4px, 0.2604166667vw, 5px); border-radius: 8px; color: #444; font-size: clamp(12px, 0.78125vw, 15px); }
.cm_paging1 .page_control:hover,
.cm_paging1 .page_link:hover { background-color: #f4f4f4; }
.cm_paging1 .page_link.active { background-color: #0a4a99; color: #fff; font-weight: bold; }
.cm_paging2 { display: flex; align-items: center; justify-content: space-between; margin-top: clamp(20px, 2.0833333333vw, 40px); gap: 8px; }
.cm_paging2 .page_control { display: flex; flex: 1 1 0; align-items: center; min-width: 0; gap: clamp(8px, 0.625vw, 12px); text-decoration: none; transition: opacity 0.2s, color 0.2s, background-color 0.2s, border-color 0.2s; }
.cm_paging2 .page_control:before { flex-shrink: 0; aspect-ratio: 1/1; width: clamp(30px, 2.6041666667vw, 50px); border: 1px solid #ddd; border-radius: 1000px; background-position: center; background-size: 55%; background-repeat: no-repeat; content: ""; transition: background-color 0.2s, border-color 0.2s, background-image 0.2s; }
.cm_paging2 .page_control.next { flex-direction: row-reverse; }
.cm_paging2 .page_control.prev:before { background-image: url(../../images/common/icon_chevron_left.svg); }
.cm_paging2 .page_control.next:before { background-image: url(../../images/common/icon_chevron_right.svg); }
.cm_paging2 .page_control_content { display: flex; flex-direction: column; width: 100%; min-width: 0; gap: 5px; }
.cm_paging2 .page_control.next .page_control_content { align-items: flex-end; }
.cm_paging2 .page_txt { color: #222; font-weight: 700; font-size: var(--font_size15); line-height: 1; transition: color 0.2s; }
.cm_paging2 .page_title { max-width: 100%; overflow: hidden; color: #555; font-weight: 500; font-size: var(--font_size18); text-overflow: ellipsis; white-space: nowrap; }
.cm_paging2 .page_list_btn:hover { border-color: transparent; background-color: #000; color: #fff; transition: background-color 0.2s, color 0.2s, border-color 0.2s; }
.cm_paging2 .page_control:not(.none):hover .page_txt { color: var(--primary); }
.cm_paging2 .page_control:not(.none):hover:before { background-color: #f5f5f5; }
.cm_paging2 .page_control.none { opacity: 0.3; }
.cm_paging2 .page_list_btn { flex-shrink: 0; border-color: #ddd; color: #444; font-weight: 500; }

/* 공통 약관 */
.cm_policy { line-height: 1.5; word-break: keep-all; }
.cm_policy .plcy_box { max-height: clamp(150px, 15.625vw, 300px); padding: clamp(15px, 1.0416666667vw, 20px); overflow: auto; border: 1px solid #ccc; border-radius: clamp(5px, 0.5208333333vw, 10px); background-color: #fff; }
.cm_policy .plcy_title { margin-top: clamp(15px, 1.5625vw, 30px); margin-bottom: clamp(15px, 1.5625vw, 30px); font-weight: 800; font-size: var(--font_size20); line-height: 1.25; }
.cm_policy .plcy_title2 { margin-top: clamp(15px, 1.5625vw, 30px); margin-bottom: clamp(9.6px, 0.625vw, 12px); font-weight: bold; font-size: var(--font_size18); line-height: 1.44; }
.cm_policy .plcy_list li { margin: 5px 0; }
.cm_policy .plcy_list ul li { padding-left: clamp(15px, 1.0416666667vw, 20px); }

/* 공통 팝업 */
.cm_popup { display: flex; visibility: hidden; z-index: 10002; position: fixed; top: 0; left: 0; align-items: center; justify-content: center; width: 100%; height: 100%; padding: 15px; background: rgba(0, 0, 0, 0.5); opacity: 0; table-layout: fixed; transition: opacity 0.3s ease-in-out, visibility 0ms linear 0.3s; }
.cm_popup .popup_wrap { width: 100%; max-width: clamp(600px, 41.6666666667vw, 800px); }
.cm_popup .popup_body { width: 100%; margin: auto; overflow: hidden; border-radius: var(--border_radius10); background-color: #fff; animation: hide_popup 0.3s forwards; }
.cm_popup .popup_header { display: flex; z-index: 2; position: relative; top: 0; left: 0; align-items: center; height: clamp(50px, 3.6458333333vw, 70px); padding: 10px clamp(20px, 2.0833333333vw, 40px); padding-right: clamp(60px, 3.90625vw, 75px); border-bottom: 1px solid #ddd; background-color: var(--primary); color: #fff; cursor: pointer; }
.cm_popup .popup_header .header_title { font-weight: 800; font-size: clamp(16px, 1.0416666667vw, 20px); line-height: 1.2; }
.cm_popup .popup_header .popup_close { position: absolute; top: 50%; right: clamp(24px, 1.5625vw, 30px); aspect-ratio: 1/1; width: 35px; margin-top: -17.5px; overflow: hidden; background: url(../../images/common/icon_close2.svg) no-repeat center/24px; text-indent: 100%; white-space: nowrap; }
.cm_popup .popup_content { position: relative; max-height: calc(100dvh - clamp(240px, 15.625vw, 300px)); padding: clamp(20px, 2.0833333333vw, 40px); overflow: hidden; overflow-y: auto; background: #fff; color: var(--mono3); line-height: 1.6; }
.cm_popup .popup_btn { width: 100%; min-width: auto; height: clamp(48px, 3.125vw, 60px); border-radius: 0; }
.cm_popup .cm_paging1 { margin-top: clamp(12px, 0.78125vw, 15px); }
.cm_popup.popup_open { overflow: hidden; }
.cm_popup.popup_on { visibility: visible !important; opacity: 1 !important; transition: visibility 0ms; }
.cm_popup.popup_on .popup_body { animation-name: show_popup; }
.cm_modal { display: none; z-index: 2026; position: fixed; top: 0; left: 0; align-items: center; justify-content: center; width: 100%; height: 100dvh; }
.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; 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; }

/* 메인 팝업 */
.modal_notice.cm_modal .modal_contents { max-width: 1400px; background: transparent; }
.modal_notice.cm_modal .modal_contents .modal_body { padding: clamp(10px, 3.125vw, 60px); }
.modal_notice.cm_modal .notice_title { display: flex; align-items: center; margin-bottom: clamp(15px, 1.3020833333vw, 25px); color: #fff; font-weight: 500; font-size: clamp(18px, 1.4583333333vw, 28px); word-break: keep-all; }
.modal_notice.cm_modal .notice_title > span { display: flex; align-items: center; justify-content: center; min-height: 4rem; margin-left: 1rem; padding: 0.5rem 2rem; border-radius: 100px; background: #022be9; color: #fff; font-weight: 400; font-size: clamp(15px, 0.9375vw, 18px); word-break: keep-all; }
.modal_notice.cm_modal .notice_title > span em { font-weight: 700; }
.modal_notice.cm_modal .notice_swiper .swiper-slide { width: calc((100% - 4rem) / 3) !important; }
.modal_notice.cm_modal .notice_swiper .swiper-btn-wrap { display: flex; align-items: center; justify-content: center; width: 100%; margin-top: 4rem; gap: 2rem; }
.modal_notice.cm_modal .notice_swiper .swiper-btn-wrap .swiper-btn { display: flex; flex-shrink: 0; align-items: center; justify-content: center; width: clamp(38px, 3.75vw, 72px); height: clamp(38px, 3.75vw, 72px); border: 2px solid #fff; border-radius: 100%; background-position: center; background-size: 45%; background-repeat: no-repeat; background-color: transparent; font-size: 0; transition: border-color 0.2s, background-color 0.2s; }
.modal_notice.cm_modal .notice_swiper .swiper-btn-wrap .swiper-btn.swiper-prev { background-image: url(../../images/common/icon_arr17_left.svg); }
.modal_notice.cm_modal .notice_swiper .swiper-btn-wrap .swiper-btn.swiper-next { background-image: url(../../images/common/icon_arr17_right.svg); }
.modal_notice.cm_modal .notice_swiper .swiper-btn-wrap .swiper-btn.swiper-button-disabled { cursor: default; }
.modal_notice.cm_modal .notice_swiper .swiper-btn-wrap .swiper-btn:not(.swiper-button-disabled):hover { border-color: var(--cm_color4); background-color: var(--cm_color4); }
.modal_notice.cm_modal .notice_swiper .swiper-btn-wrap .swiper_ctrl { display: flex; align-items: center; justify-content: center; width: 100%; gap: 2rem; }
.modal_notice.cm_modal .notice_swiper .swiper-btn-wrap .swiper_ctrl:before,
.modal_notice.cm_modal .notice_swiper .swiper-btn-wrap .swiper_ctrl:after { width: 100%; height: 1px; background: #fff; content: ""; }
.modal_notice.cm_modal .notice_swiper .swiper-btn-wrap .swiper_ctrl .cm_chk1 { flex-shrink: 0; }
.modal_notice.cm_modal .notice_swiper .swiper-btn-wrap .swiper_ctrl .cm_chk1 .chk_label { color: #fff; }
.modal_notice.cm_modal .notice_swiper .swiper-btn-wrap .swiper_ctrl .btn_close { display: flex; flex-shrink: 0; align-items: center; justify-content: center; min-height: clamp(38px, 3.125vw, 60px); padding: 10px clamp(15px, 1.3020833333vw, 25px); border-radius: 100px; background: #fff; font-weight: bold; font-size: clamp(13px, 0.9375vw, 18px); }
.modal_notice.cm_modal .notice_swiper .swiper-btn-wrap .swiper_ctrl .btn_close:after { display: block; width: 1.2rem; height: 1.2rem; margin-left: 1.5rem; background: url(../../images/common/icon_close06.svg) no-repeat center/contain; content: ""; }
.modal_notice.cm_modal .notice_swiper .pop_cont_txt { height: 100%; padding: 3rem; background-color: #fff; }
.modal_notice.cm_modal .modal_bg { background-color: rgba(0, 0, 0, 0.7); }

/* 공통 검색 */
.cm_search1 .form_control { font-weight: 700; }
.cm_search1 .search_item_wrap { width: 100%; max-width: clamp(450px, 26.5625vw, 510px); margin-left: auto; }
.cm_search1 .search_item { display: flex; gap: clamp(5px, 0.4166666667vw, 8px); }
.cm_search1 .search_select { flex-shrink: 0; width: 130px; }
.cm_search1 .search_form_wrap { flex-grow: 1; }
.cm_search1 .search_btn { flex-shrink: 0; width: var(--form_height); height: var(--form_height); overflow: hidden; border-radius: 8px; background-image: url(../../images/common/icon_search_wt.svg); background-position: center; background-size: 48%; background-repeat: no-repeat; background-color: #000; text-indent: 100%; white-space: nowrap; }
.cm_search2 .search_filter_container { display: flex; flex-direction: column; width: 100%; height: 100%; gap: clamp(8px, 0.5208333333vw, 10px); }
.cm_search2 .filter_wrapper { display: flex; flex-direction: column; width: 100%; padding: clamp(20px, 2.0833333333vw, 40px); gap: clamp(15px, 1.6666666667vw, 32px); border: 1px solid #ddd; background-color: #f6f7f9; }
.cm_search2 .filter_section_wrap { display: flex; gap: clamp(15px, 1.6666666667vw, 32px); }
.cm_search2 .filter_section { display: flex; flex-direction: column; gap: clamp(25.6px, 1.6666666667vw, 32px); }
.cm_search2 .label_title { flex-shrink: 0; width: clamp(70px, 5.2083333333vw, 100px); color: #000; font-weight: 700; font-size: var(--font_size16); line-height: 1.41; white-space: pre-wrap; }
.cm_search2 .filter_row { display: flex; align-items: baseline; gap: clamp(10px, 2.0833333333vw, 40px); }
.cm_search2 .filter_section.search_section .filter_row { justify-content: space-between; }
.cm_search2 .search_section_wrap { display: flex; flex-grow: 1; align-items: center; justify-content: space-between; gap: clamp(15px, 2.0833333333vw, 40px); }
.cm_search2 .search_input_group { flex-grow: 1; }
.cm_search2 .button_group { display: flex; flex-shrink: 0; align-items: center; gap: clamp(15px, 1.0416666667vw, 20px); }
.cm_search2 .filter_section_wrap .filter_row { flex-direction: column; gap: clamp(12.8px, 0.8333333333vw, 16px); }
.cm_search2 .filter_select select { width: clamp(120px, 8.3333333333vw, 160px); }
.cm_search3.type_box { padding: clamp(32px, 2.0833333333vw, 40px) clamp(30px, 4.1666666667vw, 80px); border: 1px solid #ddd; border-radius: 1.2rem; }
.cm_search3 .search_wrap { display: flex; gap: clamp(32px, 2.0833333333vw, 40px); }
.cm_search3 .search_left,
.cm_search3 .search_right { position: relative; }
.cm_search3 .search_left { display: flex; flex: 1 1 auto; align-items: center; justify-content: center; min-width: 0; }
.cm_search3 .search_right { width: 51.389%; padding: clamp(32px, 2.0833333333vw, 40px); }
.cm_search3 .search_left .map { position: relative; width: 100%; }
.cm_search3 .filter_wrapper { display: flex; flex-direction: column; width: 100%; gap: clamp(24px, 2.0833333333vw, 40px); }
.cm_search3 .filter_section { display: flex; flex-direction: column; gap: clamp(16px, 1.6666666667vw, 32px); }
.cm_search3 .filter_section.region { display: none; }
.cm_search3 .label_title { flex-shrink: 0; width: clamp(70px, 5.2083333333vw, 100px); color: #000; font-weight: 700; font-size: var(--font_size16); line-height: 1.41; white-space: pre-wrap; }
.cm_search3 .filter_row { display: flex; align-items: baseline; gap: clamp(10px, 2.0833333333vw, 40px); }
.cm_search3 .filter_section.search_section .filter_row { justify-content: space-between; }
.cm_search3 .search_section_wrap { display: flex; flex-grow: 1; align-items: center; justify-content: space-between; gap: clamp(32px, 2.0833333333vw, 40px); }
.cm_search3 .button_group { display: flex; flex-shrink: 0; align-items: center; gap: clamp(16px, 1.0416666667vw, 20px); }
.cm_search3 .category_items { display: flex; flex: 1; flex-wrap: wrap; min-width: 0; margin-bottom: clamp(16px, 1.0416666667vw, 20px); gap: clamp(5px, 0.5208333333vw, 10px); }
.cm_search3 .category_items .category_item { width: calc((100% - clamp(5px, 0.5208333333vw, 10px) * 3) / 4); text-align: center; }
.cm_search3 .category_sublist { display: flex; align-items: baseline; margin-top: clamp(24px, 1.5625vw, 30px); gap: clamp(8px, 0.5208333333vw, 10px); }
.cm_search3 .sublist_title { flex-shrink: 0; width: clamp(56px, 3.6458333333vw, 70px); }
.cm_search3 .cm_chk3 .chk_icon { aspect-ratio: 1/1; width: clamp(55px, 5.2083333333vw, 100px); }
.cm_search3 .cm_chk3 .chk_text { font-size: var(--font_size16); }
.cm_search3 .cm_chk2 .chk_label { height: clamp(35px, 2.1875vw, 42px); padding: clamp(8px, 0.625vw, 12px); font-weight: 500; font-size: var(--font_size15); }
.cm_search3 .filter_tags { display: flex; flex-wrap: wrap; gap: 1.2rem; }
.cm_search3 .filter_tags .cm_chk2 .chk_label { border-radius: 4px; }
.cm_search3 .filter_button_group { display: flex; align-items: center; justify-content: flex-end; margin-top: clamp(20px, 2.0833333333vw, 40px); padding-top: clamp(20px, 2.0833333333vw, 40px); gap: clamp(10px, 1.0416666667vw, 20px); border-top: 1px dashed #ddd; }
.cm_search4 { padding: 2.4rem; background: #f5f5f5; }
.cm_search4 .search_input_area { display: flex; justify-content: center; gap: 1.2rem; }
.cm_search4 .search_input_area .search_item { display: flex; justify-content: center; gap: 0.8rem; }
.cm_search4 .search_input_area .search_item .form_control { height: 4.8rem; border-radius: 4px; }
.cm_search4 .search_input_area .btns { display: flex; justify-content: center; gap: 1.2rem; }
.cm_search4 .search_input_area .search_select { width: 13rem; }
.cm_search4 .search_input_area .search_form_wrap { width: 32rem; }
.cm_search4 .search_input_area .search_btn { width: 4.4rem; height: 4.8rem; border-radius: 4px; background: #000 url(../../images/common/icon_search_wt.svg) no-repeat center/2.4rem; }
.cm_search4 .search_input_area .detail_search_btn { display: flex; align-items: center; justify-content: center; height: 4.8rem; padding: 0 4.4rem 0 1.6rem; border-radius: 4px; background: var(--primary) url(../../images/common/icon_arr_down.svg) no-repeat center right 1.6rem/2.4rem; color: #fff; }
.cm_search4.active .search_input_area .detail_search_btn { background-image: url(../../images/common/icon_arr_up.svg); }
.cm_search4 .search_check_area { display: none; margin-top: 4.4rem; }
.cm_search4 .search_check_area .cm_form_group .form_row { align-items: center; width: fit-content; }
.cm_search4 .search_check_area .cm_form_group .cm_chk_wrap { gap: 1.2rem 1.6rem; }
.cm_search4 .search_check_area .cm_form_group .form_label { display: inline-block; width: 6rem; font-size: var(--font_size16); cursor: default; }
.cm_search4 .search_check_area .cm_form_group .cm_chk1 .chk_label { color: #000; font-weight: 400; font-size: var(--font_size17); }
.cm_search4 .search_check_area .cm_form_group select.form_control { width: 18rem; }
.cm_search4 .search_check_area .selects_row .form_group,
.cm_search4 .search_check_area .selects_row .form_content { flex: auto; width: auto; }
.cm_search4.active .search_check_area { display: block; }

/* 공통 공유 */
.cm_share { z-index: 10; position: absolute; top: clamp(30px, 2.6041666667vw, 50px); right: var(--inner_padding); width: clamp(48px, 3.0208333333vw, 58px); transform: translateX(clamp(6px, 0.4166666667vw, 8px)); }
.cm_share .share_btn { display: block; aspect-ratio: 1/1; width: clamp(35px, 2.34375vw, 45px); margin: 0 auto; overflow: hidden; border: 1px solid #ddd; border-radius: 50%; background: #fff url(../../images/common/icon_share.svg) no-repeat center/50%; text-indent: 100%; white-space: nowrap; }
.cm_share .share_list_wrap { display: none; }
.cm_share .share_list { display: inline-flex; flex-direction: column; align-items: center; width: 100%; margin-top: clamp(5px, 0.5208333333vw, 10px); padding: clamp(10px, 0.78125vw, 15px) 0; gap: clamp(5px, 0.4166666667vw, 8px); border: 1px solid #ddd; border-radius: 1000px; background-color: #fff; }
.cm_share .share_list > li > a { display: block; aspect-ratio: 1/1; width: clamp(24px, 1.6666666667vw, 32px); overflow: hidden; background-position: center; background-size: contain; background-repeat: no-repeat; text-indent: 100%; white-space: nowrap; }
.cm_share .share_list .instagram { background-image: url(../../images/common/icon_instagram.svg); }
.cm_share .share_list .naver_blog { background-image: url(../../images/common/icon_blog.svg); }
.cm_share .share_list .kakao_talk { background-image: url(../../images/common/icon_kakao.svg); }
.cm_share .share_list .url_copy { background-image: url(../../images/common/icon_url.svg); }
.cm_share .share_list_wrap.active { display: block; }

/* 공통 SNS */
.cm_sns_list1 .sns1_list { display: flex; flex-wrap: wrap; margin: -0.5rem; }
.cm_sns_list1 .sns1_list > li { padding: 0.5rem; }
.cm_sns_list1 .sns1_list > li > a { display: block; aspect-ratio: 1/1; width: clamp(35px, 2.0833333333vw, 40px); overflow: hidden; border-radius: 1000px; background-position: center; background-size: contain; background-repeat: no-repeat; text-indent: 100%; white-space: nowrap; }
.cm_sns_list1 .sns1_list > li.kakao > a { background-image: url(../../images/common/icon_kakao.svg); }
.cm_sns_list1 .sns1_list > li.naver > a { background-image: url(../../images/common/icon_naver.svg); }
.cm_sns_list2 { display: flex; flex-direction: column; gap: clamp(5px, 0.625vw, 12px); }
.cm_sns_list2 > li { display: flex; align-items: center; gap: clamp(5px, 0.5208333333vw, 10px); }
.cm_sns_list2 .sns_icon { display: flex; flex-shrink: 0; align-items: center; justify-content: center; aspect-ratio: 1/1; width: clamp(30px, 1.9791666667vw, 38px); border-radius: 50%; box-shadow: 0 clamp(0.8px, 0.0520833333vw, 1px) clamp(1.6px, 0.1041666667vw, 2px) rgba(0, 0, 0, 0.04); }
.cm_sns_list2 .sns_icon img { width: clamp(30px, 2.0833333333vw, 40px); }
.cm_sns_list2 .sns_info { display: flex; align-items: center; gap: clamp(5px, 0.5208333333vw, 10px); }
.cm_sns_list2 .sns_info .cm_btn { flex-shrink: 0; }
.cm_sns_list2 .sns_date { color: #888; font-size: var(--font_size15); word-break: keep-all; }

/* 공통 카테고리 및 상태 */
[class*=cm_state] { display: inline-flex; align-items: center; justify-content: center; padding: clamp(5px, 0.46875vw, 9px) clamp(8px, 0.625vw, 12px); border: 1px solid transparent; font-weight: 500; font-size: var(--font_size15); line-height: 1.1; text-align: center; vertical-align: middle; }
.cm_state1 { border-radius: 4px; }
.cm_state2 { border-radius: 2px 2px clamp(8px, 0.5208333333vw, 10px) 2px; }
.cm_state3 { border-radius: 8px; }
[class*=cm_state].size_xxs { height: clamp(24px, 1.4583333333vw, 28px); padding: 0 1rem; font-size: 1.3rem; }
[class*=cm_state].size_xs { height: clamp(30px, 1.8229166667vw, 35px); padding: 0 clamp(10px, 0.625vw, 12px); font-size: clamp(13px, 0.7291666667vw, 14px); }
[class*=cm_state].size_sm { height: var(--form_height); padding: 0 clamp(10px, 0.78125vw, 15px); }
[class*=cm_state].state1 { background: #dae0ed; color: #444; }
[class*=cm_state].state2 { background: var(--primary); color: #fff; }
[class*=cm_state].state3 { background-color: #efd5fe; color: #732faa; }
[class*=cm_state].state4 { background-color: #d3e3fd; color: #133477; }
[class*=cm_state].state5 { background-color: #fcd1d7; color: #bc3b4b; }
[class*=cm_state].state6 { background-color: #d9d9d9; color: #444; }
[class*=cm_state].state7 { background-color: #444; color: #61d5a9; }
[class*=cm_state].state8 { background-color: #444; color: #f6d204; }
[class*=cm_state].state9 { background-color: #444; color: #abbdeb; }
[class*=cm_state].state10 { background-color: #444; color: #fff; }
[class*=cm_state].state11 { background-color: #c9e4ef; color: #2f3faa; }
[class*=cm_state].state12 { background-color: #dadada; color: #666; }
[class*=cm_state].state13 { background-color: #d3e3fd; color: #133477; }
[class*=cm_state].state14 { background-color: #d4f1e6; color: #357f76; }
[class*=cm_state].state15 { background-color: #efd5fe; color: #732faa; }
[class*=cm_state].state16 { background-color: #ffead7; color: #ab5f3e; }
[class*=cm_state].state17 { background-color: #fcd1d7; color: #bc3b4b; }
[class*=cm_state].state18 { border-color: var(--primary); color: var(--primary); }
[class*=cm_state].state19 { border-color: #aaa; background-color: #fff; color: #444; }
[class*=cm_state].state20 { border-color: #b4d1ff; background-color: #b4d1ff; color: #133477; }
[class*=cm_state].state21 { border-color: #e6f7c8; background-color: #e6f7c8; color: #628130; }
[class*=cm_state].state22 { border-color: #0041b2; background-color: #fff; color: #0041b2; }
[class*=cm_state].state23 { border-color: #007604; background-color: #fff; color: #007604; }

/* 공통 단계 */
.cm_step { display: flex; align-items: center; justify-content: space-between; max-width: clamp(752px, 48.9583333333vw, 940px); margin: 0 auto; margin-bottom: clamp(15px, 2.6041666667vw, 50px); gap: 0 10px; }
.cm_step .step_item { display: flex; position: relative; flex: 1; flex-direction: column; align-items: center; gap: clamp(6.4px, 0.4166666667vw, 8px); text-align: center; }
.cm_step .step_dot { display: flex; z-index: 2; position: relative; align-items: center; justify-content: center; aspect-ratio: 1/1; width: clamp(15px, 1.1458333333vw, 22px); border: clamp(1.6px, 0.1041666667vw, 2px) solid #e4e4e4; border-radius: 50%; background-color: #e4e4e4; transition: all 0.3s ease; }
.cm_step .step_dot:before { display: block; position: absolute; top: 0; right: 0; bottom: 0; left: 0; border: clamp(2.4px, 0.15625vw, 3px) solid #fff; border-radius: inherit; background-position: center; background-size: contain; background-repeat: no-repeat; content: ""; }
.cm_step .step_content { display: flex; flex-direction: column; align-items: center; font-size: var(--font_size15); }
.cm_step .step_number { color: #444; }
.cm_step .step_title { color: #000; font-weight: bold; white-space: nowrap; }
.cm_step .step_line { z-index: 1; position: absolute; top: clamp(7.5px, 0.5208333333vw, 10px); right: -50%; left: 50%; height: clamp(1.6px, 0.1041666667vw, 2px); background-color: #c6c6c6; }
.cm_step .step_item.active .step_dot { border-color: var(--primary); background-color: var(--primary); }
.cm_step .step_item.active .step_number { color: var(--primary); }
.cm_step .step_item.completed .step_dot:before { border: none; background-image: url(../../images/common/icon_check.svg); }
.cm_step .step_item.completed .step_line { background-color: var(--primary); }
.cm_step .step_item.current .step_dot { box-shadow: 0 0 0 clamp(3.2px, 0.2083333333vw, 4px) rgba(59, 130, 246, 0.2); }
.cm_step .step_item.current .step_dot:before { background-image: url(../../images/common/icon_dot.svg); background-size: calc(100% - 4px); }

/* 공통 만족도 조사 */
.cm_survey .survey_title { display: flex; align-items: baseline; margin-bottom: clamp(18px, 1.25vw, 24px); gap: clamp(10px, 0.78125vw, 15px); }
.cm_survey .survey_label { flex-shrink: 0; }
.cm_survey .survey_chk_wrap { display: flex; flex-direction: column; gap: clamp(10px, 1.0416666667vw, 20px); }
.cm_survey .survey_list { display: flex; flex-direction: column; gap: clamp(20px, 2.0833333333vw, 40px); }

/* 공통 스와이퍼 */
.cm_swiper { position: relative; width: 100%; max-width: clamp(480px, 41.6666666667vw, 800px); margin: 0 auto; }
.cm_swiper .swiper-slide { display: flex; align-items: center; justify-content: center; height: auto; }
.cm_swiper .swiper-button-prev,
.cm_swiper .swiper-button-next { display: block; position: absolute; top: 50%; width: clamp(35px, 2.6041666667vw, 50px); height: clamp(35px, 2.6041666667vw, 50px); overflow: hidden; transform: translateY(-50%); border: 1px solid #ddd; border-radius: 1000px; background-position: center; background-size: 55%; background-repeat: no-repeat; background-color: #fff; text-indent: 100%; white-space: nowrap; transition: background-color 0.2s, border-color 0.2s, background-image 0.2s, color 0.2s, opacity 0.2s; }
.cm_swiper .swiper-button-prev:after,
.cm_swiper .swiper-button-next:after { display: none; }
.cm_swiper .swiper-button-prev { left: clamp(-85px, -4.4270833333vw, -68px); background-image: url(../../images/common/icon_chevron_left.svg); }
.cm_swiper .swiper-button-next { right: clamp(-85px, -4.4270833333vw, -68px); background-image: url(../../images/common/icon_chevron_right.svg); }
.cm_swiper .swiper-button-prev:hover,
.cm_swiper .swiper-button-next:hover { border-color: transparent; background-color: #000; }
.cm_swiper .swiper-button-prev:hover { background-image: url(../../images/common/icon_chevron_left2.svg); }
.cm_swiper .swiper-button-next:hover { background-image: url(../../images/common/icon_chevron_right2.svg); }
.cm_swiper .swiper-pagination { position: absolute; bottom: 0; left: 0; width: 100%; text-align: center; }
.cm_swiper .swiper-pagination-bullet { width: clamp(8px, 0.5208333333vw, 10px); height: clamp(8px, 0.5208333333vw, 10px); background-color: #000; opacity: 0.5; transition: background-color 0.2s, opacity 0.2s; }
.cm_swiper .swiper-pagination-bullet-active { background-color: #000; opacity: 1; }
.cm_swiper_control { display: flex; gap: clamp(8px, 0.5208333333vw, 10px); }
.cm_swiper_control .control_btn { display: block; z-index: 1; position: absolute; top: 50%; width: clamp(35px, 2.6041666667vw, 50px); height: clamp(35px, 2.6041666667vw, 50px); overflow: hidden; transform: translateY(-50%); border: 1px solid #ddd; border-radius: 1000px; background-position: center; background-size: 50%; background-repeat: no-repeat; background-color: #fff; text-indent: 100%; white-space: nowrap; transition: background-color 0.2s, border-color 0.2s, background-image 0.2s, color 0.2s, opacity 0.2s; }
.cm_swiper_control .control_btn.prev { left: clamp(-25px, -1.3020833333vw, -20px); background-image: url(../../images/common/icon_chevron_left.svg); }
.cm_swiper_control .control_btn.next { right: clamp(-25px, -1.3020833333vw, -20px); background-image: url(../../images/common/icon_chevron_right.svg); }
.cm_swiper_control .control_btn:not(.swiper-button-disabled):hover { border-color: transparent; background-color: #000; }
.cm_swiper_control .control_btn:not(.swiper-button-disabled).prev:hover { background-image: url(../../images/common/icon_chevron_left2.svg); }
.cm_swiper_control .control_btn:not(.swiper-button-disabled).next:hover { background-image: url(../../images/common/icon_chevron_right2.svg); }
.cm_swiper_control .control_btn.swiper-button-disabled { opacity: 0.3; }
.cm_swiper_control2 { display: flex; align-items: center; padding: clamp(10px, 0.8333333333vw, 16px) clamp(15px, 1.0416666667vw, 20px); gap: 5px; border-radius: 0 8px 0 8px; background-color: rgba(0, 0, 0, 0.4); }
.cm_swiper_control2 .swiper-pagination { position: static; width: auto; }
.cm_swiper_control2 .swiper-pagination-bullet { border-radius: 9999px; background-color: #aaa; opacity: 1; }
.cm_swiper_control2 .swiper-pagination-bullet-active { width: 30px; background-color: #fff; }
.cm_swiper_control2 .slide_play_btn { aspect-ratio: 1/1; width: 24px; overflow: hidden; background: url(../../images/common/icon_play.svg) no-repeat center center/24px; text-indent: 100%; white-space: nowrap; }
.cm_swiper_control2 .slide_play_btn.is_playing { background-image: url(../../images/common/icon_stop.svg); }
.cm_swiper_control2 .slide_counter { color: #fff; font-weight: 800; line-height: 1; }
.cm_swiper_control3 { display: flex; position: relative; align-items: center; justify-content: center; gap: 1.2rem; }
.cm_swiper_control3 .control_btn { width: 3.6rem; height: 3.6rem; overflow: hidden; border: 1px solid #ddd; border-radius: 50%; background-position: center; background-size: 2.8rem; background-repeat: no-repeat; background-color: #fff; text-indent: 100%; white-space: nowrap; }
.cm_swiper_control3 .control_btn.prev { transform: scaleX(-1); background-image: url(../../images/common/icon_next.svg); }
.cm_swiper_control3 .control_btn.next { background-image: url(../../images/common/icon_next.svg); }
.cm_swiper_control3 .slide_play_btn.is_playing { background-image: url(../../images/common/icon_stop2.svg); background-size: 2rem; }
.cm_swiper_control3 .slide_play_btn.is_paused { background-image: url(../../images/common/icon_play2.svg); background-size: 2rem; }
.cm_swiper_control3.visible_none { height: 10px; }
.cm_swiper_control3.visible_none button { display: none; }

/* 공통 탭 */
.cm_tab1 { margin-bottom: clamp(32px, 2.0833333333vw, 40px); }
.cm_tab1 .tab1_list { display: flex; flex-wrap: wrap; gap: clamp(5px, 0.625vw, 12px); }
.cm_tab1 .tab1_list > li a { display: block; padding: clamp(6px, 0.625vw, 12px) clamp(10px, 1.0416666667vw, 20px); border: 1px solid #e0e0e0; border-radius: clamp(5px, 0.4166666667vw, 8px) clamp(5px, 0.4166666667vw, 8px) 0 0; color: #666; font-weight: 500; transition: all 0.3s ease; }
.cm_tab1 .tab1_list > li.active a { border-color: transparent; background: #000; color: #fff; font-weight: 800; }
.cm_tab2 { margin-bottom: clamp(30px, 4.1666666667vw, 80px); border-bottom: 1px solid #ddd; background-color: #fff; }
.cm_tab2 .tab_list { display: flex; overflow-x: auto; gap: clamp(6.4px, 0.4166666667vw, 8px) clamp(20px, 2.0833333333vw, 40px); scrollbar-color: #ccc transparent; scrollbar-width: thin; }
.cm_tab2 .tab_list::-webkit-scrollbar { width: 8px; }
.cm_tab2 .tab_list::-webkit-scrollbar-track { background: transparent; }
.cm_tab2 .tab_list::-webkit-scrollbar-thumb { border-radius: 4px; background: #ccc; }
.cm_tab2 .tab_list::-webkit-scrollbar-thumb:hover { background: #999; }
.cm_tab2 .tab_item { display: flex; flex-shrink: 0; align-items: center; justify-content: center; height: clamp(35px, 4.1666666667vw, 80px); padding: 10px; border-bottom: 3px solid transparent; color: #444; font-weight: 500; font-size: var(--font_size18); white-space: nowrap; }
.cm_tab2 .tab_item.active { border-bottom-color: var(--primary); color: var(--primary); }
.cm_tab2 .tab_item:hover { color: var(--primary); }
.cm_tab2 .tab_item:focus-visible { outline-offset: -2px; }
.cm_tab3 .tab_list { display: flex; border-left: 1px solid #ddd; }
.cm_tab3 .tab_list .tab_item { flex: 1 1 auto; min-width: 0; min-height: 5rem; }
.cm_tab3 .tab_list .tab_button { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; padding: 5px 15px; border: 1px solid #ddd; border-left: 0; color: #222; font-weight: 500; line-height: 1.2; transition: 0.15s color; }
.cm_tab3 .tab_list .tab_button:hover { color: var(--primary); }
.cm_tab3 .tab_list .active .tab_button { border-color: var(--primary); background: var(--primary); color: #fff; font-weight: 700; }
.cm_tab3.type2 .tab_list { flex-wrap: wrap; border-left: 0; }
.cm_tab3.type2 .tab_list .tab_item { flex: none; }
.cm_tab3.type2 .tab_list .tab_button { border: 0; }
.cm_tab3.type2.col1 .tab_list .tab_item { width: 100%; border: 1px solid #ddd; border-bottom: 0; }
.cm_tab3.type2.col1 .tab_list .tab_item:last-child { border-bottom: 1px solid #ddd; }
.cm_tab3.type2.col2 .tab_list .tab_item { width: 50%; border-right: 1px solid #ddd; border-bottom: 1px solid #ddd; }
.cm_tab3.type2.col2 .tab_list .tab_item:nth-child(2n+1) { border-left: 1px solid #ddd; }
.cm_tab3.type2.col2 .tab_list .tab_item:nth-child(-n+2) { border-top: 1px solid #ddd; }
.cm_tab3.type2.col3 .tab_list .tab_item { width: 33.3333333333%; border-right: 1px solid #ddd; border-bottom: 1px solid #ddd; }
.cm_tab3.type2.col3 .tab_list .tab_item:nth-child(3n+1) { border-left: 1px solid #ddd; }
.cm_tab3.type2.col3 .tab_list .tab_item:nth-child(-n+3) { border-top: 1px solid #ddd; }
.cm_tab3.type2 .tab_list .active.tab_item { border-color: var(--primary); }

/* 공통 테이블 */
.cm_table1 { border-top: 2px solid #000; background-color: #fff; }
.cm_table1 th,
.cm_table1 td { padding: clamp(6.4px, 0.4166666667vw, 8px) clamp(12.8px, 0.8333333333vw, 16px); text-align: center; word-break: keep-all; }
.cm_table1 th { height: clamp(40px, 3.4895833333vw, 67px); border-bottom: 1px solid #000; font-weight: 700; font-size: var(--font_size16); }
.cm_table1 td { height: clamp(35px, 3.125vw, 60px); border-bottom: 1px solid #ddd; font-size: var(--font_size17); }
.cm_table1 .subject { text-align: left; }
.cm_table1 .subject a:hover { color: var(--primary); font-weight: 700; text-decoration: underline; }
.cm_table1 tbody tr:hover { background-color: #f8f8f8; }
.cm_table1 td.no_data { height: clamp(132px, 8.59375vw, 165px); font-weight: 700; font-size: var(--font_size18); }
.cm_table2 { border-top: clamp(1.6px, 0.1041666667vw, 2px) solid #000; background-color: #fff; }
.cm_table2 th,
.cm_table2 td { height: clamp(48px, 3.125vw, 60px); padding: clamp(6.4px, 0.4166666667vw, 8px) clamp(12.8px, 0.8333333333vw, 16px); border: 1px solid #ddd; text-align: left; word-break: keep-all; }
.cm_table2 th { font-weight: bold; font-size: var(--font_size18); }
.cm_table2 td { font-size: var(--font_size16); }
.cm_table2 td.no_data { height: clamp(132px, 8.59375vw, 165px); font-weight: 700; font-size: var(--font_size18); }

/* 공통 텍스트 리스트 */
.cm_text_list1 { display: flex; flex-wrap: wrap; gap: 8px clamp(16px, 1.25vw, 24px); }
.cm_text_list1 > li { position: relative; font-weight: bold; }
.cm_text_list1 > li:before { display: block; position: absolute; top: 50%; left: calc(100% + clamp(8px, 0.625vw, 12px)); width: 2px; height: 12px; transform: translateY(-50%); background: #ddd; content: ""; }
.cm_text_list1 > li:last-child:before { display: none; }
.cm_text_list2 { margin-left: clamp(8px, 0.5208333333vw, 10px); color: #444; font-size: clamp(14px, 0.8854166667vw, 17px); }
.cm_text_list2 > li { position: relative; padding-left: clamp(10.4px, 0.6770833333vw, 13px); }
.cm_text_list2 > li:before { display: block; position: absolute; top: 0.5em; left: 0; width: 4px; height: 4px; border-radius: 1000px; background: #444; content: ""; }
.cm_dl1 { display: flex; flex-direction: column; gap: 5px; word-break: keep-all; }
.cm_dl1 dl { display: flex; gap: 0 clamp(8px, 0.5208333333vw, 10px); font-size: var(--font_size15); }
.cm_dl1 dt { position: relative; flex-shrink: 0; min-width: clamp(70px, 5.2083333333vw, 100px); padding-left: 0.7em; color: #222; font-weight: bold; }
.cm_dl1 dt:before { display: block; position: absolute; top: 0.6em; left: 0; aspect-ratio: 1/1; width: clamp(3px, 0.2083333333vw, 4px); border-radius: 1000px; background-color: #666; content: ""; }
.cm_dl1 dd { flex-grow: 1; color: #444; }
.cm_dl1.col_2 { flex-direction: row; flex-wrap: wrap; }
.cm_dl1.col_2 dl { width: calc((100% - 5px) / 2); }
.cm_info_list1 > li { position: relative; padding-left: clamp(18px, 1.3020833333vw, 25px); color: #444; font-size: var(--font_size15); line-height: 1.3; }
.cm_info_list1 > li:before { display: block; position: absolute; top: 0; left: 0; aspect-ratio: 1/1; width: clamp(15px, 1.0416666667vw, 20px); background: url(../../images/common/icon_info.svg) no-repeat center/contain; content: ""; }

/* 공통 툴바 */
.cm_toolbar { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.cm_toolbar.end { align-items: flex-end; }
.cm_toolbar .toolbar_item .cm_text_list1 > li { font-weight: 500; }
.cm_toolbar .toolbar_item .cm_text_list1 > li .font-weight-extrabold { font-weight: 500 !important; }

/* 공통 타이포그래피 */
.cm_title.title1 { font-weight: 800; font-size: clamp(16px, 1.25vw, 24px); line-height: 1.2; }
.cm_title.title1 span { display: flex; position: relative; gap: 0.8rem; }
.cm_title.title1 span:before { display: block; flex-shrink: 0; width: 0.4rem; border-radius: 1000px; background-color: var(--primary); content: ""; }
.cm_title.title2 { font-weight: 800; font-size: clamp(20px, 1.6666666667vw, 32px); line-height: 1.2; }
.cm_title.title3 { font-weight: bold; font-size: clamp(15px, 1.0416666667vw, 20px); line-height: 1.2; }
.cm_title.title4 { font-weight: 800; font-size: clamp(24px, 2.0833333333vw, 40px); line-height: 1.2; }
.cm_title.title5 { font-weight: 800; font-size: clamp(15px, 1.0416666667vw, 20px); line-height: 1.2; }
.cm_title.title6 { font-weight: 700; font-size: clamp(24px, 1.875vw, 36px); line-height: 1.2; }
.cm_text_body1 { font-size: var(--font_size18) !important; line-height: 2; }
.cm_text_body2 { font-size: var(--font_size17) !important; line-height: 2; }
.cm_text_body3 { font-size: var(--font_size16) !important; line-height: 2; }
.cm_text_body4 { font-size: var(--font_size15) !important; line-height: 2; }
.cm_text_body5 { font-size: var(--font_size14) !important; line-height: 2; }
.cm_text_body6 { font-size: var(--font_size13) !important; line-height: 2; }
.cm_text_body7 { font-size: var(--font_size12) !important; line-height: 2; }
.cm_text_body8 { font-size: var(--font_size11) !important; line-height: 2; }
.cm_text_body9 { font-size: var(--font_size10) !important; line-height: 2; }
.cm_font_size10 { font-size: var(--font_size10) !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_font_size41 { font-size: var(--font_size41) !important; }
.cm_font_size42 { font-size: var(--font_size42) !important; }
.cm_font_size43 { font-size: var(--font_size43) !important; }
.cm_font_size44 { font-size: var(--font_size44) !important; }
.cm_font_size45 { font-size: var(--font_size45) !important; }
.cm_font_size46 { font-size: var(--font_size46) !important; }
.cm_font_size47 { font-size: var(--font_size47) !important; }
.cm_font_size48 { font-size: var(--font_size48) !important; }
.cm_font_size49 { font-size: var(--font_size49) !important; }
.cm_font_size50 { font-size: var(--font_size50) !important; }
.cm_font_size51 { font-size: var(--font_size51) !important; }
.cm_font_size52 { font-size: var(--font_size52) !important; }
.cm_font_size53 { font-size: var(--font_size53) !important; }
.cm_font_size54 { font-size: var(--font_size54) !important; }
.cm_font_size55 { font-size: var(--font_size55) !important; }
.cm_font_size56 { font-size: var(--font_size56) !important; }
.cm_font_size57 { font-size: var(--font_size57) !important; }
.cm_font_size58 { font-size: var(--font_size58) !important; }
.cm_font_size59 { font-size: var(--font_size59) !important; }
.cm_font_size60 { font-size: var(--font_size60) !important; }
.cm_font_size61 { font-size: var(--font_size61) !important; }
.cm_font_size62 { font-size: var(--font_size62) !important; }
.cm_font_size63 { font-size: var(--font_size63) !important; }
.cm_font_size64 { font-size: var(--font_size64) !important; }
.cm_font_size65 { font-size: var(--font_size65) !important; }
.cm_font_size66 { font-size: var(--font_size66) !important; }
.cm_font_size67 { font-size: var(--font_size67) !important; }
.cm_font_size68 { font-size: var(--font_size68) !important; }
.cm_font_size69 { font-size: var(--font_size69) !important; }
.cm_font_size70 { font-size: var(--font_size70) !important; }
.cm_font_size71 { font-size: var(--font_size71) !important; }
.cm_font_size72 { font-size: var(--font_size72) !important; }
.cm_font_size73 { font-size: var(--font_size73) !important; }
.cm_font_size74 { font-size: var(--font_size74) !important; }
.cm_font_size75 { font-size: var(--font_size75) !important; }
.cm_font_size76 { font-size: var(--font_size76) !important; }
.cm_font_size77 { font-size: var(--font_size77) !important; }
.cm_font_size78 { font-size: var(--font_size78) !important; }
.cm_font_size79 { font-size: var(--font_size79) !important; }
.cm_font_size80 { font-size: var(--font_size80) !important; }
.cm_font_size81 { font-size: var(--font_size81) !important; }
.cm_font_size82 { font-size: var(--font_size82) !important; }
.cm_font_size83 { font-size: var(--font_size83) !important; }
.cm_font_size84 { font-size: var(--font_size84) !important; }
.cm_font_size85 { font-size: var(--font_size85) !important; }
.cm_font_size86 { font-size: var(--font_size86) !important; }
.cm_font_size87 { font-size: var(--font_size87) !important; }
.cm_font_size88 { font-size: var(--font_size88) !important; }
.cm_font_size89 { font-size: var(--font_size89) !important; }
.cm_font_size90 { font-size: var(--font_size90) !important; }
.cm_font_size91 { font-size: var(--font_size91) !important; }
.cm_font_size92 { font-size: var(--font_size92) !important; }
.cm_font_size93 { font-size: var(--font_size93) !important; }
.cm_font_size94 { font-size: var(--font_size94) !important; }
.cm_font_size95 { font-size: var(--font_size95) !important; }
.cm_font_size96 { font-size: var(--font_size96) !important; }
.cm_font_size97 { font-size: var(--font_size97) !important; }
.cm_font_size98 { font-size: var(--font_size98) !important; }
.cm_font_size99 { font-size: var(--font_size99) !important; }
.cm_font_size100 { font-size: var(--font_size100) !important; }

/* 게시판 에디터 */
.editor_content { font-size: 16px; line-height: 1.6; word-wrap: break-word; color: #333; font-weight: 400; font-family: "PretendardGOV", "Noto Sans KR", sans-serif; letter-spacing: -0.02em; word-break: keep-all; }
.editor_content h1 { display: block; margin: 0.67em 0; font-weight: 700; font-size: 2em; line-height: 1.2; }
.editor_content h2 { display: block; margin: 0.83em 0; font-weight: 700; font-size: 1.5em; line-height: 1.3; }
.editor_content h3 { display: block; margin: 1em 0; font-weight: 700; font-size: 1.17em; line-height: 1.4; }
.editor_content h4 { display: block; margin: 1.33em 0; font-weight: 700; font-size: 1em; }
.editor_content h5 { display: block; margin: 1.67em 0; font-weight: 700; font-size: 0.83em; }
.editor_content h6 { display: block; margin: 2.33em 0; font-weight: 700; font-size: 0.67em; }
.editor_content p { display: block; margin: 1em 0; }
.editor_content b,
.editor_content strong { font-weight: 700; }
.editor_content i,
.editor_content em { font-style: italic; }
.editor_content u,
.editor_content ins { text-decoration: underline; }
.editor_content s,
.editor_content strike,
.editor_content del { color: #999; text-decoration: line-through; }
.editor_content sub { font-size: 0.75em; vertical-align: sub; }
.editor_content sup { font-size: 0.75em; vertical-align: super; }
.editor_content hr { display: block; height: 1px; margin: 2em 0; border: 0; border-top: 1px solid #e0e0e0; }
.editor_content mark { padding: 0.1em 0.2em; border-radius: 2px; background-color: #fff000; color: inherit; }
.editor_content small { color: #666; font-size: 0.8em; }
.editor_content code { padding: 0.2em 0.4em; border-radius: 3px; background-color: #f5f5f5; color: #c7254e; font-size: 0.9em; font-family: monospace; }
.editor_content pre { display: block; margin: 1em 0; padding: 15px; border: 1px solid #ddd; border-radius: 4px; background: #f8f9fa; color: #333; font-family: monospace; white-space: pre-wrap; }
.editor_content blockquote { margin: 1.5em 0; padding: 1em 1.5em; border-left: 4px solid #ddd; background-color: #f9f9f9; color: #555; }
.editor_content address { margin-bottom: 1em; color: #666; font-style: normal; }
.editor_content ul { display: block; margin: 1em 0; padding-left: 40px; list-style-type: disc !important; }
.editor_content ol { display: block; margin: 1em 0; padding-left: 40px; list-style-type: decimal !important; }
.editor_content li { display: list-item; margin-bottom: 0.3em; list-style: inherit !important; }
.editor_content dl { margin: 1em 0; }
.editor_content dt { margin-top: 1em; font-weight: 700; }
.editor_content dd { margin-left: 20px; color: #555; }
.editor_content a { color: #007bff; text-decoration: underline; word-break: break-all; cursor: pointer; }
.editor_content a:hover { color: #0056b3; }
.editor_content table { width: 100%; max-width: 100%; margin: 1.5em 0; border: 1px solid #ccc; border-collapse: collapse; border-spacing: 0; table-layout: fixed; }
.editor_content th,
.editor_content td { padding: 8px 12px; border: 1px solid #ccc; vertical-align: middle; }
.editor_content th { background-color: #f2f2f2; font-weight: 700; text-align: center; }
.editor_content img { max-width: 100%; height: auto !important; vertical-align: top; }
.editor_content .image { display: table; margin: 1.5em auto; /* 기본 가운데 정렬 */ clear: both; text-align: center; }
.editor_content .image img { display: block; margin: 0 auto; }
.editor_content .image > figcaption { display: table-caption; margin-top: 5px; padding: 0.6em; background-color: #f7f7f7; color: #777; font-size: 0.85em; text-align: center; word-break: break-word; caption-side: bottom; }
.editor_content .image-style-side,
.editor_content .image-style-align-left { max-width: 50%; margin-right: 1.5em; margin-bottom: 1em; float: left; }
.editor_content .image-style-align-right { max-width: 50%; margin-bottom: 1em; margin-left: 1.5em; float: right; }
.editor_content .image-style-align-center { margin-right: auto; margin-left: auto; clear: both; }
.editor_content .media { display: block; position: relative; margin: 1.5em 0; clear: both; overflow: hidden; }
.editor_content .editor_table { overflow-x: auto; }

/* 웹접근성 */
*:focus-visible { outline: 2px dashed #000; outline-offset: 2px; transition: none !important; }
input:focus,
select:focus { outline: none !important; }
#skipNavi { z-index: 9999; position: fixed; top: 0; left: 0; white-space: nowrap; }
#skipNavi a { display: inline-block; position: absolute; top: -9999px; }
#skipNavi a:focus-visible { top: 0; padding: clamp(4px, 0.2604166667vw, 5px); background-color: #000; color: #fff; font-size: var(--font_size15); }

/* 공통 스크립트 */
.js_read_more .js_read_more_content { position: relative; max-height: clamp(68px, 4.4270833333vw, 85px); overflow: hidden; transition: max-height 0.5s ease; }
.js_read_more .js_read_more_content:before { position: absolute; bottom: 0; width: 100%; height: clamp(68px, 4.4270833333vw, 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 (min-width:1025px) {
	.cm_overview3.view_row .ovw3_list .swiper-wrapper .ovw3_item { display: grid; grid-template-columns: repeat(2, 1fr); width: 100% !important; gap: 4rem; }
	.cm_overview3.view_row .ovw3_list.swiper .ovw3_item .ovw3_box_wrap ~ .ovw3_box_wrap { margin-top: 0; }
}
@media screen and (max-width:1440px) {
	.cm_overview13 .ovw13_link { padding-top: 1.2rem; padding-bottom: 1.2rem; }
}
@media screen and (max-width:1200px) {
	.cm_board_list1 .mobile_none { display: none !important; }
	.cm_board_list1 { display: block; }
	.cm_board_list1 colgroup,
	.cm_board_list1 thead { display: none; }
	.cm_board_list1 tbody { display: block; }
	.cm_board_list1 .board1_list tr { display: flex; position: relative; flex-wrap: wrap; align-items: center; width: 100%; padding: 10px 5px; border-bottom: 1px solid #ddd; }
	.cm_board_list1 .board1_list tr:last-child { border-color: #ddd; }
	.cm_board_list1 .board1_list th,
	.cm_board_list1 .board1_list td { display: flex; position: relative; align-items: baseline; width: 100%; height: auto; padding: 5px 10px; border: 0 !important; text-align: left; }
	.cm_board_list1 .board1_list td:before { flex-shrink: 0; margin-right: 5px; content: attr(data-th) ":"; font-weight: bold; }
	.cm_board_list1 .subject { width: 100%; font-weight: bold; }
	.cm_board_list1 .subject:after,
	.cm_board_list1 td:last-child:after { display: none; }
	.cm_board_list1 .subject a { color: var(--primary); }
	.cm_board_list1 .board1_list tr.no_data { justify-content: center; height: 100px; }
	.cm_board_list1 .board1_list tr.no_data td:before { display: none; }
	.cm_board_list1 .board1_list tr.notice { background-color: #f9f6fc; }
	.cm_board_list1 .board1_list tr.notice td { background-color: transparent; }
	.cm_board_list1 .board1_list tr.notice .subject { font-weight: bold; }
	.cm_board_list1 .cm_nodata { width: 100%; }
	.cm_board_list1 .cm_nodata:before { display: none; }
	.cm_board_list1 .board1_list tbody tr:hover { background-color: transparent; }
	.cm_board_list1 .board1_list td.no_data { align-items: center; justify-content: center; text-align: center; }
	.data-th_none:before { display: none; }
	.cm_table1 .mobile_none { display: none !important; }
	.cm_table1 { display: block; }
	.cm_table1 colgroup,
	.cm_table1 thead { display: none; }
	.cm_table1 tbody { display: block; }
	.cm_table1 tr { display: flex; position: relative; flex-wrap: wrap; align-items: center; width: 100%; padding: 10px 5px; border-bottom: 1px solid #ddd; }
	.cm_table1 tr:last-child { border-color: #ddd; }
	.cm_table1 th,
	.cm_table1 td { display: flex; position: relative; align-items: baseline; width: 100%; height: auto; padding: 5px 10px; border: 0 !important; text-align: left; }
	.cm_table1 td:before { flex-shrink: 0; margin-right: 5px; content: attr(data-th) ":"; font-weight: bold; }
	.cm_table1 .subject { width: 100%; font-weight: bold; }
	.cm_table1 .subject:after,
	.cm_table1 td:last-child:after { display: none; }
	.cm_table1 .subject a { color: var(--primary); }
	.cm_table1 tr.no_data { justify-content: center; height: 100px; }
	.cm_table1 tr.no_data td:before { display: none; }
	.cm_table1 tr.notice { background-color: #f9f6fc; }
	.cm_table1 tr.notice td { background-color: transparent; }
	.cm_table1 tr.notice .subject { font-weight: bold; }
	.cm_table1 .cm_nodata { width: 100%; }
	.cm_table1 .cm_nodata:before { display: none; }
	.cm_table1 tbody tr:hover { background-color: transparent; }
}
@media screen and (max-width:1024px) {
	.cm_overview1.type2 .ovw1_title { font-size: 2rem; }
	.cm_overview3 .ovw3_box_wrap { height: auto; }
	.cm_overview3.type2 .ovw3_dday { height: 3.2rem; font-size: 1.4rem; }
	.cm_overview7.type2 .ovw7_box { padding-right: 100px; }
	.cm_overview7 .ovw7_btn { height: auto; padding-top: 7px; padding-bottom: 7px; line-height: 1.3; }
	.cm_overview7 .ovw7_btn br { display: block; }
	.cm_overview7 .ovw7_btn .cm_icon:before { display: none; }
	.cm_overview8 .ovw8_list > li { width: calc((100% - clamp(15px, 1.4583333333vw, 28px)) / 2); }
	.cm_overview10 .ovw10_date .cm_text_list1 { flex-direction: column; }
	.cm_overview10 .ovw10_date .cm_text_list1 > li:before { display: none; }
	.cm_search3 .search_left,
	.cm_search3 .search_right { width: 100%; padding: 0; }
	.cm_search3 .search_left { display: none; }
	.cm_search3 .filter_section.region { display: flex; }
	.cm_search4 .search_input_area { flex-direction: column; }
	.cm_search4 .search_input_area .search_btn { background-size: 1.8rem; }
	.cm_search4 .search_input_area .btns { justify-content: end; width: 100%; max-width: 504px; margin-right: auto; margin-left: auto; }
	.cm_search4 .search_input_area .detail_search_btn { flex: 1 1 auto; min-width: 0; }
	.cm_search4 .search_input_area .reset_btn { width: 60px; }
	.cm_search4 .search_check_area .cm_form_group .form_row { width: 100%; }
	.cm_search4 .search_check_area .cm_form_group select.form_control { width: 100%; }
}
@media screen and (max-width:1023px) {
	.cm_overview14 .ovw14_list:before { width: 1px; background-size: 1px 6px; }
	.cm_overview14 .ovw14_box { flex-direction: column; align-items: stretch; gap: 10px; }
	.cm_overview14 .ovw14_title_wrap { justify-content: center; }

	/* 메인 팝업 */
	.modal_notice.cm_modal .notice_swiper .swiper-slide { width: calc((100% - 2rem) / 2) !important; }
	.editor_content { font-size: 14px; line-height: 1.5; }
	.editor_content h1 { font-size: 1.6em; }
	.editor_content h2 { font-size: 1.4em; }
	.editor_content h3 { font-size: 1.2em; }
	.editor_content ul,
	.editor_content ol { padding-left: 24px; }
	.editor_content .image-style-side,
	.editor_content .image-style-align-left,
	.editor_content .image-style-align-right { max-width: 100%; margin: 1em auto; float: none; }
}
@media screen and (max-width:767px) {

	/* 메인 팝업 */
	.modal_notice.cm_modal .notice_swiper .swiper-btn-wrap { gap: 1rem; }
	.modal_notice.cm_modal .notice_swiper .swiper-btn-wrap .swiper_ctrl { gap: 1rem; }
	.modal_notice.cm_modal .notice_swiper .swiper-btn-wrap .swiper_ctrl:before,
	.modal_notice.cm_modal .notice_swiper .swiper-btn-wrap .swiper_ctrl:after { display: none; }
	.modal_notice.cm_modal .notice_swiper .swiper-btn-wrap .swiper_ctrl .btn_close:after { display: none; }
	.modal_notice.cm_modal .modal_bg { background-color: rgb(0, 0, 0); }
	.cm_search4 .search_check_area .cm_form_group { gap: 28px; }
	.cm_search4 .search_check_area .cm_form_group .form_row { flex-direction: column; align-items: start; gap: 16px; }
}
@media screen and (max-width:688px) {
	.cm_board_list2 .board2_list > li { width: calc((100% - clamp(15px, 2.0833333333vw, 40px)) / 2); }
	.cm_board_list3 .board3_box { flex-direction: column; gap: 15px; }
	.cm_board_list3 .board3_thumb { width: 100%; }
	.cm_board_list3 .board3_content { width: 100%; }
	.cm_board_view1 .board1_title { flex-direction: column; align-items: self-start; gap: 8px; }
	.cm_form_group .form_row { flex-direction: column; }
	.cm_form_group .form_group.col_2 { max-width: none; }
	.cm_form_group .address_group { max-width: none; }
	.cm_overview1 .ovw1_box { flex-direction: column; }
	.cm_overview1 .ovw1_thumb { width: 100%; }
	.cm_overview1 .ovw1_content { width: 100%; }
	.cm_overview1 .ovw1_top_meta { flex-direction: column-reverse; align-items: flex-start; }
	.cm_overview1 .ovw1_dday { position: absolute; top: 30px; right: 30px; }
	.cm_overview1.type2 .ovw1_content { gap: 20px; }
	.cm_overview1.type2 .ovw1_title { font-size: 17px; }
	.cm_overview1.type2 .ovw1_bottom .cm_dl1 { flex-direction: column; gap: 4px; }
	.cm_overview1.type2 .ovw1_bottom .cm_dl1 dl { font-size: 14px; }
	.cm_overview2 .ovw2_top { flex-direction: column-reverse; }
	.cm_overview2 .ovw2_apply_btn { position: static; width: 100%; text-align: right; }
	.cm_overview2 .ovw2_dday { width: auto; height: auto; padding: 2px 8px; font-size: 13px; }
	.cm_overview3 .ovw3_list > li { width: 100%; }
	.cm_overview4 .ovw4_list:before { display: none; }
	.cm_overview4 .ovw4_list > li { flex: none; width: calc((100% - clamp(10px, 1.6666666667vw, 32px) * 2) / 3); }
	.cm_overview4 .ovw4_box { padding-top: 20px; }
	.cm_overview5 .ovw5_list > li { width: 100%; }
	.cm_overview6 .ovw6_box { flex-direction: column; align-items: stretch; }
	.cm_overview6 .ovw6_right { text-align: right; }
	.cm_overview8 .ovw8_list > li { width: 100%; }
	.cm_overview13 .ovw13_link { flex-direction: column; align-items: start; padding-right: 5.2rem; gap: 8px; background-position: right 2rem bottom 1.5rem; }
	.cm_overview13 .ovw13_link .cm_state { width: 6.5rem; height: 3.2rem; font-size: 13px; }
	.cm_paging2 .page_txt { font-size: 12px; }
	.cm_search1 .search_item { flex-wrap: wrap; }
	.cm_search1 .search_item_wrap { max-width: none; }
	.cm_search1 .search_select { width: 100%; }
	.cm_search2 .filter_section_wrap { flex-direction: column; }
	.cm_search2 .filter_row { flex-direction: column; }
	.cm_search2 .search_section_wrap { flex-wrap: wrap; width: 100%; }
	.cm_search2 .button_group { justify-content: flex-end; width: 100%; }
	.cm_search2 .filter_wrapper .cm_toolbar { flex-direction: column; }
	.cm_search2 .filter_wrapper .cm_toolbar .toolbar_item { width: 100%; }
	.cm_search2 .filter_select { width: 100%; }
	.cm_search2 .filter_select select { width: 100%; }
	.cm_search3 .filter_row { flex-direction: column; }
	.cm_search4 .search_input_area .search_item { flex-wrap: wrap; }
	.cm_search4 .search_input_area .search_select { width: 100%; }
	.cm_search4 .search_input_area .search_form_wrap { flex: 1 1 0; min-width: 0; }
	.cm_search4 .search_input_area .btns { max-width: 100%; }
	.cm_search4 .search_check_area .selects_row .form_group,
	.cm_search4 .search_check_area .selects_row .form_content { width: 100%; max-width: 260px; }
	.cm_step { max-width: none; }
	.cm_survey .survey_title { flex-direction: column; }
	.cm_swiper { max-width: none; }
	.cm_swiper .swiper-slide { width: 100% !important; }
	.cm_swiper .swiper-button-prev { left: 10px; }
	.cm_swiper .swiper-button-next { right: 10px; }
	.cm_dl1.col_2 dl { width: 100%; }
}
@media screen and (max-width:479px) {

	/* 메인 팝업 */
	.modal_notice.cm_modal .notice_swiper .swiper-slide { width: 60vw !important; }
}