@charset "utf-8";
@import url("font.css");
/* style reset */

html,body {font-size: 62.5%; line-height: 1.4;}
body {overflow-y: auto; overflow-x: hidden; position: relative; margin: 0; width:100%; color: #222; font-size: 1.5rem; font-family:'Pretendard', sans-serif; font-weight: 300; line-height: 26px; padding: 0 !important;}

.transparents-layer {display: none;}

.text_hidden {display: block; position: absolute; opacity: 0.001; width: 1px !important; height: 1px !important; overflow: hidden !important; text-decoration: -1000px !important;}
button {font-weight: 400; transition:all 0.3s; -webkit-transition:all 0.3s; -moz-transition:all 0.3s; -o-transition:all 0.3s;}
.btn {padding: 0 20px; height: 45px; line-height: 43px; border-radius: 80px;}
.btn2 {padding: 0 20px; min-width: 110px; height: 45px; line-height: 43px; text-align: center; border-radius: 80px;}
.btn3 {padding: 0 5px; min-width: 64px; height: 30px; line-height: 28px; font-size: 13px; text-align: center; border-radius: 80px; display: inline-block;}
.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: #4b4c51;}
.btn4.plus::after, .btn4.plus::before {background-color: #429573;}
.btn4.plus::after {transform: rotate(90deg);}
.btn5 {padding: 0 5px; min-width: 52px; height: 30px; line-height: 28px; font-size: 13px; text-align: center; border-radius: 80px;}
.btn6 {width: 200px; height: 45px; line-height: 43px; text-align: center; border-radius: 80px;}
.btn7 {padding: 0 10px; height: 35px; line-height: 33px; font-size: 14px; text-align: center; border-radius: 80px;}
.btn8 {width: 84px; height: 35px; margin-left: 10px;  border-radius: 8px; border: solid 1px hsl(155deg 39% 42% / 30%); background-color: #fff; color: #429573; font-weight: 500;}
.btn9 {width: 170px; height: 58px; border-radius: 50px; font-family: 'LeferiBase', 'Pretendard', 'Pretendard';  font-weight: 700;}
.btn10 {width: 130px; height: 50px; border-radius: 50px; font-family: 'LeferiBase', 'Pretendard';  font-weight: 700;}
.btn11 {padding: 0 5px; min-width: 100px; height: 30px; line-height: 28px; font-size: 13px; text-align: center; border-radius: 80px; display: inline-block;}
.btn_rd {display: inline-flex; align-items: center; justify-content: center; width: 180px; height: 56px; border-radius: 35px; font-family: 'LeferiBase', 'Pretendard'; font-size: 20px;  font-weight: 700;}

.btn_search {}
.btn_search .icon {position: relative; display: block; transform-origin: left top; width: 25px; height: 25px;}
.btn_search .icon::after, .btn_search .icon::before {content: ''; position: absolute;}
.btn_search .icon::after {left: 0; top: 0; width: 16px; height: 16px; border: 2px solid #000; border-radius: 100%;}
.btn_search .icon::before {right: 0; bottom: 4px; width: 10px; height: 2px; background-color: #000; transform: rotate(45deg);}
.btn_close {}
.btn_close .icon {position: relative; display: block; width: 25px; height: 25px;}
.btn_close .icon::after, .btn_close .icon::before {content: ''; position: absolute; left: -3px; top: 11px; width: 31px; 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: 13px; height: 13px;}
.btn_more .icon::after, .btn_more .icon::before {content: ''; position: absolute; left: 0; top: calc(50% - 1px); width: 100%; height: 1px; background-color: #222;} 
.btn_more .icon::before {transform: rotate(90deg);}
.btn_more2 {display: inline-block; width: 180px;height: 56px;font-size: 20px; font-weight: 700; text-align: center; color: #429573; font-family: 'LeferiBase', 'Pretendard';  border-radius: 80px; border-bottom-right-radius: 0; background-color: #fffae9;}

.bg_gray {color: #fff; background-color: #4b4c51;}
.bg_blue {color: #fff; background-color: #0b6ae0;}
.bg_green {color: #fff; background-color: #429573;}
.bg_blue2 {color: #fff; background-color: #0a50a1;}
.bg_red {color: #fff; background-color: #e7360d;}
.bg_yellow {background-color: #fffae9;}
.bg_green_line {color: #429573; border: 1px solid #429573;}
.bg_gray_line {color: #7f7f7f; border: 1px solid #7f7f7f;}

.bg_white {color: #4b4c51; border: 1px solid #4b4c51; background-color: #fff;}
.bg_white2 {color: #429573; border: 1px solid #429573; background-color: #fff;}
.bg_white3 {color: #429573; border: 1px solid #429573; background-color: #fff;}
.bg_white4 {color: #e7360d; border: 1px solid #e7360d; background-color: #fff;}
.bg_white5 {color: #222; border: 1px solid #222; background-color: #fff;}

.color_gray {color: #4b4c51 !important;}
.color_blue {color: #0b6ae0 !important;}
.color_blue2 {color: #0a50a1 !important;}
.color_red {color: #e7360d !important;}
.color_red2 {color: #e7360d !important;}
.color_black {color: #222 !important;}
.color_green {color: #429573 !important;}

.f_b {font-weight: 600 !important;}
.f_m {font-weight: 500 !important;}
.f_n {font-weight: 400 !important;}
.p_r {position: relative !important;}

.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;}

.ai_c {align-items: center;}
.flex {display: flex; display:-webkit-flex;}
.fw_wrap {flex-wrap: wrap;}
.flex1 {flex: 1 1 auto;}
.gap10 {gap: 10px;}

.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}
.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: 1.4rem; font-weight:bold;}

/*row_box*/
.row_box {--col : 12; --gap : 30px; display: flex;  flex-wrap: wrap; gap: 0; margin-right: calc(var(--gap) / -2); margin-left: calc(var(--gap) / -2);}
.row_box > [class*=col_] {width: calc( calc( 100% / var(--col)) * var(--col2)); flex: 0 1 auto; padding-left: calc(var(--gap) / 2); padding-right: calc(var(--gap) / 2);} 
.row_box > .col_1 {--col2: 1}
.row_box > .col_2 {--col2: 2}
.row_box > .col_3 {--col2: 3}
.row_box > .col_4 {--col2: 4}
.row_box > .col_5 {--col2: 5}
.row_box > .col_6 {--col2: 6}
.row_box > .col_7 {--col2: 7}
.row_box > .col_8 {--col2: 8}
.row_box > .col_9 {--col2: 9}
.row_box > .col_10 {--col2: 10}
.row_box > .col_11 {--col2: 11}
.row_box > .col_12 {--col2: 12}

/*서브공통*/
.board_title {margin: 30px 0 15px; display:flex; display:-webkit-flex; justify-content: space-between;}
.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; font-family: 'LeferiBase', 'Pretendard'; font-weight: 700;}
.board_title h3.dot {display: block; background: no-repeat url(../../images/hmpg/icon_dot.png) 10px 7px/10px 10px; padding-left: 30px;}
.board_title h3.dot * {text-indent: 0;}
.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;}
.num_list3 {counter-reset: num;}
.num_list3 > li {position: relative; padding-left: 20px;}
.num_list3 > li::before {content: counter(num) " )"; counter-increment: num 1; position: absolute; left: 0; width: 16px; font-size: 13px;}
.point_box span {position: relative; padding-left: 10px; display: inline-block;}
.point_box span::before {content: '*'; position: absolute; left: 0; top: 3px; color: #fd0000;}

.d_area {margin: 0 auto; width: 1130px;}
.contentsarea {padding: 80px 0 100px;}

/*텍스트박스*/
.membership_area .text_box {display: block; text-align: center; font-weight: 500; font-size: 20px; padding: 30px 10px; text-align: center; background-color: #fffae9; border-radius: 25px;}
.membership_area .text_box em {color: #ec4000; font-style: normal;}

.midarea .subtoparea {padding-top: 100px; z-index: 1; position: relative;}
.midarea .subtoparea:before {content: ''; display: block; position: absolute; width: 100%; height: 140px; bottom: 0; left: 0; background: url('../../images/hmpg/bg_subtoparea00.jpg') no-repeat center 0;}
.midarea .subtoparea .d_area {position: relative; height: 140px;}
.midarea .subtoparea h2 {padding-top: 55px; font-size: 30px; line-height: 30px; font-weight: 700; color: #000; font-family: 'LeferiBase', 'Pretendard'; text-align: center;}
.midarea .subtoparea.subtoparea01 {} /*챌린지*/
.midarea .subtoparea.subtoparea02 {} /*후기*/
.midarea .subtoparea.subtoparea03 {} /*봉사하기 활동*/
.midarea .subtoparea.subtoparea03:before {display: none;}
.midarea .subtoparea.subtoparea03 .d_area {height: 0;}
.midarea .subtoparea.subtoparea04 {} /*소개*/
.midarea .subtoparea.subtoparea05 {} /*게시판*/
.midarea .subtoparea.subtoparea06 {} /*마이페이지*/
.midarea .subtoparea.subtoparea06:before {height: 200px; background: #e6f7f0 no-repeat center / cover;}
.midarea .subtoparea.subtoparea06 .d_area {height: 200px;}
.midarea .subtoparea.membership {margin-bottom: 20px; background:none;} /*멤버쉽*/
.midarea .subtoparea.membership::before {content: ''; display: block; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); width: 100vw;  height: 140px; background: #f7f7f7; z-index: -1;}
.midarea .subtoparea.membership h2 {padding: 0; display: flex; align-items: center; justify-content: center; position: relative; z-index: 0; height: 140px; font-weight: 700; font-size: 30px; color: #000;}
.midarea .subtoparea.search .d_area {display: flex; display:-webkit-flex; justify-content: center; align-items: center;}
.midarea .subtoparea.search .d_area .search_box {position: relative; width: 700px;} /*통합검색*/
.midarea .subtoparea.search .d_area .search_box input {padding: 0 65px 0 100px; width: 100%; height: 60px; font-size: 24px; text-align: center; border-radius: 22px 22px 0 22px; background: #fff url('../../images/hmpg/icon_search_logo.png') no-repeat 30px center;}
.midarea .subtoparea.search .d_area .search_box input::placeholder {font-size: 24px; color: #000;}
.midarea .subtoparea.search .d_area .search_box .btn_search {position: absolute; right: 20px; top: calc(50% - 17px); width: 34px; height:34px; border-radius: 5px; background-color: #429573;}
.midarea .subtoparea.search .d_area .search_box .btn_search .icon {margin: 0 auto; width: 20px; height: 20px;}
.midarea .subtoparea.search .d_area .search_box .btn_search .icon::before {width: 8px; background-color: #fff;}
.midarea .subtoparea.search .d_area .search_box .btn_search .icon::after {width: 12px; height: 12px; border-color: #fff;}
.midarea .subtoparea .lnb_area {position: absolute; left: 0; bottom: -50px; padding-top: 0; display: flex; display:-webkit-flex; align-items: center;}
.midarea .subtoparea .lnb_area li {position: relative; padding-right: 15px; margin-right: 15px;}
.midarea .subtoparea .lnb_area li::before {content: ''; position: absolute; right: -5px; top: calc(50% - 6px); width: 8px; height: 12px; background: url('../../images/hmpg/icon_lnb_arrow.png') no-repeat center;}
.midarea .subtoparea .lnb_area li:last-child::before {display: none;}
.midarea .subtoparea .lnb_area li a {display: block; font-size: inherit; line-height: 20px; color: #7f7f7f;}
.midarea .subtoparea .lnb_area li.home a {display: block; width: 14px; height: 16px; font-size: 0; text-indent: -9999px; background: url('../../images/hmpg/icon_lnb_home.png') no-repeat center;}
.midarea .subtoparea .submenu_ara {position: absolute; bottom: 29px; display: flex; overflow-y: hidden; overflow-x: hidden; left: -25px; bottom: 29px; width: calc(100% + 50px); padding:0 25px;}
.midarea .subtoparea .submenu_ara ul {height: 40px; display: flex; display:-webkit-flex; align-items: flex-start; gap: 28px; justify-content: flex-start; margin: 0 auto;}
.midarea .subtoparea .submenu_ara ul li {height: 40px; line-height: 37px; flex: 1 1 auto;}
.midarea .subtoparea .submenu_ara ul li a {display: block; width: auto; font-size: 20px; font-weight: 400; text-align: center; color: #000; white-space: nowrap;}
.midarea .subtoparea .submenu_ara ul li.active a {font-weight: 600; color: #0d6f53; border-bottom: 2px solid #018489;}

/*탭*/
.detail_tab {margin-bottom: 50px; margin-top: -70px;}
.detail_tab ul {display: flex; display:-webkit-flex; border-bottom: 1px solid #ddd; border-top: 1px solid #ddd;}
.detail_tab ul li {position: relative; width: 100%; height: 86px; line-height: 56px;}
.detail_tab ul li a {display: flex; align-items: center; justify-content: center; font-size: 2rem;height: 86px; font-weight: 400; text-align: center; color: #000; font-size: 30px; font-family: 'LeferiBase', 'Pretendard'; font-weight: 700; white-space: nowrap;}
.detail_tab ul li.active a {color: #429573;}

.detail_tab2 {margin-top: 65px; margin-bottom: 55px;}
.detail_tab2 ul {display: inline-flex;background-color: #fffae9; border-radius: 70px 70px 0 70px; overflow-y: auto; max-width: 100%;}
.detail_tab2 ul li {position: relative; width: 100%; height: 70px; line-height: 56px; width: 250px; flex: 0 1 auto;}
.detail_tab2 ul li a {display: flex; align-items: center; justify-content: center; font-size: 26px; height: 70px; font-weight: 400; text-align: center; color: #2d2d2d; font-family: 'LeferiBase', 'Pretendard'; font-weight: 400; line-height: 1.25; overflow: hidden;}
.detail_tab2 ul li.active a {background-color: #429573; color: #fff; font-weight: 700; border-radius: 70px 70px 0 70px;}
.detail_tab2 ul li a img {display: none; margin-right: 10px;}
.detail_tab2 ul li.active a img {display: block;}

.detail_tab::-webkit-scrollbar-track,
.detail_tab2::-webkit-scrollbar-track {border-radius: 10px;background-color: rgba(0, 0, 0, 0);}
.detail_tab::-webkit-scrollbar,
.detail_tab2::-webkit-scrollbar {width: 5px; height: 8px; background-color: rgba(0, 0, 0, 0);}
.detail_tab::-webkit-scrollbar-thumb,
.detail_tab2::-webkit-scrollbar-thumb {border-radius: 10px;background-color: #ddd;}

.mobile_portrait .detail_tab::-webkit-scrollbar,
.mobile_portrait .detail_tab2::-webkit-scrollbar {width: 0; height: 0px; background-color: rgba(0, 0, 0, 0);}

.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%;}
.tabmenu .dropdown-menu li:last-child {margin-right: 0;}
.tabmenu .dropdown-menu li button {padding: 0 10px; width: 100%; height: 60px; font-size: 16px; font-weight: 500; word-break: keep-all; color: #666; border: 2px solid #429573; border-right: 0;}
.tabmenu .dropdown-menu li:first-child button {border-radius: 10px 0 0 10px;}
.tabmenu .dropdown-menu li:last-child button {border-radius: 0 10px 10px 0; border-right: 2px solid #429573;}
.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"] {color: #fff; background-color: #429573; border-color: #429573 !important;}

.video_box {position: relative; overflow: hidden;}
.video_box .youtube, 
.video_box .video {margin: 60px 0 0; width: 100%; height: 630px; text-align: center;}
.video_box .youtube {position: relative;}
.video_box .youtube iframe {width: calc(100% - 280px); height: 630px; border: 0;}
.video_box .video .video-js {height: 100%; width: 100%; border: 0;}
.video_box .video .video-js .vjs-big-play-button {left: calc(50% - 45px); top: calc(50% - 22px); width: 60px; height: 60px; border: 3px solid #fff; border-radius: 100%;}
.video_box .video .video-js .vjs-big-play-button .vjs-icon-placeholder:before {top: 5px;}

/*진행바*/
.progressbar {width: 100%; height: 20px; border-radius: 10px; background-color: #fffae9; position: relative; overflow: hidden; margin-bottom: 27px;}
.progressbar .progressbar_fill {position: absolute; top: 0; left: 0; height: 100%; background-color: #429573; border-radius: 20px;}

/*마이페이지*/
.mypage_tab {margin-bottom: 50px; border-radius: 20px; background-color: #e3eefd;}
.mypage_tab ul {margin: 0 auto; padding: 30px 0; display: flex; display:-webkit-flex; justify-content: center;}
.mypage_tab ul li {position: relative; width: 200px; font-weight: 400; text-align: center;}
.mypage_tab ul li::after {content: ''; position: absolute; top: calc(50% - 23px); right: 0; display: block; width: 1px; height: 46px; background-color: #ccc;}
.mypage_tab ul li:last-child:after {display: none;}
.mypage_tab ul li p.txt1 {color: #666;}
.mypage_tab ul li p.txt2 span {margin-right: 2px; font-size: 24px; font-weight: 500;}

/*멤버쉽*/
/*아이디찾기 비밀번호찾기*/
.membership_area .logidpw .box.box_phone {background: url('../../images/hmpg/icon_find_phone.png') no-repeat center 50px;}
.membership_area .logidpw .box.box_gpki {display: none; background: url('../../images/hmpg/icon_find_email.png') no-repeat center 50px;}
.membership_area .logidpw .box.box_newpw {background: url('../../images/hmpg/icon_find_newpw.png') no-repeat center 50px;}
.membership_area .logidpw .box.box_idcomplete {padding: 220px 45px 60px; background: url('../../images/hmpg/icon_find_idcomplete.png') no-repeat center 50px;}
.membership_area .logidpw .box.box_idcomplete .write_box {padding: 0;}
.membership_area .logidpw .box .text {margin-bottom: 20px; text-align: center; color: #666;}
.membership_area .logidpw .box .id {margin-bottom: 35px; text-align: center; color: #666;}
.membership_area .logidpw .box .tab_area {margin: 0 25px 25px; display: flex; display:-webkit-flex;}
.membership_area .logidpw .box .tab_area li {width: 50%; text-align: center; border-bottom: 1px solid #eee;}
.membership_area .logidpw .box .tab_area li.active {border-bottom: 3px solid #0b6ae0}
.membership_area .logidpw .box .tab_area li a {display: block; width: 100%; font-size: 15px; padding-bottom: 5px;}
.membership_area .logidpw .box .tab_area li.active a {font-weight: 600;}
/*회원가입*/
.membership_area .step_box {margin-top: -70px; display: flex; align-items: center; margin-right: 40px; justify-content: center; border: 1px solid #ddd; border-right: 0;}
.membership_area .step_box li {width: 100%; flex-wrap: nowrap; flex: 1 1 auto; position: relative; height: 80px; display: flex; align-items: center; justify-content: center; z-index: 1;}
.membership_area .step_box li.complete::before,
.membership_area .step_box li::after {z-index: -1; content: ''; position: absolute; right: -41px; top: -1px; width: 41px; height: 82px; background: no-repeat url(../../images/hmpg/step_arrow.png) center/100% 100%}
.membership_area .step_box li.active {background: #429573; z-index: 0;}
.membership_area .step_box li.active + li {z-index: 0;}
.membership_area .step_box li.active::after {background-image: url(../../images/hmpg/step_arrow_active.png)}
.membership_area .step_box li p {width: 100%; font-size: 2rem; text-align: center; font-family: 'LeferiBase', 'Pretendard';}
.membership_area .step_box li.step1 p::before {content: '1. ';} 
.membership_area .step_box li.step2 p::before {content: '2. ';}
.membership_area .step_box li.step3 p::before {content: '3. ';}
.membership_area .step_box li.step4 p::before {content: '4. ';}
.membership_area .step_box li.active p {color: #fff; font-weight: 700;}
/*회원가입 회원유형선택*/
.membership_area .join_type {margin: 0 auto; width: 750px; display: flex; display:-webkit-flex; justify-content: center; flex-wrap: wrap; gap: 32px;}
.membership_area .join_type li {position: relative; margin: 0; width: 260px; height: 160px; text-align: center; border-radius: 20px; border: 1px solid #429573;}
.membership_area .join_type li a {display: flex; height: 100%; align-items: center; justify-content: center;}
.membership_area .join_type li .hover,
.membership_area .join_type li .tit {font-size: 20px; font-weight: 700; color: #429573; font-family: 'LeferiBase', 'Pretendard';}
.membership_area .join_type li .hover {display: none; color: #ffffff;}
.membership_area .join_type li:hover {background:#429573 url('../../images/hmpg/img_join_type.png') no-repeat center/cover}
.membership_area .join_type li:hover .hover {display: block;}
.membership_area .join_type li:hover .tit {display: none;}
/*회원가입 이용약관동의*/
.membership_area .membership_inner {margin:58px auto 0; max-width: 990px;}
.agree_area .agree_box {overflow-y: auto; margin-bottom: 15px; padding: 30px; min-height: 100px; max-height: 200px;  border: 1px solid #ddd;  border-top: 2px solid #000; }
.agree_area .agree_box h4 {font-size: 18px;}
.agree_area h4 {margin-bottom: 20px; color: #222; font-size: 20px;}
.agree_area h5 {margin-bottom: 10px; font-size: 16px;}
.membership_area .agree_area {margin-bottom: 50px;}
.membership_inner .agree_area .agree_box::-webkit-scrollbar {width: 10px;}
.membership_inner .agree_area .agree_box::-webkit-scrollbar-thumb {width: 9px; height: 160px; background-color: #cccccc; border-radius: 20px; background-clip: padding-box; border: 2px solid transparent;}
.membership_inner .agree_area .agree_box::-webkit-scrollbar-track {background-color: transparent; border-radius: 20px;}
.membership_inner .check_box {justify-content: right;}
.membership_inner .check_box input[type=checkbox] + label {color: #7f7f7f; font-size: 1.8rem;padding-left: 36px;}
.membership_inner .check_box input[type=checkbox] + label::before {border-radius: 100%; width: 26px; height: 26px; top: calc(50% - 13px);}
.membership_inner .check_box input[type=checkbox] + label.on::before, 
.membership_inner .check_box input[type=checkbox]:checked + label::before {background-image: url(../../images/hmpg/icon_check2.png);}
.membership_inner .check_box.all {display: flex; align-items: center; justify-content: center; padding: 10px 0 10px;  border-top: 0; height: 81px; margin: 28px 0 53px; border-radius: 25px; background-color: #fffaea;}
.membership_inner .check_box.all input[type=checkbox] + label {font-size: 20px; font-weight: 500; padding-left: 40px; color: #000;}
.membership_inner .check_box.all input[type=checkbox] + label.on::before, 
.membership_inner .check_box.all input[type=checkbox]:checked + label::before {background-color: #429573; background-image: url(../../images/hmpg/icon_check3.png);}
.membership_inner .check_box.all + .button_box {margin-bottom: 60px;}
/*회원가입 본인인증*/
.membership_area .certification_box {margin: 0 auto; padding: 318px 10px 60px; width: 540px; background: url('../../images/hmpg/icon_join_certification.png') no-repeat center 140px;}
.membership_area .certification_box.certification_box_gpki {background: url('../../images/hmpg/icon_join_certification_gpki.png') no-repeat center 55px;}
.membership_area .certification_box .text {display: block; text-align: center;  font-size: 20px; padding: 30px 20px; text-align: center; background-color: #fffae9; border-radius: 25px; font-weight: 500; line-height: 1.4;}
.membership_area .certification_box .text em {color: #ec4000; font-style: normal;}
.membership_area .certification_box .button_box {margin: 42px 20px 0;}
.membership_area .certification_box .write_box .inp_area {padding: 35px 20px 0;}
.membership_area .certification_box .write_box .inp_area li {margin-bottom: 15px;}
.membership_area .certification_box .write_box .inp_area li .inpbox {width: 100%; height: 45px;}
.membership_area .certification_box .write_box .inp_area li .inpbox input.txt {padding: 0 15px;}
.membership_area .certification_box .write_box .inp_area li .inpbox input.txt:focus {outline: 1px solid #000;}
.membership_area .certification_box .write_box .button_box {margin-top: 25px;}
.membership_area .certification_box .write_box .button_box button {width: 100%; height: 55px; font-size: 17px; border-radius: 8px; background-color: #0b6ae0; color: #fff;}
/*회원가입 정보입력*/
.membership_area .step_box + .boardview {margin-top: 68px;}
/*회원가입 가입완료*/
.membership_area .finish_box {margin: 0 auto; padding: 290px 60px 60px; width: 480px; background: url('../../images/hmpg/icon_join_finish.png') no-repeat center 164px;}
.membership_area .finish_box .text_box + .text {margin-top: 30px;}
.membership_area .finish_box .text {text-align: center; font-size: 20px; font-weight: 500; line-height: 1.6; min-height: 60px;}
.membership_area .finish_box .button_box {margin: 53px 5px 0;}
.membership_area .finish_box .button_box > div {gap: 20px;}
.membership_area .finish_box .button_box button {width: 100%; height: 70px; margin: 0; font-size: 20px; border-radius: 80px; font-weight: 700; font-family: 'LeferiBase', 'Pretendard';}

/*멤버쉽 로그인*/
.membership_area {line-height: 1.4em;}
.membership_area .login_box {margin-top: 70px; width: 100%; max-width: 480px; margin: 0 auto; padding: 0 58px; padding-bottom: 120px;}
.membership_area .login_box .login_top {padding: 78px 0;}
.membership_area .login_box h2 img {display: block; width: 100%; max-width: 156px; margin: 0 auto;} 
.membership_area .login_box .login_frm input {border-bottom: 1px solid #7f7f7f; outline: 0; padding:0 13px; height: 42px; width: 100%; margin-top: 34px; color: #000; font-weight: 500; font-size: 20px;}
.membership_area .login_box .login_frm.st2 input {font-size: 16px;}
.membership_area .login_box .login_frm li {display: flex; align-items: flex-end; gap:0px}
.membership_area .login_box .login_frm li > * {flex: 1 1 auto;}
.membership_area .login_box .login_frm .btn {flex: 0 1 auto; white-space: nowrap; min-width: 96px; height: 55px; display: flex; align-items: center; justify-content: center; background-color: #429573; color: #fff; font-family: 'LeferiBase', 'Pretendard'; font-weight: 700; border-radius: 70px; transition: none;}
.membership_area .login_box .login_frm .btn.btn_line {background-color: #fff; color: #429573; border: 1px solid #429573;}
.membership_area .login_box .login_frm input:focus {border-color: #000;}
.membership_area .login_box .login_frm input::-webkit-input-placeholder {color: #7f7f7f;}
.membership_area .login_box .login_frm input:-ms-input-placeholder {color: #7f7f7f;}
.membership_area .login_box .login_button_box {display: flex; flex-direction: column; margin-top: 40px; gap: 15px;}
.membership_area .login_box .login_button_box.flex_row {flex-direction: row;}
.membership_area .login_box .login_button_box .btn {width: 100%; height: 70px; display: flex; align-items: center; justify-content: center; background-color: #429573; color: #fff; font-family: 'LeferiBase', 'Pretendard'; font-weight: 700; border-radius: 70px; transition: none; font-size: 20px;}
.membership_area .login_box .login_button_box .btn.btn_line {background-color: #fff; color: #429573; border: 1px solid #429573;}
.membership_area .login_box .login_button_box .btn.btn_line2 {background-color: #fff; color: #7f7f7f; border: 1px solid #7f7f7f;}
.membership_area .login_box .login_sns {margin-top: 50px;}
.membership_area .login_box .login_sns h3 {font-family: 'LeferiBase', 'Pretendard'; font-weight: 400; color: #7f7f7f; position: relative; text-align: center; z-index: 0;}
.membership_area .login_box .login_sns h3::before {content: ''; display: block; width: auto; height: 1px; background-color: #ececec; position: absolute; left: 52px; right: 52px; top:50%; z-index: -1;}
.membership_area .login_box .login_sns h3 span {display: inline-block; margin: 0 auto; padding: 0 7px; background-color: #fff; font-size: 1.3rem;}
.membership_area .login_sns_button {display: flex; align-items: center; justify-content: center; gap: 35px; margin-top: 27px;}
.membership_area .login_find_area ul {display: flex; align-items: center; gap: 48px; justify-content: center; margin-top: 40px;}
.membership_area .login_find_area ul a {color: #000; font-weight: 500;}
.membership_area .login_text_box {display: block; text-align: center; font-weight: 700; font-size: 20px; margin: -15px -60px 0; padding: 20px 5px; text-align: center; background-color: #fffae9; border-radius: 20px;}
.membership_area .login_text_box em {color: #ec4000; font-style: normal;}
.membership_area .login_text_box.nobg {background-color: transparent; font-weight: 500;}
.membership_area .login_text_box + .login_text_box {margin-top: 20px;}
.membership_area .login_text_box2 {text-align: center; font-weight: 500; padding: 26px 20px; line-height: 1.5em;}
.membership_area .login_text_box3 {margin-top: 40px; text-align: center; color: #7f7f7f; word-break: keep-all;}
.membership_area .login_text_box3 .text1 {margin-bottom: 15px; line-height: 26px; font-size: 20px;}
.membership_area .login_text_box3 .text1 span {color: #429573;}
.membership_area .login_text_box3 .text2 {line-height: 22px; font-size: 18px;}

/*멤버쉽 인증*/
.membership_area .login_box .radio_box {display: flex; justify-content: center; gap: 50px; padding-top: 30px; margin: 0;}
.membership_area .login_box .radio_box > li {margin-right: 0;}
.membership_area .login_box .radio_box input[type=radio] + label {cursor:pointer; color: #7f7f7f; font-weight: 500; white-space: nowrap;}
.membership_area .login_box .radio_box input[type=radio] + label::after {border: 1px solid #dedede;}
.membership_area .login_box .radio_box input[type=radio] + label.on::before,
.membership_area .login_box .radio_box input[type=radio]:checked + label {color: #429573; font-weight: 600;}
.membership_area .login_box .radio_box input[type=radio]:checked + label::before {background-color: #429573;}
.membership_area .login_box .radio_box input[type=radio]:checked + label::after {border-color:#dedede;}

/*통합검색*/
.totalsearch_area {min-height: 700px;}
.totalsearch_area .search_box {position: relative; margin: 0 auto 60px; width: 800px; height: 65px; border-bottom: 2px solid #000;}
.totalsearch_area .search_box input {padding: 0 55px 0 10px; width: 100%; height: 100%; font-size: 22px;}
.totalsearch_area .search_box .btn_search {position: absolute; right: 13px; top: calc(50% - 14px);}
.totalsearch_area .search_box .btn_search .icon {width: 29px; height: 29px;}
.totalsearch_area .search_box .btn_search .icon::after {width: 19px; height: 18px; border: 3px solid #000; border-radius: 100%;}
.totalsearch_area .search_box .btn_search .icon::before {height: 3px; background-color: #000;}
.totalsearch_area .search_box .check_box {position: absolute; bottom: 15px; right: -175px;}
.totalsearch_area .result_txt {margin-bottom: 40px; font-size: 24px; text-align: center; color: #7f7f7f;}
.totalsearch_area .result_txt span {font-weight: 500;}
.totalsearch_area .search_menu.optionbox {width: 100%; height: 40px; border: 0;}
.totalsearch_area .search_menu.optionbox::after {border-left: 5px solid transparent; border-right: 5px solid transparent; border-top: 5px solid #fff;}
.totalsearch_area .search_menu select {padding: 0 10px; width: 100%; height: 100%; color: #fff; font-size: 14px; background-color: #000;}
.totalsearch_area .result_area {position: relative; display:flex; display:-webkit-flex;}
.totalsearch_area .result_area > li > a {z-index: 11; position: relative; display: block; width: 174px; line-height: 56px; text-align: center; background-color: #fffae9;}
.totalsearch_area .result_area > li:first-child > a {border-radius: 56px 0 0 56px;}
.totalsearch_area .result_area > li:last-child > a {border-radius: 0 56px 0 0;}
.totalsearch_area .result_area > li > a::before {content: ''; position: absolute; left: -1px; top: 0; width: calc(100% - 1px); height: 100%; color: #333; background-color: #fffae9;}
.totalsearch_area .result_area > li:first-child > a::before {left: 0; width: calc(100% - 2px); border-radius: 56px 0 0 56px;}
.totalsearch_area .result_area > li:last-child > a::before {border-radius: 0 56px 56px 0;}
.totalsearch_area .result_area > li.active > a {z-index: 12; color: #fff; font-weight: 600;}
.totalsearch_area .result_area > li.active > a::before {background-color: #429573; border-radius: 56px 56px 0 56px;}
.totalsearch_area .result_area > li:first-child.active > a::before {border-radius: 56px 56px 0 56px;}
.totalsearch_area .result_area > li:last-child.active > a::before {border-radius: 56px 56px 0 56px;}
.totalsearch_area .result_area > li > a span {z-index: 14; position: relative; font-size: 18px;}
.totalsearch_area .result_area > li .tab_pane {position: absolute; left: 0; top: 0; padding-top: 95px; display: none; width: 100%;}
.totalsearch_area .result_area > li .tab_pane > dl {margin-bottom: 40px;}
.totalsearch_area .result_area > li .tab_pane > dl:last-child {margin-bottom: 0;}
.totalsearch_area .result_area > li .tab_pane > dl > dt {position: relative; padding-left: 20px; font-size: 26px; font-weight: 500; display:flex; display:-webkit-flex; justify-content: space-between; align-items: center;}
.totalsearch_area .result_area > li .tab_pane > dl > dt::before {content: ''; position: absolute; left: 0; top: 9px; width: 10px; height: 10px; border-radius: 50%; background-color: #429573;}
.totalsearch_area .result_area > li .tab_pane > dl > dt p {font-size: 20px; font-weight: 600;}
.totalsearch_area .result_area > li .tab_pane > dl > dt p span {font-weight: 400; color: #7f7f7f;}
.totalsearch_area .result_area > li .tab_pane > dl > dt p span.color_green {font-weight: 500;} 
.totalsearch_area .result_area > li .tab_pane > dl > dd .totalsearchboard {padding: 30px 0 0 20px;}
.totalsearch_area .result_area > li .tab_pane > dl > dd .totalsearchboard > li {padding: 0 0 25px;}
.totalsearch_area .result_area > li .tab_pane > dl > dd .totalsearchboard > li a {display: block;}
.totalsearch_area .result_area > li .tab_pane > dl > dd .totalsearchboard > li a .title_box {margin-bottom: 15px; display: flex; display:-webkit-flex; justify-content: flex-start;}
.totalsearch_area .result_area > li .tab_pane > dl > dd .totalsearchboard > li a .title_box h4 {font-size: 20px;}
.totalsearch_area .result_area > li .tab_pane > dl > dd .totalsearchboard > li a .title_box h4 span {font-weight: 400;}
.totalsearch_area .result_area > li .tab_pane > dl > dd .totalsearchboard > li a .title_box .date {padding-left: 12px; margin-left: 10px; position: relative; flex: none; color: #7f7f7f; font-size: 19px;}
.totalsearch_area .result_area > li .tab_pane > dl > dd .totalsearchboard > li a .title_box .date::before {content: ''; position: absolute; left: 0; top: 7px; width: 1px; height: 12px; background-color: #ccc;}
.totalsearch_area .result_area > li .tab_pane > dl > dd .totalsearchboard > li a p {overflow: hidden; margin-bottom: 15px; font-size: 20px; line-height: 26px; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3;}
.totalsearch_area .result_area > li .tab_pane > dl > dd .totalsearchboard > li .nav_list {display: flex; display:-webkit-flex; flex-wrap:wrap; -webkit-flex-wrap:wrap;}
.totalsearch_area .result_area > li .tab_pane > dl > dd .totalsearchboard > li .nav_list li {font-size: 18px; color: #7f7f7f;}
.totalsearch_area .result_area > li .tab_pane > dl > dd .totalsearchboard > li .nav_list li::after {content: '>'; padding: 0 5px;}
.totalsearch_area .result_area > li .tab_pane > dl > dd .totalsearchboard > li .nav_list li:last-child::after {display: none;}

/*개인정보처리방침*/
.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: 25px 30px; margin-bottom: 30px; font-size: 1.6rem; line-height: 1.8; border-radius: 20px; background-color: #429573; color: #fff; word-break: keep-all;}
.privacy .box a {color: #fff;}
.privacy .data {margin-top: 20px; text-align: right;}
.privacy-wrap {line-height: 2.5rem;}
.privacy-wrap h4 {font-size: 2rem; margin: 40px 0 20px;}
.privacy-wrap a {color: #429573; border-bottom: 1px solid #429573;}
.privacybox {margin: 40px 0 0;}
.privacybox:after {content:''; display: block; clear: both;}
.listtype-other {margin-left: 20px;}
.listtype-other.ml {margin-left: 0;}
.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: 16px; width: 3px; height: 3px; background-color: #555;}
.listtype-dot > li span {font-weight: 500; color: #333;}
.table_privacy table {table-layout: fixed; width: 100%; border-top: 2px solid #767676; border-bottom: 1px solid #767676; margin: 20px 0 15px;}
.table_privacy table thead th {padding: 13px 20px; font-weight: 500; line-height: 26px; text-align: center; color: #333; border-bottom: 1px solid #9ba5af;}
.table_privacy table tbody th {padding: 12px 20px; font-weight: 400; line-height: 26px; text-align: center; color: #333; border-left: 1px solid #e5e5e5; border-bottom: 1px solid #e5e5e5;}
.table_privacy table td {padding: 12px 20px; line-height: 26px; text-align:center; color: #333; border-bottom: 1px solid #e5e5e5; border-left: 1px solid #e5e5e5;}
.table_privacy table th:first-child {border-left: 0;}
.table_privacy table td:first-child {border-left: 0;}
.table_privacy.index table thead th {padding: 16px 20px; font-size: 18px; color: #0387dc;}
.table_privacy.index table td {padding: 25px 20px; line-height: 32px;}
.table_privacy.index table td:last-child {padding-left: 30px;}

/*이용약관*/
.rule-index {border-top: 2px solid #222; border-bottom: 1px solid #e5e5e5;}
.rule-index:after {content: ''; display: block; clear: both;}
.rule-index ul {float: left; width: 50%; padding: 25px 20px;}
.rule-index ul + ul {border-left: 1px solid #e5e5e5; padding-left: 30px;}
.rule-index ul li {font-weight: 400; margin-top: 10px;}
.rule-index ul li:first-child {margin-top: 0;}
.rule-index ul li a {color:#666; font-size: 16px;}
.rule-index ul li a:focus,.rule-index ul li a:hover,
.rule-index ul li a:focus span,.rule-index ul li a:hover span {color: #0387dc;}
article.rule h4 {font-size: 26px; margin-top: 50px;}
article.rule h5 {font-size: 20px; margin: 40px 0 10px;}
article.rule p {font-size: 16px; color: #666; line-height: 32px;}
article.rule li {line-height: 32px; color:#666; word-break: keep-all;}
article.rule ol > li {padding-left: 20px; text-indent: -20px}
article.rule ol > li > ol > li {padding-left: 0px; text-indent: 0;}

/*챌린지 - 목록*/
.challenge_area {margin-top: 20px;}
.challenge_area .challenge_list_top {display: flex; flex-wrap: wrap; justify-content: center; align-items: center; position: relative; z-index: 0; padding: 60px 0 35px; text-align: center; margin-bottom: 40px;}
.challenge_area .challenge_list_top::before {position: absolute; content: ''; display: block; width: 100vw; height: 100%; background-color: #fffae9; z-index: -1; left: 50%; transform: translateX(-50%); top: 0;}
.challenge_area .challenge_list_top h2 {width: 100%; text-align: center; font-family: 'LeferiBase', 'Pretendard'; font-size: 2rem; letter-spacing: -0.025em; line-height: 1.4;}
.challenge_area .challenge_list_top button {position: relative; font-family: 'LeferiBase', 'Pretendard'; width: 250px; height: 70px; margin-top: 40px; background-color: #429573; color: #fff; border-radius: 80px; border-bottom-right-radius: 0; font-size: 24px; font-weight: bold;}
.challenge_area .challenge_list_top button::before {position: absolute; display: block; content: ''; top:-13px; right:-13px; width: 58px; height: 58px; background: url(../../images/hmpg/challenge_btn.png) no-repeat center/contain;}
.challenge_area .gallaylist.type1 > li .list_box > li {color: #429573;}

/*챌린지-검색*/
.challenge_area .board_top {padding: 0 30px; margin-bottom: 0;}
.challenge_area .board_top .all {font-size: 20px; font-weight: bold; text-align: center;color: #000;}
.challenge_area .board_top .all span {color: #429573;}

/*챌린지 - 소개*/
/*챌린지 소개 - 상단*/
.challenge_detail_top {position: relative; margin-top: 20px; display: block; height: 600px; margin-bottom: 130px; z-index: 0;}
.challenge_detail_top:before {content:''; display: block; position: absolute; z-index: -1; height: 90%; width: 100vw; top:0; left: 50%; transform: translateX(-50%);  background: #ddd;}
.challenge_detail_top .cdt_bg {position: absolute; z-index: -1; height: 100%; width: 100vw; top:0; left: 50%; transform: translateX(-50%); display: block; background: #ddd no-repeat center/cover;}
.challenge_detail_top h3 {padding-top: 155px;font-family: 'LeferiBase', 'Pretendard';font-weight: bold;font-size: 3.6rem;letter-spacing: -0.025em;line-height: 1.32;text-align: left;color: #fff; text-shadow: 3px 4px 5px rgba(0 0 0 /.4);}
.challenge_detail_top .challenge_detail_top_dec {left: 0; bottom: -20px; width: 100%; height: 260px; position: absolute; padding: 72px 62px 100px 60px; border-radius: 80px; border-bottom-right-radius: 0; background-color: #5c5c5c;}
.challenge_detail_top .challenge_detail_top_dec .percent {position: absolute; top: -30px; right: 62px; display: flex; align-items: center; justify-content: center; border-radius: 80px; border-bottom-left-radius: 0; width: 88px; height: 88px; background-color: #fff; font-size: 30px; color: #e7360d; font-family: 'LeferiBase', 'Pretendard'; font-weight: 700; letter-spacing: -0.025em;}
.challenge_detail_top .challenge_detail_top_dec .percent span {font-size: 0.8em;}
.challenge_detail_top .challenge_detail_top_dec .progressbar {width: 100%; height: 20px; border-radius: 10px; background-color: #fffae9; position: relative; overflow: hidden; margin-bottom: 16px;}
.challenge_detail_top .challenge_detail_top_dec .progressbar .progressbar_fill {position: absolute; top: 0; left: 0; height: 100%; background-color: #429573; border-radius: 20px;}
.challenge_detail_top .challenge_detail_top_dec .list_box_area {display: flex; flex-wrap: wrap; width: 100%;}
.challenge_detail_top .challenge_detail_top_dec .list_box li {display: flex; font-size: 1.8rem;color: #fff; padding-right: 19px; margin-right: 19px;}
.challenge_detail_top .challenge_detail_top_dec .list_box li button {color: inherit; transition: none; font-size: inherit; height: 1em;}
.challenge_detail_top .challenge_detail_top_dec .list_box2 {margin-top: 16px; flex: 1 1 auto; width: 100%; display: flex; align-items: center; gap: 20px;}
.challenge_detail_top .challenge_detail_top_dec .list_box2 li {padding-right: 20px;}
.challenge_detail_top .challenge_detail_top_dec .list_box.right {margin-left: auto;}
.challenge_detail_top .challenge_detail_top_dec .list_box.right li {display: flex;padding-right: 25px;margin-right: 0px;font-size: 19px;}
.challenge_detail_top .challenge_detail_top_dec .list_box.right li::before {display: none;}
.challenge_detail_top .challenge_detail_top_dec .list_box.right li::after {display: none;}
.challenge_detail_top .challenge_detail_top_dec .button_box {position: absolute; bottom: 30px; width: calc(100% - 124px); left: 62px;;}
.challenge_detail_top .challenge_detail_top_dec .button_box .btn {width: 180px;height: 56px;font-size: 2rem; border-radius: 80px; border-bottom-right-radius: 0px; font-weight: bold; border: 0;}
.challenge_detail_top .challenge_detail_top_dec .button_box button.bg_white {color: #000;  padding-top: 0.15em;}
.challenge_detail_top .challenge_detail_top_dec [class*="icon_"] {display: block; width: 24px; height: 24px; overflow: hidden; text-decoration: -10000px; font-size: 0px; background: no-repeat center/contain; margin-right: 5px;}
.challenge_detail_top .challenge_detail_top_dec .icon_user {background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23FFF' d='M19.383 19.232v4.302H3.885v-4.302a7.875 7.875 0 0 1 3.297-6.425c-1.079-1.122-1.701-2.709-1.711-4.632L5.47 8.14l.001-.004-.001-.005c0-3.93 2.532-6.476 6.36-6.476 3.828 0 6.359 2.546 6.359 6.476V8.14l-.001.035c-.01 2.022-.702 3.667-1.886 4.795a7.874 7.874 0 0 1 3.081 6.262Z'/%3E%3C/svg%3E");}
.challenge_detail_top .challenge_detail_top_dec .icon_view {background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23FFF' d='M17.701 15.719a8.832 8.832 0 0 0 1.695-5.208c0-4.893-3.947-8.861-8.814-8.861-4.868 0-8.815 3.968-8.815 8.861 0 4.894 3.947 8.86 8.815 8.86a8.732 8.732 0 0 0 5.309-1.799l5.015 5.041 1.827-1.836-5.032-5.058Zm-7.119 1.406c-3.634 0-6.58-2.961-6.58-6.614s2.946-6.614 6.58-6.614c3.633 0 6.579 2.961 6.579 6.614s-2.946 6.614-6.579 6.614'/%3E%3C/svg%3E");}
.challenge_detail_top .challenge_detail_top_dec .icon_like {background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23FFF' d='M1.374 1.974v21.145l10.03-7.637 10.03 7.637V1.974H1.374Z'/%3E%3C/svg%3E");}
.challenge_detail_top .challenge_detail_top_dec .icon_picture {width: 37px; height: 37px; background-image: url(../../images/hmpg/icon_picture.png);}
.challenge_detail_top .challenge_detail_top_dec .icon_review {width: 37px; height: 37px; background-image: url(../../images/hmpg/icon_review.png);}

/*챌린지 소개 - 상단 고정형*/
.challenge_detail_top_fixed {position: fixed; top: 0; left: 0; width: 100%; padding: 30px 0; background-color: #429573; color: #fff; z-index: 1000; transition: transform 0.3s linear; will-change: transform;}
.challenge_detail_top_fixed:not(.on) {transform: translateY(-200%);}
.challenge_detail_top_fixed .cdt_inner {width: calc(100% - 50px); max-width: 1194px; margin: 0 auto; position: relative; padding-right: 492px; padding: 0 30;}
.challenge_detail_top_fixed h3 {font-family: 'LeferiBase', 'Pretendard'; font-weight: bold; font-size: 2.6rem; letter-spacing: -0.025em;line-height: 1.32;text-align: left;color: #fff;}
.challenge_detail_top_fixed .challenge_detail_top_dec {display: flex; align-items: stretch;}
.challenge_detail_top_fixed .challenge_detail_top_dec > div {flex: 1 1 auto;}
.challenge_detail_top_fixed .challenge_detail_top_dec .list_box_area {display: flex; flex-direction: column;}
.challenge_detail_top_fixed .challenge_detail_top_dec .list_box li {display: flex; font-size: inherit; color: #fff; padding-right: 19px; margin-right: 19px; margin-top: 10px;}
.challenge_detail_top_fixed .challenge_detail_top_dec .list_box li button {color: inherit; transition: none; font-size: inherit; height: 1em;}
.challenge_detail_top_fixed .challenge_detail_top_dec > .button_box {position: absolute; right: 0; top:calc(50% - 35px); margin-top: 0;}
.challenge_detail_top_fixed .challenge_detail_top_dec > .button_box button {width: 180px;height: 56px;font-size: 2rem; border-radius: 80px; border-bottom-right-radius: 0px; font-weight: bold; border: 0; background: #fffae9; margin-left: 32px;}
.challenge_detail_top_fixed .challenge_detail_top_dec > .button_box button.bg_green {background: #fffae9; color: #429573;}
.challenge_detail_top_fixed .challenge_detail_top_dec > .button_box button.bg_white {color: #000;  padding-top: 0.15em; background-color: #fff;}
.challenge_detail_top_fixed .challenge_detail_top_dec .list_box2 {display: flex; align-items: center; gap: 10px; margin-top: 19px;}
.challenge_detail_top_fixed .challenge_detail_top_dec .list_box2 button {display: flex; align-items: center; padding: 0 14px; color: #fff; height: 40px; border-radius: 80px; border:1px solid #fff}
.challenge_detail_top_fixed .challenge_detail_top_dec .list_box2 [class*="icon_"] {display: block; width: 24px; height: 24px; overflow: hidden; text-decoration: -10000px; font-size: 0px; background: no-repeat center/contain; margin-right: 10px;}
.challenge_detail_top_fixed .challenge_detail_top_dec .list_box2 .icon_picture {width: 19px; height: 19px; background-image: url(../../images/hmpg/icon_picture.png);}
.challenge_detail_top_fixed .challenge_detail_top_dec .list_box2 .icon_review {width: 19px; height: 19px; background-image: url(../../images/hmpg/icon_review.png);}

/*챌린지 소개 - 본문*/
.challenge_detail_desc .dot {position: relative;}
.challenge_detail_desc .dot:before {content: ''; display: block; position: absolute; top: calc(0.625em - 5px); left: 20px; width: 10px;height: 10px;border-radius: 100%;background-color: #429573; border-radius: 100%;}
.challenge_detail_desc p.dot:before {top: calc(0.75em - 5px);}
.challenge_detail_desc {font-size: 20px; font-weight: 500; line-height: 1.5; color: #000;}
.challenge_detail_desc > h4:not(:first-child),
.challenge_detail_desc > dl:not(:first-child) {margin-top: 40px;}
.challenge_detail_desc > p:not(:first-child) {margin-top: 18px;}
.challenge_detail_desc h4 {font-size: 24px; padding-left: 40px; font-weight: bold;line-height: 1.25;}
.challenge_detail_desc p {line-height: inherit; padding-left: 40px;}
.challenge_detail_desc dl {display: flex; font-size: 24px; font-weight: bold;}
.challenge_detail_desc dl dt {padding-left: 40px; line-height: 1.25; min-width: 300px;} 
.challenge_detail_desc .cdd_img_area {margin-top: 30px; display: flex; flex-wrap: wrap; gap: 30px;}
.challenge_detail_desc .cdd_img_area figure {cursor: pointer; display: block; overflow: hidden; border-radius: 20px; border-bottom-right-radius: 0; width: calc(calc(100% - calc(30px * 3)) / 4);}
.challenge_detail_desc .cdd_img_area img {width: 100%;}
.challenge_detail_desc .cdd_img_area2 {margin-top: 30px; display: flex;}
.challenge_detail_desc .cdd_img_area2 figure {display: block; overflow: hidden; border-radius: 20px; border-bottom-right-radius: 0; min-width: 276px; width: 276px; max-width: 276px; flex: 0 1 auto;}
.challenge_detail_desc .cdd_img_area2 figure img {width: 100%;}
.challenge_detail_desc .cdd_img_area2 .cdd_img_area2_text {padding-left: 30px; flex: 1 1 auto;}
.challenge_detail_desc .cdd_img_area2 .cdd_img_area2_text ul > li {padding: 0; margin: 0; display: flex;}
.challenge_detail_desc .cdd_img_area2 .cdd_img_area2_text ul > li::before {content: '-'; margin-right: 8px; font-family: 'Gulim'; font-weight: 700;}
.challenge_detail_desc .cdd_img_area2 .cdd_img_area2_text ul > li:after {display: none;}
.challenge_detail_desc.type2 {font-size: 22px; font-weight: 500; line-height: 1.5; color: #000;}
.challenge_detail_desc.type2 p {padding-left: 0px;}
.challenge_detail_desc.type2 .keywords_list {margin-top: 20px; display: flex; flex-wrap: wrap; gap: 20px;}
.challenge_detail_desc.type2 .keywords_list li {color: #429573;}
.mypage div.editor,
.challenge_area div.editor {margin: 30px 0px; min-height: 260px;}
/*소개 - 목록*/
.challenge_area .challenge_detail_bt.button_box {margin-top: 100px; position: relative; margin-bottom: -100px; padding: 30px 0; z-index: 0;}
.challenge_area .challenge_detail_bt.button_box::before {content: ''; display: block; position: absolute; top: 0%; height: 100%; left: calc(50% - 50vw); width: 100vw; background-color: #f8f8f8; z-index: -1;}

/*행동보드 (후기)*/
.challenge_comment_list {display: flex; flex-wrap: wrap; align-items: stretch; gap: 30px; margin-top: 30px; margin-bottom: 45px;}
.challenge_comment_list > li {width: calc(calc(100% - calc(30px * 3)) / 4);}
.challenge_comment_list > li a {display: block; width: 100%; position: relative; overflow: hidden; border-radius: 24px; border-bottom-right-radius: 0px; z-index: 0;}
.challenge_comment_list > li a::before {content: ''; display: block; padding-top: 123.1884%; z-index: -1;}
.challenge_comment_list > li a::after {content: ''; display: block; position: absolute; width: 100%; height: 100%; top: 0; left: 0; z-index: 1; background-color: rgba(0, 0, 0, 0.15); transition: background 0.2s;}
.challenge_comment_list > li .img_box {display: block; position: absolute; top:0; left: 0; width: 100%; height: 100%; background: no-repeat center/cover;}
.challenge_comment_list > li .img_box video {width: 100%; height: 100%; object-fit: cover;}
.challenge_comment_list > li .text_box {display: block; padding: 20px; position: absolute; bottom:0; left: 0; width: 100%; background: #429573; transform:translateY(100%); transition: transform 0.3s; will-change: transform; z-index: 2;}
.challenge_comment_list > li p {display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; max-height: 5.2em; color: #fff; font-size: 15px; line-height: 1.3;  font-family: 'LeferiBase', 'Pretendard';}
.challenge_comment_list > li a:hover .text_box,
.challenge_comment_list > li a:focus .text_box {transform: translateY(0);}
.challenge_comment_list > li .badge {word-break: break-all;padding: 0 5px 20px;display: flex;position: absolute; z-index: 3; right: 20px;top: 0;width: 70px;height: 86px;line-height: 20px;font-weight: 500;font-size: 1.6rem;text-align: center;color: #fff;align-items: center;justify-content: center;background: no-repeat center/100% 100%;background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 53 65'%3E%3Cpath fill='%23E7360D' fill-rule='evenodd' d='M.216.036v64.95l26.278-20.007 26.277 20.007V.036H.216Z'/%3E%3C/svg%3E");}
.challenge_comment_list > li.play a::after {background: no-repeat url(../../images/hmpg/challenge_icon_play.png) right 28% top calc(50% + 15px) / 72% auto;}
.challenge_comment_list > li a:hover:after {background-color: rgba(0, 0, 0, 0.5) !important;}

/*행동보드 (후기) 등록*/
.challenge_area .detail_tab + .board_top {margin-top: -15px;}
.challenge_area .boardview table tr th {font-size: 18px; font-weight: 500;}
.challenge_area .boardview table tr td {padding: 12px 20px; font-size: 18px;}
.challenge_area .boardview table tr td input {font-size: 18px;}
.challenge_area .boardview table tr td textarea {height: 160px; font-size: 18px;}
.challenge_area .boardview table tr td textarea.h90 {height: 90px;}
.boardview .gps_area .gps_buttons button {width: auto; margin-left: 0; padding: 0 10px;}
.boardview .gps_area .gps_buttons button {width: auto; margin-left: 0; padding: 0 10px;}
.boardview .gps_area .gps_list {margin-top: 10px;}
.boardview .gps_area .gps_list.decimal li {list-style: decimal; margin-left: 1.25em;}
.boardview .gps_area .gps_list button {position: relative; width: 20px; height: 20px; border-radius: 3px; border: 1px solid #7f7f7f; background-color: #fff; margin-left: 5px;}
.boardview .gps_area .gps_list button::after, 
.boardview .gps_area .gps_list button::before {content: ''; position: absolute; left: 4px; top: calc(50% - 0.5px); width: 10px; height: 1px; background-color: #7f7f7f; border-radius: 3px;}
.boardview .gps_area .gps_list button::after {transform: rotate(-45deg);}
.boardview .gps_area .gps_list button::before {transform: rotate(45deg);}

/*참여자 대화*/
.chat_area {background-color: #b2d5f1; border-radius: 50px; overflow: hidden; margin-bottom: 100px;}
.chat_area .chat_top {padding: 40px 60px 20px;}
.chat_area .chat_top .search_box {position: relative;}
.chat_area .chat_top .search_box .inpbox {border-radius: 60px; height: 40px; border: 0;}
.chat_area .chat_top .search_box .inpbox input {border-radius: 60px; padding: 0 17px;}
.chat_area .chat_top .search_box .btn_search {position: absolute; top: calc(50% - 12.5px); right: 15px;}
.chat_area .chat_top .search_box .btn_search .icon {transform: scale(0.8); transform-origin: center;}
.chat_area .chat_con {padding: 0 60px 0;}
.chat_area .chat_con .chat_scroll {padding-right: 21px; padding-bottom: 20px; margin-right: -30px; height: 840px; overflow-y: auto; overflow-x: hidden;}
.chat_area .chat_con .chat_scroll::-webkit-scrollbar-track {border-radius: 10px;background-color: rgba(0, 0, 0, 0);}
.chat_area .chat_con .chat_scroll::-webkit-scrollbar {width: 12px;background-color: rgba(0, 0, 0, 0);}
.chat_area .chat_con .chat_scroll::-webkit-scrollbar-thumb {border-radius: 10px;background-color: #7ba4c4;}
.chat_area .chat_history {display: flex; gap: 20px; flex-direction: column;}
.chat_area .chat_message {background: #fff; padding:25px 30px; border-radius: 20px 20px 20px 0; max-width: 860px; position: relative;}
.chat_area .chat_message.right {background: #fffae9;  border-radius: 20px 20px 0 20px; margin-left: auto;}
.chat_area .chat_message .chm_top {display: flex; align-items: baseline; gap: 20px;}
.chat_area .chat_message .chm_top .chm_name {color: #000;font-size: 18px;font-weight: 500;}
.chat_area .chat_message .chm_top .chm_date {color: #7f7f7f;}
.chat_area .chat_message .chm_top .btn {position: absolute; width: 82px; height: 34px; top:13px; right: 40px; display: flex; align-items: center; width: auto; margin: 0 4px; border: 1px solid #429573; color: #2d2d2d;}
.chat_area .chat_message .chm_top .btn [class*="icon_"] {display: block; margin-left: -2px;  min-width: 20px; width: 20px; height: 20px; overflow: hidden; text-decoration: 10000px; font-size: 1px; background: no-repeat center/contain;}
.chat_area .chat_message .chm_top .btn .icon_paper {background-image: url(../../images/hmpg/icon_paper.png);}
.chat_area .chat_message .chm_con {margin-top: 10px; font-size: 16px;font-weight: 500;line-height: 1.31;text-align: left;color: #2d2d2d;}
.chat_area .chat_message .chm_con mark {background: #fffc7c;}
.chat_area .chat_bt {background-color: #efefef; padding: 24px 60px 40px;}
.chat_area .chat_bt textarea {height: 124px; border: solid 1px #d9d9d9; background-color: #fff; border-radius: 20px; padding: 20px;}
.chat_area .chat_tf_bt {margin-top: 15px; display: flex; align-items: center; gap: 20px; justify-content: flex-end;}
.chat_area .chat_tf_bt .chat_count {color: #7f7f7f;  font-size: 18px; font-weight: 500; line-height: 1.44;}

/*챌린지 등록*/
.challenge_area .calendarbox .inpbox::after {display: none;}

/*게시판*/
.board_area {padding-bottom: 30px}
.board_area.st1 {margin-top: -60px;}
.board_area .gallaylist.type1 {padding-bottom: 30px;}

/*faq*/
.board_area .detail_tab2 ul li a {font-size: 18px;}
.board_area .faq_area2 {font-size: 18px;}

/*마이페이지*/
.mypage_area {padding-bottom: 30px}
.mypage_dashboard_top {padding-top: 100px;}
.mypage_dashboard_top + .contentsarea {padding-top: 30px;}
.mypage_dashboard_inner {position: relative; width: 100%; height: 232px; background: #ecfee6 no-repeat url(../../images/hmpg/mypage_dashboard_top_bg.jpg) center center/auto 100%;}
.mypage_dashboard_inner figure {position: absolute; width: 298px; height: 234px; left: calc(50% - 117px); background: no-repeat url(../../images/hmpg/mypage_dashboard_top_img_bg.png) center center/auto 100%;}
.mypage_dashboard_inner figure > div {position: absolute; width: 160px; height: 160px;  top: calc(50% - 80px); left: calc(50% - 80px); border-radius: 100%; overflow: hidden;}
.mypage_dashboard_inner figure > div img {width: 100%;}
.mypage_dashboard_inner.type2 {background: no-repeat url(../../images/hmpg/mypage_dashboard_top_bg2.png) center center/auto 100%;}
.mypage_dashboard_inner.type2 h2 {position:absolute; top:50%; left:50%; transform: translate(-50%, -50%); width: 100%; font-size: 36px; font-weight: 600; text-align: center; color: #fff;}
.mypage_dashboard {--gap: 20px; --col : 2; --font2: 'LeferiBase', 'Pretendard';}
.mypage_dashboard .dashboard_title {padding-left: 44px; position: relative;  margin-top: 60px; font-family: var(--font2); line-height: 1.4; font-size: 28px; font-weight: 700; color: #000; background:no-repeat url(../../images/hmpg/icon_flag.png) top 0.15em left 0/26px 30px;}
.mypage_dashboard .dot {position: relative; padding-left: 27px; font-size: 28px; font-weight: bold; line-height: 1; margin-bottom: 30px;}
.mypage_dashboard .dot:before {content: ''; display: block; position: absolute; top: calc(0.625em - 5px); left: 0px; width: 10px;height: 10px;border-radius: 100%;background-color: #429573; border-radius: 100%;}
.mypage_dashboard_list {display: flex; flex-wrap: wrap; gap: var(--gap);}
.mypage_dashboard_list > li {width: calc( calc(100% - calc(var(--gap) * calc(var(--col) - 1))) / var(--col)); border-radius: 20px 20px 0 20px;} 
.mypage_dashboard_list.type1 {--gap: 20px; --col : 2; margin-bottom: 38px;}
.mypage_dashboard_list.type1 > li {background-color: #fffae9; padding: 22px 20px;}
.mypage_dashboard_list.type1 > li > dl {display: flex; align-items: center; height: 100%;}
.mypage_dashboard_list.type1 > li > dl > dt {padding: 20px; font-weight: 600; text-align: center; line-height: 1.2; border-radius: 10px; color: #866809; background-color: #fcf3d6;}
.mypage_dashboard_list.type1 > li > dl > dd {display: block; text-align: center; flex: 1 1 auto;  color: #000003;}
.mypage_dashboard_list.type1 > li > dl > dd strong {display: inline-block; padding-top: 0.25em; font-family: 'LeferiBase', 'Pretendard'; line-height: 1; font-size: 36px; font-weight: 700; letter-spacing: -0.015em; color: #e7360d; margin-right: 5px; vertical-align: baseline;}
.mypage_dashboard_list.type1.type5 > li > dl > dt {padding: 20px 0; width: 110px;}
.mypage_dashboard_list.type1.type5 > li > dl > dt img {margin-bottom: 10px;}
.mypage_dashboard .detail_tab2 {margin: 40px 0 -10px;}
.mypage_dashboard .challenge_item .top .dDay {height: 36px; line-height: 34px; border-radius: 8px; border-color: #94c4b0;}

/*대쉬보드2*/
.mypage_dashboard_list.type2 {--gap: 20px; --col : 4;}
.mypage_dashboard_list.type2 > li {background-color: #fff; padding: 22px 20px; box-shadow: 0 0 20px rgba(0, 0, 0, 0.1); display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1; flex: 1 1 auto;}
.mypage_dashboard_list.type2 dl {display: flex; flex-direction: column; align-items: center; justify-content: center;}
.mypage_dashboard_list.type2 dl dt {font-weight: 500; padding-bottom: 10px;}
.mypage_dashboard_list.type2 dl dd strong {margin-right: 5px; font-size: 36px; font-family: var(--font2); line-height: 1;}
.mypage_dashboard_list.type2 > li.type2 {display: table; table-layout: fixed;}
.mypage_dashboard_list.type2 > li.type2 > dl {display: table-row;}
.mypage_dashboard_list.type2 > li.type2 > dl  > * {display: table-cell;text-align: right;}
.mypage_dashboard_list.type2 > li.type2 > dl  > dt {padding-right: 10px; padding-bottom: 0;}
.mypage_dashboard_list.type2 > li.type2 > dl  > dd strong {font-size: 16px; padding-bottom: 0; color: #7f7f7f;}
.mypage_dashboard_list.type2 > li.type2 > dl:first-child > dd strong {font-size: 18px; color: #000000;}

/*대쉬보드3*/
.mypage_dashboard_list.type3 {--gap: 27px; --col : 1;}
.mypage_dashboard_list.type3 > li {max-width: 540px; border-radius: 25px; border: solid 1px #94c4b0; position: relative; padding: 25px 110px 25px 25px; min-height: 110px;}
.mypage_dashboard_list.type3 > li .percent {position: absolute; width: 80px; height: 80px; top: calc(50% - 40px); right: 15px; border-radius: 8px; background-color: #e6f7f0; display: block; color: #429573; text-align: center; padding-top: 11px; line-height: 1.2;}
.mypage_dashboard_list.type3 > li .percent strong {font-size: 28px; font-family: var(--font2);}
.mypage_dashboard_list.type3 > li h5 {text-overflow: ellipsis; white-space: nowrap; font-size: 22px; font-family: var(--font2);  color: #000; line-height: 1.36; font-weight: bold; overflow: hidden;}
.mypage_dashboard_list.type3 > li > p {color: #7f7f7f; margin-top: 10px;}

/*대쉬보드4*/
.mypage_dashboard .dot + .mypage_dashboard_list.type4 {margin-top: -20px;}
.mypage_dashboard_list.type4 {--gap: 0px; --col : 1;}
.mypage_dashboard_list.type4 > li:not(:first-child) {border-top: 1px solid #ddd;}
.mypage_dashboard_list.type4 > li {padding:22px 110px 22px 0; position: relative; border-radius: 0; min-height: 110px;} 
.mypage_dashboard_list.type4 > li .date {position: absolute; width: 100px; height: 60px; top: calc(50% - 40px); right: 0; display: block; text-align: right; padding-top: 10px; line-height: 1.4; text-align: right; color: #7f7f7f;}
.mypage_dashboard_list.type4 > li h5 {text-overflow: ellipsis; white-space: nowrap; font-size: 22px; font-family: var(--font2);  color: #000; line-height: 1.36; font-weight: 500; overflow: hidden;}
.mypage_dashboard_list.type4 .list_box > li {padding-right: 15px; margin-right: 15px;  font-size: 20px;  color: #7f7f7f; margin-top: 5px; line-height: 35px;}
.mypage_dashboard_list.type4 .list_box > li [class*="state_"] {border-radius: 8px; font-size: 16px; display: inline-block; padding: 8px 5px; line-height: 1; min-width: 95px; text-align: center; margin: 0;}
.mypage_dashboard_list.type4 .list_box > li .state_1 {background-color: #f4f4f4;}
.mypage_dashboard_list.type4 .list_box > li .state_2 {background-color: #e6f7f0; color: #429573;}
.mypage_dashboard_list.type4 .list_box > li .state_1::before {content: ''; background: no-repeat url(../../images/hmpg/icon_check2.png) center/contain; width: 15px; height: 8px; margin-right: 2px; display: inline-block;}

/*대쉬보드5*/
.mypage_dashboard .dot + .mypage_dashboard_list.type6 {margin-top: -20px;}
.mypage_dashboard_list.type6 {--gap: 0px; --col : 1;}
.mypage_dashboard_list.type6 > li:not(:first-child) {border-top: 1px solid #ddd;}
.mypage_dashboard_list.type6 > li {padding:22px 15px; display: flex; justify-content: space-between; align-items: center; position: relative; border-radius: 0; min-height: 110px;} 
.mypage_dashboard_list.type6 > li h5 {width: calc(100% - 280px); text-overflow: ellipsis; white-space: nowrap; font-size: 22px; font-family: var(--font2);  color: #000; line-height: 1.36; font-weight: 500; overflow: hidden;}
.mypage_dashboard_list.type6 > li h5.type2 {width: calc(100% - 330px);}
.mypage_dashboard_list.type6 > li .category {display: flex; align-items: center;}
.mypage_dashboard_list.type6 > li .category > span {width: 60px; height: 34px; line-height: 34px; font-weight: 500; text-align: center; border-radius: 8px; color: #429573; background-color: #e6f7f0;}
.mypage_dashboard_list.type6 > li .category.type2 > span {width: 70px; background-color: #f4f4f4; color: #000;}
.mypage_dashboard_list.type6 > li .category p {font-size: 19px; line-height: 1.4; color: #7f7f7f;}
.mypage_dashboard_list.type6 > li .category p span {margin: 0 5px; color: #429573;}
.mypage_dashboard_list.type6 > li .name {font-size: 19px; line-height: 1.4; color: #7f7f7f;}
.mypage_dashboard_list.type6 > li .date {width: 104px; text-align: right; font-size: 19px; line-height: 1.4; color: #7f7f7f;}

/*대쉬보드 - 기본*/
.mypage_dashboard .slick-slider {position: relative; padding-bottom: 30px; margin: 0 -30px 80px}
.mypage_dashboard .slick-slider .slick_slide_item {padding: 0 30px}
.mypage_dashboard .slick-slider .slick-dots {z-index: 1; position: absolute; bottom: 3px; left: 50%; transform: translateX(-50%); display: flex !important; display:-webkit-flex !important;}
.mypage_dashboard .slick-slider .slick-dots li {margin: 0 6px; width: 16px; height: 16px; line-height: 16px;}
.mypage_dashboard .slick-slider .slick-dots li button {width: 16px; height: 16px; line-height: 16px; font-size: 0; border-radius: 16px; border: 2px solid #429573;}
.mypage_dashboard .slick-slider .slick-dots li.slick-active button {background-color: #429573;}
.challenge_item {position: relative; padding-top: 40px; padding-bottom: 30px; color: #000;  font-weight: 500;}
.challenge_item  + .challenge_item {border-top: 1px solid #ddd;}
.challenge_item .top {position: relative; padding-right: 120px; margin-bottom: 20px;}
.challenge_item .top .dDay {position: absolute; right: 0; bottom: 0; width: 80px; border: 1px solid #429573; color: #429573; text-align: center; border-radius: 4px; display: flex; align-items: center; justify-content: center;}
.challenge_item .top h4 {margin-top: 0; font-family: var(--font2); font-size: 22px; line-height: 1.36;  color: #000;}
.challenge_item .flex {justify-content: space-between;}
.challenge_item .comment {flex: 1 1 auto; line-height: 26px; padding-left: 32px; background: no-repeat url(../../images/hmpg/icon_comment2.png) top 0px left 0/26px auto;}
.challenge_item .list_box {position: absolute; bottom: 30px; right: 0;}
.challenge_item .list_box > li {margin-right: 10px; padding-right: 10px;}
.challenge_item .list_box li span {margin-right: 0;}
.challenge_item .list_box > li:first-child {font-size: 24px; font-weight: bold; color: #e7360d; padding-right: 0;}
.challenge_item .list_box > li:first-child::after {display: none;}
.challenge_item .list_box2 {flex: 1 1 auto; display: flex;}
.challenge_item .list_box2 li {margin-right: 20px; line-height: 26px; padding-left: 28px; font-size: 18px; color: #7f7f7f;}
.challenge_item .list_box2 li.list1 {background: no-repeat url(../../images/hmpg/icon_calendar2.png) top 0px left 0/22px auto;}
.challenge_item .list_box2 li.list2 {padding-left: 26px; background: no-repeat url(../../images/hmpg/icon_location.png) top 0px left 0/21px auto;}
.challenge_item .list_box2 li.list3 {padding-left: 22px; background: no-repeat url(../../images/hmpg/icon_join.png) top 0px left 0/16px auto;}
.challenge_item .list_box2 li.list4 {background: no-repeat url(../../images/hmpg/icon_comment2.png) top 0px left 0/23px auto;}
.challenge_item .list_box2 li.list5 {background: no-repeat url(../../images/hmpg/icon_mypage_heart.png) top 0px left 0/22px auto;}
.challenge_item .list_box2 li span {margin-right: 5px;}

/*봉사하기활동*/
.volunteer_top {margin-top: 80px; background-color: #ecf1ef;}
.volunteer_top .d_area {position: relative; display: flex; justify-content: space-between;}
.volunteer_top .d_area .volunteer_top_img {width: 580px; height: 560px; background: no-repeat center/cover;}
.volunteer_top .d_area .volunteer_top_list {padding: 55px 0 0 55px; width: calc(100% - 580px);}
.volunteer_top .d_area .volunteer_top_list h3 {margin-bottom: 40px; line-height: 34px; font-size: 34px; font-weight: 600; color: #429573;}
.volunteer_top .d_area .volunteer_top_list ul li {margin-bottom: 7px;}
.volunteer_top .d_area .volunteer_top_list ul li:last-child {margin-bottom: 0;}
.volunteer_top .d_area .volunteer_top_list ul li dl {display: flex;}
.volunteer_top .d_area .volunteer_top_list ul li dl dt {padding: 0 15px; width: 93px; height: 34px; line-height: 34px; font-size: 18px; border-radius: 34px; background-color: #d2e7df;}
.volunteer_top .d_area .volunteer_top_list ul li dl dd {padding-left: 25px; width: calc(100% - 93px); line-height: 30px; font-size: 20px;}
.volunteer_top .d_area .volunteer_top_list .like {display: flex; justify-content: center; align-items: center; width: 90px; height: 40px; position: absolute; bottom: 30px; right: 0; border-radius: 40px; border: 1px solid #429573;}
.volunteer_top .d_area .volunteer_top_list .like [class*="icon_"] {display: block; width: 20px; height: 19px; overflow: hidden; text-decoration: 10000px; font-size: 1px; background: no-repeat center/contain;}
.volunteer_top .d_area .volunteer_top_list .like .icon_like {background-image: url(../../images/hmpg/icon_like2.png);}
.volunteer_top .d_area .volunteer_top_list .like  span {margin-left: 10px; font-size: 20px;}
.volunteer_list {margin-bottom: 55px;}
.volunteer_list li {margin-bottom: 20px; padding-left: 25px; position: relative;}
.volunteer_list li:last-child {margin-bottom: 0;}
.volunteer_list li::before {content: ''; display: block; position: absolute; top: calc(50% - 6px); left: 0; width: 10px; height: 10px; border-radius: 10px; background-color: #429573;}
.volunteer_list li dl {display: flex;}
.volunteer_list li dl dt {line-height: 1.5; font-size: 2.2rem; font-weight: 600;}
.volunteer_list li dl dd {padding-left: 50px; width: calc(100% - 80px); line-height: 1.5; font-size: 2rem;}
.volunteer_list li dl dd span {color: #429573;}
.volunteer_contents .title {padding: 45px 0; line-height: 30px; font-size: 30px; font-weight: 600; text-align: center; border-radius: 20px 20px 0 20px; color: #fff; background-color: #429573; word-break: keep-all;}
.volunteer_contents .img img {margin-top: 20px; width: 100%; height: auto;}

/*챌린지현황버튼*/
.challenge_btn {display: none; z-index: 999; position: fixed; bottom: 100px; left: calc((100% - 1200px)/2 + 1300px);}
.challenge_btn button {width: 82px; height: 82px; border-radius: 50% 50% 50% 0;}
.challenge_btn button.challenge_btn_map {background: #429573 url(../../images/hmpg/icon_challenge_btn_map.png) no-repeat center;}
.challenge_btn button.challenge_btn_logo {background: #429573 url(../../images/hmpg/icon_challenge_btn_logo.png) no-repeat center;}
.challenge_btn button::after {content: ''; position: absolute; bottom: -36px; left: 0; display: block; width: 78px; height: 32px; background: url(../../images/hmpg/icon_challenge_btn_shadow.png) no-repeat center;}
.challenge_btn .hover {opacity: 0; z-index: -1; position: absolute; bottom: 70px; left: 0; width: 82px; height: 82px; line-height: 87px; font-size: 21px; font-weight: 500; text-align: center; color: #fff; border-radius: 50% 50% 50% 0; background-color: rgba(255, 48, 0, 0.75); transition:all 0.4s; -webkit-transition:all 0.4s; -moz-transition:all 0.4s; -o-transition:all 0.4s;}
.challenge_btn .hover span {font-size: 27px; font-weight: 600;}
.challenge_btn button:hover + .hover {opacity: 1; z-index: 1;}

/*챌린지현황팝업*/
.challenge_popup {padding: 60px 40px 20px;}
.challenge_popup .challenge_popup_title {margin-bottom: 60px; display: flex; justify-content: space-between; align-items: center;}
.challenge_popup .challenge_popup_title span {width: 176px; height: 56px; line-height: 56px; font-size: 20px; font-weight: 600; text-align: center; border-radius: 28px; color: #fff; background-color: #429573;}
.challenge_popup .challenge_popup_title p {padding: 15px 20px; width:calc(100% - 190px); min-height: 56px; font-size: 22px; font-weight: 600; text-align: center; word-break: keep-all; border-radius: 28px; color: #000; background-color: #efefef;}
.challenge_popup .challenge_popup_state ul li {margin-bottom: 25px; display: flex; align-items: center;}
.challenge_popup .challenge_popup_state ul li .icon {width: 30px; height: 30px;}
.challenge_popup .challenge_popup_state ul li .icon.icon1 {background: url(../../images/hmpg/icon_challenge_popup_state1.png) no-repeat 0 center;}
.challenge_popup .challenge_popup_state ul li .icon.icon2 {background: url(../../images/hmpg/icon_challenge_popup_state2.png) no-repeat 0 center;}
.challenge_popup .challenge_popup_state ul li .icon.icon3 {background: url(../../images/hmpg/icon_challenge_popup_state3.png) no-repeat 0 center;}
.challenge_popup .challenge_popup_state ul li .bar {margin: 0 15px; position: relative; width: 155px; height: 10px; border-radius: 10px; background-color: #ccd8d3;}
.challenge_popup .challenge_popup_state ul li .bar .per {position: absolute; top: 0; left: 0; height: 10px; border-radius: 10px; background-color: #429573;}
.challenge_popup .challenge_popup_state ul li .num {min-width: 35px; font-size: 20px; font-weight: 600; text-align: right; color: #2d2d2d;}
.challenge_popup .challenge_popup_rate {position: relative;}
.challenge_popup .challenge_popup_rate .img {text-align: center;}
.challenge_popup.map .challenge_popup_rate .img {margin-top: -145px;}
.challenge_popup.logo .challenge_popup_rate .img {margin: 100px 0 50px;}
.challenge_popup .challenge_popup_rate .txt {z-index: 1; position: absolute; right: -33px;}
.challenge_popup .challenge_popup_rate .txt0 {display: none !important;}
.challenge_popup .challenge_popup_rate .txt1 {bottom: 10%;}
.challenge_popup .challenge_popup_rate .txt2 {bottom: 20%;}
.challenge_popup .challenge_popup_rate .txt3 {bottom: 30%;}
.challenge_popup .challenge_popup_rate .txt4 {bottom: 40%;}
.challenge_popup .challenge_popup_rate .txt5 {bottom: 50%;}
.challenge_popup .challenge_popup_rate .txt6 {bottom: 60%;}
.challenge_popup .challenge_popup_rate .txt7 {bottom: 70%;}
.challenge_popup .challenge_popup_rate .txt8 {bottom: 80%;}
.challenge_popup .challenge_popup_rate .txt9 {bottom: 90%;}
.challenge_popup .challenge_popup_rate .txt10 {bottom: 100%;}
.challenge_popup .challenge_popup_rate .txt::after {z-index: 1; content: ''; position: absolute; left: calc(-777px + 90px); display: block; width: 777px; height: 3px; background: url(../../images/hmpg/bg_challenge_popup_rate_line.png) no-repeat center;}
.challenge_popup .challenge_popup_rate .txt8::after {left: calc(-610px + 90px); width: 610px;}
.challenge_popup .challenge_popup_rate .txt9::after {left: calc(-540px + 90px); width: 540px;}
.challenge_popup .challenge_popup_rate .txt10::after {display: none;}
.challenge_popup.logo .challenge_popup_rate .txt::after {left: calc(-787px + 60px); width: 787px;}
.challenge_popup.logo .challenge_popup_rate .txt8::after {left: calc(-787px + 60px); width: 787px;}
.challenge_popup.logo .challenge_popup_rate .txt9::after {left: calc(-787px + 60px); width: 787px;}
.challenge_popup .challenge_popup_rate .txt .line {margin-bottom: -92.5px; display: flex; align-items: center; justify-content: center; width: 186px; height: 185px; font-size: 20px; font-weight: 500; color: #fff; background: url(../../images/hmpg/bg_challenge_popup_rate_txt.png) no-repeat 0 center;}
.challenge_popup .challenge_popup_rate .txt .line p {z-index: 9; width: 100px; height: 100px; line-height: 100px; text-align: center; border-radius: 100px; background-color: #e7360d;}
.challenge_popup .challenge_popup_rate .txt .line p span {font-size: 25px; font-weight: 600;}
.challenge_popup .challenge_popup_rate .achieve {z-index: 9; position: absolute; bottom: calc(100% - 157.5px); right: 0; width: 139px; height: 130px; background: url(../../images/hmpg/img_challenge_popup_map_achieve.png) no-repeat 0 center;}
.challenge_popup .challenge_popup_rate .achieve span {text-decoration: -10000px; font-size: 0px;}

/*소개*/
.introduce_area h3 {margin: 50px 0 100px; padding-left: 23px; position: relative; font-size: 26px; font-weight: 400;}
.introduce_area h3::before {content: ''; position: absolute; left: 0; top: 8px; width: 10px; height: 10px; border-radius: 50%; background-color: #429573;}
.introduce_area h3 span {font-weight: 600;}
.introduce_area h3 span strong {color: #489f7d;}
.introduce_area .text_list {margin-bottom: 130px; text-align: center;}
.introduce_area .text_list .text1 {font-size: 26px; line-height: 36px;}
.introduce_area .text_list .text1 span {font-weight: 600;}
.introduce_area .text_list .text1 span strong {color: #489f7d;}
.introduce_area .text_list .text2 {margin: 40px 0; font-size: 20px; line-height: 30px;}
.introduce_area .text_list .text2 span {font-weight: 600;}
.introduce_area .text_list .text3 {position: relative; font-size: 24px; font-weight: 500;}
.introduce_area .text_list .text3::after {z-index: -1; position: absolute; top: 13px; left: calc(50% - 165px); content: ''; display: block; width: 330px; height: 21px; background-color: #b6ffdf;}
.introduce_area .text_list .text_list_img {margin-top: 80px;}
.introduce_area .bi_list {display: flex; justify-content: center; gap: 80px; text-align: center;}
.introduce_area .bi_list li .bi_list_img {display: flex; align-items: center; justify-content: center; width: 286px; height: 238px; border: 1px solid #ccc; background: url(../../images/hmpg/bg_introduce_bi.png) no-repeat 0 center;}
.introduce_area .bi_list li p {margin-top: 35px; font-size: 22px; font-weight: 500; line-height: 28px;}
.introduce_area .button_box {margin-top: 90px;}
.introduce_area .button_box button {background-color: #489f7d; color: #fff;}

@media screen and (max-width:1600px) {
    /*챌린지현황버튼*/
    .challenge_btn {left: auto; right: 22px;}
}
@media screen and (max-width:1366px) {
    .d_area {margin: 0 25px; width: calc(100% - 50px);}
    .midarea .subtoparea .submenu_ara {overflow-x: overlay;}

    /*챌린지-검색*/ 
    .challenge_area .boardlist_top .box {flex-wrap: wrap;}
    .challenge_area .boardlist_top .box > div {flex: 1 1 auto;}
    .challenge_area .boardlist_top .box .calendarbox .inpbox {flex: 1 1 auto;}
    .challenge_area .boardlist_top .box .search_box .inpbox {width: 100%;}

    /*행동보드 (후기)*/
    .challenge_comment_list {gap: 20px;}
    .challenge_comment_list > li {width: calc(calc(100% - calc(20px * 3)) / 4);}
}
@media screen and (max-width:1024px) {
    .btn {padding: 0 15px; height: 35px; line-height: 33px; border-radius: 33px;}
    .btn2 {padding: 0 15px; min-width: 85px; height: 35px; line-height: 33px; border-radius: 33px;}
    .btn3 {min-width: 64px; height: 30px; line-height: 28px; border-radius: 33px;}
    .btn4 {border-radius: 4px;}
    .btn5 {min-width: 52px; height: 25px; line-height: 23px; font-size: 1.3rem; border-radius: 33px;}
    .btn6 {min-width: 50px; height: 30px; line-height: 28px; font-size: 1.3rem; border-radius: 33px;}
    .btn7 {padding: 0 5px; font-size: 1.3rem; border-radius: 33px;}
    .btn8 {width: 60px; height: 35px; margin-left: 2px;  border-radius: 4px; font-size: 1.3rem;}
    .btn9 {width: 85px; height: 35px;  font-size: 1.3rem;}
    .btn10 {width: 75px; height: 35px; font-size: 1.3rem;}
    .btn11 {min-width: 64px; height: 30px; line-height: 28px; border-radius: 33px;}

    .btn_more .icon {width: 12px; height: 12px;}
    .btn_more .icon::after, .btn_more .icon::before {top: 50%;}
    .btn_rd {width: 100%; height: 40px; border-radius: 60px; font-size: inherit;}
    .btn_more2 {width: 140px; height: 48px; font-size: 1.7rem;}

    .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;}

    /*row_box*/
    .row_box {--col : 12; --gap : 20px;}
    .row_box > .col_mo_1 {--col2: 1}
    .row_box > .col_mo_2 {--col2: 2}
    .row_box > .col_mo_3 {--col2: 3}
    .row_box > .col_mo_4 {--col2: 4}
    .row_box > .col_mo_5 {--col2: 5}
    .row_box > .col_mo_6 {--col2: 6}
    .row_box > .col_mo_7 {--col2: 7}
    .row_box > .col_mo_8 {--col2: 8}
    .row_box > .col_mo_9 {--col2: 9}
    .row_box > .col_mo_10 {--col2: 10}
    .row_box > .col_mo_11 {--col2: 11}
    .row_box > .col_mo_12 {--col2: 12}
    
    .board_title {margin-bottom: 10px;}
    .board_title h3 {font-size: inherit;}
    .board_title h3.dot {background-size: 8px 8px; background-position: 2px 5px; padding-left: 17px;}
    .board_title p.right {width: calc(100% - 90px); font-size: 1.4rem; line-height: 18px;}
    .board_title.line {padding-bottom: 10px;}
    .board_title .btn_more {margin-bottom: -5px; height: 30px; font-size: 1.4rem;}
    .board_title .btn_more .icon {width: 9px; height: 9px;}
    .board_title2 {margin-bottom: 10px;}
    .board_title2 h4 {font-size: 15px;}
    .board_title2 p {font-size: 1.4rem; line-height: 18px; margin-top: 7px;}
    .boardview + .board_title2 {margin-top: 30px;}
    .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;}
    .num_list3 {counter-reset: num;}
    .num_list3 > li {padding-left: 17px;}
    .num_list3 > li::before {width: 14px; font-size: 1.4rem;}

    .d_area {width: initial;}
    .contentsarea {padding: 30px 0;}
    .membership_area .text_box {font-size: 1.5rem;padding: 15px 10px;border-radius: 12px;}

    /*진행바*/
    .progressbar {width: 100%; height: 10px; margin-bottom: 15px;}

    .midarea .subtoparea {padding-top: 55px; margin-bottom: 0px;}
    .midarea .subtoparea:before {content: ''; display: block; position: absolute; width: 100%; height: 70px; bottom: 0; left: 0; background-size: cover;}
    .midarea .subtoparea .d_area {position: relative; height: 70px;}
    .midarea .subtoparea h2 {padding-top: 15px; font-size: 2rem; line-height: 2; text-align: center;}
    .midarea .subtoparea.subtoparea03 {background: url('../../images/hmpg/bg_subtoparea03_m.jpg') no-repeat center / cover;} /*정책참여*/
    .midarea .subtoparea.subtoparea06:before {height: 100px;}
    .midarea .subtoparea.subtoparea06 .d_area {height: 100px;}
    .midarea .subtoparea.membership {padding-top: 55px; margin-bottom: 10px;}
    .midarea .subtoparea.membership::before {height: 70px;}
    .midarea .subtoparea.membership h2 {height: 70px; font-size: 15px;}
    .midarea .subtoparea.search .d_area .search_box {width: 100%;}
    .midarea .subtoparea.search .d_area .search_box input {padding: 0 40px 0 50px; height: 34px; font-size: 1.6rem; border-radius: 17px 17px 0 17px; background-position: 18px center; background-size: 30px;}
    .midarea .subtoparea.search .d_area .search_box input::placeholder {font-size: 1.6rem;}
    .midarea .subtoparea.search .d_area .search_box .btn_search {right: 12px; top: calc(50% - 10px); width: 20px; height: 20px; border-radius: 3px;}
    .midarea .subtoparea.search .d_area .search_box .btn_search .icon {width: 15px; height: 15px;}
    .midarea .subtoparea.search .d_area .search_box .btn_search .icon::before {right: 1px; width: 6px;}
    .midarea .subtoparea.search .d_area .search_box .btn_search .icon::after {width: 7px; height: 7px;}
    .midarea .subtoparea .lnb_area {bottom: -30px; padding-top: 20px;}
    .midarea .subtoparea .lnb_area li {padding-right: 7px; margin-right: 7px;}
    .midarea .subtoparea .lnb_area li::before {right: -2.5px; top: calc(50% - 3px); width: 4px; height: 6px; background-size: contain;}
    .midarea .subtoparea .lnb_area li a {font-size: 1.4rem; line-height: 1.4;}
    .midarea .subtoparea .lnb_area li.home a {margin-top: -2px; width: 10px; height: 9px; background-size: contain;}
    .midarea .subtoparea .submenu_ara {bottom: 0px; height: 40px; padding-bottom: 15px; overflow-y: hidden;}
    .midarea .subtoparea .submenu_ara ul {border-radius: 0; gap: 20px; height: 28px;}
    .midarea .subtoparea .submenu_ara ul li {width: auto;  line-height: 28px;}
    .midarea .subtoparea .submenu_ara ul li a {width: auto; font-size: 1.4rem;}
    .midarea .subtoparea .submenu_ara ul li.active {height: 28px; line-height: 28px;}
    .midarea .subtoparea .submenu_ara ul li.active a {border-bottom-width: 1px;}

    .detail_tab {margin-bottom: 30px; margin-top: 0;}
    .detail_tab ul li {height: 60px; line-height: 60px;}
    .detail_tab ul li a {font-size: 1.7rem; height: 60px;}
    .detail_tab2 {margin-bottom: 30px; margin-top: 36px;}
    .detail_tab2 {overflow-x: auto;}
    .detail_tab2 ul {max-width: none;}
    .detail_tab2 ul li {width: auto; height: 36px; line-height: 36px; min-width: 126px;}
    .detail_tab2 ul li a {font-size: inherit; height: 36px;}
    .detail_tab2 ul li a img {margin-right: 5px; width: auto; height: 12px;}

    .tabmenu {margin-bottom: 20px;}
    .tabmenu button {text-align: left; font-size: 1.6rem;}
    .tabmenu > button {position: relative; padding: 0 20px 0 10px; display: block; width: 100%; height: 40px; color: #fff; font-size: 1.6rem; background-color: #429573;}
    .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:last-child {border-bottom: 0;}
    .tabmenu .dropdown-menu li:first-child button {border-radius: 8px 8px 0 0;}
    .tabmenu .dropdown-menu li:last-child button {border-radius: 0 0 8px 8px;}
    .tabmenu .dropdown-menu li button {padding: 10px; font-size: 1.6rem; height: auto !important; border: 0 !important;}
    .tabmenu .dropdown-menu li button span {display: block; max-height: initial; -webkit-line-clamp: initial; line-height: 18px;}
    
    .video_box .youtube, 
    .video_box .video {margin: 30px 0 0; width: 100%; height: 500px;}
    .video_box .youtube iframe {width: 100%; height: 500px;}

    /*마이페이지*/
    .mypage_tab {margin-bottom: 30px;}
    .mypage_tab ul {padding: 10px 0; width: 240px; flex-wrap: wrap;}
    .mypage_tab ul li {margin: 10px 0; width: 80px;}
    .mypage_tab ul li::after {top: calc(50% - 16px); height: 32px;}
    .mypage_tab ul li:nth-child(3):after {display: none;}
    .mypage_tab ul li p.txt1 {font-size: 1.3rem;}
    .mypage_tab ul li p.txt2 span {font-size: 18px;}

    /*멤버쉽*/
    /*회원가입*/
    .membership_area .step_box {margin-top: -20px; border:0; display: flex; margin-right: 0; align-items: center; justify-content: flex-end; position: relative; gap: 7px;}
    .membership_area .step_box li {display: block; width: 8px; height: 8px; flex: 0 1 auto; position: static;}
    .membership_area .step_box li.complete::before,
    .membership_area .step_box li::after {display: none}
    .membership_area .step_box li.active {height: auto; background-color: transparent; padding: 2px 12px 0 0;}
    .membership_area .step_box li p {width: 100%; font-size: inherit;  text-align: center; font-family: 'LeferiBase', 'Pretendard';}
    .membership_area .step_box li::before {display: block; width: 10px; height: 10px; border-radius: 100%; overflow: hidden; background: #dddddd; color: #dddddd; font-size: 1.2rem;} 
    .membership_area .step_box li.step1::before {content: '1';} 
    .membership_area .step_box li.step2::before {content: '2';}
    .membership_area .step_box li.step3::before {content: '3';}
    .membership_area .step_box li.step4::before {content: '4';}
    .membership_area .step_box li.active::before {width: 15px; height: 15px; display: flex; align-items: center; justify-content: center; color: #fff; background-color: #018489; text-indent: -0.05em;} 
    .membership_area .step_box li p {display: none;}
    .membership_area .step_box li.active p {color: #000; display: block; text-align: left; position: absolute; left: 0; top: 50%; transform: translate(0, -50%); margin-top: 0.25em;}
    .membership_area .step_box li.active p::before {display: none;}
    /*회원가입 회원유형선택*/
    .membership_area .join_type {width: 540px; gap: 16px;}
    .membership_area .join_type li {width: 130px; height: 80px; border-radius: 12px;}
    .membership_area .join_type li .hover,
    .membership_area .join_type li .tit {font-size: 1.5rem;}
    .membership_area .join_type.sns_join_type {width: 585px;}
    .membership_area .join_type.sns_join_type li:nth-child(3) {margin-right: 15px;}
    /*회원가입 이용약관동의*/
    .agree_area .agree_box {margin-bottom: 16px; padding: 15px; min-height: 50px; max-height: 95px;}
    .agree_area .agree_box h4 {font-size: 1.6rem;}
    .agree_area h4 {margin-bottom: 10px; font-size: 15px;}
    .agree_area h5 {margin-bottom: 5px; font-size: 1.5rem;}
    .membership_area .check_box input[type=checkbox] + label.on::before, 
    .membership_area .check_box input[type=checkbox]:checked + label::before {background-size: 7px 6px}
    .membership_area .agree_area {margin-bottom: 25px;}
    .membership_area .agree_area > p {font-size: 1.2rem; line-height: 15px;}
    .membership_inner .check_box {justify-content: flex-start;}
    .membership_inner .check_box input[type=checkbox] + label {font-size: inherit; padding-left: 20px;}
    .membership_inner .check_box input[type=checkbox] + label::before {width: 13px; height: 13px; top: calc(50% - 8px); margin-top: 0;}
    .membership_inner .check_box.all {margin: -10px 0 25px; padding: 5px 0; height: 40px; margin: 22px 0; border-radius: 12px;}
    .membership_inner .check_box.all input[type=checkbox] + label {font-size: inherit; padding-left: 20px; color: #000;}
    .membership_inner .check_box.all + .button_box {margin-bottom: 30px;}
    /*회원가입 본인인증*/
    .membership_area .certification_box {max-width: 320px; padding: 170px 0px 35px; background: url('../../images/hmpg/icon_join_certification.png') no-repeat center 60px / 90px auto;}
    .membership_area .certification_box.certification_box_gpki {background: url('../../images/hmpg/icon_join_certification_gpki.png') no-repeat center 48px / 80px auto;}
    .membership_area .certification_box .button_box {margin: 20px 0 0;}
    .membership_area .certification_box .text {font-size: 1.5rem; padding: 15px 10px; border-radius: 12px; word-break: keep-all;}
    .membership_area .certification_box .write_box .inp_area {padding: 25px 0 0;}
    .membership_area .certification_box .write_box .inp_area li {margin-bottom: 10px;}
    .membership_area .certification_box .write_box .inp_area li .inpbox {height: 35px;}
    .membership_area .certification_box .write_box .inp_area li .inpbox input.txt {padding: 0 10px;}
    .membership_area .certification_box .write_box .button_box {margin-top: 20px;}
    .membership_area .certification_box .write_box .button_box button {height: 45px; font-size: 15px; border-radius: 5px;}
    /*회원가입 정보입력*/
    .membership_area .step_box + .boardview {margin-top: 30px;}
    /*회원가입 가입완료*/
    .membership_area .finish_box {margin-top: 10px; padding: 130px 30px 35px; background-size: 70px auto; background-position: center 50px;}
    .membership_area .finish_box .text_box + .text {margin-top: 30px;}
    .membership_area .finish_box .text {font-size: 1.5rem; min-height: 35px;}
    .membership_area .finish_box .button_box > div {gap: 10px;}
    .membership_area .finish_box .button_box {margin: 20px 0 0;}
    .membership_area .finish_box .button_box button {height: 35px; font-size: 1.4rem; max-width: 85px;}

    /*멤버쉽 로그인*/
    .membership_area .login_box {margin-top: 30px; max-width: 310px; padding: 0 20px; padding-bottom: 70px;}
    .membership_area .login_box .login_top {padding: 35px 0;}
    .membership_area .login_box h2 img {max-width: 78px;}
    .membership_area .login_box .login_frm input {padding:0 6px; height: 30px; width: 100%; margin-top: 10px; font-size: 1.4rem;}
    .membership_area .login_box .login_frm.st2 input {font-size: 1.4rem;}
    .membership_area .login_box .login_frm .btn {height: 28px; min-width: 48px; font-size: 1.2rem;}
    .membership_area .login_box .login_button_box {margin-top: 20px; gap: 5px;}
    .membership_area .login_box .login_button_box .btn {height: 35px; font-size: 1.4rem;}
    .membership_area .login_box .login_sns {margin-top: 25px;}
    .membership_area .login_box .login_sns img {width: 35px;}
    .membership_area .login_box .login_sns h3::before {left: 25px; right: 25px;}
    .membership_area .login_box .login_sns h3 span {padding: 0 5px; background-color: #fff; font-size: 1.1rem;}
    .membership_area .login_sns_button {gap: 20px; margin-top: 17px;}
    .membership_area .login_find_area ul {gap: 24px;  margin-top: 20px;}
    .membership_area .login_find_area ul a {font-size: 1.3rem;}
    .membership_area .login_text_box {font-size: 1.5rem; margin: -8px -25px 0; padding: 10px 20px; border-radius: 12px; word-break: keep-all;}
    .membership_area .login_text_box + .login_text_box {margin-top: 10px;}
    .membership_area .login_text_box2 {font-size: 1.3rem; padding: 13px 10px;}
    .membership_area .login_text_box3 {margin-top: 20px;}
    .membership_area .login_text_box3 .text1 {margin-bottom: 8px; line-height: 15px; font-size: 1.6rem;}
    .membership_area .login_text_box3 .text2 {line-height: 16px; font-size: 1.4rem;}
    
    /*멤버쉽 인증*/
    .membership_area .membership_inner {margin:28px auto 0;}
    .membership_area .login_box .radio_box {gap: 22px; max-width: 240px; margin: 0 auto; padding-top: 15px; justify-content: space-between;}
    .membership_area .login_box .radio_box > li {margin-right: 0px;}
    .membership_area .login_box .radio_box input[type=radio] + label {font-size: 1.5rem; padding-left: 20px;}
    .membership_area .login_box .radio_box input[type=radio] + label::after {width: 12px; height: 12px; top: calc(50% - 8px);}
    .membership_area .login_box .radio_box input[type=radio] + label.on::before, 
    .membership_area .login_box .radio_box input[type=radio]:checked + label::before {top: calc(50% - 4px); left: 4px;} 

    /*통합검색*/
    .totalsearch_area .search_box {margin: 0 auto 50px; width: 100%; height: 36px; border-bottom-width: 1px;}
    .totalsearch_area .search_box input {padding: 0 20px 0 0; width: 100%; height: 100%; font-size: 1.6rem;}
    .totalsearch_area .search_box .btn_search {right: 0; top: calc(50% - 8px);}
    .totalsearch_area .search_box .btn_search .icon {width: 17px; height: 17px;}
    .totalsearch_area .search_box .btn_search .icon::after {width: 10px; height: 10px; border: 2px solid #000;}
    .totalsearch_area .search_box .btn_search .icon::before {bottom: 3px; width: 7px; height: 2px;}
    .totalsearch_area .search_box .check_box label {font-size: 1.4rem;}
    .totalsearch_area .result_txt {margin: 10px 0 20px; font-size: 1.6rem; word-break: keep-all;}
    .totalsearch_area .search_menu.optionbox {margin-bottom: 20px;}
    .totalsearch_area .result_area {height: auto !important; display: block; display:-webkit-block;}
    .totalsearch_area .result_area > li {width: 100%;}
    .totalsearch_area .result_area > li > a {position: absolute; top: 0; width: 25%; line-height: 30px;}
    .totalsearch_area .result_area > li:nth-child(1) > a {left: 0;}
    .totalsearch_area .result_area > li:nth-child(2) > a {left: 25%;}
    .totalsearch_area .result_area > li:nth-child(3) > a {left: 50%;}
    .totalsearch_area .result_area > li:nth-child(4) > a {left: 75%;}
    .totalsearch_area .result_area > li:first-child > a {border-radius: 30px 0 0 30px;}
    .totalsearch_area .result_area > li:last-child > a {border-radius: 0 30px 0 0;}
    .totalsearch_area .result_area > li:first-child > a::before {left: 0; border-radius: 30px 0 0 30px;}
    .totalsearch_area .result_area > li:last-child > a::before {border-radius: 0 30px 30px 0;}
    .totalsearch_area .result_area > li.active > a::before {border-radius: 30px 30px 0 30px;}
    .totalsearch_area .result_area > li:first-child.active > a::before {border-radius: 30px 30px 0 30px;}
    .totalsearch_area .result_area > li:last-child.active > a::before {border-radius: 30px 30px 0 30px;}
    .totalsearch_area .result_area > li > a span {font-size: inherit;}
    .totalsearch_area .result_area > li .tab_pane {position: relative; padding-top: 50px;}
    .totalsearch_area .result_area > li.active .tab_pane {display: block;}
    .totalsearch_area .result_area > li .tab_pane > dl {margin-bottom: 20px;}
    .totalsearch_area .result_area > li .tab_pane > dl > dt {padding-left: 10px; padding-bottom: 0;}
    .totalsearch_area .result_area > li .tab_pane > dl > dt::before {top: 10px; width: 5px; height: 5px;}
    .totalsearch_area .result_area > li .tab_pane > dl > dt p {font-size: 1.6rem;}
    .totalsearch_area .result_area > li .tab_pane > dl > dt .btn_more {font-size: 1.4rem;}
    .totalsearch_area .result_area > li .tab_pane > dl > dt .btn_more .icon {margin-left: 5px; width: 9px; height: 9px;}
    .totalsearch_area .result_area > li .tab_pane > dl > dt .btn_more .icon::after, 
    .totalsearch_area .result_area > li .tab_pane > dl > dt .btn_more .icon::before {top: 50%;}
    .totalsearch_area .result_area > li .tab_pane > dl > dt .board_top {font-size: 1.3rem;}
    .totalsearch_area .result_area > li .tab_pane > dl > dd .totalsearchboard {padding: 0;}
    .totalsearch_area .result_area > li .tab_pane > dl > dd .totalsearchboard > li {padding: 5px 0;}
    .totalsearch_area .result_area > li .tab_pane > dl > dd .totalsearchboard > li a .title_box {padding: 0; margin-bottom: 5px;}
    .totalsearch_area .result_area > li .tab_pane > dl > dd .totalsearchboard > li a .title_box h4 {width: calc(100% - 92px); font-size: 1.6rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
    .totalsearch_area .result_area > li .tab_pane > dl > dd .totalsearchboard > li a .title_box .date {padding-left: 7px; margin-left: 5px; font-size: 1.4rem;}
    .totalsearch_area .result_area > li .tab_pane > dl > dd .totalsearchboard > li a .title_box .date::before {height: 10px; top: 8px;}
    .totalsearch_area .result_area > li .tab_pane > dl > dd .totalsearchboard > li a p {margin-bottom: 5px; font-size: 1.4rem; line-height: 16px;}
    .totalsearch_area .result_area > li .tab_pane > dl > dd .totalsearchboard > li .nav_list li {font-size: 1.3rem;}
    .totalsearch_area .result_area > li .tab_pane > dl > dd .totalsearchboard > li .nav_list li::after {margin-top: -3px; padding: 0 5px;}
    .totalsearch_area .result_area > li .tab_pane > dl > dd .challenge_comment_list {margin-top: 10px;}
    .totalsearch_area .result_area > li .tab_pane > dl > dd .button_box {margin-top: 0;}

    /*개인정보처리방침*/
    .privacy .box {margin: 15px 0 25px; padding: 15px 20px; font-size: 1.4rem; line-height: 22px; border-radius: 10px;}
    .privacy .data {margin-top: 10px;}
    .privacy-wrap {font-size: 1.4rem; line-height: 2.2rem;}
    .privacy-wrap h4 {font-size: 1.6rem; margin: 20px 0 10px;}
    .privacy-wrap .mb20 {margin-bottom: 10px !important;}
    .privacy-wrap .mt20 {margin-top: 10px !important;}
    .privacybox {margin: 10px 0 0;}
    .listtype-dot > li {padding-left: 8px;}
    .listtype-dot > li::before {top: 11px; width: 2px; height: 2px;}
    .table_privacy {overflow-x: auto;}
    .table_privacy table {width: 640px; margin: 15px 0 10px;}
    .table_privacy table thead th {padding: 12px 10px; line-height: 22px;}
    .table_privacy table tbody th {padding: 11px 10px; line-height: 22px;}
    .table_privacy table td {padding: 11px 10px; line-height: 22px;}
    .table_privacy.index table {width: 100%;}
    .table_privacy.index table thead th {padding: 12px 10px; font-size: 15px;}
    .table_privacy.index table td {padding: 15px; font-size: 1.5rem;}
    .table_privacy.index table td:last-child {padding-left: 25px;}
    
    /*이용약관*/
    .rule-index {padding: 20px; border-top: 2px solid #222; border-bottom: 1px solid #e5e5e5; height: 180px; overflow-y: scroll;}
    .rule-index ul {float: none; width: 100%; padding: 0;}
    .rule-index ul + ul {border-left: 0; padding-left: 0; margin-top: 8px;}
    .rule-index ul li {font-weight: 400; margin-top: 8px;}
    .rule-index ul li a {font-size: 1.5rem;}
    article.rule h4 {font-size: 2rem; margin-top: 40px;}
    article.rule h5 {font-size: 1.6rem; margin: 30px 0 10px;}
    article.rule p {font-size: 1.4rem; line-height: 1.8;}
    article.rule li {line-height: 1.8;}
    article.rule ol > li {padding-left: 15px; text-indent: -15px; font-size: 1.4rem;}

    /*챌린지*/
    /*목록*/
    .challenge_area {margin-top: 20px; padding: 0;}
    .challenge_area .challenge_list_top {padding: 26px 0 16px;  margin:0 -20px 25px;}
    .challenge_area .challenge_list_top h2 {font-size: 1.8rem; padding: 0 46px; letter-spacing: -0.04em; word-break: keep-all;}
    .challenge_area .challenge_list_top button {width: 125px; height: 35px; margin-top: 15px;; font-size: inherit;}
    .challenge_area .challenge_list_top button::before {top:-6px; right:-6px; width: 24px; height: 24px;}

    /*챌린지 - 검색*/ 
    .challenge_area .board_top {padding: 0 10px;}
    .challenge_area .board_top .all {font-size: inherit;}

    /*챌린지 - 소개*/
    /*챌린지 소개 - 상단*/
    .challenge_detail_top {margin-top: 20px;  height: 300px; margin-bottom: 15px;}
    .challenge_detail_top .cdt_bg {position: absolute; z-index: -1; height: 100%; width: 100vw; top:0; left: 50%; transform: translateX(-50%); display: block; background: #ddd no-repeat center/cover;}
    .challenge_detail_top h3 {position: absolute; bottom: 180px; font-size: 2.6rem; word-break: keep-all;}
    .challenge_detail_top .challenge_detail_top_dec {left: -25px; right: -25px; bottom: 0; width: auto; height: 170px;  padding: 15px 25px; border-radius: 0; background-color: rgba(40, 40, 40, 0.7);}
    .challenge_detail_top .challenge_detail_top_dec .percent {top:-36px; right: 26px; width: 44px; height: 44px; font-size: 1.7rem;}
    .challenge_detail_top .challenge_detail_top_dec .progressbar {width: 100%; height: 10px; margin-bottom: 13px;}
    .challenge_detail_top .challenge_detail_top_dec .list_box_area {display: flex; flex-wrap: wrap; width: 100%; align-items: center}
    .challenge_detail_top .challenge_detail_top_dec .list_box {width: 100%;}
    .challenge_detail_top .challenge_detail_top_dec .list_box li {display: flex; font-size: inherit; color: #fff; padding-right: 5px; margin-right: 5px; line-height: 1.2; letter-spacing: -0.5px;}
    .challenge_detail_top .challenge_detail_top_dec .list_box2 {order: 1; margin-top: 14px; flex: 1 1 auto; width: auto; display: flex; align-items: center; gap: 10px;}
    .challenge_detail_top .challenge_detail_top_dec .list_box2 li {padding-right: 0px; margin-right: 10px;}
    .challenge_detail_top .challenge_detail_top_dec .list_box.right {margin-left: auto; margin-top: 10px;  order: 3; width: auto;}
    .challenge_detail_top .challenge_detail_top_dec .list_box.right li {display: flex; padding-right: 10px; margin-right: 0px; font-size: inherit; line-height: 12px;}
    .challenge_detail_top .challenge_detail_top_dec .button_box {position: static; width: 100%;}
    .challenge_detail_top .challenge_detail_top_dec .button_box .btn {width: 140px; height: 44px; font-size: inherit;}
    .challenge_detail_top .challenge_detail_top_dec [class*="icon_"] {width: 12px; height: 12px;}
    .challenge_detail_top .challenge_detail_top_dec .icon_picture {width: 22px; height: 22px; margin-right: 0; background-image: url(../../images/hmpg/icon_picture.png);}
    .challenge_detail_top .challenge_detail_top_dec .icon_review {width: 22px; height: 22px; margin-right: 0; background-image: url(../../images/hmpg/icon_review.png);}

    /*챌린지 소개 - 상단 고정형*/
    .challenge_detail_top_fixed {padding: 0;}
    .challenge_detail_top_fixed .cdt_inner {padding-right: 0px; padding: 26px; width: 100%;}
    .challenge_detail_top_fixed h3 {font-size: 2rem;}
    .challenge_detail_top_fixed .challenge_detail_top_dec {width: 100%;flex-direction: column;}
    .challenge_detail_top_fixed .challenge_detail_top_dec > div {flex: 1 1 auto; width: 100%;}
    .challenge_detail_top_fixed .challenge_detail_top_dec .list_box li {font-size: 1.4rem; padding-right: 8px; margin-right: 8px; align-items: center;}
    .challenge_detail_top_fixed .challenge_detail_top_dec > .button_box {position: static; margin-top: 14px;}
    .challenge_detail_top_fixed .challenge_detail_top_dec > .button_box button {width: 140px; height: 44px; font-size: inherit; margin-left: 16px;}
    .challenge_detail_top_fixed .challenge_detail_top_dec .list_box2 {gap: 5px; margin-top: 9px;}
    .challenge_detail_top_fixed .challenge_detail_top_dec .list_box2 button {padding: 8px 16px; height: auto; font-size: 1.4rem;}
    .challenge_detail_top_fixed .challenge_detail_top_dec .list_box2 [class*="icon_"] {width: 12px; height: 12px; margin-right: 5px;}
    .challenge_detail_top_fixed .challenge_detail_top_dec .list_box2 .icon_picture {width: 10px; height: 10px;}
    .challenge_detail_top_fixed .challenge_detail_top_dec .list_box2 .icon_review {width: 10px; height: 10px;}

    /*챌린지 소개 - 본문*/
    .challenge_detail_desc .dot:before {top: calc(0.625em - 3px); left: 0px; width: 5px; height: 5px;}
    .challenge_detail_desc p.dot:before {top: calc(0.75em - 3px);}
    .challenge_detail_desc {font-size: inherit;}
    .challenge_detail_desc > h4:not(:first-child),
    .challenge_detail_desc > dl:not(:first-child) {margin-top: 20px;}
    .challenge_detail_desc > p:not(:first-child) {margin-top: 9px;}
    .challenge_detail_desc h4 {font-size: 1.6rem; padding-left: 13px;}
    .challenge_detail_desc p {line-height: inherit; padding-left: 13px;}
    .challenge_detail_desc dl {font-size: inherit;}
    .challenge_detail_desc dl dt {padding-left: 13px; min-width: 130px; line-height: inherit;} 
    .challenge_detail_desc .cdd_img_area {margin-top: 15px; gap: 10px;}
    .challenge_detail_desc .cdd_img_area figure {border-radius: 10px; border-bottom-right-radius: 0; width: calc(calc(100% - calc(10px * 3)) / 4);}
    .challenge_detail_desc .cdd_img_area2 {margin-top: 15px;}
    .challenge_detail_desc .cdd_img_area2 figure {border-radius: 10px; border-bottom-right-radius: 0; min-width: 138px; width: 100%; max-width: 30%; flex: 0 1 auto;}
    .challenge_detail_desc .cdd_img_area2 .cdd_img_area2_text {padding-left: 0px; margin-top: 9px; display: block !important;}
    .challenge_detail_desc .cdd_img_area2 .cdd_img_area2_text ul > li {padding-left: 15px; margin: 0;}
    .challenge_detail_desc .cdd_img_area2 .cdd_img_area2_text ul > li::before {content: '-'; margin-right: 4px; font-family: 'Gulim'; font-weight: 700;}
    .challenge_detail_desc .cdd_img_area2 .cdd_img_area2_text ul > li:after {display: none;}
    .mypage div.editor,
    .challenge_area div.editor {margin: 20px 0 0; padding: 15px; border-radius: 4px;min-height: 130px;}
    .challenge_detail_desc.type2 {font-size: inherit;}
    .challenge_detail_desc.type2 p {padding-left: 0px;}
    .challenge_detail_desc.type2 .keywords_list {margin-top: 10px;gap: 10px;}

    /*소개 - 목록*/
    .challenge_area .challenge_detail_bt.button_box {margin-top: 50px;  margin-bottom: -40px; padding: 15px 0;}
    .challenge_area .board_top {display: flex;}

    /*행동보드 (후기)*/
    .challenge_comment_list {margin-top: 16px; margin-bottom: 15px; gap: 20px;}
    .challenge_comment_list > li {width: calc(calc(100% - calc(20px * 2)) / 3);}
    .challenge_comment_list > li a {border-radius: 12px; border-bottom-right-radius: 0px;}
    .challenge_comment_list > li .text_box {padding: 10px; bottom: -1px;}
    .challenge_comment_list > li .text_box p {font-size: 1.4rem;}
    .challenge_comment_list > li .badge {padding: 0 5px 15px; right: 15px; width: 60px; height: 74px; line-height: 15px; font-size: 1.3rem;}
        
    /*행동보드 (후기) 등록*/
    .challenge_area .detail_tab + .board_top {margin-top: -10px;}
    .challenge_area .boardview table tr th {font-size: 1.4rem;}
    .challenge_area .boardview table tr td {padding: 12px 0px; font-size: 1.3rem;}
    .challenge_area .boardview table tr td input {font-size: 1.3rem;}
    .challenge_area .boardview table tr td textarea {height: 80px; font-size: 1.3rem;}
    .challenge_area .boardview table tr td textarea.h90 {height: 45px;}
    .challenge_area .button_box.mt40 {margin-top: 20px !important;}
    .challenge_area .button_box.mb100 {margin-bottom: 40px !important;}

    /*참여자 대화*/
    .chat_area {border-radius: 0px; margin:-31px -25px -30px;}
    .chat_area .chat_top {padding: 15px 25px 10px;}
    .chat_area .chat_top .search_box .inpbox {height: 25px;}
    .chat_area .chat_top .search_box .inpbox input {padding: 0 10px;}
    .chat_area .chat_top .search_box .btn_search {width: 15px; height: 15px; top: calc(50% - 12.5px); right: 15px;}
    .chat_area .chat_top .search_box .btn_search .icon {transform: scale(0.6);}
    .chat_area .chat_con {padding: 0 20px 0;}
    .chat_area .chat_con .chat_scroll {padding-right: 10px; padding-bottom: 14px; margin-right: -15px; height: 360px;}
    .chat_area .chat_con .chat_scroll::-webkit-scrollbar-track {border-radius: 5px;}
    .chat_area .chat_con .chat_scroll::-webkit-scrollbar {width: 6px;}
    .chat_area .chat_con .chat_scroll::-webkit-scrollbar-thumb {border-radius: 5px;}
    .chat_area .chat_history {gap: 10px;}
    .chat_area .chat_message {padding:12px 15px; border-radius: 15px 15px 15px 0; max-width: calc(100% - 25px);}
    .chat_area .chat_message.right {border-radius: 15px 15px 0 15px}
    .chat_area .chat_message .chm_top {gap: 10px;}
    .chat_area .chat_message .chm_top .chm_name {font-size: 1.4rem;}
    .chat_area .chat_message .chm_top .chm_date {font-size: 1.3rem;}
    .chat_area .chat_message .chm_top .btn {margin: 0; position: absolute; width: 55px; height: 24px; top: 12px; right: 15px; font-size: 1.2rem; padding: 0 10px; justify-content: center;}
    .chat_area .chat_message .chm_top .btn [class*="icon_"] {margin-right: 2px; min-width: 12px; width: 12px; height: 12px;}
    .chat_area .chat_message .chm_con {margin-top: 5px; font-size: 1.3rem;}
    .chat_area .chat_bt {padding: 12px 20px 20px;}
    .chat_area .chat_bt textarea {height: 63px; border-radius: 10px; padding: 10px; font-size: 1.2rem;}
    .chat_area .chat_tf_bt {margin-top: 10px; gap: 10px;}
    .chat_area .chat_tf_bt .chat_count {font-size: 1.3rem;}

    /*게시판*/
    .mypage_area,
    .board_area {margin-top: 0; padding-bottom: 15px}
    .board_area.st1 {margin-top: 0px;}
    .board_area .gallaylist.type1 {padding-bottom: 15px;}

    /*faq*/
    .board_area .detail_tab2 ul li a {font-size: inherit;}
    .board_area .detail_tab2 ul li {width: 100px;}

    /*마이페이지*/
    .mypage_area {padding-bottom: 15px; margin-top: 20px;}
    .mypage_area.mypage_dashboard {margin-top: 0;}
    .mypage_dashboard_top {padding-top: 55px;}
    .mypage_dashboard_top + .contentsarea {padding-top: 15px;}
    .mypage_dashboard_inner {height: 115px;}
    .mypage_dashboard_inner figure {width: 149px; height: 117px; left: calc(50% - 74px); top: calc(50% - 58px);}
    .mypage_dashboard_inner figure > div {width: 80px; height: 80px; top: calc(50% - 40px); left: calc(50% - 40px);}
    .mypage_dashboard_inner.type2 h2 {padding: 0 30px; font-size: 17px;}
    .mypage_dashboard {--gap: 20px; --col : 1;}
    .mypage_dashboard .dashboard_title {padding-left: 22px;  margin-top: 30px; font-size: 1.6rem; background-size: 13px 15px;}
    .mypage_dashboard .dot {padding-left: 13px; font-size: 1.6rem; margin-bottom: 15px;}
    .mypage_dashboard .dot:before {top: calc(0.625em - 2.5px); left: 0px; width: 5px;height: 5px;}
    .mypage_dashboard_list > li {border-radius: 10px 10px 0 10px;} 
    .mypage_dashboard_list.type1 {--gap: 10px; --col : 2; margin-bottom: 10px;}
    .mypage_dashboard_list.type1 > li {padding: 10px;}
    .mypage_dashboard_list.type1 > li > dl > dt {padding: 10px; min-width: 65px;}
    .mypage_dashboard_list.type1 > li > dl > dd strong {font-size: 18px; margin-right: 4px;}
    .mypage_dashboard_list.type1.type5 {margin: 0 0 20px;}
    .mypage_dashboard_list.type1.type5 > li {padding: 10px 10px 15px; width: calc(50% - 5px);}
    .mypage_dashboard_list.type1.type5 > li > dl {display: block;}
    .mypage_dashboard_list.type1.type5 > li > dl > dt {margin-bottom: 15px; padding: 5px 0; width: 100%;}
    .mypage_dashboard_list.type1.type5 > li > dl > dt img {margin: -3px 5px 0 0; width: 16px; height: auto;}
    .mypage_dashboard .detail_tab2 {margin: 15px 0 -5px;}
    .mypage_dashboard .challenge_item .top .dDay {height: 20px; line-height: 18px; border-radius: 5px;}

    /*대쉬보드2*/
    .mypage_dashboard_list.type2 {--gap: 10px; --col : 4; flex-wrap: nowrap; margin-left: -25px; margin-right: -25px; padding: 10px 25px; overflow-x: auto; overflow-y: hidden; padding-bottom: 15px; margin-bottom: -15px; margin-top: -5px;}
    .mypage_dashboard_list.type2 > li {min-width: 150px; flex: 1 1 auto; padding: 11px 10px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);}
    .mypage_dashboard_list.type2 dl dt {padding-bottom: 4px; font-size: 1.4rem;}
    .mypage_dashboard_list.type2 dl dd {font-size: 1.4rem;}
    .mypage_dashboard_list.type2 dl dd strong {margin-right: 5px; font-size: 1.5rem;}
    .mypage_dashboard_list.type2 > li.type2 > dl  > dt {padding-right: 5px; padding-bottom: 4px;}
    .mypage_dashboard_list.type2 > li.type2 > dl  > dd {font-size: 1.4rem;}
    .mypage_dashboard_list.type2 > li.type2 > dl  > dd strong {font-size: 1.4rem;}
    .mypage_dashboard_list.type2 > li.type2 > dl:first-child > dd strong {font-size: 1.3rem;}

    /*대쉬보드3*/
    .mypage_dashboard_list.type3 {--gap: 13px; margin-bottom: 30px;}
    .mypage_dashboard_list.type3 > li {max-width: 100%; border-radius: 12px; padding: 12px 55px 12px 12px; min-height: 55px;}
    .mypage_dashboard_list.type3 > li .percent {width: 40px; height: 40px; top: calc(50% - 20px); right: 7px; border-radius: 4px; padding-top: 5px; font-size: 1.2rem;}
    .mypage_dashboard_list.type3 > li .percent strong {font-size: 1.6rem;}
    .mypage_dashboard_list.type3 > li h5 {font-size: 1.5rem;}
    .mypage_dashboard_list.type3 > li > p {margin-top: 5px; font-size: 1.4rem;}

    /*대쉬보드4*/
    .mypage_dashboard .dot + .mypage_dashboard_list.type4 {margin-top: -10px;}
    .mypage_dashboard_list.type4 > li {padding:11px 65px 11px 0; min-height: 55px;} 
    .mypage_dashboard_list.type4 > li .date {width: 55px; height: 30px; top: calc(50% - 20px); padding-top: 5px;}
    .mypage_dashboard_list.type4 > li h5 {font-size: 1.5rem;}
    .mypage_dashboard_list.type4 .list_box > li {padding-right: 12px; margin-right: 12px; font-size: 1.4rem; line-height: 20px; margin-top: 5px;}
    .mypage_dashboard_list.type4 .list_box > li [class*="state_"] {border-radius: 4px; font-size: 1.4rem; padding: 4px 5px; min-width: 47px;}
    .mypage_dashboard_list.type4 .list_box > li .state_1::before {width: 9px; height: 6px; margin-right: 2px;}
    .mypage_dashboard_list.type4 .date {font-size: 1.2rem;}

    /*대쉬보드5*/
    .mypage_dashboard_list.type6 {margin-bottom: 30px;}
    .mypage_dashboard_list.type6:last-child {margin-bottom: 0;}
    .mypage_dashboard .dot + .mypage_dashboard_list.type6 {margin-top: -10px;}
    .mypage_dashboard_list.type6 > li {padding:11px 5px; min-height: 45px;} 
    .mypage_dashboard_list.type6 > li h5 {width: calc(100% - 170px); font-size: 1.4rem;}
    .mypage_dashboard_list.type6 > li h5.type2 {width: calc(100% - 210px);}
    .mypage_dashboard_list.type6 > li .category > span {width: 35px; height: 20px; line-height: 20px; font-size: 1.4rem; border-radius: 5px;}
    .mypage_dashboard_list.type6 > li .category.type2 > span {width: 45px;}
    .mypage_dashboard_list.type6 > li .category p {font-size: 1.5rem;}
    .mypage_dashboard_list.type6 > li .name {font-size: 1.4rem;}
    .mypage_dashboard_list.type6 > li .date {width: 80px; font-size: 1.4rem;}

    /*대쉬보드 - 기본*/
    .mypage_dashboard .slick-slider {position: relative; padding-bottom: 10px; margin: 0 -15px 30px}
    .mypage_dashboard .slick-slider .slick_slide_item {padding: 0 15px}
    .mypage_dashboard .slick-slider .slick-dots {bottom: 1px;}
    .mypage_dashboard .slick-slider .slick-dots li {margin: 0 3px; width: 10px; height: 10px; line-height: 10px;}
    .mypage_dashboard .slick-slider .slick-dots li button {width: 10px; height: 10px; line-height: 10px;  border-radius: 10px; border: 1px solid #429573;}
    .challenge_item {padding-top: 20px; padding-bottom: 15px;}
    .challenge_item .top {padding-right: 60px; margin-bottom: 10px;}
    .challenge_item .top .dDay {width: 40px; border-radius: 2px; font-size: 1.3rem;}
    .challenge_item .top h4 {font-size: 1.6rem;}
    .challenge_item .comment {line-height: 13px; padding-left: 16px; background-size: 13px auto; font-size: 1.2rem;}
    .challenge_item .list_box {bottom: auto; bottom: 8px;}
    .challenge_item .list_box > li {margin-right: 5px; padding-right: 5px; font-size: 1.4rem;}
    .challenge_item .list_box > li:first-child {font-size: 1.6rem;}
    .challenge_item .list_box2 {padding-bottom: 20px; flex-wrap: wrap;}
    .challenge_item .list_box2 li {margin-bottom: 10px; margin-right: 10px; line-height: 13px; padding-left: 15px; font-size: 1.4rem;}
    .challenge_item .list_box2 li.list1 {background: no-repeat url(../../images/hmpg/icon_calendar2.png) top 0px left 0/11px auto;}
    .challenge_item .list_box2 li.list2 {padding-left: 13px; background: no-repeat url(../../images/hmpg/icon_location.png) top 0px left 0/11px auto;}
    .challenge_item .list_box2 li.list3 {padding-left: 11px; background: no-repeat url(../../images/hmpg/icon_join.png) top 0px left 0/8px auto;}
    .challenge_item .list_box2 li.list4 {background: no-repeat url(../../images/hmpg/icon_comment2.png) top 0px left 0/12px auto;}
    .challenge_item .list_box2 li.list5 {background: no-repeat url(../../images/hmpg/icon_mypage_heart.png) top 0px left 0/11px auto;}
    .challenge_item .list_box2 li span {margin-right: 5px;}
    
    /*봉사하기활동*/
    .volunteer_top {margin-top: 40px;}
    .volunteer_top .d_area {padding: 15px 0 25px; display: block;}
    .volunteer_top .d_area .volunteer_top_img {width: 100%; height: 0; padding-bottom: 100%;}
    .volunteer_top .d_area .volunteer_top_list {padding: 20px 0 0; width: 100%;}
    .volunteer_top .d_area .volunteer_top_list h3 {margin-bottom: 20px; line-height: 1; font-size: 2.0rem;}
    .volunteer_top .d_area .volunteer_top_list ul li {margin-bottom: 4px;}
    .volunteer_top .d_area .volunteer_top_list ul li:last-child {margin-bottom: 0;}
    .volunteer_top .d_area .volunteer_top_list ul li dl dt {padding: 0 10px; width: 70px; height: 28px; line-height: 28px; font-size: 1.3rem; border-radius: 24px;}
    .volunteer_top .d_area .volunteer_top_list ul li dl dd {padding: 4px 0 0 8px; width: calc(100% - 70px); line-height: 17px; font-size: 1.3rem;}
    .volunteer_top .d_area .volunteer_top_list .like {width: 70px; height: 28px; bottom: 15px; border-radius: 24px;}
    .volunteer_top .d_area .volunteer_top_list .like [class*="icon_"] {width: 16px; height: 16px;}
    .volunteer_top .d_area .volunteer_top_list .like  span {margin-left: 7px; font-size: 1.3rem;}
    .volunteer_list {margin-bottom: 30px;}
    .volunteer_list li {margin-bottom: 10px; padding-left: 13px;}
    .volunteer_list li:last-child {margin-bottom: 0;}
    .volunteer_list li::before {top: calc(50% - 3px); width: 5px; height: 5px; border-radius: 5px;}
    .volunteer_list li dl dt {line-height: 1; font-size: 1.4rem;}
    .volunteer_list li dl dd {padding-left: 25px; width: calc(100% - 63px); line-height: 1; font-size: 1.4rem;}
    .volunteer_contents .title {padding: 10px 50px; line-height: 1.2; font-size: inherit; border-radius: 10px 10px 0 10px;}
    .volunteer_contents .img img {margin-top: 15px;}

    /*챌린지현황버튼*/
    .challenge_btn {left: auto; right: 12px;}
    .challenge_btn button {width: 30px; height: 30px;}
    .challenge_btn button.challenge_btn_map {background-size: 24px auto;}
    .challenge_btn button.challenge_btn_logo {background-size: 22px auto;}
    .challenge_btn button::after {bottom: -20px; left: -6px; width: 34px; height: 12px; background-size: 100% auto;}
    .challenge_btn .hover {display: none;}
    .challenge_btn button:hover + .hover {opacity: 0; z-index: 0;}

    /*챌린지현황팝업*/
    .popup.challenge .modal_close {width: 20px; height: 20px; right: -10px; top: -10px; border-radius: 0 0 10px 0; background-color: #4b4c51;}
    .popup.challenge .modal_close::after, .popup.challenge .modal_close::before {left: 3px; width: 12px;}
    .challenge_popup {padding: 20px 5px 0;}
    .challenge_popup .challenge_popup_title {margin-bottom: 15px;}
    .challenge_popup .challenge_popup_title span {width: 75px; height: 24px; line-height: 24px; font-size: 1.4rem; font-weight: 600; border-radius: 12px;}
    .challenge_popup .challenge_popup_title p {padding: 3px 10px; width:calc(100% - 85px); min-height: 24px; line-height: 18px; font-size: 1.5rem; border-radius: 12px;}
    .challenge_popup .challenge_popup_state ul li {margin-bottom: 2px;}
    .challenge_popup .challenge_popup_state ul li .icon {width: 12px; height: 12px;}
    .challenge_popup .challenge_popup_state ul li .icon.icon1 {background-size: auto 100%;}
    .challenge_popup .challenge_popup_state ul li .icon.icon2 {background-size: auto 100%;}
    .challenge_popup .challenge_popup_state ul li .icon.icon3 {background-size: 100% auto;}
    .challenge_popup .challenge_popup_state ul li .bar {margin: 0 7px; width: 85px; height: 5px; border-radius: 5px;}
    .challenge_popup .challenge_popup_state ul li .bar .per {height: 5px; border-radius: 5px;}
    .challenge_popup .challenge_popup_state ul li .num {min-width: 23px; font-size: 1.4rem;}
    .challenge_popup.map .challenge_popup_rate .img {margin: 20px 0 10px;}
    .challenge_popup.logo .challenge_popup_rate .img {margin: 40px 0 20px;}
    .challenge_popup .challenge_popup_rate .img img {margin: 0 auto; width: calc(100% - 30px);}
    .challenge_popup .challenge_popup_rate .txt {right: -5px; width: 100%; display: flex; justify-content: right;}
    .challenge_popup .challenge_popup_rate .txt::after {left: 0; width: 100%; height: 2px; background-size: 100% auto;}
    .challenge_popup.map .challenge_popup_rate .txt8::after,
    .challenge_popup.map .challenge_popup_rate .txt9::after {left: 0; width: 100%;}
    .challenge_popup.logo .challenge_popup_rate .txt::after,
    .challenge_popup.logo .challenge_popup_rate .txt8::after,
    .challenge_popup.logo .challenge_popup_rate .txt9::after {left: 0; width: 94%;}
    .challenge_popup .challenge_popup_rate .txt .line {margin-top: -36px; width: 70px; height: 70px; font-size: 1.2rem; background-size: 100% auto;}
    .challenge_popup .challenge_popup_rate .txt .line p {width: 40px; height: 40px; line-height: 40px; border-radius: 40px;}
    .challenge_popup .challenge_popup_rate .txt .line p span {font-size: 15px;}
    .challenge_popup .challenge_popup_rate .achieve {bottom: calc(100% - 80px); width: 70px; height: 70px; background-size: auto 100%;}

    /*소개*/
    .introduce_area h3 {margin: 20px 0 30px; padding-left: 13px; font-size: 1.7rem;}
    .introduce_area h3::before {top: 9px; width: 7px; height: 7px;}
    .introduce_area .text_list {margin-bottom: 35px; word-break: keep-all;}
    .introduce_area .text_list .text1 {font-size: 1.6rem; line-height: 1.4;}
    .introduce_area .text_list .text2 {margin: 20px 0; font-size: 1.3rem; line-height: 1.4; letter-spacing: -1px;}
    .introduce_area .text_list .text3 {font-size: 1.5rem;}
    .introduce_area .text_list .text3::after {top: 14px; left: calc(50% - 100px); width: 200px; height: 11px;}
    .introduce_area .text_list .text_list_img {margin-top: 30px;}
    .introduce_area .text_list .text_list_img img {width: 100%;}
    .introduce_area .bi_list {display: block;}
    .introduce_area .bi_list li {margin-bottom: 45px; width: 100%;}
    .introduce_area .bi_list li:last-child {margin-bottom: 0;}
    .introduce_area .bi_list li .bi_list_img {width: 100%; height: 180px; border: 1px solid #ccc; background: url(../../images/hmpg/bg_introduce_bi.png) repeat-x center 0}
    .introduce_area .bi_list li p {margin-top: 20px; font-size: 1.5rem; line-height: 1.4;}
    .introduce_area .button_box {margin-top: 25px;}
}
@media screen and (max-width:800px) {
    .video_box .youtube, 
    .video_box .video {height: 300px;}
    .video_box .youtube iframe {height: 300px;}

    /*행동보드 (후기)*/
    .challenge_comment_list {gap: 20px;}
    .challenge_comment_list > li {width: calc(calc(100% - calc(20px * 2)) / 3);}
}
@media screen and (max-width:784px) {

}
@media screen and (max-width:640px) {
    /*멤버쉽*/
    /*회원가입*/
    /*회원가입 회원유형선택*/
    .membership_area .join_type {width: auto;}
    .membership_area .join_type.sns_join_type {width: auto;}
    .membership_area .join_type.sns_join_type li:first-child {margin-right: 15px; width: calc(50% - 7.5px);}
    .membership_area .join_type.sns_join_type li:nth-child(2) {margin-right: 0;}
    /*회원가입 본인인증*/
    .membership_area .certification_box {width: 100%;}
    /*회원가입 가입완료*/
    .membership_area .finish_box {width: 100%;}

    /*행동보드 (후기)*/
    .challenge_comment_list {gap: 10px;}
    .challenge_comment_list > li {width: calc(calc(100% - calc(10px * 1)) / 2);}
    .challenge_detail_desc .cdd_img_area2 {flex-wrap: wrap;}
    .challenge_detail_desc .cdd_img_area2 figure {max-width: 100%;}
    .challenge_detail_desc .cdd_img_area2 .cdd_img_area2_text ul > li {padding-left: 0px; margin: 0;}
}
@media screen and (max-width:550px) {
    /*탭*/
    .detail_tab {overflow-x: auto;}
    .detail_tab ul {width: 450px;}
    .detail_tab ul li {width: auto;}
    .detail_tab ul li a {padding: 0 14px;}
    .detail_tab2 ul li a {padding: 0 14px;}

    .midarea .subtoparea .submenu_ara {overflow-x: auto;}
    .midarea .subtoparea .submenu_ara ul {flex-wrap: nowrap;}
}
@media screen and (max-width:450px) {
    .video_box .youtube, 
    .video_box .video {height: 165px;}
    .video_box .youtube iframe {height: 165px;}

    /*행동보드 (후기)*/
    .challenge_comment_list > li {width: 100%;}

    /* */
    .mypage_area .boardview ~ .button_box {flex-wrap: wrap;}
    .mypage_area .boardview ~ .button_box div + div {margin-top: 10px;}
    .mypage_area .boardview ~ .button_box div {justify-content: center;}

    /*마이페이지*/
    .mypage_dashboard_list.type1.type5 {display: block;}
    .mypage_dashboard_list.type1.type5 > li {margin-bottom: 10px; width: 100%;}
    .mypage_dashboard_list.type1.type5 > li:last-child {margin-bottom: 0;}
}
@media screen and (max-width:400px) {
    .mypage_dashboard_list.type1 {--col : 1;}
}
@media screen and (max-width:360px) {
}
@media screen and (max-width:320px) {
}