/* [project]/src/styles/userWeb/portalIndex2LoginModal.css [app-client] (css) */
#loginModal.modalOverlay {
  z-index: 9999;
  background-color: #0009;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 20px;
  display: flex;
  position: fixed;
  top: 0;
  left: 0;
}

#loginModal .modalContent {
  box-sizing: border-box;
  background: #fff;
  border-radius: 30px;
  width: 100%;
  max-width: 480px;
  padding: 60px;
  position: relative;
  box-shadow: 0 15px 40px #0003;
}

#loginModal .modalContent .btnClose {
  cursor: pointer;
  padding: 5px;
  position: absolute;
  top: 24px;
  right: 24px;
}

#loginModal .modalContent .btnClose img {
  width: 32px;
  height: 32px;
}

#loginModal .modalContent .modalHeader {
  text-align: center;
  margin-bottom: 24px;
}

#loginModal .modalContent .modalHeader .logo {
  justify-content: center;
  align-items: center;
  gap: 16px;
  margin-bottom: 10px;
  display: flex;
}

#loginModal .modalContent .modalHeader .logo img {
  height: 32px;
}

#loginModal .modalContent .modalHeader .badgeStudent, #loginModal .modalContent .modalHeader .badgeParent, #loginModal .modalContent .modalHeader .badgeAcademy, #loginModal .modalContent .modalHeader .badgeMentor {
  color: #fff;
  text-align: center;
  border-radius: 4px;
  width: 70px;
  height: 30px;
  font-size: 18px;
  font-weight: 800;
  line-height: 30px;
  display: inline-block;
}

#loginModal .modalContent .modalHeader .badgeStudent {
  background: #d63a3a;
}

#loginModal .modalContent .modalHeader .badgeParent {
  background: #774adf;
}

#loginModal .modalContent .modalHeader .badgeAcademy {
  background: #11a34d;
}

#loginModal .modalContent .modalHeader .badgeMentor {
  background: #0063c0;
}

#loginModal .modalContent .modalHeader .modalTitle {
  color: #111;
  font-size: 26px;
  font-weight: 800;
}

#loginModal .loginForm .inputGroup {
  text-align: left;
  margin-bottom: 16px;
}

#loginModal .loginForm .inputGroup label {
  color: #333;
  margin-bottom: 8px;
  font-size: 15px;
  font-weight: 700;
  display: block;
}

#loginModal .loginForm .inputGroup .input {
  border-radius: 10px;
  height: 60px;
}

#loginModal .loginForm .inputGroup input:focus {
  border-color: #2b3a8d;
}

#loginModal .loginForm .formOptions {
  margin-bottom: 25px;
}

#loginModal .loginForm .checkContainer {
  color: #666;
  cursor: pointer;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  display: flex;
}

#loginModal .loginForm .btnLogin {
  color: #fff;
  cursor: pointer;
  background-color: #2d3890;
  border-radius: 10px;
  width: 100%;
  height: 60px;
  font-size: 18px;
  font-weight: 700;
}

#loginModal .loginForm .formFooter {
  text-align: center;
  color: #616161;
  font-size: 14px;
}

#loginModal .loginForm .formFooter a {
  color: #616161;
  font-weight: bold;
}

#loginModal .loginForm .formFooter .divider {
  color: #616161;
  margin: 0 16px;
}

#loginModal .snsLoginArea {
  margin-top: 40px;
}

#loginModal .snsLoginArea .snsDivider {
  text-align: center;
  margin-bottom: 25px;
  position: relative;
}

#loginModal .snsLoginArea .snsDivider:before {
  content: "";
  z-index: 1;
  background-color: #ccc;
  width: 100%;
  height: 1px;
  position: absolute;
  top: 50%;
  left: 0;
}

#loginModal .snsLoginArea .snsDivider span {
  z-index: 2;
  background-color: #fff;
  padding: 0 16px;
  font-weight: bold;
  position: relative;
}

#loginModal .snsLoginArea .snsButtons {
  flex-direction: column;
  gap: 8px;
  display: flex;
}

#loginModal .snsLoginArea .btnSns {
  border-radius: 8px;
  justify-content: left;
  align-items: center;
  gap: 10px;
  width: 100%;
  height: 54px;
  font-weight: 600;
  display: flex;
}

#loginModal .snsLoginArea .btnSns img {
  width: 40px;
  margin: 10px;
}

#loginModal .snsLoginArea .btnNaver {
  color: #fff;
  background-color: #00c73c;
}

#loginModal .snsLoginArea .btnKakao {
  color: #3b1e1d;
  background-color: #ffea00;
}

#loginModal .snsLoginArea .btnGoogle {
  background-color: #fff;
  border: 1px solid #ccc;
}

