@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@300;400;500;700;900&display=swap');


.clear:after { 
    content:""; 
    display:block; 
    clear:both;
}
* { margin:0; padding:0; outline:none; }
body {
line-height:1; font-size:14px; font-weight:400; color:#000; font-family: 'Noto Sans KR','Apple SD Gothic Neo', sans-serif; word-wrap: break-word; word-break: keep-all;
overflow-x: hidden;
}
h1, h2, h3, h4, h5, h6 { margin:0; font-family: 'Noto Sans KR', sans-serif; line-height:1; font-size: 1em; }
ul, ol { list-style:none; margin:0; }
a { outline:0; text-decoration:none; }
a:focus { outline:none; }
img { border:none; outline:none; max-width: 100%; }
p { margin:0; padding:0; word-wrap: break-word; word-break: keep-all;  }
button { border: none; background: none; }

/* 탭 초기화 */
.tabBox1 .nav { border: none; }
.tabBox1 .nav > li { margin: 0; }
.tabBox1 .nav > li > a { padding: 0; margin: 0; border-radius:0; border: 0; }
.tabBox1 .nav > li:hover > a { background: none; } 
.tabBox1 .nav > li.active > a { border: none;  }


/* html 폰트 사이즈 */
@media (max-width:1200px) {
	html { font-size: 8.5px; }
}
@media (max-width:991px) {
	html { font-size: 8px; }
}
@media (max-width:768px) {
	html { font-size: 7.5px; }
}
@media (max-width:580px) {
	html { font-size: 6.5px; }
}

/*
mainColor
#0076c0

*/

:root {

--subtitle-text-width : 41.3vw;

}

/* container */
.containerV1 { width: 100%; margin: 0 auto; padding: 0 0px; }


.wrap { padding-top: 10rem; }
@media (max-width:991px) {
	.wrap { }
}




/*--------------------------------------------------- 해드세팅 ----------------------------------------------------------------------------*/
.header_wrap { 
position:fixed; right:0; top:0; width:100%; z-index:2000; transition:0.4s; background: #fff;
}

#header .containerV1 { 
-ms-display:flex; -ms-justify-content:space-between; -ms-align-items:center;
display:flex; justify-content:space-between; align-items:center;
padding: 0 2.60vw;
}

.logo { min-width: 168px;} 
.logo a img { width: 60%;}
.logo a .logo_mob {display: none;}

@media (max-width:768px) {
	.logo a .logo_pc {display: none;}
	.logo a .logo_mob {display: block;}
	.logo { min-width: 135px;} 
}


/* menu */
/*---------------------------------------- outer ---------------------------------------------*/
#h_menu .outer { -ms-display:flex; display:flex; }
#h_menu .outer > li { position:relative; } 
#h_menu .outer > li > a {
display:block; font-size:max(20px,0.94vw); font-weight:900; text-align:center; transition:0.4s;
height:13rem; line-height:13rem; color: #000; padding: 0 max(20px, 2.08vw);
}

/*---------------------------------------- //outer ---------------------------------------------*/


/*---------------------------------------- inner ---------------------------------------------*/
#h_menu .outer > li > .inner {
position:absolute; right:0; z-index:1; width:100%; background:rgba( 255,255,255,0.8 ); padding:10px 0; display:none; 
}
#h_menu .outer > li > .inner > li > a  { display:block; transition:all 0.4s; padding:15px 10px; font-size:max(13px, 0.78vw); text-align: center; line-height: 1.2; }
/*---------------------------------------- //inner ---------------------------------------------*/



/* hover */
#h_menu .outer > li:hover > a { color: #ff8ad8; }
#h_menu .outer:hover > li > .inner { display:block; }
#h_menu .outer > li > .inner > li > a:hover { color:#0076c0; background:rgba(36,151,211,.1); } 


/* 스크롤 했을 때 해드 효과 */
.header_wrap.scroll { box-shadow:0 0 10px rgba(0,0,0,0.2); }


/* 페이지 및 게시판 이동하면 해당 메뉴 스타일 */
#h_menu .outer > li > a.on { color:#ff8ad8; } 




@media all and (max-width: 1920px) {

	#h_menu .outer > li > a {height: 10rem; line-height: 10rem;}
}




