@charset "utf-8";
.nowrap { overflow: hidden; }
.sub2-detail img { width: 100%;}
.sub2-fixed-btn { position: fixed; z-index: 999; max-width: 1430px; width: 100%; padding-left: 15px; padding-right: 15px; bottom: 30px; left: 0; right: 0; margin: auto; background: var(--color-primary); border: 1px solid rgba(255,255,255,0.3);}
.sub2-fixed-btn a { display: flex; padding: 24px 10px; align-items: center; justify-content: center; gap: 45px; color: #fff;}
.sub2-fixed-btn p { font-size: var(--font-size20); font-weight: 400; line-height: 1.5em; position: relative;}
.sub2-fixed-btn p::after { content: ""; position: absolute; right: -22px; width: 1px; height: 20px; background: rgba(255, 255, 255, 0.60); top: 0; bottom: 0; margin: auto; }
.sub2-fixed-btn .view { padding: 12px 35px; display: inline-flex; font-size: var(--font-size18); font-weight: 600; color: var(--color-primary); background: #fff; border-radius: 50px; gap: 20px;}
.hero-quick-download { position: fixed; right: 32px; top: 50%; z-index: 500; transform: translateY(-50%); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; width: 140px; height: 140px; padding: 14px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, 0.96); cursor: pointer; } 
.hero-quick-download.number1 { box-shadow: 0 10px 28px rgba(18, 48, 96, 0.22); } 
.hero-quick-download.number2 {  box-shadow: 0 10px 28px rgba(6, 78, 59, 0.22); } 
.hero-quick-download-icon { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; color: #fff; }
.hero-quick-download.number1 .hero-quick-download-icon { background: #2a5fb0; }
.hero-quick-download.number2 .hero-quick-download-icon { background: #059669; }
.hero-quick-download-icon svg { width: 20px; height: 20px; }
.hero-quick-download-text { font-family:'SUIT'; font-size: var(--font-size18); font-weight: 700; letter-spacing: -0.38px; line-height: 1.35; text-align: center; word-break: keep-all; }
.hero-quick-download.number1 .hero-quick-download-text { color: #2a5fb0; }
.hero-quick-download.number2 .hero-quick-download-text { color: #059669; }
@media (max-width: 1100px) {
.hero-quick-download {
    right: 16px;
    width: 124px;
    height: 124px;
}
}

/* 怨듯넻 */
.sub-prev::after, .sub-next::after { display: none; }
.sub-prev, .sub-next { position: absolute; top: 50%; transform: translateY(-50%); width: 80px; height: 80px; margin-top: -40px; border-radius: 80px; background-color: #fff; background-repeat: no-repeat; background-position: center; background-size: 32px; }
.sub-prev { background-image: url(../images/sub/sub-prev.png);}
.sub-next { background-image: url(../images/sub/sub-next.png);}
.subtab2 { display: flex; gap: 10px 20px; flex-wrap: wrap; margin-bottom: 80px; justify-content: center;}
.subtab2 li a { display: inline-flex; padding: 0 40px; height: 66px; border-radius: 33px; background: #f1f1f1; font-size: var(--font-size24); font-weight: 500; line-height: 1.41em; color: #888; align-items: center;}
.subtab2 li.active a { background: var(--color-primary); color: #fff; font-weight: 700; }
.subtab2 li a:hover { background: var(--color-primary); color: #fff; }

/* CEO ?몄궗留?*/
.ceo-wrap {position:relative;}
.ceo-slogan { font-size:var(--font-size38); font-weight:700; line-height:1.31em; letter-spacing:-0.02em; text-align:center; color:#2c2c2c; margin-bottom:32px; font-family: var(--gyeonggi);}
.ceo-slogan strong {color:var(--color-primary);}
.ceo-cont {position:relative;}
.ceo-watermark {position:relative; z-index:0; margin-bottom:-16px; font-family:"Paperlogy", sans-serif; font-size:108px; font-weight:800; line-height:1em; letter-spacing:0.036em; text-align:center; color:rgba(5,47,108,0.03); pointer-events:none;}
.ceo-box {position:relative; z-index:1; display:flex; align-items:stretch; width:100%;}
.ceo-text {display:flex; justify-content:flex-end; width:57.8125%; background:#ebeff4; padding:150px 100px 150px calc((100% - 1400px) / 2); box-sizing:border-box;}
.ceo-text-inner {width:100%; max-width:750px;}
.ceo-head {margin-bottom:40px;}
.ceo-head p {color:var(--color-primary); font-size:38px; font-weight:700; line-height:1.31em; letter-spacing:-0.03em;}
.ceo-head span {display:inline-block; margin:0 4px; padding:5px 30px; background:var(--color-primary); color:#fff; border-radius:8px; vertical-align:middle; position: relative; top: -3px; }
.ceo-body {display:flex; flex-direction:column; gap:24px; margin-bottom:40px;}
.ceo-body .group .tit {font-size:var(--font-size26); font-weight:600; line-height:1.38em; letter-spacing:-0.03em; color:#2c2c2c; margin-bottom:16px;}
.ceo-body .group p {font-size:var(--font-size22); font-weight:400; line-height:1.63em; letter-spacing:-0.03em; color:#2c2c2c;}
.ceo-sign {display:flex; align-items:center; gap:24px;}
.ceo-sign span {font-size:var(--font-size22); line-height:1.63em; letter-spacing:-0.03em; color:#2c2c2c;}
.ceo-img {position:relative; width:42.1875%; overflow:hidden; background:var(--color-primary);}
.ceo-img img {display:block; width:100%; height:100%; min-height:700px; object-fit:cover;}

/* ?쇳꽣?뚭컻 */
.center-info {display:flex; align-items:stretch; width:100%; margin-bottom:120px; overflow:hidden; border-radius:32px;}
.center-map {width:57.7857%; background:#e8e8e8;}
.center-map img {display:block; width:100%; height:100%; object-fit:cover;}
.center-detail {position:relative; width:42.2143%; padding:100px 50px; background:#052f6c; color:#fff; box-sizing:border-box;}
.center-detail::before {content:""; position:absolute; inset:0; background:url("../images/sub/sub1-2-info-bg.jpg") center / cover no-repeat; opacity:0.5;}
.center-detail-inner {position:relative; z-index:1; width:100%; max-width:491px;}
.center-detail h3 {font-size:var(--font-size38); font-weight:700; line-height:1.31em; letter-spacing:-0.02em; margin-bottom:32px;}
.center-detail .line {position:relative; width:100%; max-width:414px; height:2px; margin-bottom:32px; background:rgba(255,255,255,0.2);}
.center-detail .line::before {content:""; position:absolute; left:0; top:0; width:80px; height:100%; background:#fff;}
.center-detail .info {display:flex; flex-direction:column; gap:16px; margin-bottom:60px;}
.center-detail .info li {display:flex; align-items:flex-start; gap:12px; font-size:var(--font-size22); line-height:1.45em; letter-spacing:-0.02em;}
.center-detail .info li strong {flex:0 0 78px; font-weight:600;}
.center-detail .info li span {flex:1 1 auto; min-width:0; font-weight:400; }
.center-detail .btns {display:flex; flex-direction:column; gap:16px;}
.center-detail .btns .btn {display:flex; align-items:center; justify-content:center; gap:10px; width:100%; padding:16px 10px; background:#fff; border-radius:8px; color:#2c2c2c; font-size:var(--font-size22); font-weight:600; line-height:1.45em; letter-spacing:-0.02em; transition:.3s;}
.center-detail .btns .btn::before {content:""; display:block; width:24px; height:24px; background-repeat:no-repeat; background-position:center; background-size:contain;}
.center-detail .btns .btn.tel::before {background-image:url("../images/sub/tel.png");}
.center-detail .btns .btn.map::before {background-image:url("../images/sub/add.png");}
.center-detail .btns .btn:hover {background:#f2f4f7;}
.center-gallery .tit-area {margin-bottom:60px;}
.center-gallery .tit-area h3 {font-size:var(--font-size40); font-weight:600; line-height:1.05em; letter-spacing:-0.03em; color:#121212; margin-bottom:16px;}
.center-gallery .tit-area p {font-size:var(--font-size22); font-weight:400; line-height:1.45em; letter-spacing:-0.02em; color:#505050;}
.center-list {display:flex; flex-wrap:wrap; gap:60px 40px; margin-bottom:80px;}
.center-list li {width:calc(50% - 20px);}
.center-list a {display:block;}
.center-list .thumb {position:relative; display:block; overflow:hidden; border-radius: 32px; padding-bottom: 66%; }
.center-list .thumb img { position: absolute; left: 0; top: 0; width: 100%; height: 100%; object-fit: cover;}
.center-list .thumb::after {content:""; position:absolute; inset:0; background:rgba(0,0,0,0.48); opacity:0; transition:.3s; backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);}
.center-list .thumb::before {content:""; position:absolute; left:50%; top:50%; z-index:1; width:88px; height:88px; margin:-44px 0 0 -44px; border-radius:50%; background:rgba(255,255,255,0.4) url("../images/sub/sub1-2-view.png") center no-repeat; background-size:40px; opacity:0; transition:.3s;}
.center-list a:hover .thumb::before,
.center-list a:hover .thumb::after {opacity:1;}
.center-list p {margin-top:16px; font-size:var(--font-size22); font-weight:500; line-height:1.45em; letter-spacing:-0.02em; color:#505050; text-align:center;}

/* ?⑷꺽?щ? */
.case-list ul { display: flex; flex-wrap: wrap; gap: 60px 39px;}
.case-list ul li { width: calc(100%/3 - 26px);}
.case-list ul li a { display: block; }
.case-list ul li .thumb { position: relative; padding-bottom: 120%; display: block; overflow: hidden; }
.case-list ul li .thumb img { position: absolute; left: 0; top: 0; width: 100%; height: 100%; object-fit: cover; }
.case-list ul li .thumb::after { content: ""; position: absolute; left: 0; right: 0; top: 0; bottom: 0; margin: auto; border: 1px solid #ddd;}

/* 而⑥꽕?댄듃 ?뚭컻 */
.consultant-sec {width:100%;}
.consultant-headline {font-size:var(--font-size48); font-weight:700; line-height:1.29em; letter-spacing:-0.02em; text-align:center; color:#2c2c2c; margin-bottom:80px;}
.consultant-ceo {display:flex; align-items:stretch; width:100%; min-height:635px; margin-bottom:120px; border:1px solid #ddd; border-radius:32px; overflow:hidden; background:#fff; box-sizing:border-box;}
.consultant-ceo-media {position:relative; display:flex; align-items:center; justify-content:center; width:45.857%; }
.consultant-ceo-media::before {content:""; position:absolute; inset:0; background:url("../images/sub/sub4-pf.jpg") center / cover no-repeat; }
.consultant-ceo-info {display:flex; flex-direction:column; justify-content:center; width:54.143%; padding:40px 60px; box-sizing:border-box;}
.consultant-ceo-head {margin-bottom:40px; padding-bottom:40px; border-bottom:1px solid #ddd;}
.consultant-ceo-head .role {font-size:var(--font-size22); font-weight:600; line-height:1.36em; letter-spacing:-0.02em; color:#052f6c; margin-bottom:12px;}
.consultant-ceo-head .name {display:flex; align-items:center; gap:12px; margin-bottom:24px; color:#2c2c2c;}
.consultant-ceo-head .name strong {font-size:60px; font-weight:700; line-height:1.16em; letter-spacing:-0.02em;}
.consultant-ceo-head .name span {font-size:var(--font-size24); font-weight:400; line-height:1.41em; letter-spacing:-0.02em;}
.consultant-ceo-head .desc {font-size:var(--font-size22); font-weight:400; line-height:1.36em; letter-spacing:-0.02em; color:#505050;}
.consultant-stats {display:flex; gap:40px; margin-bottom:32px;}
.consultant-stats li {flex:1 1 0; min-width:0;}
.consultant-stats li strong {display:block; font-size:var(--font-size36); font-weight:600; line-height:1.27em; letter-spacing:-0.02em; color:#052f6c; margin-bottom:8px;}
.consultant-stats li span {display:block; font-size:var(--font-size18); font-weight:500; line-height:1.66em; letter-spacing:-0.02em; color:#505050;}
.consultant-points {display:flex; flex-wrap:wrap; gap:16px 37px; margin-bottom:40px;}
.consultant-points li {display:flex; align-items:center; gap:8px; width:calc(50% - 18.5px); font-size:var(--font-size22); font-weight:400; line-height:1.36em; color:#505050; box-sizing:border-box;}
.consultant-points li::before {content:""; flex:0 0 32px; width:32px; height:32px; border-radius:50%; background:#e6ebf1 url("../images/sub/sub4-chk.png") center / contain no-repeat;}
.consultant-badge {display:inline-flex; align-items:center; gap:8px; padding:16px 30px; border-radius:500px; background:#052f6c; color:#fff; font-size:var(--font-size20); font-weight:400; line-height:1.5em; letter-spacing:-0.02em;}
.consultant-badge::before {content:""; flex:0 0 32px; width:32px; height:32px; background:url("../images/sub/sub4-ico.png") center / contain no-repeat;}
.consultant-people .tit-area {margin-bottom:60px;}
.consultant-people .tit-area h3 {font-size:var(--font-size40); font-weight:600; line-height:1.25em; letter-spacing:-0.03em; color:#121212; margin-bottom:16px;}
.consultant-people .tit-area p {font-size:var(--font-size22); font-weight:400; line-height:1.45em; letter-spacing:-0.02em; color:#505050;}
.consultant-people-list {display:flex; flex-wrap:wrap; gap:80px 40px;}
.consultant-people-list li {width:calc((100% - 80px) / 3);}
.consultant-people-list li img {display:block; width:100%; height:auto; border-radius:16px;}

/* 설명회/이벤트 */
.event-sec1 { padding: 120px 0; background: url(../images/sub/sub6-bg.jpg) center no-repeat; background-size: cover; margin-bottom: 120px; }
.event-swp { position: relative; }
.event-swp .sub-prev { left: -120px; }
.event-swp .sub-next { right: -120px; }
.event-swiper { padding: 15px 0;}
.event-swiper .item { overflow: hidden; border-radius: 16px; background: #fff; box-sizing: border-box; }
.event-swiper .item a { display: block; }
.event-swiper .item .thumb { position: relative; display: block; overflow: hidden; border-radius: 16px 16px 0 0; padding-bottom: 65.909%; }
.event-swiper .item .thumb img { position: absolute; left: 0; top: 0; width: 100%; height: 100%; object-fit: cover; }
.event-swiper .item .txt { padding: 32px; border-radius: 0 0 16px 16px; background: #fff; }
.event-swiper .item .tag { display: inline-flex; align-items: center; justify-content: center; padding: 4px 20px; margin-bottom: 16px; border-radius: 500px; background: #ebeff4; color: #052f6c; font-size: var(--font-size20); font-weight: 600; line-height: 1.5em; letter-spacing: -0.02em; }
.event-swiper .item .tit { color: #2c2c2c; font-size: var(--font-size28); font-weight: 600; line-height: 1.35em; letter-spacing: -0.02em; overflow:hidden; text-overflow:ellipsis; word-break:break-all; white-space:normal; display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical;}
.event-swiper .item .info { display: flex; flex-direction: column; gap: 8px; margin-top: 24px; padding-top: 24px; border-top: 1px solid #ddd;}
.event-swiper .item .info li { display: flex; align-items: center; gap: 8px; color: #666; font-size: var(--font-size22); font-weight: 400; line-height: 1.45em; letter-spacing: -0.02em; }
.event-swiper .item .info li::before { content: ""; flex: 0 0 20px; width: 20px; height: 20px; background-position: center; background-repeat: no-repeat; background-size: contain; }
.event-swiper .item .info li.date::before { background-image: url(../images/sub/time.png); }
.event-swiper .item .info li.place::before { background-image: url(../images/sub/place.png); }
.event-swiper .item.active { border: 1px solid #052f6c; box-shadow: 2px 2px 16px rgba(0,0,0,0.25); }
.event-swiper .item.active .thumb { border-color: transparent; }
.event-sec2 h2 { margin-bottom: 40px; color: #121212; font-size: var(--font-size40); font-weight: 600; line-height: 1.25em; letter-spacing: -0.03em; }
.event-grid { display: flex; flex-direction: column; gap: 16px; width: 100%; }
.event-grid .thumb { position: relative; display: block; overflow: hidden; width: 100%; height: 100%; background: #f1f1f1; }
.event-grid .thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.event-grid-row { display: flex; gap: 16px; width: 100%; }
.event-grid-row.row1 { align-items: stretch; }
.event-grid-row.row1 .col-large { flex: 1 1 0; min-width: 0; aspect-ratio: 692 / 471; }
.event-grid-row.row1 .col-right { display: flex; flex-direction: column; gap: 16px; flex: 1 1 0; min-width: 0; }
.event-grid-inner { display: flex; gap: 16px; flex: 1 1 0; min-height: 0; }
.event-grid-inner .thumb { flex: 1 1 0; min-width: 0; aspect-ratio: 338 / 230; height: auto; }
.event-grid-row.row1 .col-right > .thumb.wide { flex: 1 1 0; min-height: 0; aspect-ratio: 692 / 230; height: auto; }
.event-grid-row.row2 .thumb { flex: 1 1 0; min-width: 0; aspect-ratio: 338 / 230; height: auto; }
.event-grid-row.row3 .thumb.full { width: 100%; aspect-ratio: 1400 / 600; height: auto; }

/* 교습비 게시표 */
.fee-sec {display:flex; flex-direction:column; gap:85px; width:100%;}
.fee-block {display:flex; flex-direction:column; gap:40px; width:100%;}
.fee-tit {display:flex; align-items:center; gap:12px; font-size:var(--font-size40); font-weight:600; line-height:1.25em; letter-spacing:-0.03em; color:#121212;}
.fee-tit-ico {position:relative; flex:0 0 29px; width:29px; height:16px;}
.fee-tit-ico::before, .fee-tit-ico::after {content:""; position:absolute; top:0; width:16px; height:16px; border-radius:50%; background:var(--color-primary);}
.fee-tit-ico::before {left:0;}
.fee-tit-ico::after {left:13px; opacity:0.45;}
.fee-info {display:flex; flex-direction:column; width:100%; border-bottom:1px solid #ddd;}
.fee-info-row {display:flex; align-items:stretch; width:100%; border-top:1px solid #ddd;}
.fee-info-item {display:flex; align-items:center; width:50%; box-sizing:border-box;}
.fee-info-item .lab {flex:0 0 140px; padding:14px 20px; font-size:var(--font-size22); font-weight:400; line-height:1.45em; letter-spacing:-0.02em; color:#505050; box-sizing:border-box;}
.fee-info-item .val {flex:1 1 auto; min-width:0; padding:14px 20px; font-size:var(--font-size22); font-weight:600; line-height:1.45em; letter-spacing:-0.02em; color:#505050; box-sizing:border-box;}
.fee-table-wrap {width:100%; overflow-x:auto;}
.fee-table {width:100%; min-width:1000px; table-layout:fixed; border-collapse:collapse; border:1px solid #ddd;}
.fee-table thead th {padding:14px 5px; background:#052f6c; color:#fff; font-size:var(--font-size20); font-weight:400; line-height:1.5em; letter-spacing:-0.02em; text-align:center;}
.fee-table tbody td {padding:14px 5px; color:#505050; font-size:var(--font-size20); font-weight:400; line-height:1.5em; letter-spacing:-0.02em; text-align:center; border:1px solid #ddd; vertical-align:middle;}
.fee-table tbody tr:nth-child(even) td {background:#f5f7f9;}
.fee-table tbody td[rowspan] {background:#fff;}
.fee-notice {margin-top:24px;}
.fee-notice p {font-size:var(--font-size20); font-weight:400; line-height:1.5em; letter-spacing:-0.02em; color:#505050;}
.fee-notice .date {font-weight:600;}
.fee-notice .company {margin-top:16px; font-size:var(--font-size22); font-weight:600; line-height:1.45em; letter-spacing:-0.02em; color:#2c2c2c;}