/* 풋터 영역 20251211 */

/* footer 섹션 컨텐츠 높이 */
#section3 .footer-inner {
	min-height: 300px;
	/* 원하는 높이 */
	padding-bottom: 40px;
	/* 필요하면 padding, 정렬 등도 여기서 */
	/* padding: 20px 0; */
}

/* auto-height 섹션은 fullpage 기본 중앙정렬 대신 위쪽 정렬로 */
#section3.fp-auto-height .fp-tableCell {
	height: auto !important;
	display: block;
	vertical-align: top;
}


.footer {
	width: 100%;
}

.footer .container {
	max-width: 1600px;
	/* 최대 1600px */
	width: 100%;
	/* 그 이하에서는 화면 너비에 맞춤 */
	margin: 0 auto;
	padding: 0 10px;
	/* 좌우 여백 조금 (선택사항) */
}

.footer .container .footer_top_wrap {
	display: flex;
	justify-content: space-between;
	align-items: center;

	position: relative;
	/* ::before 절대좌표 기준 */
	z-index: 0;
	/* 배경 뒤로 보내기 위한 기준 */
}

/* 화면 전체 가로(100vw)로 까만 배경 깔기 */
.footer .container .footer_top_wrap::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);  /* 가운데 기준으로 100vw 펼치기 */

  width: 100vw;                 /* 화면 전체 폭 */
  height: 100%;
  background: #000;
  z-index: -1;
}

@media (max-width: 640px) {
  .footer .container .footer_top_wrap::before {width:100%;}
  .footer .container {
    padding: 0 0;  /* 패딩 없애서 배경 + 컨텐츠를 더 붙여 보이게 */
  }

  /* 대신 텍스트 쪽에만 여백 주고 싶으면 */
  .footer_content_wrap {
    padding: 0 12px;
  }
}

/* 전역: 가로 스크롤 방지 */
html,
body {
  overflow-x: hidden;
  max-width: 100%;
}

/* 🔹 각 ul 자체를 가로 정렬 + 리스트 초기화 */
.footer .container .footer_top_wrap>ul {
	display: flex;
	/* li 가로 나열 */
	list-style: none;
	margin: 0;
	padding: 0;
	align-items: center;
}

/* 왼쪽 메뉴 li 간격 */
.footer .container .footer_top_wrap>ul:first-child>li {
	margin-right: 27px;
	position: relative;
}

.footer .container .footer_top_wrap>ul:first-child>li:nth-child(1):after {
	background: none;
}

.footer .container .footer_top_wrap>ul:first-child>li:after {
	position: absolute;
	top: 5px;
	left: -13px;
	background: #CDCDCD;
	width: 1px;
	height: 19px;
	content: "";
}



/* 오른쪽 SNS 아이콘 li 간격 */
.footer .container .footer_top_wrap>ul:last-child>li {
	margin-left: 18px;
}

/* 메뉴 텍스트 스타일 */
.footer .container .footer_top_wrap>ul:first-child>li>a {
	color: #fff;
	font-weight: 400;
	font-size: 18px;
}

/* 아이콘 이미지 정렬(선택) */
.footer .container .footer_top_wrap>ul:last-child img {
	display: block;
	/* 밑에 여백 생기는 거 방지용 */
}

.footer_content_wrap {}

.footer_content_wrap>img {
	display: block;
	margin: 27px 0;
}

.footer_content_wrap>p {
	margin-bottom: 10px;
	color: #A6A6A6;
	font-size: 18px;
}

.footer_content_wrap>p:nth-child(3) {
	margin-bottom: 0px;
}


@media all and (max-width:999px) {
	.footer .container .footer_top_wrap>ul:first-child>li>a {
		font-size: 17px;
	}

	.footer_content_wrap>p {
		font-size: 17px;
	}

	.footer .container .footer_top_wrap>ul:first-child>li:after {
		position: absolute;
		top: 5px;
		left: -13px;
		background: #CDCDCD;
		width: 1px;
		height: 17x;
		content: "";
	}
}

@media all and (max-width:680px) {
	.footer .container .footer_top_wrap>ul:first-child>li>a {
		font-size: 16px;
	}

	.footer_content_wrap>p {
		font-size: 16px;
	}

	.footer .container .footer_top_wrap>ul:first-child>li:after {
		position: absolute;
		top: 5px;
		left: -13px;
		background: #CDCDCD;
		width: 1px;
		height: 16px;
		content: "";
	}

	/* 윗줄 전체를 세로로 쌓기 */
	.footer .container .footer_top_wrap {
        flex-direction: column;
        align-items: end;
        padding: 0 10px;
    }

	.footer .container .footer_top_wrap>ul:first-child {
		margin-top: 12px;
	}

	/* 두 번째 ul(SNS 아이콘)는 위에서 아래로 자연스럽게 떨어지게 */
	.footer .container .footer_top_wrap>ul:last-child {
		margin: 12px 0;
		/* 첫 번째 ul과 간격 */
	}

	.footer .container .footer_top_wrap>ul:last-child>li:nth-child(1) {
		margin-left: 0px;
	}
}

@media all and (max-width:320px) {
	.footer .container .footer_top_wrap>ul:first-child>li {
		margin-right: 19px;
	}

	.footer .container .footer_top_wrap>ul:first-child>li>a {
		font-size: 15px;
	}

	.footer_content_wrap>p {
		font-size: 15px;
	}

	.footer .container .footer_top_wrap>ul:first-child>li:after {
		position: absolute;
		top: 5px;
		left: -9px;
		background: #CDCDCD;
		width: 1px;
		height: 15px;
		content: "";
	}
}

/* top btn 영역 20251211 */
.top_btn_wrap {
	position: fixed;
	right: 40px;
	bottom: 40px;

	/* 처음엔 숨김 */
	opacity: 0;
	visibility: hidden;
	transition: opacity .3s ease, visibility .3s ease;

	z-index: 9999;
}

.top_btn_wrap>ul {}

.top_btn_wrap>ul>li {
	width: 70px;
	height: 70px;
	margin-bottom: 20px;
	border-radius: 50px;
}

.top_btn_wrap>ul>li:nth-child(1) {
	background: #134EA6;
	padding-top: 13px;
}

.top_btn_wrap>ul>li:nth-child(2) {
	background: #fff;
	margin-bottom: 0px;
	padding-top: 24px;
	box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
}

.top_btn_wrap>ul>li>a {}

.top_btn_wrap>ul>li>a>img {
	display: block;
	margin: 0 auto;
}

/* 보여줄 때 붙일 클래스 */
.top_btn_wrap.show {
	opacity: 1;
	visibility: visible;
}


/*───────────────────────────────────────────────────────────

	 HEADER | outline/header.html, outline/nav.html

───────────────────────────────────────────────────────────*/
/** PC 일반 **/
.skip_nav {
	position: relative;
	z-index: 9999;
}

.skip_nav a {
	display: block;
	height: 1px;
	width: 1px;
	margin-bottom: -1px;
	overflow: hidden;
	font-size: 12px;
	color: #fff;
	font-weight: bold;
	white-space: nowrap;
	text-align: center;
}

.skip_nav a:focus,
.skip_nav a:active {
	height: auto;
	width: 100%;
	padding: 0;
	margin-bottom: 0;
	position: absolute;
	left: 0;
	top: 0;
}

#header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 12;
	box-sizing: border-box;
	transition: all 0.5s;
}


#header .container {
	max-width: 1600px;
	/* 최대 1600px */
	width: 100%;
	/* 그 이하에서는 화면 너비에 맞춤 */
	margin: 0 auto;
	padding: 0 10px;
	/* 좌우 여백 조금 (선택사항) */
}

#header.move {
	transform: translateY(-100%);
}

#header .header_cont {
	width: 100%;
	box-sizing: border-box;
	padding: 0 72px 0 0px;
	height: 140px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	transition: all 0.5s;
}

#header .header_cont .hd_logo {
	width: 225px;
	position: relative;
	z-index: 3;
}

#header .header_cont .hd_logo a {
	display: block;
	width: 100%;
	height: 100%;
	/* background:url('/data/skin/respon_default/images/skin/hd_logo.svg')no-repeat left center;background-size:auto 100%; */
	font-size: 0;
	position: absolute;
	top: 0;
	left: 0;
}

#header .header_cont .hd_logo .logo {
	width: 100%;
	height: 100%;
}

#header .header_cont .hd_logo .logo.on {
	display: none;
}

#header .header_cont .hd_logo svg {
	width: 100%;
	height: 100%;
}

.header_serive_wrap {
	position: absolute;
	top: 50%;
	right: 313px;
	/* 1920 기준 */
	transform: translateY(-50%);
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 20px;
}

/* 1600px 이하에서는 조금 당기기 */
@media all and (max-width: 1600px) {
	.header_serive_wrap {
		right: 120px;
	}
}

/* 1400px 이하 */
@media all and (max-width: 1400px) {
	.header_serive_wrap {
		right: 120px;
	}
}

/* 1200px 이하 */
@media all and (max-width: 1200px) {
	.header_serive_wrap {
		right: 97px;
	}
}

@media all and (max-width: 360px) {
	.header_serive_wrap {
		right: 77px;
	}
}


.header_serive_wrap>li {
	position: relative;
	/* margin-right: 25px;  → gap을 쓰면 이건 필요 없음 */
}

.header_serive_wrap>li:nth-child(1)::after {
	position: absolute;
	content: "";
	width: 5px;
	height: 5px;
	border-radius: 20px;
	background: #fff;
	top: 8px;
	left: 49px;
	/* 이건 아이콘 위치 봐가면서 나중에 미세조정 */
}

.header_serive_wrap>li>a {
	color: #fff;
	font-size: 16px;
}



#header .header_cont .hd_lnb {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	display: flex;
	width: 100%;
	justify-content: center;
}

#header .header_cont .hd_lnb>li {
	position: relative;
	margin: 0 40px;
}

#header .header_cont .hd_lnb>li:before {
	width: 6px;
	height: 6px;
	content: "";
	box-sizing: border-box;
	border-radius: 100%;
	position: absolute;
	top: 38px;
	left: 50%;
	transform: translate(-50%);
	background: var(--point-color01);
	opacity: 0;
	transition: all 0.5s;
}

#header .header_cont .hd_lnb>li>a {
	font-size: 20px;
	color: var(--point-white);
	font-weight: 400;
	font-family: var(--font-type01);
	line-height: 140px;
}

#header .header_cont .hd_lnb>li .lnb_dep2 {
	border-radius: 10px;
	background: linear-gradient(147deg, #3DA2FF 4.81%, #0A6EED 58.59%, #1E37FC 88.52%);
	box-sizing: border-box;
	width: 150px;
	position: absolute;
	top: 70%;
	left: 50%;
	transform: translate(-50%);
	text-align: center;
	padding: 16px 0;
	display: none;
}

#header .header_cont .hd_lnb>li .lnb_dep2 li+li {
	margin-top: 20px;
}

#header .header_cont .hd_lnb>li .lnb_dep2 li a {
	font-size: 18px;
	color: var(--point-white);
	font-weight: 500;
}

#header .hd_right {
	position: relative;
	z-index: 3;
}

#header .hd_right a {
	display: block;
	width: 40px;
	height: 40px;
	position: relative;
}

#header .hd_right a:before,
#header .hd_right a:after {
	width: 0;
	height: 0;
	content: "";
	box-sizing: border-box;
	border-radius: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	transition: all 0.5s;
}

#header .hd_right a:before {
	background: rgba(255, 255, 255, 0.2);
}

#header .hd_right a:after {
	background: var(--point-white);
}

#header .hd_right a span {
	width: 6px;
	height: 6px;
	content: "";
	box-sizing: border-box;
	border-radius: 100%;
	background: var(--point-white);
	position: absolute;
	top: 50%;
	transition: all 0.5s;
}

#header .hd_right a span:nth-child(1) {
	left: 0;
	transform: translateY(-50%);
}

#header .hd_right a span:nth-child(2) {
	left: 50%;
	transform: translate(-50%, -50%);
}

#header .hd_right a span:nth-child(3) {
	right: 0;
	transform: translateY(-50%);
}

/*on*/
#header.on {
	background: var(--point-color02);
}

