@charset "UTF-8";
@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC:400,700&display=swap);

body {
  font-family: "Noto Sans TC", "微軟正黑體", "Microsoft JhengHei", "PingFang TC", "Helvetica Neue", Helvetica, Arial, sans-serif;
  width: 100%;
  overflow-x: hidden;
  font-size: 1rem;
  line-height: 1.5;
  color: #444444;
}
/* Gobal setting */
a {
  color: inherit;
  transition: all .25s linear;
}
a:focus, a:hover, a:active, a:visited {
  text-decoration: none;
  color: inherit;
}
ul, li {
  padding-left: 0;
  margin-bottom: 0;
}
dl, ol, ul {
  padding-inline-start: 20px;
}
button {
  background: none;
  border: 0;
  color: inherit;
  cursor: pointer;
  font: inherit;
  line-height: normal;
  overflow: visible;
  padding: 0;
  -webkit-appearance: button;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  transition: all .25s linear;
}
:focus {
  outline: 0;
}
.form-group {
  margin-bottom: 20px;
}
.form-group >label {
  font-weight: bold;
}
.form-group label {
  color: #444444;
}
.form-group .form-control,
.form-group .form-control:focus,
.form-group select {
  font-size: 1rem;
  line-height: 1.5;
  padding-left: 15px;
  padding-right: 15px;
  color: #444444;
  background-color: #fff;
  border: 1px solid #707070;
  border-radius: 4px;
}
.form-group .form-control:not(textarea),
.form-group .form-control:not(textarea):focus,
.form-group select {
  height: calc(2.375rem + 2px);
}
.quiz .form-group .form-control:not(textarea),
.quiz .form-group .form-control:not(textarea):focus,
.quiz .form-group select {
  height: calc(3rem + 2px);
}
.form-control::placeholder,
.form-control::-webkit-input-placeholder,
input::-webkit-input-placeholder,
::-webkit-input-placeholder {
  color: #444444;
}
.form-group textarea.form-control {
  border-color: #bebfbe;
}
.form-control[type="date"] {
  position: relative;
}
.form-control[type="date"]::after {
  position: absolute;
  content: '\f073';
  font-family: 'Font Awesome 5 Free';
  color: #564799;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.875rem;
}
input[type="date" i]::-webkit-calendar-picker-indicator {
  background-image: none;
}
.correct .form-check-label {
  color: #564799;
}
.form-check-input {
  margin-top: .5rem;
}
.form-group [type="submit"] {
  border: 0;
  padding: 0;
  transition: all .25s linear;
}
button:focus {
  outline: 0;
}
ul.disc,
ul.disc li {
  list-style: disc;
}
ul.disc {
  padding-left: 1.3125rem;
}
ul.square {
  list-style: none;
}
ul.square li {
  position: relative;
  padding-left: 18px;
}
ul.square li::before {
  position: absolute;
  content: '';
  display: block;
  width: 4px;
  height: 4px;
  background-color: #3565ad;
  left: 5px;
  top: 11px;
}
.modal-content {
  border: 0;
  border-radius: 0;
}
.modal-body {
  padding: 1.25rem;
}
.page-item.disabled .page-link {
  background-color: transparent;
  border: 0;
}
.page-link {
  border: 0;
  color: #444444;
  padding-top: 0;
  padding-bottom: 0;
  background-color: transparent;
  font-size: 1.125rem;
  font-weight: bold;
  padding: 0 9px;
}
.page-item.active .page-link,
.page-link:hover {
  color: #9881F4;
  background-color: transparent;
}
.page-item.active .page-link {
  font-weight: 700;
  border: 0;
}
.page-link:focus {
  box-shadow: none;
}
.pagination {
  align-items: center;
}
.limitLine {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
	white-space: normal;
}
.frcs {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: flex-start;
}
.frss {
  display: flex;
  flex-flow: row nowrap;
  align-items: flex-start;
  justify-content: flex-start;
}
.frsc {
  display: flex;
  flex-flow: row nowrap;
  align-items: flex-start;
  justify-content: center;
}
.frcc {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: center;
}
.frsb {
  display: flex;
  flex-flow: row nowrap;
  align-items: flex-start;
  justify-content: space-between;
}
.frcb {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: space-between;
}
.fccc {
  display: flex;
  flex-flow: column nowrap;
  align-items: center;
  justify-content: center;
}
.text-underline {
  text-decoration: underline;
}

