/*서브-상단비주얼 */
#svisual{ width:100%; background: #182E4E url(../img/sub/svisual_bg01.jpg) no-repeat center center/cover; margin:0px auto; text-align:left; position:relative; transition:all 0.3s ease; background-size: cover;}
#svisual.s1{background-image: url("../img/sub/svisual_bg01.jpg"); background-position: right bottom;}
#svisual.s2{background-image: url("../img/sub/svisual_bg02.jpg")}
#svisual.s3{background-image: url("../img/sub/svisual_bg03.jpg")}
#svisual.s4{background-image: url("../img/sub/svisual_bg04.jpg");background-position: right center;}
#svisual.s5{
	padding: 0; display: block;
	background-image: url("../img/sub/svisual_bg05.jpg");background-position: right center;}
#svisual::after {
	content: "";
	display: inline-block;
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	background: linear-gradient(to top, rgba(11, 21, 40, .4), rgba(11, 21, 40, .5));
}

#svisual .s_text{position:relative; max-width:1400px; margin:0 auto; padding:240px 0 60px; box-sizing:border-box; color:#fff; text-align:center; width: 100%; z-index: 1;}
#svisual .s_text h2::before {
	content: "";
	display: block;
	width: 30px;
	height: 2px;
	background-color: #fff;
	margin: 0px auto 20px;
}
#svisual .s_text h2{ font-family: 'GmarketSansMedium';font-size:2.40em; font-weight:400; margin:0 0 10px}
#svisual .s_text .slogan{font-size:1.27em; font-weight:400;  position:relative; line-height:1.5em; color:#fff; opacity: .7 !important}
#svisual.s5 .s_text .slogan{
	width: unset;
	max-width: unset;
}
#svisual .s_text .slogan span{display:inline-block;}
#svisual .s_text span{display:block; font-size:2em;}

#container{z-index:0;}
#container .line.gray{top:-28px; height:103%;}
#container .line.gray i{border-right:1px solid rgba(0,0,0,0.03);}

@media (max-width:1500px) {
	#svisual .line .left{left:calc(50% - 45%); left:-webkit-calc(50% - 45%);}
	#svisual .line .right{right:calc(50% - 45%); right:-webkit-calc(50% - 45%);}
}
@media (max-width:1400px) {
	#svisual .line{display:none;}
}

@media (max-width:1279px) {
	#svisual {min-width:100%; background-position:center top; background-size:cover; transition:all 0.3s ease;}
	#svisual .s_text{padding: 80px 0 50px; overflow: hidden;}
	#svisual .s_text h2{font-size:1.80em; margin:0 0 10px;}
	#svisual .s_text .slogan{font-size:1.25em; font-weight:400; position:relative; line-height:1.5em; color:#fff}
}
@media (max-width:850px) {
	#svisual{ transition:all 0.3s ease;}
	#svisual .s_text h3{font-size:1.45em; margin-bottom:0;}
}
@media (max-width:768px) {
	#svisual .s_text { padding: 100px 0 30px; overflow: hidden;}
	#svisual .s_text h2{font-size:1.50em;margin:0 0 10px}
	#svisual .s_text .slogan{font-size:1.15em; font-weight:400; position:relative; line-height:1.5em; color:#fff; display: none}
}
@media (max-width:550px) {
	#svisual .s_text h3{font-size:1.35em;}
}

/*테이블*/
.tbl {
	border: 0;
	/*border-left:1px #dde2e9 solid;*/
	/*border-bottom:1px #dde2e9 solid;*/
	width: 100%;
	/*font-family:Sans-serif;*/
	margin: 15px 0 30px;
}

.tbl table {
	width: 100%;
	/*font-family:Sans-serif; margin-bottom:10px;*/
	border-collapse: collapse;
	border-top: 2px #1e2e42 solid;
}

.tbl caption.none {
	position: absolute;
	overflow: hidden;
	height: 0;
	width: 0;
	font-size: 0;
	visibility: hidden;
}

.tbl thead th {
	font-size: 1.12em;
	border: 0;
	border-bottom: 1px solid #dde2e9;
	border-right: 1px solid #dde2e9;
	color: #1e2e42;
	font-weight: 600;
	line-height: 1.5em;
	background: #eceeef;
	height: 1.5em;
	padding: 13px 5px;
	text-align: center;
	vertical-align: middle
}

.tbl thead th:last-child {
	border-right: 0px
}

.tbl tbody th {
	font-size: 1.10em;
	border: 0;
	border-bottom: 1px solid #dde2e9;
	border-right: 1px solid #dde2e9;
	color: #1e2e42;
	line-height: 1.5em;
	background: #f8f8f8;
	height: 1.5em;
	padding: 10px 5px;
	text-align: center;
	font-weight: 600;
	letter-spacing: 0 !important
}

.tbl td {
	font-size: 1.05em;
	border: 0;
	border-bottom: 1px solid #dde2e9;
	color: #5c5c5c;
	border-right: 1px solid #dde2e9;
	text-align: center;
	padding: 12px 5px 12px 13px;
	line-height: 1.5em;
	word-break: break-all;
	vertical-align: middle
}

.tbl td#price {
	color: #414753;
	font-size: 1.37em;
	font-weight: bold
}

.tbl td:last-child {
	border-right: 0px
}

.tbl .center {
	text-align: center;
}

.tbl .tLeft {
	text-align: left;
}

.tbl .bg {
	/* background:#f5f5f5;*/
}


.tbl02 {
	border: 0;
	/*border-left:1px #dde2e9 solid;*/
	border-top: 1px #555 solid;
	/*border-bottom:1px #dde2e9 solid;*/
	width: 100%;
	/*font-family:Sans-serif;*/
	margin: 30px 0 10px;
}

.tbl02 table {
	width: 100%;
	/*font-family:Sans-serif; margin-bottom:10px;*/
	border-collapse: collapse;
}

.tbl02 caption.none {
	position: absolute;
	overflow: hidden;
	height: 0;
	width: 0;
	font-size: 0;
	visibility: hidden;
}

.tbl02 thead th {
	font-size: 1.20em;
	border: 0;
	border-bottom: 1px solid #dde2e9;
	border-right: 1px solid #dde2e9;
	color: #1e2e42;
	font-weight: 500;
	line-height: 1.5em;
	background: #f5f5f5;
	height: 1.5em;
	padding: 13px 5px;
	text-align: center;
	vertical-align: middle
}

.tbl02 thead th.right {
	border-right: 1px solid #dde2e9 !important
}

.tbl02 thead th:last-child {
	border-right: 0px
}

.tbl02 tbody th {
	font-size: 1.10em;
	border: 0;
	border-bottom: 1px solid #dde2e9;
	border-right: 1px solid #dde2e9;
	color: #353535;
	line-height: 1.5em;
	background: #fbfbfb;
	height: 1.5em;
	padding: 10px 5px;
	text-align: center;
	font-weight: 500;
}

.tbl02 td {
	font-size: 1.10em;
	border: 0;
	border-bottom: 1px solid #dde2e9;
	color: #5c5c5c;
	border-right: 1px solid #dde2e9;
	text-align: left;
	padding: 7px 5px 7px 13px;
	line-height: 1.5em;
	word-break: break-all;
	vertical-align: middle
}

.tbl02 td span {
	color: #1e2e42;
	font-weight: 500;
	margin: 0 0 10px
}

.tbl02 td.point {
	font-size: 1.10em;
	border: 0;
	font-weight: 600;
	border-bottom: 1px solid #dde2e9;
	color: #555;
	border-right: 1px solid #dde2e9;
	text-align: center;
	padding: 7px 5px;
	line-height: 1.5em;
	word-break: break-all;
	vertical-align: middle
}

.tbl02 td.right {
	font-size: 1.00em;
	border: 0;
	border-bottom: 1px solid #dde2e9;
	border-right: 1px solid #dde2e9 !important;
	text-align: left;
	padding: 7px 5px;
	line-height: 1.5em;
	word-break: break-all;
	vertical-align: middle
}

.tbl02 td:last-child {
	border-right: 0px
}

.tbl02 .center {
	text-align: center;
}

.tbl02 .left {
	text-align: left;
}

