


.sub_default_tit {
	color: #333;
	text-align: center;
	font-family: SUIT;
	font-size: 46px;
	font-style: normal;
	font-weight: 700;
	line-height: 130%; /* 59.8px */
	letter-spacing: -1.15px;
	margin-bottom:0px;
}

.sub_md_tit {
	color: #666;
	text-align: center;
	font-family: SUIT;
	font-size: 22px;
	font-style: normal;
	font-weight: 500;
	line-height: 130%; /* 28.6px */
	letter-spacing: -0.55px;

	margin-bottom:0px;
}

.sub_gray_small_tit {
	color: #999; 
	font-size: 16px;
	font-style: normal;
	font-weight: 700;
	line-height: 100%; /* 16px */
	letter-spacing: 3.2px;

	margin-bottom:20px;
}

.sub_default_p {
	color: #333;
	text-align: center;
	font-family: SUIT;
	font-size: 18px;
	font-style: normal;
	font-weight: 400;
	line-height: 150%; /* 27px */
	letter-spacing: -0.45px;
	margin-bottom:0px;
}

.yellow_label {
	display: inline-block;
	padding: 8px 14px;

	border-radius: 999px;
	background: #FFF8E7;

	color: #FEB911; 
	font-size: 13px;
	font-style: normal;
	font-weight: 700;
	line-height: 140%; /* 18.2px */
	text-transform: capitalize;
}

@media (max-width: 991.98px) {
	.sub_default_tit {
		font-size: 28px;
		font-style: normal;
		font-weight: 700;
		line-height: 130%; /* 75.4px */
		letter-spacing: -1.45px;

		word-break: keep-all; /* 단어 단위로 줄바꿈 (한글엔 권장) */
	}

	.sub_md_tit {
		font-size: 16px;
		letter-spacing: -0.25px;
	}

	.sub_gray_small_tit {
		font-size: 13px; 
		letter-spacing: 2.6px;
		margin-bottom:12px;
	}

	.sub_default_p {
		font-size: 14px;
		letter-spacing: -0.25px;
		word-break: keep-all; /* 단어 단위로 줄바꿈 (한글엔 권장) */
	}
	.sub_default_p br {
		display:none;
	}
}


.grb_sub_top_box {
	background: #FAFAFA;
	padding:120px 0px;

	text-align:center;
}
.grb_sub_top_box h4 {
	border-radius: 999px;
	background: #FEB911;

	display: inline-flex;
	padding: 4px 30px;
	justify-content: center;
	align-items: center;
	gap: 8px;

	color: #FFF;
	font-family: SUIT;
	font-size: 24px;
	font-style: normal;
	font-weight: 700;
	line-height: 140%; /* 33.6px */
	text-transform: capitalize;

	margin-bottom:30px;
}
.grb_sub_top_box h2 {
	color: #333;
	text-align: center;
	font-family: SUIT;
	font-size: 58px;
	font-style: normal;
	font-weight: 700;
	line-height: 130%; /* 75.4px */
	letter-spacing: -1.45px;

	margin-bottom:30px;
}
.grb_sub_top_box h2 span {
	color: #FEB911;
}
.grb_sub_top_box p {
	color: #333;
	text-align: center;
	font-family: SUIT;
	font-size: 20px;
	font-style: normal;
	font-weight: 500;
	line-height: 160%; /* 32px */
	letter-spacing: -0.5px;

	margin-bottom:60px;
}
.grb_sub_top_box a {
	display: inline-flex;
	width: 180px;
	height: 60px; 
	justify-content: center;
	align-items: center;
	gap: 26px;
	flex-shrink: 0;

	color: #FFF;
	text-align: center;
	font-family: SUIT;
	font-size: 20px;
	font-style: normal;
	font-weight: 700;
	line-height: 60px; /* 32px */
	letter-spacing: -0.5px;

	border-radius: 10px;
	background: #333;
}

@media (max-width: 991.98px) {

	.grb_sub_top_box {
		padding:40px 0px;
	}
	.grb_sub_top_box h4 {
		padding: 4px 20px;
		font-size: 14px; 
		margin-bottom:20px;
	}
	.grb_sub_top_box h2 { 
		font-size: 28px;
		font-style: normal;
		font-weight: 700;
		line-height: 130%; /* 75.4px */
		letter-spacing: -1.45px;

		margin-bottom:20px;
	}
	.grb_sub_top_box h2 span {
		color: #FEB911;
	}
	.grb_sub_top_box p {
		font-size: 16px;
		letter-spacing: -0.5px;

		margin-bottom:30px; word-break: keep-all; /* 단어 단위로 줄바꿈 (한글엔 권장) */
	}
	.grb_sub_top_box p br { 
		display:none; 
	}
	.grb_sub_top_box a {
		display: inline-flex;
		width: 150px;
		height: 50px; 
		justify-content: center;
		align-items: center;
		gap: 26px;
		flex-shrink: 0;

		color: #FFF;
		text-align: center;
		font-family: SUIT;
		font-size: 16px;
		font-style: normal;
		font-weight: 700;
		line-height: 50px; /* 32px */
		letter-spacing: -0.5px;

		border-radius: 10px;
		background: #333;
	}

}


.grb_sub_md_cont {
	padding:100px 0px; text-align:center;
}

.sub_tit_md {
	color: #333;
	text-align: center;
	font-family: SUIT;
	font-size: 32px;
	font-style: normal;
	font-weight: 700;
	line-height: 140%; /* 44.8px */
	letter-spacing: -0.8px;

	margin-bottom:40px;
}




.sub_talk_box {
	margin:0 auto;
	width: 1100px;
	border-radius: 20px;
	background: #FFF;
	box-shadow: 4px 4px 30px 0 rgba(0, 0, 0, 0.14);

	padding:38px; 88px;
}

/*
.talk_line {
	display:flex; gap:18px; 
	align-items: center;
}
.talk_line.right {
	justify-content: flex-end;
}
.talk_line.left_margin {
	margin-left:16%;
}

.talk_line .icon_user {
}
.talk_line .talk_balloon {
	position:relative;
}
.talk_line .talk_balloon .talk_txt {
	
	white-space: nowrap;  

	color: #FFF;
	font-family: SUIT;
	font-size: 18px;
	font-style: normal;
	font-weight: 700;
	line-height: 140%;  
	letter-spacing: -0.45px;
 
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
*/

.talk_line {
	display:flex; gap:18px; 
	align-items: center;
}
.talk_line.right {
	justify-content: flex-end;
}
.talk_line.left_margin {
	margin-left:16%;
}

.talk_line .icon_user {
}
.talk_line .talk_balloon {
	position:relative;
	padding:18px 28px; border-radius: 30px;
}
.talk_line .talk_balloon .talk_txt {
	color: #FFF;
	font-family: SUIT;
	font-size: 18px;
	font-style: normal;
	font-weight: 700;
	line-height: 140%; /* 25.2px */
	letter-spacing: -0.45px;

	word-break: keep-all; /* 단어 단위로 줄바꿈 (한글엔 권장) */ text-align:left;
}
.talk_line .talk_balloon img {
	position:absolute;
}

.talk_line.talk_01 img {
	left:0px; bottom:0px;
}
.talk_line.talk_01 .talk_balloon {
	background:#333;	
}

.talk_line.talk_02 img {
	right:1px; bottom:0px;
}
.talk_line.talk_02 .talk_balloon {
	background:#FFB910;	
}

.talk_line.talk_03 img {
	left:2px; bottom:0px;
}
.talk_line.talk_03 .talk_balloon {
	background:#22C789;	
}



.speech-container {
  position: relative;
  display: inline-block;
  padding: 16px 20px 24px 20px; /* 아래쪽 꼬리 공간 확보 */
  background: none;
}

.speech-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; /* 컨테이너 높이에 맞춰 늘어남 */
  z-index: 0;
}

/* 텍스트 */
.speech-text {
  position: relative; /* SVG 위에 표시 */
  z-index: 1;
  color: white;
  font-size: 16px;
  line-height: 1.4;
  white-space: normal;
  word-wrap: break-word;

  	color: #FFF;
	font-family: SUIT;
	font-size: 18px;
	font-style: normal;
	font-weight: 700;
	line-height: 140%; /* 25.2px */
	letter-spacing: -0.45px; 
}


@media (max-width: 991.98px) {

	.grb_sub_md_cont {
		padding:40px 0px; text-align:center;
	}

	.sub_tit_md {
		font-size: 24px; 
		line-height: 140%; /* 44.8px */
		letter-spacing: -0.8px;
		margin-bottom:20px;

		word-break: keep-all; /* 단어 단위로 줄바꿈 (한글엔 권장) */
	}

 

	.sub_talk_box {
		margin:0 auto;
		width: 100%;
		border-radius: 20px;
		background: #FFF;
		box-shadow: 4px 4px 30px 0 rgba(0, 0, 0, 0.14);

		padding:18px; 18px;
	}

	.talk_line {
		gap:10px; margin:8px 0px;
	} 
	.talk_line.left_margin {
		margin-left:5%;
	}

	.talk_line .icon_user {
	}
	.talk_line .icon_user img {
		width:50px;
	}

	.talk_line .talk_balloon { 
		padding:10px 20px; border-radius: 30px;
	}
	.talk_line .talk_balloon .talk_txt {
		color: #FFF;
		font-family: SUIT;
		font-size: 12px;
		font-style: normal;
		font-weight: 700;
		line-height: 140%; /* 25.2px */
		letter-spacing: -0.15px;
	}

	.talk_line.talk_01 img {
		left:0px; bottom:0px;
	} 

	.talk_line.talk_02 img {
		right:0px; bottom:0px;
	} 

	.talk_line.talk_03 img {
		left:0px; bottom:0px;
	}
 

}




.grb_sub_asset_section {
	background-image: url('../images/sub/bg_sub_con_01_01.jpg');
	background-size: cover;       /* 가로는 꽉 채우고, 세로는 비율 유지 */
	background-position: center top;  /* 세로는 위쪽 중앙 기준 */
	background-repeat: no-repeat;

	padding:150px 0px;
}

