@charset "UTF-8";
/* 초기화 및 초기 세팅 */
:root {
    /* 버튼 및 인풋 폼 높이 세팅 */
    /*--hd_height: 9rem;*/
    --hd_height_m: 6rem;
    --ic_date: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='25' height='25' viewBox='0 0 25 25'%3E%3Cg id='ic_calenda' transform='translate(-0.214)'%3E%3Crect id='사각형_9174' data-name='사각형 9174' width='25' height='25' transform='translate(0.214)' fill='none'/%3E%3Cpath id='calendar_month_FILL0_wght400_GRAD0_opsz24' d='M122.193-858.068a2.112,2.112,0,0,1-1.549-.644,2.112,2.112,0,0,1-.644-1.549v-15.352a2.112,2.112,0,0,1,.644-1.549,2.112,2.112,0,0,1,1.549-.644h1.1V-880h2.193v2.193h8.773V-880h2.193v2.193h1.1a2.112,2.112,0,0,1,1.549.644,2.112,2.112,0,0,1,.644,1.549v15.352a2.112,2.112,0,0,1-.644,1.549,2.112,2.112,0,0,1-1.549.644Zm0-2.193h15.352v-10.966H122.193Zm0-13.159h15.352v-2.193H122.193Zm0,0v0Zm7.676,6.58a1.061,1.061,0,0,1-.781-.315,1.061,1.061,0,0,1-.315-.781,1.061,1.061,0,0,1,.315-.781,1.061,1.061,0,0,1,.781-.315,1.061,1.061,0,0,1,.781.315,1.061,1.061,0,0,1,.315.781,1.061,1.061,0,0,1-.315.781A1.061,1.061,0,0,1,129.869-866.841Zm-4.386,0a1.061,1.061,0,0,1-.781-.315,1.061,1.061,0,0,1-.315-.781,1.061,1.061,0,0,1,.315-.781,1.061,1.061,0,0,1,.781-.315,1.061,1.061,0,0,1,.781.315,1.061,1.061,0,0,1,.315.781,1.061,1.061,0,0,1-.315.781A1.061,1.061,0,0,1,125.483-866.841Zm8.773,0a1.061,1.061,0,0,1-.781-.315,1.061,1.061,0,0,1-.315-.781,1.061,1.061,0,0,1,.315-.781,1.061,1.061,0,0,1,.781-.315,1.061,1.061,0,0,1,.781.315,1.061,1.061,0,0,1,.315.781,1.061,1.061,0,0,1-.315.781A1.061,1.061,0,0,1,134.256-866.841Zm-4.386,4.386a1.061,1.061,0,0,1-.781-.315,1.061,1.061,0,0,1-.315-.781,1.061,1.061,0,0,1,.315-.781,1.061,1.061,0,0,1,.781-.315,1.061,1.061,0,0,1,.781.315,1.061,1.061,0,0,1,.315.781,1.061,1.061,0,0,1-.315.781A1.061,1.061,0,0,1,129.869-862.454Zm-4.386,0a1.061,1.061,0,0,1-.781-.315,1.061,1.061,0,0,1-.315-.781,1.061,1.061,0,0,1,.315-.781,1.061,1.061,0,0,1,.781-.315,1.061,1.061,0,0,1,.781.315,1.061,1.061,0,0,1,.315.781,1.061,1.061,0,0,1-.315.781A1.061,1.061,0,0,1,125.483-862.454Zm8.773,0a1.061,1.061,0,0,1-.781-.315,1.061,1.061,0,0,1-.315-.781,1.061,1.061,0,0,1,.315-.781,1.061,1.061,0,0,1,.781-.315,1.061,1.061,0,0,1,.781.315,1.061,1.061,0,0,1,.315.781,1.061,1.061,0,0,1-.315.781A1.061,1.061,0,0,1,134.256-862.454Z' transform='translate(-116.786 882)' fill='%23585e65'/%3E%3C/g%3E%3C/svg%3E%0A");
    --ic_time:url("data:image/svg+xml,%3Csvg id='ic_clock' xmlns='http://www.w3.org/2000/svg' width='25' height='25' viewBox='0 0 25 25'%3E%3Crect id='사각형_9176' data-name='사각형 9176' width='25' height='25' fill='none'/%3E%3Cpath id='schedule_FILL0_wght400_GRAD0_opsz24_1_' data-name='schedule_FILL0_wght400_GRAD0_opsz24 (1)' d='M94.319-864.173l1.507-1.507-3.984-3.984v-4.953H89.69v5.814Zm-3.553,5.706a10.484,10.484,0,0,1-4.2-.848,10.873,10.873,0,0,1-3.418-2.3,10.873,10.873,0,0,1-2.3-3.418,10.484,10.484,0,0,1-.848-4.2,10.484,10.484,0,0,1,.848-4.2,10.873,10.873,0,0,1,2.3-3.418,10.875,10.875,0,0,1,3.418-2.3,10.485,10.485,0,0,1,4.2-.848,10.485,10.485,0,0,1,4.2.848,10.875,10.875,0,0,1,3.418,2.3,10.872,10.872,0,0,1,2.3,3.418,10.484,10.484,0,0,1,.848,4.2,10.484,10.484,0,0,1-.848,4.2,10.873,10.873,0,0,1-2.3,3.418,10.873,10.873,0,0,1-3.418,2.3A10.484,10.484,0,0,1,90.766-858.467ZM90.766-869.234Zm0,8.613a8.3,8.3,0,0,0,6.1-2.517,8.3,8.3,0,0,0,2.517-6.1,8.3,8.3,0,0,0-2.517-6.1,8.3,8.3,0,0,0-6.1-2.517,8.3,8.3,0,0,0-6.1,2.517,8.3,8.3,0,0,0-2.517,6.1,8.3,8.3,0,0,0,2.517,6.1A8.3,8.3,0,0,0,90.766-860.62Z' transform='translate(-78 882)' fill='%23585e65'/%3E%3C/svg%3E%0A");
}


div::-webkit-scrollbar {
    width: 0.6rem;
    height: 0.6rem;
}
div::-webkit-scrollbar-thumb {
    background-color: #ddd;
    border-radius: 100px;
}

html { font-size:10px;
	/* 아래 속성은 일부 안드로이드 브라우저에서 픽스 요소 고정에 도움을 줍니다 */
	-webkit-overflow-scrolling: touch;}
body { margin:0 auto; padding:0;overflow: hidden scroll; background-color: #fff;
	/* 아래 속성은 일부 안드로이드 브라우저에서 픽스 요소 고정에 도움을 줍니다 */
	-webkit-overflow-scrolling: touch;
}

html, h1, h2, h3, h4, h5, h6, form, fieldset, img { margin:0; padding:0; border:0 }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display:block }

