html, body {
    font-family: "Pretendard Variable", Pretendard, -apple-system,
                 BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu,
                 Cantarell, "Helvetica Neue", sans-serif !important;

    font-weight: 400;
    letter-spacing: -0.2px;
}


input[type=text], select {
  appearance: none;
  -webkit-appearance: none;
  -webkit-border-radius: 0;
}

select {
  background: url("/infile/img/sub/select-bg.png") no-repeat 95% 45% #fff;
}


   .main-banner-mobile{
    display: none;
   }

.layerpopup-wrap {
  box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.2);
  position: absolute;
  left: 100px;
  top: 150px;

  visibility: hidden;
  z-index: 999999;
}
.layerpopup-wrap .notice-form {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 10px;
  background: #222;
  color: #fff;
  font-size: 12px;
}
.layerpopup-wrap .notice-form .bottom-area {
  display: flex;
  align-items: center;
}
.layerpopup-wrap .notice-form .pop-close-btn {
  text-decoration: none;
}
.layerpopup-wrap .notice-form .pop-close-btn span {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 0px 10px;
  background: black;
  border-radius: 3px;
  color: #fff;
}
 
 .sub-tab{
   display:block;
 }
 .sub-tab02{
   display:none;
 }










#header {

}










.site-wrap #header {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;

}
.site-wrap #header .header_wrap {
  display: flex;
  width: 100%;
  justify-content: space-between;
  align-items: center;
}
.site-wrap #header .header_wrap .gnb-wrap {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
.site-wrap #header .header_wrap .gnb-wrap ul.gnb {
  display: flex; 
  width: 100%;
  height: 90px;
  justify-content: center;
  align-items: center;
}

/* PC 드롭다운 메뉴 스타일 */
.site-wrap #header .header_wrap .gnb-wrap ul.gnb > .menuDepth1:hover ul.ulDepth2 {
  display: block;
}

/* PC 전용 Full-screen 메뉴 버튼을 숨기는 초기 설정 (PC에서는 숨김) */
.site-wrap #header .header_wrap .gnb-wrap ul.gnb > .menuDepth1:nth-child(5) {
  display: none;
}
.site-wrap #header .header_wrap .gnb-wrap ul.gnb > .menuDepth1 {
  /*padding: clamp(calc(20px / 2), calc(20 / 1180 * 100vw), 40px);*/
  width: clamp(80px, 11.8644067797vw, 160px);
  text-align: center;
}

.site-wrap #header .header_wrap .gnb-wrap ul.gnb > .menuDepth1 > a {
  font-family: 'NanumSquareBold';
  font-size: clamp(18.6666666667px, 1.6949152542vw, 20px);
  color: #464646;
  font-weight:500;
  text-shadow: 0px 0;
  text-decoration: none;
  text-align: center;
  width: 100%;
  display: block;
  font-size: 18px;
  position: relative;
}

.site-wrap #header .header_wrap .gnb-wrap ul.gnb > .menuDepth1 > a::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -13px;
    width: 100%;
    height: 3px;
	text-align:center;
    background-color: #0CBDB0;
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 0.5s ease-in-out;
}

.site-wrap #header .header_wrap .gnb-wrap ul.gnb > .menuDepth1 > a:hover::after {
    transform: scaleX(1);
    transform-origin: left;
}		


.site-wrap #header .header_wrap .gnb-wrap ul.gnb > .menuDepth1 > ul.ulDepth2 {
  position: absolute;
  display: none;
}
.site-wrap #header .header_wrap .gnb-wrap ul.gnb > .menuDepth1:hover ul.ulDepth2 {
  display: block;
}
.site-wrap #header .header_wrap .gnb-wrap ul.gnb > .menuDepth1:nth-child(5) {
  display: none;
}




.site-wrap #header .header_wrap .gnb-wrap ul.gnb > .menuDepth1.on a {
/*  color: #008080; */

}


.site-wrap #header .header_wrap h1.logo {
  width: clamp(305px, 16.9491525424vw, 305px);
}
.site-wrap #header .header_wrap .top-search {
  position: relative;
  display: inline-flex;
  align-items: center;
  width: 224px;
  height: 33px;
  margin-left: auto;
  background: #e7f2ff;
  border-radius: 3px;
}
.site-wrap #header .header_wrap .top-search input {
  height: 100%;
  padding-left: 10px;
  background: none;
  border: none;
  box-sizing: border-box;
  outline:none;
}
.site-wrap #header .header_wrap .top-search input::placeholder {
  color: #959595;
  font-size: 14px;
  letter-spacing: -1px;
}
.site-wrap #header .header_wrap .top-search span.search-btn {
  display: inline-block;
  width: 20px;
  height: 20px;
  padding: 0 10px;
  background: url(/infile/img/main/ic-search.png) center no-repeat;
  font-size: 0;
}
.site-wrap #header .header_wrap .top-search .search-keyword-popup {
  display: none;
  position: absolute;
  left: 0;
  top: 100%;
  width: 100%;
  padding: 10px;
  z-index: 8888;
  background: #fff url(/infile/img/main/keyword-bg.png) no-repeat 95% 40%;
  border: 1px solid #efefef;
  border-radius: 10px;
  box-sizing: border-box;
}
.site-wrap #header .header_wrap .top-search .search-keyword-popup h3 {
  color: #1d1d1d;
  margin-bottom: 10px;
}
.site-wrap #header .header_wrap .top-search .search-keyword-popup .keyword-list {
  display: flex;
  flex-wrap: wrap;
}
.site-wrap #header .header_wrap .top-search .search-keyword-popup .keyword-list li {
  display: flex;
  margin-right: 5px;
  margin-bottom: 5px;
  padding: 2px 10px;
  background: #e7f2ff;
  border-radius: 20px;
  cursor: pointer;
}
.site-wrap #header .header_wrap .top-search .search-keyword-popup .keyword-list li a {
  text-decoration: none;
  color: #565656;
}
.site-wrap #header #m_gnb {
  display: none;
  width: 45px;
  height: 45px;
  /*background: rgba(0, 0, 0, 0.25) none repeat scroll 0 0 !important;*/
  text-align: center;
}
.site-wrap #header #m_gnb a {
  display: inline-block;
  width: 25px;
  padding-top: 8px;
}
.site-wrap #header #m_gnb a:before {
  content: "";
  display: block;
  height: 3px;
  margin: 5px 0;
  background: #000;
}
.site-wrap #header #m_gnb a:after {
  content: "";
  display: block;
  height: 3px;
  margin: 5px 0;
  background: #000;
}
.site-wrap #header #m_gnb a span {
  content: "";
  display: block;
  height: 3px;
  margin: 5px 0;
  background: #000;
  font-size: 0;
}
.site-wrap #allmenu {
  display: none;
}
.site-wrap #allmenu .nav-close {
  display: none;
}
.site-wrap #allmenu .bottom-menu {
  display: none;
}
.site-wrap #allmenu {
  position: absolute;
  top: 120px;
  z-index: 7777;
  width: 100%;
  background: #fff;
  box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2);
  border-top: 1px solid #33B7AF;
  transition: height 0.5s ease; /* 스무스한 전환 */
}
.site-wrap .allmenu-wrap {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  background: #fff;
}
.site-wrap .allmenu-wrap ul.allmenu {
  position: relative;
  display: flex;
  padding-left: 320px;

  /*background: url(/infile/main/gnb-sub01-bg.png) no-repeat bottom left;*/
}
.site-wrap .allmenu-wrap .allmenu-subtit {
  position: absolute;
  top: 30px;
}
.site-wrap .allmenu-wrap .allmenu-subtit:after {
  position: absolute;
  z-index: 1;
  content: "";
  top: 0;
  left: 0;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #e5effd;
}
.site-wrap .allmenu-wrap .allmenu-subtit li {
  position: relative;
  display: none;
  width: 200px;
  padding-top: 10px;
  padding-left: 10px;
  font-size: 34px;
  color: #333333;
  z-index: 100000;
}
.site-wrap .allmenu-wrap .allmenu-subtit li.on {
  display: block;
    overflow: hidden;
    max-height: 0;
    transition: max-height 0.4s ease-in-out;
    z-index: 1000;
}
.site-wrap .allmenu-wrap .menuDepth1 {
  position: relative;
  padding: 0;
  width: clamp(80px, 11.8644067797vw, 160px);
  text-align: center;

}
.site-wrap .allmenu-wrap .menuDepth1:nth-child(5) {
  display: none;
}
.site-wrap .allmenu-wrap .menuDepth1.on {
  background: #E6F6F5;
    overflow: hidden;

}
.site-wrap .allmenu-wrap .menuDepth1.on:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  margin: 0px auto;
}
.site-wrap .allmenu-wrap .menuDepth1 > a {
  display: none;
  font-size: 20px;
  color: #000;
  text-shadow: 0.5px 0;
  text-decoration: none;

}
.site-wrap .allmenu-wrap .menuDepth1 > ul.ulDepth2 {
  display: block;
  padding: 20px 0;
}
.site-wrap .allmenu-wrap .menuDepth1 > ul.ulDepth2 .menuDepth2 {
  margin-bottom: 13px;
}
.site-wrap .allmenu-wrap .menuDepth1 > ul.ulDepth2 .menuDepth2 a {
  color: #222;
  font-size: 14px;

}
.site-wrap .allmenu-wrap .menuDepth1 > ul.ulDepth2 .menuDepth2:hover a {
  position: relative;
  display: inline-block;
  color: #000;
  text-decoration: underline;

}
.site-wrap .allmenu-wrap .menuDepth1 > ul.ulDepth2 .menuDepth2:hover a:before {
  content: "";
  position: absolute;
  top: 0;
  left: -10px;
  display: inline-block;
  width: 5px;
  height: 5px;
  background: #0a4d91;
  border-radius: 50%;
}

/*topmenu*/
.ko-topmenu {
  display: flex;
  width: 100%;
  height: 47px;
  border-bottom: 1px solid #dddddd;

}
.ko-topmenu > .topmenu-wrap {
  display: flex;
  justify-content: space-between;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  align-items: flex-end;
}
.ko-topmenu ul {
  height: 100%;
}
.ko-topmenu ul li {
  display: inline-flex;
  align-items: center;
  box-sizing: border-box;
}
.ko-topmenu ul li a {
  color: #555;
  font-size: clamp(12spx, 1.186440678vw, 14px);
  text-decoration: none;
}
.ko-topmenu ul li:hover a {
  color: #0d4d95;
  text-shadow: 0.5px 0;
}
.ko-topmenu .leftmenu {
  display: inline-flex;
  height: 70%;

  border-left: 1px solid #dddddd;
}
.ko-topmenu .leftmenu li.siteon {
  font-size:12px;
  text-align:center;
  position: relative;
  padding: clamp(5px, 0.8474576271vw, 10px);
  background-color:#0CBDB0;

  text-shadow: 0.2px 0;
  color:#fff;
  border-right: 1px solid #dddddd;
  border-top: 2px solid #0CBDC2;
}
.ko-topmenu .leftmenu li.siteon:hover{

}




.ko-topmenu .leftmenu li.siteno {
  color:#000;
  border-top: 1px solid #dddddd;
  border-right: 1px solid #dddddd;
  font-size:12px;
  position: relative;
  padding: clamp(5px, 0.8474576271vw, 10px);
  background-color:#F3F3F3;
}
.ko-topmenu .leftmenu li.siteno:hover{
   background-color:#EBEBEB;
   color:#000;
   font-weight:600;
}






.ko-topmenu .leftmenu li.siteoff {
  width:10px;
  position: relative;
  font-size:12px;
  border-right: 1px solid #dddddd;
  border-top: 0px solid #dddddd;

}


.ko-topmenu .leftmenu li.siteon:hover:before {
  font-size:12px;
  font-weight:normal;
  color:#ddd;
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  width: 100%;
  height: 2px;
  background: #42D5D2;
}
.ko-topmenu .leftmenu .point {
  background: rgb(13, 78, 150);
  background: linear-gradient(90deg, rgb(13, 78, 150) 0%, rgb(12, 143, 198) 100%);
}
.ko-topmenu .leftmenu .point a {
  color: #fff;
}
.ko-topmenu .rightmenu {
  display: inline-flex;
  align-items: center;
}
.ko-topmenu .rightmenu img {
  display: inline-block;
  padding: 0 8px;
}
.ko-topmenu .rightmenu li {
  position: relative;
  padding: 0 12px;
}
.ko-topmenu .rightmenu li a {
  display: flex;
  align-items: center;
  font-size: 14px;
}
.ko-topmenu .rightmenu li em {
  font-style: normal;
  font-weight: bold;
  font-size: 14px;
}
.ko-topmenu .rightmenu li:last-child {
  padding-right: 0;
}
.ko-topmenu .rightmenu li:last-child::after {
  display: none;
}
.ko-topmenu .rightmenu li::after {
  content: "";
  position: absolute;
  right: -2px;
  top: 4px;
  height: 15px;
  width: 1px;
  background: #ccc;
}
.ko-topmenu .rightmenu li.user em {
  color: #044f93;
}
.ko-topmenu .rightmenu li.user span {
  color: #000;
  font-size: 14px;
}

/*main visual*/
#mainVisual {
/*background: #f5f5f5;*/
}

#mainVisual .sliderLi a {
  display: flex;
  justify-content: center;
}
#mainVisual .bx-wrapper {
  position: relative;
}
#mainVisual .bx-controls {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 40px;
  display: flex;
  max-width: 1200px;
  height: 30px;
  margin: 0 auto;
  color: #fff;
}
#mainVisual .bx-controls .bx-default-pager {
  position: absolute;
  left: 30px;
  top: 0;
  width: 50px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
#mainVisual .bx-controls .bx-controls-direction {
  position: relative;
  display: flex;
  width: 110px;
}
#mainVisual .bx-controls .bx-controls-direction a {
  display: block;
  font-size: 0;
  width: 30px;
  height: 30px;
}
#mainVisual .bx-controls .bx-controls-direction a.bx-prev {
  position: absolute;
  left: 0;
}
#mainVisual .bx-controls .bx-controls-direction a.bx-prev:before {
  content: "<";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  color: #fff;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-size: 17px;
  width: 30px;
  height: 30px;
}
#mainVisual .bx-controls .bx-controls-direction a.bx-next {
  position: absolute;
  right: 0;
}
#mainVisual .bx-controls .bx-controls-direction a.bx-next:before {
  content: ">";
  position: absolute;
  top: 0;
  right: 0;
  color: #fff;
  font-size: 17px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
}

/*slick slide*/
.slick-slider {
  display: flex !important;
  align-items: center;
}
.slick-slider > button {
  position: absolute;
  width: 25px;
  height: 48px;
  font-size: 0;
  border: 0;
  cursor: pointer;
}
.slick-slider .slick-prev {
/*
  left: -70px;
  background: url(/infile/img/main/ic-slide-left.png);
*/

  left: -70px;
  border-radius: 5px;
  background: center/50% no-repeat rgba(16, 64, 104, 0.2) url(/infile/img/main/ic-slide-left-w.png);

}
.slick-slider .slick-next {
/*
  right: -70px;
  background: url(/infile/img/main/ic-slide-right.png);
*/
  right: -70px;
  border-radius: 5px;
  background: center/50% no-repeat rgba(16, 64, 104, 0.2) url(/infile/img/main/ic-slide-right-w.png);

}

/*class*/
.class-slide {
  margin-top: 30px;
}

.class-title {
  font-family: 'NanumSquareBold';
  font-size: clamp(36px, 3.0508474576vw, 36px);
  color: #000;
}

.company-cert-title {
  font-size: clamp(25px, 3.0508474576vw, 25px);
  color: #000;
}

.class-sub-title {
  font-size: clamp(16px, 1.0508474576vw, 16px);
  font-weight:normal;
  color: #5D5D5D;
}

.class-more {
  position: absolute;
  right: 0;
  top: 17px;
  display: flex;
  align-items: center;
  font-size: 16px;
  color: #000;
  text-decoration: none;
}
.class-more img {
  display: inline-block;
  padding: 0 10px;
}
.class-more:hover {
  text-decoration: none;
}

.new-class {
  position: relative;
  width: 100%;
  max-width: 1200px;
  margin: 35px auto;
}
.new-class .new-class-info {
  padding: 14px 15px;
}
.new-class img.class-thumb {
  display: inline-block;
  width: 100%;
  height: 170px;
  background: #e5e5e5;
}
.new-class .summary {
  padding: 0;
  background: none;
  color: inherit;
  border: none;
  box-sizing: border-box;
}
.new-class .summary label {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  height: 24px;
  padding: 0 15px;
  line-height: 24px;
  background: #0a4d91;
  color: #fff;
  border-radius: 20px;
}
.new-class .summary span.txt {
  display: inline-block;
  margin-left: 10px;
  color: #666666;
  font-size: 14px;
}
.new-class span.title {
  display: inline-block;
  width: 100%;
  padding-top: 10px;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  font-size: clamp(14px, 1.5254237288vw, 18px);
  color: #000;
}
.new-class .slick-initialized .slick-slide {
  width: 280px;
  height: 270px;
  margin: 0 12px;
  border-radius: 10px;
  overflow: hidden;
  cursor: pointer;
  border: 1px solid #ddd;
  box-sizing: border-box;
}
.new-class .slick-initialized .slick-slide img {
  scale: 1;
  transition: all 0.2s;
}
.new-class .slick-initialized .slick-slide:hover {
  border-color: #0b4e95;
}
.new-class .slick-initialized .slick-slide:hover img {
  scale: 1.1;
}




.new-company-cert {
  position: relative;
  width: 100%;
  max-width: 900px;
  margin: 20px auto;
}
.new-company-cert .new-class-info {
  padding: 14px 15px;
}
.new-company-cert img.class-thumb {
  display: inline-block;
  width: 100%;
  height: 400px;
  background: #e5e5e5;
}
.new-company-cert .summary {
  padding: 0;
  background: none;
  color: inherit;
  border: none;
  box-sizing: border-box;
}
.new-company-cert .summary label {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  height: 24px;
  margin-top:10px;
  padding: 0 15px;
  line-height: 24px;
  background: #0a4d91;
  color: #fff;
  border-radius: 20px;
}
.new-company-cert .summary span.txt {
  display: inline-block;
  margin-left: 10px;
  color: #666666;
  font-size: 14px;
}
.new-company-cert span.title {
  display: inline-block;
  width: 100%;
  padding-top: 10px;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  font-size: clamp(14px, 1.5254237288vw, 18px);
  color: #000;
}
.new-company-cert .slick-initialized .slick-slide {
  width: 280px;
  height: 500px;
  margin: 0 12px;
  border-radius: 10px;
  overflow: hidden;
  cursor: pointer;
  border: 1px solid #ddd;
  box-sizing: border-box;
}
.new-company-cert .slick-initialized .slick-slide img {
  scale: 1;
  transition: all 0.2s;
}
.new-company-cert .slick-initialized .slick-slide:hover {
  border-color: #0b4e95;
}
.new-company-cert .slick-initialized .slick-slide:hover img {
  scale: 1.1;
}




.best-class {
  width: 100%;
  height: 400px;
  margin: 75px auto;
  background: url(/infile/img/main/best-class-bg.gif) center no-repeat;
  background-size: cover;
}
.best-class .class-title {
  padding-top: 20px;
}
.best-class .best-class-wrap {
  position: relative;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}
.best-class img.class-thumb {
  display: inline-block;
  width: 100%;
  height: 220px;
  background: #e5e5e5;
}
.best-class .best-class-con {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-radius: 10px;
  box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2);
  box-sizing: border-box;

}
.best-class .best-class-con .best-class-info {
  display: none;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 45px;
  padding: 10px 15px;
  background: rgba(0, 0, 0, 0.5);
  box-sizing: border-box;
  transition: all 0.2s;
}
.best-class .best-class-con .best-class-info span.title {
  display: inline-block;
  width: 100%;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  font-size: 16px;
  color: #fff;
}
.best-class .best-class-con:hover .best-class-info {
  display: block;
  transition: all 0.2s;
}
.best-class .slick-initialized .slick-slide {
  width: 280px;
  height: 220px;
  margin: 0 12px;
  border-radius: 10px;
  overflow: hidden;
  cursor: pointer;
}
.best-class .slick-initialized .slick-slide img {
  scale: 1;
  transition: all 0.2s;
}
.best-class .slick-initialized .slick-slide:hover img {
  scale: 1.1;
}