.grb_sub_asset_section h2 {
	color: #FFF;
	text-align: center;
	font-family: SUIT;
	font-size: 46px;
	font-style: normal;
	font-weight: 700;
	line-height: 130%; /* 59.8px */
	letter-spacing: -1.15px;

	margin-bottom:130px;
}

.asset_box_wrap {
	display: grid;
	grid-template-columns: repeat(4, 1fr); /* 4등분 */
	gap: 30px; /* 간격 (원하면 조정) */
}

.asset_box_wrap .asset_box {
	border-radius: 20px;
	background: #FFF;
	box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);

	padding:60px 0px;
	width:100%;

	text-align:center;
}
.asset_box_wrap .asset_box:nth-child(1),
.asset_box_wrap .asset_box:nth-child(3) {
  transform: translateY(-50px);
}

.asset_box_wrap .asset_box h3 {
	color: #333;
	text-align: center;
	font-family: SUIT;
	font-size: 22px;
	font-style: normal;
	font-weight: 700;
	line-height: 140%; /* 30.8px */
	letter-spacing: -0.55px;

	margin-top:27px; margin-bottom:15px;
}

.asset_box_wrap .asset_box p {
	color: #333;
	text-align: center;
	font-family: SUIT;
	font-size: 17px;
	font-style: normal;
	font-weight: 400;
	line-height: 160%; /* 27.2px */
	letter-spacing: -0.425px;

	margin-bottom:0px;
}



@media (max-width: 991.98px) {

	.grb_sub_asset_section {
		background-image: url('../images/sub/bg_sub_con_01_01.jpg');
		background-size: cover;       /* 가로는 꽉 채우고, 세로는 비율 유지 */
		background-position: center top;  /* 세로는 위쪽 중앙 기준 */
		background-repeat: no-repeat;

		padding:80px 0px;
	}

	.grb_sub_asset_section h2 { 
		font-size: 28px; 
		line-height: 130%; /* 59.8px */
		letter-spacing: -1px; 
		margin-bottom:30px;
	}

	.asset_box_wrap {
		display: grid;
		grid-template-columns: repeat(2, 1fr); /* 4등분 */
		gap: 12px; /* 간격 (원하면 조정) */
	}

	.asset_box_wrap .asset_box { 
		padding:20px 15px;
		width:100%;
	}
	.asset_box_wrap .asset_box:nth-child(1),
	.asset_box_wrap .asset_box:nth-child(3) {
	  transform: none; /* 모바일에서는 원래 위치로 */
	}

	.asset_box_wrap .asset_box img {  
	}

	.asset_box_wrap .asset_box h3 { 
		font-size: 16px; 
		margin-top:20px; margin-bottom:10px;
	}

	.asset_box_wrap .asset_box p { 
		font-size: 13px; 
		line-height: 160%; /* 27.2px */
		letter-spacing: -0.2px;
		word-break: keep-all; /* 단어 단위로 줄바꿈 (한글엔 권장) */
	}

	.asset_box_wrap .asset_box p br { 
		display:none; 
	}


}






.grb_sub_onestop_section {
	margin:150px 0px;
}

.grb_sub_onestop_section h2 {
	color: #333;
	text-align: center;
	font-family: SUIT;
	font-size: 46px;
	font-style: normal;
	font-weight: 700;
	line-height: 130%; /* 59.8px */
	letter-spacing: -1.15px;

	margin-bottom:80px;
}

.onestop_box_wrap {
	display: grid;
	grid-template-columns: repeat(3, 1fr); /* 총 3등분 기준 */
	gap: 30px;
}

.onestop_box_big {
	grid-column: span 2; /* 2칸 넓이 */
	border-radius: 20px;
	background: #FFB910;
	padding:50px;

	background-image: url('../images/sub/bg_onestop.svg');
	background-repeat: no-repeat;
	background-size: auto 100%; /* 세로 100%, 가로는 비율 유지 */
	background-position: right 80px center; /* 오른쪽에서 80px 떨어진 위치 */
}
.onestop_box_big h3 {
	color: #FFF;
	font-family: SUIT;
	font-size: 32px;
	font-style: normal;
	font-weight: 600;
	line-height: 140%; /* 44.8px */
	letter-spacing: -0.8px;

	margin-bottom:40px;
}
.onestop_box_big ul {
	list-style:none; margin:0; padding:0;
}
.onestop_box_big li {
	display:flex; align-items: center; justify-content: flex-start; gap:12px;
	color: #FFF;
	font-family: SUIT;
	font-size: 18px;
	font-style: normal;
	font-weight: 600;
	line-height: 100%; /* 18px */
	letter-spacing: -0.45px;

	margin-bottom:14px;
}
.onestop_box_big li:last-child {
	margin-bottom:0px;
}

.onestop_box {
	grid-column: span 1; /* 기본 1칸 */

	border-radius: 20px;
	background: #FFF;
	box-shadow: 4px 4px 30px 0 rgba(0, 0, 0, 0.14);

	padding:50px;
}
.onestop_box.bg_box {
	background-image: url('../images/sub/bg_onestop_02.svg');
	background-repeat: no-repeat; 
	background-position: right bottom;
}

.onestop_box h3 {
	color: #333;
	font-family: SUIT;
	font-size: 32px;
	font-style: normal;
	font-weight: 600;
	line-height: 130%; /* 41.6px */
	letter-spacing: -0.8px;

	margin-bottom:70px;
}
.onestop_box p {
	color: #333;
	font-family: SUIT;
	font-size: 18px;
	font-style: normal;
	font-weight: 600;
	line-height: 160%; /* 28.8px */
	letter-spacing: -0.45px;

	margin-bottom:0px;
}

.onestop_box ul {
	list-style:none; margin:0; padding:0;
}
.onestop_box li {
	display:flex; align-items: center; justify-content: flex-start; gap:12px;
	color: #333;
	font-family: SUIT;
	font-size: 18px;
	font-style: normal;
	font-weight: 600;
	line-height: 130%; /* 18px */
	letter-spacing: -0.45px;

	margin-bottom:14px;
}
.onestop_box  .icon_top li {
	align-items: flex-start;
}
.onestop_box li:last-child {
	margin-bottom:0px;
}

@media (max-width: 991.98px) {

	.grb_sub_onestop_section {
		margin:80px 0px;
	}

	.grb_sub_onestop_section h2 {
		font-size: 28px; 
		line-height: 130%; /* 59.8px */
		letter-spacing: -1px; 
		margin-bottom:30px;
	}

	.onestop_box_wrap {
		display: grid;
		grid-template-columns: repeat(1, 1fr); /* 총 3등분 기준 */
		gap: 12px;
	}

	.onestop_box_big {
		grid-column: span 1; /* 2칸 넓이 */
		padding:26px;
		background-image:none;
	}
	.onestop_box_big h3 { 
		font-size: 20px; 
		line-height: 140%; /* 44.8px */
		letter-spacing: -0.8px; 
		margin-bottom:20px;
	} 
	.onestop_box_big li {
		gap:8px;
		font-size: 15px;
		font-style: normal;
		font-weight: 600;
		line-height: 100%; /* 18px */
		letter-spacing: -0.45px;

		margin-bottom:14px;
	}
	.onestop_box_big li img {
		width:20px;
	}
	.onestop_box_big li:last-child {
		margin-bottom:0px;
	}

	.onestop_box {
		grid-column: span 1; /* 기본 1칸 */

		border-radius: 20px;
		background: #FFF;
		box-shadow: 4px 4px 30px 0 rgba(0, 0, 0, 0.14);

		padding:26px;
	}
	.onestop_box.bg_box {
		background-image: none;
	}

	.onestop_box h3 {
		color: #333;
		font-family: SUIT;
		font-size: 20px;
		font-style: normal;
		font-weight: 600;
		line-height: 130%; /* 41.6px */
		letter-spacing: -0.8px;

		margin-bottom:20px;
	}
	.onestop_box h3 br {
		display:none;
	}
	.onestop_box p {
		color: #333;
		font-family: SUIT;
		font-size: 15px;
		font-style: normal;
		font-weight: 600;
		line-height: 160%; /* 28.8px */
		letter-spacing: -0.45px;

		margin-bottom:0px;
	}

	.onestop_box ul {
		list-style:none; margin:0; padding:0;
	}
	.onestop_box li { 
		font-size: 15px; 
		line-height: 130%; /* 18px */
		letter-spacing: -0.45px;

		margin-bottom:8px;
	} 
	.onestop_box li img {
		width:20px;
	}

}


 
.manage_support_section {
	margin:150px 0px;
}

.manage_support_section h2 {
	color: #333;
	text-align: center;
	font-family: SUIT;
	font-size: 46px;
	font-style: normal;
	font-weight: 700;
	line-height: 130%; /* 59.8px */
	letter-spacing: -1.15px;

	margin-bottom:0px;
}

@media (max-width: 991.98px) {

	.manage_support_section {
		margin:80px 0px;
	}

	.manage_support_section h2 {
		font-size: 28px;  
	}

}







