section {position: relative;}

.kv {position: sticky; top: 0; left: 0; width: 100%; height: 100vh; z-index: 0;}
.kv .main-kv__bg { position: absolute; inset: 0; overflow: hidden; background: #000; }
.kv .main-kv__bg .main-kv__video { width: 100%; height: 100%; object-fit: cover; }
.kv .main-kv__bg::after { content: ""; position: absolute; inset: 0; background: rgba(0, 0, 0, 0.15); z-index: 5;}
.kv .inner {margin:0 auto; padding: 0; width:calc(100% - 30rem); max-width:1860rem; height: 100%; position: relative; left: 0; top: 0; color: var(--color-white);}
.kv .inner .tit-wrap {position: absolute; left: 0; right: 0; bottom: 40rem; z-index: 1; display: flex; align-items: flex-end; justify-content: space-between; gap: 40rem;}
.kv .inner .tit-wrap .txt-area { display: flex; flex-direction: column; gap: 20rem; align-items: flex-start; }
.kv .inner .tit-wrap .txt-area p { padding: 0 8rem; max-width: 1200rem; }
.kv .inner .tit-wrap .slide-btn { display: flex; align-items: center; gap: 4rem; flex-shrink: 0; }

/* 섹션 02 */
.solution { position: relative; z-index: 1; width: 100%; min-height: 100vh; padding-top: 200rem; padding-bottom: max(200rem, calc(50vh - 300rem)); background: #04060e; color: var(--color-white); overflow: hidden; }
.solution__head { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: center; gap: 40rem; text-align: center; color: var(--color-white); }
.solution__desc { color: var(--color-white); }
.solution__list { position: relative; z-index: 2; margin: 0 auto; padding-top: 160rem; width: calc(100% - 40rem); max-width: 1760rem; display: flex; flex-direction: column; gap: 120rem; }
.solution__row { display: flex; align-items: center; justify-content: flex-start; gap: 120rem; margin: 0; }
.solution__row--center { justify-content: center; }
.solution__card { position: relative; flex-shrink: 0; width: 980rem; height: 600rem; margin: 0; border-radius: 20rem; overflow: hidden; }
.solution__card-img { position: absolute; left: 0; bottom: 0; width: 100%; object-fit: cover; }
.solution__card-img::after { content: ""; position: absolute; inset: 0; background: rgba(0, 0, 0, 0.2); }
.solution__card-caption { position: absolute; left: 0; bottom: 0; width: 100%; height: 600rem; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 40rem; margin: 0; text-align: center; }
.solution__card-caption::before { content: ""; position: absolute; inset: 0; background: rgba(0, 0, 0, 0.2); pointer-events: none; }
.solution__card-caption > * { position: relative; z-index: 1; }
.solution__tags { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 4rem; list-style: none; padding: 0; margin: 0; }
.solution__tag { display: inline-flex; align-items: center; justify-content: center; padding: 12rem 24rem; color: var(--color-white); border: 1rem solid rgba(255, 255, 255, 0.5); border-radius: 4rem; }
.solution__row-text { color: var(--color-white); margin: 0; }
.solution__card-text {color: var(--color-white); margin: 0; }
.solution__stack { position: relative; width: 100%; height: 600rem; }
.solution__stack .solution__row { position: absolute; inset: 0; width: 100%; }
.solution__stack .solution__row .solution__card { align-self: flex-end; }
.solution__stack .solution__row:nth-child(1) { z-index: 1; }
.solution__stack .solution__row:nth-child(2) { z-index: 2; }
.solution__stack .solution__row:nth-child(3) { z-index: 3; }
.solution__stack .solution__row:nth-child(4) { z-index: 4; justify-content: flex-start; }
.solution__stack .solution__row:nth-child(2) .solution__card,
.solution__stack .solution__row:nth-child(3) .solution__card,
.solution__stack .solution__row:nth-child(4) .solution__card { height: 0; }
.solution__stack .solution__row:nth-child(2) .solution__row-text,
.solution__stack .solution__row:nth-child(3) .solution__row-text { opacity: 0; }
.solution__card-caption--center { inset: 0; height: 100%; }
.solution__card--full { transform-origin: center center; will-change: width, height, border-radius; }
.solution__card--full .solution__card-img { height: 100%; }
.solution__card--full .solution__card-text { position: relative; z-index: 2; opacity: 0; }
.solution__card-circle { position: absolute; left: calc(50% - 100rem); top: calc(50% - 100rem); width: 200rem; height: 200rem; border-radius: 50%; background: var(--primary-gb-blue); z-index: 10; transform: scale(0); transform-origin: center center; pointer-events: none; will-change: transform; }

/* 섹션 03 */
.product { position: relative; width: 100%; padding: 200rem 0 320rem; background: var(--primary-gb-blue); color: var(--color-white); overflow: clip; }
.solution__product.product { position: absolute; left: 0; top: 0; width: 100%; z-index: 20; transform: translateY(100vh); will-change: transform; }
.product__lines { width: 100%; height: 100%; position: absolute; left: 0; top: 0; background-image: url("../../images/main-product-line-bg.png"); background-position: center; background-size: cover; background-repeat: no-repeat; }
.product__inner { position: relative; z-index: 2; width: 1840rem; max-width: calc(100% - 40rem); margin: 0 auto; display: grid; grid-template-columns: 1fr 904rem; gap: 56rem; align-items: stretch; }
.product__vertical { position: absolute; left: 120rem; top: 50%; transform: translateY(var(--vertical-slide, 0px)) translate(-50%, -50%) rotate(90deg); transform-origin: center; font-family: var(--font-family-eng); font-size: 240rem; font-weight: var(--fw-bold); line-height: 1; color: var(--color-black); opacity: 0.1; white-space: nowrap; text-transform: capitalize; pointer-events: none; }
.product__head { position: sticky; top: 0; align-self: start; display: flex; flex-direction: column; gap: 40rem; color: var(--color-white); padding-left: 120rem; }
.product__cta { display: inline-flex; align-items: center; justify-content: center; gap: 12rem; height: 60rem; min-width: 120rem; padding: 0 32rem; color: var(--color-white); background: transparent; border: 1rem solid var(--color-white); border-radius: 2rem; align-self: flex-start; margin-top: 10rem; transition: background var(--transition-base), color var(--transition-base); }
.product__cta-icon { width: 16rem; height: 16rem; }
.product__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 32rem; }
.product__card { position: relative; list-style: none; }
.product__card-link { position: relative; display: block; width: 100%; height: 560rem; background: var(--primary-gb-blue); border: 1rem solid rgba(255, 255, 255, 0.15); overflow: hidden; color: var(--color-white); text-decoration: none; isolation: isolate; }
.product__card-link:hover, .product__card-link:focus-visible { outline: none; border-color: rgba(255, 255, 255, 0.4); }
.product__card-title { position: absolute; left: 48rem; top: 48rem; display: flex; flex-direction: column; gap: 12rem; z-index: 3; }
.product__card-label { color: var(--text-point-sub); text-transform: uppercase; }
.product__card-sub { position: absolute; left: 0; right: 0; bottom: 50rem; z-index: 3; color: var(--color-gb-blue-25); opacity: 0; overflow: hidden; pointer-events: none; transform: translateY(20rem); transition: opacity var(--transition-base), transform var(--transition-base); }
.product__card-sub-track { display: flex; width: max-content; white-space: nowrap; will-change: transform; }
.product__card-sub-text { display: inline-block; flex-shrink: 0; padding-right: 60rem; }
.product__card-img { position: absolute; left: 50%; bottom: 20rem; transform: translateX(-50%) translateY(60rem); width: 100%; height: 394rem; z-index: 1; opacity: 0.6; transition: opacity 0.5s ease-out, transform 0.7s cubic-bezier(0.22, 1, 0.36, 1); }
.product__card-img img { width: 100%; }
.product__card:nth-child(1) .product__card-img { bottom: -40rem; }
.product__card:nth-child(2) .product__card-img { width: 400rem; bottom: -48rem; }
.product__card:nth-child(3) .product__card-img { width: 400rem; bottom: -38rem; } 
.product__card:nth-child(4) .product__card-img { bottom: -12rem; }
.product__card:nth-child(5) .product__card-img { width: 400rem; bottom: -138rem; }
.product__card-more { position: absolute; left: 20rem; right: 20rem; bottom: 20rem; z-index: 3; display: inline-flex; align-items: center; justify-content: center; gap: 8rem; height: 60rem; padding: 0 32rem; color: var(--color-white); background: rgba(5, 77, 162, 0.8); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); border: 1rem solid var(--color-white); border-radius: 2rem; opacity: 0; transform: translateY(12rem); pointer-events: none; transition: opacity var(--transition-base), transform var(--transition-base); }
.product__card-more:hover { background: none; }
.product__card-more svg { width: 16rem; height: 16rem; }
.product__card-link:hover .product__card-img, .product__card-link:focus-visible .product__card-img { opacity: 1; transform: translateX(-50%) translateY(-16%); }
.product__card:nth-child(4) .product__card-link:hover .product__card-img, .product__card-link:focus-visible .product__card-img { transform: translateX(-50%) translateY(-10%); }
.product__card:nth-child(5) .product__card-link:hover .product__card-img, .product__card-link:focus-visible .product__card-img { transform: translateX(-50%) translateY(-26%); }
.product__card-link:hover .product__card-sub, .product__card-link:focus-visible .product__card-sub { opacity: 0.5; transform: translateY(0); }
.product__card-link:hover .product__card-sub-track, .product__card-link:focus-visible .product__card-sub-track { animation: product-card-sub-marquee 12s linear infinite; }
@keyframes product-card-sub-marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
.product__card-link:hover .product__card-more, .product__card-link:focus-visible .product__card-more { opacity: 1; transform: translateY(0); }
.product__card-link--more { display: flex; align-items: center; justify-content: center; background: var(--primary-gb-blue); border-color: rgba(255, 255, 255, 0.2); }
.product__more-line { position: absolute; left: 0; top: 0; width: 200%; height: 1rem; background: rgba(255, 255, 255, 0.18); transform-origin: left center; transform: rotate(52deg); }
.product__more-text { position: relative; z-index: 2; display: inline-flex; align-items: center; gap: 4rem; font-size: 16rem; font-weight: var(--fw-semibold); color: var(--color-white); }
.product__more-text svg { width: 16rem; height: 16rem; }

