/* generated by event-publishing stage4_codegen */
* {
  margin:0;
  padding:0;
  box-sizing:border-box;
}
html,body {
  width:100%;
}
#content .m_side {
  width:100%;
}
body {
  font-family:'Noto Sans KR','Apple SD Gothic Neo',sans-serif;
}
img {
  vertical-align:top;
  border:0;
}
ul,li {
  list-style:none;
}
.event-wrap {
  position:relative;
  width:100%;
  overflow:hidden;
}
.con-outer {
  position:relative;
  width:100%;
  overflow:hidden;
}
/* bxSlider 기본 테마(흰 배경/테두리/그림자) 무력화 — 샘플 common.css 계약 */
.bx-wrapper {
  background: transparent;
  border: 0;
  box-shadow: none;
  margin: 0 auto;
}
.timerbar {
  position:relative;
  width:2540px;
  left:50%;
  margin-left:-1270px;
  overflow:hidden;
}
.timerbar .con-base {
  display:block;
  width:100%;
}
.timerbar .timer_txt {
  position:absolute;
  left:600px;
  width:360px;
  top:50%;
  transform:translateY(-50%);
  color:#fff;
  font-size:24px;
  font-weight:700;
  white-space:nowrap;
  text-align:right;
  font-family:'Pretendard','Noto Sans KR',sans-serif;
}
/* 카운트다운 숫자: 배경 이미지에 baked 된 숫자 타일 위에 시스템폰트로 오버레이 */
.timerbar .tdigit {
  position:absolute;
  top:16px;
  height:66px;
  line-height:66px;
  text-align:center;
  color:#fff;
  font-size:42px;
  font-weight:800;
  font-family:'Pretendard','Noto Sans KR',sans-serif;
  letter-spacing:0.30em;
  text-indent:0.30em;
}
.timerbar .td-day  { left:998px;  width:89px; }
.timerbar .td-hour { left:1154px; width:88px; }
.timerbar .td-min  { left:1274px; width:87px; }
.timerbar .td-sec  { left:1394px; width:88px; }
/* 수강신청 버튼 클릭 영역 (baked 버튼 위) */
.timerbar .timer-apply {
  position:absolute;
  left:1511px;
  top:23px;
  width:159px;
  height:54px;
  z-index:10;
  display:block;
  cursor:pointer;
}
.con01 {
  position:relative;
  width:2540px;
  left:50%;
  margin-left:-1270px;
  overflow:hidden;
  background-color:#151515;
}
.con01-outer {
  background-color:#151515;
}
.con01 .btn {
  background:transparent;
  border:none;
  cursor:pointer;
  font-size:0;
  padding:0;
  transition:background .2s;
}
.con01 .btn:hover {
  background:rgba(255,255,255,.10);
}
.con01 .btn:active {
  background:rgba(0,0,0,.08);
}
.con02 {
  position:relative;
  width:2540px;
  left:50%;
  margin-left:-1270px;
  overflow:hidden;
  background-color:#ffffff;
}
.con02-outer {
  background-color:#ffffff;
}
.con03 {
  position:relative;
  width:2540px;
  left:50%;
  margin-left:-1270px;
  overflow:hidden;
  background-color:#ffe5f5;
}
.con03-outer {
  background-color:#ffe5f5;
}
.con03 .btn {
  background:transparent;
  border:none;
  cursor:pointer;
  font-size:0;
  padding:0;
  transition:background .2s;
}
.con03 .btn:hover {
  background:rgba(255,255,255,.10);
}
.con03 .btn:active {
  background:rgba(0,0,0,.08);
}
.con04 {
  position:relative;
  width:2540px;
  left:50%;
  margin-left:-1270px;
  overflow:hidden;
  background-color:#ffffff;
}
.con04-outer {
  background-color:#ffffff;
}
.con04 .btn {
  background:transparent;
  border:none;
  cursor:pointer;
  font-size:0;
  padding:0;
  transition:background .2s;
}
.con04 .btn:hover {
  background:rgba(255,255,255,.10);
}
.con04 .btn:active {
  background:rgba(0,0,0,.08);
}
.anim-item {
  opacity:0;
  transition:opacity .6s ease,transform .6s ease;
}
.anim-item.visible {
  opacity:1;
  transform:none!important;
}
.anim-blink1 {
  opacity:1!important;
  transform:none!important;
  animation:animBlink1 1s steps(1) infinite;
}
@keyframes animBlink1 {
  0%,49% { opacity:1; }
  50%,100% { opacity:.25; }
}
.anim-dungdung {
  opacity:1!important;
  transform:none!important;
  animation:animDungdung 1.6s ease-in-out infinite;
}
@keyframes animDungdung {
  0%,100% { transform:translateY(0); }
  50% { transform:translateY(-14px); }
}
/* baked 배지 크롭 오버레이(기능레이어는 base 슬라이스에서 숨김) — 마감임박=깜빡임, 즉시할인=둥둥 */
.anim-blink-img { animation:animBlinkImg 1s steps(1) infinite; }
@keyframes animBlinkImg { 0%,49%{opacity:1;} 50%,100%{opacity:0;} }
.anim-dungdung-img { animation:animDungdung 1.6s ease-in-out infinite; }
.con05 {
  position:relative;
  width:2540px;
  left:50%;
  margin-left:-1270px;
  background-color:#fff6e9;
}
.con05-outer {
  background-color:#fff6e9;
}
.con05 .btn {
  background:transparent;
  border:none;
  cursor:pointer;
  font-size:0;
  padding:0;
  transition:background .2s;
}
.con05 .btn:hover {
  background:rgba(255,255,255,.10);
}
.con05 .btn:active {
  background:rgba(0,0,0,.08);
}
.con06 {
  position:relative;
  width:2540px;
  left:50%;
  margin-left:-1270px;
  overflow:hidden;
  background-color:#ffffff;
}
.con06-outer {
  background-color:#ffffff;
}
.con06 .btn {
  background:transparent;
  border:none;
  cursor:pointer;
  font-size:0;
  padding:0;
  transition:background .2s;
}
.con06 .btn:hover {
  background:rgba(255,255,255,.10);
}
.con06 .btn:active {
  background:rgba(0,0,0,.08);
}
.con07 {
  position:relative;
  width:2540px;
  left:50%;
  margin-left:-1270px;
  overflow:hidden;
}
.con07-outer {
}
.con07 .tab-btn[data-tg='con07Tab762'] {
  transition:opacity .2s;

}
.con08 {
  position:relative;
  width:2540px;
  left:50%;
  margin-left:-1270px;
  overflow:hidden;
  background:linear-gradient(180deg, #f30046 0%, #ff739c 50%, #ffffff 100%);
}
.con08-outer {
  background:linear-gradient(180deg, #f30046 0%, #ff739c 50%, #ffffff 100%);
}
#con08SliderDots .dot,
#con08SliderDots button {
  display:inline-block;
  width:12px;
  height:12px;
  border-radius:50%;
  background:rgba(255,255,255,.5);
  border:0;
  padding:0;
  margin:0 5px;
  cursor:pointer;
}
#con08SliderDots .dot.active,
#con08SliderDots button.active {
  background:#fff;
}
/* 슬16②: 선생님 1:1 답변 — 마퀴 대신 3장 순환 캐러셀(dots 마우스오버) */
#con08Slider {
  display:flex;
  margin:0;
  padding:0;
  gap:24px;
  transition:transform .4s ease;
}
#con08Slider li {
  flex:0 0 33.33%;
  list-style:none;
}
#con08Slider li img { width:100%; height:auto; }
#con08Slider2 {
  display:flex;
  margin:0;
  padding:0;
  width:4340px;
  animation:con08Slider2roll 27s linear infinite normal;
}
#con08Slider2:hover {
  animation-play-state:paused;
}
#con08Slider2 li {
  flex:none;
  list-style:none;
}
@keyframes con08Slider2roll {
  from {
    transform:translateX(0);
  }
  to {
    transform:translateX(-2170px);
  }
}
.con09 {
  position:relative;
  width:2540px;
  left:50%;
  margin-left:-1270px;
  overflow:hidden;
  background:linear-gradient(180deg, #0e0e0e 0%, #000006 100%);
}
.con09-outer {
  background:linear-gradient(180deg, #0e0e0e 0%, #000006 100%);
}
/* con09 탭: 경찰영어/언어논리 (baked 탭·콘텐츠는 이미지에서 숨김) */
.con09 .c9tab {
  position:absolute;
  top:22.69%;
  width:7.72%;
  height:2.91%;
  z-index:20;
  border:0; padding:0; cursor:pointer;
  background:transparent;
}
.con09 .c9tab[data-tab='0'] { left:42.09%; }
.con09 .c9tab[data-tab='1'] { left:50.20%; }
.con09 .c9tab .c9-off, .con09 .c9tab .c9-on {
  position:absolute; left:0; top:0; width:100%; height:100%; object-fit:contain; display:block;
}
.con09 .c9tab .c9-on { opacity:0; }
/* 활성 탭 흰 pill 배경 (이미지엔 fill 미포함 → CSS) */
.con09 .c9tab.active::before {
  content:""; position:absolute; left:0; top:0; width:100%; height:100%;
  background:#fff; border-radius:999px; z-index:0;
}
.con09 .c9tab.active .c9-off { opacity:0; }
.con09 .c9tab.active .c9-on  { opacity:1; z-index:1; }
/* 탭 콘텐츠 (STEP 교재) — content 위치에 정합 */
.con09 .c9-content {
  position:absolute;
  left:36.42%; top:28.20%; width:27.20%;
  z-index:5;
  display:none;
}
.con09 .c9-content img { display:block; width:100%; height:auto; }
.con09 .c9-content.active { display:block; }
.con10 {
  position:relative;
  width:2540px;
  left:50%;
  margin-left:-1270px;
  overflow:hidden;
  background-color:#def5ff;
}
.con10-outer {
  background-color:#def5ff;
}
.con11 {
  position:relative;
  width:2540px;
  left:50%;
  margin-left:-1270px;
  overflow:hidden;
  background-color:#ffffff;
}
.con11-outer {
  background-color:#ffffff;
}
.con12 {
  position:relative;
  width:2540px;
  left:50%;
  margin-left:-1270px;
  overflow:hidden;
  background:linear-gradient(180deg, #7ac7ff 0%, #2aa6ff 100%);
}
.con12-outer {
  background:linear-gradient(180deg, #7ac7ff 0%, #2aa6ff 100%);
}
.con13 {
  position:relative;
  width:2540px;
  left:50%;
  margin-left:-1270px;
  overflow:hidden;
  background-color:#ffffff;
}
.con13-outer {
  background-color:#ffffff;
}
.con13 .btn {
  background:transparent;
  border:none;
  cursor:pointer;
  font-size:0;
  padding:0;
  transition:background .2s;
}
.con13 .btn:hover {
  background:rgba(255,255,255,.10);
}
.con13 .btn:active {
  background:rgba(0,0,0,.08);
}
.con14 {
  position:relative;
  width:2540px;
  left:50%;
  margin-left:-1270px;
  background-color:#fff6e9;
}
.con14-outer {
  background-color:#fff6e9;
}
.con14 .btn {
  background:transparent;
  border:none;
  cursor:pointer;
  font-size:0;
  padding:0;
  transition:background .2s;
}
.con14 .btn:hover {
  background:rgba(255,255,255,.10);
}
.con14 .btn:active {
  background:rgba(0,0,0,.08);
}
@media (prefers-reduced-motion: no-preference) {
  .anim-rise-sec {
    opacity:0;
    transform:translateY(38px);
    transition:opacity .7s ease,transform .7s ease;
  }
  .anim-rise-sec.visible {
    opacity:1;
    transform:none;
  }
}
/* hoisted inline styles (#3014 ⑤) */
.g0001 {
  display:block;
  width:2540px;
  height:auto;
}
.g0002 {
  position:absolute;
  left:839px;
  top:771px;
  width:389px;
  height:66px;
  z-index:17;
}
.g0003 {
  position:absolute;
  left:839px;
  top:771px;
  width:389px;
  height:66px;
  z-index:18;
}
.g0004 {
  position:absolute;
  left:1314px;
  top:771px;
  width:389px;
  height:66px;
  z-index:21;
}
.g0005 {
  position:absolute;
  left:1314px;
  top:771px;
  width:389px;
  height:66px;
  z-index:22;
}
.g0006 {
  position:absolute;
  left:1080px;
  top:1497px;
  width:383px;
  height:54px;
  z-index:5;
  white-space:nowrap;
  display:flex;
  align-items:center;
  line-height:1;
  letter-spacing:-0.08em;
  font-size:40px;
  color:#ffffff;
  font-family:'Noto Sans KR', sans-serif;
  text-align:center;
}
.g0007 {
  position:absolute;
  left:954px;
  top:822px;
  width:290px;
  height:92px;
  z-index:9;
  overflow:hidden;
}
#con03Marquee .roll-track {
  display:flex;
  flex-direction:column;
  gap:6px;
  /* 슬2(수정5): 참고(47333622)와 동일 명단(9명)·동일 체감속도 — 항목당 ~1.33s → 9명 12s */
  animation:con03names 12s linear infinite;
}
#con03Marquee .roll-track span {
  color:#fff;
  /* 슬2Ⓑ(수정4): Figma con03 명단 textbox 와 동일하게 축소(24→20px, 줄높이 33px) */
  font-size:20px;
  font-weight:500;
  text-align:center;
  white-space:nowrap;
  font-family:'Pretendard','Noto Sans KR',sans-serif;
  line-height:33px;
}
@keyframes con03names {
  from { transform:translateY(0); }
  to   { transform:translateY(-50%); }
}
.g0008 {
  position:absolute;
  left:1210px;
  top:1024px;
  width:125px;
  height:45px;
  z-index:9;
}
.g0009 {
  position:absolute;
  left:1210px;
  top:1024px;
  width:125px;
  height:45px;
  z-index:10;
}
.g0010 {
  position:absolute;
  left:954px;
  top:1280px;
  width:640px;
  height:360px;
  z-index:5;
}
.g0011 {
  position:absolute;
  left:954px;
  top:1280px;
  width:640px;
  height:360px;
  z-index:6;
}
.g0012 {
  position:absolute;
  left:1098px;
  top:83px;
  width:344px;
  height:13px;
  z-index:21;
}
.g0013 {
  position:absolute;
  left:0px;
  top:0px;
  width:344px;
  height:13px;
}
.g0014 {
  position:absolute;
  left:1624px;
  top:14px;
  width:304px;
  height:182px;
  z-index:21;
}
.g0015 {
  position:absolute;
  left:0px;
  top:0px;
  width:304px;
  height:182px;
  mix-blend-mode:overlay;
}
.g0016 {
  position:absolute;
  left:938px;
  top:48px;
  width:666px;
  height:33px;
  z-index:21;
}
.g0017 {
  position:absolute;
  left:0px;
  top:0px;
  width:666px;
  height:33px;
}
.g0018 {
  display:none;
}
.g0019 {
  position:absolute;
  left:671px;
  top:834px;
  width:1198px;
  height:95px;
  z-index:9;
}
.g0020 {
  position:absolute;
  left:671px;
  top:834px;
  width:1198px;
  height:95px;
  z-index:10;
}
.g0021 {
  position:absolute;
  left:671px;
  top:1430px;
  width:1198px;
  height:95px;
  z-index:13;
}
.g0022 {
  position:absolute;
  left:671px;
  top:1430px;
  width:1198px;
  height:95px;
  z-index:14;
}
.g0023 {
  position:absolute;
  left:1077px;
  top:1550px;
  width:150px;
  height:50px;
  z-index:21;
}
.g0024 {
  position:absolute;
  left:1077px;
  top:1550px;
  width:150px;
  height:50px;
  z-index:22;
}
.g0025 {
  position:absolute;
  left:1243px;
  top:1550px;
  width:220px;
  height:50px;
  z-index:25;
}
.g0026 {
  position:absolute;
  left:1243px;
  top:1550px;
  width:220px;
  height:50px;
  z-index:26;
}
.g0027 {
  position:absolute;
  left:837px;
  top:477px;
  width:214px;
  height:22px;
  z-index:1;
  white-space:nowrap;
  display:flex;
  align-items:center;
  line-height:1;
  letter-spacing:-0.03em;
  font-size:22px;
  color:#fe0950;
  font-family:'SUIT', sans-serif;
  text-align:left;
}
.g0028 {
  position:absolute;
  left:842px;
  top:442px;
  width:230px;
  height:22px;
  z-index:1;
  white-space:nowrap;
  display:flex;
  align-items:center;
  line-height:1;
  letter-spacing:-0.03em;
  font-size:22px;
  color:#333333;
  font-family:'SUIT', sans-serif;
  text-decoration:line-through;
  text-align:left;
}
.g0029 {
  position:absolute;
  left:1513px;
  top:715px;
  width:296px;
  height:64px;
  z-index:1;
  white-space:nowrap;
  display:flex;
  align-items:center;
  line-height:1;
  letter-spacing:-0.02em;
  font-size:60px;
  color:#fe0950;
  font-weight:bold;
  font-family:'Pretendard', sans-serif;
  text-align:right;
}
.g0030 {
  position:absolute;
  left:837px;
  top:1111px;
  width:214px;
  height:22px;
  z-index:1;
  white-space:nowrap;
  display:flex;
  align-items:center;
  line-height:1;
  letter-spacing:-0.03em;
  font-size:22px;
  color:#005eff;
  font-family:'SUIT', sans-serif;
  text-decoration:line-through;
  text-align:left;
}
.g0031 {
  position:absolute;
  left:842px;
  top:1076px;
  width:230px;
  height:22px;
  z-index:1;
  white-space:nowrap;
  display:flex;
  align-items:center;
  line-height:1;
  letter-spacing:-0.03em;
  font-size:22px;
  color:#333333;
  font-family:'SUIT', sans-serif;
  text-align:left;
}
.g0032 {
  position:absolute;
  left:1504px;
  top:1330px;
  width:304px;
  height:64px;
  z-index:1;
  white-space:nowrap;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  line-height:1;
  letter-spacing:-0.02em;
  font-size:60px;
  color:#005eff;
  font-weight:bold;
  font-family:'Pretendard', sans-serif;
  text-align:right;
}
.g0033 {
  position:absolute;
  left:671px;
  top:860px;
  width:1198px;
  height:95px;
  z-index:5;
}
.g0034 {
  position:absolute;
  left:671px;
  top:860px;
  width:1198px;
  height:95px;
  z-index:6;
}
.g0035 {
  position:absolute;
  left:1077px;
  top:981px;
  width:150px;
  height:50px;
  z-index:9;
}
.g0036 {
  position:absolute;
  left:1077px;
  top:981px;
  width:150px;
  height:50px;
  z-index:10;
}
.g0037 {
  position:absolute;
  left:1243px;
  top:981px;
  width:220px;
  height:50px;
  z-index:13;
}
.g0038 {
  position:absolute;
  left:1243px;
  top:981px;
  width:220px;
  height:50px;
  z-index:14;
}
.g0039 {
  position:absolute;
  left:837px;
  top:578px;
  width:214px;
  height:22px;
  z-index:5;
  white-space:nowrap;
  display:flex;
  align-items:center;
  line-height:1;
  letter-spacing:-0.03em;
  font-size:22px;
  color:#ff3702;
  font-family:'SUIT', sans-serif;
  text-align:left;
}
.g0040 {
  position:absolute;
  left:842px;
  top:543px;
  width:539px;
  height:22px;
  z-index:5;
  white-space:nowrap;
  display:flex;
  align-items:center;
  line-height:1;
  letter-spacing:-0.03em;
  font-size:22px;
  color:#333333;
  font-family:'SUIT', sans-serif;
  text-decoration:line-through;
  text-align:left;
}
.g0041 {
  position:absolute;
  left:1504px;
  top:771px;
  width:304px;
  height:64px;
  z-index:5;
  white-space:nowrap;
  display:flex;
  align-items:center;
  line-height:1;
  letter-spacing:-0.02em;
  font-size:59px;
  color:#ff3702;
  font-weight:bold;
  font-family:'Pretendard', sans-serif;
  text-align:right;
}
.g0042 {
  position:absolute;
  left:953px;
  top:679px;
  width:315px;
  height:277px;
  z-index:17;
}
.g0043 {
  position:absolute;
  left:953px;
  top:679px;
  width:315px;
  height:277px;
  z-index:18;
}
.g0044 {
  position:absolute;
  left:953px;
  top:972px;
  width:315px;
  height:277px;
  z-index:17;
}
.g0045 {
  position:absolute;
  left:953px;
  top:972px;
  width:315px;
  height:277px;
  z-index:18;
}
.g0046 {
  position:absolute;
  left:953px;
  top:1265px;
  width:315px;
  height:277px;
  z-index:17;
}
.g0047 {
  position:absolute;
  left:953px;
  top:1265px;
  width:315px;
  height:277px;
  z-index:18;
}
.g0048 {
  position:absolute;
  left:1280px;
  top:679px;
  width:315px;
  height:277px;
  z-index:17;
}
.g0049 {
  position:absolute;
  left:1280px;
  top:679px;
  width:315px;
  height:277px;
  z-index:18;
}
.g0050 {
  position:absolute;
  left:1280px;
  top:972px;
  width:315px;
  height:277px;
  z-index:17;
}
.g0051 {
  position:absolute;
  left:1280px;
  top:972px;
  width:315px;
  height:277px;
  z-index:18;
}
.g0052 {
  position:absolute;
  left:1280px;
  top:1265px;
  width:315px;
  height:277px;
  z-index:17;
}
.g0053 {
  position:absolute;
  left:1280px;
  top:1265px;
  width:315px;
  height:277px;
  z-index:18;
}
/* con07 선생님 소개 탭 — off/on 이미지(레이어 숨김 후 투명 슬라이스). 활성 탭만 on(흰 pill) */
.con07 .c7tab {
  position:absolute;
  top:762px;
  width:230px;
  height:151px;
  z-index:20;
  border:0;
  padding:0;
  cursor:pointer;
  background:transparent;
}
.con07 .c7tab[data-tab='0'] { left:904px; }
.con07 .c7tab[data-tab='0'] img {left:0;}
.con07 .c7tab[data-tab='1'] { left:1135px; }
.con07 .c7tab[data-tab='2'] { left:1365px; width:250px;border-top-left-radius:30px; }
/* off: 230x151 마룬 탭(상단 라운드, 아래로 이어짐) — 탭바 상단 정렬 */
.con07 .c7tab .c7-off {
  position:absolute;
  left:0; top:0;
  width:230px;
  height:151px;
  display:block;
}
.con07 .c7tab[data-tab='2'] .c7-off{width:250px;}
/* on: 흰 pill(상단 100px 영역). 원본 비율 유지, 상단 정렬, 가운데 */
.con07 .c7tab .c7-on {
  position:absolute;
  left:0;
  top:0;
  height:100px;
  width:auto;
  display:block;
  opacity:0;
  z-index:1;
}
.con07 .c7tab[data-tab='1'] .c7-on{width:135%;left:-37px;}
.con07 .c7tab.active .c7-off { opacity:0; }
/* 활성 탭 흰 pill 배경 (Figma on 프레임 fill: #fff, 상단 라운드) — 이미지엔 fill 미포함이라 CSS로 */
.con07 .c7tab.active::before {
  content:"";
  position:absolute;
  left:0; top:0;
  width:230px; height:100px;
  background:#fff;
  border-radius:16px 16px 0 0;
  z-index:0;
}
.con07 .c7tab.active .c7-on  { opacity:1; }
.con07 .c7tab[data-tab='2'].active .c7-on{width:109%;left:-22px;}
/* 탭 아래 슬라이드 패널 — baked 탭바(하단 y913) 아래 중앙 정렬, 슬라이드 폭 690 */
.g0063 {
  position:absolute;
  left:904px;
  top:860px;
  width:710px;
  z-index:999;
}
.g0064 {
  position:absolute;
  left:526px;
  top:268px;
  width:119px;
  height:42px;
  z-index:30;
  background:transparent;
  border:none;
  cursor:pointer;
  font-size:0;
}
.g0065 {
  position:absolute;
  left:55px;
  top:261px;
  width:119px;
  height:42px;
  z-index:30;
  background:transparent;
  border:none;
  cursor:pointer;
  font-size:0;
}
.g0066 {
  position:absolute;
  left:905px;
  top:860px;
  width:710px;
  z-index:999;
  display:none;
}
.g0067 {
  position:absolute;
  left:526px;
  top:342px;
  width:119px;
  height:42px;
  z-index:30;
  background:transparent;
  border:none;
  cursor:pointer;
  font-size:0;
}
.g0068 {
  position:absolute;
  left:55px;
  top:326px;
  width:119px;
  height:42px;
  z-index:30;
  background:transparent;
  border:none;
  cursor:pointer;
  font-size:0;
}
.g0069 {
  position:absolute;
  left:905px;
  top:860px;
  width:710px;
  z-index:999;
  display:none;
}
/* 선생님 1:1 답변 슬라이드(슬14) — Figma slide_autoplay(con08 상대 left435 top753 w1670).
   3장이 트랙 위에서 하나씩 자동 롤링, 활성(가운데) 카드가 화면 중앙에 오도록 이동. */
.g0070 {
  position:absolute;
  left:50%;
  /* 슬14ⓐ: '선생님 1:1 집중관리…' 헤딩과 겹치지 않도록 카드 실제 위치로 */
  top:920px;
  width:1670px !important;
  height:320px;
  z-index:1;
  transform:translateX(-50%);
  overflow:hidden;
}
#con08Slider {
  display:flex;
  gap:23px;
  align-items:flex-start;
  transition:transform .4s ease;
  /* 카드 폭(539/1670≈32.3%)+gap 기준, 활성 카드를 중앙에 세우기 위해 JS 가 translateX 설정 */
}
#con08Slider li {
  flex:0 0 32.3%;
  list-style:none;
  margin:0;
  transition:transform .3s ease, opacity .3s ease;
}
/* 슬14ⓒ: 활성(가운데) 카드 강조, 비활성은 살짝 딤 */
#con08Slider li.is-active { transform:scale(1.04); }
#con08Slider li:not(.is-active) { opacity:.82; }
.g0071, .g0073 { margin:0; }
.g0072, .g0074, .g0075 { width:100%; height:auto; display:block; }
.g0076 {
  position:absolute;
  left:1232px;
  top:1245px;
  z-index:3;
}
.g0077 {
  position:absolute;
  left:50%;
  top:303px;
  width:100% !important;
  height:350px;
  z-index:9;
  transform:translate(-50%);
  overflow:hidden;
}
.g0078 {
  margin-right:10px;
}
.g0079 {
  width:300px;
  height:auto;
  min-height:350px;
  display:block;
  margin:0 auto;
}
.g0080 {
  position:absolute;
  left:1069px;
  top:523px;
  width:196px;
  height:67px;
  z-index:10;
  pointer-events:none;
}
.g0081 {
  position:absolute;
  left:1069px;
  top:523px;
  width:196px;
  height:67px;
  z-index:11;
  pointer-events:none;
}
.g0082 {
  position:absolute;
  left:1069px;
  top:523px;
  width:196px;
  height:67px;
  z-index:12;
  background:transparent;
  border:none;
  cursor:pointer;
  font-size:0;
}
.g0083 {
  position:absolute;
  left:1275px;
  top:523px;
  width:196px;
  height:67px;
  z-index:10;
  pointer-events:none;
}
.g0084 {
  position:absolute;
  left:1275px;
  top:523px;
  width:196px;
  height:67px;
  z-index:11;
  pointer-events:none;
}
.g0085 {
  position:absolute;
  left:1275px;
  top:523px;
  width:196px;
  height:67px;
  z-index:12;
  background:transparent;
  border:none;
  cursor:pointer;
  font-size:0;
}
.g0086 {
  position:absolute;
  left:925px;
  top:650px;
  width:691px;
  height:897px;
  z-index:9;
  background:url(https://cdn.hackersut.com/www/images/event/2026/08/0500/con09_tab_panel01.png) no-repeat left bottom;
  overflow:hidden;
}
.g0087 {
  position:absolute;
  left:925px;
  top:650px;
  width:691px;
  height:897px;
  z-index:9;
  background:url(https://cdn.hackersut.com/www/images/event/2026/08/0500/con09_tab_panel02.png) no-repeat left bottom;
  overflow:hidden;
  display:none;
}
.g0088 {
  position:absolute;
  left:1012px;
  top:567px;
  width:184px;
  height:32px;
  z-index:5;
  white-space:nowrap;
  display:flex;
  align-items:center;
  line-height:1;
  letter-spacing:-0.02em;
  font-size:19px;
  color:#0066ff;
  font-family:'Noto Sans KR', sans-serif;
  text-align:left;
}
.g0089 {
  position:absolute;
  left:1219px;
  top:567px;
  width:166px;
  height:32px;
  z-index:5;
  white-space:nowrap;
  display:flex;
  align-items:center;
  line-height:1;
  letter-spacing:-0.02em;
  font-size:19px;
  color:#0066ff;
  font-family:'Noto Sans KR', sans-serif;
  text-align:left;
}
.g0090 {
  position:absolute;
  left:1408px;
  top:567px;
  width:124px;
  height:32px;
  z-index:5;
  white-space:nowrap;
  display:flex;
  align-items:center;
  line-height:1;
  letter-spacing:-0.02em;
  font-size:19px;
  color:#0066ff;
  font-family:'Noto Sans KR', sans-serif;
  text-align:left;
}
.g0091 {
  display:none;
  position:fixed;
  inset:0;
  z-index:1000;
  background:rgba(0,0,0,.6);
  align-items:flex-start;
  justify-content:center;
  overflow:auto;
}
.g0092 {
  position:relative;
  margin:5vh auto;
  width:690px;
  max-width:92vw;
}
.g0093 {
  position:absolute;
  top:12px;
  right:12px;
  width:44px;
  height:44px;
  border-radius:50%;
  background:rgba(0,0,0,.45);
  border:none;
  color:#fff;
  font-size:28px;
  cursor:pointer;
  line-height:44px;
  text-align:center;
  padding:0;
  z-index:20;
  transition:background .2s;
}
.g0093:hover { background:rgba(0,0,0,.7); }
/* 이미지형 팝업(근거 등)은 박스 밖 상단에 흰 X 로 */
.popup-box:not(.reason-popup):not(.list-popup):not(.notice-popup):not(.cert-box) > .g0093 {
  top:-52px;
  right:0;
  background:transparent;
}
.popup-box:not(.reason-popup):not(.list-popup):not(.notice-popup):not(.cert-box) > .g0093:hover {
  background:transparent;
}
.g0094 {
  display:block;
  width:100%;
  height:auto;
  border-radius:8px;
}
/* con03 근거보기 팝업(텍스트형) */
.reason-popup { width:640px; max-width:92vw; background:#fff; border-radius:18px; padding:40px 40px 44px; }
.reason-popup .reason-title { font-size:26px; font-weight:800; color:#111; margin-bottom:20px; }
.reason-popup .reason-list { display:flex; flex-direction:column; gap:14px; }
.reason-popup .reason-list li { font-size:15px; line-height:1.6; color:#444; padding-left:2px; position:relative; }
.reason-popup .reason-list li b { color:#fe0950; font-weight:700; margin-right:4px; }
.reason-popup .popup-close { top:14px; right:16px; color:#333; }

/* con06 인증 추가할인 팝업 폼 */
.cert-box { width:520px; max-width:92vw; background:#fff; border-radius:16px; padding:40px 36px; }
.cert-form { display:flex; flex-direction:column; gap:14px; }
.cert-title { font-size:24px; font-weight:800; color:#111; text-align:center; }
.cert-rate { font-size:28px; font-weight:800; color:#ff2d55; text-align:center; margin-bottom:6px; }
.cert-file { display:flex; align-items:center; gap:12px; font-size:15px; font-weight:700; color:#333; background:#f5f5f7; border-radius:8px; padding:12px 14px; }
.cert-file input[type=file] { flex:1; font-size:14px; }
/* 슬8~13: 팝업 안내 문안 = 가운데 시스템폰트 스크롤 박스(참고 47324122 con10 .user_info 형태) */
.cert-note.cert-scroll {
  width:100%;
  height:160px;
  overflow-y:auto;
  margin:4px auto 2px;
  padding:14px 16px;
  background:#f3dde1;
  color:#b1828b;
  border-radius:10px;
  font-size:14px;
  line-height:1.5;
  text-align:left;
  white-space:normal;
  word-break:keep-all;
  font-family:'Pretendard','Noto Sans KR',sans-serif;
}
.cert-note { font-size:13px; color:#888; line-height:1.5; }
.cert-agree { display:flex; align-items:flex-start; gap:8px; font-size:14px; color:#555; }
.cert-submit { margin-top:8px; background:linear-gradient(90deg,#3a0a0a,#7a1010); color:#fff; border:0; border-radius:999px; padding:16px; font-size:18px; font-weight:800; cursor:pointer; }
.cert-popup .cert-box .popup-close { top:12px; right:12px; color:#333; }

/* 정가 취소선 */
.price-strike { text-decoration:line-through; color:#999; }

/* 기수별 혜택 어드민 이미지 슬롯 — src 미연동 시 투명(흰 박스 배경 노출) */
.gisu-benefit { display:block; }
.gisu-benefit:not([src]), .gisu-benefit[src=""] { opacity:0; }
/* 가격단 수강강의/수강기간 값 시스템폰트 (라벨 오른쪽) */
.price-lec, .price-term {
  position:absolute;
  left:845px;
  font-size:26px;
  font-weight:500;
  color:#333;
  font-family:'Pretendard','Noto Sans KR',sans-serif;
  white-space:nowrap;
  z-index:6;
}
.con04 .price-lec.c1  { top:438px; }
.con04 .price-term.c1 { top:474px; }
.con04 .price-lec.c2  { top:1074px; }
.con04 .price-term.c2 { top:1110px; }
.con13 .price-lec.c1  { top:438px; }
.con13 .price-term.c1 { top:474px; }
.con13 .price-lec.c2  { top:1074px; }
.con13 .price-term.c2 { top:1110px; }
.con05 .price-lec, .con14 .price-lec  { top:544px; font-size:22px; }
.con05 .price-term, .con14 .price-term { top:582px; }
/* con02 'N기 구매자 한정 특별혜택' 의 N 을 기수 시스템폰트로 치환(배경 N 위 덮기) */
.con02 .con02-gisu {
  position:absolute;
  /* 슬3: 배경 baked "기" 문안과 겹치지 않도록 아주 살짝 왼쪽으로 이동(1078→1070) */
  left:1070px;
  top:1508px;
  width:40px;
  height:36px;
  z-index:6;
  background:#33a2ff;
  color:#fff;
  font-size:32px;
  font-weight:700;
  line-height:36px;
  text-align:center;
  font-family:'Pretendard','Noto Sans KR',sans-serif;
}

/* con03 상단 배너 문구 — 위아래 슬라이딩 교차로 전환(슬4: 티 안나게 슬라이딩) */
.anim-blink-wrap { overflow:hidden; }
.anim-blink-wrap img { position:absolute; left:0; top:0; width:100%; height:100%; object-fit:contain; will-change:transform,opacity; }
.anim-blink-wrap .anim-blink-a { animation:con03slideA 3.4s cubic-bezier(.6,0,.2,1) infinite; }
.anim-blink-wrap .anim-blink-b { animation:con03slideB 3.4s cubic-bezier(.6,0,.2,1) infinite; }
/* A: 화면에 머물다 위로 빠지고, B가 아래에서 올라와 교차 */
@keyframes con03slideA {
  0%     { transform:translateY(0);     opacity:1; }
  45%    { transform:translateY(0);     opacity:1; }
  50%    { transform:translateY(-100%); opacity:0; }
  95%    { transform:translateY(-100%); opacity:0; }
  100%   { transform:translateY(0);     opacity:1; }
}
@keyframes con03slideB {
  0%     { transform:translateY(100%);  opacity:0; }
  45%    { transform:translateY(100%);  opacity:0; }
  50%    { transform:translateY(0);     opacity:1; }
  95%    { transform:translateY(0);     opacity:1; }
  100%   { transform:translateY(100%);  opacity:0; }
}

/* 강의리스트 팝업 (기능 골격) */
.list-popup { width:690px; max-width:94vw; background:#fff; border-radius:18px; overflow:hidden; padding:0; }
.list-popup-top { display:block; width:100%; height:auto; }
.list-popup-body { padding:28px 30px 34px; }
.list-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px; }
.list-passname { font-size:22px; font-weight:800; color:#111; }
.list-dropbox { font-size:15px; padding:8px 14px; border:1px solid #ccc; border-radius:8px; background:#fff; cursor:pointer; }
.list-sub { font-size:15px; color:#333; font-weight:700; margin-bottom:6px; }
.list-note { font-size:13px; color:#888; margin-bottom:18px; }
.list-cat { text-align:center; font-size:18px; font-weight:800; color:#111; margin-bottom:12px; }
/* 슬5/7ⓐ: 표 길이 유지+스크롤 (팝업이 길어지지 않도록 표 영역만 스크롤) */
.list-table-scroll { max-height:360px; overflow-y:auto; border-bottom:1px solid #eee; }
.list-table { width:100%; border-collapse:collapse; font-size:14px; }
.list-table thead th { background:#1a1a1a; color:#fff; padding:12px 8px; font-weight:700; position:sticky; top:0; z-index:1; }
.list-table tbody td { border-bottom:1px solid #eee; padding:14px 8px; text-align:center; color:#333; }
/* 슬5/7ⓑ: 과목·선생님 란 줄바꿈 방지 (언어논리 표 항목 폭 확보) */
.list-table thead th:nth-child(2), .list-table tbody td:nth-child(2),
.list-table thead th:nth-child(3), .list-table tbody td:nth-child(3) { white-space:nowrap; }
.list-table tbody:empty::after { content:"강의리스트는 어드민 연동으로 노출됩니다."; display:block; padding:30px; color:#aaa; font-size:13px; text-align:center; }

/* 구매 전 확인사항 팝업 (탭 골격) */
/* 슬4/6: 필수확인 팝업 폭 확대(표 가로길이 확보) — 셀 병합 내용이 좁게 접히지 않도록 */
.notice-popup { width:860px; max-width:94vw; background:#fff; border-radius:18px; overflow:hidden; padding:0; }
/* 팝업 내 유의사항 표: th 폭 축소 + td 가로 채움(셀 병합 반영) */
.notice-panel .foot-notice-table { width:100%; table-layout:fixed; }
.notice-panel .foot-notice-table th { width:150px; }
.notice-panel .foot-notice-table td { word-break:keep-all; }
.notice-panel .foot-notice-table td.sub { width:210px; }
.notice-top { background:#6b7280; color:#fff; padding:22px 30px; }
.notice-top h3 { font-size:22px; font-weight:800; }
.notice-top p { font-size:15px; opacity:.9; margin-top:4px; }
.notice-tabs { display:flex; }
.notice-tabs .ntab { flex:1; padding:16px; font-size:16px; font-weight:700; border:0; background:#eee; color:#666; cursor:pointer; }
.notice-tabs .ntab.active { background:#2f74ff; color:#fff; }
/* 필수확인 탭 내용도 강의리스트 팝업처럼 길이 유지+내부 스크롤 */
.notice-panel { display:none; padding:28px 30px 34px; min-height:200px; max-height:60vh; overflow-y:auto; }
.notice-panel.active { display:block; }
.notice-panel:empty::after { content:"유의사항 표는 첨부 엑셀 연동으로 노출됩니다."; display:block; padding:20px; color:#aaa; font-size:13px; }

/* con07 강사 슬라이드 */
.teacher-slide { position:relative; width:100%; overflow:hidden; }
.teacher-slide .ts-track { display:flex; transition:transform .35s ease; }
.teacher-slide .ts-item { position:relative; flex:0 0 100%; border-bottom-left-radius:48px; border-bottom-right-radius:48px; overflow:hidden; }
.teacher-slide .ts-item img { display:block; width:100%; height:auto; }
.teacher-slide .hit.ts-btn { position:absolute; display:block; background:transparent; cursor:pointer; z-index:3; }
/* 슬라이드 좌우 버튼: baked 화살표는 이미지에서 숨김. 기능 버튼을 그 자리(하단 중앙)에 배치 */
.teacher-slide .ts-prev, .teacher-slide .ts-next {
  position:absolute; bottom:90px; width:48px; height:48px; border-radius:50%;
  background:#1a1a1a; color:#fff; border:0; font-size:20px; cursor:pointer; z-index:4;
  display:flex; align-items:center; justify-content:center;
}
.teacher-slide .ts-prev { left:calc(50% - 62px); }
.teacher-slide .ts-next { left:calc(50% + 14px); }
/* 강사 상세 슬라이드(s2) 내 baked 영상박스 영역에 iframe 오버레이 */
.teacher-slide .ts-video { position:absolute; z-index:3; border:0; }

/* 투명 hit-area 기본 */
.hit { display:block; background:transparent; border:0; cursor:pointer; padding:0; font-size:0; color:transparent; }

/* con09 하단 콘텐츠 캐러셀 — 3개 노출, 가운데(활성)만 on(핑크), 좌우는 off(딤) */
.con09-carousel { }
.con09-carousel .c9-track { display:flex; gap:1.5%; transition:transform .4s ease; }
.con09-carousel .c9-card { position:relative; flex:0 0 32.33%; width:32.33%; }
.con09-carousel .c9-card img { display:block; width:100%; height:auto; border-radius:14px; }
.con09-carousel .c9-card .c9-on { position:absolute; inset:0; opacity:0; transition:opacity .3s ease; }
/* 가운데(활성) 카드만 on 노출 */
.con09-carousel .c9-card.is-active .c9-on { opacity:1; }
.con09-dots { display:flex; gap:10px; justify-content:center; }
.con09-dots button { width:12px; height:12px; border-radius:50%; border:0; background:rgba(255,255,255,.4); cursor:pointer; padding:0; }
.con09-dots button.active { background:#fff; }

/* 플로팅 배너 (PC 1400x65) — 하단 고정, 클릭 시 con04 스크롤(슬22) */
.floating-banner {
  position:fixed;
  left:50%;
  bottom:0;
  transform:translateX(-50%);
  width:100%;
  max-width:1400px;
  z-index:9999;
  display:block;
  cursor:pointer;
}
.floating-banner img { display:block; width:100%; height:auto; }
/* 슬17: 플로팅 배너 좌(2년패스)→con04 / 우(파이널)→con05 각각 다른 클릭 영역 */
.floating-banner .fb-hit { position:absolute; top:0; height:100%; display:block; cursor:pointer; }
.floating-banner .fb-left  { left:0;   width:50%; }
.floating-banner .fb-right { right:0;  width:50%; }

/* 최하단 유의사항 단(슬21) — 이용/환급/환불 아코디언 */
.foot-notice { background:#2b2b2b; padding:60px 0 120px; }
.foot-notice-inner { width:1400px; max-width:94%; margin:0 auto; }
.foot-notice-head {
  color:#fff; font-size:26px; font-weight:800; padding:0 0 22px;
  border-bottom:2px solid #555; margin-bottom:8px;
  font-family:'Pretendard','Noto Sans KR',sans-serif;
}
.foot-notice-head .fn-ico { margin-right:8px; }
.fn-acc { border-bottom:1px solid #444; }
.fn-acc-btn {
  width:100%; text-align:left; background:transparent; border:0; cursor:pointer;
  color:#fff; font-size:18px; font-weight:600; padding:22px 8px;
  display:flex; align-items:center; justify-content:space-between;
  font-family:'Pretendard','Noto Sans KR',sans-serif;
}
.fn-acc-btn .fn-arrow { transition:transform .25s; font-size:14px; color:#bbb; }
.fn-acc-btn[aria-expanded="true"] .fn-arrow { transform:rotate(180deg); }
.fn-acc-panel { display:none; padding:8px 8px 28px; }
.fn-acc-panel.open { display:block; }
.foot-notice-table { width:100%; border-collapse:collapse; background:#fff; border-radius:6px; overflow:hidden; }
.foot-notice-table th {
  background:#f2f2f2; color:#222; font-weight:700; text-align:left;
  vertical-align:top; padding:16px 18px; width:220px; font-size:15px;
  border-bottom:1px solid #e2e2e2; border-right:1px solid #e2e2e2;
}
.foot-notice-table td {
  color:#444; vertical-align:top; padding:16px 18px; font-size:14px; line-height:1.7;
  border-bottom:1px solid #eee;
}
.foot-notice-table td.sub { color:#222; font-weight:600; width:300px; background:#fafafa; border-right:1px solid #eee; }


/* 로그인 레이어 팝업(#simple_login_bnr)은 content-box 기준으로 제작됨.
   상단 전역 리셋 * { box-sizing:border-box } 가 적용되면 내부 폭/높이가 축소돼
   입력칸·버튼(로그인 버튼 세로로 길쭉)·하단 영역이 깨지므로, 팝업 영역만 content-box 로 복원한다. */
#simple_login_bnr, #simple_login_bnr * { box-sizing: content-box; }