.grb_sub_effect_cont {
	margin:150px 0px;
}
.effect_box_wrap_wrap {
	position:relative;
}
.effect_line_bg_warp {
	
	position:absolute; top:140px; left:0px;

	width: 100%;
}
.effect_line_bg {
  position: relative;
  width: 100%;
  height: 2px;

	border-radius: 20px;
	opacity: 0.5;
	background: linear-gradient(90deg, rgba(221, 221, 221, 0.00) 0%, #CCC 50%, rgba(221, 221, 221, 0.00) 100%);

  display: flex;
  justify-content: space-between;
  align-items: center; 
  padding: 0 10%;
}

.effect_line_bg span {
  position: relative;
  width: 14px;
  height: 14px;
  background-color: #ccc;
  border-radius: 50%;
  top: 0px; /* 선 위 중앙에 오도록 */
  transition: all 0.3s ease;
}
.effect_line_bg span.active {
	background-color: #FFB910;
}


.effect_box_wrap {
	display: grid;
	grid-template-columns: repeat(4, 1fr); /* 총 3등분 기준 */
	gap: 50px;
	margin-top:100px;
}
.effect_box {
	display:flex; align-items: center; justify-content: center; flex-direction: column;
}
.effect_box .effect_box_label {
	display: inline-flex;
	padding: 8px 14px;
	justify-content: center;
	align-items: center;
	gap: 8px;

	border-radius: 999px;
	border: 1px solid #DDD;
	background: #FFF;

	margin-bottom:20px;
	transition: all 0.3s ease;
}
.effect_box.active .effect_box_label {
	background: #FFB910;
	border: 1px solid #FFB910;
	color:#fff;
}

.effect_box h3 {
	color: #333;
	text-align: center;
	font-family: SUIT;
	font-size: 26px;
	font-style: normal;
	font-weight: 700;
	line-height: 100%; /* 26px */
	letter-spacing: -0.65px;

	height:26px;

	position: relative;
	margin-bottom:110px;
}
/*
.effect_box h3::after {
  content: "";
  position: absolute;
  left: 50%;  
  bottom: -40px;     
  transform: translateX(-50%); 
  width: 16px;
  height: 16px;
  background-color: #ccc;
  border-radius: 50%;   
}
*/

.effect_box  .effect_box_cont {
	border-radius: 30px;
	background: #F5F5F5;
	padding:30px; width:100%; transition: all 0.3s ease;
	position:relative;
}
.effect_box.active  .effect_box_cont {
	background: #FFF8E7;
}
.effect_box  .effect_box_cont::before {
  content: "";
  position: absolute;
  top: -10px; /* 삼각형 위치 */
  left: 50%;  /* 가운데 기준 */
  transform: translateX(-50%); /* 정확히 가운데 정렬 */
  border-width: 22px; /* 삼각형 크기 */
  border-style: solid;
  border-color: transparent transparent #FFF8E7 transparent; /* 아래쪽만 색상 */
}

.effect_box  .effect_box_cont ul {
	list-style:none; margin:0; padding:0; 
}
.effect_box  .effect_box_cont ul li {
	display:flex; align-items: flex-start; justify-content: flex-start; gap:12px; margin-bottom:14px;
}
.effect_box  .effect_box_cont ul li:last-child {
	margin-bottom:0px;
}
.effect_box  .effect_box_cont ul li img {
}



@media (max-width: 991.98px) {

	.grb_sub_effect_cont {
		margin:60px 0px;
	}

	.effect_line_bg_warp {
		display:none;
	}

	.effect_box_wrap {
		display: grid;
		grid-template-columns: repeat(1, 1fr); /* 총 3등분 기준 */
		gap: 30px;
		margin-top:40px;
	}

	.effect_box h3 {
		margin-bottom: 20px;
	}

}






.grb_sub_proc_section { 
	background-image: url('../images/sub/bg_sub_proc_section.jpg');
	background-size: cover;       /* 가로는 꽉 채우고, 세로는 비율 유지 */
	background-position: center bottom;  /* 세로는 위쪽 중앙 기준 */
	background-repeat: no-repeat;

	padding:150px 0px;
}

.grb_sub_proc_box_wrap {
	margin-top:60px;
	
	display: grid;
	grid-template-columns: repeat(4, 1fr); /* 총 3등분 기준 */
	gap: 17px;
}

.grb_sub_proc_box {
	display: flex;
    flex-direction: column;
    height: 100%; /* 그리드 셀 높이에 맞춤 */
}
.grb_sub_proc_box .box_head {
	border-radius: 16px 16px 0 0;
	background: #093F6A;
	text-align:center;
	position:relative;

	padding:115px 10px 33px 10px;
}
.grb_sub_proc_box h3 {
	color: #FFF;
	text-align: center;
	font-family: SUIT;
	font-size: 22px;
	font-style: normal;
	font-weight: 700;
	line-height: 100%; /* 22px */
	letter-spacing: -0.55px;

	text-align:center;
	margin-bottom:0px;
}
.grb_sub_proc_box img {
	position: absolute;
	top: 20%;
	left: 50%;
	transform: translate(-50%, 0);
}
.grb_sub_proc_box .cont {
	border-radius: 0 0 16px 16px;
	background: #FFF;
	padding:30px;

	flex-grow: 1; /* 높이 통일 */
    display: flex;
    flex-direction: column;
    justify-content: flex-start; /* 내부 내용 정렬 */
}
.grb_sub_proc_box .cont .text_wrap {
	border-radius: 999px;
	background: #F4F4F4;

	color: #333;
	text-align: center;
	font-family: SUIT;
	font-size: 18px;
	font-style: normal;
	font-weight: 600;
	line-height: 100%; /* 18px */
	letter-spacing: -0.45px;

	text-align:center;
	padding:16px 0px;

	margin-bottom:22px; position:relative;
}
.grb_sub_proc_box .cont .text_wrap.active {
	background:#FFD655;
}

.grb_sub_proc_box .cont .text_wrap:not(.active):not(.top_arrow)::after {
    content: "";
    position: absolute;
    bottom: -10px; /* 화살표 높이만큼 아래로 */
    left: 50%;
    transform: translateX(-50%);
    border-width: 10px 10px 0 10px; /* 위로 향하는 삼각형 */
    border-style: solid;
    border-color: #F4F4F4 transparent transparent transparent; /* 배경색 맞추기 */
    width: 0;
    height: 0;
}

.grb_sub_proc_box .cont .text_wrap.top_arrow::after {
    content: "";
    position: absolute;
    top: -10px; /* 화살표 높이 */
    left: 50%;
    transform: translateX(-50%);
    border-width: 0 10px 10px 10px; /* 아래로 향하는 삼각형 */
    border-style: solid;
    border-color: transparent transparent #F4F4F4 transparent;
    width: 0;
    height: 0;
}

.grb_sub_proc_box .cont.margin_gap .text_wrap {
	margin-bottom:33px;
}

.grb_sub_proc_box .cont .text_wrap:last-child {
  margin-bottom: 0; /* 마지막 div는 마진 제거 */
}

@media (max-width: 991.98px) {

	.grb_sub_proc_section { 
		padding:60px 0px;
	}
	
	.grb_sub_proc_box_wrap {
		margin-top:30px;
		
		display: grid;
		grid-template-columns: repeat(1, 1fr); /* 총 3등분 기준 */
		gap: 20px;
	}
}




.grb_sub_b2b_onestop_section {
	background: linear-gradient(180deg, rgba(247, 245, 243, 0.00) 0%, #F7F5F3 100%);

	padding:150px 0px 200px 0px;
	position:relative;

	text-align: center;
}

.b2b_onestop_circle {
	width: 440px;
	height: 440px;
	margin: 0 auto;
	margin-top:90px;
	
	background-image: url('../images/sub/bg_b2b_onestop_circle.svg');
	background-size: cover;       /* 가로는 꽉 채우고, 세로는 비율 유지 */
	background-position: center center;  /* 세로는 위쪽 중앙 기준 */
	background-repeat: no-repeat;
	
	display: flex;
    justify-content: center; /* 가로 중앙 */
    align-items: center;     /* 세로 중앙 */
    text-align: center;      /* 혹시 여러 줄일 때도 가운데 */

	color: #333;
	text-align: center;
	font-family: SUIT;
	font-size: 40px;
	font-style: normal;
	font-weight: 700;
	line-height: 130%; /* 52px */
	letter-spacing: -1px;
}

.grb_sub_b2b_onestop_section .bg_01 {
	position: absolute;
	left:0px; bottom:0px;
}
.grb_sub_b2b_onestop_section .bg_02 {
	position: absolute;
	right:0px; bottom:211px;
}

.icon_b2b_onestop_01 {
	position: absolute;
	top:25%; left: 50%; margin-left:-500px;
}
.icon_b2b_onestop_02 {
	position: absolute;
	top:45%; left: 50%; margin-left:-700px;
}
.icon_b2b_onestop_03 {
	position: absolute;
	top:52%; left: 50%; margin-left:-350px;
}
.icon_b2b_onestop_04 {
	position: absolute;
	top:70%; left: 50%; margin-left:-500px;
}

.icon_b2b_onestop_05 {
	position: absolute;
	top:30%; left: 50%; margin-left:200px;
}
.icon_b2b_onestop_06 {
	position: absolute;
	top:42%; left: 50%; margin-left:400px;
}
.icon_b2b_onestop_07 {
	position: absolute;
	top:55%; left: 50%; margin-left:130px;
}

@media (max-width: 991.98px) {

	.grb_sub_b2b_onestop_section {
		background: linear-gradient(180deg, rgba(247, 245, 243, 0.00) 0%, #F7F5F3 100%);

		padding:60px 0px;
	}

	.b2b_onestop_circle {
		width: 214px;
		height: 214px;
		margin: 0 auto;
		margin-top:20px;  

		color: #333;

		text-align: center;
		font-family: SUIT;
		font-size: 22px;
		font-style: normal;
		font-weight: 700;
		line-height: 130%; /* 28.6px */
		letter-spacing: -0.55px;
	}

}




.grb_sub_contract_section {
	background-image: url('../images/sub/bg_contract_01.svg');
	background-size: cover;       /* 가로는 꽉 채우고, 세로는 비율 유지 */
	background-position: center bottom;  /* 세로는 위쪽 중앙 기준 */
	background-repeat: no-repeat;

	padding:150px 0px;
}

.sub_contract_box_wrap {
	margin-top:60px;
	display: grid;
	grid-template-columns: repeat(3, 1fr); /* 4등분 */
	gap: 22px; /* 간격 (원하면 조정) */

	margin-bottom:150px;
}

.sub_contract_box {
	border-radius: 20px;
	background: #FFF;
	box-shadow: 2px 2px 16px 0 rgba(0, 0, 0, 0.08);

	padding:30px; width:100%;

	display:flex; align-items: center; justify-content: flex-start; gap:30px;
}
.sub_contract_box span {
	position:relative;
	width:90px; height:90px;

	border-radius: 20px;
	background: #F4F6F8;
}
.sub_contract_box span img {
	position:absolute; 
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.sub_contract_box .cont h3 {
	color: #333;
	font-family: SUIT;
	font-size: 20px;
	font-style: normal;
	font-weight: 600;
	line-height: 140%; /* 28px */
	letter-spacing: -0.5px;

	margin-bottom:5px;
}
.sub_contract_box .cont p {
	color: #333;
	font-family: SUIT;
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 140%; /* 22.4px */
	letter-spacing: -0.4px;

	margin-bottom:0px;
}

@media (max-width: 991.98px) {

	.grb_sub_contract_section {
		padding:80px 0px;
	}

	.sub_contract_box_wrap {
		margin-top:30px; margin-bottom:60px;
		display: grid;
		grid-template-columns: repeat(2, 1fr); /* 4등분 */
		gap: 12px; /* 간격 (원하면 조정) */
	}

	.sub_contract_box { 
		padding:20px; width:100%;
		display:flex; align-items: center; justify-content: center; flex-direction: column; gap:20px;
	}

}


.sub_contract_onestop_wrap {
	background-image: url('../images/sub/bg_contract_onestop.jpg');
	background-size: cover;       /* 가로는 꽉 채우고, 세로는 비율 유지 */
	background-position: center top;  /* 세로는 위쪽 중앙 기준 */
	background-repeat: no-repeat;

	padding:68px 30px 36px 30px; margin-top:60px; border-radius: 40px;

  display: flex;
  gap: 30px;              /* 요소 사이 간격 */
  justify-content: center; /* 가운데 정렬 (선택 사항) */	
}
.sub_contract_onestop {
	display: flex;
	flex-direction: column;
	align-items: center; /* 가운데 정렬 */

	flex: 1; /* ← 추가: 부모 flex 기준 동일 너비 */
}
.sub_contract_onestop span {
	display: inline-flex;
	padding: 4px 20px;
	justify-content: center;
	align-items: center;
	gap: 8px;

	border-radius: 999px;
	background: #FFF;

	color: #333;
	font-family: SUIT;
	font-size: 16px;
	font-style: normal;
	font-weight: 700;
	line-height: 140%; /* 22.4px */
	text-transform: capitalize;

	margin-bottom:20px;
}
.sub_contract_onestop h3 {
	color: #FFF;
	text-align: center;
	font-family: SUIT;
	font-size: 30px;
	font-style: normal;
	font-weight: 700;
	line-height: 130%; /* 39px */
	letter-spacing: -0.75px;

	margin-bottom:30px;
}
.sub_contract_onestop .cont {
	border-radius: 40px;
	background: #FFF;
	width:100%; height: 635px;
	
	display: flex;           /* 이미지 중앙 배치를 위해 */
	justify-content: center; /* 가로 중앙 */
	align-items: center;     /* 세로 중앙 */
}
.sub_contract_onestop .cont img {
	max-width: 100%;
  height: auto; /* 세로 비율 유지 */
  width: auto;  /* 가로 확대 방지 */
}


@media (max-width: 991.98px) {

	.sub_contract_onestop_wrap {
		background-image: url('../images/sub/bg_contract_onestop.jpg');
		background-size: cover;       /* 가로는 꽉 채우고, 세로는 비율 유지 */
		background-position: center top;  /* 세로는 위쪽 중앙 기준 */
		background-repeat: no-repeat;

		padding:30px 20px; margin-top:30px; border-radius: 30px; gap: 60px;

		flex-direction: column;
	}

	.sub_contract_onestop { 
	}

	.sub_contract_onestop .cont {
		width:100%; height: auto; padding:20px;
	}

	.sub_contract_onestop span {
		padding: 3px 20px; font-size: 14px; margin-bottom:10px;
	}

	.sub_contract_onestop h3 {
		font-size: 22px; margin-bottom:20px;
	}

}






.sub_contract_info_wrap {
	display: flex;
	width: 100%;
	justify-content: space-between; /* 간격 없이 균등 배치 */

	border-radius: 40px;
	background: #FFF;
	box-shadow: 2px 2px 16px 0 rgba(0, 0, 0, 0.08);

	padding:50px 90px;
	margin-top:34px;
}

.sub_contract_info_wrap .cont,
.sub_contract_info_wrap .cont_gap {
  flex: 1; /* 동일 비율 */ 
  box-sizing: border-box;
}


/* 컨텐츠 내부 정렬 */
.sub_contract_info_wrap .cont {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: center;
} 

.sub_contract_info_wrap .cont h3 {
	color: #333;
	font-family: SUIT;
	font-size: 24px;
	font-style: normal;
	font-weight: 700;
	line-height: 140%; /* 33.6px */
	letter-spacing: -0.6px;

	margin-bottom:25px;
}
.sub_contract_info_wrap .cont ul {
	list-style:none; margin:0; padding:0; width:100%; text-align: left; /* ← 왼쪽 정렬 */
}
.sub_contract_info_wrap .cont ul li {
	display:flex; align-items: flex-start; justify-content: flex-start; gap:12px; margin-bottom:14px;

	color: #333;
	font-family: SUIT;
	font-size: 18px;
	font-style: normal;
	font-weight: 500;
	line-height: 130%; /* 23.4px */
	letter-spacing: -0.45px;
}
.sub_contract_info_wrap .cont ul li:last-child {
	margin-bottom:0px;
}
.sub_contract_info_wrap .cont ul li img {
}

	

.sub_contract_info_wrap .cont_gap {
flex: 0 0 180px; /* 고정 70px */
  display: flex;
  justify-content: center;
  align-items: center;
 
	position:relative;
}

.sub_contract_info_wrap .cont_gap img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}


.sub_contract_info_wrap .cont_gap::before,
.sub_contract_info_wrap .cont_gap::after {
  content: "";
  position: absolute;
  left: 50%; /* 가로 가운데 */
  width: 2px; /* 선 두께 */
  height: 90px; /* 선 길이 */
  background: linear-gradient(
    to bottom,
    rgba(204,204,204,0),
    rgba(204,204,204,0.5),
    rgba(204,204,204,0)
  ); /* 색상 #CCC, 위/아래 희미 처리 */
}

.sub_contract_info_wrap .cont_gap::before {
  bottom: 50%; /* 이미지 위쪽 */
  transform: translateX(-50%) translateY(-5px); /* 이미지와 겹치지 않게 */
}

.sub_contract_info_wrap .cont_gap::after {
  top: 50%; /* 이미지 아래쪽 */
  transform: translateX(-50%) translateY(5px);
}


@media (max-width: 991.98px) {
  .sub_contract_info_wrap {
    flex-direction: column; /* 세로로 쌓기 */
    padding: 30px 20px; /* 패딩 축소 */
  }

  .sub_contract_info_wrap .cont,
  .sub_contract_info_wrap .cont_gap {
    flex: none; /* 고정 폭 해제 */
    width: 100%; /* 부모 폭 꽉 채움 */
    margin-bottom: 20px; /* 아래 간격 */
  }

  .sub_contract_info_wrap .cont_gap {
    flex: none;
    width: 100%; /* 세로선이 이미지 기준으로 보이게 */
    height: 70px; /* 필요시 조정 */
  }

  .sub_contract_info_wrap .cont_gap::before,
  .sub_contract_info_wrap .cont_gap::after {
    height: 30px; /* 모바일에서는 선 길이 줄이기 */
  }

  .sub_contract_info_wrap .cont h3 {
    font-size: 20px; /* 글자 축소 */
	text-align:center; width:100%;
  }

  .sub_contract_info_wrap .cont ul li {
    font-size: 16px; /* 글자 축소 */
    gap: 6px;        /* 아이콘-텍스트 간격 축소 */
	word-break: keep-all;
  }
  .sub_contract_info_wrap .cont ul li br {
	display:none; 
  }
}










.sub_seal_onestop_wrap {
	position: relative; /* 가상요소 기준 */

	background-image: url('../images/sub/bg_contract_onestop.jpg');
	background-size: cover;       /* 가로는 꽉 채우고, 세로는 비율 유지 */
	background-position: center top;  /* 세로는 위쪽 중앙 기준 */
	background-repeat: no-repeat;

	padding:30px; margin-top:60px; border-radius: 40px;

  display: flex;
justify-content: flex-start; /* 왼쪽부터 배치 */
  align-items: stretch; /* 높이 같게 */
  gap: 0; /* 사이 간격 없음 */
  width: 100%; /* 전체 가로 꽉 채우기 */
}

/* 구분선 추가 */
.sub_seal_onestop_wrap::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 872px; /* 왼쪽 박스 width 기준 */
  transform: translateY(-50%);
  height: 540px;
  border-left: 2px dashed #eee; /* 점선 스타일 */
  pointer-events: none;
  z-index: 5;
}

.sub_seal_onestop_box {
  position: relative;
  width: 843px;
  height: 600px;
  margin: 0 auto;

  border-radius: 30px;
  background: #FFF;

  /* 👇 여기 중요 */
  margin: 0;          /* 가운데 정렬 제거 */
  flex-shrink: 0;     /* 줄어들지 않게 고정 */
  box-sizing: border-box; /* padding 등 포함 계산 */ 
}

.sub_seal_onestop_box img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* 공통 스타일 */
.sub_seal_onestop_box .cont {
  position: absolute; 
}
.sub_seal_onestop_box .cont h3 {
	color: #333;
	text-align: right;
	font-family: SUIT;
	font-size: 22px;
	font-style: normal;
	font-weight: 700;
	line-height: 140%; /* 30.8px */
	letter-spacing: -0.55px;

	margin-bottom:6px;
}
.sub_seal_onestop_box .cont p {
	color: #333;
	text-align: right;
	font-family: SUIT;
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 140%; /* 22.4px */
	letter-spacing: -0.4px;

	margin-bottom:0px;
}

/* 각 모서리 위치 지정 */
.sub_seal_onestop_box .location_01 { /* 왼쪽 위 */
  top: 56px;
  left: 62px;
}

.sub_seal_onestop_box .location_02 { /* 오른쪽 위 */
  top: 56px;
  right: 114px;
}

.sub_seal_onestop_box .location_03 { /* 왼쪽 아래 */
  bottom: 56px;
  left: 92px;
}

.sub_seal_onestop_box .location_04 { /* 오른쪽 아래 */
  bottom: 56px;
  right: 99px;
}


.sub_seal_onestop_box .location_01 h3, .sub_seal_onestop_box .location_01 p,
.sub_seal_onestop_box .location_03 h3, .sub_seal_onestop_box .location_03 p {
  text-align:right;
}

.sub_seal_onestop_box .location_02 h3, .sub_seal_onestop_box .location_02 p,
.sub_seal_onestop_box .location_04 h3, .sub_seal_onestop_box .location_04 p {
  text-align:left;
}




.sub_seal_onestop_effect_box {
	border-radius: 30px;
	background: #FFF;

	padding:70px;

	flex: 1; /* 남는 공간 전부 차지 */
  height: 600px; /* 왼쪽과 높이 맞춤 */

  display: flex;
  flex-direction: column;
  justify-content: center;

  box-sizing: border-box; /* 패딩 포함해서 전체 width 계산 */
}

.sub_seal_onestop_effect_box h3 {
	color: #333;
	font-family: SUIT;
	font-size: 30px;
	font-style: normal;
	font-weight: 700;
	line-height: 140%; /* 42px */
	letter-spacing: -0.75px;

	margin-bottom:45px;
}

.sub_seal_onestop_effect_box ul {
	list-style:none; margin:0; padding:0; width:100%; text-align: left; /* ← 왼쪽 정렬 */
}
.sub_seal_onestop_effect_box ul li {
	display:flex; align-items: flex-start; justify-content: flex-start; gap:17px; margin-bottom:40px;

	color: #333;
	font-family: SUIT;
	font-size: 18px;
	font-style: normal;
	font-weight: 400;
	line-height: 140%; /* 25.2px */
	letter-spacing: -0.45px;

	position: relative; /* 가상요소 기준 */
}
.sub_seal_onestop_effect_box ul li:last-child {
	margin-bottom:0px;
}
.sub_seal_onestop_effect_box ul li span {
	display: flex;
	width: 36px;
	height: 36px;
	padding: 8px 14px;
	justify-content: center;
	align-items: center;
	gap: 8px;
	flex-shrink: 0;
	aspect-ratio: 1/1;

	border-radius: 999px;
	background: #666;

	color: #FFF;
	font-size: 14px;
	font-style: normal;
	font-weight: 700;
	line-height: 140%; /* 19.6px */
	text-transform: capitalize;

	position: relative;
	z-index: 1; /* 원이 선 위로 표시되도록 */
}

/* 세로선 */
.sub_seal_onestop_effect_box ul li span::after {
  content: "";
  position: absolute;
  top: 100%; /* span 아래부터 시작 */
  left: 50%;
  transform: translateX(-50%);
  width: 1px; /* 선 두께 */
  height: calc(100% + 40px); /* li margin-bottom 포함 */
  background: #ddd; /* 선 색상 */
  z-index: 0;
}

/* 마지막 li의 선은 제거 */
.sub_seal_onestop_effect_box ul li:last-child span::after {
  display: none;
}


@media (max-width: 991.98px) {

	.sub_seal_onestop_wrap { 
		padding: 20px;
		margin-top: 30px;
		border-radius: 30px; 
		gap: 20px; 

		flex-direction: column; /* 세로로 쌓기 */
	}

	.sub_seal_onestop_wrap::after {
		display: none;
	  }

	.sub_seal_onestop_box { 
		width: 100%;
		height: auto;
	}

	.sub_seal_onestop_box img {
		position: absolute;
		top: 50%;
		left: auto;
		right:10px;
		transform: translate(0, -50%);
		width:150px;
	}

	/* 공통 스타일 */
	.sub_seal_onestop_box .cont {
	  position: relative; 
	  margin:20px;
	}
	.sub_seal_onestop_box .cont h3 { 
		font-size: 18px; 
		letter-spacing: -0.55px; 
	}
	.sub_seal_onestop_box .cont p { 
		font-size: 14px; 
		letter-spacing: -0.4px; 
		margin-bottom:0px;
	}

	/* 각 모서리 위치 지정 */
	.sub_seal_onestop_box .location_01 { /* 왼쪽 위 */
	  top: auto;
	  left: auto;
	}

	.sub_seal_onestop_box .location_02 { /* 오른쪽 위 */
	  top: auto;
	  right: auto;
	}

	.sub_seal_onestop_box .location_03 { /* 왼쪽 아래 */
	  bottom: auto;
	  left: auto;
	}

	.sub_seal_onestop_box .location_04 { /* 오른쪽 아래 */
	  bottom: auto;
	  right: auto;
	}


	.sub_seal_onestop_box .location_01 h3, .sub_seal_onestop_box .location_01 p,
	.sub_seal_onestop_box .location_03 h3, .sub_seal_onestop_box .location_03 p {
	  text-align:left;
	}

	.sub_seal_onestop_box .location_02 h3, .sub_seal_onestop_box .location_02 p,
	.sub_seal_onestop_box .location_04 h3, .sub_seal_onestop_box .location_04 p {
	  text-align:left;
	}


	.sub_seal_onestop_effect_box { 
		padding:20px;

		flex: 1; /* 남는 공간 전부 차지 */
		height: auto; /* 왼쪽과 높이 맞춤 */

	  display: flex;
	  flex-direction: column;
	  justify-content: center;

	  box-sizing: border-box; /* 패딩 포함해서 전체 width 계산 */
	}

	.sub_seal_onestop_effect_box h3 { 
		font-size: 22px; 
		letter-spacing: -0.75px;
		margin-bottom:30px;
	}
 
	.sub_seal_onestop_effect_box ul li {
		display:flex; align-items: flex-start; justify-content: flex-start; gap:12px; margin-bottom:30px;
 
		font-size: 15px; 
		letter-spacing: -0.45px; 
	} 
	.sub_seal_onestop_effect_box ul li span {
		display: flex;
		width: 36px;
		height: 36px;
		padding: 8px 14px;
		justify-content: center;
		align-items: center;
		gap: 8px;
		flex-shrink: 0;
		aspect-ratio: 1/1;

		border-radius: 999px;
		background: #666;

		color: #FFF;
		font-size: 14px;
		font-style: normal;
		font-weight: 700;
		line-height: 140%; /* 19.6px */
		text-transform: capitalize;

		position: relative;
		z-index: 1; /* 원이 선 위로 표시되도록 */
	}

	/* 세로선 */
	.sub_seal_onestop_effect_box ul li span::after {
	  content: "";
	  position: absolute;
	  top: 100%; /* span 아래부터 시작 */
	  left: 50%;
	  transform: translateX(-50%);
	  width: 1px; /* 선 두께 */
	  height: calc(100% + 40px); /* li margin-bottom 포함 */
	  background: #ddd; /* 선 색상 */
	  z-index: 0;
	}

	/* 마지막 li의 선은 제거 */
	.sub_seal_onestop_effect_box ul li:last-child span::after {
	  display: none;
	}


}









.grb_sub_efficiency_cont {
	position: relative; /* 가상요소 기준 */

	background-image: url('../images/sub/bg_seal_efficiency.jpg');
	background-size: cover;       /* 가로는 꽉 채우고, 세로는 비율 유지 */
	background-position: center top;  /* 세로는 위쪽 중앙 기준 */
	background-repeat: no-repeat;

	padding:150px 0px 140px 0px; 
}
.efficiency_box_wrap_wrap {
	position:relative;
}
.efficiency_line_bg_warp {
	
	position:absolute; top:140px; left:0px;

	width: 100%;
}
.efficiency_line_bg {
  position: relative;
  width: 100%;
  height: 2px;

	border-radius: 20px;
	opacity: 0.5;
	background: linear-gradient(90deg, rgba(255, 255, 255, 0.00) 0%, #FFF 50%, rgba(255, 255, 255, 0.00) 100%);

  display: flex;
  justify-content: space-between;
  align-items: center; 
  padding: 0 10%;
}

.efficiency_line_bg span {
  position: relative;
  width: 14px;
  height: 14px;
  background-color: #fff;
  border-radius: 50%;
  top: 0px; /* 선 위 중앙에 오도록 */
  transition: all 0.3s ease;
}
.efficiency_line_bg span.active {
	background-color: #FFB910;
}


.efficiency_box_wrap {
	display: grid;
	grid-template-columns: repeat(4, 1fr); /* 총 3등분 기준 */
	gap: 50px;
	margin-top:100px;
}
.efficiency_box {
	display:flex; align-items: center; justify-content: center; flex-direction: column;
}
.efficiency_box .efficiency_box_label {
	display: inline-flex;
	padding: 8px 14px;
	justify-content: center;
	align-items: center;
	gap: 8px;

	border-radius: 999px; 
	background: #536676;
	color:#fff;

	margin-bottom:20px;
	transition: all 0.3s ease;
}
.efficiency_box.active .efficiency_box_label {
	background: #FFB910; 
	color:#fff;
}

.efficiency_box h3 {
	color: #FFF;
	text-align: center;
	font-family: SUIT;
	font-size: 26px;
	font-style: normal;
	font-weight: 700;
	line-height: 100%; /* 26px */
	letter-spacing: -0.65px;

	height:26px;

	position: relative;
	margin-bottom:110px;
} 

.efficiency_box  .efficiency_box_cont {
	border-radius: 30px;
	background: #536676;
	padding:30px; width:100%; transition: all 0.3s ease;
	position:relative;
}
.efficiency_box.active  .efficiency_box_cont {
	background: #FFF8E7; 
} 
/*
.efficiency_box  .efficiency_box_cont::before {
  content: "";
  position: absolute;
  top: -40px;  
  left: 50%;  
  transform: translateX(-50%);  
  border-width: 22px;  
  border-style: solid;
  border-color: transparent transparent #FFF8E7 transparent;  
}
*/

.efficiency_box  .efficiency_box_cont ul {
	list-style:none; margin:0; padding:0; 
}
.efficiency_box  .efficiency_box_cont ul li {
	display:flex; align-items: flex-start; justify-content: flex-start; gap:12px; margin-bottom:14px;

	color: #FFF;
	font-family: SUIT;
	font-size: 18px;
	font-style: normal;
	font-weight: 500;
	line-height: 130%; /* 23.4px */
	letter-spacing: -0.45px;
}
.efficiency_box  .efficiency_box_cont ul li:last-child {
	margin-bottom:0px;
}
.efficiency_box  .efficiency_box_cont ul li img {
}
.efficiency_box.active  .efficiency_box_cont ul li {
	color:#333;
}


@media (max-width: 991.98px) {

	.grb_sub_efficiency_cont {
		padding:60px 0px;
	}

	.efficiency_line_bg_warp {
		display:none;
	}

	.efficiency_box_wrap {
		display: grid;
		grid-template-columns: repeat(1, 1fr); /* 총 3등분 기준 */
		gap: 30px;
		margin-top:40px;
	}

	.efficiency_box h3 {
		margin-bottom: 20px;
	}

}











.grb_sub_contract_section.edoc_section {
    background-image: url(../images/sub/bg_edoc_box.jpg);
    background-size: cover;
    background-position: center bottom;
    background-repeat: no-repeat;
    padding: 150px 0px;
}


.grb_sub_contract_section.edoc_section .sub_contract_box_wrap {  
	display: flex;
  flex-direction: column; /* 행 단위 배치 */
  gap: 20px; /* 행 간격 */
}

/* 각 행(row) 안에서 가운데 정렬 */
.row_contract {
  display: flex;
  justify-content: center; /* 아이템 가운데 정렬 */
  gap: 20px; /* 아이템 간격 */
  flex-wrap: wrap; /* 모바일 대응 시 줄바꿈 */
} 

.grb_sub_contract_section.edoc_section .sub_contract_box_wrap .sub_contract_box {
	box-sizing: border-box; flex: 0 0 450px; /* 모든 아이템 동일 너비 */
}

 
 /* 모바일 대응 */
@media (max-width: 991.98px) {

	.grb_sub_contract_section.edoc_section {
		padding: 60px 0px;
	}

  .grb_sub_contract_section.edoc_section .sub_contract_box_wrap {
	margin-bottom:0px;
  }

  .row_contract {
    justify-content: flex-start; /* 왼쪽부터 배치 */
    gap: 20px; /* 모바일 간격 */
  }

  .grb_sub_contract_section.edoc_section .sub_contract_box_wrap .sub_contract_box {
    flex: 0 0 calc(50% - 10px); /* 한 줄에 2개, gap 포함 */
    max-width: calc(50% - 10px);
  }
}








.sub_contract_box_wrap.work_flow_box_wrap {
	margin-bottom:80px;
}

.work_flow_slide_wrap {
	border-radius: 20px;
	background: #FFF;
	box-shadow: 2px 2px 16px 0 rgba(0, 0, 0, 0.08);

	padding:80px 110px 60px 110px;
	text-align:center;
}
.work_flow_slide {
	margin-top:48px; overflow:visible;
}

.work_flow_slide .flex-prev {
	left:-80px;
 
	width: 50px;
	height: 50px;
	padding: 6px 8px;
	border-radius: 19.5px;
	background: #DDD;
}

.work_flow_slide .flex-next {
	right:-80px;
 
	width: 50px;
	height: 50px;
	padding: 6px 8px;
	border-radius: 19.5px;
	background: #DDD;
}

.work_flow_slide .fslider, .work_flow_slide .flexslider {
  overflow: visible !important;
}
.work_flow_slide .fslider .flex-next i, .work_flow_slide .fslider .flex-prev i {
	line-height:50px; height:auto; margin-top:-6px;
}

@media (max-width: 991.98px) {
	
	.sub_contract_box_wrap.work_flow_box_wrap {
		margin-bottom:30px;
	}

	.work_flow_slide_wrap {
		padding:20px;
	}

	.work_flow_slide {
		margin-top:20px; 
	}

	.work_flow_slide .flex-prev, .work_flow_slide .flex-next  {
		display:none;
	}
 
}



.grb_sub_workflow_box_section {
	margin:100px 0px;
}

.workflow_box_wrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* 2열, 같은 너비 */ 
  gap: 30px; /* 아이템 간 간격 (원하면 변경) */
  width: 100%; /* 부모 너비에 맞춤 */
  box-sizing: border-box; 
}

.workflow_box_wrap .workflow_box {
	height: 400px;
	border-radius: 20px;
	background: #F5F5F5;

	padding:50px 12px 0px 12px;
	text-align:cneter;
	position:relative;
}
.workflow_box_wrap .workflow_box h3 {
	color: #333;
	text-align: center;
	font-family: SUIT;
	font-size: 30px;
	font-style: normal;
	font-weight: 700;
	line-height: 140%; /* 42px */
	letter-spacing: -0.75px;

	margin-bottom:8px;
}
.workflow_box_wrap .workflow_box p {
	color: #333;
	text-align: center;
	font-family: SUIT;
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 150%; /* 24px */
	letter-spacing: -0.4px;

	margin-bottom:0px;
}
.workflow_box_wrap .workflow_box img {
	position:absolute;
	bottom: 0;
	left: 50%;
	transform: translate(-50%, 0);
}

@media (max-width: 991.98px) {

	.grb_sub_workflow_box_section {
		margin:50px 0px;
	}

	.workflow_box_wrap {
	  grid-template-columns: repeat(1, 1fr); /* 2열, 같은 너비 */ 
	  gap: 12px; /* 아이템 간 간격 (원하면 변경) */ 
	}

	.workflow_box_wrap .workflow_box {
		height: 260px;
		border-radius: 20px; 

		padding:30px 12px 0px 12px;
	}
	.workflow_box_wrap .workflow_box h3 {
		font-size: 24px;
		letter-spacing: -0.75px;
		margin-bottom:8px;
	}
	.workflow_box_wrap .workflow_box p {
		font-size: 14px;
		letter-spacing: -0.4px;
	}
	.workflow_box_wrap .workflow_box img {
		height:120px;
	}

}



.grb_sub_insight_section {
    background-image: url(../images/sub/bg_insight.jpg);
    background-size: cover;
    background-position: center top;
    background-repeat: no-repeat;
    padding: 150px 0px;
}

.sub_insight_box_wrap {
	display: flex;
	flex-direction: column; /* 행 단위 배치 */
	gap: 30px; /* 행 간격 */

	margin-top:60px;
}

.sub_insight_box {
  display: flex;
  align-items: center; /* 세로 가운데 정렬 */
  justify-content: space-between; /* 좌우로 배치 */
  gap: 0px; /* 간격 조절 (원하는 값으로 변경) */

	border-radius: 20px;
	background: #FFF;
	box-shadow: 4px 4px 30px 0 rgba(0, 0, 0, 0.50);

	height:522px;
	padding:0px 100px;
}

.sub_insight_box .cont {
	flex: 1; /* 왼쪽 영역이 유연하게 늘어나도록 */
}

.sub_insight_box .cont h2 {
	color: #333;
	font-family: SUIT;
	font-size: 46px;
	font-style: normal;
	font-weight: 700;
	line-height: 140%; /* 64.4px */
	letter-spacing: -1.15px;

	margin-bottom:16px;
}
.sub_insight_box .cont p {
	color: #333;
	font-family: SUIT;
	font-size: 18px;
	font-style: normal;
	font-weight: 400;
	line-height: 150%; /* 27px */
	letter-spacing: -0.45px;

	margin-bottom:0px;
}

.sub_insight_box img {
}


@media (max-width: 991.98px) {

	.grb_sub_insight_section {
		padding: 80px 0px;
	}

	.sub_insight_box_wrap {
		margin-top:30px;
	}

	.sub_insight_box {
		justify-content: center; /* 좌우로 배치 */
		flex-direction: column; /* 행 단위 배치 */
		gap: 20px; /* 간격 조절 (원하는 값으로 변경) */

		height:auto;
		padding:20px;
	}

	.sub_insight_box .cont br {
		display:none;
	}
	.sub_insight_box .cont h2 {
		font-size: 28px; margin-bottom:16px; word-break: keep-all; /* 단어 단위로 줄바꿈 (한글엔 권장) */
		text-align:center;
	}
	.sub_insight_box .cont p {
		font-size: 14px; letter-spacing: -0.25px; word-break: keep-all; /* 단어 단위로 줄바꿈 (한글엔 권장) */
		text-align:center;
	}

}






.grb_sub_secretary_section {
    background-image: url(../images/sub/bg_secretary.jpg);
    background-size: cover;
    background-position: center top;
    background-repeat: no-repeat;
    padding: 150px 0px;
}

.sub_secretary_box_wrap {
	border-radius: 40px;
	background: #FFF;

	height: 1000px;

	display: flex;
	align-items: center;  
	justify-content:center;
	gap: 0px;  

	margin-top:60px; position:relative;
}

.sub_secretary_box_wrap .elm {
	position:absolute; z-index:2;
}
.elm.num_01 {
	top:104px; left:248px;
}
.elm.num_02 {
	top:104px; right:248px;
}
.elm.num_03 {
	top:293px; left:154px;
}
.elm.num_04 {
	top:293px; right:154px;
}
.elm.num_05 {
	top:520px; left:154px;
}
.elm.num_06 {
	top:520px; right:154px;
}
.elm.num_07 {
	top:696px; left:268px;
}
.elm.num_08 {
	top:696px; right:268px;
}

.elm.text_01 {
	top:265px; left:50px;
}
.elm.text_02 {
	top:172px; right:69px;
}
.elm.text_03 {
	top:723px; left:44px;
}
.elm.text_04 {
	top:474px; right:20px;
}
.elm.text_05 {
	top:874px; right:438px;
}


.sub_secretary_info_wrap {
	margin-top:30px;

	display: flex;
  justify-content: space-between; /* 간격 균등 */
  align-items: stretch; /* 높이 균등 */
  gap: 20px; /* 박스 사이 간격 */
}
.sub_secretary_info {
	flex: 1; /* 각 박스가 동일한 너비를 차지 */
	border-radius: 20px; background: #FFF; padding:50px;
}
.sub_secretary_info h3 {
	color: #333;
	font-family: SUIT;
	font-size: 32px;
	font-style: normal;
	font-weight: 600;
	line-height: 140%; /* 44.8px */
	letter-spacing: -0.8px;

	margin-bottom:50px;
}
.sub_secretary_info ul {
	list-style:none; margin:0; padding:0;
}
.sub_secretary_info ul li {
	display:flex; align-items: flex-start; justify-content: flex-start; gap:12px; margin-bottom:15px;

	color: #333;
	font-family: SUIT;
	font-size: 18px;
	font-style: normal;
	font-weight: 600;
	line-height: 130%; /* 23.4px */
	letter-spacing: -0.45px;
}


@media (max-width: 991.98px) {

	.grb_sub_secretary_section {
		padding: 80px 0px;
	}

	.sub_secretary_box_wrap {
		border-radius: 30px;
		height: auto;
		margin-top:30px;
		padding:30px 20px;
	}


	.sub_secretary_info_wrap {
		margin-top:20px;
		justify-content: center; /* 간격 균등 */
		flex-direction: column; /* 행 단위 배치 */
		gap: 20px; /* 박스 사이 간격 */
	}
	.sub_secretary_info {
		border-radius: 20px; background: #FFF; padding:20px;
	}
	.sub_secretary_info h3 {
		font-size: 24px;
		letter-spacing: -0.8px;
		margin-bottom:20px;
	}
	.sub_secretary_info ul li {
		display:flex; align-items: flex-start; justify-content: flex-start; gap:12px; margin-bottom:15px;

		font-size: 16px; 
		letter-spacing: -0.45px;
	}

}












@media (min-width: 1184px) {
    .container.subscribe_container {
        max-width: 1124px;
    }
}


.grb_sub_top_box.subscribe_top {
	background-image: url(../images/sub/bg_subscribe_top.jpg);
    background-size: cover;
    background-position: center top;
    background-repeat: no-repeat;
}

.grb_sub_top_box.subscribe_top h2, .grb_sub_top_box.subscribe_top p {
	color:#fff;
}

.grb_sub_top_box.subscribe_top a {
	background: #FFF; color: #333;
}


.subscribe_tab_wrap {
	margin-top:60px; text-align:center;
}
.subscribe_tab {
	display:inline-flex;
	border-radius: 999px;
	background: #FFB910;
	padding:4px;
}
.subscribe_tab a {
	color: #333;
	font-family: SUIT;
	font-size: 18px;
	font-style: normal;
	font-weight: 600;
	line-height: 100%; /* 18px */
	letter-spacing: -0.45px;
	padding:16px 46px;
}
.subscribe_tab a.active {
	border-radius: 999px; background: #FFF;
}


.subscribe_price_wrap {
	margin-top:70px;
}
.subscribe_price_wrap h2 {
	color: #333;
	font-family: SUIT;
	font-size: 34px;
	font-style: normal;
	font-weight: 700;
	line-height: 130%; /* 44.2px */
	letter-spacing: -0.85px;
	margin-bottom:20px;

	display: flex;
	justify-content: space-between;
	align-items: center;
}
.subscribe_price_wrap h2 span {
	border-radius: 6px;
	background: #FF7300;
	box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.16);

	padding:6px 12px;

	color: #FFF !important; 
	font-family: SUIT;
	font-size: 17px;
	font-style: normal;
	font-weight: 600;
	line-height: 100%; /* 17px */
	letter-spacing: -0.425px;

	display:inline-block;
}

.subscribe_price_form {
	display: flex;
	flex-direction: column; /* 행 단위 배치 */
	gap: 10px; /* 행 간격 */

	margin-bottom:90px;
}

.price_item {
	border-radius: 16px;
	border: 1px solid #EEE;
	opacity: 0.99;
	background: #FFF;

	padding:25px 30px; cursor:pointer;
}
.price_item .price_top {
	display: flex;
	justify-content: space-between; /* 간격 균등 */
	align-items: stretch; /* 높이 균등 */
}
.price_item .price_top h3 {
	display: flex; gap:14px; align-items: center;

	color: #333;
	font-family: SUIT;
	font-size: 20px;
	font-style: normal;
	font-weight: 600;
	line-height: 100%; /* 20px */
	letter-spacing: -0.5px;
	margin-bottom:0px;
}
.price_item .price_top h3 span {
	color: #999;
	font-family: SUIT;
	font-size: 16px;
	font-style: normal;
	font-weight: 500;
	line-height: 140%; /* 22.4px */
	letter-spacing: -0.4px;
}
.price_item .price_top h3 small {
	font-size: 14px;
}

.price_item.active .price_top h3 .text_yellow {
	color: #FFD369 !important;
}

.price_item .price_check {
	display: flex; gap:20px; align-items: center;
}
.price_item .price_check .price {
	color: #333; 
	font-family: SUIT;
	font-size: 18px;
	font-style: normal;
	font-weight: 500;
	line-height: 100%; /* 18px */
	letter-spacing: -0.45px;
}

.price_bottom {
	display:none;
}
.price_item.active .price_bottom {	
	display: flex; gap:40px; align-items: flex-start;
	border-top:1px dashed #666; padding:25px 0px 5px 0px; margin-top:25px;
}

.price_item.active .price_bottom .price_option {
	display: flex; gap:8px; align-items: flex-start;
}
.price_item.active .price_bottom .price_option img {
	margin-top:3px;
}
.price_item.active .price_bottom .price_option .desc {
	color: #FFF;
	font-family: SUIT;
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 140%; /* 16px */
	letter-spacing: -0.4px;
}
.price_item.active .price_bottom .price_option .desc strong {
	color: #FFF;
	font-family: SUIT;
	font-size: 16px;
	font-style: normal;
	font-weight: 700;
	line-height: 100%; /* 16px */
	letter-spacing: -0.4px;

	display:block; margin-bottom:10px;
}

.price_item.active {
	background: #444;
}

.price_item.active .price_top h3, .price_item.active .price_top h3 span, .price_item.active .price_check .price {
	color:#fff;
}

@media (max-width: 991.98px) {

	.subscribe_tab_wrap {
		margin-top: 30px;
	}

	.subscribe_price_wrap {
		margin-top: 30px;
	}

	.subscribe_price_wrap h2 {
		font-size:26px; text-align:center;
	}

	.subscribe_price_wrap h2 span {
		padding:6px 12px;
		font-size: 15px;
		letter-spacing: -0.3px;
	}

	.price_item { 
		padding: 18px; 
	}

	.price_item .price_top { 
		gap:10px;
		align-items: center;
		flex-wrap: wrap; /* 모바일에서 줄바꿈 허용 */
	}

	.price_item .price_top h3 { 
		flex-direction: column; /* 행 단위 배치 */
		gap: 8px;
		align-items: flex-start; 
		font-size: 18px;  
	}
	.price_item .price_top h3 span {
		font-size: 14px;  
	}

	.price_item .price_check {
		gap:10px;
	}

	.price_item.active .price_bottom { 
		gap: 20px;
		flex-direction: column; /* 행 단위 배치 */
		align-items: flex-start; 
		padding: 20px 0px 0px 0px;
		margin-top: 20px;
	}

}





.subscribe_calcu_wrap {
	background: #000; padding:20px 0px; margin-bottom:0px;
	position:fixed;
	left:0px; bottom:0px; width:100%; z-index:2;
	transition: transform 0.3s ease, opacity 0.3s ease;
}
.subscribe_calcu_wrap.hide {
  transform: translateY(100%);
  opacity: 0;
}

.subscribe_calcu {
	display: flex;
	justify-content: space-between; /* 간격 균등 */
	align-items: center; /* 높이 균등 */
}

.calcu_info {
	display: flex; gap:20px; align-items: center; color:#fff;
}

.calcu_input_wrap {
	border-radius: 10px; background: #444; padding:12px 18px; color:#fff;
	display: flex; gap:10px; align-items: center;
}
.calcu_input_wrap input {
	color: #FAFAFA;
	font-family: SUIT;
	font-size: 24px;
	font-style: normal;
	font-weight: 700;
	line-height: 100%; /* 24px */
	letter-spacing: -0.6px;

	text-align:left;
	width:90px;
	border:0px;
	background:transparent;
}

.calcu_sel_desc {
	color: #BBB;
	font-family: SUIT;
	font-size: 14px;
	font-style: normal;
	font-weight: 500;
	line-height: 100%; /* 14px */
	letter-spacing: -0.35px;
}
.calcu_sel_desc #calcu_sel_result {
	color: #FFF;
	font-family: SUIT;
	font-size: 16px;
	font-style: normal;
	font-weight: 600;
	line-height: 100%; /* 16px */
	letter-spacing: -0.4px;

	margin-top:6px;
}