#header.on .header_cont {
	height: 56px;
}

#header .header_cont .hd_lnb>li.on:before {
	opacity: 1;
}

/* #header.on .header_cont .hd_logo .logo{display: none;}
	#header.on .header_cont .hd_logo .logo.on{display: block;}	
	#header.on .header_cont .hd_lnb > li > a{color:var(--black-color00);}
	#header.on .hd_right a:before{background:rgba(0,0,0,0.2);}
	#header.on .hd_right a:after{background:var(--black-color00);}
	#header.on .hd_right a span{background:var(--black-color00);} */


@media only screen and (min-width:1024px) {
	#header .header_cont .hd_lnb>li:hover:before {
		opacity: 1;
	}

	#header .hd_right a:hover {}

	#header .hd_right a:hover:before {
		width: 38px;
		height: 38px;
	}

	#header .hd_right a:hover:after {
		width: 14px;
		height: 14px;
	}

	#header .hd_right a:hover span:nth-child(1) {
		left: 50%;
		transform: translate(-50%, -50%);
	}

	#header .hd_right a:hover span:nth-child(3) {
		right: 50%;
		transform: translate(50%, -50%);
	}

	/*hover*/
	/* #header:hover{background:var(--point-white);box-shadow:0 5px 10px 0 rgba(0,0,0,0.15);}
		#header:hover .header_cont{height:120px;}
		#header:hover .header_cont .hd_logo .logo{display: none;}
		#header:hover .header_cont .hd_logo .logo.on{display: block;}
		#header:hover .header_cont .hd_lnb > li > a{color:var(--black-color00);}
		#header:hover .hd_right a:before{background:rgba(0,0,0,0.2);}
		#header:hover .hd_right a:after{background:var(--black-color00);}
		#header:hover .hd_right a span{background:var(--black-color00);} */
}

@media only screen and (max-width:1500px) {
	#header .header_cont {
		padding: 0 42px 0 30px;
	}

	#header .header_cont .hd_lnb>li {
		margin: 0 25px;
	}

	#header .header_cont .hd_lnb>li>a {
		font-size: 18px;
	}
}

@media only screen and (max-width:1200px) {
	#header .header_cont .hd_logo {
		width: 182px;
		height: 45px;
	}
}

@media only screen and (max-width:1024px) {
	#header .header_cont {
		height: 100px;
		padding: 0 30px 0 30px;
	}

	#header .header_cont .hd_lnb {
		display: none;
	}

	#header .hd_right a {
		width: 38px;
	}

	#header .hd_right a span:nth-child(1) {
		left: 0;
	}

	#header .hd_right a span:nth-child(3) {
		right: 0;
	}

	/*on*/
	#header.on .header_cont {
		height: 85px;
	}
}

@media only screen and (max-width:640px) {
	#header .header_cont {
		padding: 0 15px 0 15px;
		height: 80px;
	}

	#header .header_cont .hd_logo {
		width: 150px;
		height: 36px;
	}

	/*on*/
	#header.on .header_cont {
		height: 65px;
	}
}

@media only screen and (max-width:500px) {
	#header .hd_right a {
		width: 30px;
	}

	#header .hd_right a span {
		width: 5px;
		height: 5px;
	}
}


/*───────────────────────────────────────────────────────────

	 ASIDE | outline/header.html, outline/nav.html

───────────────────────────────────────────────────────────*/
#aside {
	bottom: 0;
	right: 0;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	box-sizing: border-box;
	position: fixed;
	z-index: 99;
	opacity: 0;
	transform: scale(0);
	transition: all 0.3s;
	transition-delay: 0s;
}

#aside.on {
	transform: scale(1);
	opacity: 1;
	transition-delay: 0.3s;
}

/* .aside_bg {
	width: 100%;
	height: 100vh;
	position: fixed;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	background: url('../img/all_cate_bg.png')no-repeat center;
	background-size: cover;
	clip-path: circle(0% at 100% 0%);
	z-index: 13;
	transition: all 0.8s;
} */
.aside_bg {
position: fixed;
  inset: 0;
  background: url('../img/all_cate_bg.png') no-repeat center / cover;
  clip-path: circle(0% at 100% 0%);
  z-index: 13;
  transition: all 0.8s;
  } 


.aside_bg.on {
	clip-path: circle(145vmax at 100% 0);
	transition: all 1s;
}

#aside .aside_box {
	width: 100%;
	height: 100%;
	margin: 0;
	overflow: hidden;
	position: relative;
	z-index: 1;
	box-sizing: border-box;
	display: block;
	font-size: 0;
	padding: 0 60px 0 80px;
}

#aside .aside_box .aside_container {
	width: 100%;
	height: 100%;
	position: relative;
	font-size: 0;
}

#aside .aside_hd {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	box-sizing: border-box;
	padding: 50px 60px 0 80px;
	z-index: 5;
}

#aside .aside_logo {
	height: 56px;
}

#aside .aside_logo a {
	display: block;
	width: 100%;
	height: 100%;
}

#aside .aside_logo embed {
	width: 100%;
	height: 100%;
}

#aside .aside_right {
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

#aside .btn_cate {
	display: inline-block;
	box-sizing: border-box;
	vertical-align: top;
	width: 40px;
	height: 40px;
	position: relative;
}

#aside .btn_cate a {
	display: block;
	width: 100%;
	height: 100%;
	position: relative;
}

#aside .btn_cate a span {
	display: inline-block;
	width: 100%;
	height: 2px;
	background: #fff;
	position: absolute;
	top: 50%;
	left: 0;
}

#aside .btn_cate a span:nth-child(1) {
	transform: rotate(-45deg);
}

#aside .btn_cate a span:nth-child(2) {
	transform: rotate(45deg);
}

#aside .aside_container {
	display: flex;
	flex-wrap: wrap;
}

#aside .aside_info {
	display: flex;
	flex-direction: column;
	align-self: flex-end;
	width: 27%;
	box-sizing: border-box;
	padding-bottom: 53px;
	padding-right: 30px;
	font-size: var(--title-20);
	color: var(--point-white);
	font-weight: 400;
}

#aside .aside_info strong {
	font-size: 108%;
	color: inherit;
	font-weight: inherit;
}

#aside .aside_info .info {
	margin-top: 39px;
}

#aside .aside_info dl {
	font-size: var(--title-20);
	color: var(--point-white);
	font-weight: 500;
}

#aside .aside_info dl+dl {
	margin-top: 22px;
}

#aside .aside_info dl dt {
	font-size: 89%;
	color: inherit;
	font-weight: inherit;
}

#aside .aside_info dl dd {
	font-size: 79%;
	color: rgba(255, 255, 255, 0.8);
	font-weight: 300;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin-top: 11px;
}

#aside .aside_info dl dd span {
	font-size: inherit;
	color: inherit;
	font-weight: inherit;
	font-family: var(--font-type01);
	display: inline-block;
	margin-bottom: 8px;
	letter-spacing: -0.03em;
}

#aside .aside_info dl dd .adr {
	width: 100%;
}

#aside .aside_info dl dd span:nth-child(3):before {
	width: 1px;
	height: 14px;
	content: "";
	background: rgba(204, 204, 204, 0.4);
	display: inline-block;
	margin: 0 16px;
}

#aside .slide_container {
	width: 73%;
	height: 100%;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	overflow-y: auto;
	padding: 106px 110px 0 140px;
	border-left: 1px solid rgba(217, 217, 217, 0.3);
}

#aside .slide_container::-webkit-scrollbar {
	background: var(--point-color02);
	width: 4px;
}

#aside .slide_container::-webkit-scrollbar-thumb {
	width: 4px;
	border-radius: 2px;
	background: var(--point-white);
	box-sizing: border-box;
}

#aside .slide_container>ul {}

#aside .slide_container>ul>li {
	display: flex;
	box-sizing: border-box;
	align-items: center;
	flex-wrap: wrap;
}

#aside .slide_container>ul>li+li {
	padding-top: 80px;
}

#aside .slide_container>ul>li>a {
	width: 162px;
	font-size: var(--title-30);
	color: var(--point-white);
	font-weight: 600;
	opacity: 0.7;
	font-family: var(--font-type01);
}

#aside .slide_container>ul>li .dep2 {
	width: calc(100% - 162px);
	box-sizing: border-box;
	padding-left: 79px;
	display: flex;
	flex-wrap: wrap;
	gap: 30px 60px;
}

#aside .slide_container>ul>li .dep2>li {
	font-size: var(--title-20);
	color: var(--point-white);
	font-weight: 300;
}

#aside .slide_container>ul>li .dep2>li>a {
	font-size: 120%;
	color: inherit;
	font-weight: inherit;
	font-family: var(--font-type01);
	opacity: 0.8;
	position: relative;
}

#aside .slide_container>ul>li .dep2>li>a:before {
	width: 0;
	height: 1px;
	content: "";
	background: var(--point-white);
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translate(-50%);
	transition: width 0.5s;
}

@media only screen and (min-width:1024px) {
	#aside .slide_container>ul>li:hover>a {
		opacity: 1;
	}

	#aside .slide_container>ul>li .dep2>li:hover>a {
		opacity: 1;
		font-weight: 500;
	}

	#aside .slide_container>ul>li .dep2>li:hover>a:before {
		width: 100%;
	}
}

@media only screen and (max-width:1600px) {
	#aside .aside_box {
		padding: 0 30px 0 30px;
	}

	#aside .aside_hd {
		padding: 50px 30px 0 30px;
	}

	#aside .aside_info dl dd span {
		width: 100%;
	}

	#aside .aside_info dl dd span:nth-child(3):before {
		display: none;
	}

	#aside .slide_container {
		padding: 106px 50px 0 70px;
	}
}

@media only screen and (max-width:1300px) {
	.aside_bg.on {
		clip-path: circle(180vmax at 100% 0);
	}
}

@media only screen and (max-width:1024px) {
	#aside .aside_hd {
		padding: 30px 30px 0 30px;
	}

	#aside .aside_logo {
		height: 44px;
	}

	#aside .btn_cate {
		width: 36px;
		height: 36px;
	}

	#aside .slide_container {
		padding: 70px 30px 0 30px;
	}

	#aside .slide_container>ul>li+li {
		padding-top: 45px;
	}

	#aside .slide_container>ul>li>a {
		width: 140px;
	}

	#aside .slide_container>ul>li .dep2 {
		width: calc(100% - 140px);
		padding-left: 25px;
		gap: 15px 40px;
	}
}

@media only screen and (max-width:640px) {
	#aside .aside_box {
		padding: 30px 15px;
	}

	#aside .aside_hd {
		position: relative;
		padding: 0;
	}

	#aside .aside_info {
		display: none;
	}

	#aside .slide_container {
		max-height: calc(100% - 74px);
		padding: 40px 0 0 0;
		width: 100%;
		border: none;
		display: block;
	}

	#aside .slide_container>ul>li {
		position: relative;
		padding: 20px 0 !important;
	}

	#aside .slide_container>ul>li+li {
		padding: 0;
	}

	#aside .slide_container>ul>li>a {
		width: 100%;
		opacity: 1;
	}

	#aside .slide_container>ul>li .icons {
		width: 40px;
		height: 40px;
		position: absolute;
		top: 20px;
		right: 0;
		cursor: pointer;
	}

	#aside .slide_container>ul>li .icons:before {
		width: 16px;
		height: 16px;
		content: "";
		border: 2px solid var(--point-white);
		border-width: 2px 2px 0 0;
		transform: rotate(135deg);
		position: absolute;
		right: 4px;
		top: 5px;
	}

	#aside .slide_container>ul>li.on .icons:before {
		transform: rotate(-45deg);
		top: 15px;
	}

	#aside .slide_container>ul>li .dep2 {
		width: 100%;
		padding: 20px 0 0 0;
		gap: 8px 20px;
		display: none;
	}

	#aside .slide_container>ul>li .dep2>li+li {
		margin-top: 15px;
	}
}

