@charset "UTF-8";
/* tag */
html.seal {
  overflow: hidden;
  overscroll-behavior: contain;
}

body {
  letter-spacing: -0.9px;
}
body.seal {
  overflow: hidden;
  overscroll-behavior: contain;
}

input {
  position: relative;
  font-size: 18px;
}
@media only screen and (max-width: 767px) {
  input {
    font-size: 15px;
  }
}
input[type=date], input[type=time], input.date:not([type=date]), input.time:not([type=time]) {
  position: relative;
  height: 30px;
  border: none;
}
input[type=date]::-webkit-clear-button, input[type=date]::-webkit-inner-spin-button, input[type=time]::-webkit-clear-button, input[type=time]::-webkit-inner-spin-button, input.date:not([type=date])::-webkit-clear-button, input.date:not([type=date])::-webkit-inner-spin-button, input.time:not([type=time])::-webkit-clear-button, input.time:not([type=time])::-webkit-inner-spin-button {
  display: none;
}
input[type=date]::-webkit-calendar-picker-indicator, input[type=time]::-webkit-calendar-picker-indicator, input.date:not([type=date])::-webkit-calendar-picker-indicator, input.time:not([type=time])::-webkit-calendar-picker-indicator {
  cursor: pointer;
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: transparent;
  color: transparent;
}
input[type=date]:valid::before, input[type=time]:valid::before, input.date:not([type=date]):valid::before, input.time:not([type=time]):valid::before {
  display: none;
}
div:has(> input[type=date])::before,
label:has(> input[type=date])::before,
div:has(> input[type=time])::before,
label:has(> input[type=time])::before {
  content: attr(data-placeholder);
  position: absolute;
  top: 50%;
  right: 0px;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  font-family: "Pretendard", sans-serif;
  color: rgba(30, 30, 30, 0.7);
  background-color: #fff;
  box-sizing: border-box;
}

button {
  font-family: "Pretendard", sans-serif;
  font-size: 18px;
  letter-spacing: -0.9px;
}

select {
  font-family: "Pretendard", sans-serif;
  font-size: 18px;
  letter-spacing: -0.9px;
}

/* tag */
.wrap-sub {
  overflow-x: hidden;
}
.wrap-sub .logo {
  margin: 0;
  margin-bottom: 10px;
  width: auto;
}

.layout {
  position: relative;
  width: 100%;
  margin: 0 auto;
}
@media only screen and (max-width: 1495px) {
  .layout {
    width: 100%;
  }
}
.layout-outer {
  width: 1067.5px;
  min-height: 100svh;
  overflow: hidden;
}
@media only screen and (max-width: 1067.5px) {
  .layout-outer {
    width: 100%;
  }
}
.layout-inner {
  position: relative;
  width: 100%;
  padding: 0 40px;
  padding: 0 40rem;
}

.main {
  position: relative;
  background-color: #fff;
}

.tag {
  font-size: 11px;
  letter-spacing: -0.77px;
}
.tag-wrap {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 800px;
  padding: 2px 8px 3px;
}
.tag-wrap.red {
  background-color: #fbecf1;
  color: #F66572;
}
.tag-wrap.green {
  border: 1px solid #1A973C;
  color: #1A973C;
}
.tag-wrap.orange {
  border: 1px solid #FF5C00;
  color: #FF5C00;
}
.tag-wrap.skyblue {
  border: 1px solid #00AEBF;
  color: #00AEBF;
}
.tag-wrap.bg-green {
  background-color: #10B565;
  color: #fff;
}
.tag-wrap.bg-orange {
  background-color: #E46253;
  color: #fff;
}
.tag-wrap.bg-darkblue {
  background-color: #00155E;
  color: #fff;
}

.sect-link .btn-wrap {
  height: 60px;
}
@media only screen and (max-width: 767px) {
  .sect-link .btn-wrap {
    height: 46px;
  }
}

.sect-tit {
  display: none;
}
.sect-tit.active {
  display: block;
}

.tit-bottommenu {
  font-weight: 700;
  font-size: 40px;
  letter-spacing: -2.4px;
}

.info-wrap {
  display: flex;
  align-items: flex-start;
  gap: 5px;
}
.info-wrap .icon {
  flex: 0 0 15px;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 15px;
  aspect-ratio: 1/1;
  margin-top: 1.5px;
}
.info-wrap .icon img {
  width: 100%;
}
.info-wrap .txt {
  font-size: 16px;
  letter-spacing: -0.8px;
}