.cal_price_wrap {
	text-align:right;

	color: #FFF;
	text-align: right;
	font-family: SUIT;
	font-size: 24px;
	font-style: normal;
	font-weight: 700;
	line-height: 100%; /* 24px */
	letter-spacing: -0.6px;
}
.cal_price_wrap h5 {
	color: #BBB;
	text-align: right;
	font-family: SUIT;
	font-size: 14px;
	font-style: normal;
	font-weight: 500;
	line-height: 100%; /* 14px */
	letter-spacing: -0.35px;

	margin-bottom:6px;
}

@media (max-width: 991.98px) {
	
	.subscribe_calcu_wrap {
		bottom:50px;
	}

	.subscribe_calcu {
		flex-direction: column; /* 행 단위 배치 */
		align-items: flex-start; gap:16px;
	}

	.calcu_input_wrap input { 
		font-size: 18px;  
		width:60px; 
	}

	.calcu_sel_desc { 
		font-size: 13px; 
	}
	.calcu_sel_desc #calcu_sel_result { 
		font-size: 14px; 
		margin-top:6px;
	}

	.cal_price_wrap {
		width:100%;
		font-size: 18px;
		letter-spacing: -0.6px;
	}
	.cal_price_wrap h5 { 
		font-size: 13px;
		margin-bottom:6px;
	}
}









