@charset "utf-8";
.sub-sec {margin-bottom:var(--space-100);}
.sub-desc {font-size:var(--font-size-20); margin-bottom:var(--space-40); letter-spacing:-0.03em; line-height:1.6em;}
.sub-desc.bold {font-size:var(--font-size-24); font-weight:700; line-height:1.3em; letter-spacing:-0.03em; color:var(--color-bk);}
.sub-desc.center {text-align:center;}
.sub-desc strong {color:var(--color-primary);}

.doc-tit {margin-bottom:var(--space-30);}
.doc-tit h3 {padding-left:40px; font-size:var(--font-size-32); color:var(--color-bk); letter-spacing:-0.03em; line-height:1.1em; position:relative;}
.doc-tit h3:before {width:28px; height:28px; top:3px; left:0; background:url('/images/sub/doctit.png') 50% 50% / contain no-repeat; position:absolute; content:'';}
.doc-tit .desc {margin-top:var(--space-20);font-size:var(--font-size-20); line-height:1.6em; letter-spacing:-.03em;}

.sub-pad {padding:var(--space-100) 0; background-color:#F7F7F7;;}

.greetings {display:flex; gap:var(--space-80);}
.greetings .cont {font-size:var(--font-size-18); letter-spacing:-0.03em; line-height:1.66em; flex:1;}
.greetings .txt1 {font-size:var(--font-size-32); margin-bottom:var(--space-40); font-weight:600; color:var(--color-bk); letter-spacing:-0.03em; line-height:1.37em;}
.greetings .txt1 strong {color:var(--color-secondary);}
.greetings .desc p {margin-bottom:var(--space-20);}
.greetings .desc span {font-weight:600;}
.greetings .sign {text-align:right; color:var(--color-bk); font-weight:700;}
.greetings .sign .img {margin-top:var(--space-15);}

.overview {border-top:1px solid var(--color-bk);}
.overview table {font-size:var(--font-size-20); letter-spacing:-0.03em; line-height:1.7em; width:100%; border-collapse:collapse; border-spacing:0;}
.overview th {border-right:1px solid #ddd; background:rgba(21, 93, 252, 0.10); text-align:center; color:#121212; font-weight:601;}
.overview th, .overview td {padding:var(--space-15) var(--space-30); border-bottom:1px solid #ddd;}

.history .cont-tit {padding:0 0 var(--space-25) var(--space-40); margin:0 0 var(--space-50) var(--hist-width); border-bottom:1px solid #ddd;}
.history .cont-tit .tit {position:relative; color:var(--color-bk); margin-bottom:var(--space-20); font-size:var(--font-size-24); font-weight:600; line-height:0.7em; letter-spacing:-0.03em;}
.history .cont-tit .tit .dot {position:absolute; left:calc(-1 * var(--space-40) - (var(--hist-dot) / 2)); width:var(--hist-dot); height:var(--hist-dot); background:#fff; display:flex;}
.history .cont-tit .tit .dot svg {width:100%;}
.history .cont-tit .period {color:var(--color-secondary); font-size:var(--font-size-40); font-weight:700; line-height:1em; letter-spacing:-0.03em;}

.history .group {padding-bottom:var(--space-130); position:relative;}
.history .group:before {content:""; display:block; position:absolute; left:var(--hist-width); top:0; width:1px; bottom:0; background:#ddd;}
.history .group:last-child {padding-bottom:0;}
.history .img {width:var(--hist-width);}
.history .cont {display:flex;}
.history .timeline {flex:1; padding-left:var(--space-40);}
.history .list {line-height:1.6; display:grid; gap:var(--space-60);}
.history .list li.year {display:flex; gap:var(--space-40);}
.history .list .num {font-size:var(--font-size-28); letter-spacing:-0.03em; line-height:1.2em; display:block; font-weight:600; color:var(--color-bk);}
.history .list .sub {display:grid; gap:var(--space-20);}
.history .list .sub li {display:flex; flex-wrap:wrap; align-items:baseline; gap:var(--space-10);}
.history .list .month {font-size:var(--font-size-22); min-width:42px; letter-spacing:-0.03em; line-height:1.3em; font-weight:600;}
.history .list .txt {font-size:var(--font-size-20); flex:1; min-width:0; letter-spacing:-0.03em; line-height:1.4em;}

.partners {gap:var(--space-40); display:grid; grid-template-columns:repeat(4, 1fr);}

.service-overview {display:grid; gap:var(--space-150);}
.service-item {display:flex; gap:var(--space-80);}
.service-item .cont {flex:1;}
.service-item .cont-tit {padding-bottom:var(--space-30); margin-bottom:var(--space-40); border-bottom:1px solid #ddd;color:var(--color-bk);}
.service-item .cont-tit h3 {margin-bottom:var(--space-20); font-size:var(--font-size-32); font-weight:700; line-height:1em; letter-spacing:-.03em;}
.service-item .cont-tit p {font-size:var(--font-size-20); line-height:1.6em;letter-spacing:-.03em;}
.service-item .list {display:grid; gap:var(--space-40);}
.service-item .list li .ico {display:inline-block; width:20px; height:20px; background:url('/images/sub/chkico.png') 50% 50% / contain no-repeat;}
.service-item .list li .tit {display:flex; gap:var(--space-10); margin-bottom:var(--space-20); color:var(--color-bk); font-size:var(--font-size-20); font-weight:600; line-height:1em; letter-spacing:-.03em;}
.service-item .list li p {font-size:var(--font-size-18); line-height:1.55em; letter-spacing:-.03em;}

.featlist-list {text-align:center; display:grid; grid-template-columns:repeat(5, 1fr); gap:var(--space-30);}
.featlist-list.ty2 {grid-template-columns:repeat(6, 1fr);}
.featlist-list li {min-height:215px; padding:var(--space-15); display:flex; flex-direction:column; align-items:center; justify-content:center; border-radius:8px; border:1px solid #ddd;}
.featlist-list .img img {height:clamp(50px, calc(64 / var(--inner) * 100vw),  64px);}
.featlist-list .num {font-weight:700; color:var(--color-primary); margin:var(--space-15) 0;}
.featlist-list .txt {font-size:var(--font-size-20); line-height:1.5;}

.syscomp-list {display:grid; grid-template-columns:repeat(3, 1fr); gap:var(--space-20);}
.syscomp-list li {display:flex; align-items:center; gap:var(--space-10); padding:var(--space-15) var(--space-20); border:1px solid #ddd; border-radius:8px;}
.syscomp-list li .ico {flex-shrink:0; width:20px; height:20px; background-image:url('/images/sub/chkico.png'); background-size:contain; background-repeat:no-repeat; background-position:center;}
.syscomp-list .txt {font-size:var(--font-size-20); font-weight:600; letter-spacing:-0.03em; line-height:1.4em; color:var(--color-bk);}

.sysfunc-list {display:grid; gap:var(--space-40); margin-bottom:var(--space-100);}
.sysfunc-list .item {display:flex; align-items:center; padding:var(--space-60); border:1px solid #ddd; border-radius:16px;}
.sysfunc-list .img {width:240px;}
.sysfunc-list .cont {padding-left:var(--space-100); border-left:1px solid #ddd; flex:1;}
.sysfunc-list .tit {margin-bottom:var(--space-20); font-size:var(--font-size-24); font-weight:700; color:var(--color-bk); line-height:1.3;}
.sysfunc-list .list {display:grid; grid-template-columns:repeat(3, 1fr); gap:var(--space-25) var(--space-10); line-height:1.5;}
.sysfunc-list .list li {padding-left:16px; font-size:var(--font-size-18); letter-spacing:-0.03em; line-height:1.3em; position:relative;}
.sysfunc-list .list li.wide {grid-column:1 / -1;}
.sysfunc-list .list li:before {width:6px; height:6px; content:''; top:50%; left:0; transform:translateY(-50%); background:#ddd; border-radius:100%; position:absolute;}

.failover .tit {margin-bottom:var(--space-15); font-size:var(--font-size-20); font-weight:600; color:var(--color-bk); line-height:1.3;}
.failover .desc {font-size:var(--font-size-18); line-height:1.3;}

.sysbuild .list {display:grid; grid-template-columns:repeat(3, 1fr); gap:var(--space-40);}
.sysbuild .list .tit {margin:var(--space-30) 0 var(--space-20); font-size:var(--font-size-24); font-weight:700; color:var(--color-bk); line-height:1.3;}
.sysbuild .list .cont {font-size:var(--font-size-18); line-height:1.6;}
.sysbuild .key-area {margin-top:var(--space-30); display:flex; align-items:center; flex-wrap:wrap; gap:var(--space-15);}
.sysbuild .key-area .tag {padding:5px 10px; line-height:1.1em; border-radius:4px; font-weight:500; color:#fff; background:var(--color-secondary);}
.sysbuild .key-area .tag.bg2 {background:var(--color-third);}
.sysbuild .key-area .tag.bg3 {background:var(--color-primary);}
.sysbuild .key-area .txt {font-size:var(--font-size-18); line-height:1.3; color:var(--color-bk); font-weight:600;}

.cloud-tit {margin-bottom:var(--space-60); text-align:center;}
.cloud-tit .sub {color:#155DFC; font-weight:700; line-height:1.2em; letter-spacing:-.03em;}
.cloud-tit h3 {margin-top:var(--space-10); color:var(--color-bk); font-size:var(--font-size-32); font-weight:700; line-height:1.2em; letter-spacing:-.03em;}
.cloud-tit .desc {margin-top:var(--space-25); font-size:var(--font-size-20); line-height:1.2em; letter-spacing:-.03em;}

.cloudbuild-list {text-align:center; display:grid; grid-template-columns:repeat(4, 1fr); gap:var(--space-40);}
.cloudbuild-list .tit {margin:var(--space-25) 0 var(--space-15); font-size:var(--font-size-24); font-weight:600; color:var(--color-bk); line-height:1.3;}
.cloudbuild-list .desc {font-size:var(--font-size-18); letter-spacing:-0.03em; line-height:1.55;}
.cloudbuild-list .img {border-radius:16px; overflow:hidden; position:relative;}
.cloudbuild-list .img p {position:absolute; top:50%; left:50%; transform:translate(-50%, -50%); width:100%; font-size:var(--font-size-20); font-weight:700; color:#fff; line-height:1.3;}

.cloudchoice-list {display:grid; gap:var(--space-40);}
.cloudchoice-list .item {display:flex; gap:var(--space-80); align-items:center;}
.cloudchoice-list .cont {flex:1;}
.cloudchoice-list .tit {font-size:var(--font-size-32); font-weight:700; color:var(--color-bk); margin-bottom:var(--space-15); line-height:1.3;}
.cloudchoice-list .lead {font-size:var(--font-size-18); color:#878787; margin-bottom:var(--space-30); line-height:1.5;}
.cloudchoice-list .desc {font-size:var(--font-size-20); letter-spacing:-0.03em; line-height:1.6;}

.cloud-banner {padding:var(--space-120) 0 var(--space-150); text-align:center; color:#fff; background:url('/images/sub/cloud-banner.jpg') 50% 50% / cover no-repeat;}
.cloud-banner .tit {font-size:var(--font-size-40); margin-bottom:var(--space-60); font-weight:700; line-height:1.2em; letter-spacing:-.03em}
.cloud-banner .flex {display:flex; gap:var(--space-120); justify-content:center;}
.cloud-banner p {display:flex; gap:var(--space-10); justify-content:center; align-items:center; font-size:var(--font-size-20); font-weight:600; letter-spacing:-0.03em; line-height:1.6em;}
.cloud-banner p img {height:clamp(24px, calc(32 / var(--inner) * 100vw), 32px);}

.appmig-list {display:grid; grid-template-columns:repeat(3, 1fr); gap:var(--space-30); margin-top:var(--space-60);}
.appmig-list .item {border-radius:12px; border:1px solid var(--color-bk); overflow:hidden; background:#fff;}
.appmig-list .tit {text-align:center; padding:var(--space-10); font-size:var(--font-size-20); font-weight:700; color:#fff; background:var(--color-bk); line-height:1.5;}
.appmig-list .cont {padding:var(--space-25); line-height:1.6;}
.appmig-list .subtit {padding-left:16px; font-size:var(--font-size-20); font-weight:600; color:var(--color-bk); margin-bottom:var(--space-15); line-height:1.2em; position:relative;}
.appmig-list .subtit:before {content:''; position:absolute; left:0; top:50%; transform:translateY(-50%); width:6px; height:6px; background:#ddd; border-radius:100%;}
.appmig-list .list {padding-left:16px; margin-top:-7px;}
.appmig-list .list li {padding-left:var(--space-10); position:relative;}
.appmig-list .list li:before {content:'-'; position:absolute; left:0;}

.directions {gap:var(--space-100); margin-top:var(--space-60); display:flex; align-items:center;}
.directions .address-info .comp {color:#155DFC; margin-bottom:2px; font-size:var(--font-size-18); font-weight:700;}
.directions .address-info .addr {color:var(--color-bk); font-size:var(--font-size-24); font-weight:700; line-height:1.33em; letter-spacing:-.03em; margin-bottom:var(--space-20);}
.directions .address-info .etc span {display:inline-block; margin-right:16px;}
.directions .address-info .etc span:last-child {margin-right:0;}
.directions .contact-info {display:grid; gap:var(--space-20); flex:1; line-height:1.5em;}
.directions .contact-info dl {display:flex;}
.directions .contact-info dt {width:130px; font-size:var(--font-size-18); color:var(--color-bk); font-size:1.125em; font-weight:700;}
.directions .contact-info dt svg {vertical-align:middle; margin:-.2em 15px 0 0;}
.directions .contact-info dt path {fill:#878787;}
.directions .contact-info dd {flex:1 1 auto; min-width:0; width:1%; color:#505050;}

.root_daum_roughmap,
.root_daum_roughmap .wrap_map {border-radius:20px; overflow:hidden; height:clamp(250px, calc( 500 / var(--inner) * 100vw ), 500px) !important; width:100% !important;}
.root_daum_roughmap .cont {display:none !important;}