@charset "utf-8";
/* doc.css는 디자인페이지 스타일을 정의합니다. */

.sub-cate {margin-bottom:var(--space-40); margin-top:-20px;}

/* common */
.cns-title {margin:0; font-size:36px; font-weight:600; line-height:50px; letter-spacing:-0.02em; color:#2c2c2c; word-break:keep-all;}
.cns-title .y,
.cns-title .em {color:#21409a;}
.cns-label {margin:0 0 10px; font-size:18px; font-weight:500; line-height:28px; letter-spacing:-0.02em; color:#21409a;}
.cns-txt {margin:0; font-size:20px; line-height:34px; letter-spacing:-0.02em; color:#505050; word-break:keep-all;}
.cns-cards {display:grid; grid-template-columns:repeat(3,1fr); gap:16px; min-width:0; border:0; background:transparent;}
.cns-card {padding:32px; border:1px solid #ddd; border-radius:16px; background:#fff; min-height:100%;}
.cns-greet3__head .cns-title {margin-bottom:40px;}
.cns-greet3__row .cns-greet3__head .cns-title {margin-bottom:0 !important;}
.cns-steps {display:grid; grid-template-columns:repeat(3,1fr);}
.cns-steps .item {position:relative; display:flex; flex-direction:column; padding:var(--space-40); border:1px solid #ddd; border-right:0; background:#fff;}
.cns-steps .item:first-child {border-radius:var(--radius-24) 0 0 var(--radius-24);}
.cns-steps .item:last-child {border-right:1px solid #ddd; border-radius:0 var(--radius-24) var(--radius-24) 0;}
.cns-steps .item .icon {width:60px; height:60px; display:flex; align-items:center; justify-content:center; margin-bottom:var(--space-30); background:none; border-radius:0; user-select:none;}
.cns-steps .item .icon img {width:40px; height:40px; object-fit:contain;}
.cns-steps .item h4 {margin:0 0 var(--space-10); color:var(--color-primary); font-size:26px; line-height:40px; font-weight:600; letter-spacing:-0.02em;}
.cns-steps .item .desc {margin:0 0 var(--space-30); font-size:20px; line-height:34px; font-weight:500; letter-spacing:-0.02em; color:#505050; word-break:keep-all;}
.cns-steps .item .num {margin:auto 0 0 auto; color:rgba(147,149,152,0.08); font-size:var(--font-size-60); line-height:0.8; font-weight:800;}
.cns-steps .item::after {content:""; position:absolute; top:50%; right:0; z-index:1; width:clamp(32px, calc(40 / var(--inner) * 100vw), 40px); height:clamp(32px, calc(40 / var(--inner) * 100vw), 40px); border:1px solid #ddd; border-radius:50%; background:#fff url('/images/sub/img099.svg') no-repeat 52% center; transform:translate(50%,-50%);}
.cns-steps .item:last-child::after {content:none;}
.cns-steps .item:nth-child(even) {background: rgba(33, 64, 154, 0.03);}

/* about */
.members .contain {width:100%; max-width:none; padding:0; margin:0;}
.cns-greet3 {display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin-top:90px; border-top:1px solid #ececec; padding-top:60px;}
.login-content {max-width:470px; margin:0 auto;}
.history-wrap {padding-top:100px; position:relative; color: #666;}
.directions {display:flex; align-items: center; justify-content: space-between;}
.history-visual {position:relative;max-height:280px;border-radius:16px;overflow:hidden;}
.history-visual::after {content:"";position:absolute;inset:0;background:rgba(0,0,0,.5);z-index:1;}
.history-visual img {width:100%;max-height:280px;object-fit:cover;display:block;}
.directions.directions--loc {display:flex;flex-direction:column;gap:48px;}
.cns-hanja {font-family:"Noto Sans SC",sans-serif;font-weight:600;}
.greeting {display:flex; align-items:flex-start; gap:clamp(40px,7.14vw,100px);}
.greeting .col-l {flex:0 0 auto; width:clamp(280px,40%,560px); display:flex; flex-direction:column; align-items:center;}
.greeting .col-l .img {width:100%; aspect-ratio:560/680; border-radius:16px; overflow:hidden;}
.greeting .col-l .img img {width:100%; height:100%; object-fit:cover; object-position:center top; display:block;}
.greeting .col-r {flex:1; min-width:0; display:flex; flex-direction:column;}
.greeting .col-r__inner {display:flex; flex-direction:column; justify-content:flex-start; gap:50px; min-width:0;}
.greeting .col-r .top {margin:0;}
.greeting .col-r .mid {display:flex; flex-direction:column; gap:30px; margin:0;}
.greeting .col-r .mid-group {display:flex; flex-direction:column; gap:14px;}
.greeting .col-l .bot {margin-top:24px; flex-shrink:0; display:flex; justify-content:center; width:100%;}
.greeting .col-l .bot .sign-row {display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:16px 20px;}
.greeting .bot .sign-row {display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:16px 20px;}
.greeting .bot .sign-title {margin:0; font-size:18px; font-weight:600; color:#222; letter-spacing:-.02em; white-space:nowrap;}
.greeting .bot .sign {margin:0;}
.greeting .bot .sign img {display:block; width:min(160px,34vw); height:auto;}
.cns-decl {max-width:none;width:100%;margin:0;}
.cns-decl .cns-greet3__head {min-width:0;text-align:left;margin-bottom:0;}
.cns-org {max-width:100%;margin:0 auto;width:100%;}
.members section {padding: var(--space-100) 0;}
.members section:first-child {padding-top: 0;}
.members section:last-child {padding-bottom: var(--space-150);}
.members section:nth-child(even) {background: #f8f8f8;}
.members .head {margin-bottom: var(--space-30);}
.members .head h3 {position: relative; padding-left: 40px;}
.members .head h3::before {content: ''; position: absolute; top: 50%; left: 0; width: 32px; height: 32px; background: url('/images/img098.svg') no-repeat center / contain; transform: translateY(-50%);}
.members .table {width: 100%; border-collapse:collapse; border-spacing:0px; background: #fff; font-size: var(--font-size-16); line-height: 1.3; text-align: center;}
.members .table thead th {background: var(--color-primary); border-right: 1px solid #ddd; color: #fff; border-bottom: 0; font-size: var(--font-size-18); font-weight: 500; padding: var(--space-18);}
.members .table thead th:last-child {border-right: 1px solid var(--color-primary);}
.members .table tbody tr:first-child th, .members .table tbody tr:first-child td {border-top: 0;}
.members .table tbody th {border: 1px solid #ddd; color: #242424; font-weight: 500; padding: var(--space-18);}
.members .table tbody td {border: 1px solid #ddd; padding: var(--space-18);}
.members .table tbody td a {color: var(--color-primary);}
.members .table tbody td a:hover {text-decoration: underline;}
.members .table-scroll {overflow-x: auto;}
.membership .sec1 ol {display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--space-40);}
.membership .sec1 ol li {display: flex; align-items: center; justify-content: center; flex-direction: column; width: 100%; max-width: 100%; min-height: 140px; border: 1px solid #ddd; border-radius: var(--radius-16); padding: 40px var(--space-20); text-align: center;}
.membership .sec1 ol li .num {font-size:var(--font-size-20); line-height:1.2; color: var(--color-primary); font-weight:700; margin-bottom: var(--space-8);}
.membership .sec1 ol li p {color: #242424; font-size:var(--font-size-20); line-height:1.4; font-weight:500;}
.membership .sec2 .items {display: flex; flex-direction: column; gap: var(--space-60);}
.membership .sec2 .item {display: flex; align-items: center; gap: var(--space-40); background: #fff; border: 1px solid #ddd; border-radius: var(--radius-16); padding: var(--space-40);}
.membership .sec2 .item .tit {text-align: center; width: 14.312%;}
.membership .sec2 .item .tit .num {display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 22px; color: #fff; font-size:var(--font-size-14); line-height:1.2; font-weight:500; margin-bottom: var(--space-16); border-radius: 30px; background: var(--color-primary);}
.membership .sec2 .item .tit h4 {color: #242424; font-size:var(--font-size-18); line-height:1.4; font-weight:600;}
.membership .sec2 .item .cnt {padding-left: var(--space-40); position: relative; line-height: 1.87; width: calc(85.688% - var(--space-40));}
.membership .sec2 .item .cnt::before {content: ''; position: absolute; top: 0; left: 0; width: 1px; height: 100%; background: #ddd;}
.membership .sec2 .item .cnt .list {margin-top: var(--space-20); display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-10); width: 100%;}
.membership .sec2 .item .cnt .list li {display: flex; align-items: center; gap: var(--space-8); border-radius: 40px; background: rgba(33, 64, 154, 0.03); padding: 4px var(--space-12);}
.membership .sec2 .item .cnt .list .num {display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; background: var(--color-primary); color: #fff; font-size:var(--font-size-12); line-height:1.2; font-weight:500; border-radius: 50%; padding-top: 1px;}
.membership .sec3 .item a:hover {text-decoration: underline;}
.membership .sec5 .box {border: 1px solid #ddd; border-radius: var(--radius-24); padding: var(--space-60); background: linear-gradient(94deg, rgba(11, 22, 52, 0.02) 0.36%, rgba(33, 64, 154, 0.08) 62.66%); position: relative; display: flex; align-items: center; justify-content: space-between; gap: var(--space-60);}
.membership .sec5 .box::before {display:none;}
.membership .sec5 .box .bank {display: block; color: var(--color-primary); font-size:var(--font-size-20); line-height:1.4; font-weight:600; margin-bottom: var(--space-10);}
.membership .sec5 .box .account {color: #242424; font-size:var(--font-size-32); line-height:1.25; font-weight:600; margin-bottom: var(--space-20);}
.membership .sec5 .box .name {color: #686868; font-size:var(--font-size-16); line-height:1.75;}
.membership .sec5 .box .btn-copy {width: clamp(120px, calc(160 / var(--inner) * 100vw), 160px); height: clamp(40px, calc(48 / var(--inner) * 100vw), 48px); display: flex; align-items: center; justify-content: center; border-radius: var(--radius-8); background: var(--color-primary); color: #fff; font-size:var(--font-size-16); line-height:1.5; font-weight:600; border: 0; cursor: pointer; margin: auto 0 0 auto; position: relative; z-index: 1;}

.membership .sec1 ol {grid-template-columns:repeat(3,1fr)!important;gap:40px!important;max-width:900px;margin:0 auto;}
.membership .sec5 .box::before {content:none!important;display:none!important;background:none!important;width:0!important;height:0!important;}
.membership .head h3 {padding-left:0;}
.membership .head h3::before {content:none;display:none;}
.membership .sec1 ol li .icon {display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin-bottom:24px;}
.membership .sec2 .item .tit .icon {display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;margin:0 auto var(--space-16);}
.membership .sec-howto .howto-list {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-20);margin:0;padding:0;list-style:none;}
.membership .sec-howto .howto-list > li {display:flex;align-items:flex-start;gap:var(--space-20);min-width:0;height:100%;padding:var(--space-30) var(--space-36);border:1px solid #ddd;border-radius:var(--radius-16);background:#fff;}
.membership .sec-howto .howto-list .num {flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--color-primary);color:#fff;font-size:var(--font-size-16);font-weight:700;line-height:1;}
.membership .sec-howto .howto-list .txt {flex:1;min-width:0;}
.membership .sec-howto .howto-list .txt p + p {margin-top:var(--space-12);}
.membership .sec-howto .howto-list .note {margin:0; font-size:18px; line-height:28px; font-weight:400; letter-spacing:-0.02em; color:#505050; word-break:keep-all;}
.membership .sec-howto .howto-list .contact {margin:0; font-size:18px; line-height:28px; font-weight:400; letter-spacing:-0.02em; color:#505050; word-break:keep-all;}
.membership .sec-howto .howto-list .contact a {color:var(--color-primary);font-weight:600;}
.membership .sec-howto .howto-list .contact a:hover {text-decoration:underline;}
.membership .sec4 .dues-box {padding:var(--space-40) var(--space-48);border:1px solid #ddd;border-radius:var(--radius-16);background:rgba(33,64,154,0.03);}
.membership .sec4 {padding-bottom:0;}
.membership .sec4 .dues-box .note {margin-top:var(--space-16);color:var(--color-primary);font-weight:600;}
.real-cont .membership {width:100%;max-width:100%;margin:0 auto;}
.membership .contain, .real-cont .membership .contain {max-width:100%;width:100%;margin:0 auto; padding-left:0!important;padding-right:0!important;}
.membership .sec1 .contain, .membership .sec1 .cont {width:100%;max-width:100%;}
.members section:nth-child(even) {margin-left:calc(-1 * var(--layout-sub-inset,var(--layout-gutter))); margin-right:calc(-1 * var(--layout-sub-inset,var(--layout-gutter))); padding-left:var(--layout-sub-inset,var(--layout-gutter)); padding-right:var(--layout-sub-inset,var(--layout-gutter));}
.membership .sec1 ol li {border-width:1px;border-color:#ddd;}
.history-wrap {padding-top:100px;position:relative;color:#666;}
.membership > section.sec2, .membership > section.sec3 {margin-left:0; margin-right:0; padding-left:0; padding-right:0; background:transparent;}
.membership > section.sec-howto, .membership > section.sec4 {margin-left:calc(-1 * var(--layout-sub-inset,var(--layout-gutter))); margin-right:calc(-1 * var(--layout-sub-inset,var(--layout-gutter))); padding-left:var(--layout-sub-inset,var(--layout-gutter)); padding-right:var(--layout-sub-inset,var(--layout-gutter)); background-color:#f8f8f8;}
.membership .sec2 .items {display: flex; flex-direction: column; gap: 16px;}
.membership .sec2 .item .tit h4 {color:#242424;font-size:22px;line-height:36px;font-weight:600;letter-spacing:-0.02em;}
.membership .sec2 .item .cnt .list li {display:flex;align-items:center;gap:var(--space-8);border-radius:40px;background:rgba(33,64,154,0.03);padding:14px;}
.membership .sec1 .head, .membership .sec2 .head, .membership .sec-howto .head, .membership .sec4 .head {margin-bottom:var(--space-60);}
.membership .sec2 {padding-top:100px;padding-bottom:100px;}
.membership .sec-howto {padding-top:100px;padding-bottom:100px;}
.membership:not(.ceremony) .sec4 {padding-top:100px;padding-bottom:100px;}
.membership .sec2 .item .cnt .list li p {margin:0; font-size:18px; line-height:28px; letter-spacing:-0.02em; color:#505050; word-break:keep-all;}
.membership .sec2 .item .cnt .list .num {width:26px; height:26px; min-width:26px; min-height:26px; font-size:14px; line-height:1; font-weight:600; padding-top:0; flex-shrink:0;}
.membership .sec1 ol {display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; width:100%;max-width:100%;margin:0;padding:0;list-style:none;}
.membership .sec1 ol li {display:flex;align-items:center;justify-content:center;flex-direction:column; width:100%;max-width:100%;justify-self:stretch; min-height:140px; border:1px solid #ddd;border-radius:var(--radius-16); padding:40px var(--space-20);text-align:center;}
.membership .sec1 ol li .num {font-size:var(--font-size-20);line-height:1.2;color:var(--color-primary);font-weight:700;margin-bottom:var(--space-8);}
.membership .sec1 ol li p {color:#242424;font-size:var(--font-size-20);line-height:1.4;font-weight:500;}
.membership .sec1 ol li p .cns-hanja {font-weight:500;}
.membership .head h3 {padding-left:0;}
.membership .membership-icon, .membership .membership-icon {display:block;flex-shrink:0;width:100%;height:100%;background:center/contain no-repeat;background-image:var(--icon-url);}
.membership .sec1 .is-member-general .membership-icon, .membership .sec1 .is-member-general .membership-icon {--icon-url:url('/images/sub/ico-member-general.svg');}
.membership .sec1 .is-member-associate .membership-icon, .membership .sec1 .is-member-associate .membership-icon {--icon-url:url('/images/sub/ico-member-associate.svg');}
.membership .sec1 .is-member-honorary .membership-icon, .membership .sec1 .is-member-honorary .membership-icon {--icon-url:url('/images/sub/ico-member-honorary.svg');}
.membership .sec2 .is-elig-general .membership-icon, .membership .sec2 .is-elig-general .membership-icon {--icon-url:url('/images/sub/ico-member-general.svg');}
.membership .sec2 .is-elig-individual .membership-icon, .membership .sec2 .is-elig-individual .membership-icon {--icon-url:url('/images/sub/ico-member-general.svg');}
.membership .sec2 .is-elig-honorary .membership-icon, .membership .sec2 .is-elig-honorary .membership-icon {--icon-url:url('/images/sub/ico-member-honorary.svg');}
.membership .sec3 .is-join-step1 .membership-icon, .membership .sec3 .is-join-step1 .membership-icon {--icon-url:url('/images/sub/ico-join-step1.svg');}
.membership .sec3 .is-join-step2 .membership-icon, .membership .sec3 .is-join-step2 .membership-icon {--icon-url:url('/images/sub/ico-join-step2.svg');}
.membership .sec3 .is-join-step3 .membership-icon, .membership .sec3 .is-join-step3 .membership-icon {--icon-url:url('/images/sub/ico-join-step3.svg');}
.membership .sec4 .cont {padding:var(--space-40) var(--space-48); border:1px solid #ddd; border-radius:var(--radius-16); background:#fff;}
.membership .sec4 .cont > .note {margin-top:var(--space-16);color:var(--color-primary);font-weight:600;}
.membership.ceremony .sec1 .cont .lead .point {color:var(--color-primary);font-weight:700;}
.membership.ceremony .sec2 .head, .membership.ceremony .sec3 .head, .membership.ceremony .sec4 .head, .membership.ceremony .sec5 .head {margin-bottom:var(--space-60);}
.membership.ceremony .sec2, .membership.ceremony .sec3, .membership.ceremony .sec4 {padding-top:var(--space-100);padding-bottom:var(--space-100);}
.membership.ceremony .sec5 {padding-top:var(--space-100);padding-bottom:0;}
.membership.ceremony .table-scroll {margin-top:0;}
.membership.ceremony .sec1 .cont .lead {font-size: 24px; line-height: 1.3; color: #222; font-weight: 500; letter-spacing: -0.03em; margin-bottom: var(--space-16);}
.membership.ceremony .head .desc {margin: 16px 0 0;}
.membership.ceremony .cont > .desc {margin-bottom: var(--space-30);}
.membership.ceremony .cont .note {margin-top: var(--space-20); font-size: var(--font-size-14); line-height: 1.6; color: #868686;}
.membership.ceremony .leave-list {display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--space-16); list-style: none; margin: 0; padding: 0;}
.membership.ceremony .leave-list li {background: #fff; border: 1px solid #ddd; border-radius: var(--radius-16); padding: var(--space-30) var(--space-20); text-align: center;}
.membership.ceremony .leave-list .label {font-size: 16px; line-height: 26px; font-weight: 600; color: #242424; margin: 0 0 var(--space-20); padding: 0; min-height: 0;}
.membership.ceremony .leave-list .days {font-size: 28px; line-height: 42px; color: #686868; margin: 0;}
.membership.ceremony .leave-list .days strong {font-size: inherit; line-height: inherit; font-weight: 700; color: var(--color-primary); margin-right: 2px;}
.membership.ceremony .sec5 .box--contact {align-items: center; justify-content: flex-start; gap: var(--space-40);}
.membership.ceremony .sec5 .box--contact .contact-icon {flex: none; width: 88px; height: 88px; display: flex; align-items: center; justify-content: center; border-radius: var(--radius-16); background: var(--color-primary);}
.membership.ceremony .sec5 .box--contact .contact-icon img {width: 40px; height: 40px; max-width: none; flex-shrink: 0; object-fit: contain;}
.membership.ceremony .sec5 .box--contact .txt-wrap {flex: 1; min-width: 0; max-width: none; text-align: left;}
.membership.ceremony .sec5 .box--contact .account {display: block; color: #242424; font-size: 36px; line-height: 44px; font-weight: 600; margin-bottom: 8px; text-decoration: none;}
.membership.ceremony .sec5 .box--contact .account:hover {color: var(--color-primary);}
.membership.ceremony .sec5 .box--contact .name {font-size: 16px; line-height: 26px; color: #686868; margin: 0;}

.cns-decl__intro {margin:0 0 48px;}
.cns-decl__lead {margin:0;}


/* design — restored */
.history-visual__tit {position:absolute;top:50%;left:0;width:100%;transform:translate(0,-50%);margin:0;padding:20px;color:#fff;font-size:var(--font-size-32);font-weight:700;line-height:1.3em;letter-spacing:-.03em;text-align:center;;opacity:.48;z-index:2;}
.directions--loc .directions__map {width:100%;aspect-ratio:1400/520;border-radius:24px;overflow:hidden;background:#f5f5f5;position:relative;}
.directions--loc .directions__map .root_daum_roughmap {width:100%!important;height:100%!important;max-width:none!important;}
.directions--loc .directions__map .root_daum_roughmap_landing {width:100%!important;height:100%!important;max-width:none!important;}
.directions--loc .directions__map .root_daum_roughmap .wrap_map {width:100%!important;height:100%!important;max-width:none!important;}
.directions--loc .directions__map .root_daum_roughmap .wrap_map .map {width:100%!important;height:100%!important;}
.directions--loc .directions__map .root_daum_roughmap .map_border {display:none!important;}
.directions--loc .directions__map .root_daum_roughmap .wrap_controllers {display:none!important;}
.directions--loc .directions__map .root_daum_roughmap .cont {display:none!important;}
.directions--loc .directions__bottom {display:flex;flex-direction:column;gap:70px;width:100%;}
.directions--loc address {display:block;width:100%;}
.directions--loc .directions-meta {display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:0;margin:0;padding:0;list-style:none;width:100%;}
.directions--loc .directions-meta__item {display:flex;align-items:center;gap:20px;flex:none;}
.directions--loc .directions-meta__item+.directions-meta__item {margin-left:32px;padding-left:32px;border-left:1px solid #ddd;}
.directions--loc .directions-meta__label {font-size:20px;font-weight:600;line-height:34px;color:#222;letter-spacing:-.03em;white-space:nowrap;flex:none;}
.directions--loc .directions-meta__bar {width:1px;height:10px;background:#ddd;flex:none;}
.directions--loc .directions-meta__value {font-size:20px;font-weight:400;line-height:34px;color:#484848;letter-spacing:-.03em;white-space:nowrap;}
.directions--loc .directions__info {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;width:100%;max-width:none;margin:0;}
.directions--loc .directions-section {padding:48px;border:1px solid #ddd;border-radius:16px;height:100%;position:relative;overflow:hidden;}
.directions--loc .directions-section>* {position:relative;z-index:1;}
.directions--loc .directions-section--transit::after {content:"";position:absolute;right:48px;bottom:48px;width:70px;height:70px;background:url('/images/sub/bg-directions-bus.png') no-repeat center/contain;opacity:.15;pointer-events:none;}
.directions--loc .directions-section--car::after {content:"";position:absolute;right:48px;bottom:48px;width:70px;height:70px;background:url('/images/sub/bg-directions-car.png') no-repeat center/contain;opacity:.15;pointer-events:none;}
.directions--loc .directions-section:first-of-type {margin-top:0;}
.directions--loc .directions-section+.directions-section {margin-top:0;}
.directions--loc .directions-section__head {display:flex;align-items:center;gap:12px;margin:0 0 40px;}
.directions--loc .directions-section__title {margin:0;font-size:24px;font-weight:600;color:#222;letter-spacing:-.03em;line-height:1.3;flex:none;}
.directions--loc .directions-section__lead {margin:0;font-size:16px;font-weight:400;color:#484848;line-height:26px;}
.directions--loc .directions-section__note {margin:0;font-size:16px;font-weight:400;color:#484848;line-height:1.87;}
.directions--loc .directions-route {display:flex;gap:30px;align-items:flex-start;}
.directions--loc .directions-route+.directions-route {margin-top:30px;}
.directions--loc .directions-route__badge {display:inline-flex;align-items:center;justify-content:center;width:88px;height:88px;border-radius:50%;background:var(--color-primary);font-size:16px;font-weight:600;color:#fff;letter-spacing:-.03em;white-space:nowrap;flex:none;}
.directions--loc .directions-section--car .directions-route__badge {background:#1877f2;}
.directions--loc .directions-route__body {min-width:0;flex:1;padding-top:0;}
.directions--loc .directions-route__lines p {margin:0 0 10px;font-size:16px;font-weight:400;color:#484848;line-height:1.5;letter-spacing:-.03em;}
.directions--loc .directions-route__lines p.is-emphasis {font-weight:600;color:#484848;}
.directions--loc .directions-route__group + .directions-route__group {margin-top:30px;}
.directions--loc .directions-route__lines > p + .directions-route__group {margin-top:30px;}
.directions--loc .directions-route__group p:last-child, .directions--loc .directions-route__lines > p:last-child {margin-bottom:0;}
.directions--loc .directions-meta {flex-direction:column;align-items:flex-start;gap:16px;}
.directions--loc .directions-meta__item {width:100%;}
.directions--loc .directions-meta__item+.directions-meta__item {margin-left:0;padding-left:0;border-left:0;}
.directions--loc .directions-meta__label {min-width:3em;}
.directions--loc .directions-meta__value {white-space:normal;}
.cns-greet__wide {width:100%;height:360px;border-radius:16px;background-size:cover;background-position:center;margin-bottom:56px;}
.cns-greet__row {display:grid;grid-template-columns:1fr 1fr;align-items:flex-start;gap:80px;width:100%;}
.cns-greet__h {min-width:0;text-align:left;}
.cns-greet__h .q {color:#21409a;font-size:24px;vertical-align:-2px;margin:0 6px;}
.cns-greet__body {min-width:0;}
.cns-greet__p {text-align:left;width:100%;max-width:none;}
.cns-greet__body .cns-txt + .cns-txt {margin-top:24px;}
.cns-greet__sign {font-size:20px;line-height:34px;letter-spacing:-0.02em;font-weight:600;color:#505050;text-align:left;margin-top:30px;}
.cns-greet3--2 {grid-template-columns:1fr;gap:100px;}
.cns-greet3--2 .cns-greet3__c {padding:0;}
.cns-greet3--2 .cns-greet3__c+.cns-greet3__c::before {display:none;}
.cns-greet3__row {display:grid;grid-template-columns:1fr;align-items:flex-start;gap:50px;width:100%;}
.cns-greet3__head {min-width:0;}
.cns-greet3__card-t {margin:0 0 40px;font-size:22px;font-weight:600;line-height:36px;letter-spacing:-0.02em;color:#21409a;}
.cns-hanja, .cns-greet3__card-hanja {font-family:"Noto Sans SC",sans-serif;font-weight:600;}
.cns-greet3__card-body {display:flex;flex-direction:column;gap:12px;}
.cns-greet3__card-d {margin:0;font-size:18px;font-weight:400;line-height:30px;letter-spacing:-0.02em;color:#676767;word-break:keep-all;}
.cns-greet3__card-lead {margin:0;font-size:24px;line-height:38px;font-weight:600;color:#2c2c2c;}
.cns-greet3__c {padding:0 40px;position:relative;}
.cns-greet3__c+.cns-greet3__c::before {content:"";position:absolute;left:0;top:6px;bottom:6px;width:1px;background:#ececec;}
.cns-greet3__no {display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:#21409a;color:#fff;font-size:15px;font-weight:700;margin-bottom:22px;}
.cns-greet3__item {margin-bottom:22px;}
.cns-greet3__item:last-child {margin-bottom:0;}
.cns-greet3__item-t {font-size:16px;font-weight:700;color:#21409a;margin-bottom:8px;line-height:24px;}
.cns-greet3__d {font-size:15px;line-height:25px;color:#7a7a7a;}

.cns-decl__sec {margin-bottom:72px;}
.cns-decl__sec:last-child {margin-bottom:0;}
.cns-decl__panel {position:relative; padding:48px 44px; border-radius:16px; border:1px solid #ddd; background: radial-gradient(ellipse 80% 50% at 50% 0%, rgba(33,64,154,.08), transparent 70%), linear-gradient(180deg,#f7f9fc 0%,#fff 55%); overflow:hidden;}
.cns-decl__panel::before {content:""; position:absolute; inset:0; pointer-events:none; opacity:.35; background-image:radial-gradient(rgba(33,64,154,.07) 1px, transparent 1px); background-size:22px 22px;}
.cns-decl__panel::after {content:'“'; position:absolute; top:18px;left:28px; font-size:72px; font-weight:800; line-height:1; color:rgba(33,64,154,.1); pointer-events:none;}
.cns-decl__body {position:relative;z-index:1;}
.cns-decl__body p {font-size:22px; line-height:36px; color:#4a4a4a; text-align:center; word-break:keep-all; margin:0 0 22px;}
.cns-decl__body p:last-child {margin-bottom:0;}

.cns-org--image .cns-org__stage {display:flex;justify-content:center;width:100%;}
.cns-org__stage {position:relative;margin-bottom:0;overflow-x:auto;overflow-y:visible; display:flex;justify-content:center;width:100%;}

.hist-timeline {position:relative; display:flex; flex-direction:column; gap:clamp(48px,5.21vw,100px); list-style:none; --hist-year-line:62px; --hist-year-width:clamp(140px,13.542vw,260px);}
.hist-timeline::before {content:""; position:absolute; top:calc(var(--hist-year-line)/2); bottom:calc(var(--hist-year-line)/2); left:calc(var(--hist-year-width) + 11px); width:1px; background:#ddd; pointer-events:none; z-index:0;}
.hist-year-block {display:flex;align-items:flex-start;position:relative;}
.hist-year-block.is-last {padding-bottom:0;}
.hist-year-col {flex-shrink:0; width:var(--hist-year-width); min-height:var(--hist-year-line); font-size:48px; font-weight:600; line-height:var(--hist-year-line); letter-spacing:-0.96px; color:var(--color-primary);}
.hist-marker-col {flex-shrink:0; display:flex; align-items:center; justify-content:center; width:24px; min-height:var(--hist-year-line); align-self:flex-start; position:relative; z-index:2;}
.hist-marker {position:relative; z-index:2; display:block; flex-shrink:0; width:24px; height:24px; min-width:24px; min-height:24px; border:3px solid #fff; border-radius:50%; background:#21409a; box-shadow:0 0 0 1px #21409a;}
.hist-events-col {flex:1; min-width:0; display:flex; flex-direction:column; gap:24px; padding-top:14px; padding-left:clamp(32px,5.21vw,100px);}
.hist-event {display:flex;align-items:flex-start;gap:10px;}
.hist-event__bullet {flex-shrink:0; width:6px; height:6px; margin-top:14px; border-radius:50%; background:#ccc;}
.hist-event__month {flex-shrink:0; width:55px; font-size:20px; font-weight:700; line-height:34px; letter-spacing:-0.4px; color:#505050;}
.hist-event__text {flex:1; min-width:0; margin:0; font-size:20px; font-weight:400; line-height:34px; letter-spacing:-0.4px; color:#505050; word-break:keep-all;}

.directions--loc .directions-site--branch {display:flex;flex-direction:column;gap:48px;width:100%;padding-top:70px;border-top:1px solid #eee;}
.directions--loc .directions-site--branch .directions__info {margin-top:0;}
.directions--loc .directions__map--embed iframe {display:block;width:100%;height:100%;border:0;}

.cns-org-chart--figma {display:flex;flex-direction:column;align-items:center;gap:0;width:100%;}

.cns-org-figma__top {display:flex;justify-content:center;width:100%;}
.cns-org-figma__primary-node {display:flex;align-items:center;justify-content:center;text-align:center; width:240px;height:100px;border-radius:8px; background:#21409a;color:#fff; font-size:28px;font-weight:600;letter-spacing:-.56px;}
.cns-org-figma__main-tree {display:flex;flex-direction:column;align-items:center;width:100%;}
.cns-org-figma__tree-vline {width:1px;height:60px;background:#ddd;}
.cns-org-figma__tree-hline {height:1px;width:50%;background:#ddd;}
.cns-org-figma__tree-btm {display:flex;width:50%;justify-content:space-between;}
.cns-org-figma__tree-btm .cns-org-figma__tree-vline {height:60px;}
.cns-org-figma__cols {display:flex;gap:40px;width:100%;align-items:flex-start;}
.cns-org-figma__col {display:flex;flex:1;flex-direction:column;align-items:center;min-width:0;}
.cns-org-figma__vline {width:1px;height:30px;background:#ddd;flex-shrink:0;}
.cns-org-figma__dark-node {display:flex;align-items:center;justify-content:center;text-align:center; width:240px;height:88px;border-radius:8px; background:#121212;color:#fff; font-size:24px;font-weight:600;letter-spacing:-.48px;}
.cns-org-figma__outline-node {display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center; width:240px;height:88px;border-radius:8px; border:1px solid #21409a;background:#fff;color:#21409a; font-size:22px;font-weight:600;letter-spacing:-.44px;gap:2px;}
.cns-org-figma__node-sub {display:block;font-size:18px;font-weight:500;color:#878787;letter-spacing:-.36px;}
.cns-org-figma__role-row {display:flex;width:100%;align-items:stretch;}
.cns-org-figma__role-box {flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center; background:#f5f6fa;border:1px solid #a4b1d5;border-radius:8px; min-height:88px;padding:12px 8px;min-width:0;gap:4px;}
.cns-org-figma__role-title {font-size:20px;font-weight:700;color:#21409a;line-height:1.4;text-align:center;}
.cns-org-figma__role-name {font-size:18px;font-weight:500;color:#878787;line-height:1.4;text-align:center;}
.cns-org-figma__role-names {display:flex;gap:10px;font-size:18px;font-weight:500;color:#878787;line-height:1.4;}
.cns-org-figma__role-sep {width:10px;flex-shrink:0;position:relative;}
.cns-org-figma__role-sep::after {content:'';position:absolute;left:0;right:0;top:50%;height:1px;background:#ddd;transform:translateY(-50%);}
.cns-org-figma__delegate-wrap {width:100%;background:#f4f4f4;border-radius:8px;padding:16px; display:flex;flex-direction:column;gap:8px;}
.cns-org-figma__delegate-hd {display:flex;align-items:center;justify-content:center; height:64px;background:#aaa;border-radius:4px; font-size:20px;font-weight:700;color:#fff;letter-spacing:-.4px;}
.cns-org-figma__dept-wrap {width:100%;background:#f4f4f4;border-radius:8px;padding:16px;}
.cns-org-figma__grid4 {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:100%;align-items:start;}
.cns-org-figma__unit {display:flex;align-items:center;justify-content:center;text-align:center; min-height:52px;padding:10px 6px;border-radius:4px; border:1px solid #ddd;background:#fff; font-size:18px;font-weight:500;color:#676767;letter-spacing:-.36px;word-break:keep-all;}
.cns-org-figma__dept-unit {display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center; min-height:88px;padding:10px 6px;border-radius:4px; border:1px solid #ddd;background:#fff; font-size:18px;font-weight:500;color:#2c2c2c;letter-spacing:-.36px;word-break:keep-all;gap:2px;}
.cns-org-figma__unit-sub {display:block;font-size:16px;font-weight:500;color:#676767;letter-spacing:-.32px;}
.cns-org-figma__dept-cluster {grid-column:span 2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:8px;row-gap:0;min-width:0;}
.cns-org-figma__dept-cluster > .cns-org-figma__dept-unit:first-child {grid-column:1 / -1;}
.cns-org-figma__cluster-tree {grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;width:100%;height:29px;font-size:0;line-height:0;}
.cns-org-figma__cluster-vline {width:1px;height:14px;background:#ddd;flex-shrink:0;overflow:hidden;}
.cns-org-figma__cluster-hline {height:1px;width:50%;background:#ddd;flex-shrink:0;overflow:hidden;}
.cns-org-figma__cluster-btm {display:flex;width:50%;justify-content:space-between;}
.cns-org-figma__cluster-btm .cns-org-figma__cluster-vline {height:14px;}
.cns-org-figma__dept-stack {display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto 29px auto;gap:0;min-width:0;}
.cns-org-figma__dept-stack > .cns-org-figma__dept-unit:first-child {grid-row:1;}
.cns-org-figma__dept-stack > .cns-org-figma__dept-unit:last-child {grid-row:3;}
.cns-org-figma__cmt-section {width:100%;padding-top:80px;}
.cns-org-figma__cmt-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;width:100%;align-items:start;}
.cns-org-figma__cmt-item {display:flex;flex-direction:column;align-items:center;width:100%;}
.cns-org-figma__cmt-title {display:flex;align-items:center;justify-content:center;text-align:center; width:100%;max-width:240px;height:88px;border-radius:8px; background:#f5f6fa;color:#21409a; font-size:22px;font-weight:700;letter-spacing:-.44px;}
.cns-org-figma__cmt-tree {display:flex;flex-direction:column;align-items:center;width:100%;}
.cns-org-figma__cmt-vline {width:1px;height:30px;background:#ddd;}
.cns-org-figma__cmt-hline {height:1px;width:50%;background:#ddd;}
.cns-org-figma__cmt-btm {display:flex;width:50%;justify-content:space-between;}
.cns-org-figma__cmt-btm .cns-org-figma__cmt-vline {height:30px;}
.cns-org-figma__cmt-cols {display:flex;gap:8px;width:100%;align-items:flex-start;}
.cns-org-figma__cmt-col {display:flex;flex:1;flex-direction:column;gap:8px;min-width:0;}
.cns-org-figma__cmt-hd {display:flex;align-items:center;justify-content:center;text-align:center; width:100%;min-height:56px;padding:8px;border-radius:4px; border:1px solid #a4b1d5;background:#fff; font-size:18px;font-weight:700;color:#21409a;letter-spacing:-.36px;}
.cns-org-figma__cmt-member {display:flex;align-items:center;justify-content:center;text-align:center; width:100%;min-height:56px;padding:8px;border-radius:4px; border:1px solid #ddd;background:#fff; font-size:18px;font-weight:500;color:#676767;letter-spacing:-.36px;word-break:keep-all;}
