@charset "utf-8";

.ico-tit {margin-bottom:var(--space-25); position:relative; padding-left:var(--space-20); font-size:var(--font-size-24); font-weight:700; line-height:1.4em; letter-spacing:-0.03em; color:#242424;}
.ico-tit::before {content:""; position:absolute; left:0; top:.2em; width:4px; height:clamp(16px, calc(24 / var(--inner) * 100vw), 24px); background:var(--color-primary);}

.greeting-pic {height:clamp(180px, calc(420 / var(--inner) * 100vw), 420px); margin-bottom:var(--space-80);}
.greeting-pic img {width:100%; height:100%; object-fit:cover;}
.greeting-content {display:flex;}
.greeting-content .title {width:40.7%;}
.greeting-content .title h3 {font-size:var(--font-size-32); font-weight:700; line-height:1.375em; letter-spacing:-0.03em; color:#242424;}
.greeting-content .title h3 span {color:var(--color-primary);}
.greeting-content .content {flex:1;}
.greeting-content .content p {font-size:var(--font-size-18); font-weight:400; line-height:1.667em; letter-spacing:-0.03em; color:#454545;}
.greeting-content .content strong {font-weight:700; line-height:1.667em; letter-spacing:-0.03em; color:#242424;}

.vision-intro {margin-bottom:var(--space-80);}
.vision-intro .title {display:flex; justify-content:center; gap:var(--space-20);}
.vision-intro .quote {margin-top:calc(var(--space-10) * -1); width:clamp(38px, calc(53 / var(--inner) * 100vw), 53px); height:clamp(25px, calc(35 / var(--inner) * 100vw), 35px);}
.vision-intro .quote svg {width:100%; height:100%; object-fit:contain;}
.vision-intro .title .text {text-align:center;}
.vision-intro .title .text p {margin-bottom:var(--space-15); font-size:var(--font-size-24); font-weight:400; line-height:1.333em; letter-spacing:-0.03em; color:#8f8f8f;}
.vision-intro .title .text h3 {font-size:var(--font-size-32); font-weight:700; line-height:1.333em; letter-spacing:-0.03em; color:#242424;}
.vision-intro .line {width:1px; height:clamp(30px, calc(100 / var(--inner) * 100vw), 100px); margin:var(--space-25) auto; background:#ddd;}
.vision-intro .lead {margin-bottom:var(--space-65); font-size:var(--font-size-16); font-weight:400; line-height:1.625em; letter-spacing:-0.03em; color:#454545; text-align:center;}
.vision-intro .items {max-width:820px; margin:0 auto; display:flex; align-items:center; justify-content:center;}
.vision-intro .item {flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; aspect-ratio:1; border-radius:50%; padding:var(--space-30); margin-right:calc(var(--space-40) * -1); position:relative; z-index:1;}
.vision-intro .item:last-child {margin-right:0;}
.vision-intro .item1 {background:var(--color-primary); z-index:1;}
.vision-intro .item2 {background:var(--color-secondary); z-index:2;}
.vision-intro .item3 {background:linear-gradient(-50.82deg, var(--color-secondary) 22.45%, var(--color-primary) 77.55%); z-index:3;}
.vision-intro .item .ico {display:flex; align-items:center; justify-content:center; width:clamp(38px, calc(64 / var(--inner) * 100vw), 64px); height:clamp(38px, calc(64 / var(--inner) * 100vw), 64px); flex-shrink:0;}
.vision-intro .item .ico img {width:100%; height:100%; object-fit:contain;}
.vision-intro .item .ko {margin:var(--space-15) 0 var(--space-10); font-size:var(--font-size-24); font-weight:700; line-height:1.333em; color:#fff; text-align:center;}
.vision-intro .item .en {font-size:var(--font-size-16); font-weight:500; line-height:1.625em; color:#fff; text-align:center;}

.vision-group {margin-bottom:var(--space-80);}
.vision-group:last-child {margin-bottom:0;}
.vision-group p {font-size:var(--font-size-16); font-weight:400; line-height:1.625em; letter-spacing:-0.03em; color:#454545;}

.ci-group {margin-bottom:var(--space-80);}
.ci-group:last-child {margin-bottom:0;}
.ci-group .ci-text {font-size:var(--font-size-18); font-weight:400; line-height:1.67em; letter-spacing:-0.03em; color:#454545;}
.ci-group .symbol {display:grid; grid-template-columns:repeat(2, 1fr); gap:var(--space-16);}

.history-bnr {background:url("/images/sub/history-bnr.png") center / cover no-repeat; display:flex; align-items:center; justify-content:center; height:300px; margin-bottom:var(--space-80); overflow:hidden;}
.history-bnr .tit {font-size:var(--font-size-32); font-weight:400; line-height:1.375em; letter-spacing:-0.03em; color:#fff; text-align:center;}

.history-content {position:relative;}
.history-content::before {content:""; position:absolute; left:48%; margin-left:7px; top:.8em; bottom:.8em; width:1px; background:#ddd;}
.history-content .group {display:flex; padding-bottom:clamp(60px, calc(190 / var(--inner) * 100vw), 190px);}
.history-content .group:last-child {padding-bottom:0;}
.history-content .title {width:48%; padding-left:13%;}
.history-content .title h3 {font-size:var(--font-size-56); font-weight:700; line-height:1.15em; letter-spacing:-0.03em; color:#242424;}
.history-content .title p {margin-top:var(--space-15); font-size:var(--font-size-16); font-weight:600; line-height:1.625em; letter-spacing:-0.03em; color:#8f8f8f;}
.history-content .content {flex:1;}
.history-content .content .item {position:relative; display:flex;align-items:flex-start; padding-bottom:var(--space-50);}
.history-content .content .item:last-child {padding-bottom:0;}
.history-content .content .item .year {width:clamp(100px, calc(170 / var(--inner) * 100vw), 170px); display:flex; align-items:center; gap:0 var(--space-30); font-size:var(--font-size-30); font-weight:600; line-height:1.333em; letter-spacing:-0.03em; color:#242424;}
.history-content .content .item .year::before {content:""; width:15px; height:15px; background:url("/images/sub/history-dot.svg") no-repeat center / contain;}
.history-content .content .item .cnt {flex:1; min-width:0;}
.history-content .content .item .cnt li {margin-bottom:var(--space-8); display:flex; font-size:var(--font-size-16); font-weight:400; line-height:1.625em; letter-spacing:-0.03em; color:#454545;}
.history-content .content .item .cnt li:last-child {margin-bottom:0;}
.history-content .content .item .cnt li strong {min-width:33px; flex-shrink:0; font-weight:600; color:#242424;}

.facility-group {margin-bottom:var(--space-80);}
.facility-group:last-child {margin-bottom:0;}
.facility-img2 {display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:var(--space-40);}
.facility-img2 .img:nth-child(4) {grid-column:1 / -1;}

.certi {display:grid; grid-template-columns:repeat(4, 1fr); gap:var(--space-80) var(--space-40);}

.status-text {margin-bottom:var(--space-100); text-align:center;}
.status-text p {font-size:var(--font-size-32); font-weight:700; line-height:1.5em; letter-spacing:-0.03em; color:#242424;}
.status-text p span {color:var(--color-primary);}

.status-table h3 {margin-bottom:var(--space-30); font-size:var(--font-size-30); font-weight:700; line-height:1.333em; letter-spacing:-0.03em; color:#242424;}
.status-table .table table {width:100%; border-spacing:0; border-collapse:collapse;}
.status-table .table thead th {padding:var(--space-15); font-size:var(--font-size-18); font-weight:700; line-height:1.5em; letter-spacing:-0.03em; color:#fff; background:#111; text-align:center; border-right:1px solid #ddd; border-bottom:1px solid #ddd;}
.status-table .table tbody td {padding:var(--space-15); font-size:var(--font-size-18); font-weight:400; line-height:1.5em; letter-spacing:-0.03em; color:#454545; text-align:center; border-right:1px solid #ddd; border-bottom:1px solid #ddd;}
.status-table .table tbody td:first-child {background:#f8f8f8;}
.status-table .table thead th:last-child,
.status-table .table tbody td:last-child {border-right:none;}

.quality-grid {display:grid; grid-template-columns:repeat(2, 1fr); gap:var(--space-80) var(--space-40);}

.quality-item {min-width:0;}
.quality-item:last-child {grid-column: span 2;}
.quality-item .intro {display:flex; flex-direction:row; flex-wrap:wrap; align-items:flex-start; gap:var(--space-40);}
.quality-item .intro .list {min-height:3.25em;}
.quality-item .intro .list li {font-size:var(--font-size-16); font-weight:400; line-height:1.625em; letter-spacing:-0.03em; color:var(--color-text-body);}
.quality-item h4 {margin:0 auto var(--space-25); display:flex; align-items:center; justify-content:center; width:fit-content; height:40px; padding:0 var(--space-35); font-size:var(--font-size-24); font-weight:600; line-height:28px; letter-spacing:-0.03em; color:#fff; background:var(--color-primary); border-radius:16px; text-align:center;}
.quality-item .definition {margin-bottom:var(--space-80);}
.quality-item .definition .items {display:flex; gap:var(--space-40); justify-content:center;}
.quality-item .definition .ring {margin:0 auto; display:flex; flex-direction:column; align-items:center; justify-content:center; width:clamp(100px, calc(200 / var(--inner) * 100vw), 200px); aspect-ratio:1; padding:var(--space-15); border:2px solid var(--color-primary); border-radius:50%;}
.quality-item .definition .ring p {margin:0; font-size:var(--font-size-24); font-weight:600; line-height:1.42em; letter-spacing:-0.03em; color:#242424; text-align:center;}
.quality-item .definition .ring span {color:var(--color-primary);}
.quality-item .definition .txt {margin-top:var(--space-25); font-size:var(--font-size-16); font-weight:400; line-height:1.625em; letter-spacing:-0.03em; color:#242424; text-align:center;}
.quality-item .s5 .item {display:flex; align-items:center; gap:var(--space-25); margin-bottom:var(--space-25);}
.quality-item .s5 .item:last-child {margin-bottom:0;}
.quality-item .s5 .tag {display:flex; flex-direction:column; align-items:center; justify-content:center; flex-shrink:0; width:100px; padding:var(--space-5); background:rgba(0, 66, 139, 0.1); border-radius:16px;}
.quality-item .s5 .tag p {font-size:var(--font-size-18); font-weight:600; line-height:1.556em; letter-spacing:-0.03em; text-align:center;}
.quality-item .s5 .tag .ko {color:var(--color-primary);}
.quality-item .s5 .tag .en {color:#242424;}
.quality-item .s5 .tag .en span {color:var(--color-primary);}
.quality-item .s5 .note {font-size:var(--font-size-16); font-weight:400; line-height:1.625em; letter-spacing:-0.03em; color:#454545;}

.rnd-intro {margin-bottom:var(--space-80);}
.rnd-intro .txt {margin-bottom:var(--space-25); font-size:var(--font-size-16); font-weight:400; line-height:1.625em; letter-spacing:-0.03em; color:#454545;}
.rnd-intro .items {display:grid; grid-template-columns:repeat(2, 1fr); gap:var(--space-40);}
.rnd-intro .item {padding:var(--space-20) var(--space-30); border:1px solid #ddd; border-radius:20px;}
.rnd-intro .item .num {margin-bottom:var(--space-15); display:inline-flex; align-items:center; justify-content:center;padding:0 var(--space-16); font-size:var(--font-size-16); font-weight:600; line-height:28px; letter-spacing:-0.03em; color:#fff; background:var(--color-primary); border-radius:24px;}
.rnd-intro .item .tit {font-size:var(--font-size-24); font-weight:500; line-height:1.417em; letter-spacing:-0.03em; color:#242424;}
.rnd-process .items {display:grid; grid-template-columns:repeat(4, 1fr); gap:var(--space-55);}

.root_daum_roughmap_landing {width:100% !important;}
.root_daum_roughmap .wrap_map {height:clamp(250px, calc(440 / var(--inner) * 100vw), 440px) !important;}
.root_daum_roughmap .cont {display:none;}

.directions .map-area {margin-bottom:var(--space-60);}

.directions .addr {margin-bottom:var(--space-60); display:flex; align-items:center; justify-content:center; gap:var(--space-20); font-size:var(--font-size-24); font-weight:700; line-height:1.5em; letter-spacing:-0.03em; color:#242424;}
.directions .addr img {flex-shrink:0; width:clamp(16px, calc(24 / var(--inner) * 100vw), 24px); height:clamp(16px, calc(24 / var(--inner) * 100vw), 24px); object-fit:contain;}
.directions .items {display:flex; margin:0 calc(var(--space-65) * -1);}
.directions .item {position:relative; width:25%; padding:0 var(--space-65);}
.directions .item::before {content:""; position:absolute; top:50%; left:0; transform:translateY(-50%); width:1px; height:60px; background:#ddd;}
.directions .item:first-child::before {display:none;}
.directions .item .tit {margin-bottom:var(--space-15); font-size:var(--font-size-18); font-weight:700; line-height:1.4em; letter-spacing:-0.03em; color:#242424;}
.directions .item .txt {font-size:var(--font-size-16); font-weight:400; line-height:1.625em; letter-spacing:-0.03em; color:#454545;}

