@charset "utf-8";
.root_daum_roughmap,
.root_daum_roughmap .wrap_map {border-radius:16px; overflow:hidden; height:clamp(250px, calc( 400 / var(--inner) * 100vw ), 400px) !important; width:100% !important;}
.root_daum_roughmap .cont {display:none !important;}

.sec-titwrap {margin-bottom:var(--space-40); display:flex; flex-direction:column; gap:var(--space-30); align-items:flex-start;}
.sec-titwrap .deco {display:flex;}
.sec-titwrap .tit {font-size:var(--font-size-36); font-weight:700; color:var(--color-bk); letter-spacing:-0.03em; line-height:1.5;}

.sub-sec {padding:var(--space-150) 0;}
.sub-sec.bg {background-color:#f8f8f8;}

.pc-intro {height:600px; color:#fff; text-align:center; position:relative; overflow:hidden; display:flex; flex-direction:column; align-items:center; justify-content:center; background-image:url(/images/sub/people-sec01.png); background-attachment:fixed; background-size:cover; background-position:50% 50%;}
.pc-intro.bg2 {background-image:url(/images/sub/people-sec02.png);}
.pc-intro .overlay {position:absolute; inset:0; background:rgba(0,0,0,0.3);}
.pc-intro .contain {position:relative;}
.pc-intro .tit-wrap {display:flex; flex-direction:column; align-items:center;}
.pc-intro .deco {display:flex;}
.pc-intro .tit {margin:var(--space-30) 0; font-size:var(--font-size-40); font-weight:700; letter-spacing:-0.03em; line-height:1.3;}
.pc-intro .desc {font-size:var(--font-size-18); font-weight:700; letter-spacing:-0.03em; line-height:1.5;}

.pc-feature .list {display:grid; grid-template-columns:repeat(2,1fr); gap:var(--space-40);}
.pc-feature .list.ty2 {grid-template-columns:repeat(3,1fr);}
.pc-feature .list li {display:flex; flex-direction:column; gap:var(--space-40); padding:var(--space-50) var(--space-40); background:#f8f8f8; border-radius:16px;}
.pc-feature .icon-box {display:flex; align-items:center; justify-content:center; width:clamp(44px, calc( 64 / var(--inner) * 100vw ), 64px); height:clamp(44px, calc( 64 / var(--inner) * 100vw ), 64px); background:var(--color-primary); border-radius:clamp(8px, calc( 16 / var(--inner) * 100vw ), 16px); flex-shrink:0;}
.pc-feature .icon-box .img {margin:0; width:clamp(24px, calc( 32 / var(--inner) * 100vw ), 32px); height:clamp(24px, calc( 32 / var(--inner) * 100vw ), 32px);}
.pc-feature .icon-box .img img {width:100%; height:100%; object-fit:contain;}
.pc-feature .list .tit {font-size:var(--font-size-24); font-weight:700; color:var(--color-bk); letter-spacing:-0.03em; line-height:1.5;}
.pc-feature .list .desc {font-size:var(--font-size-18); color:#454545; letter-spacing:-0.03em; line-height:1.5;}

.pc-sample {background:url('/images/sub/people-sec04.jpg') 50% 50% / cover no-repeat; position:relative; padding:var(--space-150) 0; display:flex; flex-direction:column; align-items:center;}
.pc-sample .sec-titwrap .tit {color:#fff;}
.pc-sample .list {grid-template-columns:repeat(4, 1fr); display:grid; gap:var(--space-20);}

.pc-system .list {display:flex; flex-direction:column; gap:var(--space-40);}
.pc-system .box {display:flex; flex-direction:column; padding:var(--space-40); background:#f8f8f8; border-radius:16px;}
.pc-system .header {margin-bottom:var(--space-15); display:flex; gap:var(--space-20); align-items:center;}
.pc-system .header .img {margin:0; width:24px; height:24px; flex-shrink:0;}
.pc-system .header .img img {width:100%; height:100%; object-fit:contain;}
.pc-system .header .tit {font-size:var(--font-size-24); font-weight:700; color:var(--color-bk); letter-spacing:-0.03em; line-height:1.5;}
.pc-system .desc {font-size:var(--font-size-18); font-weight:600; color:#454545; letter-spacing:-0.03em; line-height:1.5;}
.pc-system .flow {margin-top:40px; display:flex; gap:var(--space-10); align-items:center; width:100%;}
.pc-system .card {flex:1 0 0; min-width:0; display:flex; flex-direction:column; background:#fff; border-radius:16px; overflow:hidden;}
.pc-system .card .label {display:flex; align-items:center; justify-content:center; height:80px; padding:var(--space-40) 0; font-size:var(--font-size-18); font-weight:700; color:var(--color-bk); letter-spacing:-0.03em; line-height:1.5;}
.pc-system .arrow {display:flex; align-items:center; justify-content:center; width:40px; height:40px; background:var(--color-primary); border-radius:200px; flex-shrink:0;}
.pc-system .arrow img {width:32px; height:32px; object-fit:contain;}
.pc-system .arrow-rev img {transform:rotate(180deg);}

.pc-usecase .cont-tit .tit {margin-bottom:var(--space-40); font-family:'Sora',sans-serif; font-size:var(--font-size-36); font-weight:700; color:var(--color-bk); letter-spacing:-0.03em; line-height:1.5;}
.pc-usecase .list {display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-40);}
.pc-usecase .list.ty2 {grid-template-columns:repeat(4,1fr);}
.pc-usecase .list.ty3 {grid-template-columns:repeat(2,1fr);}
.pc-usecase .list li {display:flex; flex-direction:column; background:#fff; border-radius:16px; overflow:hidden;}
.pc-usecase .list .cont {display:flex; flex-direction:column; gap:var(--space-20); padding:var(--space-35) var(--space-30);}
.pc-usecase .list .deco {display:flex;}
.pc-usecase .list .deco.half img {height:50%;}
.pc-usecase .list .tit {font-size:var(--font-size-18); font-weight:700; color:var(--color-bk); letter-spacing:-0.03em; line-height:1.5;}
.pc-usecase .list.bg .cont {background-color:#F8F8F8;}

.sol-feat .cont {display:flex; gap:var(--space-40); align-items:center;}
.sol-feat .txt-wrap {flex:1; margin-bottom:0;}
.sol-feat .tit {font-size:var(--font-size-36); font-weight:700; color:var(--color-bk); letter-spacing:-0.03em; line-height:1.5;}
.sol-feat .desc {font-size:var(--font-size-18); font-weight:700; letter-spacing:-0.03em; line-height:1.5;}

.pc-flow {padding:var(--space-150) 0; background:url('/images/sub/pc-flowbg.jpg') 50% 50% / cover no-repeat; color:#fff; display:flex; flex-direction:column; align-items:center; justify-content:center;}
.pc-flow .cont-tit {display:flex; flex-direction:column; gap:var(--space-30); margin-bottom:40px;}
.pc-flow .cont-tit .deco {display:flex;}
.pc-flow .cont-tit .tit {font-size:var(--font-size-36); font-weight:700; letter-spacing:-0.03em; line-height:1.5;}
.pc-flow .flow-wrap {position:relative; width:100%;}
.pc-flow .flow-wrap .line {position:absolute; left:60px; top:96px; width:calc(100% - 120px); height:1px; pointer-events:none;}
.pc-flow .flow-wrap .line img {display:block; width:100%; height:auto; object-fit:fill;}
.pc-flow .flow-wrap .list {display:flex; justify-content:space-between; align-items:flex-start;}
.pc-flow .flow-wrap .list li {flex:0 0 200px; display:flex; flex-direction:column; gap:var(--space-40); align-items:center; text-align:center;}
.pc-flow .flow-wrap .icon-box {display:flex; align-items:center; justify-content:center; width:64px; height:64px; background:#fff; border-radius:16px; flex-shrink:0;}
.pc-flow .flow-wrap .icon-box.primary {background:var(--color-primary);}
.pc-flow .flow-wrap .icon-box .img {margin:0; width:32px; height:32px;}
.pc-flow .flow-wrap .icon-box .img img {width:100%; height:100%; object-fit:contain;}
.pc-flow .flow-wrap .step {margin-bottom:16px; font-size:var(--font-size-18); font-weight:700; color:rgba(255,255,255,0.5); letter-spacing:-0.03em; line-height:1.5;}
.pc-flow .flow-wrap .tit {font-size:var(--font-size-24); font-weight:700; letter-spacing:-0.03em; line-height:1.5;}
 
.main-case {background:url('/images/sub/main-casebg.jpg') 50% 50% / cover no-repeat; position:relative; display:flex; flex-direction:column; align-items:center;}
.main-case .cont-tit .tit {margin-bottom:var(--space-40); font-size:var(--font-size-36); font-weight:700; color:#fff; letter-spacing:-0.03em; line-height:1.5;}
.main-case .list {display:grid; grid-template-columns:repeat(2,1fr); gap:var(--space-40);}
.main-case .list li {flex:1; min-width:0; display:flex; flex-direction:column; gap:var(--space-40); padding:var(--space-40); background:#fff; border-radius:16px;}
.main-case .list .top {display:flex; flex-direction:column; gap:var(--space-20);}
.main-case .list .label {font-size:var(--font-size-18); font-weight:700; color:var(--color-primary); letter-spacing:-0.03em; line-height:1.5;}
.main-case .list .tit {font-size:var(--font-size-24); font-weight:700; color:var(--color-bk); letter-spacing:-0.03em; line-height:1.5;}

.pc-platform .cont-tit .tit {margin-bottom:var(--space-40); font-size:var(--font-size-36); font-weight:700; color:var(--color-bk); letter-spacing:-0.03em; line-height:1.5;}
.pc-platform .list {display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-40);}
.pc-platform .list.ty2 {grid-template-columns:repeat(2,1fr);}

.queue-design {padding:var(--space-150) 0; position:relative; overflow:hidden; display:flex; flex-direction:column; align-items:center; background:url(/images/sub/queue-design-bg.png) 50% 50% / cover no-repeat; color:#fff;}
.queue-design .overlay {position:absolute; inset:0; background:rgba(0,0,0,0.64);}
.queue-design .contain {position:relative; display:flex; flex-direction:column; gap:var(--space-40); align-items:center; width:100%;}
.queue-design .tit-wrap {display:flex; flex-direction:column; gap:var(--space-20); align-items:center;}
.queue-design .tit-wrap .deco {display:flex; gap:6px;}
.queue-design .tit-wrap .deco span {display:block; width:12px; height:12px; background:#fff;}
.queue-design .tit-wrap .tit {font-size:var(--font-size-36); font-weight:700; letter-spacing:-0.03em; line-height:1.5; text-align:center;}
.queue-design .main-box {display:flex; gap:var(--space-40); align-items:center; width:100%; padding:var(--space-40); background:#f8f8f8; border-radius:16px;}
.queue-design .main-box .txt-wrap {flex:1; min-width:0; display:flex; flex-direction:column; gap:var(--space-20);}
.queue-design .main-box .deco {display:flex; gap:6px;}
.queue-design .main-box .deco span {display:block; width:6px; height:6px; border-radius:50%;}
.queue-design .main-box .deco span:nth-child(1) {background:#d4e6ff;}
.queue-design .main-box .deco span:nth-child(2) {background:#94c1ff;}
.queue-design .main-box .deco span:nth-child(3) {background:var(--color-primary);}
.queue-design .main-box .tit {font-size:var(--font-size-24); font-weight:700; color:var(--color-bk); letter-spacing:-0.03em; line-height:1.5;}
.queue-design .main-box .tit em {color:var(--color-primary); font-style:normal;}
.queue-design .list {display:flex; gap:var(--space-40); width:100%;}
.queue-design .list li {flex:1; min-width:0; display:flex; gap:var(--space-40); align-items:center; padding:var(--space-55) var(--space-40); background:#f8f8f8; border-radius:16px;}
.queue-design .list .icon-box {display:flex; align-items:center; justify-content:center; width:64px; height:64px; background:var(--color-primary); border-radius:16px; flex-shrink:0;}
.queue-design .list .icon-box .img {margin:0; width:32px; height:32px;}
.queue-design .list .icon-box .img img {width:100%; height:100%; object-fit:contain;}
.queue-design .list .desc {font-size:var(--font-size-18); font-weight:700; color:var(--color-bk); letter-spacing:-0.03em; line-height:1.5;}

.queue-case {background:rgba(248,248,248,0.8);}
.queue-case .tit-wrap.sec-titwrap .deco {display:flex; gap:var(--space-10);}
.queue-case .tit-wrap.sec-titwrap .deco span {display:block; width:12px; height:12px; background:#d4e6ff;}
.queue-case .tit-wrap.sec-titwrap .deco span:nth-child(2) {background:#94c1ff;}
.queue-case .tit-wrap.sec-titwrap .deco span:nth-child(3) {background:var(--color-primary);}
.queue-case .main-img {margin:0 auto var(--space-40); max-width:1000px; border-radius:16px; overflow:hidden;}
.queue-case .main-img img {width:100%; aspect-ratio:1000/640; object-fit:cover;}
.queue-case .card-wrap {display:flex; flex-direction:column; gap:var(--space-40);}
.queue-case .card-wrap .list {display:grid; grid-template-columns:repeat(2,1fr); gap:var(--space-40);}
.queue-case .card-wrap .list li {display:flex; flex-direction:column; gap:var(--space-40); padding:var(--space-40); background:#fff; border-radius:16px;}
.queue-case .card-wrap .list .top {display:flex; flex-direction:column; gap:var(--space-20);}
.queue-case .card-wrap .list .label {font-size:var(--font-size-18); font-weight:700; color:var(--color-primary); letter-spacing:-0.03em; line-height:1.5;}
.queue-case .card-wrap .list .tit {font-size:var(--font-size-24); font-weight:700; color:var(--color-bk); letter-spacing:-0.03em; line-height:1.5;}

.video-util {position:relative; overflow:hidden; padding:var(--space-150) 0; display:flex; flex-direction:column; align-items:center; background:url("/images/sub/video-utilbg.png") 50% 50% / cover no-repeat; color:#fff;}
.video-util .overlay {position:absolute; inset:0; background:linear-gradient(to bottom, rgba(0,0,0,0.7), rgba(0,20,66,0.62)); pointer-events:none;}
.video-util .contain {position:relative; display:flex; flex-direction:column; gap:var(--space-40); width:100%; padding:0 var(--contain-paddingx3); max-width:1600px; margin:0 auto;}
.video-util .tit-wrap {display:flex; flex-direction:column; gap:var(--space-20); align-items:flex-start;}
.video-util .tit-wrap .deco {display:flex;}
.video-util .tit {font-size:var(--font-size-36); font-weight:700; letter-spacing:-0.03em; line-height:1.5;}
.video-util .list {display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-40); width:100%;}
.video-util .list li {display:flex; flex-direction:column; gap:var(--space-40); padding:var(--space-40); background:#fff; border-radius:16px;}
.video-util .list .top {display:flex; flex-direction:column; gap:18px;}
.video-util .list .label {font-size:var(--font-size-18); font-weight:700; color:var(--color-primary); letter-spacing:-0.03em; line-height:1.5;}
.video-util .list .tit {font-size:var(--font-size-24); font-weight:700; color:var(--color-bk); letter-spacing:-0.03em; line-height:1.5;}
.video-util .list .img {margin:0; height:200px; flex-shrink:0; border-radius:16px; overflow:hidden;}
.video-util .list .img img {width:100%; height:100%; object-fit:cover;}

.pc-detect .sec-titwrap .deco {display:flex;}
.pc-detect .desc {margin-bottom:var(--space-40); font-size:var(--font-size-18); font-weight:600; color:#454545; letter-spacing:-0.03em; line-height:1.5;}
.pc-detect .list {display:flex; gap:var(--space-35);}

.pc-buildcase .tit-wrap.sec-titwrap .tit {font-size:var(--font-size-36); font-weight:700; color:var(--color-bk); letter-spacing:-0.03em; line-height:1.5;}
.pc-buildcase .tit-wrap.sec-titwrap .tit .sub {font-size:var(--font-size-18); font-weight:400; color:#8f8f8f;}
.pc-buildcase .main-box {display:flex; flex-direction:column; gap:var(--space-40); padding:var(--space-40); background:#f8f8f8; border-radius:16px;}
.pc-buildcase .main-box .sub-titwrap {display:flex; gap:16px; align-items:center;}
.pc-buildcase .main-box .sub-titwrap .img {margin:0; width:24px; height:24px; flex-shrink:0;}
.pc-buildcase .main-box .sub-titwrap .img img {width:100%; height:100%; object-fit:contain;}
.pc-buildcase .main-box .sub-titwrap .tit {font-size:var(--font-size-24); font-weight:700; color:var(--color-bk); letter-spacing:-0.03em; line-height:1.5;}

.pc-buildcase .main-box .list {display:flex; gap:var(--space-40); width:100%;}
.pc-buildcase .main-box .list li {flex:1; min-width:0; display:flex; flex-direction:column; gap:var(--space-20); align-items:center; padding:var(--space-40) var(--space-40); background:#fff; border-radius:16px;}
.pc-buildcase .main-box .list .icon-box {display:flex; align-items:center; justify-content:center; width:64px; height:64px; background:var(--color-primary); border-radius:16px; flex-shrink:0;}
.pc-buildcase .main-box .list .icon-box .img {margin:0; width:32px; height:32px;}
.pc-buildcase .main-box .list .icon-box .img img {width:100%; height:100%; object-fit:contain;}
.pc-buildcase .main-box .list .desc {font-size:var(--font-size-18); font-weight:700; color:var(--color-bk); letter-spacing:-0.03em; line-height:1.5;}

.pc-platex .cont-tit .tit {margin-bottom:var(--space-40); font-size:var(--font-size-36); font-weight:700; color:#242424; letter-spacing:-0.03em; line-height:1.5;}
.pc-platex .card-list {display:grid; grid-template-columns:repeat(2,1fr); gap:var(--space-40); margin-bottom:var(--space-40);}
.pc-platex .card-list li {display:flex; flex-direction:column; background:#fff; border-radius:16px; overflow:hidden;}
.pc-platex .card-list .cont {display:flex; flex-direction:column; gap:16px; padding:var(--space-30); background:#f8f8f8; border-radius:0 0 16px 16px;}
.pc-platex .card-list .deco {display:flex; gap:6px;}
.pc-platex .card-list .deco span {display:block; width:6px; height:6px;}
.pc-platex .card-list .deco span:nth-child(1) {background:#d4e6ff;}
.pc-platex .card-list .deco span:nth-child(2) {background:#94c1ff;}
.pc-platex .card-list .deco span:nth-child(3) {background:var(--color-primary);}
.pc-platex .card-list .tit {font-size:var(--font-size-18); font-weight:700; color:#242424; letter-spacing:-0.03em; line-height:1.5;}
.pc-platex .main-box {display:flex; flex-direction:column; gap:var(--space-40); padding:var(--space-40); background:#f8f8f8; border-radius:20px; position:relative; overflow:hidden;}
.pc-platex .main-box .flow {display:flex; gap:var(--space-40); align-items:center; width:100%;}
.pc-platex .main-box .flow .card {flex:1; min-width:0; display:flex; flex-direction:column; gap:16px; padding:var(--space-40) var(--space-30); background:#fff; border-radius:16px;}
.pc-platex .main-box .flow .card.on {min-width:560px; border:1px solid var(--color-primary);}
.pc-platex .main-box .flow .card.on .tit {color:var(--color-primary);}
.pc-platex .main-box .flow .deco {display:flex; gap:6px;}
.pc-platex .main-box .flow .deco span {display:block; width:6px; height:6px;}
.pc-platex .main-box .flow .deco span:nth-child(1) {background:#d4e6ff;}
.pc-platex .main-box .flow .deco span:nth-child(2) {background:#94c1ff;}
.pc-platex .main-box .flow .deco span:nth-child(3) {background:var(--color-primary);}
.pc-platex .main-box .flow .tit {font-size:var(--font-size-18); font-weight:700; color:#242424; letter-spacing:-0.03em; line-height:1.5;}
.pc-platex .main-box .flow .arrow {display:flex; align-items:center; justify-content:center; width:48px; height:48px; background:#4d82fe; border:6px solid #c3dcff; border-radius:200px; flex-shrink:0;}
.pc-platex .main-box .flow .arrow img {width:24px; height:24px; object-fit:contain;}
.pc-platex .main-box .img.diagram {text-align:center;}

.vehiclebg {background:url('/images/sub/vehiclebg.jpg') 50% 50% / cover no-repeat;}
.vehiclebg .sec-titwrap .tit {color:#fff;}

.viewer-intro {height:800px; background-image:url(/images/sub/viewer-introbg.jpg);}
.viewer-intro .overlay {background:rgba(0, 0, 0, 0.8);}
.viewer-intro .list {margin-top:15px; display:grid; grid-template-columns:repeat(2,1fr); gap:var(--space-10) var(--space-30);}
.viewer-intro .list.ty2 {margin-top:60px;}
.viewer-intro .list .txt {border-radius:200px; padding:var(--space-25) var(--space-25) var(--space-25) var(--space-50); position:relative; display:block; text-align:left; background:rgba(255,255,255,.3); font-size:var(--font-size-18); font-weight:700; color:#fff; letter-spacing:-.03em; line-height:1.65;}
.viewer-intro .list .txt:before {position:absolute; content:'•'; left:30px;}

.viewer-type {display:flex; flex-direction:column; align-items:center; padding:var(--space-150) 0; background:#fff;}
.viewer-type .contain {display:flex; align-items:center;}
.viewer-type .cont-tit {display:flex; flex-direction:column; gap:var(--space-30); align-items:flex-start;}
.viewer-type .cont-tit .deco {display:flex; gap:12px;}
.viewer-type .cont-tit .deco span {display:block; width:12px; height:12px;}
.viewer-type .cont-tit .deco span:nth-child(1) {background:#e4d4ff;}
.viewer-type .cont-tit .deco span:nth-child(2) {background:#c5a3ff;}
.viewer-type .cont-tit .deco span:nth-child(3) {background:#8e4dfe;}
.viewer-type .cont-tit .tit {font-size:var(--font-size-36); font-weight:700; color:#242424; letter-spacing:-0.03em; line-height:1.5;}
.viewer-type .cont {margin-right:40px; flex:1;}
.viewer-type .list {margin-top:40px; display:flex; flex-direction:column; gap:16px; flex:1;}
.viewer-type .list li {display:flex; gap:var(--space-15); align-items:center; padding:var(--space-15); background:#f8f8f8; border-radius:16px;}
.viewer-type .list .icon-box {display:flex; align-items:center; justify-content:center; width:48px; height:48px; background:#8e4dfe; border-radius:16px; flex-shrink:0;}
.viewer-type .list .icon-box img {width:24px; height:auto; object-fit:contain;}
.viewer-type .list .txt {font-size:var(--font-size-18); font-weight:700; color:#454545; letter-spacing:-.03em; line-height:1.5;}

.viewer-type.pkg {background:#f8f8f8;}
.viewer-type.pkg .cont-tit .deco span:nth-child(1) {background:#d4e6ff;}
.viewer-type.pkg .cont-tit .deco span:nth-child(2) {background:#94c1ff;}
.viewer-type.pkg .cont-tit .deco span:nth-child(3) {background:var(--color-primary);}
.viewer-type.pkg .list li {background:#fff;}
.viewer-type.pkg .list .icon-box {background:var(--color-primary);}

.viewer-compare {padding:var(--space-150) 0; background:#fff;}
.viewer-compare .contain {display:flex; flex-direction:column; gap:var(--space-40); width:100%; max-width:1400px; margin:0 auto; padding:0 var(--contain-paddingx3);}
.viewer-compare .cont-tit {display:flex; flex-direction:column; gap:var(--space-30); align-items:flex-start;}
.viewer-compare .cont-tit .deco {display:flex; gap:12px;}
.viewer-compare .cont-tit .deco span {display:block; width:12px; height:12px;}
.viewer-compare .cont-tit .deco span:nth-child(1) {background:#d4e6ff;}
.viewer-compare .cont-tit .deco span:nth-child(2) {background:#94c1ff;}
.viewer-compare .cont-tit .deco span:nth-child(3) {background:var(--color-primary);}
.viewer-compare .cont-tit .tit {font-size:var(--font-size-36); font-weight:700; color:#242424; letter-spacing:-0.03em; line-height:1.5;}
.viewer-compare .cont-tit .desc {font-size:var(--font-size-18); font-weight:600; color:#454545; letter-spacing:-0.03em; line-height:1.5;}
.viewer-compare .cont {width:100%; overflow-x:auto;}
.viewer-compare .tbl {width:100%; border-collapse:collapse; table-layout:fixed; overflow:hidden;}
.viewer-compare .tbl thead th {border-radius:16px 16px 0 0; height:88px; padding:var(--space-15) var(--space-40); font-size:var(--font-size-18); font-weight:700; color:#242424; letter-spacing:-0.03em; line-height:1.5; text-align:center;}
.viewer-compare .tbl thead th:first-child {background:#e6e6e6;}
.viewer-compare .tbl thead th:nth-child(2) {background:#8e4dfe; color:#fff;}
.viewer-compare .tbl thead th:nth-child(2) .sub {font-size:var(--font-size-18);}
.viewer-compare .tbl thead th:nth-child(3) {background:var(--color-primary); color:#fff;}
.viewer-compare .tbl thead th:nth-child(3) .sub {font-size:var(--font-size-18);}
.viewer-compare .tbl tbody th {height:88px; padding:var(--space-15) var(--space-40); background:#f8f8f8; font-size:var(--font-size-18); font-weight:700; color:#242424; letter-spacing:-0.03em; line-height:1.5; text-align:center; border-bottom:1px solid #ddd; border-right:1px solid #ddd;}
.viewer-compare .tbl tbody td {height:88px; padding:var(--space-15) var(--space-40); background:#fff; font-size:var(--font-size-18); color:#454545; letter-spacing:-0.03em; line-height:1.5; text-align:center; border-bottom:1px solid #ddd;}
.viewer-compare .tbl tbody td:first-of-type {border-right:1px solid #ddd;}
.viewer-compare .tbl tbody td:last-child {border-left:1px solid #ddd;}

.about-intro {display:flex; gap:var(--space-80); align-items:center;}
.about-intro .img {border-radius:16px; overflow:hidden;}
.about-intro .txt-wrap {flex:1; min-width:0; display:flex; flex-direction:column; gap:var(--space-40);}
.about-intro .tit {font-size:var(--font-size-36); font-weight:700; color:var(--color-bk); letter-spacing:-0.03em; line-height:1.5;}
.about-intro .cont {font-size:var(--font-size-18); letter-spacing:-0.03em; line-height:1.5;}
.about-intro .cont .sign {font-weight:700; color:#242424;}

.cert .list {grid-template-columns: repeat(4, 1fr); display: grid; gap:var(--space-70) var(--space-40);}
.cert .list li {display:flex; flex-direction:column; align-items:center;}
.cert .list .img img {width:100%; aspect-ratio:320/400; object-fit:cover;}
.cert .list .tit {margin-top:var(--space-20); font-size:var(--font-size-16); font-weight:500; color:#242424; letter-spacing:-.03em; line-height:26px; text-align:center;}

.loc-info {margin-top:var(--space-30); display:flex; gap:var(--space-30); align-items:stretch;}
.loc-info li {flex:1 0 0; display:flex; flex-direction:column; gap:var(--space-20); padding:var(--space-30); background:#f8f8f8; border-radius:16px; min-width:0;}
.loc-info li.primary {flex:0 0 455px; background:var(--color-primary);}
.loc-info .icon-box {margin:0; display:flex; align-items:center; justify-content:center; width:48px; height:48px; background:#fff; border-radius:12px; flex-shrink:0;}
.loc-info li:not(.primary) .icon-box {background:var(--color-primary);}
.loc-info .txt-wrap {display:flex; flex-direction:column; gap:var(--space-20);}
.loc-info .tit {color:var(--color-bk); font-size:var(--font-size-24); font-weight:700; letter-spacing:-0.03em; line-height:1.5;}
.loc-info .cont {font-size:var(--font-size-18); letter-spacing:-0.03em; line-height:1.5; display:flex; flex-direction:column; gap:var(--space-10);}
.loc-info li.primary .cont {font-weight:600;}
.loc-info li.primary .cont p:last-child {font-weight:400;}
.loc-info li.primary * {color:#fff;}

.history-visual {height:clamp(130px, calc( 250 / var(--inner) * 100vw ), 250px); gap:10px; border-radius:clamp(10px, calc( 300 / var(--inner) * 100vw ), 300px); display:flex; flex-direction:column; align-items:center; justify-content:center; background:url('/images/sub/history-visual.jpg') 50% 50% / cover no-repeat; color:#fff; text-align:center;}
.history-visual .subtit {opacity:.4; font-family:Sora, sans-serif; font-weight:700; line-height:1.5em; letter-spacing:-.03em;}
.history-visual .tit {font-size:var(--font-size-24); font-weight:700; line-height:150%; letter-spacing:-.03em;}

.history-wrap {padding:var(--space-100) 0; position:relative;}
.history-wrap:before {top:120px; bottom:var(--space-100); position:absolute; left:300px; width:1px; background-color:#ddd; content:"";}
.history-item {padding-bottom:var(--space-80); display:flex; align-items:initial;}
.history-item:last-child {padding-bottom:0;}
.history-item .history-year {position:relative; top:0; left:0; width:300px; color:#242424; font-size:28px; line-height:1.4em; letter-spacing:-.03em; text-align:right; padding-right:0; display:flex; justify-content:space-between;}
.history-item .history-year strong {line-height:1em; display:inline-block; text-align:center; transition:all 0.5s ease; font-weight:500; flex:1;}
.history-month-box {padding-left:105px; flex:1;}
.history-detail {margin-bottom:15px; display:flex; font-size:18px; letter-spacing:-.03em; font-weight:500; transition:all 0.5s ease;}
.history-detail:last-child {margin-bottom:0;}
.history-detail .month {width:55px; color:#898989; display:block;}
.history-detail p {flex:1;}

.history-item .dots {width:10px; height:10px; top:9px; right:-5px; margin:0; position:relative; border:2px solid #000; background:#fff; border-radius:50%; transition:all 0.3s; z-index:0;}
.history-item .dots .inner-dots {width:100px; height:100px; position:absolute; background:rgba(0, 100, 240, 0.20); border-radius:100%; top:50%; left:50%; transform:translate(-50%,-50%) scale(0); z-index:-1; transition:all 0.3s;}
.history-item .dots .inner-dots:after {width:60px; height:60px; display:block; content:""; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%) scale(0); z-index:-1; background:rgba(0, 100, 240, 0.60);; border-radius:100%; transition:all 0.5s;}
.history-item.active .history-year {font-size:56px;}
.history-item.active .history-year strong {font-weight:700; color:#0064F0;}
.history-item.active .month {color:#90c31f;}
.history-item.active .history-detail {font-weight:700;}
.history-item.active .history-month-item {color:#242424;}
.history-item.active .dots .inner-dots {transform:translate(-50%,-50%) scale(1); animation:ani .5s forwards ease; animation-delay:.05s;}
.history-item.active .dots .inner-dots:before {width:40px; height:40px; display:block; content:""; background:#fff; position:absolute; left:50%; top:50%; border-radius:100%; border:10px solid #0064F0; animation:ani .5s forwards ease; animation-delay:.02s;}
.history-item.active .dots .inner-dots:after {animation:ani .5s forwards ease; animation-delay:.08s;}
.history-item.active .history-year strong {line-height:.6em;}

@keyframes ani {
	0% {transform:translate(-50%,-50%) scale(0);}
	100% {transform:translate(-50%,-50%) scale(1);}
}

@media (max-width:1024px) {
	.history-item {padding-bottom:80px;}
	.history-item .history-year {width:250px;}
	.history-month-box {padding-left:100px;}
	.history-detail {font-size:16px;}
	.history-wrap:before {top:80px; left:250px;}
	.history-item .dots .inner-dots {width:80px; height:80px;}
	.history-item .dots .inner-dots:after {width:50px; height:50px;}
	.history-item.active .dots .inner-dots:before {width:30px; height:30px;}
	.history-item.active .history-year {font-size:36px;}
}

@media (max-width:640px) {
	.history-wrap {padding-top:50px;}
	.history-month-box {padding-left:0;}
	.history-item {padding-bottom:50px; display:block;}
	.history-item .history-year {width:100%; text-align:left;}
	.history-item .history-year strong {text-align:left; line-height:1.5em; margin-bottom:15px; display:block;}
	.history-item .dots {display:none;}
	.history-wrap:before {display:none;}
	.history-detail {margin-bottom:7px;}
	.history-detail .month {width:30px;}
	.history-item.active .history-year strong {line-height:1em;}
}

.chk-wrap {display:flex; height:44px; gap:var(--space-25); align-items:center; flex-wrap:wrap;}

.case-list {padding:var(--space-30) 0; border-top:1px solid #242424; border-bottom:1px solid #ddd;}
.case-list .list {grid-template-columns:repeat(4, 1fr); display:grid; gap:var(--space-20); text-align: center;}
.case-list .list .link-item {display:flex; align-items:center; justify-content:center; padding:var(--space-20); background:#f8f8f8; border-radius:16px;}
.case-list .list .tit {font-size:var(--font-size-18); font-weight:600; color:var(--color-bk); letter-spacing:-.03em; line-height:1.56;}

.case-detail {display:flex;}
.case-image {width:700px; margin-right:var(--space-60);}
.case-image .thumb {border-radius:8px; position:relative; padding-bottom:68.573%; overflow:hidden;}
.case-image .thumb img {position:absolute; top:50%; left:0; transition:.4s ease-in-out; transform:translateY(-50%); -ms-transform:translateY(-50%); -webkit-transform:translateY(-50%); width:100%; height:auto !important; max-width:100%; min-height:100%; object-fit:cover;}
.case-image .thumb:after {border-radius:8px; content:""; position:absolute; top:0; left:0; right:0; bottom:0; border:1px solid rgba(0,0,0,.08);}
.case-image .case-slider-nav {margin-top:var(--space-40); padding:0 var(--space-80);}
.case-image .case-slider-nav .item {padding:0 7px;}
.case-image .case-slider-nav .thumb  {padding-bottom:82.65%;}

.case-image .slick-arrow {width:17px; height:17px; position:absolute; top:50%; transform:translateY(-50%); z-index:20; border:0; font-size:0; line-height:0; background-color:transparent; background-position:50% 50%; background-repeat:no-repeat; background-size:contain;}
.case-image .slick-prev {left:0; background-image:url("../images/sub/slide-prev.png");}
.case-image .slick-next {right:0; background-image:url("../images/sub/slide-next.png");}

.case-detail .info-area {display:flex; flex-direction:column; gap:var(--space-30); flex:1;}
.case-detail .info-area .tit {font-size:var(--font-size-30); font-weight:700; color:#242424; letter-spacing:-0.9px; line-height:1.5; margin:0;}
.case-detail .info-area .line {height:1px; background:#ddd;}
.case-detail .info-list {display:flex; flex-direction:column; gap:0; margin:0;}
.case-detail .info-list .row {display:flex; align-items:center; line-height:40px; letter-spacing:-.03em;}
.case-detail .info-list dt {flex:0 0 100px; color:#8f8f8f; font-weight:600;}
.case-detail .info-list dd {flex:1;}
.case-detail .desc {font-weight:500; line-height:1.6;}
.case-detail .btn-wrap {margin-top:auto;}
.case-detail .btn-wrap .link {height:60px; display:flex; align-items:center; justify-content:center; width:100%; padding:0 var(--space-60); background:#eff6ff; border-radius:8px; font-size:var(--font-size-16); font-weight:600; color:#0064f0; letter-spacing:-0.8px; text-decoration:none;}