@charset "utf-8";
.root_daum_roughmap,
.root_daum_roughmap .wrap_map {overflow:hidden; height:clamp(250px, calc( 480 / var(--inner) * 100vw ), 480px) !important; width:100% !important;}
.root_daum_roughmap .cont {display:none !important;}

.greetings-cont {display:flex; flex-direction:column; gap:var(--space-60);}
.greetings-body {display:flex; align-items:flex-start; gap:var(--space-120);}
.greetings-head {flex-shrink:0;}
.greetings-en {display:inline-block; font-size:var(--font-size-20); font-weight:700; line-height:1.5em; letter-spacing:-.03em; background:linear-gradient(90deg, #0049cf 0%, #3fccef 100%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;}
.greetings-lead {margin-top:var(--space-30); font-size:var(--font-size-40); font-weight:600; line-height:1.4em; letter-spacing:-.03em; color:var(--color-bk);}
.greetings-lead strong {color:#0049cf; font-weight:600;}
.greetings-text-wrap {flex:1; min-width:0;}
.greetings-intro {font-size:var(--font-size-24); font-weight:600; line-height:1.5em; letter-spacing:-.03em; color:var(--color-bk);}
.greetings-text {margin-top:var(--space-30); font-size:var(--font-size-18); line-height:1.7em; letter-spacing:-.03em; color:#454545;}
.greetings-text p + p {margin-top:var(--space-25);}
.greetings-sign {margin-top:var(--space-30); font-size:var(--font-size-18); font-weight:600; line-height:1.7em; letter-spacing:-.03em; color:var(--color-bk);}

.clients-list {grid-template-columns:repeat(4, 1fr); display:grid; gap:clamp(40px, calc(60 / var(--inner) * 100vw), 60px) clamp(16px, calc(30 / var(--inner) * 100vw), 30px);}
.clients-name {margin:var(--space-20) 0 0; font-weight:500; line-height:1.5em; letter-spacing:-.03em; text-align:center;}
.clients-partner {margin-top:clamp(60px, calc(100 / var(--inner) * 100vw), 100px); background:#fafafa; padding:0 0 clamp(80px, calc(150 / var(--inner) * 100vw), 150px);}

.directions-cont {display:flex; flex-direction:column; gap:clamp(40px, calc(64 / var(--inner) * 100vw), 64px);}
.directions-en {display:inline-block; font-size:var(--font-size-20); font-weight:700; line-height:1.5em; letter-spacing:-.03em; background:linear-gradient(90deg, #0049cf 0%, #3fccef 100%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;}
.directions-lead {margin-top:var(--space-30); font-size:var(--font-size-40); font-weight:700; line-height:1.4em; letter-spacing:-.03em; color:var(--color-bk);}
.directions-body {display:flex; flex-direction:column; gap:clamp(32px, calc(48 / var(--inner) * 100vw), 48px);}
.directions-visual {overflow:hidden; border-radius:30px;}
.directions-info {display:flex; align-items:flex-start; justify-content:space-between; gap:var(--space-25);}
.directions-addr {display:flex; align-items:flex-start; gap:var(--space-25); min-width:0; flex:1;}
.directions-icon {flex-shrink:0; display:flex; align-items:center; justify-content:center; width:clamp(34px, calc(56 / var(--inner) * 100vw), 56px); aspect-ratio:1/1; border-radius:100px; background:#f4f4f4;}
.directions-icon img {width:clamp(20px, calc(30 / var(--inner) * 100vw), 30px); aspect-ratio:1/1;}
.directions-addr-main {font-size:var(--font-size-24); font-weight:600; line-height:1.67em; letter-spacing:-.03em; color:var(--color-bk);}
.directions-addr-sub {margin-top:var(--space-15); font-size:var(--font-size-18); font-weight:400; line-height:1.56em; letter-spacing:-.03em; color:#999;}
.directions-contact {flex-shrink:0; display:flex; align-items:flex-start; gap:clamp(24px, calc(48 / var(--inner) * 100vw), 48px);}
.directions-tel, .directions-fax {display:flex; align-items:center; gap:var(--space-25); margin:0; font-size:var(--font-size-18); font-weight:600; line-height:1.56em; letter-spacing:-.03em; color:var(--color-bk); white-space:nowrap;}
.directions-tel img, .directions-fax img {flex-shrink:0; width:clamp(20px, calc(30 / var(--inner) * 100vw), 30px); aspect-ratio:1/1;}
.directions-tel strong, .directions-fax strong {font-weight:600;}

.esg-page {display:flex; flex-direction:column; align-items:center;}
.esg-page-head {width:100%; text-align:center;}
.esg-page-desc {margin-top:var(--space-25); font-size:var(--font-size-18); line-height:1.67em; letter-spacing:-.03em; color:#454545;}
.esg-declaration {position:relative; width:100%; overflow:hidden; box-shadow:0 0 10px rgba(0,0,0,0.12);}
.esg-declaration-bg {position:absolute; inset:0; overflow:hidden;}
.esg-declaration-bg img {position:absolute; left:0; top:0; width:100%; height:100%; object-fit:cover;}
.esg-declaration-inner {max-width:900px; margin:0 auto; position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:var(--space-50); min-height:clamp(640px, calc(1036 / var(--inner) * 100vw), 1036px); padding:clamp(60px, calc(100 / var(--inner) * 100vw), 100px) 20px; text-align:center;}
.esg-declaration-head {display:flex; width:100%; flex-direction:column; align-items:center; gap:var(--space-15);}
.esg-declaration-label {font-size:var(--font-size-18); font-weight:600; line-height:1.5em; letter-spacing:-.03em; color:#0049cf;}
.esg-declaration-tit {font-size:var(--font-size-40); font-weight:700; line-height:1.2em; letter-spacing:-.03em; color:var(--color-bk);}
.esg-declaration-body {display:flex; flex-direction:column; align-items:center; gap:var(--space-15); width:100%;}
.esg-declaration-lead {font-size:var(--font-size-20); font-weight:600; line-height:1.5em; letter-spacing:-.03em; color:var(--color-bk);}
.esg-principle-list {display:flex; flex-direction:column; gap:10px; width:100%;}
.esg-principle-list li {display:flex; align-items:center; gap:var(--space-15); padding:8px; border:1px solid #ddd; border-radius:500px; background:rgba(255,255,255,0.3); backdrop-filter:blur(4px); text-align:left;}
.esg-principle-num {flex-shrink:0; display:inline-flex; align-items:center; justify-content:center; width: 64px; aspect-ratio: 64 / 36; border-radius:50px; background:rgba(0,73,207,0.08); font-size:var(--font-size-16); font-weight:600; line-height:1.5em; letter-spacing:-.03em; color:#0049cf;}
.esg-principle-text {flex:1; min-width:0; font-size:var(--font-size-18); line-height:1.45em; letter-spacing:-.03em;}
.esg-declaration-promise {display:flex; align-items:center; justify-content:center; gap:var(--space-25);}
.esg-declaration-promise p {font-weight:600; line-height:1.75em; letter-spacing:-.03em;}
.esg-quote {flex-shrink:0; width:clamp(18px, calc(32 / var(--inner) * 100vw), 32px); aspect-ratio:1/1;}
.esg-declaration-sign {display:flex; align-items:center; justify-content:center; gap:var(--space-15);}
.esg-sign-label {font-size:var(--font-size-18); font-weight:600; line-height:1.5em; letter-spacing:-.03em; color:var(--color-bk);}
.esg-declaration-logo img {height:clamp(30px, calc(52 / var(--inner) * 100vw), 52px); aspect-ratio:115 / 52;}

.esg-policy {margin-top:var(--space-80); width: 100%; display:flex; justify-content:center;}
.esg-policy-btn {display:inline-flex; align-items:center; justify-content:center; gap:8px; width:100%; max-width:clamp(180px, calc(260 / var(--inner) * 100vw), 260px); height:clamp(50px, calc(60 / var(--inner) * 100vw), 60px); border:1px solid #ddd; border-radius:8px; background:#fff; font-size:var(--font-size-16); font-weight:500; line-height:1.5em; letter-spacing:-.03em; color:var(--color-bk);}
.esg-policy-btn img {flex-shrink:0; width:16px; height:16px;}
.esg-policy-btn:hover {background-color:var(--color-primary); color:#fff; border-color:var(--color-primary);}
.esg-policy-btn:hover img {filter:brightness(0) invert(1);}