@charset "UTF-8";
/*=================================================================================
* common
=================================================================================*/
@font-face {
    font-family: 'GongGothicBold';
    src: url('https://fastly.jsdelivr.net/gh/projectnoonnu/noonfonts_20-10@1.0/GongGothicBold.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
@font-face {
	font-family: 'GongGothicMedium';
    src: url('https://fastly.jsdelivr.net/gh/projectnoonnu/noonfonts_20-10@1.0/GongGothicMedium.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
@font-face {
	font-family: 'GongGothicLight';
    src: url('https://fastly.jsdelivr.net/gh/projectnoonnu/noonfonts_20-10@1.0/GongGothicLight.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

.GGBold { font-family: 'GongGothicBold', 'Pretendard', 'Malgun Gothic', '맑은 고딕', 'Apple SD Gothic Neo', '돋움', 'dotum', sans-serif;  }
.GGMedium { font-family: 'GongGothicMedium', 'Pretendard', 'Malgun Gothic', '맑은 고딕', 'Apple SD Gothic Neo', '돋움', 'dotum', sans-serif;  }
.GGLight { font-family: 'GongGothicLight', 'Pretendard', 'Malgun Gothic', '맑은 고딕', 'Apple SD Gothic Neo', '돋움', 'dotum', sans-serif;  }

.wrap {
    width: 100%;
    min-height: 100%;
    scroll-behavior: smooth;
}
header, section, footer {
    width: 100%;
}
header {
    background-color: var(--color-gray-100);
}
.header .fixed {
  position: fixed;
  top: 0;
  left: 0;
  background: var(--color-gray-100);
  z-index: 1000;
  width: 100%;
}
.header > div:nth-child(2) { margin-top: 160px; }
.inner {
    width: 1280px;
    margin: 0 auto;
    position: relative;
}
.inner2 {
    width: 1280px;
    margin: 0 auto;
    position: relative;
    padding: 5px;
}
header, .header {}
.top-gnb {
    height: 45px;
    background-color: var(--color-gray-200);
}
.top-gnb div a {
    width: 25%;
    text-align: center;
    line-height: 45px;
    color: var(--color-gray-600);
}
.top-gnb div a.active {
    color: var(--color-gray-900);
    background-color: var(--color-gray-100);
    font-weight: 700;
}
/*.gnb.fixed {
    position: fixed;
    z-index: 100;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);}
그림자 효과 */
.gnb.fixed .login-wrap {
    display: none;
}
.login-wrap {
    border-bottom: solid 1px var(--color-gray-300);
    padding: 13px 0;
}
.login-wrap a {
    font-size: var(--font-size-s);
    color: var(--color-gray-600);
}
.login-wrap em {
    display: inline-block;
    margin: 0 10px;
    font-weight: 100;
    color: var(--color-gray-300);
}
.header h1 {
    height: 34px;
    font-size: 0;
}
.header ul li {
    margin: 0 20px;
    position: relative;
}
.header ul li:last-child::after {
    display: none;
}
.header ul li a {
    font-size: var(--font-size-l);
    color: var(--color-gray-800);
    font-weight: 800;
}
.header ul li a:hover {
    color: var(--color-blue-900);
}
.header .my a {
    font-size: var(--font-size-l);
    color: var(--color-blue-600);
    font-weight: 800;
}
.header .right a {
    color: var(--color-gray-600);
    font-size: 14px;
    margin-left: 15px;
}
.header .keyword a {
    background-color: var(--color-blue);
    color: var(--color-gray-100);
    padding: 10px 15px;
    border-radius: 30px;
    margin-right: 10px;
}
.search-box form {
    border: solid 1px var(--color-gray-300);
    background-color: var(--color-gray-200);
    padding: 6px 20px;
    border-radius: 30px;
    width: 240px;
    display: flex;
    justify-content: space-between;
	align-items: center;
}
.search-box form input {
    border: 0;
    text-indent: 0;
    background: var(--color-gray-200);
	width: 100%;
}
.search-box form button {
    width: 24px;
    height: 24px;
    background: url("../img/ico-search.svg") no-repeat;
    display: block;
    overflow: hidden;
    text-indent: -500em;
}
section {
    padding: 100px 0;
}
.section-01 {}
.section-04 {
    background-color: var(--color-gray-200);
}
.section-03 {}
.section-04 {}
.section-05 {}
footer {
    background-color: var(--color-gray-200);
}
footer .foot-menu {
    margin-bottom: 20px;
}
footer .foot-menu a {
    margin-right: 20px;
    padding-right: 20px;
    position: relative;
    font-weight: 600;
}
footer .foot-menu a::after {
    content: "";
    position: absolute;
    top: 2px;
    right: 0;
    width: 1px;
    height: 16px;
    background-color: var(--color-gray-500);
    display: block;
}
footer .foot-menu a:last-child::after {
    display: none;
    margin-right: 0;
    padding-right: 0;
}
footer em {
    color: var(--color-gray-500);
    margin: 0 5px;
}
.block {
    display: block;
}
footer .footer_in { width: 100%; }
footer .footer_in .policy { display: flex; margin-bottom: 15px; }
footer .footer_in .policy li { margin-right: 20px; position: relative; }
footer .footer_in .policy li::after { content: "ㅣ"; color: var(--color-gray-500); position: absolute; right: -17px; }
footer .footer_in .policy li:last-child::after { display: none; }
footer .footer_in .add { font-size: var(--font-size-m); }
footer .footer_in .copyright { font-size: var(--font-size-s); }
footer .footer_in .right { position: absolute; right: 0; top: 30px; display: flex; }
footer .footer_in .right a { width: 34px; height: 34px; display: block; margin-left: 5px; }

#GoTop {
    display: none;
    position: fixed;
    bottom: 120px;
    right: 30px;
    z-index: 20;
}
#GoTop .quick-wrap a {
    text-align: center;
}
#GoTop .quick-wrap a span:first-child {
    margin-bottom: 12px;
}
#GoTop .quick-wrap span {
    display: block;
    margin: 0 auto;
	font-size: var(--font-size-s);
	letter-spacing: -0.065em;
}
#GoTop .quick-wrap ul li { line-height: 0; margin: 5px 0; }
#GoTop .quick-wrap ul li.box { width: 76px;
    background-color: var(--color-gray-300);
    padding: 10px 5px 20px 5px;
    border-radius: 10px;  }
.header .gnb_links {
    height: 100%;
    line-height: 34px;
}
.header .gnb_links .link > a.on {
    color: var(--color-blue-600);
}
.header .gnb_links .link .sub_gnb {
    display: none;
    position: absolute;
    width: 140px;
    padding: 10px 20px;
    z-index: 100;
    margin-top: 1px;
    margin-left: -30px;
}
.header .gnb_links .link .sub_gnb.on {
    display: block;
    background: var(--color-blue-600);
}
.header .gnb_links .link .sub_gnb > a {
    height: 46px;
    line-height: 46px;
    display: block;
    width: 100%;
    border-bottom: solid 1px var(--color-blue-400);
    font-size: var(--font-size-m);
    color: var(--color-gray-200);
    font-weight: 500;
}
.header .gnb_links .link .sub_gnb > a:last-child {
    border-bottom: 0;
}
.header .gnb_links .link .sub_gnb > a:hover {
    color: var(--color-blue-200);
}
.my .gnb_links .link .sub_gnb {
    left: 20px;
}
.customer-center strong {
    font-weight: 700;
    font-size: var(--font-size-b);
}
.customer-center span {
    font-size: var(--font-size-l);
}
.customer-center p {
    margin-top: 10px;
    font-weight: 900;
    font-size: var(--font-size-title2);
}
.badge {
    position: absolute;
    left: 10px;
    top: 10px;
    z-index: 10;
}
.badge span {
    color: var(--color-gray-100);
    background-color: var(--color-gray-900);
    padding: 5px 10px;
    border-radius: 12px;
}
.swiper {
    padding: 5px;
}
/*=================================================================================
* Mobile Header  
=================================================================================*/
.button-container {
    display: none;
    position: absolute;
    top: 50%;
    right: 6rem;
    width: 30px;
    height: 24px;
    margin-top: -12px;
    cursor: pointer;
    z-index: 120;
    transition: opacity 0.25s ease;
}
.button-container.active .top {
    -webkit-transform: translateY(7px) translateX(0) rotate(45deg);
    transform: translateY(7px) translateX(0) rotate(45deg);
    background: var(--color-gray-700);
}
.button-container.active .middle {
    opacity: 0;
    background: var(--color-gray-700);
}
.button-container.active .bottom {
    -webkit-transform: translateY(-13px) translateX(0) rotate(-45deg);
    transform: translateY(-13px) translateX(0) rotate(-45deg);
    background: var(--color-gray-700);
}
.button-container span {
    background: var(--color-gray-700);
    border: none;
    height: 4px;
    width: 100%;
    position: absolute;
    left: 0;
    transition: all 0.35s ease;
    cursor: pointer;
    border-radius: 4px;
}
.button-container span:nth-of-type(2) {
    top: 50%;
    margin-top: -2px;
}
.button-container span:nth-of-type(3) {
    bottom: 0;
}
.overlay {
    position: fixed;
    background: var(--color-white);
    top: 0;
    right: 0;
    width: 100%;
    max-width: 768px;
    height: 100vh;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.35s, visibility 0.35s, height 0.35s;
    overflow-y: auto;
    z-index: 100;
    box-shadow: -20px 0 40px rgba(0, 0, 0, 0.16);
}
.overlay .side-menu-wrap {
    position: relative;
    width: 100%;
    height: 100%;
    background: #fff;
}
.overlay.open {
    opacity: 1;
    visibility: visible;
}
.overlay .side-header {
    width: 100%;
    height: 57px;
    padding: 0 0 0 20px;
    border-bottom: 1px solid #f1f1f1;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    align-items: center;
    box-sizing: border-box;
}
.overlay .side-header .util ul {
    display: flex;
    align-items: center;
}
.overlay .side-header .util ul li {
    margin: 0 20px 0 0;
}
.overlay .side-header .util ul li.link::after {
    top: 5px !important;
    right: -10px !important;
}
.overlay-menu .main-cate {
    padding: 19px 0;
}
.overlay .login-area {
    width: 100%;
    display: flex;
    align-items: center;
}
.overlay .login-area li a {
    font-size: 12px;
}
.overlay .gnb_1depth {
    position: relative;
    width: 100%;
    height: 100%;
    margin: 0 auto;
    text-align: left;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    border-top: 1px solid #f5f5f5;
}
.overlay .gnb_1depth .item_1depth {
    width: 100%;
    position: relative;
    display: block;
    text-align: left;
    line-height: 1.2;
    cursor: pointer;
    margin: 0;
}
.overlay .gnb_1depth .item_1depth:before, .overlay .gnb_1depth .item_1depth:after {
    position: absolute;
    right: 1.6rem;
    display: block;
    clear: both;
    content: '';
    width: 10px;
    height: 2px;
    background: #131313;
    transition: all ease 0.1s;
}
.overlay .gnb_1depth .item_1depth:before {
    transform: rotate(45deg);
    top: 24px;
}
.overlay .gnb_1depth .item_1depth:after {
    transform: rotate(-45deg);
    top: 30px;
}
.overlay .gnb_1depth .item_1depth > a {
    display: block;
    position: relative;
    text-decoration: none;
    overflow: hidden;
    line-height: 1.2;
    border-bottom: 1px solid #e1e1e1;
    font-weight: 600;
    text-align: left;
    padding: 1.6rem;
    font-weight: 900;
}
.overlay .gnb_1depth .item_1depth .gnb_2depth {
    display: none;
}
.overlay .gnb_1depth .item_1depth .gnb_2depth a {
    padding: 1.6rem;
    display: block;
    background: #f1f1f1;
    border-bottom: solid 1px #e1e1e1;
}
.gnb_2depth .cf li {
    margin: 0;
}
/*=================================================================================
* flex
=================================================================================*/
.flex {
    display: flex;
}
.flex.flex-row {
    flex-direction: row;
}
.flex.flex-column {
    flex-direction: column;
}
.flex.flex-row-reverse {
    flex-direction: row-reverse;
}
.flex.flex-column-reverse {
    flex-direction: column-reverse;
}
.flex.flex-nowrap {
    flex-wrap: nowrap;
}
.flex.flex-wrap {
    flex-wrap: wrap;
}
.flex.align-center {
    align-content: center;
}
.flex.align-flex-start {
    align-content: flex-start;
}
.flex.align-flex-end {
    align-content: flex-end;
}
.flex.align-space-around {
    align-content: space-around;
}
.flex.align-space-between {
    align-content: space-between;
}
.flex.align-stretch {
    align-content: stretch;
}
.flex.justify-center {
    justify-content: center;
}
.flex.justify-flex-start {
    justify-content: flex-start;
}
.flex.justify-flex-end {
    justify-content: flex-end;
}
.flex.justify-space-between {
    justify-content: space-between;
}
.flex.justify-space-around {
    justify-content: space-around;
}
.flex.justify-space-evenly {
    justify-content: space-evenly;
}
.flex.items-center {
    align-items: center;
}
.flex.items-flex-start {
    align-items: flex-start;
}
.flex.items-flex-end {
    align-items: flex-end;
}
.flex.items-stretch {
    align-items: stretch;
}
.flex.items-baseline {
    align-items: baseline;
}
/*=================================================================================
* layer-select
=================================================================================*/
.custom-select {
    width: 120px;
    position: relative;
    user-select: none;
    padding-top: 15px;
    margin-left: 20px;
}
.select-selected {
    cursor: pointer;
    font-size: var(--font-size-l);
    font-weight: 700;
}
.select-selected:after {
    content: "";
    position: absolute;
    top: 22px;
    background: url("../img/icon.svg") no-repeat;
    background-position: 0 -72px;
    width: 17px;
    height: 17px;
    left: 40px;
}
.select-selected.select-arrow-active:after {
    transform: rotate(180deg);
}
.select-items {
    position: absolute;
    background-color: #f1f1f1;
    width: 100%;
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.1);
    z-index: 99;
    border-radius: 0 0 4px 4px;
    border: 1px solid #ddd;
    margin-top: -1px;
}
.select-items div {
    padding: 5px 10px;
    cursor: pointer;
}
.select-items div a {
    color: #001541 !important;
    display: block;
    width: 100%;
    height: 100%;
    font-size: var(--font-size-m);
}
.select-items div:hover {
    background-color: #ddd;
}
.select-hide {
    display: none;
}
/*=================================================================================
* main
=================================================================================*/
.main-visual {
    width: 100%;
    height: 430px;
}
.main-visual div {
    top: 50%;
    transform: translateY(-50%);
}
.main-visual div h2 {
    color: var(--color-gray-100);
    font-family: var(--font-goyang);
}
.main-visual div h2 span {
    font-size: var(--font-size-event1);
}
.main-visual div h2 strong {
    font-size: var(--font-size-event2);
    font-weight: 800;
}
.main-visual div p {
    font-size: var(--font-size-b);
    color: var(--color-gray-100);
}
.main-title {
    position: relative;
    width: 100%;
    margin-bottom: 50px;
}
.main-title h3 {
    font-size: var(--font-size-title3);
    font-weight: 900;
    line-height: 35px;
}
.main-title .more {
    position: absolute;
    right: 0;
    bottom: 10px;
}
.class li {
    border-radius: 5px;
    width: 303.75px;
    margin-right: 15px;
}
.class > li > div:nth-child(3) {
    border: solid 1px var(--color-gray-300);
    border-radius: 0 0 5px 5px;
}
.class .thumb-01 {
    width: 100%;
    height: 171px;
}
.class .thumb-01 img {
    border-radius: 5px 5px 0 0;
}
.class strong {
    width: 100%;
    height: 70px;
    display: block;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    text-align: left;
    font-size: var(--font-size-b);
    font-weight: 700;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
    line-height: 1.3;
    max-height: calc(1.3em * 2);
    margin-bottom: 20px;
}
.more {
    border: solid 1px var(--color-gray-300);
    padding: 3px 15px;
    border-radius: 30px;
    display: flex;
    align-items: center;
}
.more span {
    font-size: var(--font-size-m);
    color: var(--color-gray-600);
    margin-right: 5px;
    display: block;
}
.more i {
    display: block;
    width: 10px;
    height: 10px;
    background: url("../img/icon.svg") no-repeat;
    background-position: -38px 0;
    margin-bottom: 1px;
}
.online {
    position: absolute;
    right: 20px;
    top: 20px;
    font-size: var(--font-size-s);
    border: solid 1px var(--color-blue-400);
    padding: 0 10px;
    border-radius: 3px;
    color: var(--color-blue-400);
}
.offline {
    position: absolute;
    right: 20px;
    top: 20px;
    font-size: var(--font-size-s);
    border: solid 1px var(--color-gray-600);
    padding: 0 10px;
    border-radius: 3px;
    color: var(--color-gray-600);
}
.full-banner {
    background: #02B376 url("../img/main-banner-bg.jpg") center top no-repeat;
    display: flex;
    justify-content: center;
    align-items: center;
}
.teacher li {
    margin-right: 20px;
}
.teacher li:last-child {
    margin-right: 0;
}
.mov li {
    background-color: transparent !important;
    width: 303.75px;
    margin-right: 15px;
}
.mov li div {
    width: 100%;
}
.board > div {
    width: 48%;
}
.board ul li {
    font-size: var(--font-size-l);
    margin-bottom: 10px;
}
.board ul li:last-child {
    margin-bottom: 0;
}
.foot-banner {
    width: 480px;
}
.swiper-button-prev, .swiper-button-next {
    width: 34px !important;
    height: 34px !important;
    text-indent: -500em;
    overflow: hidden;
    display: block;
}
.swiper-button-prev {
    margin-left: -50px;
}
.swiper-button-next {
    margin-right: -50px;
}
.swiper-button-prev::after {
    content: "";
    display: block;
    width: 34px !important;
    height: 34px !important;
    background: url("../img/icon.svg") no-repeat;
    background-position: -48px 0;
}
.swiper-button-next::after {
    content: "";
    display: block;
    width: 34px !important;
    height: 34px !important;
    background: url("../img/icon.svg") no-repeat;
    background-position: -82px 0;
}
.swiper-button-next, .swiper-button-prev {
    top: var(--swiper-navigation-top-offset, 60%);
}
.main-list-type-01 .thumb { position: relative; }
.main-list-type-01 .thumb .bullet { position: absolute; left: 10px; top: 0; }
.main-list-type-01 ul { display: flex; flex-wrap: wrap; }
.main-list-type-01 ul li { width: 32.66%; margin-right: 1%; margin-top: 50px; }
.main-list-type-01 ul li:nth-of-type(3n) { margin-right: 0; }
.main-list-type-01 ul li .text, .main-list-type-02 ul li .text { margin-top: 20px; }
.main-list-type-01 ul li .text strong, .main-list-type-02 ul li .text strong { display: block; margin-bottom: 10px; }
.main-list-type-01 ul li .text span, .main-list-type-02 ul li .text span { display: block; font-size: var(--font-size-s); color: var(--color-gray-600); }
.main-list-type-01 ul li .text .payment, .main-list-type-02 ul li .text .payment { margin-top: 10px; display: flex; align-items: center; font-size: var(--font-size-l); font-weight: 800; }
.main-list-type-01 ul li .text .payment em:nth-child(1), .main-list-type-02 ul li .text .payment em:nth-child(1) { margin-right: 10px;  color: var(--color-blue-500); }
.main-list-type-01 ul li .text .payment em:nth-child(2), .main-list-type-02 ul li .text .payment em:nth-child(2) { text-decoration: line-through; color: var(--color-gray-500); margin-left: 10px; font-weight: 400; }
.main-list-type-01 ul li .text strong { font-size: var(--font-size-b); }
.main-list-type-02 .thumb { position: relative; }
.main-list-type-02 .thumb .bullet { position: absolute; left: 10px; top: 0; }
.main-list-type-02 ul { display: flex; flex-wrap: wrap; }
.main-list-type-02 ul li { width: 24.25%; margin-right: 1%; }
.main-list-type-02 ul li:nth-of-type(4n) { margin-right: 0; }

