@charset "utf-8";

.sec-zigzag .group:first-child {padding: 0; margin-bottom: var(--space-100);}
.sec-zigzag .group {position: relative; padding: var(--space-100) 0;}
.sec-zigzag .group:not(:first-child):before {content: ''; position: absolute; width: 100%; max-width: 1200px; top: 0; left: 50%; transform: translateX(-50%); height: 1px; background:#ddd;}
.zigzag-txt {max-width: 703px; width: 60%; height: 492px; display: flex; flex-direction: column; justify-content: center;}
.group:nth-child(even) .zigzag-txt {margin-left: auto;}
.zigzag-img {position: absolute; right: 0; top: 50%; transform: translateY(-50%); overflow: hidden; max-width: 43%; border-radius: var(--radius-80) 0 0 0;}
.group:nth-child(even) .zigzag-img {right: auto; left: 0; border-radius: 0 var(--radius-80) 0 0;}
.zigzag-txt .tag {width: fit-content; padding: 0 var(--space-20); margin-bottom: var(--space-20); background: rgba(215, 44, 43, 0.06); border: 1px solid var(--primary-color); border-radius: 100px; font-weight: 600; line-height: 1.75em; color: var(--primary-color);}
.zigzag-txt h3 {margin-bottom: var(--space-40); font-size: var(--font-size-32); line-height: 1.5em; color: var(--dark-color); font-weight: 400;}
.zigzag-txt .desc {font-size: var(--font-size-18); line-height: 1.6667em;}
.table-wrap {border-top: 1px solid var(--dark-color);}
.table-wrap.type2 {border-color: var(--primary-color);}
.table-wrap table {width: 100%; border-collapse: collapse;}
.table-wrap th, .table-wrap td {padding: clamp(8px, calc(18 / var(--inner) * 100vw), 18px) 18px; border-bottom: 1px solid #ddd; border-right: 1px solid #ddd; font-size: var(--font-size-18); line-height: 1.5em;}
.table-wrap th {background: #FAFAFA; font-weight: 400; color: var(--dark-color);}
.table-wrap th:last-child, .table-wrap td:last-child {border-right: 0;}
.table-wrap.type2 th {text-align: left; font-weight: 600;}
.table-wrap.type2 td p {padding: var(--space-20) 0;}
.dot-list{display: flex; flex-direction: column; gap: clamp(5px, calc(10 / var(--inner) * 100vw), 10px);}
.dot-list li {text-indent: -1em; padding-left: 1em;}
.dot-list li:before {content: '•'; margin-right: 10px; font-weight: 900; color: #BABABA;}

.sec-about-banner {padding: var(--space-150) 0; background: url('/images/sub/bg-about-banner.jpg') no-repeat center center / cover; color: #fff; font-size: var(--font-size-24); line-height: 1.5em; font-weight: 700; text-align: center;}
.sec-history-banner {margin-bottom: var(--space-100); padding: var(--space-150) 0; background: url('/images/sub/bg-history-banner.jpg') no-repeat center center / cover; color: #fff; font-size: var(--font-size-28); line-height: 1.42857em; text-align: center;}
.sec-history-list {padding-bottom: var(--space-100);}
.sec-history-list .hist-wrap {display: flex; flex-direction: column; gap: var(--space-100);}
.sec-history-list .hist-era {display: grid; grid-template-columns: minmax(0, 220px) minmax(0, 1fr); gap: clamp(40px, calc(100 / var(--inner) * 100vw), 100px); align-items: start;}
.sec-history-list .hist-era .head {line-height: 1.25;}
.sec-history-list .hist-era .year {margin: 0 0 var(--space-15) 0; font-size: clamp(40px, calc(64 / var(--inner) * 100vw), 64px); font-weight: 700; line-height: 1.125; letter-spacing: -0.05em; color: var(--primary-color);}
.sec-history-list .hist-era .desc {margin: 0; font-size: var(--font-size-16); line-height: 1.25; letter-spacing: -0.05em; color: #454545;}
.sec-history-list .hist-era .body {min-width: 0;}
.sec-history-list .rail-top {display: flex; align-items: center; margin: var(--space-15) 0;}
.sec-history-list .node {position: relative; flex-shrink: 0; width: 16px; height: 16px; border-radius: 50%; background: rgba(215,44,43,.1); box-sizing: border-box;}
.sec-history-list .node:before {content: ''; position: absolute; top: 4px; right: 4px; bottom: 4px; left: 4px; border-radius: 50%; border: 2px solid var(--primary-color);}
.sec-history-list .hline {flex: 1; min-width: 0; height: 1px; margin-left: 0; border-top: 1px dashed #e0e0e0;}
.sec-history-list .list {display: flex; flex-direction: column; gap: var(--space-20); margin-left: var(--space-30); padding: 0; list-style: none;}
.sec-history-list .list li {display: flex; flex-wrap: wrap; align-items: flex-start; gap: 10px;}
.sec-history-list .date {display: flex; flex-shrink: 0; align-items: center; gap: 6px; width: 77px; font-size: var(--font-size-18); font-weight: 600; line-height: 1.3333; color: var(--dark-color);}
.sec-history-list .dot {flex-shrink: 0; width: 4px; height: 4px; border-radius: 50%; background: var(--dark-color);}
.sec-history-list .txt {flex: 1; min-width: 0; margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 0;}
.sec-history-list .txt li {font-size: var(--font-size-18); line-height: 1.3333; color: #454545;}
.sec-history-list .hist-note {margin: var(--space-100) 0 0 0; font-size: var(--font-size-28); font-weight: 600; line-height: normal; letter-spacing: -0.03em; text-align: center; color: #e0e0e0;}

.page-performance {display: flex; flex-direction: column; gap: var(--space-120);}
.page-performance h3 {margin-bottom: 25px; font-size: var(--font-size-32); line-height: 1.5em; color: var(--dark-color); font-weight: 600; text-align: center;}
.performance-list ul {display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--space-20);}
.performance-list .img {position: relative; border-radius: 8px; overflow: hidden;}
.performance-list .img:after {content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; border-radius: 8px; border: 1px solid #ddd;}
.page-performance .table-wrap {margin-bottom: var(--space-50);}

.root_daum_roughmap .wrap_map, .root_daum_roughmap, .direction-map  {width:100% !important; height: clamp(270px, calc(500 / var(--inner) * 100vw), 500px) !important;}
.direction-map iframe {width: 100% !important; height: 100% !important;}
.directions {margin-top:40px;}
.directions .address-info {margin-bottom:30px;}
.directions .address-info .comp {color:var(--primary-color); font-weight:600; margin-bottom:2px;}
.directions .address-info .addr {color:#242424; font-size:23px; font-weight:600; line-height:1.33em; letter-spacing:-.03em; margin-bottom:5px;}
.directions .address-info .etc {color:#454545;}
.directions .address-info .etc span {display:inline-block; margin-right:16px;}
.directions .address-info .etc span:last-child {margin-right:0;}
.directions .contact-info {border-top:1px solid #ddd; line-height:1.5em;}
.directions .contact-info dl {display:flex; padding:18px 0; border-bottom:1px solid #ddd;}
.directions .contact-info dt {width:180px; padding-left:30px; color:#242424; font-size:1.125em; font-weight:500;}
.directions .contact-info dt svg {vertical-align:middle; margin:-.2em 15px 0 0;}
.directions .contact-info dt path {fill:var(--primary-color);}
.directions .contact-info dd {flex:1 1 auto; min-width:0; width:1%; color:#454545;}

@media (max-width: 1024px) {
	.directions .address-info .addr {font-size:20px;}
	.directions .contact-info dl {padding:20px 0;}
	.directions .contact-info dt {padding-left:20px; width:140px;}
}

@media (max-width: 640px) {
	.directions {margin-top:30px;}
	.directions .address-info .addr {font-size:18px;}
	.directions .address-info {margin-bottom:20px;}
	.directions .contact-info dl {padding:16px 0;}
	.directions .contact-info dt {padding-left:5px; width:110px;}
	.directions .contact-info dt svg {margin-right:10px;}
}

.biz-product {display: flex; flex-direction: column; gap: var(--space-120);}
.biz-product img.fr-fic {max-width: 100%;}

.biz-product .biz-sec .head {display: flex; align-items: flex-start; gap: 10px; margin-bottom: var(--space-30);}
.biz-product .biz-sec .mark {flex-shrink: 0; width: 7px; height: 7px; margin-top: 0.55em; border-radius: 50%; background: var(--primary-color);}
.biz-product .biz-sec .head .tit {margin: 0; font-size: var(--font-size-32); font-weight: 700; line-height: 1.5; color: var(--dark-color);}
.biz-product .biz-sec:first-child .cont {position: relative; padding: 0 clamp(60px, calc(100 / var(--inner) * 100vw), 100px); margin: 0 calc(clamp(60px, calc(100 / var(--inner) * 100vw), 100px) * -1);}
.biz-product .biz-sec .slick-arrow {position: absolute; top: 50%; left: 0; transform: translate(-50%, -50%); width: clamp(44px, calc( 60 / var(--inner) * 100vw ), 60px); height: clamp(44px, calc( 60 / var(--inner) * 100vw ), 60px);}
.biz-product .biz-sec .slick-arrow.slick-next {left: auto; right: 0; transform: translate(50%, -50%);}
.biz-product .biz-gallery {position: unset; border: 1px solid #ddd; border-radius: var(--radius-16); overflow: hidden;}
.biz-product .biz-gallery {padding: var(--space-120) var(--space-30); text-align: center;}
.biz-product .biz-gallery .box img {display: block; margin: 0 auto;}
.biz-product .biz-gallery .slick-dots {position: absolute; left: 50%; bottom: var(--space-40); transform: translateX(-50%); display: flex; justify-content: center; gap: 10px;}
.biz-product .biz-gallery .slick-dots button {display: block; width: 9px; height: 9px; background: #ccc; border: 0; border-radius: 100%; overflow: hidden; text-indent: -9999px;}
.biz-product .biz-gallery .slick-dots .slick-active button {background: var(--primary-color);}

.biz-product .biz-split {display: flex; flex-wrap: wrap; align-items: stretch; gap: var(--space-50);}
.biz-product .biz-split .thumb {display: flex; align-items: center; justify-content: center; max-width: 490px; width: 41%; padding: 20px; border: 1px solid #ddd; border-radius: var(--radius-16); background: #fff; overflow: hidden;}
.biz-product .biz-split .thumb img {width: 100%; max-width: 353px; height: auto; object-fit: contain;}
.biz-product .biz-grid {display: flex; flex-wrap: wrap; border: 1px solid #ddd; border-radius: var(--radius-16); overflow: hidden; background: #fff;}
.biz-product .biz-grid .item {flex: 1 1 25%; min-width: 200px; box-sizing: border-box; padding: var(--space-30); border-right: 1px solid #ddd; font-size: var(--font-size-18); line-height: 1.4444em;}
.biz-product .biz-grid .item:last-child {border-right: 0;}
.biz-product .biz-grid .icon {display: flex; align-items: center; justify-content: center; width: clamp(44px, calc(72 / var(--inner) * 100vw), 72px); height: clamp(44px, calc(72 / var(--inner) * 100vw), 72px); margin-bottom: var(--space-50); border-radius: 40px; background: #fdf3f3;}
.biz-product .biz-grid .icon img {width: 28px; height: auto; vertical-align: top;}
.biz-product .biz-grid .item .tit {margin-bottom:var(--space-20); font-size: var(--font-size-22); font-weight: 700; line-height: normal; letter-spacing: -0.03em; color: var(--dark-color);}
.biz-product .biz-grid.cols3 .item {flex: 1 1 33.333%; min-width: 220px; max-width: none;}
.biz-product .biz-grid .item .desc {margin: 0; font-size: var(--font-size-18); line-height: 1.4444em; color: #454545;}
.biz-product .biz-panel {border: 1px solid #ddd; border-radius: var(--radius-16); padding: var(--space-30); background: #fff;}
.biz-product .biz-panel .row {display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-60);}
.biz-product .biz-panel .icon {display: flex; flex-shrink: 0; align-items: center; justify-content: center; width: clamp(44px, calc(72 / var(--inner) * 100vw), 72px); height: clamp(44px, calc(72 / var(--inner) * 100vw), 72px); border-radius: 40px; background: #fdf3f3;}
.biz-product .biz-panel .icon img {width: 28px; height: auto; vertical-align: top;}
.biz-product .biz-panel .body {flex: 1; min-width: 0; max-width: 343px;}
.biz-product .biz-panel .tit {margin: 0 0 var(--space-15) 0; font-size: var(--font-size-22); font-weight: 700; line-height: normal; letter-spacing: -0.03em; color: var(--dark-color);}
.biz-product .biz-panel .txt {margin: 0; font-size: var(--font-size-18); line-height: 1.4444em; color: #454545;}

.cert-list ul {display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-60) var(--space-40); margin: 0; padding: 0; list-style: none;}
.cert-list .cert-item {display: flex; flex-direction: column; align-items: center; gap: var(--space-20);}
.cert-list .img {width: 100%; max-width: 270px; margin: 0; border: 1px solid #ddd; box-sizing: border-box; overflow: hidden;}
.cert-list .img img {display: block; width: 100%; aspect-ratio: 270 / 360; object-fit: cover; vertical-align: top;}
.cert-list .tit {margin: 0; font-size: var(--font-size-18); line-height: normal; letter-spacing: -0.03em; text-align: center; color: #454545;}

.promotion-video {margin-bottom: var(--space-80);}
.promotion-video ul {display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-60) var(--space-40)}
.promotion-video .video-item {display: flex; flex-direction:column; gap: 20px; padding: var(--space-40); border-radius: var(--radius-16); background: #F9F9F9;}
.promotion-video .txt {flex:1;}
.promotion-video h3 {margin-bottom: 10px; font-size: var(--font-size-26); color: var(--dark-color); line-height: 1.2em; font-weight: 600; overflow: hidden; white-space: normal; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; word-break: keep-all;}
.promotion-video p {font-size: var(--font-size-18); line-height: 1.4444em; overflow: hidden; white-space: normal; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; word-break: keep-all;}
.promotion-video .thumb {position: relative; width: 100%; padding-bottom: 56%; border-radius: var(--radius-16); overflow: hidden;}
.promotion-video .thumb:after {content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 68px; height: 48px; background: url('/images/sub/icon-youtube-play.svg') no-repeat center center / contain; vertical-align: top;}
.promotion-video .thumb img {position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; vertical-align: top;}

.promotion-youtube-banner {padding: var(--space-60) 0; margin-top: var(--space-120); border: 1px solid #ddd;background: #f9f9f9; border-radius: var(--radius-16); text-align: center; font-size: var(--font-size-18); line-height: 1.4444em;}
.promotion-youtube-banner a {color: var(--primary-color); font-weight: 600; text-decoration: underline; text-underline-offset: 3px;}

/* 파트너 네트워크 */
.page-about-partners {max-width: 609px; margin: 0 auto;}
.partner-map {position: relative; width: 100%; border-radius: var(--radius-80) 0 0 0; overflow: visible;}
.partner-map__inner {z-index: 1; position: relative; width: 100%; aspect-ratio: 609 / 1088;}
.partner-map__layers {position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none;}
.partner-map__layer {position: absolute; display: block; max-width: none; object-fit: fill;}
.map-pin {position: absolute; z-index: 2; display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 0; border: 0; background: transparent; cursor: pointer; transform: translate(-50%, -50%);}
.map-pin__icon {display: block; width: 24px; height: 35px; background: url('/images/sub/pin-default.svg') no-repeat center / contain; transition: background-image .2s ease;}
.map-pin:hover .map-pin__icon, .map-pin:focus-visible .map-pin__icon, .map-pin.is-active .map-pin__icon {background-image: url('/images/sub/pin-active.svg');}
.map-pin__label {font-size: var(--font-size-18); font-weight: 600; line-height: 1; color: #222; white-space: nowrap; pointer-events: none;}
.page-about-partners--world {max-width: 1200px;}
.partner-map--world .partner-map__inner {aspect-ratio: 1200 / 592;}
.partner-map__base {position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: contain; pointer-events: none;}
@media (max-width: 640px) {
	.page-about-partners {max-width: 100%;}
	.map-pin {gap: 5px;}
    .map-pin__label {font-size: 12px; line-height: 1em;}
    .map-pin__icon {width: 15px; height: 21px;}
    .partner-map--world .map-pin {flex-direction: row; transform: translate(-18%, -73%);}
}