@media (max-width: 480px) {
  #loginModal .modalContent {
    border-radius: 20px;
    padding: 45px 20px 35px;
  }

  #loginModal .modalHeader .modalTitle {
    font-size: 22px;
  }

  #loginModal .loginForm .inputGroup label {
    font-size: 14px;
  }

  #loginModal .loginForm .btnLogin {
    padding: 14px;
    font-size: 16px;
  }

  #loginModal .snsLoginArea {
    margin-top: 30px;
  }

  #loginModal .snsLoginArea .btnSns {
    height: 48px;
    font-size: 14px;
  }
}

/* [project]/src/styles/userWeb/portalIndex2.css [app-client] (css) */
.mainView {
  background: url("/images/userWeb/img_portal_bg1.png") center / cover no-repeat;
  padding: 100px 0;
  overflow: hidden;
}

.mainView .inner {
  max-width: 1400px;
  margin: 0 auto;
}

.mainView .content {
  justify-content: space-between;
  align-items: center;
  gap: 40px;
  display: flex;
}

.mainView .textWrap {
  color: #fff;
  flex: 1;
}

.mainView .textWrap .txtSub {
  color: #fff600;
  margin-bottom: 16px;
  font-size: 18px;
  font-weight: 800;
  display: block;
}

.mainView .textWrap .txtPoint {
  color: #fff;
  margin-bottom: 24px;
  font-size: 32px;
  font-weight: 800;
}

.mainView .textWrap .txtPoint strong {
  color: #40ff46;
  font-size: 32px;
  font-weight: 800;
}

.mainView .textWrap .txtDesc {
  color: #fff;
  margin-bottom: 20px;
  font-size: 46px;
  font-weight: 900;
  line-height: 1.2;
}

.mainView .textWrap .mainTitle {
  color: #fff;
  text-align: center;
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
  background: #ffffff4d;
  border-radius: 48px;
  min-width: 328px;
  height: 96px;
  padding: 0 40px;
  font-size: 52px;
  font-weight: 900;
  line-height: 96px;
  display: inline-block;
}

.mainView .visImg {
  background: url("/images/userWeb/img_portal_main1.png") center / contain no-repeat;
  flex-shrink: 0;
  width: 656px;
  max-width: 100%;
  height: 492px;
  animation: 2s ease-in-out infinite alternate floating;
}

@keyframes floating {
  0% {
    transform: translateY(0);
  }

  100% {
    transform: translateY(-20px);
  }
}

@media (max-width: 1200px) {
  .mainView .textWrap .txtDesc {
    font-size: 38px;
  }

  .mainView .textWrap .mainTitle {
    min-width: 280px;
    height: 80px;
    font-size: 42px;
    line-height: 80px;
  }

  .mainView .visImg {
    width: 500px;
    height: 375px;
  }
}

@media (max-width: 1024px) {
  .mainView {
    padding: 60px 0;
  }

  .mainView .content {
    text-align: center;
    flex-direction: column;
  }

  .mainView .textWrap {
    margin-bottom: 40px;
  }

  .mainView .textWrap .mainTitle {
    margin: 0 auto;
    display: block;
  }

  .mainView .visImg {
    margin-top: 0;
  }
}

@media (max-width: 768px) {
  .mainView .textWrap .txtPoint {
    font-size: 24px;
  }

  .mainView .textWrap .txtDesc {
    font-size: 28px;
  }

  .mainView .textWrap .mainTitle {
    min-width: 220px;
    height: 64px;
    font-size: 32px;
    line-height: 64px;
  }

  .mainView .visImg {
    width: 100%;
    height: 280px;
  }
}

.userTypeContainer {
  padding: 90px 0 80px;
}

.userTypeList {
  justify-content: center;
  gap: 16px;
  display: flex;
}

.userTypeItem {
  flex: 1;
  min-width: 0;
}

.typeLink {
  background: #6c5ee9;
  border-radius: 12px;
  align-items: center;
  height: 100%;
  padding: 24px 20px;
  text-decoration: none;
  transition: all .3s;
  display: flex;
}

.profileImg {
  background: #fff;
  border-radius: 100%;
  flex-shrink: 0;
  width: 72px;
  height: 72px;
  margin-right: 10px;
}

.profileImg img {
  width: 100%;
}

.typeInfo .badge {
  color: #fff;
  background: #484092;
  border-radius: 20px;
  margin-bottom: 8px;
  padding: 3px 18px;
  font-size: 14px;
  font-weight: 700;
  display: inline-block;
}

.typeInfo .desc {
  color: #fff;
  word-break: keep-all;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.4;
}

.userTypeItem:hover .typeLink, .typeLink:focus {
  background: #fff;
  transform: translateY(-5px);
}

.userTypeItem:hover .typeLink .profileImg, .typeLink:focus .profileImg {
  background: #6c5ee9;
}

.userTypeItem:hover .desc, .userTypeItem.is-active .desc, .typeLink:focus .desc {
  color: #484092;
}

