@charset "utf-8";

/* CEO 인사말 */
.greeting-content {display:flex; gap:var(--space-100); align-items:center;}
.greeting-image {flex:0 0 auto; width:clamp(420px, calc(600 / var(--inner) * 100vw), 600px); overflow:hidden;}
.greeting-image img {width:100%; height:auto; display:block; object-fit:cover;}
/* .greeting-text {flex:1; display:flex; flex-direction:column; gap:var(--space-30);} */
.greeting-text p {color: #454545; line-height: 1.2em;}
.greeting-title {font-size:var(--font-size-48); font-weight:700; margin-bottom:var(--space-30); background: linear-gradient(90deg, #0AC 0%, #005B8E 50%, #1B3A6A 100%); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent;}
.greeting-sub-title {display: flex; gap: 20px; font-size:var(--font-size-32); font-weight:400; margin-bottom:var(--space-60); color:var(--color-heading);}
.greeting-sub-title:before {content:''; display:block; width:60px; height:1px; margin: auto 0; background:var(--color-heading);}
.greeting-desc {gap:var(--space-30);}
.greeting-desc > p{font-size:var(--font-size-18); font-weight:400; line-height:1.67em; color:#505050;}
.greeting-closing {font-size:var(--font-size-18); margin-top:var(--space-20);}
.greeting-signature {align-items:center; justify-content: flex-end;  gap:var(--space-20); font-size:var(--font-size-18); font-weight:700; text-align:right; margin-top:var(--space-30);}
.greeting-signature .name {width: clamp(100px, calc(124 / var(--inner) * 100vw), 124px);}

/* 회사연혁 */
/* 탭버튼 */
.tab-slider .tab {margin-bottom:var(--space-100);}
.tab-slider .tab ul {display:flex; height: 60px;}
.tab-slider .tab ul li {position: relative; flex:1;}
.tab-slider .tab ul li:after {content:''; position: absolute; bottom:0; left:0; width:100%; height:4px; background:#eee;}
.tab-slider .tab ul li.active:after {background:var(--color-primary);}
.tab-slider .tab ul li a {display:flex; justify-content:center; align-items:center; width:100%; height: 100%; color:#878787; text-align:center; font-size:var(--font-size-18); font-weight: 700;}
.tab-slider .tab ul li.active a {color:var(--color-primary);}
.tab-slider .slider {position:relative; text-align:center;}

.history-bnr {margin-bottom: 80px; border-radius: 20px; height: 240px; padding: 0 50px; display: flex; align-items: flex-end; background:url('../images/sub/history-bnr.jpg') no-repeat 50% 50% / cover;}
.history-bnr h2 {font-size: 40px; font-weight: 700; letter-spacing: -.03em; line-height: 1em; color: #fff;}
.history-bnr h2 span {font-size: 60px; margin-top: 20px; letter-spacing: -.03em; display: block;}

.history .item {display:flex; gap:var(--space-150);}
.history .item:not(:last-child) {margin-bottom:var(--space-150);}
.history .item h3 {width: 37%; font-size:var(--font-size-64); font-weight: 700; color: var(--color-heading); text-align:right; line-height:1em;}
.history .list {position:relative; padding: var(--space-30) var(--space-40);}
.history .list:after {position:absolute; content:""; left:0; top:0; width:2px; height:100%; background:#ddd; z-index:-1;}
.history .list li {display:flex; align-items:center; gap:var(--space-20); margin-bottom:var(--space-30); font-size: var(--font-size-18); color: #505050; line-height:1.2em;}
.history .list li:before {content:''; display:block; width:6px; height:6px; border-radius:50%; background:var(--color-primary); flex-shrink: 0;}
.history .list li:last-child {margin-bottom:0;}


/* 조직도 */

/* 오시는 길 */
.root_daum_roughmap {width:100% !important;}
.root_daum_roughmap .cont .section.lst {display: none;}
.directions {display: flex; justify-content: flex-start; gap: var(--space-180); margin-top:60px;}
.directions .address-info .comp {font-size:var(--font-size-18); color:var(--color-primary); font-weight:600; margin-bottom:15px; line-height:1em;}
.directions .address-info .addr {color:var(--color-heading); font-size:var(--font-size-24); font-weight:600; line-height:1.2em; margin-bottom:20px;}
.directions .address-info .etc {color:#454545; font-weight: 500;}
.directions .address-info .etc span {display:inline-block; margin-right:20px; color: #505050; line-height: 1em;}
.directions .address-info .etc span:last-child {margin-right:0;}
.directions .contact-info {display: flex; flex-direction: column; gap: var(--space-30); line-height:1.5em;}
.directions .contact-info dl {display:flex; align-items:center;}
.directions .contact-info dt {width:120px; color:var(--color-heading); font-size:var(--font-size-18); font-weight:600; line-height:1em;}
.directions .contact-info dt svg {vertical-align:middle; margin:-.2em 15px 0 0;}
.directions .contact-info dt path {fill:var(--color-heading);}
.directions .contact-info dd {flex:1 1 auto; min-width:0; width:1%; color:#505050;}

@media (max-width: 1024px) {
	.root_daum_roughmap .wrap_map {height:300px !important;}
}

@media (max-width: 640px) {
	.root_daum_roughmap .wrap_map {height:250px !important;}	
}

/* 사업소개 */
.business-tab {margin-bottom:var(--space-80);}
.business-tab ul {display:flex; gap: 10px; height: 54px;}
.business-tab ul li {position: relative; flex:1; background:#F4F4F4;}
.business-tab ul li a {display:flex; justify-content:center; align-items:center; width:100%; height: 100%; color:#505050; text-align:center; font-size:var(--font-size-18); line-height: 1.2em;}
.business-tab ul li.active {background: var(--color-primary);}
.business-tab ul li.active a {color:#fff; font-weight: 600;}
.business-tab-slider .slider {position:relative; text-align:center;}

.business-logo {padding-bottom:var(--space-40); border-bottom: 2px solid #ddd;}
.business-logo .logo-wrap { max-width: 300px; margin: auto;}
.business-logo .logo-wrap>div {position:relative; padding-bottom:40%;overflow:hidden; }
.logo-wrap img {position:absolute; top:50%; left:0; transition:.4s ease-in-out; transform:translateY(-50%); -ms-transform:translateY(-50%); -webkit-transform:translateY(-50%); width:100%; height:auto !important; max-width:100%; min-height:100%; object-fit:cover;}
.business-header {margin:var(--space-60) 0;}
.business-title {position:relative; font-size:var(--font-size-40); font-weight:700; color:var(--color-heading); padding-bottom: 15px; margin-bottom:var(--space-30); line-height:1em;}
.business-title:after {content:''; position:absolute; bottom:0px; left:0; width:40px; height:4px; background: linear-gradient(90deg, #0AC 0%, #005B8E 50%, #1B3A6A 100%);}
.business-desc {font-size:var(--font-size-18); color:var(--color-heading); line-height:1.2em; font-weight: 600;}
.business-list-wrap {display:grid; grid-template-columns:repeat(2, 1fr); gap:var(--space-100) 0;}
.business-list {display:flex; gap:var(--space-30); align-items:flex-start; position: relative;}
.business-list:nth-of-type(odd) {padding-right: var(--space-40);}
.business-list:nth-of-type(even) {padding-left: var(--space-40);}
.business-list:nth-of-type(odd):after {content:''; position:absolute; right:0; top:0; width:2px; height:100%; background:#ddd;}
.business-list-wrap.odd-count .business-list:nth-of-type(odd):last-child:after {display:none;}
.business-item-img { width:clamp(200px, calc(230 / var(--inner) * 100vw), 230px);}
.business-item-img >div {position:relative; padding-bottom:75%;overflow:hidden; }
.business-item-img img {position:absolute; top:50%; left:0; transition:.4s ease-in-out; transform:translateY(-50%); -ms-transform:translateY(-50%); -webkit-transform:translateY(-50%); width:100%; height:auto !important; max-width:100%; min-height:100%; object-fit:cover;}
.business-item-info {flex:1; display:flex; flex-direction:column; min-height: 200px; padding-top: 10px;}
.business-item-name {margin-bottom: var(--space-15); font-size:var(--font-size-20); font-weight:700; color:var(--color-heading); line-height:1em;}
.business-item-sub {margin-bottom: var(--space-20); font-size:var(--font-size-16); color:var(--color-primary); line-height:1.63em;}
.business-desc-wrap {display:flex; flex-direction:column; gap:var(--space-10); margin-bottom: var(--space-40);}
.business-item-desc {position:relative; padding-left:10px; font-size:var(--font-size-16); color:#505050; line-height:1.63em;}
.business-item-desc:before {content:''; position:absolute; left:0; top:var(--space-10); width:5px; height:5px; border-radius:50%; background:var(--color-secondary);}
.business-item-btn {display: flex; align-items:center; justify-content:center; gap: 15px; width: 130px; height: 40px; font-size:var(--font-size-14); font-weight:600; color: var(--color-heading); background: #fff; border: 1px solid var(--color-heading);}
.business-item-btn:after {content:''; display:block; width:10px; height:10px; background:url('../images/sub/business-arrow.png') no-repeat center / contain;}
.business-item-btn:hover {background:var(--color-primary); border-color:var(--color-primary); color:#fff;}
.business-item-btn:hover:after {background:url('../images/sub/business-arrow-active.png') no-repeat center / contain;}
/* 견적문의 */
.cen .btn-pack.xlarge {width: 200px; font-size:var(--font-size-16); font-weight:500;}