.size-60 {
  max-width: 60px;
}
.size-90 {
  max-width: 90px;
}
.size-120 {
  max-width: 120px;
}
.size-150 {
  max-width: 150px;
}
.size-180 {
  max-width: 180px;
}
.size-210 {
  max-width: 210px;
}
.size-240 {
  max-width: 240px;
}
.size-270 {
  max-width: 270px;
}
.size-300 {
  max-width: 300px;
}
.size-330 {
  max-width: 330px;
}
.size-360 {
  max-width: 360px;
}
.size-390 {
  max-width: 390px;
}
.size-420 {
  max-width: 420px;
}
.size-450 {
  max-width: 450px;
}
.size-480 {
  max-width: 480px;
}
.size-510 {
  max-width: 510px;
}
.size-540 {
  max-width: 540px;
}
.size-570 {
  max-width: 570px;
}
.size-600 {
  max-width: 600px;
}
.size-630 {
  max-width: 630px;
}
.size-660 {
  max-width: 660px;
}
.size-690 {
  max-width: 690px;
}
.size-720 {
  max-width: 720px;
}
.size-750 {
  max-width: 750px;
}
.size-780 {
  max-width: 780px;
}
.size-810 {
  max-width: 810px;
}
.size-840 {
  max-width: 840px;
}
.size-870 {
  max-width: 870px;
}
.size-900 {
  max-width: 900px;
}
.size-930 {
  max-width: 930px;
}

/* scss 버튼 */
.btn {
  cursor: pointer;
  font-family: "Pretendard", sans-serif;
}
.btn-wrap {
  height: 50px;
}
@media only screen and (max-width: 767px) {
  .btn-wrap {
    height: 40px;
  }
}
.btn-wrap .btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
}
.btn-rounding {
  border-radius: 5px;
  border: 1px solid #DDDDDD;
}
.btn-rounding:not(:has(.btn)) {
  padding: 0px 45px;
}
.btn-rounding .btn {
  padding: 0px 45px;
}
.btn-bg-black {
  border: 1px solid #1E1E1E;
  background-color: #1E1E1E;
  font-weight: 500;
  color: #fff;
}
.btn-bg-darkblue {
  border: 1px solid #00155E;
  background-color: #00155E;
  font-weight: 500;
  color: #fff;
}
.btn-bg-darkblue .btn .txt {
  color: #fff;
}
.btn-bg-white {
  font-weight: 500;
  color: #1E1E1E;
}
.btn-black {
  border: 1px solid #1E1E1E;
  background-color: #fff;
  font-weight: 500;
  color: #1E1E1E;
}
@media only screen and (max-width: 767px) {
  .btn-post {
    font-size: 15px;
  }
}
.btn-post-wrap {
  width: 100%;
  max-width: 180px;
}
@media only screen and (max-width: 767px) {
  .btn-post-wrap {
    height: 40px;
    max-width: 90px;
  }
}
.btn-post-wrap.btn-rounding {
  padding: 0;
}
.btn-post-wrap .btn-post {
  padding: 0;
}

.sect-link {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  padding-top: 70px;
}
@media only screen and (max-width: 767px) {
  .sect-link {
    padding-top: 20px;
  }
}

/* scss 버튼 */
/* scss 탭 */
.tab {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 5px;
  width: 100%;
  height: 100%;
  font-weight: 500;
  font-size: 17px;
  color: #444;
}
@media only screen and (max-width: 767px) {
  .tab {
    font-size: 16px;
  }
}
.tab-container {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
}
@media only screen and (max-width: 767px) {
  .tab-container {
    justify-content: flex-start;
    gap: 5px;
    flex-wrap: wrap;
  }
}
.tab-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 50px;
  border: 1px solid #DDDDDD;
}
.tab-wrap.round {
  min-width: 100px;
  border-radius: 800px;
}
@media only screen and (max-width: 767px) {
  .tab-wrap.round {
    flex: 0 0 calc((100% - 5px * (2 - 1)) * 0.5);
    min-width: unset;
    height: 45px;
    border-radius: 7px;
    padding: 10px 20px;
  }
}
.tab-wrap.round .tab {
  border-radius: 800px;
  padding: 0 30px;
}
@media only screen and (max-width: 767px) {
  .tab-wrap.round .tab {
    border-radius: 7px;
    padding: 10px 20px;
  }
}
.tab-wrap.active {
  box-shadow: 10px 15px 30px #00155E4D;
  background-color: #00155E;
  border: unset;
}
.tab-wrap.active .tab {
  color: #fff;
}

.sect-tab:has(+ *) {
  padding-bottom: 60px;
}
@media only screen and (max-width: 767px) {
  .sect-tab:has(+ *) {
    padding-bottom: 40px;
  }
}

