@charset "utf-8";
/*
 * 메인 페이지 미디어쿼리 브레이크포인트 (헤더·풀메뉴와 통일)
 * - 1020px 이하: 모바일 레이아웃 (SECTION_01~04, 래퍼 등)
 * - 480px 이하: 소형 모바일 (추가 조정)
 */

/* ========== 웹 접근성: 키보드 포커스 가시성 ========== */
.gt_wrapper a:focus-visible,
.gt_wrapper button:focus-visible,
#hd a:focus-visible,
#hd button:focus-visible {
	outline: 2px solid #00a0e9;
	outline-offset: 2px;
}
.gt_wrapper a:focus:not(:focus-visible),
.gt_wrapper button:focus:not(:focus-visible),
#hd a:focus:not(:focus-visible),
#hd button:focus:not(:focus-visible) {
	outline: none;
}
/* 본문 바로가기 링크 포커스 시 확실히 노출 */
#skip_to_container a:focus-visible {
	width: 100% !important;
	height: 75px !important;
	background: #21272e !important;
	color: #fff !important;
	font-size: 1.25rem !important;
	font-weight: bold !important;
	text-align: center !important;
	line-height: 75px !important;
	display: block !important;
	overflow: visible !important;
}

/* 동작 축소 선호 시 애니메이션 완화 */
@media (prefers-reduced-motion: reduce) {
	.gt_wrapper [data-aos],
	.gt_wrapper .hoveraction {
		animation: none !important;
		transition: none !important;
	}
}

#hd { }
.gt_page { margin: 0 auto; padding:50px 0; vertical-align:center; min-height: auto; }
.margin_bottom10 { margin-bottom:10px; }
.margin_top10 {}

.onweb_grad_bg3{background:-webkit-linear-gradient(45deg, hsla(65, 100%, 74%, 1) 0%, hsla(65, 100%, 74%, 0) 70%),
-webkit-linear-gradient(315deg, hsla(345, 97%, 77%, 1) 10%, hsla(345, 97%, 77%, 0) 80%),
-webkit-linear-gradient(225deg, hsla(40, 100%, 74%, 1) 10%, hsla(40, 100%, 74%, 0) 80%),
-webkit-linear-gradient(135deg, hsla(359, 97%, 72%, 1) 100%, hsla(359, 97%, 72%, 0) 70%);background:linear-gradient(45deg, hsla(65, 100%, 74%, 1) 0%, hsla(65, 100%, 74%, 0) 70%),
linear-gradient(135deg, hsla(345, 97%, 77%, 1) 10%, hsla(345, 97%, 77%, 0) 80%),
linear-gradient(225deg, hsla(40, 100%, 74%, 1) 10%, hsla(40, 100%, 74%, 0) 80%),
linear-gradient(315deg, hsla(359, 97%, 72%, 1) 100%, hsla(359, 97%, 72%, 0) 70%);}

/* 인덱스페이지 전용 (1020px/480px 통일) */
@media (max-width: 1020px) {
	.mbox_innr { width: 100%; padding: 0; overflow: hidden; }
	.mbox1 .left1, .mbox1 .right1 { width: inherit; }
}
@media (max-width: 1020px) {
	.mobile_display > .left { display: none; }
	.mbox_innr { width:100%; padding:0 10px; }
	
	.mbox1 .left1, .mbox1 .right1 { width:100% !important; }
	.mbox1 .left, .mbox1 .right {width:100%;float:inherit}
	.mbox1 .left, .mbox1 .left2 {padding-right:0}
	.mbox1 .right, .mbox1 .right2 {padding-left:0}
	
	#wlr2 { width:100%; height:auto !important; }
	#mbgbox { height:310px !important;}
	.mbox1 .m2box .left { float:left; width:calc(50% - 5px); }
	.mbox1 .m2box .right { float:right; width:calc(50% - 5px); margin-top:0px;}
	.margin_top10 { margin-top:10px !important; }
	#googlemaps { margin:0px 10px !important; height:400px !important; }
	
	/* 기본팝업 모바일 스타일 별도 지정 */
	.hd_pops { left: 10px !important; position: absolute !important; z-index:9999 !important;}
	.hd_pops_con { width: auto !important; height: auto !important; }
	.hd_pops img { max-width: 100%; }
}