@media only screen and (max-width:479px) {
	.aside_bg.on {
		clip-path: circle(200vmax at 100% 0);
	}

	#aside .aside_logo {
		height: 30px;
		width: 121px;
	}

	#aside .btn_cate {
		width: 26px;
		height: 26px;
	}

	#aside .aside_box {
		overflow-y: auto;
	}

	#aside .aside_box .aside_container {
		margin-top: 50px;
	}

	#aside .slide_container {
		overflow-y: initial;
	}

	#aside .slide_container>ul>li {
		padding: 15px 0 !important;
	}

	#aside .slide_container>ul>li .icons {
		width: 36px;
		height: 36px;
	}

	#aside .slide_container {
		padding: 0;
	}
}

@media only screen and (max-width:330px) {}


/* visual */
.visual_wrapper {
	position: relative;
	overflow: hidden;
}

 .main_visual {
	position: relative;
	width: 100%;
	margin: 0;
	height: 100vh;
	background: #000;
	overflow: hidden;
}

 .main_visual .slick-slide {
	overflow: hidden;
	position: relative;
	text-align: center;
	height: 100vh;
	border: none;
}

 .main_visual .thumb {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	transition: all 3s;
}

.btn_box {}
.btn_box > a {color:#fff; }
.btn_box > a > span {float:left;}
.btn_box > a > .arrow_wrap {width:40px; height:40px; border-radius:50px; border:1px solid #fff; float:left; margin-left:21px;}
.btn_box > a > .arrow_wrap > img {display:block; margin:4px auto 0;}





.main_visual .active .txt_box h3 > span {background: linear-gradient(90deg, #CAE7FF 0%, #46ABFF 45%, #105894 100%);
  -webkit-background-clip: text;  /* 글자 안에만 배경 보이게 */
  background-clip: text;
  -webkit-text-fill-color: transparent; /* 글자 자체 색은 투명으로 */}

.btn_box > a::after {
  content: ""; /* 가상요소의 내용 (필수) */
  display: block; /* 블록 요소로 만들어 아래로 내려가게 함 */
  clear: both; /* 왼쪽/오른쪽 float 모두 해제 */
}

.main_visual .txt_box {
	position: absolute;
	left: 31%;
	top: 30%;
	font-size: 24px;
	text-align: left;
	transform: translate(-50%);
}

.main_visual .txt_box p,
.main_visual .txt_box h3,
.main_visual .txt_box .btn_box {
	opacity: 0;
	transform: translateY(100px);
	transition: all 0.5s;
}

.main_visual .txt_box p {
	font-size: 33px;
	color: var(--point-white);
	font-weight: 400;
	font-family: var(--font-type01);
	letter-spacing: -0.05em;
}

.main_visual .txt_box h3 {
	font-size: var(--title-68);
	color: var(--point-white);
	font-weight: 700;
	letter-spacing: -0.04em;
	line-height: 1.3;
	margin-bottom: 35px;
}

.main_visual .txt_box .btn_box {
	margin-top: 82px;
}

/*active*/
 .main_visual .active .thumb {
	transform: scale(1.08);
}

.main_visual .active .txt_box p,
.main_visual .active .txt_box h3,
.main_visual .active .txt_box .btn_box {
	opacity: 1;
	transform: translateY(0);
	transition: all 0.5s;
}

.main_visual .active .txt_box h3 {
	transition-delay: 0.3s;
}

.main_visual .active .txt_box .btn_box {
	transition-delay: 0.6s;
}

/*btn*/
.visual_btn_wrap {
	position: absolute;
	left: 11%;
	transform: translate(-50%);
	bottom: 76px;
}

.visual_btn_wrap .control_box {
	display: flex;
	align-items: center;
}

.visual_btn_wrap .visual_dots .slick-dots {
	display: flex;
	align-items: center;
	margin-right: 22px;
}

.visual_btn_wrap .visual_dots .slick-dots li {
	margin: 0 15px;
	position: relative;
}

.visual_btn_wrap .visual_dots .slick-dots li button {
	font-size: 0;
	width: 10px;
	height: 10px;
	box-sizing: border-box;
	border-radius: 100%;
	background: #ddd;
	position: relative;
	border: none;
}

.visual_btn_wrap .visual_dots .slick-dots li button:before {
	width: 0;
	height: 0;
	content: "";
	box-sizing: border-box;
	border-radius: 100%;
	background: rgba(0, 117, 255, 0.2);
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	transition: all 0.5s;
}

.visual_btn_wrap .visual_dots .slick-dots li.slick-active button {
	background: var(--point-color01);
}

.visual_btn_wrap .visual_dots .slick-dots li.slick-active button:before {
	width: 22px;
	height: 22px;
}

.visual_btn_wrap .slick-arrow {
	font-size: 0;
	width: 10px;
	height: 14px;
	position: relative;
}

.visual_btn_wrap .next {
	margin-left: 25px;
}

.visual_btn_wrap .slick-arrow:before {
	width: 8px;
	height: 8px;
	content: "";
	border: 2px solid var(--point-white);
	border-width: 2px 2px 0 0;
	position: absolute;
	top: 2px;
}

.visual_btn_wrap .prev:before {
	transform: rotate(-135deg);
	left: 3px;
}

.visual_btn_wrap .next:before {
	transform: rotate(45deg);
	right: 3px;
}

.visual_btn_wrap .play_btn_box {
	margin-left: 30px;
}

.visual_btn_wrap .slickPause {
	font-size: 0;
	width: 10px;
	height: 14px;
	position: relative;
	cursor: pointer;
}

.visual_btn_wrap .slickPause:before,
.visual_btn_wrap .slickPause:after {
	width: 2px;
	height: 100%;
	content: "";
	background: var(--point-white);
	position: absolute;
	top: 0;
}

.visual_btn_wrap .slickPause:before {
	left: 0;
}

.visual_btn_wrap .slickPause:after {
	right: 0;
}

.visual_btn_wrap .slickPlay {
	font-size: 0;
	width: 10px;
	height: 14px;
	position: relative;
	cursor: pointer;
}

.visual_btn_wrap .slickPlay:before {
	border-left: 8px solid var(--point-white);
	border-top: 8px solid transparent;
	border-bottom: 8px solid transparent;
	border-right: none;
	content: "";
	position: absolute;
	top: -1px;
}

.scroll_down {
	position: absolute;
	bottom: 39px;
	left: 50%;
	transform: translate(-50%);
	text-align: center;
	font-size: 17px;
	color: rgba(255, 255, 255, 0.8);
	font-weight: 300;
	cursor: pointer;
}

.scroll_down span {
	display: block;
	margin: 0 auto;
	width: 24px;
	height: 40px;
	border-radius: 20px;
	border: 1px solid var(--point-white);
	margin-top: 10px;
	box-sizing: border-box;
	position: relative;
}

.scroll_down span:before {
	transition: all 0.3s;
	animation: scroll_down 1s ease-in Infinite alternate;
	content: '';
	position: absolute;
	top: 7px;
	left: 50%;
	width: 6px;
	height: 6px;
	border-radius: 3px;
	background: #fff;
	margin-left: -3px;
}

@-webkit-keyframes scroll_down {
	0% {
		top: 7px;
	}

	100% {
		top: calc(100% - 10px);
	}
}


@media all and (max-width:999px) {
	/* 메인 타이틀, 본문 글자 크기 조정 */
	.main_visual .txt_box h3 {
		font-size: var(--title-40);
		line-height: 1.4;
	}

	.main_visual .txt_box p {
		font-size: 17px;
	}

	.main_visual .txt_box .btn_box {
		margin-top: 40px;
	}

	.btn_box > a > span {
		font-size: 18px;
	}

	/* ✅ 위치 고정 – 퍼센트 + translate 대신 px + none */
	.main_visual .txt_box {
		position: absolute;
		left: 20px;      /* 왼쪽 여백 */
		right: 20px;     /* 오른쪽 여백도 주면 글씨가 화면을 잘 채움 */
		top: 28%;        /* 상황 봐서 25~32% 정도로 조절 가능 */
		transform: none; /* ← 이게 중요! 더 이상 -50%로 끌어당기지 않게 */
	}

	/* 슬라이드 도트/버튼 영역도 왼쪽 정렬 느낌으로 */
	.visual_btn_wrap {
		left: 20px;
		transform: none;
		bottom: 40px;
	}
}


/* ===============================
   ABOUT 섹션 레이아웃
   - 좌: 텍스트(.about_cont01_left) → container 안 정렬
   - 우: 이미지(.about_cont01_right) → 화면 오른쪽 끝까지 확장
=============================== */

.about_wrap {
  position: relative;
  padding: 80px 0;           /* 위아래 여백은 필요에 따라 조절 */
  
}

.about_wrap .container {
  max-width: 1600px;
  width: 100%;
  margin: 0 auto;
  padding: 0 10px;
}

/* 좌우 나란히 배치 */
.about_cont01_wrap {
  display: flex;
  align-items: center;
  position: relative;
}

/* 왼쪽 텍스트 영역 */
.about_cont01_left {
  flex: 0 0 50%;
  max-width: 50%;
  padding-right:80px;
}

.about_cont01_left span {
  display: inline-block;
  margin-bottom: 28px;
  font-size: 18px;
  font-weight: 400;
}

.about_cont01_left h1 {
  font-size: 65px;          /* 필요하면 var(--title-40) 같은 변수로 변경 */
  margin-bottom: 28px;
  font-weight:600;
  color:#223594;
  letter-spacing:-1px;
}

.about_cont01_left p {
  font-size: 24px;
  color: #555;
   letter-spacing:-1px;
}

/* 오른쪽 이미지 영역 (컨테이너 밖으로 확장) */
.about_cont01_right {
  flex: 1 0 50%;
  /* 👉 container의 오른쪽을 화면 오른쪽 끝까지 밀어내는 핵심 */
  margin-right: calc(-50vw + 50%);
}

.about_cont01_right img {
  display: block;
  width: 100%;
  height: auto;
}

/* ===============================
   반응형 (모바일 / 태블릿 이하)
=============================== */
@media all and (max-width: 999px) {
  .about_cont01_wrap {
    flex-direction: column;
	align-items: flex-start;
  }
  .about_cont01_right img {border-radius:10px;}

  .about_cont01_left,
  .about_cont01_right {
    flex: 0 0 100%;
    max-width: 100%;
    margin-right: 0;       /* 확장 효과 해제 */
  }

  .about_cont01_right {
    margin-top: 30px;
  }

  .about_cont01_left h1 {
    font-size: 28px;
  }

  .about_cont01_left p {
    font-size: 16px;
  }
}

@media all and (max-width: 640px) {
  .about_wrap {
    padding: 60px 0;
  }

  .about_cont01_left h1 {
    font-size: 24px;
  }

  .about_cont01_left p {
    font-size: 15px;
  }
}


/*business*/
		.main_business{display: flex;flex-wrap:wrap;align-items: center;box-sizing:border-box;padding:114px 0 128px 0;position: relative;overflow:hidden;}
		.main_business:before{content:"BUSINESS";font-size:160px;color:rgba(255,255,255,0.1);font-weight:700;position: absolute;bottom:0;left:160px;z-index:5;line-height:1;}
		.main_business .tab_box{width:400px;height:370px;}
		.main_business .tab_box ul{flex-wrap:wrap;}
		.main_business .tab_box ul li{height:110px;display: flex;align-items: center;padding-left:160px;cursor:pointer;position: relative;box-sizing:border-box;width:100%;overflow:hidden;}
		.main_business .tab_box ul li:before{width:0;height:100%;content:"";box-sizing:border-box;border-radius:0 55px 55px 0;background: linear-gradient(90deg, #3DA2FF 0%, #0064EA 100%);transition:width 0.5s;position: absolute;top:0;left:0;}
		.main_business .tab_box ul li:after{width:12px;height:12px;content:"";border:2px solid var(--point-white);border-width:2px 2px 0 0;transform:translateY(-50%) rotate(45deg);position: absolute;top:50%;right:80px;opacity:0;transition:all 0.5s;}
		.main_business .tab_box ul li + li{margin-top:20px;}
		.main_business .tab_box ul li span{font-size:36px;color:#aaa;font-weight:700;position: relative;}
		.main_business .tab_box ul li.swiper-slide-thumb-active:before{width:100%;}
		.main_business .tab_box ul li.swiper-slide-thumb-active:after{opacity:1;right:50px;}
		.main_business .tab_box ul li.swiper-slide-thumb-active span{color:var(--point-white);}

		.main_business .business_container{width:calc(100% - 400px - 260px);box-sizing:border-box;margin-left:100px;margin-right:160px;overflow:visible;}
		.main_business .business_container .business_slide{transition:opacity 0.5s;display: flex;justify-content: space-between;align-items: center;z-index:2;width:100% !important;}
		.main_business .business_container .business_slide .txt{box-sizing:border-box;max-width:calc(100% - 720px);padding-right:20px;}
		.main_business .business_container .business_slide .txt span{display: block;font-size:28px;color:var(--point-white);font-weight:400;letter-spacing:-0.05em;}
		.main_business .business_container .business_slide .txt strong{display: block;font-size:70px;font-weight:700;color:#000;margin-top:26px;}
		.main_business .business_container .business_slide .txt p{font-size:22px;color:#736E6E;font-weight:300;margin-top: 38px;line-height: 1.7;letter-spacing: -0.03em;}

		.main_business .business_container .business_slide .thumb{width:720px;height:0;padding-bottom:716px;box-sizing:border-box;position: relative;border-radius:100%;}
		.main_business .business_container .business_slide .thumb:before{width:100%;height:calc(100% + 4px);content:"";box-sizing:border-box;background: url('/img/main_business_cir.svg')no-repeat center;background-size:cover;position: absolute;top:-2px;left:0;}
		.main_business .business_container .business_slide .thumb .img{width:480px;height:480px;box-sizing:border-box;border-radius:100%;position: absolute;top:50%;left:50%;transform:translate(-50%, -50%);overflow:hidden;}
		.main_business .business_container .business_slide .thumb .img img{width:100%;position: absolute;top:50%;left:50%;transform:translate(-50%, -50%);}
		.main_business .business_container .business_slide .thumb p{font-size:20px;color:var(--point-color01);font-weight:500;position: absolute;top:9%;right:85%;opacity:0;transition:all 0.5s;}
		.main_business .business_container .business_slide .circle_box{width:100%;height:100%;position: absolute;top:0;left:0;transition:all 1s;transition-delay:0.2s}
		.main_business .business_container .business_slide .circle_box span{display: block;width:12px;height:12px;border-radius:100%;background:var(--point-color01);position: absolute;}
		.main_business .business_container .business_slide .circle_box span:before{width:calc(100% + 12px);height:calc(100% + 12px);content:"";border-radius:100%;box-sizing:border-box;background:rgba(0, 117, 255, 0.20);position: absolute;top:50%;left:50%;transform:translate(-50%, -50%);}
		.main_business .business_container .business_slide .circle_box span:nth-child(1){top:13%;left:14%;}
		.main_business .business_container .business_slide .circle_box span:nth-child(2){top:38%;right:0;}
		.main_business .business_container .business_slide .circle_box span:nth-child(3){bottom:1.5%;left:34%;}

		.main_business .business_container .business_slide.swiper-slide-active{z-index:3;}
		.main_business .business_container .business_slide.swiper-slide-active .thumb p{right:88%;opacity:1;}
		.main_business .business_container .business_slide.swiper-slide-active .circle_box{transform:rotate(116deg);}
		.main_business .business_container .business_slide.reverse .circle_box{transform:rotate(-123deg);}

	@media only screen and (min-width:1024px)	{
		.btn_more:hover{border-color:var(--point-color01);}
		.btn_more:hover:before, .btn_more:hover:after{width:100%;}
		.btn_more:hover:after{transition-delay:0.1s;}
		.btn_more:hover em{background:var(--point-white);}
		.btn_more:hover em:before{top:-10%;left:100%;}
		.btn_more:hover em:after{top:50%;left:50%;}

		.main_business .tab_box ul li:hover:before{width:100%;}
		.main_business .tab_box ul li:hover:after{opacity:1;right:50px;}
		.main_business .tab_box ul li:hover span{color:var(--point-white);}

		.main_news .board_li .ov_box:hover:before{width:calc(100% + 16px);height:calc(100% + 16px);}
		.main_news .board_li .ov_box:hover em:before{top:-4%;left:120%;opacity:0;}
		.main_news .board_li .ov_box:hover em:after{top:50%;left:50%;opacity:1;}
	}	
	
	@media only screen and (max-width:1850px)	{
		/*business*/
		.main_business .business_container{margin-right:80px;margin-left:60px;width:calc(100% - 400px - 140px);}
		.main_business .business_container .business_slide .txt{max-width:calc(100% - 600px);}
		.main_business .business_container .business_slide .txt p br{display: none;}
		.main_business .business_container .business_slide .thumb{width:600px;padding-bottom:600px;}
	}
	@media only screen and (max-width:1650px)	{
		/*solution*/
			.main_solution .solution_wrap .des{padding:0 20px;}
			.main_solution .solution_wrap .des .txt_box{width:47%;}
			.main_solution .solution_wrap .des .txt_box .list li br,
			.main_solution .solution_wrap .des .txt_box > p br{display: none;}

			.main_solution .solution_wrap .des > .img{width:53%;}

		/*news*/
			.main_news .news_container{margin:0;}
			.main_news .board_li{margin:0;}
	}
	@media only screen and (max-width:1500px)	{
		/*business*/		
			.main_business:before{font-size:120px;left:45px;}
			.main_business .tab_box{width:300px;margin:0;}
			.main_business .tab_box ul li{padding-left:45px;}
			.main_business .business_container{margin-right:30px;margin-left:40px;width:calc(100% - 300px - 70px);}
			.main_business .business_container .business_slide .txt span{font-size:22px;}
			.main_business .business_container .business_slide .txt strong{font-size:60px;}
			.main_business .business_container .business_slide .txt p{font-size:18px;}

			.main_business .business_container .business_slide .thumb{width:550px;padding-bottom:550px;}

		/*news*/
			.main_news .board_li{padding:40px 20px 40px;}

			.main_news .board_li.swiper-slide-active{padding:40px 40px;}
	}
	@media only screen and (max-width:1300px)	{
		/*visual*/
			.main_visual .txt_box{top:22%;}
			.main_visual .txt_box p{font-size:24px;}

		/*solution*/
			.main_solution .solution_wrap .solution_cont{padding:0 30px 70px 30px;}
			.main_solution .solution_wrap .des .txt_box .sub_tit p{font-size:20px;}
			.main_solution .solution_wrap .des .txt_box .logo{margin:20px 0 50px;}
			.main_solution .solution_wrap .des .txt_box .logo .img{max-height:70px;}
			.main_solution .solution_wrap .des .txt_box .list li,
			.main_solution .solution_wrap .des .txt_box > p{font-size:18px;}

		/*news*/
			.main_news .news_container{overflow:visible;}
	}
	@media only screen and (max-width:1200px)	{
		/*business*/		
			.main_business{padding:80px 0 100px 0;align-items: flex-start;}
			.main_business .business_container .business_slide{flex-wrap:wrap;}
			.main_business .business_container .business_slide .txt{max-width:100%;padding:0 0 30px;}
			.main_business .business_container .business_slide .thumb{width:80%;padding-bottom:calc(80% - 4px);margin:0 auto;}
			.main_business .business_container .business_slide .thumb .img{width:80%;height:0;padding-bottom:80%;}

		/*partner*/
			.main_partner .txt p{font-size:90px;}

		/*cs*/
			.main_cs .tit span{font-size:22px;}
			.main_cs .tit h3 br{display: none;}
			.main_cs .tit p{font-size:20px}

			.main_cs .write_box .line2 dl{width:100%;}
			.main_cs .write_box .line2 dl + dl{margin:20px 0 0 0;}

			.main_cs .write_box .captcha_wrap{display: block;}
			.main_cs .write_box input[name="captcha"]{width:100%;margin-top:10px;}

			.main_cs .write_box .btn_wrap{flex-direction: column;align-items: flex-start;}
			.main_cs .write_box .btn_wrap .btn_box{width:100%;margin-top:15px;}
			.main_cs .write_box .btn_wrap .btn_more{min-width:100%;}
	}
	@media only screen and (max-width:1024px)	{
		.btn_more{min-width: 160px;height: 60px;padding: 0 15px 0 20px;}
		.btn_more span{font-size:18px;}
		.btn_more em{width:26px;height:26px;margin-left:10px;background:var(--point-color01) url('../images/skin/main_arw_more_wh.svg')no-repeat center;background-size:auto 10px;}
		.btn_more em:before, .btn_more em:after{display: none;}		

		/*visual*/
			
			.scroll_down{bottom:20px;}

		/*about*/
			.main_about{padding:120px 0 120px;}
			.main_about .txt_box > p{font-size:28px;}
			.main_about .txt_box strong{font-size:60px;}
			.main_about .txt_box .logo{width:200px;height:120px;}

			.main_about.aos-animate .txt_box .plus_box{width:120px;margin:0 10px;}

		/*solution*/
			.main_solution .solution_wrap .solution_cont .title:before{font-size:18px;}
			.main_solution .solution_wrap .des{margin-top:30px;padding:0;}
			.main_solution .solution_wrap .des .txt_box .sub_tit p{font-size:18px;}
			.main_solution .solution_wrap .des .txt_box .logo{margin:15px 0 40px;}
			.main_solution .solution_wrap .des .txt_box .logo .img{max-height:56px;}
			.main_solution .solution_wrap .des .txt_box .logo .logo_img{height:56px;}
			.main_solution .solution_wrap .des .txt_box .logo .txt_img{height:28px;}

			.main_solution .solution_wrap .des .txt_box .list li{width:100%;margin-bottom:8px;}			
			.main_solution .solution_wrap .des .txt_box .list li:before{top:13px;}
			.main_solution .solution_wrap .des .txt_box .list li, .main_solution .solution_wrap .des .txt_box > p{font-size:16px;}

		/*news*/
			.main_news .news_container{padding:50px 0 60px;}
			.main_news .board_li .ov_box{right:30px;bottom:30px;width:50px;height:50px;background:var(--point-color01) url('../images/skin/arw_more_wh.svg')no-repeat center;background-size:auto 40%;}
			.main_news .board_li .ov_box em:before, .main_news .board_li .ov_box em:after{display: none;}
			.main_news .board_li .title{font-size:24px;}		
			.main_news .board_li .cont{font-size:20px;}
			.main_news .board_li .date{font-size:18px;}

			.main_news .board_li.swiper-slide-active{min-height:295px;padding:30px 30px;}
			.main_news .board_li.swiper-slide-active .title{font-size:21px;}
			.main_news .board_li.swiper-slide-active .date{font-size:17px;}

	}
	@media only screen and (max-width:860px)	{
		.main_content{overflow:hidden;}
		/*visual*/
			.main_visual .txt_box p{font-size:18px;}
			.visual_btn_wrap{bottom:120px;}

		/*about*/
			.main_business{padding:40px 0 80px;}
			.main_business:before{display: none;}
			.main_business .tab_box{width:100%;height:auto;}
			.main_business .tab_box ul{flex-wrap:initial;justify-content: center;}
			.main_business .tab_box ul li{height:60px;width:auto;border-radius:30px;justify-content: center;padding:0 22px;}
			.main_business .tab_box ul li:before{border-radius:30px;}
			.main_business .tab_box ul li:after{display: none;}
			.main_business .tab_box ul li + li{margin:0 0 0 20px;}
			.main_business .tab_box ul li span{font-size:28px;}

			.main_business .business_container{width:calc(100% - 60px);margin:40px auto 0 auto;}

		/*solution*/
			.main_title p{font-size:20px;margin-top:10px;}

			.main_solution{margin-top:70px;padding-bottom:50px;}
			.main_solution .solution_wrap .solution_cont{position: relative;top:0 !important;}
			.main_solution .solution_wrap .solution_cont + .solution_cont{margin-top:30px;}
			.main_solution .solution_wrap .solution_cont .title{padding-bottom:0;}
			.main_solution .solution_wrap .solution_cont .title .logo .img{height:28px;}
			.main_solution .solution_wrap{padding-top:40px;}
			.main_solution .solution_wrap .des{flex-direction: column-reverse;}
			.main_solution .solution_wrap .des .txt_box{width:100%;padding:40px 0 0 0;}
			.main_solution .solution_wrap .des > .img{width:100%;padding-bottom:61%;}

		/*partner*/
			.main_partner .txt p{font-size:70px;margin-left:25px;}

		/*cs*/
			.main_cs .tit{width:100%;padding:0 0 40px 0;}
			.main_cs .write_box{width:100%;}

	}
	@media only screen and (max-width:767px)	{
		/*about*/
			.main_about{padding:100px 0 100px;}
			.main_about .txt_box > p{font-size:20px;}
			.main_about .txt_box .tit{margin-top:20px;}
			.main_about .txt_box strong{font-size:48px;}
			.main_about .txt_box .plus_box{height:44px;}
			.main_about .txt_box .plus_box:before{width:28px;height:5px;}
			.main_about .txt_box .plus_box:after{width:5px;height:28px;}

			.main_about.aos-animate .txt_box .plus_box{width:90px;}
			.main_about .txt_box .logo{margin-top:30px;}
			.main_about .btn_box{margin-top:50px;}
			.main_about .btn_more{min-width:170px;}
	}
	@media only screen and (max-width:640px)	{
		.btn_more{min-width: 144px;height: 50px;}
		.btn_more span{font-size:16px;}
		/*visual*/

		/*about*/
			.main_business .tab_box ul li{height:50px;}
			.main_business .tab_box ul li + li{margin-left:15px;}
			.main_business .tab_box ul li span{font-size:22px;}

			.main_business .business_container .business_slide .txt span{font-size:20px;}
			.main_business .business_container .business_slide .txt strong{font-size:50px;margin-top:18px;}
			.main_business .business_container .business_slide .txt p{font-size:16px;margin-top:16px;}

			.main_business .business_container .business_slide .thumb p{font-size:16px;}

		/*business*/
			.main_business .business_container{width:calc(100% - 30px);}

		/*news*/
			.main_news .news_container{padding:40px 0 40px;}
			.main_news .board_li .date{margin-top:70px;}
			.main_news .controller .swiper-pagination{margin:0 20px;}
			.main_news .controller .swiper-pagination span{font-size:20px;}

			.main_news .board_li.swiper-slide-active{min-height:initial;transform:scale(1);}

		/*partner*/
			.main_partner{background-size:150% auto;}
			.main_partner .txt p{font-size:50px;}
			.main_partner .partner_arrow span{width:32px;height:14px;}

		/*cs*/
			.main_cs{padding:30px 0 100px;}
			.main_cs .tit span{font-size:20px;}
			.main_cs .tit h3{margin:15px 0 20px;}
			.main_cs .tit p{font-size:18px;}

			.main_cs .write_box .table_line{padding:8px 0;}
			.main_cs .write_box dl{padding:8px 10px;}
			.main_cs .write_box .line2 dl + dl{margin-top:16px;}
			.main_cs .write_box dl dt{font-size:16px;line-height:40px;width:106px;;}
			.main_cs .write_box dl dd{width:calc(100% - 106px);}

			.main_cs .write_box textarea{font-size:14px;}

			.main_cs .write_box .captcha_wrap{padding:0 8px;height:40px;}
			.main_cs .write_box .captcha_wrap .btn_reset{width:40px !important;height:40px !important;}

			.main_cs .write_box .btn_agree label{font-size:15px;}
			.main_cs .write_box .btn_agree label:before{margin-right:10px;}
	}
	@media only screen and (max-width:550px)	{
		/*about*/
			.main_about .txt_box .tit{flex-direction: column;justify-content: center;}

			.main_about .txt_box .plus_box{width:90px;height:0;transition:height 1s;transition-delay:2.5s;}
			.main_about.aos-animate .txt_box .plus_box{height:44px;margin:10px 0;}

	}
	@media only screen and (max-width:500px)	{
		.btn_more{height:44px;min-width:134px;padding:0 10px 0 15px;}
		.btn_more span{font-size:14px;}
		.btn_more em{width: 20px;height: 20px;margin-left: 8px;background-size: auto 8px;}
		/*visual*/
			/* #wrap .main_visual, #wrap .main_visual .slick-slide{height:80vh;} */
			.main_visual .txt_box{top:25%;}
			.main_visual .txt_box p{font-size:16px;}
			.main_visual .txt_box h3 br{display: none;}
			.main_visual .txt_box .btn_box{margin-top:45px;}
			

			.scroll_down{font-size:14px;}
			.scroll_down span{width:20px;height:30px;}
			.scroll_down span:before{width:4px;height:4px;margin-left:-2px;}

		/*about*/
			.main_about{padding:70px 0 70px;}
			.main_about .txt_box > p{font-size:16px;box-sizing:border-box;padding:0 5px;}
			.main_about .txt_box strong{font-size:32px;}
			.main_about .txt_box .plus_box:before{width:20px;height:3px;}
			.main_about .txt_box .plus_box:after{width:3px;height:20px;}
			.main_about .txt_box .logo{width:130px;height:80px;}
			.main_about .btn_box{margin-top:25px;}
			.main_about .btn_more{min-width:120px;}

			.main_about .txt_box .plus_box{width:70px;}
			.main_about.aos-animate .txt_box .plus_box{width:70px;}

		/*business*/
			.main_business .tab_box ul li{height:46px;padding:0 15px;}
			.main_business .tab_box ul li + li{margin-left:10px;;}
			.main_business .tab_box ul li span{font-size:18px;}

			.main_business .business_container .business_slide .txt span{font-size:16px;}
			.main_business .business_container .business_slide .txt strong{font-size:30px;margin-top:12px;}
			.main_business .business_container .business_slide .txt p{font-size:14px;margin-top:10px;}

			.main_business .business_container .business_slide .thumb{width:100%;padding-bottom:calc(100% - 4px);}
			.main_business .business_container .business_slide .thumb p{font-size:14px;right:90%;}
			.main_business .business_container .business_slide .circle_box span{width:8px;height:8px;}
			.main_business .business_container .business_slide .circle_box span:before{width:calc(100% + 6px);height:calc(100% + 6px);}
			.main_business .business_container .business_slide .circle_box span:nth-child(3){bottom:1%;left:33%;}

		/*solution*/
			.main_title p{font-size:16px;margin-top:5px;}

			.main_solution{margin-top:20px;}
			.main_solution .solution_wrap{padding-top:30px;}
			.main_solution .solution_wrap .solution_cont{border-radius:20px;padding:20px 20px 45px 20px;}
			.main_solution .solution_wrap .solution_cont .title{padding-top:0;}
			.main_solution .solution_wrap .solution_cont .title .logo .img{height:25px;}
			.main_solution .solution_wrap .des{margin-top:20px;}
			.main_solution .solution_wrap .des .txt_box{padding:20px 0 0 0;}
			.main_solution .solution_wrap .des .txt_box .sub_tit p{font-size:16px;}
			.main_solution .solution_wrap .des .txt_box .logo{margin:10px 0 30px;}
			.main_solution .solution_wrap .des .txt_box .logo .img{max-height:40px;}
			.main_solution .solution_wrap .des .txt_box .logo .logo_img{height:40px;}
			.main_solution .solution_wrap .des .txt_box .logo .txt_img{height:20px;margin-left:5px;}
			.main_solution .solution_wrap .des .txt_box .list li{font-size:14px;margin-bottom:5px;padding:0 0 0 7px;}
			.main_solution .solution_wrap .des .txt_box .list li:before{top:11px;}
			.main_solution .solution_wrap .des .btn_box{margin-top:20px;}

			.main_solution .solution_wrap .des > .img{border-radius:20px;}

		/*news*/
			.main_news{padding-top:30px;}
			.main_news .news_container{padding:40px 0 30px;}
			.main_news .board_li{padding:30px 20px;}
			.main_news .board_li .ov_box{width:40px;height:40px;right:15px;bottom:15px;}
			.main_news .board_li .title{font-size:18px;}
			.main_news .board_li .cont{font-size:16px;margin-top:15px;}
			.main_news .board_li .date{font-size:14px;margin-top:50px;}
			.main_news .board_li.swiper-slide-active{padding:20px 20px;border-radius:20px;}

			.main_news .controller .swiper-pagination{margin:0 14px;}
			.main_news .controller .swiper-pagination span{font-size:16px;}
			.main_news .controller .swiper_arw:before{width:8px;height:8px;top:5px;}
			.main_news .controller .swiper-button-prev:before{left:8px;}		
			.main_news .controller .swiper-button-next:before{right:8px;}

			.main_news .board_li.swiper-slide-active .title{font-size:18px;}
			.main_news .board_li.swiper-slide-active .date{font-size:14px;}

		/*partner*/
			.main_partner{padding:0;min-height:75vh;}
			.main_partner .txt p{font-size:46px;margin-left:17px;}

		/*cs*/
			.main_cs .tit{padding-bottom:25px;}
			.main_cs .tit span{font-size:16px;}
			.main_cs .tit h3{margin:8px 0 15px;}
			.main_cs .tit p{font-size:14px;}

			.main_cs .write_box dl{padding:5px 10px;}
			.main_cs .write_box dl dt{font-size:14px;width:92px;}
			.main_cs .write_box dl dd{width:calc(100% - 92px);}

			.main_cs .write_box .captcha_wrap{padding:6px 8px;padding-right:0;margin-right:0;}
		    .main_cs .write_box .captcha_wrap .btn_reset {width: 28px !important;height: 28px !important;}

			.main_cs .write_box .btn_wrap{margin-top:20px;}
			.main_cs .write_box .btn_agree label{font-size:13px;}
			.main_cs .write_box .btn_wrap .btn_more{min-width:134px;}
	}
	@media only screen and (max-width:350px)	{
		/*business*/
			.main_business .business_container .business_slide.swiper-slide-active .thumb p{top:3%;}
	}

	#section2 {
  background-color: #ffffff; /* 기존 흰색 유지 */
  background-image: url("/img/main_cont_img_bg02.png"); /* 너가 쓰고 싶은 이미지 경로 */
  background-repeat: no-repeat;
  background-position: center bottom; /* 아래쪽 정렬 */
  background-size: 100% auto; /* 가로 100%, 세로 비율 유지 */
}


/* 세번째 섹션 20251211 */
/* ====== Service Section ====== */

/* 전체 섹션 설정 */
#sectionService {
  position: relative;
  background-color: #ffffff;
  overflow: hidden;
}

/* 섹션 하단 전체에 깔리는 물결 배경 (width:100%) */
#sectionService .service-bg {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 997px; /* 물결이 올라오는 높이 - 취향껏 조정 */
  background: url("/img/main_cont_img_bg02.png") no-repeat center bottom;
  background-size: 100% auto; /* 가로 100%로 꽉 채움 */
  pointer-events: none;
  z-index: 1;
}

/* 가운데 정렬용 래퍼 */
#sectionService .service-inner {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px 20px;
  margin-top:70px;
  box-sizing: border-box;
}

/* 파란 카드 */
#sectionService .service-card {
  width: 100%;
    background-color: #0052c7; /* 기존 파란색 */

    /* 🔥 배경 이미지 추가 (왼쪽 정렬 + 세로 중앙정렬) */
    background-image: url("/img/main_cont_img_bg03.png");
    background-repeat: no-repeat;
    background-position: left center;   /* ← 왼쪽 + 수직 중앙 */
    background-size: auto 56%;          /* ← 세로 기준 80%, 비율 유지 */

    border-radius: 24px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.18);
    padding: 130px 50px;
    box-sizing: border-box;

    /* 내부 내용 정렬 */
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 1.7fr);
    column-gap: 40px;

    color: #ffffff;
}

/* 왼쪽 텍스트 */
#sectionService .service-left .service-tag {
  display: inline-block;
  font-size:18px;
  opacity: 0.8;
  margin-bottom: 12px;
}

