@charset "UTF-8";
:root {
  --blueff: #1A6DFF;
  --blue-ob: #0B57D0;
  --border-c7: #C7DBFF;
  --border-e5: #E5E8EB;
  --border-cb: #CBD3DC;
  --bg-f2-f6: #F2F4F6;
  --txt-684: #6B7684;
}
@font-face {
  font-family: 'S-CoreDream-5Medium';
  src: url('https://fastly.jsdelivr.net/gh/projectnoonnu/noonfonts_six@1.2/S-CoreDream-5Medium.woff') format('woff');
  font-weight: 500;
  font-style: normal;
}

html {
  min-width: 1280px;
  overflow-x: auto;
}
.area {
  width: 1400px;
}

.top_banner {
  background: linear-gradient(90deg, #3146D0 0%, #253497 100%);
}
.top_banner span {
  position: relative;
  display: block;
  width: 100%;
  height: 5px;
  background: linear-gradient(90deg, #33A3FF 0%, #1F6299 100%);
}
.top_banner span:before, .top_banner span:after {
  content: "";
  display: inline-block;
  width: 200px;
  height: 5px;
  position: absolute;
}
.top_banner span:before {
  background: #001A52;
  left: 240px;
}
.top_banner span:after {
  background: #E8342F;
  left: 440px;
}
.top_banner strong {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: -.8px;
  color: #fff;
}
.top_banner_inner {
  max-width: 1400px;
  width: 100%;
  margin: 0 auto;
  display: flex;
  align-items: center;
  height: 74px;
  justify-content: space-between;
  box-sizing: border-box;
}
.top_banner_txt {
  display: inline-flex;
  align-items: center;
  width: calc(100% - 230px);
}
.top_banner_txt dl {
  display: flex;
  color: #fff;
  align-items: center;
  margin: 0;
  position: relative;
  justify-content: flex-end;
  flex: 1;
}
.top_banner_txt dl + dl:before {
  content: "";
  display: block;
  width: 1px;
  height: 24px;
  background: rgba(255, 255, 255, .7);
  position: absolute;
  left: calc(50% - 120px);
}
.top_banner_txt dt {
  font-size: 22px;
  font-weight: 700;
  color: rgba(255,255,255,.8);
  flex: none;
  letter-spacing: -.88px;
  box-sizing: border-box;
  flex: none;
}
.top_banner_txt dd {
  margin: 0;
  font-size: 22px;
  font-weight: 700;
  min-width: 140px;
  text-align: right;
}


.premium-slick-rolling {
  margin-bottom: 6px;
  width: 350px;
}
.premium-slick-rolling .slick-slide {
  font-size: 18px;
  font-weight: 700;
  color: #2276F1;
  letter-spacing: -.18px;
}


.rolling_card {
  overflow: hidden;
}
.rolling_header {
  font-weight: 700;
  font-size: 13px;
  color: #0161D1;
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid #1786F1;
  line-height: 40px;
  display: none;
}
.rolling_header span {
  text-align: center;
}
.rolling_header span:first-child {
  width: 54px;
}
.rolling_header span:nth-child(2) {
  width: 40px;
}
.rolling_header span:nth-child(3) {
  width: 92px;
}
.rolling_header span:nth-child(4) {
  width: 61px;
}
.rolling_wrapper {
  height: 35px;
  overflow: hidden;
  position: relative;
}
.rolling_list {
  display: flex;
  flex-direction: column;
}
.rolling_list li {
  display: flex !important;
  align-items: center;
  min-height: 35px;
  box-sizing: border-box;
}
.rolling_list li div {
  font-size: 14px;
  font-weight: 500;
  color: #3C4249;
  line-height: 1;
}
.rolling_list .slick-slide div + div {
  margin-left: 12px;
}
.rolling_list .rolling_class {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.rolling_list .rolling_name {
  min-width: 35px;
}
.rolling_list li .rolling_date {
  margin-left: auto !important;
  white-space: nowrap;
  padding-left: 4px;
}
.rolling_list .rolling_badge {
  font-size: 11px;
  border-radius: 6px;
  border: 1px solid #FF5400;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 25px;
  padding: 0 8px;
  white-space: nowrap;
  background: #fff;
}
.rolling_badge.enrol {
  color: #2276F1;
  border-color: #2276F1;
}
.rolling_badge.class {
  color: #FF5400;
}
.before .rolling_wrapper {
  height: 50px;
  padding: 0 10px;
  box-sizing: border-box;
}
.before .rolling_list li {
  min-height: 50px;
}
.before .rolling_wrapper:after {
  content: "";
  display: block;
  width: 100%;
  height: 30px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.00) 0%, #FFF 55.71%);
  position: absolute;
  bottom: 0;
  left: 0;
  content: none;
}

.cnt1 {
  padding: 46px 0;
  background: #f4f8fb;
  margin-bottom: 20px;
}
.cnt1 .area {
  display: flex;
  justify-content: space-between;
  gap: 40px;
}
.cnt1 .area > .left {
  display: flex;
  flex-direction: column;
  padding-top: 60px;
  width: 605px;
}
.title-area {
  width: 100%;
}
.title-area span {
  color: #1A6DFF;
  font-size: 15px;
  font-weight: 700;
}
.title-area h2 {
  font-size: 42px;
  font-weight: 800;
  color: #191F28;
  margin: 12px 0 24px;
  letter-spacing: -1.5px;
  line-height: 1.26;
}
.cnt1 .visual {
  width: 730px;
  height: 390px;
  width: 1040px;
  height: 485px;
  margin: 0;
}
.cnt1 .swiper-slide {
  width: 100% !important;
  height: 455px !important;
}
.cnt1 .swiper-slide a {
  display: block;
  width: 100%;
}
.cnt1 .swiper-slide a img {
  height: auto;
  /* height: 485px; */
  /* width: 100%; */
}
.cnt1 .btn_common {
  position: absolute;
  right: auto;
  top: auto;
  bottom: 44px;
  width: 20px;
  height: 20px;
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: center;
}
.cnt1 .swiper-pagination {
  left: 50%;
  transform: translateX(-50%);
  bottom: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: auto;
  height: auto;
  letter-spacing: -1px;
}
.cnt1 .swiper-pagination-bullet {
  background: #fff;
  border: 2px solid #a3a7c8;
  box-sizing: border-box;
  width: 14px;
  height: 14px;
  opacity: 1;
}
.cnt1 .swiper-pagination-bullet-active {
  border-color: #5663da;
  border-width: 3px;
}
.quick_service {
  width: 100%;
  margin-top: 55px;
}
.quick_service_top {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 16px;
}
.quick_service_top h3 {
  font-size: 18px;
  font-weight: 500;
  color: #191F28;
  line-height: 1;
}
.quick_service_control {
  display: flex;
  align-items: center;
  gap: 8px;
}
.quick_service_control button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  padding: 0;
  border: 1px solid #CBD3DC;
  border-radius: 50%;
  background: #fff;
  cursor: pointer;
  transition: all 0.2s;
}
.quick_service_control button svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: #191F28;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.quick_service_control button:disabled {
  background: #F2F4F6;
  cursor: default;
}
.quick_service_control button:disabled svg {
  stroke: #9aa4b2;
}
.quick_service_control button:not(:disabled):hover {
  background: #e9eff9;
  border-color: #8797b0;
}
.quick_service_box {
  padding: 10px;
  border-radius: 20px;
  background: #fff;
  overflow: hidden;
  box-sizing: border-box;
  height: 156px;
}
.quick_service_page {
  display: none;
  grid-template-columns: repeat(3, 1fr);
  gap: 4px;
}
.quick_service_page.active {
  display: grid;
  animation: quickFade 0.3s ease;
}
.quick_service_page a {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  color: #202735;
  transition: .2s ease;
  padding: 14px;
  box-sizing: border-box;
}
.quick_service_page a:hover {
  background: #F2F4F6;
  border-radius: 14px;
}
.quick_service_page a strong {
  font-size: 16px;
  font-weight: 700;
}
.quick_icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 38px;
  height: 38px;
  border-radius: 10px;
  background: #F2F4F6;
  transition: background 0.2s;
}
.quick_icon svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: #526174;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
@keyframes quickFade {
  from {
    opacity: 0;
    transform: translateX(8px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}




/* 오른쪽 영역(.right) 내부 슬라이더 컨테이너 정렬 */
.cnt1 .right {
  display: flex;
  align-items: center; /* 오른쪽 영역 내에서 세로 가운데 정렬 */
  justify-content: center;
  height: 100%;
}
/* claude */
:root{
    --pill-bg: #ffffff;
    --text-1: #1a1d29;
    --text-2: #8b8fa3;
    --text-3: #b3b7c6;
    --accent: #2f6bff;
    --accent-soft: #eaf1ff;
    --shadow: 0 10px 28px rgba(35,45,80,0.10);
    --shadow-soft: 0 4px 12px rgba(35,45,80,0.06);
    --radius-card: 26px;
    --radius-pill: 20px;
  }
.stage{
    position:relative;
    width: 672px;
    max-width: 100%;
    height: 720px;
    padding-right: 72px;
    box-sizing: border-box;
  }

  .deptReel{
  width:100%;
  height:100%;
  padding-right: 28px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:12px;
  overflow:hidden;
  /* cursor: pointer; */
  touch-action: none; /* 모바일에서 페이지 스크롤 대신 드래그로 인식 */
  user-select: none; /* 드래그 중 텍스트 선택 방지 */
}
.deptReel.is-dragging{
  cursor: grabbing;
}

  /* ---------- slide shell : 카드는 크기를 바꾸지 않고 transform/opacity로만 움직임 ---------- */
  .deptReel{
    --reel-pad: 28px;
    --pill-h: 52px;               /* 접힌 알약 높이 (data-distance 1 기준) */
    --pill-s2: .8889;             /* data-distance 2 알약은 같은 알약을 이 비율로 축소 (너비 90%→80%, 글자/아이콘/높이도 함께 축소) */
    position:relative;
    padding-right: var(--reel-pad);
  }
  .dept-slide{ display:contents; }   /* 래퍼는 박스를 만들지 않음 → 알약/카드를 .deptReel 기준으로 배치 */

  /* ---------- collapsed pill ---------- */
  /* 모든 알약은 같은 크기/여백/글자 크기로 만들고, 거리에 따른 크기 차이는 scale로만 표현
     → 이동 중에 padding·글자·아이콘 크기가 한 번에 바뀌며 튀는 현상이 없음 */
  .pill-header{
    --y: 0px;                     /* JS가 슬롯 위치를 넣어줌 */
    --s: 1;
    position:absolute;
    top:0; left:0;
    right: var(--reel-pad);
    margin:0 auto;
    width: calc((100% - var(--reel-pad)) * .9);
    height: var(--pill-h);
    box-sizing:border-box;
    display:flex;
    align-items:center;
    gap:12px;
    padding:0 22px;
    white-space:nowrap;
    background:#fff;
    border-radius:30px;
    cursor:pointer;
    opacity:.85;
    transform-origin: 50% 0;
    transform: translateY(var(--y)) scale(var(--s));
    transition:
      transform .45s cubic-bezier(.4,0,.2,1),
      opacity .35s ease,
      box-shadow .3s ease;
  }
  .dept-slide[data-distance="2"] .pill-header{ --s: var(--pill-s2); opacity:.55; }
  .dept-slide[data-distance="0"] .pill-header{ opacity:0; pointer-events:none; }
  .dept-slide.is-off .pill-header{ --s: var(--pill-s2); opacity:0; pointer-events:none; }
  .dept-slide.is-hide .pill-header{ opacity:0 !important; pointer-events:none; transition: opacity .18s ease; }
  .deptReel.is-init .pill-header,
  .deptReel.is-init .full-card{ transition:none !important; }   /* 첫 배치/리사이즈 때는 애니메이션 없이 */
  .dept-slide:not([data-distance="0"]) .pill-header:hover{ box-shadow: var(--shadow-soft); }

  .pill-header .dept-name{
    font-weight:700;
    font-size:18px;
    color: #191F28;
  }
  .gov-icon{ flex:0 0 auto; display:flex; }
  .gov-icon img{ width:28px; }
  .full-card .gov-icon img{ width:40px; }

  /* ---------- expanded full card (크기 고정, 위/아래로 이동 + 페이드만) ---------- */
  .full-card{
    position:absolute;
    top:0; left:0;
    right: var(--reel-pad);
    margin:0 auto;
    width: calc(100% - var(--reel-pad));
    height: var(--card-h, auto);   /* JS가 가장 큰 카드 높이로 통일 */
    box-sizing:border-box;
    padding:26px 28px;
    overflow:hidden;
    background:#fff;
    border-radius:20px;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:
      transform .45s cubic-bezier(.4,0,.2,1),
      opacity .2s ease,
      visibility 0s linear .2s;
  }
  .dept-slide[data-distance="0"] .full-card{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transition:
      transform .45s cubic-bezier(.4,0,.2,1),
      opacity .3s ease .12s,
      visibility 0s;
  }

  .full-card .top-row{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:14px;
  }
  .full-card .top-text{
    display:flex;
    align-items:center;
    gap:12px;
  }
  .full-card .top-text .agency-line{
    font-weight:700;
    font-size:18px;
    color:#191F28;
  }
  .full-card .top-text .cert-line{
    font-size:15px;
    font-weight:500;
    color: var(--txt-684);
    position:relative;
    display:flex;
    align-items:center;
    gap:12px;
  }
  .full-card .top-text .cert-line:before{
    content:"";
    width:1px;
    height:14px;
    background:#E5E8EB;
  }

  /* ---------- 카드 안 과목 슬라이드 (겹쳐 쌓고 opacity로 전환) ---------- */
  .course-slides{ display:grid; }
  .course-slide{
    grid-area: 1 / 1;            /* 모든 슬라이드를 같은 칸에 겹침 → 높이는 가장 큰 슬라이드 기준 */
    opacity:0;
    visibility:hidden;
    transition: opacity .35s ease, visibility 0s linear .35s;
  }
  .course-slide.is-active{
    opacity:1;
    visibility:visible;
    transition: opacity .35s ease, visibility 0s;
  }

  .thumb{
    position:relative;
    width:100%;
    aspect-ratio: 2.02/1;
    border-radius:18px;
    overflow:hidden;
    background:#dfe4f2;
    aspect-ratio: 2.15/1;
    aspect-ratio: 1.7/1;
  }
  .thumb > img{
    width:100%; height:100%; object-fit:cover;
    display:block;
    user-select:none;
    -webkit-user-drag:none;
  }
  .img-counter{
    position:absolute;
    right:12px; bottom:12px;
    display:flex;
    align-items:center;
    gap: 9px;
    padding: 9px;
    border-radius:999px;
    background: rgba(25, 31, 40, 0.70);
    color:#fff;
    font-size:15px;
    font-weight:700;
    box-sizing: border-box;
  }
  .img-counter .cnt-num{ min-width:34px; text-align:center; letter-spacing:.2px; }
  .img-counter .cnt-btn{
    width:20px; height:20px;
    padding:0; border:0;
    background:transparent;
    color:#fff;
    display:flex; align-items:center; justify-content:center;
    cursor:pointer;
    opacity:.9;
  }
  .img-counter .cnt-btn:hover{ opacity:1; }

  .course-tit-box{
    display:flex;
    align-items:center;
    gap:12px;
    margin-top:24px;
  }
  .course-title{
    font-size:22px;
    font-weight:700;
    color:#191F28;
    letter-spacing:-.5px;
  }
  .course-desc{
    margin:10px 0 0;
    font-size: 16px;
    color:#4E5968;
    line-height:1.62;
    word-break: keep-all;
  }
  .scholarship-badge{
    background:#EDF4FF;
    color:#0B57D0;
    font-size:15px;
    font-weight:700;
    padding:6px 12px;
    border-radius:99px;
    white-space:nowrap;
    box-sizing:border-box;
  }

  /* ---------- right nav rail ---------- */
  .nav-rail{
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    width:44px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:13px;
  }
  .rail-btn{
    width:44px;
    height:44px;
    padding:0;
    border:1px solid #CBD3DC;
    background:#fff;
    color:#191F28;
    display:flex; align-items:center; justify-content:center;
    cursor:pointer;
    border-radius:50%;
    transition: color .2s ease, background .2s ease, border-color .2s ease;
  }
  .rail-btn:hover{ 
    color: var(--accent);
    border-color: var(--accent);
    background: var(--accent-soft);
  }
  .rail-pager {
    width: 44px;
    padding: 13px 0;
    box-sizing: border-box;
    border: 1px solid #E5E8EB;
    background: #fff;
    border-radius: 90px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    line-height: 1;
    font-size: 15px;
  }
  .rail-pager .cur{ font-weight:800; color:#191F28; }
  .rail-pager .sep{ width:3px; height:3px; border-radius:50%; background:#8B95A1; }
  .rail-pager .tot{ font-weight:600; color:#8B95A1; }



/* .cnt1 .right {
  width: 320px;
  width: 400px;
}
.cnt1 .right > .flexbox {
  width: 100%;
  padding: 20px 24px;
  box-sizing: border-box;
  border: 1px solid #D2D6DA;
  border-radius: 20px;
  margin-top: 10px;
  height: auto;
  background: #fff;
}
.cnt1 .right > .flexbox.after {
  margin-bottom: 12px;
  padding: 18px 24px;
  margin-top: 8px;
}
.cnt1 .right .flexbox > p {
  font-size: 17px;
  font-weight: 500;
  color: #000;
}
.cnt1 .right .flexbox > p strong {
  font-weight: 600;
}
.flexbox {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.flexbox.after {
  flex-direction: column;
  align-items: flex-start;
  justify-content: unset;
}
.cnt1 .right .btn_wrap {
  position: relative;
}
.cnt1 .flexbox.before {
  flex-direction: column;
  align-items: unset;
  margin-top: 3px;
  margin-bottom: 12px;
}
.cnt1 .right .after .btn_wrap {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 5px;
  width: 100%;
  margin-top: 12px;
}
.cnt1 .right .after .btn_wrap > a[class^="btn"] {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  height: 36px;
  font-size: 14px;
  font-weight: 600;
  box-sizing: border-box;
  border-radius: 6px;
  background: #fff;
  line-height: 1;
  flex: 1;
} */
.cnt1 .btnMypage {
  color: #2276F1;
  border: 1px solid #2276F1;
}
.cnt1 .btnLogout {
  border: 1px solid #9DA6AE;
  color: #1E2125;
}
.cnt1 .btn_wrap_class {
  width: auto;
  flex: 1;
}
.cnt1 .classBtn {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  border-radius: 6px;
  width: 100%;
  height: 36px;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  background: #2276F1;
}
.login_btn3, .login_btn4 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  border-radius: 6px;
  height: 48px;
  padding: 0 10px;
  font-size: 16px;
  font-weight: 600;
  border: 1px solid #2276f1;
  box-sizing: border-box;
}
.login_btn3 {
  background: #fff;
  color: #2276F1;
}
.login_btn4 {
  background: #2276f1;
  color: #fff;
}
.before_box .login_btn4 {
  margin-bottom: 10px;
}
.before_box {
  margin-top: 18px;
  box-sizing: border-box;
}
.main_point_box {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: #3969FC !important;
  font-size: 15px;
  font-weight: bold;
  margin-left: auto;
}
.main_point_box img {
  width: 24px;
  height: 24px;
}
.cnt1 .flexbox.before p b {
  display: block;
}
.btm_wrap.app {
  border-radius: 20px;
  border: 1px solid #D2D6DA;
  box-sizing: border-box;
  padding: 16px 24px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  text-align: center;
  box-shadow: 0 4px 12px 6px rgba(0, 0, 0, .05);
  background: #fff;
}
.app_btn_box {
  display: flex;
  gap: 5px;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
.app_btn_box .btn_app {
  width: 130px;
  height: 37px;
  border-radius: 8px;
  overflow: hidden;
}
.app_btn_box .btn_app img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.btm_wrap.app p {
  text-align: center;
  font-weight: 700;
  font-size: 19px;
  letter-spacing: -1.4px;
  line-height: 1.34;
  color: #000;
}
.btm_wrap.app p b {
color: #127eb6;
}
.app_cont {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-top: 16px;
}
.app_cont > img {
  width: 80px;
  aspect-ratio: 1;
  height: 100%;
}

.myclass_list {
  overflow-y: auto;
  width: 100%;
  height: 90px;
  margin-top: 12px;
  padding: 16px 0;
  box-sizing: border-box;
  border-radius: 8px;
  background: #FAFAFA;
}
.myclass_list li {
  padding: 0 16px;
  box-sizing: border-box;
}
.myclass_list li + li {
  margin-top: 10px;
  border-top: 1px solid #ebebeb;
  padding-top: 10px;
  box-sizing: border-box;
}
.myclass_list .list_inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.myclass_list .tit strong {
  color: #3C4249;
  font-size: 14px;
  font-weight: 600;
  display: block;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  width: 177px;
}
.myclass_list .date {
  font-size: 12px;
  font-weight: 500;
  color: #6D767E;
  letter-spacing: -.6px;
}
.myclass_list .attend_ratio strong {
  color: #FF5400;
  border: 1px solid #FF5400;
  border-radius: 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 8px;
  box-sizing: border-box;
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  width: 49px;
  height: 22px;
  background: #fff;
}
.myclass_list .attend_ratio strong em {
  font-size: 11px;
}
.myclass_list .empty_msg {
  text-align: center;
  color: #3C4249;
  font-size: 15px;
  font-weight: 500;
}

.cnt_special .area {
  display: flex;
  align-items: center;
  gap: 24px;
}
.special_box {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 20px;
  box-sizing: border-box;
  border-radius: 12px;
  background: #DEEFFC;
  flex: 1;
}
.special_box:nth-child(2) {
  background: #E3F7FD;
}
.special_box:last-child {
  background: #E3E9FD;
}
.special_txt strong {
  color: #000;
  font-size: 18px;
  font-weight: 600;
  display: block;
}
.special_box p {
  color: #3C4249;
  font-size: 16px;
  font-weight: 500;
}


/* new 1229 */
.cnt1 .professor_img {
  display: flex;
  position: absolute;
  right: 15px;
  bottom: 0;
}
.cnt1 .swiper-slide .professor_img img {
  width: 270px;
  height: auto;
  z-index: 1;
  width: 340px;
}
.cnt1 .class_txt {
  flex: auto;
  display: flex;
  flex-direction: column;
  margin-top: 38px;
}
.cnt1 .class_txt > strong {
  font-weight: 700;
  font-size: 50px;
  color: #292E55;
  line-height: 1.2;
  margin-top: 3px;
  padding-right: 3px;
}
.cnt1 .class_txt > span {
  color: #292E55;
  font-size: 26px;
  font-weight: 600;
  letter-spacing: -.56px;
}
.cnt1 .btn_txt {
  background: #2276F1;
  border-radius: 100px;
  height: 54px;
  padding: 0 27px;
  box-sizing: border-box;
  font-size: 18px;
  font-weight: 600;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  width: fit-content;
  margin-top: 30px;
}
.cnt1 .btn_txt img {
  transition: transform 0.3s ease;
  width: 17px;
  height: auto;
}
.cnt1 .class_top {
  display: flex;
  flex-direction: column;
  gap: 22px;
  box-sizing: border-box;
}
.cnt1 .class_img {
  overflow: hidden;
  position: relative;
  flex: none;
  width: 100%;
  height: 355px;
  height: 405px;
  border-radius: 12px;
  box-sizing: border-box;
  background: #f4f5fe;
  display: flex;
  justify-content: flex-end;
}
.cnt1 .gov_box {
  position: absolute;
  z-index: 5;
  top: 27px;
  left: 60px;
}
.cnt1 .orgLogo .smallFlex {
  display: flex;
  align-items: center;
  gap: 10px;
}
.cnt1 .orgLogo img {
  width: 47px;
  aspect-ratio: 1;
}

.orgLogo p {
  color: #191C1F;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-family: 'S-CoreDream-5Medium';
  font-weight: 500;
}
.orgLogo .smallFlex {
  gap: 5px;
}
.cnt1 .orgLogo p {
  font-size: 26px;
}
.cnt1 .orgLogo p span {
  font-size: 18px;
}
.cnt1 .gov_box > p {
  margin-top: 10px;
  padding: min(1.4vw, 6px) min(2.79vw, 12px);
  box-sizing: border-box;
  font-weight: 600;
  text-align: center;
  width: fit-content;
  border: 1px solid rgba(136, 139, 163, 0.70);
  color: #888BA3;
  letter-spacing: -.36px;
  font-size: 18px;
  padding: 8px 11px;
  border-radius: 8px;
  background: #F4F5FE;
  line-height: 1.2;
}

.small_bar_container {
  width: 140px;
  height: 3px;
  background-color: #E8F1F9;
  border-radius: 5px;
}
.small_bar_container .attendance-bar {
  height: 100%;
  background-color: #0486FF;
  border-radius: 5px 0 0 5px;
  transition: width 0.3s ease;
}
.cnt1 .visual_img {
  position: relative;
}
.visual_img:before {
  content: "";
  display: flex;
  width: 150px;
  height: 100%;
  background: linear-gradient(270deg, rgba(244, 245, 254, 0.00) 0%, #F4F5FE 70%);
  position: absolute;
  left: 0;
  top: 0;
}
.cnt1 .btn_txt:hover img {
  animation: moveArrow2 0.6s infinite alternate ease-in-out;
}
@keyframes moveArrow2 {
  0% {
    transform: translateX(-5px);
  }
  100% {
    transform: translateX(0);
  }
}


.cnt_select {
  padding: 92px 0;
  background: #fafafa;
  box-sizing: border-box;
}
.cnt_select .area {
  display: flex;
  position: relative;
}
.cnt_select .area:after {
  content: "";
  display: block;
  width: 90px;
  height: 100%;
  background: linear-gradient(90deg, rgba(250, 250, 250, 0.00) 0%, #FAFAFA 19.67%);
  position: absolute;
  right: -70px;
  top: 0;
  z-index: 2;
}
.cnt_select .tit {
  width: 360px;
  flex: none;
}
.cnt_select .tit h3 {
  color: #080A0C;
  font-size: 28px;
  font-weight: 700;
  letter-spacing: -.28px;
  margin-top: 20px;
}
.cnt_select .swiper-slide {
  width: 260px !important;
}
/* 커스텀 셀렉트 */
.custom-select{
  position:relative;
  width:163px;
  cursor:pointer;
}
.select-selected {
  padding:12px 16px;
  border-radius:12px;
  border:1px solid #D2D6DA;
  font-size: 22px;
  font-weight: 700;
  color: #000;
  background: #fff;
  position: relative;
}
.select-selected::after{
  content:"";
  display: block;
  position:absolute;
  right:16px;
  top:50%;
  width:16px;
  height:16px;
  background: url(../img/ver2412/sel-down.svg) no-repeat center / auto;
  transform:translateY(-50%) rotate(0deg);
  transition:0.3s ease;
}
/* 열렸을 때 회전 */
.custom-select.active .select-selected::after{
  transform:translateY(-50%) rotate(180deg);
}
.select-items{
  position:absolute;
  top:65px;
  left:0;
  right:0;
  background:#fff;
  border:1px solid #D2D6DA;
  border-radius:12px;
  display:none;
  z-index:99;
  color: #1E2125;
  font-size: 16px;
  font-weight: 600;
}
.select-items div{
  padding:12px;
  box-sizing: border-box;
}
.select-items div + div {
  border-top: 1px solid #D2D6DA;
}
.select-items div:hover{
  background:#f0f0f0;
}
.cnt_select .swiper {
  display: none;
}
.cnt_select .swiper.active {
  display: block;
}
.cnt_select .cl_list {
  display: flex;
  gap: unset;
}
.cnt_select .cl_list .thumb_box {
  width: 260px;
  padding: 0;
}
.cnt_select .cl_list .thumb_box img {
  width: 100%;
  transition: transform .2s ease;
}
.cnt_select .cl_list li a {
  flex-wrap: wrap;
  gap: 0;
  width: 260px;
}
.cnt_select .cl_price {
  justify-content: space-between;
  align-items: center;
  margin-top: 12px;
  flex-direction: row;
}
.cnt_select .cl_list .thumb_img img {
  width: 130px;
}
.cnt_select .cl_content {
  width: 100%;
}
.cnt_select .cl_list li a:hover .thumb_box:before {
  content: none;
}
.cnt_select .cl_list li a:hover .thumb_box:after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,.1);
}
.cnt_select .cl_list li a:hover .thumb_box img {
  transform: scale(1.05);
}


.cl_list {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 52px 30px;
}
.cl_list li a {
  display: flex;
  gap: 23px;
}
.cl_list .thumb_box {
  aspect-ratio: 1.6 / 1;
  width: 240px;
  border-radius: 12px;
  overflow: hidden;
  position: relative;
  padding: 10px;
  box-sizing: border-box;
  display: flex;
  justify-content: space-between;
  padding-right: 0;
  transition: .2s ease;
}
.cl_list li a:hover .thumb_box:before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background: linear-gradient(270deg, rgba(255, 239, 224, 0.60) 2.64%, rgba(255, 239, 224, 0.90) 45.11%, #FFEFE0 63.99%);
}

.cl_list .orgLogo {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  padding-bottom: 5px;
}
.cl_list .orgLogo .smallFlex {
  align-items: center;
  gap: 4px;
}
.cl_list .orgLogo img {
  width: 26px;
  height: 26px;
}
.cl_list .orgLogo p {
  font-size: 12px;
  transition: .2s ease;
}
.cl_list .thumb_img {
  position: absolute;
  bottom: 0;
  right: 0;
}
.cl_list .thumb_img img {
  width: 117px;
  height: auto;
  isolation: isolate;
}
.cl_tit {
  display: block;
  padding-top: 5px;
  box-sizing: border-box;
  font-size: 18px;
  font-weight: 600;
  color: #1E2125;
}
.cl_content {
  display: flex;
  flex-direction: column;
}
.cl_content p {
  color: #3C4249;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
  margin-top: 4px;
}
.cl_price {
  display: flex;
  flex-direction: column;
  margin-top: auto;
}
.cl_price span {
  color: #9DA6AE;
  font-size: 14px;
  font-weight: 400;
  text-decoration: line-through;
}
.cl_price > div {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
  font-size: 20px;
}
.cl_price strong {
  color: #FF5400;
}
.cl_price b {
  color: #1E2125;
  font-weight: 700;
}
.cl_list .thumb_box .thumb_badge {
  background: #F5F5F5;
  color: #F06135;
  border: 1px solid #F07735;
  border-radius: 5px;
  font-size: 8px;
  font-weight: 900;
  position: absolute;
  left: 16px;
  top: 10px;
  height: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 5px;
  box-sizing: border-box;
  letter-spacing: 0;
}

.cnt2 {
  position: relative;
  padding: 80px 0;
}
.cnt2 .area {
  position: relative;
}
.cnt2 .tit {
  display: flex;
  align-items: center;
}
.cnt2 .tit h3 {
  font-size: 32px;
  font-weight: 800;
  color: #080A0C;
  position: relative;
  letter-spacing: -.32px;
}
.cnt2 .tit h3 em {
  color: #2276F1;
  line-height: 1;
  font-weight: 800;
}
.cnt2 .box ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding: 0 10px;
  box-sizing: border-box;
  gap: 44px 0;
}
.cnt2 .box li {
  width: calc((100% - 8px)/9);
}
.cnt2 .box li a {
  display: flex;
  flex-direction: column;
  align-items: center;
  box-sizing: border-box;
  transition: border .3s;
  width: 96px;
}
.cnt2 .box li a:hover .icon {
  border-color: #0161D1;
}
.cnt2 .box li a:hover h4 {
  color: #0161D1;
  font-weight: bold;
}
.cnt2 .box a h4 {
  font-size: 16px;
  font-weight: 600;
  letter-spacing: -1px;
  color: #000;
  margin-top: 20px;
}
.cnt2 .box .icon {
  border-radius: 20px;
  background: #f3f9fe;
  box-sizing: border-box;
  border: 3px solid transparent;
  width: 80px;
  aspect-ratio: 1;
}
.cnt2 .box .icon.bg {
  background-color: #cfe7fe;
}
.cnt2 .box .icon img {
  width: 100%;
  aspect-ratio: 1;
}
.cnt2 .box .icon.new {
  display: flex;
  align-items: center;
  justify-content: center;
}
.cnt2 .box .icon.new img {
  width: 41px;
}
.cnt2 .box + .desc {
  margin-top: 78px;
  font-size: 17px;
  letter-spacing: -1px;
  margin-left: 65px;
  color: #1786F1;
}
.cnt2 .box + .desc strong {
  font-weight: 800;
  color: #0161D1;
}
.cnt2 .box li.more-item {
  display: none;
}
.cnt2 .box li.more-item.show {
  display: block;
}

.cnt_recomm {
  background: #FAFAFA;
  padding: 92px 0 62px;
  box-sizing: border-box;
}
.cnt_recomm .area {
  position: relative;
  display: flex;
}
.cnt_recomm .area:after {
  content: "";
  display: block;
  width: 90px;
  height: 100%;
  background: linear-gradient(90deg, rgba(250, 250, 250, 0.00) 0%, #FAFAFA 19.67%);
  position: absolute;
  right: -70px;
  top: 0;
  z-index: 2;
}
.cnt_recomm .tit {
  width: 360px;
  flex: none;
}
.cnt_recomm .tit h3 {
  color: #080A0C;
  font-size: 28px;
  font-weight: 700;
  letter-spacing: -.28px;
}
.cnt_recomm .txt {
  padding-bottom: 30px;
}
.cnt_recomm .txt ul {
  display: flex;
}
.cnt_recomm .txt li {
  width: 272px !important;
  box-shadow: 0 6.118px 16.824px 0 rgba(0, 0, 0, 0.05);
  border-radius: 15px;
}
.cnt_recomm .top {
  position: relative;
  width: 272px;
  aspect-ratio: 1.6/1;
  border-top-left-radius: 15px;
  border-top-right-radius: 15px;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  box-sizing: border-box;
}
.cnt_recomm .orgLogo {
  position: absolute;
  left: 16px;
  top: 16px;
}
.cnt_recomm .orgLogo img {
  width: 22px;
  aspect-ratio: 1;
}
.cnt_recomm .orgLogo p {
  font-size: 12px;
}
.cnt_recomm .top > p {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: -.187px;
  color: #152A56;
  font-family: 'S-CoreDream-5Medium';
  line-height: 1.4;
  display: none;
}
.top.orange > p {
  color: #6B210A;
}
.top.yellow > p {
  color: #461B02;
}
.cnt_recomm .professor_img img {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 136px;
  object-fit: cover;
}
.cnt_recomm .professor_img:before {
  content: "";
  display: block;
  height: 96%;
  position: absolute;
  transform: translateX(-50%);
  z-index: 0;
  bottom: 0;
  opacity: .23;
  width: 100%;
  left: 73%;
  background: url(../img_v2/order/shadow11.png) no-repeat top right / cover;
}
.cnt_recomm .btm {
  background: #fff;
  padding: 16px;
  border-bottom-left-radius: 15px;
  border-bottom-right-radius: 15px;
}
.cnt_recomm .btm strong {
  color: #1E2125;
  font-size: 18px;
  font-weight: 600;
}
.cnt_recomm .btm p {
  color: #3C4249;
  font-size: 14px;
  font-weight: 500;
  margin-top: 4px;
}
.badge_list {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 16px;
}
.badge_list span {
  color: #2276F1;
  font-size: 12px;
  font-weight: 500;
  padding: 2px 4px;
  border-radius: 4px;
  background: #EEF8FF;
  box-sizing: border-box;
  height: 21px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}
.badge_list .badge_free {
  background: #FFEFE0;
  color: #FF5400;
}

/* cnt_new test 0313 */
.cnt_new {
  padding: 92px 0 62px;
  box-sizing: border-box;
}
.cnt_new .area {
  position: relative;
  display: flex;
}
.cnt_new .area:after {
  content: "";
  display: block;
  width: 90px;
  height: 100%;
  background: linear-gradient(90deg, rgba(250, 250, 250, 0.00) 0%, #FAFAFA 19.67%);
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.00) 0%, #FFF 19.67%);
  position: absolute;
  right: -70px;
  top: 0;
  z-index: 2;
}
.cnt_new .tit {
  width: 360px;
  flex: none;
}
.cnt_new .tit h3 {
  color: #080A0C;
  font-size: 28px;
  font-weight: 700;
  letter-spacing: -.28px;
}
.cnt_new .txt {
  padding-bottom: 30px;
}
.cnt_new .gov_box {
  display: none;
}
.cnt_new .txt ul {
  display: flex;
}
.cnt_new .txt li {
  width: 272px !important;
  box-shadow: 0 6.118px 16.824px 0 rgba(0, 0, 0, 0.05);
  border-radius: 15px;
}
.cnt_new .top {
  position: relative;
  width: 272px;
  aspect-ratio: 1.6/1;
  border-top-left-radius: 15px;
  border-top-right-radius: 15px;
  overflow: hidden;
  background: url(../img/ver2412/hot_th_blue.png) no-repeat center / cover;
  display: flex;
  align-items: flex-end;
  box-sizing: border-box;
}
.cnt_new .orgLogo {
  position: absolute;
  left: 16px;
  top: 16px;
}
.cnt_new .orgLogo img {
  width: 22px;
  aspect-ratio: 1;
}
.cnt_new .orgLogo p {
  font-size: 12px;
}
.cnt_new .top > p {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: -.187px;
  color: #152A56;
  font-family: 'S-CoreDream-5Medium';
  line-height: 1.4;
  display: none;
}
.cnt_new .new_img img {
  width: 100%;
  height: auto;
  object-fit: cover;
}
.cnt_new .new_img:before {
  content: "";
  display: block;
  height: 96%;
  position: absolute;
  transform: translateX(-50%);
  z-index: 0;
  bottom: 0;
  opacity: .23;
  width: 100%;
  left: 73%;
}
.cnt_new .btm {
  background: #fff;
  padding: 16px;
  border-bottom-left-radius: 15px;
  border-bottom-right-radius: 15px;
}
.cnt_new .btm strong {
  color: #1E2125;
  font-size: 18px;
  font-weight: 600;
}
.cnt_new .btm p {
  color: #3C4249;
  font-size: 14px;
  font-weight: 500;
  margin-top: 4px;
}
/* -- */
.bg {
  background: #fafafa !important;
}
.cnt_slide {
  padding: 92px 0;
}
.cnt_slide.bg {
  background: #fafafa;
}
.cnt_slide .area {
  position: relative;
  display: flex;
}
.cnt_slide .area:after {
  content: "";
  display: block;
  width: 90px;
  height: 100%;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.00) 0%, #FFF 19.67%);
  position: absolute;
  right: -70px;
  top: 0;
  z-index: 2;
}
.cnt_slide.bg .area:after {
  background: linear-gradient(90deg, rgba(250, 250, 250, 0.00) 0%, #FAFAFA 19.67%);
}
.cnt_slide .tit {
  margin-bottom: 64px;
  width: 360px;
  flex: none;
}
.cnt_slide .tit h3 {
  color: #080A0C;
  font-size: 28px;
  font-weight: 700;
  letter-spacing: -.28px;
}
.cnt_slide .hash {
  display: flex;
  align-items: center;
  gap: 5px;
  margin-bottom: 4px;
}
.cnt_slide .hash span {
  color: #2276F1;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: -.18px;
}
.cnt_slide .txt li {
  width: 260px !important;
}
.cnt_slide .thumb_box {
  border-radius: 12px;
  box-sizing: border-box;
  position: relative;
  aspect-ratio: 1.6 / 1;
  transition: .3s ease-in-out;
  overflow: hidden;
}
.cnt_slide li:hover .thumb_box:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(270deg, rgba(255, 248, 214, 0.60) 2.64%, rgba(255, 248, 214, 0.90) 45.11%, #f5edc7 63.99%);
}
.cnt_slide .gov_box {
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  padding-bottom: 8px;
}
.cnt_slide .orgLogo img {
  width: 26px;
  aspect-ratio: 1;
}
.cnt_slide .orgLogo p {
  font-size: 12px;
}

.cnt_slide .professor_img img {
  width: 130px;
  isolation: isolate;
  width: 100%;
  height: auto;
  object-fit: cover;
}
.cnt_slide .btm > strong {
  font-size: 20px;
  font-weight: 600;
  color: #1E2125;
  margin: 8px 0;
  display: block;
}
.cnt_slide .btm > p {
  color: #3C4249;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
}
.cnt_slide .cl_price {
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  margin-top: 12px;
}
.cnt_slide + .cnt_slide {
  padding-bottom: 230px;
}

.cnt3 {
  background: #fff;
  padding-bottom: 60px;
}
.cnt3 .area {
  display: flex;
  justify-content: space-between;
}
.cnt3 .left {
  position: relative;
  width: calc(50% - 20px);
  margin-top: 130px;
}
.cnt3 .left .tit {
  display: flex;
  align-items: center;
  gap: 45px;
  margin-bottom: 52px;
}
.cnt3 .left .tit a {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #818A92;
  font-size: 16px;
  font-weight: bold;
  letter-spacing: -.5px;
}
.cnt3 .left .tit a:after {
  content: "";
  width: 25px;
  height: 25px;
  background: url(../img/ver2412/more.svg) no-repeat center / 100%;
}
.cnt3 .left .tit h3 {
  font-size: 40px;
  font-weight: 700;
  color: #000;
  line-height: 1;
}
.cnt3 .left .txt li {
  position: relative;
  height: 300px;
}
.cnt3 .left .txt li a {
  display: block;
  pointer-events: none;
}
.cnt3 .left .txt li .img {
  overflow: hidden;
  border-radius: 30px;
  box-sizing: border-box;
  height: 240px;
  background: #EEF3F7;
}
.cnt3 .left .txt li .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.cnt3 .left .txt li h4 {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 44px;
  font-size: 14px;
  font-weight: bold;
  color: #fff;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 110px;
  border-radius: 20px;
  height: 71px;
  line-height: 1.4;
  box-shadow: 10px 5px 20px rgba(0, 0, 0, .25);
}
.cnt3 .left .txt li h4 strong {
  font-size: 20px;
  font-weight: 700;
}
.cnt3 .left .txt li:nth-child(even) h4{
  background: #1786F1;
}
.cnt3 .left .txt li:nth-child(odd) h4{
  background: #0851C2;
}
.cnt3 .left .btn_common {
  position: absolute;
  top: 0px;
  width: 38px;
  height: 38px;
  background-repeat: no-repeat;
  background-size: auto;
  background-position: center;
  cursor: pointer;
  border-radius: 12px;
  background-color: #fff;
  border: 1px solid #BEC9D7;
}
.cnt3 .left .swiper-button-next4 {
  right: 0;
  background-image: url("../img/ver2412/arr_btn_next.svg");
  border-color: #BEC9D7;
}
.cnt3 .left .swiper-button-prev4 {
  right: 45px;
  background-image: url("../img/ver2412/prev-bl.svg");
  border-color: #1786F1;
  background-color: #EAF4FC;
}

.cnt3 .right {
  width:620px;    
  margin-top: -120px;
  z-index: 1;
}
.cnt3 .right .btm {
  margin-left: 60px;
}
.cnt3 .right .btm .tit {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.cnt3 .right .btm .tit .bar {
  width: 40%;
  height: 1px;
  background-color: #DDEBF8;
  user-select: none;
}
.cnt3 .right .btm .tit h3 {
  font-size: 23px;
  font-weight: 500;
  color: #000;
}
.cnt3 .right .btm .tit:after {
  content: "";
  width: 32px;
  height: 40px;
  background: url(../img/ver2412/heart.svg) no-repeat center / auto;
}
.cnt3 .right .btm .tit h3 strong {
  font-weight: 700;;
}
.cnt3 .right .btm .txt {
  position: relative;
  box-sizing: border-box;
  height: 100%;
  margin-top: 37px;
}
.cnt3 .right .btm .txt .box ul {
  display: flex;
  gap: 10px 14px;
  flex-wrap: wrap;
}
.cnt3 .right .btm .txt li.on h4 {
  color: #0161D1;
}
.cnt3 .right .btm .txt li {
  padding: 0 10px;
  display: flex;
  box-sizing: border-box;
  position: relative;
  transition: background .25s ease;
}
.cnt3 .right .btm .txt li.on {
  background: #EEF3F7;
  border-radius: 15px;
}
.cnt3 .right .btm .txt li:before {
  content: "";
  width: 22px;
  height: 22px;
  background: url(../img/ver2412/blue-chkbox.svg) no-repeat center / auto;
  position: absolute;
  top: -12px;
  right: 8px;
  transition: opacity .4s;
  opacity: 0;
}
.cnt3 .right .btm .txt li.on:before {
  opacity: 1;
}
.cnt3 .right .btm .txt li h4 {
  font-size: 15px;
  font-weight: bold;
  line-height: 56px;
  text-align: center;
  color: #7D8389;
}

.cnt3 .right .top {
  display: flex;
  height: 366px;
  margin-bottom: 50px;
  background: url(../img/ver2412/play-bg.png) no-repeat center / cover;
  padding: 80px 66px 80px 60px;
  box-sizing: border-box;
  align-items: center;
  justify-content: space-between;
}
.cnt3 .right .top .tit {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}
.cnt3 .right .top .tit h3 {
  font-size: 17.5px;
  font-weight: bold;
  display: flex;
  flex-direction: column;
  color: #fff;
  padding-top: 3px;
  line-height: 1.5;
}
.cnt3 .right .top .tit h3 strong {
  font-size: 30px;
  font-weight: 800;
}
.cnt3 .right .top .tit h3 span {
  font-size: 23px;
}
.cnt3 .right .top .tit p {
  font-size: 13px;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: -1px;
  color: #fff;
  margin-bottom: 15px;
}
.cnt3 .right .top .txt a{
  display: block;
  position: relative;
  transition: transform .3s;
}
.cnt3 .right .top .txt a:hover {
  transform: scale(1.05);
}
.cnt3 .right .top .img img {
  width: 100%;
  height: auto;
  overflow: hidden;
}


.cnt5 {
  margin-top: 80px;
  padding-bottom: 100px;
}
.cnt5 .area {
  position: relative;
  border-bottom: 1px dashed #1786F1;
  padding-bottom: 92px;
  box-sizing: border-box;
}
.cnt5 .tit {
  padding-top: 40px;
  position: relative;
}
.cnt5 .tit:after {
  content: "";
  display: block;
  width: 60%;
  height: 1px;
  background-color: #DCEBF7;
  position: absolute;
  right: 0;
  top: 54%;
  transform: translateY(-50%);
}
.cnt5 .tit h3 {
  font-size: 40px;
  font-weight: 700;
  color: #000;
  margin-right: 12px;
  position: relative;
  display: inline-flex;
}
.cnt5 .tit h3:before {
  content: "";
  display: block;
  width: 135px;
  height: 83px;
  background: url(../img/ver2412/rv-dc-le.png) no-repeat center / auto;
  position: absolute;
  top: -54px;
  right: -60px;
}
.cnt5 .tit h3 span{
  display: block;
  width: 174px;
  height: 50px;
  background: url(../img/ver2412/rev-dc.png) no-repeat center / auto;
  position: absolute;
  right: -201px;
  background-size: 88%;
  top: 60%;
  transform: translateY(-50%);
  z-index: 1;
}
.cnt5 .tit p {
  font-size: 16px;
  font-weight: 500;
  color: #A1ADB6;
  margin-top: 7px;
}
.cnt5 .txt {
  margin-top: 70px;
  margin-left: 42px;
}
.cnt5 .txt:after {
  content: "";
  display: block;
  width: 230px;
  height: 100%;
  background: url(../img/ver2412/rev-cloud.png) no-repeat center / 100%;
  position: absolute;
  right: -190px;
  top: 0;
  z-index: 1;
}
.cnt5 .txt ul {
  display: flex;
}
.cnt5 .txt li {
  background-color: #F5F8FA;
  width: 360px !important;
  border-radius: 30px;
  border: 1px solid #DBE9F3;
  box-sizing: border-box;
  padding: 32px 35px 38px;
}
.cnt5 .txt li:hover {
  border: 2px solid #1786F1;
  background-color: #EDF3F7;
}
.cnt5 .top {
  display: flex;
  margin: 0 auto;
  border-bottom: 1px dashed #1786F1;
  flex-direction: row-reverse;
}
.cnt5 .top .ps {
  width: 61px;
  height: 61px;
  border-radius: 20px;
  overflow: hidden;
}
.cnt5 .top .ps img {
  width: 100%;
  height: auto;
}
.cnt5 .top .content_txt h4 {
  font-size: 24.5px;
  font-weight: 700;
  line-height: 30px;
}
.cnt5 .top .content_txt p {
  margin-bottom: 24px;
  font-size: 15px;
  font-weight: 500;
  color: #4A4C4E;
  line-height: 26px;
  padding-top: 20px;
}
.cnt5 .btm {
  margin-top: 18px;
}
.cnt5 .btm p {
  display: flex;
  align-items: center;
  font-size: 12.5px;
  font-weight: 600;
  color: #1786F1;
  letter-spacing: 0;
}
.cnt5 .btm p:before {
  content: "";
  display: block;
  width: 25px;
  height: 25px;
  background: #fff url(../img/ver2412/pencil.svg) no-repeat center / 13px;
  border-radius: 50%;
  margin-right: 10px;
}
.cnt5 .btm p img {
  display: none;
  width: 16px;
  height: auto;
  margin-right: 2px;
  margin-bottom: 1px;
}
.cnt5 .btn_common {
  position: absolute;
  right: auto;
  top: 48px;
  width: 44px;
  height: 44px;
  background-repeat: no-repeat;
  background-size: auto;
  background-position: center;
  background-color: #fff;
  cursor: pointer;
  border: 1px solid #BEC9D7;
  border-radius: 15px;
}
.cnt5 .swiper-button-next6 {
  right: 15px;
  background-image: url("../img/ver2412/arr_btn_next.svg");
  border-color: #BEC9D7;
}
.cnt5 .swiper-button-prev6 {
  right: 66px;
  background-image: url("../img/ver2412/prev-bl.svg");
  border-color: #1786F1;
  background-color: #EAF4FC;
}
.rev_btn_wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
  padding: 0 30px;
  position: absolute;
  bottom: -29px;
  left: 50%;
  transform: translateX(-50%);
}
.rev_btn_wrap .rev_more {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 195px;
  height: 55px;
  font-size: 15px;
  font-weight: bold;
  color: #232628;
  background-color: #EDF3F7;
  border-radius: 16px;
  box-sizing: border-box;
  padding: 0 18px;
} 
.rev_btn_wrap .rev_more:after {
  content: "";
  width: 25px;
  height: 25px;
  background: url(../img/ver2412/rev-more.svg) no-repeat center / auto;
}


.cnt6 {
  padding-top: 55px;
  margin-bottom: 72px;
}
.cnt6 .area {
  display: flex;
  justify-content: space-between;
}
.cnt6 .b1 {
  width: 235px;
}
.cnt6 .b1 h4 {
  color: #202122;
  font-size: 21px;
  font-weight: 800;
  line-height: 1.35;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.cnt6 .b1 h4:after {
  content: "";
  width: 36px;
  height: 34px;
  background: url(../img/ver2412/cs.svg) no-repeat center / auto;
}
.cnt6 .b1 .b_list {
  margin-top: 19px;
}
.cnt6 .b1 .b_list li {
  border-bottom: 1px solid #DFEBF5;
  height: 70px;
  display: flex;
  align-items: center;
  box-sizing: border-box;
}
.cnt6 .b1 .b_list a {
  width: 100%;
  font-size: 17px;
  font-weight: bold;
  color: #7D8389;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  transition: .3s;
}
.cnt6 .b1 .b_list a:hover {
  color: #fff;
  border-radius: 20px;
  background-color: #1786F1;
  padding: 14px;
  box-sizing: border-box;
}
.cnt6 .b1 .b_list a:hover:after {
  content: "";
  display: block;
  width: 21px;
  height: 21px;
  border-radius: 6px;
  box-sizing: border-box;
  background: #fff url(../img/ver2412/cs-arr-bl.svg) no-repeat center / auto;
}
.cnt6 .b2 {
  width: 595px;
  height: 350px;
  box-sizing: border-box;
}
.cnt6 .b2 .tit {
  display: flex;
  align-items: center;
  justify-content: space-between;
  line-height: 1;
}
.cnt6 .b2 .tit h4 {
  font-size: 30px;
  font-weight: 700;
  color: #202122;
}
.cnt6 .b2 .tit a {
  font-size: 16px;
  font-weight: 500;
  color: #818A92;
  letter-spacing: -1px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.cnt6 .b2 .tit a:after {
  content: "";
  width: 25px;
  height: 25px;
  background: url(../img/ver2412/more.svg) no-repeat center / 100%;
}
.cnt6 .b2 .txt {
  margin-top: 44px;
}
.cnt6 .b2 .txt li {
  height: 70px;
  border-bottom: 1px solid #DFEBF5;
  box-sizing: border-box;
}
.cnt6 .b2 .txt li:first-child {
  margin-top: 0;
}
.cnt6 .b2 .txt li a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 70px;
  box-sizing: border-box;
}
.cnt6 .b2 .h5_wrap {
  display: flex;
  align-items: center;
}
.cnt6 .b2 .h5_wrap h5 {
  font-size: 19px;
  font-weight: 500;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #232526;
}
.cnt6 .b2 li.on .h5_wrap h5 {
  color: #3382E9;
}
.cnt6 .b2 .txt li p {
  font-size: 16px;
  font-weight: 500;
  color: #808283;
}

.cnt6 .b3 {
  position: relative;
  width: 385px;
  height: 296px;
}
.cnt6 .b3 .swiper li {
  width: 385px;
  height: 360px;
}
.cnt6 .b3 .swiper li img {
  width: 100%;
  height: auto;
}
.cnt6 .btn_common {
  position: absolute;
  right: auto;
  top: auto;
  bottom: 16px;
  width: 12px;
  height: 12px;
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: center;
  z-index: 1;
}
.cnt6 .swiper-pagination7,
.cnt6 .swiper-pagination7 > * {
  font-size: 13px;
  color: #fff;
  font-weight: 500;
}
.cnt6 .swiper-pagination-bullet {
  background: #fff;
  opacity: 1;
  border: 1px solid #B5D5EE;
  box-sizing: border-box;
  width: 11px;
  height: 11px;
}
.cnt6 .swiper-pagination7 {
  left: 28px;
  height: auto;
  bottom: -40px;
  width: auto;
  letter-spacing: -1px;
}
.cnt6 .swiper-pagination-bullet-active {
  border: 3px solid #005FCD;
}

@font-face {
  font-family: 'GmarketSansMedium';
  src: url('https://fastly.jsdelivr.net/gh/projectnoonnu/noonfonts_2001@1.1/GmarketSansMedium.woff') format('woff');
  font-weight: normal;
  font-style: normal;
}
.cnt7 {
  padding-top: 18px;
  margin-bottom: 50px;
}
.cnt7 .area {
  display: flex;
  justify-content: space-between;
}
.cnt7 .tit {
  position: relative;
  padding-top: 14px;
}
.cnt7 .tit:after {
  content: "";
  display: block;
  width: 96px;
  height: 126px;
  background: url(../img/ver2412/trp-deco.png) no-repeat center / auto;
  position: absolute;
  right: 80px;
  bottom: 7px;
}
.cnt7 .tit h3 {
  font-size: 36px;
  font-weight: 700;
  color: #202122;
}
.cnt7 .tit h3 + p {
  font-family: 'GmarketSansMedium';
  font-size: 26px;
  font-weight: bold;
  color: #1340D3;
  margin-top: 18px;
  margin-bottom: 42px;
  letter-spacing: -.52px;
}
.cnt7 .tit h3 ~ span {
  color: #716F6F;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.78;
}
.cnt7 .txt ul {
  display: flex;
  gap: 70px;
}
.cnt7 .img {
  width: 416px;
}
.cnt7 .img img {
  width: 100%;
  height: auto;
  object-fit: cover;
  border-radius: 40px;
}
.cnt7 .img_desc {
  margin-top: 22px;
  padding-left: 10px;
}
.cnt7 .img_desc h4 {
  color: #101011;
  font-size: 21px;
  font-weight: 600;
  line-height: 1.55;
}
.cnt7 .img_desc p {
  margin-top: 11px;
  font-size: 15px;
  font-weight: 600;
  color: #101011;
  opacity: .6;
  line-height: 1.65;
}
.cnt7 .img_desc h5 {
  margin-top: 21px;
  font-size: 13px;
  font-weight: 600;
  color: #A1A1AF;
  line-height: 1.85;
}

.main_brand {
  padding-bottom: 40px; 
}
.brand_wrap {
  margin: 0 auto;
  position: relative;
}
.brand_wrap .btn_common {
  font-size: 0;
  width: 33px;
  height: 33px;
  border-radius: 12px;
  box-sizing: border-box;
  background-color: #fff;
  border: 1px solid #C1CEDE;
  background-repeat: no-repeat;
  background-size: auto;
  background-position: center;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
}
.brand_wrap .swiper-button-prev9 {
  background-image: url("../img/ver2412/prev-bl.svg");
  border-color: #1786F1;
  background-color: #EAF4FC;
  left: -100px;
  left: 0;
}
.brand_wrap .swiper-button-next9 {
  background-image: url("../img/ver2412/arr_btn_next.svg");
  left: -60px;
  left: 40px;
  border-color: #BEC9D7;
}
.brandSwiper {
  width: 1280px;
  margin-left: 100px;
}


/* cscenter */
.cscenter{
  position: fixed; 
  width: 220px;
  background:#fff;
  z-index: 1000;
  bottom: 140px;
  right: 10px;
  border-radius: 20px;
  box-shadow: 0px 15px 20px 1px rgba(0, 0, 0, .15);
  border: 1px solid #0486FF;
  padding-bottom: 20px;
  display: block;
  transition: transform 0.4s ease;
  /* display: none; */
}
.cscenter.close {
  transform: translateX(232px);
}
.cscenter.close .btn_close img {
  transform: rotate(-90deg);
}
@keyframes slideOut {
  0% {
    right: -260px;
  }
  100% {
    right: 10px;
  }
}

/* float_item용 */
.cscenter.active {
  display: block;
}
/*  */
.cscenter .csForm_wrap{
  padding:0 16px;
  box-sizing: border-box;
  margin-top: 0;
}
.cscenter table tr{
  text-align:left;
  line-height:32px;
}
.cscenter .input_txt {
  font-size: 13px;
  font-weight: 300;
  color: #555;
  width: 100%;
  line-height: 23px;
  outline: none;
  appearance: auto;
  box-sizing: border-box;
  background: #D9E6F1;
  border: 0;
  height: 40px;
  border-radius: 12px;
  margin-top: 5px;
  padding: 0 12px;
}
.cscenter .select_tell {
  font-size: 13px;
  font-weight: 300;
  color: #555;
  width: 32%;
  line-height: 23px;
  outline: none;
  box-sizing: border-box;
  padding: 0 8px;
  height: 40px;
  margin-top: 5px;
  background: #D9E6F1;
  border: 0;
  border-radius: 12px;
  padding: 0 12px;
}
.cscenter select {
  background: #D9E6F1 url(../img/ver2412/cs_arrow.png) no-repeat center right 12px/ auto !important;
  appearance: none !important;
}
.cscenter .check_a{
  color: #818890;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: normal;
}
.cscenter .btn_cs{
  font-size:14px;
  font-weight:600;
  color:#fff;
  background:#0F34AE; 
  border:none;
  box-sizing:border-box;
  width:100%;
  line-height:44px;
  display:block;
  border-radius: 12px;
  text-align: center;
  margin-top: 15px;
}
.cscenter .btn_cs:hover{
  background:#111;
}
.cscenter .botton_close {
  position: absolute;
  left: -33px;
  top: 43px;
}
.cscenter .btn_close {
  border-radius: 12px 0 0 12px;
  background: #000;
  width: 33px;
  height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.cscenter .btn_close img {
  transform: rotate(90deg);
  width: 18px;
  aspect-ratio: 1;
}
.cscenter_tell{
  display: block;
  padding: 24px 15px 15px 20px;
  border-radius: 20px 20px 0 0;
  position: relative;
}
.cscenterImg{
  position: absolute;
  top: 14px;
  right: 13px;
}
.cscenterImg img {
  width: 34px;
  aspect-ratio: 1 / 1;
}
.cscenter_tell p{
  color: #6B7178;
  line-height: normal;
  font-size: 12px;
  font-weight: bold;
}
.cscenter_tell em{
  color: #1786F1;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: -.3px;
}
.cscenter_tell strong{
  display: block;
  font-size:30px;
  font-weight:800;
  color: #0F34AE;
  margin: 11px 0;
  line-height: 29px;
  margin-bottom: 5px;
}
.cs_chk {
  margin-top: 11px;
}
.cs_chk input[type=checkbox] {
  display: none;
}
.cs_chk input[type=checkbox] + label {
  display: inline-block;
}
input[type=checkbox] + label span {
  position: relative;
  margin-right: 9px;
  display: inline-block;
  vertical-align: middle;
  background: #fff url(../img/ver2412/chk_lightblue.svg) no-repeat center / auto;
  width: 20px;
  height: 20px;
  border-radius: 6px;
  border: 1px solid #1786F1;
  transform: translateY(-1.5px);
  padding-left: 1px;
  box-sizing: border-box;
}
.cs_chk input[type=checkbox]:checked + label {
  font-weight: 600;
}
.cs_chk input[type=checkbox]:checked + label span{
  border-color: #1382E9;
  background: #1382E9 url("../img/ver2412/yello-chk.svg") no-repeat center / 13px;
  box-sizing: border-box;
}

.dropbtn{
  color:#818890;
}
.dropdown{
  position:relative;
  display:inline-block;
  margin: 0;
  display: none;
}
.dropdown-content{
  display:none;
  position:absolute;
  background:rgba(255, 255, 255);
  left:-213px;
  top:-45px;
  z-index:1;
  font:12px/1.5em "malgun gothic";
  padding: 15px 20px;
  border:1px solid #999;
}
.dropdown-content span{
  color:#000;
  text-decoration:none;
  display:block;
  text-align:left;
}
.dropdown-content span a{
  color:#000;
  text-decoration:none;
  display:inline-block;
  font-weight: bold;
  padding:3px 0;
  background:#fff608;
  margin-top:10px;
  width:170px;
  text-align: center;
}
.check_a:hover .dropdown, .check_a:hover .dropdown-content{
  display:block;
}
.dropdown label{
  cursor: pointer;
}
.blind {
  position: absolute;
  overflow: hidden;
  clip: rect(0 0 0 0);
  margin: -1px;
  width: 1px;
  height: 1px;
}


.update_box {
  position: fixed;
  right: 40px;
  z-index: 99;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  will-change: opacity, visibility;
  top: 23%;
}
.update_box.visible {
  opacity: 1;
  visibility: visible;
}
.update_box .inner{
  border-radius: 30px;
  border: 1px solid #1786F1;
  width: 110px;
  height: 187px;
  background: #fff;
  position: relative;
  padding-top: 40px;
  box-sizing: border-box;
}
.update_box .inner:before {
  content: "";
  width: 59px;
  height: 57px;
  background: url(../img/ver2412/ico_bell.png) no-repeat center / 100%;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: -30px;
}
.update_box .txt_box {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  margin-bottom: 15px;
}
.update_box .txt_box > * {
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1.15;
}
.update_box .txt_box strong{
  color:#0B7BFE;
  font-size: 18px;
}
.update_box .txt_box em {
  font-size: 19px;
  color: #0051AF;
}
.update_box .txt_box span {
  font-size: 19px;
  color: #002857;
}
.update_box .txt_box + span {
  display: block;
  text-align: center;
  color: #EC5B57;
  font-size: 11px;
  font-weight: 600;
  margin-bottom: 3px;
}
.update_box .btn_top {
  background: #0161D1;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: 55px;
  height: 39px;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0;
  margin: 0 auto;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -24px;
}
.update_box .btn_top:before {
  content: "";
  width: 14px;
  height: 10px;
  margin-bottom: 2px;
  background: url(../img/ver2412/btn_top.svg) no-repeat center / auto;
}
.gauge-container {
  width: 80px;
  height: 9px;
  background-color: #fff;
  border-radius: 3px;
  overflow: hidden;
  border: 1px solid #DDE5EF;
  padding: 1px;
  box-sizing: border-box;
  margin: 0 auto;
}
.gauge {
  width: 0%;
  height: 100%;
  background-color: #EC5B57;
  border-radius: 1px;
  animation:  fillGauge 1.6s ease-out infinite;
}
@keyframes fillGauge {
  0% {
    width: 0;
  }
  100% {
    width: 100%;
  }
}


.float_wrap {
  position: fixed;
  bottom: 400px;
  bottom: 55px;
  right: 15px;
  z-index: 50;
}
.float_wrap .float_item + .float_item {
  margin-top: 12px;
}
.float_item {
  transition: transform 0.3s ease;
}
.float_item:hover {
  animation: floating 1.0s ease-in-out infinite;
}

/* 위아래 둥둥 */
@keyframes floating {
  0%   { transform: translateY(0); }
  50%  { transform: translateY(-5px); }
  100% { transform: translateY(0); }
}
.float_item a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 4px;
  aspect-ratio: 1;
  border-radius: 24px;
  box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.15);
  font-size: 13px;
  font-weight: 700;

  width: 56px;
  border: 1px solid #CBD3DC;
  border-radius: 50%;
  box-shadow: 0 3px 10px 0 rgba(16, 40, 88, 0.06);
  background: #fff;
}
.float_item img {
  width: 25px;
}
.float_item .up {
  /* background: #164EB6; */
}
.float_item .login {
  background: #2276F1;
}
.float_item .join {
  background: #3592FC;
}
.float_item .cs {
  background: #164EB6;
}


@media (max-width: 1500px) {
  .area {
    width: 1200px;
  }
}

/* 1367 */
@media screen and (max-width:1500px) {
  .top_banner_inner {
    max-width: 1200px;
  }
  .top_banner_txt dt {
    font-size: 18px;
  }
  .top_banner_txt dd {
    font-size: 20px;
  }
  .top_banner strong {
    font-size: 18px;
  }
  .area {
    width: 1200px;
  }
  .cnt1 .area {
    gap: 20px;
  }
  .cnt1 .visual {
    width: 880px;
  }
  .stage {
    width: 600px;
  }
  .myclass_list .tit strong {
    width: 170px;
  }
  .myclass_list .attend_ratio strong {
    font-size: 13px;
    width: 41px;
    padding: 0 6px;
  }
  .cnt3 .left {
    width: calc(50% - 40px);
  }
  .rolling_list .rolling_badge {
    font-size: 10.5px;
    padding: 0 4px;
  }
  .cnt3 .right {
    width: 540px;
  }
  .cnt3 .right .top {
    height: 318px;
    padding: 60px 46px 60px 40px;
  }
  .cnt3 .right .top .txt {
    width: 75%;
  }
  .cnt6 .b2 {
    width: 40%;
  }
  .cnt7 .tit h3 + p {
    font-size: 24px;
  }
  .cnt7 .txt ul {
    gap: 30px;
  }
  .cnt7 .img {
    width: 360px;
  }
  .cnt7 .img_desc h4 {
    font-size: 19px;
  }
  .cnt7 .img_desc p {
    font-size: 14px;
  }
  .cnt7 .tit h3 ~ span {
    font-size: 15px;
  }

  .main_brand .brandSwiper {
    width: 1070px;
  }
  .brandSwiper img {
    width: 100%;
  }
  .mainBrand .brandBg {
    width: 80%;
  }
  .mainBrand .slick-list {
    width: 1070px;
  }
  .update_box {
    display: none;
  }
  .float_wrap {
    right: 20px;
  }
}

/* 검색창 서식 */
.favorite_wrap{
  padding-bottom: 23px;
}
.blind {
  position: absolute;
  overflow: hidden;
  clip: rect(0 0 0 0);
  margin: -1px;
  width: 1px;
  height: 1px;
}
/* 검색창 드롭다운 */
.favorite_wrap .search_wrap {
  position: relative;
}
.favorite_wrap .search_wrap.is-open {
  z-index: 30;
}
.search_box fieldset {
  padding: 0;
  margin: 0;
  position: relative;
  width: 59%;
  width: 100%;
}
.search_box input {
  width: 100%;
  border: 1px solid var(--border-e5);
  border-radius: 99px;
  height: 64px;
  padding: 5px 24px;
  padding-left: 68px;
  box-sizing: border-box;
  font-size: 20px;
  box-shadow: 0 6px 20px 0 rgba(16, 40, 88, 0.08);
  background: #fff url(../img/v4/btn_search.svg) no-repeat left 24px center / 28px;
  color: #6B7684;
}
.search_box input::placeholder {
  color: #b4b4b4;
}
.search_box .btn_search {
  position: absolute;
  right: 12px;
  border-radius: 99px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  top: 50%;
  transform: translateY(-50%);
  padding: 0 36px;
  background: #1A6DFF;
  color: #fff;
  font-size: 19px;
  font-weight: 600;
  box-sizing: border-box;
}
.top4 {
  display: flex;
  align-items: center;
  padding: 0 8px;
  white-space: nowrap;
}
.top4 strong {
  display: flex;
  align-items: center;
  color: #4E5968;
  font-size: 15px;
  font-weight: 500;
  gap: 8px;
}
.top4 strong:after {
  content: "";
  display: block;
  width: 1px;
  height: 16px;
  background: #CBD3DC;
  margin: 0 16px;
}
.top4 strong img {
  width: 22px;
}
.top4_list {
  display: flex;
  gap: 16px;
  align-items: center;
}
.top4_list a {
  display: flex;
  gap: 8px;
  color: #4E5968;
  font-weight: 600;
    /* background: #fff;
    border-radius: 90px;
    padding: 6px 16px 6px 8px;
    box-sizing: border-box;
    border: 1px solid #f0f2f5; */
}
.top4_list li:first-child a {
  /* background: #eef2fd;
  border-color: #eef2fd; */
  color: #191F28;
}
.top4_list a:hover {
  color: #1A6DFF !important;
}
.top4_list span {
  background: #f0f2f5;
  border-radius: 50%;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #f0f2f5;
  box-sizing: border-box;
  font-size: 13px;
  font-weight: 800;
  border: 1px solid #f0f2f5;
  color: #344156;
}
.top4_list li:first-child span {
  color: #fff;
  border-color: #7392fc;
  background: #7392fc;
}
/* 열렸을 때: 입력창 + 드롭다운이 하나의 둥근 카드처럼 보이게 */
.favorite_wrap .search_wrap.is-open .search_box input,
.favorite_wrap .search_wrap.is-open input.subsearch {
  border-color: var(--blueff);
  border-bottom-color: var(--border-e5);
  border-radius: 34px 34px 0 0;
  box-shadow: none;
}
.sbox_dd {
  display: none;
  position: absolute;
  left: 0;
  right: 0;
  top: 64px; /* 입력창 높이 */
  box-sizing: border-box;
  padding: 22px 28px 26px;
  background: #fff;
  border: 1px solid var(--blueff);
  border-top: 0;
  border-radius: 0 0 34px 34px;
  box-shadow: 0 18px 36px 0 rgba(16, 40, 88, 0.14);
  text-align: left;
}
.favorite_wrap .search_wrap.is-open .sbox_dd {
  display: block;
}
.sbox_sec + .sbox_sec {
  margin-top: 22px;
}
.sbox_tit {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}
.sbox_tit strong {
  font-size: 16px;
  font-weight: 700;
  color: #191F28;
}
.sbox_clear {
  border: 0;
  background: none;
  padding: 0;
  font-size: 14px;
  color: var(--txt-684);
  cursor: pointer;
}
.sbox_clear:hover {
  color: #191F28;
  text-decoration: underline;
}
.sbox_recent {
  list-style: none;
  margin: 0;
  padding: 0;
  max-height: 176px;
  overflow-y: auto;
}
.sbox_recent li {
  display: inline-flex;
  margin-right: 11px;
  align-items: center;
  justify-content: space-between;
}
.sbox_word {
  flex: 1;
  padding: 9px 0;
  font-size: 17px;
  color: #333D4B;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.sbox_word:hover {
  color: var(--blueff);
}
.sbox_del {
  flex: none;
  width: 24px;
  height: 24px;
  border: 0;
  cursor: pointer;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239AA3AE' stroke-width='2' stroke-linecap='round'><path d='M7 7l10 10M17 7L7 17'/></svg>") no-repeat center / 16px;
}
.sbox_del:hover {
  background-color: var(--bg-f2-f6);
  border-radius: 50%;
}
.sbox_empty {
  margin: 0;
  padding: 18px 0 6px;
  text-align: center;
  font-size: 15px;
  color: #9AA3AE;
}
.sbox_chips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 8px;
}
.sbox_chip {
  display: inline-flex;
  align-items: center;
  height: 40px;
  padding: 0 18px 0 40px;
  box-sizing: border-box;
  border-radius: 99px;
  background: #F4F8FB url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231A6DFF' stroke-width='2.4' stroke-linecap='round'><circle cx='11' cy='11' r='6.5'/><path d='M16 16l4.5 4.5'/></svg>") no-repeat left 15px center / 16px;
  font-size: 16px;
  color: #333D4B;
  white-space: nowrap;
}
.sbox_chip:hover {
  background-color: #E8F0FF;
  color: var(--blueff);
}

/* 검색창 드롭다운 - 검색 결과 */
.sbox_result {
  display: none;
  max-height: 280px;
  overflow-y: auto;
}
.sbox_group + .sbox_group {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid #F2F4F6;
}
.sbox_group h3 {
  margin: 0 0 8px;
  font-size: 15px;
  font-weight: 700;
  color: var(--blueff);
}
.sbox_group ul {
  display: flex;
  flex-wrap: wrap;
}
.sbox_group li {
  width: calc(100% / 3);
  padding-right: 10px;
  box-sizing: border-box;
}
.sbox_group li a {
  display: block;
  padding: 5px 0;
  font-size: 16px;
  color: #333D4B;
}
.sbox_group li a:hover {
  color: var(--blueff);
  text-decoration: underline;
}

/* 검색창 입력값 삭제 버튼 */
.search_box input#searchInput {
  padding-right: 170px;
}
.search_box .btn_clear {
  display: none;
  position: absolute;
  right: 132px;
  top: 50%;
  transform: translateY(-50%);
  width: 28px;
  height: 28px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  background: #e8e8e8 url(../img/v4/modal-close.svg) no-repeat center / 10px;
}
.search_box .btn_clear:hover {
  background-color: #e1eeff;
}
.search_wrap.has-value .btn_clear {
  display: block;
}