@media (max-width: 1200px) {
  .userTypeList {
    flex-wrap: wrap;
  }

  .userTypeItem {
    flex: none;
  }
}

@media (max-width: 768px) {
  .userTypeItem {
    width: 100%;
  }

  .typeLink {
    padding: 20px;
  }
}

.mainCon {
  padding: 60px 0 70px;
}

.mainSwiper {
  border-radius: 20px;
  width: 760px;
  height: 450px;
  position: relative;
  overflow: hidden;
}

.mainSwiper > .swiper {
  border-radius: 20px;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.mainSwiper .swiper-wrapper, .mainSwiper .swiper-slide, .mainSwiper .visualItem {
  height: 100%;
}

.mainSwiper .visualItem .linkItem {
  width: 100%;
  height: 100%;
  display: block;
}

.mainSwiper .visualItem img {
  -o-object-fit: fill;
  object-fit: fill;
  width: 100%;
  height: 100%;
}

.mainSwiper .swiperControlWrap, .cardSwiper .swiperControlWrap {
  z-index: 10;
  color: #fff;
  background: #000000b3;
  border-radius: 30px;
  align-items: center;
  padding: 10px 16px;
  font-family: sans-serif;
  display: flex;
  position: absolute;
  bottom: 20px;
  right: 20px;
}

.mainSwiper .swiperPagination, .cardSwiper .swiperPagination {
  text-align: center;
  min-width: 40px;
  margin-right: 12px;
  font-size: 16px;
  font-weight: 500;
}

.mainSwiper .swiperPagination span, .cardSwiper .swiperPagination span {
  color: #fff;
}

.mainSwiper .swiperButtons, .cardSwiper .swiperButtons {
  border-left: 1px solid #ffffff4d;
  align-items: center;
  gap: 8px;
  padding-left: 12px;
  display: flex;
}

.mainSwiper .swiperButtons button, .cardSwiper .swiperButtons button {
  cursor: pointer;
  background: none;
  border: none;
  justify-content: center;
  align-items: center;
  width: 24px;
  height: 24px;
  transition: transform .2s;
  display: flex;
}

.mainSwiper .swiperButtons button:focus, .mainSwiper .visualItem .linkItem:focus {
  outline-offset: -2px;
  border-radius: 4px;
  outline: 2px solid #fc0;
}

.videoWrap video {
  background: #000;
  border-radius: 20px;
  display: block;
  height: 450px !important;
}

@media (max-width: 1024px) {
  .mainSwiper {
    aspect-ratio: 760 / 450;
    border-radius: 20px;
    width: 100%;
    height: auto;
    margin-bottom: 16px;
  }

  .mediaWrap {
    display: unset !important;
  }

  .videoWrap video {
    aspect-ratio: 600 / 450;
    width: 100%;
    height: auto !important;
  }
}

@media (max-width: 468px) {
  .mainSwiper .swiperControlWrap {
    padding: 10px 16px;
  }
}

.mainEduWrap .eduListWrap {
  padding: 0 !important;
}

.mainEduWrap {
  background: url("/images/userWeb/img_portal_bg2.png") center / 100% 100% no-repeat;
  padding: 0 0 300px;
  position: relative;
}

.mainEduWrap .eduWrapTxt div {
  text-align: center;
  color: #fff;
}

.mainEduWrap .eduListWrap {
  position: relative;
}

.mainEduWrap .eduListWrap .cardTitle .cardTitleText {
  -webkit-line-clamp: 2;
  word-break: break-all;
  -webkit-box-orient: vertical;
  font-size: 20px;
  font-weight: bold;
  line-height: 28px;
  display: -webkit-box;
  overflow: hidden;
}

.cardSwiper {
  background: linear-gradient(#94b5e680 0%, #f2f6ff80 100%);
  border-radius: 40px;
  width: 100%;
  max-width: 1400px;
  overflow: hidden;
  position: unset !important;
  padding: 40px !important;
}

.cardSwiper > .swiper {
  border-radius: 40px;
  width: 100%;
  margin-top: 8px;
  margin-bottom: 16px;
  overflow: visible;
}

.cardSwiper .swiper-wrapper, .cardSwiper .swiper-slide {
  box-sizing: border-box;
}

.cardSwiper .swiper-slide {
  width: 440px;
  height: 350px;
}

.cardSwiper .swiperControlWrap {
  box-sizing: border-box;
  color: #fff;
  z-index: 100;
  background: #000000b3;
  border-radius: 30px;
  flex-wrap: nowrap;
  align-items: center;
  width: max-content;
  max-width: 100%;
  margin: 0 auto;
  padding: 10px 16px;
  font-family: sans-serif;
  display: flex;
  position: absolute;
  bottom: -80px;
  left: 0;
  right: 0;
}

.cardSwiper .swiperPagination {
  white-space: nowrap;
  flex: 0 auto;
  min-width: 0;
}

@media (max-width: 1024px) {
  .mainEduWrap .eduListWrap {
    padding: 24px 16px !important;
  }

  .cardSwiper, .cardSwiper > .swiper {
    border-radius: 20px;
  }
}

.mainEduWrap .eduWrapTxt .txt1 {
  margin-bottom: 12px;
  font-size: 32px;
  font-weight: 900;
}

.mainEduWrap .eduWrapTxt .txt2 {
  opacity: .9;
  font-size: 24px;
  font-weight: 600;
}

.mainEduWrap .optionWrap {
  box-sizing: border-box;
  background: linear-gradient(90deg, #ffebb1 0%, #ffd146 100%);
  border-radius: 12px;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 12px;
  width: calc(100% - 40px);
  max-width: 1320px;
  min-height: 64px;
  margin: 40px auto;
  padding: 15px 20px;
  display: flex;
}

.mainEduWrap .optionWrap .tit {
  text-align: center;
  margin-right: 12px;
  font-size: 20px;
  font-weight: 800;
}

.mainEduWrap .optionWrap .optBtnWrap {
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  display: flex;
}

.mainEduWrap .optionWrap .optBtnWrap button {
  text-align: center;
  color: #6c5ee9;
  cursor: pointer;
  background: #fff;
  border-radius: 6px;
  min-width: 90px;
  height: 40px;
  font-size: 18px;
  font-weight: 800;
  line-height: 40px;
  transition: all .2s;
}

.mainEduWrap .optionWrap .optBtnWrap button:hover, .mainEduWrap .optionWrap .optBtnWrap button:focus {
  background-color: #f0efff;
  outline: none;
}

.mainEduWrap .optionWrap .optBtnWrap button[aria-pressed="true"] {
  color: #fff;
  background-color: #6c5ee9;
}

.mainEduWrap .optionWrap .optBtnWrap button[aria-pressed="true"]:hover {
  background-color: #5548c8;
}

@media (max-width: 768px) {
  .mainEduWrap .optionWrap {
    flex-direction: column;
    padding: 20px;
  }

  .mainEduWrap .optionWrap .tit {
    margin-bottom: 10px;
    margin-right: 0;
    font-size: 18px;
  }

  .mainEduWrap .optionWrap .optBtnWrap button {
    min-width: 80px;
    height: 40px;
    line-height: 40px;
  }

  .mainEduWrap .eduWrapTxt .txt1 {
    font-size: 24px;
  }

  .mainEduWrap .eduWrapTxt .txt2 {
    font-size: 16px;
  }
}

.curveDivider {
  width: 100%;
  height: 100px;
  line-height: 0;
  position: absolute;
  bottom: 0;
  left: 0;
}

.curveDivider svg {
  width: 100%;
  height: 100%;
}

.btmInfoWrap {
  background: url("/images/userWeb/img_portal_effect.png") bottom / 100% no-repeat;
  width: 100%;
  padding-bottom: 180px;
}

.btmInfoWrap .infoWrapTxt {
  text-align: center;
}

.btmInfoWrap .infoWrapTxt .txt1 {
  font-size: 32px;
  font-weight: 900;
}

.btmInfoWrap .infoWrapTxt .txt1 b {
  color: #09bc74;
  font-size: 32px;
}

.btmInfoWrap .infoWrapTxt .txt1 b:before {
  content: "";
  vertical-align: middle;
  background: url("/images/userWeb/icon/ico_smile_32.png");
  width: 32px;
  height: 32px;
  margin: -8px 12px 0 4px;
  display: inline-block;
}

.btmInfoWrap .infoWrapTxt .txt2 {
  color: #616161;
  margin-top: 16px;
  font-size: 24px;
  font-weight: 600;
}

.boardWrap {
  margin-top: 60px;
}

.boardWrap .innerContainer {
  gap: 40px;
  margin: 0 auto;
  display: flex;
}

.boardWrap .boardBox {
  border-radius: 40px;
  flex: 1;
  padding: 40px 32px;
  position: relative;
}

.boardWrap .boardBox.notice {
  background: #fffcea;
}

.boardWrap .boardBox.archive {
  background: #e4f3ff;
}

.boardWrap .boardBox .boardHeader {
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
  display: flex;
}

.boardWrap .boardBox .boardTitle {
  font-size: 24px;
  font-weight: 800;
}

.boardWrap .boardBox.notice .boardTitle {
  color: #af6e12;
}

.boardWrap .boardBox .btnMore {
  color: #888;
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
}

.boardWrap .boardBox .btnMore .plus {
  vertical-align: middle;
  color: #616161;
  font-size: 20px;
}

.boardWrap .boardBox li {
  margin-bottom: 16px;
}

.boardWrap .boardBox .boardItem {
  background: #fff;
  border-radius: 8px;
  justify-content: space-between;
  align-items: center;
  padding: 18px 16px;
  text-decoration: none;
  transition: all .2s;
  display: flex;
}

.boardWrap .boardBox li:last-child {
  margin-bottom: 0;
}

.boardWrap .boardBox .boardList li:last-child .boardItem {
  border-bottom: none;
}

.boardWrap .boardBox .boardItem .subject {
  white-space: nowrap;
  text-overflow: ellipsis;
  flex: 1;
  margin-right: 20px;
  font-size: 18px;
  font-weight: 700;
  overflow: hidden;
}

.boardWrap .boardBox .boardItem .date {
  color: #616161;
  font-size: 18px;
  font-weight: 600;
}

.boardWrap .boardBox .boardItem:hover .subject, .boardWrap .boardBox .boardItem:focus .subject {
  color: #11a34d;
  text-decoration: underline;
}

.boardWrap .boardBox .boardItem:focus {
  outline-offset: 5px;
  border-radius: 4px;
  outline: 2px solid #11a34d;
}

@media (max-width: 1024px) {
  .boardWrap .innerContainer {
    flex-direction: column;
    gap: 50px;
  }

  .boardWrap .boardTitle {
    font-size: 22px !important;
  }

  .boardWrap .charDecor {
    width: 50px !important;
    right: 10px !important;
  }

  .boardWrap .boardBox .boardItem .subject, .boardWrap .boardBox .boardItem .date {
    font-size: 16px !important;
  }

  .mainEduWrap {
    padding: 0 0 250px;
  }
}

@media (max-width: 768px) {
  .btmInfoWrap .infoWrapTxt .txt1, .btmInfoWrap .infoWrapTxt .txt1 b {
    font-size: 24px;
  }

  .btmInfoWrap .infoWrapTxt .txt1 b:before {
    background: url("/images/userWeb/icon/ico_smile_32.png") center / 24px no-repeat;
    width: 24px;
    height: 24px;
    margin: -4px 8px 0 2px;
  }

  .btmInfoWrap .infoWrapTxt .txt2 {
    font-size: 16px;
  }

  .curveDivider {
    display: none;
  }
}

.fixedSideMenu {
  z-index: 9999;
  flex-direction: column;
  align-items: center;
  gap: 15px;
  display: flex;
  position: fixed;
  bottom: 50px;
  right: 30px;
}

.quickMenuContainer {
  flex-direction: column;
  align-items: center;
  display: flex;
}

.quickMenuList {
  opacity: 0;
  background-color: #09bc74;
  border-radius: 50px 50px 0 0;
  flex-direction: column;
  gap: 20px;
  width: 100px;
  max-height: 0;
  margin: 0;
  padding: 0;
  transition: all .4s cubic-bezier(.4, 0, .2, 1);
  display: flex;
  overflow: hidden;
}

.quickMenuList li:first-child {
  padding-top: 30px;
}

.quickMenuList a {
  text-align: center;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  text-decoration: none;
  display: flex;
}

.quickMenuList a span {
  color: #fff;
  letter-spacing: -1px;
  font-size: 16px;
  font-weight: 700;
}

.btnQuickToggle {
  cursor: pointer;
  z-index: 2;
  background-color: #09bc74;
  border-radius: 50%;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100px;
  height: 100px;
  transition: all .3s;
  display: flex;
}

.btnQuickToggle span {
  color: #fff;
  font-weight: 700;
}

.quickMenuContainer.active .quickMenuList {
  opacity: 1;
  max-height: 500px;
}

.quickMenuContainer.active .btnQuickToggle {
  border-radius: 0 0 50px 50px;
  height: 100px;
}

.btnTop {
  cursor: pointer;
  background-color: #222;
  border: none;
  border-radius: 50%;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100px;
  height: 100px;
  display: flex;
}

.btnTop span {
  color: #fff;
  font-weight: 700;
}

@media (max-width: 768px) {
  .fixedSideMenu {
    bottom: 20px;
    right: 15px;
  }

  .btnQuickToggle, .btnTop, .quickMenuList {
    width: 80px;
  }

  .btnQuickToggle, .btnTop {
    height: 80px;
    font-size: 13px;
  }

  .quickMenuList a {
    font-size: 11px;
  }
}

/* [project]/src/styles/userWeb/portalGunsanMain.css [app-client] (css) */
:root {
  --primary: #d63a3a !important;
  --primary-light: #fff4f4 !important;
}

.header .headerTop {
  justify-content: center;
  align-items: center;
  height: 80px;
  display: flex;
  position: relative;
}

.header .headerLogo {
  align-items: center;
  gap: 16px;
  display: flex;
}

.header .headerLogo h1 img {
  height: 32px;
  display: block;
}

.header .badgeStudent, .header .badgeAcademy {
  text-align: center;
  background-color: var(--primary);
  color: #fff;
  border-radius: 4px;
  width: 70px;
  height: 30px;
  font-size: 18px;
  font-weight: bold;
  line-height: 30px;
}

.header .utilMenu {
  position: absolute;
  right: 0;
}

.header .utilMenu .userLinks {
  align-items: center;
  gap: 24px;
  font-size: 18px;
  font-weight: bold;
  display: flex;
}

.header .utilMenu .btnPortal {
  color: #2d3890;
  border: 1px solid #2d3890;
  border-radius: 6px;
  padding: 6px 8px;
  font-weight: bold;
}

.header .utilMenu .btnPortal img {
  vertical-align: middle;
  margin-left: 4px;
}

.header .navPc {
  background: #fff;
  border-top: 1px solid #eee;
  border-bottom: 1px solid #eee;
  position: relative;
}

.header .navPc > .inner {
  position: static;
}

.header .navPc .navList {
  justify-content: space-evenly;
  margin: 0 auto;
  display: flex;
}

.header .navPc .navList > li {
  flex: 1;
  position: static;
}

.header .navPc .mainLink {
  text-align: center;
  width: 100%;
  height: 60px;
  font-size: 20px;
  font-weight: bold;
  line-height: 60px;
  display: inline-block;
}

.header .navPc .navList > li:hover .mainLink, .header .navPc .navList > li:focus-within .mainLink {
  border-bottom: 4px solid var(--primary);
  color: var(--primary);
}

.header .navPc .subMenu {
  z-index: 100;
  background-color: #fff;
  border-bottom: 1px solid #eee;
  width: 100%;
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  box-shadow: 0 10px 15px #0000000d;
}

.header .navPc .subMenu:before {
  content: "";
  width: 100%;
  height: 30px;
  position: absolute;
  top: -30px;
  left: 0;
}

.header .navPc .navList > li:hover .subMenu, .header .navPc .navList > li:focus-within .subMenu {
  display: block;
}

.header .navPc .subList {
  align-items: center;
  gap: 32px;
  height: 80px;
  display: flex;
}

.header .navPc .subList a {
  text-align: center;
  background-color: #eee;
  border-radius: 4px;
  width: 120px;
  height: 48px;
  font-size: 18px;
  font-weight: bold;
  line-height: 48px;
  transition: all .2s;
  display: block;
}

.header .navPc .subList a.active, .header .navPc .subList a:hover, .header .navPc .subList a:focus {
  background-color: var(--primary);
  color: #fff;
}

@media (max-width: 1024px) {
  .header .headerTop {
    justify-content: space-between;
  }

  .utilMenu {
    position: static;
  }

  .userLinks, .navPc {
    display: none !important;
  }

  .menuOpen {
    display: block !important;
  }
}

.menuOpen {
  width: 32px;
  height: 32px;
  display: none;
}

.header .moMenu {
  z-index: 9999;
  visibility: hidden;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
}

.header .moMenu.active {
  visibility: visible;
}

.header .moMenu.active .moMenuBg {
  opacity: 1;
}

.header .moMenuInner {
  background: #fff;
  flex-direction: column;
  width: 100%;
  height: 100%;
  transition: right .3s ease-in-out;
  display: flex;
  position: absolute;
  top: 0;
  right: -100%;
}

.header .moMenu.active .moMenuInner {
  right: 0;
}

.header .moMenuHeader {
  border-bottom: 1px solid #eee;
  justify-content: space-between;
  align-items: center;
  height: 80px;
  padding: 0 16px;
  display: flex;
}

.header .logoArea {
  align-items: center;
  gap: 16px;
  display: flex;
}

.header .moMenuContent {
  flex: 1;
  display: flex;
  position: relative;
  overflow: hidden;
}

.header .moMenuNav {
  background: #fafafa;
  border-right: 1px solid #ccc;
  width: 35%;
  height: 100%;
  overflow-y: auto;
}

.header .navItem {
  border-bottom: 1px solid #ccc;
}

.header .moMainLink {
  text-align: left;
  cursor: pointer;
  background: none;
  border: none;
  width: 100%;
  padding: 24px 16px;
  font-size: 18px;
  font-weight: bold;
}

.header .navItem.active {
  background: #fff;
}

.header .navItem.active .moMainLink {
  color: var(--primary);
}

.header .moSubMenuPane {
  background: #fff;
  width: 65%;
  height: 100%;
  display: none;
  position: absolute;
  top: 0;
  right: 0;
  overflow-y: auto;
}

.header .navItem.active .moSubMenuPane {
  display: block;
}

.header .moSubList {
  margin: 0;
  padding: 0;
  list-style: none;
}

.header .moSubList li a {
  color: #333;
  background: url("/images/userWeb/icon/ico_go_24.png") 95% / 24px no-repeat;
  border-bottom: 1px solid #ccc;
  padding: 24px;
  font-size: 18px;
  font-weight: bold;
  text-decoration: none;
  display: block;
}

.header .moSubList li a:before {
  content: "•";
  width: 4px;
  height: 4px;
  margin-right: 16px;
  display: inline-block;
}

.header .moMenuFooter {
  flex-direction: column;
  gap: 8px;
  padding: 20px;
  display: flex;
}

.header .btn-login {
  background: var(--primary);
  color: #fff;
  text-align: center;
  border-radius: 6px;
  padding: 16px;
  font-weight: bold;
  text-decoration: none;
  display: block;
}

.header .btn-portal {
  border: 1px solid var(--primary);
  color: var(--primary);
  text-align: center;
  border-radius: 6px;
  padding: 16px;
  font-weight: bold;
  text-decoration: none;
  display: block;
}

.eduListWrap {
  padding: 40px 0 0;
}

.eduListWrap .visual {
  background: url("/images/userWeb/img_bg_info2.png") no-repeat bottom center / 100% auto, linear-gradient(0deg, var(--primary-light) 0%, #fff 100%);
  width: 100%;
  height: 375px;
}

.eduListWrap .tit {
  font-size: 24px;
  font-weight: bold;
}

.eduListWrap .tit:before {
  content: "";
  vertical-align: middle;
  background: url("/images/userWeb/icon/ico_tit1.png") center / 40px no-repeat;
  width: 40px;
  height: 40px;
  margin: -2px 4px 0 0;
  display: inline-block;
}

.eduListWrap .cardSection {
  margin-top: 24px;
}

.eduListWrap .cardItem {
  background: #fff;
  border: 1px solid #fafafa;
  border-radius: 20px;
  flex-direction: column;
  padding: 40px 32px;
  transition: transform .3s, box-shadow .3s;
  display: flex;
  box-shadow: 0 4px 16px #00000029;
}

.eduListWrap .cardItem.empty {
  justify-content: center;
  align-items: center;
  min-height: 339px;
  display: flex;
}

.eduListWrap .cardItem:hover {
  transform: translateY(-8px);
  box-shadow: 0 15px 40px #0000001a;
}

.eduListWrap .badge {
  text-align: center;
  color: #fff;
  border-radius: 4px;
  width: 24px;
  height: 24px;
  margin-bottom: 16px;
  font-weight: bold;
  line-height: 24px;
  display: inline-block;
}

.eduListWrap .badge.elementary {
  background-color: #6b85e8;
}

.eduListWrap .badge.middle {
  background-color: #3ba97e;
}

.eduListWrap .badge.high {
  background-color: #a56ae6;
}

.eduListWrap .badge.kids {
  background-color: #e26a6a;
}

.eduListWrap .badge.usual {
  background-color: #c6942d;
}

.eduListWrap .cardTitle {
  width: 100%;
  line-height: 1.5;
}

.cardTitle:after {
  content: "";
  clear: both;
  display: block;
}

.eduListWrap .badgeArea {
  align-items: center;
  gap: 4px;
  margin-bottom: 8px;
  display: flex;
}

.eduListWrap .badge {
  margin-bottom: 0;
}

.eduListWrap .cardCategory {
  color: #5d50d3;
  font-size: 14px;
  font-weight: bold;
}

.eduListWrap .cardCategory.education {
  color: #de6c6e;
}

.eduListWrap .cardCategory.biz {
  color: #3a6ece;
}

.eduListWrap .cardTitle .state {
  float: left;
  margin-right: 8px;
  font-size: 20px;
  font-weight: 800;
  line-height: 28px;
  display: inline-block;
}

.eduListWrap .cardTitle .ing {
  color: #07f;
}

.eduListWrap .cardTitle .plan {
  color: #30ae17;
}

.eduListWrap .cardTitle .end {
  color: #d2585a;
}

.eduListWrap .cardTitle .promo {
  color: #9c27b0;
}

.eduListWrap .cardTitle .bizend {
  color: #7e7e7e;
}

.eduListWrap .cardTitle a {
  -webkit-line-clamp: 2;
  word-break: break-all;
  -webkit-box-orient: vertical;
  font-size: 20px;
  font-weight: bold;
  line-height: 28px;
  text-decoration: none;
  display: -webkit-box;
  overflow: hidden;
}

.eduListWrap .cardTitle a:focus {
  color: #000;
  text-decoration: underline;
}

.eduListWrap .infoList {
  padding: 16px 0;
}

.eduListWrap .infoList li {
  color: #616161;
  margin-bottom: 8px;
}

.eduListWrap .infoList li:before {
  content: "";
  vertical-align: middle;
  width: 24px;
  height: 24px;
  margin: -3px 4px 0 0;
  display: inline-block;
}

.eduListWrap .infoDate:before {
  background: url("/images/userWeb/icon/ico_date.png") center / 24px no-repeat;
}

.eduListWrap .infoLoc:before {
  background: url("/images/userWeb/icon/ico_loc.png") center / 24px no-repeat;
}

.eduListWrap .infoName:before {
  background: url("/images/userWeb/icon/ico_name.png") center / 24px no-repeat;
}

.eduListWrap .infoList li .result {
  margin-left: 4px;
  font-weight: 800;
}

.eduListWrap .infoList li .result.select {
  color: #04ad64;
}

.eduListWrap .infoList li .result.unselect {
  color: red;
}

.eduListWrap .infoList li .result.wait {
  color: #bf9a4a;
}

.eduListWrap .cardDesc {
  color: #424242;
  -webkit-line-clamp: 2;
  border-top: 1px dashed #e1e1e1;
  -webkit-box-orient: vertical;
  height: 70px;
  padding-top: 16px;
  font-weight: bold;
  line-height: 1.5;
  display: -webkit-box;
  overflow: hidden;
}

.eduListWrap .moreArea {
  text-align: center;
  margin-top: 48px;
}

.eduListWrap .btnMore {
  color: #616161;
  cursor: pointer;
  background: #fff;
  border: 1px solid #616161;
  border-radius: 30px;
  padding: 12px 40px;
  font-size: 16px;
  font-weight: bold;
  transition: all .2s;
}

.eduListWrap .btnMore span {
  color: #212121;
}

.eduListWrap .btnMore:hover {
  background: #f9f9f9;
  border-color: #bbb;
}

.eduListWrap .blind {
  clip: rect(0, 0, 0, 0);
  width: 1px;
  height: 1px;
  margin: -1px;
  position: absolute;
  overflow: hidden;
}

.eduListWrap .cardGrid {
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  display: grid;
}

@media (max-width: 1024px) {
  .cardGrid {
    grid-template-columns: repeat(1, 1fr) !important;
  }

  .eduListWrap .visual {
    display: none;
  }

  .eduListWrap {
    padding: 40px 0;
  }
}

.cardItem.is-hidden {
  display: none;
}

.boardSection {
  background: var(--primary-light) url("/images/userWeb/img_bg_info.png") no-repeat bottom center / 100% auto;
  width: 100%;
  padding: 80px 0 24vw;
}

.boardSection .boardHeader {
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
  display: flex;
}

.boardSection .boardHeader .tit .icon {
  width: 32px;
  height: 32px;
}

.boardSection .boardHeader .tit {
  align-items: center;
  gap: 8px;
  font-size: 24px;
  font-weight: bold;
  display: flex;
}

.boardSection .btnMore {
  color: #fff;
  background: #d63a3a;
  border-radius: 20px;
  align-items: center;
  gap: 4px;
  padding: 5px 16px;
  font-size: 14px;
  font-weight: bold;
  text-decoration: none;
  display: inline-block;
}

.boardSection .btnMore img {
  vertical-align: sub;
  width: 20px;
  height: 20px;
}

.boardSection .inner {
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
  width: 100%;
  display: grid;
}

.boardSection .boardCard {
  background: #fff;
  border-radius: 20px;
  min-height: 310px;
  padding: 10px 24px;
  box-shadow: 0 4px 10px #0000000d;
}

.boardSection .boardList li {
  border-bottom: 1px solid #eee;
  align-items: center;
  min-height: 60px;
  display: flex;
}

.boardSection .boardList li:last-child {
  border-bottom: none;
}

.boardSection .boardList li a {
  width: 100%;
  color: inherit;
  flex-wrap: wrap;
  align-items: center;
  padding: 12px 0;
  text-decoration: none;
  display: flex;
}

.boardSection .boardList .badge {
  border: 1px solid;
  border-radius: 4px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  min-width: 66px;
  margin-right: 12px;
  padding: 3px 6px;
  font-size: 13px;
  font-weight: 600;
  display: inline-flex;
}

.boardSection .boardList .subject {
  white-space: nowrap;
  text-overflow: ellipsis;
  flex: 1;
  min-width: 150px;
  font-weight: bold;
  overflow: hidden;
}

.boardSection .boardList .date {
  flex-shrink: 0;
  margin-left: auto;
  padding-left: 15px;
  font-weight: bold;
}

.boardSection .boardList .badge.complete {
  color: #10a64e;
  border-color: #10a64e;
}

.boardSection .boardList .badge.wait {
  color: #ef3737;
  border-color: #ef3737;
}

@media (max-width: 1024px) {
  .boardSection .inner {
    gap: 40px;
    grid-template-columns: 1fr !important;
    width: 100% !important;
  }
}

@media (max-width: 640px) {
  .boardSection .boardList li a {
    align-items: flex-start;
  }

  .boardSection .boardList .subject {
    width: calc(100% - 80px);
    margin-bottom: 4px;
    margin-right: 0;
  }

  .boardSection .boardList .date {
    color: #888;
    width: 100%;
    padding-left: 0 !important;
  }
}

/*# sourceMappingURL=src_styles_userWeb_28138226._.css.map*/