/* 480px: 소형 모바일 (mbox 등) */
@media (max-width: 480px) {
	.mbox { padding: 50px 0 !important; }
	.mbox1 .left2 { margin-top:0px !important; }
	.mbox1 .m2box .left { width:100%;float:inherit; margin-bottom:10px; }
	.mbox1 .m2box .center { width:100%;float:inherit; margin-bottom:10px; }
	.mbox1 .m2box .right { width:100%;float:inherit; }
	
	#mbgbox { height:auto !important;}
	.mbox1 .left2, .mbox1 .right2 {width:100%;float:inherit}
	.mbox1 .left2 { margin-top:10px; width:100% !important; }
	.mbox1 .right2 { width:100% !important; margin-left:0px !important; }
	.mbox1 .right, .mbox1 .right2 {margin-top:10px}
	.mbox1 .left:after, .mbox1 .right:after {display:block;visibility:hidden;clear:both;content:""}
	.mbox1 .left2:after, .mbox1 .right2:after {display:block;visibility:hidden;clear:both;content:""}
	
	#googlemaps { margin:0px 10px !important; height:400px !important; }
	.onweb_g2 li { float:left; width:50%; }
	.onweb_g2 .onweb_big_photo { width:100%; }
	
	/* 메인페이지 여백 설정 */
	.onweb_div_1200 { width: 100% !important; padding: 0 5% !important; margin-left: 0 !important; margin-right: 0 !important; box-sizing: border-box; }
	.layer_right_50 { margin-top:30px !important; }
}

#gt_tab2 { margin: 0px; padding:0px; background-image: linear-gradient(var(--gt_tab2_color), var(--gt_tab2_color)); background-size: 100% 1px; background-repeat: no-repeat; background-position: 48px 48px; vertical-align:top; }
#gt_tab2 .mui-tabs__bar { margin: 0px; padding:0px; border-bottom:0px solid var(--gt_tab2_color); }
#gt_tab2 .mui-tabs__bar li { margin: 0px; padding:0px; display:block; float:left; background-color:transparent; border-bottom: 1px solid var(--gt_tab2_color); padding-bottom:0px !important;  }
#gt_tab2 .mui-tabs__bar li a:hover { cursor:pointer; }
#gt_tab2 .mui-tabs__bar li a { font-size:17px; font-family: "NEXON Gothic"; font-weight:700; letter-spacing:-1px; margin:0px; padding:0px 20px; }
#gt_tab2 .mui-tabs__bar .mui--is-active a { color:var(--gt_tab2_color); }
#gt_tab2 .mui-tabs__bar .mui--is-active { border:1px solid var(--gt_tab2_color); border-bottom:0px; /* border-top-left-radius:5px; border-top-right-radius:5px; */ }
#gt_tab2 .mui-tabs__bar .mui--is-active a { border-bottom: 1px solid #FFF; }
#gt_tab2 .mui-tabs__pane { position:relative; top:-15px !important; }
#gt_tab2 .gt_tab_area { margin: 0px; padding:0px;  }
#gt_tab2 .btn_more { position:relative; margin:0px; padding:0px; float:right; font-size:12px; top:-23px; line-height:25px;}
#gt_tab2 .material-icons { color:var(--gt_tab2_color); }

#gt_tab2 .gt_simple32_lt .material-icons { color:var(--gt_tab2_color); }
#gt_tab2 .gt_simple32_lt li{ width:100%; padding: 0px; border-bottom:1px solid #DDD;} /* 줄간격 */
#gt_tab2 .gt_simple32_lt li a:hover{ color:var(--gt_tab2_color) !important; }
#gt_tab2 .gt_simple32_lt { font-family: "NEXON Gothic"; width:100%; font-size:14px; }
#gt_tab2 .gt_simple32_lt .gt_simple32_lt_pic { margin:0px; padding:0px 10px 0px 0px; }
#gt_tab2 .gt_simple32_lt .gt_simple32_tit{ letter-spacing:0px; padding:0px; font-family: "NEXON Gothic"; font-size:17px; font-weight:700; color:#111; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#gt_tab2 .gt_simple32_lt .gt_simple32_content { font-weight:400; width:100%; margin:0px 0px 0px 0px; padding:5px 0px; font-size:13px; line-height:18px; color:#666; }
#gt_tab2 .gt_simple32_lt li:hover .gt_simple32_tit { color:var(--gt_tab2_color) !important; }