ul, dl,dt,dd { margin:0; padding:0; list-style:none }
legend { position:absolute; margin:0; padding:0; font-size:0; line-height:0; text-indent:-9999em; overflow:hidden }
label, input, button, select, img { vertical-align:middle; }
input, button { margin:0; padding:0;}
input[type="submit"] {cursor:auto;}
button {cursor: auto;word-break: keep-all;}
select {margin:0}
p { margin:0; padding:0; color:#000;}
hr { display:none }
a { text-decoration:none;}
a:hover { text-decoration: none; color: inherit;}
a.underline:hover{text-decoration: underline;}
.un_reboot_a { color: var(--text); text-decoration: underline; }
*, :after, :before {
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	word-break: normal;
	word-wrap: break-word;
}

img { max-width:100%; display:inline-block; height: auto; }

/* iOS에서 input date 텍스트정렬 */
input[type="date"]::-webkit-date-and-time-value{
	text-align: left;
	vertical-align: center;
}


/* ==================== 공통 class 설정 ==================== */
/* .container-fluid { max-width: 2560px;} */

.flex_center{ align-items: center; justify-content: center;}

.cursor_pointer{ cursor: pointer;}
.cursor_default{ cursor: default;}

.over_hidden{ overflow:hidden;}

/* 스크롤바 none */
.scroll_bar_none { -ms-overflow-style: none; scrollbar-width: none; }
.scroll_bar_none::-webkit-scrollbar { display: none; }

/*터치 스크롤*/
.touch_scroll { overflow-x: auto; overflow-y: hidden; }

/* 터치 스크롤 inner 버전 */
.touch_scroll2 { position: relative;}
.touch_scroll2 .scroll_inner{ overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch;}

/* 스크롤 발생 시 오른쪽에 그라데이션 표시 */
.touch_scroll2.right_gra::after {
	content: "";
	display: block;
	height: 100%;
	width: 6.0rem;
	position: absolute;
	top: 0;
	right: 0;
	background: linear-gradient(90deg,rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
	pointer-events: none;
	opacity: 0;
}
.touch_scroll2.right_gra.scrollable:not(.at-end)::after{ opacity: 1;}

/*터치 스크롤 안 요소 드래그 방지 */
.touch_scroll *, .touch_scroll2 *{
	-webkit-user-select:none;
	-moz-user-select:none;
	-ms-user-select:none;
	user-select:none;
	-webkit-user-drag: none;
	-khtml-user-drag: none;
	-moz-user-drag: none;
	-o-user-drag: none;
	user-drag: none;
}

.vh_min100{ min-height:100vh;}
.vh_100_vh{ height:100vh;}
.w-auto{ width:auto;}

.zd_2{ position:relative; z-index:2;}

/* gap */
.gap_3{ gap: 0.3rem;}
.gap_4{ gap: 0.4rem;}
.gap_5{ gap: 0.5rem;}
.gap_6{ gap:0.6rem;}
.gap_8{ gap:0.8rem;}
.gap_10{ gap:1.0rem;}
.gap_12{ gap:1.2rem;}
.gap_14{ gap:1.4rem;}
.gap_15{ gap:1.5rem;}
.gap_16{ gap:1.6rem;}
.gap_18{ gap:1.8rem !important;}
.gap_20{ gap: 2.0rem;}
.gap_24{ gap: 2.4rem;}
.gap_25{ gap:2.5rem;}
.gap_30{ gap:3.0rem;}
.gap_40{ gap:4.0rem;}
.gap_50{ gap:5.0rem;}
.gap_60{ gap:6.0rem;}


/* 아이콘 너비 */
.icon_4{ width: 0.4rem; height: auto; flex-shrink: 0;}
.icon_6{ width: 0.6rem; height: auto; flex-shrink: 0;}
.icon_7{ width: 0.7rem; height: auto; flex-shrink: 0;}
.icon_8{ width: 0.8rem; height: auto; flex-shrink: 0;}
.icon_10{ width: 1.0rem; height: auto; flex-shrink: 0;}
.icon_12{ width: 1.2rem; height: auto; flex-shrink: 0;}
.icon_14{ width: 1.4rem; height: auto; flex-shrink: 0;}
.icon_15{ width: 1.5rem; height: auto; flex-shrink: 0;}
.icon_16{ width: 1.6rem; height: auto; flex-shrink: 0;}
.icon_18{ width: 1.8rem; height: auto; flex-shrink: 0;}
.icon_20{ width: 2.0rem; height: auto; flex-shrink: 0;}
.icon_24{ width: 2.4rem; height: auto; flex-shrink: 0;}
.icon_25{ width: 2.5rem; height: auto; flex-shrink: 0;}
.icon_28{ width: 2.8rem; height: auto; flex-shrink: 0;}
.icon_30{ width: 3.0rem; height: auto; flex-shrink: 0;}
.icon_32{ width: 3.2rem; height: auto; flex-shrink: 0;}
.icon_35{ width: 3.5rem; height: auto; flex-shrink: 0;}
.icon_36{ width: 3.6rem; height: auto; flex-shrink: 0;}
.icon_38{ width:3.8rem;  height: auto; flex-shrink: 0;}
.icon_40{ width: 4.0rem; height: auto; flex-shrink: 0;}
.icon_48{ width:4.8rem; height: auto; flex-shrink: 0;}
.icon_50{ width: 5.0rem; height: auto; flex-shrink: 0;}
.icon_56{ width:5.6rem; height: auto; flex-shrink: 0;}
.icon_60{ width: 6.0rem; height: auto; flex-shrink: 0;}
.icon_120{ width:12.0rem; height: auto; flex-shrink: 0;}


/* bg */
.bg-gra01{ background: var(--gra01);}
.bg-gra02{ background: var(--gra02);}
.bg-gra03{ background: var(--gra03);}
.bg-gra04{ background: var(--gra04);}



/* ==================== 텍스트 설정 ==================== */
.text_dynamic{ white-space: pre-line;}
.wh_pre { white-space: pre-line !important;}
.wh_nowrap { white-space: nowrap; }
.keep-all{word-break: keep-all;}
.break_all{word-break: break-all;}


/*폰트커스텀 기본사이즈 10px*/
.tit_h1{ font-size: 3rem; font-weight: 700; line-height: 150%;}
.tit_h2{ font-size: 2.8rem; font-weight: 700; line-height: 130%;}
.tit_h3{ font-size: 2.4rem; font-weight: 700; line-height: 130%;}
.tit_h4{ font-size: 2.2rem; font-weight: 600; line-height: 130%;}
.tit_h5{ font-size: 2rem; font-weight: 600; line-height: 130%; letter-spacing: -0.5px;}
.caption{ font-size: 1.3rem; line-height: 1.4;}
.body_tit{font-size: 1.6rem; font-weight: 600; line-height: 150%;}

.modal_cont_tit{ font-size: 1.6rem; font-weight: 600; line-height: 1.3;}


/* 폰트컬러 */
/* 부트스트랩 class는 --var값으로 설정이 되어 있지 않아서 따로 만들었습니다. 필요시 추가해서 사용 */
.fc_primary_100{color: var(--primary-100);}
.fc_primary_200{color: var(--primary-200);}
.fc_primary_300{color: var(--primary-300);}
.fc_primary_400{color: var(--primary-400);}
.fc_primary{color: var(--primary);}
.fc_primary_600{color: var(--primary-600);}
.fc_primary_700{color: var(--primary-700);}
.fc_primary_800{color: var(--primary-800);}
.fc_primary_900{color: var(--primary-900);}
.fc_secondary{color: var(--secondary);}
.fc_text{color: var(--text);}
.fc_gray_50{color: var(--gray-50);}
.fc_gray_100{color: var(--gray-100);}
.fc_gray_200{color: var(--gray-200);}
.fc_gray_300{color: var(--gray-300);}
.fc_gray_400{color: var(--gray-400);}
.fc_gray_500{color: var(--gray-500);}
.fc_gray_600{color: var(--gray-600);}
.fc_gray_700{color: var(--gray-700);}
.fc_gray_800{color: var(--gray-800);}
.fc_gray_900{color: var(--gray-900);}
.fc_deep{color: var(--deep);}
.fc_dark{color: var(--dark);}

.text-black{color:#000;}

/* a:hover 색상 */
a.fc_primary:hover{color: var(--primary-200);}

/* 라인 헤이트 */
.line_h1 { line-height:1.0; }
.line_h1_1 { line-height:1.1; }
.line_h1_2 { line-height:1.2; }
.line_h1_3 { line-height:1.3; }
.line_h1_35 { line-height:1.35; }
.line_h1_4 { line-height:1.4; }
.line_h1_5 { line-height:1.5; }
.line_h1_6 { line-height:1.6; }
.line_h1_7 { line-height:1.7; }
.line_h1_8 { line-height:1.8; }
.line_h1_9 { line-height:1.9; }
.line_h2 { line-height:2.0; }


.fs_8 { font-size: 0.8rem; }
.fs_9 { font-size: 0.9rem; }
.fs_10 { font-size: 1.0rem; }
.fs_11 { font-size: 1.1rem }
.fs_12 { font-size: 1.2rem }
.fs_13 { font-size: 1.3rem }
.fs_14 { font-size: 1.4rem }
.fs_15 { font-size: 1.5rem }
.fs_16 { font-size: 1.6rem }
.fs_17 { font-size: 1.7rem }
.fs_18 { font-size: 1.8rem }
.fs_19 { font-size: 1.9rem }
.fs_20 { font-size: 2.0rem }
.fs_21 { font-size: 2.1rem }
.fs_22 { font-size: 2.2rem; }
.fs_23 { font-size: 2.3rem; }
.fs_24 { font-size: 2.4rem; }
.fs_25 { font-size: 2.5rem; }
.fs_26 { font-size: 2.6rem; }
.fs_27 { font-size: 2.7rem; }
.fs_28 { font-size: 2.8rem; }
.fs_29 { font-size: 2.9rem; }
.fs_30 { font-size: 3.0rem; }
.fs_31 { font-size: 3.1rem; }
.fs_32 { font-size: 3.2rem; }
.fs_33 { font-size: 3.3rem; }
.fs_34 { font-size: 3.4rem; }
.fs_35 { font-size: 3.5rem; }
.fs_36 { font-size: 3.6rem; }
.fs_37 { font-size: 3.7rem; }
.fs_38 { font-size: 3.8rem; }
.fs_39 { font-size: 3.9rem; }
.fs_40 { font-size: 4.0rem; }
.fs_41 { font-size: 4.1rem; }
.fs_42 { font-size: 4.2rem; }
.fs_43 { font-size: 4.3rem; }
.fs_44 { font-size: 4.4rem; }
.fs_45 { font-size: 4.5rem; }
.fs_46 { font-size: 4.6rem; }
.fs_47 { font-size: 4.7rem; }
.fs_48 { font-size: 4.8rem; }
.fs_49 { font-size: 4.9rem; }
.fs_50 { font-size: 5.0rem; }
.fs_51 { font-size: 5.1rem; }
.fs_52 { font-size: 5.2rem; }


.fw_100 { font-weight: 100; }
.fw_200 { font-weight: 200; }
.fw_300 { font-weight: 300; }
.fw_400 { font-weight: 400; }
.fw_500 { font-weight: 500; }
.fw_600 { font-weight: 600; }
.fw_700 { font-weight: 700; }
.fw_800 { font-weight: 800; }
.fw_900 { font-weight: 900; }


/*글자 줄임말/자르기*/
.line_text { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; word-break: break-all;word-break: break-all;}
.line1_text { white-space: normal; overflow: hidden; text-overflow: ellipsis;word-wrap: break-word; display: -webkit-box; -webkit-line-clamp: 1; line-clamp: 1; -webkit-box-orient: vertical;word-break: break-all;}
.line2_text { white-space: normal; overflow: hidden; text-overflow: ellipsis;word-wrap: break-word; display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical;word-break: break-all;}
.line3_text { white-space: normal; overflow: hidden; text-overflow: ellipsis;word-wrap: break-word; display: -webkit-box; -webkit-line-clamp: 3; line-clamp: 3; -webkit-box-orient: vertical;word-break: break-all;}
.line4_text { white-space: normal; overflow: hidden; text-overflow: ellipsis;word-wrap: break-word; display: -webkit-box; -webkit-line-clamp: 4; line-clamp: 4; -webkit-box-orient: vertical;word-break: break-all;}




/**************************************************/
/*								공통 여백 class	  								*/
/**************************************************/
/*넓이*/
.wd_10{width:1.0rem;}
.wd_11{width:1.1rem;}
.wd_12{width:1.2rem;}
.wd_13{width:1.3rem;}
.wd_14{width:1.4rem;}
.wd_15{width:1.5rem;}
.wd_16{width:1.6rem;}
.wd_17{width:1.7rem;}
.wd_18{width:1.8rem;}
.wd_19{width:1.9rem;}
.wd_20{width:2.0rem;}
.wd_21{width:2.1rem;}
.wd_22{width:2.2rem;}
.wd_23{width:2.3rem;}
.wd_24{width:2.4rem;}
.wd_25{width:2.5rem;}
.wd_26{width:2.6rem;}
.wd_27{width:2.7rem;}
.wd_28{width:2.8rem;}
.wd_29{width:2.9rem;}
.wd_30{width:3.0rem;}


/*마진*/
.mt_8{margin-top:0.8rem;}
.mt_12{margin-top:1.2rem;}
.mt_16{margin-top:1.6rem;}
.mt_20{margin-top:2.0rem;}
.mt_24{margin-top:2.4rem;}
.mt_25{margin-top:2.5rem;}
.mt_28{margin-top:2.8rem;}
.mt_35{margin-top:3.5rem;}
.mt_36{margin-top:3.6rem;}
.mt_40{margin-top:4.0rem;}
.mt_60{margin-top:6.0rem;}
.mt_70{margin-top:7.0rem;}
.mt_80{margin-top:8.0rem;}


.mb_4{margin-bottom:0.4rem;}
.mb_6{margin-bottom:0.6rem;}
.mb_7{margin-bottom:0.7rem;}
.mb_8{margin-bottom:0.8rem;}
.mb_12{margin-bottom:1.2rem;}
.mb_14{margin-bottom:1.4rem;}
.mb_16{margin-bottom:1.6rem;}
.mb_18{margin-bottom:1.8rem;}
.mb_20{margin-bottom:2.0rem;}
.mb_24{margin-bottom:2.4rem;}
.mb_25{margin-bottom:2.5rem;}
.mb_36{margin-bottom:3.6rem;}
.mb_40{margin-bottom:4.0rem;}
.mb_50{margin-bottom:5.0rem;}
.mb_60{margin-bottom:6.0rem;}
.mb_70{margin-bottom:7.0rem;}
.mb_90{margin-bottom:9.0rem;}


.mr_4{margin-right:0.4rem;}
.mr_6{margin-right:0.6rem;}
.mr_8{margin-right:0.8rem;}
.mr_12{margin-right:1.2rem;}
.mr_16{margin-right:1.6rem;}
.mr_20{margin-right:2.0rem;}


.ml_6{margin-left:0.6rem;}
.ml_8{margin-left:0.8rem;}
.ml_16{margin-left:1.6rem;}
.ml_20{margin-left:2.0rem;}


.mx_n16{margin-left:-1.6rem;margin-right:-1.6rem;}
.mx_n20{margin-left:-2.0rem;margin-right:-2.0rem;}



/*패딩*/
.pt_6{padding-top:0.6rem;}
.pt_14{padding-top: 1.4rem;}
.pt_16{padding-top: 1.6rem;}
.pt_20{ padding-top: 2.0rem;}
.pt_24{padding-top:2.4rem;}
.pt_25{padding-top:2.5rem;}
.pt_28{padding-top:2.8rem;}
.pt_40{ padding-top: 4.0rem;}
.pt_50{ padding-top: 5.0rem;}
.pt_60{ padding-top: 6.0rem;}
.pt_80{padding-top:8.0rem !important;}
.pt_120{padding-top:12.0rem;}

.pb_6{padding-bottom: 0.6rem;}
.pb_8 { padding-bottom: 0.8rem;}
.pb_14 { padding-bottom: 1.4rem;}
.pb_16 { padding-bottom: 1.6rem;}
.pb_18{padding-bottom:1.8rem;}
.pb_20{padding-bottom:2.0rem;}
.pb_24{ padding-bottom: 2.4rem;}
.pb_25{padding-bottom:2.5rem;}
.pb_40{padding-bottom:4.0rem;}
.pb_50{padding-bottom:5.0rem;}
.pb_60{padding-bottom:6.0rem;}
.pb_70{padding-bottom:7.0rem;}
.pb_80{padding-bottom:8.0rem;}
.pb_90{padding-bottom:9.0rem;}
.pb_100{padding-bottom:10.0rem;}


.pl_16 { padding-left: 1.6rem;}


.pr_16{padding-right:1.6rem;}
.pr_20{padding-right:2rem;}
.pr_50{padding-right:5rem !important;}
.pr_60{padding-right:6rem !important;}

.py_8{ padding-top: 0.8rem; padding-bottom: 0.8rem;}
.py_16{padding-top: 1.6rem; padding-bottom: 1.6rem;}
.py_20{padding-top:2.0rem !important; padding-bottom:2.0rem !important;}
.py_35{padding-top:3.5rem;padding-bottom:3.5rem;}
.py_80{padding-top:8rem;padding-bottom:8rem;}

.px_8{padding-left:0.8rem;padding-right:0.8rem;}
.px_12{padding-left:1.2rem;padding-right:1.2rem;}
.px_18{padding-left:1.8rem;padding-right:1.8rem;}
.px_16{padding-left:1.6rem;padding-right:1.6rem;}
.px_20{padding-left:2.0rem;padding-right:2.0rem;}


.p_20{ padding: 2rem;}





/* ==================== 공통 요소 설정 ==================== */
/* mobile wr 기본설정 */
.mobile_wr {
    position: relative;
	box-sizing: content-box;
	min-height: 100dvh;
	max-width:576px;
	margin:0 auto;
	background-color: #fff;
	box-shadow: 0 0 1rem rgba(0, 0, 0, 0.09);
}

/*노데이터*/
.no_data {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
}

/* 고탑버튼*/
.go_top2 {
	width: 4.4rem;
	height: 4.4rem;
	background: url(../img/go_top.png)no-repeat center;
	background-color: #fff;
	background-size: 1.6rem auto;
	z-index: 1000;
	border-radius: 50%;
	display: none;
	position: fixed;
	right: 50%;
	bottom: 2rem;
	transform: translateX(272px);
	border: 1px solid var(--border);
}
.go_top2.show{display: block;}


/* bar 회색바 */
.bar{ height: 1.0rem; background-color: #F8F8F8;}


/* 뱃지 디자인 */
.badge {
	padding: 0.2rem 0.6rem;
	border-radius: 0.8rem;
	font-weight: 600;
	font-size: 1.1rem;
	line-height: 1.1;
}
.badge-gra04{ background: var(--gra04); color: #fff;}
.badge-primary {background-color: rgba(234,66,72,0.1);color:#EA4248;}
.badge-disabled{color:#999;background:#ddd;}


/* List Style */
.list_style_1 li {display: flex;padding-bottom: 0.7rem;line-height: 1.4;}
.list_style_1 li:last-child{padding-bottom:0;}
.list_style_1 li > span{display: inline-block; width:8.0rem; padding-right: 0.5rem;flex-shrink: 0;}


.list_style_2 li{display: flex; padding-bottom:0.8rem;}
.list_style_2 li:before{content:'-';display: inline-block;margin-right:1.0rem;}

.list_style_3 li {display: flex;justify-content: space-between;flex-wrap: wrap;}
.list_style_3 li:last-child{margin-bottom:0 !important;}
.list_style_3 li div{}


/* collapse 화살표 아이콘 */
/* 초기 상태에서는 화살표 아래 아이콘을 보여줌 */
.collapse_ex .btn[aria-expanded="false"] img{transform: rotate(0deg);}

/* 펼쳐진 상태에서는 화살표 위 아이콘을 보여줌 */
.collapse_ex .btn[aria-expanded="true"] img{transform: rotate(180deg);}


/*탭*/
.tab_sticky{
	position: sticky;
	top: 4.8rem;
	z-index: 15;
}

/*nav-tabs*/
.nav-tabs {
	background: #F5F6F8;
	border-radius: 0.8rem;
	padding: 0.8rem;
	border: 0;
	flex-wrap: nowrap;
}
.nav-tabs .nav-link {
	height: 4.4rem;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.4rem;
	color: #999;
	border: 0;
	margin-bottom: 0px;
	padding-left: 0.2rem;
	padding-right: 0.2rem;
	border-radius: 0.8rem;
	font-weight: 600;
	word-break: keep-all;
}
.nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link {
	color: #495057;
	background: #fff;
	color: #000;
	box-shadow: 0 0.3rem 0.6rem rgba(0,0,0,0.06);
}

/*nav-pills*/
.nav-pills{
	margin-left:-0.4rem;
	margin-right:-0.4rem;
	flex-wrap: nowrap;
}
.nav-pills .col{
	padding-left:0.4rem;
	padding-right:0.4rem;
}
.nav-pills .nav-link {
	background: none;
	border: 0;
	border-radius: 1rem;
	background: #AAB1B7;
	color: #fff;
}



/*nav_tab_line*/
.nav_tab_line{
	width: 100%;
	margin: 0;
	background-color: #fff;
}
.nav_tab_line {
	border: unset;
	border-bottom:1px solid #E3E3E3;
}
.nav_tab_line .nav-item{
	text-align: center;
/*	background-color: #fff;*/
	border: none;
	-ms-flex-preferred-size: 0;
	flex-basis: 0;
	-ms-flex-positive: 1;
	flex-grow: 1;
	max-width: 100%;
	width: 100%;
}
.nav_tab_line .nav-link {
	position: relative;
/*	border: 1px solid white;*/
	border: none;
	color: #000;
	height: 4.9rem;
	padding: 1.5rem;
	width: 100%;
	font-size: 1.6rem;
	font-weight: 600;
	background: transparent;
}
.nav_tab_line .nav-link.active, .nav_tab_line .nav-item.show .nav-link {
	/*border-bottom: 0.2rem solid var(--primary);
	color: var(--primary);
	transform: translateY(0.15rem);
	padding-bottom:1.15rem;*/
	color: var(--primary);
}
.nav_tab_line .nav-link.active::after, .nav_tab_line .nav-item.show .nav-link::after{
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 2px;
	background-color: var(--primary);
	left: 0;
	bottom: -1px;
}


/*nav_tab_line2*/
.nav_tab_line2 {
	width: 100%;
	margin: 0;
	background-color: #fff;
}
.nav_tab_line2 {
	border: unset;
/*	border-bottom:1px solid #E3E3E3;*/
}
.nav_tab_line2 .nav-item{
	text-align: center;
	background-color: #fff;
	-ms-flex-preferred-size: 0;
	flex-basis: 0;
	-ms-flex-positive: 1;
	flex-grow: 1;
	max-width: 100%;
	width: 100%;
}
.nav_tab_line2 .nav-link {
	color: var(--text);
	height: 6.0rem;
	padding: 1rem;
	width: 100%;
	font-size: 1.6rem;
	font-weight: 600;
	background: transparent;
	border: 0;
	border-bottom: 1px solid var(--border);
}
.nav_tab_line2 .nav-link.active, .nav_tab_line2 .nav-item.show .nav-link {
	border-color: var(--primary);
	color: var(--primary);
}


/*드롭다운*/
.dropdown-menu{padding-top:1.0rem;padding-bottom:1.0rem;}
.dropdown-menu .dropdown-item{padding-top:0.7rem;padding-bottom:0.7rem;}
.dropdown-menu .dropdown-item:hover{background:#F5F6F8;}


/*커스텀 스위치*/
.custom-switch {
	padding: 0;
	width: 4.9rem;
	height: 2.5rem;
}
.custom-switch .custom-control-label::after {
	width: 1.9rem;
	height: 1.9rem;
	background-color: #fff;
	border-radius: 3rem;
	top: 0.3rem;
	left: 0.3rem;
}
.custom-control-label::after {
	position: absolute;
	top: 0.3rem;
	display: block;
	width: 1rem;
	height: 1rem;
	content: "";
	cursor: pointer;
}
.custom-switch .custom-control-input:checked ~ .custom-control-label::after {
	background-color: #fff;
	left: 1.9rem;
}
.custom-control-input:checked ~ .custom-control-label::before {
	color: #fff;
	border-color: var(--primary);
	background-color: var(--primary);
}
.custom-control-label::before {
	background-color: #E3E3E3;
	border: 0;
	top: 0;
	cursor: pointer;
}
.custom-switch .custom-control-label::before {
	left: 0;
	width: 4.9rem;
	height: 2.5rem;
	border-radius: 2rem;
}


.dot_list li {
    list-style: none;
    margin-bottom:1.0rem;
	display: flex;
}

.dot_list li:before {
    content:"·";
    vertical-align:middle;
	margin-right:0.5rem;
}
.dot_list li:last-child{margin-bottom:0;}

.dot_list.fs_10 li{margin-bottom:0.3rem;}


/* 폼 사각형 */
.sq_guide { display:flex; flex-wrap: wrap; }
.sq_guide li {
	width: 80px;
	height: 40px;
	border-radius: 0.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.4rem;
	margin: 0.5rem;
}


/*에디터스타일*/
.edit_style{}
.edit_style .h1, .edit_style h1{font-weight:700;font-size:3.5rem;margin-bottom:0.5rem;}
.edit_style .h2, .edit_style h2{font-weight:700;font-size:2.5rem;margin-bottom:0.5rem;}
.edit_style .h3, .edit_style h3{font-weight:700;font-size:1.8rem;margin-bottom:0.5rem;}
.edit_style .h4, .edit_style h4{font-weight:700;font-size:1.5rem;margin-bottom:0.5rem;}
.edit_style img {
	max-width: 100%;
	width: auto !important;
	margin: 0 auto;
	display: inline-block;
}
.edit_style p{white-space: pre-line;line-height: 160%;}
.edit_style ol, .edit_style ul{padding-left: 1.4rem;line-height: 160%;}


/* ai 뱃지 위치 */
.profile_img_wr .ai_badge{
	position: absolute;
	right: 0; bottom: 0;
}
/* 감정 뱃지 */
.emt_badge {
    width: 2.0rem;
    aspect-ratio: 1/1;
    flex-shrink: 0;
    /* 위치 */
    position: absolute;
    bottom: -0.2rem;
    right: -0.2rem;
}



/* ==================== 버튼 / 인풋 디자인 ==================== */
/* ===== 버튼 ===== */
.btn {
    height: var(--height);
    display: inline-flex;
    justify-content: center;
    align-items: center;
    font-size: 1.5rem;
    font-weight: 500;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    word-break: keep-all;
}
.btn-sm {
    height: var(--height_sm);
    font-size: 1.3rem;
    padding-left: 1.0rem;
    padding-right: 1.0rem;
}
.btn-sm2 {
    height: 3rem;
    font-size: 1.3rem;
    padding-left: 1.0rem;
    padding-right: 1.0rem;
	border-radius:1rem;
}
.btn-md {
    height: var(--height_md);
    font-size: 1.4rem;
}
.btn-lg-md {
    height: var(--height_lg_md);
    font-size: 1.5rem;
}
.btn-lg {
    height: var(--height_lg);
    font-size: 1.6rem;
}
.btn-link {
    height: auto;
    padding: 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    border-radius: 0;
    background: transparent;
    flex-shrink: 0;
    border: 0;
}
.btn-icon {
    height: auto;
    padding: 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    border-radius: 0;
    background: transparent;
    flex-shrink: 0;
    border: 0;
}
.btn-icon img{flex-shrink: 0;}


/* SNS 버튼 */
.btn-naver{background:#1CC800;border-color:#1CC800;color:#fff;}
.btn-naver:hover, .btn-naver:focus{background:#1ABB00;border-color:#1ABB00;}

.btn-kakao{background:#FFDD00;border-color:#FFDD00;color:#333;}
.btn-kakao:hover, .btn-kakao:focus{background:#FFCC00;border-color:#FFCC00;}

.btn-apple{background:#000;border-color:#000;color:#fff;}
.btn-apple:hover, .btn-apple:focus{background:#222;border-color:#222;}


/* 버튼 disabled */
.btn.disabled, .btn:disabled {
    cursor: default;
}


/* 버튼 그룹 */
.btn-group-toggle .btn-outline-light:not(:disabled):not(.disabled).active, .btn-group-toggle .show > .btn-outline-light.dropdown-toggle {
    color: #fff;
    background-color: var(--primary);
    border-color: var(--primary);
}
.btn-group-toggle .btn-light:not(:disabled):not(.disabled).active, .btn-group-toggle .show > .btn-light.dropdown-toggle {
    color: #000;
    background-color: #fff;
    border-color: #000;
}
.btn-group-toggle .btn{margin-right:0.8rem;}
.btn-group-toggle .btn:last-child{margin-right:0;}

.btn-group-toggle .btn input[type=radio], .btn-group-toggle .btn input[type=checkbox], .btn-group-toggle .btn-group .btn input[type=radio], .btn-group-toggle .btn-group .btn input[type=checkbox] {
    position: absolute;
    clip: rect(0, 0, 0, 0);
    pointer-events: none;
}

.btn-group-full{display:flex;}
.btn-group-full .btn{display:flex;padding-left:0.4rem;padding-right:0.4rem;}

.btn_toggle_primary .btn-outline-light{border-color:#D6DAE5;}
.btn_toggle_primary .btn-outline-light:not(:disabled):not(.disabled).active{color: var(--primary);background-color: #fff;border-color: var(--primary);font-weight:600;}


.ft_btn_group{
	padding: 0.4rem;
	border-radius: 1.0rem;
	background: var(--light);
}
.btn-group.ft_btn_group .btn{
	margin: 0;
	background: none !important;
	border: none;
	border-radius: 1.0rem !important;
	color: var(--gray-600) !important;
	font-weight: 500;
}



/* 버튼 색상 커스텀 */
.btn:active, .btn:focus {
	outline:none !important;
	box-shadow:none !important;
}

.btn-primary {
	color: #fff !important;
	background-color: var(--primary) !important;
	border-color: var(--primary) !important;
}
.btn-primary:not(:disabled):hover, .btn-primary:not(:disabled):focus, .btn-primary:not(:disabled).focus, .btn-primary:not(:disabled):active {
	color: #fff !important;
	background-color: var(--primary-200) !important;
	border-color: var(--primary-200) !important;
}

.btn-primary-gra01 {
    color: #fff !important;
    background: var(--gra01) !important;
    border-color: var(--primary-400) !important;
}
.btn-primary-gra01:not(:disabled):hover, .btn-primary-gra01:not(:disabled):focus, .btn-primary-gra01:not(:disabled).focus, .btn-primary-gra01:not(:disabled):active {
    color: #fff !important;
    background: var(--gra01) !important;
    border-color: var(--primary-400) !important;
}

.btn-primary-gra02 {
    color: #fff !important;
    background: var(--gra02) !important;
    border-color: transparent !important;
}
.btn-primary-gra02:not(:disabled):hover, .btn-primary-gra02:not(:disabled):focus, .btn-primary-gra02:not(:disabled).focus, .btn-primary-gra02:not(:disabled):active {
    color: #fff !important;
    background: var(--gra02) !important;
    border-color: transparent !important;
}

.btn-deep {
    color: #fff !important;
    background-color: var(--deep) !important;
    border-color: var(--deep) !important;
}
.btn-deep:not(:disabled):hover, .btn-deep:not(:disabled):focus, .btn-deep:not(:disabled).focus, .btn-deep:not(:disabled):active {
    color: #fff !important;
    background-color: #152038 !important;
    border-color: #152038 !important;
}

.btn-dark {
    color: #fff !important;
    background-color: var(--dark) !important;
    border-color: var(--dark) !important;
}
.btn-dark:not(:disabled):hover, .btn-dark:not(:disabled):focus, .btn-dark:not(:disabled).focus, .btn-dark:not(:disabled):active {
    color: #fff !important;
    background-color: var(--deep) !important;
    border-color: var(--deep) !important;
}

.btn-outline-white {
    color: #fff !important;
    background-color: rgb(255 255 255 / 2%) !important;
    border-color: #fff !important;
    backdrop-filter: blur(30px);
}
.btn-outline-white:not(:disabled):hover, .btn-outline-white:not(:disabled):focus, .btn-outline-white:not(:disabled).focus, .btn-outline-white:not(:disabled):active {
    color: #fff !important;
    background-color: rgb(255 255 255 / 6%) !important;
    border-color: #fff !important;
}

/* 버튼 그룹 색상 커스텀 */
.btn-group-toggle .btn-outline-gray-100:not(:disabled):focus,
.btn-group-toggle .btn-outline-gray-100:not(:disabled).focus,
.btn-group-toggle .btn-outline-gray-100:not(:disabled):active,
.btn-group-toggle .btn-outline-gray-100:not(:disabled).active{
	border-color: var(--primary) !important;
	background: var(--primary) !important;
	color: #fff !important;
}
.btn-group-toggle.ft_btn_group .btn-outline-gray-100:not(:disabled):focus,
.btn-group-toggle.ft_btn_group .btn-outline-gray-100:not(:disabled).focus,
.btn-group-toggle.ft_btn_group .btn-outline-gray-100:not(:disabled):active,
.btn-group-toggle.ft_btn_group .btn-outline-gray-100:not(:disabled).active{
	background: #fff !important;
	color: var(--gray-600) !important;
	box-shadow: 0 0 0.4rem rgb(0 0 0 / 5%);
}

/*바텀 버튼*/
.bottom_btn {
	position: fixed;
	left: 50%;
	bottom: 0;
	width: 100%;
	padding: 0 2rem;
	max-width: 576px;
	transform: translateX(-50%);
	z-index:1040;
}

/* ===== 인풋 ===== */
/* 인풋 자동완성 초기화 */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
	-webkit-text-fill-color: var(--text);
    -webkit-box-shadow: 0 0 0px 1000px var(--bg) inset;
    box-shadow: 0 0 0px 1000px var(--bg) inset;
    transition: background-color 5000s ease-in-out 0s;
}

input:autofill,
input:autofill:hover,
input:autofill:focus,
input:autofill:active {
	-webkit-text-fill-color: var(--text);
    -webkit-box-shadow: 0 0 0px 1000px var(--bg) inset;
    box-shadow: 0 0 0px 1000px var(--bg) inset;
    transition: background-color 5000s ease-in-out 0s;
}

/* 인풋 높이 */
/* .form-control {height: var(--height);} */
.form-control {height: var(--height_lg_md);}
.form-control-sm {height: var(--height_sm);border-radius: var(--rounded-md);}
.form-control-md {height: var(--height_md);border-radius: var(--rounded-md);}
.form-control-lg {height: var(--height_lg);border-radius: var(--rounded-lg);}
.form-control-auto {height: auto;}

input.form-control{white-space: nowrap; overflow: hidden; text-overflow: ellipsis; word-break: break-all;}

/* 인풋 타이틀, 필수값 표시 */
.ip_wr .ip_tit { margin-bottom: 1.0rem; margin-left: 0.5rem; }
.ip_tit:has(.text_count){ display: flex; justify-content: space-between; align-items: end;}
.ip_tit h5 { font-size: 1.5rem;font-weight: 500; display: inline-block;position: relative;}
.ip_tit.required h5::after{ content: "*"; position: absolute;color: #ff0000;top: 0; right: -1.0rem;}

/* 기본 디자인 */
.form-control{
    font-size: 1.5rem;
    font-weight: 400;
    color: var(--text);
    background-color: var(--gray-50);
    border: 1px solid var(--gray-50);
    border-radius: 1rem;
    padding: 1rem 1.6rem;
}
.form-control:focus{
    background-color: var(--gray-50);
    border-color: var(--gray-100);
}
.form-control::placeholder{ color: var(--gray-500);}

/* disabled / readonly */
.form-control:disabled{
    background-color: var(--gray-200);
    border-color: var(--gray-200);
	color: var(--gray-500);
}
.form-control[readonly]{
    background-color: var(--gray-200);
    border-color: var(--gray-200);
	color: var(--gray-500);
}

/* 비밀번호 인풋 */
.form-password{position:relative;}
.form-password .form-control{padding-right:5.0rem;}
.form-password .pw_icon {
	width: 2.5rem;
	height: 2.5rem;
	border: 0;
	background: transparent;
	padding: 0;
	position: absolute;
	right: 1.5rem;
	top: 50%;
	transform: translateY(-50%);
}

/* form-text */
.form-text {
	display: none;
	margin-top: 0.8rem;
	margin-left: 0.5rem;
	font-size:1.4rem;
	font-weight: 300;
	color: var(--gray-500);
}
.ip_invalid .ip_invalid{display: flex; color: var(--danger);}
.ip_invalid input.form-control, .ip_invalid input.form-control:focus {
	border-color: var(--danger);
}
.ip_valid .ip_valid{display: flex; color: var(--success);}

.form-text.help_text{
	display: block;
}

.text_count{
	font-size: 1.4rem;
	color: var(--gray-300);
	text-align: right;
}
.form_text_timer{
	font-size: 1.4rem;
	font-weight: 500;
	color: var(--danger);
}

/*.form-row*/
/*.form-row{margin-left:-0.4rem;margin-right:-0.4rem;}
.form-row > .col, .form-row > [class*=col-]{padding-left:0.4rem;padding-right:0.4rem;}
.form-row > .col-3 .btn{padding-left:0.5rem;padding-right:0.5rem;}*/


/* textarea 높이 */
textarea.form-control {
    min-height: 25rem;
	border-radius:1rem;
    padding: 1.5rem;
    line-height: 130%;
    resize: none;
}
.form-control textarea::placeholder {
	color: var(--gray-500);
	opacity: 1;
}
.form-control textarea:disabled,
.form-control textarea[readonly] {
    /* background-color: var(--input_disabled); */
    opacity: 0.5;
}


/* 셀렉트 박스 */
.custom-select {
	background-size: 2.0rem;
    padding: 1rem 3.6rem 1rem 2rem;
    font-size: 1.4rem;
    font-weight: 600;
    color: var(--gray-900);
    text-align: left;
    position: relative;
	background-color: var(--gray-50);
}
.custom-select2 {
	background-size: 2.0rem;
    padding: 1rem 3.6rem 1rem 2rem;
    border-radius: 5rem;
    font-size: 1.4rem;
    font-weight: 600;
    color: var(--gray-900);
    text-align: left;
    position: relative;
	height: 3.6rem;
}
.custom-select {
    background: url(../img/ic_ip_select.png)no-repeat center right 1.5rem;
    background-size: 3.0rem;
	background-color: var(--gray-50);
    /*border: 1px solid var(--gray-200);*/
}
.custom-select2:after {
    content: '';
    display: block;
    width: 1.6rem;
    height: 1.6rem;
    background: url(../img/ic_ip_select2.png)no-repeat center center;
    background-size: cover;
    position: absolute;
    right: 1.5rem;
    top: 50%;
    transform: translateY(-50%);
}
.detail .custom-select2{padding: 0 2.6rem; height: auto; border: 0 !important;}
.detail .custom-select2:after{ right: 0rem;}
.form-control:disabled.custom-select2:after{opacity:0.3}

/* 커스텀 셀렉트 드롭다운 */
/* .custom-select2[aria-expanded="true"] {
    border-radius: 1rem 1rem 0 0;
    border-color: var(--gray);
}*/
.custom-select2[aria-expanded="true"]:after {
    transform: translateY(-50%) rotate(180deg);
}
.custom-select2 + .dropdown-menu {
    min-width: 11rem;
    font-size: 1.4rem;
    border-radius: 1rem;
    border:0.1rem solid #EFF1F4;
    max-width: 100%;
	margin: 0.5rem 0;
	padding:1rem;
	right: 0;
    left: auto !important;
	z-index: 9999;
}
.custom-select2 + .dropdown-menu button {
    padding: 0.5rem 0.6rem;
    white-space: break-spaces;
    word-break: break-all;
	position:relative;
	line-height:150%;
	width:100%;
	text-align:center;
	border-radius:1rem;
	margin-bottom:1rem;
}
.custom-select2 + .dropdown-menu button.cancel{color: #F43C45; }
.custom-select2 + .dropdown-menu button:last-child{margin-bottom:0;}
.custom-select2 + .dropdown-menu button:hover {color: var(--primary); background: #EBF1FF;}
.custom-select2 + .dropdown-menu button.cancel:hover{color: #F43C45; background-color: #FFEEF4;}
.custom-select2 + .dropdown-menu button.on{ color: var(--primary); background: #EBF1FF;}
.custom-select2 + .dropdown-menu button.on:after{content: ''; display: block; width: 1.2rem; height: 1.2rem; background: url(../img/mini_check.png)no-repeat center center; background-size: cover; position: absolute; left: 0.9rem; top: 50%; transform: translateY(-50%);}

.detail .custom-select2 + .dropdown-menu{right: auto;}

/* 날짜 선택 */
input.form-control[type="date"], input.form-control[type="time"]{position: relative;}
input.form-control[type="date"]::-webkit-calendar-picker-indicator, input.form-control[type="time"]::-webkit-calendar-picker-indicator{
    -webkit-appearance: none;
    background: none;
    width: 100%; height: 100%; cursor: pointer;
    position: absolute; left: 0; top: 0;
}
input.form-control[type="date"]::before, input.form-control[type="time"]::before{
    content: ''; display: block; width: 2.4rem; height: 2.4rem; position: absolute; top: 50%;
    transform: translateY(-50%); right: 1.6rem; background: var(--gray); cursor: pointer;
    -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center; mask-position: center; -webkit-mask-size: contain; mask-size: contain;
}
input.form-control[type="time"]::before{
    -webkit-mask: var(--ic_time); mask: var(--ic_time);
}
input.form-control[type="date"]::before{
    -webkit-mask: var(--ic_date); mask: var(--ic_date);
}


input.form-control.no-icon[type="date"]::before, input.form-control.no-icon[type="time"]::before{ display: none;}


/*검색*/
.sch_ip {display: flex; gap: 5px; border:1px solid var(--border);background: #fff;padding: 0 1.5rem 0 1.5rem;border-radius: 1.0rem;}
.sch_ip .form-control{height:4.8rem;padding: 0.5rem 0;}
.sch_ip .form-control:focus { background-color: transparent; box-shadow: none;}
.sch_ip .sch_btn{width:3.0rem;height:3.0rem;border:0;background: transparent;}
.sch_ip .sch_btn img{ width: 2.5rem;}


/*회색 검색*/
.sch_gray.sch_ip{ background: var(--light); border:0; padding-left: 2.0rem;}
.sch_gray.sch_ip .form-control{ background: transparent; font-size: 1.4rem;}
#timer {
    position: absolute;
    right: 2rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--warning);
    font-size: 14px;
    pointer-events: none;
}

/* 검색어 삭제 버튼 */
input[type=search]::-ms-clear, input[type=search]::-ms-reveal {
	display:none;
}
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration{
	display:none;
}
.sch_ip .sch_clear_btn{
	width: 2.4rem;
	height: 2.4rem;
	display: none;
}
.sch_ip .sch_clear_btn img{
	width: 2.4rem;
	height: 2.4rem;
}


/* 체크박스*/
.checks_wr{display: flex; flex-wrap: wrap; margin-bottom: -1rem; }
.checks label{display: flex; align-items: center; cursor: pointer;}
.checks label.chk_right{flex-flow: row-reverse; justify-content: flex-end;}
.checks input{display: none;}
.checks .ic_box {
	width: 2.2rem;
	height: 2.2rem;
	border: 1px solid var(--gray-100);
	border-radius:50%;
	background-color: var(--gray-100);
	background-image: url(../img/check01_off.png);
	background-position: center;
	background-size: 1.0rem auto;
	background-repeat: no-repeat;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: 1.0rem;
	flex-shrink: 0;
}
.checks .ic_box.no-bg{
	background-image: url(../img/check_off.svg);
	width: 2rem;
    border: 0;
    border-radius: unset;
    background-color: transparent;
    background-size: auto;
}
.chk_p{color: var(--text); line-height: 2.2rem;}
.checks input:checked ~ .chk_p{}
.checks input:checked + .ic_box {
	background-image: url(../img/check01_on.png);
	background-color: var(--primary);
	border-color: var(--primary);
}
.checks input:checked + .ic_box.no-bg {
	background-image: url(../img/check_on.svg);
	border: 0;
    background-color: transparent;
}
.chk_right .ic_box{ margin-right: 0; margin-left: 1.0rem;}
.checks.primary_checks .ic_box{background-color: #eae9f0;border-radius: 50%;background-image:none;}
.checks.primary_checks input:checked + .ic_box{background-image: url(../img/check01_on.png);}


.radios_wr{display: flex; flex-wrap: wrap; gap:1rem;}
.radios label{display: flex; align-items: center; cursor: pointer;}
.radios label.chk_right{flex-flow: row-reverse; justify-content: flex-end;}
.radios.radio_btn{width:100%;}
.radios.radio_btn label{display: block;}
.radios input{display: none;}
.radios .ic_box {
	position: relative;
	flex-shrink: 0;
	width: 2.2rem;
	height: 2.2rem;
	text-align: center;
	background-color: var(--gray-100);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: 0.5rem;
	border-radius: 50%;
	border: 1px solid var(--gray-100);
}
.radios .ic_box::after{
	content: '';
	display: block;
	width: 1.2rem;
	height: 1.2rem;
	border-radius: 50%;
	background-color: var(--gray-500);
}
.radios input:checked + .ic_box{border-color: var(--primary); background-color: #fff;}
.radios input:checked + .ic_box:after {
	background-color: var(--primary);
}
.radios .ic_box2 {position: relative;	flex-shrink: 0;	text-align: center;  background-color: #fff;  display: flex;  align-items: center; justify-content: center;  border-radius: 1rem;  border: 1px solid var(--gray-300);  height: 5rem;  font-size: 1.6rem;  color: var(--gray-900);  font-weight: 600;}
.radios input:checked + .ic_box2{ border-color: var(--gray-300); background-color: var(--gray-800); }
.radios input:checked + .ic_box2 .chk_p p{color:#fff;}

/* 체크모양 라디오 */
.radios .radio_chk .ic_box {
	width: 2.2rem;
	height: 2.2rem;
	border: 1px solid var(--gray-300);
	border-radius:0.6rem;
	background-color: var(--gray-100);
	background-image: url(../img/check01_off.png);
	background-position: center;
	background-size: 1.0rem auto;
	background-repeat: no-repeat;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: 1.0rem;
	flex-shrink: 0;
}
.radios .radio_chk .ic_box::after{ display: none;}
.radios .radio_chk input:checked + .ic_box {
	background-image: url(../img/check01_on.png);
	background-color: var(--primary);
	border-color: var(--primary);
}


/* 이미지 업로드 */
.touch_scroll:has(.image_upload) .container{ width: max-content;}
.img_upl_wr .container{ margin-right: unset; margin-left: unset;}
.image_upload{display: inline-block;position: relative;margin-right:1.0rem;}
.image_upload:last-of-type{ margin-right: 0;}
.upload_box{
	width: 11rem;
	/* border: 1px solid var(--border); */
	overflow: hidden;
	cursor: pointer;
	background: url(../img/btn_add_img.png) no-repeat center top 35% / 4.0rem;
	background-color: var(--gray-100);
	border-radius: 1.0rem;
	position: relative;
}
.upload_box .max_img {
	position: absolute;
	bottom: 20%;
	width: 100%;
	left: 0;
	font-size: 1.5rem;
	text-align: center;
	color: var(--gray-500);
	font-weight:500;
}
.image_upload.on .upload_box{background: none;}
.upload_del {
    position: absolute;
    top: 0.8rem;
    right: 0.8rem;
    width: 2.4rem;
    height: 2.4rem;
    border-radius: 50%;
    background-color: transparent;
    padding: 0 !important;
    display: none;
}
.upload_del img{width:100%;}
.image_upload.on .upload_del{display: flex;}



/* 페이지네이션 */
.pagination {display: flex; justify-content: center; align-items: center; }
.pagination li { height: 100%; }
.pagination a {
    color: #000;
    font-weight: 500;
    margin: 0 0.4rem;
	width: 4rem;height: 4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 1rem;
}
.pagination a.on {
	background-color: var(--primary);color:#fff; font-weight: 400;
    color: #fff;
}
.pagination a.arrow{background-color: #fff;color: #626C79;}
.pagination a.arrow{margin:0;}
.pagination a.arrow.disabled img{opacity:0.3;}

/* 페이지네이션 ver2 */
.pagination_wr.pgn_ver2{
	display: flex;
	justify-content: center;
}
.pgn_ver2 .btn.pg_arrow{
	border: 1px solid var(--gray-100);
	background: #fff;
	width: 4.0rem;
	height: 4.0rem;
	padding: 0;
}
.pgn_ver2 .btn.pg_arrow:disabled{
	border: 1px solid var(--gray-100) !important;
	background: #fff !important;
}
.pgn_ver2 .btn.pg_arrow:disabled img{ opacity: 0.3;}
.pgn_ver2 .btn.pg_arrow img{
	width: 2.0rem;
	flex-shrink: 0;
}

.pgn_ver2 .btn.pg_arrow.prev{
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
	border-right: 0;
}
.pgn_ver2 .btn.pg_arrow.next{
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
	border-left: 0;
}

.pgn_ver2 .pgn_number {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 4.0rem;
	padding: 0.3rem 0.4rem;
	border: 1px solid var(--gray-100);
	border-radius: 0;
}
.pgn_ver2 .pagination li { height: 100%; }
.pgn_ver2 .pagination a {
	color: var(--gray-500);
	font-weight: 400;
	width: 3.2rem;
	height: 3.2rem;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 0.4rem;
}
.pgn_ver2 .pagination a.on {
	background-color: var(--primary);
	color:#fff;
	font-weight: 500;
}


/* 페이저 */
.pager {
    background: #ffffff;
    border-radius: 15rem;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 170px;
    height: 45px;
    margin: 3rem auto 0;
    border: 1px solid var(--border);
}

/* 테이블 */
.table_01 {width:100%; border-collapse: collapse;   border-bottom:1px solid #e3e3e3;border-top: 1px #eee solid;line-height: 140%;}
.table_01 th {
    border-bottom: 1px solid #eee;
    color: #1C1C1E;
    font-weight: 500;
    padding: 0.7rem 1.2rem 0.7rem 1.2rem;
    background: #F8F8F8;
    vertical-align: top;

}
.table_01 td {border-bottom:1px solid #eee;  padding:0.7rem 1.2rem;color: #1C1C1E;}


/* 테이블 슬래쉬 */
.table_01 th.slash {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"><line x1="0" y1="100%" x2="100%" y2="0" stroke="rgb(77,77,77)" /></svg>'); background-repeat: no-repeat;
}
.table_01 th.backslash {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"><line x1="0" y1="0" x2="100%" y2="100%" stroke="rgb(77,77,77)" /></svg>'); background-repeat: no-repeat;
}
.table_01 th.slash, .table_01 th.backslash { text-align: left; }
.slash div, .backslash div { text-align: right; }

/*테이블 반응형때*/
.table_scroll { overflow-x: auto; overflow-y: hidden; padding: 0px !important; }


/* 이미지 크롭 */
.rect{width: 100%;position: relative;overflow: hidden; }
.rect:after{content: "";display: block;padding-bottom: 100%; }
.rect img{ position: absolute;width: 100%;height: 100%;object-fit: cover;object-position: center;top: 50%;left: 50%;transform: translate(-50%,-50%);}

.rect2{width: 100%;position: relative;overflow: hidden; }
.rect2:after{content: "";display: block;padding-bottom:24.212%; }
.rect2 img{ position: absolute;width: 100%;height: 100%;object-fit: cover;object-position: center;top: 50%;left: 50%;transform: translate(-50%,-50%);}


.rect3 {width: 100%;overflow: hidden;position: relative;display: block;}
.rect3::after { content: '';display: block; padding-bottom:58.255%;}
.rect3 img {position: absolute;width: 100%;height: 100%;object-fit: cover;object-position: center;top: 50%;left: 50%;transform: translate(-50%,-50%);}

.rect4{width: 100%;position: relative;overflow: hidden; }
.rect4:after{content: "";display: block;padding-bottom:67.962%; }
.rect4 img{ position: absolute;width: 100%;height: 100%;object-fit: cover;object-position: center;top: 50%;left: 50%;transform: translate(-50%,-50%);}





/* ==================== 모달 디자인 ==================== */
/* ===== 모달 공통 ===== */
body{padding-right: 0px !important;}
body.modal-open[style]{overflow-y: scroll;
	position: fixed;
    top: 0px;
    width: 100%;
}
.modal{padding-right: 0px !important; overflow-y: auto;}
.modal-dialog {max-height: 100%;height: 100%;}
.modal .modal-dialog-scrollable .modal-body {
	overscroll-behavior: none;	/* 모달 내에서만 스크롤 */
	-webkit-overflow-scrolling: touch;	/* 아이폰에서 스크롤 부드럽게 */
}

/* ===== modal-default ===== */
.modal-default {
	max-width: var(--body_width);
	margin: 0 auto;
	padding-left: 0;
	padding-right: 0;
	padding: 2.0rem 1.6rem;
}

.modal .modal-header{align-items: center;padding: 1.5rem 2rem 1.5rem;justify-content: space-between;}
.modal .modal-header .modal-title {font-weight: 700;font-size: 2.0rem;flex: 1 1 auto;}
.modal .modal-header .close{text-shadow: none;opacity: 1;width:2.5rem;padding: 0;margin: 0;}

.modal .modal-content {border: 0;border-radius: 1.2rem;}
.modal .modal-body { position: relative; flex: 1 1 auto;padding:2.0rem 2.0rem 2.5rem;}
.modal .modal-body .close_bar{width:4.4rem;height:0.4rem;background:#E3E3E3;border-radius:1.0rem;margin:0 auto 1.0rem;border: 0;display: block;}

.modal .modal-footer > *{margin:0;}
.modal .modal-footer {padding: 1.5rem 2.0rem 2.5rem;border:0;display: block;}
.modal .modal-footer .form-row{margin-right: -0.4rem; margin-left: -0.4rem;}

.modal_bd_tit{
	font-size: 1.8rem;
	font-weight: 600;
	line-height: 1.3;
	color: var(--text);
	margin-bottom: 1.0rem;
}
.modal_bd_text{
	font-size: 1.5rem;
	color: var(--gray-500);
	line-height: 1.5;
}


/* ===== modal-sm ===== */
.modal-sm {
	max-width: 28.8rem;
	margin: 0 auto;
	padding: 1.5rem;
	padding: 0rem 1.6rem;
}
.modal .modal-sm .modal-header{ padding: 1.5rem 2rem;}
.modal .modal-sm .modal-body{ border:0; padding: 4rem 2.0rem 3.0rem;}
.modal .modal-sm .modal-footer{ padding: 0 2.0rem 2.0em;}


/* ===== modal-md ===== */
.modal-md {
	max-width: 48rem;
	margin: 0 auto;
	padding: 1.5rem;
	padding: 0rem 1.6rem;
	max-height: calc(100% - 3.5rem);
	min-height: calc(100% - 3.5rem);
}

.modal .modal-md .modal-header{}
.modal .modal-md .modal-body{}
.modal .modal-md .modal-footer{padding: 0 2.0rem 2.0rem;}



/* ===== 풀사이즈 모달 ===== */
.modal_full.modal{overflow-y: auto;}
.modal_full.modal .modal-header {
	width: 100%;
	background: #fff;
	padding: 0rem 1.6rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: var(--hd_height_m);
}
.modal_full.modal .modal-header button{border:0;background:transparent;width:3.0rem;}
.modal_full.modal .modal-content {border-radius: 0;max-height: 100vh;height: 100vh;}
.modal_full.modal .modal-dialog{margin:0 auto;max-width:57.6rem;transform: translate(0%, 0);max-height: 100%;}
.modal_full.modal .modal-body{border:0;padding-left:1.6rem;padding-right:1.6rem;}
.modal_full.modal .modal-footer{padding-top:1.4rem;padding-bottom:1.4rem;display: block;padding-left: 1.6rem;padding-right: 1.6rem;}
.modal_full.modal .modal-footer .form-row{margin-left: -5px;margin-right: -5px;}
.modal_full.modal .bg-black .modal-title{background:#000;}


/* ===== modal_bottom =====*/
.modal_bottom.modal{padding-right:0 !important;overflow-y: hidden;}
.modal_bottom.modal.fade{}
.modal_bottom.modal.show .modal-dialog{padding-right:0 !important;transform: translate(-50%, 0);}
.modal_bottom.modal .modal-dialog {transform: translate(0, 5rem);position: fixed;
	bottom: 0;
	width: 100%;
	max-width:100%;
	transform: translate(-50%, 5rem);
	left: 50%;
}
.modal_bottom.modal .modal-title button{border:0;background:transparent;width:3.2rem;position:absolute;right:2.0rem;top:1.6rem;}
.modal_bottom.modal .modal-dialog{justify-content: flex-end;margin: 0 auto;min-height: 100%;max-width:57.6rem;}
.modal_bottom.modal .modal-content{border-radius: 2.0rem 2.0rem 0 0;margin-top: 3.0rem;}
.modal_bottom.modal .modal-body{border-bottom:0;padding: 2rem 1.6rem 2.0rem;}
.modal_bottom.modal .modal-footer {padding: 1.0rem 1.6rem 1.5rem;}
.modal-backdrop {left: 50%; width: 100%;transform: translateX(-50%);max-width:57.6rem;}


/* 토스트팝업 */
.toast{
    color: #fff;
    border-radius: 0.6rem;
    font-size: 1.5rem;
    font-weight: 500;
    padding: 0.5rem 1rem;
}
/* toast */
.toast{
    position: fixed;
	max-width:33rem;
	width:100%;
    top: 7.2rem;
    left: 50%;
    transform: translateX(-50%);
    padding: 0 1.4rem;
    box-shadow: none;
    font-weight: 300;
    z-index: 9999;
    border: 0;
    background: transparent;
}
.toast-body {
    padding: 1.7rem 1.5rem;
    background-color: var(--gray-900);
    color: var(--white);
    border-radius: 1.4rem;
    text-align: center;
    display: flex;
    align-items: center;
	justify-content:center;
    gap: 0.5rem;
}
.toast-body p{
    display: flex;
    align-items: center;
    line-height: 1.3;
	justify-content:center;
	    color: #fff;
}
.toast-body p i{
    margin-right: 0.6rem;
}



/* ==================== 헤더 / 푸터 ==================== */
/* ===== 헤더 ===== */
.hd_m {
	display:flex;
	align-items: center;
	justify-content: space-between;
	height: var(--hd_height_m) !important;
	width: 100%;
	max-width: 576px;
	position: fixed;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	padding:0 1.6rem;
	z-index: 1000;
	background-color:#fff;
}
/* 헤더 버튼 공통 */
.hd_btn{min-width:2.8rem; max-width: 2.8rem;}
.hd_btn button{background-color: transparent; border: 0;}

/* 헤더 드롭다운 */
.hd_drop .dropdown-menu{
    background-color: var(--deep);
    text-align: center;
    box-shadow: 0 0 1rem rgb(0 0 0 / 8%);
}
.hd_drop .dropdown-item{ color: var(--gray-100); transition: color 0.3s;}
.hd_drop .dropdown-item:hover{ background: transparent; color: #fff;}

/* 채팅방 헤더 (_HD_NUM == '2') */
.hd_m .user_info_wr {
    flex-grow: 1;
    display: flex;
    align-items: center;
    gap: 1.2rem;
}
.hd_m .user_info_txt{ flex-grow: 1;}
.user_info_txt .user_name{ font-size: 1.6rem; font-weight: 600; line-height: 1.35; margin-bottom: 0.2rem;}

/* ai 응답 가능 표시 */
.online_status{
    font-size: 1.3rem;
    line-height: 1.4;
    color: var(--success);
}
.online_status::before{
    content: "";
    display: inline-block;
    width: 0.8rem; height: 0.8rem;
    border-radius: 50%;
    margin-right: 0.4rem;
    background-color: var(--success);
    box-shadow: 0 0 0.5rem var(--success);
}


/*하단메뉴*/
.bt_menu {
    width: calc(100% + 2px);
    max-width: 576px;
    background: #fff;
    position: fixed;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1000;
    display: block;
	border-radius:1.6rem 1.6rem 0 0;
	box-shadow:0 -0.4rem 1.0rem rgba(0,0,0,0.03);
}
.bt_menu ul{display: flex;justify-content: space-between;align-items: center;text-align:center;padding:0.7rem 1.5rem 0; height:8.0rem; /*box-shadow: 0px -1px 20px rgba(0, 0, 0, 0.05);*/}
.bt_menu ul li{width:20%;}
.bt_menu ul li a {
    display: block;
	color:var(--gray-400);
	font-weight:500;
	font-size:1.3rem;
	line-height: 1.31;
}
.bt_menu ul li .ico {
    width: auto;
    display: inline-block;
    margin: 0 auto;
}
.bt_menu ul li a p{word-break: keep-all; color:#A2A6B4;}
.bt_menu ul li .img_on{display:none;}
.bt_menu ul li.on a p{color:var(--primary);}

.bt_menu ul li.on .img_on{display:block;}
.bt_menu ul li.on .img_on + .new_icon{display:none;}
.bt_menu ul li.on .img_off{display:none;}


/* ==================== 메인 서브 공통 ==================== */
.container{padding-top: 1.5rem; padding-bottom: 2rem;}
.underline{text-decoration: underline;}
.bb_pg{padding-bottom:8rem;}
.no_bg{border: 0; background-color: transparent; outline:none !important;}
.mobile_wr:has(.hd_m) .page_wr{ padding-top: var(--hd_height_m);}
#main:has(.bottom_btn) .page_wr{padding-bottom: 8rem;}
.gray-line{width:100%; height:0.1rem; background-color:#D7DCE7;}
.sns_btn{width:5rem; aspect-ratio: 1 / 1;  border: 0; background-color: transparent;  border-radius: 50%;  overflow: hidden;}
.signup_ck .checks .ic_box.no-bg{width: 100%; height: auto; padding: 2rem; border: 0.1rem solid #D7DCE7;  border-radius: 1.8rem;  background-color: transparent;  background-size: auto;  text-align: left; text-align: left; background-position: right 2rem top 2rem;}
.signup_ck .checks .ic_box.no-bg .chk_p{width: 100%;}
.signup_ck .checks input:checked + .ic_box.no-bg{border: 0.1rem solid #2B66F6; background-color: #EBF1FF;}
.bottom_btn_box{
	background-color:#fff; padding:1.3rem 2rem;position: fixed;  left: 50%;  bottom: 0;  transform: translateX(-50%);  width: 100%; max-width: 576px;
	z-index: 1;
}
.terms_box, .gary_text_box{padding:2rem 2.5rem; border-radius:1rem; background-color:var(--gray-50);}
.children_number{display:flex; align-items: center; justify-content: center; gap:1rem;}
.children_number button{display: flex; align-items: center; justify-content: center;  width: 4.4rem; aspect-ratio: 1 / 1; border-radius: 50%; border: 0.1rem solid #D7DCE7; background-color: #fff; color: #343D4C; font-size: 2.5rem;}
.children_number .number_box{width:10rem; text-align:center;}
.children_ul ul{display: flex; flex-wrap:wrap; gap:1rem;}
.children_ul ul li{
    width:100%;
    display: flex;
    flex-direction: column;
    gap:1rem;
}
.children_ul .all_delete{display: none; text-decoration: underline; width: 100%; text-align: right; margin-top: 1rem;}
.file_sm_box{padding:0.7rem 0.5rem; border-radius:1rem; background-color:#F7F7FA; display: flex;  align-items: center; justify-content: space-between; width: 100%;}
.file_sm_box img{width:1.6rem;}
.skill_list{display: flex; flex-wrap:wrap; gap:1.2rem;}
.skill_list li{position: relative; padding:1.5rem 1.6rem; border:0.1rem solid #D7DCE7; border-radius:1.6rem; width:100%;}
.medal_img{width: 3.8rem; aspect-ratio: 1 / 1; background: url(../img/medal_gray.png) no-repeat; background-size: cover;}
.medal_img.on{background: url(../img/medal_color.png) no-repeat; background-size: cover;}

.image_upload_list ul li {width: 11rem;   aspect-ratio: 1 / 1;   overflow: hidden;  border-radius: 1rem;  position: relative; border: 0.1rem solid var(--gray-200);  overflow:hidden;}
.photo_upload {width: 100%;  aspect-ratio: 1 / 1;}
.photo_upload img{width: 100%;  aspect-ratio: 1 / 1;  object-fit: cover;}
.upload_image {width: 100%;  aspect-ratio: 1 / 1;}
.upload_image img {width: 100%;   aspect-ratio: 1 / 1;   object-fit: cover;}
.upload_choice {background: url(../img/camera.svg) no-repeat center; background-size: cover;   width: 100%;   height: 100%;  cursor: pointer;}
.image_upload_list .max_img {position: absolute;   bottom: 15%;   width: 100%;  left: 0;   font-size: 1.4rem;   line-height: 1.4;   text-align: center;   color: var(--gray-400);  font-weight: 400;}
.upload_delete {position: absolute;  top: 0.8rem;   right: 0.8rem;  width: 2.2rem;   height: 2.2rem;   border-radius: 50%;  background-color: transparent;  padding: 0 !important;  z-index: 1;}

/* 프로필 사진 */
.my_profile{position: relative; margin: auto; width: 10rem; aspect-ratio: 1 / 1; cursor: pointer;}
.profile_img{width: 10rem; aspect-ratio: 1 / 1; border-radius:50%; overflow:hidden;}
.profile_img img{width:100%; aspect-ratio: 1 / 1; object-fit: cover;}
.my_profile .mini_camera{position: absolute; bottom: 0;  right: 0;  background-color: var(--primary);  border-radius: 50%;  width: 2.8rem;  aspect-ratio: 1 / 1;  padding: 0.5rem; border: 0.1rem solid #fff;}
.my_profile .mini_camera img{width:100%; aspect-ratio: 1 / 1; object-fit: cover;}
.my_profile .mini_edit{position: absolute; bottom: 0;  right: 0;  background-color: var(--primary);  border-radius: 50%;  width: 2.8rem;  aspect-ratio: 1 / 1;  padding: 0.5rem; border: 0.1rem solid #fff;}
.my_profile .mini_edit img{width:100%; aspect-ratio: 1 / 1; object-fit: cover;}

/*home*/
.home{min-height: calc(100vh - 3.5rem);}
.main-top{padding-top: 10rem;}
.insurance_type ul{display: flex; flex-wrap: wrap; gap: 1rem; margin-bottom:1.3rem; cursor: pointer;}
.insurance_type ul li{display: flex;  align-items: center;  gap: 0.5rem;  padding: 0.8rem 1.5rem;  border: 0.1rem solid #E6EAF3;  border-radius: 5rem;}

.home_expert{padding-top: 3rem; background:url(../img/home_expert.png) no-repeat; background-size: auto; background-position: right 0rem top 2rem;}
.consult_btn{position: sticky; width: 100%;  padding: 1.2rem 0;  top: 100%;  left: 0;  background-color: #fff;  /*padding-bottom: 9rem;*/}
.keyword{display: flex; align-items: center; flex-wrap: wrap; gap: 1rem;}
.keyword li{font-size:1.5rem; font-weight:600;}
.business_info_hd .btn-link {text-decoration: none; color: var(--gray-700);}
#footer_wr a:hover {color: var(--gray-700);}

/*최신글*/
.latest_swiper{flex:1 1 auto; height: 1.7rem;}
.latest_item{background:#EBF1FF; padding:1.6rem; border-radius:1.0rem; display:flex; align-items: center; gap:1rem;}
.latest_item .latest_body{flex:1 1 auto; display:flex;align-items: center;gap:1.5rem; color:#000; }
.latest_item .latest_body p{height: 1.5rem;}

.dk_blue_c{width:1rem; height:1rem; border-radius:50%; background-color:#91B2FF;}
.pink_c{width:1rem; height:1rem; border-radius:50%; background-color:#FFCACA;}
.matching_status{width: 100%; aspect-ratio: 3 / 2.8; box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.09); border-radius: 3rem; padding:2rem;}
#matchingChart { width: 100%; height: 100% !important;}

/*이벤트, 이슈*/
.tab_btn_box{padding-top:1rem;}
.tab_btn_box ul li{width:50%; text-align:center; border-bottom:0.15rem solid #F4F6FA;}
.tab_btn_box ul li a, .tab_btn_box ul li p{font-size:1.6rem; font-weight:600; color:#ADB5C9; line-height:4rem; display: inline-block; width:100%; cursor: pointer;}
.tab_btn_box ul li.on{border-bottom:0.25rem solid #000;}
.tab_btn_box ul li.on a, .tab_btn_box ul li.on p{color:#000;}
.tag_list{padding:1.6rem;}
.tag_list ul li{display:inline-block; width: auto;}
.tag_list input[type="radio"] {display: none;}
.tag_list .btn {cursor: pointer; transition: all 0.2s ease; background-color: #F2F3F7 !important;  color: #000 !important; border-color: #F2F3F7 !important;}
.tag_list .btn.active{background-color: #000 !important;  color: #fff !important; border-color: #000 !important;}
.event_list{display:flex; flex-wrap:wrap; gap:1.6rem; padding-bottom:2rem;}
.event_list li{border-radius:1.4rem; overflow:hidden; width:100%; position:relative; aspect-ratio: 2.7 / 1;}
.event_list li img{width:100%; aspect-ratio: 2.7 / 1; object-fit: cover;}
.event_list li .event_end{position:absolute; width: 100%; height: 100%; background-color: rgba(0,0,0,0.8); align-items: center; justify-content: center; display:none;}
.event_list li.end .event_end{display: flex;}
.gray_tag{display:inline-block; padding:0.5rem 1rem; color:var(--gray-700); background-color:#F4F6FA; border-radius:5rem; font-size:1.2rem; font-weight:600;}
.issue_list li{width: 100%; padding: 1.5rem 1.6rem; display: flex; gap: 1rem; align-items: center; justify-content: space-between; cursor: pointer;}
.issue_img_box{max-width: 7.6rem; width: 100%; aspect-ratio: 1 / 1; border-radius: 1.2rem; overflow: hidden;}
.issue_img_box img{width: 100%; aspect-ratio: 1 / 1; object-fit: cover;}
.recent_list{display: flex; align-items: center; gap:1.6rem 1rem; flex-wrap:wrap;}
.recent_list li{padding: 1rem 1.5rem; display: flex; align-items: center;gap: 0.5rem; background-color: #F2F3F7; border-radius: 5rem;}
.no_data{padding:4.5rem 0; text-align:center;}
.write_btn{ width: 5rem;  height: 5rem;  border-radius: 50%;  border: 0;  background-color: var(--primary);}
.descendant{position:relative; width: 100%;}
.descendant:after{content: "년생";  font-size: 1.6rem; font-weight:500; color:var(--gray-900);  position: absolute;  z-index: 100;  top: 50%; right: 2rem; transform: translateY(-50%);}

/*홈 - 매칭진행중*/
.match_list .profile_img{width: 4.2rem;}
.relative{position:relative;}
.match_info_box{padding:4rem 3rem; background-color:var(--gray-50); border-radius:1rem;}
.border_tb{border-top:0.1rem solid #E6EAF3; border-bottom:0.1rem solid #E6EAF3;}
.match_arrive .ma_ai_img{position:absolute; top:0.5rem; right:1rem;}
.match_tag{padding:0.8rem; border-radius:1rem; background-color:var(--gray-50); white-space: nowrap;}
.match_list ul{display: flex; flex-wrap: wrap; gap: 2rem;}
.match_list ul li{width:100%; padding: 2rem; border-radius: 1.2rem;  box-shadow: 0 0 1rem rgba(0, 0, 0, 0.09);}

/*홈 - 매칭완료*/
.matching_complete .top{padding:1rem 0 2.9rem; border-bottom:0.1rem solid #EFEFEF;}
.matching_complete .circle_box{position:relative;}
.matching_complete .circle_box .circle{display: flex; align-items: center; justify-content: center; width: 2.4rem;  aspect-ratio: 1 / 1;  background-color: var(--gray-100); border-radius: 50%; margin:0 auto;}
.matching_complete .circle_box .circle img{display:none;}
.matching_complete .circle_box .circle p{font-size:1.6rem; color:#fff;}
.matching_complete .circle_box .text{position: absolute; font-size: 1.2rem; font-weight: 500; color: var(--gray-400); white-space: nowrap; left: 50%; transform: translateX(-50%); top: 120%;}
.match_line{width:10%; height:0.1rem; background-color: var(--gray-100);}
.match_line.on{background-color: var(--primary);}
.matching_complete .circle_box.ing .circle{background-color:#fff; border:0.1rem solid var(--primary);}
.matching_complete .circle_box.ing .circle p{color:var(--primary);}
.matching_complete .circle_box.ck .circle{background-color: var(--primary);}
.matching_complete .circle_box.ck .circle img{display: block;}
.matching_complete .circle_box.ck .circle p{display:none;}
.matching_complete .circle_box.ck .text, .matching_complete .circle_box.ing .text{color: var(--primary); font-weight:600;}
.matching_tag{display: flex; align-items: center;  gap:0.5rem;  padding: 1rem 1.5rem 1rem 2rem; border-radius: 5rem; background-color: var(--primary); line-height: 1.65rem;}

.more_btn .more_icon {transition: transform 0.3s ease;}

/* 접기 상태 */
.more_btn.is_open .more_icon {transform: rotate(180deg);}
.tag_0096cc{color:#0096cc; padding:0.8rem; border-radius:1rem; background-color:#EAF9FF;}
.proflie_shadow{padding: 2rem 1.6rem; box-shadow: 0 0 1rem rgba(0, 0, 0, 0.09); border-radius: 1.4rem;}
.star_tag{display: flex; min-width: 7.8rem; align-items: center;  gap: 0.5rem; padding: 0.8rem;  background-color: var(--gray-50); border-radius: 0.5rem;}
.star_tag img{width:1.8rem;}

/**/
.expert_profile_box{position:relative; background-color:#fff; border-radius:2rem 2rem 0 0; padding:2rem 1.6rem;}
.expert_profile_box .expert_profile_img{width: 10rem;  aspect-ratio: 1 / 1; position: absolute;  top: -5rem; left: 1.6rem; border-radius: 50%; overflow: hidden; border:0.1rem solid var(--gray-50);}
.expert_profile_box .expert_profile_img img{width: 100%;  aspect-ratio: 1 / 1; object-fit: cover;}

.gray_tab{padding: 0.8rem; background-color: var(--gray-50); border-radius: 1.6rem;}
.gray_tab ul li{width:50%;}
.gray_tab .nav-link{width:100%; padding:1rem; font-size:1.6rem; font-weight:600; color:var(--gray-900);background-color:transparent;  border-radius:1rem; border:0;}
.gray_tab .nav-link.active{ background-color:#fff;}

.detail_indicator{margin:2rem 0;}
.detail_indicator .indicator_graph{height: 2rem; border-radius: 0.4rem;}
.detail_indicator .pro{background-color:#D1F6C7; border: 1px solid transparent;}
.detail_indicator .kind{background-color:#86E0E0; border: 1px solid transparent;}
.detail_indicator .satis{background-color:#5BB9FF; border: 1px solid transparent;}
.detail_indicator .fast{background-color:#1D91FA; border: 1px solid transparent;}
.detail_indicator .comm{background-color:#0151E6; border: 1px solid transparent;}
.detail_indicator .trust{background-color:#CDCCFF; border: 1px solid transparent;}
.table_indicator{padding:2rem; border:0.1rem solid var(--gray-200); border-radius:1rem;}
.table_indicator table{width:100%;}
span.pro{display:inline-block; background-color:#D1F6C7; width:1.2rem; aspect-ratio: 1 / 1; border-radius:50%;}
span.kind{display:inline-block; background-color:#86E0E0; width:1.2rem; aspect-ratio: 1 / 1; border-radius:50%;}
span.satis{display:inline-block; background-color:#5BB9FF; width:1.2rem; aspect-ratio: 1 / 1; border-radius:50%;}
span.fast{display:inline-block; background-color:#1D91FA; width:1.2rem; aspect-ratio: 1 / 1; border-radius:50%;}
span.comm{display:inline-block; background-color:#0151E6; width:1.2rem; aspect-ratio: 1 / 1; border-radius:50%;}
span.trust{display:inline-block; background-color:#CDCCFF; width:1.2rem; aspect-ratio: 1 / 1; border-radius:50%;}

.qualification{ display: flex;  flex-wrap: wrap;  gap: 1rem;}
.qualification li{border: 0.1rem solid var(--gray-200);  padding: 1.2rem 1.6rem;  border-radius: 1.6rem;  width: calc(50% - 0.5rem);}

.star_rating {display: flex; align-items: center; width: 100%; justify-content: space-evenly; user-select: none; touch-action: none; cursor: pointer;}
.star {width: 3rem;  height: 3rem;  background: url('/assets/img/star_empty.png') no-repeat center / contain; position: relative; cursor: pointer;}
/* 기본: 채워진 별 안 보이게 */
.star::before {content: '';  position: absolute;  inset: 0;  background: url('/assets/img/star_full.png') no-repeat center / contain; background-size: cover;  clip-path: inset(0 100% 0 0); /* ⭐ 핵심 */}
/* 꽉 찬 별 */
.star.full::before {clip-path: inset(0 0 0 0);}
/* 반 별 (왼쪽 50%) */
.star.half::before {clip-path: inset(0 50% 0 0);}

.rating{display: flex;  gap: 1.5rem;  align-items: center;}
.rating .rating_left{text-align: center;  padding: 2rem 1rem;  background-color: var(--gray-50);  border-radius: 0.7rem; width: 55%;}
.rating .rating_left .star{width:1.8rem; height:1.8rem;}
.rating .rating_right{ width: 45%;}
.rating_point_box{border-radius:5rem; background-color:var(--gray-50); height:0.6rem; width:100%; overflow:hidden; position: relative;}
.rating_point_box .rating_point{display:inline-block; height:100%; background-color:#fed907; border-radius:5rem; position: absolute; top:0; left:0;}

.review_list{display: flex; flex-wrap:wrap; gap:2rem;}
.review_list li{width:100%; padding:2rem; box-shadow: 0 0 1rem rgba(0, 0, 0, 0.09); border-radius:1.5rem;}
.star_point{border-radius:1rem; background-color:var(--gray-50); padding:2rem 1.6rem;}
.star_point > div{width:calc((100% / 3) - 6.8px);}


/*매칭*/
.matching_no_data{display: flex; justify-content: center; align-items: center; height: calc(100vh - 13rem);}
.complete_tag{padding:1rem 2rem; border-radius:5rem; background-color:#F2F3F7;}
.cancle_tag{padding:1rem 2rem; border-radius:5rem; background-color:#FFEEF4;}
.request_list{display: flex; flex-wrap:wrap; gap:2rem;}
.request_list li{width:100%; padding: 2rem; border-radius: 2rem; box-shadow: 0 0 1rem rgba(0, 0, 0, 0.09); cursor: pointer;}
.request_info_box{padding:2rem 3rem; background-color:var(--gray-50); border-radius:1rem;}

.myunghwan_img{width: 100%; aspect-ratio: 75 / 46;}
.myunghwan_img img{width:100%; object-fit: cover;}
.dismiss_btn{display: inline-block; width: 3rem; height: 3rem;  margin: auto;  background-color: #000;  border-radius: 50%; margin-top: 1rem;}

.match_info{display: flex; padding: 2rem 1.2rem; border-radius: 1.6rem; background-color: #F5F7FB;}
.match_info .number_box{width:20%; text-align:center;}
.match_expert_container{padding:0 1.6rem;}
.gray_600_tag{font-size:1.4rem; font-weight:500; color:var(--gray-600); background-color:var(--gray-50); border-radius:1rem; padding:0.8rem;}
.match_expert_request ul{padding:2rem 0;}
.match_expert_request ul li{margin-bottom:2rem;}
.match_expert_request ul li:last-child{margin-bottom:0rem;}
.match_list_box{padding:2rem; border-radius:1rem; box-shadow: 0 0 1rem rgba(0, 0, 0, 0.09);}

.match_list_box.no_updata{border:0.1rem solid #F43C45;}
.match_list_box.no_updata .warning_box{display: flex; align-items: center; justify-content: center; gap: 0.3rem; padding: 1rem; background-color: #FFEEF4; border-radius: 5rem;}
.match_list_box .basic_info{border-top: 0.1rem solid rgba(99, 112, 146, 0.1);  padding: 2rem 0 0;}
.match_list_box .basic_info li{margin-bottom: 0; width: calc(50% - 0.5rem);}
.match_list_box .basic_info li p:nth-child(1){width:5rem;}

/* ==================== 채팅방 ==================== */
.chat_list_wr{padding-bottom:8rem; padding-top: 3rem;}
.ai_bubble{display: flex; align-items: start; gap: 0.5rem;}
.ai_bubble .ai_profile{min-width: 4.2rem; max-width:4.2rem; border-radius: 50%; overflow: hidden;}
.ai_bubble .bubble_msg_box{display: flex; flex-direction: column; gap: 1rem;  flex-wrap: wrap; align-items: flex-start;}
.ai_bubble .bubble_msg_box .bubble_msg{padding: 1.5rem; background-color: var(--gray-50);  border-radius: 0 1.6rem 1.6rem 1.6rem;}
.ai_bubble .bubble_msg_box .bubble_msg p{
    font-size:1.6rem;
    line-height:1.5;
    font-weight:400;
    white-space: pre-line;
    word-break: keep-all;}
.bubble_btn_box{display: flex; flex-wrap: wrap; gap: 8px;}
.bubble_btn{cursor: pointer;}
.bubble_btn input {display: none;}
.bubble_btn span {
    min-width: 7.2rem;
    text-align: center;
    display: inline-block;
    padding: 8px 15px;
    border-radius: 999px;
    border: 1px solid #E6EAF3;
    background: #fff;
    color: #000;
    font-size: 16px;
    line-height: 150%;
    transition: all 0.2s ease;
}
.bubble_btn:has(input:checked) span {background: var(--gray-800);	border-color: var(--gray-800); color: #fff;}
.my_bubble{display: flex; align-items: start; justify-content: end;}
.my_bubble .bubble_msg_box{padding: 1.5rem; background-color: #EBF1FF;  border-radius: 1.6rem 0 1.6rem 1.6rem;}
.my_bubble .bubble_msg_box p{font-size:1.6rem; line-height:150%; font-weight:400; white-space: pre-line; word-break: keep-all;}
.ai_bubble.wrong .bubble_msg_box .bubble_msg{background-color:#FFEEF4;}
.ai_bubble.wrong .bubble_msg_box .bubble_msg p{color:#F43C45;}
.bubble_msg_box.last .bubble_msg{background-color: var(--gray-100);}
.bubble_msg_box.last .bubble_msg .left{color:var(--gray-600); font-weight:600; min-width:7rem;}
.bubble_msg_box.last .bubble_msg .right{display: flex; flex-wrap: wrap; gap: 2rem;}

/* 채팅입력창 */
.chat_bottom{position: fixed;  bottom: 8rem;  left: 50%;  transform: translateX(-50%);  width: 100%;  max-width: 576px;  z-index: 1000;  background:#fff;}
.chat_bottom .chat_ip_wr{display: flex;  align-items: end;  gap: 1rem; padding:1.6rem;}
.chat_bottom .chat_ip_wr .btn-lg-md{min-width: 7.3rem;}
.chat_box {flex: 1; background: var(--gray-50); border-radius: 1rem; padding: 1rem 2rem;  display: flex;  align-items: center;  min-height: var(--height_lg_md);}
.chat_textarea {width: 100%;	border: none;	background: transparent;	font-size: 1.5rem;	line-height: 1.5;	color: var(--text);	resize: none;	outline: none;	padding: 0;	max-height: calc(1.5em * 5); /* ⭐ 5줄 제한 */	overflow-y: auto;}
.report_list{gap:2rem 0rem;}
.report_list .checks{width:50%;}
.bubble_msg .custom-select {padding: 0;}
.bubble_msg .form-control {height: var(--height_sm);}


/* placeholder */
.chat_textarea::placeholder {
	color: #9aa4b2;
}

/* 버튼 */
.btn_next {
	min-width: 72px;
	height: 4.8rem;
	border-radius: 16px;
	background: #d7dce5;
	color: #8a94a6;
	border: none;
	font-size: 15px;
}

.btn_next:not(:disabled) {
	background: #0888C8;
	color: #fff;
}


/*마이페이지*/
.info_writing{display: flex;  align-items: center;  justify-content: center;  gap: 1rem;  padding: 1rem 0 1.5rem;}
.info_writing a {font-size: 1.3rem;  color: var(--gray-700);  font-weight: 500;  display: flex;  align-items: center;  gap: 0.5rem;  padding: 1rem 1.5rem;  border-radius: 1rem;  border: 0.1rem solid var(--gray-100);}
.info_writing a img{width:1.4rem;}
.my_review_point{display: flex;  align-items: center;  padding: 2.5rem 1.2rem;  background-color: var(--gray-50); border-radius: 1.4rem; margin-bottom: 2rem;}
.my_review_point span{width: 1px; height: 4.3rem; background-color: var(--gray-100);}
.my_review_point a{font-size:1.3rem; font-weight:400; color:var(--gray-700);}
.my_review_point a img{width:1.2rem;}
.my_review_point .review_summary::after {content: '>'; margin-left: 4px; position: absolute;}

.my_btn_box{padding: 1.6rem;  border-radius: 1.4rem; box-shadow: 0 0 1rem rgba(0, 0, 10, 0.09);}
.my_btn_box .my_btn{margin-bottom:1rem;}
.my_btn_box .my_btn:last-child{margin-bottom:0;}
.my_btn_box .my_btn a{display: flex; align-items: center;  justify-content: space-between;  width: 100%; padding: 1rem 0;}
.point_top{padding:2.5rem 2.6rem; border-radius:0 0 1.4rem 1.4rem; box-shadow: 0 0 1rem rgba(0, 0, 0, 0.09);}
.point_list ul li{padding:1.6rem;}
.collapse_ex .no_bg[aria-expanded="true"] img {transform: rotate(180deg);}
.inquiry_list li{border-bottom:0.1rem solid var(--gray-50); padding:2rem 1.6rem;}
.inquiry_question, .faq_question, .alarm_info{padding:3rem 2rem 1rem;}
.inquiry_answer{padding:2rem; background-color:var(--gray-50); border-radius:1.4rem;}
.customer_service_tag{font-size: 1.4rem; font-weight: 600; color: #fff; padding: 0.5rem 1rem; background-color: #252B36; border-radius: 5rem;}
.inquiry_w_btn, .notice_w_btn{display: flex; align-items: center; justify-content: center; width: 5rem; aspect-ratio: 1 / 1;  border-radius: 50%;  background-color: var(--primary); border: 0; position: fixed; bottom: 2rem; right: 2rem; z-index: 100;}
.inquiry_w_btn img, .notice_w_btn img{width:2.4rem;}
.notice_list{margin-bottom:3rem;}
.notice_list li{border-bottom:0.1rem solid var(--gray-50);}
.notice_list li a{width: 100%;  padding: 2rem 1.6rem;  display: flex;  align-items: center;  justify-content: space-between;  color: #000; }
.time_radio_box{margin-top:1.5rem; display: none; flex-direction: column; gap: 1.5rem;}
.time_radio_box.on{display: flex;}
.alarm_list li{border-bottom:0.1rem solid var(--gray-50); padding:2rem 1.6rem; background-color:#fff; cursor: pointer;}
.alarm_list li.new{background-color:var(--primary-light)}
.alarm_list li.on .line1_text { -webkit-line-clamp: unset; overflow: visible; display: block;}
.alarm_list li .arrow_img {transition: transform 0.3s ease;min-width:1.6rem; margin-top: 0.3rem;}
.alarm_list li.on .arrow_img {transform: rotate(180deg);}
.alarm_btn{position:relative;}
.new_icon{position:absolute; display:none; width:0.8rem; aspect-ratio: 1 / 1;  border-radius: 50%; background-color: var(--primary); top: 0.2rem; left: 70%; transform: translateX(-50%);}
.alarm_btn.new .new_icon{ display:inline-block;}
.level_tag{
    font-size:1.4rem;
    font-weight:500;
    color:var(--primary);
    background-color:var(--primary-light);
    border-radius:1rem;
    padding:0.8rem;
}

/* sns 가입 회원유형 */
.role_card {
    padding: 1.2rem 1.6rem;
    border-radius: 1.6rem;
    border: 1px solid var(--gray-200);
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
.type_box {display: flex; flex-direction: column; gap: 0.5rem;}

.role_card input[type="radio"] {position: absolute; opacity: 0;}
.role_card:has(input:checked) {border-color: var(--primary); background-color: var(--primary-light);}
.role_card .check_icon {
    width: 2rem;
    height: 2rem;
    background-image: url(../img/check_off.svg);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}
/* radio 선택 시 */
.role_card input[type="radio"]:checked+.check_icon {background-image: url(../img/check_on.svg);}

/*추가사항*/
.helper_wrap {position: relative;}
.helper_trigger {
    color: var(--text);
    background-color: transparent;
    border: 1px solid transparent;
}
.bottom_helper {
    position: absolute;
    top: calc(100% + 15px);
    z-index: 0;
    display: flex;
    align-items: flex-start;
    gap: 2rem;

    width: fit-content;
    background: #fff;
    padding: 1.6rem;
    font-size: 1.5rem;
    line-height: 1.5;
    border-radius: 1.2rem;
    box-shadow: 0 0 10px rgba(37, 43, 54, 0.15);
}
.bottom_helper::before {
    content: '';
    position: absolute;
    top: -9px;
    left: 3rem;
    width: 0;
    height: 0;
    border-left: 9px solid transparent;
    border-right: 9px solid transparent;
    border-bottom: 11px solid #fff;
}
.bottom_helper::after {
    content: '';
    position: absolute;
    top: -14px;
    left: 3rem;
    width: 0;
    height: 0;
    border-left: 9px solid transparent;
    border-right: 9px solid transparent;
    border-bottom: 11px solid rgba(37, 43, 54, 0.06);
    filter: blur(3px);
    z-index: -1;
}
.close_btn {
    background-color: transparent;
    border: 1px solid transparent;
    font-size: 1.5rem;
    color: var(--gray-700);
}
/* ==================== 반응형==================== */

@media (min-width: 577px) {
  .inquiry_w_btn, .notice_w_btn{
    right: calc(50% - 288px + 20px);
  }
}

/*반응형 max 1200 xl*/
@media (max-width: 1199.98px) {


}

/*반응형 max 992px lg*/
@media (max-width: 991.98px) {

}


/*반응형 max 767px md*/
@media (max-width: 767.98px) {

	/* 모바일 메뉴 */
	.m_menu_wr{width: 100%; left: 50%; transform: translate(-50%); max-width:57.6rem;}
	.menu_bg{width: 100%; left: 50%;}
	.menu_on .m_nav{max-width: 80%;}

}

/*반응형 max 576px sm*/
@media (max-width: 575.98px) {

	.mobile_wr {
		border-left: 0;
		border-right: 0;
	}

	/* 고탑버튼 모바일 사이즈 */
	.go_top2 {
		right: 1.6rem;
		transform: translateX(0);
	}


}
/*반응형 max 374px*/
@media (max-width: 390px) {
	.report_list .chk_p{font-size:1.4rem;}
}

/*반응형 max 374px*/
@media (max-width: 374px) {
	html { font-size:9.4px; }
	.star_point > div { width: calc((100% / 2) - 5px);}
}

/*반응형 max 374px*/
@media (max-width: 350px) {
	.report_list .checks{width:100%;}
}

/*반응형 max 375px*/
@media (max-width: 280px) {
	.main-top { margin-top:4rem; }
}