#sectionService .service-title {
  font-size: 60px;
  line-height: 1.3;
  margin-bottom: 18px;
  font-weight: 700;
  letter-spacing:-1px;
}

#sectionService .service-desc {
  font-size: 24px;
  line-height: 1.7;
  opacity: 0.9;
  margin-bottom: 28px;
}

#sectionService .service-more {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 18px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.6);
  color: #ffffff;
  font-size: 14px;
  text-decoration: none;
}

#sectionService .service-more-icon {
  display: inline-block;
  font-size: 14px;
}

/* 오른쪽 슬라이드 영역 */
#sectionService .service-right {
  display: flex;
  align-items: center;
  justify-content: right;
  position: relative;
}


/* ✅ 슬라이더 자체는 래퍼 안에서 100% */
#sectionService .service-slider {
  width: 100%;
}

/* ✅ Swiper 슬라이드가 래퍼 폭을 꽉 채우도록 */
#sectionService .service-slider .swiper-slide {
  width: 100% !important;
  box-sizing: border-box;
}

/* ✅ 버튼은 래퍼 안쪽 오른쪽 위에 배치 (안 잘림) */
#sectionService .service-slider-nav {
  position: absolute;
  top: 10px;        /* 카드 안쪽으로 살짝 내려옴 */
  right: 10px;
  display: flex;
  gap: 6px;
  z-index: 5;       /* 슬라이드 위에 보이도록 */
}

