@charset "utf-8";
/* layout.css는 전체적인 레이아웃 스타일을 정의합니다. */ 
 
#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:3.5714em}

.only-desktop {display:block;}
.only-desktop-tablet {display:block;}
.only-tablet-mobile {display:none;}
.only-tablet {display:none;}
.only-mobile {display:none;}

.contain {width:100%; max-width:1460px; margin:0 auto; padding-right:var(--space-container); padding-left:var(--space-container);}

#wrapper {position:relative; padding-top:0;}
#main #wrapper,
#sub #wrapper {padding-top:0;}

/* header */
#header {position:fixed; top:0; left:0; z-index:100; width:100%; transition:background .2s, box-shadow .2s, color .2s; background:transparent; color:#fff;}
#header .header {height:var(--gnb-height);}
#header:before {content:""; position:absolute; left:0; top:0; width:100%; height:200%; background:linear-gradient(180deg, rgba(0, 0, 0, 0.2) 0%, transparent 100%); transition:.2s; pointer-events:none;}
#header .contain {position:relative; display:flex; align-items:center; justify-content:space-between; gap:var(--space-24); width:100%; max-width:1820px; height:100%; margin:0 auto; z-index:2;}
#header:hover {background:#fff !important; color:var(--color-secondary); box-shadow:0 0 16px rgba(0, 0, 0, 0.08);}
.header-fixed #header {background: rgba(255, 255, 255, 0.80); backdrop-filter: blur(12px); color:var(--color-secondary); box-shadow:0 0 16px rgba(0, 0, 0, 0.08);}
#header:hover::before,
.header-fixed #header:before {opacity:0;}

.sitelogo {position:relative; z-index:2; flex-shrink:0;}
.sitelogo a {display:block; width:clamp(120px, calc(180 / var(--inner) * 100vw), 180px); aspect-ratio:180/48; background:url('/images/common/logo-white.svg') 0 50%/contain no-repeat;}
html.header-fixed .sitelogo a,
#header:hover .sitelogo a {background-image:url('/images/common/logo.svg');}

html.header-fixed .btn-m-menu span,
#header:hover .btn-m-menu span {background:#2c2c2c;}


#gnb {text-align:center; flex:1 1 auto; min-width:0; width:1%;}
#gnb>ul {display:flex; justify-content:flex-end; padding:0; list-style:none;} 
#gnb>ul>li {position:relative; display:flex; align-items:center; justify-content:center; height:var(--gnb-height);}
#gnb>ul>li>a {position:relative; display:flex; align-items:center; justify-content:center; min-height:clamp(50px, calc(64 / var(--inner) * 100vw), 64px); padding:4px var(--space-24); border-radius:999px; color:#242424; font-size:var(--font-size-22); font-weight:700; letter-spacing:-0.03em; line-height:1.2em;}
#gnb>ul>li.active>a {background: #F6F6F6;}
#gnb>ul>li:nth-child(6)>a {color:var(--color-primary) !important;}
#gnb .submenu {display:none; position:absolute; top:100%; left:50%; width:180px; transform:translateX(-50%); background:#fff; border-radius:0 0 8px 8px; text-align:center;}
#gnb .submenu>ul {padding:24px 10px 30px; list-style:none;}
#gnb .submenu>ul>li>a {display:block; padding:8px 0; color:#676767; font-size:var(--font-size-20); font-weight:500; line-height:1.34em; letter-spacing:-.03em;}
#gnb .submenu>ul>li>a:hover {color:var(--color-primary);}

#header:hover #gnb>ul>li>a,
.header-fixed #gnb>ul>li>a {color:var(--color-secondary);}

.submenu-bg {display:none; position:absolute; top:100%; left:0; width:100%; background:var(--color-primary); border:0; box-shadow:none; z-index:1;}