/* scss 탭 */
/* scss 수정 */
.course-top {
  display: flex;
  align-items: center;
  gap: 15px;
}
@media only screen and (max-width: 767px) {
  .course-top {
    flex-wrap: wrap;
  }
}
.course-top-cate {
  position: relative;
  border-radius: 10px 50px 50px 10px;
  background-color: #00AEBF;
  font-weight: bold;
  font-size: 24px;
  letter-spacing: 0.96px;
  color: #F7F8FC;
  padding: 9px 20px 10px 15px;
}
@media only screen and (max-width: 767px) {
  .course-top-cate {
    font-size: 20px;
    letter-spacing: 0.8px;
  }
}
.course-top-tit {
  font-weight: 800;
  font-size: 30px;
  letter-spacing: -2.1px;
  color: #1E1E1E;
}
@media only screen and (max-width: 767px) {
  .course-top-tit {
    font-size: 24px;
    letter-spacing: -1.68px;
  }
}
.course-top-tit .point {
  color: #00AEBF;
}
.course-cont {
  padding-top: 50px;
}
.course-li {
  width: 100%;
  max-width: calc((100% - 60px) * 0.5);
}
@media only screen and (max-width: 1340px) {
  .course-li {
    max-width: unset;
  }
}
.course-li[data-idx=empty] {
  max-width: unset;
}
.course-li[data-idx=empty] .course-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 20px;
  height: auto;
  padding: 100px 30px;
}
@media only screen and (max-width: 767px) {
  .course-li[data-idx=empty] .course-wrap {
    gap: 10px;
    padding: 30px 10px;
  }
}
.course-li[data-idx=empty] .course-wrap .txt {
  font-size: 16px;
  letter-spacing: -0.64px;
  color: rgba(30, 30, 30, 0.3);
}
@media only screen and (max-width: 767px) {
  .course-li[data-idx=empty] .course-wrap .txt {
    font-size: 13px;
  }
}
.course-list {
  display: flex;
  gap: 40px 60px;
  min-width: 0;
  flex-wrap: wrap;
}
@media only screen and (max-width: 767px) {
  .course-list {
    gap: 30px 46px;
  }
}
.course-wrap {
  display: flex;
  gap: 40px;
  min-width: 0;
}
@media only screen and (max-width: 767px) {
  .course-wrap {
    gap: 30px;
  }
}
@media only screen and (max-width: 425px) {
  .course-wrap {
    flex-direction: column;
  }
}
.course-img {
  flex: 0 0 290px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 15px;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .course-img {
    flex: 0 0 260px;
  }
}
@media only screen and (max-width: 425px) {
  .course-img {
    flex: unset;
    width: 100%;
  }
}
.course-img .img-wrap {
  width: 100%;
}
.course-img .img-wrap img {
  width: 100%;
}
.course-info {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.course-date {
  place-self: flex-start;
  align-self: flex-start;
  position: relative;
  display: block;
  min-width: 0;
  padding-bottom: 6px;
}
.course-date::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  display: block;
  width: 100%;
  height: 1px;
  background-color: #00AEBF;
}
.course-date .txt {
  position: relative;
  display: flex;
  align-items: center;
  min-width: 0;
  font-weight: 500;
  font-size: 15px;
  letter-spacing: -0.75px;
  color: #00AEBF;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.course-date .txt .num {
  position: relative;
  display: inline-flex;
  font-size: 18px;
  letter-spacing: -0.9px;
}
.course-date .txt .through {
  position: relative;
  display: inline-flex;
  margin: 0 5px;
}
.course-tit {
  position: relative;
  padding: 10px 0 40px;
  min-width: 0;
}
.course-tit .txt {
  position: relative;
  display: block;
  font-weight: 700;
  font-size: 20px;
  letter-spacing: -1.2px;
  color: #1E1E1E;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
@media only screen and (max-width: 767px) {
  .course-tit .txt {
    font-size: 17px;
    letter-spacing: -1.02px;
  }
}
.course-link {
  place-self: flex-start;
  align-self: flex-start;
}
.course-link .btn-wrap {
  border-radius: 800px;
  background-color: #F7F8FC;
}
.course-link .btn-wrap:hover .icon {
  background-color: #00155E;
}
.course-link .btn-wrap:hover .icon img {
  content: url("/images/user/icon_more_arrow_white.svg");
}
.course-link .btn-wrap .btn {
  padding: 13px 7px 16px 14px;
}
.course-link .btn-wrap .txt {
  font-weight: 600;
  color: #00155E;
  padding: 0 14px;
}
@media only screen and (max-width: 767px) {
  .course-link .btn-wrap .txt {
    font-size: 15px;
  }
}
.course-link .btn-wrap .icon {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 36px;
  height: 36px;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #E3E5EE;
  transition: all 0.3s;
}
.course-link .btn-wrap .icon img {
  transition: all 0.3s;
}

/* scss 수정 */



/* css 수정 */
/* css 수정 */