@media (max-width: 480px) {
	#gt_tab2 .mui-tabs__bar li a { font-size: 15px; font-family: "NEXON Gothic"; font-weight: 400; letter-spacing: -1px; margin: 0; padding: 0 10px; }
}

/* ==========================================================================
   메인 페이지 공통 레이아웃 (index.php 글로벌 스타일)
   ========================================================================== */
.gt_wrapper { position: relative; background: #F5F5F5; }
.gt_wrapper .onweb_div_1200 { max-width: 1200px; margin: 0 auto; padding: 0 20px; box-sizing: border-box; }
.gt_wrapper .onweb_div_1520 { max-width: 1520px; margin: 0 auto; padding: 0; box-sizing: border-box; }

/* 1021px ~ 1520px: 좌우 3% (상하 0) — 1020px 이하는 아래 블록에서 5% 유지 */
@media (max-width: 1520px) and (min-width: 1021px) {
	.gt_wrapper .onweb_div_1520 { padding: 0 3%; box-sizing: border-box; }
}

/* 1020px 이하: 메인 래퍼·전체 너비 */
@media (max-width: 1020px) {
	html, body { width: 100% !important; max-width: 100% !important; box-sizing: border-box; }
	#GT3_CENTER, #wrapper, .gt_wrapper { width: 100% !important; max-width: 100% !important; box-sizing: border-box; }
	.gt_wrapper .onweb_div_1520 { max-width: 100%; width: 100%; padding: 0 5%; box-sizing: border-box; }
}

/* SECTION_01: 히어로 비주얼 */
#SECTION_01 {
	width: 100%; margin: 0; position: relative;
	height: calc(100vh - 148px); min-height: 380px;
	background: #B3E5FC !important; overflow: hidden;
}
#SECTION_01 .hero_inner {
	width: 100%; height: 100%; min-height: 380px;
	display: flex; flex-direction: column;
}
#SECTION_01 .hero_inner [class^="gt_swiper_ban_"] {
	width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important;
	border-radius: 0 !important; background: transparent !important; position: relative !important;
	display: flex !important; flex-direction: column !important; height: 100% !important;
	overflow: visible !important;
}
#SECTION_01 .hero_inner .head_area {
	position: relative !important; top: auto !important; bottom: auto !important; left: auto !important; right: auto !important;
	width: 100% !important; box-sizing: border-box !important;
	flex-shrink: 0 !important; margin: 0 !important; padding: 0 !important;
	background: #fff !important; border-bottom: 1px solid #e0e0e0;
	z-index: 5 !important; display: flex !important; align-items: center !important; justify-content: center !important;
	overflow: visible !important;
}
#SECTION_01 .hero_inner .head_area .control_area {
	height: 100%; padding: 12px 0;
}
#SECTION_01 .hero_inner .head_area .control_area .hero_slide_title_wrap {
	max-width: calc(100% - 120px) !important; text-align: center !important;
	padding: 0 12px; box-sizing: border-box; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
