@charset "utf-8";*,*::before,*::after{box-sizing:border-box}html,body,div,span,iframe,h1,h2,h3,h4,h5,h6,p,dl,dt,dd,ul,ol,li,form,fieldset,legend,label,button,input,textarea,table,caption,thead,tbody,tfoot,tr,th,td,header,footer,section,article,aside,nav,address{margin:0;padding:0;border:0;font-weight:normal}html,body{width:100%;font-size:24px;-webkit-text-size-adjust:none;letter-spacing:-1px}ul,ol,li{list-style:none}img,fieldset,a{border:0}img{vertical-align:top;max-width:100%;height:auto}a{text-decoration:none;color:inherit}table{width:100%;border-collapse:collapse;border-spacing:0;text-align:left}th,td{text-align:left}legend,.blind{position:absolute;top:0;left:-10000px;width:0;height:0;overflow:hidden;font-size:0;line-height:0}button,label{cursor:pointer}button{overflow:visible\9}input::placeholder,textarea::placeholder{color:#bdbdbd}input:focus::placeholder,textarea:focus::placeholder{color:transparent!important}input,textarea,button,select{font-family:inherit}
input:focus,
textarea:focus,
select:focus {
  box-shadow: none !important;
}
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@100..900&display=swap');
@import url('https://hangeul.pstatic.net/hangeul_static/css/nanum-gothic.css');
html, body{height: 100%;}
html, body, header,section,.wrap{max-width: 720px;margin: 0 auto;}
html, body, div, object, iframe, h1, h2, h3, h4, h5, h6, p, a, blockquote, address, dl, dt, dd, ol, ul, li, fieldset, form, legend, table, caption, tbody, tfoot, thead, tr, td, input, select, textarea{

  font-family: "Noto Sans KR", sans-serif !important;
}
body {
  line-height: 1.5;
  color: #222;
}
.swiper-slide a{line-height: 1.5;}
.inner {
  position: relative;
  width: 720px;
  margin: 0 auto;
  padding: 0 2rem;
}
.section {
  padding: 4rem 0 5rem;
}
.section-head {
  margin-bottom: 30px;
}
.section-head .more{font-size: 55px;color: #959595;margin-left: 15px;font-weight: 400}

.section-title {
  font-size: 50px;
  font-weight: 700;
  color: #333;
  text-align: center;
}
.section-sub {
  margin-top: 8px;
  color: #666;
  font-size: 30px;
  text-align: center;
}

/* ================= 헤더 ================= */
.header {position:relative;top:0;width:100%;margin: 0 auto;background:transparent;z-index:2000;}
.header .inner{padding: 0 1.5rem;height: auto;}
.header .header-top { height:50px; display:flex; justify-content:flex-end; align-items:center;gap:16px; font-size:13px; }
.header .header-top .inner { display:flex; align-items:center; justify-content:flex-end; }
.header .top-util{margin-right: 20px;}
.header .top-util a { margin-left:12px; text-decoration:none; color:#fff; }
.header .top-util a + a::before{content: '';display: inline-block;width: 1px;height: 11px;background: #fff;margin-right: 12px;}
.header .search-wrap{display: none;width: 720px;position: fixed;top: 0;background: #fff;z-index: 999;}
.header .search-wrap.is-active{display: block;}
.header .search-top{height: 125px;padding: 0 2.5rem;display: flex;align-items: center;justify-content:space-between; border-bottom: 1px solid #dedede;}
.header .search-top .logo{width: 132px;height: 55px;background: url(/new_content/images/logo2.png) 0 0 no-repeat;}
.header .search-top .btn-close{display: inline-block;width: 33px;height: 33px;}
.header .search-top .btn-close {
  width: 33px;
  height: 33px;
  padding: 0;
  border: none;
  background: transparent;
  position: relative;
  cursor: pointer;
}

.header .search-top .btn-close::before,
.header .search-top .btn-close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 40px;        /* X 길이 */
  height: 2px;        /* 선 두께 */
  background-color: #333;
  transform-origin: center;
}

.header .search-top .btn-close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.header .search-top .btn-close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.header .search-form { display:flex; height:180px; padding-top: 20px;border:2px solid transparent; border-radius:20px; background:#fff; position:relative;border:1px solid #fff; }
.header .search-input { flex:1; width: 425px;height:100px; border:none; margin-left: 10px;padding:0 0 2px 0; font-size:20px; border-bottom: 1px #000 solid}
.header .search-input::placeholder {
  color:#555 !important;          /* placeholder 색 */
  font-size:30px;      /* 글자 크기 */
  font-weight:400;     /* 기본 굵기 */
  letter-spacing:-0.5px;
  line-height: 30px;
  opacity: 1;
}
.header .search-input::-webkit-input-placeholder {
  color:#555 !important;
  font-size:30px;
}
.header .search-btn { position: absolute;right: 0;width:40px; height:100px; border:none; background:url(/new_content/images/search-btn2.png) 50% 50% no-repeat; color:#fff; font-size:0; cursor:pointer;}
.header .search-type { position:relative; height:100px; min-width:210px; margin-right: 20px;}
.header .search-type-btn { display:flex; align-items:center; justify-content:space-between; width:100%; height:100px; margin-left: 10px;padding:0 10px; font-size:30px; color:#555; background:#fff; border-bottom: 1px #000 solid}
.header .search-type-arrow { width:12px; height:12px; border-left:3px solid #8cc63f; border-bottom:3px solid #8cc63f; transform:rotate(-45deg);position:relative;top: -2px; }
.header .search-type-list { position:absolute; top:80%; left:0; width:220px; margin-top:2px;padding: 5px 0; background:#fff; border-radius:10px; list-style:none; display:none; z-index:50; border:1px solid #dedede;}
.header .search-type-list li { padding:10px 20px; font-size:30px; color:#555; cursor:pointer; white-space:nowrap; }
.header .search-type.is-open .search-type-arrow { transform:rotate(135deg); top: 3px;}
.header .header-bottom { height:125px; border-bottom:1px solid #87d6db; }
.header .header-bottom .inner { height:100%; display:flex; align-items:center; justify-content:space-between; }
.header .logo{width: 132px;height: 55px;background: url(/new_content/images/logo.png) 0 0 no-repeat;}
.header .logo a { font-size:0;display: inline-block;width: 100%;height: 100%;}
.header.sub-gnb .logo{width: 132px;height: 55px;background: url(/new_content/images/logo2.png) 0 0 no-repeat;}
.header .nav-icon{display: flex;gap: 20px}
/*.header .gnb{display: none;}*/
.header .gnb{position: fixed;width: 580px;right: -580px;top: 0;z-index: 99;background: #fff;height: 100vh;overflow-y: auto; -webkit-overflow-scrolling: touch;}
.header .gnb.is-open{right: 0;}
.gnb-dim {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;bottom: 0;
  background: rgba(0,0,0,.6);
  opacity: 0;
  visibility: hidden;
  transition: opacity .3s ease;
  z-index: 98;
}
.gnb.is-open + .gnb-dim{
  opacity: 1;
  visibility: visible;
}
.header .gnb .btn-close {
  display: inline-block;
  width: 33px;
  height: 33px;
  padding: 0;
  position: absolute;
  top: 2.5rem;
  right: 2.5rem;
  border: none;
  background: transparent;
  cursor: pointer;
}

.header .gnb .btn-close::before,
.header .gnb .btn-close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 40px;        /* X 길이 */
  height: 2px;        /* 선 두께 */
  background-color: #333;
  transform-origin: center;
}

.header .gnb .btn-close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.header .gnb .btn-close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.header .gnb-list {list-style:none;display:flex;background: #fff;flex-direction: column;padding: 5rem 2rem;overflow: visible; max-height: none;}
.header .gnb-item{position: relative;border-bottom: 1px solid #ccc;background:  url(/new_content/images/icon-gnb.png) 100% 50% no-repeat;}
/*선생님방*/
.header .gnb-list li:last-child::before{content: '';display: inline-block;width: 2px;height: 23px;background: #fff;position: absolute;left: -20px;top: 20px}
.header .gnb-item > a {position: relative;font-size:30px;font-weight: 400; color:#333; text-decoration:none; padding:18px 4px; display:block; }
.header .nav-icon .nav-item {width: 36px;height: 32px;background-position: 0 0;background-repeat: no-repeat;}
.header .nav-icon .nav-item a{display: inline-block;width: 100%;height: 100%;}
.header .nav-icon .nav-item img{display: none;}
.header .nav-icon .nav-item:nth-child(1){background-image: url(/new_content/images/nav-item-serch.png);}
.header .nav-icon .nav-item:nth-child(2){background-image: url(/new_content/images/nav-item-login.png);}
.header .nav-icon .nav-item:nth-child(3){background-image: url(/new_content/images/nav-item-gnb.png);}
.header.sub-gnb{}
.header.sub-gnb .nav-icon .nav-item:nth-child(1){background-image: url(/new_content/images/nav-item-serch2.png);}
.header.sub-gnb .nav-icon .nav-item:nth-child(2){background-image: url(/new_content/images/nav-item-login2.png);}
.header.sub-gnb .nav-icon .nav-item:nth-child(3){background-image: url(/new_content/images/nav-item-gnb2.png);}
/* 오버상태 */

/* ================= main ================= */
.main-visual { position:relative; height:1170px; margin-top: -125px;background:#0b7fd5 url(/new_content/images/main_bg2.png) no-repeat center/cover; color:#fff; overflow:hidden; }
.main-visual .main-visual-swiper { width:100%; height:100%; }
.main-visual .main-visual-slide { width:100%; height:100%; }.main-visual .main-visual-inner {width: 720px;height:100%;display:flex;align-items:center;flex-direction: column-reverse;justify-content: center;}
.main-visual .main-visual-text {text-align: center;margin-top: 100px;}
.main-visual .mv-kicker { font-size:30px; font-weight: 600;margin-bottom:30px; letter-spacing:0; }
.main-visual .mv-title { font-size:70px; font-weight:600; line-height:1.2; margin-bottom:16px; }
.main-visual .mv-desc { font-size:15px; margin-bottom:24px; }
.main-visual .mv-btn { display:none; padding:11px 26px; border-radius:24px; background:#fff; color:#0b7fd5; font-size:14px; font-weight:600; }
.main-visual .main-visual-book { display:flex; justify-content:flex-end;}
.main-visual .main-visual-book img { max-width:100%; height:auto; }
/* 기본: 오른쪽으로 살짝 밀어두고 안 보이게 */
.main-visual .main-visual-text .mv-line {
  opacity:0;
  transform:translateX(40px);
  transition:all .6s ease;
}

/* 활성 상태: 제자리 + 보이게 */
.main-visual .main-visual-text .mv-line.active {
  opacity:1;
  transform:translateX(0);
}
/* Swiper pagination & nav (PC 전용) */
.main-visual .main-visual-nav { position:absolute; left:50%; bottom:170px; transform:translateX(-50%); display:flex; align-items:center; gap:12px; z-index: 999;}
.main-visual .main-visual-prev,
.main-visual .main-visual-next { width:48px; height:48px; border-radius:50%; border:none; background-color:rgba(0,60,100,0.6);background-position: center center;background-repeat: no-repeat; color:#fff; font-size:0; line-height:1; display:flex; align-items:center; justify-content:center; cursor:pointer; }
.main-visual .main-visual-prev{background-image: url(/new_content/images/main-visual-prev.png);}
.main-visual .main-visual-next{background-image: url(/new_content/images/main-visual-next.png);}
.main-visual .main-visual-fraction { min-width:100px; height:40px; padding:0 32px; border-radius:999px; background:rgba(0,60,100,0.5); display:flex; align-items:center; justify-content:center; color:#fff; font-size:20px; letter-spacing:2px; }
.main-visual .main-visual-fraction .bar{display: inline-block;width: 1px;height: 14px;margin: 0 10px;background: #fff;}

/* ================= 빠른메뉴-메인사이드 ================= */
.quick-side-menu{display: none;position: fixed;width: 720px;top: 1095px;padding: 0;z-index: 9;}
.quick-side-menu .quick-side-menu-list{width: 100%;height: 100%;display: flex;justify-content: flex-end;flex-direction: row;}
.quick-side-menu .quick-side-menu-item{margin-left: 1px;}
.quick-side-menu .quick-side-menu-item a{display: inline-block;width: 100%;height: 100%;}

/* ================= 빠른메뉴 ================= */
.quick-menu-wrapper{overflow: hidden;}
.quick-menu-wrapper .swiper-container{position: static;}
.quick-menu .quick-menu-list {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin-top: 50px;
}
.quick-menu .quick-menu-item {
  width: auto;
  min-width: 140px;
  padding: 20px; 
  border-radius: 40px;
  border: 1px solid #e6e6e6;
  background-position: 50% 50%;
  background-repeat: no-repeat;
}
.quick-menu .quick-menu-item a{display: inline-block;width: 100%;height: 100%;padding: 60px 0 0;text-align: center;font-size: 20px;font-weight: 500;color: #666}
.quick-menu .quick-menu-item:hover {
  box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.2);
}
.quick-menu .quick-menu-item:hover a{color: #6eb92b}
.quick-menu .quick-menu-item:nth-child(1){background-image: url(/new_content/images/quick-menu-item01.png);}
.quick-menu .quick-menu-item:nth-child(2){background-image: url(/new_content/images/quick-menu-item02.png);}
.quick-menu .quick-menu-item:nth-child(3){background-image: url(/new_content/images/quick-menu-item03.png);}
.quick-menu .quick-menu-item:nth-child(4){background-image: url(/new_content/images/quick-menu-item04.png);}
.quick-menu .quick-menu-item:nth-child(5){background-image: url(/new_content/images/quick-menu-item05.png);}
.quick-menu .quick-menu-item:nth-child(6){background-image: url(/new_content/images/quick-menu-item06.png);}
.quick-menu .quick-menu-item:nth-child(7){background-image: url(/new_content/images/quick-menu-item07.png);}
/* 필요 시 진행 바 위치 조정 */
.quick-menu-pagination {
    width: auto !important;
    bottom: -35px !important; /* 하단에 위치하도록 조정 예시 */
    top: auto !important;
    left: 2.5rem !important;
    right: 2.5rem !important;
}
/* 진행 바의 배경색 및 높이 설정 */
.swiper-pagination-progressbar {
    background: #c3c3c3 !important;
    height: 3px !important; /* 원하는 높이로 변경 */
}

/* 현재 진행 상태 바의 색상 설정 */
.swiper-pagination-progressbar-fill{
    background: #000 !important; /* 원하는 색상으로 변경 */
}

/* ================= 최신교재 ================= */
.latest-books{background: #f0f5fa;}
/* 최신 교재 섹션 안 Swiper 래퍼 */
.latest-books-wrapper{position:relative;overflow:hidden;padding: 45px 30px 60px;background: #fff; border-radius: 20px;}
.latest-books .latest-books-swiper {overflow:hidden;position: static;}

/* Swiper slide 안에 카드 꽉 차게 */
.latest-books .latest-books-swiper .swiper-slide { width: auto;height:auto; }

/* 카드 레이아웃 */
.latest-books .book-card { height:100%;}
.latest-books .book-thumb {width: 193px;height: 247px;margin-bottom:20px; text-align:center; border: 1px solid #ddd;box-shadow: 4px 3px 3px rgba(0, 0, 0, 0.1);}
.latest-books .book-thumb img { display:block; margin:0 auto; width: 100%;height: 100%;}
.latest-books .book-title {width: 180px;margin-bottom:15px; font-size:25px; color:#666;font-weight:500; line-height:1.4; text-align: left;}
.latest-books .book-title a{font-size:25px; color:#666;font-weight:500; line-height:1.4; text-align: left;}
.latest-books .book-desc {width: 160px; font-size:13px; color:#666; line-height:1.5; }

.latest-books-pagination {
    width: auto !important;
    bottom: 40px !important; /* 하단에 위치하도록 조정 예시 */
    top: auto !important;
    left: 1rem !important;
    right: 1rem !important;
}

/* ================= 자이스토리 학습법 ================= */

.learning-method .learning-method-swiper{overflow: hidden;position: static;}
.learning-method .learning-method-swiper .swiper-wrapper{}
.learning-method .method-card{height: 185px;border: 1px solid #000;display: flex;align-items: center;margin-bottom: 30px;padding: 40px 40px 40px 70px;}
.learning-method .method-card{
    background: #ecf0f3;
    border: 1px solid #ddd;
    border-radius: 20px;
    box-shadow:
    inset 0 0 15px rgba(255, 255, 255, 0.8),
    inset 0 0 8px rgba(255, 255, 255, 0.5);
}
.learning-method .method-thumb{width: 100px;height: 100px;margin-right: 35px;flex-shrink: 0;border-radius: 50%;overflow: hidden;display: flex;align-items: center;justify-content: center;background: #fff;}
.learning-method .method-text{flex: 1;display: flex;flex-direction: column;gap: 4px;}
.learning-method .method-title{font-size: 20px;width: calc(100% - 10px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-left: 0;text-align: left;}
.learning-method .method-desc{font-size: 16px;color: #6eb92b;}
.learning-method .method-subjct{font-size: 14px;width: 60px;height: 30px;border: 1px solid #000;border-radius: 8px;display: flex;align-items: center;justify-content: center;}
.learning-method .subjct-kor{background-color: #fef1f1;border-color: #f48080;color: #f48080;}
.learning-method .subjct-mat{background-color: #e4ecff;border-color: #4372ec;color: #4372ec;} 
.learning-method .subjct-eng{background-color: #f2ecfe;border-color: #884cef;color: #884cef;} 
.learning-method .subjct-soc{background-color: #fef6e7;border-color: #f5a319;color: #f5a319;} 
.learning-method .subjct-sci{background-color: #e8f8f3;border-color: #40c79a;color: #40c79a;} 
.learning-method-pagination {
    width: auto !important;
    bottom: 0 !important; /* 하단에 위치하도록 조정 예시 */
    top: auto !important;
    left: 2rem !important;
    right: 2rem !important;
}
/* ================= 수능 1등급을 향한 교재 선택 ================= */
.highlight-section {
  padding: 100px 0;
  background: linear-gradient(to right, #edffde, #e2fffe);
}
.highlight-section .inner{display: flex;justify-content:space-between;flex-direction:column;align-items:center;padding: 0 1rem;}
.highlight-section .section-head{margin-bottom: 40px;}
.highlight-section .section-sub{margin-top: 50px;}
.highlight-section .highlight-grid+.section-head{margin-bottom: 0;}
.highlight-section .highlight-grid {
  flex: 1;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  justify-items:end;
}
/* 카드 기본 상태 : 살짝 위/투명 */

.highlight-section .highlight-item {
  width: 200px;
  height: 240px;
  border-radius: 10px;
  border: 1px solid #ddd;
  opacity:0;
  transform:translateY(-30px);
  transition:opacity .6s ease,transform .6s ease;
  overflow: hidden;
}

/* 섹션이 활성화됐을 때 공통 */
.highlight-section.is-show .highlight-item {
  opacity:1;
  transform:translateY(0);
}

/* 순차 딜레이 (초등 / 중등 / 고등) */
.highlight-section.is-show .highlight-item:nth-child(1) {transition-delay:0s;}
.highlight-section.is-show .highlight-item:nth-child(2) {transition-delay:.15s;}
.highlight-section.is-show .highlight-item:nth-child(3) {transition-delay:.3s;}
.highlight-section .highlight-item {
  opacity: 0;
  transform: translateY(-40px);
  transition: opacity .6s ease, transform .6s ease;
}
.highlight-section .highlight-item.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.highlight-section .highlight-item a{position: relative;z-index: 999;display: flex;width: 100%;height: 100%;cursor: pointer;justify-content: center;align-items: flex-end;}
.highlight-section .highlight-item img {position: absolute;top: 0;width:100%; height:100%; object-fit:cover; transition:transform .6s ease, filter .6s ease; }
.highlight-section .highlight-item span{display: flex;align-items:center;position: absolute;bottom: 50px;z-index: 999;color: #fff;font-size: 23px;font-weight: 400; padding-right: 40px; }
.highlight-section .highlight-item span::after {
  content: "";
  position: absolute;
  right: 0;
  width: 25px;
  height: 25px;
  border: 1px solid #fff;
  border-radius: 50%;
  box-sizing: border-box;
}
.highlight-section .highlight-item span::before {
  content: "";
  position: absolute;
  right: 9px;
  width: 11px;
  height: 11px;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  transform: rotate(-45deg);
}
.highlight-section .highlight-item::after { content:""; position:absolute; inset:0; background:rgba(0,0,0,25%); transition:background .4s ease; }
/*.highlight-section .highlight-item:hover img { transform:scale(1.08);}
.highlight-section .highlight-item:hover::after { background:rgba(0,0,0,5%); }*/

/* ================= 추천교재 ================= */
.recommend-section { background:#f3f6f9;position: relative; }

.recommend-section .recommend-head {
  display:flex;
  justify-content:center;
  align-items:center;
  margin-bottom:60px;
}
.recommend-section .recommend-more {font-size: 55px;color: #959595;margin-left: 15px;font-weight: 400}
/* 탭 */
.recommend-section .grade-tabs {display:flex;gap:12px;margin-bottom:30px;}
.recommend-section .grade-tab {
  width: 33.3%;
  padding: 10px 0;
  position: relative;
  font-size:30px;
  cursor:pointer;
  text-align: center;
  font-weight: 400;
  color:#333;
}
.recommend-section .grade-tab.is-active {font-weight: 500;border-bottom: 2px #8eb828 solid;color: #8eb828}
/* 패널 show / hide */
.recommend-section .grade-panel { display:none; }
.recommend-section .grade-panel.is-active { display:block; }

/* Swiper 영역 */
.recommend-section .recommend-swiper {
  position:relative;
  overflow: hidden;
  background: transparent;
}
.recommend-section .recommend-swiper .swiper-slide{width: auto;}
/* 카드 레이아웃 */
.recommend-section .book-card {width: auto; height:100%;}
.recommend-section .book-thumb {width: 240px;height: 310px;margin-bottom:35px; text-align:center; border: 1px solid #ddd;box-shadow: 4px 3px 3px rgba(0, 0, 0, 0.1);}
.recommend-section .book-thumb img { display:block; margin:0 auto; width: 100%;height: 100%;}
.recommend-section .book-title {width: 240px;font-size:24px; color:#666;font-weight:500; line-height:1.4; margin-bottom:15px; }
.recommend-section .book-title a {font-size:24px; color:#666;font-weight:500; line-height:1.4;text-align: left;}
.recommend-section .book-desc {width: 160px; font-size:13px; color:#666; line-height:1.5; }

/* 네비게이션 버튼 (양쪽 화살표) */
.recommend-prev,
.recommend-next {
  position:absolute;
  top:55%;
  transform:translateY(-50%);
  width:50px;
  height:50px;
  border-radius:50%;
  border:1px #ddd solid;
  background:#fff;
  cursor:pointer;
  box-shadow: 4px 3px 3px rgba(0, 0, 0, 0.1);
}

.recommend-prev::before,
.recommend-next::before {
  content:'';
  display:block;
  width:12px;
  height:12px;
  border-top:2px solid #707070;
  border-right:2px solid #707070;
  margin:0 auto;
  transform:rotate(225deg);
  margin-top:2px;
  margin-left: 20px;
}
.recommend-next::before {
  transform:rotate(45deg);
  margin-left: 17px;
}
.recommend-prev { left:0; }
.recommend-next { right:0; }
.recommend-section .swiper-button-prev:after, .recommend-section .swiper-rtl .swiper-button-next:after,
.recommend-section .swiper-button-next:after, .recommend-section .swiper-rtl .swiper-button-prev:after{display: none;}
.grade-panel-pagination {
    width: auto !important;
    bottom: -25px !important; /* 하단에 위치하도록 조정 예시 */
    top: auto !important;
    left: 2rem !important;
    right: 2rem !important;
}
/* ================= 학습자료실 ================= */
.learning-resources .section-sub{text-align: center;font-size: 30px;color: #333}
.learning-resources .section-title{text-align: center;font-size: 50px;color: #83bb14;font-weight: 700;}
.learning-resources .icon-menu {
  display: grid;
  justify-content: space-between;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.learning-resources .icon-menu-item { 
  flex: 1;
  text-align: center;
  padding: 30px 0;
  border-radius: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  font-size: 24px;
  cursor: pointer;
  font-weight: 500;
}
.learning-resources .icon-menu-item a{display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;}
.icon-menu-item:nth-child(1){background: #ffdeb3;}
.icon-menu-item:nth-child(2){background: #f9d2c0;}
.icon-menu-item:nth-child(3){background: #c5e8dc;}
.icon-menu-item:nth-child(4){background: #f9edbd;}
.icon-menu-item:nth-child(5){background: #d0def8;}
.icon-menu-item:nth-child(6){background: #dfddff;}
.learning-resources .icon-menu-item .icon{display: flex;width: 100px;height: 100px;border-radius: 50px;margin-bottom: 5px;justify-content: center;align-items: center;}
.icon-menu-item:nth-child(1) .icon{background: #fad18e;}
.icon-menu-item:nth-child(2) .icon{background: #f6bfa8;}
.icon-menu-item:nth-child(3) .icon{background: #aeddcd;}
.icon-menu-item:nth-child(4) .icon{background: #f6e4a4;}
.icon-menu-item:nth-child(5) .icon{background: #b7cbf3;}
.icon-menu-item:nth-child(6) .icon{background: #d0cdff;}
/*
.learning-resources .icon-menu-item img{transition:transform .6s ease, filter .6s ease}
.learning-resources .icon-menu-item:hover img { transform:scale(1.08);}
*/

/* ================= 선생님방 바로가기 ================= */
.teacher-section {
  padding: 0;
  background: #edf4e4;
}
.teacher-section .inner{height: 100%;padding: 0;}
.teacher-wrap {
  height: 300px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  background: url(/new_content/images/teacher-section-bg2.png) 0 100% no-repeat;
  flex-direction: column;
  margin-right: 2.5rem;
}
.teacher-wrap h3{font-size: 40px;font-weight: 500;color: #333;margin-bottom: 20px;}
.teacher-link-btn {
  --teacher-green: #8eb828; /* 필요하면 색만 여기서 바꾸면 됨 */

  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 15px 30px;
  border-radius: 999px;
  border: 1px solid var(--teacher-green);
  background-color: #fff;  
  text-decoration: none;
  box-sizing: border-box;
  transition: background-color 0.2s ease, box-shadow 0.2s ease,
              transform 0.1s ease;
}
.teacher-link-btn span{color: var(--teacher-green); font-size: 24px; font-weight: 700;}
.teacher-link-btn__label {
  white-space: nowrap;
}
.teacher-link-btn__icon {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  border: 1px solid var(--teacher-green);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.teacher-link-btn__icon svg {
  width: 20px;
  height: 20px;
}


/* ================= 파트너 ================= */
/* 그리드 레이아웃 (이미 있으면 이 부분은 생략 가능) */
.partner-section{background: url(/new_content/images/partner-section-bg2.png) center center no-repeat #eee;background-size: cover;}
.partner-section .inner{display: flex;justify-content: center;flex-direction: column;}
.partner-section .section-title{font-size: 36px;font-weight: 400;color: #333}
.partner-section .section-title .txt1{font-size: 50px;font-weight: 700;}
.partner-section .section-title .txt2{font-size: 50px;font-weight: 700;color: #004482}
.partner-section .partner-grid { width: 100%;display:flex; flex-direction:column;}

/* 카드 기본 모양 */
.partner-section .partner-card {
  position: relative;
  min-height: 315px;
  margin-bottom: 30px;
  padding: 40px;
  border-radius:16px;
  background:#fff;
  /* 애니메이션 초기 상태 */
  opacity:0;
  transform:translateY(30px);
  transition:opacity .6s ease, transform .6s ease;
}
.partner-section .partner-card:last-child {
  padding-bottom: 85px;
}

/* 섹션이 뷰포트 안에 들어왔을 때 */
.partner-section.is-inview .partner-card {
  opacity:1;
  transform:translateY(0);
}

/* 순차(스태거) 효과 – 필요 개수만큼 nth-child 추가 */
.partner-section.is-inview .partner-card:nth-child(1) { transition-delay:.15s;}
.partner-section.is-inview .partner-card:nth-child(2) { transition-delay:.3s;}
.partner-section.is-inview .partner-card:nth-child(3) { transition-delay:.45s;}
.partner-section.is-inview .partner-card:nth-child(4) { transition-delay:.60s;}

.partner-section .partner-thumb {position: absolute; right:30px; bottom: 40px; }
.partner-section .partner-title {font-size:34px; color:#333;font-weight:700; line-height:1.4; margin-bottom:15px; }
.partner-section .partner-desc {font-size:24px; color:#8c8c8c; line-height:1.5; }


/* ================= 공지사항/입시정보/이벤트 ================= */
.board-section {padding: 100px 0 60px;}
.board-section .board-wrap {display:flex;gap:24px;flex-direction:column;}

/* 탭 */
.board-section .board-tabs {display:flex;width: auto;position: absolute;top: 95px;left: 2.5rem;right: 2.5rem;}
.board-section .board-tab {
  width: 33.3%;
  padding: 10px 0;
  position: relative;
  font-size:30px;
  cursor:pointer;
  text-align: center;
  font-weight: 400;
  color:#333;
}
.board-section .board-tab.is-active {font-weight: 500;border-bottom: 2px #8eb828 solid;color: #8eb828}
/* 카드 */
.board-section .board-card {
  width: 100%; 
  background:#fff;
  display: none;
}
.board-section .board-card.is-active {display: block;}
/* 카드 헤더 */
.board-section .board-card-head {
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:125px;
}
.board-section .board-title {font-size:50px;font-weight:700;color:#333;}
.board-section .board-more {font-size: 55px;color: #959595;margin-left: 15px;font-weight: 400}
/* 리스트 */
.board-section .board-list li + li {margin-top:8px;}
.board-section .board-list a {
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:24px;
  color:#555;
}
.board-section .board-subject {
  margin-right:10px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width: 70%;
}
.board-section .board-date {
  flex-shrink:0;
  font-size:24px;
  color:#aaa;
}
.icon_new{display: inline-block;width: 24px;height: 24px;background: url(/new_content/images/icon_new.png) 0 0 no-repeat;margin-left: 0;margin-right: auto;}
.icon_new2{display: inline-block;width: 30px;height: 30px;background: url(/new_content/images/icon_new.png) 50% 50% no-repeat #8ec325;margin-left: 20px;margin-right: auto;border-radius: 50%;vertical-align: middle;}

/* ================= 푸터 ================= */
.footer {border-top: 1px solid #eee;padding: 40px 0;font-size: 14px;color: #777;background: #fff;}
.footer .footer-inner {display: flex;justify-content: space-between;align-items: center;flex-direction: column;}
.footer .footer-inner>div{margin: 20px 0 ;}
/* 로고 + SNS  */
.footer .footer-logo img {display: block;margin: 0 auto;}
/* SNS 아이콘 */
.footer .footer-sns {display: flex;margin-top: 16px;gap: 16px;}
.footer .ico {display: block;width: 70px;height: 70px;border-radius: 50%;background: #ddd; background-repeat: no-repeat;background-position: 50% 50%;/* 실제 아이콘 이미지로 교체 */}
.footer .ico.fb{background-image: url(/new_content/images/ico-fb2.png);}
.footer .ico.blog{background-image: url(/new_content/images/ico-blog2.png);}
.footer .ico.yt{background-image: url(/new_content/images/ico-yt2.png);}
.footer .ico.insta{background-image: url(/new_content/images/ico-insta2.png);}
/* 메뉴  */
.footer .footer-menu {display: flex;font-size: 27px;color: #8d8d8d;gap: 80px;margin: 20px 0;}
.footer .footer-menu li {position: relative;}
.footer .footer-menu a {color: inherit;}
.footer .footer-menu a:hover{color: #333}
.footer .footer-menu li + li::before {content: "";display: inline-block;width: 2px;height:20px;position: absolute;top:50%;transform:translateY(-50%);left: -40px;background: #ccc;vertical-align: middle;}
/* 회사 정보  */
.footer .footer-info {font-size: 22px;line-height: 1.7;color: #8d8d8d;text-align: center;}
.footer .footer-info p:last-child{font-size: 20px}
.footer .footer-info .bar{display: inline-block;width: 1px;height: 10px;margin: 0 24px;background: #bdbdbd;}
/* 오른쪽 */
.footer .footer-call {display: flex;align-items: center;justify-content: center;gap: 10px;color: #333;letter-spacing: -1px;}
.footer .ico.call{display: inline-block;width: 50px;height: 50px;background-image: url(/new_content/images/ico-call2.png);}
.footer .call-label {font-size: 27px;font-weight: 700;}
.footer .call-number {font-size: 34px;font-weight: 700;}
.btn-pc{display: flex;width: 290px;height: 60px;margin: 20px 0;border: 1px solid #bdbdbd;justify-content: center;align-items: center;font-size: 20px}

/* ================= 필터 ================= */
.filter-box {margin: 30px 20px 0;border: 1px solid #e5e5e5;border-radius: 8px;background: #fff;max-width: 1004px;}
/* 행 */
.filter-box .filter-row {display: flex;align-items: stretch;border-top: 1px solid #e1e1e1;}
.filter-box .filter-row:first-child {border-top: 0;}
/* 라벨 */
.filter-box .filter-label {width: 125px;font-weight: 600;color: #333;background: #f7f7f7;padding: 15px 30px;font-size: 22px;align-items: center;display: flex;}
/* 컨텐츠 */
.filter-box .filter-content {display: flex;align-items: center;gap: 10px;flex-wrap: wrap;width: calc(100% - 125px);padding: 5px 20px;}
/* 버튼 */
.filter-box .filter-btn {min-width: 72px;padding: 12px 24px;border: 1px solid #e1e1e1;border-radius: 24px;background: #fff;font-size: 18px;color: #555;cursor: pointer;transition: all 0.2s ease;}
.filter-content .filter-btn[name="btn_target"]:nth-child(3) {
  margin-right: 30%;
}

.filter-box .filter-btn:hover {border-color: #9acd32;color: #6b8e23;}
/* 활성 */
.filter-box .filter-btn.is-active {background: #9acd32;border-color: #9acd32;color: #fff;}
/* 셀렉트 */
.filter-box .filter-content .select-wrap{position: relative;width: 100%;}
.filter-box .filter-select {width: 100%;height: 50px;padding: 0 12px;border: 1px solid #ddd;font-size: 18px;color: #555;appearance: none;-webkit-appearance: none;-moz-appearance: none;background: #fff;cursor: pointer;}
.filter-box .filter-content .select-wrap::after {content: '';position: absolute;top: 50%;right: 14px;width: 0;height: 0;pointer-events: none;border-left: 6px solid transparent;border-right: 6px solid transparent;border-top: 6px solid #666;transform: translateY(-50%);}
.filter-select:focus {border: 1px solid #ddd !important; /* 포커스 색 */}


.board_wrap.list1 thead th{text-align: center}

/* ================= 빠른메뉴 ================= */
[class$="quick-list"] {display: flex;justify-content: space-between;gap: 10px;margin: 30px 20px 0;}
[class$="quick-list"] li {width: 140px; border-radius: 45px;border: 1px solid #e6e6e6;background-position: 50% 35%;background-repeat: no-repeat;}
[class$="quick-list"] li a{display: inline-block;width: 100%;height: 100%;padding: 70px 0 25px;text-align: center;font-size: 20px;font-weight: 500;color: #666}
[class$="quick-list"] li.is-active{background-color: #e2f1d5;border-color: #6eb92b;}
[class$="quick-list"] li.is-active a{color: #6eb92b}
/*학습자료실*/
.study-quick-list .study-quick-item:nth-child(1){background-image: url(/new_content/images/study-quick-item01.png);}
.study-quick-list .study-quick-item:nth-child(2){background-image: url(/new_content/images/study-quick-item02.png);}
.study-quick-list .study-quick-item:nth-child(3){background-image: url(/new_content/images/study-quick-item03.png);}
.study-quick-list .study-quick-item:nth-child(4){background-image: url(/new_content/images/study-quick-item04.png);}
.study-quick-list .study-quick-item:nth-child(5){background-image: url(/new_content/images/study-quick-item05.png);}
.study-quick-list .study-quick-item:nth-child(6){background-image: url(/new_content/images/study-quick-item06.png);}
.study-quick-list.type2{display: flex;justify-content: space-between;gap: 10px;margin: 30px 20px 0;}
.study-quick-list.type2 li {width: 140px; border-radius: 45px;border: 1px solid #e6e6e6;background-position: 50% 35%;background-repeat: no-repeat;}
.study-quick-list.type2 li a{display: inline-block;width: 100%;height: 100%;padding: 70px 0 25px;text-align: center;font-size: 20px;font-weight: 500;color: #666}
.study-quick-list.type2 li.is-active{background-color: #e2f1d5;border-color: #6eb92b;}
.study-quick-list.type2 li.is-active a{color: #6eb92b}
.study-quick-list.type2 .study-quick-item:nth-child(1){background-image: url(/new_content/images/study-quick-item11.png);}
.study-quick-list.type2 .study-quick-item:nth-child(2){background-image: url(/new_content/images/study-quick-item12.png);}
.study-quick-list.type2 .study-quick-item:nth-child(3){background-image: url(/new_content/images/study-quick-item13.png);}
.study-quick-list.type2 .study-quick-item:nth-child(4){background-image: url(/new_content/images/study-quick-item14.png);}
.study-quick-list.type2 .study-quick-item:nth-child(5){background-image: url(/new_content/images/study-quick-item15.png);}

/*선생님방*/
.teacher-quick-list{justify-content:center;gap: 20px;}
.teacher-quick-list li{width: 185px;}
.teacher-quick-list li:nth-child(1){background-image: url(/new_content/images/teacher-quick-item01.png);}
.teacher-quick-list li:nth-child(2){background-image: url(/new_content/images/teacher-quick-item02.png);}
.teacher-quick-list li:nth-child(3){background-image: url(/new_content/images/teacher-quick-item03.png);}
.teacher-quick-list li:nth-child(4){background-image: url(/new_content/images/teacher-quick-item04.png);}
/*커뮤니티*/
.member-quick-list li:nth-child(1){background-image: url(/new_content/images/member-quick-item01.png);}
.member-quick-list li:nth-child(2){background-image: url(/new_content/images/member-quick-item02.png);}
.member-quick-list li:nth-child(3){background-image: url(/new_content/images/member-quick-item03.png);}
.member-quick-list li:nth-child(4){background-image: url(/new_content/images/member-quick-item04.png);}
.member-quick-list li:nth-child(5){background-image: url(/new_content/images/member-quick-item05.png);}
.member-quick-list li:nth-child(6){background-image: url(/new_content/images/member-quick-item06.png);}
.member-quick-list li:nth-child(7){background-image: url(/new_content/images/member-quick-item07.png);}

.login_form input[id="input_pass"]{}
.input_pass{position: relative;margin-bottom: 30px;}
.login_form .input_pass input{margin-bottom: 0;}

  /* 공통 버튼 스타일 */
  .toggle-btn {
    position: absolute;
    width: 40px;
    height: 100%;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    border: none;
    background-color: transparent;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    cursor: pointer;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ccc' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z'%3E%3C/path%3E%3Ccircle cx='12' cy='12' r='3'%3E%3C/circle%3E%3C/svg%3E");
  }

  /* 활성화 상태 (눈 감은 아이콘) */
  .toggle-btn.active {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ccc' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24'%3E%3C/path%3E%3Cline x1='1' y1='1' x2='23' y2='23'%3E%3C/line%3E%3C/svg%3E");
}
.board_wrap.list1 .tit4{width: 100%;padding: 10px 5px;text-align: left;
/* 특정 단위로 텍스트를 자르기 위한 구문 */white-space: normal;display: flex;-webkit-line-clamp: 3;/* 텍스트를 자를 때 원하는 단위 ex) 3줄 */-webkit-box-orient: vertical;overflow : hidden;}

table .icon{width: 90px !important;height: 125px !important;margin-right: 15px;}
table .icon+span{display: inline-block;}

a.file_pdf, a.file_hwp, a.file_zip{
  width: auto !important;          
  display: inline-flex !important; 
  align-items: center;
  justify-content: space-between;

  padding: 0 !important;
  padding-right: 60px !important; 
  min-height: 45px;
  box-sizing: border-box;

  background-position: right center !important;
}
a.file_pdf span, a.file_hwp span, a.file_zip span{min-width: 200px;}
.board_wrap.list1 .tit4{padding-left: 0;}
.nbtn a.file_pdf span,
.nbtn a.file_hwp span,
.nbtn a.file_zip span{min-width: 160px;}