/* 메인공통 */

h3.main_tit {position: relative; padding: 0 0 0 82px; font-size: 30px; font-weight: 500; color: #111; letter-spacing: -1px;}
h3.main_tit:before {display: block; position: absolute; top: 50%; transform: translateY(-50%); left: 0; width: 20px; height: 6px; background: #ff8b00; content: '';}
h3.main_tit span {display: inline-block; line-height: 42px; font-size: 16px; color: #666; vertical-align: top;}

h4.sub_tit {display: block; margin: 35px 0 20px 0; font-size: 22px; font-weight: 500; color: #333; letter-spacing: -1px;}
h4.sub_tit span {display: inline-block; line-height: 32px; font-size: 14px; color: #999; vertical-align: top;}


.btn_more {display: inline-block; box-sizing: border-box; padding: 0 50px 0 15px; height: 32px; line-height: 28px; font-family: 'Noto Sans KR', 'sans-serif'; font-size: 16px; border-radius: 0 10px 0 0; transition: all 0.3s;}

.more01 {color: #fff; background: #ff8b00 url(../images/main/arrow_more.png) no-repeat 90% center; border: 1px solid #ff8b00;}
/*.more01:hover {background-color: #fff; color: #666;}*/
.more02 {color: #666; background: #fff url(../images/main/arrow_more.png) no-repeat 90% center; border: 1px solid #ff8b00;}
.more03 {color: #666; background: #fff url(../images/main/arrow_more03.png) no-repeat 90% center; border: 1px solid #3a9225;}
/*.more02:hover {background-color: #ff8b00; color: #fff;}*/



/* main visual */

.visual_wrap {position: relative; overflow: hidden; width: 100%; height:100%; padding: 20px;}
.visual_wrap .visual_box {position: relative;}
.visual_wrap .visual_box img {vertical-align: top;}
.visual_wrap .visual_box .txt_box {position: absolute; top: 50%; transform: translateY(-50%); right: 0; box-sizing: border-box; padding: 50px 75px 40px; border-radius: 25px 0 0 0; background: #fff; width: 595px;}
.visual_wrap .visual_box .txt_box strong {display: block; position: relative; line-height: 1.4; font-size: 30px; font-weight: 500; color: #111; letter-spacing: -1px;}
.visual_wrap .visual_box .txt_box strong:before {display: block; position: absolute; top: 18px; left: -105px; width: 60px; height: 4px; background-color: #ff8b00; content: '';}
.visual_wrap .visual_box .txt_box p {padding: 20px 0 30px; font-family: 'Noto Sans KR', 'sans-serif'; font-size: 16px; line-height: 1.6; color: #999;}

.visual_wrap .slick-prev, .visual_wrap .slick-next {box-sizing: border-box; top: 67px; transform: none; width: 40px; height: 40px; border: 1px solid #34699a;}
.visual_wrap .slick-prev {right: 146px; background: url(../images/main/arrow_left.png) no-repeat center;}
.visual_wrap .slick-next {right: 104px; background: url(../images/main/arrow_right.png) no-repeat center;}
.visual_wrap .slick-dots {position: absolute; right: 104px; left: auto; bottom: 150px;}
.visual_wrap .slick-dots li {display: block; position: relative; width: 20px; height: 2px; margin: 3px 0 0 0;}
.visual_wrap .slick-dots li button {position: absolute; right: 0; width: 12px; height: 2px; background-color: #d5e1e7; vertical-align: bottom;}
.visual_wrap .slick-dots li.slick-active button {width: 20px; height: 2px; background-color: #34699a;}




/* 새소식 */
.main_con01 {position: relative;}
.main_con01 .news {position: relative; box-sizing: border-box; width: 100%; max-width: 1015px; padding: 20px;}
.main_con01 .news ul {box-sizing: border-box; width: 100%; padding: 0 0 0 82px; margin: 20px 0 0 0;}
.main_con01 .news ul:after {display: block; clear: both; *zoom: 1; content: '';}
.main_con01 .news ul li {float: left; width: 30%; margin-left: 5%;}
.main_con01 .news ul li:first-child {margin: 0;}
.main_con01 .news ul li a {display: block;}
.main_con01 .news ul li .img_box {overflow: hidden; width: 100%; height: 178px; border-radius: 0 25px 0 0;}
.main_con01 .news ul li .img_box img {width: 100%; vertical-align: top;}
.main_con01 .news ul li .txt_box {display: block; position: relative; top: -30px; box-sizing: border-box; width: 90%; padding: 20px; margin: 0 auto; background-color: #fff;}
.main_con01 .news ul li .txt_box p {display: -webkit-box; overflow: hidden; height: 3.2em; line-height: 1.6em; font-size: 16px; color:#333; text-overflow: ellipsis; word-break: break-all; -webkit-line-clamp: 2; -webkit-box-orient: vertical;}
.main_con01 .news ul li .txt_box span {display: block; margin: 15px 0 0 0; font-family: 'Noto Sans KR', 'sans-serif'; font-size: 16px; color: #999;}
.main_con01 .news .btn_more {position: absolute; top: 20px; right: 20px;}




/* KEYSCION BNN */
.key_bnn {position: relative; width: 100%; max-width: 1097px; height: 250px; margin: 0 0 50px 0;}
.key_bnn .txt_box {position: absolute; top: 50%; transform: translateY(-50%); left: 0; box-sizing: border-box; width: 100%; max-width: 512px; padding: 30px 75px; border-radius: 0 25px 0 0; background: -webkit-radial-gradient(top right,#ffe155,#ff8b00,#ff5800); background: radial-gradient(at top right,#ffe155,#ff8b00,#ff5800); z-index: 1;}
.key_bnn .txt_box strong {display: inline-block; box-sizing: border-box; padding: 0 25px; height: 50px; line-height: 42px; font-size: 20px; font-weight: 500; color: #fff; border: 4px solid #fff; letter-spacing: -1px;}
.key_bnn .txt_box p {padding: 15px 0 0 30px; font-family: 'Noto Sans KR', 'sans-serif'; font-size: 16px; line-height: 1.6; color: #fff;}
.key_bnn .img_box {position: absolute; right: 0; overflow: hidden; border-radius: 0 25px 0 0;}
.key_bnn .img_box img {vertical-align: top;}




/* 포트폴리오 */

.main_con02 {position: relative; box-sizing: border-box; width: 100%; padding: 20px;}
.main_con02 h3.main_tit:before {background: #3a9225;}
.performance {position: relative; width: 100%; max-width: 995px; margin: 0 auto;}
.performance ul:after {display: block; clear: both; *zoom: 1; content: '';}
.performance ul li {position: relative; float: left; width: 48%; margin: 0 0 40px 4%;}
.performance ul li:nth-child(2n + 1) {margin: 0 0 40px 0;}
.performance ul li a {display: block;}
.performance ul li .img_box {overflow: hidden; width: 278px; height: 185px; border-radius: 25px 0 0 0;}
.performance ul li .img_box img {width: 100%; vertical-align: top;}
.performance ul li .txt_box {box-sizing: border-box; position: absolute; top: 50%; transform: translateY(-50%); right: 0; width: 300px; padding: 20px; background: #fff;}
.performance ul li .txt_box span {display: block; line-height: 26px; font-size: 14px; color: #666; vertical-align: top;}
.performance ul li .txt_box span em {display: inline-block; height: 26px; padding: 0 10px; margin: 0 5px 0 0; font-size: 14px; color: #fff; background-color: #3a9225;}
.performance ul li .txt_box strong {display: block; overflow: hidden; width: 100%; height: 30px; line-height: 30px; font-size: 16px; font-weight: 400; color: #3a9225; text-overflow: ellipsis; white-space: nowrap; word-break: break-all;}
.performance ul li .txt_box p {display: -webkit-box; overflow: hidden; height: 2.6em; line-height: 1.3em; font-family: 'Noto Sans KR', 'sans-serif'; font-size: 16px; color:#999; text-overflow: ellipsis; word-break: break-all; -webkit-line-clamp: 2; -webkit-box-orient: vertical;}
.performance .btn_more {position: absolute; top: 0; right: 0;}

.gallery {position: relative; width: 100%; max-width: 995px; margin: 0 auto;}
.gallery ul:after {display: block; clear: both; *zoom: 1; content: '';}
.gallery ul li {float: left; width: 18%; margin: 0 0 30px 2.5%;}
.gallery ul li:nth-child(5n + 1) {margin: 0 0 30px 0;}
.gallery ul li a {display: block;}
.gallery ul li .img_box {position: relative; overflow: hidden; border-radius: 0 25px 0 0;}
.gallery ul li .img_box:before {display: block; box-sizing: border-box; position: absolute; top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100%; border: none; border-radius: 0 25px 0 0;  transition: all 0.3s; content: '';}
.gallery ul li .img_box img {width: 100%; vertical-align: top;}
.gallery ul li a:hover .img_box:before {border: 3px solid #3a9225;}
.gallery .btn_more {position: absolute; top: 0; right: 0;}


/* 협력업체 */

.cooperate_wrap {width: 995px; margin: 30px auto 0; background: #fff;}
.cooperate_wrap a {display: block; position: relative; height: 70px; line-height: 70px; text-align: center;}
.cooperate_wrap a:before {display: block; position: absolute; top: 50%; transform: translateY(-50%); left: 0; width: 1px; height: 30px; background: #d5e1e7; content: '';}
.cooperate_wrap a img {width: 144px; vertical-align: middle;}
.cooperate_wrap .slick-current a:before {display: none;}
.cooperate_wrap .slick-prev, .cooperate_wrap .slick-next {top: 0; width: 72px; height: 70px; transform: none;}
.cooperate_wrap .slick-prev {left: -102px; background: #34699a url(../images/main/arrow_left02.png) no-repeat center;}
.cooperate_wrap .slick-next {right: -102px; background: #34699a url(../images/main/arrow_right02.png) no-repeat center;}


/* 하단 배너 */

.bnn_box {box-sizing: border-box; padding: 30px; margin: 30px auto 0; background-color: #fff; box-shadow: 5px 5px 16px rgba(92, 141, 194, 0.1);}
.bnn_box ul {}
.bnn_box ul:after {display: block; clear: both; *zoom: 1; content: '';}
.bnn_box ul li {float: left; box-sizing: border-box; width: 32%; height: 100px; margin: 0 2% 0 0; padding: 25px; background-color: #f2f6f8; border-radius: 0 10px 0 0;}
.bnn_box ul li:last-child {margin: 0;}
.bnn_box ul li a {display: block;}
.bnn_box ul li .img_box {float: left; padding: 0 30px 0 15px;}
.bnn_box ul li .img_box img {vertical-align: top;}
.bnn_box ul li .txt_box {float: left; padding: 0 0 0 30px; border-left: 1px solid #d5e1e7;}
.bnn_box ul li .txt_box strong {display: block; margin: 0 0 5px 0; font-size: 16px; font-weight: 400; color: #334151;}
.bnn_box ul li .txt_box span {font-size: 16px; color: #34699a;}



























@media screen and (min-width:1025px) and (max-width: 1200px) {
	.visual_wrap .visual_box img {width: 100%;}
	.visual_wrap .slick-prev, .visual_wrap .slick-next {display: none !important;}
	.visual_wrap .slick-dots {right: 50px; bottom: 130px;}
	
	.cooperate.inner {padding: 0 70px; margin: 30px auto 0;}
	.cooperate_wrap {width: 100%; margin: 0 auto;}
	.cooperate_wrap .slick-prev {left: -70px;}
	.cooperate_wrap .slick-next {right: -70px;}
	
	.bnn_box ul li {padding: 25px 10px;}
	.bnn_box ul li .img_box {padding: 0 15px 0 10px;}
	.bnn_box ul li .txt_box {padding: 0 0 0 15px;}
	
}

/* tablet */
@media screen and (min-width:768px) and (max-width: 1024px) {
	.visual_wrap .visual_box img {width: 100%;}
	.visual_wrap .visual_box .txt_box {position: static; padding: 40px 30px; transform: none; border-radius: 0; width: 100%;}
	.visual_wrap .visual_box .txt_box strong {font-size: 26px;}
	.visual_wrap .visual_box .txt_box strong:before {top: 15px; left: -30px; width: 15px; height: 4px;}
	.visual_wrap .slick-prev, .visual_wrap .slick-next {display: none !important;}
	.visual_wrap .slick-dots {display: none !important;}
	
	.performance ul li .txt_box {width: 70%; padding: 15px 20px;}
	
	.cooperate.inner {padding: 0 70px; margin: 30px auto 0;}
	.cooperate_wrap {width: 100%; margin: 0 auto;}
	.cooperate_wrap .slick-prev {left: -70px;}
	.cooperate_wrap .slick-next {right: -70px;}
	
	.bnn_box ul li {height: auto;}
	.bnn_box ul li .img_box {float: none; padding: 0; text-align: center;}
	.bnn_box ul li .txt_box {float: none; margin: 10px 0 0 0; padding: 10px 0 0 0; border-left: 0; border-top: 1px solid #d5e1e7;}
 }  
  

@media screen and (min-width:481px) and (max-width:767px) {
	h3.main_tit {padding: 0; font-size: 26px;}
	h3.main_tit:before {top: 15px; left: -30px; width: 15px; height: 6px;}
	h3.main_tit span {font-size: 14px;}
	
	.btn_more {font-size: 14px;}
	
	.visual_wrap {padding: 0; overflow: hidden; border-radius: 15px 0 0 0; box-shadow: 5px 5px 16px 0 rgba(29, 97, 171, 0.1);}
	.visual_wrap .visual_box img {width: 100%;}
	.visual_wrap .visual_box .txt_box {position: static; padding: 40px 30px; transform: none; border-radius: 0; width: 100%;}
	.visual_wrap .visual_box .txt_box strong {font-size: 26px;}
	.visual_wrap .visual_box .txt_box strong:before {top: 15px; left: -30px; width: 15px; height: 4px;}
	.visual_wrap .slick-prev, .visual_wrap .slick-next {display: none !important;}
	.visual_wrap .slick-dots {display: none !important;}
	
	.main_wrap {margin: 20px 0 0 0; padding: 0; background: #fff; box-shadow: 5px 5px 16px 0 rgba(29, 97, 171, 0.1);}
	
	.main_con01 .news {padding: 40px 30px;}
	.main_con01 .news ul {padding: 0;}
	.main_con01 .news ul li {float: none; width: 100%; margin: 0 0 20px 0;}
	.main_con01 .news ul li:first-child {margin: 0 0 20px 0;}
	.main_con01 .news ul li a {position: relative;}
	.main_con01 .news ul li .img_box {width: 50%; height: 150px;}
	.main_con01 .news ul li .txt_box {position: absolute; top: 50%; transform: translateY(-50%); right: 0; width: 60%;}
	.main_con01 .news ul li .txt_box p {line-height: 1.4em; height: 2.8em;}
	.main_con01 .news .btn_more {top: 40px; right: 30px;}
	
	.key_bnn {height: auto;}
	.key_bnn .txt_box {top: 0; transform: none; left: -20px; padding: 25px;}
	.key_bnn .txt_box p {padding: 20px 0 0 0;}
	.key_bnn .img_box {position: static; width: 100%; padding: 150px 0 0 0; border-radius: 0;}
	.key_bnn .img_box img {width: 100%;}
	
	.main_con02 {padding: 40px 30px;}
	.performance ul li {float: none; width: 100%; margin: 0 0 20px 0; border-radius: 15px 0 0 0;}
	.performance ul li:nth-child(2n + 1) {margin: 0 0 20px 0;}
	.performance ul li .img_box {width: 55%; height: auto;}
	.performance ul li .txt_box {width: 65%; padding: 15px 0 15px 20px;}
	.performance ul li .txt_box span {}
	.performance ul li .txt_box span em {padding: 0 5px; margin: 0;}
	
	.gallery ul li {width: 32%; margin: 0 0 2% 2%;}
	.gallery ul li:nth-child(5n + 1) {margin: 0 0 2% 2%;}
	.gallery ul li:nth-child(3n + 1) {margin: 0 0 2% 0%;}
	.gallery ul li:last-child {display: none;}
	
	.cooperate.inner {padding: 0 70px;}
	.cooperate_wrap {width: 100%; margin: 0 auto;}
	.cooperate_wrap .slick-prev {left: -70px;}
	.cooperate_wrap .slick-next {right: -70px;}
	
	.bnn_box ul li {float: none; width: 100%; margin: 0 0 30px 0;}

}


/* mobile */
@media screen and (max-width:480px) {
	h3.main_tit {padding: 0; font-size: 26px;}
	h3.main_tit:before {top: 15px; left: -20px; width: 15px; height: 6px;}
	h3.main_tit span {display: block; line-height: 22px; font-size: 14px; font-weight: 400;}
	
	h4.sub_tit span {display: block; line-height: 22px; font-size: 14px; font-weight: 400;}
	
	.btn_more {font-size: 14px;}
	
	.visual_wrap {padding: 0; overflow: hidden; border-radius: 15px 0 0 0; box-shadow: 5px 5px 16px 0 rgba(29, 97, 171, 0.1);}
	.visual_wrap .visual_box img {width: 100%;}
	.visual_wrap .visual_box .txt_box {position: static; padding: 40px 30px; transform: none; border-radius: 0; width: 100%;}
	.visual_wrap .visual_box .txt_box strong {font-size: 22px;}
	.visual_wrap .visual_box .txt_box strong:before {top: 15px; left: -30px; width: 15px; height: 4px;}
	.visual_wrap .visual_box .txt_box p {font-size: 14px;}
	.visual_wrap .slick-prev, .visual_wrap .slick-next {display: none !important;}
	.visual_wrap .slick-dots {display: none !important;}
	
	.main_wrap {margin: 20px 0 0 0; padding: 0; background: #fff; box-shadow: 5px 5px 16px 0 rgba(29, 97, 171, 0.1);}
	
	.main_con01 .news {padding: 30px 20px;}
	.main_con01 .news ul {padding: 0;}
	.main_con01 .news ul li {float: none; width: 100%; margin: 0 0 20px 0;}
	.main_con01 .news ul li:first-child {margin: 0 0 20px 0;}
	.main_con01 .news ul li a {position: relative;}
	.main_con01 .news ul li .img_box {width: 100%; height: auto;}
	.main_con01 .news ul li .txt_box {position: static; width: 100%; border: 1px solid #e1e1e1;}
	.main_con01 .news ul li .txt_box p {line-height: 1.4em; height: 2.8em; font-size: 14px;}
	.main_con01 .news ul li .txt_box span {margin: 0; font-size: 12px;}
	.main_con01 .news .btn_more {top: 30px; right: 20px; padding: 0 30px 0 15px;}
	
	.key_bnn {height: auto;}
	.key_bnn .txt_box {top: 0; transform: none; left: -20px; padding: 25px;}
	.key_bnn .txt_box strong {font-size: 16px;}
	.key_bnn .txt_box p {padding: 20px 0 0 0; font-size: 14px;}
	.key_bnn .img_box {position: static; width: 100%; padding: 150px 0 0 0; border-radius: 0;}
	.key_bnn .img_box img {height: 250px; transform: translateX(-10%);}
	
	.main_con02 {padding: 30px 20px;}
	.performance ul li {float: none; width: 100%; margin: 0 0 20px 0; border-radius: 15px 0 0 0;}
	.performance ul li:nth-child(2n + 1) {margin: 0 0 20px 0;}
	.performance ul li .img_box {width: 100%; height: auto;}
	.performance ul li .txt_box {position: static; top: auto; transform: none; width: 100%; padding: 15px;}
	.performance ul li .txt_box strong {display: -webkit-box; overflow: hidden; height: 2.8em; line-height: 1.4em; margin: 5px 0 0 0; font-size: 14px; font-weight: 400; color: #3a9225; text-overflow: ellipsis; word-break: break-all; -webkit-line-clamp: 2; -webkit-box-orient: vertical; white-space: normal;}
	.performance ul li .txt_box p {display: block; overflow: hidden; width: 100%; height: auto; line-height: 1.3; margin: 5px 0 0 0; font-family: 'Noto Sans KR', 'sans-serif'; font-size: 14px; color:#999; text-overflow: ellipsis; word-break: break-all; -webkit-line-clamp: unset; -webkit-box-orient: unset; white-space: nowrap;}
	.performance ul li .txt_box span {font-size: 12px;}
	.performance ul li .txt_box span em {padding: 0 5px; margin: 0; font-size: 12px;}
	
	.gallery ul li {width: 32%; margin: 0 0 2% 2%;}
	.gallery ul li:nth-child(5n + 1) {margin: 0 0 2% 2%;}
	.gallery ul li:nth-child(3n + 1) {margin: 0 0 2% 0%;}
	.gallery ul li:last-child {display: none;}
	.gallery ul li .img_box {border-radius: 0 15px 0 0;}
	.gallery ul li .img_box:before {border-radius: 0 15px 0 0;}
	
	.cooperate.inner {padding: 0 70px;}
	.cooperate_wrap {width: 100%; margin: 0 auto;}
	.cooperate_wrap .slick-prev {left: -70px;}
	.cooperate_wrap .slick-next {right: -70px;}
	
	.bnn_box {padding: 20px;}
	.bnn_box ul li {float: none; width: 100%; margin: 0 0 30px 0; padding: 25px 0 25px 10px;}
	.bnn_box ul li .img_box {padding: 0 10px 0 0px;}
	.bnn_box ul li .txt_box {padding: 0 0 0 10px;}
	.bnn_box ul li .txt_box span {font-size: 14px;}
}
















