 @charset "utf-8"; /* doc.css는 디자인페이지 스타일을 정의합니다. */
 .root_daum_roughmap { width:100% !important; height:430px !important; border: 0 !important; } 
 .root_daum_roughmap .wrap_map { width:100% !important; height:430px !important; border: 0 !important; } 

 .map iframe  { width:100% !important; height:430px !important; border: 0 !important; } 

.doc-cnt { padding:var(--space-90) 0; } 
.doc-cnt:first-child { padding-top:0; } 
.doc-cnt:last-child { padding-bottom:0; } 

.doc-cnt2 { padding:var(--space-100) 0; } 
.doc-cnt2:first-child { padding-top:0; } 

.sub-title2 { padding-bottom:var(--space-50); text-align:left; } 
.sub-title2 h2 { font-size:var(--font-size-40); line-height:1em; color:var(--color-dark); } 

.doc-tit { margin-bottom: var(--space-50); } 
.doc-tit strong { font-size: var(--font-size-20); line-height:1em; color: var(--color-primary); } 
.doc-tit .tit { margin-top: var(--space-20); font-weight:700; font-size: var(--font-size-36); line-height:normal; color: var(--color-dark); } 
.doc-tit p { margin-top: var(--space-30); font-weight:600; font-size: var(--font-size-18); line-height:1.56em; color: #454545; } 
.doc-tit p.t2 { margin-top: var(--space-30); font-weight:400; font-size: var(--font-size-16); line-height:1.75em; } 

.txt-gra { background: linear-gradient(135deg, #436bde 0%, #1eb2f6 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; -webkit-box-decoration-break: clone; clip-path: inset(1px); } 

.table-style table { width:100%; border-collapse:collapse; border-spacing:0px; border-top:1px solid #1f1f1f; line-height:1.5em; } 
.table-style table th { padding:13px; border:1px solid #ddd; border-top:0; font-weight:600; background:#fafafa; } 
.table-style table td { padding:13px; text-align:center; border:1px solid #ddd; border-top:0; color: #454545; } 
.table-style tr th:first-child,
.table-style tr td:first-child { border-left:0; } 
.table-style tr th:last-child,
.table-style tr td:last-child { border-right:0; } 
.table-style span { display:inline-block; } 
.table-style .normal { font-weight:400; } 

.flex-wrap { display: flex; } 
.flex-center { display: flex; justify-content: center; } 
.flex-between { display: flex; justify-content: space-between; } 
.flex-mid { display: flex; align-items: center; } 
.flex-bottom { display: flex; align-items: flex-end; } 
.flex-column { display: flex; flex-direction: column; } 
.flex1 { flex: 1; } 
.flex1-auto { flex: 1 1 auto; width:1%; min-width:0; } 

.dot-list > li { position:relative; padding-left:10px; } 
.dot-list > li:before { content:"·"; position:absolute; top:-2px; left:0; font-weight:700; color:#242424; } 
.dot-list > li strong { font-weight:600; } 

.dash-list > li { position:relative; padding-left:13px; } 
.dash-list > li:before { content:"-"; position:absolute; top:-2px; left:0; font-size:var(--font-size-20); line-height:1.6em; } 
.dash-list > li strong { font-weight:600; } 
.dash-list.none > li { padding-left:0; } 
.dash-list.none > li::before { display: none; } 

/* num-list */
ol { display: block; list-style-type: decimal; margin-inline-start: 0px; margin-inline-end: 0px; padding-inline-start: 18px; } 
ol li { display: list-item; text-align: -webkit-match-parent; margin-bottom:5px; } 
ol li:last-child { margin-bottom:0; } 

.pt0 { padding-top:0 !important; } 
.pb0 { padding-bottom:0 !important; } 
 
.mt0 { margin-top:0 !important; } 
.mb0 { margin-bottom:0 !important; } 

.txt-primary { color: var(--color-primary) !important; } 
.txt-second { color: var(--color-secondary) !important; } 
.txt-grey { color: #888888 !important; } 
.txt-wht { color: #fff !important; } 

.highlight { display: inline; box-shadow: inset 0 -14px 0 #f7f5fa; border-radius: 3px; } 

.bg-grey { background-color: #fafafa; } 

/* 개요 */
.overview { display:flex; gap:0 var(--container-space); position:relative; padding-bottom:var(--space-60); } 
.overview::before { content: ""; width: 100vw; height: 335px; background: linear-gradient(180deg, rgba(67,107,222,1) 0%, rgba(30,178,246,1) 100%); position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); z-index:-1; } 
.overview .col-l { width:47.142%; } 
.overview .col-r { flex:1; } 
.overview .col-r .top { margin-bottom: var(--space-60); } 
.overview .col-r .top span { font-weight:600; font-size: var(--font-size-18); line-height:1em; color: var(--color-primary); } 
.overview .col-r .top .tit { margin-top: var(--space-30); font-weight:700; font-size: var(--font-size-40); line-height:normal; color: var(--color-dark); } 
.overview .col-r .top p { margin-top: var(--space-20); font-weight:700; font-size: var(--font-size-24); line-height:1.56em; color: var(--color-dark); } 
.overview .col-r .mid { padding-top:var(--space-60); } 
.overview .col-r .mid p { margin-bottom:var(--space-30); line-height:1.75em; color:#fff; } 
.overview .col-r .mid p:last-child { margin-bottom:0; } 
.overview .col-r .bot { margin-top:var(--space-40); } 
.overview .col-r .bot p { font-size:var(--font-size-16); color:#fff; } 
.overview .col-r .bot p img { margin:-3px 0 0 var(--space-20); vertical-align:middle; } 

.ico-list { display:grid; grid-template-columns: repeat(3, 1fr); } 
.ico-list li { display:flex; flex-direction: column; align-items: center; justify-content: center; text-align:center; padding:var(--space-60); } 
.ico-list .ico { text-align:center; } 
.ico-list .ico img { width:clamp(34px, calc( 64 / var(--inner) * 100vw ), 64px ); height:clamp(34px, calc( 64 / var(--inner) * 100vw ), 64px ); } 
.ico-list .tt { font-size: var(--font-size-24); font-weight:700; margin-top:var(--space-40); line-height:normal; color: var(--color-dark); } 
.ico-list .tx { margin-top:var(--space-30); } 

/* 사업영역 */
.biz-list ul { display:grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-30); } 
.biz-list .img img { border-top-left-radius: var(--space-20); border-top-right-radius: var(--space-20); width: 100%; } 
.biz-list ul li .txt-wrap { position: relative; background-color: #fafafa; padding: var(--space-30); border-bottom-left-radius: var(--space-20); border-bottom-right-radius: var(--space-20); } 
.biz-list ul li .txt-wrap.wht { background:#fff; } 
.biz-list ul li .en { color: #afafaf; font-weight:600; } 
.biz-list ul li .tit { margin-top:10px; font-weight:700; font-size: var(--font-size-24); line-height:normal; color: var(--color-dark); } 

/* 회사연혁 */
.history-wrap { display:flex; } 
.history-wrap .img { width:30%; padding-right:var(--space-140); } 
 .history { flex: 1; padding-left:var(--space-140); } 
 .history ol { padding-inline-start: 0; } 
.history ol > li { display:flex; padding:var(--space-30) 0; border-top:1px solid #242424; } 
.history .month { width:41%; font-weight:700; font-size: var(--font-size-36); color: #242424; padding: 0 var(--space-30); } 
.history .dot-list { flex: 1; } 
.history .dot-list > li { text-align: left; padding-left:13px; color: var(--color-dark); font-weight:600; font-size: var(--font-size-22); line-height:normal; } 
.history .dot-list > li::before { color: var(--color-primary); font-weight:900; font-size:var(--font-size-22); } 
.history .dot-list .dash-list { margin-top:var(--space-20); } 
.history .dot-list .dash-list li { line-height:2em; } 

.directions { margin-top:var(--space-50); letter-spacing: -.02em !important; } 
.directions .address-info { width:52%; padding-right:var(--container-space); } 
.directions .address-info .comp { color:var(--color-primary); font-weight:600; margin-bottom:10px; } 
.directions .address-info .addr { color: #242424; font-size: 24px; font-weight: 700; line-height: 1.33em; margin-bottom: 10px; } 
.directions .address-info .etc span { display:inline-block; margin-right:16px; } 
.directions .address-info .etc span:last-child { margin-right:0; } 
.directions .contact-info { line-height:1.5em; width:40%; } 
.directions .contact-info dl { display:flex; margin-bottom:var(--space-20); } 
.directions .contact-info dl:last-child { margin-bottom:0; } 
.directions .contact-info dt { width: 160px; padding-left: 0; color:#242424; font-weight:600; font-size: var(--font-size-18); } 
.directions .contact-info dt svg { vertical-align:middle; margin:-.2em 15px 0 0; } 
.directions .contact-info dt path { fill:#a1b5ee; } 
.directions .contact-info dd { flex:1 1 auto; min-width:0; width:1%; color:#454545; } 
.directions .info-wrap { display:flex; padding-top:var(--space-50); } 

/* 솔루션 */
.cnt-flex { display:flex; padding-top:var(--space-100); } 
.cnt-flex > div { width:50%; } 
.cnt-flex .img img { border-bottom-right-radius: var(--space-20); border-top-right-radius: var(--space-20); } 
.cnt-flex .txt { padding:var(--space-70); background-color: #fafafa; border-bottom-left-radius: var(--space-20); border-top-left-radius: var(--space-20); } 
.cnt-flex .tit-wrap strong { display:block; font-weight:600; color: #afafaf; line-height:1em; } 
.cnt-flex .tit-wrap h4 { margin-top:var(--space-20); font-size: var(--font-size-32); line-height:1em; color: var(--color-dark); } 
.cnt-flex .arrow-list { margin-top:var(--space-50); } 

.arrow-list > li { position:relative; padding-left:30px; font-weight:700; font-size: var(--font-size-20); line-height:1.40em; color: var(--color-dark); margin-bottom:var(--space-40); } 
.arrow-list > li:last-child { margin-bottom:0; } 
.arrow-list > li::before { content: ""; position: absolute; top: 4px; left:0; width:18px; height:18px; background: url(/images/sub/bullet.png) no-repeat center/contain; } 
.arrow-list .dash-list > li { margin-top:10px; font-size: var(--font-size-16); line-height:1.75em; font-weight:400; color:#454545; } 
.arrow-list .dash-list > li:before { font-size: var(--font-size-16); line-height:1.75em; } 
.arrow-list.type2 > li { margin-bottom:var(--space-30); } 