@charset "utf-8";
/* layout.css는 전체적인 레이아웃 스타일을 정의합니다. */ 

.only-desktop {display:block !important;}
.only-mobile {display:none !important;}

#skipToContent a {z-index:100000;position:absolute;top:0;left:0;width:1px;height:1px;font-size:0;line-height:0;overflow:hidden;}
#skipToContent a:focus, 
#skipToContent a:active {width:200px;height:50px;background:#21272e;color:#fff;font-size:14px;font-weight:bold;text-align:center;text-decoration:none;line-height:50px;outline-color:#f37736;}

.contain {width:100%; max-width:1460px; margin:0 auto; padding-left:var(--contain-padding); padding-right:var(--contain-padding);}

/* header */
#header {position:fixed; top:0; width:100%; z-index:110; background-color:#fff;}
#header:after {position:absolute; content:''; bottom:0; left:0; right:0; height:1px; background-color:#ddd;}
#header .contain {display:flex; align-items:center; max-width:100%; padding-left:var(--contain-paddingx3); padding-right:var(--contain-paddingx3);}

.sitelogo {height:clamp(17px, calc(28 / var(--inner) * 100vw), 28px); aspect-ratio:273/28;}
.sitelogo a {display:block; height:100%; width:100%; background:url('../images/common/logo.png') 0 50% / contain no-repeat;}

#gnb {position:relative; text-align:center; flex:1;}
#gnb > ul {display:flex; justify-content:center;}
#gnb > ul > li {position:relative; z-index:1;}
#gnb > ul > li > a {height:var(--header-height); padding:0 var(--gnb-gutter); font-size:var(--font-size-20); font-weight:600; letter-spacing:-.03em; color:var(--color-bk); display:flex; align-items:center; justify-content:center; position:relative; text-align:center; z-index:5;}

#gnb .submenu {position:absolute; left:0; width:100%; height:0; overflow:hidden; z-index:2;}
#gnb .submenu>ul {padding:var(--space-25) 0; display:grid; gap:0;}
#gnb .submenu>ul>li>a {display:block; font-size:var(--font-size-16); font-weight:400; line-height:40px; letter-spacing:-0.01em; color:#505050; text-align:center;}
#gnb > ul > li:hover .submenu {background-color:var(--color-primary);}
#gnb > ul > li:hover .submenu>ul>li>a {color:#fff;}
#gnb > ul > li:hover .submenu>ul>li.active>a,
#gnb > ul > li:hover .submenu>ul>li>a:hover {font-weight:700; text-decoration:underline; text-underline-offset:3px;}