/* 슬라이더 자체도 100% 안에서만 */
#sectionService .service-slider {
  width: 100%;
}

/* 슬라이드는 Swiper가 width를 잡지만, 안전하게 박스 안으로 */
#sectionService .service-slide {
  box-sizing: border-box;
}



/* ✅ 슬라이더 뷰포트: 여기서만 보이게(넘치는 슬라이드 숨김) */
#sectionService .service-slider-wrap {
  position: relative;
  width: 100%;
  max-width: 580px;
  overflow: hidden;        /* 한 장만 보이도록 유지 */
  margin-top: 40px;        /* 위쪽 간격 */

  /* 🔥 그림자 안 잘리게 래퍼 안쪽에 여백 생성 */
  padding: 0px;
  box-sizing: border-box;

  /* 카드 고정 높이를 여기로 옮겨서 전체 박스 기준으로 */
  height: 448px;
}

/* 슬라이드 카드 */
#sectionService .service-slide {
  /* margin-top: 40px;  ← 필요 없음, 래퍼에서 처리 */
  background: rgba(255, 255, 255, 0.1);
  border-radius: 18px;
  padding: 24px 24px 28px;
  box-sizing: border-box;
  color: #ffffff;

  /* 🔥 래퍼 높이 안에서 꽉 차게 */
  height: 100%;

    box-shadow: rgba(50, 50, 93, 0.25) 0px 8px 0px -5px, rgba(0, 0, 0, 0.3) 0px 4px 0px -8px;
}