#SECTION_01 .hero_inner .head_area .control_area .title,
#SECTION_01 .hero_inner .head_area .control_area .hero_slide_title {
	margin: 0 auto; display: block !important; text-align: center !important;
	font-size: 17px; font-weight: 700; color: #00a0e9 !important;
	font-family: "NanumSquare", "NEXON Gothic", sans-serif;
	overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
	max-width: 540px; width: 100%;
}
#SECTION_01 .hero_inner .head_area .control_area .title a,
#SECTION_01 .hero_inner .head_area .control_area .hero_slide_title_wrap { color: #00a0e9 !important; text-decoration: none !important; }
#SECTION_01 .hero_inner .head_area .control_area .button_stop_play { display: none !important; }
#SECTION_01 .hero_inner .head_area .swiper-button-prev {
	width: 36px !important; min-width: 36px !important; height: 36px !important; margin: 0 !important;
	border-radius: 50% !important; background: #fff !important;
	border: 2px solid #81D4FA !important;
	display: flex !important; align-items: center !important; justify-content: center !important;
	cursor: pointer; transition: border-color .2s, background .2s;
}
#SECTION_01 .hero_inner .head_area .swiper-button-next {
	width: 36px !important; min-width: 36px !important; height: 36px !important; margin: 0 !important;
	border-radius: 50% !important; background: #fff !important;
	border: 2px solid #81D4FA !important;
	display: flex !important; align-items: center !important; justify-content: center !important;
	cursor: pointer; transition: border-color .2s, background .2s;
}
#SECTION_01 .hero_inner .head_area .swiper-button-prev:hover,
#SECTION_01 .hero_inner .head_area .swiper-button-next:hover {
	border-color: #4FC3F7 !important; background: #E1F5FE !important;
}
#SECTION_01 .hero_inner .head_area .swiper-button-prev span,
#SECTION_01 .hero_inner .head_area .swiper-button-next span { color: #03A9F4 !important; font-size: 22px !important; }
#SECTION_01 .hero_inner .head_area [class*="_pagination"] { display: none !important; }
#SECTION_01 .hero_inner .hero_below_sub_bar {
	flex-shrink: 0; width: 100%; min-height: 40px; box-sizing: border-box;
	background: #E3F4FC; border-bottom: 1px solid #B3E5FC;
	display: flex; align-items: center; justify-content: center;
	padding: 8px 20px;
	font-size: 12px; font-family: monospace; color: #333;
	overflow-x: auto; white-space: pre-wrap; word-break: break-all; text-align: left;
}
#SECTION_01 .hero_inner [class*="1_Swiper"] { flex: 1; min-height: 0; display: flex; flex-direction: column; background: #B3E5FC; overflow: hidden; }
#SECTION_01 .hero_inner .swiper-container {
	height: 100% !important; min-height: 0 !important; flex: 1 !important; background: #B3E5FC; overflow: hidden !important; max-width: 100%;
}
#SECTION_01 .hero_inner .swiper-wrapper { height: 100% !important; }
#SECTION_01 .hero_inner .swiper-slide {
	height: 100% !important; max-height: 100% !important;
	width: 100% !important; max-width: 100% !important;
	margin-right: 0 !important; /* Swiper spaceBetween 인라인 margin 제거 */
	overflow: hidden !important; background: #B3E5FC; box-sizing: border-box;
}
#SECTION_01 .hero_inner .swiper-slide > a {
	display: block;
	position: relative;
	height: 100%;
	width: 100%;
	overflow: hidden;
}
/* imgbox와 동일 원본으로 a 영역 전체를 블러 배경으로 채움(비율 차이로 남는 여백 메움) */
#SECTION_01 .hero_inner .swiper-slide > a .hero_slide_blur_bg {
	display: block;
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	overflow: hidden;
}
/* 블러는 ::before만 — 딤은 ::after로 분리(딤이 블러에 섞이지 않음) */
#SECTION_01 .hero_inner .swiper-slide > a .hero_slide_blur_bg::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: var(--gt-hero-blur-img);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	filter: blur(28px);
	-webkit-filter: blur(28px);
	transform: scale(1.12);
	transform-origin: center center;
}
#SECTION_01 .hero_inner .swiper-slide > a .hero_slide_blur_bg::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.3);
	pointer-events: none;
}
#SECTION_01 .hero_inner .imgbox {
	position: relative;
	z-index: 1;
	height: 100% !important; width: 100% !important;
	border-radius: 0 !important; background: transparent;
	overflow: hidden !important; display: flex !important; align-items: center !important; justify-content: center !important;
}
#SECTION_01 .hero_inner .imgbox img {
	height: 100% !important; width: auto !important; max-width: none !important;
	object-fit: cover !important; object-position: center !important;
	border-radius: 0 !important; display: block;
}
#SECTION_01 .hero_inner .subject_text { display: none !important; }