.submenu-bg {display:none; position:absolute; width:100%; left:0; background:#fff; border-bottom-right-radius:clamp(80px, calc( 112 / var(--inner) * 100vw ), 112px); box-shadow:10px 10px 10px rgba(0, 0, 0, 0.10);}

/* for mobile */
.btn-m-menu {position:relative;width:30px;height:30px;text-align:center;text-indent:-9999em;z-index:50;display:block;background:url('../images/common/hamburger-btn.png') no-repeat center center;background-size:contain;}
.btn-m-menu span {position:absolute;right:0;top:50%;width:20px;height:3px;background:transparent;border-radius:2px;}
.btn-m-menu span:before,
.btn-m-menu span:after {content:" ";position:absolute;right:0;width:27px;height:3px;background:transparent;transition-duration:0.3s, 0.3s;transition-delay:0.3s, 0s;border-radius:2px;}
.btn-m-menu span:before {top:-9px;transition-property:top, transform;}
.btn-m-menu span:after {bottom:-9px;transition-property:bottom, transform;}

.mobile-navigation {position:fixed; top:0; left:0; right:0; bottom:0; width:100%; overflow:auto; transition:opacity .3s ease-in-out, visibility .3s ease-in-out; opacity:0; visibility:hidden; background:#fff; z-index:110;}
.mobile-navigation-inner {display:flex; align-items:center; gap:var(--space-90); height:100vh; position:relative; z-index:1;}
.mobile-navigation-title {display:flex; flex-direction:column; gap:4px; margin-bottom:var(--space-25);}
.mobile-navigation-title .t1 {font-size:var(--font-size-22); font-weight:400; line-height:30px; letter-spacing:-0.01em; color:var(--color-bk);}
.mobile-navigation-title .t2 {font-size:var(--font-size-32); line-height:42px; letter-spacing:-0.01em; color:var(--color-bk);}
.mobile-navigation-title .t2 .point {font-weight:700; color:var(--color-primary);}
.mobile-navigation-title .t2 span {font-weight:500;}
.mobile-navigation-visual img {display:block; width:100%; height:100%; object-fit:cover;}

.mobile-navigation .border-box {position:absolute; inset:0;}
.mobile-navigation .border-box.box1 {top:0; left:var(--space-60); right:var(--space-60); bottom:0; border-left:1px solid #ddd; border-right:1px solid #ddd;}
.mobile-navigation .border-box.box2 {top:var(--space-60); left:0; right:0; bottom:var(--space-60); border-top:1px solid #ddd; border-bottom:1px solid #ddd;}

.mobile-navigation .nav-menu {flex:1;}
.mobile-navigation .nav-menu>ul {flex-direction:column; display:flex; align-items:flex-start; gap:var(--space-50); width:100%; margin:0; padding:0; list-style:none;}
.mobile-navigation .nav-menu>ul>li {width:100%; flex-shrink:0; margin:0; display:flex; align-items:flex-start;}
.mobile-navigation .nav-menu>ul>li>a {width:137px; flex-shrink:0; font-size:var(--font-size-26); font-weight:600; line-height:36px; letter-spacing:-.03em; color:var(--color-bk); text-decoration:none;}
.mobile-navigation .submenu {flex:1; min-width:0; display:flex; flex-direction:column; gap:var(--space-10); padding-top:5px; margin-left:var(--space-60);}
.mobile-navigation .submenu ul {display:flex; flex-wrap:nowrap; align-items:center; gap:var(--space-30); margin:0; padding:0; list-style:none;}
.mobile-navigation .submenu ul li a {display:inline-block; font-size:var(--font-size-18); font-weight:400; line-height:26px; letter-spacing:-0.01em; color:#505050; white-space:nowrap; text-decoration:none;}
.mobile-navigation .submenu ul li a::before {content:"· ";}
.mobile-navigation .submenu ul li a.active {font-weight:600; color:var(--color-primary);}
.mobile-navigation .submenu ul li a:hover {color:var(--color-primary);}
.mobile-navigation .submenu::after {content:""; display:block; width:100%; height:1px; background:#ddd;}

html.menu-opened #header {background-color:#fff;}
html.menu-opened #header:after {display:none;}
html.menu-opened .mobile-navigation {opacity:1; visibility:visible;}
html.menu-opened .mobile-overlay {display:block;}
html.menu-opened .btn-m-menu.text-close {background-image:none; position:absolute; top:90px; right:90px;}
html.menu-opened .btn-m-menu span {background:none !important;}
html.menu-opened .btn-m-menu span:before,
html.menu-opened .btn-m-menu span:after {transition-delay:0s, 0.3s; background-color:#242424 !important;}
html.menu-opened .btn-m-menu span:before {top:0; transform:rotate(45deg);}
html.menu-opened .btn-m-menu span:after {bottom:0; transform:rotate(-45deg);}
html.menu-opened .sitelogo a {background-image:url(../images/common/logo.png) !important;}

/* main */
#fp-nav {font-size:0;}
#fp-nav.left {left:var(--contain-padding);}
#fp-nav ul li .fp-tooltip {font-size:0;}
#fp-nav ul li, .fp-slidesnav ul li {margin:var(--space-10) 0; width:16px; height:16px;}
#fp-nav ul li a span, .fp-slidesnav ul li a span {background-color:rgba(255,255,255,0.5); width:8px; height:8px; margin:-4px 0 0 -4px;}
#fp-nav ul li a.active span:before, .fp-slidesnav ul li a.active span:before,
#fp-nav ul li:hover a.active span:before, .fp-slidesnav ul li:hover a.active span:before {width:16px; height:16px; display:block !important;}
#fp-nav ul li a.active span, .fp-slidesnav ul li a.active span {background-color:#fff;}
#fp-nav.fp-nav--light ul li a span, #fp-nav.fp-nav--light .fp-slidesnav ul li a span {background-color:#878787;}
#fp-nav.fp-nav--light ul li a.active span, #fp-nav.fp-nav--light .fp-slidesnav ul li a.active span {background-color:var(--color-primary);}
#fp-nav.fp-nav--light ul li a.active span:before, #fp-nav.fp-nav--light .fp-slidesnav ul li a.active span:before,
#fp-nav.fp-nav--light ul li:hover a.active span:before, #fp-nav.fp-nav--light .fp-slidesnav ul li:hover a.active span:before {border-color:var(--color-primary);}
#fp-nav ul li:last-child, .fp-slidesnav ul li:last-child {display:none;}

.main-visual, .main-visual .item {height:100dvh; position:relative; overflow:hidden; background:#000;}
.main-visual .item img {position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:5s linear; transform:scale(1.15);}
.main-visual .item video {position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.main-visual .item iframe {position:absolute; top:50%; left:50%; width:100vw; height:100vh; -webkit-transform:translate(-50%,-50%); transform:translate(-50%,-50%);}
.main-visual .active .item img {transform:scale(1);}
.main-visual .caption {display:flex; align-items:flex-end; position:absolute; top:50%; left:50%; -webkit-transform:translate(-50%, -50%); transform:translate(-50%, -50%); padding:0 var(--contain-padding); width:100%; max-width:1460px; z-index:30;}
.main-visual .caption .txt {flex:1;}
.main-visual .caption p {transition:.8s; opacity:0; transform:translateX(20px); color:#fff;}
.main-visual .caption .t1 {margin-bottom:var(--space-15); font-family:"Play", sans-serif; font-size:var(--font-size-20); font-weight:700; line-height:1.3em; letter-spacing:-.03em;}
.main-visual .caption .t2 {font-size:var(--font-size-64); line-height:1.3em; font-weight:800; letter-spacing:-.03em;}
.main-visual .active .caption p {opacity:1; transform:translateX(0);}
.main-visual .active .caption .t1 {transition-delay:0.4s;}
.main-visual .active .caption .t2 {transition-delay:0.6s;}
.main-visual .active .caption .t3 {transition-delay:0.8s;}

.controls-wrap {position:absolute; top:65%; gap:var(--space-10); display:flex; left:50%; max-width:1460px; padding:0 var(--space-30); width:100%; transform:translateX(-50%);}
.controls-wrap button {width:48px; aspect-ratio:1/1; align-items:center; justify-content:center; display:flex; border:1px solid rgba(255,255,255,.6); border-radius:100%; background-color:unset;}
.controls-wrap button:hover {background-color:var(--color-primary); border-color:var(--color-primary)}

@media (min-aspect-ratio:16/9) {
	.main-visual .item iframe {height:56.25vw;}
}
@media (max-aspect-ratio:16/9) {
	.main-visual .item iframe {width:177.78vh;}
}

.sec-area {padding-top:var(--header-height);}

.m-sec {background-position:50% 50%; background-repeat:no-repeat; background-size:cover;}

.main-sec2 {background-image:url('../images/main/sec2bg.png');}
.main-sec4 {background-image:url('../images/main/sec4bg.png');}
.main-sec6 {background-image:url('../images/main/sec6bg.png');}
.main-sec7 {background-image:url('../images/main/sec7bg.png');}
.main-sec8 {background-image:url('../images/main/sec8bg.png');}

.main-sec2 .contain {position:relative; z-index:1;}
.why-area {display:flex; flex-direction:column; gap:var(--space-60);}
.why-head {display:flex; align-items:center; justify-content:space-between; gap:var(--space-40);}
.why-tit-group {display:flex; flex-direction:column; gap:var(--space-20); flex:1;}
.why-sub {font-size:var(--font-size-20); font-weight:600; line-height:1.6em; letter-spacing:0.3em; color:#fff; opacity:.9;}
.why-tit {font-size:var(--font-size-56); font-weight:700; line-height:1.2em; letter-spacing:-.03em; color:#fff;}
.why-more {position:relative; display:flex; align-items:center; flex-shrink:0; aspect-ratio:137/80; height:clamp(60px, calc( 80 / var(--inner) * 100vw ), 80px); color:#fff;}
.why-more-txt {font-size:var(--font-size-16); font-weight:500; line-height:1.0em; white-space:nowrap;}
.why-more-icon {position:absolute; top:0; right:0; aspect-ratio:77/80; height:clamp(60px, calc( 80 / var(--inner) * 100vw ), 80px);}
.why-more-icon img {display:block; width:100%; height:100%;}
.why-slide {display:flex; flex-direction:column; gap:var(--space-40); width:100%;}
.why-swiper {overflow:hidden; width:100%;}
.why-card-list {display:flex;}
.why-card {flex-shrink:0; width:320px; height:278px; background:#fff; border-radius:16px; box-shadow:6px 6px 30px rgba(0,0,0,0.2); overflow:hidden;}

.why-card-inner {display:flex; flex-direction:column; align-items:flex-end; gap:var(--space-25); padding:var(--space-40); height:100%; justify-content:space-between;}
.why-card-txt {display:flex; flex-direction:column; gap:var(--space-25); width:100%; text-align:left;}
.why-card-tit {font-size:var(--font-size-22); font-weight:700; line-height:1.4em; letter-spacing:-.03em; color:var(--color-bk);}
.why-card-desc {line-height:1.6em; letter-spacing:-.03em;}
.why-card-icon {flex-shrink:0; width:clamp(50px, calc( 64 / var(--inner) * 100vw ), 64px); aspect-ratio:1/1; overflow:hidden;}
.why-card-icon img {display:block; width:clamp(60px, calc( 70 / var(--inner) * 100vw ), 70px); aspect-ratio:1/1; margin:-3px 0 0 -3px; object-fit:cover;}
.why-nav {position:relative; height:clamp(44px, calc( 56 / var(--inner) * 100vw ), 56px);}
.why-arrow-group {display:flex; gap:var(--space-10); position:relative; z-index:1;}
.why-arrow {position:relative; width:clamp(44px, calc( 56 / var(--inner) * 100vw ), 56px); aspect-ratio:1/1;; padding:0; border:0; background:transparent; cursor:pointer;}
.why-arrow-circle {display:block; width:clamp(44px, calc( 56 / var(--inner) * 100vw ), 56px); aspect-ratio:1/1;}
.why-arrow-circle img {display:block; width:100%; height:100%;}
.why-arrow-icon {position:absolute; top:50%; left:50%; width:10px; height:16px; margin:-8px 0 0 -5px;}
.why-arrow-icon img {display:block; width:100%; height:100%;}
.why-arrow.next .why-arrow-icon {transform:rotate(180deg);}
.why-progress {left:clamp(120px, calc( 180 / var(--inner) * 100vw ), 180px); position:absolute; right:0; top:50%; transform:translateY(-50%); height:2px;}
.why-progress-track {display:block; width:100%; height:100%; background:#fff; opacity:0.3;}
.why-progress-bar {position:absolute; top:0; left:0; height:100%; background:#fff; transition:transform 0.3s ease, width 0.3s ease;}

.stat-area {display:flex; flex-direction:column; gap:var(--space-60);}
.stat-head {display:flex; flex-direction:column; gap:var(--space-20); text-align:center;}
.stat-sub {font-size:var(--font-size-20); font-weight:600; line-height:1.6em; letter-spacing:0.3em; color:var(--color-bk); opacity:.9;}
.stat-tit {font-size:var(--font-size-56); font-weight:700; line-height:1.2em; letter-spacing:-.03em; color:var(--color-bk);}
.stat-tit-point {color:var(--color-primary);}
.stat-list {grid-template-columns:repeat(4, 1fr); display:grid; gap:var(--space-30);}
.stat-card {flex:1; padding:var(--space-60) var(--space-40); border-radius:16px;}
.stat-card:nth-child(odd) {background:#f4f4f4;}
.stat-card:nth-child(even) {background:#f8f8f8;}
.stat-card-inner {display:flex; flex-direction:column; align-items:center; gap:var(--space-20); height:100%;}
.stat-card-icon img {height:clamp(60px, calc( 100 / var(--inner) * 100vw ), 100px);}
.stat-card-txt {display:flex; flex-direction:column; align-items:center; gap:var(--space-30); width:100%; text-align:center;}
.stat-card-num {font-size:var(--font-size-48); font-weight:600; line-height:1.2em; letter-spacing:-.03em; color:var(--color-bk);}
.stat-card-desc {font-size:var(--font-size-18); font-weight:600; line-height:1.6em; letter-spacing:-.03em;}

.partner-area {display:flex; flex-direction:column; align-items:center; gap:var(--space-60);}
.partner-head {display:flex; flex-direction:column; align-items:center; gap:var(--space-20); text-align:center;}
.partner-sub {font-size:var(--font-size-20); font-weight:600; line-height:1.6em; letter-spacing:0.3em; color:var(--color-bk); opacity:.9;}
.partner-tit {font-size:var(--font-size-56); font-weight:700; line-height:1.2em; letter-spacing:-.03em; color:var(--color-bk);}
.partner-tit-amp {color:var(--color-bk);}
.partner-logo {display:flex; flex-direction:column; gap:var(--space-15); width:100%; overflow:hidden;}
.partner-logo-marquee {overflow:hidden; width:100%;}
.partner-logo-track {display:flex; width:max-content; animation:partnerMarqueeLeft 150s linear infinite;}
.partner-logo-marquee-right .partner-logo-track {animation-name:partnerMarqueeRight;}
.partner-logo-row {display:flex; flex-shrink:0;}
@keyframes partnerMarqueeLeft {0% {transform:translateX(0);} 100% {transform:translateX(-50%);}}
@keyframes partnerMarqueeRight {0% {transform:translateX(-50%);} 100% {transform:translateX(0);}}
@media (prefers-reduced-motion:reduce) {.partner-logo-track {animation:none;}}

.partner-logo-item {padding:var(--space-15);}
.partner-logo-item img {box-shadow:0 0 12px rgba(0,0,0,0.1); height:clamp(100px, calc( 135 / var(--inner) * 100vw ), 135px);}

.sol-area {display:flex; flex-direction:column; gap:var(--space-60);}
.sol-head {display:flex; flex-direction:column; gap:var(--space-20); text-align:center;}
.sol-sub {font-size:var(--font-size-20); line-height:1.6em; letter-spacing:0.3em; color:var(--color-bk); opacity:.9;}
.sol-sub p:last-child {font-weight:600;}
.sol-tit {font-size:var(--font-size-56); font-weight:700; line-height:1.2em; letter-spacing:-.03em; color:var(--color-bk);}
.sol-list {grid-template-columns:repeat(2, 1fr); display:grid; gap:var(--space-40);}
.sol-card {border-radius:16px; overflow:hidden; background-position:50% 50%; background-repeat:no-repeat; background-size:cover;}
.sol-card:nth-child(1) {background-image:url('/images/main/sol-card-bg01.png');}
.sol-card:nth-child(2) {background-image:url('/images/main/sol-card-bg02.png');}
.sol-card-cont {position:relative; display:flex; flex-direction:column; gap:var(--space-80); padding:var(--space-50); width:100%; height:100%;}
.sol-badge {display:inline-flex; align-items:center; justify-content:center; align-self:flex-start; padding:var(--space-10) var(--space-20); font-weight:600; line-height:1.5em; letter-spacing:-.03em; color:#fff; background:var(--color-primary); border-radius:500px;}
.sol-card-txt {display:flex; flex-direction:column; gap:8px;}
.sol-card-tit {font-size:var(--font-size-36); font-weight:700; line-height:1.3em; letter-spacing:-.03em; color:var(--color-bk);}
.sol-card-desc {line-height:1.6em;}

.lineup-area {display:flex; flex-direction:column; gap:var(--space-60); align-items:center;}
.lineup-head {display:flex; flex-direction:column; gap:var(--space-20); width:100%; text-align:center;}
.lineup-sub {font-size:var(--font-size-20); font-weight:600; line-height:1.6em; letter-spacing:0.3em; color:var(--color-bk); opacity:.9;}
.lineup-tit {font-size:var(--font-size-56); font-weight:700; line-height:1.2em; letter-spacing:-.03em; color:var(--color-bk);}
.lineup-tab-list {width:100%; overflow:hidden;}
.lineup-tab-swiper {overflow:hidden; width:100%;}
.lineup-tab-swiper .swiper-slide {width:auto;}
.lineup-tab-swiper .swiper-wrapper {gap:var(--space-20); justify-content: center;}
.lineup-tab {display:inline-flex; align-items:center; justify-content:center; padding:var(--space-16) var(--space-30); border:1px solid #ddd; border-radius:24px; font-size:var(--font-size-18); font-weight:400; line-height:1.0em; letter-spacing:-.03em; color:#878787; background:#fff; text-decoration:none; cursor:pointer;}
.lineup-tab.active {border-color:var(--color-primary); background:var(--color-primary); font-weight:600; color:#fff;}
.lineup-slide {position:relative; width:100%; overflow:hidden;}

.lineup-arrow {top:50%; z-index:3; width:clamp(13px, calc( 23 / var(--inner) * 100vw ), 23px); aspect-ratio:23/40; position:absolute; transform:translateY(-50%); padding:0; border:0; background:transparent;}
.lineup-arrow-prev {left:39.5%;}
.lineup-arrow-next {right:39.5%;}
.lineup-tab-panels, .lineup-tab-panel, .lineup-list-swiper {overflow:hidden; width:100%;}
.lineup-list-swiper .swiper-wrapper {align-items:center;}
.lineup-list-swiper .swiper-slide {width:240px;}
.lineup-item-circle {position:relative; width:240px; aspect-ratio:1/1; border-radius:500px; overflow:hidden; background:#fff;}
.lineup-item-img {position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); height:100%; width:100%;}
.lineup-item-img img {position:absolute; left:50%; top:50%; transform:translate(-50%, -50%); width:100%; height:100%; max-width:100%; max-height:100%;}
.lineup-arrow-prev.swiper-button-disabled,
.lineup-arrow-next.swiper-button-disabled {opacity:0.35; cursor:default;}
.lineup-item-over {position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; font-size:var(--font-size-18); font-weight:500; line-height:1.4em; letter-spacing:-.03em; color:#fff; background:linear-gradient(180deg, rgba(47,93,204,0) 0, rgba(47,93,204,0.9) 50%); opacity:0; transition:opacity 0.3s ease;}
.lineup-item-circle:hover .lineup-item-over {opacity:1;}

.support-area {display:flex; align-items:center; width:100%;}
.support-head {flex:1; display:flex; flex-direction:column; gap:var(--space-20);}
.support-sub {font-size:var(--font-size-20); font-weight:600; line-height:1.6em; letter-spacing:.3em; color:var(--color-bk); opacity:.9;}
.support-tit {font-size:var(--font-size-56); font-weight:700; line-height:1.2em; letter-spacing:-.03em; color:var(--color-bk);}
.support-list {gap:0 var(--space-20); position:relative; flex-shrink:0; grid-template-columns:repeat(2, 1fr); display:grid;}
.support-card {position:relative; display:flex; flex-direction:column; justify-content:flex-end; width:100%; max-width:clamp(200px, calc( 300 / var(--inner) * 100vw ), 300px); aspect-ratio:300/280; box-shadow:6px 6px 15px rgba(0,0,0,0.2); padding:var(--space-20); border-radius:16px; overflow:hidden; text-decoration:none; color:#fff;}
.support-card:nth-child(1) {margin-top:var(--space-80);}
.support-card:nth-child(3) {margin-top:var(--space-40);}
.support-card:nth-child(4) {margin-top:calc(var(--space-40) * -1);}

.support-card-img {position:absolute; inset:0; border-radius:16px; overflow:hidden;}
.support-card-img:after {content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,0) 51.8%, rgba(0,0,0,0.8) 100%);}
.support-card-txt {position:relative; display:flex; flex-direction:column; gap:12px;}
.support-card-tit {font-size:var(--font-size-22); font-weight:700; line-height:1.4em; letter-spacing:-.03em;}
.support-card-desc {font-size:var(--font-size-16); font-weight:400; line-height:1.6em; letter-spacing:-.03em;}
.support-card-over {position:absolute; inset:0; z-index:2; display:flex; align-items:center; justify-content:center; background:linear-gradient(0deg, rgba(28,65,153,0.8) 0%, rgba(47,93,204,0.8) 100%); border-radius:16px; opacity:0; transition:opacity 0.3s ease;}
.support-card:hover .support-card-over {opacity:1;}
.support-card-more {position:relative; display:flex; align-items:center; aspect-ratio:137 / 80; height:clamp(60px, calc( 80 / var(--inner) * 100vw ), 80px);}
.support-card-more-txt {font-weight:500; line-height:1.3em;}
.support-card-more-icon {position:absolute; top:0; right:0; aspect-ratio:77/80; height:clamp(60px, calc( 80 / var(--inner) * 100vw ), 80px);}
.support-card-more-icon img {display:block; width:100%; height:100%;}

.consult-area {display:flex; flex-direction:column; gap:var(--space-60);}
.consult-head {display:flex; flex-direction:column; gap:var(--space-20); text-align:center;}
.consult-sub {font-size:var(--font-size-20); font-weight:600; line-height:1.6em; letter-spacing:0.3em; color:var(--color-bk); opacity:.9;}
.consult-tit {font-size:var(--font-size-56); font-weight:700; line-height:1.2em; letter-spacing:-.03em; color:var(--color-bk);}
.consult-box {padding:var(--space-80); background:var(--color-primary); border-radius:32px;}
.consult-inner {display:flex; align-items:center; gap:var(--space-70);}
.consult-left {display:flex; flex-direction:column; gap:56px; flex:1;}
.consult-txt {display:flex; flex-direction:column; gap:var(--space-20); color:#fff;}
.consult-lead {font-size:var(--font-size-36); line-height:1.3em; letter-spacing:-.03em;}
.consult-desc {font-size:var(--font-size-16); font-weight:400; line-height:1.6em; letter-spacing:-.03em; opacity:.84;}
.consult-info {font-size:var(--font-size-16); font-weight:400; line-height:1.6em; letter-spacing:-.03em;}
.consult-info-semi {font-weight:600;}
.consult-info-bold {font-weight:700;}
.consult-btn {position:relative; display:flex; align-items:center; flex-shrink:0; width:clamp(120px, calc( 148 / var(--inner) * 100vw ), 148px); height:clamp(60px, calc( 80 / var(--inner) * 100vw ), 80px); color:#fff; text-decoration:none;}
.consult-btn-txt {font-size:var(--font-size-16); font-weight:500; line-height:1.0em;}
.consult-btn-icon {position:absolute; top:0; right:0; aspect-ratio:77/80; height:clamp(60px, calc( 80 / var(--inner) * 100vw ), 80px);}
.consult-btn-icon img {display:block; width:100%; height:100%;}
.consult-img img {height:clamp(120px, calc( 302 / var(--inner) * 100vw ), 302px);}

/* sub */
#sub #wrapper {padding-top:var(--header-height);}
.sub-visual {border-bottom:1px solid #ddd; position:relative; padding:var(--space-100) 0 var(--space-60); text-align:left; color:var(--color-bk); background:#fff; overflow:hidden;}
.sub-visual-head {display:flex; flex-direction:column; gap:var(--space-30);}
.sub-visual .inner {margin-top:calc(var(--space-30) * -1); position:absolute; top:50%; left:0; width:100%; transform:translateY(-50%);}

.page-depth {display:flex; align-items:center; gap:var(--space-16);}
.page-depth .home {display:flex; flex-shrink:0; width:16px; height:16px;}
.page-depth .home img {display:block; width:100%; height:100%;}
.page-depth .depth {position:relative; padding-left:var(--space-20); font-weight:600; line-height:26px; letter-spacing:-.03em; color:#B6B6B6;}
.page-depth .depth span {display: none;}
.page-depth .depth span.active {display: block;}
.page-depth .depth:last-child {color:var(--color-primary);}
.page-depth .depth:before {content:''; position:absolute; left:0; top:50%; width:3px; height:3px; margin-top:-1.5px; background:#b6b6b6; border-radius:4.5px;}
.sub-visual .txt1 {font-size:var(--font-size-48); line-height:1; font-weight:800; letter-spacing:-.03em; color:var(--color-bk); display:block;}
.sub-visual .txt1 div {display: none;}
.sub-visual .txt1 div.active {display: block;}

.lnb {margin-top:0; padding:var(--space-30) 0 0; text-align:left; background:transparent;}
.lnb .swiper-slide {width:auto;}
.lnb .swiper-wrapper {gap:var(--space-30);}
.lnb ul li {flex:none; width:auto;}
.lnb ul li a {flex-direction:column; align-items:center; justify-content:center; display:flex; gap:7px; height:auto; padding:0; border-radius:0; color:#b6b6b6; font-size:var(--font-size-20); font-weight:700; line-height:30px; background:transparent;}
.lnb ul li a:before {content:''; width:5px; height:5px; border-radius:50%; background:var(--color-primary); opacity:0; flex-shrink:0;}
.lnb ul li.active a {color:var(--color-primary); background:transparent;}
.lnb ul li.active a:before {opacity:1;}

.sub-title {padding:var(--space-100) 0 var(--space-80); text-align:center; display:none;}
.sub-title .tit {font-size:var(--font-size-40); letter-spacing:-.03em; line-height:1.3em; color:var(--color-bk); font-weight:600;}

#contArea {max-width:1460px; padding-left:var(--contain-padding); padding-right:var(--contain-padding); margin:0 auto;}
#contArea.wide {max-width:100%; padding-left:0; padding-right:0;}

.real-cont {padding-bottom:var(--space-150); padding-top:var(--space-100);}

html:has(.pos-hero) .real-cont {padding-top:0;}

/* footer */
#main #footer .quick {display:none;}

#footer {padding:var(--space-60) 0; background:#fbfbfb;}
#footer .contain {display:flex; flex-direction:column; gap:var(--space-40);}
.footer-head {display:flex; align-items:center; justify-content:space-between;}
.footer-legal {display:flex; align-items:center; gap:var(--space-15);}
.footer-legal a {line-height:1; letter-spacing:-.03em;}
.footer-divider {flex-shrink:0; width:1px; height:clamp(12px, calc(16 / var(--inner) * 100vw), 16px); background:#ddd;}
.footer-gotop img {height:clamp(36px, calc(50 / var(--inner) * 100vw), 50px);}
.footer-mid {display:flex; align-items:center; gap:var(--space-60);}
.footer-brand img {height:clamp(12px, calc(26 / var(--inner) * 100vw), 26px);}
.footer-address {font-size:var(--font-size-18); font-weight:600; line-height:1em; letter-spacing:-.03em; color:var(--color-bk);}
.footer-bottom {display:flex; align-items:flex-end; justify-content:space-between; gap:var(--space-40);}
.footer-info {display:flex; flex-direction:column; gap:var(--space-16); flex:1;}
.footer-info-item {line-height:1.8em; display:flex; gap:var(--space-20);}
.footer-copy {font-size:var(--font-size-15); line-height:1.5em; letter-spacing:-.03em;}
.footer-copy a:hover {text-decoration:underline;}
.footer-sns {display:flex; align-items:center; justify-content:flex-end; gap:var(--space-15); flex-shrink:0;}
.quick {display:grid; gap:var(--space-10); bottom:var(--contain-padding); position:fixed; right:var(--contain-padding);}
.quick img {height:clamp(40px, calc( 60 / var(--inner) * 100vw ), 60px);}
.f-desktop {display:block;}
.f-tablet {display:none;}
.f-mobile {display:none;}