/* ✅ Swiper 슬라이드가 항상 뷰포트 너비 = 100% 차지하게 */
#sectionService .service-slider .swiper-slide {
  width: 100% !important;
  margin: 0 !important;
}



#sectionService .service-slide-icon {
  display: flex;
  align-items: center;
  justify-content: left;
  margin-bottom: 16px;
  margin-top:80px;
}

#sectionService .service-slide-icon img {
  max-width: 70px;
  max-height: 70px;
}

#sectionService .service-slide-title {
  font-size: 24px;
  margin-bottom: 10px;
  font-weight:600;
  letter-spacing:-1px;
}

#sectionService .service-slide-tit {
  font-size: 20px;
  line-height: 1.7;
  opacity: 0.9;
  font-weight:600;
  letter-spacing:-1px;
}

#sectionService .service-slide-desc {
  margin-top:10px;
  font-size: 18px;
  line-height: 1.7;
  opacity: 0.9;
  font-weight:400;
  letter-spacing:-1px;
}

/* 슬라이드 네비 버튼 */
#sectionService .service-slider-nav {
  position: absolute;
  top: -48px;
  right: 0;
  display: flex;
  gap: 6px;
}

#sectionService .service-slider-nav button {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  border: none;
  background: rgba(255, 255, 255, 0.5);
  color: #ffffff;
  font-size: 16px;
  cursor: pointer;
  box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px;

}

/* ================================
   SERVICE 슬라이드 반응형 (999px ↓)
================================ */
@media (max-width: 999px) {
	
 #sectionService .service-slider-wrap {height:auto;}

  /* 전체 카드: 1열 정렬 + 이미지 배경 유지 */
  #sectionService .service-card {
    grid-template-columns: 1fr;
    padding: 40px 24px;
            background-size: auto 48%;
        background-position: left top;
  }

  /* 왼쪽 텍스트 */
  #sectionService .service-title {
    font-size: 32px;
    line-height: 1.3;
  }

  #sectionService .service-desc {
    font-size: 16px;
    line-height: 1.6;
  }

  /* 오른쪽 슬라이드 박스는 width 100% */
  #sectionService .service-slider-wrap {
    max-width: 100%;
    overflow: hidden;
    margin-top: 70px;
  }

  /* 슬라이드 카드 */
  #sectionService .service-slide {
    width: 100% !important;
    height: auto;
    padding: 20px;
    margin-top: 20px;
  }

  /* 아이콘 */
  #sectionService .service-slide-icon img {
    max-width: 50px;
    max-height: 50px;
  }

  /* 제목 */
  #sectionService .service-slide-title {
    font-size: 20px;
  }

  /* 소제목 */
  #sectionService .service-slide-tit {
    font-size: 16px;
  }

  /* 본문 */
  #sectionService .service-slide-desc {
    font-size: 14px;
    line-height: 1.5;
  }

  /* 네비게이션 버튼 */
  #sectionService .service-slider-nav {
    top: 3px;
    right: 0px;
  }

  #sectionService .service-slider-nav button {
    width: 36px;
    height: 36px;
    font-size: 14px;
  }
  #sectionService { overflow-x: hidden; }
}


/* ================================
   초 소형 기기 (640px ↓)
================================ */
@media (max-width: 640px) {
 #sectionService .service-slide-icon {margin-top:16px;}

  #sectionService .service-card {
    padding: 30px 18px;
    background-size: auto 56%;
  }

  #sectionService .service-title {
    font-size: 26px;
  }

  #sectionService .service-desc {
    font-size: 14px;
  }

  #sectionService .service-slide {
    padding: 18px;
  }

  #sectionService .service-slide-title {
    font-size: 18px;
  }

  #sectionService .service-slide-desc {
    font-size: 13px;
  }

  #sectionService .service-slider-nav button {
    width: 30px;
    height: 30px;
    font-size: 12px;
  }
   /* 카드 안에서 1열로 위/아래로 쌓이게 */
  #sectionService .service-card {
    grid-template-columns: 1fr;
  }

  /* 오른쪽 영역도 가운데 정렬 */
  #sectionService .service-right {
    justify-content: center;
    width: 100%;
  }

  /* 슬라이더 래퍼가 카드 안 패딩 기준으로만 100% 차지하도록 */
  #sectionService .service-slider-wrap {
    max-width: 100%;
    width: 100%;
    box-sizing: border-box;
    margin-top: 50px;   /* 텍스트와 간격 조금 */
  }

  /* 슬라이더 자체에 이상한 여백이 있으면 제거 */
  #sectionService .service-slider {
    width: 100%;
    margin: 0;
  }

  /* Swiper 슬라이드가 래퍼 폭 = 카드 안쪽 폭과 동일하게 */
  #sectionService .service-slider .swiper-slide {
    width: 100% !important;
    box-sizing: border-box;
    margin: 0;         /* 혹시 모를 좌우 margin 제거 */
	margin-top:40px;
  }

  /* 슬라이드 카드도 패딩만 유지하고 가로는 100% */
  #sectionService .service-slide {
    padding: 16px;
    width: 100%;
  }
}


/* ================================
   아주 작은 화면 (280px ~ 360px)
================================ */
@media (max-width: 360px) {

  #sectionService .service-card {
    padding: 24px 14px;
    background-size: auto 28%;
  }

  #sectionService .service-title {
    font-size: 20px;
  }

  #sectionService .service-desc {
    font-size: 12px;
  }

  #sectionService .service-slide {
    padding: 14px;
  }

  #sectionService .service-slide-title {
    font-size: 16px;
  }

  #sectionService .service-slide-desc {
    font-size: 12px;
  }

  #sectionService .service-slider-nav button {
    width: 26px;
    height: 26px;
    font-size: 11px;
  }
}


/* ✅ 버튼 텍스트 + 아이콘 세로 가운데 정렬용 override */
.btn_box > a {
  display: inline-flex;
  align-items: center;   /* 세로 가운데 */
  color: #fff;
}

/* float 없애기 */
.btn_box > a > span {
  float: none;
}

/* 동그란 화살표 부분도 flex로 가운데 정렬 */
.btn_box > a > .arrow_wrap {
  float: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50px;
  border: 1px solid #fff;
  margin-left: 21px;
}

/* 이미지도 가운데로 */
.btn_box > a > .arrow_wrap > img {
  margin: 0;
  display: block;
}
/* 🔹 Service 좌/우 영역이 카드 안에서만 줄어들도록 */
#sectionService .service-left,
#sectionService .service-right {
  min-width: 0;        /* 그리드 칸이 내용 때문에 밖으로 안 밀리게 */
  max-width: 100%;     /* 안전빵: 칸 자체는 카드 밖으로 못 나가게 */
  box-sizing: border-box;
}

/* 🔹 service-card 자체도 컨테이너 밖으로 안 나가게 */
#sectionService .service-card {
  max-width: 100%;
  box-sizing: border-box;
  overflow: hidden;     /* 혹시 내부에서 삐져나오는 것 한 번 더 차단 */
}


/* ===============================
   APPLICATIONS 섹션 기본
   #sectionApplication (fullpage .section)
=============================== */

/* Applications 섹션 기본 */
#sectionApplication {
  position: relative;
  overflow: hidden;
  color: #fff;

  /* 🔥 파도 배경을 섹션 자체에 적용 */
  background: url("/img/bg012.png") no-repeat center bottom;
  background-size: cover;   /* 화면 비율에 맞춰 꽉 채우기 */
}

/* 안쪽 내용은 그대로 */
#sectionApplication .application-inner {
  position: relative;
  z-index: 1;
}

/* 기존 ::before는 완전히 끄기 */
#sectionApplication::before {
  content: none !important;
}






/* 안쪽 컨테이너: fullpage 섹션 높이 안에서 가운데 정렬 */
#sectionApplication .application-inner {
  position: relative;
  z-index: 1;
  max-width: 1600px;
  width: 100%;
  height: 100%;
  margin: 0 auto;
  padding: 100px 40px 80px;
  box-sizing: border-box;

  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* ===============================
   타이틀 영역
=============================== */

#sectionApplication .application-header {
  max-width: 720px;
}

#sectionApplication .application-label {
  font-size: 16px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 8px;
}

#sectionApplication .application-title {
  font-size: 52px;
  line-height: 1.3;
  font-weight: 700;
  margin-bottom: 16px;
  letter-spacing: -0.04em;
}

#sectionApplication .application-desc {
  font-size: 18px;
  line-height: 1.7;
  opacity: 0.9;
}

/* ===============================
   카드 3개 가로 배치
=============================== */

#sectionApplication .application-grid {
  margin-top: 60px;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  gap: 36px;
}

#sectionApplication .application-card {
  /* ▶ flex로 늘어나는 거 막고, 고정된 원 크기 사용 */
  flex: 0 0 auto;
  width: 410px;          /* 데스크톱 기준 카드 지름 */
  max-width: 410px;

  /* ✅ 원형 유지 */
  aspect-ratio: 1 / 1;   /* 가로:세로 = 1:1 */
  border-radius: 50%;

  background: #ffffff;
  color: #1d2340;
  box-sizing: border-box;
  padding: 50px 36px;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;

  box-shadow: 0 24px 40px rgba(0, 0, 0, 0.35);
}


#sectionApplication .application-icon {
  width: 90px;
  height: 90px;
  margin-bottom: 24px;
}

#sectionApplication .application-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

#sectionApplication .application-card-title {
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 10px;
  letter-spacing: -0.03em;
}

#sectionApplication .application-card-desc {
  font-size: 16px;
  line-height: 1.6;
  color: #736E6E;
}