.company-class {
  position: relative;
  width: 100%;
  max-width: 1200px;
  margin: 75px auto;
}
.company-class .com-class-info {
  padding: 14px 15px;
}
.company-class .com-class-con:hover span.title {
  color: #0d4d95;
}
.company-class img.class-thumb {
  display: inline-block;
  width: 100%;
  height: 180px;
  background: #e5e5e5;
  border-radius: 10px;
  overflow: hidden;
}
.company-class span.title {
  display: inline-block;
  width: 100%;
  padding-top: 10px;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
  overflow: hidden;
  font-size: clamp(14px, 1.5254237288vw, 18px);
  color: #000;
  text-align: center;
}
.company-class .slick-initialized .slick-slide {
  width: 280px;
  height: 270px;
  margin: 0 12px;
  cursor: pointer;
  box-sizing: border-box;
}
.company-class .slick-initialized .slick-slide img {
  scale: 1;
  transition: all 0.2s;
}
.company-class .slick-initialized .slick-slide:hover img {
  scale: 1.1;
}

/*board*/
.board {
  width: 100%;
  padding: 75px 0;
  background: #f7f7f7;
}
.board .board-wrap {
  display: flex;
  align-items: flex-start;
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
}
.board .board-wrap .notice-con {
  margin-top: 20px;
}
.board .board-wrap .notice-wrap {
  position: relative;
  width: 380px;
  margin-right: 30px;
}
.board .board-wrap .notice-wrap div.fixed {
  display: flex;
  align-items: center;
  padding: 10px 20px;
  box-sizing: border-box;
  background: #fff;
  border-radius: 10px;
  box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2);
}
.board .board-wrap .notice-wrap div.fixed img {
  display: inline-block;
  margin-right: 20px;
}
.board .board-wrap .notice-wrap div.fixed .text-wrap span.title {
  display: block;
  color: #000;
  font-size: 18px;
  
}
.board .board-wrap .notice-wrap div.fixed .text-wrap span.title a{
  color: #000;
  width:260px;
  text-decoration:none;
  white-space: nowrap; /* 텍스트를 한 줄로 유지 */
  overflow: hidden;    /* 넘치는 텍스트를 숨김 */
  text-overflow: ellipsis; /* 말줄임 표시(...) */
}

.board .board-wrap .notice-wrap div.fixed .text-wrap span.title a:hover{
  color: #0d4d95;
  font-weight:normal;

}
.board .board-wrap .notice-wrap div.fixed .text-wrap span.date {
  color: #999;
  font-size: 14px;
}
.board .board-wrap .notice-wrap div.fixed:hover {
  cursor: pointer;
}
.board .board-wrap .notice-wrap div.fixed:hover .text-wrap .title {
  color: #0d4d95;
  text-shadow: 0.5px 0;
}
.board .board-wrap .notice-wrap .notice-list {
  margin-top: 10px;
}
.board .board-wrap .notice-wrap .notice-list li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 50px;
  background: #fff;
  margin-bottom: 10px;
  padding: 5px 15px;
  border-radius: 10px;
  box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2);
  box-sizing: border-box;
}
.board .board-wrap .notice-wrap .notice-list li .title {
  width: 100%;
  text-decoration: none;
  white-space: nowrap;
  text-overflow: ellipsis;
  cursor: pointer;
  overflow: hidden;
  font-size: 16px;
  color: #000;
}
.board .board-wrap .notice-wrap .notice-list li .date {
  color: #999;
  font-size: 14px;
}
.board .board-wrap .notice-wrap .notice-list li:hover .title {
  color: #0d4d95;
  text-shadow: 0.5px 0;
}
.board .board-wrap .review-wrap {
  position: relative;
  width: calc(100% - 410px);
}
.board .board-wrap .review-wrap .slick-initialized .slick-slide {
  width: 250px;
  height: 250px;
  margin: 0 9px !important;
  margin-top: 20px;
  background: #fff;
  border-radius: 10px;
  box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2);
  box-sizing: border-box;
  cursor: pointer;
}
.board .board-wrap .review-wrap .slick-initialized .slick-slide:hover .title {
  color: #044f93;
  text-shadow: 0.5px 0;
}
.board .board-wrap .review-wrap .slick-initialized .slick-slide:hover .content {
  color: #236a94;
}
.board .board-wrap .review-wrap .slick-list {
  padding-bottom: 10px;
}
.board .board-wrap .review-wrap .slick-slider {
  display: flex !important;
  align-items: center;
  padding-top: 20px;
}
.board .board-wrap .review-wrap .slick-slider > button {
  position: absolute;
  width: 25px;
  height: 20px;
  margin: 0 6px;
  font-size: 0;
  border: 0;
  cursor: pointer;
}
.board .board-wrap .review-wrap .slick-slider .slick-prev {
  top: -40px;
  right: 50px;
  left: inherit;
  background: url(/infile/img/main/ic-board-left.png);
}
.board .board-wrap .review-wrap .slick-slider .slick-next {
  top: -40px;
  right: 0px;
  background: url(/infile/img/main/ic-board-right.png);
}
.board .board-wrap .review-wrap .class-review-con {
  padding: 30px 22px;
  box-sizing: border-box;
}
.board .board-wrap .review-wrap .class-review-con .user-info {
  display: flex;
  align-items: center;
}
.board .board-wrap .review-wrap .class-review-con .user-info img {
  display: inline-block;
  margin-right: 15px;
}
.board .board-wrap .review-wrap .class-review-con .user-info .star {
  margin-left: auto;
}
.board .board-wrap .review-wrap .class-review-con .title {
  display: -webkit-box;
  width: 100%;
  margin-top: 22px;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
  overflow: hidden;


  font-size: 16px;
  color: #000;
}
.board .board-wrap .review-wrap .class-review-con .content {
  display: -webkit-box;
  width: 100%;
  margin-top: 22px;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
  overflow: hidden;
  font-size: 14px;
  color: #666;
}
.board .board-wrap .board-more {
  position: absolute;
  right: 0;
  top: 12px;
  width: 30px;
  height: 30px;
  border: 1px solid #000;
  box-sizing: border-box;
  border-radius: 3px;
  background: url(/infile/img/main/ic-board-more.png) center no-repeat;
  font-size: 0;
  border-radius: 3px;
}

/*customer*/
.customer-bg {
  background-color:#FBFBFB;
  display: flex;
  justify-content: space-between;
  max-width: 100%;
  width: 100%;
  margin: 0 auto;
  border-top: 1px #f7f7f7 dotted;
}
.customer {
  display: flex;
  justify-content: space-between;
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  padding: 40px 0;
}
.customer > div {
  width: 33.3%;
  padding: 0 35px;
  border-left: 1px solid #ddd;
}
.customer > div:last-child {
  border-right: 1px solid #ddd;
}
.customer .class-title {
  margin-bottom: 10px !important;
  font-size: 28px;
  padding-bottom: 10px;
  border-bottom: 1px #ddd dotted;
}
.customer .eduinfo-wrap .edu-list {
  padding-top: 10px;
}
.customer .eduinfo-wrap .edu-list li {
  height: 50px;
  margin-bottom: 10px;
  border-radius: 10px;
}
.customer .eduinfo-wrap .edu-list li a {
  display: inline-flex;
  align-items: center;
  padding: 0 20px;
  text-decoration: none;
  width: 100%;
  height: 100%;
  color: #000;
  font-size: 16px;
}
.customer .eduinfo-wrap .edu-list li:hover {
  background: #0c91c9;
}
.customer .eduinfo-wrap .edu-list li:hover a {
  color: #fff;
  text-decoration: none;
}
.customer .eduinfo-wrap .edu-list li:nth-child(1) {
  background: url(/infile/img/main/ic-info-down02.png) 92% 13px no-repeat #e8f2fe;
}
.customer .eduinfo-wrap .edu-list li:nth-child(1):hover {
  background: url(/infile/img/main/ic-info-down01.png) 92% 13px no-repeat #0c91c9;
}
.customer .eduinfo-wrap .edu-list li:nth-child(2) {
  background: url(/infile/img/main/ic-info-down02.png) 92% 13px no-repeat #e8f2fe;
}
.customer .eduinfo-wrap .edu-list li:nth-child(2):hover {
  background: url(/infile/img/main/ic-info-down01.png) 92% 13px no-repeat #0c91c9;
}
.customer .eduinfo-wrap .edu-list li:nth-child(3) {
  background: url(/infile/img/main/ic-info-write.png) 92% 13px no-repeat #e8f2fe;
}
.customer .eduinfo-wrap .edu-list li:nth-child(3):hover {
  background: url(/infile/img/main/ic-info-write02.png) 92% 13px no-repeat #0c91c9;
}
.customer .bank-wrap .bank-con {
  width: 100%;
  height: 180px;
  border-radius: 10px;
  border: 1px solid #fff3db;
  background: #fffbf2 url(/infile/img/main/bank-bg.png) no-repeat right bottom;
  padding: 35px 20px;
  box-sizing: border-box;
}
.customer .bank-wrap .bank-con img {
  display: block;
  margin: 0 auto;
}
.customer .bank-wrap .bank-con .bank-number {
  display: block;
  padding: 10px 0;
  text-align: center;
  font-size: 25px;
  font-weight: bold;
  color: #000;
}
.customer .bank-wrap .bank-con .bank-name {
  display: block;
  color: #000;
  text-align: center;
}
.customer .call-wrap .call-number {
  display: inline-block;
  width: 100%;
  padding: 15px 0;
  text-align: center;
  font-size: 44px;
  font-weight: bold;
  color: #0d4d97;
}
.customer .call-wrap .call-info {
  color: #333;
}
.customer .call-wrap .call-info li {
  margin-bottom: 10px;
}
.customer .call-wrap .call-info li:last-child {
  margin-bottom: 0;
}
.customer .call-wrap .call-info .title {
  display: inline-block;
  width: 100px;
  height: 27px;
  padding: 3px 0;
  margin-right: 20px;
  box-sizing: border-box;
  color: #333;
  border: 1px solid #333;
  border-radius: 20px;
  text-align: center;
}

/*footer*/
#footer {
  background: #393B44;
  color: #fff;
  padding-bottom: 35px;
}
#footer .footer-menu-wrap {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}
#footer .footer-menu-wrap .footer_menu-box {
  display: flex;
  align-items: center;
/*  border-bottom: 1px solid #fff; */
}
#footer .footer-menu-wrap .footer_menu-box ul.footer_menu {
  display: inline-flex;
  width: 100%;
  margin: 35px 0 25px 0;
}
#footer .footer-menu-wrap .footer_menu-box ul.footer_menu li {
  padding: 0 15px;
}
#footer .footer-menu-wrap .footer_menu-box ul.footer_menu li a {
  color: #F6F6F6;
  font-size: 0.8rem;
  text-decoration: none;
}
#footer .footer-menu-wrap .footer_menu-box ul.footer_menu li.privon a {
  color: #70B8B8;
  text-decoration: none;
}
#footer .footer-menu-wrap .footer_menu-box ul.footer_menu li:first-child {
  padding-left: 0;
}
#footer .footer-menu-wrap .footer_menu-box ul.footer_menu li:hover a {
  text-shadow: 0.5px 0;
}
#footer .footer-menu-wrap .footer_menu-box select.family-site-wrap {
  width: 180px;
  height: 35px;
  padding: 0 10px;
  background: #646668;
  color: #fff;
  border-radius: 5px;
  box-sizing: border-box;
}

.footer_info_pc{
display: block;
font-size:14px;
  line-height:27px;
}
.footer_info_pc em{
   color:#F0FCFA; 
  font-style: normal;
  font-weight:bold;

}
.footer_info_m{
display: none;
}

#footer .footer-menu-wrap .footer_menu-box select.family-site-wrap option {
  margin: 3px 0;
}
#footer .footer-menu-wrap .footer_address {
  margin-top: 10px;
  color: #9E9E9E;
}
#footer .footer-menu-wrap .footer_address br {
 /*  display: none; */
}
#footer .footer-menu-wrap .footer_sns {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 25px;
}
#footer .footer-menu-wrap .footer_sns .txt {
  color: #dddddd;
  font-size:0.7rem
}
#footer .footer-menu-wrap .footer_sns ul.sns-list {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
#footer .footer-menu-wrap .footer_sns ul.sns-list li {
  display: inline-block;
  padding: 0 7px;
}
#footer .footer-menu-wrap .footer_sns ul.sns-list li a {

  width: 100%;
  height: 100%;
  color: #dddddd;
  font-size: 0;
}
#footer .footer-menu-wrap .footer_sns ul.sns-list li:nth-child(1) {
  width: 15px;
  height: 14px;
  background: url(/infile/img/main/ic-sns-naver.png) no-repeat;
}
#footer .footer-menu-wrap .footer_sns ul.sns-list li:nth-child(2) {
  width: 15px;
  height: 14px;
  background: url(/infile/img/main/ic-sns-youtube.png) no-repeat;
}
#footer .footer-menu-wrap .footer_sns ul.sns-list li:nth-child(3) {
  width: 8px;
  height: 17px;
  background: url(/infile/img/main/ic-sns-facebook.png) no-repeat;
}
#footer .footer-menu-wrap .footer_sns ul.sns-list li:nth-child(4) {
  width: 17px;
  height: 17px;
  background: url(/infile/img/main/ic-sns-insta.png) no-repeat;
}
#footer .footer-menu-wrap .footer_sns ul.sns-list li:nth-child(5) {
  width: 18px;
  height: 17px;
  background: url(/infile/img/main/ic-sns-kakao.png) no-repeat;
}

/*star*/
.rating-wrap {
  display: flex;
  padding: 10px;
}
.rating-wrap .rating {
  position: relative;
  display: flex;
  align-items: center;
}
.rating-wrap .star {
  width: 14px;
  height: 14px;
  margin-right: 2px;
}
.rating-wrap .starcolor {
/*  fill: #ffdb6e; */
   fill: #FF8000;
}
.rating-wrap .star:last-of-type {
  margin-right: 0;
}
.rating-wrap .overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  background-color: #fff;
  transition: all 0.3s ease-in-out;
}

@supports (mix-blend-mode: color) {
  .overlay {
    mix-blend-mode: color;
    opacity: unset;
  }
}
/*quick*/
.quick-menu-aside {
  position: fixed;
  right: 1em;
  z-index: 10;
}
.quick-menu-aside:before {
  position: absolute;
  top: -10px;
  left: -1px;
  content: "";
  display: inline-block;
  width: 100%;
  height: 10px;
  background: rgb(13, 78, 150);
  background: linear-gradient(90deg, rgb(13, 78, 150) 0%, rgb(12, 143, 198) 100%);
  border: 1px solid #999;
}
.quick-menu-aside .quick-title {
  border: 1px solid #999;
  border-bottom: none;
  background: #fff;
}
.quick-menu-aside .quick-title span.txt {
  display: block;
  width: 95%;
  margin: 0 auto;
  padding: 10px 0;
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  color: #2a5082;
  border-bottom: 1px solid #000;
  line-height: 24px;
}
.quick-menu-aside .quick-menu-lists {
  position: relative;
  border: 1px solid #999;
  border-top: none;
  background: #fff;
}
.quick-menu-aside .quick-menu-lists .quick-menu {
  width: 100%;
  height: 40px;
  padding: 0 10px;
  box-sizing: border-box;
}
.quick-menu-aside .quick-menu-lists .quick-menu a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  margin: 0 auto;
  border-bottom: 1px dotted #797979;
  text-align: center;
}
.quick-menu-aside .quick-menu-lists .quick-menu a:hover {
  text-decoration: none;
}
.quick-menu-aside .quick-menu-lists .quick-menu .icon-text {
  display: block;
  font-size: 14px;
  color: #000;
  letter-spacing: -1px;
}
.quick-menu-aside .quick-menu-lists:after {
  position: absolute;
  bottom: -10px;
  left: -1px;
  content: "";
  display: inline-block;
  width: 100%;
  height: 10px;
  background: rgb(13, 78, 150);
  background: linear-gradient(90deg, rgb(13, 78, 150) 0%, rgb(12, 143, 198) 100%);
  border: 1px solid #999;
}
.quick-menu-aside .top-btn {
  display: inline-block;
  width: 100%;
  height: 40px;
  margin-top: 14px;
  background: linear-gradient(90deg, rgb(13, 78, 150) 0%, rgb(12, 143, 198) 100%);
}
.quick-menu-aside .top-btn a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  color: #fff;
  text-decoration: none;
  text-shadow: 0.5px 0;
}

/*sub*/
.sub_visu {
  position: relative;
  height: 250px;
  background: #e5e5e5;
}
.sub_visu .sub_visu_wrap {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  height: 100%;
  max-width: 1200px;
  margin: 0 auto;
}
.sub_visu .sub_visu_wrap .sub_txt {
  display: inline-block;
  font-size: 56px;
  font-weight: bold;
  text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.5);
  color: #fff;
}
.sub_visu .sub-bg {
  display: block;
  text-align: center;
  margin: 0 auto;
}
.sub_visu .subcon_wrap {
  display: flex;
  width: 100%;
  max-width: 1200px;
  margin: 100px auto;
}
.sub_visu .subcon_wrap .navi_wrap {
  display: none;
}

/*lnb*/
.lnb {
  margin-right: 60px;

}

.lnb02 {
}

.lnb > .ulDepth1 > li > a {
  width: 250px;
  height: 60px;
  padding: 20px 15px;
  box-sizing: border-box;
  background: url(/infile/img/main/lnb-bg.png) no-repeat right bottom, linear-gradient(90deg, rgb(12, 143, 198) 0%, rgb(13, 78, 150) 100%);
  font-size: 22px;
  color: #fff;
  text-decoration: none;

}
.lnb .ulDepth2 {
  margin-top: 30px;
}
.lnb .ulDepth2 > li {
  position: relative;
  margin-bottom: 25px;
  box-sizing: border-box;
}

.lnb .ulDepth2 > li > a {
  display: inline-block;
  width: 75%;
  padding: 0 10px;

  font-family: 'NanumSquareBold';
  font-size: clamp(16.6666666667px, 1.2949152542vw, 16px);
  color: #464646;

  text-shadow: 0px 0;

  color: #333;
  text-decoration: none;
}
.lnb .ulDepth2 > li > a:hover {
color:#00006B
}
.lnb .ulDepth2 > li.on > a {
  padding-top:5px;
  padding-bottom:5px;
  background: #0D6DAD;
  color: #fff;
}
.lnb .ulDepth2 > li.on > a:hover {
   color:#fff
}
.lnb .ulDepth2 > li.on:after {
  position: absolute;
  top: 14px;
  right: 0;
  content: "";
  width: 20px;
  height: 1px;
  background: #000;
}
.lnb .ulDepth2 > li.on:before {
  display: none;
}
.lnb .ulDepth2 > li:after {
  position: absolute;
  top: 14px;
  right: 0;
  content: "";
  width: 19px;
  height: 1px;
  background: #000;
}
.lnb .ulDepth2 > li:before {
  position: absolute;
  top: 6px;
  right: 9px;
  content: "";
  width: 1px;
  height: 18px;
  background: #000;
}
.lnb .ulDepth3 { /*display: none;*/
  padding-left: 25px;
  margin: 20px 0;
}
.lnb .ulDepth3.on {
  display: block;
}
.lnb .ulDepth3 li.menuDepth3 {
  margin-bottom: 10px;
}
.lnb .ulDepth3 li.menuDepth3 a {
  position: relative;
  color: #333;
  font-size: 16px;
  padding-left: 15px;
  text-decoration: none;
}

