@charset "utf-8";

/***************************************************************************/
/*					                    모바일 우선(기본설정) 			                             /
/***************************************************************************/

html {font-size: 15px;}
body {font-size: 1rem;line-height: 1.5;overflow-x: hidden;}

/* 터치 하이라이트 제거 이슈로 버튼만 클릭시 투명도 조절하여 시각적반응 줌 */
button:active {opacity: 0.7;}

/* 헤더 */
.header {background-color: #fff;border-bottom: 1px solid #efefef;position: sticky;top: 0;z-index: 100;}
.header-inner {width: 100%;max-width: 1200px;margin: 0 auto;}
.logo {width: 100%;padding: 10px 0;display: flex;justify-content: center;align-items: center;}
.logo a {width: 200px;height: 45px;display: block;background: url("../img/logo_m_new.png") no-repeat center center;background-size: 200px 45px;cursor: pointer;color: transparent;text-indent: -9999px;}
.main-nav {width: 100%;border-top: 1px solid #efefef;position: relative; /* 밑줄 기준이 될 부모 */}
.nav-list {display: flex;justify-content: space-around;padding: 10px 0;margin: 0;}
.nav-list li {width: 25%;text-align: center;flex-shrink: 0;}
.nav-list li a {display: inline-block;position: relative;font-size: 16px;font-weight: 600;}
.nav-list li a.active {color:#723cd1;}
.nav-list li a.active::after {content: "";position: absolute;left: 50%;transform: translateX(-50%);bottom: -9px;width: 100%;height: 2px;background-color:#fff;}

/* 푸터 */
.footer {background-color:#f7f8f9;padding:30px 0;font-size:12px;text-align: center;}
.footer-inner {display: flex;flex-direction: column; /* 모바일에서 수직 배치 */gap: 20px;}
.company-info {margin-top:20px;line-height: 1.8;padding:0 20px;display: flex;flex-wrap: wrap;justify-content: center;}
.company-info li {margin:0 8px; padding: 0;white-space: nowrap; /* 항목 내용이 짤리는 것을 방지 */}
.company-info li b {font-weight:600;margin-right:5px;}
.tel-number {font-size:18px;font-weight:600;}
.tel-number b {margin-left:5px;color:#c22121;}
.copyright {margin-top:10px;color: #999;}
.bank-num {margin-top:5px;font-size:0.9rem;}
.bank-num b {font-weight:600;margin-right:5px;}

/* 비주얼슬라이드 */
.slider {position: relative;width: 100%;height:300px;overflow: hidden;}
.slide {position: absolute;width: 100%;height: 100%;opacity: 0;transition: opacity 1s ease-in-out;background-size: cover;background-position: center;}
.slide.active {opacity: 1;}
.slide::after {content: "";position: absolute;inset: 0;background: rgba(0, 0, 0, 0.5);}/* 어두운 레이어 */
.slide-text {width: 62vw;max-width:600px;position: absolute;top: 57%; /* 50% → 57%로 변경: 텍스트를 살짝 아래로 내림 */left: 50%;transform: translate(-50%, 30%);text-align: center;z-index: 2;opacity: 0;transition: all 1.2s ease-in-out;}
.slide.active .slide-text {opacity: 1;transform: translate(-50%, -50%);}
.slide-text h3 {font-size: 2rem;font-weight: 600;line-height:1.2;color: #fff;}
.slide-text p {margin-top:10px;font-size:1rem;font-weight:400;color:rgba(255, 255, 255, 0.7);}
.pagination {position: absolute;bottom: 25px;left: 50%;transform: translateX(-50%);display: flex;gap: 10px;z-index: 2;}
.dot {width: 8px;height:8px;border-radius: 50%;background: rgba(255, 255, 255, 0.4);transition: background 0.3s;cursor: pointer;}
.dot.active {background: #fff;}
.vimg1 {background-image: url('../img/vimg_n01_m.jpg');}
.vimg2 {background-image: url('../img/vimg_n02_m.jpg');}
.vimg3 {background-image: url('../img/vimg_n03_m.jpg');}
.button-wrap {position: absolute;top: 50%;left: 50%;transform: translate(-50%, calc(-50% - 90px)); /* 텍스트보다 위쪽으로 90px 이동 */display: flex;gap:10px;z-index: 10;}
.button-wrap button {background: rgba(255, 255, 255, 1);color: #333;border: 1px solid rgba(255, 255, 255, 0.4);width:125px;padding:9px 0;font-size:0.8rem;text-align:center;border-radius: 30px;font-weight: 500;backdrop-filter: blur(5px);transition: all 0.3s ease;cursor: pointer;}
.button-wrap button:hover {background: rgba(255, 255, 255, 0.7);}
.button-wrap button img {width:20px;height:20px;margin-right:6px;}

/* 플로팅 배너 */
.floating-wrapper {position: fixed;right:10px;top: 50%;transform: translateY(-50%);display: flex;flex-direction: column;gap:15px;z-index: 1000;}
.float-ban1 {width:54px;height:70px;display: flex;flex-direction: column;align-items: center;text-align: center;}
.float-ban1 img {width:54px;height:54px;}
.float-ban1 p {margin-top:2px;border-radius:3px;background-color:#00c73c;padding:6px 0;line-height:1;color:#fff;font-size:9px;letter-spacing:-0.5px;}
.float-ban2 {width:54px;height:70px;display: flex;flex-direction: column;align-items: center;text-align: center;}
.float-ban2 img {width:54px;height:54px;}
.float-ban2 p {border-radius:2px;background-color:#00c73c;padding:6px 0;line-height:1;color:#fff;font-size:9px;letter-spacing:-0.5px;}

/* 위로가기 버튼 */
#scrollToTopBtn{position:fixed;bottom:20px;right:10px;z-index:99;border:none;outline:none;display: flex;justify-content: center;align-items: center;text-align: center;background-color:#494b53;color:white;font-weight:600;cursor:pointer;width:50px;height:50px;border-radius: 50%;box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);font-size:16px;display:none;opacity:0;transition:opacity 0.3s, transform 0.3s;transform:translateY(10px);}
#scrollToTopBtn.show{display:block;opacity:1;transform:translateY(0);}

/* 페이지공통 */
section h2 {font-size:1.4rem;line-height:1;font-weight:600;padding:0 0 0 2px;}
.tc_p {color:#5a25b8;}
.section-default {padding:40px 0;}
.section-default-inner {width:100%;max-width:1200px;margin: 0 auto;padding:0 20px;}
.section-full {width:100%;background:#faf6ff;}
.section-full-inner {width:100%;max-width:1200px;margin: 0 auto;margin: 0 auto;padding:40px 20px;}
.section-sub {padding:40px 0;}
.section-sub-inner {width:100%;max-width:1200px;margin: 0 auto;padding:0 20px;}

/* 메인-진행절차 */
.steps-container {max-width: 1200px;margin:20px auto 0;display: grid;grid-template-columns: repeat(2, 1fr);gap:10px;}
.step-card {background: #f9f7fd;border:1px solid #efe8fc;border-radius:12px;padding:15px 15px;display: flex;flex-direction: column;align-items: center;}
.step-card h3 {font-size:1.1rem;font-weight:600;display: flex;justify-content: center;align-items: center;}
.step-card p {padding-top:5px;font-size:0.8rem;line-height:1.3;text-align:center;}
.step-card p span {color:#5823bb;font-weight:400;}
.step-icon {width:50px;height:50px;object-fit: contain;margin-bottom:10px;}
.step-number {display:inline-block;width:18px;height:18px;line-height:18px;font-size:0.7rem;font-weight: 600;color: #fff;background: #5823bb;border-radius: 50%;text-align:center;margin-right:5px;}

/* 메인-혜택안내 */
.benefit-container{display:flex;flex-wrap:wrap;justify-content:space-between;margin-top:20px;}
.benefit-item{display:flex;flex-direction: row;align-items:center;width:100%;margin:10px 0;}
.icon-area{width:62px;height:62px;display:flex;flex-direction: column;justify-content: center;align-items:center;border-radius: 50%;overflow: hidden;background-color: #612dbe;}
.icon-area img{width:32px;height:32px;object-fit:contain;}
.icon-area h3 {display:none;}
.benefit-txt{width:82%;color:#5c2cb0;font-size:0.85rem;font-weight:300;padding-left:10px;line-height:1.4;}
.benefit-tit {color:#612dbe;font-size:1.1rem;font-weight:600;}

/* 메인-하단-비주얼배너 */
.hero-banner {position: relative;width: 100%;height:150px;background: url('../img/bg_copy.jpg') top/cover no-repeat;display: flex;align-items: center;justify-content: center;color: #fff;text-align: center;overflow: hidden;}
.hero-banner::after {content: "";position: absolute;top: 0;left: 0;width: 100%;height: 100%;background: rgba(0, 0, 0, 0.5);z-index: 1;}
.hero-text {position: relative;z-index: 2;max-width: 90%;}
.hero-text p {font-size: 1.1rem;margin-bottom:5px;opacity: 0.9;}
.hero-text h3 {font-size: 1.4rem;font-weight: 600;line-height: 1.3;}

/* 메인-후기 */
.review-section {max-width:1200px;margin:20px auto 0;padding:0;}
.review-item {display:flex;align-items:stretch;justify-content:space-between;background: #f9f7fd;border:1px solid #efe8fc;border-radius:12px;overflow:hidden;margin-bottom:10px;}
.review-content {flex:0 0 65%;padding:15px 20px;}
.review-name {font-size:0.8rem;font-weight:600;margin-bottom:5px;}
.review-text {font-size:0.8rem;line-height:1.3;}
.review-text span {color:#5823bb;font-weight:500;background:url('../img/bg_txt2.png') repeat-x left bottom;}
.review-photo {flex: 0 0 35%;height:150px; /* ← 고정 높이 설정 */overflow: hidden;border-radius: 12px 0 0 12px;}
.review-photo img {width: 100%;height: 100%;object-fit: cover;display: block;}
.divider {color: #ccc;font-weight:300 !important;font-size:0.7rem;padding:0 2px;}
.scope {font-weight: 600;color: #ffd700;letter-spacing:0;font-size: 0.7rem;line-height: 1;vertical-align: middle;position: relative;top: -2px;}
.apply-button{display:block;width:100%;max-width:400px;padding:18px 20px;margin:20px auto 0;border:none;border-radius:12px;background-color:#db3434;color:#fff;font-size:1.2rem;font-weight:bold;cursor:pointer;transition:background-color 0.3s ease;}
.apply-button:hover{background-color:#c22121;}

/* 메인-하단-이미지슬라이드 */
.autoSlide-wrap{overflow:hidden;width:100%;position:relative;touch-action:pan-y;}
.autoSlide-track{display:flex;transition:transform 0.5s ease;will-change:transform;}
.autoSlide-item{flex:0 0 calc(100% / 3);}/* 간격이 필요할 경우 padding:0 5px; 처럼 설정할것 */
.autoSlide-item img{width:100%;display:block;pointer-events:none;}

/* 메인-지도 */
.map-container{position:relative;width:100%;padding-bottom:56.25%;height:0;overflow:hidden;margin-top:50px;}
.map-container iframe{position:absolute;top:0;left:0;width:100%;height:100%;}

/* 서브페이지 */
.sub-topimg {position: relative;width: 100%;height:150px;display: flex;align-items: center;justify-content: center;color: #fff;text-align: center;overflow: hidden;}
.sub-topimg::after {content: "";position: absolute;top: 0;left: 0;width: 100%;height: 100%;background: rgba(0, 0, 0, 0.4);z-index: 1;}
.sub-topimg-text {position: relative;z-index: 2;max-width: 90%;}
.sub-topimg-text p {font-size: 1rem;margin-bottom:5px;opacity: 0.9;}
.sub-topimg-text h3 {font-size: 1.5rem;font-weight: 500;line-height: 1.4;}
.subimg1 {background: url('../img/img-sub1.jpg') top/cover no-repeat;}
.subimg2 {background: url('../img/img-sub2.jpg') center/cover no-repeat;}
.subimg3 {background: url('../img/img-sub3.jpg') center/cover no-repeat;}
.subimg4 {background: url('../img/img-sub4.jpg') center/cover no-repeat;}

/* 강습안내 */
.sub-txtbox {padding-top:14px;}
.sub-txtbox strong {color:#723cd1;font-weight:400;background:url('../img/bg_txt2.png') repeat-x left bottom;}
.key-features {margin:20px auto 0;max-width:1200px;padding:20px 20px;background:#f7f8f9;border-radius:12px;}
.key-features ul {padding-inline-start:15px;}
.key-features ul li {list-style-type: disc;font-size:0.94rem;line-height:1.3;padding:4px 0;padding-inline-start:3px;}
.key-features ul li strong {font-weight:500;color:#0276c6;}
.cert-wrap {margin:20px auto 0;max-width:1200px;}
.cert-grid {display:grid;gap:16px;grid-template-columns:repeat(4, 1fr);}
.cert-item {border:1px solid rgba(0, 0, 0, 0.1);}
.cert-item img {width:100%;object-fit:cover;}
.grid-wrap {margin:20px auto 0;max-width:1200px;display:grid;gap:16px;}
.card {width:100%;aspect-ratio: auto;height: auto;background: #f9f7fd;border:1px solid #efe8fc;border-radius:12px;padding:30px 30px;}
.card h3 {font-size:1.1rem;color:#555;border-bottom:1px solid #ecebeb;padding-bottom:10px;}
.card h3 strong {font-size:1.4rem;font-weight:600;padding-right:3px;color:#222;}
.card p {color:#723cd1;font-size:0.9rem;font-weight:500;}
.card ul {margin-top:10px;padding-inline-start:15px;}
.card ul li {list-style-type: disc;padding-inline-start:5px;}
.grid-wrap {grid-template-columns:1fr;}

/* 강습비용 */
.cost-tit {line-height:1.3;}
.cost-features {margin:20px auto 0;max-width:1200px;padding:20px 20px;background:#f7f8f9;border-radius:12px;}
.cost-features ul {padding-inline-start:15px;}
.cost-features ul li {list-style-type: disc;font-size:0.94rem;line-height:1.4;padding-inline-start:3px;}
.price-table{width:100%;margin:15px auto 0;text-align:center;}
.price-table table{width:100%;border-collapse:collapse;border:1px solid #e8e5ee;}
.price-table th{border:1px solid #e8e5ee;padding:7px;font-size:0.86rem;line-height:1.3;}
.price-table td{border:1px solid #e8e5ee;padding:8px;font-size:0.86rem;line-height:1.3;}
.price-table thead th{background-color:#723cd1;color:#fff;font-weight:400;}
.price-table tbody td:first-child{background-color:#faf6ff;font-weight:400;line-height:1.1;}
.price-table tbody td.sale {font-weight:500;font-size:1.3rem;padding:15px 0;}
.diagonal-cell{position:relative;width:90px;height:50px;background:#66b3a6;border:1px solid #e8e5ee;overflow:hidden;}
.diagonal-cell::before{content:"";position:absolute;inset:0;background:linear-gradient(to top right, transparent 49.5%, #ffffff 50%, transparent 50.5%);z-index:1;}
.diagonal-text{position:relative;width:100%;height:100%;z-index:2;}
.diagonal-text .left{position:absolute;bottom:2px;left:3px;font-size:0.7rem;font-weight:500;color:#ffffff;text-align:left;}
.diagonal-text .right{position:absolute;top:2px;right:3px;font-size:0.7rem;font-weight:500;color:#ffffff;text-align:right;}
.price-table .note{margin-top:10px;font-size:0.8rem;text-align:left;color:#888;line-height:1.3;}
.ticket {margin-top:30px;}
.ticket h4 {font-size:1rem;font-weight:500;border-bottom:1px solid #efefef;padding-bottom:5px;}
.ticket ul {margin-top:10px;display: flex;justify-content: flex-start;}
.ticket ul li {width:23%;font-size:0.9rem;line-height:1.3;}
.ticket ul li b {font-weight:500;}
.ticket p {margin-top:15px;font-size:0.8rem;color:#888;}
.gift {margin-top:10px;max-width:1200px;}
.gift ul {display: flex;justify-content: space-between;flex-wrap: wrap;}
.gift ul li {position: relative; margin-top: 5px; width: 32%;color:#5823bb;font-size: 0.9rem; line-height: 1.2; font-weight: 400; padding:15px 10px; border-radius: 8px; display: flex; align-items: center; justify-content: center; text-align: center;background-color: #faf6ff;border:1px solid #e8e5ee;}
.gift ul li::before {content: ""; position: absolute; top: 0; left: 0; width: 20px; height: 20px; background-image:url('../img/left-ribbon.png'); background-size: contain; background-repeat: no-repeat; pointer-events: none;}
.gift ul li::after {content: ""; position: absolute; bottom: 0; right: 0; width: 20px; height: 20px; background-image: url('../img/right-ribbon.png'); background-size: contain; background-repeat: no-repeat; pointer-events: none;}
.gift ul li b {font-weight:500;}
.gift p {margin-top:15px;font-size:0.8rem;color:#888;}
.tstxt {font-size:0.8rem;color:#666;font-weight:300;}
.cost-stxt {padding-top:5px;padding-left:2px;}
.cd_stxt {font-size:0.7rem;letter-spacing:-0.3px;}


/* 강습시간 */
.tit-time {padding:0 0 5px 0;}
.txt-time {padding:0;color:#db3434;font-weight:500;font-size:1.06rem;}
.time {max-width:1200px;margin-top:15px;}
.time ul {display: flex;justify-content: flex-start;flex-wrap: wrap;gap: 1%;}
.time ul li {margin-top: 5px;flex: 0 0 calc(25% - 1%);color: #85719e;line-height: 1.2;text-decoration: line-through;padding: 10px 10px;background-color: #faf6ff;border: 1px solid #d9cfe6;border-radius: 8px;display: flex;align-items: center;justify-content: center;text-align: center;box-sizing: border-box;}
.time ul li.open {color:#fff;font-weight:500;background: #723cd1;border:1px solid #6935c5;text-decoration:none;}
.list-base {max-width:1200px;margin-top:15px;}
.list-base ul {padding-inline-start:15px;}
.list-base ul li {list-style-type: disc;line-height:1.3;padding:4px 0;padding-inline-start:3px;}
.list-base ul li b {font-weight:500;color:#723cd1;background:url('../img/bg_txt2.png') repeat-x left bottom;}

/* 강습신청 */
.tit-apply {padding:0 0 5px 0;}
.txt-apply {padding:0;color:#db3434;font-weight:500;}
.apply-sub-container {max-width: 1200px;margin:20px auto 0;display: grid;grid-template-columns: repeat(2, 1fr);gap:10px;}
.apply-sub-card {background: #f9f7fd;border:1px solid #efe8fc;border-radius:12px;padding:15px 15px;display: flex;flex-direction: column;align-items: center;}
.apply-sub-card h3 {font-size:1.1rem;font-weight:600;display: flex;justify-content: center;align-items: center;}
.apply-sub-card p {padding-top:5px;font-size:0.8rem;line-height:1.3;text-align:center;}
.apply-sub-card p span {color:#5823bb;font-weight:400;}
.apply-sub-icon {width:50px;height:50px;object-fit: contain;margin-bottom:10px;}
.apply-sub-number {display:inline-block;width:18px;height:18px;line-height:18px;font-size:0.7rem;font-weight: 600;color: #fff;background: #5823bb;border-radius: 50%;text-align:center;margin-right:5px;}


/***************************************************************************/
/*				                      데스크탑(1200px 이상)		                                 /
/***************************************************************************/
@media (min-width: 1200px) {

html {font-size: 17px;}
hr { position: absolute;left: -9999px;width: 0;height: 0;overflow: hidden;text-indent: -9999px;}

/* 헤더 */
.header-inner {width: 100%;max-width:1200px;margin: 0 auto;display: flex; justify-content: space-between;align-items: center;}
.logo {padding:15px 0;display: block;}
.logo a {width: 225px;height:64px;display: block;background: url("../img/logo_new.png") no-repeat left center;background-size:225px 64px;cursor: pointer;color: transparent;text-indent: -9999px;}
.main-nav {border-top: none;position: static; /* 모바일에서 사용했던 position 제거 */}
.nav-list {display: flex;justify-content: flex-end;padding:15px 0 10px 0;margin: 0;}
.nav-list li {text-align: center;margin-left:80px;width: auto;flex-shrink: 0;}
.nav-list li a {display: inline-block;position: relative;font-size:17px;line-height:1;font-weight:400;padding-bottom:10px;}
.nav-list li a:hover {color:#723cd1;}
.nav-list li a.active {font-weight:500;color:#723cd1;}
.nav-list li a.active::after {content: "";position: absolute;left: 50%;transform: translateX(-50%);bottom:0; width: 100%;height: 2px;background-color: #723cd1;}

/* 푸터 */
.footer {background-color:#f7f8f9;padding:80px 0;font-size:14px;text-align: center;}
.company-info {margin-top:30px;}
.company-info li b {font-weight:500;margin-right:5px;}
.tel-number {font-size:1.8rem;font-weight:600;}
.tel-number b {margin-left:10px;}
.copyright {margin-top:10px;color: #999;font-size:13px;}
.bank-num {margin-top:5px;font-size:0.9rem;}
.bank-num b {font-weight:500;margin-right:5px;}

/* 비주얼슬라이드 */
.slider {position: relative;width: 100%;height:560px;overflow: hidden;}
.slide-text {width: auto;max-width: none;position: absolute;top: 57%; /* 50% → 57%로 변경: 텍스트를 살짝 아래로 내림 */left: 50%;transform: translate(-50%, 30%);text-align: center;z-index: 2;opacity: 0;transition: all 1.2s ease-in-out;}
.slide-text h3 {font-size: 3.8rem;font-weight: 600;line-height: 1.2;color: #fff;}
.slide-text p {margin-top:10px;font-size:1.2rem;font-weight:400;color:rgba(255, 255, 255, 0.7);}
.dot {width: 12px;height: 12px;border-radius: 50%;background: rgba(255, 255, 255, 0.4);transition: background 0.3s;cursor: pointer;}
.vimg1 {background-image: url('../img/vimg_n01.jpg');}
.vimg2 {background-image: url('../img/vimg_n02.jpg');}
.vimg3 {background-image: url('../img/vimg_n03.jpg');}
.button-wrap {position: absolute;top: 50%;left: 50%;transform: translate(-50%, calc(-50% - 100px)); /* 텍스트보다 위쪽으로 100px 이동 */display: flex;gap: 20px;z-index: 10;}
.button-wrap button {background: rgba(255, 255, 255, 1);color: #333;border: 1px solid rgba(255, 255, 255, 0.4);width:170px;padding: 12px 0;font-size:1rem;text-align:center;border-radius: 30px;font-weight: 500;backdrop-filter: blur(5px);transition: all 0.3s ease;cursor: pointer;}
.button-wrap button img {width:25px;height:25px;margin-right:5px;}

/* 플로팅 배너 */
.floating-wrapper {position: fixed;right: 20px;top: 50%;transform: translateY(-50%);display: flex;flex-direction: column;gap:15px;z-index: 1000;}
.float-ban1 {width:80px;height:110px;display: flex;flex-direction: column;align-items: center;text-align: center;}
.float-ban1 img {width:80px;height:80px;}
.float-ban1 p {margin-top:3px;border-radius:3px;background-color:#00c73c;padding:6px 0;line-height:1;color:#fff;font-size:12px;letter-spacing:-0.5px;}
.float-ban2 {width:80px;height:110px;display: flex;flex-direction: column;align-items: center;text-align: center;}
.float-ban2 img {width:80px;height:80px;}
.float-ban2 p {border-radius:3px;background-color:#00c73c;padding:6px 0;line-height:1;color:#fff;font-size:12px;letter-spacing:-0.5px;}

/* 메인페이지 */
section h2 {text-align:center;font-size:2.4rem;font-weight:600;letter-spacing:-1px;}
section h2 span {color:#c22222;}
.section-default {padding:120px 0;}
.section-default-inner {width:100%;max-width:1200px;margin: 0 auto;padding:0;}
.section-full-inner {width:100%;max-width:1200px;margin: 0 auto;margin: 0 auto;padding:120px 0;}
.section-sub {padding:80px 0;}
.section-sub-inner {width:100%;max-width:1200px;margin: 0 auto;padding:0;}

/* 메인-진행절차 */
.steps-container {max-width: 1200px;margin:60px auto 0;display: grid;grid-template-columns: repeat(3, 1fr);gap: 30px;}
.step-card {background: #faf6ff;border:1px solid #efe8fc;border-radius: 12px;padding:40px;display: flex;flex-direction: column;justify-content: center;align-items: center;}
.step-card h3 {font-size:1.4rem;font-weight:600;display: flex;justify-content: center;align-items: center;}
.step-card p {padding:15px 5px 0 5px;line-height:1.5;font-size:1rem;letter-spacing:-0.5px;}
.step-card p span {color:#723cd1;font-weight:400;}
.step-icon {width:90px;height:90px;object-fit: contain;margin-bottom:20px;}
.step-number {display:inline-block;width:24px;height:24px;line-height: 24px;font-size:0.8rem;font-weight: 600;color: #fff;background: #723cd1;border-radius: 50%;text-align:center;margin-right:8px;}

/* 메인-혜택안내 */
.benefit-container {display: flex;flex-wrap: wrap;justify-content:center;margin-top:60px;}
.benefit-item {width:33%;display: flex;flex-direction:column;align-items:center;text-align: center;padding:20px 0 0 0;}
.icon-area {width:280px;height: 280px;margin-bottom:30px;display: flex;flex-direction: column;justify-content: center;align-items:center;border-radius: 50%;overflow: hidden;}
.icon-area img {width:90px;height:90px;}
.icon-area h3 {display:block;font-size:1.5rem;color:#fff;margin:10px 0 0 0;font-weight:500;letter-spacing:-0.5px;} 
.benefit-txt {width:100%;font-weight:300;margin:10px 0 0 0;font-size:1.06rem;text-align:left;padding:0 25px;}
.benefit-tit {display:none;}

/* 메인-하단-비주얼배너 */
.hero-banner {position: relative;width: 100%;height:300px;margin:0;background: url('../img/bg_copy_w.jpg') top/cover no-repeat;display: flex;align-items: center;justify-content: center;color: #fff;text-align: center;overflow: hidden;}
.hero-text p {font-size: 1.4rem;margin-bottom:10px;opacity: 0.9;}
.hero-text h3 {font-size: 2.3rem;font-weight: 600;line-height: 1.2;letter-spacing:-1px;}

/* 메인-후기 */
.review-section {max-width:1200px;margin:60px auto;padding:0;}
.review-title {font-size:2rem;font-weight:600;text-align:center;margin-bottom:60px;}
.review-item {display:flex;align-items:stretch;justify-content:space-between;background: #faf6ff;border:1px solid #efe8fc;border-radius:12px;overflow:hidden;margin-bottom:30px;}
.review-content {flex:0 0 70%;padding:40px 50px 20px 50px;}
.review-name {font-size:1rem;font-weight:600;margin-bottom:15px;}
.review-text {font-size:1.08rem;line-height:1.4;}
.review-text span {color:#723cd1;font-weight:500;background:url('../img/bg_txt2.png') repeat-x left bottom;}
.review-photo {flex: 0 0 30%;height:220px; /* ← 고정 높이 설정 */overflow: hidden;border-radius: 12px 0 0 12px;}
.review-photo img {width: 100%;height: 100%;object-fit: cover;display: block;}
.divider {color: #ccc;font-weight:300 !important;font-size:0.8rem;padding:0 10px;}
.scope {font-weight: 600;color: #ffd700;letter-spacing:-1.5px;font-size: 0.85rem;line-height: 1;vertical-align: middle;position: relative;top: -2px;}
.apply-button{display:block;width:100%;max-width:400px;padding:25px 20px;margin:40px auto 0;border:none;border-radius:12px;background-color:#db3434;color:#fff;font-size:1.5rem;font-weight:bold;cursor:pointer;transition:background-color 0.3s ease;}
.apply-button:hover{background-color:#c22121;}

/* 메인-이미지슬라이드 */
.autoSlide-item{flex:0 0 calc(100% / 5);}

/* 메인-지도 */
.map-container{position:relative;width:100%;padding-bottom:20%;height:0;overflow:hidden;margin-top:50px;}

/* 서브페이지 */
.sub-topimg {position: relative;width: 100%;height:300px;display: flex;align-items: center;justify-content: center;color: #fff;text-align: center;overflow: hidden;}
.sub-topimg-text p {font-size: 1.2rem;margin-bottom:10px;opacity: 0.9;}
.sub-topimg-text h3 {font-size: 2.8rem;font-weight: 600;line-height: 1.2;}
.subimg1 {background: url('../img/img-sub1-w.jpg') top/cover no-repeat;}
.subimg2 {background: url('../img/img-sub2-w.jpg') center/cover no-repeat;}
.subimg3 {background: url('../img/img-sub3-w.jpg') top/cover no-repeat;}
.subimg4 {background: url('../img/img-sub4-w.jpg') top/cover no-repeat;}

/* 강습안내 */
.sub-txtbox {margin-top:30px;text-align:center;font-size:1.06rem;}
.key-features {margin:40px auto 0;max-width:1200px;padding:50px 50px;background:#f7f8f9;border-radius:12px;}
.key-features ul {padding-inline-start:15px;}
.key-features ul li {list-style-type: disc;font-size:0.94rem;line-height:1.4;padding:4px 0;padding-inline-start:3px;}
.cert-wrap {margin:40px auto 0;max-width:1200px;}
.cert-grid {display:grid;gap:16px;grid-template-columns:repeat(7, 1fr);}
.grid-wrap {margin:40px auto 0;max-width:1200px;display:grid;gap:16px;}
.grid-wrap {grid-template-columns:repeat(2, 1fr);} /* 한줄에 2개 노출 */
.card {width:100%;aspect-ratio: auto;height: auto;border-radius:12px;padding:50px 50px;}
.card h3 {font-size:1.1rem;color:#555;border-bottom:1px solid #ecebeb;padding-bottom:10px;}
.card h3 strong {font-size:1.4rem;font-weight:600;padding-right:3px;color:#222;}
.card p {font-size:1rem;font-weight:500;margin-top:0 !important;}
.card ul {margin-top:10px;padding-inline-start:15px;}
.card ul li {list-style-type: disc;padding-inline-start:5px;}

/* 강습비용 */
.cost-tit {line-height:1.4;}
.cost-features {margin:40px auto 0;max-width:1200px;padding:50px 50px;background:#f7f8f9;border-radius:12px;}
.cost-features ul li {list-style-type: disc;font-size:1rem;line-height:1.8;padding-inline-start:3px;}
.price-table{width:100%;margin:40px auto 0;text-align:center;}
.price-table th{padding:15px;font-size:1rem;line-height:1.3;}
.price-table td{padding:15px;font-size:1rem;line-height:1.3;}
.price-table tbody td.sale {font-weight:500;font-size:1.6rem;padding:30px 0;}
.diagonal-cell{position:relative;width:90px;height:60px;background:#66b3a6;overflow:hidden;}
.diagonal-text .left{font-size:0.8rem;}
.diagonal-text .right{font-size:0.8rem;}
.price-table .note{margin-top:10px;font-size:0.8rem;text-align:left;color:#888;line-height:1.3;}
.ticket {margin-top:50px;}
.ticket h4 {font-size:1.3rem;font-weight:500;border-bottom:1px solid #efefef;padding-bottom:5px;}
.ticket ul li {width:20%;font-size:1rem;line-height:1.3;}
.ticket p {margin-top:25px;font-size:0.8rem;color:#888;}
.gift {margin-top:40px;max-width:1200px;}
.gift ul {display: flex;justify-content: space-between;flex-wrap: wrap;}
.gift p {margin-top:15px;font-size:0.8rem;color:#888;}
.gift ul li {position: relative; margin-top: 5px; width: 32%; font-size: 1.1rem; line-height: 1.2; font-weight: 400; padding: 30px 10px; border-radius: 8px; display: flex; align-items: center; justify-content: center; text-align: center;background-color: #faf6ff;}
.gift ul li::before {content: ""; position: absolute; top: 0; left: 0; width: 40px; height: 40px; background-image:url('../img/left-ribbon.png'); background-size: contain; background-repeat: no-repeat; pointer-events: none;}
.gift ul li::after {content: ""; position: absolute; bottom: 0; right: 0; width: 40px; height: 40px; background-image: url('../img/right-ribbon.png'); background-size: contain; background-repeat: no-repeat; pointer-events: none;}
.cost-stxt {padding-top:20px;text-align:center;letter-spacing:-0.5px;}
.cd_stxt {font-size:1rem;letter-spacing:0;}

/* 강습시간 */
.tit-time {padding:0;}
.txt-time {padding:10px 0 0 0;font-weight:500;text-align:center;font-size:1.5rem;}
.time {margin-top:40px;max-width:1200px;}
.time ul li {margin-top: 5px;flex: 0 0 calc(25% - 1%);font-size:1.1rem;line-height: 1.2;text-decoration: line-through;padding:20px 10px;border-radius: 8px;display: flex;align-items: center;justify-content: center;text-align: center;box-sizing: border-box;}
.time ul li.open {font-size:1.2rem;}
.list-base {margin:40px auto 0;max-width:800px;}
.list-base ul li {list-style-type: disc;line-height:1.5;padding:4px 0;padding-inline-start:3px;font-size:1.06rem;}

/* 강습신청 */
.tit-apply {padding:0;}
.txt-apply {padding:10px 0 0 0;font-weight:500;text-align:center;font-size:1.5rem;}
.apply-sub-container {max-width: 1200px;margin: 50px auto 0;display: flex;flex-wrap: wrap;gap: 15px;justify-content: center;} 
.apply-sub-container > * {width: calc((100% - 15px * 3) / 4);}
.apply-sub-card {background: #faf6ff;border:1px solid #efe8fc;border-radius: 12px;padding:40px 20px;display: flex;flex-direction: column;align-items: center;}
.apply-sub-card h3 {font-size:1.4rem;font-weight:600;display: flex;justify-content: center;align-items: center;}
.apply-sub-card p {padding:15px 0 0 0;line-height:1.3;font-size:0.9rem;letter-spacing:-0.5px;}
.apply-sub-card p span {color:#723cd1;font-weight:400;}
.apply-sub-icon {width:90px;height:90px;object-fit: contain;margin-bottom:20px;}
.apply-sub-number {display:inline-block;width:24px;height:24px;line-height: 24px;font-size:0.8rem;font-weight: 600;color: #fff;background: #723cd1;border-radius: 50%;text-align:center;margin-right:8px;}

}



/* 기타 해상도 고려 (767px 이상 1199px 이하 적용) */
@media (min-width: 767px) and (max-width: 1199px) {

.cert-grid {display:grid;gap:16px;grid-template-columns:repeat(7, 1fr);} /* 자격확인서 1줄에 5개 노출 */
.grid-wrap {grid-template-columns:repeat(2, 1fr);} /* 스키보드 강습카드 1줄에 2개 노출 */
.map-container{position:relative;width:100%;padding-bottom:30%;height:0;overflow:hidden;margin-top:50px;} /* 메인 하단 지도 높이값 설정 padding-bottom:30%; */

}


/* 기타 해상도 고려 (1024px 이상 1199px 이하 적용) */
@media (min-width: 1024px) and (max-width: 1199px) {

.autoSlide-item{flex:0 0 calc(100% / 5);} /*메인 하단 이미지 슬라이드 1줄에 5개 노출 */

}