@media (max-width:991px) {
/*	.logo { width: 14.64vw;} */
	/* .logo a { display: block; width: 100%;} */


	
	#header .containerV1 { height: 10rem; padding: 0 15px;}

	/* 모바일 열기 버튼 */
	.header_wrap .open_btn { font-size:25px; cursor:pointer; color:#000;}


	/* menu */
	.menu_box { 
	background-color:#888; width: 20em; height: 100%; 
	position: fixed; right:0; top: 0; z-index:9999; margin-right:-20em; transition:margin-right 0.3s;
	}
	#h_menu {
	width: 20em; height: 100%; overflow-x: hidden; overflow-y: auto; position: absolute;  top:0; 
	}

	/* 모바일닫기버튼 */
	.close_btn { width:50px; height:50px; margin-right:auto; margin-left:0; cursor:pointer; }
	.close_btn > i { display:block; color:#fff; text-align:center; line-height:50px; font-size:30px; }
	
	

	/*---------------------------------------- outer ---------------------------------------------*/
	#h_menu .outer { flex-wrap:wrap; padding:30px 0; border-top:1px solid rgba(255,255,255,.1); }
	#h_menu .outer > li { width:100%; margin-right: 0; }
	#h_menu .outer > li > a { 
	padding:12px 20px; font-weight:500; color:rgba(255,255,255,0.7); text-align:left; height:auto; line-height:1; border-bottom:1px solid rgba(255,255,255,.4);
	font-size: 16px;
	}
	/*---------------------------------------- //outer ---------------------------------------------*/

	/*---------------------------------------- inner ---------------------------------------------*/
	#h_menu .outer > li > .inner { 
	position:static; width:100%; padding:0; margin-left:30px; border-left:1px solid rgba(255,255,255,0.4); background:none; border-top:none; border-bottom: none;
	height: auto !important;
	}
	#h_menu .outer > li > .inner > li:last-child > a { border-bottom:none; }
	#h_menu .outer > li > .inner > li > a { padding:10px 0 10px 15px; font-size: 14px; position:relative; text-align:left; color:#fff; }
	#h_menu .outer > li > .inner > li > a:before { 
	content:''; position:absolute; left:-3px; top:50%; transform:translateY(-50%); width:6px; height:6px; border-radius:50%; background:#fff; 
	}
	/*---------------------------------------- //inner ---------------------------------------------*/

	/* hover */
	#h_menu .outer > li:hover > a { color:#fff; }
	#h_menu .outer:hover > li > .inner { display:none; } /* 모바일일때 inner 나오게 하는 후버 효과 X */
	#h_menu .outer > li > .inner > li > a:hover { color:#fff; background:none; } 


	/* 모바일메뉴박스 보이게 하는 클래스 */
	.menu_box.inactive { margin-right:0; } 

	/* 모바일에서 outer li 클릭했을때 inner 나오는 효과 */
	#h_menu .outer > li.on > a { border-bottom:1px solid transparent; }
	#h_menu .outer > li.on .inner { display:block; }

	/* 페이지 및 게시판 이동하면 해당 메뉴 스타일 */
	#h_menu .outer > li > a.on { color:#fff; } 
}

/*--------------------------------------------------- 해드세팅 끝 ----------------------------------------------------------------------------*/



/*--------------------------------------------------- 인덱스세팅 ----------------------------------------------------------------------------*/