.lnb .ulDepth3 li.menuDepth3 a span {
   color:#9E9E9E;
   font-size:12px;
}

.lnb .ulDepth3 li.menuDepth3 a:hover {
    font-weight:bold;
}
.lnb .ulDepth3 li.menuDepth3 a:before {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  display: inline-block;
  width: 2px;
  height: 2px;
  border-radius: 50%;
  background: #333;
}
.lnb .ulDepth3 li.menuDepth3.on a {
  color: #0d4d95;
  text-shadow: 0.5px 0;
}

/*subcontent*/
.subcon_wrap {
  display: flex;
  width: 100%;
  max-width: 1200px;
  margin: 40px auto;
}
.subcon_wrap .sub-content {
  width: calc(100% - 250px);
}
.subcon_wrap .sub-content .top {
  width: 100%;
  border-bottom: 1px solid #000;
  padding-bottom: 10px;
}
.subcon_wrap .sub-content .top h2.title {
  position: relative;
  display: inline-block;
  font-size: 25px;
  color: #000;
  font-weight: normal;
}
.subcon_wrap .sub-content .top h2.title:after {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  background: #ffc000;
  right: -14px;
  bottom: 11px;
  border-radius: 50%;
}








.subcon_wrap .sub02-content {
  width: calc(100%);
}
.subcon_wrap .sub02-content .top {
  width: 100%;
  border-bottom: 1px solid #000;
  padding-bottom: 10px;
}
.subcon_wrap .sub02-content .top h2.title {
  position: relative;
  display: inline-block;
  font-size: 32px;
  color: #000;
  font-weight: normal;
}
.subcon_wrap .sub02-content .top h2.title:after {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  background: #ffc000;
  right: -14px;
  bottom: 11px;
  border-radius: 50%;
}







.ko-sub-content3 {
  margin-bottom: 100px;
  font-size: 15px;

  color: #333;
}

.ko-sub-content4 {
  margin-bottom: 100px;
  font-size: 15px;

  color: #333;
}

.ko-sub-content {
  margin-top: 30px;
  margin-bottom: 100px;
  font-size: 15px;

  color: #333;
}

.ko-sub-content2 {
  margin-top: 30px;
  margin-bottom: 100px;
  font-size: 15px;

  color: #333;
}

/*sub class*/
.search-box {
  width: 100%;
}
.search-box .search-list {
  width: 100%;
  padding: 30px;
  box-sizing: border-box;
  border: 1px solid #ddd;
}
.search-box .search-list > li {
  display: flex;
  width: 100%;
  margin-bottom: 15px;
}
.search-box .search-list > li span.title {
  display: inline-block;
  width: 180px;
  padding-left: 25px;
  margin-right: 40px;
  font-size: 16px;
  color: #000;
  font-weight: bold;
  background: url(/infile/img/sub/search-box-dot.png) no-repeat left center;
}
.search-box .search-list > li ul.options {
  display: flex;
  width: 100%;
}
.search-box .search-list > li ul.options li a {
  display: inline-flex;
  justify-content: center;
  width: 80px;
  height: 25px;
  margin-left: 10px;
  background: white;
  color: #999;
  font-size: 15px;
  border: 1px solid #dddddd;
  box-sizing: border-box;
  text-decoration: none;
  border-radius: 30px;
}
.search-box .search-list > li ul.options li.on a {
  color: #fff;
  background: #0d4d95;
  border-color: #0d4d95;
}
.search-box .search-list > li:last-child {
  margin-bottom: 0;
}
.search-box .search-input {
  width: 100%;
  height: 80px;
  margin-top: 10px;
  border: 1px solid #ddd; 

  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  background: #f9f9f9; 
}
.search-box .search-input > div {
  display: flex;
  width: 510px;
  border-bottom: 2px solid #000;
}
.search-box .search-input > div input {
  width: calc(100% - 50px);
  height: 50px;
  border: none;
  background: none;
  font-family: inherit;
}
.search-box .search-input > div input::placeholder {
  font-size: 16px;
  color: #666666;
}
.search-box .search-input > div span.search-box-search-btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  background: url(/infile/img/sub/search-box-search-btn.png) center no-repeat;
  font-size: 0;
  cursor: pointer;
}

.search-list-caption {
  display: flex;
  width: 100%;
  justify-content: space-between;
  margin: 40px 0;
  font-size: 18px;
  color: #000;
  font-weight: normal;
}
.search-list-caption em {
  display: inline-block;
  padding: 0 3px;
  color: #ff0000;
  font-style: normal;
}
.search-list-caption select {
  padding: 5px 25px;
  border-color: #ddd;
  border-radius: 30px;
  color: #333;
}

.search-list-box {
  margin-bottom: 30px;
  padding: 20px;
  box-sizing: border-box;
  display: flex;
  width: 100%;
  background: #fff;
  border-radius: 10px;
  box-shadow: 1px 2px 8px rgba(0, 0, 0, 0.2);
}
.search-list-box img.class-img {
  width: 240px;
  height: 195px;
  margin-right: 30px;
  border-radius: 10px;
}
.search-list-box .class-infobox {
  width: calc(100% - 270px);
}
.search-list-box .title {
  margin: 15px 0;
  padding-bottom: 10px;
  border-bottom: 1px solid #ddd;
}
.search-list-box .title a {
  font-size: 20px;
  color: #000;
  text-decoration: none;
}
.search-list-box .title a:hover {
  text-shadow: 0.5px 0;
}
.search-list-box .info > ul {
  display: flex;
}
.search-list-box .info > ul li {
  font-weight: bold;
  color: #000;
  margin-right: 25px;
  padding-left: 25px;
}
.search-list-box .info > ul li img:first-child {
  display: inline-block;
  margin-top: 2px;
  margin-right: 5px;
}
.search-list-box .info > ul li.rating {
  background: url(/infile/img/sub/search-list-rating.png) no-repeat left center;
}
.search-list-box .info > ul li.time {
  background: url(/infile/img/sub/search-list-time.png) no-repeat left center;
}
.search-list-box .info > ul li.course {
  background: url(/infile/img/sub/search-list-class.png) no-repeat left center;
}
.search-list-box .info > ul li.standard {
  position: relative;
  background: url(/infile/img/sub/search-list-pin.png) left center no-repeat;
}
.search-list-box .info > ul li.standard .tooltip:hover + .standard-info {
  display: block;
}
.search-list-box .info > ul li.standard .standard-info {
  position: absolute;
  top: 100%;
  left: 10px;
  font-weight: normal;
  display: none;
  width: 200px;
  background: #f4f9ff;
  padding: 12px;
  box-sizing: border-box;
  border-radius: 5px;
  box-shadow: 1px 4px 8px rgba(0, 0, 0, 0.1);
}
.search-list-box .info > ul li.standard .standard-info .tit {
  position: relative;
  display: block;
  padding-left: 10px;
  color: #0d4d95;
}
.search-list-box .info > ul li.standard .standard-info .tit:before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  background: #555;
  width: 2px;
  height: 2px;
}
.search-list-box .info > ul li.standard .standard-info .con {
  color: #555;
  padding-left: 10px;
  letter-spacing: -1px;
}
.search-list-box .info > ul li.standard .tooltip {
  display: inline-block;
  margin-top: 2px;
  cursor: pointer;
}
.search-list-box .tag {
  padding-bottom: 10px;
  border-bottom: 1px solid #ddd;
}
.search-list-box .tag > ul {
  display: flex;
  margin-top: 5px;
}
.search-list-box .tag > ul > li {
  margin-right: 10px;
  border-radius: 20px;
}
.search-list-box .tag > ul > li > span {
  display: inline-flex;
  padding: 0 10px;
  justify-content: center;
  align-items: center;
  height: 22px;
  color: #999;
  font-size: 13px;
  background: #f0f0f0;
  border-radius: 15px;
}
.search-list-box .bottom {
  display: flex;
  justify-content: space-between;
  padding: 10px 0;
}
.search-list-box .bottom .price {
  padding-left: 30px;
  font-size: 20px;
  color: #ff3300;
  background: url(/infile/img/sub/search-list-pay.png) left center no-repeat;
}
.search-list-box .bottom .price em {
  font-style: normal;
}
.search-list-box .bottom .btn-wrap {
  display: flex;
}
.search-list-box .bottom .btn-wrap a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 110px;
  height: 30px;
  margin-right: 5px;
  text-align: center;
  background: #646668;
  color: #fff;
  border-radius: 20px;
  text-decoration: none;
}
.search-list-box .bottom .btn-wrap a img {
  display: inline-block;
  margin-right: 8px;
}
.search-list-box .bottom .btn-wrap a.main {
  color: #fff;
  background: #0d4d95;
}
.badge-top {
  width: 100%;
  display: flex;
  justify-content: space-between;
}
.badge-top .badge > span {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  height: 19px;
  line-height: 20px;
  border-radius: 3px;
  padding: 0px 10px;
  background: #e5e5e5;
  margin-right: 3px;
  color: #fff;
  font-size: 12px;
}
.badge-top .badge > span.refund {
  background: #5D5D5D;
}
.badge-top .badge > span.non-refund {
  background: #646668;
}
.badge-top .badge > span.pc {
  background: #39b54a;
}
.badge-top .badge > span.mobile {
  background: #1889c3;
}
.badge-top .location {
  display: flex;
}
.badge-top .location li {
  padding: 0 8px;
  position: relative;
}
.badge-top .location li::after {
  content: ">";
  position: absolute;
  top: 0;
  right: -5px;
}
.badge-top .location li:last-child::after {
  display: none;
}

.class-detail-top > div {
  display: flex;
  justify-content: space-between;
}





.class-detail-top .class-detail-img {
  width: 320px;
  height: 207px;
  margin-right: 45px auto;
  background: #e5e5e5;
  border-radius: 10px;
  border: 1px solid #ddd;

  justify-content: space-between;
  border-radius: 10px;
  box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2);
  box-sizing: border-box;
  text-align:center;
}





.class-detail-top .class-detail-topcon {
  width: calc(100% - 365px);
}

.class-detail-btngroup {
  display: flex;
  justify-content: space-between;
  margin-top: 15px;
}

.class-detail-btngroup .left-wrap .class-print {
 background: #5D5D5D;
}


.class-detail-btngroup > div a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 155px;
  height: 35px;
  background: #000;
  color: #fff;
  text-decoration: none;
  margin-right: 10px;
}




.class-detail-btngroup > div a img {
  display: inline-block;
  margin-right: 8px;
}
.class-detail-btngroup .left-wrap {
  display: flex;
}
.class-detail-btngroup .right-wrap {
  display: flex;
}
.class-detail-btngroup .right-wrap .class-apply {
  background: #2a5082;
}

.class-detail-btngroup .right-wrap .class-sample > a:hover {
  background: #ff0000;

}

.ko-sub-tit {
  font-family: 'NanumSquareBold';
  margin-top: 40px;
  margin-bottom: 20px;
  padding-left: 30px;
  background: url(/infile/img/sub/ko-sub-tit-bg.png) left center no-repeat;
  font-size: 20px;
  color: #000;
}

.ko-sub-tit00 {
  margin-top: 50px;
  margin-bottom: 10px;
  padding-left: 30px;
  background: url(/infile/img/sub/ko-sub-tit-bg.png) left center no-repeat;
  font-size: 20px;
  font-weight:normal;
  color: #000;
}

.ko-sub-tit02 {
  display: block;
  font-size: 18px;
  margin-top: 50px;
  margin-bottom: 5px;
  color: #2a5082;
}

.ko-sub-tit03 {
  position: relative;
  display: block;
  padding-left: 11px;
  font-size: 16px;
  margin-top: 20px;
  margin-bottom: 5px;
  color: #444;
  font-weight: bold;
}
.ko-sub-tit03:before {
  position: absolute;
  content: "";
  display: block;
  width: 4px;
  height: 14px;
  top: 5px;
  left: 0;
  background: #4b83cc;
}

.ko-sub-tit04 {
  font-family: 'NanumSquareBold';
  position: relative;
  display: block;
  margin-top: 40px;
  margin-bottom: 20px;
  padding-left: 15px;
  font-size: 20px;
  color: #000;
}
.ko-sub-tit04:before {
  position: absolute;
  content: "";
  display: block;
  width: 5px;
  height: 20px;
  top: 5px;
  left: 0;
  background: #4b83cc;
}


.sub-tit04 {
  position: relative;
  display: block;
  margin-top: 100px;
  margin-bottom: 5px;
  text-align: center;
  font-weight: bold;
  color: #252e37;
  font-size: 24px;
  margin-bottom: 30px;
}
.sub-tit04:before {
  position: absolute;
  content: "";
  display: block;
  width: 40px;
  height: 3px;
  bottom: -12px;
  left: 0;
  right: 0;
  margin: 0 auto;
  background: #0a91c8;
}
.sub-tit04:first-child {
  margin-top: 50px;
}

.class-detail-top-tbl {
  width: 100%;
  margin-top: 13px;
  border-top: 2px solid #000;
  font-family: inherit;
}
.class-detail-top-tbl th, .class-detail-top-tbl td {
  height: 35px;
  text-align: center;
  vertical-align: middle;
  border-bottom: 1px solid #ddd;
  box-sizing: border-box;
  font-weight:normal;
  font-size:14px
}
.class-detail-top-tbl th {

  color: #2490BF;
}
.class-detail-top-tbl td {
  color: #333;
  padding-left: 15px;
  text-align: left;
}

.class-detail-main-tbl {
  width: 100%;
  border-top: 2px solid #000;
  font-family: inherit;
}
.class-detail-main-tbl th, .class-detail-main-tbl td {
  height: 45px;
  text-align: center;
  vertical-align: middle;
  border-bottom: 1px solid #ddd;
  box-sizing: border-box;
}
.class-detail-main-tbl th {
  background: #EFEFEF;
  color: #000;
  font-size: 15px;
}
.class-detail-main-tbl td {
  color: #000;
  font-size: 15px;
  border-right: 1px solid #ddd;
}

.class-detail-main-tbl td.money {
  color:#BF0000;
  background-color:#FFFEF8;
  text-shadow: 0.2px 0px
}
.class-detail-main-tbl td:last-child {
  border-right: none;
}
.class-detail-main-tbl td.left {
  text-align: left;
  padding-left: 10px;
}
.class-detail-main-tbl td.center {
  text-align: center;
}
.class-detail-main-tbl td span.apply {
  color: #044f93;
}
.class-detail-main-tbl td span.cancle {
  color: #ce1717;
}
.class-detail-main-tbl td span.date {
  display: block;
  font-size: 12px;
  color: #ccc;
}
.class-detail-main-tbl td select {
  min-width: 200px;
  padding: 0 10px;
  box-sizing: border-box;
  border: 1px solid #e5e5e5;
  height: 40px;
}

.class-detail-main-tbl02 {
  margin: 5px 0;
  font-size: 14px;
  border-top: 2px solid #000;
  font-family: inherit;
  border-bottom: 1px solid #ddd;
}

.class-detail-main-tbl02 td span {

margin-top:10px;
}


.line_bottom {
  border-bottom: 1px solid #E7E7E7;
}


.class-detail-main-tbl01 {
  margin: 15px 0;
  font-size: 14px;
  width: 100%;
  border-top: 2px solid #000;
  font-family: inherit;
}
.class-detail-main-tbl01 th, .class-detail-main-tbl01 td {
  height: 50px;
  text-align: center;
  vertical-align: middle;
  border-bottom: 1px solid #ddd;
  box-sizing: border-box;
}
.class-detail-main-tbl01 th {
  background: #f5f5f5;
  color: #000;
  font-size: 16px;
}
.class-detail-main-tbl01 td {
  padding: 10px;
  box-sizing: border-box;
  color: #000;
  font-size: 14px;
  border-right: 1px solid #ddd;
  text-align: left;
}
.class-detail-main-tbl01 td:last-child {
  border-right: none;
}
.class-detail-main-tbl01 td.center {
  text-align: center;
}
.class-detail-main-tbl01 td.left {
  text-align: left;
}
.class-detail-main-tbl01 td.left a {
  text-align: left;
}
.class-detail-main-tbl01 td span.apply {
  color: #044f93;
}
.class-detail-main-tbl01 td span.cancle {
  color: #ce1717;
}
.class-detail-main-tbl01 td span.date {
  display: block;
  font-size: 11px;
  color: #747474;
  letter-spacing: -1px;
}
.class-detail-main-tbl01 td select {
  min-width: 300px;
  padding: 0 10px;
  box-sizing: border-box;
  border: 1px solid #e5e5e5;
  height: 40px;
}
.class-detail-main-tbl01 td a.certify-phone {
  display: inline-block;
  width: 110px;
  font-size: 11px;
  color: #fff;
  text-align: center;
  cursor: pointer;
  text-decoration: none;
  background: rgb(255, 94, 0);
  padding: 0 10px;
  height: 25px;
  line-height: 25px;
}
.class-detail-main-tbl01 td a.certify-ipin {
  display: inline-block;
  width: 110px;
  font-size: 11px;
  color: #fff;
  text-align: center;
  cursor: pointer;
  text-decoration: none;
  background: rgb(0, 149, 168);
  padding: 0 10px;
  height: 25px;
  line-height: 25px;
}
.class-detail-main-tbl01 td .modi-btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 0 10px;
  height: 40px;
  margin-left: 10px;
  background: #555;
  color: #fff;
  font-size: 14px;
  border: 0;
  font-family: inherit;
  cursor: pointer;
  text-decoration: none;
  box-sizing: border-box;
}
.class-detail-main-tbl01 td .modi-btn:hover {
  background: #3c3c3c;
}
.class-detail-main-tbl01 td input[type=text] {
  height: 40px;
  border: 1px solid #e5e5e5;
  padding: 0 10px;
}
.class-detail-main-tbl01 td .radio-wrap {
  display: flex;
  align-items: center;
}
.class-detail-main-tbl01 td .radio-wrap label {
  margin-left: 5px;
}
.class-detail-main-tbl01.class-room th {
  background: #fff;
  font-weight: 14px;
  border-right: 1px solid #ddd;
}
.class-detail-main-tbl01.class-room thead th {
  background: #f8f8f8;
  font-size: 15px;
}
.class-detail-main-tbl01.class-room tbody th {
  font-size: 14px;
  background: #f8f8f8;
}
.class-detail-main-tbl01.class-room tbody td {
  font-size: 13px;
}
.class-detail-main-tbl01.class-room span.certify {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 30px;
  color: #fff;
  padding: 0 10px;
  background: rgb(236, 28, 28);
  cursor: pointer;
}
.class-detail-main-tbl01.class-room span.certify:hover {
  background: #c51010;
}
.class-detail-main-tbl01.class-room span.enter {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 30px;
  color: #fff;
  padding: 0 10px;
  background: #044f93;
  cursor: pointer;
}
.class-detail-main-tbl01.class-room span.enter:hover {
  background: #033461;
}
.class-detail-main-tbl01.class-room span.certify-success {
  color: #044f93;
}
.class-detail-main-tbl01.layer tbody th {
  background: #f8f8f8;
  font-size: 14px;
}
.class-detail-main-tbl01.class-result thead th {
  background: #f8f8f8;
  font-size: 13px;
  letter-spacing: -1;
}
.class-detail-main-tbl01.class-result tbody td {
  padding: 3px;
  font-size: 13px;
  letter-spacing: -1;
  text-align: center;
}
.class-detail-main-tbl01.class-result a.review {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 30px;
  color: #fff;
  padding: 0 10px;
  background: rgb(14, 129, 158);
  cursor: pointer;
  text-decoration: none;
  box-sizing: border-box;
}
.class-detail-main-tbl01.class-result a.review:hover {
  background: #0a5b6f;
}
.class-detail-main-tbl01.class-result a.research {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 30px;
  color: #fff;
  padding: 0 10px;
  background: rgb(247, 109, 17);
  cursor: pointer;
  text-decoration: none;
  box-sizing: border-box;
}
.class-detail-main-tbl01.class-result a.research:hover {
  background: #ce5707;
}
.class-detail-main-tbl01.class-result a.link {
  text-shadow: 0.5px 0;
  color: #484f55;
  text-decoration: underline;
}
.class-detail-main-tbl01.ml-tbl th {
  background: #e5e5e5;
}
.class-detail-main-tbl01.ml-tbl th, .class-detail-main-tbl01.ml-tbl td {
  border-color: #c6c6c6;
  text-align: center;
  font-size: 12px;
  padding: 3px;
  height: 30px;
}
.class-detail-main-tbl01.ml-tbl th .red-t, .class-detail-main-tbl01.ml-tbl td .red-t {
  color: red;
  font-weight: bold;
}
.class-detail-main-tbl01.ml-tbl th .blue-t, .class-detail-main-tbl01.ml-tbl td .blue-t {
  color: #0c69aa;
  font-weight: bold;
}
.class-detail-main-tbl01.ml-tbl th.point, .class-detail-main-tbl01.ml-tbl td.point {
  background: #f0f8ff;
}
.class-detail-main-tbl01.ml-tbl tbody td {
  background: #fff;
}
.class-detail-main-tbl01.ml-tbl tbody td.left {
  text-align: left;
  padding-left: 15px;
}