.section-06 ul { display: flex; flex-wrap: wrap; }
.section-06 ul li { width: 24.25%; margin-right: 1%; }
.section-06 ul li:last-child { margin-right: 0; }
.section-06 h3 { line-height: 38px; }
.section-06 h4 { font-size: var(--font-size-b); font-weight: 700; }
.section-06 .sns-box { display: flex; justify-content: center; border-top: solid 2px var(--color-gray-100); margin-top: 20px; padding-top: 20px; }
.section-06 .sns-box dd { width: 30%; text-align: center; }
.section-06 .box5 { display: flex; flex-wrap: wrap; }
.section-06 .box5 span { width: 100%; display: block; }
.section-06 .box5 h4 { width: 40%; margin-right: 10%; text-align: right; }
.section-06 .box5 div { width: 50%; }
.section-06 .box5 div a { text-decoration: underline; font-size: var(--font-size-b); }
.section-06 .box3 a { display: flex; align-items: center; height: 100%; }
.section-06 .box3 h4 { line-height: 24px; margin-left: 20px; }

.list-more { display: flex; justify-content: center; margin-top: 30px; }
.list-more a { display: flex; align-items: center; font-size: var(--font-size-l); border: solid 1px var(--color-gray-300); padding: 7px 30px 5px; border-radius: 10px; }
.list-more a span { display: block; font-weight: 700; }
.list-more a i { width: 12px; height: 24px; display: block; margin-left: 10px; }