/* 섹션 04 */
main .w-cont-area { background: var(--bg-white); }
.w-cont-area .inner { width:calc(100% - 40rem); max-width:1424rem; margin: 0 auto; padding: 0; }
.global .inner { padding: 160rem 0 120rem; }
.global .inner .typo-area { display: flex; flex-direction: column; align-items: center; gap: 40rem; }
.global .inner .typo-area .txt { color: var(--text-point-secondary); text-transform: uppercase; text-align: center; }
.global__typo { display: flex; flex-direction: column; align-items: center; gap: 0; color: var(--text-point-secondary); text-transform: uppercase; text-align: center; }
.global__typo-line { position: relative; display: flex; align-items: center; justify-content: center; gap: 0.14em; margin: 0; padding: 0; font-family: "Pretendard", sans-serif; font-size: 140rem; font-weight: var(--fw-bold); line-height: 1; white-space: nowrap; word-break: normal; overflow-wrap: normal; overflow: visible; }
.global__typo-line + .global__typo-line { margin-top: -6rem; }
.global__typo .global__typo-line:nth-child(3) { gap: 0; }
.global__typo .global__typo-line:nth-child(3)>.global__typo-text { margin-right: 30rem; }
.global__typo-globe-slot-wrap { display: flex; align-items: center; }
.global__typo-text { display: inline-block; white-space: nowrap; word-break: normal; overflow-wrap: normal; will-change: transform, opacity; }
.global__typo-chip { position: absolute; left: 385rem; top: -42rem; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 195rem; height: 182rem; margin-top: -0.18em; transform-origin: center; will-change: transform, opacity; }
.global__typo-chip img { width: 100%; height: 100%; object-fit: contain; }
.global__typo-globe-slot { position: relative; top: 16rem; left: 5rem; display: inline-flex; align-items: center; justify-content: center; width: 100rem; height: 98rem; vertical-align: middle; }
.global__typo-globe-slot img { width: 150%; height: 150%; object-fit: contain; }
.global__typo-globe { position: absolute; left: 50%; top: 50%; width: 100%; height: 100%; transform: translate(-50%, -50%); transform-origin: center; will-change: transform, opacity; }
.global__typo-globe img { width: 100%; height: 100%; object-fit: contain; }
.global__contents { margin-top: 120rem; display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 28rem; align-items: stretch; }
.global__list { display: flex; flex-direction: column; gap: 12rem; list-style: none; padding: 0; margin: 0; }
.global__stock { background: var(--bg-secondary-light-3); border: 1rem solid var(--line-blue); border-radius: 8rem; padding: 40rem; display: flex; flex-direction: column; gap: 40rem; }
.global__stock-info { display: flex; flex-direction: column; gap: 8rem; }
.global__stock-meta { display: flex; align-items: center; gap: 20rem; }
.global__stock-change { display: inline-flex; align-items: center; gap: 3rem; color: var(--text-danger); }
.global__stock-change svg { width: 16rem; height: 16rem; }
.global__stock-change em { font-style: normal; }
.global__stock-change em:last-child { margin-left: 7rem; }
.global__stock-change--down { color: var(--text-information); }
.global__stock-change--down svg { transform: rotate(180deg); }
.global__stock-name { color: var(--text-high); }
.global__invest { flex: 1; background: var(--bg-secondary-light-3); border: 1rem solid var(--line-blue); border-radius: 8rem; padding: 40rem; display: flex; flex-direction: column; justify-content: space-between; gap: 24rem; min-height: 354rem; }
.global__invest-label { color: var(--text-highest); text-transform: uppercase; }
.global__invest-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 16rem; }
.global__invest-list a { display: flex; align-items: center; justify-content: space-between; width: 100%; color: var(--text-highest); text-decoration: none; transition: color var(--transition-base); }
.global__invest-list img { width: 20rem; height: 20rem; transition: transform var(--transition-base); }
.global__invest-list a:hover img, .global__invest-list a:focus-visible img { transform: translateX(4rem); }
.global__vod { position: relative; height: 100%; min-height: 609rem; border-radius: 8rem; overflow: hidden; background: #1a1a1a; }
.global__vod img { width: 100%; height: 100%; object-fit: cover; }
.global__vod-title { position: absolute; left: 48rem; bottom: 48rem; color: var(--color-white); }
.global__menu { flex: 1; background: var(--bg-secondary-light-3); border: 1rem solid var(--line-blue); border-radius: 8rem; overflow: hidden; transition: border-color var(--transition-base); }
.global__menu a { position: relative; display: flex; flex-direction: column; gap: 32rem; padding: 40rem; width: 100%; height: 100%; color: var(--text-highest); text-decoration: none; }
.global__menu-desc { color: var(--text-medium); }
.global__menu-arrow { position: absolute; right: 40rem; top: 50%; transform: translateY(-50%); width: 20rem; height: 20rem; transition: transform var(--transition-base); }
.global__menu:hover, .global__menu:focus-within { border-color: var(--line-gb-blue); }

.global__list.scroll-motion { transition-delay: 0s; }
.global__vod { transition-delay: 0.3s; }

/* 섹션 05 */
.esg .inner { padding-bottom: 120rem; display: flex; flex-direction: column; gap: 40rem; }
.esg__head { display: flex; flex-direction: column; gap: 40rem; }
.esg__cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28rem; list-style: none; padding: 70rem 0; margin: 0; }
.esg__card { position: relative; height: 540rem; }
.esg__card-link { position: absolute; top: 0; left: 0; display: block; width: 100%; height: 500rem; overflow: visible; text-decoration: none; transition: height 0.7s cubic-bezier(0.22, 1, 0.36, 1); }
.esg__card-bg { position: absolute; inset: 0; height: 460rem; overflow: hidden; border-radius: 12rem; z-index: 1; transition: top 0.7s cubic-bezier(0.22, 1, 0.36, 1), height 0.7s cubic-bezier(0.22, 1, 0.36, 1), transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);}
.esg__card-bg img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.8s cubic-bezier(0.22, 1, 0.36, 1); }
.esg__card-panel { position: absolute; inset: auto 0 0; height: 220rem; z-index: 2; display: flex; flex-direction: column; justify-content: space-between; gap: 24rem; padding: 48rem; background: var(--color-white); border: 1rem solid var(--line-low); border-radius: 12rem; transition:
    transform 0.7s cubic-bezier(0.22, 1, 0.36, 1), height 0.7s cubic-bezier(0.22, 1, 0.36, 1), gap 0.7s cubic-bezier(0.22, 1, 0.36, 1) }