/* ===============================
   1200px 이하
=============================== */
@media (max-width: 1200px) {
  #sectionApplication .application-inner {
    padding: 80px 24px 70px;
  }

  #sectionApplication .application-title {
    font-size: 44px;
  }

  #sectionApplication .application-desc {
    font-size: 17px;
  }

  #sectionApplication .application-card {
    max-width: 320px !important;
    padding: 42px 30px;
  }
}


/* ===============================
   999px 이하 (태블릿 ~ 작은 노트북)
   → 카드 3개가 줄 바꿈 가능 / 살짝 타원형
=============================== */
@media (max-width: 999px) {

  #sectionApplication .application-header {
    max-width: 100%;
  }

  #sectionApplication .application-title {
    font-size: 38px;
  }

  #sectionApplication .application-desc {
    font-size: 16px;
  }

  #sectionApplication .application-grid {
    margin-top: 40px;
    flex-wrap: wrap;
    justify-content: center;
    gap: 28px;
    flex-direction: column;
  }

  /* ✅ 원형 유지 + 가운데 정렬 */
  #sectionApplication .application-card {
    width: 260px;          /* 태블릿에서 조금 작게 */
    aspect-ratio: 1 / 1;
    padding: 32px 28px;
    margin: 0 auto;
  }

  /* 이건 이제 의미 없긴 한데, 놔둬도 문제는 없음 */
  #sectionApplication::before {
    height: 360px;
  }
}


/* ===============================
   768px 이하 (일반 태블릿 / 큰 모바일)
=============================== */
@media (max-width: 768px) {
  #sectionApplication .application-inner {
    padding: 70px 20px 60px;
  }

  #sectionApplication .application-title {
    font-size: 32px;
  }

  #sectionApplication .application-desc {
    font-size: 15px;
  }

  #sectionApplication .application-card-title {
    font-size: 20px;
  }

  #sectionApplication .application-card-desc {
    font-size: 15px;
  }
}


/* ===============================
   640px 이하 (작은 태블릿 / 대부분 모바일)
   → 카드 1열로 세로 나열
=============================== */
@media (max-width: 640px) {
  #sectionApplication .application-inner {
    padding: 60px 18px 50px;
  }

  #sectionApplication .application-title {
    font-size: 28px;
  }

  #sectionApplication .application-desc {
    font-size: 14px;
  }

  #sectionApplication .application-grid {
    margin-top: 32px;
  }

  #sectionApplication .application-card {
    width: 100%;
    padding: 28px 22px;
  }

  #sectionApplication .application-icon {
    width: 70px;
    height: 70px;
    margin-bottom: 18px;
  }

  #sectionApplication::before {
    height: 260px;
  }
}


/* ===============================
   480px 이하 (작은 모바일)
=============================== */
@media (max-width: 480px) {
  #sectionApplication .application-inner {
    padding: 50px 14px 40px;
  }

  #sectionApplication .application-title {
    font-size: 24px;
  }

  #sectionApplication .application-desc {
    font-size: 13px;
  }

  #sectionApplication .application-card {
    padding: 24px 18px;
  }

  #sectionApplication .application-card-title {
    font-size: 18px;
  }

  #sectionApplication .application-card-desc {
    font-size: 13px;
  }

  #sectionApplication .application-icon {
    width: 60px;
    height: 60px;
  }
}


/* ===============================
   360px 이하 (초소형 디바이스)
=============================== */
@media (max-width: 360px) {
  #sectionApplication .application-inner {
    padding: 46px 12px 32px;
  }

  #sectionApplication .application-title {
    font-size: 20px;
  }

  #sectionApplication .application-desc {
    font-size: 12px;
  }

  #sectionApplication .application-card {
    padding: 20px 14px;
  }

  #sectionApplication .application-card-title {
    font-size: 16px;
  }

  #sectionApplication .application-card-desc {
    font-size: 12px;
  }

  #sectionApplication .application-icon {
    width: 52px;
    height: 52px;
  }
}


/* ===============================
   320px ~ 280px 대책
=============================== */
@media (max-width: 320px) {
  #sectionApplication .application-inner {
    padding: 40px 10px 30px;
  }

  #sectionApplication .application-title {
    font-size: 18px;
  }

  #sectionApplication .application-card {
    padding: 18px 10px;
  }
}



/* ===============================
   Information / News Section
=============================== */
#sectionNews .news-card {
    background: #ffffff;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.16);
    display: flex;
    flex-direction: column;
    min-height: 100%;
}

/* ===============================
   Information / News Section
=============================== */

#sectionNews {
  background-color: #ffffff;
  color: #111;
}

#sectionNews .news-inner {
  max-width: 1600px;
  width: 100%;
  height: 100%;
  margin: 0 auto;
  padding: 100px 40px 90px;
  box-sizing: border-box;

  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* 상단: 타이틀 + 네비 버튼 */
#sectionNews .news-header-top {
  display: flex;
  justify-content: space-between;
  align-items:end;
  gap: 24px;
}

#sectionNews .news-header {
  max-width: 720px;
}

#sectionNews .news-label {
  font-size: 16px;
  color: #223594;
  font-weight: 500;
  margin-bottom: 8px;
}

#sectionNews .news-title {
  font-size: 40px;
  line-height: 1.3;
  font-weight: 700;
  color: #1d2f6f;
  margin-bottom: 14px;
  letter-spacing: -0.04em;
}

#sectionNews .news-desc {
  font-size: 16px;
  line-height: 1.7;
  color: #000;
}

/* 네비 버튼 */
#sectionNews .news-nav {
  display: flex;
  align-items: center;
  gap: 8px;
}

#sectionNews .news-nav button {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: none;
  background: #ffffff;
  color: #6c6f93;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;

  display: flex;
  align-items: center;
  justify-content: center;

  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
}

/* 슬라이더 래퍼 */
#sectionNews .news-slider-wrap {
  margin-top: 40px;
  overflow: hidden;         /* 그대로 유지 (옆 슬라이드 안 보이게) */
  padding: 24px 16px 42px;  /* ✅ 그림자 나갈 공간 */
  box-sizing: border-box;
}

/* Swiper 컨테이너 */
#sectionNews .news-slider {
  width: 100%;

  /* ✅ (수정) 슬라이드가 밖으로 다 보이는 현상은 여기서 차단 */
  overflow: visible;
}

/* 개별 카드 */
#sectionNews .news-card {
  background: #ffffff;
  border-radius: 18px;
  overflow: hidden;
      box-shadow: 0 4px 5px rgba(0, 0, 0, 0.16);

  display: flex;
  flex-direction: column;
  min-height: 100%;
}

/* 카드 상단 이미지 */
#sectionNews .news-card-thumb {
  position: relative;
  padding-bottom: 62%;   /* 16:10 정도 비율 */
  overflow: hidden;
}

#sectionNews .news-card-thumb img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* 카드 내용 */
#sectionNews .news-card-body {
  padding: 18px 20px 22px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

#sectionNews .news-badge {
  display: inline-block;
  align-self: flex-start;
  margin-bottom: 10px;
  padding: 4px 12px;
  border-radius: 5px;
  background: #3783D9;
  color: #fff;
  font-size: 13px;
  font-weight: 500;
}

#sectionNews .news-card-title {
  font-size: 18px;
  font-weight: 700;
  color: #131523;
  margin-bottom: 8px;
  line-height: 1.4;
}

#sectionNews .news-card-desc {
  font-size: 14px;
  line-height: 1.6;
  color: #545766;
  /* 2~3줄 정도만 보이게 */
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ===============================
   Swiper 기본: PC에서 3장 보여주기
=============================== */

#sectionNews .news-slider .swiper-slide {
  height: auto;      /* 카드 높이에 맞추기 */
}

/* ===============================
   1200px 이하
=============================== */
@media (max-width: 1200px) {
  #sectionNews .news-inner {
    padding: 90px 32px 80px;
  }

  #sectionNews .news-title {
    font-size: 36px;
  }
}

/* ===============================
   999px 이하 (태블릿 ~ 작은 노트북)
=============================== */
@media (max-width: 999px) {
  #sectionNews .news-inner {
    padding: 80px 24px 70px;
  }

  #sectionNews .news-header-top {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }

  #sectionNews .news-title {
    font-size: 32px;
  }

  #sectionNews .news-desc {
    font-size: 15px;
  }

  #sectionNews .news-nav {
    align-self: flex-end;
  }
}

/* ===============================
   768px 이하 (일반 태블릿 / 큰 모바일)
=============================== */
@media (max-width: 768px) {
  #sectionNews .news-inner {
    padding: 70px 20px 60px;
  }

  #sectionNews .news-title {
    font-size: 28px;
  }

  #sectionNews .news-desc {
    font-size: 14px;
  }

  #sectionNews .news-card-body {
    padding: 16px 16px 20px;
  }

  #sectionNews .news-card-title {
    font-size: 17px;
  }

  #sectionNews .news-card-desc {
    font-size: 13px;
  }
}

/* ===============================
   640px 이하 (작은 태블릿 / 대부분 모바일)
=============================== */
@media (max-width: 640px) {
  #sectionNews .news-inner {
    padding: 60px 18px 50px;
  }

  #sectionNews .news-title {
    font-size: 24px;
  }

  #sectionNews .news-desc {
    font-size: 13px;
  }

  #sectionNews .news-nav button {
    width: 30px;
    height: 30px;
    font-size: 18px;
  }
}

/* ===============================
   480px 이하 (작은 모바일)
=============================== */
@media (max-width: 480px) {
  #sectionNews .news-inner {
    padding: 50px 14px 40px;
  }

  #sectionNews .news-title {
    font-size: 22px;
  }

  #sectionNews .news-card-title {
    font-size: 16px;
  }

  #sectionNews .news-card-desc {
    font-size: 12px;
  }

  #sectionNews .news-nav button {
    width: 28px;
    height: 28px;
    font-size: 16px;
  }
}

/* ===============================
   360px 이하 (초소형)
=============================== */
@media (max-width: 360px) {
  #sectionNews .news-inner {
    padding: 44px 10px 34px;
  }

  #sectionNews .news-title {
    font-size: 20px;
  }

  #sectionNews .news-card-body {
    padding: 14px 12px 18px;
  }
}

/* ===============================
   320px 이하 안전 마진
=============================== */
@media (max-width: 320px) {
  #sectionNews .news-inner {
    padding: 40px 8px 30px;
  }

  #sectionNews .news-title {
    font-size: 18px;
  }
}

/* ❌ 기존 이거 때문에 그림자 잘렸음 → 위에서 wrap은 visible로 바꿈 */
/* #sectionNews .news-slider-wrap { overflow: hidden; } */

/* ✅ 슬라이더 폭을 컨테이너로 고정 */
#sectionNews .news-slider { width: 100%; }


/* ===============================
   Partner Section (Footer 위)
=============================== */

#sectionPartner{
  position: relative;
  overflow: hidden;
  color:#fff;

  /* ✅ 배경(지구 이미지) */
  background-color:#050b2e;
  background-image: url("/img/globe_img\ 1.png"); /* ← 너 파일명으로 교체 */
  background-repeat: no-repeat;
  background-position: center 45%;
background-size: 85% auto;

  display:flex;
  align-items:center;
}

@media (max-width: 999px){
  #sectionPartner{
    background-size: 110% auto;  /* 화면 작아지면 조금 더 크게(꽉 차게) */
    background-position: center 48%;
  }
}

@media (max-width: 480px){
  #sectionPartner{
    background-size: 140% auto;
    background-position: center 52%;
  }
}

#sectionPartner::after{
  /* ✅ 텍스트 가독성용 은은한 오버레이 */
  content:"";
  position:absolute;
  inset:0;
  background: radial-gradient(60% 60% at 50% 45%, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0.55) 70%, rgba(0,0,0,0.72) 100%);
  pointer-events:none;
}

#sectionPartner .partner-inner{
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1600px;
  margin: 250px auto;
  padding: 90px 40px;
  box-sizing: border-box;
  text-align: center;
}

#sectionPartner .partner-kicker{
  font-size: clamp(14px, 1.2vw, 18px);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.9;
  margin-bottom: 12px;

  /* ✅ 밝게 보이도록 */
  text-shadow: 0 0 10px rgba(255,255,255,0.25);
}