.sub_faq_wrap {
	margin-bottom:90px;
}
.sub_faq_wrap h2 {
	color: #333;
	font-family: SUIT;
	font-size: 34px;
	font-style: normal;
	font-weight: 700;
	line-height: 130%; /* 44.2px */
	letter-spacing: -0.85px;

	margin-bottom:30px;
}

.sub_faq_form {	
}
.sub_faq_box {
	border-top: 1px solid #EEE;
	padding:28px 20px; cursor:pointer;
}
.sub_faq_box.active {
	border-top: 0px; 
	border-radius: 16px;
	background: #FFE674;
}

.sub_faq_box .tit {
	color: #333;
	font-family: SUIT;
	font-size: 18px;
	font-style: normal;
	font-weight: 500;
	line-height: 140%; /* 18px */
	letter-spacing: -0.45px; word-break: keep-all; /* 단어 단위로 줄바꿈 (한글엔 권장) */
 
	display: flex;
	justify-content: space-between; /* 간격 균등 */
	align-items: center;
	gap:16px;
}

.sub_faq_box .cont {
	
	border-top:1px dashed #fff; padding:25px 0px 5px 0px; margin-top:25px;
	
	color: #333;
	font-family: SUIT;
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 140%; /* 16px */
	letter-spacing: -0.4px; word-break: keep-all; /* 단어 단위로 줄바꿈 (한글엔 권장) */

	display:none;
}