h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6 {
  margin-bottom: 0;
}
h1, .h1 {
  font-size: 1.875rem;
  line-height: 2.625rem;
  color: #444444;
  font-weight: bold;
}
h2, .h2 {
  font-size: 1.5rem;
  line-height: 2.25rem;
  font-weight: bold
}
h3, .h3 {
  font-size: 1.25rem;;
  line-height: 2rem;
}
h4, .h4 {
  font-size: ;
  line-height: ;
}
h5, .h5 {
  font-size: ;
  line-height: ;
}
p, .p {
  margin-bottom: 0;
  line-height: 2.25rem
}
p:not(:last-child), .p:not(:last-child) {
  margin-bottom: 1.75rem;
}
span.require {
  color: #ff0000;
}
.layout {
  max-width: 1270px;
  width: 100%;
  margin: auto;
}
.icon,
.icon_b::before,
.icon_a::after {
  content: '';
  display: inline-block;
  vertical-align: middle;
}
.icon_b::before {
  width: ;
  height: ;
  background-image: url(../images/icon/);
  background-size: 100%;
  background-repeat: no-repeat;
}
.slick-dotted.slick-slider {
  margin-bottom: 0;
}
.open::after {
  border-width: 8.7px 5px 0 5px;
  border-color: #fff transparent transparent transparent;
  margin-left: .25rem;
  transition: all .35s;
}
.open[aria-expanded="true"]::after {
  transform: rotate(180deg);
}
.layout{
  max-width: 1310px;
  width: 100%;
  margin: auto;
}
.bg-whiteSmoke {
  background-color: #eeeeee!important;
}
.bg-lavenderBlush {
  background-color: #fff8fa!important;
}
.bg-sherpaBlue {
  background-color: #002536;
}
.bg-gradient {
  position: relative;
  background-color: #ffffff;
  z-index: 2;
}
.bg-gradient::after {
  position: absolute;
  content: '';
  display: block;
  height: 150px;
  width: 100%;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: -1;
  background-image: linear-gradient(to bottom, #ffffff, #eeeeee);
}
.btn-rect {
  border-radius: 4px;
  font-weight: bold;
  padding: 0 5px;
  min-width: 80px;
  height: 50px;
  line-height: 50px;
  display: inline-flex;
  justify-content: center;
  color: #ffffff!important;
}
.btn-pink:not(.empty) {
  background-color: #564799!important;
  color: #ffffff!important;
}
.btn-pink:hover,
.btn-pink:focus {
  background-color: #9881F4!important;
}
.btn-pink.empty {
  background-color: #ffffff;
  color: #564799!important;
  border: 1px solid #564799!important;
}
.btn-pink.empty:hover {
  color: #ffffff!important;
}
.btn-charcoal {
  background-color: #444444!important;
}
.btn-charcoal:hover,
.btn-charcoal:focus {
  background-color: #6A6A6A!important;
}
.btn-chambray {
  background-color: #455578!important;
}
.btn-chambray:hover {
  background-color: #506FB1!important;
}
.iconBtn {
  border-radius: 100%;
  width: 3.75rem;
  height: 3.75rem;
  line-height: 3.75rem;
  color: #ffffff;
  text-align: center;
  font-size: 36px;
}
.btn-answer[type="1"] {
  background-color: #03a47c;
}
.btn-answer[type="2"] {
  background-color: #707070;
}
.btn-file {
  flex-shrink: 0;
  background: #9881F4 url(../images/icon/icon_download.svg) no-repeat center center / 36px;
}
.more-link {
  color: #777777;
  font-size: .875rem;
}
.more-link i[class^='fa'] {
  font-size: .625rem;
  margin-left: .25rem;
}
.back-link {
  padding: 1.875rem 0 1.25rem;
  display: inline-block;
  font-weight: bold;
}

/* navbar */
.navbar {
  padding: 0;
  z-index: 99;
  width: 100%;
  background-color: transparent;
}
nav.navbar .layout {
  width: 100%;
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.navbar-brand {
  padding: .625rem 0;
}
.navbar-brand img {
  height: 68px;
  width: auto;
}
.navbar .nav-link {
  font-size: 1.125rem;
  line-height: 1.625rem;
  font-weight: bold;
  position: relative;
  transition: all .25s linear;
  color: #444444;
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
}
.navbar .nav-link:hover,
.navbar .nav-link.active,
.navbar .color .nav-link:hover,
.navbar .color .nav-link.active {
  color: #9881F4;
}
.navbar .line .nav-link::after {
  transition: all .25s linear;
  display: block;
  opacity: 0;
  content: '';
  position: absolute;
  width: 100%;
  height: 4px;
  background-color: #564799;
  bottom: -6px;
  left: 0;
}
.navbar .line .nav-link:hover::after,
.navbar .line .nav-link.active::after {
  /* opacity: 1; */
}
.navbar .nav-link .icon {
  display: inline-block;
  width: 22px;
  height: 22px;
  background-size: 100%;
  margin-right: 4px;
}
.navbar .nav-link .learning {
  background-image: url(../images/icon/menu-1.svg);
}
.navbar .nav-link .web {
  background-image: url(../images/icon/menu-2.svg);
}
.navbar .nav-link .faq {
  background: no-repeat center / auto 100% url(../images/icon/icon-faq.svg);
}
.navbar .nav-link .star {
  background-image: url(../images/icon/menu-3.svg);
}
.navbar .nav-link .score {
  background-image: url(../images/icon/menu-4.svg);
}
.navbar .nav-link .payment {
  background-image: url(../images/icon/menu-5.svg);
}
.navbar .nav-link .profile {
  background-image: url(../images/icon/menu-6.svg);
}
.normal .nav-link .member,
.loggedin .nav-link:hover .member {
  background-image: url(../images/icon/icon-login-person.svg);
}
.loggedin .nav-link .member {
  transition: all .25s linear;
  background-image: url(../images/icon/icon-login-person.svg);
}
.nav-item.login .member-name {
  color: #ffffff;
  border-radius: 22px;
  position: relative;
  background-color: #9881F4;
  font-size: 14px;
  padding: .375rem .75rem;
}
.nav-item.login .member-name::after {
  position: absolute;
  content: '';
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 17px 13px 0;
  bottom: -13px;
  right: 20px;
  border-color: transparent #9881F4 transparent transparent;
}
.navbar-nav .dropdown-menu {
  padding: 15px 0;
  background-color: transparent;
  border: 0;
  border-radius: 0;
}
.dropdown-item {
  font-size: 15px;
  line-height: 26px;
  font-weight: bold;
  padding: 0 15px;
  color: #fff!important;
}
.dropdown-item:focus,
.dropdown-item:hover {
  background-color: transparent;
  color: #fff;
}
.navbar-toggler {
  padding: .75rem 0;
  border: 0;
  position: absolute;
  top: 0;
  right: 12px;
  z-index: 2;
}
.navbar-toggler-icon {
  width: 30px;
  height: 30px;
  background-image: url(../images/icon/icon_close.svg);
  background-size: 100%;
}
.collapsed .navbar-toggler-icon {
  background-image: url(../images/icon/menu_open.svg);
}
body:not(.index) .navbar-toggler-icon {
  /* background-image: url(../images/icon/); */
}
[aria-expanded="true"] .navbar-toggler-icon {
  /* background-image: url(../images/icon/); */
}

/* footer */
.footer {
  color: #444444;
  background-color: #fff;
  padding: 20px 0;
}
.footer-content {
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  justify-content: center;
}
.footer-logo {
  font-weight: bold;
  font-size: 1.5rem;
}
.footer-logo img {
  width: 296px;
  height: auto;
}
.footer-links {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.footer-links li {
  margin-bottom: 6px;
}
.footer-links li .icon {
  width: 1.5rem;
  height: 1.5rem;
  margin-right: .5rem;
}
.footer-links .icon.tel {
  background-image: url(../images/icon/footer-1.svg);
}
.footer-links .icon.email {
  background-image: url(../images/icon/footer-2.svg);
}
.footer-links .icon.address {
  background-image: url(../images/icon/footer-3.svg);
}

.slick-dots {
  bottom: -45px;
}
.slick-dots li {
  width: 15px;
  height: 15px;
  margin: 0 5px;
}
.slick-dots li button:before {
  display: none;
}
.slick-dots li.slick-active button {
  background-color: #676767;
}
.slick-dots li button {
  width: 15px;
  height: 15px;
  padding: 0;
  border-radius: 100%;
  border: 0;
  background-color: #a8a8a8;
}
.slick-dots li.slick-active button:before {
  display: none;
}
.slick-dotted.slick-slider {
  margin-bottom: 0;
}
.slick-arrow {
  height: 2.5rem;
  width: 2.5rem;
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
  cursor: pointer;
  transition: all .2s linear;
}
.slick-arrow:hover {
  filter: brightness(1.1);
}
.slide-arrow-left {
  left: 15px;
}
.slide-arrow-right {
  right: 15px;
}
.bg-wrapper {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.btn-top {
  background: url(../images/icon/back-to-top.svg);
  background-size: 100%;
  position: fixed;
  height: 2.75rem;
  width: 2.75rem;
  bottom: 20px;
  right: 40px;
  display: none;
  cursor: pointer;
  transition: all 0.3s ease-in-out;
  z-index: 999;
}

.index-hero .layout {
  max-width: 1280px;
}
.index-banner .slider-item .bg-wrapper {
  padding-bottom: 26.5625%;
}
.search-filter {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}
.search-filter .page-head {
  margin-bottom: 2.5rem;
}
.search-filter .form-group label {
  flex-shrink: 0;
}

.course-list >li + li {
  margin-top: .9375rem;
}
.course-list .course-list-wrapper {
  padding: 1.875rem 1.25rem ;
  background-color: #ffffff;
  position: relative;
  box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.30), 0px 2px 6px 2px rgba(0, 0, 0, 0.15);
  transition: all .25s ease-out;
}
.course-list .course-list-wrapper:hover {
  background-color: #F4F9FF;
}
.course-list .cover {
  position: relative;
}
.course-list .cover .bg-wrapper {
  padding-bottom: 61.43345%;
}
.course-list .cover .cover-label {
  padding: .5rem;
  border-radius: 4px;
  font-size: .875rem;
  line-height: 1.2;
  background: #9881F4;
  color: #fff;
  text-transform: uppercase;
  position: absolute;
  z-index: 1;
  left: -11px;
  top: -14px;
}
.course-list .detail {
  font-size: .875rem;
}
.course-list .detail .timetable > div + div {
  margin-top: 2px;
}
.course-title {
  font-weight: bold;
  color: #000000;
}
.course-list .course-title {
  font-size: 1.5rem;
  margin-top: 5px;
  margin-bottom: 10px;
}
.course-list .sponsor-row {
  margin-top: .625rem;
  padding-top: .625rem;
  border-top: solid 1px #000;
}
.course-list .score .time {
  width: 247px;
}
.tag-group {
  flex-flow: row wrap;
}
.tag {
  border-radius: 16px;
  font-size: .875rem;
  padding: 6px 14px;
  margin: 0 .625rem .625rem 0;
  background-color: #ffffff;
  transition: all .25s;
}
[category="1"] .tag:not(.empty),
[category="1"] .card-heading,
.progress-bar .step,
[category="1"] .step {
  background-color: #6C5CBC;
  color: #ffffff;
}
[category="1"] .tag.empty,
.tag.keywords {
  border: 1px solid#6C5CBC;
  color: #6C5CBC;
}
[category="2"] .tag:not(.empty),
[category="2"] .card-heading,
[category="2"] .step {
  background-color: #6D96FF;
  color: #ffffff;
}
[category="2"] .tag.empty {
  border: 1px solid#6D96FF;
  color: #6D96FF;
}
[category="3"] .tag:not(.empty),
[category="3"] .card-heading,
[category="3"] .step {
  background-color: #68AE8E;
  color: #ffffff;
}
[category="3"] .tag.empty {
  border: 1px solid#68AE8E;
  color: #68AE8E;
}
[category="4"] .tag:not(.empty),
[category="4"] .card-heading,
[category="4"] .step {
  background-color: #FF8966;
  color: #ffffff;
}
[category="4"] .tag.empty {
  border: 1px solid#FF8966;
  color: #FF8966;
}
[category="5"] .card-heading,
[category="5"] .step {
  background-color: #707070;
  color: #ffffff;
}
[category="5"] .tag.empty {
  border: 1px solid#707070;
  color: #707070;
}
.index-list {
  padding-bottom: 4.375rem;
}

/* result */
.result .search-filter {
  padding-bottom: 1.25rem;
}
.result-num {
  margin-top: 2.5rem;
}
.result .bg-gradient::after {
  bottom: auto;
  top: 0;
}

/* course */
.banner-hero {
  padding-top: 1.875rem;
}
.banner-hero .layout {
  max-width: 40.625rem;
}
.img-heading {
  position: relative;
}
.img-heading .bg-wrapper {
  padding-bottom: 21.54%;
}
.img-heading h1 {
  top: 50%;
  left: 50%;
  color: #455578;
  transform: translate(-50%, -50%);
}
.course-main {
  padding-top: 3.75rem;
  padding-bottom: 3.75rem;
}
.course-main .row div[class^="col-"] {
  margin-bottom: 2.5rem;
}
.courseCard {
  border-radius: 4px;
  box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);
  background-color: #ffffff;
  /* margin-bottom: 2.5rem; */
  height: 100%;
}
.courseCard > div {
  padding: 1.25rem 1.875rem;
}
.progress-group {
  max-width: 125px;
  width: 100%;
  margin-right: .9375rem;
}
.progress-bar {
  background-color: #e4e4e4;
  height: 20px;
  width: 100%;
  position: relative;
}
.progress-bar .step {
  height: 100%;
  top: 0;
  left: 0;
  bottom: 0;
}
.courseCard .action-group {
  flex-grow: 1;
  max-width: 130px;
}
.courseCard .btn-rect {
  width: 100%;
}
.courseCard .action-group .btn-rect.bg-whiteSmoke:not(:hover) {
  color: #444444!important;
}
.courseCard .action-group .btn-rect.bg-whiteSmoke:hover {
  background-color: #9881F4!important;
}

/* course_detail */
.detailBoard {
  border-radius: 4px;
  padding: 1.75rem 6.25rem 2.5rem;
}
body:not(.mycourse) .detailBoard {
  box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);
  background-color: #ffffff;
}
.detailBoard .detail {
  width: 100%;
}
.detailBoard .course-title {
  margin-bottom: 1.875rem;
}
.detailBoard .cover .bg-wrapper {
  padding-bottom: 61.4584%;
}
.course-info .info-item + .info-item {
  border-top: solid 1px #bebfbe;
  padding-top: .5rem;
  margin-top: .5rem;
}
.detailBoard .btn-rect {
  min-width: 170px;
}
.detailBoard .btn-rect i[class^="fa"] {
  margin-left: 6px;
  font-size: 1.25rem;
}
.intro-head {
  font-weight: bold;
  padding-left: 10px;
  border-left: 4px solid #564799;
  line-height: 1.1;
}
.detailBoard .intro .part {
  margin-top: 3.75rem;
  margin-bottom: 3.75rem;
}
.detailBoard .intro .part p {
  font-size: .875rem;
  line-height: 1.5;
}
.detailBoard .sponser-row img {
  height: 5.625rem;
}

.coursePoints b {
  font-size: 1.125rem;
  flex-shrink: 0;
}
.finish .coursePoints b,
.finish .coursePoints b span {
  color: #9f9f9f;
}
.coursePoints b span {
  font-size: 2.25rem;
  color: #564799;
}
.mycourse .detailBoard .btn-rect {
  min-width: 114px;
}
.mycourse .detailBoard .intro .part {
  margin-top: 2.5rem;
  margin-bottom: 2.5rem;
}
.finish.mycourse .coursePoints .btn-rect {
  height: 2rem;
  line-height: 2rem;
  border-radius: 20px;
}
.quiz-list li + li {
  margin-top: 1.25rem;
}
.quiz-list li .wrapper {
  padding: 1.25rem;
  position: relative;
  border-radius: 4px;
  background-color: #f5f5f5;
  box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);
}
.quiz-list li:nth-child(odd) .wrapper {
  background-color: #f5f8ff;
}
.quiz-list .course-title {
  margin-bottom: 0;
}
.quiz-list .action-row {
  margin-top: 1.25rem;
}