/*=================================================================================
* sub
=================================================================================*/
.sub-title-h2 { font-size: var(--font-size-title2); font-family: "GongGothicBold"; }
.sub-visual {

}
.sub-visual div {
    top: 50%;
    transform: translateY(-50%);
}
.sub-visual div h2 {
    color: var(--color-gray-100);
    font-family: var(--font-goyang);
}
.sub-visual div h2 strong {
    font-size: var(--font-size-event1);
    font-weight: 800;
    text-align: center;
}
.sub-class li {
    border: solid 1px var(--color-gray-300);
    border-radius: 5px;
    text-align: center;
    width: 306px;
    margin: 15px 15px 0 0;
    font-size: var(--font-size-l);
    position: relative;
}
.sub-class li:nth-child(1), .sub-class li:nth-child(2), .sub-class li:nth-child(3), .sub-class li:nth-child(4) {
    margin-top: 0;
}
.sub-class li:nth-of-type(4n) {
    margin-right: 0;
}
.sub-class .thumb-01 {
    width: 100%;
}
.sub-class .thumb-01 img {
    border-radius: 3px 3px 0 0;
    border-bottom: solid 1px var(--color-gray-300);
}
.sub-class strong {
    /* width: 100%; display: block; text-align: left; font-size: var(--font-size-b); line-height: 32px; font-weight: 700; */
}
.sub-menu-01 {
    background-color: var(--color-blue-600);
}
.sub-menu-02 {
    background-color: var(--color-gray-200);
}
.sub-menu-01 a {
    font-size: var(--font-size-l);
    background-color: var(--color-gray-100);
}
.sub-menu-01 li a {
    padding: 10px 30px;
    border-radius: 20px;
    font-weight: 700;
}
.sub-menu-02 li a {
    padding: 7px 15px;
    border-radius: 20px;
}
.sub-menu-01 li, .sub-menu-02 li {
    margin-right: 10px;
}
.sub-menu-01 a:hover, .sub-menu-01 a.active {
    background-color: var(--color-orange-200);
}
.sub-menu-02 a {
    font-size: var(--font-size-l);
    background-color: var(--color-blue-600);
    color: var(--color-gray-100);
}
.sub-menu-02 a:hover, .sub-menu-02 a.active {
    background-color: var(--color-blue-200);
    color: var(--color-blue-600);
}
.list-tab-menu dl {
    position: relative;
}
.list-tab-menu dl::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 1px;
    background-color: var(--color-gray-300);
    left: 0;
    bottom: 0;
}
.list-tab-menu dl dd {
    width: 25%;
    text-align: center;
    background-color: var(--color-gray-200);
    font-size: var(--font-size-b);
    font-weight: 700;
    border: solid 1px var(--color-gray-300);
    margin: 0 1px;
    padding: 10px 0;
    border-radius: 5px 5px 0 0;
}
.list-tab-menu dl dd a {
    display: block;
    width: 100%;
    height: 100%;
}
.list-tab-menu dl dd:hover, .list-tab-menu dl dd.active {
    background-color: var(--color-blue-600);
    border: solid 1px var(--color-blue-600);
}
.list-tab-menu dl dd:hover a, .list-tab-menu dl dd.active a {
    color: var(--color-gray-100);
}
.view-thumb {
    position: relative;
}
.view-thumb img {
    border-radius: 10px;
}
.test-view-top {
    position: relative;
}
.test-view-top .right-btn {
    position: absolute;
    right: 0;
    bottom: 0;
}
.teacher-list li {
    width: 302.5px;
    margin-right: 20px;
    margin-bottom: 20px;
}
.teacher-list li:nth-of-type(4n) {
    margin-right: 0;
}
.customer-info dd {
    background-color: var(--color-gray-200);
    padding: 50px;
    width: 30%;
}
.customer-info dd div {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.faq-menu a {
    display: inline-block;
    position: relative;
    background-color: var(--color-gray-400);
    border-radius: 5px;
    padding: 10px 15px;
    font-size: var(--font-size-l);
}
.faq-menu a.active {
    color: var(--color-gray-100);
    background-color: var(--color-blue-500);
}
.qna-write {
    border-top: solid 1px var(--color-gray-300);
}
.qna-write dl {
    display: flex;
    border-bottom: solid 1px var(--color-gray-300);
    padding: 10px 0;
    font-size: var(--font-size-m);
}
.qna-write dl dt {
    width: 20%;
}
.qna-write dl dd {
    width: 80%;
}
.qna-write input, .qna-write textarea {
    border: solid 1px var(--color-gray-300);
    padding: 5px;
}

.info-box {
	margin-bottom: 30px; 
}
.class-list {
	padding-bottom: 30px;
}
.class-list dl { 
	border-top: solid 1px var(--color-gray-200);
}
.class-list dl dt, .class-list dl dd { 
	display: flex;
	padding: 5px 0; 
	border-bottom: solid 1px var(--color-gray-200);
}
.class-list dl dt span { font-weight: 700; }
.class-list dl dt span:nth-child(1), .class-list dl dd span:nth-child(1) { 
	width: 10%; 
	text-align: center; 
}
.class-list dl dt span:nth-child(2) { 
	width: 90%; 
	text-align: center;
}
.class-list dl dd span:nth-child(2) { 
	width: 90%; 
}
.lecture-info { width: 90%; margin: 0 auto; }
.section05-Swiper .swiper-pagination { position: relative; margin-top: 20px; }
.tab-content .swiper { width: 90%; margin: 0 auto; }
.tab-content .swiper-button-next { margin-right: 0; top: var(--swiper-navigation-top-offset, 50%); }
.tab-content .swiper-button-prev { margin-left: 0; top: var(--swiper-navigation-top-offset, 50%); }
.course-tab-instructor, .course-tab-book { justify-content: space-between; }
.course-tab-instructor .t-photo, .course-tab-book .b-photo { width: 30%; overflow: hidden; }
.course-tab-instructor .t-info, .course-tab-book .b-info { width: 65%; text-align: left; }
.course-tab-instructor .t-info h5, .course-tab-book .b-info h5 { text-align: left; font-size: var(--font-size-l); font-weight: 700; }
.course-tab-instructor .t-info dl dd { font-size: var(--font-size-m); text-align: left; }
.course-tab-book .b-info table { text-align: left; margin: 10px 0 20px; border-top: solid 1px var(--color-gray-300); border-left: solid 1px var(--color-gray-300); width: 100%; }
.course-tab-book .b-info table th, .course-tab-book .b-info table td { padding: 10px 0; border-right: solid 1px var(--color-gray-300); border-bottom: solid 1px var(--color-gray-300); }
.course-tab-book .b-info table th { text-align: center; font-weight: 700; background-color: var(--color-gray-200); }
.course-tab-book .b-info table td { padding-left: 20px; }
.course-tab-book .b-info div { font-size: var(--font-size-m); text-align: left; }
.review { width: 90%; margin: 0 auto; position: relative; }
.review h3 { display: flex; align-items: center; margin-bottom: 10px;
    font-size: var(--font-size-b); }
.review h3 div { font-size: var(--font-size-l); margin-left: 10px; }
.review h3 div em { color: var(--color-red-400); }
.review dl { border-top: solid 1px var(--color-gray-300); }
.review dl dd { border-bottom: solid 1px var(--color-gray-300); padding: 10px; }
.review dl dd div { position: relative; }
.review input[type="text"] { padding-left: 10px; }
.review .right-text { position: absolute; right: 0; font-size: var(--font-size-s); color: var(--color-gray-500); }
.review .btn-write { position: absolute; top: 0; right: 0; display: flex; align-items: center; background-color: var(--color-blue); padding: 4px 10px 3px; border-radius: 5px; color: var(--color-gray-100); }
.review .btn-write i { width: 21px; height: 21px; display: block; background: url("../img/icon-write.svg") no-repeat; }
.review .btn-wrap { padding: 20px 0; text-align: center; }

.hidden-review { display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; transition: all 0.3s ease; }
.hidden-review.show {  -webkit-line-clamp: unset; }
.more-btn { padding: 8px 0; border: none; cursor: pointer; display: block; color: #666; }

.result-tit-01 { font-size: var(--font-size-b); padding-bottom: 10px; font-weight: 700; border-bottom: solid 1px var(--color-gray-300); margin-bottom: 30px; }
.result-tit-01 em { color: var(--color-blue); }
.result-tit-02 { font-size: var(--font-size-l); background-color: var(--color-gray-200); font-weight: 700; padding: 5px 10px; border-radius: 10px; }

/*=================================================================================
* tab
=================================================================================*/
.tab-container {
    width: 100%;
    margin: 40px auto 0;
    font-family: 'Arial', sans-serif;
}
.tab-buttons {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0 0 20px;
}
.tab-buttons li {
    width: 24.66%;
    padding: 12px 0;
    text-align: center;
    cursor: pointer;
    background: var(--color-gray-200);
    border: 1px solid var(--color-gray-300);
    border-bottom: none;
    margin-right: 4px;
    border-radius: 6px 6px 0 0;
    transition: background 0.3s, color 0.3s;
}
.tab-buttons li:hover {
    background: var(--color-blue-100);
}
.tab-buttons li.active {
    background: var(--color-gray-100);
    border-bottom: 2px solid var(--color-gray-100);
    font-weight: bold;
    color: var(--color-blue);
}
.tab-buttons.tab-3 { }
.tab-buttons.tab-3 li { width: 33.33%; }
.tab-contents {
    padding: 24px;
    background: var(--color-gray-100);
    border-radius: 0 0 6px 6px;
}
.tab-contents h3 { 
	margin-bottom: 10px; 
	font-size: var(--font-size-b);
	font-weight: 800;
}
.tab-content {
    display: none;
	position: relative;
}
.tab-content.active {
    display: block;
}
.tab-menu2 {
    width: 100%;
}
.tab-menu2 ul {
    display: flex;
    justify-content: space-between;
}
.tab-menu2 ul li {
    text-align: center;
    width: 16.6%;
}
.tab-menu2 ul li a {
    background-color: var(--color-gray-200);
    width: 100%;
    height: 100%;
    display: block;
    line-height: 46px;
    border: solid 1px var(--color-gray-300);
}
.tab-menu2 ul li a.active {
    background-color: var(--color-gray-100) !important;
    border-bottom: 0;
}
.mo-tab-menu { display: none; }

/*=================================================================================
* table
=================================================================================*/
.table-01 {
    border-top: solid 1px var(--color-gray-300);
    margin-top: 20px;
}
.table-01 dl {
    border-bottom: solid 1px var(--color-gray-300);
    display: flex;
}
.table-01 dl dt {
    font-weight: 800;
    font-size: var(--font-size-l);
    padding: 10px 0 10px 10px;
    background-color: var(--color-gray-200);
}
.table-01 dl dd {
    font-size: var(--font-size-l);
    padding: 10px 0 10px 10px;
}
.table-02, .table-03 {
    border-top: solid 1px var(--color-gray-300);
    margin-top: 20px;
}
.table-02 dl { }
.table-02 dl dt, .table-03 dl dt {
    font-weight: 800;
    font-size: var(--font-size-m);
    padding: 10px 0 10px 10px;
    background-color: var(--color-gray-200);
	border-bottom: solid 1px var(--color-gray-300);
	display: flex;
	width: 100%;
}
.table-02 dl dd, .table-03 dl dd {
    font-size: var(--font-size-m);
    padding: 10px 0 10px 10px;
	display: flex;
	width: 100%;
	border-bottom: solid 1px var(--color-gray-300);
}
.table-02 dl dt span, .table-02 dl dd span, .table-03 dl dt span, .table-03 dl dd span { display: block; text-align: center; }
.table-02 dl dt span:nth-child(1), .table-02 dl dd span:nth-child(1) { width: 7%; }
.table-02 dl dt span:nth-child(2), .table-02 dl dd span:nth-child(2) { width: 15%; }
.table-02 dl dt span:nth-child(3), .table-02 dl dd span:nth-child(3) { width: 55%; }
.table-02 dl dt span:nth-child(4), .table-02 dl dd span:nth-child(4) { width: 10%; }
.table-02 dl dt span:nth-child(5), .table-02 dl dd span:nth-child(5) { width: 13%; }
.table-02 dl dd span:nth-child(3) { width: 55%; text-align: left; padding-left: 20px; }
.table-02 dl dd.point { background-color: var(--color-blue-100); }

.table-03 dl dt span:nth-child(1), .table-03 dl dd span:nth-child(1) { width: 7%; }
.table-03 dl dt span:nth-child(2), .table-03 dl dd span:nth-child(2) { width: 82%; }
.table-03 dl dt span:nth-child(3), .table-03 dl dd span:nth-child(3) { width: 17%; }
.table-03 dl dd span:nth-child(2) { text-align: left; padding-left: 20px; }

.table-02-view { margin-top: 20px; border-top: solid 1px var(--color-gray-300); border-bottom: solid 1px var(--color-gray-300); padding: 20px 0; }
.table-02-view strong { display: block; margin-bottom: 10px; font-size: var(--font-size-l); }
.table-02-view .sort { display: flex; margin-bottom: 20px; border-bottom: solid 1px var(--color-gray-300); padding-bottom: 20px; }
.table-02-view .sort span { display: block;  margin-right: 20px; }
.table-02-view .sort span em { font-weight: 700; }

.pagenavi { margin-bottom: 30px; }
.pagenavi > div { padding: 10px 0; border-bottom: solid 1px var(--color-gray-300); display: flex; }
.pagenavi > div span:nth-child(1) { display: block; width: 100px; }
.pagenavi > div span:nth-child(2) a { color: var(--color-gray-600); }
.pagenavi > div span:nth-child(2) a:hover { color: var(--color-gray-900); }

.board-list {}
.board-list {
    width: 100%;
}
.board-list dt, .board-list dd {
    width: 100%;
    display: flex;
    text-align: center;
    font-size: var(--font-size-m);
    padding: 10px 0;
}
.board-list dt {
    border-top: solid 1px var(--color-gray-300);
    border-bottom: solid 1px var(--color-gray-300);
    font-weight: 700;
}
.board-list dd {
    border-bottom: solid 1px var(--color-gray-300);
}
.pagenation {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 30px 0 0 0;
}
.pagenation a {
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 10px;
}
.pagenation a.active {
    background-color: var(--color-blue-500);
    border-radius: 10px;
    color: var(--color-gray-100);
}
.pagenation a.prev {
    background: url("../img/icon.svg") no-repeat;
    background-position: 0 -89px;
}
.pagenation a.next {
    background: url("../img/icon.svg") no-repeat;
    background-position: -34px -89px;
}


/*=================================================================================
* list
=================================================================================*/
.list-type-01 {}
.list-type-01 ul {
}
.list-type-01 ul li {
    width: 100%;
    margin-top: 30px;
	padding-bottom: 30px; 
	display: flex; 
	justify-content: space-between;
	border-bottom: solid 1px var(--color-gray-300);
}
.list-type-01 ul li:nth-of-type(2n) {
    margin-right: 0;
}
.list-type-01 ul li .thumb {
    width: 25%;
}
.list-type-01 ul li .text {
    width: 40%;
}
.list-type-01 ul li .text strong {
    font-size: var(--font-size-b);
    display: block;
}
.list-type-01 ul li .text span {
    display: block;
    font-size: var(--font-size-m);
    color: var(--color-gray-600);
}
.list-type-01 ul li .right {
	width: 30%;
	display: flex; 
	flex-direction: column;
    align-items: flex-end;
	justify-content: flex-end;
}
.list-type-01 ul li .payment1, .list-type-01 ul li .payment2 {
    display: flex;
    align-items: center;
    font-size: var(--font-size-l);
    font-weight: 800;
}
.list-type-01 ul li .payment1 em {
    text-decoration: line-through;
    color: var(--color-gray-500);
    margin-left: 10px;
    font-weight: 400;
}
.list-type-01 ul li .payment2 em {
     margin-right: 10px;
    color: var(--color-blue-500);
    font-size: var(--font-size-l);
}
.list-type-01 ul li .payment3 { 
	display: flex;
}
.bullet {
    margin: 10px 0;
}
.bullet em {
    padding: 5px 10px;
    border-radius: 5px;
    background-color: var(--color-gray-600);
    color: var(--color-gray-100);
    font-size: var(--font-size-s);
}

/*=================================================================================
* view
=================================================================================*/
.view-top {
    width: 100%;
    margin-top: 30px;
	padding-bottom: 30px; 
	display: flex; 
	justify-content: space-between;
	border-bottom: solid 1px var(--color-gray-300);
}
.view-top .thumb {
    width: 25%;
	position: relative;
	line-height: 0;
}
.view-top .thumb::before { content: ""; position: absolute; width: 100%; height: 100%; background: rgba(0,0,0,0.42) url("../img/thumb-play.svg") 50% 50% no-repeat; z-index: 10; border-radius: 10px; }
.view-top .text {
    width: 40%;
}
.view-top .text strong {
    font-size: var(--font-size-b);
    display: block;
}
.view-top .text span {
    display: block;
    font-size: var(--font-size-m);
    color: var(--color-gray-600);
}
.view-top .right {
	width: 30%;
	display: flex; 
	flex-direction: column;
    align-items: flex-end;
	justify-content: flex-end;
}
.view-top .payment1, .view-top .payment2 {
    display: flex;
    align-items: center;
    font-size: var(--font-size-l);
    font-weight: 800;
}
.view-top .payment1 em {
    text-decoration: line-through;
    color: var(--color-gray-500);
    margin-left: 10px;
    font-weight: 400;
}
.view-top .payment2 em {
    margin-right: 10px;
    color: var(--color-blue-500);
    font-size: var(--font-size-l);
}
.view-top .payment3 { 
	display: flex;
}

/*=================================================================================
* accordion
=================================================================================*/
.accordion {
    width: 100%;
	border-top: 1px solid var(--color-gray-300);
}
.accordion-item {
    border-bottom: 1px solid var(--color-gray-300);
    overflow: hidden;
}
.accordion-header {
    padding: 10px 20px;
    width: 100%;
    text-align: left;
    border: none;
    outline: none;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
	font-weight: 800;
}
.accordion-header:hover, .accordion-item.active button {
    color: var(--color-blue);
}
.arrow {
    transition: transform 0.3s ease;
    display: inline-block;
}
.accordion-item.active .arrow {
    transform: rotate(180deg); /* ▼ → ▲ */
}
.accordion-content {
    height: 0;
    overflow: hidden;
    transition: height 0.4s ease;
    padding: 0 20px;
}
.accordion-content p {
    margin: 15px 0;
}
/*=================================================================================
* mypage
=================================================================================*/
.box {
    padding: 20px 0;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--color-blue-100);
    border-radius: 10px;
}
.box span {
    font-size: var(--font-size-l);
}
.box2 {
    padding: 20px;
    display: flex;
    flex-direction: column;
    background-color: var(--color-blue-600);
    border-radius: 10px;
    color: var(--color-gray-100);
}
.box3 {
    padding: 20px;
    background-color: var(--color-gray-300);
    border-radius: 10px;
	height: 120px;
	margin-bottom: 10px; 
}
.box4 {
    padding: 20px;
    display: flex;
    flex-direction: column;
    background-color: var(--color-blue);
    border-radius: 10px;
    color: var(--color-gray-100);
}
.box5 {
    padding: 20px;
    background-color: var(--color-gray-300);
    border-radius: 10px;
	height: 380px;
	margin-bottom: 10px; 
}
.box6 {
    padding: 20px;
    background-color: var(--color-gray-200);
    border-radius: 10px;
    height: 200px;
    margin-bottom: 10px;
}
.box7 {
    padding: 20px;
    background-color: var(--color-gray-200);
    border-radius: 10px;
    margin-bottom: 10px;
}
.mypage-list {
    margin-top: 30px;
    border-top: solid 1px var(--color-gray-300);
}
.mypage-list dt {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: var(--color-gray-200);
    border-bottom: solid 1px var(--color-gray-300);
    padding: 10px 0;
    text-align: center;
}
.mypage-list dd {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: solid 1px var(--color-gray-300);
    padding: 10px 0;
}
.mypage-list .fixed { background-color: var(--color-gray-200); }
.mypage-list .fixed .title { 
	text-decoration: underline; 
	font-weight: 700; 
	font-size: var(--font-size-b); 
}
.mypage-menu li a.active {
    color: var(--color-blue-600);
}
.bar {
    width: 100%;
    position: relative;
    height: 10px;
    border-radius: 5px;
    background-color: var(--color-gray-300);
    overflow: hidden;
}
.bar span {
    position: absolute;
    left: 0;
    top: 0;
    background-color: var(--color-blue-400);
    display: block;
    height: 10px;
}
.photo {
    width: 64px;
    height: 64px;
    border-radius: 23px;
    overflow: hidden;
    background-color: var(--color-gray-200);
    margin-bottom: 10px;
}
.payment-menu a {
    background-color: var(--color-gray-300);
    padding: 7px 15px;
    color: var(--color-gray-700);
}
.payment-menu a.active {
    background-color: var(--color-blue-600);
    color: var(--color-gray-100);
}
.board-view {
    border-top: solid 1px var(--color-gray-300);
}
.board-view dl {
    display: flex;
    align-items: center;
    border-bottom: solid 1px var(--color-gray-300);
}
.board-view dl dt {
    border-right: solid 1px var(--color-gray-300);
    border-left: solid 1px var(--color-gray-300);
    padding: 10px 0 10px 20px;
    background-color: var(--color-gray-200);
}
.board-view dl dd {
    padding: 10px 0 10px 20px;
    position: relative;
}
.info-tel {
    display: inline-block;
    background-color: var(--color-blue-600);
    padding: 5px 10px;
    margin-top: 10px;
    color: var(--color-gray-100);
    border-radius: 10px;
    width: auto;
}
.form {
    border-top: solid 1px var(--color-gray-300);
}
.form dl {
    display: flex;
    border-bottom: solid 1px var(--color-gray-300);
    padding: 10px 0;
}
.form dl dt {
    width: 130px;
}
.form dl dt em {
    width: 15px;
    display: inline-block;
    color: var(--color-red-500);
}
.form dl dd {}
.line-box {
    border-top: solid 1px var(--color-gray-300);
    width: 90%;
}
.line-box li {
    border-bottom: solid 1px var(--color-gray-300);
    padding: 10px 0;
    font-size: var(--font-size-l);
}
.line-box li strong {
    margin-right: 50px;
}

.find-box { border: solid 1px var(--color-gray-300); padding: 20px; border-radius: 20px; display: flex; }
.find-box > div { width: 49%; margin-right: 2%; }
.find-box > div:nth-child(2) { margin-right: 0; }
.find-box > div h4 { font-size: var(--font-size-l); color: var(--color-blue-600); font-weight: 700; }
.find-box > div dl { }
.find-box > div dl dd { display: flex; }
.find-box > div dl dd:last-child { margin-bottom: 0; }
.find-box > div dl dd > div:nth-child(1) { width: 20%; }
.find-box > div dl dd > div:nth-child(2) { width: 80%; }
.find-box .btn-wrap { padding-top: 20px; text-align: center; }

.modal { display: none; position: fixed; z-index: 9999; left: 0; top: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.6); }
.modal-content { background-color: var(--color-gray-200); padding: 20px; width: 80%; max-width: 540px; position: absolute; border-radius: 5px; left: 50%; top: 50%; transform: translate(-50%, -50%); }
.modal-content h2 { font-size: 24px; text-align: center; margin: 10px 0; }
.modal-content p { text-align: center; }
.modal .close { position: absolute; top: 20px; right: 20px; cursor: pointer; width: 24px; height: 24px; background: url("../img/icon_close.svg") 50% 50% no-repeat; }
.modal-content .login-form { padding: 20px 50px; }
.modal-content .login-form input[type="text"], .modal-content .login-form input[type="password"] { width: 100%; line-height: 34px; height: 34px; margin-bottom: 10px; padding-left: 10px; }