/* 1399px 이하: SECTION_01 히어로 — 너비 100%, 높이는 이미지 종횡비 (헤더 컴팩트 구간과 동일) */
@media (max-width: 1399px) {
	#SECTION_01 {
		width: 100%;
		max-width: 100%;
		height: auto;
		min-height: 0;
	}
	#SECTION_01 .hero_inner {
		width: 100%;
		height: auto;
		min-height: 0;
	}
	#SECTION_01 .hero_inner [class^="gt_swiper_ban_"] {
		height: auto !important;
	}
	#SECTION_01 .hero_inner [class*="1_Swiper"] {
		flex: 0 0 auto;
		min-height: 0;
		height: auto;
		overflow: hidden;
	}
	#SECTION_01 .hero_inner .swiper-container {
		height: auto !important;
		flex: none !important;
	}
	#SECTION_01 .hero_inner .swiper-wrapper {
		height: auto !important;
	}
	#SECTION_01 .hero_inner .swiper-slide {
		height: auto !important;
		max-height: none !important;
	}
	#SECTION_01 .hero_inner .swiper-slide > a {
		height: auto;
		min-height: 0;
	}
	#SECTION_01 .hero_inner .imgbox {
		height: auto !important;
		display: block !important;
	}
	#SECTION_01 .hero_inner .imgbox img {
		width: 100% !important;
		height: auto !important;
		max-width: 100% !important;
		object-fit: unset !important;
	}
	#SECTION_01 .hero_inner .head_area { min-height: 48px !important; }
	#SECTION_01 .hero_inner .head_area .title,
	#SECTION_01 .hero_inner .head_area .hero_slide_title { font-size: 14px !important; }
	#SECTION_01 .hero_inner .head_area .swiper-button-prev,
	#SECTION_01 .hero_inner .head_area .swiper-button-next { width: 32px !important; min-width: 32px !important; height: 32px !important; }
	#SECTION_01 .hero_inner .head_area .swiper-button-prev span,
	#SECTION_01 .hero_inner .head_area .swiper-button-next span { font-size: 18px !important; }
}
/* 480px: SECTION_01 히어로 */
@media (max-width: 480px) {
	#SECTION_01 .hero_inner .head_area .title,
	#SECTION_01 .hero_inner .head_area .hero_slide_title { font-size: 13px !important; }
}

/* 섹션 공통: h2 타이틀 */
.gt_section h2 {
	font-size: 3em; font-weight: 900; color: #111; margin: 0;
	font-family: "NanumSquare", "NEXON Gothic", sans-serif;
	letter-spacing: -0.5px; line-height: 1.35;
}

/* 히어로(SECTION_01) 제외 섹션 통합 패딩 - 일괄 조절 */
.gt_section_pad { padding: 90px 0; }

/* 섹션 인트로 */
#SECTION_02 { background: #fff;}
#SECTION_02 .section_intro {
	width: 100%; padding: 48px 0 40px; text-align: center; background: #fff;
	scroll-margin-top: 148px;
}
#SECTION_02 .section_intro .onweb_SectionTitle {
	font-size: 42px; font-weight: 700; color: #111; letter-spacing: -1px;
	font-family: "NanumSquare", "NEXON Gothic", sans-serif; line-height: 1.3; margin-bottom: 12px;
}
#SECTION_02 .section_intro .onweb_SectionText { font-size: 16px; color: #666; line-height: 1.6; font-weight: 400; }

/* 공지사항 / 채용정보 섹션 */
#SECTION_02 .section_notice_wrap { background: #fff; }
#SECTION_02 .section_notice_block { margin-bottom: 40px; }
#SECTION_02 .section_notice_block:last-child { margin-bottom: 0; }
#SECTION_02 .section_notice_head {
	display: flex; justify-content: space-between; align-items: center;
	margin-bottom: 20px; padding: 0 4px;
}
.section_more {
	display: inline-block; padding: 10px 24px; background: #00a0e9; color: #fff !important;
	font-size: 14px; font-weight: 600; text-decoration: none; border-radius: 6px;
}
.section_more:hover { background: #0088c7; color: #fff !important; }
#SECTION_02 .gt_notice_card_wrap { width: 100%; }
#SECTION_02 .gt_notice_card_list { display: grid; gap: 20px; grid-template-columns: repeat(4, 1fr); }
#SECTION_02 .section_notice_block.recruit_block .gt_notice_card_list { grid-template-columns: repeat(2, 1fr); }
#SECTION_02 .gt_notice_card_item {
	display: flex; flex-direction: column; padding: 20px; border-radius: 8px;
	border: 2px solid #e0e0e0; background: #fff; text-decoration: none; color: inherit;
	box-sizing: border-box; transition: border-color .2s, box-shadow .2s;
	min-height: 220px;
}
#SECTION_02 .gt_notice_card_item:hover { border-color: #1078BF; box-shadow: 0 4px 12px rgba(0,160,233,.12); }
#SECTION_02 .gt_notice_card_item .card_tag {
	display: inline-block; padding: 6px 18px; border-radius: 4px; font-size: 14px; font-weight: 600;
	margin-bottom: 24px; width: fit-content;
}
#SECTION_02 .gt_notice_card_item .card_tag { background: #fff; color: #333; border: 1px solid #53BD83; }
/* #SECTION_02 .gt_notice_card_item:hover .card_tag { background: #53BD83; color: #fff; } */
#SECTION_02 .gt_notice_card_item .card_title {
	font-size: 18px; font-weight: 600; color: #111; line-height: 1.45;
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
	min-height: calc(1em * 1.45 * 2); /* 1줄/2줄 동일 높이 */
}
#SECTION_02 .gt_notice_card_item .card_line {
	display: block; height: 1px; background: #81D4FA; margin: 12px 0;
}
#SECTION_02 .gt_notice_card_item .card_date { font-size: 13px; color: #666; }
#SECTION_02 .gt_notice_card_empty { padding: 40px; text-align: center; color: #888; }