/* quiz */
.quiz h1 {
  font-size: 1.875rem;
  line-height: 2.625rem;
  margin-bottom: 1.25rem;
}
.quiz-main {
  padding: 2.375rem 0;
  min-height: 100vh;
}
.quiz-main .layout {
  max-width: 1110px;
}
.quizBoard {
  background-color: #ffffff;
  border: 10px solid #eeeeee;
  padding: 2.5rem 4.0625rem;
}
.quizBoard .action-row,
.quiz .modal-body .action-row,
.quizBoard .coursePoints {
  margin-top: 2.5rem;
}
.quiz-group {
  margin-top: 1.25rem;
}
.quiz-item + .quiz-item {
  border-top: solid 1px #bebfbe;
  margin-top: 1.25rem;
  padding-top: 1.25rem;
}
.quiz-item .form-check + .form-check {
  margin-top: .5rem;
}
.quiz-item figure,
.quiz-item .form-check-label figure {
  max-width: 300px!important;
  width: 300px!important;
}
.quiz-item figure img,
.quiz-item .form-check-label figure img {
  max-width: 100%;
  height: auto;
}
.quiz .modal-body {
  min-height: 240px;
}
.modal-body .title {
  color: #564799;
}
.quiz-answer {
  right: -5rem;
}
.video-wrapper {
  overflow: hidden;
  padding-top: 56.25%;
  position: relative;
}
.video-wrapper iframe {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
.quiz2 .progress-group {
  max-width: 100%;
  margin-top: 1.875rem;
}
.download-list {
  margin-top: 2.5rem;
}
.download-list li + li {
  margin-top: 1.25rem;
}
.download-list li a {
  font-weight: bold;
}
.download-list li a:hover {
  color: #564799;
}
.detailed-des {
  padding: 1.25rem;
}

/* score */
.score-main {
  padding-bottom: 7.75rem;
}
.info-notice {
  border-radius: 25px;
  margin-bottom: 1.875rem;
}
.info-notice b {
  color: #564799;
}
.info-notice [class^="fa"] {
  font-size: 1.6875rem;
}
.table-name {
  text-align: center;
}
.table {
  table-layout: fixed;
  margin-bottom: 0;
}
.table tbody tr {
  background-color: #ffffff;
}
.table .tag {
  background-color: transparent;
  color: #444444;
  margin-bottom: 0;
}
.score-main .table .btn-rect {
  font-size: .875rem;
  min-width: auto;
  width: 60px;
  height: 32px;
  line-height: 32px;
}

/* login */
.profile-main,
.login-main {
  padding-top: 4.375rem;
  padding-bottom: 5.25rem;
  min-height: calc(100vh - 170px);
}
.profile-main .layout {
  max-width: 840px;
}
.profile-main h1,
.signup-main h1 {
  margin-bottom: 1.875rem;
}
.profile.member .member-form {
  margin-top: .625rem;
}
.member-form {
  max-width: 31.25rem;
  width: 100%;
  margin: auto;
}
.unmodifiable .form-group + .form-group {
  padding-top: 20px;
  border-top: solid 1px #bebfbe;
}
.member-form .form-group .form-control {
  border-color: #bebfbe;
}
.profile.company .form-group.position-relative {
  flex-direction: column;
}
.profile.company .action-row {
  margin-top: 1.875rem;
}
#editPswModal .modal-body .action-row {
  margin-top: .625rem;
}
#editPswModal .modal-body {
  padding: 1.875rem 3.125rem;
}