.class-detail-tab {
  margin-top: 60px;
}
.class-detail-tab .class-detail-tab-title {
  height: 50px;
  border-top: 2px solid #3C3C3C;
  border-bottom: 1px solid #ddd;

}
.class-detail-tab .class-detail-tab-title ul {
  display: flex;
  height: 100%;
}
.class-detail-tab .class-detail-tab-title ul li {
  display: inline-flex;
  height: 100%;
  justify-content: center;
  align-items: center;
  width: 25%;
  border-right: 1px solid #ddd;
}
.class-detail-tab .class-detail-tab-title ul li span {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  width: 100%;
  height: 100%;
  color: #000;
  font-size: 18px;
  text-decoration: none;
}
.class-detail-tab .class-detail-tab-title ul li:last-child {
  border-right: none;
}
.class-detail-tab .class-detail-tab-title ul li.on {
  background: linear-gradient(90deg, rgb(13, 78, 150) 0%, rgb(12, 143, 198) 100%);
}
.class-detail-tab .class-detail-tab-title ul li.on span {
  color: #fff;
}
.class-detail-tab .class-detail-tab-title ul li:hover {
  background: linear-gradient(90deg, rgb(13, 78, 150) 0%, rgb(12, 143, 198) 100%);
}
.class-detail-tab .class-detail-tab-title ul li:hover span {
  color: #fff;
}
.class-detail-tab .class-detail-tabcontent {
  margin-top: 40px;
}
.class-detail-tab .class-detail-tabcontent .tabcon {
  display: none;
}
.class-detail-tab .class-detail-tabcontent .tabcon.on {
  display: block;
}


.class-detail-tab .class-detail-tabcontent .class-list li {
  display: flex;
  padding-bottom: 5px;
  margin-top: 10px;
  margin-bottom: 10px;
  border-bottom: 1px dotted #ccc;
}




.class-detail-tab .class-detail-tabcontent .class-list-subject li {
  display: flex;
  padding-top: 10px;
  padding-left: 5px;
  padding-bottom: 10px;
  padding-right: 5px;

  text-align:center;
  border-top: 1px solid #18609C;
  border-bottom: 1px dotted #ccc;
  background-color:#f7f7f7;
}
.class-detail-tab .class-detail-tabcontent .class-list-subject li span:nth-child(1) {
  display: inline-block;
  margin: 0 5px;
  color: #000;
  text-shadow: 0.5px 0;
  text-align:center
}
.class-detail-tab .class-detail-tabcontent .class-list-subject li span:nth-child(2) {
  color: #000;

}
.class-detail-tab .class-detail-tabcontent .class-list-subject li span:nth-child(3) {
  color: #000;
  margin-left: auto;
}



.class-detail-tab .class-detail-tabcontent .class-list li span:nth-child(1) {
  display: inline-block;
  margin: 0 5px;
  color: #044f93;
  text-shadow: 0.5px 0;
}
.class-detail-tab .class-detail-tabcontent .class-list li span:nth-child(2) {
  color: #333;

}
.class-detail-tab .class-detail-tabcontent .class-list li span:nth-child(3) {
  color: #999;
  margin-left: auto;
}

.summary {
  padding: 10px;
  background: #f3f9ff;
  color: #30415f;
  border: 1px solid #d2e4f8;
  box-sizing: border-box;
}

.summary02 {
  padding: 10px;
  margin: 5px 0;
  background: #f8f8f8;
  color: #555;
  border: 1px solid #e5e5e5;
  box-sizing: border-box;
}

.text-wrap {
  color: #444;
  padding-left: 20px;
}

.img-wrap {
  width: 100%; /*border:1px solid #e5e5e5;*/
}

.ul-st01 {
  padding-left: 20px;
}
.ul-st01 > li {
  position: relative;
  margin-bottom: 5px;
  padding-left: 15px;
  color: #444;
}
.ul-st01 > li:before {
  content: "";
  position: absolute;
  top: 7px;
  left: 0;
  display: block;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #2c72bd;
}
.ul-st01 > li > ul {
  background: #f5f5f5;
  padding: 15px 20px;
  margin: 10px;
  border-radius: 5px;
  box-sizing: border-box;
}
.ul-st01 > li span.red {
  display: inline-block;
  color: red;
}
.ul-st01 > li span.blue {
  display: inline-block;
  color: #195494;
}
.ul-st01.margin > li {
  margin-bottom: 25px;
}
.ul-st01.left-none {
  padding-left: 5px;
}
.ul-st01.left-none li {
  padding-left: 15px;
}
.ul-st01.dot-none li:before {
  display: none;
}
.ul-st01 div.sub-con {
  margin: 10px 0;
  background: #f8f8f8;
  padding: 15px;
  box-sizing: border-box;
}
.ul-st01 div.sub-con .title {
  display: inline-block;
  font-weight: bold;
  color: #044f93;
  margin-top: 20px;
}
.ul-st01 div.sub-con .title:first-child {
  margin-top: 0;
}
.ul-st01 div.sub-con ul {
  padding-left: 10px;
}
.ul-st01 div.sub-con ul li {
  color: #333333;
}

.ul-st02 {
  margin-top: 100px;
}
.ul-st02 h4.tit {
  text-align: center;
  color: #000;
  font-size: 18px;
}
.ul-st02 span.step {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background: #0b4e95;
  margin: 15px auto;
  color: #fff;
  font-size: 22px;
  font-weight: bold;
}
.ul-st02 div.con {
  margin: 10px 0;
  text-align: center;
}
.ul-st02 a.down-btn {
  margin: 0 auto;
  width: 250px;
}
.ul-st02 li {
  position: relative;
  margin-bottom: 100px;
  background: rgba(255, 255, 255, 0.7);
  box-sizing: border-box;
}
.ul-st02 li:last-child {
  margin-bottom: 0;
}
.ul-st02 li:last-child:after {
  display: none;
}
.ul-st02 li:nth-child(2n) span.step {
  color: #0b4e95;
  background: #fff;
  border: 4px solid #8dbaea;
  box-sizing: border-box;
}
.ul-st02.step {
  position: relative;
}
.ul-st02.step:before {
  content: "";
  position: absolute;
  right: 0;
  left: 0;
  margin: 0 auto;
  z-index: -1px;
  width: 30px;
  height: 100%;
  background: #f5f5f5;
  border-radius: 50px;
}

.ul-st03 {
  margin: 5px 0;
}
.ul-st03 > li {
  position: relative;
  padding-left: 10px;
  color: #444;
  list-style: none;
  font-size: 14px;
}
.ul-st03 > li:before {
  content: "-";
  position: absolute;
  top: 0;
  left: 0;
}
.ul-st03 > li > ul {
  background: #f5f5f5;
  padding: 15px 20px;
  margin: 10px;
  border-radius: 5px;
  box-sizing: border-box;
}
.ul-st03.margin > li {
  margin-bottom: 25px;
}

.ul-st05 {
  margin: 5px 0;
}
.ul-st05 > li {
  position: relative;
  padding-left: 10px;
  color: #444;
  list-style: none;
  font-size: 14px;
}
.ul-st05 > li:before {
  position: absolute;
  top: 0;
  left: 0;
}
.ul-st05 > li > ul {
  background: #f5f5f5;
  padding: 15px 20px;
  margin: 10px;
  border-radius: 5px;
  box-sizing: border-box;
}
.ul-st05.margin > li {
  margin-bottom: 25px;
}

.ul-st04 {
  margin: 20px 0;
}
.ul-st04 > li {
  position: relative;
  margin-bottom: 5px;
  padding-left: 10px;
  color: #444;
  list-style: none;
  font-size: 14px;
  border-bottom: 1px dotted #e5e5e5;
}
.ul-st04 > li > ul {
  background: #f5f5f5;
  padding: 15px 20px;
  margin: 10px;
  border-radius: 5px;
  box-sizing: border-box;
}
.ul-st04.margin > li {
  margin-bottom: 25px;
}

.ul-step {
  display: flex;
  justify-content: space-between;
}
.ul-step .con {
  width: 30%;
  height: 300px;
  padding: 20px;
  border: 1px solid #e5e5e5;
  box-sizing: border-box;
  border-radius: 10px;
  background: #f8f8f8;
}
.ul-step .con .tit {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-size: 18px;
  height: 50px;
  width: 100%;
  color: #fff;
  font-weight: bold;
}
.ul-step .con:nth-child(1) .tit {
  border: #0c91c9 2px solid;
  background: #fff;
  color: #0c91c9;
}
.ul-step .con:nth-child(2) .tit {
  border: #0c6ac9 2px solid;
  background: #fff;
  color: #0c6ac9;
}
.ul-step .con:nth-child(3) .tit {
  border: #214497 2px solid;
  background: #fff;
  color: #214497;
}

.caption {
  display: block;
  font-size: 12px;
  color: #9b9b9b;
}

.sub-tit01 {
  color: #2c72bd;
  font-size: 16px;
  font-weight: bold;
}

span.point {
  color: #0b4e95;
  font-weight: bold;
}
span.point.summary-top {
  display: block;
  color: #24476c;
  font-weight: normal;
  padding: 20px 25px;
  box-sizing: border-box;
  background: #f7f7f9;
  border: 2px solid #d2d6e8;
  line-height: 25px;
}

span.red {
  display: block;
  color: red;
  font-weight: bold;
}

a.tbl-link {
  display: inline-flex;
  margin: 3px 0;
  align-items: center;
  justify-content: center;
  height: 30px;
  padding: 0 20px;
  box-sizing: border-box;
  background: #0b4e95;
  font-size: 14px;
  width: auto;
  text-decoration: none;
  text-align: center;
  color: #fff;
  letter-spacing: -1px;
}

a.down-btn {
  display: flex;
  margin: 3px 0;
  align-items: center;
  justify-content: center;
  height: 30px;
  padding: 0 20px;
  background: #0b4e95;
  font-size: 14px;
  text-decoration: none;
  text-align: center;
  color: #fff;
}

/*company*/
.greeting {
  display: flex;
  position: relative;
}
.greeting span.br {
  display: inline-block;
}
.greeting .txt-wrap {
  position: absolute;
  right: 0;
  top: 100px;
  z-index: 99;
  width: 600px;
  padding: 50px 50px 120px 50px;
  background: url(/infile/img/sub/greeting-logobg.png) no-repeat right bottom #fff;
  box-sizing: border-box;
  border-radius: 30px;
  box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2);
}
.greeting .txt-wrap span.br {
  margin-bottom: 3px;
  font-size: 17px;
  color: #000;
}
.greeting .txt-wrap hr {
  border: none;
}
.greeting .txt-wrap .gp {
  font-size: 22px;
  color: #0d4d95;
  font-weight: bold;
}
.greeting .txt-wrap .gh {
  font-weight: bold;
  background: #ffdf7f;
}

/*tab*/
.sub-page-tit {
  font-size: 22px;
  border-bottom: 1px solid #999;
  padding-bottom: 10px;
  margin-bottom: 20px;
  color: #000;
}