@media (max-width: 480px) {
	#SECTION_02 .gt_notice_card_list { grid-template-columns: 1fr !important; }
}

/* 섹션 03: 환경교육 허브 */
#SECTION_03 {
	width: 100%; background: #DCF1FF; text-align: center;
}
.gt_wrapper .hub_title_area { padding: 0 0 60px 0; }
.gt_wrapper .hub_title_area h2 { text-align: left; }
.gt_wrapper .hub_title_area .hub_h2_mobile_br { display: none; } /* PC: 한 줄 표시 */
.gt_wrapper .hub_title_area .onweb_SectionText {
	font-size: 20px; color: #666; margin-top: 20px; line-height: 1.5; text-align: left;
}
#SECTION_03 .ul_box_link {
	display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px;
	list-style: none; margin: 0; padding: 0; border: none;
}
#SECTION_03 .ul_box_link > a { text-decoration: none; color: inherit; display: block; height: 100%; aspect-ratio: 1/1; }
#SECTION_03 .ul_box_link li {
	display: flex; flex-direction: column; align-items: center; justify-content: center;
	width: 100%; height: 100%; min-height: 0; padding: 32px 20px !important;
	background: #fff; border-radius: 12px; box-shadow: 0 2px 12px rgba(0,0,0,.06);
	border: 2px solid #eee; font-family: "NEXON Gothic", sans-serif; font-size: 15px;
	transition: all 0.25s ease; box-sizing: border-box; list-style: none;
}
#SECTION_03 .ul_box_link li .micon { font-size: 128px; color: #17BBE1; line-height: 1; margin-bottom: 14px; }
#SECTION_03 .ul_box_link li .mTitle1 { font-size: 24px; font-weight: 700; color: #111; text-align: center; margin: 0 0 24px 0; line-height: 1.4; }
#SECTION_03 .ul_box_link li .thin { font-weight: 400; font-size: 12px; color: #888; line-height: 1.4; }
#SECTION_03 .ul_box_link li:hover {
	box-shadow: 0 8px 24px rgba(23,187,225,.25);
	border-color: #1078BF; transform: translateY(-2px);
}
#SECTION_03 .ul_box_link li:hover .micon,
#SECTION_03 .ul_box_link li:hover .thin { color: #FFF !important; }
#SECTION_03 .gt_wrapper .white { color: #FFF !important; }

/* 섹션 04: 정책자료 더보기 (정책자료실 스타일: 타이틀+파란 더보기 버튼, 카드 그리드) */
#SECTION_04 { width: 100%; background: #fff;}
#SECTION_04 .policy_header {
	display: flex; justify-content: space-between; align-items: center;
	margin-bottom: 40px; padding: 0 4px;
}
#SECTION_04 .policy_more_btn {
	display: inline-block;
	padding: 10px 24px;
	background: #1976D2;
	color: #fff !important;
	font-size: 14px; font-weight: 600; text-decoration: none;
	border: none;
	border-radius: 6px;
	transition: background .2s;
}
#SECTION_04 .policy_more_btn:hover {
	background: #1565C0;
	color: #fff !important;
	text-decoration: none;
}
#SECTION_04 .policy_list_wrap {
	background: transparent;
	border-radius: 0;
	padding: 0;
	border: none;
}
#SECTION_04 .gt_simple32_lt ul {
	border: none; margin: 0; padding: 0; list-style: none;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}