.esg__card-desc { color: var(--text-medium); }
.esg__card-arrow { display: inline-flex; opacity: 0; }
.esg__card-arrow img { width: 24rem; height: 24rem; }
/* 호버/포커스 — 텍스트 카드가 이미지를 덮는 상태 */
.esg__card:hover .esg__card-bg,
.esg__card.is-active .esg__card-bg { top: 0; height: 460rem; }
.esg__card:hover .esg__card-link,
.esg__card:focus-visible .esg__card-link,
.esg__card.is-active .esg__card-link { height: 540rem; }
.esg__card:hover .esg__card-panel,
.esg__card:focus-visible .esg__card-panel,
.esg__card.is-active .esg__card-panel { transform: translateY(0); height: 100%; gap: 0rem; }
.esg__card:hover .esg__card-panel .esg__card-arrow,
.esg__card:focus-visible .esg__card-panel .esg__card-arrow,
.esg__card.is-active .esg__card-panel .esg__card-arrow { opacity: 1; }
.esg__card:focus-visible { outline: 2rem solid var(--primary-gb-blue); outline-offset: 2rem; }

.esg__card.scroll-motion { transition-delay: 0s; }
.esg__card.scroll-motion:nth-child(2) { transition-delay: 0.2s; }
.esg__card.scroll-motion:nth-child(3) { transition-delay: 0.4s; }