.payment-notice { background-color: inherit!important; border: solid 1px var(--color-gray-300); border-radius: 0; }
.payment-notice::-webkit-scrollbar { width: 10px; }
.payment-notice::-webkit-scrollbar-thumb { background-color: #999; border-radius: 4px; }

.sale { color: var(--color-blue-500); font-size: var(--font-size-l); text-decoration: none!important; font-weight: 700; }

/*=================================================================================
* form
=================================================================================*/
.check input { display: none; }
.check input:checked+label { background-image: url(../img/checkbox-on.svg); }
.check label { display: inline-block; letter-spacing: -0.025em; height: 21px; line-height: 21px; background-repeat: no-repeat; background-position: left top; background-image: url(../img/checkbox.svg); padding-left: 26px; cursor: pointer; }
.radio input { display: none; }
.radio input:checked+label { background-image: url(../img/radiobox-on.svg); }
.radio label { display: inline-block; letter-spacing: -0.025em; height: 21px; line-height: 21px; background-repeat: no-repeat; background-position: left top; background-image: url(../img/radiobox.svg); padding-left: 26px; cursor: pointer; }
.join-turn { margin: 50px 0 20px; display: flex; justify-content: space-between; }
.join-turn dd { width: 30%; text-align: center; padding: 15px 0; border: solid 1px var(--color-gray-300); border-radius: 30px; font-size: var(--font-size-l); position: relative; }
.join-turn dd.active { background-color: var(--color-blue); border: solid 1px var(--color-blue); color: var(--color-gray-100); }
.join-turn dd::after { content: ""; width: 22px; height: 32px; background: url("../img/icon-arrow.svg") no-repeat; position: absolute; right: -45px; }
.join-turn dd:last-child::after { display: none; }
.scroll { overflow-y: scroll; }
.line-box2 { border: solid 1px var(--color-gray-300); border-radius: 3px;  padding: 20px; max-height: 300px; }
.join-form input[type="text"] { border: solid 1px var(--color-gray-300); border-radius: 3px; line-height: 24px; padding: 3px 10px; }
.join-form select { border: solid 1px var(--color-gray-300); border-radius: 3px; line-height: 24px; padding: 5px 10px; }
.join-form dl { border-top: solid 1px var(--color-gray-300); }
.join-form dl dd { display: flex; flex-wrap: wrap; padding: 10px 0; border-bottom: solid 1px var(--color-gray-300); }

/*=================================================================================
* mypage
=================================================================================*/
.mypage-nav { }
.mypage-nav h3 { font-size: var(--font-size-title1); margin-bottom: 20px; }
.mypage-nav .nav-bar { }
.mypage-nav .nav-bar ul li { margin-left: 30px; position: relative; }
.mypage-nav .nav-bar ul li::before { content: ""; width: 1px; height: 20px; background-color: var(--color-gray-300); position: absolute; top: 4px;  left: -15px; }
.mypage-nav .nav-bar ul li:first-child::before { display: none; }
.mypage-nav .nav-bar ul li a { font-size: var(--font-size-l); }
.mypage-nav .nav-bar ul li a.active { font-weight: 700; color: var(--color-blue); }

.mypage-top { border: solid 1px var(--color-gray-300); border-radius: 20px; padding: 20px; }
.mypage-top .mytop-left { width: 20%; }
.mypage-top .mytop-left .thumb { margin-right: 20px; }
.mypage-top .mytop-left strong { font-size: var(--font-size-b); }
.mypage-top .mytop-left .t-photo { text-align: center; }
.mypage-top .mytop-left .t-photo .t-thumb { width: 100px; text-align: center; display: block;  }
.mypage-top .mytop-left .t-photo .text { width: 100%; text-align: center; display: block;  }
.mypage-top .mytop-center { width: 65%;  border-left: solid 3px var(--color-gray-300); border-right: solid 3px var(--color-gray-300); padding: 0 20px; }
.mypage-top .mytop-center a { font-size: var(--font-size-l); font-weight: 700; }
.mypage-top .mytop-center .t-photo { text-align: center; }
.mypage-top .mytop-center .t-photo .t-thumb { width: 100px; text-align: center; display: block;  }
.mypage-top .mytop-center .t-photo .text { width: 100px; text-align: center; display: block;  }
.mypage-top .mytop-right { width: 15%; }
.mypage-top .mytop-right span { display: block; text-align: center; }

.graph-bar { width: 100%; height: 10px; background-color: var(--color-gray-500); border-radius: 20px; position: relative; }
.graph-bar span { border-radius: 10px; height: 10px; position: absolute; left: 0; background-color: var(--color-blue); }

.my-class-list { padding: 30px 0; }
.my-class-list table { border-top: solid 1px var(--color-gray-400); width: 100%; }
.my-class-list table th, .my-class-list table td { padding: 7px 0; }
.my-class-list table th:last-child, .my-class-list table td:last-child { border-right: 0; }
.my-class-list table th { background-color: var(--color-gray-200); border-bottom: solid 1px var(--color-gray-400); font-weight: 700; }
.my-class-list table td { border-bottom: solid 1px var(--color-gray-300); text-align: center; }
.my-class-list table .view em { display: block; font-size: var(--font-size-s); color: var(--color-gray-600); margin-top: 5px; }
.my-class-list table .t-photo { vertical-align: top; padding-top: 10px; }
.my-class-list table .t-photo span { display: block; }
.my-class-list table .t-photo .t-thumb { width: 100px; margin: 0 auto; }

.sub-title h3 { font-size: var(--font-size-title1); margin-bottom: 10px; }

.basket-list input[type="checkbox"], .payment-list input[type="checkbox"] { -webkit-appearance: checkbox; width: 21px; height: 21px; display: block; border-color:  var(--color-gray-300) !important; margin: 0 auto; }
.basket-list dl dt, .basket-list dl dd, .payment-list dl dt, .payment-list dl dd { display: flex; justify-content: space-between; align-items: center; }
.basket-list dl dt span, .basket-list dl dd span, .payment-list dl dt span, .payment-list dl dd span { display: block; text-align: center; }
.basket-list dl dt, .payment-list dl dt { border-top: solid 1px var(--color-gray-300); border-bottom: solid 1px var(--color-gray-300); padding: 10px 0; font-weight: 700; }
.basket-list dl dt span:nth-child(1) { width: 6%; }
.basket-list dl dt span:nth-child(2) { width: 64%; }
.basket-list dl dt span:nth-child(3) { width: 10%; }
.basket-list dl dt span:nth-child(4) { width: 10%; }
.basket-list dl dt span:nth-child(5) { width: 8%; }
.basket-list dl dd, .payment-list dl dd { border-bottom: solid 1px var(--color-gray-300); padding: 10px 0; }
.basket-list dl dd span:nth-child(1) { width: 6%; }
.basket-list dl dd span:nth-child(2) { width: 15%; }
.basket-list dl dd span:nth-child(3) { width: 10%; }
.basket-list dl dd span:nth-child(4) { width: 41%; text-align: left; }
.basket-list dl dd span:nth-child(4) strong { display: block; }
.basket-list dl dd span:nth-child(5) { width: 10%; }
.basket-list dl dd span:nth-child(6) { width: 10%; }
.basket-list dl dd span:nth-child(7) { width: 8%; }
.basket-list dl dd span:nth-child(7) a { display: block; }
.basket-list dl dd span:nth-child(7) a:nth-child(1) { margin-bottom: 5px; }
.basket-list dl dd.total, .payment-list dl dd.total { background-color: var(--color-gray-200); }
.basket-list dl dd.total span:nth-child(1), .payment-list dl dd.total span:nth-child(1) { width: 10%; }
.basket-list dl dd.total span:nth-child(2), .payment-list dl dd.total span:nth-child(2) { width: 90%; text-align: right; padding: 10px 20px 15px; }
.basket-list dl dd.total span:nth-child(2) strong, .payment-list dl dd.total span:nth-child(2) strong { margin-left: 10px; font-weight: 700; font-size: var(--font-size-l); }

.payment-list dl dt span:nth-child(1) { width: 80%; }
.payment-list dl dt span:nth-child(2) { width: 10%; }
.payment-list dl dt span:nth-child(3) { width: 10%; }
.payment-list dl dd span:nth-child(1) { width: 15%; }
.payment-list dl dd span:nth-child(2) { width: 10%; }
.payment-list dl dd span:nth-child(3) { width: 55%; text-align: left; }
.payment-list dl dd span:nth-child(3) strong { display: block; }
.payment-list dl dd span:nth-child(4) { width: 10%; }
.payment-list dl dd span:nth-child(5) { width: 10%; }

.pay-means { width: 100%; margin: 50px 0; display: flex; justify-content: space-between; }
.pay-means > div:nth-child(1) { width: 46%; }
.pay-means > div:nth-child(2) { width: 46%; }
.pay-means input[type="text"] { height: 38px; }
.pay-means dl dt { background-color: var(--color-blue-100); }
.pay-means dl dt span, .pay-means dl dd span { text-align: center!important; }

/*=================================================================================
* package
=================================================================================*/
.group-col3 li { width: 32%; margin: 0 2% 2% 0; display: flex; flex-direction: column; align-items: center; }
.group-col3 li:nth-of-type(3n) { margin: 0 0 2% 0; }
.package-title { margin: 0 0 50px; text-align: center; }
.package-title h3 { font-size: 46px; }
.package-title p { font-size: 26px; }
.package-title span { font-size: 21px; }
.full-section { width: 100%; padding: 100px 0; background-color: var(--color-gray-200); }
.kakao-banner { background-color: var(--color-yellow2); width: 100%; height: 340px; border-radius: 20px; display: flex; position: relative; }
.kakao-banner div:nth-child(2) { position: absolute; left: 50%; top: 50%; transform: translateY(-50%); }
.kakao-banner span, .kakao-banner p { font-size: 18px; }
.kakao-banner h3 { font-size: 54px; }
.kakao-banner a { background-color: var(--color-blue-600); color: var(--color-gray-100); padding: 10px 25px; display:flex; align-items: center; justify-content: center; border-radius: 30px; font-size: 21px; margin-top: 20px; width: 320px; }
.kakao-banner a i { background: url("../img/icon-arrow-w.svg") no-repeat; background-size: 100%; width: 18px; height: 30px; display: inline-block; margin-left: 10px; }

.package-title h3.point-01, .package-title p.point-01 { color: var(--color-pack01); }
.package-title h3.point-02, .package-title p.point-02 { color: var(--color-pack02); }
.package-title h3.point-03, .package-title p.point-03 { color: var(--color-pack03); }
.package-title h3.point-04, .package-title p.point-04 { color: var(--color-pack04); }