#SECTION_04 .gt_simple32_lt li {
	border-bottom: none;
	padding: 0;
	background: #fff;
	border: 2px solid #e0f2f7;
	border-radius: 8px;
	overflow: hidden;
	transition: box-shadow .2s, border-color .2s;
}
#SECTION_04 .gt_simple32_lt li:hover {
	box-shadow: 0 6px 16px rgba(0,0,0,.015);
	border-color: #1078BF;
}
#SECTION_04 .gt_simple32_lt .gt_simple32_lt_wrap {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
}
/* 정책 카드: 전체 영역 링크(구형 오버레이 앵커 대체, 터치 스와이프와 호환) */
#SECTION_04 .gt_simple32_lt .gt_simple32_policy_full_link {
	display: block;
	text-decoration: none;
	color: inherit;
	height: 100%;
	-webkit-tap-highlight-color: transparent;
}
#SECTION_04 .gt_simple32_lt .gt_simple32_lt_contents {
	display: flex;
	flex-direction: column;
	flex: 1;
	margin-left: 0;
	margin-right: 0;
	padding: 0;
	box-sizing: border-box;
}
/* 썸네일: 1:1 비율, 카드 너비만큼 채움 */
#SECTION_04 .gt_simple32_lt .gt_simple32_lt_pic {
	float: none;
	order: -1;
	width: 100%;
	aspect-ratio: 1 / 1;
	flex-shrink: 0;
	overflow: hidden;
	text-align: center;
	padding: 0;
	margin: 0;
	background: #f5f5f5;
}
#SECTION_04 .gt_simple32_lt .gt_simple32_lt_pic img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	border-radius: 0;
	display: block;
	transition: transform .2s ease;
}
#SECTION_04 .gt_simple32_lt .gt_simple32_lt_wrap:hover .gt_simple32_lt_pic img,
#SECTION_04 .gt_simple32_policy_full_link:hover .gt_simple32_lt_pic img { transform: scale(1.15); }
/* 텍스트: 썸네일 박스 바깥(아래)에 배치, 클릭 영역 유지 */
#SECTION_04 .gt_simple32_lt .gt_simple32_tit {
	font-size: 16px;
	font-weight: 600;
	color: #111;
	line-height: 1.45;
	margin: 0;
	padding: 16px 20px 20px 20px;
	white-space: normal;
	overflow: visible;
	text-overflow: unset;
	display: block;
	box-sizing: border-box;
	text-align: center;
}
#SECTION_04 .gt_simple32_lt .gt_simple32_tit .date {
	display: none; /* 정책자료실: 업로드 날짜 미노출 */
}
#SECTION_04 .gt_simple32_lt .gt_simple32_content {
	display: none; /* 정책자료실: 타이틀만 노출 */
}

/* 정책자료 모바일: Swiper 컨테이너(PC에서는 그리드 유지) */
#SECTION_04 .policy-mobile-swiper-wrap { width: 100%; }
#SECTION_04 .policy-mobile-swiper.gt_simple32_lt .swiper-wrapper { list-style: none; margin: 0; padding: 0; border: none; }
#SECTION_04 .policy-swiper-nav { display: none; }

/* PC: Swiper 기본 flex보다 SECTION_04 3열 그리드 우선 (스와이퍼는 1020px 이하에서만 초기화) */
@media (min-width: 1021px) {
	#SECTION_04 .policy-mobile-swiper .swiper-wrapper {
		display: grid !important;
		grid-template-columns: repeat(3, 1fr);
		gap: 24px;
		transform: none !important;
	}
	#SECTION_04 .policy-mobile-swiper .swiper-slide {
		width: auto !important;
		max-width: none !important;
		margin: 0 !important;
	}
}