/* 섹션 06 */
.news .inner { padding-bottom: 160rem; display: flex; flex-direction: column; gap: 80rem; }
.news__top { display: flex; justify-content: space-between; align-items: flex-start; gap: 80rem; }
.news__head { display: flex; flex-direction: column; gap: 40rem; flex-shrink: 0; }
.news__more { display: inline-flex; align-items: center; gap: 4rem; margin-top: 20rem; color: var(--text-highest); text-decoration: none; transition: color var(--transition-base); align-self: flex-start; }
.news__more img { width: 16rem; height: 16rem; transition: transform var(--transition-base); }
.news__notices { list-style: none; display: flex; flex-direction: column; gap: 20rem; padding: 32rem; margin: 70rem 0 0; flex: 1; max-width: 698rem; border: 1rem solid var(--line-medium); border-radius: var(--rd-200); }
.news__notice a { display: flex; align-items: center; justify-content: space-between; gap: 8rem; padding: 0; color: var(--text-highest); text-decoration: none; transition: color var(--transition-base), background var(--transition-base); }
.news__notice a:hover .news__notice-title, .news__notice a:focus-visible .news__notice-title { text-shadow: 0 0 0.5px currentColor, 0 0 0.5px currentColor; }
.news__notice-cat { color: var(--text-highest); flex-shrink: 0; width: 56rem; }
.news__notice-title { flex: 1; min-width: 0; color: inherit; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.news__notice-date { color: var(--text-low); flex-shrink: 0; margin-left: 12rem; }
.news__press { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28rem; list-style: none; padding: 0; margin: 0; }
.news__press-item a { display: flex; flex-direction: column; color: var(--text-highest); text-decoration: none; }
.news__press-img { width: 100%; height: 210rem; overflow: hidden; background: url("../../images/no-img.jpg") center / cover no-repeat; }
.news__press-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1); }
.news__press-info { display: flex; flex-direction: column; gap: 24rem; padding: 32rem 0; }
.news__press-title { color: inherit; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; transition: color var(--transition-base); word-break: normal; }
.news__press-meta { display: flex; align-items: center; gap: 20rem; }
.news__press-cat { color: var(--text-highest); }
.news__press-divider { display: inline-block; width: 1rem; height: 16rem; background: var(--line-low); }
.news__press-date { color: var(--text-lowest); }

