.sec_process li{
	position: relative;
	margin-top: 3.75rem;
}
.sec_process li:not(:last-child)::before{
	display: block;
	position: absolute;
	top: 1rem; left:calc(1.75rem / 2 - 2px);
	content:"";
	width: 4px;
	height: calc(100% + 3.75rem);
	background-color:var(--point1);
}
.sec_process li h3{
	display: flex;
	align-items: center;
	gap: 1.875rem;
	font-size:2rem;
	font-weight: 600;
}
.sec_process li h3::before{
	display: block;
	content:"";
	min-width: 1.75rem;
	height: 1.75rem;
	border-radius:50%;
	background-color:var(--point1);
}
.sec_process li p{
	margin-top:1.5rem;
	padding-left:3.625rem;
	font-size: 1.5rem;
	font-weight: 400;
	line-height: 150%;
}


.sec_class .filter_wrap{
	display: flex;
	justify-content: center;
	position: relative;
}
.sec_class .filter_wrap .filter_btn{
	display: flex;
	align-items: center;
	gap: 0.375rem;
	position: absolute;
	right: 0;
	padding: .5rem 1.25rem;
	background-color:#000;
	color:#fff;
	border-radius: 2.5rem;
	font-size: 1.125rem;
	font-weight: 600;
}
.sec_class .filter_wrap .filter_btn::before{
	content:'';
	width: 1.125rem;
	aspect-ratio: 20/19;
	background: url("../images/common/ico_filter.svg") no-repeat center / cover;
}
.filter_wrap a{
	min-width: 7.25rem;
	padding: .5rem 0;
	font-size: 1.125rem;
	text-align: center;
	font-weight: 600;
	border-radius: 2.5rem;
	color: #444;
	background-color: #D9D9D9;
}
.filter_wrap a.on{
	border: none;
	background-color:var(--point1);
	color:#fff;
}


.sec_class .list .card_list a{
	grid-column: span 4;
}
.sec_class .grid_lay h4{
	font-size: 1.5rem;
	font-weight: 700;
	margin-top: 1.375rem;
}
.sec_class .grid_lay p{
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 2.5rem;
	margin-top: 0.75rem;
	word-break: keep-all;
}
.sec_class .list .date{
	display:block;
	margin-top:0.5rem;
	font-size:1.25rem;
}
.sec_class .list .tags{
	display: flex;
	flex-wrap:wrap;
	gap:.5rem;
	margin-top: 1.25rem;
}

/* 모임찾기 목록 카드 썸네일: 마이페이지와 동일 56:53, 최대 448px, cover·중앙 */
.sec_class .list .card_list.type1 a .img_box{
	display: block;
	width: 100%;
	max-width: 448px;
	margin-inline: auto;
	aspect-ratio: 56 / 53;
	overflow: hidden;
}
.sec_class .list .card_list.type1 a .img_box img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}

.sec_class_view .class_hd dl{
	overflow: auto;
}
.sec_class_view .class_hd dt{
	display: inline;
	min-width: 6.5625rem;
	margin-right: 3.125rem;
	font-size: 1.25rem;
	font-weight: 700;
}
.sec_class_view .class_hd dd{
	display: inline-block;
	width: calc(100% - 10rem);
	font-size: 1.125rem;
	font-weight: 500;
}
.sec_class_view .class_hd dd:not(:last-of-type){
	padding-bottom: 0.625rem;
}
.sec_class_view .class_hd button,
.sec_class_view .class_hd a{
	display:flex;
	justify-content:center;
	align-items:center;
	width: 100%;
	height: 3.25rem;
	margin-top: 2rem;
	font-size: 1.5rem;
	font-weight: 600;
	color:var(--white1);
	background-color:var(--point1);
}
.sec_class_view .class_hd button[disabled],
.sec_class_view .class_hd a[disabled]{
	background-color:#D9D9D9;
	color:#797979;
	cursor:auto;
}
.sec_class_view .class_hd button.black,
.sec_class_view .class_hd a.black{
	background-color:#000;
	
}