/* ========== 1020px 이하: 정책자료실 모바일 Swiper ========== */
@media (max-width: 1020px) {
	#SECTION_04 .policy_header {
		display: flex; justify-content: space-between; align-items: center;
		flex-direction: row; gap: 10px; margin-bottom: 30px;
	}
	#SECTION_04 .policy-mobile-swiper-wrap .swiper-container { overflow: hidden; }
	#SECTION_04 .policy-mobile-swiper .swiper-wrapper {
		display: flex !important; flex-wrap: nowrap !important;
		grid-template-columns: none !important; gap: 0 !important;
	}
	#SECTION_04 .policy-mobile-swiper .swiper-slide {
		width: 100% !important; flex-shrink: 0; box-sizing: border-box;
	}
	#SECTION_04 .policy-swiper-nav {
		display: flex; justify-content: center; align-items: center; gap: 16px;
		padding: 20px 0 0;
	}
	#SECTION_04 .policy-swiper-nav .swiper-button-prev,
	#SECTION_04 .policy-swiper-nav .swiper-button-next {
		position: static; width: 40px; height: 40px; margin: 0; border-radius: 50%; border: 2px solid #81D4FA;
		background: #fff; color: #03A9F4; padding: 0; cursor: pointer;
		display: inline-flex; align-items: center; justify-content: center; transition: border-color .2s, background .2s;
		font: inherit;
	}
	#SECTION_04 .policy-swiper-nav .swiper-button-prev:hover,
	#SECTION_04 .policy-swiper-nav .swiper-button-next:hover {
		border-color: #4FC3F7; background: #E1F5FE;
	}
	#SECTION_04 .policy-swiper-nav .swiper-button-prev.swiper-button-disabled,
	#SECTION_04 .policy-swiper-nav .swiper-button-next.swiper-button-disabled { opacity: 0.35; cursor: not-allowed; }
	#SECTION_04 .policy-swiper-nav .material-icons { font-size: 24px; }
}

/* ========== 1020px 이하: 메인 섹션 모바일 레이아웃 (헤더 브레이크포인트와 동일) ========== */
@media (max-width: 1020px) {
	#SECTION_03 .ul_box_link { grid-template-columns: repeat(2, 1fr); }
	#SECTION_04 .gt_simple32_lt ul { grid-template-columns: repeat(2, 1fr); }
	.section_intro .onweb_SectionTitle { font-size: 28px; }
	.section_intro .onweb_SectionText { font-size: 14px; }
	.gt_section_pad { padding: 60px 0; }
	#SECTION_02 .section_intro { padding: 32px 0 24px; scroll-margin-top: 100px; }
	#SECTION_02 .section_notice_head {
		display: flex; justify-content: space-between; align-items: center;
		flex-direction: row; margin-bottom: 20px; padding: 0;
	}
	#SECTION_02 .section_notice_block { margin-bottom: 40px; }
	#SECTION_02 .gt_notice_card_list { grid-template-columns: 1fr !important; gap: 12px;}
	#SECTION_02 .gt_notice_card_item { min-height: 0; padding: 16px; }
	#SECTION_02 .gt_notice_card_item .card_tag { padding: 4px 10px; font-size: 12px; margin-bottom: 12px; }
	#SECTION_02 .gt_notice_card_item .card_title { font-size: 15px; min-height: 0; -webkit-line-clamp: 2; }
	#SECTION_02 .gt_notice_card_item .card_date { font-size: 12px; }
	.gt_wrapper .hub_title_area { padding: 0 0 60px 0; }
	.gt_wrapper .hub_title_area h2 {
		line-height: 1.4;
	}
	.gt_wrapper .hub_title_area .hub_h2_mobile_br { display: block !important; } /* 모바일: br에서 줄바꿈 */
	.gt_wrapper .hub_title_area .onweb_SectionText {
		font-size: 14px; text-align: center; margin-top: 10px;
	}
	#SECTION_03 .ul_box_link { grid-template-columns: repeat(2, 1fr); gap: 5%; }
	#SECTION_03 .ul_box_link li {
		min-width: 100%; padding: 24px 12px !important;
	}
	#SECTION_03 .ul_box_link li .micon { font-size: 64px; margin-bottom: 8px; }
	#SECTION_03 .ul_box_link li .mTitle1 { font-size: 14px; margin: 0 0 0 0; }
	#SECTION_04 .gt_simple32_lt ul { grid-template-columns: 1fr; gap: 16px; }
	#SECTION_04 .gt_simple32_lt .gt_simple32_tit { font-size: 14px; padding: 12px 16px; }
	.section_more { padding: 8px 18px; font-size: 13px; }
}