@media (max-width: 991.98px) {
	
	.sub_faq_wrap {
		margin-bottom:40px;
	}

	.sub_faq_wrap h2 {
		font-size: 26px; text-align:center;
	}

	.sub_faq_box { 
		padding:20px 15px; cursor:pointer;
	}
}










.grb_sub_top_box.apply_top {
	background-image: url(../images/sub/bg_top_apply.jpg);
    background-size: cover;
    background-position: center top;
    background-repeat: no-repeat;

	padding:150px 0px 275px 0px;
}

@media (min-width: 1284px) {
    .container.apply_container {
        max-width: 1224px;
    }
}




.apply_form_wrap {
}

.apply_form_box {

	border-radius: 10px;
	background: #FFF;
	box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.12);

	padding:80px 120px;
	margin-bottom:180px; margin-top:-150px;
}

.apply_form_box h3 {
	color: #333;
	font-family: SUIT;
	font-size: 24px;
	font-style: normal;
	font-weight: 700;
	line-height: 130%; /* 31.2px */
	letter-spacing: -0.6px;

	margin-top:80px; margin-bottom:50px; padding-bottom:30px; border-bottom:1px solid #ddd;
}

.apply_form {
}
.apply_form .input_wrap {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom:30px;
}
.apply_form .input_wrap:last-child {
	margin-bottom:0px;
}
.apply_form .input_wrap .input_label {
}
.apply_form .input_wrap .input_label span {
	color: #333;
	font-family: SUIT;
	font-size: 20px;
	font-style: normal;
	font-weight: 500;
	line-height: 130%; /* 26px */
	letter-spacing: -0.5px;

	position: relative;
	display: inline-block; /* 혹은 block */
}
.apply_form .input_wrap .input_label span::after {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  background-color: #FEB911;
  border-radius: 50%;
  margin-top: 3px;
  margin-left: 6px; /* span 오른쪽 6px 떨어지게 */
  vertical-align: top; /* 텍스트 중앙 정렬 */
}
.apply_form .input_wrap .input_label span.required {
}
.apply_form .input_wrap input[type=text] {
	width: 820px;       /* 고정 가로 길이 */
	box-sizing: border-box;
	border-radius: 10px;
	background: #F8F8F8;
	padding:20px;

	color: #333; 
	font-size: 18px;
	font-style: normal;
	font-weight: 500;
	line-height: 130%; /* 26px */
	letter-spacing: -0.5px;

	border:0px;
}