.sec_class_view .class_member{
	border-top: 1px solid #000;
}
.sec_class_view h3{
	font-size: 2.5rem;
	font-weight:700;
	margin-bottom: 2.5rem;
}
.sec_class_view .class_member .desc{
	padding-top: 5.3125rem;
}
.sec_class_view .row .desc h4{
	margin-bottom: 1.875rem;
	font-size: 1.875rem;
	font-weight: 600;
}
.sec_class_view .row .desc p{
	font-size:1.5rem;
	font-weight: 400;
	line-height: 150%;
}
.sec_class_view .row:not(:first-of-type){
	margin-top: 5rem;
}
.sec_class_view img{
	width: 100%;
}
.sec_class_view .class_description{
	border-top: 1px solid #000;
	border-bottom: 1px solid #000;
}
.sec_class_view .class_detail{
	border-bottom: 1px solid #000;
}
.sec_class_view .sec_process{
	width: 100%;
	max-width: 700px;
}
.sec_class_view .sec_process h4{
	margin-bottom: 3.125rem;
	padding-left: 1rem;
	font-size:2.5rem;
	font-weight: 700;
}
.sec_class_view .sec_process .badge{
	display: inline-block;
	font-size: 1.5rem;
	margin-bottom: 0.75rem;
}
.sec_class_view .sec_process li:first-of-type{margin-top: 0}
.sec_class_view .sec_process li{
	padding-left: 1rem;
}
.sec_class_view .sec_process li:not(:last-child)::before{
	left:calc(1.75rem / 1);
}
.sec_class_view .sec_process .schedule:not(:first-of-type){
	margin-top: 3.125rem;
}
.sec_class_view .sec_process li::before{
	position:absolute;
	top: 0.375rem;
	left: 1.7188rem;
	content:"";
	width: 0.375rem;
	height: calc(100% - 1.375rem);
	background-color:var(--point1);
}
.sec_class_view .sec_process li::after{
	content:"";
	width: 1.75rem;
	aspect-ratio: 1/1;
	border-radius: 50%;
	background-color:var(--point1);
	position: absolute;
	left: 1rem;
	bottom: 0;
}
.sec_class_view .sec_process .info_txt{
	margin-top: 2.5rem;
	padding-left: 1rem;
	color:#666666;
}
.sec_class_view .sec_process .info_txt strong{
	display: block;
	margin-bottom: 1.25rem;
	font-size: 1.5rem;
}
.sec_class_view .sec_process .info_txt p{
	font-size: 1.125rem;
	font-weight: 400;
	line-height: 150%;
	text-indent: -.5em;
	margin-left: .5em;
}

.sec_class_view .class_comment_wrap .hd{
	border-bottom: 1px solid #000;
}
.sec_class_view .class_comment_wrap .hd h3{
	margin: 0;
}
.sec_class_view .class_comment_wrap .hd a{
	width: 9.375rem;
	height: 3.125rem;
	font-size: 1.25rem;
	font-weight: 600;
}
.sec_class_view .class_comment_wrap .sub_hd{
	display:flex;
	align-items: center;
	padding: 1.25rem 1.5rem;
	border-bottom: 1px solid #000;
}
.sec_class_view .class_comment_wrap .sub_hd strong{
	display:flex;
	align-items: center;
	gap: .5rem;
	font-size: 1.25rem;
	font-weight:600;
}
.sec_class_view .class_comment_wrap .sub_hd strong::before{
	display:block;
	content:"";
	width: 1.25rem;
	aspect-ratio: 1/1;
	background: url("/assets/maumtown/images/common/star_on.svg") no-repeat center / cover;
}
.sec_class_view .class_comment_wrap .sub_hd p{
	display: flex;
	align-items: center;
	gap: 0.75rem;
	font-size:1.25rem;
	font-weight: 600;
}
.sec_class_view .class_comment_wrap .sub_hd p::before{
	display:block;
	content:"";
	width: 1px;
	height: 1.25rem;
	background:#000;
	margin-right: .5rem;
	margin-left: 1.25rem;
}
.sec_class_view .comment_list li{
	display: flex;
	padding: 2.5rem 1.5rem;
}
.sec_class_view .comment_list li:not(:last-child){
	border-bottom: 1px solid #000;
}
.sec_class_view .comment_list li .profile{
	margin-right: 1rem;
}
.sec_class_view .comment_list li .profile img{
	width: 3.75rem;
	min-width: 3.75rem;
	aspect-ratio: 1/1;
}
.sec_class_view .comment_list li .desc{
	padding-top: 1.125rem;
	width: 100%;
}
.sec_class_view .comment_list li .desc h4{
	display: flex;
	gap: .5rem;
	font-size: 1.25rem;
	font-weight: 600;
}
.sec_class_view .comment_list li .desc span{
	display: flex;
	align-items: center;
	gap: .5rem;
	font-size: 1.25rem;
	font-weight: 400;
}
.sec_class_view .comment_list li .desc span::before{
	content:"";
	width: 1px;
	height: 0.875rem;
	background-color:#000;
}
.sec_class_view .comment_list li .desc p{
	margin-top: 0.625rem;
	font-size: 1.125rem;
	font-weight: 400;
	line-height: 150%;
}
.sec_class_view .comment_list li .img_wrap{
	display: flex;
	flex-wrap: wrap;
	gap:1.25rem;
	margin-top: 0.625rem;
}
.sec_class_view .comment_list li .img_wrap img{
	width: auto;
}
.sec_class_view .more_btn{
	display: flex;
	justify-content: center;
	align-items: center;
	gap:.5rem;
	width: 100%;
	height: 5rem;
	margin-top: 4rem;
	font-size:1.25rem;
	font-weight: 600;
	background-color:var(--point1);
	color: var(--white1);
}
.sec_class_view .more_btn::after{
	content:"";
	width: 1.25rem;
	height: 1.25rem;
	background-color:var(--white1);
	mask: url("/assets/images/icons/ico_pagination_arrow.svg") no-repeat center / cover;
	transform: rotate(90deg);
}

