@charset "utf-8";
@import url("font.css");
/* style reset */

body {overflow-y: auto; overflow-x: hidden; position: relative; margin: 0; width:100%; color: #000; font-size: 16px; font-family:'Pretendard', sans-serif; font-weight: 400; line-height: 26px; padding: 0 !important;}

.transparents-layer {display: none;}

button {transition:all 0.3s; -webkit-transition:all 0.3s; -moz-transition:all 0.3s; -o-transition:all 0.3s;}
.btn {padding: 0 30px; height: 42px; line-height: 40px; border-radius: 8px;}
.btn2 {padding: 0 20px; min-width: 110px; height: 45px; line-height: 43px; text-align: center; border-radius: 8px;}
.btn3 {display: inline-block; padding: 0 5px; min-width: 64px; height: 30px; line-height: 28px; font-size: 13px; text-align: center; border-radius: 8px;}
.btn4 {position: relative; width: 35px; height: 35px; line-height: 33px; border: 1px solid #ddd; border-radius: 8px;}
.btn4::after,
.btn4::before {content: ''; position: absolute; left: calc(50% - 6px); top: calc(50% - 1px); width: 12px; height: 2px; background-color: var(--color-active);}
.btn4.plus::after {transform: rotate(90deg);}
.btn5 {width: 180px; height: 60px; font-size: 22px; border-radius: 60px;}
.btn6 {display: inline-block; padding: 0 10px; min-width: 52px; height: 30px; line-height: 28px; font-size: 13px; font-weight: 500; text-align: center; border-radius: 5px;}
.btn7 {display: inline-block; padding: 0 10px; min-width: 50px; height: 35px; line-height: 33px; font-size: 14px; font-weight: 500; text-align: center; border-radius: 5px;}

.btn_search {}
.btn_search .icon {position: relative; display: block; transform-origin: left top; width: 22px; height: 22px;}
.btn_search .icon::after, .btn_search .icon::before {content: ''; position: absolute;}
.btn_search .icon::after {left: 0; top: 0; width: 13px; height: 13px; border: 2px solid #666; border-radius: 100%;}
.btn_search .icon::before {right: 0; bottom: 4px; width: 7px; height: 2px; background-color: #666; transform: rotate(45deg);}
.btn_close {}
.btn_close .icon {position: relative; display: block; width: 23px; height: 23px;}
.btn_close .icon::after, .btn_close .icon::before {content: ''; position: absolute; left: -2px; top: 10px; width: 27px; height: 2px; background-color: #222;}
.btn_close .icon::after {transform: rotate(45deg);}
.btn_close .icon::before {transform: rotate(-45deg);}
.btn_close2 {width: 21px; height: 21px; background: url('../../images/hmpg/icon_close.png') no-repeat center / 100%;}
.btn_more {}
.btn_more .icon {position: relative; display: inline-block; width: 10px; height: 10px;}
.btn_more .icon::after, .btn_more .icon::before {content: ''; position: absolute; left: 0; top: 50%; width: 100%; height: 2px; background-color: #666;} 
.btn_more .icon::before {transform: rotate(90deg);}
.btn_add {margin: 10px 0 0;}

.bg_gray {color: #fff; background-color: #4b4c51;}
.bg_pink {color: #fff; background-color: #dd2f4f;}
.bg_red {color: #fff; background-color: #f00000;}
.bg_brown {color: #fff; background-color: #a54601;}
.bg_black {color: #fff; background-color: #222;}
.bg_purple {color: #fff; background-color: #625aa5;}

.bg_white {color: #fff; border: 1px solid #999999; background-color: #999999;}
.bg_white2 {color: var(--color-active); border: 1px solid var(--color-active); background-color: #fff;}
.bg_white3 {color: #f00000; border: 1px solid #f00000; background-color: #fff;}
.bg_white4 {color: #fff; border: 1px solid var(--color-active); background-color: var(--color-active);}
.bg_white5 {color: #222; border: 1px solid #222; background-color: #fff;}
.bg_white6 {color: var(--color-active); border: 1px solid var(--color-active); background-color: #fff;}
.bg_white7 {color: #625aa5; border: 1px solid #625aa5; background-color: #fff;}
.bg_white8 {color: #15812a; border: 1px solid #15812a; background-color: #fff;}
.bg_white9 {color: #737373; border: 1px solid #727272; background-color: #fff;}

.color_gray {color: #4b4c51 !important;}
.color_gray2 {color: #666 !important;}
.color_pink {color: #dd2f4f !important;}
.color_red {color: #f00000 !important;}
.color_brown {color: #a54601 !important;}
.color_black {color: #222 !important;}
.color_blue {color: #0b6ae0 !important;}
.color_purple {color: #625aa5 !important;}
.color_green {color: #15812a !important;}

.f_b {font-weight: 600 !important;}
.f_m {font-weight: 500 !important;}
.f_n {font-weight: 400 !important;}
.p_r {position: relative !important;}

.hidden {padding: 0; margin: -1px; overflow: hidden; position: absolute; width: 1px; height: 1px; clip-path: inset(50%); border: 0; clip: rect(0 0 0 0);}
.w_flex_only {display: flex !important; display:-webkit-flex;}
.m_flex_only {display: none !important; display:-webkit-none;}
.w_hidden {display: none !important;}
.m_hidden {display: block !important;}

u {text-underline-position: under;}
.underline {border-bottom: 1px solid #666;}

.padding0 {padding: 0 !important;}
.margin0 {margin: 0 !important;}
.mt60 {margin-top:60px !important}
.mt50 {margin-top:50px !important}
.mt40 {margin-top:40px !important}
.mt30 {margin-top:30px !important}
.mt20 {margin-top:20px !important}
.mt15 {margin-top:15px !important}
.mt10 {margin-top:10px !important}
.mt5 {margin-top:5px !important}
.mb2 {margin-bottom:2px !important}
.mb5 {margin-bottom:5px !important}
.mb10 {margin-bottom:10px !important}
.mb15 {margin-bottom:15px !important}
.mb20 {margin-bottom:20px !important}
.mb25 {margin-bottom:25px !important}
.mb30 {margin-bottom:30px !important}
.mb35 {margin-bottom:35px !important}
.mb40 {margin-bottom:40px !important}
.mb50 {margin-bottom:50px !important}
.mb55 {margin-bottom:55px !important}
.mb60 {margin-bottom:60px !important}
.mb65 {margin-bottom:65px !important}
.mb80 {margin-bottom:80px !important}
.mb100 {margin-bottom:100px !important}
.mr5 {margin-right:5px !important}
.mr10 {margin-right:10px !important}
.mr15 {margin-right:15px !important}
.mr20 {margin-right:20px !important}
.mr25 {margin-right:25px !important}
.mr30 {margin-right:30px !important}
.mr35 {margin-right:35px !important}
.mr60 {margin-right:60px !important}
.ml5 {margin-left:5px !important}
.ml10 {margin-left:10px !important}
.ml20 {margin-left:20px !important}
.ml30 {margin-left:30px !important}
.pl10 {padding-left:10px !important}
.pl15 {padding-left:15px !important}
.pl20 {padding-left:20px !important}
.pl30 {padding-left:30px !important}
.pl40 {padding-left:40px !important}
.pl60 {padding-left:60px !important}
.pt10 {padding-top:10px !important}
.pt15 {padding-top:15px !important}
.pt20 {padding-top:20px !important}
.pt30 {padding-top:30px !important}
.pt33 {padding-top:33px !important}
.pt40 {padding-top:40px !important}
.pt50 {padding-top:50px !important}
.pb10 {padding-bottom:10px !important}
.pb40 {padding-bottom:40px !important}
.pr10 {padding-right: 10px !important}
.w50 {width: 50px !important;}
.w60 {width: 60px !important}
.w100 {width: 100px !important}
.w120 {width: 120px !important}
.w150 {width: 150px !important}
.w200 {width: 200px !important}
.w230 {width: 230px !important}
.w300 {width: 300px !important}
.w400 {width: 400px !important}
.w500 {width: 500px !important}
.w_25 {width: 25% !important}
.w_30 {width: 30% !important}
.w_35 {width: 35% !important}
.w_40 {width: 40% !important}
.w_45 {width: 45% !important}
.w_50 {width: 50% !important}
.w_60 {width: 60% !important}
.w_80 {width: 80% !important}
.w_100 {width: 100% !important}

.f_12 {font-size: 12px !important;} 
.f_13 {font-size: 13px !important;} 
.f_14 {font-size: 14px !important;} 
.f_18 {font-size: 18px !important;} 

.al {text-align: left !important;}
.ac {text-align: center!important;}
.ar {text-align: right!important;}
.vt {vertical-align: top!important;}
.vm {vertical-align: middle!important;}
.vb {vertical-align: bottom!important;}

.cl_bo {clear: both !important;}
.f_left {float: left !important;}
.f_right {float: right !important;}
.over_h {overflow: hidden !important;}
.wb_keep {word-break: keep-all !important;}

dl.skipnavi {position:relative;z-index: 500;}
dl.skipnavi dt {display:none}
dl.skipnavi dd a {position:absolute; left:0; top:-50px; font-size:0}
dl.skipnavi dd a:active, dl.skipnavi dd a:focus {display:block; left:0; top:0; z-index:51; width:400px; height:30px; padding-top:9px; text-align:center; background:#333; line-height:14px; text-decoration:none; color:#fff; font-size:12px; font-weight:bold}

/*서브공통*/
.board_title {margin: 30px 0 15px; display:flex; display:-webkit-flex;}
.board_title:first-child {margin-top: 0;}
.board_title h3 {display:flex; display:-webkit-flex; align-items: center; font-size: 20px; font-weight: 500; color: #000;}
.board_title h3 + a {margin-left: 10px;}
.board_title2 h3 {font-size: 26px;}
.board_text {margin: 0 0 15px; font-size: 15px; color: #666;}
.board_text a {margin-left: 10px; display: inline-block; width: 95px; height: 30px; line-height: 28px; font-size: 13px; text-align: center; border-radius: 5px;}
.program_title {margin: 30px 0 0; display:flex; display:-webkit-flex; align-items: center; font-size: 25px; color: #dd2f4f;}
.program_title span {margin-right: 10px; padding: 5px 15px; font-size: 15px; border-radius: 5px; background-color: #dd2f4f; color: #fff; }
.list_type > li {position: relative; padding-left: 10px;}
.list_type > li::after {content: ''; position: absolute; left: 0; top: 12px; width: 3px; height: 3px; background-color: #555;}
.num_list {counter-reset: num;}
.num_list > li {position: relative; padding-left: 22px;}
.num_list > li::before {content: counter(num); counter-increment: num 1; position: absolute; left: 0; top: 5px; width: 15px; height: 15px; font-size: 9px; line-height: 14px; text-align: center; border: 1px solid rgba(0, 0, 0, 0.5); border-radius: 100%;}
.num_list2 {padding-left: 17px;}
.num_list2 > li {list-style: decimal;}
.img_box {position: relative; text-align: center;}
.img_box img {max-width: 100%;}
.point_box span {position: relative; padding-left: 10px; display: inline-block;}
.point_box span::before {content: '*'; position: absolute; left: 0; top: 3px; color: #fd0000;}
.byte {font-size: 13px; text-align: right; color: #666;}

.d_area {margin: 0 auto; width: 1400px;}
.contentsarea {margin: 0 auto; position: relative; width: 1400px; display:flex; display:-webkit-flex;}
.contentsarea .cont_wrap {padding-top: 140px; width: 100%;}
.contentsarea .cont_wrap .contents {padding: 0 0 100px;}
.contentsarea.mypage {display:flex; display:-webkit-flex; justify-content: space-between;}
.contentsarea.mypage .cont_wrap {width: calc(100% - 320px);}
.contentsarea.mypage .lnb_wrap {padding-top: 140px;}
.contentsarea.mypage  .location_wrap .location {justify-content: right;}

/*상단타이틀*/
.location_wrap {margin: 10px 0 60px;}
.location_wrap .location {display:flex; display:-webkit-flex;}
.location_wrap .location li {position: relative; padding-right: 13px; margin-right: 13px; line-height: 15px;}
.location_wrap .location li:last-child {padding-right: 0; margin-right: 0;}
.location_wrap .location li::before {content: ''; position: absolute; right: -3px; top: calc(50% - 6px); width: 6px; height: 11px; background: url('../../images/hmpg/icon_location_arrow.png') no-repeat center / 100%;}
.location_wrap .location li:last-child::before {display: none;}
.location_wrap .location li a {font-size: 15px; line-height: 15px; color: #666;}
.location_wrap h3 {margin: 30px 0 0; line-height: 45px; font-size: 45px; font-weight: 600; text-align: center;}

/*마이페이지메뉴*/
.lnb_wrap {margin: 20px 0 0; width: 260px;}
.lnb_wrap > h2 {padding: 17px 0; text-align: center; border-radius: 10px; color: #fff; background-color: #dd2f4f;}
.lnb_wrap .lnb {overflow-y: auto; position: relative;}
.lnb_wrap .lnb > li {margin-bottom: 5px; position: relative; width: 100%;}
.lnb_wrap .lnb > li > a {padding: 0 20px; display: block; width: 100%; height: 50px; line-height: 50px; font-size: 16px; font-weight: 500; color: #555; border-bottom: 1px solid #ddd;}
.lnb_wrap .lnb > li.active > a {color: #dd2f4f; background: url('../../images/hmpg/icon_lnb_active.png') no-repeat right 20px center;}

/*탭*/
.tabmenu {z-index: 180; position: relative; margin-bottom: 50px;}
.tabmenu > button {display: none;}
.tabmenu .dropdown-menu {display: flex; display:-webkit-flex;}
.tabmenu .dropdown-menu li {width: 100%; background-color: #f3f5f8;}
.tabmenu .dropdown-menu li:first-child {border-radius: 46px 0 0 46px;}
.tabmenu .dropdown-menu li:last-child {border-radius: 0 46px 46px 0;}
.tabmenu .dropdown-menu li button {padding: 0 10px; width: 100%; height: 46px; font-size: 16px; font-weight: 500; border-radius: 46px; word-break: keep-all; color: #666;}
.tabmenu .dropdown-menu li button span {overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; max-height: 60px; -webkit-line-clamp: 3; line-height: 20px;}
.tabmenu .dropdown-menu li button[data-selected="selected"] {font-weight: 600; color: #fff; background-color: var(--color-active);}
.tab_area {margin-bottom: 45px; padding-bottom: 4px; display: flex; display:-webkit-flex; overflow-y: hidden; overflow-x: auto; width: 100%;}
.tab_area::-webkit-scrollbar {height: 10px; background-color: #f3f3f3;}
.tab_area::-webkit-scrollbar-track {background-color: transparent;}
.tab_area::-webkit-scrollbar-thumb{background-color: #ccc;}
.tab_area ul {margin: 0 auto; height: 70px; display: flex; display:-webkit-flex; align-items: flex-start; justify-content: flex-start;}
.tab_area ul li {height: 70px; line-height: 70px; flex: 1 1 auto; border-bottom: 1px solid #e5e4e7;}
.tab_area ul li a {padding: 0 50px; display: block; width: auto; min-width: 200px; font-size: 24px; font-weight: 500; text-align: center; color: #000; white-space: nowrap;}
.tab_area ul li.active {border-bottom: 3px solid #7c47b6;}
.tab_area ul li.active a {font-weight: 600; color: #7c47b6;}

/*멤버십*/
.membership_area .membership_txt {margin: 0 0 40px; font-size: 18px; font-weight: 300; text-align: center; color: #666;}
.membership_area > .button_box  {margin-top: 70px;}
.membership_area > .button_box button {margin-left: 20px; width: 180px; height: 60px; font-size: 22px; border-radius: 60px;}
/*로그인*/
.membership_area .login {margin: 0 auto; width: 100%; position: relative;}
.membership_area .login .write_box {margin: 0 auto; max-width: 500px; width: 100%;}
.membership_area .login .write_box .inp_area li {margin-bottom: 25px;}
.membership_area .login .write_box .inp_area li:last-child {margin-bottom: 0;}
.membership_area .login .write_box .inp_area li .tit {margin-bottom: 5px;}
.membership_area .login .write_box .inp_area li .inpbox {width: 100%; height: 60px;}
.membership_area .login .write_box .inp_area li .inpbox input.txt {padding: 0 25px;}
.membership_area .login .write_box .inp_area li .inpbox input.txt::placeholder {font-size: 15px; color: #b2b2b2;}
.membership_area .login .write_box .inp_area li .inpbox input.txt:focus {outline: 1px solid #000;}
.membership_area .login .write_box .check_box {margin-top: 15px;}
.membership_area .login .write_box .check_box input[type=checkbox] + label {color: #666;}
.membership_area .login .write_box .check_box input[type=checkbox] + label::before {border: 1px solid #dd2f4f;}
.membership_area .login .write_box .check_box input[type=checkbox] + label.on::before, 
.membership_area .login .write_box .check_box input[type=checkbox]:checked  + label::before {background-image: url('../../images/hmpg/icon_check_login.png');}
.membership_area .login .write_box .button_box {margin-top: 30px;}
.membership_area .login .write_box .button_box button {width: 100%; height: 65px; font-size: 18px; font-weight: 500; border-radius: 15px;}
.membership_area .login .write_box .find_area {margin-top: 25px; display: flex; display:-webkit-flex; justify-content: center; align-items: center;}
.membership_area .login .write_box .find_area li {position: relative; padding-right: 30px; margin-right: 30px;}
.membership_area .login .write_box .find_area li::after {content: ''; position: absolute; right: 0; top: calc(50% - 8px); width: 1px; height: 13px; background-color: #ddd;}
.membership_area .login .write_box .find_area li:last-child {padding-right: 0; margin-right: 0;}
.membership_area .login .write_box .find_area li:last-child::after {display: none;}
.membership_area .login .write_box .find_area li a {color: #000;}
/*아이디찾기 비밀번호찾기*/
.membership_area .membership_find {margin: 0 auto; max-width: 500px; width: 100%;}
.membership_area .membership_find ul {margin: 0 auto; max-width: 420px; display: flex; display:-webkit-flex; justify-content: space-between; gap: 20px;}
.membership_area .membership_find ul li {width: calc(50% - 10px); border-radius: 20px; border: 1px solid #ddd;}
.membership_area .membership_find ul li:hover {border-color: #dd2f4f;}
.membership_area .membership_find ul li a {padding: 40px 20px 25px; display: block; width: 100%; height: 100%;}
.membership_area .membership_find ul li a span {padding-top: 120px; display: block; font-size: 18px; text-align: center; color: #222;}
.membership_area .membership_find ul li:hover a span {color: #dd2f4f;}
.membership_area .membership_find ul li.phone a span {background: url('../../images/hmpg/icon_membership_find_phone.png') no-repeat center top 0px;}
.membership_area .membership_find ul li.ipin a span {background: url('../../images/hmpg/icon_membership_find_ipin.png') no-repeat center top 10px;}
.membership_area .membership_find .membership_find_txt {margin-top: 30px; line-height: 26px; font-size: 15px; text-align: center; color: #666;}
/*아이디찾기결과*/
.membership_area .membership_find_result {margin: 0 auto; max-width: 500px;}
.membership_area .membership_find_result .result_id {margin-bottom: 60px; height: 100px; line-height: 100px; font-size: 20px; font-weight: 500; text-align:center; background-color: #f9f9f9; color: #333;}
.membership_area .membership_find_result .result_id span {margin-left: 20px; color: #dd2f4f;}
.membership_area .button_box.result {margin: 60px auto 0; max-width: 380px;}
.membership_area .button_box.result button {margin-left: 20px; width: 100%; height: 60px; font-size: 22px; border-radius: 60px;}
/*비밀번호찾기*/
.membership_area .membership_inp {margin: 0 auto 80px; max-width: 500px; width: 100%;}
.membership_area .membership_inp .inp_form li {margin-bottom: 25px;}
.membership_area .membership_inp .inp_form li:last-child {margin-bottom: 0;}
.membership_area .membership_inp .inp_form li .tit {margin-bottom: 5px;}
.membership_area .membership_inp .inp_form li .inpbox {width: 100%; height: 60px;}
.membership_area .membership_inp .inp_form li .inpbox input.txt {padding: 0 25px;}
.membership_area .membership_inp .inp_form li .inpbox input.txt::placeholder {font-size: 15px; color: #b2b2b2;}
.membership_area .membership_inp .inp_form li .inpbox input.txt:focus {outline: 1px solid #000;}
/*비밀번호재설정*/
.membership_area .membership_inp .button_box {margin-top: 30px;}
.membership_area .membership_inp .button_box div {display: block;}
.membership_area .membership_inp .button_box button {margin: 0 0 10px; width: 100%; height: 65px; font-size: 18px; border-radius: 15px;}
.membership_area .membership_inp .button_box button:last-child {margin: 0;}
.membership_area .membership_txt2 {margin: 0 auto; max-width: 500px;}
.membership_area .membership_txt2 p.tit {margin-bottom: 15px; line-height: 16px; font-size: 16px; font-weight: 500;}
.membership_area .membership_txt2 p.txt {padding-left: 10px; position: relative; line-height: 26px; font-size: 15px; color: #666; word-break: keep-all;}
.membership_area .membership_txt2 p.txt::before {content: '-'; position: absolute; top: 0; left: 0;}

/*회원가입*/
.join_area {padding: 50px 0 0;}
.join_area .join_txt {margin: 0 0 40px; font-size: 18px; font-weight: 300; text-align: center; color: #666;}
.join_area .join_txt span {font-weight: 600; color: #000;}
.join_step {margin-bottom: 50px; display: flex; display:-webkit-flex; justify-content: center; gap: 15px;}
.join_step li {width: 80px; height: 80px; line-height: 80px; font-size: 18px; font-weight: 500; text-align: center; color: #222; border-radius: 80px; background-color: #eaecee;}
.join_step li .txt1 {display: none;}
.join_step li.complete {line-height: 72px; color: #dd2f4f; background-color: #fff; border: 4px solid #dd2f4f;} 
.join_step li.active {padding: 0 70px; line-height: 72px; width: auto; color: #dd2f4f; background-color: #fff; border: 4px solid #dd2f4f;}
.join_step li.active .txt1 {display: block;}
.join_step li.active .txt2 {display: none;}
.join_area > .button_box  {margin-top: 70px;}
.join_area > .button_box button {margin-left: 20px; width: 180px; height: 60px; font-size: 22px; border-radius: 60px;}
/*회원유형선택*/
.join_area .join_type {margin: 70px auto 100px; display: flex; display:-webkit-flex; justify-content: center; gap: 20px;}
.join_area .join_type li a {display: flex; display:-webkit-flex; justify-content: center; align-items: center; width: 175px; height: 140px; border-radius: 20px; border: 1px solid #ddd;}
.join_area .join_type li:hover a {box-shadow: 0px 10px 5px -2px #ddd; border-color: #dd2f4f; background-color: #dd2f4f;}
.join_area .join_type li a span {display: block; font-size: 20px; color: #666; transition:all 0.3s; -webkit-transition:all 0.3s; -moz-transition:all 0.3s; -o-transition:all 0.3s;}
.join_area .join_type li:hover a span {padding-top: 30px; color: #fff; background: url('../../images/hmpg/icon_join_type.png') no-repeat center 0;}
/*본인인증*/
.join_area .join_find {margin: 70px auto 0; max-width: 700px; width: 100%;}
.join_area .join_find ul {display: flex; display:-webkit-flex; justify-content: space-between; gap: 20px;}
.join_area .join_find ul li {width: calc(50% - 10px);}
.join_area .join_find ul li a {padding: 30px 10px; display: block; width: 100%; height: 250px; border-radius: 20px; border: 1px solid #ddd;}
.join_area .join_find ul li:hover a {border-color: #dd2f4f;}
.join_area .join_find ul li a span {margin-bottom: 10px; display: block; font-size: 18px; text-align: center;}
.join_area .join_find ul li:hover a span {color: #dd2f4f;}
.join_area .join_find ul li a p {line-height: 22px; font-size: 15px; text-align: center; color: #666;}
.join_area .join_find ul li.phone a {background: url('../../images/hmpg/icon_membership_find_phone.png') no-repeat center bottom 40px;}
.join_area .join_find ul li.ipin a {background: url('../../images/hmpg/icon_membership_find_ipin.png') no-repeat center bottom 47px;}
.join_area .join_find .join_find_txt {margin-top: 30px; line-height: 26px; font-size: 15px; text-align: center; color: #666;}
/*약관동의*/
.agree_area {margin-bottom: 40px;}
.agree_area .agree_title {margin-bottom: 20px;}
.agree_area .agree_title .check_box input[type=checkbox] + label {padding-left: 35px; line-height: 24px; font-size: 20px; font-weight: 500;}
.agree_area .agree_title .check_box input[type=checkbox] + label span {color: #d41926;}
.agree_area .agree_title .check_box input[type=checkbox] + label::before {content: ''; position: absolute; left: 0; top: calc(50% - 12px); width: 22px; height: 22px; border: 1px solid #ddd; border-radius: 24px; background-image: url('../../images/hmpg/icon_join_check.png');}
.agree_area .agree_title .check_box input[type=checkbox] + label.on::before, 
.agree_area .agree_title .check_box input[type=checkbox]:checked  + label::before {border-color: #dd2f4f; background-image: url('../../images/hmpg/icon_join_check_active.png');}
.agree_area .agree_text {margin: 10px 0 0 35px; font-size: 15px; color: #666;}
.agree_area .agree_box {overflow-y: auto; padding: 20px; max-height: 190px; border: 1px solid #ddd; border-top: 2px solid #222;}
.agree_area .agree_box::-webkit-scrollbar {width: 17px;}
.agree_area .agree_box::-webkit-scrollbar-thumb {background-color: #bfc7d0; border-radius: 17px; background-clip: padding-box; border: 5px solid transparent;}
.agree_area .agree_box::-webkit-scrollbar-track {background-color: transparent; border-radius: 17px;}
.agree_area .agree_box h4 {margin-bottom: 20px; font-size: 20px;}
.agree_area .agree_box h5 {margin-bottom: 10px; font-size: 16px;}
/*가입완료*/
.join_area .join_txt.finish {margin: 100px 0;}
/*기존회원안내*/
.join_area .exist_id {margin: 0 auto; max-width: 500px; height: 100px; line-height: 100px; font-size: 20px; font-weight: 500; text-align:center; background-color: #f9f9f9; color: #333;}
.join_area .exist_id span {margin-left: 20px; color: #dd2f4f;}
/*비밀번호변경권장*/
.membership_area .membership_tit {margin-bottom: 30px; line-height: 35px; font-size: 30px; text-align: center;}
.membership_area .membership_tit span {color: #dd2f4f;}
/*회원가입완료*/
.membership_area .join_complete {margin: 60px auto 0; padding: 20px 50px; max-width: 500px; line-height: 20px; font-size: 20px; font-weight: 500; background-color: #f9f9f9; color: #333;}
.membership_area .join_complete p {margin: 15px 0; display: flex; display:-webkit-flex; flex-wrap: wrap;}
.membership_area .join_complete p span:first-child {width: 100px;}
.membership_area .join_complete p span:last-child {margin-left: 20px; width: calc(100% - 120px); color: #dd2f4f; word-break: break-all;}

/*저작권정책*/
.sr-only {position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0;}
.privacy .box {padding: 30px 50px; margin-bottom: 30px; line-height: 26px; background-color: #625aa5; color: #fff; border-radius: 10px;}
.privacy .text {padding: 0 50px;}
.privacy .wrap {padding: 0 50px;}
.privacy .list {margin: 50px 0; display: flex; display:-webkit-flex; justify-content: center; flex-wrap: wrap; gap: 40px;}
.privacy .list > li {max-width: 100%; width: 550px; border-radius: 10px; border: 1px solid #ddd;}
.privacy .list > li .tit {display: block; width: 100%; height: 50px; line-height: 50px; text-align: center; border-radius: 10px 10px 0 0; color: #fff; background-color: #3c4d7e;}
.privacy .list > li > ul {padding: 35px 20px 35px 270px;}
.privacy .list > li:nth-child(1) > ul {background: url('../../images/hmpg/img_privacy1.png') no-repeat 30px center;}
.privacy .list > li:nth-child(2) > ul {background: url('../../images/hmpg/img_privacy2.png') no-repeat 30px center;}
.privacy .list > li:nth-child(3) > ul {background: url('../../images/hmpg/img_privacy3.png') no-repeat 30px center;}
.privacy .list > li:nth-child(4) > ul {background: url('../../images/hmpg/img_privacy4.png') no-repeat 30px center;}
.privacy-wrap {line-height: 32px; color: #666;}
.privacy-wrap h4 {font-size: 20px; margin: 40px 0 20px; color: #333;}
.privacy-wrap h5 {font-size: 18px; margin: 20px 0 10px; color: #333;}

/*개인정보처리방침*/
.listtype-other {margin-left: 20px;}
.listtype-other > li {word-break: keep-all;}
.listtype-other > li > span {margin-left: -20px;}
.listtype-dot > li {padding-left: 10px; position: relative;}
.listtype-dot > li::before {content: ''; position: absolute; left: 0; top: 14px; width: 3px; height: 3px; background-color: #555;}
.listtype-dot > li span {font-weight: 500; color: #333;}
.privacy2 {margin: 0 auto; max-width: 1000px; width: 100%; line-height: 24px; font-size: 15px;}
.privacy2 .privacy_box {padding: 30px 35px; margin-bottom: 50px; line-height: 26px; border-radius: 20px; border: 1px solid #000;}
.privacy2 .privacy_label {display: flex; display:-webkit-flex; flex-wrap: wrap; gap: 20px;}
.privacy2 .privacy_label li {width: calc(25% - 15px); border-radius: 20px; border: 1px solid #e5e4e7; background-color: #f1f3f6;}
.privacy2 .privacy_label li a {padding: 30px 0 20px; display: block; text-align: center; }
.privacy2 .privacy_label li a p {margin-top: 10px; font-size: 16px; font-weight: 500;}
.privacy2 .privacy_label li a img {width: auto; height: 60px;}
.privacy2 .privacy_index li {padding-left: 15px; position: relative; line-height: 24px; font-size: 15px; font-weight: 300;}
.privacy2 .privacy_index li::before {content: ''; position: absolute; top: 10px; left: 0; display: block; width: 4px; height: 4px; border-radius: 4px; background-color: #000;}
.privacy2 .privacy_index li a {color: #000;}
.privacy2 h4 {margin: 50px 0 20px; font-size: 24px; display: flex; display:-webkit-flex; align-items: center; gap: 15px;}
.privacy2 .gray_box {margin: 10px 0; padding: 15px 20px; background-color: #f1f3f6; border-radius: 10px;}

/*이용약관*/
article.rule {margin: 0 auto; max-width: 1000px; width: 100%; line-height: 24px; font-size: 15px;}
article.rule h4 {margin: 50px 0 20px; font-size: 24px;}

/*마이페이지*/
.enroll_step {margin: 50px 0 80px; display: flex; display:-webkit-flex; justify-content: center; gap: 25px;}
.enroll_step li {padding: 0 10px; position: relative; width: 230px; height: 80px; line-height: 60px; font-size: 18px; font-weight: 500; text-align: center; color: #666; border-radius: 80px; border: 10px solid #e0e0e0;}
.enroll_step li::after {content: ''; display: block; position: absolute; top: calc(50% - 15px); right: -22px; width: 0; height: 0; border-top: 15px solid transparent; border-left: 20px solid #e0e0e0; border-right: 15px solid none; border-bottom: 15px solid transparent;}
.enroll_step li:last-child:after {display: none;}
.enroll_step li .txt1 {display: flex; display:-webkit-flex; align-items: center; gap: 10px;}
.enroll_step li .txt1 span {width: 40px; height: 40px; line-height: 40px; font-weight: 600; border-radius: 40px; background-color: #e0e0e0; color: #666;}
.enroll_step li .txt2 {display: none;}
.enroll_step li.active {border: 10px solid #b7ce02; color: #222;}
.enroll_step li.active::after {border-left: 20px solid #b7ce02;}
.enroll_step li.active .txt1 span {background-color: #b7ce02; color: #fff;}
.enroll_type {display: flex; display:-webkit-flex; justify-content: center; gap: 40px;}
.enroll_type li {border-radius: 20px; border: 1px solid #dd2f4f;}
.enroll_type li a {padding: 35px 0 0; display: block; width: 370px; height: 320px; text-align: center; border-radius: 18px; border: 3px solid #fff;}
.enroll_type li:hover a {border: 3px solid #dd2f4f;}
.enroll_type li.type1 a {background: url('../../images/hmpg/icon_enroll_type1.png') no-repeat center bottom 35px;}
.enroll_type li.type2 a {background: url('../../images/hmpg/icon_enroll_type2.png') no-repeat center bottom 40px;}
.enroll_type li a span {font-size: 22px; font-weight: 600; color: #dd2f4f;}
.enroll_type li a p {margin: 10px 0 0; line-height: 22px; font-size: 15px; color: #666;}
.enroll_box {padding: 30px; text-align: center; background-color: #f9f9f9;}
.enroll_box p {line-height: 32px; font-size: 20px;}
.enroll_box p .txt1 {font-weight: 600; color: #dd2f4f;}
.enroll_box p .txt2 {font-weight: 600;}
.state_wrap {margin-bottom: 50px; display: flex; display:-webkit-flex; justify-content: center; align-items: center; gap: 30px;}
.state_wrap .tit {padding: 0 35px; min-width: 120px; height: 44px; line-height: 44px; font-size: 18px; font-weight: 500; border-radius: 44px; color: #0a8823; background-color: #f3f4f8;}
.state_wrap .state_list {display: flex; display:-webkit-flex; align-items: center; flex-wrap: wrap;}
.state_wrap .state_list li {margin-right: 20px; padding-right: 20px; position: relative; color: #666;}
.state_wrap .state_list li::after {content: ''; display: block; position: absolute; top: calc(50% - 8px); right: 0; width: 1px; height: 15px; background-color: #ddd;}
.state_wrap .state_list li:last-child {margin-right: 0; padding-right: 0;}
.state_wrap .state_list li:last-child:after {display: none;}
.tab_btn {margin-bottom: 15px; display: flex; display:-webkit-flex; gap: 10px;}
.tab_btn li a {padding: 0 20px; display: block; height: 35px; line-height: 35px; font-size: 15px; border-radius: 35px; background-color: #f4f5f9; color: #555;}
.tab_btn li.active a {background-color: #3a3e47; color: #fff;}
.matching_process {padding: 30px; text-align: center; border-radius: 10px; border: 1px solid #ddd;}
.matching_process > p {margin-bottom: 25px; font-size: 20px;}
.matching_process > p span {color: #dd2f4f;}
.matching_process ul {display: flex; display:-webkit-flex; justify-content: center; gap: 20px;}
.matching_process ul li {position: relative; width: 154px;}
.matching_process ul li::before {content: ''; display: block; position: absolute; top: 50px; left: 50%; width: 1px; height: 20px; background-color: #625aa5;}
.matching_process ul li::after {content: ''; display: block; position: absolute; top: 25px; right: -20px; width: 20px; height: 1px; background-color: #625aa5;}
.matching_process ul li:last-child::after {display: none;}
.matching_process ul li span {margin-bottom: 20px; display: block; width: 100%; height: 50px; line-height: 46px; text-align: center; color: #625aa5; border-radius: 50px; border: 2px solid #625aa5;}
.matching_process ul li span:last-child {margin-bottom: 0;}
.matching_process ul li span.active {border-color: #dd2f4f; color: #dd2f4f;}

/*늘봄신청하기*/
/*목록*/
/*상세*/
.program_detail {position: relative; display: flex; display:-webkit-flex; gap: 50px;}
.program_detail .img_wrap {overflow: hidden; width: 355px; height: 240px; border-radius: 20px; background-repeat: no-repeat; background-position: center; background-size: cover;}
.program_detail .img_wrap.type1 {background-image: url('../../images/hmpg/img_program_detail_type1.png');} /*체육*/
.program_detail .img_wrap.type2 {background-image: url('../../images/hmpg/img_program_detail_type2.png');} /*문화/예술*/
.program_detail .img_wrap.type3 {background-image: url('../../images/hmpg/img_program_detail_type3.png');} /*인문/사회*/
.program_detail .img_wrap.type4 {background-image: url('../../images/hmpg/img_program_detail_type4.png');} /*창의/과학*/
.program_detail .img_wrap.type5 {background-image: url('../../images/hmpg/img_program_detail_type5.png');} /*기후/환경*/
.program_detail .img_wrap.type6 {background-image: url('../../images/hmpg/img_program_detail_type6.png');} /*학교적응/정서*/
.program_detail .img_wrap.type7 {background-image: url('../../images/hmpg/img_program_detail_type7.png');} /*교과교육*/
.program_detail .img_wrap.type8 {background-image: url('../../images/hmpg/img_program_detail_type8.png');} /*기타*/
.program_detail .img_wrap .state {margin: 10px; display: inline-block; width: 78px; height: 32px; line-height: 32px; font-size: 15px; font-weight: 500; text-align: center; border-radius: 32px;}
.program_detail .img_wrap .state.state1 {color: #fff; background-color: #dd2f50;}
.program_detail .img_wrap .state.state2 {color: #fff; background-color: #625aa5;}
.program_detail .txt_wrap {width: calc(100% - 405px); display: flex; display:-webkit-flex; flex-direction: column; justify-content: space-between;}
.program_detail .txt_wrap h3 {line-height: 26px; font-size: 26px; font-weight: 600;}
.program_detail .txt_wrap .keyword {margin-top: 15px;}
.program_detail .txt_wrap .keyword span {margin-right: 5px; font-size: 15px; color: #625aa5;}
.program_detail .txt_wrap dl {margin-bottom: 5px; display: flex; display:-webkit-flex; align-items: center; gap: 10px;}
.program_detail .txt_wrap dl:last-child {margin-bottom: 10px;}
.program_detail .txt_wrap dl dt {width: 100px; height: 32px; line-height: 30px; font-size: 15px; text-align: center; color: #625aa5; border-radius: 5px; border: 1px solid #625aa5;}
.program_detail .txt_wrap dl dd {font-size: 16px; color: #666;}
.program_detail .txt_wrap dl dd span {margin-right: 15px;}
.program_detail .button_wrap {position: absolute; top: 0; right: 0; width: 100px;}
.program_detail .button_wrap button {width: 100px; height: 32px; font-size: 15px; text-align: center; color: #fff; border-radius: 10px; background-color: #dd2f50;}
.program_detail .button_wrap .btn_like {margin-top: 5px; padding-left: 30px; color: #666; border: 1px solid #c1c1c1; background: #fff url('../../images/hmpg/icon_like.png') no-repeat 23px center;}
.program_detail .button_wrap .btn_like.active {background: #fff url('../../images/hmpg/icon_like_active.png') no-repeat 23px center;}
.program_detail.apply .bottom {display: flex; display:-webkit-flex; flex-wrap: wrap;}
.program_detail.apply .txt_wrap dl {width: 50%;}
.program_detail.apply .txt_wrap dl:last-child {margin-bottom: 5px;}
.recruit_list {overflow-y: auto; padding: 0 30px; height: 190px; border-radius: 15px; border: 1px solid #ddd;}
.recruit_list::-webkit-scrollbar {width: 17px;}
.recruit_list::-webkit-scrollbar-thumb {background-color: #bfc7d0; border-radius: 17px; background-clip: padding-box; border: 5px solid transparent;}
.recruit_list::-webkit-scrollbar-track {background-color: transparent; border-radius: 17px;}
.recruit_list > ul {display: flex; display:-webkit-flex; align-items: center; flex-wrap: wrap;}
.recruit_list > ul > li {padding: 17px 0; width: 50%; display: flex; display:-webkit-flex; align-items: center; gap: 60px; border-bottom: 1px solid #ddd;}
.recruit_list > ul > li:nth-last-child(1) {border-bottom: 0;}
.recruit_list > ul > li:nth-last-child(2) {border-bottom: 0;}
.recruit_list > ul > li > .tit {font-weight: 500;}
.recruit_list > ul > li > .state {width: 42px; text-align: center; color: #666;}
.recruit_list > ul > li > ul {display: flex; display:-webkit-flex; align-items: center;}
.recruit_list > ul > li > ul li {position: relative; width: 80px; color: #666;}
.mouseover {position: relative;}
.mouseover a {padding-bottom: 3px; text-decoration: underline;}
.mouseover a:hover + .mouseover_box {display: block;}
.mouseover .mouseover_box {display: none; z-index: 1; padding: 10px 15px; overflow-y: auto; position: absolute; top: 40px; left: 10px; width: 180px; height: 250px; border-radius: 10px; border: 1px solid #dd2f50; background-color: #fff;}
.mouseover .mouseover_box::-webkit-scrollbar {width: 17px;}
.mouseover .mouseover_box::-webkit-scrollbar-thumb {background-color: #bfc7d0; border-radius: 17px; background-clip: padding-box; border: 5px solid transparent;}
.mouseover .mouseover_box::-webkit-scrollbar-track {background-color: transparent; border-radius: 17px;}
.mouseover .mouseover_box:hover {display: block;}
.mouseover .mouseover_box p {font-size: 14px;}

/*늘봄이야기*/
.intro_box {padding-bottom: 100px;} 
.intro_box:last-child {padding-bottom: 0;} 
.intro_box h4 {margin-bottom: 50px; line-height: 34px; font-size: 34px; font-weight: 600;} 
.intro_box .text_wrap {margin-bottom: 70px; display: flex; gap: 90px;}
.intro_box .text_wrap h4 {width: 360px;}
.intro_box .text_wrap p {width: calc(100% - 450px); line-height: 36px; font-size: 24px; font-weight: 300; word-spacing: -1.2px;} 
.intro_box .text_wrap p strong {font-weight: 500;} 
/*1. 늘봄학교란 무엇인가요?*/
.intro_box .icon_list {display: flex; justify-content: center; align-items: center; gap: 50px; height: 400px; background: url(../../images/hmpg/bg_icon_list.png) no-repeat center / cover;} 
.intro_box .icon_list li {position: relative; align-content: center; width: 200px; height: 200px; line-height: 26px; font-size: 18px; text-align: center; border-radius: 50%; background-color: #fff;} 
.intro_box .icon_list li:nth-child(1) {border: 4px solid #f5c74f;}
.intro_box .icon_list li:nth-child(2) {border: 4px solid #ef966d;}
.intro_box .icon_list li:nth-child(3) {border: 4px solid #ea5975;}
.intro_box .icon_list li:nth-child(4) {border: 4px solid #d05bc1;}
.intro_box .icon_list li:nth-child(5) {border: 4px solid #d05bc1;}
.intro_box .icon_list li:nth-child(6) {border: 4px solid #625ba6;}
/*2. 늘봄학교는 왜 필요할까요?*/
.intro_box .intro_list {display: flex; flex-wrap: wrap; gap: 20px;} 
.intro_box .intro_list li {padding: 25px; flex: calc(50% - 20px); text-align: center; font-size: 18px; font-weight: 300; color: #333; border: 2px solid #ddd; border-radius: 20px;} 
.intro_box .intro_list li strong {font-weight: 500;} 
.intro_box .intro_list li.last {padding: 25px 15px 15px; border-color: #f5cdd4;}
.intro_box .intro_list li.last .box_wrap {margin-top: 10px; padding: 10px; border-radius: 10px; background-color: #fdf3f5;}
.intro_box .intro_list li.last .box_wrap .box {display: flex; flex-wrap: wrap; gap: 10px;}
.intro_box .intro_list li.last .box_wrap .box p {padding: 15px; flex: calc(50% - 10px); font-size: 16px; border-radius: 10px; background-color: #fff; border: 1px solid #f5cdd4;}
.intro_box .intro_list li.last .box_wrap span {margin-top: 10px; display: block; font-size: 14px;}
/*3. 무엇이달라지나요?*/
.intro_box table {border-collapse: separate; border-spacing: 10px 15px;} 
.intro_box table thead th.arrow {position: relative;}
.intro_box table thead th.arrow::after {content: ""; display: block; position: absolute; left: 50%; top: 50%; transform: translateY(-50%); width: 27px; height: 17px; background: url(../../images/hmpg/ico_change_arrow.png) no-repeat;} 
.intro_box table tbody th {padding: 30px; border: 2px solid #ddd;} 
.intro_box table tbody td {padding: 30px; border: 2px solid #ddd; text-align: center; border-radius: 15px;} 
.intro_box .change_list thead th {padding: 25px 0; text-align: center; font-size: 26px; border-radius: 76px;} 
.intro_box .change_list thead th.before {background: #e3e6ec;} 
.intro_box .change_list thead th.after {color: #fff; background: #dd2f4f;} 
.intro_box .change_list tbody th.name {align-content: center; min-width: 260px; font-size: 22px; font-weight: 500; text-align: center;  border-radius: 15px; border: 0; background: #f3f3f7;} 
.intro_box .change_list tbody td.before {color: #666;}
.intro_box .change_list tbody td.after {color: #333; border-color: #dd2f4f;}
.intro_box .change_list tbody td strong {display: block; font-size: 18px;}
.intro_box .change_list tbody td p {line-height: 26px; font-size: 16px; font-weight: 300;}
.intro_box .change_list tbody td.before p {margin-top: 10px;}
.intro_box .change_list tbody td.after p {margin-top: 5px;}
.intro_box .change_list tbody td.after p + strong {margin-top: 15px;}
/*4. 늘봄학교의비전및목표*/
.intro_box .vision {position: relative; padding: 0 20px; font-size: 26px; text-align: center;} 
.intro_box .vision .title {position: absolute; top: -20px; left: calc(50% - 60px); width: 120px; height: 40px; line-height: 36px; font-size: 18px; border-radius: 40px; color: #dd2f4f; border: 2px solid #dd2f4f; background-color: #fff;} 
.intro_box .vision.vision1 {padding: 20px 0; margin: 0 auto 130px; position: relative; width: 900px; line-height: 32px; font-size: 26px; border-radius: 120px; color: #fff; background: #dd2f4f;} 
.intro_box .vision.vision1::after {content: ""; position: absolute; left: calc(50% - 78px); bottom: -89px; width: 156px; height: 69px; background: url(../../images/hmpg/bg_vision.png) repeat;} 
.intro_box .vision.vision2 {padding: 20px 0; margin: 0 auto 70px; position: relative; width: 900px; line-height: 32px; border-radius: 120px; border: 2px solid #dd2f4f;  font-size: 26px; color: #dd2f4f;}
.intro_box .vision.vision3 {padding: 40px; display: flex; flex-direction: column; justify-content: center; align-items: center; border-radius: 15px; background: #f3f3f7;} 
.intro_box .vision.vision3 .flex-box {width: 100%; display: flex; gap: 40px;} 
.intro_box .vision.vision3 .flex-box .column {width: 100%;}
.intro_box .vision.vision3 .flex-box .column .text_area span {background: linear-gradient(90deg, #f5c450, #dd2f4f, #7366b5); padding: 0 30px; display: inline-block; height: 70px; line-height: 70px; font-size: 36px; font-weight: 700; border-radius: 70px; color: #fff; background-color: #000;} 
.intro_box .vision.vision3 .vision_list {width: 100%; display: flex; flex-direction: column; gap: 10px; margin-top: 20px;} 
.intro_box .vision.vision3 .vision_list li {padding: 25px 20px 20px; border-radius: 15px; border: 1px solid #ddd; background-color: #fff;} 
.intro_box .vision.vision3 .vision_list li strong {display: block; font-weight: 600; font-size: 20px; color: #333;} 
.intro_box .vision.vision3 .vision_list li p {margin-top: 10px; display: block; font-weight: 300; font-size: 16px; color: #666;} 
/*5. 늘봄학교추진과제*/
.sub_tit_box {margin-bottom: 20px; height: 56px; line-height: 56px; font-weight: 500; font-size: 20px !important; text-align: center; color: #473f94; background: #f8f7fe;} 
.propel_table + .sub_tit_box {margin-top: 60px;}
.propel_table {width: 100%;}
.propel_table table {width: 100%;}
.propel_table thead th .year {font-size: 22px; color: #dd2f4f;} 
.propel_table thead th .year::after {content: ""; display: block; width: 100%; height: 11px; margin: 10px 0; background: url(../../images/hmpg/ico_arrow_line.png) no-repeat center/contain;} 
.propel_table thead th .year + span {display: inline-block; width: 98px; height: 36px; line-height: 36px; font-size: 18px; font-weight: 500; border-radius: 36px; color: #fff; background-color: #dd2f4f;}
.propel_table table tbody th {font-size: 20px; font-weight: 500; color: #625ba6; border-radius: 15px; border-color: #625ba6;}
.propel_table table tbody td {font-size: 20px;}
.propel_table table tbody td span {font-size: 16px;}
.propel_table table tbody td.info {padding: 0; border: 0; font-size: 16px; text-align: left; color: #666;}
.propel_table table tbody td.line_pink {border-color: #dd2f4f;} 
.propel_table table tbody td.empty {border: 0;} 
.propel_table table tbody td.line_box {padding: 15px 20px; position: relative; line-height: 26px; font-size: 18px; font-weight: 500; border-radius: 80px; color: #fff; border: 0; background: #625ba6;}
.propel_table table tbody td.line_box::before {content: ""; position: absolute; top: -24px; left: 50%; display: inline-block; width: 17px; height: 20px; background: url(../../images/hmpg/ico_change_arrow2.png) no-repeat center/contain;}



@media screen and (max-width:1400px) {
    .d_area {padding: 0 20px; width: 100%;}
    .contentsarea {padding: 0 20px; width: 100%;}
    .contentsarea.d_area {padding: 0 20px;}
}
@media screen and (max-width:1024px) {
    body {font-size: 13px; line-height: 20px;}
    
    .btn {padding: 0 15px; height: 35px; line-height: 33px; border-radius: 5px;}
    .btn2 {padding: 0 15px; min-width: 110px; height: 35px; line-height: 33px; border-radius: 5px;}
    .btn3 {min-width: 64px; height: 30px; line-height: 28px; border-radius: 5px;}
    .btn4 {border-radius: 5px;}
    .btn5 {width: 160px; height: 45px; font-size: 16px; border-radius: 45px;}
    .btn6 {padding: 0 10px; min-width: 45px; height: 24px; line-height: 22px; font-size: 12px; border-radius: 3px;}
    .btn7 {padding: 0 10px; min-width: 45px; height: 30px; line-height: 28px; font-size: 13px; border-radius: 3px;}

    .w_flex_only {display: none !important; display:-webkit-none;}
    .m_flex_only {display: flex !important; display:-webkit-flex;}
    .w_hidden {display: block !important;}
    .m_hidden {display: none !important;}
    
    .board_title {margin-bottom: 10px;}
    .board_title h3 {font-size: 15px;}
    .board_title2 h3 {font-size: 18px;}
    .board_text {margin: 0 0 10px; line-height: 16px; font-size: 12px;}
    .board_text a {margin: 5px 0 0; width: 88px; height: 28px; line-height: 28px; font-size: 11px; border-radius: 3px;}
    .program_title {font-size: 18px;}
    .program_title span {margin-right: 5px; padding: 3px 10px; font-size: 13px; border-radius: 3px;}
    .list_type > li {padding-left: 7px;}
    .list_type > li::after {top: 9px; width: 2px; height: 2px;}
    .num_list > li {padding-left: 17px;}
    .num_list > li::before {top: 3px; width: 12px; height: 12px; font-size: 7px; line-height: 10px;}
    .num_list2 {padding-left: 15px;}
    .byte {margin: 3px 0 0; font-size: 11px;}

    .d_area {padding: 0 20px;}
    .contentsarea {padding: 0;}
    .contentsarea .cont_wrap {padding-top: 70px; width: 100%;}
    .contentsarea .cont_wrap .contents {padding: 0 20px 50px;}
    .contentsarea.mypage {display: block;}
    .contentsarea.mypage .cont_wrap {width: 100%;}
    .contentsarea.mypage .lnb_wrap {display: none;}
    .contentsarea.mypage  .location_wrap .location {justify-content: left;}

    /*상단타이틀*/
    .location_wrap {margin: 10px 20px 30px;}
    .location_wrap .location li {padding-right: 8px; margin-right: 8px; line-height: 12px;}
    .location_wrap .location li::before {right: -1px; top: calc(50% - 4px); width: 4px; height: 7px;}
    .location_wrap .location li a {font-size: 12px; line-height: 12px;}
    .location_wrap h3 {margin: 30px 0 0; line-height: 22px; font-size: 22px;}

    /*탭*/
    .tabmenu {margin-bottom: 20px;}
    .tabmenu button {text-align: left; font-size: 14px;}
    .tabmenu > button {position: relative; padding: 0 20px 0 10px; display: block; width: 100%; height: 40px; color: #fff; font-size: 14px; background-color: #393e46;}
    .tabmenu > button::after {content: ''; position: absolute; right: 10px; top: calc(50% - 2px); width: 0; height: 0; border-left: 4px solid transparent; border-right: 4px solid transparent; border-top: 5px solid #fff;}
    .tabmenu > button .dropdown-label {overflow: hidden; display: block; text-overflow: ellipsis; white-space: nowrap;}
    .tabmenu.open > button::after {transform: rotate(180deg);}
    .tabmenu .dropdown-menu {position: absolute; left: 0; top: 39px; display: none; display:-webkit-none; width: 100%; border-radius: 8px; border: 1px solid #ccc; background-color: #fff;}
    .tabmenu.open .dropdown-menu {display: block; display:-webkit-block;}
    .tabmenu .dropdown-menu li {margin-right: 0; border-bottom: 1px solid #ccc;}
    .tabmenu .dropdown-menu li:first-child {border-radius: 5px 5px 0 0;}
    .tabmenu .dropdown-menu li:last-child {border-radius: 0 0 5px 5px; border-bottom: 0;}
    .tabmenu .dropdown-menu li:first-child button {border-radius: 5px 5px 0 0;}
    .tabmenu .dropdown-menu li:last-child button {border-radius: 0 0 5px 5px;}
    .tabmenu .dropdown-menu li button {padding: 10px; font-size: 14px; height: auto !important; border-radius: 0;}
    .tabmenu .dropdown-menu li button span {display: block; max-height: initial; -webkit-line-clamp: initial; line-height: 18px;}
    .tabmenu .dropdown-menu li button[data-selected="selected"] {background-color: var(--color-active);}

    .tab_area {margin-bottom: 30px; padding-bottom: 3px;}
    .tab_area::-webkit-scrollbar {height: 5px;}
    .tab_area ul {height: 40px;}
    .tab_area ul li {height: 40px; line-height: 40px;}
    .tab_area ul li a {padding: 0 20px; min-width: 120px; font-size: 17px;}
    .tab_area ul li.active {border-bottom: 2px solid #7c47b6;}

    /*멤버십*/
    .membership_area .membership_txt {margin: 0 0 30px; font-size: 13px; word-break: keep-all;}
    .membership_area > .button_box {margin-top: 50px;}
    .membership_area > .button_box button {margin-left: 10px; width: 160px; height: 45px; font-size: 16px; border-radius: 45px;}
    /*로그인*/
    .membership_area .login .write_box .inp_area li {margin-bottom: 15px;}
    .membership_area .login .write_box .inp_area li:last-child {margin-bottom: 0;}
    .membership_area .login .write_box .inp_area li .tit {font-size: 15px;}
    .membership_area .login .write_box .inp_area li .inpbox {height: 40px;}
    .membership_area .login .write_box .inp_area li .inpbox input.txt {padding: 0 10px;}
    .membership_area .login .write_box .check_box {margin-top: 10px;}
    .membership_area .login .write_box .check_box input[type=checkbox] + label {line-height: 18px;}
    .membership_area .login .write_box .button_box {margin-top: 25px;}
    .membership_area .login .write_box .button_box button {height: 45px; font-size: 16px; border-radius: 8px;}
    .membership_area .login .write_box .find_area {margin-top: 25px;}
    .membership_area .login .write_box .find_area li {padding-right: 20px; margin-right: 20px;}
    .membership_area .login .write_box .find_area li::after {top: calc(50% - 5px); height: 10px;}
    /*아이디찾기 비밀번호찾기*/
    .membership_area .membership_find {max-width: 300px;}
    .membership_area .membership_find ul {max-width: 300px; gap: 15px;}
    .membership_area .membership_find ul li {width: calc(50% - 7.5px); border-radius: 10px;}
    .membership_area .membership_find ul li a {padding: 30px 10px 20px;}
    .membership_area .membership_find ul li a span {padding-top: 80px; font-size: 13px;}
    .membership_area .membership_find ul li.phone a span {background: url('../../images/hmpg/icon_membership_find_phone.png') no-repeat center top 0px / 38px auto;}
    .membership_area .membership_find ul li.ipin a span {background: url('../../images/hmpg/icon_membership_find_ipin.png') no-repeat center top 5px / 60px auto;}
    .membership_area .membership_find .membership_find_txt {margin-top: 25px; line-height: 16px; font-size: 11px;}
    /*아이디찾기결과*/
    .membership_area .membership_find_result .result_id {margin-bottom: 30px; height: 65px; line-height: 65px; font-size: 15px;}
    .membership_area .membership_find_result .result_id span {margin-left: 15px;}
    .membership_area .button_box.result {margin: 30px auto 0;}
    .membership_area .button_box.result button {margin-left: 12px; height: 45px; font-size: 16px; border-radius: 45px;}
    /*비밀번호찾기*/
    .membership_area .membership_inp {margin: 0 auto 30px;}
    .membership_area .membership_inp .inp_form li {margin-bottom: 15px;}
    .membership_area .membership_inp .inp_form li:last-child {margin-bottom: 0;}
    .membership_area .membership_inp .inp_form li .tit {font-size: 15px;}
    .membership_area .membership_inp .inp_form li .inpbox {height: 40px;}
    .membership_area .membership_inp .inp_form li .inpbox input.txt {padding: 0 10px;}
    /*비밀번호재설정*/
    .membership_area .membership_inp .button_box {margin-top: 25px;}
    .membership_area .membership_inp .button_box div {display: flex; display:-webkit-flex;}
    .membership_area .membership_inp .button_box button {margin: 0 10px 0 0; height: 45px; font-size: 16px; border-radius: 8px;}
    .membership_area .membership_inp .button_box button:last-child {margin: 0;}
    .membership_area .membership_txt2 p.tit {margin-bottom: 10px; line-height: 14px; font-size: 14px;}
    .membership_area .membership_txt2 p.txt {margin-bottom: 5px; padding-left: 10px; line-height: 20px; font-size: 13px;}

    /*회원가입*/
    .join_area {padding: 0;}
    .join_area .join_txt {margin: 0 0 30px; font-size: 13px; word-break: keep-all;}
    .join_step {margin-bottom: 50px; gap: 5px;}
    .join_step li {width: 45px; height: 45px; line-height: 45px; font-size: 12px; border-radius: 45px;}
    .join_step li.complete {line-height: 43px; border: 2px solid #dd2f4f;} 
    .join_step li.active {padding: 0; min-width: 110px; line-height: 43px; border: 2px solid #dd2f4f;}
    .join_area > .button_box {margin-top: 50px;}
    .join_area > .button_box button {margin-left: 10px; width: 160px; height: 45px; font-size: 16px; border-radius: 45px;}
    /*회원유형선택*/
    .join_area .join_type {margin: 50px auto; display: block;}
    .join_area .join_type li {margin-bottom: 10px;}
    .join_area .join_type li a {width: 100%; height: 70px; border-radius: 10px;}
    .join_area .join_type li:hover a {box-shadow: 0px 5px 3px -2px #ddd;}
    .join_area .join_type li a span {display: inline-block; transition: none;}
    .join_area .join_type li:hover a span {padding-top: 0; padding-left: 32px; background: url('../../images/hmpg/icon_join_type.png') no-repeat 0 center / 19px auto;}
    /*본인인증*/
    .join_area .join_find {margin: 35px auto 0; max-width: 320px;}
    .join_area .join_find ul {gap: 15px;}
    .join_area .join_find ul li {width: calc(50% - 7.5px);}
    .join_area .join_find ul li a {padding: 20px 10px; height: 180px; border-radius: 10px;}
    .join_area .join_find ul li a span {margin-bottom: 5px; font-size: 13px;}
    .join_area .join_find ul li a p {line-height: 16px; font-size: 11px;}
    .join_area .join_find ul li.phone a {background: url('../../images/hmpg/icon_membership_find_phone.png') no-repeat center bottom 24px / 38px auto;}
    .join_area .join_find ul li.ipin a {background: url('../../images/hmpg/icon_membership_find_ipin.png') no-repeat center bottom 30px / 60px auto;}
    .join_area .join_find .join_find_txt {margin-top: 25px; line-height: 16px; font-size: 11px;}
    /*약관동의*/
    .agree_area {margin-bottom: 30px;}
    .agree_area .agree_title {margin-bottom: 10px;}
    .agree_area .agree_title .check_box input[type=checkbox] + label {padding-left: 28px; line-height: 18px; font-size: 16px;}
    .agree_area .agree_title .check_box input[type=checkbox] + label::before {margin-top: 0; top: calc(50% - 9px); width: 16px; height: 16px; border-radius: 18px; background-image: url('../../images/hmpg/icon_join_check.png') / 11px auto;}
    .agree_area .agree_title .check_box input[type=checkbox] + label.on::before, 
    .agree_area .agree_title .check_box input[type=checkbox]:checked  + label::before {background-image: url('../../images/hmpg/icon_join_check_active.png') / 11px auto;}
    .agree_area .agree_text {margin: 5px 0 0 26px; font-size: 14px;}
    .agree_area .agree_box {padding: 15px; max-height: 135px;}
    .agree_area .agree_box::-webkit-scrollbar {width: 20px;}
    .agree_area .agree_box::-webkit-scrollbar-thumb {border-radius: 20px; border: 7px solid transparent;}
    .agree_area .agree_box::-webkit-scrollbar-track {border-radius: 20px;}
    .agree_area .agree_box h4 {margin-bottom: 10px; font-size: 17px;}
    .agree_area .agree_box h5 {margin-bottom: 5px; font-size: 15px;}
    /*가입완료*/
    .join_area .join_txt.finish {margin: 50px 0;}
    /*기존회원안내*/
    .join_area .exist_id {margin-bottom: 30px; height: 65px; line-height: 65px; font-size: 15px;}
    .join_area .exist_id span {margin-left: 15px;}
    /*비밀번호변경권장*/
    .membership_area .membership_tit {margin-bottom: 20px; line-height: 26px; font-size: 20px;}
    /*회원가입완료*/
    .membership_area .join_complete {margin: 30px auto 0; padding: 15px 30px; line-height: 15px; font-size: 15px;}
    .membership_area .join_complete p {margin: 10px 0;}
    .membership_area .join_complete p span:first-child {width: 72px;}
    .membership_area .join_complete p span:last-child {margin-left: 15px; width: calc(100% - 87px);}

    /*저작권정책*/
    .privacy .box {padding: 20px; margin-bottom: 30px; line-height: 22px;}
    .privacy .text {padding: 0 20px;}
    .privacy .wrap {padding: 0 20px;}
    .privacy .list {margin: 35px 0; gap: 20px;}
    .privacy .list > li {width: 400px; border-radius: 5px;}
    .privacy .list > li .tit {height: 38px; line-height: 38px; border-radius: 5px 5px 0 0;}
    .privacy .list > li > ul {padding: 20px 20px 20px 200px;}
    .privacy .list > li:nth-child(1) > ul {background: url('../../images/hmpg/img_privacy1.png') no-repeat 20px center / auto 40px;}
    .privacy .list > li:nth-child(2) > ul {background: url('../../images/hmpg/img_privacy2.png') no-repeat 20px center  / auto 40px;}
    .privacy .list > li:nth-child(3) > ul {background: url('../../images/hmpg/img_privacy3.png') no-repeat 20px center  / auto 40px;}
    .privacy .list > li:nth-child(4) > ul {background: url('../../images/hmpg/img_privacy4.png') no-repeat 20px center  / auto 40px;}
    .privacy-wrap {line-height: 24px;}
    .privacy-wrap h4 {font-size: 16px; margin: 30px 0 10px;}
    .privacy-wrap h5 {font-size: 14px; margin: 15px 0 5px;}

    /*개인정보처리방침*/
    .listtype-dot > li {padding-left: 8px;}
    .listtype-dot > li::before {top: 11px; width: 2px; height: 2px;}
    .privacy2 {line-height: 18px; font-size: 12px;}
    .privacy2 .privacy_box {padding: 15px; margin-bottom: 30px; font-size: 13px; line-height: 19px; border-radius: 10px;}
    .privacy2 .privacy_label {gap: 10px;}
    .privacy2 .privacy_label li {width: calc(50% - 5px); border-radius: 10px;}
    .privacy2 .privacy_label li a {padding: 15px 0 10px; }
    .privacy2 .privacy_label li a p {font-size: 12px;}
    .privacy2 .privacy_label li a img {width: auto; height: 45px;}
    .privacy2 .privacy_index li {padding-left: 10px; line-height: 18px; font-size: 12px;}
    .privacy2 .privacy_index li::before {top: 7px; width: 3px; height: 3px; border-radius: 3px;}
    .privacy2 h4 {margin: 30px 0 10px; font-size: 16px; gap: 5px;}
    .privacy2 .tablebasic > table {padding: 0;}

    /*이용약관*/
    article.rule {line-height: 16px; font-size: 12px;}
    article.rule h4 {margin: 30px 0 10px; font-size: 16px;}

    /*마이페이지*/
    .enroll_step {margin: 0 0 40px; gap: 12px;}
    .enroll_step li {padding: 0 5px; position: relative; width: 45px; height: 45px; line-height: 35px; font-size: 12px; border-radius: 45px; border: 5px solid #e0e0e0;}
    .enroll_step li::after {top: calc(50% - 10px); right: -12px; border-top: 10px solid transparent; border-left: 10px solid #e0e0e0; border-right: 10px solid none; border-bottom: 10px solid transparent;}
    .enroll_step li .txt1 {display: none;}
    .enroll_step li .txt2 {display: block;}
    .enroll_step li.active {padding: 0 20px 0 5px; width: auto; border: 5px solid #b7ce02;}
    .enroll_step li.active .txt1 {display: flex; display:-webkit-flex; gap: 5px;}
    .enroll_step li.active .txt1 span {width: 25px; height: 25px; line-height: 25px; font-size: 12px; border-radius: 25px;}
    .enroll_step li.active .txt2 {display: none;}
    .enroll_step li.active::after {border-left: 10px solid #b7ce02;}
    .enroll_type {gap: 15px;}
    .enroll_type li {border-radius: 10px;}
    .enroll_type li a {padding: 15px 0 0; width: 150px; height: 180px; border-radius: 18px; border: 0;}
    .enroll_type li:hover a {border: 0;}
    .enroll_type li.type1 a {background: url('../../images/hmpg/icon_enroll_type1.png') no-repeat center bottom 13px / 60px auto;}
    .enroll_type li.type2 a {background: url('../../images/hmpg/icon_enroll_type2.png') no-repeat center bottom 10px / 105px auto;}
    .enroll_type li a span {font-size: 13px;}
    .enroll_type li a p {margin: 5px 0 0; line-height: 16px; font-size: 11px;}
    .enroll_box {padding: 20px;}
    .enroll_box p {line-height: 20px; font-size: 14px;}
    .state_wrap {margin-bottom: 30px; display: block; text-align: center;}
    .state_wrap .tit {margin: 0 0 20px; padding: 0 25px; display: inline-block; height: 34px; line-height: 34px; font-size: 14px; border-radius: 34px;}
    .state_wrap .state_list {justify-content: center;}
    .state_wrap .state_list li {margin-right: 15px; padding-right: 15px;}
    .state_wrap .state_list li::after {top: calc(50% -6px); height: 11px;}
    .tab_btn {margin-bottom: 10px; flex-wrap: wrap; gap: 5px;}
    .tab_btn li a {padding: 0 10px; height: 30px; line-height: 30px; font-size: 13px; border-radius: 30px;}
    .matching_process {padding: 20px 10px; border-radius: 5px;}
    .matching_process > p {margin-bottom: 25px; line-height: 22px; font-size: 15px; word-break: keep-all;}
    .matching_process ul {gap: 10px;}
    .matching_process ul li {width: 120px; max-width: calc(33.3333333333% - 6.666666666666667px);}
    .matching_process ul li::before {top: 40px; left: 50%; height: 10px;}
    .matching_process ul li::after {top: 20px; right: -10px; width: 10px;}
    .matching_process ul li span {margin-bottom: 10px; height: 40px; line-height: 36px; border-radius: 40px; letter-spacing: -1px;}

    /*늘봄신청하기*/
    /*목록*/
    /*상세*/
    .program_detail {gap: 30px;}
    .program_detail .img_wrap {border-radius: 10px;}
    .program_detail .img_wrap .state {margin: 10px; width: 60px; height: 26px; line-height: 26px; font-size: 11px; border-radius: 26px;}
    .program_detail .txt_wrap {padding: 10px 0; width: calc(100% - 385px);}
    .program_detail .txt_wrap h3 {line-height: 15px; font-size: 15px;}
    .program_detail .txt_wrap .keyword {margin-top: 15px;}
    .program_detail .txt_wrap .keyword span {font-size: 12px;}
    .program_detail .txt_wrap dl {margin-bottom: 5px; gap: 10px;}
    .program_detail .txt_wrap dl:last-child {margin-bottom: 0;}
    .program_detail .txt_wrap dl dt {width: 80px; height: 25px; line-height: 23px; font-size: 12px; border-radius: 2px;}
    .program_detail .txt_wrap dl dd {width: calc(100% - 90px); font-size: 13px;}
    .program_detail .txt_wrap dl dd span {margin-right: 10px;}
    .program_detail .button_wrap {width: 80px;}
    .program_detail .button_wrap button {width: 80px; height: 25px; font-size: 12px; border-radius: 5px;}
    .program_detail .button_wrap .btn_like {padding-left: 25px; background: #fff url('../../images/hmpg/icon_like.png') no-repeat 20px center / 15px auto;}
    .program_detail .button_wrap .btn_like.active {background: #fff url('../../images/hmpg/icon_like_active.png') no-repeat 20px center  / 15px auto;}
    .program_detail.apply .txt_wrap dl {width: 100%;}
    .recruit_list {padding: 0 20px; height: 140px; border-radius: 10px;}
    .recruit_list::-webkit-scrollbar {width: 20px;}
    .recruit_list::-webkit-scrollbar-thumb {border-radius: 20px; border: 7px solid transparent;}
    .recruit_list::-webkit-scrollbar-track {border-radius: 20px;}
    .recruit_list > ul > li {padding: 12px 0; gap: 30px;}
    .recruit_list > ul > li > .state {width: 34px;}
    .recruit_list > ul > li > ul li {width: 65px;}
    .mouseover a {padding-bottom: 0;}
    .mouseover .mouseover_box {top: 20px; left: 0; width: 160px; height: 215px; border-radius: 5px;}
    .mouseover .mouseover_box::-webkit-scrollbar {width: 20px;}
    .mouseover .mouseover_box::-webkit-scrollbar-thumb {border-radius: 20px; border: 7px solid transparent;}
    .mouseover .mouseover_box::-webkit-scrollbar-track {border-radius: 20px;}
    .mouseover .mouseover_box p {font-size: 12px;}

    /*늘봄이야기*/
    .intro_box {padding-bottom: 50px;} 
    .intro_box:last-child {padding-bottom: 0;} 
    .intro_box h4 {margin-bottom: 10px; line-height: 17px; font-size: 17px;} 
    .intro_box .text_wrap {margin-bottom: 20px; display: block;}
    .intro_box .text_wrap h4 {width: 100%;}
    .intro_box .text_wrap p {width: 100%; line-height: 22px; font-size: 14px; word-spacing: 0px;} 
    /*1. 늘봄학교란 무엇인가요?*/
    .intro_box .icon_list {display: block; height: auto; background: 0;} 
    .intro_box .icon_list li {margin-bottom: 5px; padding: 0 10px; width: 100%; height: 45px; line-height: 26px; font-size: 13px; text-align: left; border-radius: 10px;} 
    .intro_box .icon_list li:last-child {margin-bottom: 0;}
    .intro_box .icon_list li br {display: none;}
    .intro_box .icon_list li:nth-child(1) {border: 2px solid #f5c74f;}
    .intro_box .icon_list li:nth-child(2) {border: 2px solid #ef966d;}
    .intro_box .icon_list li:nth-child(3) {border: 2px solid #ea5975;}
    .intro_box .icon_list li:nth-child(4) {border: 2px solid #d05bc1;}
    .intro_box .icon_list li:nth-child(5) {border: 2px solid #d05bc1;}
    .intro_box .icon_list li:nth-child(6) {border: 2px solid #625ba6;}
    /*2. 늘봄학교는 왜 필요할까요?*/
    .intro_box .intro_list {gap: 10px;} 
    .intro_box .intro_list li {padding: 10px 15px; flex: calc(50% - 10px); line-height: 20px; font-size: 13px; border: 1px solid #ddd; border-radius: 10px;} 
    .intro_box .intro_list li.last {padding: 10px 5px 5px; border-color: #f5cdd4;}
    .intro_box .intro_list li.last .box_wrap {margin-top: 10px; padding: 5px; border-radius: 5px; background-color: #fdf3f5;}
    .intro_box .intro_list li.last .box_wrap .box {gap: 5px;}
    .intro_box .intro_list li.last .box_wrap .box p {padding: 10px; flex: 100%; font-size: 13px; border-radius: 5px;}
    .intro_box .intro_list li.last .box_wrap span {margin-top: 5px; font-size: 13px;}
    /*3. 무엇이달라지나요?*/
    .intro_box table {border-spacing: 10px 10px;} 
    .intro_box table thead th.arrow::after {transform: translateY(-50%); left: calc(50% - 7px); width: 13px; height: 8px; background: url(../../images/hmpg/ico_change_arrow.png) no-repeat center / 100% auto;} 
    .intro_box table tbody th {padding: 10px; border: 1px solid #ddd;} 
    .intro_box table tbody td {padding: 10px; border: 1px solid #ddd; border-radius: 10px;} 
    .intro_box .change_list thead th {padding: 10px 0; font-size: 13px; border-radius: 40px;} 
    .intro_box .change_list tbody th.name {padding: 0; min-width: 28px; font-size: 11px; background: 0;} 
    .intro_box .change_list tbody td strong {font-size: 13px;}
    .intro_box .change_list tbody td p {line-height: 17px; font-size: 11px; word-break: keep-all;}
    .intro_box .change_list tbody td.before p {margin-top: 10px;}
    .intro_box .change_list tbody td.after p {margin-top: 5px;}
    .intro_box .change_list tbody td.after p + strong {margin-top: 15px;}
    /*4. 늘봄학교의비전및목표*/
    .intro_box .vision {padding: 0 10px;} 
    .intro_box .vision .title {margin: 0 auto 10px; display: block; position: static; width: 80px; height: 30px; line-height: 28px; font-size: 14px; border-radius: 30px; border: 1px solid #dd2f4f;} 
    .intro_box .vision.vision1 {margin: 0 auto 50px; padding: 10px; width: 100%; line-height: 22px; font-size: 16px; border-radius: 10px; } 
    .intro_box .vision.vision1::after {left: calc(50% - 34px); bottom: -40px; width: 68px; height: 30px; background: url(../../images/hmpg/bg_vision.png) repeat center / 100% auto;} 
    .intro_box .vision.vision2 {margin: 0 auto 20px; padding: 10px; width: 100%; line-height: 22px; font-size: 16px; border-radius: 10px; border: 1px solid #dd2f4f;}
    .intro_box .vision.vision3 {padding: 10px; border-radius: 10px;} 
    .intro_box .vision.vision3 .flex-box {gap: 10px;} 
    .intro_box .vision.vision3 .flex-box .column .text_area span {padding: 0 15px; height: 40px; line-height: 40px; font-size: 18px; border-radius: 40px;} 
    .intro_box .vision.vision3 .vision_list {gap: 10px; margin-top: 10px;} 
    .intro_box .vision.vision3 .vision_list li {padding: 20px; border-radius: 10px;} 
    .intro_box .vision.vision3 .vision_list li strong {font-size: 14px;} 
    .intro_box .vision.vision3 .vision_list li p {margin-top: 10px;font-size: 12px;} 
    /*5. 늘봄학교추진과제*/
    .sub_tit_box {margin-bottom: 10px; height: 44px; line-height: 44px; font-size: 16px !important;} 
    .propel_table + .sub_tit_box {margin-top: 40px;}
    .propel_table thead th .year {font-size: 16px;} 
    .propel_table thead th .year::after {height: 11px; margin: 10px 0;} 
    .propel_table thead th .year + span {width: 65px; height: 28px; line-height: 28px; font-size: 14px; border-radius: 28px;}
    .propel_table table tbody th {font-size: 14px; border-radius: 0;}
    .propel_table table tbody td {font-size: 14px;}
    .intro_box .propel_table table tbody td {border-radius: 0;}
    .propel_table table tbody td span {font-size: 12px;}
    .propel_table table tbody td.info {font-size: 12px;}
    .propel_table table tbody td.line_box {padding: 5px 10px; line-height: 20px; font-size: 14px; border-radius: 20px;}
    .propel_table table tbody td.line_box::before {top: -17px; left: 50%; width: 10px; height: 12px;}
}
@media screen and (max-width:850px) {
    /*늘봄신청하기*/
    /*상세*/
    .program_detail {display: block;}
    .program_detail .img_wrap {width: 100%; height: 0; padding-bottom: 68%;}
    .program_detail .txt_wrap {padding: 25px 0 0; width: 100%;}
    .program_detail .txt_wrap .keyword {margin: 10px 0 20px;}
    .program_detail .button_wrap {margin-top: 20px; position: static; width: auto; text-align: center;}
    .program_detail .button_wrap .btn_like {margin: 0 5px 0 0;}
    .recruit_list > ul > li {width: 100%;}
    .recruit_list > ul > li:nth-last-child(2) {border-bottom: 1px solid #ddd;}
}
@media screen and (max-width:680px) {
    .agree_area .agree_box .tablebasic {overflow-x: auto;}
    .agree_area .agree_box .tablebasic table {width: 720px;}
}
@media screen and (max-width:480px) {
    /*저작권정책*/
    .privacy .list > li > ul {padding: 80px 20px 20px;}
    .privacy .list > li:nth-child(1) > ul {background: url('../../images/hmpg/img_privacy1.png') no-repeat center 25px / auto 40px;}
    .privacy .list > li:nth-child(2) > ul {background: url('../../images/hmpg/img_privacy2.png') no-repeat center 25px  / auto 40px;}
    .privacy .list > li:nth-child(3) > ul {background: url('../../images/hmpg/img_privacy3.png') no-repeat center 25px  / auto 40px;}
    .privacy .list > li:nth-child(4) > ul {background: url('../../images/hmpg/img_privacy4.png') no-repeat center 25px  / auto 40px;}
   
    /*개인정보처리방침*/
    .privacy2 .tablebasic {overflow-x: auto;}
    .privacy2 .tablebasic > table {padding: 0; width: 480px;}

    /*늘봄신청하기*/
    /*상세*/
    .recruit_list > ul > li {display: block;}
    .recruit_list > ul > li > .tit {display: block; width: 100%;}
    .recruit_list > ul > li > .state {margin: 5px 0; display: block; width: 100%; text-align: left;}
    .recruit_list > ul > li > ul li {margin-right: 20px; width: auto;}

    /*늘봄이야기*/
    .propel_table {overflow-x: auto;}
    .propel_table table {width: 550px;}
}

/* 시설 배너 스와이퍼 */
.saif_swiper {overflow: hidden;}
.saif_swiper .swiper-wrapper {}
.saif_swiper .swiper-slide {height: 100%; background: #f4f5f6 no-repeat center / 99px;}
.saif_swiper .swiper-slide img {width: 100%;}
.saif_swiper.mySwiper2 {border-radius: 20px;}
.saif_swiper.mySwiper2 .swiper-wrapper {}
.saif_swiper.mySwiper2 .swiper-slide {}
.saif_swiper.mySwiper2 .swiper-slide img {}
.saif_swiper.mySwiper {margin-top: 20px;}
.saif_swiper.mySwiper .swiper-wrapper {}
.saif_swiper.mySwiper .swiper-slide {cursor: pointer;}
.saif_swiper.mySwiper .swiper-slide,
.saif_swiper.mySwiper .swiper-slide button {overflow: hidden; border-radius: 12px;}
.saif_swiper.mySwiper .swiper-slide button {outline-offset: -1px;}

@media screen and (max-width:640px) {
    .saif_swiper.mySwiper {margin-top: 10px;}
    .saif_swiper.mySwiper .swiper-slide {background-size: 30px;}
    .saif_swiper.mySwiper .swiper-slide button {border-radius: 5px;}
}