/* login */
.login-main {
  padding-top: 5.125rem;
  padding-bottom: 8.5rem;
}
.login-main .layout {
  max-width: 530px;
}
.login-main .nav-pills {
  margin-top: 2.1875rem;
  margin-bottom: 1.875rem;
}
.nav-pills .nav-item:first-child .nav-link {
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
}
.nav-pills .nav-item:last-child .nav-link {
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
}
.nav-pills .nav-link {
  width: 180px;
  text-align: center;
  height: 50px;
  line-height: 50px;
  padding: 0;
  background-color: #ffffff;
  border: 1px solid #564799;
  color: #564799;
  border-radius: 0;
}
.nav-pills .nav-link.active,
.nav-pills .show>.nav-link {
  background-color: #564799;
}
ul.list {
  margin-bottom: 2.1875rem;
}
li.list-item {
  padding-left: 13px;
  position: relative;
}
li.list-item + li.list-item {
  margin-top: .625rem;
}
li.list-item::before {
  content: '';
  position: absolute;
  background-color: #564799;
  display: block;
  width: 6px;
  height: 6px;
  left: 1px;
  top: 9px;
}
.g-recaptcha > div {
  margin: 1.25rem auto 2.5rem!important;
}

/* forget */
.forget .g-recaptcha > div {
  margin-top: 2.5rem!important;
}
#confirmModal .action-row {
  margin-top: 1.875rem;
}

/* signup */
.signup-main {
  padding-top: 4.375rem;
  padding-bottom: 6.25rem;
}
.signup-main .layout {
  max-width: 750px;
}
.modal-dialog-scrollable .modal-body {
  padding-top: 2.8125rem;
  padding-bottom: 3.125rem;
}
.modal-body-wrapper *:not(.terms-item-title) {
  font-size: .875rem;
  line-height: 1.5rem;
}
.terms-list-item li + li {
  margin-top: .625rem;
}
.terms-list-item 
.terms-item-title {
  font-weight: bold;
  padding-left: 10px;
  line-height: 1.2;
  margin: 1rem 0;
  border-left: 4px solid #564799;
}

/* line_loggedin */
.line-loggedin-board {
  border-radius: 4px;
  background-color: #ffffff;
  padding: 1.875rem 1.25rem;
  font-weight: bold;
}
.line-loggedin-board .name {
  font-size: 1.25rem;
  color: #455578;
}

/* certificate */
.certificate {
  display: flex;
  align-items: center;
  height: 100vh;
  /* padding-top: 14.286vw; */
}
.certificate .layout {
  width: 76.857vw;
}
.certificate .main {
  font-size: 2.857vw;
  margin-top: 5.905vw;
}
.certificate .main .user {
  margin-left: 3.809vw;
  margin-right: 3.809vw;
}
.certificate .main .user .name + .ID {
  margin-left: 4vw;
}
.certificate .main .lecture-name,
.certificate .main ul,
.certificate .main li + li {
  margin-top: 2.847vw;
}
.certificate .main li .left {
  flex-shrink: 0;
}
.certificate .main li .right div + div {
  margin-left: .5vw;
}
.certificate .main li .right div {
  flex-shrink: 0;
}
.certificate .main .note {
  font-size: 1.428vw;
  margin-top: 1.428vw;
}
.certificate .bottom {
  font-size: 2.19vw;
  margin-top: 13.333vw;
}
.certificate .bottom .left img {
  width: 24.762vw;
}
.certificate .bottom .right {
  margin-left: 8.667vw;
  flex-grow: 1;
}
.certificate .bottom .right img {
  width: 19.048vw;
}
.certificate .bottom .right .bottom {
  margin-top: 3.81vw;
}
.certificate .bottom .right .label-name {
  margin-left: 2.381vw;
}
.certificate .bottom .date {
  letter-spacing: 3vw;
  margin-top: 8.095vw;
}

/* thanks */
.thanksP-main {
  padding-top: 1.875rem;
  padding-bottom: 4rem;
}
.thanksP-main .layout {
  max-width: 1098px;
}
.thanksP-main div[class^="col-"] {
  margin-bottom: 2.25rem;
}
.companyCard {
  padding: 1.25rem .75rem;
  background-color: #ffffff;
  height: 100%;
}
.companyCard .card-thumbnail {
  width: 60%;
  margin: 0 auto;
}
.companyCard .card-thumbnail .bg-wrapper {
  padding-bottom: 100%;
}
.companyCard .card-body {
  padding: 0;
  text-align: center;
}
.companyCard .card-body .en {
  font-size: 14px;
  line-height: 24px;
}