.tbl02 dd {
	padding-left: 15px;
	background: url(../img/common/bul_li_t2.png) no-repeat 0 7px;
}

.scroll_comm {
	display: none
}

@media all and (max-width:1024px) {
	.tbl02 {
		overflow: scroll;
		margin: 15px 0;
	}

	.tbl02 table {
		table-layout: fixed;
		width: 1024px;
	}


	.tbl02 thead th {
		font-size: 1.10em;
	}

	.tbl02 td {
		font-size: 1.0em;
	}

	.scroll_comm {
		display: block;
		margin: 20px 0 0;
		font-weight: 600
	}

	.scroll_comm img {
		height: 30px;
		margin: 0 7px 0 0;
		vertical-align: middle
	}
}

@media all and (max-width:800px) {
	.tbl02 {
		overflow: scroll;
	}

	.tbl02 table {
		table-layout: fixed;
		width: 800px;
	}

	.tbl02 thead th {
		font-size: 1.10em;
	}

	.tbl02 tbody th {
		font-size: 1.0em;
	}

	.tbl02 td {
		font-size: 1.0em;
	}
}




/* 탭메뉴 */
.tab_menu{
	display: flex;
	flex-wrap: wrap;
}
.tab_menu li{
	position: relative;
	display: inline-block;
	padding: 0 20px;
	font-size: 14px;
	line-height: 39px;
	text-align: center;
	background-color: #fff;
	margin-right: 4px;
	margin-bottom: 4px;
	border: 1px solid #a9a9a9;
}
.tab_menu li.active{
	background-color: #0d3388;
	border-color: #0d3388;
}
.tab_menu li a{
	display: block;
	color: #a9a9a9;
	font-size: 1.25em;
	font-weight: 500;
}
.tab_menu li.active a{
	color: #fff;
}
.tab_cont{
	padding: 40px 20px;
}
.tab_cont > li{
	display: none;
}
.tab_cont > li.active{
	display: unset;
}
@media(max-width: 768px){
	.tab_menu li a{font-size: 15px;}
	.tab_menu li:last-child{
		margin-right: 0;}
}










/*내용작업 */
/*img.sublogo {width: 20px; margin-bottom: 10px}*/