.apply_form .input_wrap textarea {
	width: 820px;       /* 고정 가로 길이 */
	box-sizing: border-box;
	border-radius: 10px;
	background: #F8F8F8;
	padding:20px;

	color: #333; 
	font-size: 18px;
	font-style: normal;
	font-weight: 500;
	line-height: 130%; /* 26px */
	letter-spacing: -0.5px;

	border:0px;

	height:190px;
}

.apply_form .submit_btn {
	border-radius: 10px;
	background: #333;

	height: 60px; width: 300px;  

	color: #FFF;
	text-align: center;
	font-family: SUIT;
	font-size: 20px;
	font-style: normal;
	font-weight: 700;
	line-height: 58px; /* 32px */
	letter-spacing: -0.5px;
}

@media (max-width: 991.98px) {

    .grb_sub_top_box.apply_top {
        padding: 40px 0px;
    }

	.apply_form_box { 
		padding:30px 20px;
		margin-bottom:90px; margin-top:30px;
	}

	.apply_form_box h3 { 
		font-size: 20px; 
		margin-top:40px; margin-bottom:30px; padding-bottom:20px; 
	}

	.grb_sub_top_box.apply_top h2 {
		margin-bottom:0px !important;
	}

	.apply_form .input_wrap {
		display: flex; flex-direction: column; /* 행 단위 배치 */ gap: 8px; /* 행 간격 */
		justify-content: flex-start;
		align-items: flex-start;
		margin-bottom:20px;
	}

	.apply_form .input_wrap .input_label span { 
		font-size: 16px;
		letter-spacing: -0.5px;
	}

	.apply_form .input_wrap input[type=text] {
		width: 100%;       /* 고정 가로 길이 */
		padding:12px;
		font-size: 14px;
		letter-spacing: -0.5px;
	}

	.apply_form .input_wrap textarea {
		width: 100%;
		padding:12px; 

		font-size: 14px;
		height:140px;
	}

	.apply_form .submit_btn {
		height: 50px; width: 100%;
		font-size: 18px;
		line-height: 50px; /* 32px */
		letter-spacing: -0.5px;
	}

}