.sub-tab {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.sub-tab li {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 280px;
  height: 50px;
  margin: 0 5px;
  margin-bottom: 10px;
  border: 1px solid #e5e5e5;
  box-sizing: border-box;
  cursor: pointer;
}
.sub-tab li.on {
  background: #0b417e;
  color: #fff;
}
.sub-tab li:hover {
  background: #0d4d95;
  color: #fff;
}

.sub-tab-content {
  margin-top: 50px;
}
.sub-tab-content > div {
  display: none;
}
.sub-tab-content > div.on {
  display: block;
}

.relation-law {
  border: 1px solid #e5e5e5;
  font-size: 13px;
  margin: 15px 0;
}
.relation-law .tit {
  display: block;
  font-size: 16px;
  color: #000;
  font-weight: bold;
  padding: 10px;
  box-sizing: border-box;
  background: #f8f8f8;
}
.relation-law .tit02 {
  display: block;
  margin-top: 30px;
  padding: 5px 0;
  font-size: 14px;
  color: #0b4e95;
  font-weight: bold;
  border-bottom: 1px solid #d5d8ee;
}
.relation-law .tit02.top-none {
  margin-top: 0;
  padding-top: 0;
}
.relation-law .tit02.mt0 {
  margin-top: 0;
}
.relation-law > .law-con {
  padding: 20px;
  box-sizing: border-box;
  color: #000;
}
.relation-law > .law-con.top-none {
  margin-top: 0;
  padding-top: 0;
}
.relation-law > .law-con .law-tit {
  font-size: 16px;
  color: #222;
  font-weight: bold;
  padding: 0;
  margin-top: 30px;
}
.relation-law > .law-con .law-tit:first-child {
  margin-top: 10px;
}
.relation-law > .law-con > ul {
  margin-top: 10px;
}
.relation-law > .law-con > ul > li > ul {
  box-sizing: border-box;
  background: #f8f8f8;
  margin: 5px 0;
  padding: 10px 20px;
  border-radius: 5px;
  color: #888;
}
.relation-law span.date {
  color: #999;
}

ul .relation-law {
  margin: 5px 0;
}

.law-tit {
  display: block;
  padding: 5px 0;
  font-size: 14px;
  color: #222;
  font-weight: bold;
}

.law-con {
  color: #333;
  margin-top: 20px;
}
.law-con.mt0 {
  margin-top: 0;
}

/*calendar */
.ko-cal-tbl-top {
  position: relative;
  display: inline-flex;
  width: 100%;
  justify-content: center;
  padding: 15px 0;
  box-sizing: border-box;
}
.ko-cal-tbl-top .cal-paging {
  display: flex;
  align-items: center;
}
.ko-cal-tbl-top .cal-paging .month-tit {
  display: inline-block;
  padding: 0 15px;
  font-size: 16px;
  color: #000;
  font-weight: bold;
}
.ko-cal-tbl-top .cal-paging a.btn {
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 30px;
  height: 30px;
  border: 1px solid #e5e5e5;
  box-sizing: border-box;
  font-size: 0;
}
.ko-cal-tbl-top .cal-paging a.btn.prev:before {
  position: absolute;
  right: 0;
  left: 0;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  font-size: 17px;
  margin: 0 auto;
  padding-top: 3px;
  content: "<";
}
.ko-cal-tbl-top .cal-paging a.btn.next:before {
  position: absolute;
  right: 0;
  left: 0;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  font-size: 17px;
  margin: 0 auto;
  padding-top: 3px;
  content: ">";
}
.ko-cal-tbl-top .today {
  position: absolute;
  right: 0;
  top: 15px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 30px;
  padding: 0 10px;
  border: 1px solid #e5e5e5;
  color: #555;
  font-size: 12px;
  text-decoration: none;
}

.ko-cal-tbl {
  font-size: 14px;
  width: 100%;
  border: 1px solid #e5e5e5;
  margin-top: 15px;
}
.ko-cal-tbl thead th {
  height: 40px;
  border-right: 1px solid #e5e5e5;
  border-bottom: 1px solid #e5e5e5;
  vertical-align: middle;
  color: #000;
}
.ko-cal-tbl thead th:last-child {
  border-right: 0;
}
.ko-cal-tbl thead th:first-child {
  background: #ffefef;
}
.ko-cal-tbl thead th:last-child {
  background: #eff1ff;
}
.ko-cal-tbl thead td {
  border-right: 1px solid #e5e5e5;
}
.ko-cal-tbl thead td:last-child {
  border-right: 0;
}
.ko-cal-tbl tbody td {
  border-right: 1px solid #e5e5e5;
  border-bottom: 1px solid #e5e5e5;
}
.ko-cal-tbl tbody td:last-child {
  border-right: 0;
}
.ko-cal-tbl tbody td div.day .tit {
  display: inline-flex;
  width: 100%;
  justify-content: center;
  align-items: center;
  height: 25px;
  background: #f7f7f7;
}
.ko-cal-tbl tbody td div.day .tit .today {
  color: red;
  font-size: 13px;
  display: inline-block;
  padding: 0 5px;
}
.ko-cal-tbl tbody td div.day .con {
  min-height: 90px;
  background: #fff;
}

.mission-wrap .text-wrap {
  display: block;
  padding-left: 0;
  text-align: center;
  color: #222;
  font-size: 17px;
  line-height: 26px;
  padding: 30px 0;
}
.mission-wrap span.point {
  display: block;
  padding-top: 20px;
  font-weight: bold;
  text-align: center;
  font-size: 20px;
  color: #0c91c8;
  margin-bottom: 10px;
}
.mission-wrap .vision-list {
  display: flex;
  width: 100%;
  justify-content: space-around;
  margin: 80px 0;
}
.mission-wrap .vision-list li {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 150px;
  height: 150px;
  background: #265070;
  border-radius: 50%;
}
.mission-wrap .vision-list li span {
  color: #fff;
  font-size: 20px;
}
.mission-wrap .vision-list li:nth-child(2n) {
  background: #ddeaf5;
}
.mission-wrap .vision-list li:nth-child(2n) span {
  color: #265070;
}

.history-wrap > img {
  display: block;
  margin: 0 auto;
  text-align: center;
}
.history-wrap .main-his {
  position: relative;
  width: 100%;
  text-align: center;
  margin-top: 30px;
}
.history-wrap .main-his::after {
  z-index: -2;
  content: "";
  position: absolute;
  right: 0;
  left: 0;
  top: 0;
  width: 3px;
  height: 100%;
  margin: 0 auto;
  background: #eaeaea;
}
.history-wrap .main-his span.yea {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-size: 24px;
  font-weight: bold;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  border: 6px solid #bad3f2;
  box-sizing: border-box;
  color: #245693;
  background: #fff;
  font-weight: bold;
  line-height: 27px;
}
.history-wrap .main-his > li {
  margin-bottom: 50px;
}
.history-wrap .sub-his {
  padding: 20px 0;
}
.history-wrap .sub-his li {
  padding-right: 40px;
  position: relative;
  width: 50%;
  text-align: right;
  box-sizing: border-box;
  font-size: 18px;
  color: #000;
  border-bottom: 1px dotted #98bce1;
  margin-top: 50px;
}
.history-wrap .sub-his li:nth-child(2n) {
  padding-left: 40px;
  text-align: left;
  margin-left: 50%;
  margin-top: 50px;
}
.history-wrap .sub-his li:nth-child(2n):before {
  position: absolute;
  left: -10px;
  width: 20px;
  top: 18px;
  height: 20px;
  background: #abcff5;
  border-radius: 50%;
  content: "";
}
.history-wrap .sub-his li:nth-child(2n) .month {
  display: inline-block;
  color: #0a4d91;
  font-weight: bold;
  font-size: 20px;
  padding: 0 10px;
  box-sizing: border-box;
  float: left;
}
.history-wrap .sub-his li:before {
  position: absolute;
  right: -10px;
  width: 20px;
  top: 18px;
  height: 20px;
  background: #044f93;
  border-radius: 50%;
  content: "";
}
.history-wrap .sub-his li .month {
  display: inline-block;
  color: #0a4d91;
  font-weight: bold;
  font-size: 20px;
  padding: 0 10px;
  box-sizing: border-box;
  float: right;
}

.address-info {
  margin-top: 30px;
  border-top: 2px solid #5da0cc;
}
.address-info li {
  display: flex;
  height: 50px;
  border-bottom: 1px solid #e5e5e5;
}
.address-info li .tit {
  font-size: 16px;
  color: #2885c2;
  font-weight: normal;
  width: 100px;
  text-align: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.address-info li .con {
  padding-left: 20px;
  display: inline-flex;
  align-items: center;
  color: #000;
}

.trans-wrap {
  margin-top: 30px;
  background: #f2f5f7;
  border-radius: 10px;
  padding: 20px;
}
.trans-wrap h3 {
  margin-bottom: 15px;
  color: #2e6e99;
  font-size: 18px;
}
.trans-wrap .trans li {
  margin-bottom: 5px;
  margin-top: 10px;
  border-bottom: 1px dotted #a6b6c2;
  padding-bottom: 10px;
}
.trans-wrap .trans li > div {
  display: flex;
  align-items: center;
}
.trans-wrap .trans li > div > span {
  font-size: 0;
  display: block;
  width: 60px;
  height: 60px;
  background: #dae5ec;
  margin-right: 20px;
  border-radius: 50%;
}
.trans-wrap .trans li > div > span.bus-icon {
  background: url(/infile/img/sub/bus-icon.png) #dae5ec no-repeat center;
}
.trans-wrap .trans li > div > span.metro-icon {
  background: url(/infile/img/sub/metro-icon.png) #dae5ec no-repeat center;
}
.trans-wrap .trans li > div > div .tit {
  display: block;
  width: 100px;
  font-weight: bold;
  color: #333;
}
.trans-wrap .trans li > div > div .con {
  display: inline-block;
  font-weight: lighter;
  color: #555;
  margin-top: 5px;
}

.general ul > li {
  padding-left: 10px;
}
.general ul > li > ul {
  margin: 10px 0;
  padding: 10px;
  box-sizing: border-box;
  background: #f5f5f5;
}

.privacy-notice .ko-sub-tit {
  display: block;
  border-bottom: 1px dotted #8a8a8a;
  margin-bottom: 10px;
}
.privacy-notice .title05 {
  display: block;
  color: #333;
  margin: 20px 0 5px 0;
  font-weight: bold;
}
.privacy-notice .ul-st01 {
  padding-left: 0;
}

.stu-attention .list-box {
  border: 1px solid #e5e5e5;
  box-sizing: border-box;
  padding: 20px;
  box-sizing: border-box;
}
.stu-attention .title {
  color: rgb(13, 78, 150);
  text-align: center;
  padding: 40px 0 10px 0;
  font-weight: bold;
}
.stu-attention .title02 {
  color: rgb(13, 78, 150);
  text-align: left;
  padding: 40px 0 10px 0;
  font-weight: bold;
}
.stu-attention .ul-st05 li {
  margin-bottom: 5px;
}
.stu-attention .ul-st01 {
  padding-left: 0;
}
.stu-attention .sub-ul {
  padding-left: 15px;
  font-size: 13px;
}

.login-wrap {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
}

.login-con-wrap {
  margin: 1px auto;
  text-align: center;
  padding-top: 120px;
  padding-bottom: 50px;
}

.login-tit {
  position: relative;
  padding: 50px 0 20px 0;
  box-sizing: border-box;
  font-size: 30px;
  font-weight: bold;
  color: #333;
  text-align: center;
}

.login-tit-sub {
  position: relative;
  padding: 30px 0 0px 0;
  box-sizing: border-box;
  font-size: 18px;
  font-weight: normal;
  color: #5D5D5D;
  text-align: center;
}

.login-tit span {
  color: #0e63b3;
}
.login-tit:after {
  content: "";
  position: absolute;
  display: inline-block;
  right: 0;
  left: 0;
  margin: 0 auto;
  width: 50px;
  height: 4px;
  background: #0e63b3;
  bottom: -10px;
}

.login-box {
  max-width: 500px;
  width: 100%;
  height: 340px;
  margin: 50px auto 0;
  border: 1px solid #d6d6d6;
  padding: 50px;
  box-sizing: border-box;
}
.login-box input {
  height: 40px;
  box-sizing: border-box;
  border: 0;
  border-bottom: 2px solid #000;
  width: 100%;
  font-family: inherit;
}

.login-box02 {
  max-width: 560px;
  width: 100%;
  height: 340px;
  margin: 50px auto 0;

  padding: 5px;
  box-sizing: border-box;
}
.login-box02 input {
            width: 560px;
            height: 65px;
            border: 1px solid #DBDBDB;
            border-radius: 10px; /* 둥근 테두리 */
            background-color: #ffffff; /* 흰색 배경 */
            padding: 10px;
            font-size: 16px;
            box-sizing: border-box; /* 패딩 포함 크기 조정 */
}

#save_id {
   border-radius: 10px; /* 둥근 테두리 */
   background-color: #ffffff; /* 흰색 배   */
}

a.login-btn {
  width: 100%;
  height: 50px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  text-decoration: none;
  font-size: 18px;
  background: #044f93;
  transition: all 0.2s;
  border-radius: 5px;
}
a.login-btn:hover {
  background: #033461;
  transition: all 0.2s;
}

a.login-btn02 {
  width: 100%;
  height: 70px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-family: 'NanumSquareBold';
  font-size: clamp(20px, 1.6949152542vw, 20px);
  font-weight:500;
  color: #fff;
  text-decoration: none;
  background: #044f93;
  transition: all 0.2s;
  border-radius: 5px;
}
a.login-btn02:hover {
  background: #033461;
  transition: all 0.2s;
}

.login-list li {
  margin-bottom: 10px;
}

.login-list li input{
  font-family: 'NanumBarunGothic';
  font-size: clamp(16px, 1.6949152542vw, 16px);
  font-weight:300;
}


.login-bottom {
  display: flex;
  justify-content: space-between;
}
.login-bottom .save-chk {
  display: flex;
  align-items: center;
  font-family: 'NanumBarunGothic';
  font-size: clamp(12px, 1.6949152542vw, 12px);
  color: #3C3C3C;
  font-weight:300;
  margin-top:-15px
}
.login-bottom .save-chk input {
  width: 16px;
  height: 16px;
}
.login-bottom .login-bottom-menu {
  display: inline-flex;
  margin-top:20px;
}
.login-bottom .login-bottom-menu li {
  margin: 0 10px;
  position: relative;
  font-family: 'NanumBarunGothic';
  font-size: clamp(16px, 1.6949152542vw, 16px);
}
.login-bottom .login-bottom-menu li.join a {
  color: #044f93;
  font-family: 'NanumBarunGothic';
  font-size: clamp(16px, 1.6949152542vw, 16px);
}
.login-bottom .login-bottom-menu li.join:after {
  display: none;
}
.login-bottom .login-bottom-menu li:last-child {
  padding-right: 0;
}
.login-bottom .login-bottom-menu li:first-child:after {
  display: none;
}
.login-bottom .login-bottom-menu li:after {
  position: absolute;
  top: 4px;
  left: -11px;
  content: "";
  height: 15px;
  width: 1px;
  background: #d4d4d4;
}
.login-bottom.first {
  justify-content: flex-end;
  padding: 15px 0 35px 0;
}

.join-tit {
  position: relative;
  padding: 50px 0 20px 0;
  box-sizing: border-box;
  font-size: 30px;
  font-weight: bold;
  color: #333;
  text-align: center;
}
.join-tit span {
  color: #0e63b3;
}
.join-tit:after {
  content: "";
  position: absolute;
  display: inline-block;
  right: 0;
  left: 0;
  margin: 0 auto;
  width: 50px;
  height: 4px;
  background: #0e63b3;
  bottom: -10px;
}

.join-con-wrap .summary {
  background: #fff;
  border-color: transparent;
  text-align: center;
}
.join-con-wrap .mt50 {
  margin-top: 50px;
}

.join-con-wrap .buga_line {
   border-top: 1px solid #ebebeb;
}

.join-con-wrap .certi-list {
  display: flex;
}
.join-con-wrap .certi-list li {
  display: flex;
  justify-content: center;
  width: 50%;
  margin: 0 auto;
  padding: 50px 0;
}
.join-con-wrap .certi-list li div {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #f3f3f3;
  width: 300px;
  height: 300px;
  border-radius: 50%;
  transition: all 0.2s;
  cursor: pointer;
}
.join-con-wrap .certi-list li div.phone {
  background: url(/infile/img/sub/phone.png) #f2faff center 68px no-repeat;
}
.join-con-wrap .certi-list li div.cert {
  background: url(/infile/img/sub/cert.png) #f2faff center 68px no-repeat;
}
.join-con-wrap .certi-list li div.pin {
  background: url(/infile/img/sub/ipin.png) #f2faff center 78px no-repeat;
}
.join-con-wrap .certi-list li div.success {
  background: url(/infile/img/sub/success.png) #f2faff center 78px no-repeat;
}
.join-con-wrap .certi-list li div span.title {
  padding-top: 130px;
  font-size: 20px;
  color: #044f93;
  text-align: center;
  text-shadow: 1px 0;
}
.join-con-wrap .certi-list li div em {
  display: block;
  margin: 10px 0;
  font-size: 13px;
  font-size: 13px;
  font-style: normal;
  color: #777;
}
.join-con-wrap .certi-list li div:hover {
  background-color: #d9f0ff;
  transition: all 0.2s;
}
.join-con-wrap .warning {
  display: block;
  color: rgb(214, 59, 59);
}
.join-con-wrap .bottom-btn-wrap {
  display: flex;
  justify-content: center;
  margin: 50px 0;
}
.join-con-wrap .bottom-btn-wrap .join-cancle {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 200px;
  height: 50px;
  background: #044f93;
  margin: 0 auto;
  text-decoration: none;
  font-size: 18px;
  color: #fff;
  text-align: center;
  transition: all 0.2s;
  border-radius: 5px;
}
.join-con-wrap .bottom-btn-wrap .join-cancle:hover {
  background: #033461;
  transition: all 0.2s;
}
.join-con-wrap .bottom-btn-wrap .join-ok {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 200px;
  height: 50px;
  background: #044f93;
  margin: 0 auto;
  text-decoration: none;
  font-size: 18px;
  color: #fff;
  text-align: center;
  transition: all 0.2s;
  border-radius: 5px;
}
.join-con-wrap .bottom-btn-wrap .join-ok:hover {
  background: #033461;
  transition: all 0.2s;
}
.join-con-wrap .bottom-btn-wrap .enter {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 200px;
  height: 50px;
  background: #044f93;
  margin: 0 auto;
  text-decoration: none;
  font-size: 18px;
  color: #fff;
  text-align: center;
  transition: all 0.2s;
  border-radius: 5px;
}
.join-con-wrap .bottom-btn-wrap .enter:hover {
  background: #033461;
  transition: all 0.2s;
}
.join-con-wrap .bottom-btn-wrap .join-next {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 200px;
  height: 50px;
  background: #044f93;
  margin: 0 5px;
  text-decoration: none;
  font-size: 18px;
  color: #fff;
  text-align: center;
  transition: all 0.2s;
  border-radius: 5px;
}
.join-con-wrap .bottom-btn-wrap .join-next:hover {
  background: #033461;
  transition: all 0.2s;
}
.join-con-wrap .bottom-btn-wrap .join-prev {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 200px;
  height: 50px;
  background: #f5f5f5;
  margin: 0 5px;
  text-decoration: none;
  font-size: 18px;
  color: #333;
  text-align: center;
  transition: all 0.2s;
  border-radius: 5px;
}
.join-con-wrap .bottom-btn-wrap .join-prev:hover {
  background: gainsboro;
  transition: all 0.2s;
}
.join-con-wrap .info-box {
  margin: 30px 0;
  padding: 20px 30px;
  border: 1px solid #e5e5e5;
  box-sizing: border-box;
}

.join-con-wrap .join-step {
  display: flex;
  width: 100%;
  margin: 80px 0 40px 0;
}
.join-con-wrap .join-step li {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 25%;
  height: 60px;
  margin: 0 5px;
  background: #f5f5f5;
}
.join-con-wrap .join-step li a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  color: #777;
  font-size: 18px;
  text-decoration: none;
  text-shadow: 0.5px 0;
}
.join-con-wrap .join-step li.active {
  background: #293e52;
}
.join-con-wrap .join-step li.active a {
  color: #fff;
  text-shadow: 1px 0;
  text-shadow: none;
}
.join-con-wrap .agree-form {
  margin: 20px;
  padding: 20px;
  border: 1px solid #e5e5e5;
}
.join-con-wrap .agree-form ul li {
  padding-bottom: 10px;
  margin-bottom: 10px;
  border-bottom: 1px solid #e5e5e5;
}
.join-con-wrap .agree-form ul li span.form-title {
  display: flex;
  justify-content: space-between;
}
.join-con-wrap .agree-form ul li span.form-title .top {
  display: flex;
  align-items: center;
  border-bottom : 1px solid #DADADA;
}
.join-con-wrap .agree-form ul li span.form-title .top label {
  display: inline-block;
  margin: 0 10px;
  color: #333;
  text-shadow: 0.1px 0;
  font-size: 16px;

}
.join-con-wrap .agree-form ul li span.form-title .top label em {
  display: inline-block;
  margin: 0 5px;
  font-style: normal;
  font-weight: normal;
  text-shadow: none;
  font-size:14px;
  color: red;
}
.join-con-wrap .agree-form ul li span.form-title .top label em.normal {
  font-weight: normal;
  color: #044f93;
}
.join-con-wrap .agree-form ul li span.form-title span.plus {
  cursor: pointer;
}
.join-con-wrap .agree-form ul li span.form-title span.plus::before {
  content: "+";
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 30px;
  height: 30px;
  color: #8d8d8d;
  font-size: 25px;
}
.join-con-wrap .agree-form ul li div.form-content {
  margin: 20px 0;
  height: 300px;
  overflow-y: scroll;
  background: #f5f5f5;
  padding: 30px;
  box-sizing: border-box;
  font-size: 13px;
  color: #555;
}
.join-con-wrap .agree-form ul li:last-child {
  border-bottom: none;
}
.join-con-wrap .all-chk-agree {
  display: flex;
  justify-content: center;
  margin-top: 30px;
  padding-top: 20px;
  font-size: 16px;
  border-top: 1px dotted #555;
}
.join-con-wrap .all-chk-agree > div {
  display: flex;
}
.join-con-wrap .all-chk-agree > div label {
  text-shadow: 0.5px 0;
  color: #044f93;
  display: inline-block;
  margin: 0 10px;
}
.join-con-wrap .all-chk-agree span {
  color: #000000;
}

.join-form {
  margin-top: 20px;
  border-top: 2px solid #333;
}
.join-form ul li {
  display: flex;
  height: 50px;
  font-size: 15px;
  border-bottom: 1px dotted #ccc;
}
.join-form ul li.h-auto {
  height: auto !important;
}
.join-form ul li.content > div {
  padding-top: 5px;
  padding-bottom: 5px;
  box-sizing: border-box;
}

.join-form ul li.content > div textarea {
  padding: 10px;
  box-sizing: border-box;
  width: 100%;
  min-height: 300px;
  border: 1px solid #e5e5e5;
}

.join-form ul li.content_reply > div {
  padding: 10px 20px;
  box-sizing: border-box;
}
.join-form ul li.content_reply > div textarea {
  padding: 10px;
  box-sizing: border-box;
  width: 100%;
  min-height: 300px;
  border: 1px solid #e5e5e5;
  background-color:#ff0000;
}

.join-form ul li > span {
  display: inline-flex;
  width: 200px;
  justify-content: center;
  align-items: center;
  color: #222;
  font-size: 15px;
  font-weight: bold;
  background: #f8f8f8;
}

.join-form ul li.content_reply > span {

  background: #EFEFEF;
}

.join-form ul li > span em {
  color: red;
}
.join-form ul li > div {
  display: inline-flex;
  width: 100%;
  justify-content: flex-start;
  align-items: center;
  color: #222;
  font-size: 14px;
  padding-left: 20px;
}
.join-form ul li > div em {
  display: inline-block;
  margin: 0 15px;
  font-size: 13px;
  color: #a5a5a5;
}


.join-form ul li > div input[type=text], .join-form ul li > div select {
  height: 40px;
  margin-right: 10px;
  border-color: #e5e5e5;
  padding-left: 10px;
  border: 1px solid #e5e5e5;
  box-sizing: border-box;
  font-family: inherit;
}
.join-form ul li > div select {
  padding: 0 56px 0 10px;
}

.join-form ul li > div input[type=password] {
  height: 40px;
  margin-right: 10px;
  border-color: #e5e5e5;
  padding-left: 10px;
  border: 1px solid #e5e5e5;
  box-sizing: border-box;
  font-family: inherit;
}



.join-form ul li > div .phone-wrap input[type=text] {
  width: 80px;
  height: 40px;
  border-color: #e5e5e5;
  padding-left: 10px;
  border: 1px solid #e5e5e5;
  box-sizing: border-box;
  font-family: inherit;
}
.join-form .join-confirm {
  height: 40px;
  background: #555;
  color: #fff;
  font-size: 14px;
  border: 0;
  margin-left: 10px;
  width: 90px;
  font-family: inherit;
  cursor: pointer;
}
.join-form .join-confirm:hover {
  background: #3c3c3c;
}


.join-form .join-confirm02 {
  height: 30px;
  background: #555;
  color: #fff;
  font-size: 14px;
  border: 0;
  margin-left: 10px;
  width: 90px;
  font-family: inherit;
  cursor: pointer;
  text-align:center;
  line-height:30px;
}
.join-form .join-confirm02:hover {
 
  background: #3c3c3c;
}



.join-form .chk-wrap {
  display: flex;
  align-items: center;
}
.join-form .chk-wrap input {
  margin: 0;
}
.join-form .chk-wrap label {
  display: inline-block;
  margin: 0 5px;
  color: #333;
  font-size: 14px;
}
.join-form .radio-all-wrap {
  display: flex;
  align-items: center;
}
.join-form .radio-wrap {
  display: flex;
  align-items: center;
  margin: 0 5px;
}
.join-form .radio-wrap input {
  margin: 0;
}
.join-form .radio-wrap label {
  display: inline-block;
  margin: 0 5px;
  color: #333;
  font-size: 14px;
}

.join-success {
  text-align: center;
  margin: 30px 0 60px 0;
}
.join-success span {
  display: block;
  font-size: 25px;
  text-shadow: 1px 0;
  text-align: center;
  color: #333;
}
.join-success em {
  display: block;
  margin: 10px 0;
  font-style: normal;
  font-size: 16px;
  text-align: center;
}

.tbl-caption {
  text-align: left;
}
.tbl-caption span {
  color: #044f93;
  text-shadow: 0.5px 0;
}