.course-list li .cover > .thumbnail {
  position: relative;
}
.course-list li .cover > .thumbnail.live {
  border: 4px inset #FF0000;
}
.thumbnail.live .cover-tag {
  background-color: #FF0000;
}
.thumbnail:not(.live) .cover-tag {
  background-color: #9881F4;
}
.cover-tag {
  position: absolute;
  top: -12px;
  left: -12px;
  display: inline-block;
  font-size: 14px;
  line-height: 20px;
  color: #ffffff;
  padding: 6px 8px;
  border-radius: 4px;
  font-weight: bold;
}
.live .cover-tag::before {
  display: inline-block;
  content: '';
  width: 8px;
  height: 8px;
  border-radius: 100%;
  background-color: #ffffff;
  margin-right: 4px;
}

.category-item {
  margin-right: 23px;
}
.category-item a {
  font-size: 18px;
  font-weight: bold;
  padding: 3px;
  border-bottom: 4px solid transparent;
}
.category-item.active a,
.category-item:hover a {
  border-bottom-color: #9881F4;
}

/* registration */
.registration-main {
  padding-top: 4.375rem;
  padding-bottom: 5.25rem;
  min-height: calc(-170px + 100vh);
}

.registration-form {
  max-width: 31.25rem;
  width: 100%;
  margin: auto;
}
.notice-block {
  border-radius: 10px;
  padding: 1rem;
  background-color: #EDECFF;
  margin-bottom: 20px;
}
.notice-block .form-group {
  margin-bottom: 0;
}
.notice-block label {
  margin-bottom: 0;
  font-size: 1.1rem;
}
.desc-text label {
  font-size: 1.25rem;
}
#bankModal .payment-section {
  margin-bottom: 1.5rem;
}

#bankModal .payment-section h3 {
  color: #564799;
  font-size: 1.125rem;
  font-weight: bold;
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid #eeeeee;
}

#bankModal .bank-info-card {
  background-color: #f4f9ff;
  border: 1px solid #564799;
  border-radius: 4px;
  padding: 1.25rem;
  margin: 1rem 0;
}

#bankModal .bank-detail {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin: 0.5rem 0;
  padding: 0.5rem 0;
  text-align: left;
}

#bankModal .bank-detail strong {
  color: #444444;
  font-weight: bold;
  margin-right: 0.5rem;
  flex-shrink: 0;
}

#bankModal .bank-detail span {
  font-weight: 600;
  color: #564799;
}

#bankModal .payment-method-card {
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 1.25rem;
  background: #fefefe;
  margin: 0.75rem 0;
}

#bankModal .payment-method-card h4 {
  color: #564799;
  font-size: 1rem;
  font-weight: bold;
  margin-bottom: 0.625rem;
}

#bankModal .payment-method-card p {
  color: #6b7280;
  font-size: 0.875rem;
  line-height: 1.5;
  margin-bottom: 0;
}

#bankModal .warning-text {
  background: #f4f9ff;
  border-radius: 8px;
  padding: 0.9375rem;
  margin: 0.9375rem 0;
}

#bankModal .warning-text strong {
  color: #ff8966;
}

#bankModal .email-form-card {
  background-color: #f4f9ff;
  border: 1px solid #564799;
  border-radius: 4px;
  padding: 1.25rem;
  margin: 1rem 0;
}

#bankModal .form-field {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin: 0.5rem 0;
  padding: 0.5rem 0;
}

#bankModal .form-field strong {
  color: #444444;
  font-weight: bold;
  min-width: 100px;
  flex-shrink: 0;
  margin-right: 0.5rem;
}

#bankModal .form-field span {
  color: #444444;
  text-align: left;
}

#bankModal .contact-info-card {
  background: #eff6ff;
  border-radius: 4px;
  padding: 1.25rem;
  text-align: center;
  margin: 1rem 0;
}

#bankModal .contact-info-card h3 {
  color: #564799;
  margin-bottom: 0.75rem;
  border-bottom: none;
}

#bankModal .contact-info-card p {
  color: #444444;
}

#bankModal .email-link {
  color: #2563eb;
  text-decoration: none;
  font-weight: 500;
  margin: 0 0.5rem;
}

#bankModal .email-link:hover {
  text-decoration: underline;
}