.pull-right {position:relative; z-index:2; display:flex; align-items:center; gap:12px; flex-shrink:0;}
.top-links {display:flex; align-items:center; gap:10px;}
.top-links .link-item {display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:4px 18px; border-radius:999px; background:var(--color-primary); color:#fff; font-size:17px; font-weight:700; line-height:1.76em; letter-spacing:-0.02em; white-space:nowrap;}
.top-links .link-item.tel {gap:8px; padding:4px 18px 4px 4px; background:rgba(255,255,255,0.1); border:1px solid rgba(255,255,255,0.1); color:#fff; font-size:18px; font-weight:700; backdrop-filter:blur(12px);}
.top-links .link-item.tel i {flex:0 0 40px; width:40px; height:40px; border-radius:50%; background:rgba(255,255,255,0.1) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M5.77982 1.11753C5.50984 0.44258 4.85616 0 4.12923 0H1.68417C0.754027 0 0 0.753865 0 1.68403C0 9.59043 6.40942 16 14.3156 16C15.2457 16 15.9996 15.2459 15.9996 14.3157L16 11.8702C16 11.1433 15.5575 10.4897 14.8826 10.2197L12.5392 9.28262C11.9329 9.04011 11.2426 9.14925 10.741 9.56728L10.1362 10.0717C9.42986 10.6604 8.39057 10.6135 7.74042 9.96337L6.03738 8.25872C5.38723 7.60856 5.33918 6.57008 5.9278 5.86372L6.43213 5.25894C6.85015 4.7573 6.96026 4.06681 6.71775 3.46053L5.77982 1.11753Z' fill='white'/%3E%3C/svg%3E") 50% 50%/16px auto no-repeat;}
html.header-fixed .top-links .link-item.tel,
#header:hover .top-links .link-item.tel {background:#f5f5f5; border-color:#eee; color:var(--color-secondary);}
html.header-fixed .top-links .link-item.tel i,
#header:hover .top-links .link-item.tel i {background-color:#fff; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M5.77982 1.11753C5.50984 0.44258 4.85616 0 4.12923 0H1.68417C0.754027 0 0 0.753865 0 1.68403C0 9.59043 6.40942 16 14.3156 16C15.2457 16 15.9996 15.2459 15.9996 14.3157L16 11.8702C16 11.1433 15.5575 10.4897 14.8826 10.2197L12.5392 9.28262C11.9329 9.04011 11.2426 9.14925 10.741 9.56728L10.1362 10.0717C9.42986 10.6604 8.39057 10.6135 7.74042 9.96337L6.03738 8.25872C5.38723 7.60856 5.33918 6.57008 5.9278 5.86372L6.43213 5.25894C6.85015 4.7573 6.96026 4.06681 6.71775 3.46053L5.77982 1.11753Z' fill='%23E82779'/%3E%3C/svg%3E");}
html:not(.header-fixed) #header:not(:hover) #gnb>ul>li>a {color:#fff;}
html:not(.header-fixed) #header:not(:hover) #gnb>ul>li.gnb-inquiry>a {color:var(--color-primary);}
html:not(.header-fixed) #header:not(:hover) .btn-m-menu span {background:#fff;}

#header .top-notice {position:relative; z-index:3; height:var(--top-height); background:#121212; color:#fff; font-size:var(--font-size-16); line-height:1.4em;}
#header .top-notice .contain {display:flex; align-items:center; gap:8px; height:100%;}
#header .top-notice a {flex:1 1 auto; min-width:0; overflow:hidden; color:#fff; text-align:center; text-overflow:ellipsis; white-space:nowrap;}
#header .top-notice strong {color:#fff; font-weight:600;}
#header .top-notice button {flex-shrink:0; width:24px; height:24px; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14' fill='none'%3E%3Cpath d='M1 1L13 13M13 1L1 13' stroke='white' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") 50% 50% no-repeat; border:0; cursor:pointer;}

/* for mobile */ 
.btn-m-menu {display:none; position:relative; width:24px; height:24px;}
.btn-m-menu div {display:flex; flex-direction:column; justify-content:center; align-items:center; gap:7px; width:100%; height:100%;}
.btn-m-menu span {display:block; width:100%; height:2px; background:#fff;}
.header-fixed .btn-m-menu span {background:var(--color-text);}
.header-fixed .btn-m-menu:hover span {background:var(--color-primary);}

.mobile-navigation {display:none; position:fixed; top:0; right:0; width:300px; height:100%; overflow:auto; transition:.2s linear; -ms-transform:translateX(100%); transform:translateX(100%); background:#fff; z-index:102; color:var(--color-secondary);}
.mobile-navigation .home {display:flex; align-items:center; height:var(--header-height); padding:0 20px;}
.mobile-navigation .home img {display:block; width:clamp(120px, calc(180 / var(--inner) * 100vw), 180px);}
.mobile-navigation .nav-menu>ul {border-top:1px solid #ddd;}
.mobile-navigation .nav-menu>ul>li {border-bottom:1px solid #ddd;}
.mobile-navigation .nav-menu>ul>li>a {position:relative; padding:10px 48px 10px 20px; display:block; color:#242424; font-size:19px; font-weight:700; line-height:1.5em;}
.mobile-navigation .nav-menu>ul>li>a:after {content:""; position:absolute; top:50%; right:20px; transform:translateY(-75%) rotate(45deg); width:11px; height:11px; border-right:2px solid #505050; border-bottom:2px solid #505050;}
.mobile-navigation .nav-menu>ul>li.active>a {color:#fff; background:var(--color-primary);}
.mobile-navigation .nav-menu>ul>li.active>a:after {transform:translateY(-35%) rotate(-135deg); border-color:#fff;}
.mobile-navigation .nav-menu .submenu {display:none; background:#f8f8f8; color:#454545; font-size:16px; font-weight:400; line-height:1.5em;}
.mobile-navigation .nav-menu .submenu ul li {border-top:1px solid #e5e5e5;}
.mobile-navigation .nav-menu .submenu ul li a {display:block; padding:12px 20px;}
.mobile-navigation .nav-menu .submenu ul li a:hover {color:var(--color-primary);}
.mobile-navigation .close {position:absolute; top:clamp(18px, calc(25 / 1600 * 100vw), 25px); right:15px; width:26px; height:26px; text-indent:-9999em; overflow:hidden;}
.mobile-navigation .close:before,
.mobile-navigation .close:after {content:" "; position:absolute; top:12px; left:0; width:100%; height:3px; background:#242424; border-radius:3px;}
.mobile-navigation .close:before {transform:rotate(45deg);}
.mobile-navigation .close:after {transform:rotate(-45deg);}
.mobile-overlay {display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:#000; opacity:0.6; z-index:101;}

html.menu-opened {overflow:hidden;}
html.menu-opened .mobile-navigation {-ms-transform:translateX(0); transform:translateX(0);}
html.menu-opened .mobile-overlay {display:block;}

/* main */
@keyframes zoomInOut {
	0% {transform:scale(1);}
	50% {transform:scale(1.1);}
	100% {transform:scale(1);}
}
#container {overflow-x:clip;}
.main-visual {position:relative; overflow:hidden; width:100%; height:clamp(640px, calc(954 / 1920 * 100vw), 954px); max-height:100svh; background:#111;}
.main-visual .items,
.main-visual .slick-list,
.main-visual .slick-track,
.main-visual .slick-slide {height:100%;}
.main-visual .item {position:relative; overflow:hidden; width:100%; min-height:clamp(640px, calc(954 / 1920 * 100vw), 954px); max-height:100svh; background:#111;}
.main-visual .item:after {content:""; position:absolute; inset:0; z-index:1; background:radial-gradient(ellipse 1120px 400px at 25% 78%, rgba(0,0,0,0.32) 0%, rgba(0,0,0,0) 70%), linear-gradient(180deg, rgba(0,0,0,0.24) 0%, rgba(0,0,0,0) 18.76%), linear-gradient(180deg, rgba(0,0,0,0) 36.9%, rgba(0,0,0,0.4) 100%), linear-gradient(90deg, rgba(0,0,0,0.04) 0%, rgba(0,0,0,0.04) 100%);}
.main-visual .item img {position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; object-position:bottom; transform:scale(1.06); transition:5s linear;}
.main-visual .item .video-js,
.main-visual .item video {position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover;}
.main-visual .item.video .mv-mp4-stage {position:absolute; inset:0; z-index:0; overflow:hidden; background:#111;}
.main-visual .item.video .mv-mp4 {top:50%; left:50%; width:100%; height:100%; min-width:100%; min-height:100%; -webkit-transform:translate(-50%,-50%) scale(1.14); transform:translate(-50%,-50%) scale(1.14); object-fit:cover; object-position:center bottom; pointer-events:none; -webkit-user-select:none; user-select:none; -webkit-touch-callout:none;}
.main-visual .item.video .mv-mp4-shield {position:absolute; inset:0; z-index:3; cursor:default; background:transparent; touch-action:none;}
.main-visual .slick-slide:not(.slick-current) .item.video .mv-mp4-stage {visibility:hidden;}
.main-visual .item video.mv-mp4::-webkit-media-controls,
.main-visual .item video.mv-mp4::-webkit-media-controls-enclosure,
.main-visual .item video.mv-mp4::-webkit-media-controls-panel,
.main-visual .item video.mv-mp4::-webkit-media-controls-play-button,
.main-visual .item video.mv-mp4::-webkit-media-controls-start-playback-button,
.main-visual .item video.mv-mp4::-webkit-media-controls-overlay-play-button,
.main-visual .item video.mv-mp4::-webkit-media-controls-timeline,
.main-visual .item video.mv-mp4::-webkit-media-controls-current-time-display,
.main-visual .item video.mv-mp4::-webkit-media-controls-time-remaining-display,
.main-visual .item video.mv-mp4::-webkit-media-controls-mute-button,
.main-visual .item video.mv-mp4::-webkit-media-controls-volume-slider,
.main-visual .item video.mv-mp4::-webkit-media-controls-fullscreen-button {display:none !important; opacity:0 !important; pointer-events:none !important; -webkit-appearance:none;}
.main-visual .item.video:not(.active) .mv-mp4-stage {opacity:0;}
.main-visual .items:not(.slick-initialized) .item.video .mv-mp4-stage {opacity:1;}
.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 .item.youtube .mv-yt-poster {position:absolute; inset:0; z-index:1; background:#111 50% 50%/cover no-repeat; background-size:cover; background-position:center bottom; transition:opacity .9s ease, visibility .9s ease; pointer-events:none;}
.main-visual .item.youtube .mv-yt-shim {position:absolute; inset:0; z-index:2; background:linear-gradient(180deg, rgba(0,0,0,.12), rgba(0,0,0,.08)); opacity:1; transition:opacity .9s ease, visibility .9s ease; pointer-events:none;}
.main-visual .item.youtube.is-playing .mv-yt-poster,
.main-visual .item.youtube.is-playing .mv-yt-shim {opacity:0; visibility:hidden;}
.main-visual .item.youtube .mv-yt-frame {z-index:0; pointer-events:none; opacity:0; width:100vw; height:56.25vw; min-width:177.78vh; min-height:100vh; -webkit-transform:translate(-50%,-50%) scale(1.2); transform:translate(-50%,-50%) scale(1.2); transition:opacity .9s ease;}
.main-visual .item.youtube.is-playing .mv-yt-frame {opacity:1;}
.main-visual .item.youtube .mv-yt-shield {position:absolute; inset:0; z-index:4; cursor:default; background:transparent; touch-action:none;}
.main-visual .caption {position:absolute; left:50%; bottom:0; z-index:3; transform:translateX(-50%); width:100%; max-width:1820px; padding:0 var(--space-container); text-align:left; color:#fff;}
.main-visual .hero-top {display:flex; align-items:flex-start; flex-direction:column; gap:20px; padding-bottom:40px;}
.main-visual .hero-badge {display:inline-flex; align-items:center; min-height:50px; padding:10px 24px; border-radius:999px; background:rgba(255,255,255,0.1); border:1px solid rgba(255,255,255,0.1); color:#fff; font-size:18px; font-weight:700; backdrop-filter:blur(12px);}
.main-visual .main-sns {position:absolute; right:clamp(16px, calc(30 / 1920 * 100vw), 30px); top:clamp(280px, calc(360 / 1920 * 100vw), 360px); z-index:4; display:flex; flex-direction:column; gap:12px; margin:0; padding:0; list-style:none;}
.main-visual .main-sns a {display:flex; align-items:center; justify-content:center; width:64px; height:64px; border-radius:999px; box-shadow:0 4px 12px rgba(0,0,0,0.24);}
.main-visual .main-sns a:hover {animation:zoomInOut 0.4s ease;}
.main-visual .caption .txt1 {margin:0; font-size:clamp(36px, calc(72 / 1920 * 100vw), 72px); font-weight:700; line-height:1.22em; letter-spacing:-0.02em; color:#fff; text-shadow:0 4px 24px rgba(0,0,0,0.12);}
.main-visual .caption .txt2 {margin-bottom:var(--space-60); font-size:clamp(16px, calc(18 / 1920 * 100vw), 18px); font-weight:400; line-height:1.7em; letter-spacing:-0.02em; color:rgba(255, 255, 255, 0.86);}
.main-visual .hero-stats {position:relative; display:inline-flex; justify-content:flex-start; flex-wrap:wrap; gap:0; margin:0; padding:40px 0 50px; list-style:none;}
.main-visual .hero-stats:before {content:''; position:absolute; top:0; right:0; width:100vw; border-bottom:1px solid rgba(255,255,255,0.24);}
.main-visual .hero-stats li {display:flex; flex-direction:column; gap:4px; min-width:220px;}
.main-visual .hero-stats .label-row {display:flex; align-items:flex-end; gap:6px;}
.main-visual .hero-stats strong {font-size:clamp(18px, calc(22 / 1920 * 100vw), 22px); font-weight:700; color:rgba(255,255,255,0.8); line-height:1.636em; letter-spacing:-0.02em;}
.main-visual .hero-stats .year {font-size:16px; font-weight:600; color:rgba(255,255,255,0.7); line-height:2em; letter-spacing:-0.02em;}
.main-visual .hero-stats .num {color:#fff; font-size:clamp(36px, calc(52 / 1920 * 100vw), 52px); font-weight:700; line-height:1.27em; letter-spacing:-0.02em; text-shadow:6px 12px 24px rgba(0,0,0,0.24);}

.main-title {margin-bottom:var(--space-60); text-align:center;}
.main-title .en {margin-bottom:var(--space-16); color:var(--color-primary); font-size:clamp(20px, calc(24 / 1920 * 100vw), 24px); font-weight:500; line-height:1.67em; letter-spacing:-0.02em;}
.main-title .en .point {color:var(--color-primary);}
.main-course .main-title .en {color:#676767; font-weight:400;}
.main-course .main-title .en .point {font-weight:500;}
.main-title .tit {color:#2c2c2c; font-size:clamp(32px, calc(56 / 1920 * 100vw), 56px); font-weight:700; line-height:1.25em; letter-spacing:-0.02em;}
.main-title .desc {margin-top:var(--space-16); color:#666; font-size:var(--font-size-18); line-height:1.6em;}

.main-reason {padding:100px 0 120px; background:#fff;}
.reason-box {display:grid; grid-template-columns:minmax(280px, 1fr) minmax(0, 926px); gap:24px; align-items:stretch;}
.reason-tabs {display:flex; flex-direction:column; gap:12px; height:100%; margin:0; padding:0; list-style:none;}
.reason-tabs li {flex:1 1 0;}
.reason-tabs button {display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; height:100%; min-height:72px; padding:0 24px; border:0; border-radius:24px; background:#f7f8f9; color:#676767; font-size:22px; font-weight:700; line-height:1.636em; text-align:left; cursor:pointer; transition:.2s;}
.reason-tabs li.active button {background:#081b4b; color:#fff;}
.reason-tabs .num {flex:0 0 auto; font-size:20px; font-weight:700; color:#a8a8a8;}
.reason-tabs li.active .num {color:var(--color-primary);}
.reason-tabs .label {flex:1 1 auto; min-width:0;}
.reason-tabs .arrow {flex:0 0 18px; width:18px; height:18px; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='10' viewBox='0 0 14 10' fill='none'%3E%3Cpath d='M1 5.00002L5.00028 9L13 1' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50% 50%/14px 10px no-repeat;}
.reason-tabs li:not(.active) .arrow {display:none;}
.reason-panels {position:relative; min-height:372px; padding:40px 40px 40px 44px; border:1px solid #dfdfdf; border-radius:24px; background:#fff;}
.reason-slider {overflow:hidden; width:100%;}
.reason-slider .swiper-wrapper {height:100%;}
.reason-slider .swiper-slide {height:auto;}
.reason-panel {display:grid; grid-template-columns:minmax(0, 1fr) 200px; gap:10px; align-items:stretch;}
.reason-slider:not(.swiper-initialized) .swiper-slide:not(:first-child) {display:none;}
.reason-pagination {display:none;}
.reason-panel .num {margin-bottom:16px; color:var(--color-primary); font-size:24px; font-weight:700; line-height:1.67em;}
.reason-panel .tit {margin-bottom:24px; color:#2c2c2c; font-size:clamp(24px, calc(40 / var(--inner) * 100vw), 40px); font-weight:700; line-height:1.35em; letter-spacing:-0.02em;}
.reason-panel .tit .reason-ico {display:inline-block; vertical-align:middle; width:54px; height:54px; object-fit:contain;}
.reason-panel .desc {margin-bottom:32px; color:#505050; font-size:20px; line-height:1.7em; letter-spacing:-0.02em;}
.reason-panel .btn-more,
.btn-more {display:inline-flex; align-items:center; gap:12px; min-height:50px; padding:0 24px; border-radius:999px; background:var(--color-primary); color:#fff; font-size:var(--font-size-16); font-weight:600; line-height:1.3em;}
.reason-panel .btn-more:after,
.btn-more:after {content:""; width:5px; height:10px; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='5' height='10' viewBox='0 0 5 10' fill='none'%3E%3Cpath d='M1 1L4 5L1 9' stroke='white' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50% 50% no-repeat;}
.reason-panel .panel-thumb {overflow:hidden; }
.reason-panel .panel-thumb img {display:block; width:100%; aspect-ratio:200/292; object-fit:cover; border-radius:24px;}

.main-course {padding:100px 0 120px; background:#fefafc;}
.course-list {display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:24px 24px; row-gap:64px; margin:0; padding:0; list-style:none;}
.course-card {display:block;}
.course-card .thumb {position:relative; overflow:hidden; height:clamp(280px, calc(440 / 1920 * 100vw), 440px); border-radius:40px; background:#eee;}
.course-card .thumb img {display:block; width:100%; height:100%; object-fit:cover; object-position:bottom; transition:transform .35s ease;}
.course-card .overlay {position:absolute; inset:0; z-index:2; display:flex; flex-direction:row; align-items:flex-end; justify-content:center; gap:10px; padding:24px; background:linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,.9)); opacity:0; transition:.25s;}
.course-card .overlay .btn {display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:10px 24px; border-radius:999px; font-size:18px; font-weight:700;}
.course-card .overlay .btn.st1 {background:#121212; color:#fff;}
.course-card .overlay .btn.st2 {background:var(--color-primary); color:#fff;}
.course-card:hover .overlay {opacity:1;}
.course-card:hover .thumb img {transform:scale(1.02);}
.course-card .info {padding-top:30px; text-align:center;}
.course-card .info .tit {color:#2c2c2c; font-size:clamp(22px, calc(28 / 1920 * 100vw), 28px); font-weight:700; line-height:1.5em; letter-spacing:-0.02em;}
.course-card .info .tit em {font-style:normal; color:var(--color-primary);}
.course-card .info .tit em.full {color:var(--color-primary);}
.course-card .info .desc {margin-top:6px; color:#505050; font-size:20px; line-height:1.5em; letter-spacing:-0.02em;}

.main-tuition {padding:var(--space-100) 0; background:#fff;}
.tuition-slider {position:relative;}
.tuition-slider .swiper {overflow:hidden; border-radius:40px;}
.tuition-slider .swiper-slide {height:auto;}
.tuition-banner {position:relative; display:block; overflow:hidden; min-height:280px; border-radius:var(--radius-40);}
.tuition-banner .bg {position:absolute; inset:0;}
.tuition-banner .bg img {display:block; width:100%; height:100%; object-fit:cover; object-position:bottom;}
.tuition-banner .text {position:relative; z-index:1; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:8px; min-height:280px; max-width:520px; padding:70px;}
.tuition-banner .tit {color:#fff; font-size:clamp(28px, calc(36 / 1920 * 100vw), 36px); font-weight:600; line-height:1.39em; letter-spacing:-0.02em;}
.tuition-banner .desc {color:rgba(255,255,255,0.7); font-size:18px; line-height:1.67em; letter-spacing:-0.02em;}
.tuition-banner .btn-more {display:inline-flex; align-items:center; min-height:50px; margin-top:8px; padding:10px 24px; border:1px solid rgba(255,255,255,0.1); border-radius:999px; background:rgba(255,255,255,0.1); color:#fff; font-size:18px; font-weight:700; backdrop-filter:blur(12px);}
.tuition-banner .btn-more:after {display:none;}
.tuition-prev,
.tuition-next {position:absolute; top:50%; z-index:2; display:flex; align-items:center; justify-content:center; width:48px; height:48px; margin-top:-24px; border:1px solid #eee; border-radius:50%; background:rgba(255,255,255,0.8); backdrop-filter:blur(12px); cursor:pointer;}
.tuition-prev {left:-24px;}
.tuition-next {right:-24px;}
.tuition-pagination {display:none;}

.main-review {padding:70px 0 100px; background:#f7f8f9;}
.main-review .review-wrap {display:grid; grid-template-columns:minmax(280px, 500px) minmax(0, 1fr); gap:var(--space-40); align-items:center;}
.main-review .review-wrap > * {min-width:0;}
.main-review .review-intro .rating {margin-bottom:40px;}
.main-review .badge {display:inline-flex; align-items:center; gap:20px; min-height:56px; color:#3bab49; font-size:18px; font-weight:700; letter-spacing:-0.02em;}
.main-review .badge i {flex:0 0 56px; width:56px; height:56px; border:2px solid #3bab49; border-radius:50%; background:#fff url("/images/main/naver.svg") 50% 50% no-repeat;}
.main-review .score {display:flex; flex-wrap:wrap; align-items:flex-end; gap:6px 24px; margin-top:12px; font-size:clamp(32px, calc(36 / 1920 * 100vw), 36px); font-weight:700; line-height:1.39em; letter-spacing:-0.02em;}
.main-review .score.score-count-only {color:#c5cddf; gap:6px;}
.main-review .score-rate {display:inline-flex; align-items:flex-end; gap:6px;}
.main-review .score-count {display:inline-flex; align-items:flex-end; gap:6px; color:#c5cddf;}
.main-review .score strong {color:#0d2c79;}
.main-review .score-rate > span {font-weight:700; color:#c5cddf;}
.main-review .review-intro .tit {margin:0; text-align:left; font-size:clamp(28px, calc(42 / 1920 * 100vw), 42px); font-weight:700; line-height:1.38em; letter-spacing:-0.02em; color:#2c2c2c;}
.main-review .review-intro .tit span {display:inline; color:#2c2c2c;}
.main-review .review-intro .tit em {display:block; font-style:normal; color:var(--color-primary);}
.main-review .review-nav {display:flex; gap:10px; margin-top:var(--space-30);}
.main-review .review-prev,
.main-review .review-next {display:flex; align-items:center; justify-content:center; width:56px; height:56px; border:1px solid #ddd; border-radius:50%; background:#fff; cursor:pointer; transition:.2s;}
.main-review .review-prev:hover,
.main-review .review-next:hover {background:var(--color-secondary); border-color:var(--color-secondary);}
.main-review .review-prev:hover img,
.main-review .review-next:hover img {filter:invert(1);}
.main-review .review-slider {overflow:hidden;}
.main-review .review-slider .review-list {margin:0; padding:0; list-style:none;}
.main-review .review-slider .review-list:not(.slick-initialized) {display:flex; gap:16px; overflow:hidden;}
.main-review .review-slider .review-list:not(.slick-initialized) > li {flex:0 0 auto;}
.main-review .review-slider .slick-list {overflow:visible; margin:-40px -16px; padding:40px 16px;}
.main-review .review-slider .slick-track {display:flex; align-items:center;}
.main-review .review-slider .slick-slide {position:relative; z-index:0; height:auto; width:auto; margin-right:16px;}
@media (min-width:768px) {
	.main-review .review-slider .slick-list {margin:0 -24px; padding-left:24px; padding-right:24px;}
	.main-review .review-slider .slick-slide {margin-right:24px;}
	.main-review .review-slider .review-list:not(.slick-initialized) {gap:24px;}
}
@media (min-width:1200px) {
	.main-review .review-slider .slick-list {margin:0 -32px; padding-left:32px; padding-right:32px;}
	.main-review .review-slider .slick-slide {margin-right:32px;}
	.main-review .review-slider .review-list:not(.slick-initialized) {gap:32px;}
}
.review-card {position:relative; width:300px; height:280px; padding:30px; border:1px solid #dfdfdf; border-radius:16px; background:#fff; transform:scale(0.96); transition:transform 0.4s ease, height 0.4s ease, border-color 0.4s ease, box-shadow 0.4s ease;}
.review-card .name {margin-bottom:10px; font-size:24px; font-weight:700; color:#2c2c2c; letter-spacing:-0.02em; transition:font-size 0.4s ease, line-height 0.4s ease;}
.review-card .stars {display:flex; gap:4px; margin-bottom:24px;}
.review-card .stars span {width:18px; height:18px; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18' fill='none'%3E%3Cpath d='M9 1.5L11.09 6.26L16.5 6.99L12.75 10.74L13.68 16.14L9 13.59L4.32 16.14L5.25 10.74L1.5 6.99L6.91 6.26L9 1.5Z' fill='%23FFC107'/%3E%3C/svg%3E") 50% 50% no-repeat;}
.review-card .txt {color:#676767; font-size:16px; line-height:1.625em; letter-spacing:-0.02em; transition:font-size 0.4s ease, line-height 0.4s ease;}
.review-card.is-featured {position:relative;  z-index:10; border-color:#2c2c2c; box-shadow:0 12px 12px rgba(0,0,0,0.1); transform:scale(1.1);}
.review-more {margin-top:50px; text-align:center;}
.btn-naver {display:inline-flex; align-items:center; gap:16px; min-height:50px; padding:10px 24px; border-radius:999px; background:#03c75a; color:#fff; font-size:18px; font-weight:700; letter-spacing:-0.02em;}
.btn-naver:after {content:""; width:5px; height:10px; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='5' height='10' viewBox='0 0 5 10' fill='none'%3E%3Cpath d='M1 1L4 5L1 9' stroke='white' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50% 50% no-repeat;}

.main-faq {padding:100px 0 120px; background:#eff0f1;}
.main-faq .faq-list {margin:0; padding:0; list-style:none;}
.main-faq .faq-list li {margin-bottom:10px; border-radius:24px;  padding:28px 40px; background:#fff; overflow:hidden;}
.main-faq .faq-q {display:flex; align-items:center; justify-content:space-between; gap:20px; width:100%; padding:0; border:0; background:#fff; color:#2c2c2c; font-size:24px; font-weight:700; line-height:1.67em; letter-spacing:-0.02em; text-align:left; cursor:pointer;}
.main-faq .faq-list li.active .faq-q {color:var(--color-primary);}
.main-faq .faq-q i {flex:0 0 28px; width:28px; height:28px; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M4 10H16' stroke='%23231815' stroke-width='2' stroke-linecap='round'/%3E%3Cpath d='M10 4V16' stroke='%23231815' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") 50% 50% no-repeat; transition:.2s;}
.main-faq .faq-list li.active .faq-q i {background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M4 10H16' stroke='%23E82779' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");}
.main-faq .faq-a {display:none; padding:8px 0 0; color:#676767; font-size:20px; line-height:1.7em; letter-spacing:-0.02em;}
.main-faq .faq-more {margin-top:var(--space-40); text-align:center;}
.main-faq .btn-more {min-height:68px; padding:0 34px; font-size:var(--font-size-22);}
.main-faq .btn-more:after {width:10px; height:10px; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10' fill='none'%3E%3Cpath d='M0.898438 8.8999L8.89844 0.899902M8.89844 6.8999V0.899902H2.89844' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50% 50% no-repeat;}
.main-faq .btn-more i {flex:0 0 16px; width:16px; height:16px; margin-right:8px; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M5.77982 1.11753C5.50984 0.44258 4.85616 0 4.12923 0H1.68417C0.754027 0 0 0.753865 0 1.68403C0 9.59043 6.40942 16 14.3156 16C15.2457 16 15.9996 15.2459 15.9996 14.3157L16 11.8702C16 11.1433 15.5575 10.4897 14.8826 10.2197L12.5392 9.28262C11.9329 9.04011 11.2426 9.14925 10.741 9.56728L10.1362 10.0717C9.42986 10.6604 8.39057 10.6135 7.74042 9.96337L6.03738 8.25872C5.38723 7.60856 5.33918 6.57008 5.9278 5.86372L6.43213 5.25894C6.85015 4.7573 6.96026 4.06681 6.71775 3.46053L5.77982 1.11753Z' fill='white'/%3E%3C/svg%3E") 50% 50% no-repeat;}

.main-cta {position:relative; overflow:hidden; padding:100px 0;}
.main-cta .bg {position:absolute; inset:0; background:url('/images/main/cta-bg.jpg') 50% 50%/cover no-repeat;}
.main-cta .bg:after {content:""; position:absolute; inset:0; background:radial-gradient(ellipse 960px 201px at 50% 50%, rgba(0,0,0,0.64) 0%, rgba(0,0,0,0) 100%), linear-gradient(90deg, rgba(0,0,0,0.04) 0%, rgba(0,0,0,0.04) 100%);}
.main-cta .contain {position:relative; z-index:1; text-align:center;}
.main-cta .tit {margin:0 0 16px; color:#fff; font-size:clamp(28px, calc(42 / 1920 * 100vw), 42px); font-weight:700; line-height:1.38em; letter-spacing:-0.02em;}
.main-cta .tit em {font-style:normal; color:var(--color-primary);}
.main-cta .desc {margin:0; color:rgba(255,255,255,0.8); font-size:20px; line-height:1.7em; letter-spacing:-0.02em;}
.main-cta .btns {display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-top:44px;}
.main-cta .btn {display:inline-flex; align-items:center; justify-content:center; gap:16px; min-height:50px; padding:10px 24px; border-radius:999px; background:rgba(255,255,255,0.1); border:1px solid rgba(255,255,255,0.1); color:#fff; font-size:18px; font-weight:700; backdrop-filter:blur(12px); transition:.2s;}
.main-cta .btn:after {content:""; width:7px; height:12px; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7' height='12' viewBox='0 0 7 12' fill='none'%3E%3Cpath d='M0.800781 0.799805L5.80078 5.7998L0.800781 10.7998' stroke='white' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50% 50% no-repeat;}
.main-cta .btn:hover {background:#fff; color:var(--color-secondary);}
.main-cta .btn:hover:after {background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7' height='12' viewBox='0 0 7 12' fill='none'%3E%3Cpath d='M0.800781 0.799805L5.80078 5.7998L0.800781 10.7998' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");}

.float-ui {position:fixed; right:30px; bottom:var(--float-ui-bottom, 24px); z-index:90; display:flex; flex-direction:column; align-items:flex-end; gap:12px;}
.floating-menu {display:flex; flex-direction:column; align-items:flex-end; gap:12px;}
.floating-menu a {display:inline-flex; align-items:center; gap:6px; min-height:44px; padding:8px 14px; border-radius:999px; font-size:16px; font-weight:600; line-height:1.25em; letter-spacing:-0.02em; white-space:nowrap;}
.floating-menu a i {flex:0 0 28px; width:28px; height:28px; background:50% 50%/contain no-repeat;}
.floating-menu a:hover {animation:zoomInOut 0.4s ease;}
.floating-menu .float-apply {background:#fff; border:1px solid var(--color-primary); box-shadow:0 4px 12px rgba(232,39,121,0.08); color:var(--color-primary);}
.floating-menu .float-apply i {background-image:url('/images/main/icon-apply.png');}
.floating-menu .float-naver {background:#03c75a; box-shadow:0 4px 12px rgba(3,199,90,0.2); color:#fff;}
.floating-menu .float-naver i {background-image:url('/images/main/icon-naver-talk-white.png');}
.floating-menu .float-chat {background:var(--color-primary); box-shadow:0 4px 12px rgba(232,39,121,0.2); color:#fff;}
.floating-menu .float-chat i {background-image:url('/images/main/icon-chatbot.png');}
.scroll-top {display:flex; align-items:center; justify-content:center; width:64px; height:64px; border-radius:999px; background:#121212; box-shadow:0 4px 12px rgba(0,0,0,0.2); color:#fff; opacity:0; visibility:hidden; transform:translateY(12px); transition:.25s;}
.scroll-top.active {opacity:1; visibility:visible; transform:none;}
.scroll-top:after {content:""; width:12px; height:12px; border-top:2px solid #fff; border-right:2px solid #fff; transform:rotate(-45deg) translateY(2px);}

@media (min-aspect-ratio: 16/9) {
	.main-visual .item:not(.youtube) iframe {height:56.25vw;}
}
@media (max-aspect-ratio: 16/9) {
	.main-visual .item:not(.youtube) iframe {width:177.78vh;}
}


/* sub */
.sub-visual {display:flex; position:relative; width:100%; min-height:clamp(280px, calc(480 / var(--inner) * 100vw), 480px); overflow:hidden; color:#fff; background:#1a1a1a;}
.sub-visual .bg {position:absolute; inset:0; z-index:0; width:100%; height:100%; object-fit:cover; object-position:center; transition:1.5s linear; transform:scale(1.1); opacity:0;}
.sub-visual .contain {position:relative; z-index:2; width:100%; display:flex; flex-direction:column; justify-content: center; gap:var(--space-40); padding:var(--header-height) var(--space-container) var(--space-24);}
.sub-visual .title {display:flex; flex-direction:column; gap:var(--space-20);}
.sub-visual .title .name {font-size:clamp(28px, calc(56 / var(--inner) * 100vw), 56px); font-weight:700; line-height:1.3em; letter-spacing:-0.03em; color:#fff;}
.sub-visual .title .desc {font-size:clamp(14px, calc(24 / var(--inner) * 100vw), 24px); font-weight:500; line-height:1.5em; letter-spacing:-0.03em; color:#fff;}
.sub-visual.loaded .bg {opacity:1; transform:scale(1);}

.lnb-wrap {border-bottom:1px solid #eee; text-align:center; background:#fff;}
.lnb ul {display:inline-flex; width:auto !important; max-width:100%; margin:0 auto;}
.lnb ul li {width:auto; margin-right:10px;}
.lnb ul li a {position:relative; display:flex; align-items:center; justify-content:center; width:auto; height:var(--lnb-height); padding:0 var(--space-24); color:#fff; font-size:var(--font-size-18); font-weight:600; line-height:1.2em; letter-spacing:-0.03em; white-space:nowrap; border:1px solid #fff; border-radius:60px;}
.lnb ul li a:hover,
.lnb ul li.active a {color:var(--color-secondary); background:#fff;}

.real-cont {min-height:300px; padding-top:var(--space-100); padding-bottom:var(--space-160);}

/* footer */
#footer {background:#f6f6f6; padding:40px 0 60px;}
#footer .foot-top {display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:24px; align-items:stretch;}
#footer .foot-info {display:flex; flex-direction:column; justify-content:space-between; gap:40px; padding:20px 0;}
#footer .foot-logo {display:block; flex-shrink:0;}
#footer .foot-logo img {display:block; width:150px; height:40px;}
#footer .foot-company {display:flex; flex-direction:column; gap:8px; max-width:455px;}
#footer .foot-company p {margin:0; color:#676767; font-size:16px; line-height:1.5em; letter-spacing:-0.02em;}
#footer .foot-company .foot-meta {display:flex; flex-wrap:wrap; gap:20px;}
#footer .foot-center {display:flex; flex-direction:column; gap:20px; padding:34px; border:1px solid #eee; border-radius:16px; background:#fff;}
#footer .foot-center-row {display:flex; align-items:stretch; gap:4px; width:100%;}
#footer .foot-contact {display:flex; flex:1 1 0; flex-direction:column; gap:8px; min-width:0;}
#footer .foot-center .label {display:inline-flex; align-items:center; align-self:flex-start; padding:8px 12px; border:1px solid var(--color-primary); border-radius:4px; color:var(--color-primary); font-size:14px; font-weight:500; line-height:1.14em; letter-spacing:-0.02em;}
#footer .foot-center .tel {margin:0; font-size:clamp(28px, calc(32 / 1920 * 100vw), 32px); font-weight:700; line-height:1.44em; letter-spacing:-0.02em;}
#footer .foot-center .tel a {color:#2c2c2c;}
#footer .foot-btns {display:flex; flex:1 1 0; gap:4px; min-width:0; padding-left:clamp(0px, calc(60 / 1920 * 100vw), 60px);}
#footer .foot-btns a {display:flex; flex:1 1 0; flex-direction:column; align-items:center; justify-content:space-between; min-width:0; min-height:72px; padding:16px; border:1px solid #eee; border-radius:8px; background:#fff; color:#676767; font-size:15px; font-weight:500; line-height:1.33em; letter-spacing:-0.02em; text-align:center;}
#footer .foot-btns a i {flex:0 0 24px; width:24px; height:24px;}
#footer .foot-btns .foot-btn-naver i {background:url('/images/main/icon-naver-talk.png') 50% 50%/24px auto no-repeat;}
#footer .foot-btns .foot-btn-inquiry i {background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='20' viewBox='0 0 22 20' fill='none'%3E%3Cpath d='M7.84337 14.2892C11.3506 14.092 14.1345 11.1502 14.1345 7.54998C14.1345 3.8221 11.1497 0.800049 7.46765 0.800049C3.78564 0.800049 0.800781 3.8221 0.800781 7.54998C0.800781 8.87827 1.17961 10.1169 1.83402 11.1612L1.36286 12.5922L1.36211 12.5943C1.18165 13.1425 1.09139 13.4166 1.15566 13.5991C1.21167 13.7582 1.336 13.8835 1.49308 13.9402C1.67272 14.0051 1.94164 13.9143 2.47938 13.7329L2.48703 13.7305L3.90092 13.2535C4.93235 13.916 6.15578 14.2997 7.46772 14.2997C7.59378 14.2997 7.71903 14.2962 7.84337 14.2892ZM7.84337 14.2892C7.84346 14.2894 7.84328 14.2889 7.84337 14.2892ZM7.84337 14.2892C8.75554 16.9165 11.2279 18.8 14.1347 18.8C15.4466 18.8 16.6698 18.4161 17.7011 17.7534L19.1147 18.2305L19.1175 18.231C19.6588 18.4137 19.9301 18.5053 20.1103 18.4402C20.2674 18.3835 20.3901 18.2581 20.4461 18.0991C20.5105 17.9163 20.4205 17.6418 20.2395 17.0922L19.7684 15.6611L19.9262 15.3963C20.4833 14.4101 20.8008 13.2675 20.8008 12.0499C20.8008 8.32206 17.8165 5.30001 14.1345 5.30001L13.8849 5.30466L13.7591 5.31089' stroke='%23E82779' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50% 50%/22px 20px no-repeat;}
#footer .foot-center .hours {display:flex; flex-direction:column; gap:12px;}
#footer .foot-center .hours .tit {display:flex; align-items:center; gap:6px; margin:0; color:#878787; font-size:14px; font-weight:500; line-height:1.14em; letter-spacing:-0.02em;}
#footer .foot-center .hours .tit i {flex:0 0 16px; width:16px; height:16px; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M8 4V8L10.6667 9.33333' stroke='%23878787' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='8' cy='8' r='6' stroke='%23878787' stroke-width='1.4'/%3E%3C/svg%3E") 50% 50%/contain no-repeat;}
#footer .foot-center .hours .time-list {display:flex; flex-wrap:wrap; gap:16px;}
#footer .foot-center .hours .time-list p {margin:0; color:#2c2c2c; font-size:15px; line-height:1.33em; letter-spacing:-0.02em;}
#footer .foot-center .hours .time-list .day {color:#878787;}
#footer .foot-bottom {display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:40px; padding-top:30px; border-top:1px solid #dfdfdf;}
#footer .foot-bottom-left {display:flex; flex-wrap:wrap; align-items:center; gap:16px;}
#footer .foot-bottom .copyright {margin:0; color:#878787; font-size:15px; font-weight:500; line-height:1.33em; letter-spacing:-0.02em;}
#footer .design-credit {margin:0; color:#eee; font-size:14px; font-weight:400; line-height:1.14em; letter-spacing:-0.02em;}
#footer .design-credit a {color:inherit;}
#footer .foot-links {display:flex; flex-wrap:wrap; gap:24px; margin:0; padding:0; list-style:none;}
#footer .foot-links a {color:#676767; font-size:15px; font-weight:500; line-height:1.33em; letter-spacing:-0.02em;}