.ko-board-list {
  width: 100%;
  margin-top: 10px;
  border-top: 2px solid #000;
  font-family: inherit;
}
.ko-board-list thead th {
  height: 50px;
  background: #f8f8f8;
  text-align: center;
  vertical-align: middle;
  border-bottom: 1px solid #ddd;
  box-sizing: border-box;
}
.ko-board-list thead th.title {
  font-size: 16px;
  background: #fff;
}
.ko-board-list thead th.title input {
  height: 40px;
  width: 100%;
  padding-left: 10px;
  box-sizing: border-box;
  border: 1px solid #e5e5e5;
  font-family: inherit;
  font-size: 16px;
}
.ko-board-list thead td {
  height: 50px;
  padding-left: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ko-board-list thead td input[type=text] {
  height: 40px;
  border: 1px solid #e5e5e5;
}
.ko-board-list thead td .status-btn.ready {
  display: inline-flex;
  width: auto;
  margin: 3px 0;
  align-items: center;
  justify-content: center;
  height: 30px;
  padding: 0 20px;
  background: #878787;
  font-size: 14px;
  text-decoration: none;
  text-align: center;
  color: #fff;
}
.ko-board-list thead td .status-btn.hold {
  display: inline-flex;
  width: auto;
  margin: 3px 0;
  align-items: center;
  justify-content: center;
  height: 30px;
  padding: 0 20px;
  background: #BF0000;
  font-size: 14px;
  text-decoration: none;
  text-align: center;
  color: #fff;
}

.ko-board-list thead td .status-btn.finished {
  display: inline-flex;
  width: auto;
  margin: 3px 0;
  align-items: center;
  justify-content: center;
  height: 30px;
  padding: 0 20px;
  background: #0b4e95;
  font-size: 14px;
  text-decoration: none;
  text-align: center;
  color: #fff;
}
.ko-board-list thead .board-view-head {
  height: 50px;
  font-size: 14px;
}
.ko-board-list thead .board-view-head ul {
  display: flex;
  height: 50px;
  align-items: center;
  justify-content: space-between;
}
.ko-board-list tbody {
  border-top: 1px solid #ddd;
}
.ko-board-list tbody tr.vital-area {
  background: #f7fbff;
}
.ko-board-list tbody td {
  height: 50px;
  color: #555;
  font-size: 14px;
  border-bottom: 1px solid #ddd;
  text-align: center;
  vertical-align: middle;
}
.ko-board-list tbody td a.staus-btn {
  display: inline-flex;
  width: auto;
  margin: 3px 0;
  align-items: center;
  justify-content: center;
  height: 30px;
  padding: 0 20px;
  background: #0b4e95;
  font-size: 14px;
  text-decoration: none;
  text-align: center;
  color: #fff;
}
.ko-board-list tbody td:last-child {
  border-right: none;
}
.ko-board-list tbody td.left {
  text-align: left;
}
.ko-board-list tbody td span.vital {
  color: #044f93;
  text-shadow: 0.5px 0;
}
.ko-board-list tbody td a {
  color: #000;
  overflow: hidden;
  width: 500px;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.ko-board-list tbody td .status-btn.ready {
  display: inline-flex;
  width: auto;
  margin: 3px 0;
  align-items: center;
  justify-content: center;
  height: 30px;
  padding: 0 20px;
  background: #878787;
  font-size: 14px;
  text-decoration: none;
  text-align: center;
  color: #fff;
}
.ko-board-list tbody td .status-btn.finished {
  display: inline-flex;
  width: auto;
  margin: 3px 0;
  align-items: center;
  justify-content: center;
  height: 30px;
  padding: 0 20px;
  background: #0b4e95;
  font-size: 14px;
  text-decoration: none;
  text-align: center;
  color: #fff;
}
.ko-board-list tbody .board-view-content {
  text-align: left;
  padding: 20px 0;
  box-sizing: border-box;
}

.ko-board-list tbody .board-view-content img{
 width:100%;
}

.ko-board-list tbody .board-view-content pre {
  font-family: inherit;
}
.ko-board-list tbody .board-view-content textarea {
  width: 100%;
  height: 100%;
  background: #fff;
  min-height: 500px;
  max-height: 500px;
  padding: 10px;
  margin: 0;
  box-sizing: border-box;
  border: 1px solid #e5e5e5;
  font-family: inherit;
}

.paging {
  display: flex;
  justify-content: center;
  margin: 40px 0;
}
.paging span {
  border: 1px solid #e5e5e5;
  margin: 0 5px;
  width: 30px;
  height: 30px;
  background: #f5f5f5;
  font-size: 0;
  cursor: pointer;
}
.paging span.prev {
  position: relative;
}
.paging span.prev:after {
  content: "<";
  position: absolute;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 32px;
  margin: 0 auto;
  font-size: 15px;
  font-family: serif;
  font-weight: bold;
  color: #96a0a9;
}
.paging span.next {
  position: relative;
}
.paging span.next:after {
  content: ">";
  position: absolute;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 32px;
  margin: 0 auto;
  font-size: 15px;
  font-family: serif;
  font-weight: bold;
  color: #96a0a9;
}
.paging ul {
  display: inline-flex;
}
.paging ul li {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #e5e5e5;
  width: 30px;
  height: 30px;
  margin: 0 3px;
}
.paging ul li a {
  display: block;
  width: 100%;
  height: 100%;
  text-align: center;
  text-decoration: none;
  height: 19px;
}
.paging ul li.active {
  background: #044f93;
}
.paging ul li.active a {
  color: #fff;
  text-shadow: 0.3px 0;
}

.tbl-bottom-search {
  display: flex;
  justify-content: center;
}
.tbl-bottom-search .search-wrap {
  display: flex;
  align-items: center;
  padding: 10px 20px;
  box-sizing: border-box;
  width: 408px;
  border: 1px solid #e5e5e5;
}
.tbl-bottom-search .search-wrap select {
  height: 30px;
  width: 50px;
  border: none;
  margin-right: 10px;
  font-family: inherit;
}
.tbl-bottom-search .search-wrap input {
  height: 30px;
  border: none;
  width: 250px;
  font-family: inherit;
}
.tbl-bottom-search .search-wrap button {
  height: 30px;
  padding: 0 10px;
  font-size: 13px;
  cursor: pointer;
  background: #333;
  border: 0;
  color: #fff;
  font-family: inherit;
}
.tbl-bottom-search .search-wrap button:hover {
  background: #000;
}

.board-btn-wrap {
  display: flex;
  justify-content: flex-end;
  margin: 50px 0;
}
.board-btn-wrap a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  color: #555;
  text-decoration: none;
  font-size: 14px;
  margin: 0 3px;
  border: 1px solid #d5d5d5;
  border-radius: 3px;
  height: 30px;
  padding: 0 10px;
}
.board-btn-wrap a.board-modify {
  background: #044f93;
  border-color: #044f93;
  color: #fff;
}

.board-btn-wrap a.board-delete {
  background: #FF0000;
  border-color: #FF0000;
  color: #fff;
}

.board-btn-wrap a.enter-btn {
  background: #044f93;
  border-color: #044f93;
  color: #fff;
}

.layer-pop-certify {
  position: absolute;
  right: 0;
  top: 100%;
  z-index: 9999;
  text-align: center;
  width: 100%;
  height: 100%;
  color: #333;
  width: 500px;
  height: auto;
  padding: 20px;
  background: #fff;
  box-sizing: border-box;
  border: 2px solid #555;
  box-sizing: border-box;
}
.layer-pop-certify .ul-st01 {
  padding-left: 0;
}
.layer-pop-certify .ul-st01 li {
  padding-left: 15px;
  font-size: 13px;
  letter-spacing: -1px;
  text-align: left;
}
.layer-pop-certify span.title {
  display: block;
  text-shadow: 1px 0;
  text-align: left;
  color: #044f93;
}
.layer-pop-certify .mobile-certify {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 0 15px;
  height: 40px;
  background: #434452;
  text-align: center;
  margin: 15px 0;
  color: #fff;
  text-decoration: none;
  transition: all 0.2s;
}
.layer-pop-certify .mobile-certify:hover {
  background: #2c2d36;
  transition: all 0.2s;
}

.bottom-btn-wrap {
  display: flex;
  justify-content: center;
  margin: 50px 0;
}
.bottom-btn-wrap .enter {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 200px;
  height: 50px;
  background: #044f93;
  text-decoration: none;
  font-size: 18px;
  color: #fff;
  text-align: center;
  transition: all 0.2s;
  border-radius: 5px;
  margin: 0 10px;
}
.bottom-btn-wrap .enter:hover {
  background: #033461;
  transition: all 0.2s;
}
.bottom-btn-wrap .cancle {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 200px;
  height: 50px;
  background: #ebebeb;
  text-decoration: none;
  font-size: 18px;
  color: #666;
  text-align: center;
  transition: all 0.2s;
  border-radius: 5px;
  margin: 0 10px;
}
.bottom-btn-wrap .cancle:hover {
  background: #d2d2d2;
  transition: all 0.2s;
}

.mt50 {
  margin-top: 50px;
}



.faq-menu {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.faq-menu li {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 280px;
  height: 50px;
  margin: 0 5px;
  margin-bottom: 10px;
  border: 1px solid #e5e5e5;
  box-sizing: border-box;
  cursor: pointer;
}
.faq-menu li.on {
  background: #0b417e;
  color: #fff;
}
.faq-menu li:hover {
  background: #0d4d95;
  color: #fff;
}

.faq-wrap .faq-list li .question-wrap {
  display: flex;
  align-items: center;
  height: 80px;

  font-size: 16px;
  text-shadow: 0px 0;
}
.faq-wrap .faq-list li .question-wrap .mark {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  background: #044f93;
  margin: 0 20px;
  font-size: 18px;
  color: #fff;
  border-radius: 50%;
}
.faq-wrap .faq-list li .question-wrap .cate {
  width: 100px;
  text-align: center;
  color: #044f93;

}
.faq-wrap .faq-list li .question-wrap .arrow {
  cursor: pointer;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  margin-left: auto;
  font-size: 20px;
  font-family: serif;
  font-weight: bold;
  color: #044f93;
  text-shadow: 1px 0;
}
.faq-wrap .faq-list li .question-wrap .arrow.bottom-arrow {
  transform: rotate(-90deg);
}
.faq-wrap .faq-list li .question-wrap .arrow.bottom-arrow::before {
  content: "<";
}
.faq-wrap .faq-list li .question-wrap .arrow.top-arrow {
  transform: rotate(90deg);
}
.faq-wrap .faq-list li .question-wrap .arrow.top-arrow::before {
  content: "<";
}
.faq-wrap .faq-list li .answer-wrap {
  position: relative;
  display: none;
  background: #f5f5f5;
  padding: 20px;
  padding-left: 100px;
  padding-right: 40px;
  box-sizing: border-box;
}
.faq-wrap .faq-list li .answer-wrap .mark {
  position: absolute;
  top: 20px;
  left: 20px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  font-size: 18px;
  color: #fff;
  background: #696969;
  border-radius: 50%;
}
.faq-wrap .faq-list li .answer-wrap .con {
  padding: 0 40px;
  box-sizing: border-box;
}
.faq-wrap .faq-list li:last-child {
  border-bottom: 1px solid #d5d5d5;
}

.ml-wrap {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.ml-wrap .ml-header {
  padding: 20px;
  box-sizing: border-box;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 70px;
  background: linear-gradient(90deg, rgb(10, 59, 109) 0%, rgb(12, 143, 198) 100%);
  font-size: 20px;
  color: #fff;
}
.ml-wrap .right-menu {
  display: inline-flex;
}
.ml-wrap .right-menu li {
  position: relative;
  margin-right: 25px;
}
.ml-wrap .right-menu li::after {
  position: absolute;
  top: 7px;
  right: -13px;
  width: 1px;
  height: 10px;
  background: #fff;
  content: "";
}
.ml-wrap .right-menu li a {
  font-size: 15px;
  color: #fff;
  text-decoration: none;
}
.ml-wrap .right-menu li:last-child {
  margin-right: 0;
}
.ml-wrap .right-menu li:last-child:after {
  display: none;
}
.ml-wrap .ml-main {
  display: flex;
  background: #242f3d;
}
.ml-wrap .ml-left {
  height: 100%;
  flex-grow: 0;
  flex-shrink: 0;
  width: 200px;
  background: #242f3d;
}
.ml-wrap .ml-left li {
  height: 50px;
  line-height: 50px;
  border-bottom: 1px solid #39414b;
  border-left: 3px solid transparent;
}
.ml-wrap .ml-left li a {
  display: inline-flex;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  height: 100%;
  padding-left: 20px;
  font-size: 15px;
  color: #fff;
  box-sizing: border-box;
  text-decoration: none;
}
.ml-wrap .ml-left li:hover {
  background: #1b232d;
  border-left: 5px solid #044f93;
  box-sizing: border-box;
}
.ml-wrap .ml-left li.active {
  background: #1b232d;
  border-left: 5px solid #044f93;
  box-sizing: border-box;
}
.ml-wrap .ml-main-content {
  flex-grow: 1;
  height: 100%;
  background: #f5f5f5;
  padding: 15px;
  box-sizing: border-box;
}
.ml-wrap .ml-main-content .user-study-info {
  background: #fff;
  border-top: 2px solid #000;

}
.ml-wrap .ml-main-content .user-study-info .user-info {
  display: flex;
  justify-content: space-between;
  padding: 15px;
  box-sizing: border-box;
  border-bottom: 1px solid #d9d9d9;
}
.ml-wrap .ml-main-content .user-study-info .user-info > li {
  color: #000;
  font-size: 18px;
}
.ml-wrap .ml-main-content .user-study-info .user-info > li > span {
  color: #0c69aa;

}
.ml-wrap .ml-main-content .user-study-info .study-info {
  display: flex;
  flex-wrap: wrap;
}
.ml-wrap .ml-main-content .user-study-info .study-info > li {
  display: flex;
  align-items: center;
  width: 50%;
  height: 40px;
  border-bottom: 1px solid #e5e5e5;
  font-size: 14px;
}
.ml-wrap .ml-main-content .user-study-info .study-info > li > span.label {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 150px;
  height: 100%;
  color: #000;
  font-weight: bold;
  background: #f8f8f8;
}
.ml-wrap .ml-main-content .user-study-info .study-info > li > span.con-wrap {
  display: inline-flex;
  align-items: center;
  height: 100%;
  padding-left: 15px;
  box-sizing: border-box;
}
.ml-wrap .ml-main-content .user-study-info .study-info > li > span.con-wrap .red-t {
  color: red;
  font-weight: bold;
}
.ml-wrap .ml-main-content .user-study-info .study-info > li > span.con-wrap .blue-t {
  color: #0c69aa;

}
.ml-wrap .ml-main-content .user-study-info .ip-info {
  display: flex;
  justify-content: flex-end;
  padding: 10px;
  font-size: 12px;
}
.ml-wrap .ml-main-content .user-study-info .ip-info .label {
  display: inline-block;
  padding-right: 10px;
  box-sizing: border-box;
}
.ml-wrap .class-base-wrap {
  display: flex;
}
.ml-wrap .class-base-wrap .class-base {
  flex-grow: 1;
}
.ml-wrap .class-base-wrap .class-progress-bar {
  flex-grow: 0;
}
.ml-wrap .ml-caption {
  display: block;
  text-align: right;
  padding-top: 50px;
  font-size: 12px;
}
.ml-wrap footer {
  padding: 15px;
  box-sizing: border-box;
  text-align: center;
  background: #111;
  color: #fff;
  font-size: 12px;
}
.ml-wrap .ul-st01 {
  padding-left: 0;
}
.ml-wrap .class-progress-bar {
  margin: 15px 0;
  margin-left: 15px;
  width: 250px;
}
.ml-wrap .class-progress-bar > div {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 88px;
  padding: 20px;
  margin-bottom: 20px;
  background: #ecf8f5;
  box-sizing: border-box;
  border: 1px solid #62c5b1;
}
.ml-wrap .class-progress-bar > div h3 {
  display: inline-flex;
  justify-content: flex-start;
  width: 100%;
  margin-bottom: 5px;
  font-size: 13px;
  color: #000;
  font-weight: bold;
}
.ml-wrap .class-progress-bar > div progress {
  width: 100%;
  height: 15px;
  overflow: hidden;
  border: 1px solid #c8c8c8;
  border-radius: 10px;
  -webkit-appearance: none;
}
.ml-wrap .class-progress-bar > div ::-webkit-progress-bar {
  background-color: #f8f8f8;
}
.ml-wrap .class-progress-bar > div ::-webkit-progress-value {
  background-color: #62c5b1;
}
.ml-wrap .class-progress-bar > div .inner-wrap {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
}
.ml-wrap .class-progress-bar > div span.per {
  display: inline-block;
  padding-left: 10px;
  font-weight: bold;
  color: #000;
  font-size: 13px;
}
.ml-wrap .class-progress-bar > div:last-child {
  background: #fff8f1;
  border-color: #ff9f3f;
}
.ml-wrap .class-progress-bar > div:last-child ::-webkit-progress-value {
  background-color: #ff9f3f;
}
.ml-wrap a.tbl-link {
  font-size: 12px;
}
.ml-wrap .sub-txt {
  font-size: 12px;
  display: block;
  padding: 5px 0;
}
.ml-wrap .sub-txt label {
  font-weight: bold;
  color: #0b7ab0;
}

/* jy studyroom Start */
.my_txt_box03{display:block; text-align:left; font-size:18px; font-weight:normal; line-height:1.5em; letter-spacing:-0.75px; color:#666; margin-top:27px;}
.my_txt_box03 h3{vertical-align: middle; display:block; font-size:25px; color:#26336a; font-weight:normal;}
.my_txt_box03 em{display:inline-block; width:57px; height:1px; background:#000; margin:26px 0 21px;}
.my_txt_box03 b{display:block; font-size:24px; color:#2978b3; margin:28px 0 5px;}
.my_txt_box03 font{color:#2978b3;}
.my_txt_box03 span{color:#000;}
.my_txt_box03 table{border-collapse:collapse; border-spacing:0; border-top:2px solid #000; border-bottom:2px solid #000; width:100%;}
.my_txt_box03 th{width:204px; padding:15px 0; text-align:center; background:#f1f2f7; font-size:16px; border-bottom:1px solid #ddd; color:#000;}
.my_txt_box03 td{padding:15px 0 15px 24px; text-align:left; background:#fff; font-size:16px; border-bottom:1px solid #ddd;}

.pro_go_btn{display:block; overflow:hidden; padding:10px 0;}

.go_edit{float:right;}


.my_txt_box04_new{vertical-align: middle; display:block; text-align:left; font-size:15px; font-weight:normal; line-height:1.5em; letter-spacing:-0.75px; color:#666; margin-top:30px;}
.my_txt_box04_new h3{vertical-align: middle; display:block; font-size:25px; color:#26336a; font-weight:normal;}
.my_txt_box04_new table{vertical-align: middle;border-collapse:collapse; border-spacing:0; border-top:2px solid #000; width:100%;}
.my_txt_box04_new th{vertical-align: middle; padding:15px 0; text-align:center; background:#f1f2f7; font-size:15px; border-bottom:1px solid #ddd; color:#000;  border-right:1px solid #dddfe5;}
.my_txt_box04_new th:last-child{vertical-align: middle;border-right:0;}
.my_txt_box04_new td{vertical-align: middle; padding:13px 0; text-align:center; background:#fff; border-bottom:1px solid #ddd; border-right:1px solid #dddfe5; font-size:14px;}
.my_txt_box04_new td:last-child{vertical-align: middle; border-right:0;}

.my_txt_box04{vertical-align: middle; display:block; text-align:left; font-size:18px; font-weight:normal; line-height:1.5em; letter-spacing:-0.75px; color:#666; margin-top:87px;}
.my_txt_box04 h3{vertical-align: middle; display:block; font-size:25px; color:#26336a; font-weight:normal;}
.my_txt_box04 table{vertical-align: middle; border-collapse:collapse; border-spacing:0; border-top:2px solid #000; width:100%;}
.my_txt_box04 th{vertical-align: middle; width:204px; padding:15px 0; text-align:center; background:#f1f2f7; font-size:16px; border-bottom:1px solid #ddd; color:#000;  border-right:1px solid #dddfe5;}
.my_txt_box04 th:first-child{vertical-align: middle; width:450px;}
.my_txt_box04 th:last-child{vertical-align: middle; border-right:0;}
.my_txt_box04 td{vertical-align: middle; padding:13px 0; text-align:center; background:#fff; border-bottom:1px solid #ddd; border-right:1px solid #dddfe5; font-size:16px;}
.my_txt_box04 td:last-child{vertical-align: middle; border-right:0;}

.table_top_left01{
   vertical-align: middle;
   border-top-style:solid; 
   border-top-color:#dfdfdf ; 
   border-top-width:1px ; 
   border-bottom-style:solid; 
   border-bottom-color:#dfdfdf ; 
   border-bottom-width:1px ; 
   border-left-style:solid; 
   border-left-color:#dfdfdf ; 
   border-left-width:1px ; 
   border-right-style:solid; 
   border-right-color:#dfdfdf ; 
   border-right-width:1px ; 
   text-align:center;
   font-weight:bold;
   padding: 2px 0 2px 0;
   background-color:#f2f2f2;
}
.table_top_left02{
   vertical-align: middle;
   border-top-style:solid; 
   border-top-color:#dfdfdf ; 
   border-top-width:1px ; 
   border-bottom-style:solid; 
   border-bottom-color:#dfdfdf ; 
   border-bottom-width:1px ; 
   border-right-style:solid; 
   border-right-color:#dfdfdf ; 
   border-right-width:1px ; 
   text-align:center;
   font-weight:bold;
   padding: 2px 0 2px 0;
   background-color:#f2f2f2;
}

.table_top_right01{
   vertical-align: middle;
   border-top-style:solid; 
   border-top-color:#dfdfdf ; 
   border-top-width:1px ; 
   border-bottom-style:solid; 
   border-bottom-color:#dfdfdf ; 
   border-bottom-width:1px ; 
   border-right-style:solid; 
   border-right-color:#dfdfdf ; 
   border-right-width:1px ; 
   padding: 2px 2px 2px 2px;
   background-color:#fff;
}


.table_bottom_left01{
   vertical-align: middle;
   border-bottom-style:solid; 
   border-bottom-color:#dfdfdf ; 
   border-bottom-width:1px ; 
   border-left-style:solid; 
   border-left-color:#dfdfdf ; 
   border-left-width:1px ; 
   border-right-style:solid; 
   border-right-color:#dfdfdf ; 
   border-right-width:1px ; 
   padding: 2px 0 2px 0;
   background-color:#f2f2f2;
   font-weight:bold;
   text-align:center;
}

.table_bottom_left02{
   vertical-align: middle;
   border-bottom-style:solid; 
   border-bottom-color:#dfdfdf ; 
   border-bottom-width:1px ; 
   border-right-style:solid; 
   border-right-color:#dfdfdf ; 
   border-right-width:1px ; 
   padding: 2px 0 2px 0;
   background-color:#f2f2f2;
   font-weight:bold;
   text-align:center;
}

.table_bottom_right01{
   vertical-align: middle;
   border-bottom-style:solid; 
   border-bottom-color:#dfdfdf ; 
   border-bottom-width:1px ; 
   border-right-style:solid; 
   border-right-color:#dfdfdf ; 
   border-right-width:1px ; 
   padding: 2px 2px 2px 2px;
}

.mystudy_tl{
   vertical-align: middle;
   font-size:14px;
   background-color:#F1F2F7;
   color:#000000;
   font-weight:bold;
   border-top-style:solid; 
   border-top-color:#8A8889 ; 
   border-top-width:2px ; 
   border-left-style:solid; 
   border-left-color:#DBDBDB ; 
   border-left-width:1px ; 
   border-right-style:solid; 
   border-right-color:#DBDBDB ; 
   border-right-width:1px ; 
   border-bottom-style:solid; 
   border-bottom-color:#DBDBDB ; 
   border-bottom-width:1px ; 
}
.mystudy_tr{
   vertical-align: middle;
   font-size:14px;
   background-color:#F1F2F7;
   color:#000000;
   font-weight:bold;
   border-top-style:solid; 
   border-top-color:#8A8889 ; 
   border-top-width:2px ; 
   border-right-style:solid; 
   border-right-color:#DBDBDB ; 
   border-right-width:1px ; 
   border-bottom-style:solid; 
   border-bottom-color:#DBDBDB ; 
   border-bottom-width:1px ; 
}

.mystudy_bl{
   vertical-align: middle;
   color:#000000;
   font-size:11px;
   border-left-style:solid; 
   border-left-color:#DBDBDB ; 
   border-left-width:1px ; 
   border-right-style:solid; 
   border-right-color:#DBDBDB ; 
   border-right-width:1px ; 
   border-bottom-style:solid; 
   border-bottom-color:#DBDBDB ; 
   border-bottom-width:1px ; 
}
.mystudy_br{
   vertical-align: middle;
   color:#000000;
   font-size:11px;
   border-right-style:solid; 
   border-right-color:#DBDBDB ; 
   border-right-width:1px ; 
   border-bottom-style:solid; 
   border-bottom-color:#DBDBDB ; 
   border-bottom-width:1px ; 
}





.bbs_tl{
   vertical-align: middle;
   font-size:12px;
   background-color:#F5F5F5;
   color:#000000;
   border-top-style:solid; 
   border-top-color:#18609C ; 
   border-top-width:1px ; 
   border-left-style:solid; 
   border-left-color:#DBDBDB ; 
   border-left-width:1px ; 
   border-right-style:solid; 
   border-right-color:#DBDBDB ; 
   border-right-width:1px ; 
   border-bottom-style:solid; 
   border-bottom-color:#DBDBDB ; 
   border-bottom-width:1px ; 
}
.bbs_tr{
   vertical-align: middle;
   font-size:12px;
   background-color:#F5F5F5;
   color:#000000;
   border-top-style:solid; 
   border-top-color:#18609C ; 
   border-top-width:1px ; 
   border-right-style:solid; 
   border-right-color:#DBDBDB ; 
   border-right-width:1px ; 
   border-bottom-style:solid; 
   border-bottom-color:#DBDBDB ; 
   border-bottom-width:1px ; 
}

.bbs_bl{
   vertical-align: middle;
   color:#000000;
   font-size:12px;
   border-left-style:solid; 
   border-left-color:#DBDBDB ; 
   border-left-width:1px ; 
   border-right-style:solid; 
   border-right-color:#DBDBDB ; 
   border-right-width:1px ; 
   border-bottom-style:solid; 
   border-bottom-color:#DBDBDB ; 
   border-bottom-width:1px ; 
}
.bbs_br{
   vertical-align: middle;
   color:#000000;
   font-size:12px;
   border-right-style:solid; 
   border-right-color:#DBDBDB ; 
   border-right-width:1px ; 
   border-bottom-style:solid; 
   border-bottom-color:#DBDBDB ; 
   border-bottom-width:1px ; 
}

.d_btn {
	border-width: 1px; border-style: solid; border-color: rgb(219, 219, 219) rgb(210, 210, 210) rgb(178, 178, 178) rgb(210, 210, 211); margin: 0.4em 0.15em; padding: 0.5em 1em; border-radius: 0.2em; color: rgb(70, 70, 70); line-height: 1.25em; font-size: 1em; vertical-align: middle; display: inline-block; cursor: pointer;
}
.d_btn:hover {
	color: rgb(70, 70, 70); text-decoration: none;
}
.d_btn:active {
	border-color: rgb(153, 153, 153);
}

.jybox {
 height:40px;
 padding-left:5px;
 padding-right:20px;
 border: 1px solid #DEDEDE;
}

.jybox02 {
 height:20px;
 padding-left:5px;
 padding-right:20px;
 border: 1px solid #DEDEDE;
}

.jytbox {
 border: 1px solid #DEDEDE;
 height:40px;
}

.jytbox02 {
 border: 1px solid #DEDEDE;
 height:20px;
}
.jytbox03 {
 border: 1px solid #DEDEDE;
}

.jybutton01 {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 28px;
  color: #fff;
  padding: 0 10px;
  background: #0C304E;
  cursor: pointer;
  text-decoration: none;
  box-sizing: border-box;
}



.view_btn_warp_ex{display:block; text-align:center; clear:both; margin-top:20px; margin-bottom:20px;}
.view_btn_warp_ex a{display:inline-block; width:125px; text-align:center; padding:9px 0; border:1px solid #6699cc; color:#6699cc; background:#fff; font:800 16px/1em "NanumBarunGothic"; text-decoration:none;}


/* jy studyroom end */

/* 공통 기본 설정 */
.footer_info address {
  font-style: normal;
  color: #7D7D7D;
  line-height: 1.6;
}

/* PC용 (기본 표시) */
.footer_info_pc {
  display: block;
  white-space: nowrap;           /* 줄바꿈 금지 */
  overflow: hidden;              /* 혹시 넘치는 부분 숨김 */
  text-overflow: ellipsis;       /* 너무 좁으면 … 처리 */
  font-size: clamp(12px, 1vw, 14px); /* 반응형 폰트 */
  line-height: 1.8;
}

/* 모바일용 (기본은 숨김) */
.footer_info_m {
  display: none;
}





/* 페이징 */
/* ========================================
 * 공통 페이징 스타일 (f_ListBottomTable1 전용)
 *  - nav.paging.paging-responsive 안에 버튼들
 * ======================================*/
.paging-responsive {
  margin: 24px auto 0;
  text-align: center;
}

.paging-responsive .paging-inner {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 4px;
  font-family: "Pretendard Variable", Pretendard, -apple-system,
               BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

/* 기본 버튼 */
.paging-responsive .page-btn {
  position: relative;
  min-width: 32px;
  height: 32px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid #e5e7eb;
  background: #ffffff;
  color: #374151;
  font-size: 13px;
  line-height: 1;
  cursor: pointer;
  box-sizing: border-box;
  transition:
    background-color .15s ease,
    border-color .15s ease,
    color .15s ease,
    transform .08s ease;
}

/* 숫자 버튼 */
.paging-responsive .page-num {
  font-weight: 400;
}

/* 현재 페이지 */
.paging-responsive .page-current {
  background: #2563eb;
  border-color: #2563eb;
  color: #ffffff;
  font-weight: 600;
  box-shadow: 0 2px 4px rgba(37,99,235,0.25);
}

.paging-responsive .page-current strong {
  font-weight: 600;
}

/* 화살표(처음/이전/다음/마지막) 아이콘 */
.paging-responsive .page-first,
.paging-responsive .page-prev,
.paging-responsive .page-next,
.paging-responsive .page-last {
  padding: 0 8px;
}

.paging-responsive .page-btn .ico {
  font-size: 12px;
}

/* 호버/포커스 효과 */
.paging-responsive .page-btn:hover {
  border-color: #2563eb;
  color: #2563eb;
  background: #eff6ff;
}

.paging-responsive .page-current:hover {
  color: #ffffff;
  background: #1d4ed8;
}

.paging-responsive .page-btn:focus-visible {
  outline: 2px solid #2563eb;
  outline-offset: 1px;
}

/* 비활성 상태가 필요할 경우 대비 */
.paging-responsive .page-btn:disabled,
.paging-responsive .page-btn[disabled] {
  cursor: default;
  opacity: .5;
  box-shadow: none;
}

/* 살짝 누르는 느낌 */
.paging-responsive .page-btn:active {
  transform: translateY(1px);
}

/* ========================================
 * 모바일 최적화
 * ======================================*/
@media (max-width: 768px) {
  .paging-responsive {
    margin-top: 16px;
  }

  .paging-responsive .paging-inner {
    gap: 2px;
  }

  .paging-responsive .page-btn {
    min-width: 30px;
    height: 30px;
    padding: 0 8px;
    font-size: 12px;
    border-radius: 999px;
  }

  .paging-responsive .page-first,
  .paging-responsive .page-last {
    /* 필요하면 더 작게 보이게 */
    padding: 0 6px;
  }
}


/* =========================================
   공통 페이징 스타일
   - PC: 번호형
   - 모바일: 이전/다음 or 더 보기
   - 파란색 X, 그레이 + 오렌지 계열
   ========================================= */

/* 래퍼 */
.paging-wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center; /* 기본 중앙 정렬 */
  gap: 10px;
  margin: 28px 0 16px;
  font-size: 14px;
  line-height: 1;
  color: #374151; /* 다크 그레이 */
}

/* 정렬 옵션 (필요 시 클래스 추가해서 사용) */
.paging-wrap.paging-align-left {
  justify-content: flex-start;
}
.paging-wrap.paging-align-right {
  justify-content: flex-end;
}

/* PC 번호 페이징 영역 */
.paging-numbers {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

/* 공통 버튼 스타일 */
.paging-wrap button {
  font-family: inherit;
  font-size: 13px;
  line-height: 1;
  border-radius: 999px;
  border: 1px solid #d1d5db; /* 연한 그레이 */
  background: #ffffff;
  color: #4b5563; /* 중간 그레이 */
  padding: 7px 12px;
  cursor: pointer;
  outline: none;
  transition:
    background-color 0.18s ease,
    border-color 0.18s ease,
    color 0.18s ease,
    box-shadow 0.18s ease,
    transform 0.08s ease;
  min-width: 32px;
}

/* 번호 버튼 (1,2,3...) */
.paging-numbers .page-link {
  padding: 7px 10px;
}

/* 화살표/기호용 버튼 (<< < > >> 등 쓸 경우) */
.paging-numbers .page-link.is-arrow {
  font-size: 12px;
  padding: 7px 8px;
}

/* hover 상태 */
.paging-wrap button:hover:not(:disabled) {
  background: #f3f4f6;
  border-color: #9ca3af;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.12);
}

/* active(클릭) 상태 */
.paging-wrap button:active:not(:disabled) {
  transform: translateY(1px);
  box-shadow: 0 0 0 rgba(0,0,0,0);
}

/* 현재 페이지 */
.paging-numbers .page-link.is-active {
  background: #f97316;      /* 오렌지 */
  border-color: #ea580c;
  color: #ffffff;
  font-weight: 600;
  box-shadow: 0 2px 4px rgba(248, 113, 22, 0.35);
}

/* 비활성(못누르는) 버튼 */
.paging-wrap button:disabled {
  cursor: default;
  opacity: 0.45;
  box-shadow: none;
}

/* 모바일 전용 영역 기본은 숨김 */
.paging-mobile-prevnext,
.paging-mobile-more {
  display: none;
}

/* 모바일 이전/다음 버튼 래핑 */
.paging-mobile-prevnext {
  display: inline-flex;
  gap: 8px;
}

/* 더 보기 버튼 래퍼 */
.paging-mobile-more {
  width: 100%;
  text-align: center;
}

/* 더 보기 버튼 */
.paging-mobile-more .page-more {
  min-width: 140px;
  padding: 9px 18px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 500;
  background: #111827;
  border-color: #111827;
  color: #f9fafb;
}
.paging-mobile-more .page-more:hover {
  background: #1f2937;
  border-color: #1f2937;
}

/* 모바일에서 페이지 정보 텍스트가 필요하면 */
.paging-info-text {
  font-size: 12px;
  color: #6b7280;
  margin-left: 6px;
}

/* =========================================
   반응형
   - PC: 번호 페이징
   - 모바일(예: 768px 이하): 번호 숨기고 버튼만
   ========================================= */

@media (max-width: 768px) {
  .paging-wrap {
    margin-top: 20px;
    gap: 8px;
  }

  /* 번호 페이징은 모바일에서 숨김 */
  .paging-numbers {
    display: none;
  }

  /* A안: 이전/다음 버튼 사용 시 */
  .paging-mobile-prevnext {
    display: inline-flex;
  }

  /* B안: 더 보기 버튼 사용 시 (A안 대신 쓰고 싶을 때 주석 해제) */
  /*
  .paging-mobile-prevnext {
    display: none;
  }
  .paging-mobile-more {
    display: block;
  }
  */

  /* 모바일 버튼 사이즈 살짝 키우기 */
  .paging-wrap button {
    padding: 9px 14px;
    font-size: 13px;
  }
}



/* ===== 교육과정 상단 서브메뉴 ===== */
.course-subnav {
    background:#ffffff;
    border-bottom:1px solid #edf0f5;
}

/* 래퍼 : 가로 스크롤 가능 (모바일 대응) */
.course-subnav-inner {
    max-width:1200px;              /* 사이트 컨테이너 폭에 맞춰 조정 */
    margin:0 auto;
    padding:0 20px;
    display:flex;
    align-items:stretch;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
}
.course-subnav-inner::-webkit-scrollbar {
    display:none;
}

/* 개별 항목 */
.course-subnav--line .item {
    position:relative;
    flex:0 0 auto;
    padding:16px 24px;
    font-family:"Pretendard",-apple-system,BlinkMacSystemFont,system-ui,sans-serif;
    font-size:15px;
    color:#6f7584;
    text-decoration:none;
    white-space:nowrap;
    text-align:center;
    transition:color .2s ease, background-color .2s ease;
}

/* 가운데 세로 구분선 (첫 번째 제외) */
.course-subnav--line .item + .item::before {
    content:"";
    position:absolute;
    left:0;
    top:50%;
    transform:translateY(-50%);
    width:1px;
    height:18px;
    background:#e4e7f0;
}

/* hover 효과 */
.course-subnav--line .item:hover {
    color:#315bff;
}

/* 선택된 메뉴 */
.course-subnav--line .item.on {
    color:#1e2433;
    font-weight:600;
}
.course-subnav--line .item.on::after {
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:3px;
    background:#315bff;
}

/* 모바일 : 패딩/폰트 조금 줄이기 */
@media (max-width:768px){
    .course-subnav-inner {
        padding:0 16px;
    }
    .course-subnav--line .item {
        padding:12px 18px;
        font-size:14px;
    }
}
/* 서브메뉴 전체 간격 조정 */
.course-subnav {
    background:#ffffff;
    border-bottom:1px solid #edf0f5;

    /* 상단 여백 줄이기 */
    padding-top: 8px !important;

    /* 하단 여백 늘리기 */
    padding-bottom: 4px !important;
}

/* 내부 아이템 간격 */
.course-subnav-inner {
    padding: 0 20px 0 20px !important; /* 위아래 패딩 완전 제거 */
}

/* 각 메뉴 아이템 패딩 축소 */
.course-subnav--line .item {
    padding: 12px 20px !important;  /* 기존보다 20~30% 감소 */
}

/* 선택된 메뉴의 underline 위치 보정 */
.course-subnav--line .item.on::after {
    bottom: -1px;  /* 너무 위로 붙은 경우 자연스럽게 */
}

/* 위치표시(정보보호 · 정보보호) 위쪽 간격 확보 */
.sub-location {
    margin-top: 10px !important;   /* 기본 0이라면 추가 */
    margin-bottom: 12px !important;
}

.course-subnav {
    box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}













/* ==========================================
 * 교육과정 상단 카테고리 (관공서 스타일)
 * ========================================== */

/* 전체 바 */
.lecture-gnb {
  background: #ffffff;
  border-bottom: 1px solid #dde2eb; /* 아주 얇은 회색 라인 */
}

.lecture-gnb-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 8px 40px 0;
}

/* 1단계: 대메뉴 텍스트 탭 */
.lecture-gnb-list {
  display: flex;
  align-items: center;
  gap: 30px;              /* 탭 간격 */
  list-style: none;
  margin: 0;
  padding: 0;
}

.lecture-gnb-item {
  position: relative;
  padding: 10px 0 18px;   /* 위/아래 여백으로 라인 맞추기 */
}

/* 기본 탭 스타일 (공공기관 느낌) */
.lecture-gnb-item > a {
  display: inline-block;
  padding: 4px 0;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.02em; /* 글자 약간 벌리기 */
  color: #444444;         /* 너무 진하지 않은 진회색 */
  text-decoration: none;
  border-bottom: 2px solid transparent;
  transition: color .15s ease, border-color .15s ease;
}

/* hover 시 색만 살짝 파랗게 */
.lecture-gnb-item > a:hover {
  color: #0052a4;
}

/* 선택된 탭 (현재 ltype) */
.lecture-gnb-item.on > a {
  color: #0052a4;
  border-color: #0052a4;  /* 파란 밑줄 */
}

/* 2단계 드롭다운이 있는 항목: 아래에 여유 */
.lecture-gnb-item.has-sub {
  padding-bottom: 18px;
}

/* hover 끊김 방지용 투명 브릿지 */
.lecture-gnb-item.has-sub::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  height: 10px;   /* 대메뉴와 드롭다운 사이 다리 */
}

/* 2단계: 하위 카테고리 박스 */
.lecture-gnb-item.has-sub .lecture-gnb-sub {
  position: absolute;
  left: 0;
  top: 100%;
  min-width: 230px;
  margin-top: 0;
  padding: 6px 0 10px;
  background: #ffffff;
  border: 1px solid #dde2eb;      /* 얇은 회색 보더 */
  border-radius: 4px;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.06); /* 아주 은은한 그림자 */
  opacity: 0;
  transform: translateY(4px);
  pointer-events: none;
  transition: opacity .16s ease, transform .16s ease;
  z-index: 50;
}

/* hover 시 드롭다운 표시 */
.lecture-gnb-item.has-sub:hover .lecture-gnb-sub {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.lecture-gnb-sub ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* 하위 메뉴 아이템 */
.lecture-gnb-sub-item a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 6px 14px;
  font-size: 13px;
  letter-spacing: 0.01em;
  color: #555555;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color .14s ease, color .14s ease;
}

/* 하위 hover: 배경만 살짝 */
.lecture-gnb-sub-item a:hover {
  background: #f5f7fb;
  color: #0052a4;
}

/* 선택된 하위 메뉴 (현재 stype) */
.lecture-gnb-sub-item.on a {
  background: #e9f2ff;
  color: #0052a4;
  font-weight: 600;
}

.lecture-gnb-sub-text {
  flex: 1;
}

.lecture-gnb-sub-count {
  font-size: 12px;
  color: #9fa6b2;
}

/* 모바일: 가로 스크롤 허용 */
@media (max-width: 768px) {
  .lecture-gnb-inner {
    padding: 6px 16px 0;
  }

  .lecture-gnb-list {
    gap: 18px;
    overflow-x: auto;
  }

  .lecture-gnb-item {
    padding: 8px 0 10px;
  }

  .lecture-gnb-item.has-sub .lecture-gnb-sub {
    border-radius: 4px;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
  }
}


/* ===== 상단 서브 메뉴 전체 바 (밝은 톤) ===== */
.ko-topmenu {
    background: #f9fafb;              /* 아주 밝은 회색 */
    color: #334155;                   /* 짙은 회색 텍스트 */
    font-size: 13px;
    border-bottom: 1px solid #e5e7eb; /* 얇은 라인 */
}

.ko-topmenu .topmenu-wrap {
    max-width: 1200px;
    margin: 0 auto;
    padding: 8px 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* ===== 좌측 사이트 스위처 ===== */
.site-switch {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    gap: 8px;
}

.site-pill {
    padding: 6px 16px;
    border-radius: 999px;
    border: 1px solid #cbd5e1;
    background: #ffffff;
    color: #1f2933;
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    white-space: nowrap;
    box-shadow: 0 2px 4px rgba(15, 23, 42, 0.04);
    transition: background .16s ease, border-color .16s ease, color .16s ease,
                box-shadow .16s ease, transform .12s ease;
}

/* 활성 사이트 (한국직무교육개발원) */
.site-pill--active {
    background: #2563eb;
    border-color: #2563eb;
    color: #ffffff;
    box-shadow: 0 6px 14px rgba(37, 99, 235, 0.35);
}

.site-pill:hover:not(.site-pill--active) {
    background: #eff6ff;
    border-color: #93c5fd;
}

/* ===== 우측 로그인/마이페이지 버튼 ===== */
.topuser {
    display: flex;
    align-items: center;
    gap: 8px;
}

/* 공통 버튼 */
.topbtn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    border-radius: 999px;
    font-size: 12px;
    border: 1px solid transparent;
    text-decoration: none;
    white-space: nowrap;
    transition: background .16s ease, border-color .16s ease,
                color .16s ease, box-shadow .16s ease, transform .12s ease;
}

.topbtn span {
    color: #1f2933;  /* 기본은 진한 글씨 */
}

/* 아이콘 */
.topbtn-ico {
    width: 14px;
    height: 14px;
    opacity: 0.8;
}

/* 수강신청내역 / 나의정보 / 회원가입 – 라인형 밝은 버튼 */
.topbtn--ghost {
    background: #ffffff;
    border-color: #cbd5e1;
}

.topbtn--ghost:hover {
    background: #eef2ff;
    border-color: #93c5fd;
    box-shadow: 0 4px 10px rgba(148, 163, 184, 0.35);
    transform: translateY(-1px);
}

/* 로그인 / 로그아웃 – 파란 강조 버튼 */
.topbtn--accent {
    background: #2563eb;
    border-color: #2563eb;
    box-shadow: 0 6px 14px rgba(37, 99, 235, 0.35);
}

.topbtn--accent span {
    color: #ffffff;
}

.topbtn--accent .topbtn-ico {
    opacity: 0.9;
    filter: brightness(1.1);
}

.topbtn--accent:hover {
    background: #1d4ed8;
    border-color: #1d4ed8;
    transform: translateY(-1px);
}

/* ===== 반응형 ===== */
@media (max-width: 768px) {
    .ko-topmenu .topmenu-wrap {
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
        padding: 8px 12px;
    }

    .topuser {
        flex-wrap: wrap;
        gap: 6px;
    }
}

/* 1. 슬라이더 영역에 여백 추가 (그림자 공간 확보) */
.review-slider {
    position: relative;
    overflow: hidden;
    /* 중요: 상하좌우 여백을 주어 그림자가 잘리지 않게 함 */
    padding: 20px 10px 40px 10px; 
    margin: 0 -10px; /* 좌우 여백만큼 당겨서 정렬 맞춤 (선택사항) */
}

/* 2. 그리드 컨테이너 설정 */
.review-grid-container {
    display: grid;
    grid-template-columns: repeat(4, 1fr); /* 한 줄에 4개 */
    gap: 24px; /* 카드 사이 간격 */
    width: 100%;
}

/* 3. 카드 높이 및 그림자 설정 */
.review-card {
    background: #fff;
    border-radius: 16px;
    padding: 24px;
    /* 그림자가 진하면 더 넓은 padding이 필요할 수 있음 */
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08); 
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%; /* 부모 높이에 맞춤 */
    box-sizing: border-box; /* 패딩 포함 높이 계산 */
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

/* 카드 호버 시 살짝 위로 (잘리는지 확인용) */
.review-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.12);
}

/* 모바일 반응형 (1줄로 변경 시) */
@media (max-width: 1024px) {
    .review-grid-container {
        grid-template-columns: repeat(2, 1fr); /* 태블릿 2개 */
    }
}

@media (max-width: 768px) {
    .review-grid-container {
        grid-template-columns: 1fr; /* 모바일 1개 */
    }
    /* 모바일에서도 하단 여백 확보 */
    .review-slider {
        padding-bottom: 40px; 
    }
}

/* 전체 래퍼: 우측 하단 고정 */
.quick-floating-compact {
    position: fixed;
    bottom: 30px;
    right: 30px;
    z-index: 9999;
    display: flex;
    align-items: flex-end;
    gap: 15px; /* 패널과 버튼 사이 간격 */
}

/* 버튼 그룹 (세로 정렬) */
.quick-btn-group {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* 공통 원형 버튼 스타일 */
.btn-circle {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    border: none;
    background-color: #fff;
    box-shadow: 0 4px 10px rgba(0,0,0,0.15);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    color: #333;
    transition: all 0.2s ease;
}

.btn-circle:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 14px rgba(0,0,0,0.2);
}

/* TOP 버튼 */
.btn-top {
    background-color: #f8f9fa;
    color: #666;
    font-size: 16px;
}

/* 메인 토글 버튼 (강조색) */
.btn-main {
    background-color: #25468b; /* 기관 테마 컬러 */
    color: #fff;
}
.btn-main:hover {
    background-color: #1d3b75;
}

/* 닫기 상태 아이콘 회전 효과 */
.btn-main.active i {
    transform: rotate(90deg);
}

/* 패널 (기본 숨김) */
.quick-panel-compact {
    opacity: 0;
    visibility: hidden;
    transform: translateX(20px); /* 오른쪽에서 나오는 효과 */
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    margin-bottom: 5px; /* 버튼 높이와 정렬 맞춤 */
}

/* 패널 활성화 시 */
.quick-panel-compact.show {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
}

/* 패널 내부 디자인 */
.panel-inner {
    background: #fff;
    padding: 15px;
    border-radius: 12px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.1);
    min-width: 140px;
    position: relative;
}

/* 말풍선 화살표 (우측) */
.panel-inner::after {
    content: '';
    position: absolute;
    right: -6px;
    bottom: 20px;
    width: 12px;
    height: 12px;
    background: #fff;
    transform: rotate(45deg);
    box-shadow: 2px 2px 2px rgba(0,0,0,0.03);
}

/* 메뉴 리스트 */
.quick-list {
    list-style: none;
    padding: 0;
    margin: 0 0 12px 0;
    border-bottom: 1px solid #eee;
    padding-bottom: 12px;
}

.quick-list li {
    margin-bottom: 6px;
}
.quick-list li:last-child { margin-bottom: 0; }

.quick-list a {
    display: block;
    font-size: 13px;
    color: #555;
    text-decoration: none;
    padding: 4px 8px;
    border-radius: 4px;
    transition: background 0.2s;
}

.quick-list a:hover {
    background-color: #f1f3f5;
    color: #25468b;
    font-weight: 600;
}

/* 하단 고객센터 정보 */
.panel-cs {
    text-align: center;
}
.panel-cs span {
    display: block;
    font-size: 11px;
    color: #888;
    margin-bottom: 2px;
}
.panel-cs strong {
    display: block;
    font-size: 16px;
    color: #25468b;
    font-weight: 800;
}

/* 모바일 대응 */
@media (max-width: 768px) {
    .quick-floating-compact {
        bottom: 20px;
        right: 20px;
    }
    .btn-circle {
        width: 40px;
        height: 40px;
        font-size: 16px;
    }
}
/* 로그아웃 버튼 안의 이미지 아이콘을 하얗게 변경 */
.topbtn--accent .topbtn-ico {
    filter: brightness(0) invert(1); /* 검정 아이콘을 하얗게 만듦 */
}
/* 사이트 전체 링크 호버 시 밑줄 제거 */
a:hover {
    text-decoration: none !important;
}

/* 모바일(768px 이하)에서 퀵메뉴 전체 숨기기 */
@media (max-width: 768px) {
    .quick-floating-compact {
        display: none !important;
    }
}
/* 전체 메뉴 모달 컨테이너 */
.fullscreen-menu {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    z-index: 10001; /* 오버레이보다 높게 */
    overflow-y: auto;
    box-sizing: border-box;
}

.fs-menu-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 20px;
}

/* 상단 헤더 */
.fs-menu-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 30px;
    border-bottom: 2px solid #003366; /* Deep Navy 라인 */
}

.fs-close-btn {
    background: #333;
    color: #fff;
    border: none;
    padding: 10px 25px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    border-radius: 4px;
    display: flex;
    align-items: center;
    gap: 8px;
}

/* 메뉴 그리드 레이아웃 */
.fs-menu-grid {
    display: flex;
    justify-content: space-between;
    padding: 60px 0;
    flex-wrap: wrap;
    gap: 30px;
}

.fs-menu-col {
    flex: 1;
    min-width: 200px;
}

.fs-menu-col h3 {
    font-size: 22px;
    color: #003366;
    margin-bottom: 25px;
    padding-bottom: 10px;
    border-bottom: 1px solid #eee;
    font-weight: 800;
}

.fs-menu-col ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.fs-menu-col ul li {
    margin-bottom: 15px;
}

.fs-menu-col ul li a {
    text-decoration: none;
    color: #555;
    font-size: 16px;
    transition: color 0.2s, font-weight 0.2s;
}

.fs-menu-col ul li a:hover {
    color: #003366;
    font-weight: 600;
    text-decoration: underline;
}

/* 하단 영역 */
.fs-menu-footer {
    margin-top: 40px;
    padding-top: 30px;
    border-top: 1px solid #f0f0f0;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.footer-links a {
    margin-right: 20px;
    color: #888;
    text-decoration: none;
    font-size: 14px;
}

.fs-cs-info {
    font-size: 15px;
    color: #666;
}

.fs-cs-info strong {
    color: #003366;
    margin-left: 5px;
}



@keyframes fadeInDown {
    from { opacity: 0; transform: translateY(-20px); }
    to { opacity: 1; transform: translateY(0); }
}

.fs-menu-footer .footer-links {
    display: flex;
    justify-content: center; /* 가운데 정렬 */
    gap: 0;
    margin-bottom: 20px;
}

.fs-menu-footer .footer-links a {
    position: relative;
    padding: 0 15px;
    font-size: 14px;
    color: #666;
    text-decoration: none;
    transition: color 0.2s;
}

/* 구분선 추가 */
.fs-menu-footer .footer-links a:not(:last-child):after {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 12px;
    background-color: #ddd;
}

.fs-menu-footer .footer-links a:hover {
    color: #003366; /* 포인트 네이비 */
    font-weight: 600;
}


/* 1. 메뉴 컬럼들을 감싸는 그리드 영역 */
.fs-menu-grid {
    display: flex;
    justify-content: center;    /* 컬럼 그룹 전체를 가로 중앙으로 */
    align-items: flex-start;    /* 컬럼들의 상단 라인 맞춤 */
    gap: 60px;                 /* 컬럼과 컬럼 사이의 여백 (간격 조절 가능) */
    padding: 80px 0;           /* 위아래 충분한 여백 */
    flex-wrap: wrap;           /* 화면이 좁아지면 아래로 내려가게 설정 */
}

/* 2. 각 메뉴 컬럼 (교육안내, 교육과정 등 한 줄) */
.fs-menu-col {
    flex: 0 1 auto;            /* 고정 너비가 아닌 내용에 맞춰 유연하게 */
    min-width: 200px;          /* 너무 좁아지지 않도록 최소 너비 설정 */
    text-align: center;        /* 내부 텍스트(제목, 리스트) 모두 중앙 정렬 */
}

/* 3. 대분류 제목 (교육안내 등) */
.fs-menu-col h3 {
    font-size: 24px;
    color: #003366;
    font-weight: 800;
    margin-bottom: 30px;
    padding-bottom: 15px;
    border-bottom: 2px solid #003366; /* 제목 하단 라인 */
    display: block;            /* 중앙 정렬을 위해 블록 설정 */
}

/* 4. 소분류 리스트 (ul, li) */
.fs-menu-col ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.fs-menu-col ul li {
    margin-bottom: 18px;
}

.fs-menu-col ul li a {
    text-decoration: none;
    color: #444;
    font-size: 17px;
    transition: all 0.2s;
    display: inline-block;     /* 호버 효과를 위해 설정 */
}

.fs-menu-col ul li a:hover {
    color: #003366;
    font-weight: 700;
    transform: scale(1.05);    /* 살짝 커지는 효과로 강조 */
}


.fs-menu-inner {
    min-height: 100%; /* 최소 높이를 화면 전체로 */
    display: flex;
    flex-direction: column;
    justify-content: center; /* 세로 중앙 정렬 */
    max-width: 1200px;
    margin: 0 auto;
    box-sizing: border-box;
}

.fs-menu-grid {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 40px; /* 간격을 60px -> 40px로 최적화 */
    padding: 40px 0; /* 위아래 여백을 80px -> 40px로 최적화 */
    flex-wrap: wrap;
}

/* [PC 전용] 전체 메뉴 레이어 모달 */
.fullscreen-menu {
    display: none;
    position: fixed;
    top: 120px;
    left: 0;
    width: 100%;
    height: 100vh; /* 화면 높이에 딱 맞춤 */
    background: #fff;
    z-index: 10001;
    box-sizing: border-box;
    overflow: hidden; /* 내부 스크롤 발생 방지 */
}

/* 1024px 이하(모바일/태블릿)에서는 아예 숨김 처리 */
@media screen and (max-width: 1024px) {
    .fullscreen-menu, 
    .overlay-background {
        display: none !important;
    }
}


/* 메인 메뉴 그리드 중앙 정렬 */
.fs-menu-grid {
    display: flex;
    justify-content: center; /* 컬럼들을 가로 중앙으로 */
    align-items: flex-start;
    gap: 80px;              /* 메뉴 간격 */
    width: 100%;
    padding: 20px 0;
}

.fs-menu-col {
    text-align: center;      /* 텍스트들 중앙 정렬 */
    min-width: 180px;
}

.fs-menu-col h3 {
    font-size: 24px;
    color: #003366;
    font-weight: 800;
    margin-bottom: 30px;
    padding-bottom: 15px;
    border-bottom: 2px solid #003366;
    display: block;
}

.fs-menu-col ul li a {
    font-size: 17px;
    color: #444;
    line-height: 2.2; /* 줄간격으로 여유 부여 */
    transition: all 0.2s;
}

.fs-menu-col ul li a:hover {
    color: #003366;
    font-weight: 700;
}


/* 1. 리스트 항목 자체의 하단 여백 줄이기 */
.fs-menu-col ul li {
    margin-bottom: 8px !important; /* 기존 18px에서 8px로 축소 */
}

/* 2. 링크 텍스트의 줄높이 줄이기 */
.fs-menu-col ul li a {
    font-size: 17px;
    color: #444;
    line-height: 1.5 !important; /* 기존 2.2에서 1.5로 축소 */
    display: inline-block;
    transition: all 0.2s;
}
.fullscreen-menu {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    z-index: 10001;
    overflow-y: auto; /* 저해상도 대응 */
}

/* PC 전용 (1024px 이상) */
@media screen and (max-width: 1024px) {
    .fullscreen-menu { display: none !important; }
}

.fs-menu-inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: 20px 20px 20px; /* 상단 여백을 주어 위치 조정 */
    min-height: 100%;
    box-sizing: border-box;
}

.fs-menu-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 20px;
    border-bottom: 1px solid #eee; /* 보일랑 말랑한 선 */
}

.fs-close-btn {
    background: #444;
    color: #fff;
    border: none;
    padding: 8px 20px;
    font-size: 14px;
    cursor: pointer;
    border-radius: 3px;
}

/* 메뉴 그리드 */
.fs-menu-grid {
    display: flex;
    justify-content: center;
    gap: 0; /* 간격을 0으로 하고 컬럼에 경계선 부여 */
    padding: 50px 0;
}

.fs-menu-col {
    flex: 1;
    padding: 0 40px;
    text-align: center;
    /* 컬럼 사이 은은한 세로선 */
    border-right: 1px solid #f2f2f2; 
}

.fs-menu-col:last-child {
    border-right: none;
}

.fs-menu-col h3 {
    font-size: 20px; /* 조금 작게 조정 */
    color: #003366;
    font-weight: 700;
    margin-bottom: 25px;
    padding-bottom: 15px;
    border-bottom: 1px solid #003366; /* 제목 하단 포인트 선 */
    display: inline-block;
}

.fs-menu-col ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.fs-menu-col ul li {
    margin-bottom: 12px; /* 줄간격 유지 */
}

.fs-menu-col ul li a {
    text-decoration: none;
    color: #666;
    font-size: 15px; /* 조금 작게 조정 */
    transition: 0.2s;
}

.fs-menu-col ul li a:hover {
    color: #003366;
    font-weight: 600;
}

/* 하단 중앙 정렬 푸터 */
.fs-menu-footer {

    border-top: 1px solid #eee;
    text-align: center;
}

.footer-links {
    margin-bottom: 15px;
}

.footer-links a {
    font-size: 13px;
    color: #888;
    margin: 0 15px;
    text-decoration: none;
    position: relative;
}

.footer-links a:not(:last-child):after {
    content: "";
    position: absolute;
    right: -15px;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 10px;
    background: #ddd;
}

.fs-cs-info {
    font-size: 14px;
    color: #666;
}

.fs-cs-info strong {
    color: #003366;
    font-size: 18px;
    margin-left: 5px;
}