.sec1_frame {padding: 100px 0; line-height: 1.6;}
.sec1_img1 {padding-bottom: 30px;}
.sec1_text_box1 {color: #565656;}
.sec1_text1 {font-size: 4.5rem; font-weight: 900; color: #0076c0; padding-bottom: 0px;}
.sec1_text2 {font-size: 2.5rem; padding-bottom: 10px;}
.sec1_text3 {font-size: 2.5rem; font-weight: 900; padding-bottom: 10px;}
.sec1_text4 {font-size: 16px; padding-bottom:70px;}
.sec1_text5 {font-size: 15px; width: 170px; color: #0076c0; border: 2px solid #0076c0; padding:10px; text-align: center; transition:1s;}
.sec1_text5:hover {color: #fff; background-color: #0076c0; transition:1s;}
.sec1_text6 {width: 170px; display: inline-block;}

@media (max-width:991px) {
.sec1_img1 {margin: 0 auto; text-align: center;}
.sec1_text4 {font-size: 16px; padding-bottom:30px;}
}



.sec2_frame {line-height: 1.6; color: #fff; text-transform:uppercase; padding-bottom: 80px;}
.sec2_text_box1 {background-color: #0f9fdc; padding: 35px;}
.sec2_text_box2 {background-color: #0076c0; padding: 35px;}
.sec2_text_box3 {background-color: #6088c6; padding: 35px;}

.sec2_text1 {font-size: 20px; padding-bottom: 20px;}
.sec2_text2 {font-size: 40px; padding-bottom: 20px; font-weight: 700;}
.sec2_text3 {font-size: 18px; padding-bottom: 20px;}
.sec2_text4 {font-size: 15px; padding-bottom: 0px;}
.sec2_frame a {color: #fff;}


@media (min-width:992px) {
.sec2_frame .row {margin-left: 0; margin-right: 0;}
.sec2_frame .col-md-4 {padding-left: 0; padding-right: 0;}
}


@media screen and (min-width:992px) and (max-width:1220px) {
.sec2_text_box1, .sec2_text_box2, .sec2_text_box3{min-height:366px;}
}







.sec3_frame {padding: 70px 0 40px; line-height: 1.6; background-color: #f7f7f7;}
.sec3_text_box {padding-bottom: 30px;}
.sec3_icon1 {padding-bottom: 30px;}
.sec3_text1 {font-size: 25px; color: #000; font-weight: 700; padding-bottom:20px;}
.sec3_text2 {font-size: 16px; color: #707070; font-weight: 400; padding-bottom:20px;}
















/* sec4------------------------------------------------- */



.sec4_frame {background: url('img/sec4_frame_bg.jpg') no-repeat center center; padding: 120px 0;}

.sec4_frame{
		padding: 0;
		height: 80vh;
	}
	.sec4_container{
		width: 100%;
		display: flex;
		height: 100%;
	}
	.sec4_container .sec4_con_item{
		flex-basis:0;
		flex-grow: 1;
		display:flex;
		justify-content: center;
		align-items: center;
		cursor: pointer;
		transition: all 0.2s;
		position: relative;
		box-sizing: border-box;
	}
	.sec4_container .sec4_con_item:nth-of-type(1){
		border-right: 1px solid #fff;
	}

	.sec4_container .sec4_con_item:nth-of-type(2){
		border-right: 1px solid #fff;
	}

	.sec4_con_item_text_box{
		text-align: center;
		opacity: 1;
		visibility: visible;
		transition: all 0.2s;
	}

	.sec4_con_item::before{
		content: "";
		position: absolute;
		top:	 13px;
		width: 100%;
		height: 98%;
		background:#000;
		opacity: 0;
		visibility: hidden;
		transition: all 0.2s;
	}
	
	.sec4_con_item:nth-of-type(1):hover:before{
		opacity: 45%;
		visibility: visible;
	}
	.sec4_con_item:nth-of-type(2):hover:before{
		opacity: 45%;
		visibility: visible;
	}
	.sec4_con_item:nth-of-type(3):hover:before{
		opacity: 45%;
		visibility: visible;
	}
	
.sec4_container .sec4_con_item:nth-of-type(1):hover .sec4_con_item_text_box{
		opacity: 0;
		visibility: hidden;
	}
	.sec4_container .sec4_con_item:nth-of-type(2):hover .sec4_con_item_text_box{
		opacity: 0;
		visibility: hidden;
	}
	.sec4_container .sec4_con_item:nth-of-type(3):hover .sec4_con_item_text_box{
		opacity: 0;
		visibility: hidden;
	}
	.sec4_container .sec4_con_item:nth-of-type(1):hover .sec4_con_item_hover_box{
		opacity: 1;
		visibility: visible;

	}
	.sec4_container .sec4_con_item:nth-of-type(2):hover .sec4_con_item_hover_box{
		opacity: 1;
		visibility: visible;

	}
	.sec4_container .sec4_con_item:nth-of-type(3):hover .sec4_con_item_hover_box{
		opacity: 1;
		visibility: visible;

	}

	.sec4_con_item_text_box h3{
		font-size: 3.5rem;
		margin-bottom: 10px;
		color: #fff;
	}
	.sec4_con_item_text_box p{
		font-size: 2rem;
		color: #fff;
	}

	.sec4_con_item_hover_box{
		width: 100%;
		height: 100%;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		transition: all 0.3s;
		visibility: hidden;
		opacity: 0;
		position: absolute;
		top: 0;
		z-index: 2;
	}

	.sec4_container .sec4_con_item_hover_box{
		border-right: 1px solid #fff;
	}

	.sec4_container .sec4_con_item_hover_box:nth-last-child(1){
		border-right: none;
	}
	
	.sec4_con_item_hover_menu_box{
		justify-content: center;
		align-items: center;
		height: 39.5vh;
	}

	.sec4_con_item_hover_text_box{
		text-align: center;	
	}

	.sec4_con_item_hover_text_box h3{
		font-size: 3.5rem;
		margin-bottom: 10px;
		color: #fff;
	}
	.sec4_con_item_hover_text_box p{
		font-size: 2rem;
		color: #fff;
		font-weight: 100;
	}

	ul.sec4_con_item_hover_menu{
		display:flex;
		flex-direction: column;
		margin-top: 20px;
		align-items: center;
	}

	ul.sec4_con_item_hover_menu li{
		text-align: center;
		width: 200px;
		height: 50px;
		border: 1px solid #fff;
		margin-bottom: 7px;
		line-height: 50px;
	}

	ul.sec4_con_item_hover_menu a{
		display:block;
		width: 100%;
		height: 100%;
		text-align: center;
		color:#fff;
		font-size :2rem;
		transition: all 0.2s;
	}

	ul.sec4_con_item_hover_menu a:hover {
		background: #fff;
		color: #000;
	}



	@media all and (max-width: 1024px) {
		.sec4_frame{
			height: 630px;
		}
		.sec4_container{
			flex-direction: column;
			height: 100%;
		}
		
		.sec4_container .sec4_con_item{
			width: 100%;
			height: 210px;
			border-bottom: 1px solid #fff;
		}
		.sec4_container .sec4_con_item:nth-of-type(1), .sec4_container .sec4_con_item:nth-of-type(2){
			border-right: none;
		}

		.sec4_container .sec4_con_item_text_box{
			display: none;
		}

		.sec4_con_item_hover_box{
			opacity:1;
			visibility: visible;
		}
		.sec4_con_item:nth-of-type(1):hover:before{
		opacity: 25%;
		}
		.sec4_con_item:nth-of-type(2):hover:before{
			opacity: 25%;
		}
		.sec4_con_item:nth-of-type(3):hover:before{
			opacity: 25%;
		}
		.sec4_con_item::before{
			content:"";
			opacity: 25%;
			visibility: visible;
			height: 94%;
		}
		
		.sec4_container .sec4_con_item:nth-of-type(3){
			border-bottom: none;
		}
		
		.sec4_con_item_hover_menu_box{
			width: 95%;
			margin-top: 30px;
			height: auto;
		}

		ul.sec4_con_item_hover_menu{
			width: 100%;
			flex-direction: row;
			justify-content: center;
		}
		.sec4_con_item:nth-of-type(1) ul.sec4_con_item_hover_menu li{
			width: 90vw;
		}
		ul.sec4_con_item_hover_menu li{
			width: 90vw;
			margin-left: 5px;
			margin-right: 5px;
		}
		ul.sec4_con_item_hover_menu a:hover {
		background: none;
		color: #fff;
	}

	}

	@media all and (max-width: 580px) {
		.sec4_con_item_hover_text_box{
			margin-bottom: 30px;
		}
		ul.sec4_con_item_hover_menu{
			margin-top: 0;
		}

	}


	/* sec4 끝---------------- */


















.sec5_frame {padding: 100px 0; line-height: 1.6;}

.sec5_frame .sec5_text_box1 {}
.sec5_frame .sec5_text_box1 .sec5_top_text0 {display: block; width: 100%;  border-bottom: 1px solid #000;}
.sec5_frame .sec5_text_box1 .sec5_top_text1 {float: left;}
.sec5_frame .sec5_text_box1 .sec5_top_text3 {font-size: 30px; font-weight: 700; line-height:30px;}
.sec5_frame .sec5_text_box1 .sec5_top_text2 {float: right;}
.sec5_frame .sec5_text_box1 .sec5_top_plus {font-size: 45px; line-height: 48px; font-weight: 400; width: 48px; height: 48px; background-color: #0076c0; text-align: center; color: #fff;}

.sec5_frame .sec5_text_box2 {padding-bottom: 80px;}


.sec5_frame .sec5_text_box3 {}
.sec5_frame .sec5_text_box3 .sec5_top_text4 {display: block; width: 100%;  border-bottom: 1px solid #000;}
.sec5_frame .sec5_text_box3 .sec5_top_text5 {font-size: 30px; font-weight: 700; line-height:55px;}

.sec5_frame .sec5_text_box3 .sec5_top_text6 {padding: 20px 0;}
.sec5_frame .sec5_text_box3 .sec5_top_text7 {font-size: 16px; line-height: 2; padding-bottom: 30px;}
.sec5_frame .sec5_text_box3 .sec5_top_text7 > div { position: relative; }
.sec5_frame .sec5_text_box3 .sec5_top_text7 > div > span { position: absolute; left: 0; top: 0; text-align: center;}
.sec5_frame .sec5_text_box3 .sec5_top_text7 > div > p { padding-left:25px; }

.sec5_frame .sec5_text_box4 {}
.sec5_frame .sec5_text_box4 .sec5_text1 {font-size: 18px; padding-bottom: 15px;}
.sec5_frame .sec5_text_box4 .sec5_text1 .sec5_text_span1 {width: 5px; height: 18px; background-color: #0076c0;}
.sec5_frame .sec5_text_box4 .sec5_text1 .sec5_text_span2 {font-weight: 900; padding-left: 10px; padding-right: 10px;}
.sec5_frame .sec5_text_box4 .sec5_text1 .sec5_text_span3 {}

.sec5_frame .p_map .wrap_controllers {display:none;}
.sec5_frame .root_daum_roughmap {width:100% !important;}

@media (max-width:991px) {
.sec5_frame .sec5_text_box2 {padding-bottom: 30px;}
}





/*--------------------------------------------------- 인덱스세팅 끝 ----------------------------------------------------------------------------*/



/*--------------------------------------------------- 푸터세팅 ----------------------------------------------------------------------------*/

/*--------------------------------------------------- 푸터세팅 끝 ----------------------------------------------------------------------------*/


/*--------------------------------------------------- 푸터세팅 인규 background: #121D35 ----------------------------------------------------------------------------*/
.ik_copy_frame {background: #646464; padding: 30px 2.6vw 20px 2.6vw;}
.ik_copy_frame .containerV1 {display: grid; grid-template-columns: repeat(3, 1fr);}
/*.ik_copy_frame .containerV1 .foot_logo_box {padding-left: 30px;}*/



.foot_logo_box img {max-width:180px;}

.ik_copy_frame a {color: #fff;}

.ik_copy_frame .foot_listBox {display: flex; flex-direction: column; align-items: center; width: 100%; flex-wrap: wrap;}
.ik_copy_frame .foot_listBox ul.list_item {display: flex; flex-wrap: wrap; justify-content: center;}
.ik_copy_frame .foot_listBox li{color: #aaa; font-size: min(3.71vw, 15px); font-weight: 300; line-height: 25px; position: relative;}
.ik_copy_frame .foot_listBox .foot_company {font-weight: bold; font-size: 16px; line-height: 35px; color: #fff;}
.ik_copy_frame .foot_listBox p {text-align: center;}
.ik_copy_frame .copy {color: #aaa; font-size: 15px; line-height: 1.4; font-weight: 300; text-align: center; padding-bottom: 5px;}
.ik_copy_frame .copy a {color: #aaa;}

.ik_copy_frame .foot_listBox .list_item li:nth-child(0) {margin-right: 20px;}
.ik_copy_frame .foot_listBox .list_item02 li:nth-child(0)::after {content: ""; position: absolute; height: 70%; width: 2px; background: #777; top: 52%;
right: -10px; transform: translateY(-52%);}


.ik_copy_frame .foot_sns {display: flex; justify-content: flex-end; padding-right: 2.08vw;}
.ik_copy_frame .foot_sns a {height: 50px; text-align: center;  border-bottom: 3px solid #fff; padding: 0 5px;}
.ik_copy_frame .foot_sns a i {font-size: 40px;}


 @media all and (max-width: 1070px) {
 		img.f_logo_mob {display: block;}
		.foot_logo_box img {max-width:130px;}
 		.ik_copy_frame {position: relative; padding-top: 40px;}
		.ik_copy_frame .containerV1 {grid-template-columns: repeat(1, 1fr);}
		.ik_copy_frame .containerV1 .foot_logo_box {padding-left: 0; margin: 0 auto;} 
		.ik_copy_frame .foot_listBox {width: 100%; margin-top: 30px;}
		.ik_copy_frame .foot_listBox ul.list_item {flex-wrap: wrap; justify-content: center;}
		.ik_copy_frame .foot_listBox .list_item li:nth-child(1) {margin-right: 10px;}
		.ik_copy_frame .foot_listBox ul.list_item li {margin-left: 0;}
		.ik_copy_frame .foot_listBox ul.list_item li::after {display: none;}
		.ik_copy_frame .foot_sns {padding-right: 0px; } 	
/*		.ik_copy_frame .foot_sns a {position: absolute; top: 50%; right: 25px; transform: translateY(-50%); padding: 0 0px 5px 0px;}*/
		.ik_copy_frame .foot_sns {justify-content: center; padding: 20px 0;}
		.ik_copy_frame .foot_sns a { font-size: min(5.71vw, 4rem); border-bottom-color: #777;}
		.ik_copy_frame .foot_sns a i { color: #777; }
		.ik_copy_frame p.copy {margin-top: 0;}
		.ik_copy_frame .foot_listBox .foot_company {font-size: 14px;}
		.ik_copy_frame .foot_listBox li {font-size: 13px;}
		.ik_copy_frame .foot_sns a {height: 40px;}
		.ik_copy_frame .foot_sns a i {font-size: 30px; }
	}
	 @media all and (max-width: 992px) {
		.ik_copy_frame {padding: 50px 15px; 5px 15px;}
	 }

 @media all and (max-width: 500px) {
	

 }



/* 서브페이지 패딩 */
.tmt_sub_frame { padding:40px 0 50px; min-height: 80vh; }
@media all and (max-width:991px) {
	.tmt_sub_frame { padding:0px 0px 50px;}
}



.sub_text_title {font-size: 40px; padding: 10px 0 30px 0; color: #000; font-weight: 700;}
.index_frame {}


@media all and (max-width: 500px) {
	.sub_text_title {font-size: 32px;}
}

/* b201 portpolio 하단 메뉴	*/ 



@media all and (max-width: 992px) {
	.div-tab-top.tabs ul.nav-tabs, .div-tab-bottom.tabs ul.nav-tabs {font-size: 18px;}
}

/* 게시판 및 게시판헤드 등 기타 버튼들 기본컬러 변경 */
.btn.btn-color {border: 1px solid #0076c0; background-color: #0076c0;}
.btn.active.btn-color, .btn.btn-color:hover, .btn.btn-color:focus, .btn.btn-color:active {background-color: #0076c0;}
.border-color, i.border-color, img.border-color {border-color: #0076c0;}









/* 포트폴리오 카테고리 */
.b201_frame {width: 100%; font-size:25px; font-family: 'Poppins', sans-serif; font-weight: 700; color: #000;}
.b201_frame .b201_box {width: 100%; padding-bottom:2%; padding-left: 1.98vw; padding: 0 1.98vw 2% 2.6vw;}
.b201_frame .b201_box > a .b201_fl {padding: 12px 24px 10px 0;}
.b201_frame .b201_fl {float: left; padding: 12px 12px 10px; }

.b201_frame .b201_box a:hover {color: #888;}
.b201_frame .b201_on {color: #888;}

@media all and (max-width: 991px) {
	.b201_frame .b201_box {padding: 0 15px 2% 15px;}
}

@media all and (max-width: 768px) {
	.b201_frame {font-size:18px;}
}