@media screen and (min-width: 1200px) {
  .navbar {
    padding-left: 0;
    padding-right: 0;
  }
  .navbar .layout {
    display: flex;
    flex-flow: row nowrap;
    -ms-flex-pack: start;
    justify-content: flex-start;
    padding-left: 15px;
    padding-right: 15px;
  }
  .navbar-nav {
    align-items: center;
  }
  .navbar-nav .dropdown-toggle::after {
    margin: 0 0 -2px 2px;
    border-width: 8.7px 5px 0 5px;
    transition: all .35s ease-out;
  }
  .navbar-nav .nav-item + .nav-item {
    transition: all .35s;
    padding-left: 40px;
  }
  .loggedin .nav-item + .nav-item {
    padding-left: .9375rem;
  }
  .navbar-expand-xl .navbar-nav .nav-link {
    padding: 0;
  }
  .navbar-expand-xl .navbar-nav.loggedin .nav-link {
    font-size: 1rem;
  }
  .loggedin.navbar-brand img {
    height: 49px;
    width: auto;
  }

  main {
    min-height: calc(100vh - 170px);
  }

  .search-filter .filter-1 .form-control {
    max-width: 12.5rem;
    width: 12.5rem;
  }
  .search-filter .filter-2 .form-control {
    max-width: 35rem;
    width: 35rem;
  }
  .search-filter .form-control[type="date"] {
    max-width: 15rem;
    width: 15rem;
  }

  .index .search-filter .filter-1 .form-control,
  .result .search-filter .filter-1 .form-control {
    max-width: 12rem;
    width: 12rem;
  }
  .index .search-filter .filter-2 .form-control,
  .result .search-filter .filter-2 .form-control {
    max-width: 17rem;
    width: 17rem;
  }

  /* course */
  .progress-group {
    max-width: 170px;
  }
  .course-main .row {
    margin-left: -20px;
    margin-right: -20px;
  }
  .course-main div[class^="col-"] {
    padding-left: 20px;
    padding-right: 20px;
  }

  /* quiz */
  .quiz-main {
    /*background: url(../images/icon/img_2-2-2A.svg) no-repeat 4.583vw 93.5% / 14.0625vw auto,*/
    /*url(../images/icon/img_2-2-2B.svg) no-repeat 82.03125vw 93.5% / 14.0625vw auto;*/
    /*background-attachment: fixed;*/
    background: url(../images/icon/bg_course.png) bottom center no-repeat;
    background-size: cover;
    background-attachment: fixed;
  }
}
@media screen and (min-width: 768px) {
  .inlineI {
    display: inline-block;
    vertical-align: middle;
  }
  .quiz .form-group label {
    font-size: 1.125rem;
  }
  .form-inline .form-group label {
    margin-right: 1.25rem;
  }
  .footer-links li {
    /* margin-right: 1.875rem; */
  }

  .course-list .course-list-wrapper {
    gap: 25px;
  }
  .course-list .cover {
    width: 25.242%;
    flex-shrink: 0;
  }
  .course-list .detail {
    flex-grow: 1;
  }
  .course-list .detail .des {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal;
    line-clamp: 2;
    -webkit-line-clamp: 2;
    max-height: 42px;
  }
  .course-list .detail .des img {
    width: 100%;
  }

  /*.courseCard:not([category="5"]) .action-group {*/
  /*  margin-top: -58px;*/
  /*}*/

  /* course_detail */
  .courseD-main {
    padding-bottom: 3.75rem;
  }
  .detailBoard .top .detail {
    width: 48.7963%;
    margin-right: 1.25rem;
  }
  .detailBoard .top .cover {
    width: 44.4445%;
  }
  .intro-head {
    font-size: 1.125rem;
  }
  
  /* course_detail2 */
  .mycourse .detailBoard .top .detail {
    width: 64.815%;
  }
  .mycourse .detailBoard .top .cover {
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-end;
    flex-grow: 1;
  }
  .quiz-list .course-title {
    padding-right: 10.25rem;
    font-size: 1.375rem;
    line-height: 2rem;
  }
  .quiz-list .progress-group {
    max-width: 270px;
  }
  .mycourse .quiz-list .btn-rect {
    min-width: 130px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 20px;
  }

  /* quiz */
  .quiz .modal-dialog {
    max-width: 400px;
  }
  .modal-body .title {
    font-size: 1.375rem;
  }
  .quiz-group .quiz-item .control-group {
    position: relative;
    width: calc(100% - 5rem);
  }
  .quiz-answer {
    top: 50%;
    transform: translateY(-50%);
  }
  .answer-action {
    justify-content: space-between;
  }
  .quiz2 .progress-group .info .position-absolute {
    left: calc(60% - 52px);
  }

  .download-list li a {
    font-size: 1.125rem;
    line-height: 1.625rem;
  }

  /* score */
  .info-notice {
    background-color: #ffffff;
    padding: .75rem 3.125rem;
  }
  .info-label {
    font-size: 1.125rem;
  }
  .table-name {
    font-size: 1.125rem;
    margin-bottom: 1.25rem;
  }
  .table tbody tr:nth-child(odd) {
    background-color: #f4f9ff;
  }
  .table thead th,
  .table td,
  .table th {
    vertical-align: middle;
  }
  .table thead th {
    background-color: #444444;
    color: #ffffff;
    padding: 7px 10px 7px 40px;
    border-bottom: 0;
  }
  .table tbody th,
  .table tbody td {
    font-weight: normal;
    padding: 12px 10px 12px 40px;
    color: #444444;
    border-top: 0;
  }
  .table thead th:nth-child(1) {
    width: 15.625%;
  }
  .table thead th:nth-child(2) {
    width: 54.53125%;
  }
  .table thead th:nth-child(3) {
    width: 13.28125%;
  }
  .table thead th:nth-child(4) {
    width: 14.296857%;
  }
  .table .tag {
    border: 1px solid #444444;
  }
  .score-main .table thead th:nth-child(1) {
    width: 15.625%;
  }
  .score-main .table thead th:nth-child(2) {
    width: 49.843%;
  }
  .score-main .table thead th:nth-child(3),
  .score-main .table tbody td:nth-child(3) {
    padding-left: 20px;
  }
  .score-main .table thead th:nth-child(3) {
    width: 11.719%;
    flex-shrink: 0;
  }
  .score-main .table thead th:nth-child(4) {
    width: 13.828%;
  }
  .score-main .table thead th:nth-child(5),
  .score-main .table tbody td:nth-child(5) {
    padding-left: 10px;
  }

  /* login */
  .nav-pills .nav-link {
    font-size: 1.125rem;
  }

  /* signup */
  .modal-dialog-scrollable .modal-body {
    padding-left: 7.5rem;
    padding-right: 7.5rem;
  }
  .terms-item-title {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 1320px) and (min-width: 1200px) {
  .loggedin .nav-item + .nav-item {
    padding-left: 14px;
  }
}
@media screen and (max-width: 1199px) and (min-width: 768px) {

  main {
    min-height: calc(100vh - 128px);
  }

  /* index */
  .index .search-filter .filter-2,
  .index .search-filter .filter-2 + .form-group.justify-content-center,
  .result .search-filter .filter-2,
  .result .search-filter .filter-2 + .form-group.justify-content-center {
    margin-top: 10px!important;
  }

  /* course_detail */
  .detailBoard {
    padding-left: 5.2083vw;
    padding-right: 5.2083vw;
  }

  /* score */
  .table thead th,
  .table tbody th,
  .table tbody td {
    padding-left: 10px;
  }
  .table thead th:nth-child(2) {
    width: 39.53125%;
  }

  /* lottery */
  .prize-block {
    width: 500px;
    height: 500px;
  }
  .prize-block .label {
    font-size: 24px;
  }
  .prize-block .gift {
    font-size: 32px;
  }
}
@media screen and (max-width: 1199px) {
  .navbar {
    position: relative;
  }
  .navbar::after {
    position: absolute;
    content: '';
    width: 100%;
    height: 10px;
    left: 0;
    right: 0;
    top: 54px;
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0));
  }
  .navbar .layout {
    padding-left: 0;
    padding-right: 0;
  }
  .navbar-nav {
    width: 100%;
  }
  .navbar-brand {
    padding: .25rem 1.25rem;
  }
  .navbar-brand img {
    height: 2.875rem;
  }
  .navbar-collapse {
    background-color: #f5f5f5;
    padding: 1.25rem 1.875rem;
    min-height: calc(100vh - 54px);
  }
  .navbar-nav .nav-item + .nav-item {
    padding-top: 1.125rem;
  }
  .navbar-nav .nav-item.login {
    border-top: solid 1px #bebfbe;
    margin-top: 1.25rem;
  }
  .normal .nav-item.login .nav-link {
    color: #564799;
  }
  .loggedin .nav-item.login .nav-link {
    color: #455578;
  }
  .navbar-nav .nav-item:not(.login) .nav-link {
    font-size: 1rem;
    line-height: 1.5;
  }
  .navbar-nav .nav-item:not(.login) .nav-link .icon {
    display: none;
  }
  .navbar-nav .nav-link {
    padding: 0;
  }
  .navbar-nav .nav-item.dropdown + .nav-item.dropdown {
    border-top: 1px solid #fff;
  }
  .navbar-nav .dropdown-menu {
    padding: 0 0 9px;
  }
  .dropdown-item {
    font-size: 18px;
    line-height: 26px;
    padding: 7px 50px;
    white-space: pre-wrap;
  }
}
@media screen and (max-width: 767px) {
  .nopad {
    padding-left: 0!important;
    padding-right: 0!important;
  }
  div[class^="col-"] {
    padding-left: 20px;
    padding-right: 20px;
  }
  .wrapSM {
    flex-wrap: wrap;
    flex-direction: column;
  }
  h1, .h1 {
    font-size: 1.25rem;
    line-height: 1.5;
  }
  h2, .h2 {
    font-size: 1rem;
    line-height: 1.5rem;
  }
  h3, .h3 {
    font-size: ;
    line-height: ;
  }
  h4, .h4 {
    font-size: ;
    line-height: ;
  }
  h5, .h5 {
    font-size: ;
    line-height: ;
  }
  p, .p {
    font-size: ;
    line-height: ;
  }
  p:not(:last-child),
  .p:not(:last-child) {
    margin-bottom: 25px;
  }

  .btn-top {
    width: 2.5rem;
    height: 2.5rem;
    right: 15px;
    background: url(../images/icon/back-to-top320.svg);
    background-size: 100%;
  }

  /* footer */
  body:not(.lineLogin) .footer {
    background-color: #ffffff!important;
  }
  .footer {
    padding: 1.25rem 0 1.125rem;
    border-top: solid 1px #e9e9e9;
  }
  .footer .layout {
    width: 325px;
  }
  .footer .col-12 {
    flex-direction: column;
    align-items: flex-start;
  }
  .footer-logo {
    align-self: center;
  }
  .footer-links {
    flex-direction: column;
    align-items: flex-start;
    padding-inline-start: 0;
    margin-bottom: 1.25rem;
    margin-top: .5rem;
  }
  .footer-links li + li {
    margin-top: .5rem;
  }
  .footer-links li {
    font-size: .875rem;
  }
  .lineLogin {
    min-height: 100vh;
    background-color: #eeeeee;
  }
  .lineLogin .footer-copyright {
    font-size: 13px;
    line-height: 20px;
  }

  .slick-arrow {
    width: 1.875rem;
    height: 1.875rem;
  }
  .slide-arrow-left {
    left: 10px;
  }
  .slide-arrow-right {
    right: 10px;
  }

  .form-group,
  .form-inline .form-group {
    margin-bottom: 10px;
  }
  .form-group .form-control:not(textarea),
  .form-group .form-control:not(textarea):focus,
  .form-group select {
    height: calc(2.375rem + 2px);
  }
  .form-group .form-control,
  .form-group .form-control:focus,
  .form-group select {
    font-size: .875rem;
  }

  .btn-rect {
    font-size: .875rem;
    min-width: 96px;
    height: 42px;
    line-height: 42px;
  }
  .iconBtn {
    width: 2.125rem;
    height: 2.125rem;
    line-height: 2.125rem;
    font-size: 1rem;
  }
  .btn-file {
    width: 3rem;
    height: 3rem;
    background-size: 29px;
  }

  .wrap-sm {
    flex-direction: column;
    flex-wrap: wrap;
  }

  main {
    min-height: calc(100vh - 283px);
  }

  /* index */
  .index-hero .col-12 {
    padding-left: 0;
    padding-right: 0;
  }
  .index-banner .slider-item .bg-wrapper {
    padding-bottom: 58.75%;
  }

  .search-filter {
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
  }
  .search-filter .page-head {
    margin-bottom: 1.5rem;
  }
  .search-filter form {
    flex-direction: column;
    align-items: flex-start;
    width: 280px;
    margin: auto;
  }
  .search-filter .form-group {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-flow: row nowrap;
    width: 100%;
  }
  .search-filter .form-group label {
    margin-bottom: 0;
    font-size: .875rem;
  }
  .search-filter .form-control {
    width: 204px;
  }
  .course-list .course-list-wrapper {
    padding: 1.25rem 1.25rem .9375rem;
    flex-direction: column;
  }
  .course-list .course-list-wrapper > div {
    width: 100%;
  }
  .course-list .des,
  .course-list .sponsor-row {
    display: none;
  }
  .course-list .cover {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-around;
    align-items: center;
    margin-bottom: .625rem;
  }
  .course-list .cover .thumbnail {
    flex-grow: 1;
  }
  .course-list .title {
    order: -1;
    margin: 0 .625rem 0 0;
    width: 50.77%;
    font-weight: bold;
    font-size: 1rem;
    line-height: 1.5rem;
  }
  .course-list .more-link {
    /* position: absolute;
    padding-right: 20px;
    left: 0;
    bottom: 20px; */
    text-align: right;
    margin-top: 4px;
  }
  .tag {
    font-size: .8125rem;
    line-height: 1.625rem;
    padding: 1px 14px;
    margin-bottom: 6px;
  }
  .index-list {
    padding-bottom: 3.125rem;
  }

  .page-head svg {
    width: 27px;
    height: 27px;
  }
  .result-num {
    margin-top: 1.875rem;
    font-size: .875rem;
  }

  /* course */
  .banner-hero {
    padding: 1.25rem .625rem 0;
  }
  .course-main {
    padding-top: 1.25rem;
    padding-bottom: 2.5rem;
  }
  .course-main .row {
    margin-left: -10px;
    margin-right: -10px;
  }
  .course-main .container-fluid,
  .course-main div[class^="col-"] {
    padding-left: 10px;
    padding-right: 10px;
  }
  .course-main .row div[class^="col-"] {
    margin-bottom: .625rem;
  }
  .courseCard > div {
    padding: .9375rem 1.25rem;
  }
  .courseCard .card-body {
    font-size: .875rem;
  }
  .courseCard .info-item {
    display: flex;
    flex-flow: row nowrap;
    align-items: flex-start;
  }
  .courseCard .info-item b {
    width: 115px;
    flex-shrink: 0;
    margin-right: .9375rem;
  }
  .courseCard .info-item div {
    flex-grow: 1;
  }
  .courseCard .action-row {
    flex-direction: column;
  }
  .courseCard .progress-group {
    max-width: 100%;
    margin: 0 0 .9375rem;
  }
  .courseCard .action-group {
    flex-flow: row nowrap;
    display: flex;
    align-self: center;
    max-width: 100%;
  }
  .courseCard .action-group .btn-rect {
    min-width: 118px;
  }
  .courseCard .action-group .btn-rect + .btn-rect {
    margin-left: .625rem;
  }

  /* course_detail */
  .courseD-main .action-row.d-md-none {
    margin-top: 1.875rem;
  }
  .courseD-main .progress-group {
    max-width: calc(100% - 144px);
  }
  .courseD-main 
  .detailBoard {
    padding: 1.25rem 1.25rem 3.125rem;
  }
  .detailBoard .top,
  .detailBoard .sponser-row {
    flex-direction: column;
  }
  .detailBoard .cover {
    width: 100%;
    margin-top: 1.875rem;
  }
  .mycourse .detailBoard .cover {
    margin-top: .625rem;
  }
  .detailBoard .course-title {
    margin-bottom: .75rem;
    margin-top: .25rem;
  }
  .detailBoard .course-info .info-item,
  .detailBoard .sponser-row {
    font-size: .875rem;
    line-height: 1.5rem;
  }
  .detailBoard .intro .part {
    margin-top: 1.875rem;
    margin-bottom: 1.875rem;
  }
  .detailBoard .btn-rect {
    min-width: 146px;
  }
  .courseDetail li .action-row a {
    margin-left: auto;
  }
  .courseDetail:not(.mycourse) .detailBoard .action-row {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  .coursePoints b {
    font-size: .875rem;
  }
  .coursePoints b span {
    font-size: 1.25rem;
  }
  .courseD-main figure img {
    width: 100%;
  }

  /* quiz */
  .quiz h1 {
    font-size: 1.25rem;
    line-height: 1.875rem;
  }
  .quiz-main {
    padding: .625rem 0;
  }
  .quiz-main .row {
    margin-left: -10px;
    margin-right: -10px;
  }
  .quiz-main .container-fluid,
  .quiz-main [class^="col-"] {
    padding-left: 10px;
    padding-right: 10px;
  }
  .quizBoard {
    padding: 1.25rem 1.25rem 1.875rem;
    border-width: 4px;
    min-height: calc(100vh - 1.25rem);
  }
  .quizBoard .quizNum,
  .quizBoard .form-check-label {
    font-size: .875rem;
  }
  .quiz-item + .quiz-item {
    margin-top: 1.5rem;
  }
  .quizBoard .action-row {
    margin-top: 1.25rem;
  }
  .modal-dialog {
    margin: .5rem 1.25rem;
  }
  .modal-body {
    min-height: 152px;
  }
  .modal-body *:not(.title) {
    font-size: .875rem;
  }
  .quiz .modal-body .action-row {
    margin-top: 1.25rem;
  }
  .quiz .modal-body .action-row .btn-rect {
    min-width: 90px;
  }
  .quiz-group .quiz-item .form-group {
    padding-right: 2.5rem;
    position: relative;
  }
  .quiz-answer {
    top: 0;
    right: 0;
  }
  .quizBoard .coursePoints {
    margin-top: 1.875rem;
  }
  .answer-action,
  .answer-action .action-row {
    flex-direction: column;
  }
  .progress-group,
  .progress-group .info {
    font-size: .8125rem;
  }
  .quiz2 .progress-group .info .position-absolute {
    position: static!important;
  }
  .quiz2 .modal .action-row {
    flex-direction: column;
  }

  .quiz3 .quizBoard {
    display: flex;
    flex-direction: column;
  }
  .quiz3 .quizBoard .action-row {
    padding-top: 1.25rem;
    margin-top: auto;
  }

  .detailed-des {
    padding: .9375rem;
    font-size: .875rem;
  }

  /* score */
  .form-control[type="date"]::after {
    font-size: 1.5rem;
  }
  .info-notice {
    margin-bottom: 1.25rem;
  }
  .info-label {
    margin-bottom: .625rem;
  }
  .info-notice [class^="fa"] {
    font-size: 1.5rem;
  }
  .info-detail {
    font-size: .875rem;
    line-height: 1.5;
  }
  .score-main {
    padding-bottom: 5.8125rem;
  }
  .table-name {
    background-color: #444444;
    color: #ffffff;
    padding: 5.5px .9375rem;
  }
  .table thead {
    display: none;
  }
  .table tbody tr,
  .table tbody th,
  .table tbody td {
    display: block;
    font-size: .875rem;
    line-height: 1.5rem;
    font-weight: normal;
  }
  .table tbody tr:nth-child(even) {
    background-color: #fff8fa;
  }
  .table tbody tr {
    padding: .625rem 1.25rem;
  }
  .table tbody th,
  .table tbody td {
    position: relative;
    padding: 10px 0 10px 104px;
  }
  .table tbody th::before,
  .table tbody td::before {
    position: absolute;
    content: attr(t-head);
    top: 10px;
    left: 0;
    font-weight: bold;
  }
  .table tbody th {
    border-top: 0;
  }
  .table .tag {
    padding: 0;
    font-size: .875rem;
    line-height: 1.5rem;
  }
  .score-main .table tbody td:nth-child(5) {
    min-height: 52px;
  }

  /* profile */
  .profile-main {
    padding-top: 2.5rem;
    padding-bottom: 3.125rem;
  }
  .profile.member .member-form {
    margin-top: 1.25rem;
  }
  .member-form .form-group {
    font-size: .875rem;
  }
  body:not(.lineLogin) .member-form .form-group {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: flex-start;
  }
  body:not(.lineLogin) .member-form .form-group label {
    width: 56px;
    margin-right: 20px;
    margin-bottom: 0;
    flex-shrink: 0;
  }
  .member-form .form-group .control-group {
    flex-grow: 1;
  }
  .member-form .form-group {
    margin-bottom: 13px;
  }
  .unmodifiable .form-group + .form-group {
    padding-top: 13px;
  }
  .profile.company .form-group.position-relative {
    width: calc(100% - 125px);
    white-space: normal;
    word-wrap: break-word;
    word-break: break-word;
  }
  .profile.company .form-group .position-absolute {
    right: -125px!important;
  }
  .profile.company .action-row {
    margin-top: 1.25rem;
  }
  #editPswModal .modal-body {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
  #editPswModal .form-group label {
    display: none;
  }

  /* login */
  .nav-pills .nav-link {
    width: 140px;
    height: 40px;
    line-height: 40px;
  }
  .login-main,
  .signup-main {
    padding-top: 1.5rem;
    padding-bottom: 3.125rem;
  }
  .login-main .nav-pills {
    margin-top: 1.25rem;
  }
  .login-main .tab-pane *:not(.member-form):not(.btn-rect),
  .forget .login-main .row:not(.text-center) {
    font-size: .875rem;
    line-height: 1.5;
  }
  .g-recaptcha > div,
  .g-recaptcha iframe {
    max-width: 100%!important;
  }
  .g-recaptcha > div {
    margin: 1.25rem auto 1.875rem!important;
  }

  .forget h1 {
    margin-bottom: 1.875rem;
  }

  /* signup */
  .modal-dialog-scrollable .modal-body {
    padding-top: 1.875rem;
    padding-bottom: 1.875rem;
  }

  /* thanks */
  .thanksP-main {
    padding-top: 1.25rem;
    padding-bottom: 2.5rem;
  }
  .thanksP-main div[class^="col-"] {
    padding-left: 10px;
    padding-right: 10px;
    margin-bottom: 10px;
  }
  .companyCard {
    padding: .625rem .9375rem;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
  }
  .companyCard .card-thumbnail {
    width: 31.112%;
    flex-shrink: 0;
    margin-right: 12px;
  }
  .companyCard .card-body {
    flex-grow: 1;
    text-align: left;
  }
  .companyCard .card-body .ch {
    font-size: 14px;
    line-height: 24px;
  }
  .companyCard .card-body .en {
    font-size: 12px;
    line-height: 20px;
  }

  .course-list li .cover > .thumbnail.hasTag {
    margin-top: 32px;
  }
  .thumbnail.live .cover-tag {
    right: -4px;
  }
  .cover-tag {
    left: initial;
    /* top: initial; */
    right: 0;
    top: -32px;
    font-size: 13px;
  }

  .category-item {
    margin-right: 18x;
  }
  .category-item a {
    font-size: 14px;
    padding: 3px;
  }

  /* registartion */
  .desc-text label {
    font-size: 1rem;
  }
  #bankModal .bank-detail,
  #bankModal .form-field {
    flex-direction: column;
    align-items: flex-start;
  }

  #bankModal .bank-detail strong,
  #bankModal .form-field strong {
    margin-bottom: 0.25rem;
    margin-right: 0;
  }

  #bankModal .form-field span {
    text-align: left;
  }
}
@media screen and (max-width: 575px) {
  .course-list .detail .timetable {
    margin-top: .5rem;
  }
  .course-list .detail .timetable > div + div {
    margin-top: 5px;
  }
  .course-list .detail .timetable > div {
    display: flex;
    flex-direction: column;
    gap: 2px;
  }
}