@charset "utf-8";

/* 공통 */
.text-indent {text-indent: -9999px;}
.sub-section {padding-top: var(--space-120); padding-bottom:var(--space-140);}
.sub-section.bg-color {background-color: #fafafa;}
.sub-section:first-child {padding-top: 0; padding-bottom:var(--space-140);}
.sub-section:last-child {padding-bottom: 0;}
.pb0 .sub-section:last-child {padding-bottom:var(--space-140);}
.sub-head {display:flex; flex-direction:column; align-items:center; gap:var(--space-10); text-align:center; margin-bottom: var(--space-80);}
.sub-head .en {color:var(--color-primary); font-size:var(--font-size-22); font-weight:400; line-height:1.5em; letter-spacing:-.02em;}
.sub-head h3 {color:#2c2c2c; font-size:var(--font-size-40); font-weight:500; line-height:1.35em; letter-spacing:-.02em;}

/*************************** 회사소개 ***************************/
/* CEO 인사말 */
.greeting-section {display:flex; align-items:center; gap:var(--space-100);}
.greeting-section .thumb {flex-shrink:0; width:69%; max-width: 960px; margin-left:calc(-1 * (var(--space-container) + max(0px, (100vw - 1500px) / 2))); overflow:hidden; border-radius:0 160px 0 0;}
.greeting-section .thumb img {width:100%; height:100%; object-fit:cover;}
.greeting-section .txt {position:relative; display:flex; flex-direction:column; align-items:flex-start; gap:var(--space-28); flex:1; min-width:0;}
.greeting-section .txt h3 {color:var(--color-primary); font-size:var(--font-size-40); font-weight:400; line-height:1.35em; letter-spacing:-.02em;}
.greeting-section .desc {display:flex; flex-direction:column; gap:var(--space-20);}
.greeting-section .desc p {color:#676767; font-size:var(--font-size-20); font-weight:400; line-height:1.7em; letter-spacing:-.02em;}
.greeting-section .sign {position:relative; z-index:1; color:#2c2c2c; font-size:var(--font-size-20); font-weight:500; line-height:1.7em; letter-spacing:-.02em;}
.greeting-section .txt:after {content:""; position:absolute; right:0; bottom:0; z-index:0; width:140px; height:140px; background:url("../images/sub/greeting-logo.png") no-repeat center / contain;}

/* 비전 및 경영이념 */
.vision-logo {width:122px; margin: 0 auto;}
.vision-philosophy {background:#fafafa;}
.vision-philosophy .thumb {overflow:hidden; border-radius:0 160px 0 0;}
.vision-values-list {display:flex; flex-wrap: wrap; gap:var(--space-16); width:100%; margin:0; padding:0; list-style:none;}
.vision-values-item {flex:1; min-width:0; display:flex; flex-direction:column; align-items:flex-end; gap:var(--space-60); padding:var(--space-60) var(--space-40) var(--space-40); border:1px solid #eee;}
.vision-values-item:first-child {border-radius:80px 0 0 0;}
.vision-values-item:last-child {border-radius:0 80px 0 0;}
.vision-values-item .icon {display:flex; align-items:center; justify-content:center; width:64px; height:64px;}
.vision-values-item .txt {display:flex; flex-direction:column; align-items:flex-start; gap:var(--space-20); width:100%;}
.vision-values-item .tit {display:flex; flex-direction:column; gap:var(--space-8);}
.vision-values-item .num {color:#aaa; font-size:var(--font-size-28); font-weight:400; line-height:1.5em; letter-spacing:-.02em;}
.vision-values-item .tit strong {color:var(--color-primary); font-size:var(--font-size-28); font-weight:500; line-height:1.5em; letter-spacing:-.02em;}
.vision-values-item .desc {display:flex; flex-direction:column; gap:var(--space-10);}
.vision-values-item .desc p {color:#676767; font-size:var(--font-size-20); font-weight:400; line-height:1.5em; letter-spacing:-.02em;}

/* 회사연혁 */
.history-deco {color:#f1f1f1; font-size:var(--font-size-75); font-weight:400; line-height:1em; letter-spacing:-.02em; text-align:right;}
.history-table {border-top:1px solid #eee; border-bottom:1px solid #eee;}
.history-body {border-right:1px solid #eee; border-left:1px solid #eee;}
.history-row {display:flex; align-items:flex-start;}
.history-row:first-child .history-year {padding-top:var(--space-80);}
.history-row:first-child .history-items {padding-top:calc(var(--space-80) + 17px);}
.history-row:last-child .history-items {padding-bottom:var(--space-140);}
.history-year {flex-shrink:0; width:400px;}
.history-year h4 {padding-left:var(--space-40); border-left:2px solid var(--color-primary); color:var(--color-primary); font-size:60px; font-weight:400; line-height:1.24em; letter-spacing:-.02em;}
.history-items {display:flex; flex-direction:column; gap:var(--space-24); flex:1; min-width:0; padding:17px 0 var(--space-100) var(--space-60); border-left:1px solid #eee;}
.history-item {position:relative; display:flex; align-items:flex-start;}
.history-item:before {content:""; position:absolute; top:4px; left:calc(-1 * var(--space-60) - 16px); width:32px; height:32px; background:#fff; border-radius:50%;}
.history-item:after {content:""; position:absolute; top:10px; left:calc(-1 * var(--space-60) - 10px); width:20px; height:20px; background:#fff; border:6px solid var(--color-primary); border-radius:50%;}
.history-item .month {flex-shrink:0; width:60px; color:#2c2c2c; font-size:24px; font-weight:600; line-height:1.667em; letter-spacing:-.02em;}
.history-item .cont {display:flex; flex-direction:column; gap:var(--space-24); padding-top:3px;}
.history-txt {position:relative; padding-left:14px;}
.history-txt:before {content:""; position:absolute; top:15px; left:0; width:4px; height:4px; background:#ccc; border-radius:50%;}
.history-txt strong {display:block; color:#2c2c2c; font-size:20px; font-weight:500; line-height:1.7em; letter-spacing:-.02em;}
.history-txt p {color:#676767; font-size:20px; font-weight:400; line-height:1.7em; letter-spacing:-.02em;}
.history-txt li {position:relative; padding-left:12px; color:#676767; font-size:20px; font-weight:400; line-height:1.7em; letter-spacing:-.02em;}
.history-txt li:before {content:"-"; position:absolute; top:0; left:0;}

/* 조직도 */
.org {display:flex; flex-direction:column; align-items:center;}
.org-head {position:relative; z-index:1; display:flex; align-items:center; justify-content:center; width:240px; height:240px; background:var(--color-primary); border-radius:50%; color:#fff; font-size:var(--font-size-26); font-weight:600; line-height:1.54em; letter-spacing:-.02em; text-align:center;}
.org-teams {position:relative; display:grid; grid-template-columns:repeat(5, 1fr); gap:var(--space-60); width:100%; --org-gap:200px; margin-top:var(--org-gap);}
.org-teams:before {content:""; position:absolute; top:calc(-1 * var(--org-gap) / 2); right:calc((100% - var(--space-60) * 4) / 10); left:calc((100% - var(--space-60) * 4) / 10); height:1px; background:#eee;}
.org-teams:after {content:""; position:absolute; top:calc(-1 * var(--org-gap)); left:50%; width:1px; height:calc(var(--org-gap) / 2); background:#eee; transform:translateX(-50%);}
.org-team {position:relative; display:flex; flex-direction:column; gap:var(--space-10);}
.org-team:before {content:""; position:absolute; top:calc(-1 * var(--org-gap) / 2); left:50%; width:1px; height:calc(var(--org-gap) / 2); background:#eee; transform:translateX(-50%);}
.org-team strong {display:flex; align-items:center; justify-content:center; padding:var(--space-26) var(--space-10); background:#f6f6f6; border-radius:8px; color:var(--color-primary); font-size:var(--font-size-20); font-weight:500; line-height:1.7em; letter-spacing:-.02em; text-align:center;}
.org-team .sub {display:flex; align-items:center; justify-content:center; padding:var(--space-22) var(--space-10); border:1px solid #eee; border-radius:8px; color:#505050; font-size:var(--font-size-20); font-weight:500; line-height:1.7em; letter-spacing:-.02em; text-align:center;}

/* 찾아오시는 길 */
.location-map {width: 100%; height:480px; margin-bottom:var(--space-40); border:1px solid #eee;}
.location-map .root_daum_roughmap,
.location-map .root_daum_roughmap .wrap_map {width:100%; height:100%;}
.location-tit {margin-bottom:var(--space-40); color:var(--color-primary); font-size:var(--font-size-48); font-weight:400; line-height:1.3em; letter-spacing:-.02em;}
.location-tit span {color:#a8a8a8;}
.location-list {display:flex; border-top:1px solid #eee; border-bottom:1px solid #eee;}
.location-list li {display:flex; flex-direction:column; justify-content:center; gap:var(--space-6); flex:1; min-width:0; padding:var(--space-28) var(--space-24); border-right:1px solid #eee;}
.location-list li:last-child {border-right:0;}
.location-list .label {color:#a8a8a8; font-size:var(--font-size-20); font-weight:400; line-height:1.7em; letter-spacing:-.02em;}
.location-list p {color:#2c2c2c; font-size:var(--font-size-24); font-weight:400; line-height:1.667em; letter-spacing:-.02em;}
.location-list a {color:inherit;}
.location-list a:hover {text-decoration:underline;}

/*************************** 사업분야 ***************************/
/* 대표 이미지 */
.biz-thumb .thumb {overflow:hidden; border-radius:0 160px 0 0;}
.biz-thumb .thumb img {width:100%; height:100%; object-fit:cover;}

/* Our Strengths */
.biz-strength-inner {position:relative; display:flex; align-items:flex-start;}
.biz-strength-head {display:flex; flex-direction:column; gap:var(--space-4); flex:1; min-width:0;}
.biz-strength-head .en {color:var(--color-primary); font-size:var(--font-size-22); font-weight:400; line-height:1.636em; letter-spacing:-.02em;}
.biz-strength-head h3 {color:#2c2c2c; font-size:var(--font-size-40); font-weight:500; line-height:1.35em; letter-spacing:-.02em;}
.biz-strength-deco {position:absolute; bottom:0; left:0; color:rgba(1,27,68,.08); font-size:var(--font-size-100); font-weight:400; line-height:1.14em; letter-spacing:-.02em;}
.biz-strength-list {display:grid; grid-template-columns:repeat(2, 1fr); gap:var(--space-16); flex:1; min-width:0;}
.biz-strength-item {display:flex; flex-direction:column; justify-content:flex-start; gap:var(--space-24); padding:var(--space-40); background:#fff; border:1px solid #eee;}
.biz-strength-item .tit {display:flex; flex-direction:column; gap:var(--space-8);}
.biz-strength-item .num {color:#aaa; font-size:var(--font-size-26); font-weight:400; line-height:1.538em; letter-spacing:-.02em;}
.biz-strength-item .tit strong {color:#2c2c2c; font-size:var(--font-size-26); font-weight:500; line-height:1.538em; letter-spacing:-.02em;}
.biz-strength-item .desc {display:flex; flex-direction:column; justify-content:center; gap:var(--space-10);}
.biz-strength-item .desc p {color:#676767; font-size:var(--font-size-18); font-weight:400; line-height:1.667em; letter-spacing:-.02em;}
.biz-strength-thumb {position:relative; overflow:hidden;}
.biz-strength-thumb img {position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}

/*************************** 사업실적 ***************************/
.card-list .link-item .info .cate {margin-bottom: 2px; color:#A8A8A8; font-size:16px; font-weight: 500; line-height:1.5em; letter-spacing:-.02em;}


/*************************** 커뮤니티 ***************************/


/*************************** 고객센터 ***************************/



