@charset "UTF-8";

/* main-page */
body #container_wr{width:100%}
body #container{width:100%}
/* 메인슬라이드 S */
.mainSwiper {
  width: 100%;
  height: 480px;
}

.swiper-slide {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 32px;
  background: #f3f3f3;
}

.swiper-text-nav {
  display: flex;
  justify-content: center;
  gap: 1px;
  margin-top: 20px;
  max-width: 1200px;
  margin: 0 auto;
  transform: translateY(-54px);
  z-index: 99999;
  position: relative;
}

.swiper-text-nav button {
  width:24.9%;
  background: #fafafa;
  color: #555;
  font-size: 12.5pt;
  font-weight: 600;
  display: block;
  width: 100%;
  padding: 15px 0;
  border-radius: 10px 10px 0 0;
  height: 54px;
  border: none;
}

.swiper-text-nav button.active {
  color: #fff;
  font-weight: bold;
  background: #555;
}
.slide-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
 }

.slide-title {
  font-size: 48px;
  font-weight: 700;
  margin-bottom: 10px;
  background: #fff;
  padding:10px;
  border-radius:20px;
  color:#000000;
  
}

.slide-desc {
  font-size: 40px;
  margin-bottom: 4px;
  font-weight: 700;
  color:#000000;
  padding:10px; 
  border-radius:20px;
  background: #fff;
}

.slide-btn {
  display: inline-block;
  padding: 14px 36px;
  background: #000;
  color: #fff;
  font-size: 18px;
  text-decoration: none;
  border-radius: 30px;
  transition: all 0.3s;
}

.slide-btn:hover {
  background: #333;
}


/* 기본 Swiper 화살표 제거 */
.mainSwiper .swiper-button-prev svg,
.mainSwiper .swiper-button-next svg {
  display: none;
}