/* 닫기: wv_modal 직계 자식 → 콘텐츠 패딩과 무관하게 모달 카드 우측 상단 */
.wv_modal.filterModal .filter_modal_close{
	position: absolute;
	top: 1.5rem;
	right: 1.5rem;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	cursor: pointer;
	transition: background-color .15s ease;
}
.wv_modal.filterModal .filter_modal_close:hover,
.wv_modal.filterModal .filter_modal_close:focus-visible{
	background-color: rgba(0, 0, 0, 0.06);
}
.wv_modal.filterModal .filter_modal_close:focus-visible{
	outline: 2px solid var(--point1, #191919);
	outline-offset: 2px;
}
.wv_modal.filterModal .filter_modal_close img{
	display: block;
	width: 1.5rem;
	height: 1.5rem;
}

.filterModal .btn_list  button{
	padding: 0.625rem 0;
	font-size:1.125rem;
}
.filterModal .btn_list .close_modal{
	flex:1;
	display: flex;
	gap: .5rem;
}
.filterModal .btn_list .close_modal::before{
	content:"";
	width: 1.25rem;
	aspect-ratio: 1/1;
	background: url("../images/common/ico_reset.svg") no-repeat center / cover;
}
.filterModal .btn_list button[type=submit]{
	flex:5;
}

@media all and (max-width: 768px){
	.about_img{
		width: 33px;
		aspect-ratio: 33 / 35;
	}
	
	.sec_process li{
		margin-top: 40px;
	}
	.sec_process li h3{
		gap: 20px;
		font-size: 20px;
	}
	.sec_process li h3::before{
		min-width: 20px;
		height: 20px;
	}
	.sec_process li:not(:last-child)::before{
		top:10px;
		left: calc(20px / 2 - 2px);
		height: calc(100% + 40px);
	}
	.sec_class_view .sec_process li::before{
		top:10px;
		left:7px;
		width: 6px;
	}
	.sec_class_view .sec_process li::after{
		left: 0;
		width: 20px;
	}
	.sec_process li p{
		font-size: 14px;
		margin-top: 10px;
		padding-left: 40px;
	}
	
	.sec_class .filter_wrap{
		flex-direction: column;
		gap: 24px;
	}
	.filter_wrap a{
		min-width: 60px;
		font-size: 12px;
		padding: 4px 0;
	}
	.sec_class .filter_wrap .filter_btn{
		gap: 4px;
		position: static;
		width: max-content;
		margin-left: auto;
		padding: 6px 12px;
		font-size:12px;
	}
	.sec_class .filter_wrap .filter_btn::before{
		width: 12px;
	}
	
	.sec_class .list .card_list a{
		grid-column: span 2;
	}
	.sec_class .list .card_list h4{
		font-size: 14px;
		margin-top: 16px;
	}
	.sec_class .list .tags{
		margin-top: 16px;
	}
	.sec_class .list .card_list p{
		font-size: 14px;
		line-height: 150%;
		margin-top: 6px;
	}
	.sec_class .list .card_list .date{
		font-size: 12px;
		margin-top: 10px;
	}
	
	.sec_class_view .class_hd{
		border-top: 1px solid #000;
	}
	.sec_class_view .class_hd dt{
		min-width: 60px;
		margin-right: 20px;
		font-size: 16px;
	}
	.sec_class_view .class_hd dd{
		width: calc(100% - 80px);
		font-size: 16px;
	}
	.sec_class_view .class_hd dd:not(:last-of-type){
		padding-bottom: 10px;
	}
	.sec_class_view .class_hd button,
	.sec_class_view .class_hd a{
		height: 40px;
		margin-top: 24px;
		font-size: 14px;
	}
	.sec_class_view h3{
		margin-bottom:20px;
		font-size: 20px;
	}
	.sec_class_view .class_member .desc{
		padding-top: 16px;
	}
	.sec_class_view .row .desc h4{
		margin-bottom: 6px;
		font-size: 16px;
	}
	.sec_class_view .row .desc p{
		font-size: 14px;
	}
	.sec_class_view .row:not(:first-of-type){
		margin-top: 20px;
	}
	.sec_class_view .sec_process h4{
		margin-bottom: 20px;
		padding-left: 14px;
		font-size: 18px;
	}
	.sec_class_view .schedule{
		padding-left: 18px;
	}
	.sec_class_view .sec_process .badge{
		font-size: 14px;
	}
	.sec_class_view .sec_process li{
		padding-left: 0;
	}
	.sec_class_view .sec_process li:not(:last-child)::before{
		left: calc(20px / 2 - 2px);
	}
	.sec_class_view .sec_process .info_txt{
		margin-top: 20px;
	}
	.sec_class_view .sec_process .info_txt strong{
		font-size: 14px;
		margin-bottom: 14px;
	}
	.sec_class_view .sec_process .info_txt p{
		font-size: 12px;
	}
	.sec_class_view .class_comment_wrap .hd a{
		width: 118px;
		height: 44px;
		font-size: 14px;
	}
	.sec_class_view .class_comment_wrap .sub_hd{
		padding: 20px 10px;
	}
	.sec_class_view .class_comment_wrap .sub_hd strong::before{
		width: 14px;
	}
	.sec_class_view .class_comment_wrap .sub_hd strong{
		font-size: 16px;
		gap: 8px;
	}
	.sec_class_view .class_comment_wrap .sub_hd p::before{
		height: 16px;
		margin-left: 12px;
		margin-right: 0px;
	}
	.sec_class_view .class_comment_wrap .sub_hd p{
		font-size:14px;
		gap: 12px;
	}
	.sec_class_view .comment_list li{
		padding: 20px 10px;
	}
	.sec_class_view .comment_list li .profile{
		margin-right: 10px;
	}
	.sec_class_view .comment_list li .profile img{
		width: 32px;
		min-width: 32px;
	}
	.sec_class_view .comment_list li .desc{
		padding-top: 6px;
	}
	.sec_class_view .comment_list li .desc h4{
		gap: 10px;
		font-size:16px;
	}
	.sec_class_view .comment_list li .desc span{
		gap: 10px;
		font-size: 16px;
	}
	.sec_class_view .comment_list li .desc p{
		font-size: 14px;
		margin-top: 8px;
	}
	.sec_class_view .comment_list li .img_wrap{
		gap: 10px;
		margin-top: 10px;
	}
	.sec_class_view .more_btn{
		height: 40px;
		margin-top: 40px;
		font-size:14px;
	}
	.sec_class_view .more_btn::after{
		width: 16px;
		height: 16px;
	}
	
	
	.wv_modal.big.applyModal,
	.wv_modal.big.filterModal{
		width: 100%;
		height: 100vh;
		max-height: 100vh;
		border-radius: 0;
		padding: 40px 0;
	}
	.wv_modal.big.applyModal .wv_modal_content,
	.wv_modal.big.filterModal .wv_modal_content{
		height: 100%;
		padding: 0 20px;
	}
	.applyModal .wv_modal_content form,
	.filterModal .wv_modal_content form{
		width: 100%;
		margin: 0 auto;
		height: calc(100% - 192px);
	}
	.filterModal .wv_modal_content form .scrollbar_custom{
		height:100%;
		overflow-y: scroll;
	}
	.filterModal .btn_list button{
		flex: auto !important;
		font-size:14px;
		padding: 10.5px 24px;
	}
	.filterModal .btn_list .close_modal::before{
		width: 16px;
	}
	.wv_modal.filterModal .filter_modal_close{
		top: 16px;
		right: 16px;
		width: 40px;
		height: 40px;
	}
	.wv_modal.filterModal .filter_modal_close img{
		width: 20px;
		height: 20px;
	}
}

.sec_counseling{
	min-height: calc(100vh - 15.938rem);
}
.sec_counseling .cont{
	max-width: 1440px;
}
.meeting_program_item + .meeting_program_item{
	margin-top: 1.875rem;
}
.maumtown_timepicker input[readonly]{
	background-color: #fff;
	color: #000;
}
.maumtown_timepicker{
	position: relative;
}
.maumtown_timepicker .xdsoft_datetimepicker{
	top:100% !important;
	left:0 !important;
	width:100%;
}
.image_upload_group{
	position: relative;
	width: max-content;
	max-width: 100%;
}
.image_upload_group .image_upload_box.st1{
	width:17.813rem;
	height:10rem;
}
.image_upload_group .image_upload_box.st2{
	width:17.813rem;
	height: 17.813rem;
}
.image_upload_group .image_upload_box{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	position: relative;
	overflow: hidden;
	border: 1px solid #ddd;
	background: #fff;
	color: #aaa;
	background: url("/assets/images/common/file_upload_thumbnail.png") no-repeat center / cover;
	padding: 0;
}
.image_upload_group .image_upload_box::after{
	display: none;
}
.image_upload_label{
	cursor: pointer;
}
.image_upload_preview{
	display: none;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
}
.image_upload_preview.on{
	display: block;
}
.thumbnail_upload_box{
	width: 10.875rem;
	height: 9.75rem;
}
.thumbnail_upload_name{
	width: 100%;
	max-width: 100%;
}
.thumbnail_upload_name input[type=file] + label{
	width: 100%;
}
.thumbnail_preview{
	object-fit: cover;
	object-position: center;
}
.image_remove_btn{
	display: none;
	position: absolute;
	top: 0.75rem;
	right: 0.75rem;
	z-index: 2;
	width: 1.75rem;
	height: 1.75rem;
	border: 0;
	border-radius: 50%;
	background: rgba(0, 0, 0, 0.55);
}
.image_remove_btn::before,
.image_remove_btn::after{
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 0.875rem;
	height: 1px;
	background-color: #fff;
}
.image_remove_btn::before{
	transform: translate(-50%, -50%) rotate(45deg);
}
.image_remove_btn::after{
	transform: translate(-50%, -50%) rotate(-45deg);
}
.image_remove_btn.show{
	display: block;
}
.additional_info_item + .additional_info_item{
	margin-top: 2.5rem;
	padding-top: 2.5rem;
	border-top: 1px solid #e5e5e5;
}
.program_add_btn{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	padding: 1.125rem 1.5rem;
	border: 0;
	border-radius: 0;
	background-color: var(--point1);
	color: #fff;
}
.program_add_btn:disabled{
	background-color: #d7d7d7;
	color: #fff;
	cursor: default;
}
.ui-datepicker-year,
.ui-datepicker-month{
	color: var(--point1);
}
.ui-datepicker{
	outline-color: var(--point1);
}
.ui-datepicker-calendar .ui-state-active{
	color: var(--point1);
	border-color: var(--point1);
}

.meeting_program_item .textarea,
.meeting_program_item .meeting_program_content{
	height: 3.75rem;
	padding: 0.85rem 1.25rem;
}

.ipt_wrap.use_text_count{
	position: relative;
}
.ipt_wrap.use_text_count .textarea{
	padding-right: 5.25rem;
	padding-bottom: 2.5rem;
}
.ipt_wrap.use_text_count .textarea_count{
	position: absolute;
	right: 1.25rem;
	bottom: 1rem;
	margin: 0;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1;
	color: #b0b0b0;
	pointer-events: none;
}
.ipt_wrap.use_text_count .textarea_count .current_count{
	color: #666;
}


.class_success_wrap{
	border-top: 2px solid #000;
}
.class_success_wrap .state_desc{
	padding-bottom: 2.5rem;
	margin-bottom: 3.75rem;
	border-bottom: 1px solid #ddd;
}
.class_success_wrap ~ .info_txt{
	font-size: 1.5rem;
	font-weight: 600;
	line-height: 150%;
	text-align: center;
	color: var(--point1);
}
.class_success_wrap .state_desc > li{
	display: flex;
	align-items: center;
	gap: 1.25rem;
}
.class_success_wrap .state_desc > li:not(:last-child){
	margin-bottom: 2rem;
}
.class_success_wrap .state_desc > li h4{
	min-width: 7.5rem;
	font-size: 1.5rem;
	font-weight: 700;
}
.class_success_wrap .state_desc > li p{
	font-size:1.25rem;
	font-weight:400;
	color:#000;
}
.class_success_wrap .state_desc > li .state p{
	color: #bbb;
}
.class_success_wrap .state_desc > li .state{
	display: flex;
	align-items: center;
	gap:12.5rem;
	padding-left: 1.75rem;
}
.class_success_wrap .state_desc .state li{
	display: flex;
	flex-direction:column;
	justify-content: center;
	align-items: center;
	position: relative;
	padding-bottom: 1.875rem;
}
.class_success_wrap .state_desc .state li::before{
	position: relative;
	z-index: 1;
	content:"";
	width: 1.25rem;
	height:1.25rem;
	border-radius: 50%;
	background-color:#fff;
	border:2px solid #bbb;
}
.class_success_wrap .state_desc .state li:not(:first-of-type)::after{
	position: absolute;
	top: 0.625rem; right:50%;
	z-index:0;
	content:"";
	width: calc(50% + 12.5rem);
	height: 2px;
	background-color: #bbb;
}
.class_success_wrap .state_desc .state li.clear:not(:first-of-type)::after,
.class_success_wrap .state_desc .state li.ing:not(:first-of-type)::after{
	background-color:var(--point1);
}
.class_success_wrap .state_desc .state li.clear::before{
	border:none;
	background: url("/assets/maumtown/images/common/ico_chk_clear.svg") no-repeat center / cover;
}
.class_success_wrap .state_desc .state li.ing::before{
	border:none;
	background: url("/assets/maumtown/images/common/ico_chk_ing.svg") no-repeat center / cover;
}
.class_success_wrap .state_desc .state li p{
	position: absolute;
	left: 50%; bottom: 0;
	transform: translateX(-50%);
	width: max-content;
}
.class_success_wrap .state_desc .state li.clear p{
	color: #000;
}
.class_success_wrap .state_desc .state li.ing p{
	color: var(--point1);
	font-weight: 700;
}

#applyModal .b_btn,
#cancelModal .b_btn,
#saveModal .b_btn{
	min-width: 9.375rem;
}

