.m_visual {width: 100%; height: 34.375rem; overflow: hidden; position: relative;}
.m_visual .swiper-wrapper {height: 100%;}
.m_visual .swiper-slide {height: 100%; position: relative;}
.m_visual .swiper-slide .txt-container {max-width: 1200px; margin: 0 auto; position: absolute; width: 100%; top: 50%; left: 50%; transform: translate(-50%, -50%);}
.m_visual .swiper-slide .txt h2 {padding: 0 0 0 2rem; box-sizing: border-box; font-size: 2.625rem; font-weight: 800; color: var(--txt-c0); line-height: 3.25rem; letter-spacing: -0.05em;}
.m_visual .swiper-pagination {bottom: 2.5rem;}
.m_visual .swiper-pagination .swiper-pagination-bullet {width: 3.125rem; height: 5px; background: var(--txt-c9); border-radius: 0;}
.m_visual .swiper-pagination .swiper-pagination-bullet {width: 3.125rem; height: 5px; background: var(--txt-c9); border-radius: 0;}
.m_visual .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {background: var(--m-lighten);}
.m_visual .swiper-arrow {z-index: 120; width: 100%; height: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); max-width: 1400px; margin: 0 auto;}
.m_visual .swiper-button-next, .m_visual .swiper-button-prev {width: 4.0625rem; height: 4.0625rem; border-radius: 50%; background: #fff; border: 0; box-shadow: 0 5px 12px rgb(0 0 0 / 5%);}
.m_visual .swiper-button-next:after, .m_visual .swiper-button-prev:after {font-size: 1.5rem; color: var(--txt-c9);}

@media all and (max-width: 1440px) {
    .m_visual .swiper-slide .txt h2 {padding: 0 0 0 8rem;}

    .m_visual .swiper-arrow {max-width: 100%;}
    .m_visual .swiper-button-prev {left: 20px;}
    .m_visual .swiper-button-next {right: 20px;}
}
@media all and (max-width: 900px) {
    .m_visual .swiper-slide .txt h2 {font-size: 2.4rem; line-height: 3rem;}
    .m_visual .swiper-button-prev {width: 3.6rem; height: 3.6rem;}
    .m_visual .swiper-button-next {width: 3.6rem; height: 3.6rem;}
}
@media all and (max-width: 640px) {
    .m_visual .swiper-slide .txt h2 {padding: 0 0 0 5rem; font-size: 1.6rem; line-height: 2.6rem;}
}

.m_section {padding: 7.5rem 0; box-sizing: border-box; width: 100%;}
.m_section.m_bg {background: #f1f4f9;}
.m_tit {font-size: 2.25rem; color: var(--txt-c2); font-weight: 800; text-align: center; margin: 0 0 3.125rem;}
.m_tit i {position: relative; top: -1rem; display: inline-flex; justify-content: center; align-items: center; width: 1.5rem; height: 1.5rem; background: var(--m-color); color: #fff; font-size: 0.812rem; text-align: center; border-radius: 50%;}
.m_tit b {color: var(--m-color);}

@media all and (max-width: 900px) {
    .m_section {padding: 4rem 0;}
}

.txt h4 strong {font-family: 'Montserrat', sans-serif; display: inline-block; margin: 0 0.125rem 0 0;}

.m_new .list {display: flex; justify-content: flex-start; align-items: stretch; }
.m_new .list li {width: calc((100% - 5.625rem) / 4); margin: 0 1.875rem 0 0; border: 1px solid var(--border-ee); box-sizing: border-box; border-radius: 1rem;}
.m_new .list li:nth-of-type(4) {margin: 0;}
.m_new .list li a {display: block; width: 100%; height: 100%; border-radius: inherit;}
.m_new .list li a .img {position: relative; width: 100%; overflow: hidden; border-top-left-radius: inherit; border-top-right-radius: inherit;
    padding-bottom: calc(100% * 195 / 275 ); box-sizing: border-box; height: 0; background: var(--border-ee);}
.m_new .list li a .img img {display: block; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); max-width: 100%; width: 100%; height: auto;}
.m_new .list li a .txt {border-bottom-left-radius: inherit; border-bottom-right-radius: inherit; padding: 1.625rem; box-sizing: border-box;}
.m_new .list li a .txt h3 {font-size: 1.2rem; font-weight: 500; text-overflow: ellipsis; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; display: -webkit-box; max-height: 2.875rem;}
.m_new .list li a .txt p {font-size: 1rem; margin: 0.625rem 0 0; color: var(--txt-c2);}
.m_new .list li a .txt p span {display: inline-block; margin: 0 0 0 0.625rem; color: var(--txt-c6);}
.m_new .list li a .txt h4 {margin: 1rem 0 0; font-size: 1.125rem; font-weight: 800; color: var(--m-color); }
.m_new .list li a .txt h4 .cancel {font-weight: 400; color: var(--txt-c9); text-decoration: line-through; display: inline-block; margin: 0 0.625rem 0 0; font-size: 0.975rem;}
.m_new .list li a .txt h4 .cancel strong {text-decoration: line-through;}
.m_new .list li a .txt h4 span {font-weight: 400; color: var(--txt-c9); margin: 0 0 0 0.625rem; font-size: 0.975rem;}

@media all and (max-width: 900px) {
    .m_new .list {flex-wrap: wrap; justify-content: center; align-content: flex-start;}
    .m_new .list li {width: calc((100% - 1.875rem) / 2); margin: 0 1.875rem 1.875rem 0;}
    .m_new .list li:nth-of-type(2) {margin: 0 0 1.875rem;}
    .m_new .list li:nth-of-type(3) {margin: 0 1.875rem 0 0;}
}
@media all and (max-width: 640px) {
    .m_new .list li {width: 100%; margin: 0 0 1.875rem !important;}
    .m_new .list li:nth-of-type(4) {margin: 0 !important;}

}

.m_best .best_slider {position: relative; overflow: hidden;}
.m_best .best_slider .swiper-wrapper {height: 100%;}
.m_best .best_slider .swiper-slide {
    filter: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='grayscale'><feColorMatrix type='matrix' values='0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0'/></filter></svg>#grayscale");
    filter: gray;
    -webkit-filter: grayscale(100%);
    background: #fff; height: 100%; border: 1px solid var(--border-ee); box-sizing: border-box; border-radius: 1rem;}
.m_best .best_slider .swiper-slide a {width: 100%; display: block; height: 100%; border-radius: inherit;}
.m_best .best_slider .swiper-slide.swiper-slide-next,
.m_best .best_slider .swiper-slide.swiper-slide-prev,
.m_best .best_slider .swiper-slide.swiper-slide-active {filter: initial;}
.m_best .best_slider .img {position: relative; overflow: hidden; border-top-left-radius: inherit; border-top-right-radius: inherit; padding-bottom: 70%; box-sizing: border-box; height: 0; background: var(--m-lighten);}
.m_best .best_slider .img img {display: block; width: 100%; height: auto; max-width: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.m_best .best_slider .txt {border-bottom-left-radius: inherit; border-bottom-right-radius: inherit; padding: 1.625rem; box-sizing: border-box;}
.m_best .best_slider .txt h3 {font-weight: 500; font-size: 1.25rem; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; }
.best_arrow {z-index: 120; width: 100%; height: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); max-width: 1400px; margin: 0 auto;}
.best_arrow .swiper-button-next, .best_arrow .swiper-button-prev {width: 4.0625rem; height: 4.0625rem; border-radius: 50%; background: #fff; border: 0; box-shadow: 0 5px 12px rgb(0 0 0 / 5%);}
.best_arrow .swiper-button-next {right: 0;}
.best_arrow .swiper-button-prev {left: 0;}
.best_arrow .swiper-button-next:after, .best_arrow .swiper-button-prev:after {font-size: 1.5rem; color: var(--txt-c9);}

@media all and (max-width: 1440px) {
    .best_arrow {max-width: 100%;}
    .best_arrow .swiper-button-prev {left: 20px;}
    .best_arrow .swiper-button-next {right: 20px;}
}

@media all and (max-width: 900px) {
    .m_best .best_slider .swiper-slide.swiper-slide-next,
    .m_best .best_slider .swiper-slide.swiper-slide-prev {filter: grayscale(100%); }
    .m_best .best_slider .swiper-slide.swiper-slide-active {}

    .best_arrow .swiper-button-prev {width: 3.6rem; height: 3.6rem;}
    .best_arrow .swiper-button-next {width: 3.6rem; height: 3.6rem;}
}

.m_event .flex-layout {width: 100%; display: flex; justify-content: space-between; align-items: flex-start;}
.m_event .flex-layout .m_event_left {width: 37.5rem; margin: 0 2.5rem 0 0; flex: none; height: 26.25rem; overflow: hidden;}
.m_event .flex-layout .m_event_right {width: calc(100% - 40rem); flex: none;}
.m_event .event_slider {position: relative; height: 100%;}
.m_event .event_slider .swiper-wrapper {height: 100%;}
.m_event .event_slider .swiper-slide {height: 100%;}
.m_event .event_slider .swiper-slide a {overflow: hidden; position: relative; display: block; width: 100%; height: 100%; background: var(--border-ee); border-radius: 1rem;}
.m_event .event_slider .swiper-slide a img {display: block; width: auto; height: 100%; max-height: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);}
.m_event .m_event_pagination {position:absolute; z-index:100; bottom:0; left:50%; display: flex; justify-content: center; align-items: center; transform:translateX(-50%); font-size:0; background:rgba(255,255,255,0.9); border-radius: 1rem 1rem 0 0; width: 100%; max-width: 8rem; padding: 1.5rem; box-sizing: border-box;}
.m_event .m_event_pagination .swiper-pagination-bullet-active {background: var(--m-color);}
.m_event .list li {width: 100%; margin: 0 0 2rem;}
.m_event .list li:last-of-type {margin: 0;}
.m_event .list li a {display: flex; justify-content: flex-start; align-items: flex-start; width: 100%;}
.m_event .list li .img {overflow: hidden; position: relative; width: 11.25rem; height: 7.25rem; flex: none; background: var(--border-dd); margin: 0 1.5rem 0 0; border-radius: 1rem;}
.m_event .list li .img img {display: block; width: 100%; height: auto; max-width: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.m_event .list li .txt {width: calc(100% - 12.75rem);}
.m_event .list li .txt p {font-size: 0.875rem; color: var(--txt-c6); font-weight: 400;}
.m_event .list li .txt h3 {font-weight: 500; font-size: 1rem; text-overflow: ellipsis; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; display: -webkit-box; max-height: 2.875rem; }
.m_event .list li a .txt h4 {margin: 1rem 0 0; font-size: 1.125rem; font-weight: 800; color: var(--m-color); }
.m_event .list li a .txt h4 .cancel {font-weight: 400; color: var(--txt-c9); text-decoration: line-through; display: inline-block; margin: 0 0.625rem 0 0; font-size: 0.975rem;}
.m_event .list li a .txt h4 .cancel strong {text-decoration: line-through;}
.m_event .list li a .txt h4 span {font-weight: 400; color: var(--txt-c9); margin: 0 0 0 0.625rem; font-size: 0.975rem;}

@media all and (max-width: 900px) {
    .m_event .flex-layout {flex-wrap: wrap;}
    .m_event .flex-layout .m_event_left {width: 100%; margin: 0 0 2.5rem;}
    .m_event .flex-layout .m_event_right {width: 100%;}

}

@media all and (max-width: 640px) {
    .m_event .list li {margin: 0 0 1.25rem;}
}

.m_banner {width: 100%; position: relative; padding-bottom: calc(100% * 260 / 1920); height: 0; box-sizing: border-box; background: var(--border-ee);  }
.m_banner > * {flex: none;}
.m_banner > a {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); display: flex; width: 100%; height: 100%;
    justify-content: center; align-items: center; color: #fff; font-size: 4rem; font-weight: 500;
    letter-spacing: -0.065em; background-size: auto 100%; }

@media all and (max-width: 1200px) {
    .m_banner {height: 0; padding-bottom: calc(100% * 260 / 1200);}
    .m_banner > a {background-size: auto 100% !important;}
}
@media all and (min-width: 1200px) {
    .m_banner {height: 260px; padding-bottom: 0; background-color: #d7e6f7;}
}
.m_teacher {position: relative;}
.m_teacher .container {overflow: hidden;}
.m_teacher .teacher_slider {}
.m_teacher .swiper-slide {}
.m_teacher .swiper-slide .img {box-shadow: 0 5px 12px rgb(0 0 0 / 5%); position: relative; width: 100%; padding-bottom: 100%; box-sizing: border-box; border-radius: 50%; background: var(--border-ee); overflow: hidden;}
.m_teacher .swiper-slide .img img {display: block; width: 100%; height: auto; max-width: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.m_teacher .swiper-slide .txt {margin: 1.5rem 0 0; text-align: center;}
.m_teacher .swiper-slide .txt p {font-size: 1.0625rem; font-weight: 400; color: var(--txt-c6);}
.m_teacher .swiper-slide .txt h3 {font-size: 1.25rem; color: var(--txt-c0); margin: 0.125rem 0 0; font-weight: 500;}
.teacher_arrow {z-index: 120; width: 100%; height: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); max-width: 1400px; margin: 0 auto;}
.teacher_arrow .swiper-button-next, .teacher_arrow .swiper-button-prev {width: 4.0625rem; height: 4.0625rem; border-radius: 50%; background: #fff; border: 0; box-shadow: 0 5px 12px rgb(0 0 0 / 5%);}
.teacher_arrow .swiper-button-next {right: 0;}
.teacher_arrow .swiper-button-prev {left: 0;}
.teacher_arrow .swiper-button-next:after, .teacher_arrow .swiper-button-prev:after {font-size: 1.5rem; color: var(--txt-c9);}

@media all and (max-width: 1440px) {
    .teacher_arrow {max-width: 100%;}
    .teacher_arrow .swiper-button-prev {left: 20px;}
    .teacher_arrow .swiper-button-next {right: 20px;}
}

@media all and (max-width: 1280px) {
    .m_teacher .swiper-slide .img { margin: 0 auto;}

}

@media all and (max-width: 900px) {
    .m_teacher .swiper-slide .img {width: 80%; padding-bottom: 80%; margin: 0 auto;}

    .teacher_arrow .swiper-button-prev {width: 3.6rem; height: 3.6rem;}
    .teacher_arrow .swiper-button-next {width: 3.6rem; height: 3.6rem;}

}

@media all and (max-width: 640px) {
    .m_teacher .swiper-slide .img {width: 60%; padding-bottom: 60%; }
}

.m_review {position: relative;}
.m_review .container {overflow: hidden;}
.reviewer_slider {width: 100%;}
.reviewer_slider .swiper-slide {background: #fff; border: 1px solid var(--border-ee); box-sizing: border-box; border-radius: 1rem; padding: 1.25rem;}
.reviewer_slider .swiper-slide h3 {display: block; margin: 0 0 1.25rem; color: var(--m-color); font-weight: 500;}
.reviewer_slider .swiper-slide .writer {font-size: 1rem; color: var(--txt-c9); font-weight: 400; display: inline-block; margin: 0 0.25rem 0 0;}
.reviewer_slider .swiper-slide p {font-size: 1rem; color: var(--txt-c6); text-overflow: ellipsis; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 5; display: -webkit-box; max-height: 7.1875rem;}
.reviewer_arrow {z-index: 120; width: 100%; height: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); max-width: 1400px; margin: 0 auto;}
.reviewer_arrow .swiper-button-next, .reviewer_arrow .swiper-button-prev {width: 4.0625rem; height: 4.0625rem; border-radius: 50%; background: #fff; border: 0; box-shadow: 0 5px 12px rgb(0 0 0 / 5%);}
.reviewer_arrow .swiper-button-next {right: 0;}
.reviewer_arrow .swiper-button-prev {left: 0;}
.reviewer_arrow .swiper-button-next:after, .reviewer_arrow .swiper-button-prev:after {font-size: 1.5rem; color: var(--txt-c9);}

@media all and (max-width: 1440px) {

    .reviewer_arrow {max-width: 100%;}
    .reviewer_arrow .swiper-button-prev {left: 20px;}
    .reviewer_arrow .swiper-button-next {right: 20px;}
}

@media all and (max-width: 900px) {
    .reviewer_slider {padding: 0 40px; box-sizing: border-box;}
    .reviewer_arrow .swiper-button-prev {width: 3.6rem; height: 3.6rem;}
    .reviewer_arrow .swiper-button-next {width: 3.6rem; height: 3.6rem;}

}

.m_direct {padding: 7.5rem 0; box-sizing: border-box;}
.m_direct .flex-layout {display: flex; justify-content: flex-start; align-items: stretch;}
.m_direct .flex-layout .img {position: relative; flex: none; width: 37.5rem; height: 26.875rem; border-radius: 1rem; background: var(--border-ee) url(/img/main/m_direct.jpg) 50% 50% no-repeat; background-size: cover; margin: 0 2.5rem 0 0;}
.m_direct .flex-layout .img img {display: block; width: 100%; height: auto; max-width: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.m_direct .flex-layout .txt {flex: none; width: calc(100% - 40rem); display: flex; justify-content: flex-start; align-items: center; align-content: center; flex-wrap: wrap;}
.m_direct .flex-layout .txt h2 {flex: none; width: 100%; font-size: 2.25rem; font-weight: 700; color: var(--txt-c0); letter-spacing: -0.065em; margin: 0 0 2rem;}
.m_direct .flex-layout .txt p {padding: 0 0 0 0.25rem; box-sizing: border-box; flex: none; width: 100%; font-size: 1.2rem; line-height: 1.75rem; font-weight: 400; color: var(--txt-c6); word-break: keep-all;}
.m_direct .flex-layout .txt a {margin: 2rem 0 0; display: flex; justify-content: center; align-items: center; width: 13rem; height: 3.375rem; border-radius: 3.125rem; background: var(--m-color); color: #fff; text-align: center; font-size: 1.2rem; font-weight: 500;}

@media all and (max-width: 900px) {
    .m_direct .flex-layout .img {width: 24rem; height: 18rem; margin: 0 2rem 0 0;}
    .m_direct .flex-layout .txt {width: calc(100% - 26rem);}
}

@media all and (max-width: 640px) {
    .m_direct .flex-layout {flex-wrap: wrap;}
    .m_direct .flex-layout .img {width: 100%; margin: 0 0 2rem;}
    .m_direct .flex-layout .txt {width: 100%; text-align: right; justify-content: flex-end; padding: 0 0 0 2rem; box-sizing: border-box;}
    .m_direct .flex-layout .txt a {display: inline-flex;}
}

.m_sell .list {display: flex; justify-content: flex-start; align-items: stretch; align-content: flex-start;}
.m_sell .list li {background: #fff; width: calc((100% - 5.625rem) / 4); margin: 0 1.875rem 0 0; border: 1px solid var(--border-ee); box-sizing: border-box; border-radius: 1rem;}
.m_sell .list li:nth-of-type(4) {margin: 0;}
.m_sell .list li a {display: block; width: 100%; height: 100%; border-radius: inherit;}
.m_sell .list li a .img {position: relative; width: 100%; border-top-left-radius: inherit; border-top-right-radius: inherit; padding-bottom: 100%; box-sizing: border-box; height: 0; background: var(--border-ee);}
.m_sell .list li a .img img {display: block; width: 100%; height: auto; max-width: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.m_sell .list li a .txt {border-bottom-left-radius: inherit; border-bottom-right-radius: inherit; padding: 1.625rem; box-sizing: border-box;}
.m_sell .list li a .txt h3 {font-size: 1.2rem; font-weight: 500; text-overflow: ellipsis; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; display: -webkit-box; max-height: 2.875rem;}
.m_sell .list li a .txt p {font-size: 1rem; margin: 0.625rem 0 0; color: var(--txt-c2);}
.m_sell .list li a .txt p span {display: inline-block; margin: 0 0 0 0.625rem; color: var(--txt-c6);}
.m_sell .list li a .txt h4 {margin: 1rem 0 0; font-size: 1.125rem; font-weight: 800; color: var(--m-color); }
.m_sell .list li a .txt h4 .cancel {font-weight: 400; color: var(--txt-c9); text-decoration: line-through; display: inline-block; margin: 0 0.625rem 0 0; font-size: 0.975rem;}
.m_sell .list li a .txt h4 .cancel strong {text-decoration: line-through;}
.m_sell .list li a .txt h4 span {font-weight: 400; color: var(--txt-c9); margin: 0 0 0 0.625rem; font-size: 0.975rem;}

@media all and (max-width: 900px) {
    .m_sell .list {flex-wrap: wrap;}
    .m_sell .list li {width: calc((100% - 1.875rem) / 2); margin: 0 1.875rem 1.875rem 0;}
    .m_sell .list li:nth-of-type(1) {margin: 0 1.875rem 1.875rem 0;}
    .m_sell .list li:nth-of-type(2) {margin: 0 0 1.875rem 0;}
    .m_sell .list li:nth-of-type(3) {margin: 0 1.875rem 0 0;}
    .m_sell .list li:nth-of-type(4) {margin: 0;}

}

@media all and (max-width: 640px) {
    .m_sell .list li {width: 100%; margin: 0 0 1.875rem !important;}
    .m_sell .list li:nth-of-type(4) {margin: 0 !important;}


}

.m_center {width: 100%; padding: 3.5rem 0; box-sizing: border-box;}
.m_center .flex-layout {display: flex; width: 100%; justify-content: space-between; align-items: flex-start;}
.m_center .flex-layout .m_notice,
.m_center .flex-layout .m_faq,
.m_center .flex-layout .m_call {flex: none; width: calc((100% - 8rem) / 3); margin: 0 4rem 0 0; position: relative;}
.m_center .flex-layout .m_call {margin: 0; }
.m_center .flex-layout h2 {font-size: 1.5rem; margin: 0 0 1.5rem; color: var(--txt-c0); font-weight: 800;}
.m_center .flex-layout .m_center_more {position: absolute; right: 0; top: 0; font-size: 0.875rem; color: var(--txt-c2); font-weight: 400; text-decoration: underline;}
.m_center li {width: 100%; display: flex; margin: 0 0 0.4rem 0; position: relative; padding: 0 0 0 10px; box-sizing: border-box;}
.m_center li::before {content: ''; display: block; width: 4px; height: 4px; border-radius: 50%; background: var(--m-color); position: absolute; top: 50%; left: 0; transform: translateY(-50%);}
.m_center li:last-of-type {margin: 0;}
.m_center li a {flex: none; color: var(--txt-c0); font-weight: 400; font-size: 1rem; display: block; width: 70%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
.m_center li .date {flex: none; color: var(--txt-c9); font-weight: 400; font-size: 1rem; display: block; width: 30%; text-align: right;}
.m_center dl {display: flex; justify-content: flex-start; align-items: center; padding: 0 0 0 5.5rem; box-sizing: border-box;}
.m_center dt {width: 5rem; flex: none; color: var(--m-color); font-weight: 500; font-size: 1rem;}
.m_center dd {width: calc(100% - 5rem); flex: none; font-size: 1rem; font-weight: 500;  color: var(--txt-c6);}
.m_center .m_call h3::before {background: url(/img/main/call_btn.svg) 50% 50% no-repeat; background-size: 1.875rem auto; position: absolute; top: 0; left: 0; content:  ''; display: block; width: 4.375rem; height: 4.375rem; border-radius: 0.45rem; border: 1px solid var(--border-ee); box-sizing: border-box;}
.m_center .m_call h3 {padding: 0 0 0 5.5rem; box-sizing: border-box; position: relative; color: var(--m-color); font-weight: 800; font-size: 1.75rem; font-family: 'Montserrat', sans-serif; margin: 0 0 0.25rem;}
.m_center .m_call p {padding: 0 0 0 5.5rem; box-sizing: border-box; font-size: 1rem; color: var(--txt-c0); margin: 0 0 0.25rem;}

@media all and (max-width: 900px) {
    .m_center .flex-layout {flex-wrap: wrap;}
    .m_center .flex-layout .m_notice,
    .m_center .flex-layout .m_faq,
    .m_center .flex-layout .m_call {width: 100%; margin: 0 0 2.5rem;}
    .m_center .flex-layout .m_call {width: auto; margin: 0;}

}

.page_container img {display: block; max-width: 100%; height: auto; width: initial;}

.table_opt {width: 100%; margin: 0 0 1rem; }
.table_opt form {width: 100%; display: flex; justify-content: flex-end; align-items: center; font-size: 1rem; flex-wrap: wrap;}
.table_opt form * {font-family: inherit;}
.table_opt form input {flex: none;}
.table_opt form input[type='text'] {border: 1px solid #ddd; box-sizing: border-box; height: 32px; border-radius: 4px;}
.table_opt form .button_lst {flex: none; display: flex; justify-content: flex-start; align-items: center; margin: 0 0 0 0.25rem; width: auto;}
.table_opt form button {flex: none; height: 2rem; background: #2d2d2d; border: 0; color: #fff;
    border-radius: 4px; padding: 0 0.5rem; box-sizing: border-box; margin: 0 0 0 0.125rem; line-height: 2rem;}
.table_opt form .inputs {flex: none; display: flex; justify-content: flex-start; align-items: center;}
.table_opt form .inputs2 {flex: none; display: flex; justify-content: flex-start; align-items: center;}
.table_opt form .inputs input {flex: none; width: 110px;}
.table_opt form .inputs span {flex: none; display: block; margin: 0 0.25rem;}
.table_opt form select {margin: 0 0.25rem 0 1rem; height: 32px; border-radius: 4px; padding: 0 2rem 0 0.75rem; background-position: calc(100% - 0.5rem) 50%; box-sizing: border-box;}

@media all and (max-width: 900px) {
    .table_opt form {flex-wrap: wrap; }
    .table_opt form .inputs2 {margin: 0.625rem 0 0;}
}

@media all and (max-width: 640px) {
}


@media all and (max-width: 420px) {
    .table_opt form {flex-wrap: wrap; }
    .table_opt form .button_lst {width: 100%; justify-content: flex-end; margin: 0;}
    .table_opt form .inputs {width: 17.3rem; justify-content: flex-end; margin: 0 0 0.5rem;}
    .table_opt form .inputs2 {width: 17.3rem; flex-wrap: wrap;}
    .table_opt form .inputs2 select {width: 100%; margin: 0 0 0.5rem;}
    .table_opt form .inputs2 input {width: calc(100% - 4.25rem);}
    .table_opt form .inputs2 button {width: 4rem;}
}


.teacher_list {width: 100%; display: flex; justify-content: flex-start; align-items: flex-start; align-content: flex-start; flex-wrap: wrap;}
.teacher_list li {width: calc((100% - 72px) / 4); box-sizing: border-box; margin: 0 24px 45px 0;}
.teacher_list li:nth-of-type(4n) {margin: 0 0 45px;}
.teacher_list li > a {display: block; width: 100%;}
.teacher_list li > a .img {background: #ecefea; box-shadow: 3px 4px 10px 0px rgba(69, 157, 35, 0); transition: all 0.3s ease-in-out; width: 100%; padding-bottom: 100%; box-sizing: border-box; position: relative; overflow: hidden; border-radius: 50%; border: 1px solid transparent;}
.teacher_list li > a .img img {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 100%; height: 100%;}
.teacher_list li > a .img:hover {border: 1px solid var(--m-color); box-shadow: 3px 4px 10px 0px rgba(69, 157, 35, 0.15);}
.teacher_list li > a .txt {width: 100%; margin: 24px 0 0;}
.teacher_list li > a .txt p {letter-spacing: -0.065em; font-size: 17px; color: #888; text-align: center; font-weight: 500; max-width: 100%; margin: 0 0 6px;}
.teacher_list li > a .txt h3 {letter-spacing: -0.065em; font-size: 22px; font-weight: 800; color: #222; text-align: center; max-width: 100%;}

@media all and (max-width: 900px) {
    .teacher_list li {width: calc((100% - 3rem) / 3); margin: 0 1.5rem 2.5rem 0;}
    .teacher_list li:nth-of-type(4n) {margin: 0 1.5rem 2.5rem 0;}
    .teacher_list li:nth-of-type(3n) {margin: 0 0 2.5rem;}
    .teacher_list li > a .txt {margin: 1.5rem 0 0;}
    .teacher_list li > a .txt p {margin: 0 0 0.25rem; font-size: 1.0625rem;}
    .teacher_list li > a .txt h3 {font-size: 1.25rem;}
}

@media all and (max-width: 640px) {
    .teacher_list li {width: calc((100% - 1.5rem) / 2); }
    .teacher_list li:nth-of-type(4n) {margin: 0 0 2.5rem;}
    .teacher_list li:nth-of-type(3n) {margin: 0 1.5rem 2.5rem 0;}
    .teacher_list li:nth-of-type(2n) {margin: 0 0 2.5rem;}

}

@media all and (max-width: 480px) {
    .teacher_list li > a .txt {margin: 1rem 0 0;}
    .teacher_list li > a .txt p {font-size: 0.9375rem; margin: 0;}
    .teacher_list li > a .txt h3 {font-size: 1rem;}
}

.teacher_view {width: 100%; }
.teacher_view .flex-layout {width: 100%; display: flex; justify-content: flex-start; align-items: flex-start; margin: 0 0 50px;}
.teacher_view .flex-layout .left_view {flex: none; width: 390px;}
.teacher_view .flex-layout .left_view .img {background: #ecefea; width: 100%; padding-bottom: 100%; box-sizing: border-box; border-radius: 20px; position: relative; overflow: hidden;}
.teacher_view .flex-layout .left_view .img img {display: block; max-width: 100%; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%);}
.teacher_view .flex-layout .right_view {flex: none; width: calc(100% - 390px); padding: 0 0 0 60px; box-sizing: border-box;}
.teacher_view .flex-layout .right_view h2 {font-size: 30px; font-weight: 800; color: var(--txt-c2); padding: 0 0 24px; border-bottom: 1px solid var(--border-dd); box-sizing: border-box; margin: 0 0 28px;}
.teacher_view .flex-layout .txt_flex {width: 100%; display: flex; justify-content: flex-start; align-items: flex-start;}
.teacher_view .flex-layout .txt_flex + .txt_flex {margin: 24px 0 0;}
.teacher_view .flex-layout .txt_tit {width: 6.25rem; flex: none; font-size: 17px; font-weight: 500; color: var(--txt-c2); letter-spacing: -0.065em; line-height: 27px;}
.teacher_view .flex-layout .txt_p {width: calc(100% - 6.25rem); flex: none; font-size: 17px; font-weight: 500; color: #888; letter-spacing: -0.065em; line-height: 27px;}
.teacher_view .flex-layout .txt_btn {margin: 1rem 0 0; display: flex; justify-content: flex-end; align-items: center;}
.teacher_view .flex-layout .txt_btn a {flex: none; width: 7.5rem; height: 3.125rem; border: 1px solid var(--border-dd); box-sizing: border-box; border-radius: 1.5625rem;
    display: flex; justify-content: center; align-items: center; text-align: center; font-size: 0.9375rem; color: #888; font-weight: 500; }

@media all and (max-width: 900px) {
    .teacher_view .flex-layout {flex-wrap: wrap; align-content: flex-start;}
    .teacher_view .flex-layout .left_view {max-width: 20rem; width: 100%;}
    .teacher_view .flex-layout .right_view {width: 100%; padding: 2.5rem 0 0;}

    .teacher_view .flex-layout .txt_flex {margin: 1.5rem 0 0;}
    .teacher_view .flex-layout .txt_tit {width: 6rem; font-size: 1.0625rem; line-height: 1.5625rem;}
    .teacher_view .flex-layout .txt_p {width: calc(100% - 6rem); font-size: 1.0625rem; line-height: 1.5625rem;}
}
@media all and (max-width: 640px) {
}
.list-layout .list-title {margin: 0 0 30px; font-size: 20px; font-weight: 500; color: var(--txt-c2); width: 100%; height: 55px; display: flex; justify-content: flex-start; align-items: center; padding: 0 0 0 28px; box-sizing: border-box; border: 1px solid var(--border-dd); border-radius: 15px; }
.list-layout .list {flex-wrap: wrap; align-content: flex-start; display: flex; justify-content: flex-start; align-items: stretch; }
.list-layout .list li {width: calc((100% - 5.625rem) / 4); margin: 0 1.875rem 1.875rem 0; border: 1px solid var(--border-ee); box-sizing: border-box; border-radius: 1rem;}
.list-layout .list li:nth-of-type(4n) {margin: 0 0 1.875rem;}
.list-layout .list li a {display: block; width: 100%; height: 100%; border-radius: inherit;}
.list-layout .list li a .img {position: relative; width: 100%; overflow: hidden; border-top-left-radius: inherit; border-top-right-radius: inherit;
    padding-bottom: calc(100% * 194 / 275 ); box-sizing: border-box; height: 0; background: var(--border-ee);}
.list-layout .list li a .img img {display: block; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); max-width: 100%; width: 100%; height: auto;}
.list-layout .list li a .txt {border-bottom-left-radius: inherit; border-bottom-right-radius: inherit; padding: 1.625rem; box-sizing: border-box;}
.list-layout .list li a .txt h3 {font-size: 1.2rem; font-weight: 500; text-overflow: ellipsis; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; display: -webkit-box; max-height: 2.875rem;}
.list-layout .list li a .txt p {font-size: 1rem; margin: 0.625rem 0 0; color: var(--txt-c2);}
.list-layout .list li a .txt p span {display: inline-block; margin: 0 0 0 0.625rem; color: var(--txt-c6);}
.list-layout .list li a .txt h4 {margin: 1rem 0 0; font-size: 1.125rem; font-weight: 800; color: var(--m-color); }
.list-layout .list li a .txt h4 .cancel {font-weight: 400; color: var(--txt-c9); text-decoration: line-through; display: inline-block; margin: 0 0.625rem 0 0; font-size: 0.975rem;}
.list-layout .list li a .txt h4 .cancel strong {text-decoration: line-through;}
.list-layout .list li a .txt h4 span {font-weight: 400; color: var(--txt-c9); margin: 0 0 0 0.625rem; font-size: 0.975rem;}
.list-layout .list li.no_lst {border: 0; width: 100% !important; text-align: center; font-size: 1.0625rem; color: var(--txt-c6);}

@media all and (max-width: 900px) {
    .list-layout .list-title {margin: 0 0 1.5rem; font-size: 1.25rem; height: 3.5rem; padding: 0 0 0 1.25rem;}
    .list-layout .list {flex-wrap: wrap; justify-content: center; align-content: flex-start;}
    .list-layout .list li {width: calc((100% - 1.875rem) / 2); margin: 0 1.875rem 1.875rem 0;}
    .list-layout .list li:nth-of-type(2n) {margin: 0 0 1.875rem;}
    .list-layout .list li:nth-of-type(3) {}
}
@media all and (max-width: 640px) {
    .list-layout .list li {width: 100%; margin: 0 0 1.875rem !important;}

}

.intro_title {font-size:2.5rem; margin: 0 0 2.125rem; line-height: 3.125rem; letter-spacing: -0.065em; font-weight: 600; text-align: center;}
.intro_title b {color: #459D23;}
.intro_p {margin: 0 0 4.5rem; line-height: 2rem; font-size: 1.0625rem; color: #222; font-weight: 400; text-align: center;}
.intro_flex {width: 100%; display: flex; justify-content: center; align-items: center; max-width: 40.625rem; margin: 0 auto;}
.intro_flex .box {display: block; flex: none; width: calc((100% - 28%) / 3); text-align: center; margin: 0;}
.intro_flex .box:nth-child(2) {margin: 0 14%;}
.intro_flex .txt {font-size: 1.25rem; font-weight: 500; color: #222; line-height: 1.625rem; margin: 1rem 0 0; letter-spacing: -0.065rem;}
.intro_flex .imgs {width: 100%; padding-bottom: 100%; box-sizing: border-box; background: #f6faf4; border-radius: 50%; position: relative;}
.intro_flex .imgs img {display: block; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); max-width: 70%; max-height: 70%;}
@media all and (max-width: 900px) {
    .intro_title {font-size: 1.5rem; line-height: 2rem; word-break: keep-all;}
    .intro_title br {display: none;}
    .intro_p br {display: none;}
    .intro_flex .txt  {font-size: 1rem; line-height: 1.2;}
    .intro_flex .box {width: calc((100% - 4%) / 3);}
    .intro_flex .box:nth-child(2) {margin: 0 2%;}
}

.button_lst2 {display: flex; justify-content: flex-start; align-items: center; flex-wrap: wrap;}
.button_lst2 button {margin: 0 0.25rem 0.625rem; font-size: 0.875rem; letter-spacing: -0.045em; font-weight: 500; flex: none; display: inline-flex; border: 0; background-color: #eee; color: #222; border-radius: 0.325rem; padding: 0.315rem 1rem;}
.button_lst2 button strong {font-family: 'Montserrat', sans-serif; }
.button_lst2 button.active {background-color: var(--m-color); color: #fff;}

.attend_lst {border-top: 1px solid #999 !important;}