.news__press-item.scroll-motion { transition-delay: 0s; }
.news__press-item.scroll-motion:nth-child(2) { transition-delay: 0.2s; }
.news__press-item.scroll-motion:nth-child(3) { transition-delay: 0.4s; }
.news__press-item.scroll-motion:nth-child(4) { transition-delay: 0.6s; }


/* 메인 팝업 */
.main-popup { position: fixed; inset: 0; z-index: var(--z-modal); display: flex; align-items: center; justify-content: center; }
.main-popup__dim { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.5); }
.main-popup__box { position: relative; display: flex; flex-direction: column; align-items: center; gap: 24rem; width: 720rem; max-width: calc(100vw - 32rem); }
.main-popup__container { position: relative; width: 100%; border-radius: 12rem; overflow: hidden; }
.main-popup__header { position: relative; display: flex; align-items: center; justify-content: flex-end; gap: 30rem; height: 70rem; padding: 0 30rem; background: var(--bg-primary-light-1); border-bottom: 1rem solid var(--line-low); }
.main-popup__check { display: inline-flex; align-items: center; gap: 12rem; cursor: pointer; }
.main-popup__check .check-icon { flex-shrink: 0; }
.main-popup__close { display: inline-flex; align-items: center; justify-content: center; width: 24rem; height: 24rem; background: none; border: 0; cursor: pointer; }
.main-popup__close svg { width: 24rem; height: 24rem; }
.main-popup__content { position: relative; width: 100%; height: 430rem; background: #003087; overflow: hidden; }
.main-popup__bg-text { position: absolute; right: 92rem; top: 0%; margin: 0; transform: translate(50%, -50%) rotate(-90deg); transform-origin: center; font-family: var(--font-family-eng); font-size: 100rem; font-weight: var(--fw-bold); line-height: 1; color: var(--color-white); opacity: 0.1; white-space: nowrap; text-transform: uppercase; pointer-events: none; }
.main-popup__slide { position: relative; box-sizing: border-box; padding: 80rem; color: var(--color-white); }
.main-popup__desc { margin-top: 25rem; color: var(--color-white); opacity: 0.9; }
.main-popup__cta { position: absolute; left: 80rem; bottom: 80rem; display: inline-flex; align-items: center; justify-content: center; gap: 12rem; height: 60rem; min-width: 120rem; padding: 0 32rem; color: var(--color-white); background: transparent; border: 1rem solid var(--color-white); border-radius: 2rem; transition: background var(--transition-base), color var(--transition-base); }
.main-popup__cta:hover, .main-popup__cta:focus-visible { background: var(--color-white); color: #003087; outline: none; }
.main-popup__cta:hover img, .main-popup__cta:focus-visible img { filter: brightness(0) saturate(100%) invert(11%) sepia(98%) saturate(2967%) hue-rotate(213deg) brightness(83%) contrast(101%); }
.main-popup__cta img { width: 16rem; height: 16rem; }
.main-popup__pagination { display: inline-flex; align-items: center; gap: 8rem; color: var(--color-white); font-size: 16rem; line-height: 1.2; font-weight: var(--fw-semibold); }
.main-popup__nav { display: inline-flex; align-items: center; justify-content: center; width: 20rem; height: 20rem; padding: 0; color: var(--color-white); background: none; border: 0; cursor: pointer; }
.main-popup__nav svg { width: 20rem; height: 20rem; }
.main-popup__nav:hover, .main-popup__nav:focus-visible { outline: none; opacity: 0.8; }
.main-popup__current, .main-popup__sep, .main-popup__total { display: inline-block; min-width: 12rem; text-align: center; }


@media (max-width: 1024px) {
  .kv .main-kv__bg .main-kv__video { object-fit: contain; }
  .kv .inner .tit-wrap { flex-direction: column; justify-content: flex-end; align-items: flex-start; gap: 32rem; }
  .kv .inner .tit-wrap h1 { font-size: 40rem; }
  
  .solution { padding-top: 160rem; padding-bottom: 0; }
  .solution__list { gap: 60rem; padding-bottom: 160rem; }
  .solution__row { flex-direction: column; align-items: stretch; gap: 164rem; }
  .solution__row--center { align-items: center; }
  .solution__card { width: 100%; max-width: 980rem; height: auto; aspect-ratio: 980 / 600; border-radius: 16rem; margin: 0 auto; overflow: unset; }
  .solution__card-img,
  .solution__card-caption { position: absolute; left: 0; bottom: 0; width: 100%; height: 100%; }
  .solution__card-img { border-radius: 8rem; }
  .solution__card-caption { position: relative; gap: 24rem; padding: 20rem; }
  .solution__tags { position: absolute; left: 0; bottom: -125rem; justify-content: flex-start; }
  .solution__card--full .solution__card-text { opacity: 1; }
  .solution__stack { height: auto; display: flex; flex-direction: column; gap: 120rem; }
  .solution__stack .solution__row { position: static; }
  .solution__stack .solution__row .solution__card { align-self: stretch; max-width: 980rem; margin: 0 auto; width: 100%; }
  .solution__stack .solution__row:nth-child(2) .solution__card,
  .solution__stack .solution__row:nth-child(3) .solution__card { height: auto; aspect-ratio: 980 / 600; }
  .solution__stack .solution__row:nth-child(2) .solution__row-text,
  .solution__stack .solution__row:nth-child(3) .solution__row-text { opacity: 1; }
  .solution__stack .solution__row:nth-child(4) .solution__card { height: auto; }

  .solution__product.product { position: unset; transform: unset; }
  .product { padding: 68rem 0 40rem; }
  .product__lines { top: -32rem; }
  .product__inner { grid-template-columns: 1fr; gap: 40rem; }
  .product__head { position: static; padding-top: 0; padding-left: 0; }
  .product__card-link { height: 450rem; }
  .product__card-sub { bottom: 65rem; }
  .product__vertical { font-size: 120rem; left: 60rem; top: 45%; }
  .product__grid { grid-template-columns: 1fr; }
  .product__card:nth-child(1) .product__card-img { bottom: -98rem; }
  .product__card:nth-child(2) .product__card-img { width: 100%; bottom: -84rem; }
  .product__card:nth-child(3) .product__card-img { width: 100%; bottom: -76rem; }
  .product__card:nth-child(4) .product__card-img { bottom: -75rem; }
  .product__card:nth-child(5) .product__card-img { width: 100%; bottom: -160rem; }
  .product__card-link:hover .product__card-img, .product__card-link:focus-visible .product__card-img { opacity: 1; transform: translateX(-50%) translateY(-10%); }
  .product__card:nth-child(4) .product__card-link:hover .product__card-img, .product__card-link:focus-visible .product__card-img { transform: translateX(-50%) translateY(-5%); }
  .product__card:nth-child(5) .product__card-link:hover .product__card-img, .product__card-link:focus-visible .product__card-img { transform: translateX(-50%) translateY(-15%); }

  .global .inner { padding-bottom: 40rem; }
  .global__typo-line { font-size: 60rem; flex-direction: column; }
  .global__typo-text { white-space: normal; overflow-wrap: anywhere; }
  .global__typo-chip { width: 77rem; height: 72rem; left: -5rem; top: 42rem; }
  .global__typo-globe-slot { width: 50rem; height: 49rem; top: 3rem; left: 2rem; }
  .global__typo .global__typo-line:nth-child(3) .global__typo-text:nth-child(1) { margin-right: 0; }
  .global__contents { margin-top: 60rem; grid-template-columns: 1fr; gap: 12rem; }
  .global__vod { display: none; }
  .global__stock-meta { flex-direction: column; align-items: flex-start; }
  .global__stock-price { font-size: 36rem; }

  .esg .inner { padding-top: 60rem; padding-bottom: 0; gap: 40rem; }
  .esg__head { gap: 24rem; }
  .esg__title { font-size: 28rem; }
  .esg__card { height: 510rem; }
  .esg__cards { grid-template-columns: 1fr; gap: 20rem; padding-top: 40rem; padding-bottom: 0; }
  .esg__card-link { transition: none; height: 460rem; }
  .esg__card-bg { transition: none; top: 0; height: 430rem; }
  .esg__card-bg img { transition: none; }
  .esg__card-panel { transform: translateY(20%); height: 250rem; gap: 24rem; justify-content: flex-start; transition: none; }
  .esg__card-desc { word-break: break-all; }
  .esg__card-arrow { opacity: 0;  display: none !important; }
  .esg__card:hover .esg__card-bg,
  .esg__card.is-active .esg__card-bg { top: 0; }
  .esg__card:hover .esg__card-link,
  .esg__card:focus-visible .esg__card-link,
  .esg__card.is-active .esg__card-link { height: 540rem; }
  .esg__card:hover .esg__card-panel,
  .esg__card:focus-visible .esg__card-panel,
  .esg__card.is-active .esg__card-panel { transform: translateY(-12%); height: 250rem; justify-content: flex-start; }

  .news .inner { padding-top: 100rem; gap: 80rem; }
  .news__top { flex-direction: column; gap: 40rem; }
  .news__head { width: 100%; }
  .news__more { margin-top: 0; }
  .news__title { font-size: 28rem; }
  .news__notices { max-width: 100%; width: 100%; margin-top: 0; padding: 24rem; gap: 16rem; }
  .news__notice a { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: 24rem 20rem; padding: 0; }
  .news__notice-title { order: 1; flex: 1 0 100%; white-space: normal; font-size: 18rem; }
  .news__notice-cat { order: 2; width: auto; }
  .news__notice-date { order: 3; display: inline-flex; align-items: center; color: var(--text-lowest); }
  .news__notice-date::before { content: ''; display: inline-block; width: 1rem; height: 16rem; margin-right: 20rem; background: var(--line-low); }
  .news__press { grid-template-columns: repeat(2, 1fr); }
  .news__press-title { font-size: 20rem; }

  .main-popup__box { width: 350rem; gap: 24rem; }
  .main-popup__header { padding: 0 20rem; gap: 20rem; }
  .main-popup__content { height: 390rem; }
  .main-popup__bg-text { display: none; }
  .main-popup__slide { padding: 40rem; }
  .main-popup__title { word-break: break-all; }
  .main-popup__desc { margin-top: 28rem; }
  .main-popup__cta { left: 40rem; bottom: 40rem; }
}

@media (max-width: 600px) {
   .kv .inner .tit-wrap h1 { font-size: 32rem; }
  .solution__head { margin:0 auto; width:calc(100% - 60rem); }
  .global .inner .typo-area .txt { width: 60%; }
  .news__press { grid-template-columns: 1fr; }
}