.counsel_link_box_section {
	padding:110px 0px 150px 0px;
	text-align:center;
}

.link_box_label {
	border-radius: 999px;
	background: #FEB911;

	padding:0px 30px;
	height:42px;

	color: #FFF;
	font-family: SUIT;
	font-size: 24px;
	font-style: normal;
	font-weight: 700;
	line-height: 42px;  
	text-transform: capitalize;

	margin-bottom:30px;
	display:inline-block;
}

.counsel_link_box_section h2 {
	color: #333;
	text-align: center;
	font-family: SUIT;
	font-size: 46px;
	font-style: normal;
	font-weight: 700;
	line-height: 130%; /* 59.8px */
	letter-spacing: -1.15px;

	margin-bottom:80px;
}

.counsel_link_box_wrap {
	display: flex;
	justify-content: space-between; /* 간격 균등 배치 */
	align-items: stretch; /* 높이 동일하게 */
	gap: 30px; /* 박스 사이 간격 */
}

.counsel_link_box {
	flex: 1; /* 모든 박스가 같은 비율로 늘어남 */

	border-radius: 10px;
	border: 1px solid #DDD;
	background: #FFF;

	padding-bottom:55px;

	text-align:center;

	transition: all 0.3s ease;
	cursor: pointer;
}

.counsel_link_box.active {
	background: #333;
	border: 1px solid #333;
}

.counsel_link_box .img_wrap {
	width: 100%;
	height: 182px;
	display: flex;
	align-items: center; /* 세로 가운데 */
	justify-content: center; /* 가로 가운데 */
}

.counsel_link_box .img_wrap img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain; /* 이미지 비율 유지하며 맞춤 */
}

.counsel_link_box h5 {
	color: #333;
	text-align: center; 
	font-size: 14px;
	font-style: normal;
	font-weight: 500;
	line-height: 100%; /* 14px */
	margin-bottom: 20px;
}

.counsel_link_box h3 {
	color: #333;
	text-align: center;
	font-family: SUIT;
	font-size: 30px;
	font-style: normal;
	font-weight: 700;
	line-height: 100%; /* 30px */
	letter-spacing: -0.75px;
	margin-bottom: 22px;
}

.counsel_link_box.active h5, .counsel_link_box.active h3 {
	color:#fff;
}


@media (max-width: 991.98px) {

	.counsel_link_box_section {
		padding:40px 0px;
	}

	.link_box_label { 
		padding:0px 20px;
		height:36px;
		font-size: 18px;
		line-height: 36px;   
		margin-bottom:10px; 
	}

	.counsel_link_box_section h2 { 
		font-size: 32px;
		margin-bottom:30px;
	}

	.counsel_link_box_wrap {
		display: flex;
		justify-content: space-between; /* 간격 균등 배치 */
		align-items: stretch; /* 높이 동일하게 */
		gap: 12px; /* 박스 사이 간격 */
	}

	.counsel_link_box {
		flex: 1; /* 모든 박스가 같은 비율로 늘어남 */ 
		padding-bottom:20px;
	}

	.counsel_link_box.active {
		background: #333;
		border: 1px solid #333;
	}

	.counsel_link_box .img_wrap {
		width: 100%;
		height: 100px;
		display: flex;
		align-items: center; /* 세로 가운데 */
		justify-content: center; /* 가로 가운데 */
	}

	.counsel_link_box .img_wrap img {
		width:50px;
	}

	.counsel_link_box h5 { 
		font-size: 12px; 
		line-height: 100%; /* 14px */
		margin-bottom: 10px;
	}

	.counsel_link_box h3 { 
		font-size: 18px; 
		letter-spacing: -0.75px;
		margin-bottom: 15px;
	}

}



.agree_wrap {
	margin-bottom:5px;
}

.agree_item {
  display: flex;
  align-items: center;
  cursor: pointer;
}

/* 실제 체크박스 숨기기 */
.agree_item input[type="checkbox"] {
  display: none;
}

/* label 앞에 이미지 아이콘 추가 */
.agree_item label {
  position: relative;
  padding-left: 30px;
  cursor: pointer;
}

.agree_item label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  background: url("../images/sub/icon_check_box.svg") no-repeat center / contain;
}

/* 체크 상태일 때 active 이미지로 변경 */
.agree_item.active label::before {
  background-image: url("../images/sub/icon_check_box_active.svg");
}
