#container h4:before{content:""; display:block; clear:both; position:absolute; width:10px; height:10px; border-radius:3px; 
					left:0; top:50%; transform:translateY(-50%); border:3px solid #0bc594;}
#container h4{ font-size:1.4em; font-weight:400; color:#333; margin-bottom:15px; position:relative; padding-left:15px; text-align:left;}

/* 서브비주얼 */
#subvisual{
	position: relative;
	width:100%; position:relative; margin:0 auto; overflow:hidden;
}
#subvisual::after{
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.2);
}
#subvisual .visual_img{width:100%; height:300px; background:url(../img/main/mvisual02.jpg) no-repeat 50%/cover;}
#subvisual .slogan{text-align:center; top:130px;}
#subvisual .slogan p{color:#fff; margin-bottom:5px;}
#subvisual .slogan h2{text-align:center;}

@media (max-width: 991px) {
#subvisual{height:150px;}
#subvisual .visual_img{height:150px;}
#subvisual .slogan{ display:none;}
}

/*탭패널*/
ul.tab:after {display:block;visibility:hidden;clear:both;content:""}
ul.tab{padding-left:1px;zoom:1;border-bottom:1px solid #ccc;}
ul.tab li{float:left; display:block; text-align:center; margin-left:0px; margin-bottom:-1px;}
ul.tab li a{display:inline-block;position:relative;margin-left:-1px;padding:10px 12px; width:auto; border:1px solid #ccc; border-bottom:0;
			background:#E7E7E7; text-align:center;letter-spacing:-0.1em;line-height:1.2em; font-size:1.1em; cursor:pointer}
ul.tab li a.selected{background:#FFCF4D; color:#333; font-weight:bold; z-index:3; margin:0;}

ul.panel{clear:both; width:100%; padding-top:30px; box-shadow:none; background:none; z-index:1}
ul.panel li{padding:5px; min-height:300px;}
@media (max-width: 991px) {
ul.tab{border:0;}
ul.tab li{width:100%; padding:1px; float:none;}
ul.tab li a{padding:10px 0; display:block; width:100%; font-size:1em; border-bottom:1px solid #000;}
ul.tab li a.selected{border-bottom:1px solid #FFCF4D;}
}

/*인사말*/
.greet .title{ font-size:2em; line-height:1.7em; margin-bottom:40px;}
.greet .title p{ color:#333; font-weight:600;}
.greet .title p strong{color:#0bc594;}
.greet{background:url(../img/sub/greet_bg_2.png) no-repeat right top/22% auto; padding-bottom:50px;}
.greet .txt strong{color:#0bc594;}
.greet .ceo{padding-top:30px; font-size:1.2em; font-weight:600;}
@media (max-width: 991px) {
.greet .title{ font-size:1.3em; line-height:1.5em;}
}

/*회사개요*/
.overview img{width:100%;}
.history {margin-bottom:40px; padding-bottom:40px; margin-top:40px; padding-top:30px;}
.history:after {content:""; display:block; clear:both;}
.history dl:before {content:""; display:block; width:30px; height:30px; background:#fff; border:5px solid #337ab7; border-radius:50%; position:absolute; left:40px; top:-45px;}
.history dl {position:relative; float:left; width:33.33%; height:220px; position:relative;
	padding-left: 30px;}

.history dl.line:before {content:""; display:block; width:0px; height:0px; background:#fff; border:0px solid #0bc594; border-radius:50%; position:absolute; left:40px; top:-45px;}

.history dl:after {content:''; position:absolute; top:-31px; left:0; right:0; width:100%; height:1px; background:#ddd; z-index:-1;}
.history .year {font-size:1.5em; margin-bottom:5px;color:#337ab7; font-weight:600;}
.history dt {font-size:1.1em; margin-bottom:5px; color:#333;}
.history dd:before {content:""; display:inline-block; width:3px; height:3px; background:#999; vertical-align:middle; margin-right:3px;}
.busi li:before{content:"-"; display:inline-block; margin-right:5px;}


@media (max-width: 991px) {
.history{border:0; padding-top:0; margin-top:0;}
.history dl:before,
.history dl:after{display:none;}
.history dl{width:100%; height:auto; margin-bottom:20px;
	padding-left: 0;}
}


/*오시는 길*/
.map {padding:20px; margin-bottom:20px;}
.map h3{font-size:1.5em; font-weight:600; margin-bottom:10px; color:#333;}
.map dl{padding:5px 0;}
.map dt{color:#1669a3; margin-top:20px;}
.map dd{padding-left:12px; position:relative;}
.map dd:before{content:"-"; display:block; position:absolute; left:0; top:0; }
.map img{
	width: 100%;
}
.map .add{
	margin-top: 20px;
	border: 1px solid #ddd;
	border-radius: 5px;
	padding: 25px;
	box-sizing: border-box;
}
.map .add p{
	letter-spacing: 0;
	line-height: 26px;
}
.map .add .add_line {
	border-bottom: 1px dashed #ddd;
	padding-bottom: 10px;
	margin-bottom: 10px;
}
.addt {
	display: inline-block;
	margin-right: 3px;
	padding: 4px 4px;
	font-size: 0.9em;
	line-height: 1em;
	color: #fff;
	text-align: center;
	background: #00C48C;
	background: #337ab7;
	border-radius: 3px;
}

@media (max-width: 991px) {
	.map{
		padding: 0;
	}
}

/*조직도*/
.organ{text-align:center; border-bottom:1px solid #ddd; padding-bottom:40px; margin-bottom:40px;}
.organ img {margin:0 auto;}
.organ ul{text-align:center;}
.organ ul{padding:25px 0; border-top:1px dotted #ddd;border-bottom:1px dotted #ddd;}
.organ ul li{display:inline-block; margin:0 5%;}
.organ ul li p{font-size:3em; line-height:1.2em; color:#333; font-weight:600;}
@media (max-width: 991px) {
.organ img{width:100%;}
.organ ul li p{font-size:2.5em;}
}

/*공사실적*/
.ach .row{margin-bottom:30px;}
.ach .col-md-6{ margin-bottom:30px;}
.ach dl{margin:20px 0;}
.ach dl:after{content:""; display:block; clear:both;}
.ach dl dt{ font-size:1.8em; float:left; color:#0bc594;}
.ach dl dd{margin-left:90px; padding:2px 0;}
.ach dl dd strong{display:inline-block; margin-right:5px; font-weight:600; font-size:1.1em; min-width:25px; color:#333;}
.ach .row div:nth-child(2){margin:0 0 170px;}
@media (max-width: 991px) {
.ach dl dt{ font-size:1.3em; margin-top:-0px;}
.ach dl dd{margin-left:60px;}
.ach dl dd strong{min-width:20px;}
.ach .row div:nth-child(2){margin:0 ;}
}


/*사업영역*/
.area{padding-bottom:40px; margin-bottom:40px; border-bottom:1px solid #ddd;}
.area .tabs > li > a { color: #666; padding: 22px 0 20px 0; display: block; background: #fff; text-align: center; text-decoration: none; font-size:1.2em; line-height:2em; border-bottom: 1px solid #ddd; border-top: 1px solid #ddd; -webkit-transition: all .2s ease-in-out; transition: all .2s ease-in-out; }
.area .tabs > li.active > a { border-bottom: 2px solid #cc0066; color: #cc0066; }
	
.area .swiper-container-2 { margin:30px 0; padding:0; overflow: hidden; border:1px dashed #ccc; }
.area .swiper-container-2 .swiper-slide { background:#fff; font-size: 20px; box-sizing: border-box; filter:saturate(10%);}
.area .swiper-container-2 .swiper-slide{ background-size:cover; background-position:50%;}
.area .swiper-container-2 .swiper-slide.img1{ background-image:url(../img/sub/area_img01.jpg);}
.area .swiper-container-2 .swiper-slide.img2{ background-image:url(../img/sub/area_img02.jpg);}
.area .swiper-container-2 .swiper-slide.img3{ background-image:url(../img/sub/area_img03.jpg);}
.area .swiper-container-2 .swiper-slide.img4{ background-image:url(../img/sub/area_img04.jpg);}
.area .swiper-container-2 .swiper-slide.img5{ background-image:url(../img/sub/area_img05.jpg);}
.area .swiper-container-2 .swiper-slide dl{padding:20% 20px; background:rgba(255,255,255,0.7); color:#333; height:600px;}
.area .swiper-container-2 .swiper-slide dt{display:inline-block; vertical-align:middle; width:40%; text-align:center; font-size:2em; border-right:1px solid #000;}
.area .swiper-container-2 .swiper-slide dd{display:inline-block; vertical-align:middle; width:50%; text-align:left; padding-left:5%;}

.busi{ padding-bottom:40px; margin-bottom:40px; border-bottom:1px solid #ddd;}

.partner ul{text-align:left; padding-bottom:40px; margin-bottom:40px; border-bottom:1px solid #ddd;}
.partner li{display:inline-block; width:15%;}
.partner li img{width:100%;}

@media (max-width: 991px) {
.area .tabs > li > a{font-size:0.9em; line-height:1.3em;}
.area .swiper-container-2 .swiper-slide{font-size:13px;}
.area .swiper-container-2 .swiper-slide dl{height:280px;}
	.area .swiper-container-2 .swiper-slide dt{display:block; width:100%; margin-bottom:30px; border:0;}
	.area .swiper-container-2 .swiper-slide dd{display:block; width:100%;}
.partner ul{text-align:center;}
.partner li{width:45%;}
}


/* 업무소개 */
.work{}
.work .title{
	margin-bottom: 48px;
}
.work .title h3{
	font-size: 32px;
	color: #333;
	line-height: 34px;
	letter-spacing: -.1px;
}
.work .title p{
	padding-top: 16px;
	font-size: 16px;
	color: #333;
	font-weight: 300;
	line-height: 28px;
	letter-spacing: -.7px;
}
.work ul{
	display: flex;
	column-gap: 20px;
}
.work li{
	position: relative;
	width: 33.333%;
	height: 0;
	padding-bottom: calc((100% - 40px) / 3);;
}
.work li:nth-child(1){
	background: url(../img/sub/company_05_1_1.png) no-repeat;
	background-size: cover;
}
.work li:nth-child(2){
	background: url(../img/sub/company_05_2.png) no-repeat;
	background-size: cover;
}
.work li:nth-child(3){
	background: url(../img/sub/company_05_3.png) no-repeat;
	background-size: cover;
}
.work li a{
	position: relative;
	display: block;
	width: 100%;
	padding-bottom: 100%;
	text-align: center;
	cursor: unset;
}
.work li a::after{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, .2);
	/*opacity: 0;*/
	-webkit-transition: all .2s ease-in-out 0s;
	transition: all .2s ease-in-out 0s;
}
.work li .txtBox{
	position: absolute;
	left: 50%;
	bottom: 39%;
	transform: translateX(-50%);
	width: 90%;
	z-index: 10;
}
.work li p{
	padding-top: 10px;
	font-size: 20px;
	font-weight: 300;
	line-height: 28px;
	color: #fff;
	text-shadow: 0 0 16px rgba(0, 0, 0, 0.4);
}
.work .titBox{}
.work .titBox p{
	font-size: 24px;
	font-weight: 300;
	line-height: 34px;
	letter-spacing: -1px;
	color: rgb(51, 51, 51);
}
.work .titBox span{
	padding-top: 5px;
	font-size: 20px;
	color: rgb(51, 51, 51);
	line-height: 34px;
	letter-spacing: -0.1px;
}
.work .titBox strong{
	padding-top: 5px;
	font-size: 20px;
	color: rgb(51, 51, 51);
	line-height: 34px;
	letter-spacing: -0.1px;
}
.work .lists{
	position: relative;
	margin-top: 100px;
}
.work .list{
	width: 100%;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: center;
	margin-top: 28px;
}
.work .list .imgBox{
	width: 54.7%;
}
.work .list .imgBox img{
	width: 100%;
	max-width: 100%;
	vertical-align: top;

	height: 100%;
	object-fit: contain;
}
.work .list .txtBox{
	width: 42.1%;
	margin-left: auto;
}
.work .list strong{
	display: block;
	font-size: 22px;
	color: #333;
	font-weight: 500;
	letter-spacing: -.1px;
	line-height: 34px;
}
.work .list p{
	border-top: 1px solid #e7e7e7;
	margin-top: 16px;
	padding-top: 16px;
	font-size: 17px;
	color: #333;
	font-weight: 300;
	letter-spacing: -.7px;
	line-height: 25px;
	word-break: keep-all;
}
.work .swiper-button-next{
	left: 0;
}
.work .swiper-button-prev,
.work .swiper-button-next{
	/*right: unset;
	left: unset;
	top: unset;
	bottom: 25%;*/

	background: rgba(0,0,0,0.8);
	width: 30px;
	height: 30px;
	border-radius: 0;
	top: unset;
	bottom: 64%;
	box-shadow: none;
	transition: all 0.3s;
}
.work .swiper-button-prev:hover,
.work .swiper-button-next:hover{
	background: rgba(0,0,0,1);
}
.work .swiper-button-prev::before,
.work .swiper-button-prev::after,
.work .swiper-button-next::before,
.work .swiper-button-next::after{
	content: '';
	position: absolute;
	background: #fff;
	width: 11px;
	height: 2px;
}
.work .swiper-button-prev::before{
	top: 17px; left: 48%;
	transform: translateX(-50%) rotate(45deg);
}
.work .swiper-button-prev::after{
	top: 10px; left: 48%;
	transform: translateX(-50%) rotate(-45deg);
}
.work .swiper-button-next::before{
	top: 17px; left: 54%;
	transform: translateX(-50%) rotate(-45deg);
}
.work .swiper-button-next::after{
	top: 10px; left: 54%;
	transform: translateX(-50%) rotate(45deg);
}
.work .swiper-button-prev{
	/*left: 20px;*/
	left: 49.6%;
}
.work .swiper-button-next{
	/*display: none;*/
	/*right: 20px;*/
	left: 52.4%;
}

@media (max-width:768px){
	.work ul{
		display: block;
	}
	.work li{
		width: 100%;
		padding-bottom: 100%;
		margin-bottom: 16px;
	}
	.work li .txtBox {
		width: unset;
		bottom: 20%;
	}

	.work .title{
		margin-bottom: 20px;
	}
	.work .title h3{
		font-size: 20px;
		line-height: 30px;
		letter-spacing: -.08px;
	}
	.work .lists {
		margin-top: 60px;
	}
	.work .titBox p{
		font-size: 18px;
	}
	.work .titBox p br{
		display: none;
	}
	.work .titBox span{
		font-size: 14px;
	}
	.work .list{
		display: block;
		margin-top: 40px;
	}
	.work .list .imgBox,
	.work .list .txtBox{
		width: 100%;
	}
	.work .list .txtBox{
		padding-top: 16px;
	}
	.work .list strong{
		font-size: 18px;
	}
	.work .list p{
		font-size: 14px;
		margin-top: 6px;
		padding-top: 8px;
	}
	.work .swiper-button-prev,
	.work .swiper-button-next{
		display: none;
	}



	.greet{
		background: none;
	}

}