/* 공통 화살표 스타일 */
.mainSwiper .swiper-button-prev,
.mainSwiper .swiper-button-next {
  width: 70px !important;
  height: 71px !important;
  position: absolute;
  top: 50%;
  margin-top: -35px;
  z-index: 15;
  text-indent: -9999px;
  opacity: 0;
  color:#000 !important;
}
.swiper-button-next, .swiper-button-prev{color : #000 !important}
/* 왼쪽 화살표 이미지 */
/* .mainSwiper .swiper-button-prev {
  background-image: url("../img/arrow_left.png");
  left: 20px;
} */

/* 오른쪽 화살표 이미지 */
/* .mainSwiper .swiper-button-next {
  background-image: url("../img/arrow_right.png");
  right: 20px;
} */

body .swiper .swiper-button-disabled {opacity: 0.3 !important;}
.mainSwiper:hover .swiper-button-prev{opacity: 1;}
.mainSwiper:hover .swiper-button-next{opacity: 1;}
.mainSwiper .swiper-button-prev:hover{background-image: url("../img/slide_prev_ov.png");}
.mainSwiper .swiper-button-next:hover{background-image: url("../img/slide_next_ov.png");}

/* 메인슬라이드 로그인 영역 */
.loginWrap {width:280px;height:325px;background:#fff;border-radius:20px;overflow:hidden;position:absolute;top:10%;left:50%;margin-left:320px;box-shadow:3px 3px 15px rgba(0,0,0,0.2);z-index: 9999;}
.loginWrap .login {padding:20px}
.loginWrap .login .id {display:block;width:100%;border:none;border-bottom:1px solid #cccccc;padding-left:30px;box-sizing:border-box;background:url("../img/bg_login_id.jpg") no-repeat 5px center;height:40px}
.loginWrap .login .password {display:block;width:100%;border:none;border-bottom:1px solid #ccc;margin-top:10px;padding-left:30px;box-sizing:border-box;background:url("../img/bg_login_password.jpg") no-repeat 5px center;height:40px}
.loginWrap .login .idSvae {margin:15px 0;text-align:left}
.loginWrap .login	.btn_login {width:100%;padding: 13px 0;background:#70BB32;color:#fff;font-size:12.4pt;font-weight:700;border-radius:30px;margin-top: 14px;}
.loginWrap .login	.btn_join {width:100%;padding: 13px 0;background:#555555;color:#fff;font-size:12.4pt;font-weight:700;border-radius:30px;display:block;margin-top:10px;text-align: center;}
.loginWrap .login	.memberUtil {margin-top: 14px;text-align:center;}
.loginWrap .login	.memberUtil li {display:inline-block}
.loginWrap .login	.memberUtil li + li {margin-left: 12px;padding-left: 12px;position:relative;}
.loginWrap .login	.memberUtil li + li::before {content:"";width:1px;height: 12px;position:absolute;top: 5px;left:-2px;background:#ccc;}
.loginWrap .login	.memberUtil li a {font-size:9.4pt;color:#555;font-weight:700}

/* 로그인 했을때  */
.loginWrap .logined h2{
    font-size: 14px;
    font-weight: 500;
    border-bottom: 1px solid #333;
    padding-bottom: 25px;
    padding-top: 25px;
}



/* 로그인 상태 박스 내부 정렬 */
.loginWrap .logined {
  width: 100%;
  height: 100%;
  padding: 25px 20px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

/* 회원 정보 영역 */
.loginWrap .memberInfo {
  list-style: none;
  margin: 0;
  padding: 0;
}

.loginWrap .memberInfo li {
  margin-bottom: 12px;
}

/* 사용자 이름 */
.loginWrap .memberInfo .user {
  display: block;
  font-size: 18px;
  font-weight: 700;
  color: #222;
}

/* 알림 */
.loginWrap .memberInfo .memberLimit {
  display: block;
  font-size: 14px;
  color: #666;
}

.loginWrap .memberInfo .memberLimit a {
  color: #333;
  text-decoration: none;
}

.loginWrap .memberInfo .memberLimit em {
  font-style: normal;
  font-weight: 700;
  color: #ff4d4f;
}

/* 하단 유틸 버튼 */
.loginWrap .memberUtil {
  list-style: none;
  margin: 0;
  padding: 15px 0 0;
  display: flex;
  gap: 10px;
  border-top: 1px solid #eee;
}

.loginWrap .memberUtil li {
  flex: 1;
}

.loginWrap .memberUtil a {
  display: block;
  text-align: center;
  padding: 12px 0;
  font-size: 14px;
  font-weight: 600;
  border-radius: 10px;
  background: #f5f5f5;
  color: #333;
  text-decoration: none;
  transition: all 0.2s ease;
}

/* hover 효과 */
.loginWrap .memberUtil a:hover {
  background: #222;
  color: #fff;
}

/* 메인슬라이드 E */


/* 메인 컨텐츠 */
.d33-inner{max-width:1200px;margin:0 auto;}
.d33-sec-title{font-size: 20px;margin-bottom: 10px;}
.d33-sec-desc{font-size: 15px;margin-bottom: 20px;}
/*
   (대표 교재 3개)
*/
.d33-feature{
  padding:100px 0;
  margin-top: -54px;
}
.d33-feature-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:14px;
}
.d33-feature-item{
  display:block;
  gap:14px;
  border:1px solid rgba(17,17,17,.10);
  border-radius:16px;
  background:#fff;
  padding:16px;
  box-shadow:0 10px 26px rgba(0,0,0,.06);
  color:#111;
  text-decoration:none;
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.d33-feature-item:hover{
  transform:translateY(-2px);
  border-color:rgba(10,88,255,.25);
  box-shadow:0 16px 34px rgba(0,0,0,.10);
}
.d33-feature-img{
  flex:0 0 96px;
  height:295px;
  border-radius:14px;
  overflow:hidden;
  background:#f3f4f6;
  margin:0;
  margin-bottom: 20px;
}
.d33-feature-img img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}
.d33-feature-txt{
  flex:1;
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.d33-tag{
  display:inline-flex;
  width:fit-content;
  padding:7px 12px;
  border-radius:999px;
  background:rgba(10,88,255,.10);
  color:#0a58ff;
  font-size:12px;
  font-weight:900;
  letter-spacing:-.2px;
  margin-bottom:10px;
}
.d33-name{
  font-size:14px;
  font-weight:900;
  letter-spacing:-.3px;
  color:#111;
  line-height:1.25;
}
.d33-desc{
  margin:8px 0 0;
  font-size:13px;
  color:#555;
  line-height:1.45;
}

/*
   CATALOG (고등/중등 2단 카드)
*/
.d33-catalog{
  padding:100px 0;
  background:#fafafa;
  border-top:1px solid rgba(17,17,17,.06);
  border-bottom:1px solid rgba(17,17,17,.06);
}
.d33-catalog-grid{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:14px;
}
.d33-catalog-card{
  display:block;
  border:1px solid rgba(17,17,17,.10);
  background:#fff;
  border-radius:18px;
  padding:18px;
  box-shadow:0 10px 26px rgba(0,0,0,.06);
  color:#111;
  text-decoration:none;
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.d33-catalog-card:hover{
  transform:translateY(-2px);
  border-color:rgba(10,88,255,.25);
  box-shadow:0 18px 36px rgba(0,0,0,.10);
}
.d33-catalog-card strong{
  display:block;
  font-size:16px;
  font-weight:900;
  letter-spacing:-.3px;
  margin-bottom:8px;
}
.d33-catalog-card span{
  display:block;
  color:#666;
  font-size:13px;
  line-height:1.5;
  margin-bottom:12px;
}
.d33-catalog-go{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-style:normal;
  font-weight:900;
  color:#0a58ff;
  font-size:13px;
}
.d33-catalog-go::after{
  content:"→";
  font-weight:900;
}

/*
   READING (독해가 되는 단구문33 - 리스트)
*/
.d33-reading{
  padding:100px 0;
}
.d33-reading-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:12px;
}
.d33-reading-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 14px;
  border-radius:14px;
  border:1px solid rgba(17,17,17,.10);
  background:#fff;
  box-shadow:0 10px 22px rgba(0,0,0,.05);
  color:#111;
  text-decoration:none;
  font-weight:800;
  font-size:14px;
  letter-spacing:-.2px;
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.d33-reading-item::after{
  content:"›";
  font-size:20px;
  opacity:.55;
}
.d33-reading-item:hover{
  transform:translateY(-2px);
  border-color:rgba(10,88,255,.25);
  box-shadow:0 16px 30px rgba(0,0,0,.08);
  color:#0a58ff;
}

/* 
   CTA (하단 강조 박스)
*/
.d33-cta{
  padding: 100px 0;
  background: #000000;
  color: #fff;
  border-radius: 10px;
}
.d33-cta-box{
  border-radius: 22px;
  padding: 26px 18px;
}
.d33-cta-title{
  margin:0;
  font-size:24px;
  margin-bottom: 20px;
  font-weight:900;
  letter-spacing:-.3px;
  line-height:1.35;
}
.d33-cta-desc{
  margin:10px 0 0;
  font-size:20px;
  color:rgba(255,255,255,.85);
  line-height:1.6;
}
.d33-cta-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:16px;
}
.d33-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:44px;
  padding:0 16px;
  border-radius:14px;
  font-weight:900;
  letter-spacing:-.2px;
  text-decoration:none;
  user-select:none;
  font-size: 14px;
}
.d33-btn:hover{ transform:translateY(-1px); }
.d33-btn-primary{
  background:#0a58ff;
  color:#fff;
}
.d33-btn-ghost{
  border:1px solid rgba(255,255,255,.22);
  color:#fff;
  background:rgba(255,255,255,.06);
}

/* =========================================================
   FOOTER
   ========================================================= */
.d33-footer{
  background:#3a3e46;
  color:#cfcfcf;
  padding:34px 0 26px;
}
.d33-foot-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding-bottom:18px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.d33-foot-brand{
  min-width:200px;
}
.d33-foot-logo{
  display:block;
  font-size:18px;
  font-weight:900;
  color:#fff;
  letter-spacing:-.3px;
}
.d33-foot-slogan{
  margin:8px 0 0;
  font-size:13px;
  color:rgba(255,255,255,.72);
}
.d33-foot-links{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.d33-foot-links a{
  color:rgba(255,255,255,.78);
  font-size:13px;
  text-decoration:none;
}
.d33-foot-links a:hover{
  color:#fff;
  text-decoration:underline;
}

.d33-foot-mid{
  display:grid;
  grid-template-columns:1.1fr 1.4fr 1fr;
  gap:16px;
  padding:18px 0;
}
.d33-foot-col h4{
  margin:0 0 10px;
  font-size:14px;
  font-weight:900;
  color:#fff;
  letter-spacing:-.2px;
}
.d33-foot-tel{
  margin:0;
  font-size:18px;
  font-weight:900;
  color:#fff;
}
.d33-foot-time{
  margin:8px 0 0;
  font-size:13px;
  color:rgba(255,255,255,.70);
  line-height:1.5;
}
.d33-foot-info,
.d33-foot-menu{
  list-style:none;
  margin:0;
  padding:0;
}
.d33-foot-info li,
.d33-foot-menu li{
  font-size:13px;
  color:rgba(255,255,255,.72);
  line-height:1.6;
}
.d33-foot-menu a{
  color:rgba(255,255,255,.78);
  text-decoration:none;
}
.d33-foot-menu a:hover{
  color:#fff;
  text-decoration:underline;
}

.d33-foot-bottom{
  border-top:1px solid rgba(255,255,255,.08);
  padding-top:14px;
}
.d33-copy{
  margin:0;
  font-size:12px;
  color:rgba(255,255,255,.60);
}


@media (max-width: 1024px){
  .d33-quick-grid{ grid-template-columns:repeat(3, 1fr); }
  .d33-feature-grid{ grid-template-columns:1fr; }
  .d33-feature-img{ flex-basis:110px; height:135px; }
  .d33-reading-grid{ grid-template-columns:repeat(2, 1fr); }
  .d33-foot-mid{ grid-template-columns:1fr; }
  .d33-foot-top{ flex-direction:column; align-items:flex-start; }
  .d33-foot-links{ justify-content:flex-start; }
}

@media (max-width: 600px){
  .d33-quick-grid{ grid-template-columns:repeat(2, 1fr); }
  .d33-catalog-grid{ grid-template-columns:1fr; }
  .d33-reading-grid{ grid-template-columns:1fr; }
  .d33-sec-title{ font-size:20px; }
}


  .mySwiper2_main {
      width: 100% !important;
      height: 100%;
      margin-left: auto;
      margin-right: auto;
      padding: 30px 0;
    }

   .mySwiper2_main .swiper-slide {
      text-align: center;
      font-size: 18px;
      background: none;
      display: flex;
      justify-content: center;
      align-items: center;
    }

   .mySwiper2_main .swiper-slide img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
    .d33-feature-grid{display: block;}