/* 인사말 */
.introduce h3{ text-align: left !important}
.introduce h3::before {
	content: '';
	display: block;
	/* position: absolute; */
	left: 0;
	bottom: 0;
	width: 80px;
	height: 3px;
	margin: 0 0 20px;
	background: #0d3388;
}
.introduce h3{padding:0;word-break:keep-all; font-size:2.2em; line-height:1.4em; margin:0 0 20px; color:#333; font-weight:600; ; /*width: 85%;*/}
.introduce h3 strong{ color:#0d3388; }
.introduce ul{ display:flex}
.introduce ul li{transition:all 0.3s ease;}
.introduce ul li:nth-child(1){ padding:0 3% 0 0; width:47%;}
.introduce ul li:nth-child(2){ padding:0 0 0 3%; width:47%;}
.greeting { background:url(../img/sub/greeting.jpg) no-repeat 100% 10px}
.greeting p{ font-size:1.17em; line-height:1.8em}
@media (max-width:1279px) {
	.introduce ul li{ width:47%; transition:all 0.3s ease;}
	.introduce ul li img.imgwidth{ width:100%}
}
@media (max-width:992px) {
	.introduce ul{ display:block; transition:all 0.3s ease;}
	.introduce ul li{ width:100% !important; padding:0 0 30px !important; transition:all 0.3s ease;}
}
@media (max-width:767px) {
	.introduce ul li img.imgwidth{ width:100%}
}


/*조직도*/
.ctt_orgchart #ctt_con{display: flex;}
.ctt_orgchart #ctt_con .table{margin-top: 0;}
.org-chart { width: 100%; min-width: 1000px;}
.org-chart div{text-align: center;}
.org-chart .flex{align-items: flex-start; justify-content: center;}
.node {
	text-align: center;
	margin: 10px;
}
.node-content {
	padding: 20px 15px;
	background-color: #3498db;
	color: #fff;
	border-radius: 0px;
	display: inline-block;
	margin:10px;
	min-width: 150px;
	position: relative;
}
.node .blank{height: 47px; margin: 10px;}
.node .desc{
	color: #fff;
	font-weight: 400;
	opacity: 0.8;
}
.node4 .desc{
	color: #333;
}
.node > .node-content {color: #ffffff;background:#252E3B;/* margin-left: 178px; */ font-weight: 600;}
.node2 > .flex > .node-content {background: #2287C3; color: #ffffff; font-weight: 600; position: relative; left: -22.4%;}
.node2 > .flex:nth-child(2) > .node-content{left: -33%;}
.node2 > .flex:nth-child(2) > .node-content::after{width: 151px;}
.node2 > .flex:nth-child(3){margin-top: -98px;}
.node2 > .flex:nth-child(3) > .node-content{left: unset;right: -23.5%;}
.node2 > .flex:nth-child(3) > .node-content::after{left: unset; right: 100%;}
.node2 > .flex:first-of-type > .node-content:before{content: "";/* display: block; */width: 435px;height: 1px;background: #ccc; position: absolute; top: 20px;left: -435px;}

.node2.vline{padding-top: 130px;}
.node2.vline .node3 > .node-content:before{content: "";display: block; width:1px; height: 119px; background: #ccc; position: absolute; bottom: 46px;left: 50%;}
.node3 > .node-content {border:1px solid #2287C3; background: #fff; color:#252E3B;font-weight: 600;}
.node4 {position: relative}
.node4::after{
	content: "";
	width: 75.5%;
	position: absolute;
	height: 1px;
	top: -9px;
	left: 50%;
	transform: translateX(-50%);
	background: #ccc;
}
.node4 > .node-content{position: relative; border:1px solid #252E3B56; background: #fff; color:#252E3B;font-weight: 600;}
.node4 > .node-content dt{font-weight: 600; margin: 0 !important;}
.node4 > .node-content dd{opacity: 0.8; font-size: 0.9em;}
.node4 > .node-content dd:first-of-type{margin-top: 6px;}

.node > .node-content:after{content: "";display: block;width:1px;height: 252px;background: #ccc;position: absolute;top: 62px;left: 50%;}
.node2 > .flex > .node-content:after{
	content: "";
	display: block;
	width: 76px;
	height: 1px;
	background: #ccc;
	position: absolute;
	top: 50px;
	left: 100%;
}
.hline .node-content:before,
.hline .node-content:after{content: ""; display: block; width:15px; height: 1px; background: #ccc; position: absolute; top: 20px;}
.hline .node-content:before{left: -15px;}
.hline .node-content:after{right: -15px;}
.hline .node3 > .node-content:before{content: "";display: block;width: 267px;height: 1px;background: #ccc;position: absolute;top: 20px;left: -267px;}
.node4 > .node-content::after{
	all: unset;
	content: "";
	display: block;
	width: 1px;
	height: 20px;
	background: #ccc;
	position: absolute;
	bottom: 100%;
	left: 50%;
	transform: translateX(-50%);
}
.node4 > .node-content::before{display: none}
.node-content:first-of-type:before,
.node-content:last-of-type:after{display: none;}
.node4 > .node-content:last-of-type:after{display: block}

.node3 > .node-content:after{content: "";display: block;width:1px;height: 50px;background: #ccc;position: absolute;top: 46px;left: 50%;}

.node2.vline > .flex > .node-content:after{content: "";display: block;width:1px;height: 50px;background: #ccc;position: absolute;top: 46px;left: 50%;}

.sub-nodes {
	display: flex;
	flex-direction: column;
	margin-top: 50px;
}
@media(max-width: 1024px){
	.org-chart{min-width: unset;}
}
@media(max-width: 768px){
	.node{margin: 0; margin-top: 10px;}
	.node4{display: block}
	.node2 > .flex > .node-content,
	.node2 > .flex:nth-child(2) > .node-content,
	.node2 > .flex:nth-child(3) > .node-content{position: unset;}
	.node > .node-content,
	.node2 > .flex > .node-content,
	.node4 > .node-content{width: 100%;}
	.node-content{margin: 0;}
	.node2 > .flex:nth-child(3){margin-top: 0;}
	.node2 > .flex > .node-content:after{width: 7px;}
	.node2 > .flex:nth-child(2) > .node-content::after {width: 8px;}
	.node4::after,
	.node4 > .node-content::after,
	.node2 > .flex > .node-content:after,
	.node4 > .node-content:last-of-type:after{display: none}
	.org-chart div{margin-bottom: 5px;}
	.node > .node-content:after{top: 62px; height: 600px;}
	.node4 > .node-content{margin-bottom: 10px;}
}






#staff{color: #fff; margin-bottom: 50px}
#staff{ display: flex;}
#staff:not(:last-child){ margin-bottom:50px}
#staff> div{width: 100%; position: relative;}
#staff div.bgimg{ width: 10%;       /*box-shadow: 10px 10px 10px rgb(0 0 0 / 10%);*/   }
#staff div.bgimg .line{
	position: absolute;
	top: 125px;
	left: -42%;
	width: 66%;
	height: 1px;
	background: #efefef;
}
#staff> div:not(.bgimg){ padding: 0 50px 50px }
#staff .logo{margin-bottom: 10px; font-family: 'ONE-Mobile-Title'}
#staff .logo img{ filter: grayscale(100%); opacity: 0.3; max-height:100px;  }
#staff .logo p{font-size: 1.1em; margin-top: 10px; opacity: 0.5; line-height: 1.5em;font-weight: 300;}
#staff .text span.mini_title{ margin-bottom: 10px;}
#staff .text h4{font-size: 1.8em; margin-bottom: 20px; line-height: 1.4em;color: #edbea2;}
#staff .text h4 p{
	font-size: 20px;
	margin-left: 10px;
}
#staff .text .con p{margin-bottom: 30px; font-size: 1.15em;  line-height:1.8em; font-weight: 300;text-align:left}
#staff> div.bg1 {background: url("../img/sub/staff01.png") no-repeat center center/cover; border-radius: 40px;}


.object-fit img{width:100%;height:100%;object-fit:cover;}


#greet03{ margin-bottom: 50px}
#greet03   .swiper-slide {      text-align: center;      font-size: 18px;      background: #fff;      display: flex;      justify-content: center;      align-items: center;    }

#greet03 p{	font-size: 1.2em;	color: #e5ae58;	font-weight: 600;	margin: 0 0 20px;}
#greet03 h1{	font-size: 1.6em;	font-weight: 400;	word-break: keep-all;	color: #333;	line-height: 1.4em;	margin: 0 0 20px;}
#greet03     .swiper-slide img {      display: block;      width: 100%;      height: 100%;      object-fit: cover;    }
#greet03    .swiper {      width: 100%;      height: 300px;      margin-left: auto;      margin-right: auto;    }
#greet03     .swiper-slide {      background-size: cover;      background-position: center;    }
#greet03     .mySwiper2 {      height: 80%;      width: 100%;    }
#greet03    .mySwiper {      height: 20%;      box-sizing: border-box;      padding: 10px 0;    }
#greet03    .mySwiper .swiper-slide {      width: 25%;      height: 100%;      opacity: 0.4;    }
#greet03     .mySwiper .swiper-slide-thumb-active {      opacity: 1;    }
#greet03    .swiper-slide img {      display: block;      width: 100%;      height: 100%;      object-fit: cover;    }


.mapBox ul {	display: -webkit-box;	display: -ms-flexbox;	display: flex;	-webkit-box-pack: justify;	-ms-flex-pack: justify;	justify-content: space-between; margin-bottom: 20px}
.mapBox li {	width: 33.3%;	padding: 10px 1%;	text-align: left;}
.mapBox.boardV ul {	justify-content: center}
.mapBox.boardV li {	margin-top: 0}
.mapBox li p {	color: #222;}
.mapBox li .tit {	font-size: 15px;	margin-bottom: 10px;	font-weight: 700;	display: flex;	align-items: center;	justify-content: left;	color: #e5ae58;}
.mapBox li .tit i {	font-size: 1.3em;	margin-right: 10px;}
.mapBox li .txt {	font-size: 20px;}
.mapBox li .tit img {	margin-bottom: 0;margin-right: 10px;}


.treat {  position: relative;  z-index: 1; padding-bottom: 40px;margin-bottom: 40px}

.treat::after {
	top: 0;position: absolute; z-index: -1; content: ""; width: 100%; height: 100%;background:url(../img/common/logo2.svg) no-repeat right bottom; background-size: 40%;
	opacity: 0.2;
	background-color: #fff;
	background-blend-mode: hard-light; }
.treat img{    width: 100%;;}
.treat .treat01 {
	box-shadow: 10px 10px 10px rgb(0 0 0 / 10%);  border-bottom: 5px solid;    border-image: linear-gradient(to right, #2196F3, #4CAF50);    border-image-slice: 1;    margin-bottom: 55px;}
.treat h3 span.small{    font-size: 0.45em;    margin-bottom: 5px;    color: #2a2627;    padding: 2px 6px;    background: #E4E0D8;    display: inline-block; border-radius: 4px; font-family: 'SUIT'; font-weight: normal;}
.treat h3.title{font-size:1.9em; font-weight:500; margin-bottom:20px; font-weight: 600; position: relative;}
.treat h3.title.bg{font-family: 'ONE-Mobile-Title';padding-left:35px;}
.treat h3.title.bg:before{content: ""; display: block; width: 1px; min-height: 50px; height: 100%; background: #ddd;
	position: absolute; left: 0; top: 10px;}
/*.treat h3.title.bg{background:url(../img/common/logo2.svg) no-repeat left 36px; background-size: 25px ;padding-left:35px;}*/
.treat p{    padding-top: 10px;  font-size: 1.25em;    line-height: 1.8em;    margin-bottom: 15px;}


.treatBox ul {
	margin-top: 40px;	display: -webkit-box; display: -ms-flexbox;	display: flex;	-webkit-box-pack: justify;	-ms-flex-pack: justify;	justify-content: space-between; margin-bottom: 20px}
.treatBox li {padding: 24px 3%; width: 100%;	text-align: left; background: #eee; margin-right: 10px; border-radius: 20px;}
.treatBox li :last-child{margin-right: 0;}
.treatBox li p {	color: #222;}
.treatBox li .tit {	    padding: 0;font-size: 1.15em;	margin-bottom: 10px;	font-weight: 700;	display: flex;	align-items: center;	justify-content: left;	color: #e5ae58;}
.treatBox li .tit i{margin-right: 6px;}
.treatBox li .tit svg {	font-size: 1.3em;	margin-right: 10px;}
.treatBox li .txt {	    padding: 0; margin:0; font-size: 1.4em;}
.treatBox li .tit img {	margin-bottom: 0;margin-right: 10px;}


.under_bar{color: #eca459;}
/*	.under_bar{
		position: relative;
	}
	.under_bar::before{
		content: '';
		display: inline-block;
		position: absolute;
		left: 0;
		bottom: 0px;
		width: 100%;
		height: 12px;
		background: #cbe210;
		opacity: 0.5;
		mix-blend-mode: darken;
	}*/

/*연혁*/
.hi_wrap {
	display: flex;
}

.hi_img {
	display: flex;
	flex-direction: column;
}

.hi_img_2021 {
	margin-top: 220px;
}

.hi_img_2022 {
	margin-top: 450px;
}

.hi_img_2023 {
	margin-top: 690px;
}

.hi_img img {
	max-width: 100%;
}

.hi_img1 {
	margin-bottom: 10px;
}

.hi_right {
	margin-left: 150px;
	position: relative;
}

.hi_right::before {
	content: "";
	display: block;
	width: 1px;
	height: 100%;
	background: #d1d1d1;
	position: absolute;
	left: 14.8%;
	top: 0;
}

.hi_right::after {
	content: '';
	display: block;
	position: absolute;
	left: 14%;
	top: 0;
	width: 13px;
	height: 13px;
	border-radius: 50px;
	border: 3px solid #0d3388;
	background-color: #ffffff;
}

.hi_txtbox {
	margin-top: 50px;
}

.hi_txtbox2 {
	margin-top: 100px;
}

.hi_txt {
	margin-bottom: 25px;
	display: flex;
	position: relative;
}

.hi_txt:last-child {
	margin: 0;
}

.hi_txt::after {
	content: "";
	display: block;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #d1d1d1;
	position: absolute;
	top: 9px;
	left: 14.5%;
}


.hi_txt h5 {
	font-size: 1.9rem;
	font-weight: 700;
	color: #222;
	text-align: right;
	margin-right: 75px;
	position: relative;
	background: transparent !important;
	padding: 0 !important;
	font-family: 'Noto Sans KR';
}

.hi_txt h5.txt_2015::before {
	content: "2015";
	display: block;
	font-size: 1.7em;
	color: #0d3388;
	position: absolute;
	left: 50%;
	top: -22px;
	transform: translateX(-50%);
	font-weight: 700;
}

.hi_txt h5.txt_2013::before {
	content: "2013";
	display: block;
	font-size: 1.7em;
	color: #0d3388;
	position: absolute;
	left: 50%;
	top: -22px;
	transform: translateX(-50%);
	font-weight: 700;
}
.hi_txt h5.txt_2011::before {
	content: "2011";
	display: block;
	font-size: 1.7em;
	color: #0d3388;
	position: absolute;
	left: 50%;
	top: -22px;
	transform: translateX(-50%);
	font-weight: 700;
}
.hi_txt h5.txt_2022::before {
	content: "2022";
	display: block;
	font-size: 1.8rem;
	color: #8ad8ff;
	position: absolute;
	left: 50%;
	top: -22px;
	transform: translateX(-50%);
	font-weight: 700;
}

.hi_cont {
	margin-left: 75px;
	width: 100%;
	max-width: 600px;
}

.hi_cont p {
	font-size: 1.7rem;
	color: #666;
	padding: 0 0 3px;
}

.hi_cont p span{ font-weight: bold; margin: 0 5px 0 0}

@media(max-width:1400px){
	#greet01 .inr{		flex-direction: column;	}
	#greet01 .text_wrap{		width: 100%;	}
	#greet01 .img_wrap{		width: 70%;		margin-left: 30%;	}

	#staff { font-size: 0.8em;flex-wrap: wrap; background: none;}
	#staff > div.bgimg {height: 350px;width:100%!important;}
	.mapBox li .tit {font-size: .9em}
	.mapBox li .txt {font-size: 1em	}

}

@media screen and (max-width:1300px) {
	.hi_right {
		margin-left: 8%;
	}
}

@media screen and (max-width:1130px) {
	.hi_txt h5 {
		margin-right: 60px;
	}

	.hi_cont {
		margin-left: 60px;
	}

	.hi_right::before {
		left: 13.1%;
	}

	.hi_right::after {
		left: 12.3%;
	}

	.hi_txt::after {
		left: 12.6%;
	}
}

@media(max-width:768px) {
	.treat h3.title.bg {
		background: url(../img/common/logo2.svg) no-repeat left bottom!important;
		background-size: 25px!important;}
	.greet h1{		font-size: 1.2em;	}
	.greet h6{		font-size: 1em;	}
	#greet01 .img_wrap .layout03{		font-size: 3em;	}
	#greet01 {    min-height: 700px;}
	#staff> div:not(.bgimg){ padding: 20px }

	.mapBox ul {		-webkit-box-orient: vertical;		-ms-flex-direction: column;		flex-direction: column;	}
	.mapBox ul li {		width: 100% !important	}
	.mapBox li:before {		background-size: 20px !important;		width: 20px;	}
	.treat {font-size: 0.8em}
	.treatBox ul { flex-wrap: wrap}
	.treatBox li {width: 100%}

	#staff{
		background: none;}
	#staff div.bgimg .line{display: none}

}

@media screen and (max-width:1024px) {
	#his_cate {
		margin: 25px 0 100px;
	}

	.hi_wrap {
		justify-content: center;
		flex-direction: column;
	}

	.hi_img {
		justify-content: center;
		margin-bottom: 55px;
		margin-top: 0;
		flex-direction: row;
		overflow: hidden;
		overflow-x: scroll;
	}

	.hi_img img {
		width: 50%;
	}

	.hi_img1 {
		margin: 0 20px 0 0;
	}

	.hi_right {
		margin: 0 auto;
	}

	.hi_txt {
		margin-bottom: 30px;
	}

	.hi_right::before {
		left: 13.4%;
	}

	.hi_right::after {
		left: 12.6%;
	}

	.hi_txt::after {
		left: 12.9%;
	}
}

@media screen and (max-width:768px) {
	#his_cate {
		margin: 25px 0 80px;
	}

	.hi_txt {
		margin-bottom: 25px;
	}

	.hi_txt h5 {
		font-size: 2rem;
	}

	.hi_txt h5.txt_2019::before, .hi_txt h5.txt_2020::before {
		font-size: 1.9rem;
		left: 0;
		transform: none;
	}

	.hi_cont p {
		font-size: 1.9rem;
	}
	.hi_img1 {
		margin-bottom: 20px;
	}
}

@media screen and (max-width:600px) {
	.hi_txt {
		margin-bottom: 30px;
		flex-direction: column;
		align-items: flex-start;
	}

	.hi_txt h5 {
		margin-right: 0;
		margin-bottom: 5px;
	}

	.hi_img {
		flex-direction: column;
		margin-bottom: 50px;
	}

	.hi_img img {
		width: auto;
	}

	.hi_img1 {
		margin: 0 0 20px 0;
	}

	.hi_cont {
		margin-left: 0;
	}

	.hi_right {
		margin: 0;
		padding: 0 0 0 40px;
	}

	.hi_right::before {
		left: 0;
	}

	.hi_right::after {
		left: -5px;
	}

	.hi_txt::after {
		left: -43.5px;
	}

	.hi_cont p {
		padding: 1px 0;
	}
}

@media (max-width:500px){
	#greet01 .img_wrap{		width: 100%;		margin: 0;	}
	#greet01 .img_wrap .layout03{		font-size: 2em;		left: 0px;	}
}

/* 관련사이트 */
#sites{}
#sites ul{
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	justify-content: flex-start;
	gap: 15px;
}
#sites li{
	width: 32%;
	cursor: pointer;
}
#sites .imgBox{}
#sites .imgBox img{
	width: 100%;
}
#sites p{
	text-align: center;
	margin-top: 10px;
}
@media(max-width: 768px){
	#sites ul{display: block}
	#sites li{width: 100%; margin-bottom: 25px;}
}


/*이미지 정렬*/
.bus_img {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}
.bus_img03 {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}
.bus_img img ,.bus_img03 img {
	max-width: 100%;
}

@media screen and (max-width: 800px) {
	.bus_img,.bus_img03 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media screen and (max-width: 475px) {
	.bus_img,.bus_img03 {
		grid-template-columns: repeat(1, minmax(0, 1fr));
	}
}

/*ESG경영*/
.esg {margin:0 0 37px !important; text-align:center; font-size: 1.17em}

/*공통 padding margin*/
.t_margin50{margin-top: 50px;}
.b_margin50{margin-bottom: 50px;}


/* 사업소개 */
.box > h3{position:relative; padding:0 0 0 25px; font-size:1.42em; font-weight:bold;}
.box > h3::before{content:''; position:absolute; top:3px; left:0; width:18px; height:18px; background:url('../img/sub/icon_title.svg')no-repeat center; background-size:cover;}
.box{
	margin-bottom: 50px;
}
.box:last-child{
	margin-bottom: 0;
}
.box .col2{margin:30px 0 0; display: grid; grid-template-columns: repeat(2, 1fr);}
/*.box .col2:after{content:''; display:block; clear:both;}*/
.box .col2 > li{
	position: relative;
	padding: 20px;
	background-size: cover;
}
.box .col2 > li > i{position:absolute; top:15px; left:15px; width:50px; height:50px; line-height:50px; background:#063A77; font-style:normal; font-size:25px; font-weight: bold; color:#fff; text-align:center;}
.box .col2 > li::after{
	content: '';
	background: rgba(0,0,0,0.3);
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}
.box .col2 > li:nth-child(1) {
	background: url(../img/sub/busi01_01.jpg) no-repeat center center;
}
.box .col2 > li:nth-child(2) {
	background: url(../img/sub/busi01_02.jpg) no-repeat center center;
}
.box .col2 > li .area_txt{
	margin: 0;
	position: relative;
	z-index: 1;
	padding-top:30%;
	margin:0 0 60px;
}
.box .col2 > li > i{
	z-index: 1;
}
.box .col2 > li .area_txt > h4{
	color: #fff;
	display: block;
	padding: 0 0 15px;
	font-size:1.3em;
	font-weight: 600;
}
.box .descs span{
	position: relative;
	font-size: 17px;
	font-weight: 400;
	color: #efefef;
	display: block;
	line-height: 1.5em;
	text-align: left;
	padding-left: 10px;
}
.box .descs span::before{
	content: '';
	position: absolute;
	left: 0;
	top: 10px;
	width: 4px;
	height: 4px;
	background: #efefef;
	border-radius: 50%;
}
.box .grayBox{
	margin: 10px 0 0;
	padding: 20px;
	background: #f9f9f9;
	border: 1px solid #eee;
	box-sizing: border-box;
}
.box .grayBox p{
	position: relative;
	padding: 0 0 0 10px;
	font-size: 17px;
	font-weight: 400;
	color: #333;
	line-height: 1.7em;
}
.box .grayBox p::before{
	content: '';
	position: absolute;
	top: 13px;
	left: 0;
	width: 4px;
	height: 1px;
	background: #333;
}
.box .busimg01{margin:30px 0 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px} /* 4ea */
.box .busimg01 img{ width: 100%; height: auto} /* 3ea */
.box .busimg02{margin:30px 0 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px} /* 3ea */
.box .busimg02 img{ width: 100%; height: auto} /* 3ea */

@media (max-width: 1000px) {
	.greet{ background-position:center 175px; background-size:400px auto; padding-bottom:0;}
	.greet p{ font-size:1.1em; padding:30px 30px; width:90%; margin:250px auto 0 auto;}
	.greet .sign{  }
}

@media screen and (max-width: 768px) {
	.box .col2{margin:30px 0 0; display: grid; grid-template-columns: repeat(1, 1fr);}
	.box .descs span{
		font-size: 15px;
	}
	.box .busimg01{margin:30px 0 0; display: grid; grid-template-columns: repeat(2, 1fr);}
	.box .busimg02{margin:30px 0 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px} /* 3ea */
	.box .busimg02 img{ width: 100%; height: auto} /* 3ea */
}


/* 사업소개02 */
.box > h3{position:relative; padding:0 0 0 25px; font-size:1.42em; font-weight:bold;}
.box > h3::before{content:''; position:absolute; top:3px; left:0; width:18px; height:18px; background:url('../img/sub/icon_title.svg')no-repeat center; background-size:cover;}
.box{
	margin-bottom: 50px;
}
.box:last-child{
	margin-bottom: 0;
}
.box .col2{margin:30px 0 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px}
/*.box .col2:after{content:''; display:block; clear:both;}*/
.box .col2 > li{
	position: relative;
	padding: 20px;
	background-size: cover;
}
.box .col2 > li > i{position:absolute; top:15px; left:15px; width:50px; height:50px; line-height:50px; background:#063A77; font-style:normal; font-size:25px; font-weight: bold; color:#fff; text-align:center;}
.box .col2 > li::after{
	content: '';
	background: rgba(0,0,0,0.3);
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}
.box .col2 > li:nth-child(1) {
	background: url(../img/sub/busi01_01.jpg) no-repeat center center;
}
.box .col2 > li:nth-child(2) {
	background: url(../img/sub/busi01_02.jpg) no-repeat center center;
}
.box .col2 > li .area_txt{
	margin: 0;
	position: relative;
	z-index: 1;
	padding-top:30%;
	margin:0 0 60px;
}
.box .col2 > li > i{
	z-index: 1;
}
.box .col2 > li .area_txt > h4{
	color: #fff;
	display: block;
	padding: 0 0 15px;
	font-size:1.3em;
	font-weight: 600;
}
.box .descs span{
	position: relative;
	font-size: 17px;
	font-weight: 400;
	color: #efefef;
	display: block;
	line-height: 1.5em;
	text-align: left;
	padding-left: 10px;
}
.box .descs span::before{
	content: '';
	position: absolute;
	left: 0;
	top: 10px;
	width: 4px;
	height: 4px;
	background: #efefef;
	border-radius: 50%;
}
.box .grayBox{
	margin: 10px 0 0;
	padding: 20px;
	background: #f9f9f9;
	border: 1px solid #eee;
	box-sizing: border-box;
}
.box .grayBox div.title{font-size: 20px; font-weight: 700; margin:0 0 15px}
.box .grayBox p{
	position: relative;
	padding: 0 0 0 10px;
	font-size: 17px;
	font-weight: 400;
	color: #333;
	line-height: 1.7em;
}
.box .grayBox p::before{
	content: '';
	position: absolute;
	top: 13px;
	left: 0;
	width: 4px;
	height: 1px;
	background: #333;
}
.box .busimg01{margin:30px 0 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px} /* 4ea */
.box .busimg01 img{ width: 100%; height: auto} /* 3ea */
.box .busimg02{margin:30px 0 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px} /* 3ea */
.box .busimg02 img{ width: 100%; height: auto} /* 3ea */
.box .text_Area{ display:flex}
.box .text_Area .text_Area_img{ margin-left: auto;}
.box .box_img { margin: 30px 0 0; text-align:center}
.box .box_img02 { margin: 30px 0 0; text-align:center}
.box .box_img03 { margin: 30px 0 0; text-align:center}

@media (max-width: 1400px) {
	.box .text_Area{ flex-direction: column}
	.box .text_Area .text_Area_img{ text-align:center; margin:30px auto}
}

@media (max-width: 1200px) {
	.box .box_img img { width: 100%}

}

@media (max-width: 943px) {
	.box .box_img02 img { width: 100%}
	.box .box_img03 img { width: auto}
}

@media (max-width: 1000px) {
	.greet{ background-position:center 175px; background-size:400px auto; padding-bottom:0;}
	.greet p{ font-size:1.1em; padding:30px 30px; width:90%; margin:250px auto 0 auto;}
	.greet .sign{  }
	.box .text_Area .text_Area_img img{ width:100% !important}
}

@media screen and (max-width: 768px) {
	.box .col2{margin:30px 0 0; display: grid; grid-template-columns: repeat(1, 1fr); gap: 10px}
	.box .descs span{
		font-size: 15px;
	}
	.box .busimg01{margin:30px 0 0; display: grid; grid-template-columns: repeat(2, 1fr);}
	.box .busimg02{margin:30px 0 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px} /* 3ea */
	.box .busimg02 img{ width: 100%; height: auto} /* 3ea */
}

/* 사업소개02 */
.box02 > h3{position:relative; padding:0 0 0 25px; font-size:1.42em; font-weight:bold;}
.box02 > h3::before{content:''; position:absolute; top:3px; left:0; width:18px; height:18px; background:url('../img/sub/icon_title.svg')no-repeat center; background-size:cover;}
.box02{
	margin-bottom: 50px;
}
.box02:last-child{
	margin-bottom: 0;
}
.box02 .col4{margin:30px 0 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px}
/*.box02 .col2:after{content:''; display:block; clear:both;}*/
.box02 .col4 > li{
	position: relative;
	padding: 20px;
	background-size: cover;
}
.box02 .col4 > li > i{position:absolute; top:15px; left:15px; width:50px; height:50px; line-height:50px; background:#063A77; font-style:normal; font-size:25px; font-weight: bold; color:#fff; text-align:center;}
.box02 .col4 > li::after{
	content: '';
	background: rgba(0,0,0,0.3);
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}
.box02 .col4 > li:nth-child(1) {
	background: url(../img/sub/busi05_01.jpg) no-repeat center center;
}
.box02 .col4 > li:nth-child(2) {
	background: url(../img/sub/busi05_02.jpg) no-repeat center center;
}
.box02 .col4 > li:nth-child(3) {
	background: url(../img/sub/busi05_03.jpg) no-repeat center center;
}
.box02 .col4 > li:nth-child(4) {
	background: url(../img/sub/busi05_04.jpg) no-repeat center center;
}
.box02 .col4 > li .area_txt{
	margin: 0;
	position: relative;
	z-index: 1;
	padding-top:30%;
	margin:0 0 60px;
}
.box02 .col4 > li > i{
	z-index: 1;
}
.box02 .col4 > li .area_txt > h4{
	color: #fff;
	display: block;
	padding: 0 0 15px;
	font-size:1.3em;
	font-weight: 600;
}
.box02 .descs span{
	position: relative;
	font-size: 17px;
	font-weight: 400;
	color: #efefef;
	display: block;
	line-height: 1.5em;
	text-align: left;
	padding-left: 10px;
}
.box02 .descs span::before{
	content: '';
	position: absolute;
	left: 0;
	top: 10px;
	width: 4px;
	height: 4px;
	background: #efefef;
	border-radius: 50%;
}
.box02 .grayBox{
	margin: 10px 0 0;
	padding: 20px;
	background: #f9f9f9;
	border: 1px solid #eee;
	box-sizing: border-box;
}
.box02 .grayBox p{
	position: relative;
	padding: 0 0 0 10px;
	font-size: 17px;
	font-weight: 400;
	color: #333;
	line-height: 1.7em;
}
.box02 .grayBox p::before{
	content: '';
	position: absolute;
	top: 13px;
	left: 0;
	width: 4px;
	height: 1px;
	background: #333;
}
.box02 .busimg01{margin:30px 0 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px} /* 4ea */
.box02 .busimg01 img{ width: 100%; height: auto} /* 3ea */
.box02 .busimg02{margin:30px 0 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px} /* 3ea */
.box02 .busimg02 img{ width: 100%; height: auto} /* 3ea */

.busi04_serv{ display: grid;  grid-template-columns: repeat(5, 1fr); gap: 10px; margin:30px 0 0}
.busi04_serv > div{ text-align:center; padding: 20px 0; background: #fff}
.busi04_serv > div img{ width: 100%; height:auto}
.busi04_serv > div h5{ margin: 20px 0 22px; font-size: 1.22em}
.busi04_serv > div p{ margin: 0 !important; font-size: 1.05em !important; letter-spacing: -.050em; line-height: 1.4em; opacity: .8}

@media (max-width: 1000px) {
	.greet{ background-position:center 175px; background-size:400px auto; padding-bottom:0;}
	.greet p{ font-size:1.1em; padding:30px 30px; width:90%; margin:250px auto 0 auto;}
	.greet .sign{  }
	.busi04_serv{ display: grid;  grid-template-columns: repeat(3, 1fr); gap: 10px}
	.busi04_serv > div h5{ margin: 20px 0 12px; font-size: 1.20em}
	.busi04_serv > div p{ margin: 0 !important; font-size: 1em !important; letter-spacing: -.050em; line-height: 1.2em; opacity: .8}
}

@media screen and (max-width: 768px) {
	.box02 .col4{margin:30px 0 0; display: grid; grid-template-columns: repeat(1, 1fr); gap: 10px}
	.box02 .descs span{
		font-size: 15px;
	}
	.box02 .busimg01{margin:30px 0 0; display: grid; grid-template-columns: repeat(2, 1fr);}
	.box02 .busimg02{margin:30px 0 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px} /* 3ea */
	.box02 .busimg02 img{ width: 100%; height: auto} /* 3ea */
	.busi04_serv{ display: grid;  grid-template-columns: repeat(2, 1fr); gap: 10px}
}

@media screen and (max-width: 500px) {
	.busi04_serv{ display: grid;  grid-template-columns: repeat(1, 1fr); gap: 10px}
}


/* 사업소개-현장관리*/
.motto{display: flex; margin:30px 0 0; text-align:center;}
.motto > li{position:relative; display:inline-block; margin:0 1%; box-sizing:border-box; width:48%;}
.motto.v1 > li{padding:20px; border-radius:50%; box-shadow: 2.034px 4.568px 16px 4px rgba(0, 0, 0, 0.1); height:0; padding-bottom:22%;}
.motto.v1 > li:nth-child(1){background:#273069 url(../img/sub/icon_motto01.svg)no-repeat center 40%; background-size:25%;}
.motto.v1 > li:nth-child(2){background:#293689 url(../img/sub/icon_motto02.svg)no-repeat center 40%; background-size:23%;}
.motto.v1 > li > p{padding-top:67%; font-size:22px; font-weight:400; color:#fff;}
.motto > li:last-child{margin:0;}
.motto.v2 > li{border:1px solid #eee; box-sizing:border-box; background:#fff;}
.motto.v2 > li > h3{padding:15px 10px; box-sizing:border-box; background:#292e45; font-size:22px !important; font-weight:500; color:#fff !important; margin: 0 !important;}
.motto.v2 > li:nth-child(2) > h3{background:#0d3388;}
.motto.v2 > li > h3:before{display:none;}
.motto.v2 > li > ul.list{padding:30px 20px; box-sizing:border-box;}
.motto.v2 > li > ul.list > li::before{ content:"-"; position:absolute; left:0}
.motto.v2 > li > ul.list > li{font-size:17px; font-weight:400; color:#333; line-height:2em; word-break:keep-all;text-align: left; position:relative; padding-left:17px}

@media screen and (max-width: 768px) {
	.motto{display: flex; flex-direction: column}
	.motto > li{margin:0 1%; width:98%;}
}


/*주요고객사*/
.partner_list{display: grid;  grid-template-columns: repeat(4, 1fr); gap: 30px}
.partner_list > div { text-align: center;}
.partner_list > div img{ background: #fff; padding: 10px 20px; margin: 0 0 20px; border: 1px solid #dfdfdf;}

@media screen and (max-width: 1100px) {
	.partner_list{grid-template-columns: repeat(3, 1fr);}
}

@media screen and (max-width: 768px) {
	.partner_list{grid-template-columns: repeat(2, 1fr); gap: 20px}
}

@media screen and (max-width: 550px){
	.partner_list > div img{ width: 100%}
}


/* ===================================================
   ABOUT US / Company Overview (introduce01)
   =================================================== */

/* 탭 콘텐츠 하단 여백 */
.tab_cont { padding: 40px 0; }

/* Company Overview — 이미지 + 테이블 2-col */
.ov_wrap { display: flex; gap: 50px; align-items: flex-start; }
.ov_wrap .ov_img { flex: 0 0 360px; }
.ov_wrap .ov_img img { width: 100%; display: block; }
.ov_wrap .ov_tbl { flex: 1; min-width: 0; }
.ov_wrap .ov_tbl .tbl { margin-top: 0; }

/* CEO Message — 서명부 */
.ceo_sign { text-align: right; margin-top: 35px; font-size: 1.08em; color: #333; line-height: 1.8em; }
.ceo_sign strong { color: #0d3388; font-weight: 700; }

/* Company History — 타임라인 */
.hist_section { margin-bottom: 45px; }
.hist_year_badge {
	display: inline-block;
	background: #182E4E;
	color: #fff;
	font-size: 1.4em;
	font-weight: 700;
	padding: 6px 26px;
	margin-bottom: 24px;
	letter-spacing: 0.04em;
}
.hist_list {
	border-left: 2px solid #d1d1d1;
	margin-left: 12px;
	padding-left: 32px;
}
.hist_list li {
	position: relative;
	margin-bottom: 18px;
	font-size: 1.1em;
	color: #555;
	line-height: 1.65em;
}
.hist_list li::before {
	content: '';
	position: absolute;
	left: -39px;
	top: 8px;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #0d3388;
	border: 2px solid #fff;
	box-shadow: 0 0 0 2px #0d3388;
}
.hist_list li strong {
	display: inline-block;
	min-width: 85px;
	color: #0d3388;
	font-weight: 600;
	margin-right: 6px;
}

/* Quality Policy — 다크 배너 */
.qp_banner {
	background: #182E4E;
	color: #fff;
	text-align: center;
	padding: 34px 20px;
	margin-bottom: 32px;
}
.qp_banner p { font-size: 1.25em; font-weight: 500; line-height: 1.7em; margin: 0; }

@media (max-width: 1024px) {
	.ov_wrap { flex-direction: column; gap: 30px; }
	.ov_wrap .ov_img { flex: none; width: 100%; max-width: 480px; }
}
@media (max-width: 768px) {
	.ov_wrap .ov_img { max-width: 100%; }
	.hist_year_badge { font-size: 1.2em; padding: 5px 18px; }
	.hist_list li { font-size: 1em; }
	.hist_list li strong { min-width: unset; display: block; margin-bottom: 2px; }
	.qp_banner p { font-size: 1.1em; }
}


/* ===================================================
   Organization Chart (introduce03)
   =================================================== */
.oc_chart {
	max-width: 900px;
	margin: 40px auto 0;
	text-align: center;
}

/* 박스 공통 */
.oc_node {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 16px 24px;
	color: #fff;
	font-weight: 600;
	line-height: 1.4em;
	text-align: center;
}
.oc_node_ceo  { background: #182E4E; font-size: 1.3em;  min-width: 220px; }
.oc_node_dept { background: #2287C3; font-size: 1.05em; min-width: 165px; }
.oc_node_sub  { background: #2287C3; font-size: 1em;    min-width: 135px; }

/* 중앙 세로 연결선 */
.oc_vconn { width: 1px; height: 40px; background: #bbb; margin: 0 auto; }

/* 단독 행 (CEO / MD) */
.oc_l1 { display: flex; justify-content: center; }

/* 좌우 분기 행 — flex:1로 양쪽 폭 동일하게 강제 → 중앙선 정확히 50% */
.oc_cross_wrap { display: flex; align-items: center; }
.oc_cross_left  { flex: 1; display: flex; align-items: center; justify-content: flex-end; }
.oc_cross_right { flex: 1; display: flex; align-items: center; justify-content: flex-start; }
.oc_cross_hline { width: 60px; height: 1px; background: #bbb; flex-shrink: 0; }
.oc_cross_center { width: 1px; background: #bbb; align-self: stretch; flex-shrink: 0; }

/* 하단 3분기 — gap:0 + item padding으로 left:16.67% 정확히 맞춤 */
.oc_l3 {
	display: flex;
	justify-content: center;
	gap: 0;
	max-width: 600px;
	margin: 0 auto;
	position: relative;
	padding-top: 40px;
}
.oc_l3::before {
	content: '';
	position: absolute;
	top: 0;
	left: 16.67%;
	right: 16.67%;
	height: 1px;
	background: #bbb;
}
.oc_l3_item {
	flex: 1;
	position: relative;
	text-align: center;
	padding: 0 12px;
	box-sizing: border-box;
}
.oc_l3_item::before {
	content: '';
	position: absolute;
	top: -40px;
	left: 50%;
	transform: translateX(-50%);
	width: 1px;
	height: 40px;
	background: #bbb;
}
/* 하단 박스 전체 폭 채움 */
.oc_l3_item .oc_node {
	display: flex;
	width: 100%;
	box-sizing: border-box;
}

@media (max-width: 768px) {
	.oc_node_ceo  { min-width: 160px; font-size: 1.1em;  padding: 14px 20px; }
	.oc_node_dept { min-width: 110px; font-size: 0.95em; padding: 12px 12px; }
	.oc_node_sub  { font-size: 0.9em;  padding: 12px 10px; }
	.oc_cross_hline { width: 30px; }
	.oc_l3 { max-width: 100%; }
}
@media (max-width: 480px) {
	.oc_node_ceo  { min-width: 130px; font-size: 1em;    padding: 12px 16px; }
	.oc_node_dept { min-width: 88px;  font-size: 0.85em; padding: 10px 8px; }
	.oc_node_sub  {                   font-size: 0.82em; padding: 10px 6px; }
	.oc_cross_hline { width: 14px; }
}


/* ===================================================
   Business Areas & Major Clients (introduce04)
   =================================================== */
.biz_list { margin-top: 10px; }

.biz_item {
	display: flex;
	align-items: flex-start;
	gap: 30px;
	padding: 32px 0;
	border-bottom: 1px solid #eee;
}
.biz_item:first-child { padding-top: 0; }
.biz_item:last-child  { border-bottom: none; }

.biz_item .biz_img {
	flex: 0 0 160px;
}
.biz_item .biz_img img {
	width: 100%;
	height: 110px;
	object-fit: cover;
	display: block;
}

.biz_item .biz_cont { flex: 1; }
.biz_item .biz_cont h4 {
	font-size: 1.35em;
	font-weight: 700;
	color: #0d3388;
	margin-bottom: 14px;
	line-height: 1.4em;
}

.biz_clients {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.biz_clients span {
	font-size: 0.97em;
	color: #555;
	background: #f5f7fa;
	border: 1px solid #dde2e9;
	padding: 5px 14px;
	line-height: 1.5em;
}

@media (max-width: 768px) {
	.biz_item { flex-direction: column; gap: 16px; }
	.biz_item .biz_img { flex: none; width: 100%; max-width: 320px; }
	.biz_item .biz_img img { height: 160px; }
	.biz_item .biz_cont h4 { font-size: 1.2em; }
}
@media (max-width: 480px) {
	.biz_item .biz_img { max-width: 100%; }
	.biz_clients span { font-size: 0.9em; padding: 4px 10px; }
}


/* ===================================================
   Product Grid — Business Areas (business01~)
   =================================================== */
.prod_grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}
.prod_item { overflow: hidden; }
.prod_item img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	display: block;
}
.prod_item .prod_name {
	background: #182E4E;
	color: #fff;
	font-size: 1em;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-align: center;
	padding: 10px 8px;
}

@media (max-width: 768px) {
	.prod_grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
}
@media (max-width: 480px) {
	.prod_grid { grid-template-columns: repeat(1, 1fr); }
	.prod_item .prod_name { font-size: 0.95em; }
}


/* ===================================================
   Shipbuilding Materials (business02)
   =================================================== */
/* 좌(2×2 그리드) + 우(대형 도면) 2-col 레이아웃 */
.busi02_wrap {
	display: flex;
	gap: 30px;
	align-items: flex-start;
}
.busi02_left  { flex: 1; min-width: 0; }
.busi02_right { flex: 0 0 500px; }
.busi02_right img { width: 100%; display: block; }

/* 제품군 섹션 레이블 */
.prod_sect_label {
	font-size: 1.1em;
	font-weight: 700;
	color: #0d3388;
	letter-spacing: 0.02em;
	margin: 0 0 10px;
}
.prod_sect_label.btm { margin: 10px 0 0; text-align: right; }

/* 도면 이미지 하단 캡션 */
.busi02_right .prod_name { margin-top: 0; }

@media (max-width: 900px) {
	.busi02_wrap { flex-direction: column; }
	.busi02_right { flex: none; width: 100%; max-width: 380px; }
}
@media (max-width: 480px) {
	.prod_sect_label { font-size: 1em; }
}


/* ===================================================
   Manufacturing Equipment (business04)
   =================================================== */

/* 설비 현황 테이블 래퍼 — 모바일 가로 스크롤 */
.equip_overview { overflow-x: auto; margin: 0 0 50px; }
.equip_overview table { min-width: 800px; }

/* 파란 타이틀 행 */
.tbl thead th.equip_hd {
	background: #2287C3;
	color: #fff;
	font-size: 1.1em;
	font-weight: 700;
	letter-spacing: 0.02em;
	border-right: 0;
}

/* 장비 상세 카드 2열 그리드 */
.equip_grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 50px 30px;
}
.equip_card img {
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	display: block;
}
.equip_card .tbl { margin-top: 0; }

/* 장비 스펙 테이블 — 중앙 정렬 td */
.equip_card .tbl td.equip_center {
	text-align: center;
	vertical-align: middle;
	font-weight: 600;
	color: #1e2e42;
}

/* rowspan 으로 인해 단독 td(:last-child)가 된 스펙 행 우측 선 복원
   .tbl td:last-child { border-right:0 } 을 equip_card / equip_overview 내에서 덮어씀 */
.equip_card .tbl td:last-child:not([rowspan]),
.equip_overview td:last-child:not([rowspan]) {
	border-right: 1px solid #dde2e9;
}

@media (max-width: 900px) {
	.equip_grid { grid-template-columns: 1fr; gap: 40px; }
}
@media (max-width: 480px) {
	.tbl thead th.equip_hd { font-size: 1em; }
}

/* =====================================================
   BUSINESS AREAS / Industrial Machinery & Steel Plant (business03)
   ===================================================== */

.b03_sect { margin-bottom: 60px; }
.b03_sect:last-child { margin-bottom: 0; }

.b03_sect_title {
	font-size: 1.1em;
	font-weight: 700;
	color: #182E4E;
	padding: 10px 16px;
	background: #f0f4f8;
	border-left: 4px solid #2287C3;
	margin-bottom: 20px;
}
.b03_prod_label {
	font-size: 1em;
	font-weight: 700;
	color: #0d3388;
	margin-bottom: 12px;
}

/* ─ THRUST CAM / GAS TURBINE 좌우 분할 ─ */
.b03_split {
	display: flex;
	gap: 0;
	align-items: flex-start;
	margin-bottom: 40px;
}
.b03_half { flex: 1; min-width: 0; }
.b03_divider {
	flex-shrink: 0;
	width: 1px;
	background: #dde2e9;
	align-self: stretch;
	margin: 0 24px;
}

/* 2×2 상단 그리드 */
.b03_4grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 6px;
	margin-bottom: 6px;
}
.b03_4grid img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	display: block;
}
/* 하단 와이드 이미지 */
.b03_wide {
	width: 100%;
	aspect-ratio: 16 / 6;
	object-fit: cover;
	display: block;
}

/* ─ 방사선 치료 설비 3열 ─ */
.b03_rd_wrap {
	display: flex;
	gap: 16px;
	align-items: stretch;        /* center → stretch: 전 컬럼 동일 높이로 */
}
.b03_rd_cad {
	flex: 2;
	min-width: 0;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 6px;
}
.b03_rd_cad img {
	width: 100%;
	object-fit: cover;
	display: block;
	margin: 18px;
	max-width: 200px;
}
.b03_rd_center {
	flex: 2;
	min-width: 0;
	display: flex;               /* 수직 중앙 정렬을 위해 flex 추가 */
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
}
/* div.b03_rd_circle 원형 프레임 */
.b03_rd_circle {
	width: 82%;
	max-width: 380px;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	overflow: hidden;
	background: #eef2f7;         /* render 여백 채우는 배경 */
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 0 14px;
}
.b03_rd_circle img {
	width: 92%;
	height: 92%;
	object-fit: contain;
	display: block;
	mix-blend-mode: multiply;    /* 흰 배경 → 원형 배경색으로 투과 */
}
.b03_rd_center p {
	font-size: 0.82em;
	font-weight: 700;
	color: #fff;
	background: #182E4E;
	padding: 7px 14px;
	line-height: 1.65;
	letter-spacing: 0.04em;
	text-align: center;
}
.b03_rd_factory {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.b03_rd_factory img {
	flex: 1;                     /* aspect-ratio 고정 대신 높이를 균등 분할 */
	width: 100%;
	min-height: 0;
	object-fit: cover;
	display: block;
}

/* ─ 제철설비 3열 ─ */
.b03_sp_wrap {
	display: flex;
	gap: 8px;
	align-items: flex-start;
}
.b03_sp_left {
	flex: 2;
	min-width: 0;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 6px;
}
.b03_sp_left img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	display: block;
}
.b03_sp_center,
.b03_sp_right {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.b03_sp_center img,
.b03_sp_right img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	display: block;
}

/* ─ Responsive ─ */
@media (max-width: 900px) {
	.b03_split { flex-direction: column; gap: 36px; }
	.b03_divider { display: none; }

	.b03_rd_wrap { flex-wrap: wrap; }
	.b03_rd_cad { flex: 0 0 100%; }
	.b03_rd_center { flex: 0 0 40%; }
	.b03_rd_factory {
		flex: 1;
		flex-direction: row;
		flex-wrap: wrap;
		align-content: flex-start;
	}
	/* 900px 이하: row 방향이므로 aspect-ratio 복원 */
	.b03_rd_factory img {
		flex: 0 0 calc(33.33% - 4px);
		aspect-ratio: 4 / 3;
		min-height: unset;
	}

	.b03_sp_wrap { flex-wrap: wrap; }
	.b03_sp_left { flex: 0 0 100%; }
	.b03_sp_center,
	.b03_sp_right {
		flex: 1;
		flex-direction: row;
		flex-wrap: wrap;
		align-content: flex-start;
	}
	.b03_sp_center img,
	.b03_sp_right img { flex: 0 0 calc(33.33% - 4px); }
}
@media (max-width: 768px) {
	.b03_rd_center,
	.b03_rd_factory { flex: 0 0 100%; }
	/* 768px 이하: 전부 세로 적층, circle 크기 제한 */
	.b03_rd_circle { width: 60%; max-width: 180px; }
	.b03_rd_factory img { flex: 0 0 calc(33.33% - 4px); aspect-ratio: 4 / 3; }
}
@media (max-width: 480px) {
	.b03_sect { margin-bottom: 40px; }
	.b03_rd_factory img { flex: 0 0 calc(50% - 3px); }
	.b03_sp_center img,
	.b03_sp_right img { flex: 0 0 calc(50% - 3px); }
}

/* ─ 한국중기계 실적 현황 ─ */
.b03_perf_item { margin-bottom: 40px; min-width: 0; }
.b03_perf_item:last-child { margin-bottom: 0; }
.b03_perf_label {
	font-size: 0.88em;
	font-weight: 700;
	letter-spacing: 0.1em;
	color: #1e2e42;
	margin-bottom: 10px;
}

/* 기본 레이아웃: 좌 hero + 우 grid */
.b03_perf_wrap {
	display: flex;
	gap: 8px;
	align-items: stretch;
}
.b03_perf_hero {
	flex: 0 0 55%;
}
.b03_perf_hero img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.b03_perf_grid {
	flex: 1;
	min-width: 0;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 6px;
}
.b03_perf_grid img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	display: block;
}

/* 우측 1열 그리드 — JACKET, RACK GEAR */
.b03_perf_grid--col1 { grid-template-columns: 1fr; }

/* 혼합 행 그리드 — CROWN CYLINDER(2+3), GIRTH GEAR(3+2) */
.b03_perf_multi {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.b03_pmr { display: flex; gap: 6px; }
.b03_pmr img {
	flex: 1;
	min-width: 0;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	display: block;
}

/* CRANE WIRE DRUM — 2장 동등 나란히 */
.b03_perf_pair {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 8px;
}
.b03_perf_pair img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	display: block;
}

/* DRIVESHAFT — 상단 파노라마 + 하단 3열 */
.b03_perf_ds { display: flex; flex-direction: column; gap: 8px; }
.b03_perf_ds .ds_wide {
	width: 100%;
	aspect-ratio: 16 / 5;
	object-fit: cover;
	display: block;
}
.b03_perf_ds .ds_row {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 8px;
}
.b03_perf_ds .ds_row img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	display: block;
}

/* ─ 한국중기계 2열 나란히 레이아웃 ─ */
.b03_perf_cols {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px 30px;
}

/* ─ 한국중기계 Responsive ─ */
@media (max-width: 1100px) {
	/* 2열 유지 상태에서 hero 비율 축소 */
	.b03_perf_hero { flex: 0 0 50%; }
}
@media (max-width: 900px) {
	/* 2열 → 1열 전환 (각 item 전체 너비 확보) */
	.b03_perf_cols { grid-template-columns: 1fr; }
	.b03_perf_item { margin-bottom: 28px; }
}
@media (max-width: 768px) {
	/* hero + grid → 세로 적층 */
	.b03_perf_wrap { flex-direction: column; align-items: flex-start; }
	.b03_perf_hero { flex: none; width: 100%; }
	.b03_perf_hero img { height: auto; aspect-ratio: 16 / 9; }
	.b03_perf_grid { flex: none; width: 100%; }
	.b03_perf_multi { flex: none; width: 100%; }
}
@media (max-width: 480px) {
	.b03_perf_item { margin-bottom: 20px; }
	/* CRANE WIRE DRUM 1열 */
	.b03_perf_pair { grid-template-columns: 1fr; }
	/* DRIVESHAFT 하단 2열로 축소 */
	.b03_perf_ds .ds_row { grid-template-columns: repeat(2, 1fr); }
}