#applyModal .label,
#applyModal strong{
	display: block;
	min-width: 120px;
}
#applyModal .ipt_wrap,
#applyModal textarea{
	width: 100%;
	height: 148px;
}

.request_cont h4{
	margin-bottom: 1.25rem;
	font-size: 1.5rem;
	font-weight: 700;
}
.request_cont .txt{
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
	padding: 1.875rem 2.5rem;
	background-color:#94CCC0;
	font-size: 1.25rem;
	font-weight: 400;
	line-height: 150%;
}
.request_cont .txt h4{
	margin: 0;
	font-size: 1.5rem;
	font-weight: 700;
}
.request_cont .txt #openApplyRejectText{
	white-space: pre-line;
}

.btn_st{
	padding: 0.625rem 2.5rem;
	border-radius:5rem;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 150%;
}
.w_btn{
	background-color:#fff;
	border: 1px solid #000;
}
.b_btn{
	background-color:#000;
	color:#fff;
}
/* open_step2: 우편번호 입력 + 우측 검색 아이콘(카카오 우편) */
.sec_counseling .offline_zip_field{
	position: relative;
	width: 100%;
	max-width: 100%;
}
.sec_counseling .offline_zip_field .offline_zip_input{
	width: 100%;
	box-sizing: border-box;
	padding-right: 3.25rem;
	cursor: pointer;
}
.sec_counseling .offline_zip_field .offline_zip_search_btn{
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	width: 3.25rem;
	margin: 0;
	padding: 0;
	border: none;
	background: transparent;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 0;
}
.sec_counseling .offline_zip_field .offline_zip_search_btn img{
	display: block;
	width: 2rem;
	height: 2rem;
	opacity: 0.55;
}
.sec_counseling .offline_zip_field .offline_zip_search_btn:hover img,
.sec_counseling .offline_zip_field .offline_zip_search_btn:focus-visible img{
	opacity: 1;
}
.sec_counseling .offline_zip_field .offline_zip_search_btn:focus-visible{
	outline: 2px solid #00B189;
	outline-offset: -2px;
}
.pb_0{
	padding-bottom: 0 !important;
}
.bd_b_none{
	border-bottom: none !important;
}
.badge.st2{
	padding: 2px 6px;
	line-height: 150%;
	font-weight: 700;
	border-radius:4px;
}
.badge.gray{
	background-color:#D9D9D9;
	color: #545454;
}
.badge.point{
	background-color:rgba(0, 177, 137, 0.2);
	color: #00B189;
}