#sectionPartner .partner-title{
  font-weight: 800;
  font-size: clamp(34px, 4.6vw, 74px);
  line-height: 1.1;
  margin-bottom: 77px;
  letter-spacing: -0.02em;

  /* ✅ 흰색 글씨 + 밝은 글로우 */
  text-shadow:
    0 0 16px rgba(255,255,255,0.35),
    0 0 36px rgba(0,170,255,0.25);
}

#sectionPartner .partner-subtitle{
  font-weight: 800;
  font-size: clamp(34px, 6.2vw, 86px);
  line-height: 1;
  letter-spacing: clamp(0.20em, 0.9vw, 0.38em);
  text-indent: clamp(0.20em, 0.9vw, 0.38em); /* ✅ 첫 글자도 간격 맞추기 */
  text-transform: uppercase;

  text-shadow:
    0 0 16px rgba(255,255,255,0.35),
    0 0 44px rgba(0,170,255,0.30);
}

/* ===============================
   999px 이하 ~ 280px 이하 미세 조정
   (clamp가 대부분 처리, 여기서는 여백/간격만)
=============================== */
@media (max-width: 999px){
  #sectionPartner .partner-inner{
    padding: 80px 26px;
  }
}

@media (max-width: 768px){
  #sectionPartner .partner-inner{
    padding: 70px 20px;
  }
}

@media (max-width: 640px){
  #sectionPartner .partner-inner{
    padding: 62px 18px;
  }
  #sectionPartner .partner-subtitle{
    letter-spacing: 0.28em;
    text-indent: 0.28em;
  }
}

@media (max-width: 480px){
  #sectionPartner .partner-inner{
    padding: 56px 14px;
  }
  #sectionPartner .partner-subtitle{
    letter-spacing: 0.24em;
    text-indent: 0.24em;
  }
}

@media (max-width: 360px){
  #sectionPartner .partner-inner{
    padding: 50px 12px;
  }
  #sectionPartner .partner-subtitle{
    letter-spacing: 0.20em;
    text-indent: 0.20em;
  }
}

@media (max-width: 280px){
  #sectionPartner .partner-inner{
    padding: 46px 10px;
  }
}




/* ===============================
   Contact Us Section
=============================== */

#sectionContact{
  background: #050b2e;
  color:#fff;
  position: relative;
  overflow: hidden;
}

/* ✅ 배경(너무 커 보이면 여기서 조절) */
#sectionContact::before{
  content:"";
  position:absolute;
  inset:-20%;
  background:
    radial-gradient(60% 60% at 70% 40%, rgba(58,118,255,.18), rgba(0,0,0,0) 60%),
    radial-gradient(45% 45% at 30% 60%, rgba(0,204,255,.10), rgba(0,0,0,0) 65%);
  pointer-events:none;
}

#sectionContact .contact-inner{
  position: relative;
  height:100%;
  max-width: 1600px;
  margin:0 auto;
  padding: clamp(36px, 6vw, 80px) clamp(16px, 4vw, 48px);
  box-sizing: border-box;
  display:flex;
  align-items:center;
}

#sectionContact .contact-wrap{
  width:100%;
  display:grid;
  grid-template-columns: 1.05fr 1fr;
  gap: clamp(18px, 3.2vw, 48px);
  align-items: start;
}

/* LEFT */
#sectionContact .contact-label{
  font-size: clamp(14px, 1.6vw, 18px);
  opacity:.9;
  margin-bottom: clamp(10px, 1.6vw, 18px);
}

#sectionContact .contact-title{
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.08;
  font-size: clamp(28px, 4.6vw, 54px);
  margin-bottom: clamp(14px, 2vw, 22px);
  text-shadow: 0 2px 14px rgba(255,255,255,.10);
}

#sectionContact .contact-desc{
  font-size: clamp(12.5px, 1.55vw, 15px);
  line-height: 1.7;
  color: rgba(255,255,255,.82);
}

/* RIGHT */
#sectionContact .contact-form{
  width:100%;
}

#sectionContact .contact-type{
  display:flex;
  gap: clamp(10px, 1.6vw, 18px);
  align-items:center;
      justify-content: left;
  margin-bottom: clamp(12px, 2vw, 18px);
}

#sectionContact .type-item{
  display:inline-flex;
  gap:8px;
  align-items:center;
  cursor:pointer;
  font-size: clamp(12px, 1.3vw, 13px);
  color: rgba(255,255,255,.9);
  user-select:none;
}

#sectionContact .type-item input{
  appearance:none;
  width: 14px;
  height: 14px;
  border-radius:999px;
  border: 2px solid #fff;
  display:inline-block;
  position:relative;
  margin: 0;
}

#sectionContact .type-item input:checked{
  border-color:#0A7AFF;
}

#sectionContact .type-item > span {font-size:16px;}

#sectionContact .type-item input:checked::after{
  content:"";
  position:absolute;
  inset:3px;
  border-radius:999px;
  background: #0A7AFF;
}

/* GRID */
#sectionContact .contact-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(10px, 1.4vw, 14px);
}

/* field wrapper */
#sectionContact .fitem.full{ grid-column: 1 / -1; }

#sectionContact .fcontrol{
  position: relative;
  border: 1px solid #515272;
  border-radius: 6px;
  background: transparent;
}

#sectionContact .fcontrol input,
#sectionContact .fcontrol textarea{
  width:100%;
  box-sizing:border-box;
  border:none;
  outline:none;
  background: transparent;
  color:#fff;
  font-size: clamp(12.5px, 1.55vw, 14px);
  padding: 22px 14px 12px;
}

#sectionContact .fcontrol textarea{
  resize:none;
  min-height: clamp(110px, 14vw, 140px);
  padding-top: 26px;
}

#sectionContact .fcontrol label{
  position:absolute;
  left:14px;
  top:11px;
  font-size: 20px;
  color:#fff;
  pointer-events:none;
}

#sectionContact .fcontrol label b{
  color:#134EA5;
  font-weight:800;
}

/* 둥근 체크박스 */
.chk-round{
  appearance: none;
  -webkit-appearance: none;
  width:20px;
  height: 20px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,0.35);
  background: transparent;
  display: inline-grid;
  place-content: center;
  cursor: pointer;
  vertical-align: middle;
}

/* 체크되면 배경색 */
.chk-round:checked{
  background: #134EA5;
  border-color: #134EA5;
}

/* 체크표시(흰색) */
.chk-round:checked::after{
  content: "";
  width: 6px;
  height: 10px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
  margin-top: -1px;
}

/* 포커스 접근성(선택사항) */
.chk-round:focus-visible{
  outline: 2px solid rgba(19,78,165,0.5);
  outline-offset: 2px;
}

.chk-round:invalid, textarea:invalid, select:invalid {border-color:#fff;}


/* ✅ 포커스 효과 */
#sectionContact .fcontrol:focus-within{
  border-color: #0075FF;
  box-shadow: 0px 0px 50px 7px rgba(24,122,254,0.5);
}

/* placeholder 안 보이게(라벨이 위에 있으니까) */
#sectionContact input::placeholder,
#sectionContact textarea::placeholder{
  color: transparent;
}

/* ✅ placeholder 색상 */
#sectionContact .fcontrol input::placeholder,
#sectionContact .fcontrol textarea::placeholder{
  color:#747588;
  opacity:1; /* 크롬/사파리에서 연해지는거 방지 */
}

/* (옵션) IE/구버전 엣지까지 필요하면 */
#sectionContact .fcontrol input:-ms-input-placeholder,
#sectionContact .fcontrol textarea:-ms-input-placeholder{ color:#747588; }
#sectionContact .fcontrol input::-ms-input-placeholder,
#sectionContact .fcontrol textarea::-ms-input-placeholder{ color:#747588; }

/* ✅ 입력창/텍스트영역 좌측 패딩 */
#sectionContact .fcontrol input,
#sectionContact .fcontrol textarea{
     padding-left: 93px;
    padding-right: 16px;
    padding-top: 16px;
}


/* BOTTOM */
#sectionContact .contact-bottom{
  margin-top: clamp(10px, 1.6vw, 16px);
  display:flex;
  align-items:center;
  justify-content: center;
  gap: 12px;
}

#sectionContact .agree{
  display:flex;
  align-items:center;
  gap: 8px;
  font-size: clamp(12px, 1.35vw, 13px);
  color: rgba(255,255,255,.78);
}

#sectionContact .btn-view > img {display:inline-block; margin-right:10px;}

#sectionContact .agree input{
  width: 20px;
  height: 20px;
  accent-color: rgba(90,170,255,1);
}

#sectionContact .btn-view{
  border: 1px solid rgba(255,255,255,.28);
  background: transparent;
  color: rgba(255,255,255,.86);
  border-radius: 999px;
  padding: 8px 14px;
  font-size: clamp(12px, 1.35vw, 13px);
  cursor:pointer;
}

#sectionContact .contact-submit{
  display:flex;
  justify-content:center;
  margin-top: clamp(14px, 2vw, 22px);
}

#sectionContact .btn-submit{
  min-width: clamp(160px, 22vw, 220px);
  padding: 12px 18px;
  border:none;
  border-radius: 999px;
  cursor:pointer;
  background: #2d63ff;
  color:#fff;
  font-weight: 700;
  font-size: clamp(12.5px, 1.55vw, 14px);
  box-shadow: 0 12px 28px rgba(45,99,255,.28);
}

/* ===============================
   Responsive: 999 ~ 280
=============================== */
@media (max-width: 999px){
  #sectionContact .contact-wrap{
    grid-template-columns: 1fr;
  }
  #sectionContact .contact-type{
    justify-content: flex-start;
  }
}

@media (max-width: 520px){
  #sectionContact .contact-grid{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 320px){
  #sectionContact .btn-view{
    padding: 7px 10px;
  }
}


/* ✅ sectionNews에서 iScroll 생기는 것 방지: 세로 여백만 최소화 */
#sectionNews .news-inner{
  padding-top: 60px;
  padding-bottom: 50px;
  box-sizing: border-box;
}

/* ✅ 카드 그림자 공간은 유지하되, 과한 하단 padding 줄이기 */
#sectionNews .news-slider-wrap{
  padding-top: 18px;
  padding-bottom: 18px;
  box-sizing: border-box;
}

/* ✅ section2에서 iScroll 생기는 것 방지: 세로 여백만 최소화 */
#section2 .main_business{
  padding-top: 70px;
  padding-bottom: 80px;
  box-sizing: border-box;
}



/* ✅ btn_more 내부 float/clear 완전 차단 (이게 핵심) */
.btn_box > a.btn_more::after { content: none !important; }   /* clear 제거 */

.btn_box > a.btn_more,
.btn_box > a.btn_more:hover{
  display: inline-flex !important;
  align-items: center;
  gap: 21px;

  float: none !important;
  line-height: 1;
  vertical-align: middle;
  text-decoration: none;

  transform: none !important;
}

/* float 강제 해제 */
.btn_box > a.btn_more > span,
.btn_box > a.btn_more > .arrow_wrap{
  float: none !important;
}

/* arrow_wrap 중앙정렬 유지 */
.btn_box > a.btn_more > .arrow_wrap{
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
  margin-left: 0;           /* gap 쓰니까 margin 제거 */
}

.btn_box > a.btn_more > .arrow_wrap > img{
  display: block;
  margin: 0 !important;
}
.btn_more, .btn_more:hover { font-weight: 400 !important; }

#sectionContact .fcontrol {
    position: relative;
    border: 1px solid #515272;
    border-radius: 6px;
    background: #0c1140;
}
/* ✅ section0(비주얼)에서만 가로 넘침 차단 */
@media (max-width: 999px) {
  #section0,
  #section0 .fp-tableCell,
  #section0 .visual_wrapper,
  #section0 .main_visual {
    overflow-x: hidden !important;
    max-width: 100% !important;
  }

  /* ✅ slick이 만든 내부 레이어가 밖으로 튀는 케이스 강제 클립 */
  #section0 .slick-list {
    overflow: hidden !important;
    max-width: 100% !important;
  }

  /* ✅ 혹시 ul에 flex 같은게 걸려있으면 slick 레이아웃 깨지면서 overflow 생김 */
  #section0 .visual_ul {
    display: block !important;
    max-width: 100% !important;
  }
} 