#filterModal form input[type="checkbox"]{
	position: absolute;
}
#filterModal form input[type="checkbox"] + label{
	display: flex;
	align-items: flex-start;
	gap: 0.625rem;
}
#filterModal form input[type="checkbox"] + label::before{
	display : block;
	min-width : 1.125rem;
	min-height: 1.125rem;
	border-radius: 50%;
	border: 1px solid #ddd;
	content: "";
	transform: translateY(2px);
}
#filterModal form input[type="checkbox"]:checked + label::before{
	border-color: #000;
	background: #000 url("/assets/images/icons/ico_checked.svg") no-repeat center / 0.75rem;
}

.sec_mypage::after{
	background: url("/assets/images/visuals/mypage_bg.svg") no-repeat center / cover;
}

/* 마이페이지 카드 썸네일: 56:53, 최대 448px, cover·중앙 */
.sec_mypage .mypage_content .card_list.type1 a .img_box{
	display: block;
	width: 100%;
	max-width: 448px;
	margin-inline: auto;
	aspect-ratio: 56 / 53;
	overflow: hidden;
}
.sec_mypage .mypage_content .card_list.type1 a .img_box img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}

@media all and (max-width: 768px){
	.sec_counseling{
		min-height: max-content;
	}
	.meeting_program_item + .meeting_program_item{
		margin-top: 20px;
	}
	.image_upload_group .image_upload_box{
		width: 8.75rem;
		height: 8.75rem;
	}
	.thumbnail_upload_box{
		height: 7.8125rem;
	}
	.additional_info_item + .additional_info_item{
		margin-top: 2rem;
		padding-top: 2rem;
	}
	.program_add_btn{
		padding: 15px 20px;
	}
	
	.request_cont h4{
		font-size: 20px;
	}
	.request_cont .txt{
		gap:10px;
		padding: 30px 20px;
		font-size:16px;
	}
	.request_cont .txt h4{
		font-size:20px;
	}
	.btn_st{
		padding: 11.5px 24px;
		font-size: 14px;
	}
	
	#applyModal .b_btn,
	#cancelModal .b_btn,
	#saveModal .b_btn{
		min-width: 100px;
	}
	
	#applyModal .label,
	#applyModal strong{
		min-width: 80px;
	}
	#applyModal .btns a,
	#applyModal .btns button{
		flex:1;
	}
	
	.meeting_program_item .textarea,
	.meeting_program_item .meeting_program_content{
		height: 48px;
		padding: 12px 16px;
	}
	.ipt_wrap.use_text_count .textarea{
		padding-right: 64px;
		padding-bottom: 34px;
	}
	.ipt_wrap.use_text_count .textarea_count{
		right: 16px;
		bottom: 14px;
		font-size: 12px;
	}
	
	.class_success_wrap .state_desc{
		margin-bottom: 30px;
		padding-bottom: 30px;
	}
	.class_success_wrap .state_desc > li{
		gap:0;
		flex-wrap: wrap;
	}
	.class_success_wrap .state_desc > li:not(:last-child){
		margin-bottom: 20px;
	}
	.class_success_wrap .state_desc > li h4{
		min-width: 93px;
		font-size: 14px;
	}
	.class_success_wrap .state_desc > li p{
		font-size:14px;
	}
	.class_success_wrap .state_desc > li .state{
		justify-content: space-between;
		gap: 0;
		width: 100%;
		margin-top: 20px;
		padding: 0 14px;
	}
	.class_success_wrap .state_desc .state li:not(:first-of-type)::after{
		top:9px;
		width: calc(100vw / 3 - 40px);
	}
	.class_success_wrap .state_desc .state li{
		padding-bottom: 22px;
	}
	.class_success_wrap .state_desc .state li::before{
		width: 18px;
		height: 18px;
	}
	.class_success_wrap .state_desc .state li p{
		bottom: auto;
		top: calc(100% - 14px);
		text-align: center;
	}
	
	.class_success_wrap ~ .info_txt{
		font-size: 20px;
	}
}