@import url('jquery-simple-mobilemenu-accordion.css');

/*---------------------------------------------------------------------------------------------------------------

	MOBILE

---------------------------------------------------------------------------------------------------------------*/
#m_wrapper {
	display: block;
	position: relative;
	margin: 0;
	padding: 0;
	font-family: sans-serif;
	font-size: 14px; 
	line-height: 1.4; 
	color: #101010; 
	word-break: normal;
}

#m_wrapper.main {
	background: #000000;
}

#m_wrapper img {
	width: 100%;
	max-width: 100%;
}

a:active, 
a:focus {
	outline: none;
	background: none;
}

.styledCheckbox input[type=checkbox]:not(old) + label,
.styledRadio input[type=radio]:not(old) + label{
	display : inline-block;
	position: relative;
	vertical-align: top;
	margin-left : -15px;
	margin-right: 0;
	margin-bottom: 0;
	padding-left : 25px;
	background-image : url('images/checkbox-default-2x.png');
	background-repeat: no-repeat;
	background-position: 0 center;
	background-size: 20px;
	font-size: 16px;
	line-height: 30px;
	letter-spacing: 0;
	cursor: pointer;
	font-family: 'Montserrat', sans-serif;
}


.styledRadio input[type=radio]:not(old) + label {
	background-image : url('images/radio-default-2x.png');
	background-size: 20px;
}

.styledCheckbox input[type=checkbox]:not(old):checked + label{
	background-image : url('images/checkbox-selected-2x.png');
	background-size: 20px;
}

.styledRadio input[type=radio]:not(old):checked + label{
	background-image : url('images/radio-selected-2x.png');
	background-size: 20px;
}



/*---------------------------------------------------------------------------------------------------------------

	Header

---------------------------------------------------------------------------------------------------------------*/
header#header_wrapper {
	display: block;
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	padding: 15px 20px 15px;
	box-sizing: border-box;
	z-index: 1000;
	margin: 0;
}

.sticky #header_wrapper {
	background: rgba(0, 0, 0, 0.9);
}

a#m_logo_top {
	width: 73px !important;
	display: block;
	position: relative;
	margin: 0;
	padding: 0;
	z-index: 1000;
}

a#m_logo_top img {
	width: 100%;
}


html.overflow,
body.overflow { 
	overflow: hidden !important;
}

/*  BURGER
========================================== */

.burger {
	width: 50px;
	height: 50px;
	position: fixed;
	top: 20px;
	right: 20px;
	border-radius: 4px;
	z-index: 10;
}

.burger span {
	position: relative;
	margin-top: 9px;
	margin-bottom: 9px;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	position: absolute;
	top: 50%;
	left: 50%;
	margin-left: -15px;
	margin-top: -1.5px;
}

.burger span, .burger span::before, .burger span::after {
	display: block;
	width: 30px;
	height: 3px;
	background-color: #ffffff;
	outline: 1px solid transparent;
	-webkit-transition-property: background-color, -webkit-transform;
	-moz-transition-property: background-color, -moz-transform;
	-o-transition-property: background-color, -o-transform;
	transition-property: background-color, transform;
	-webkit-transition-duration: 0.3s;
	-moz-transition-duration: 0.3s;
	-o-transition-duration: 0.3s;
	transition-duration: 0.3s;
}

.burger span::before, .burger span::after {
	position: absolute;
	content: "";
}

.burger span::before { top: -9px; }

.burger span::after { top: 9px; }

.burger.clicked span { background-color: transparent; }

.burger.clicked span::before {
	-webkit-transform: translateY(9px) rotate(45deg);
	-moz-transform: translateY(9px) rotate(45deg);
	-ms-transform: translateY(9px) rotate(45deg);
	-o-transform: translateY(9px) rotate(45deg);
	transform: translateY(9px) rotate(45deg);
}

.burger.clicked span::after {
	-webkit-transform: translateY(-9px) rotate(-45deg);
	-moz-transform: translateY(-9px) rotate(-45deg);
	-ms-transform: translateY(-9px) rotate(-45deg);
	-o-transform: translateY(-9px) rotate(-45deg);
	transform: translateY(-9px) rotate(-45deg);
}

.burger.clicked span:before, 
.burger.clicked span:after { 
	background-color: #ffffff;
}

.burger:hover { cursor: pointer; }

/*  NAV
========================================== */

nav {
	background-color: #202020;
	position: fixed;
	z-index: 9;
	top: 0;
	right: 0;
	height: 100%;
	width: 100%;
	padding: 120px 40px 0px 40px;
	box-sizing: border-box;
	overflow-y: auto;
	-webkit-transform: translateX(100%);
	-moz-transform: translateX(100%);
	-ms-transform: translateX(100%);
	-o-transform: translateX(100%);
	transform: translateX(100%);
	-webkit-transition: transform 0.55s cubic-bezier(0.785, 0.135, 0.15, 0.86);
	-moz-transition: transform 0.55s cubic-bezier(0.785, 0.135, 0.15, 0.86);
	-o-transition: transform 0.55s cubic-bezier(0.785, 0.135, 0.15, 0.86);
	transition: transform 0.55s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}

nav.show {
	-webkit-transform: translateX(0px);
	-moz-transform: translateX(0px);
	-ms-transform: translateX(0px);
	-o-transform: translateX(0px);
	transform: translateX(0px);
}

nav.show ul.main li {
  -webkit-transform: translateX(0px);
  -moz-transform: translateX(0px);
  -ms-transform: translateX(0px);
  -o-transform: translateX(0px);
  transform: translateX(0px);
  opacity: 1;
}

nav.show ul.main li:nth-child(1),
nav.show ul.main li:nth-child(1) ul.sub { 
	transition-delay: 0.15s;
}

nav.show ul.main li:nth-child(2) { transition-delay: 0.3s; }

nav.show ul.main li:nth-child(3) { transition-delay: 0.45s; }

nav.show ul.main li:nth-child(4) { transition-delay: 0.6s; }

nav.show ul.main li:nth-child(5) { transition-delay: 0.75s; }

nav.show ul.main li:nth-child(6) { transition-delay: 0.9s; }

nav.show ul.main li:nth-child(7) { transition-delay: 1.05s; }

nav.show ul.main li:nth-child(8) { transition-delay: 1.2s; }

nav.show ul.main li:nth-child(9) { transition-delay: 1.35s; }

nav.show .about, nav.show .social, nav.show ul.sub {
	-webkit-transform: translateY(0px);
	-moz-transform: translateY(0px);
	-ms-transform: translateY(0px);
	-o-transform: translateY(0px);
	transform: translateY(0px);
	opacity: 1;
	transition-delay: .85s;
}

nav ul.main { 
	list-style-type: none; 
	
}

nav ul.main li {
	margin-bottom: 20px;
	-webkit-transform: translateX(40px);
	-moz-transform: translateX(40px);
	-ms-transform: translateX(40px);
	-o-transform: translateX(40px);
	transform: translateX(40px);
	opacity: 0;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
	background: transparent;
}

nav ul.main li:last-of-type { margin-bottom: 0px; }

nav ul.main li a {
	color: #ffffff;
	text-decoration: none;
	text-transform: uppercase;
	font-size: 20px;
	display: block;
	letter-spacing: 0px;
	padding: 5px 0;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

nav ul.main li a span { color: #b7ac7f; }

nav ul.main li a:hover { color: #b7ac7f; }


nav ul.sub {
	list-style-type: none;
	margin-top: 0px;
	margin-bottom: 20px;
	-webkit-transform: translateY(30px);
	-moz-transform: translateY(30px);
	-ms-transform: translateY(30px);
	-o-transform: translateY(30px);
	transform: translateY(30px);
	opacity: 0;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
}

nav ul.sub li { 
	display: inline-block;
	width: 49%;
	margin-bottom: 10px;
}

nav ul.sub li:last-of-type { margin-bottom: 0px; }

nav ul.sub li a {
	color: #ffffff;
	letter-spacing: 0px;
	font-size: 14px;
	line-height: 24px;
	padding-left: 5px;
	text-decoration: none;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

nav ul.sub li a:hover { color: #b7ac7f; }

/*  OVERLAY
========================================== */

.overlay {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	-webkit-transition: all 0.3s ease-in-out;
	-moz-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
	opacity: 0;
	visibility: hidden;
}

.overlay.show {
  opacity: 0.8;
  visibility: visible;
}


/*---------------------------------------------------------------------------------------------------------------

	Main Contents

---------------------------------------------------------------------------------------------------------------*/

#m_main_slide_wrapper {
	display: block;
	position: absolute;
	margin: 0;
	padding: 0;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}

li.main_slide_li {
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center top;
	width: 100%;
	height: 100vh;
}

#main_text_img {
	display: block;
	position: relative;
	margin: 0;
	padding: 0;
	z-index: 3;
}


#m_main_quick {
	display: block;
	position: relative;
	width: 90%;
	margin: 0 0 70px auto;
	z-index: 3;
}

#m_main_quick_body {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-template-rows: repeat(2, 90px);
	position: relative;
	margin: 0;
	padding: 0px 0;
	background: #ffffff;
}

a.m_quick_link {
	display: block;	
	box-sizing: border-box;
	border-left: 1px dashed #ddd;
	border-top: 1px dashed #ddd;
	padding: 5px 0;
}

.m_quick_icon {
	display: block;
	margin: 5px auto 0;
	width: 45px;
}

a.m_quick_link:nth-child(1),
a.m_quick_link:nth-child(2),
a.m_quick_link:nth-child(3) {
	border-top: none;
}


a.m_quick_link:first-child,
a.m_quick_link:nth-child(4) {
	border-left: none;
}

p.m_quick_text {
	display: block;
	text-align: center;
	margin: 0;
	font-size: 13px;
	line-height: 18px;
	color: #222;
	letter-spacing: 0;
}


/*---------------------------------------------------------------------------------------------------------------

	FOOTER

---------------------------------------------------------------------------------------------------------------*/

#m_bottom_icons {
	display: block;
	position: fixed;
	z-index: 999;
	right: 20px;
	bottom: 15px;
}

#m_bottom_icons li {
	display: block;
	position: relative;
	list-style: none;
	margin: 10px 0 0;
	padding: 0;
	width: 45px;
}

#m_bottom_icons a {
	display: block;
	position: relative;
	width: 45px;
	height: 45px;
	overflow: hidden;
	border-radius: 50%;
	box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.2);
}

#m_footer {
	display: block;
	position: relative;
	padding: 20px 15px;
	background: #1C1C1C;
}

#footer_title {
	display: block;
	position: relative;
	margin: 0 0 10px;
	padding: 0 0px;
	border-bottom: 1px solid rgba(255, 255, 255, .1);
	text-align: center;
}

#footer_title h2 {
	font-size: 20px;
	color: #fff;
	line-height: 30px;
	letter-spacing: -0.015em;
}

#footer_title h2 small {
	display: block;
	font-size: 12px;
	line-height: 20px;
	color: rgba(255, 255, 255, 0.5);
}

.footer_copy {
	display: block;
	position: relative;
	margin: 0;
	padding: 0;
	text-align: center;
}

.footer_copy li {
	display: inline;
	position: relative;
	font-size: 10px;
	color: rgba(255, 255, 255, 0.4);
	line-height: 16px;
	letter-spacing: -0.015em;
	margin: 0 2px;
	padding: 0;
	list-style: none;
	vertical-align: top;
}

.footer_copy a {
	font-size: 10px;
	color: rgba(255, 255, 255, 0.4);
	line-height: 16px;
	vertical-align: top;
}


#m_sns {
	display: block;
	position: relative;
	margin: 0;
	padding: 15px 0;
	text-align: center;
}

#m_sns li {
	display: inline-block;
	position: relative;
	vertical-align: top;
	margin: 0;
	padding: 0 3px;
	list-style: none;
}


a.m_sns_link {
	display: block;
	position: relative;
	width: 35px;
	height: 35px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.3);
	text-align: center;
	line-height: 35px;
	color: #000;
	font-weight: bold;
	font-size: 20px;
}

a.m_sns_link i {
	font-size: 20px;
	line-height: 35px;
}

/*---------------------------------------------------------------------------------------------------------------

	SUB CONTENTS

---------------------------------------------------------------------------------------------------------------*/

#m_sub_header_wrapper {
	display: block;
	position: relative;
	padding: 0;
	margin: 0;
	height: 220px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}


.sb_header01 { background-image: url('http://artespeech.cdn3.cafe24.com/sub-header-bg01.jpg'); }
.sb_header02 { background-image: url('http://artespeech.cdn3.cafe24.com/sub-header-bg02.jpg'); }
.sb_header03 { background-image: url('http://artespeech.cdn3.cafe24.com/sub-header-bg03.jpg'); }
.sb_header04 { background-image: url('http://artespeech.cdn3.cafe24.com/sub-header-bg04.jpg'); }
.sb_header05 { background-image: url('http://artespeech.cdn3.cafe24.com/sub-header-bg05.jpg'); }
.sb_header06 { background-image: url('http://artespeech.cdn3.cafe24.com/sub-header-bg06.jpg'); }
.sb_header07 { background-image: url('http://artespeech.cdn3.cafe24.com/sub-header-bg07.jpg'); }
.sb_header08 { background-image: url('http://artespeech.cdn3.cafe24.com/sub-header-bg07.jpg'); }
.sb_header09 { background-image: url('http://artespeech.cdn3.cafe24.com/sub-header-bg07.jpg'); }
.sb_header10 { background-image: url('http://artespeech.cdn3.cafe24.com/sub-header-bg07.jpg'); }


#m_sub_header_title {
	display: block;
	position: relative;
	padding: 110px 0 0;
	margin: 0;
	text-align: center;
	color: #ffffff;
}

#m_sub_header_title h3 {
	font-size: 16px;
	letter-spacing: 0.025em;
	line-height: 20px;
	margin: 0;
}

#m_sub_header_title h5 {
	font-weight: 700;
	font-size: 26px;
	letter-spacing: -0.025em;
	line-height: 30px;
	margin: 0 0 8px;
	font-family: 'Montserrat', sans-serif;
}


#m_sub_header_title p {
	font-size: 11px;
	font-weight: normal;
	color: rgba(255, 255, 255, 0.8);
	margin: 0;
}

#m_sub_wrapper {
	display: block;
	position: relative;
	padding: 30px 25px 40px;
	background: #ffffff;
}

.bg_light {
	background: #f4f2ef !important;
}

.push_sub {
	display: block;
	position: relative;
	margin-left: -25px;
	margin-right: -25px;
}

.section_title {
	display: block;
	position: relative;
	margin: 0px 0 20px;
	padding: 0 0 0 0px;
	text-align: left;
}

.section_title h6 {
	font-family: 'DWImpactamin';
	font-size: 18px;
	line-height: 28px;
	letter-spacing: 0.01em;
	color: #000000;
}

.section_title p {
	font-size: 13px;
	line-height: 25px;
	color: #494949;
	margin: 0;
	letter-spacing: 0;
}

.section_title:before {
	display: block;
	position: relative;
	content: '';
	width: 15px;
	height: 3px;
	background: #e81d25;
	margin: 0 0 8px;
}



#curriculum_wrapper {
	display: block;
	position: relative;
}

#curriculum_intro {
	display: block;
	position: relative;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}


.intro_t01 {
	font-size: 15px;
	font-weight: 700;
	line-height: 25px;
	letter-spacing: 0;
	margin: 0 0px;
	padding: 15px 0 0 3px;
	color: #a71313;
}

.intro_t02 {
	font-size: 28px;
	font-weight: bold;
	line-height: 36px;
	letter-spacing: -0.025em;
	margin: 0 0 10px;
	color: #000000;
}

.intro_t03 {
	font-size: 15px;
	font-weight: normal;
	line-height: 24px;
	letter-spacing: 0;
	margin: 0 0 20px;
	color: #000000;
}

a.btn_big_red {
	display: block;
	position: relative;
	box-sizing: border-box;
	margin: 0;
	padding: 0 40px;
	width: 100%;
	height: 60px;
	line-height: 60px;
	color: #ffffff;
	border: none;
	font-size: 18px;
	letter-spacing: -0.025em;	
	background-color: #a71313;
	transition: none;
	text-align: center;
}



#feature_boxes {
	display: block;
	position: relative;
	margin: 30px 0;
	padding: 0;
	box-sizing: border-box;
}

.feature_box {
	display: block;
	position: relative;
	vertical-align: top;
	margin: 0 0 10px;
	padding: 30px 30px 30px 80px;
	background-image: url('http://artespeech.cdn3.cafe24.com/curriculum-box-bg.jpg');
	background-repeat: no-repeat;
	background-position: 96% 15%;
	background-color: #fff;
	background-size: 11px 11px;
	box-shadow: 3px 3px 8px rgba(0, 0, 0, 0.05);
	box-sizing: border-box;
	text-align: left;
	word-break: keep-all;
}

.feature_box h6 {
	font-size: 17px;
	font-weight: bold;
	line-height: 24px;
	letter-spacing: -0.05em;
	margin: 0 0 5px;
	color: #3c3c3c;
}

.feature_box p {
	font-size: 13px;
	font-weight: normal;
	line-height: 18px;
	letter-spacing: -0.025em;
	margin: 0px;
	color: rgba(60, 60, 60, .5);
	word-break: keep-all;
}

.feature_icon {
	display: block;
	position: absolute;
	left: 10px;
	top: 50%;
	width: 60px;
	margin-top: -30px;
}


.table_red {
	display: block;
	position: relative;
	margin: 0 0 30px;
	padding: 0;	
	overflow-x: scroll;
	word-break: keep-all;
}

.table_red table {
	width: 800px;
	border-top: 3px solid #000000;
	border-collapse: collapse;
}

.table_red thead th.r_th {
	background: #a71313;
	color: #ffffff;
	padding: 10px 15px;
	text-align: center;
	font-weight: bold;
	letter-spacing: -0.025em;
	font-size: 15px;
	line-height: 24px;
	border: 1px solid rgba(255, 255, 255, 0.3);
	border-top: none;
}


.table_red td.r_td {
	padding: 10px 18px;
	border: 1px solid #ddd;
	font-weight: normal;
	letter-spacing: 0em;
	font-size: 14px;
	line-height: 22px;
	color: #111;
}


.table_red.striped tbody tr:nth-child(odd) th,
.table_red.striped tbody tr:nth-child(odd) td {
	background-color: #f5f5f5;
}



/* Group Schedule */


#schedule_thumbs {
	display: block;
	position: relative;
	margin: 0;
	padding: 0;
}

#schedule_thumbs li {
	display: block;
	position: relative;
	list-style: none;
	margin: 0 0 20px;
	padding: 0px;
}

#schedule_thumbs li p {
	display: block;
	position: relative;
	text-align: center;
	font-size: 17px;
	line-height: 25px;
	letter-spacing: -0.025em;
	background: #000;
	color: #fff;
	padding: 15px 0;
	margin: -1px 0 0;
	border: 1px solid #eaeaea;
	border-top: none;
}

.schedule_thumb {
	display: block;
	position: relative;
	margin: 0 0px;	
	border: 1px solid #eaeaea;
}

.schedule_thumb:before {
	content: '';
    display: block;
	position: relative;
    padding-top: 100%; /* 1:1 비율 */
}


.schedule_thumb.soldout:after {
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.8);
	z-index: 555;
	margin: 0;
	padding: 0;
	content: '';
}


.soldout_label {
	display: block;
	position: absolute;
	box-sizing: border-box;
	width: 75px;
	height: 70px;
	right: 0;
	top: 0;
	padding: 18px 0 0;
	background: #ff0000;
	text-align: center;
	font-size: 15px;
	line-height: 18px;
	letter-spacing: -0.0025em;
	color: #ffffff;
	text-align: center;
	z-index: 666;
	font-weight: 700;	
}


/* Counselling */


#conselling_wrapper {
	display: block;
	position: relative;
	padding: 0px;
	margin: 0 0 0px;
	width: 100%;
	box-sizing: border-box;
	
}

.c_box {
	display: block;
	position: relative;
	padding: 30px 20px;
	margin: 0 0 20px;
	text-align: center;
	background: #f1f1f1;
}

.c_img {
	display: block;
	width: 130px;
	margin: 0 auto 20px;
}

.c_title {
	font-size: 24px;
	letter-spacing: -0.05em;
	font-weight: normal;
	line-height: 32px;
	margin: 0 0 10px;
}

.c_text {
	font-size: 15px;
	letter-spacing: -0.015em;
	line-height: 22px;
	color: #666;
	font-weight: 400;
	margin: 0 0 20px;
}



.teacehr_box {
	display: block;
	position: relative;
	padding: 35px 40px;
	background-image: url('http://artespeech.cdn3.cafe24.com/m-teacher-bg.jpg');
	background-position: left top;
	background-repeat: repeat-x;
	background-color: #f7f7f7;
	margin: 0 0 35px;
}

.teacher_img {
	margin: 0 0 40px;
	box-shadow: 10px 10px 15px rgba(0, 0, 0, 0.2);
}


.t_position {
	font-family: 'DWImpactamin';
	font-size: 14px;
	color: #801714;
	margin: 0 0 5px;
}

.t_name {
	font-family: 'DWImpactamin';
	font-size: 30px;
	letter-spacing: 0.05em;
	margin: 0 0 15px;
	color: #000;
}

.t_current {
	/* font-family: 'DWImpactamin'; */
	font-size: 15px;
	line-height: 25px;
	margin: 0 0 20px;
}

.t_history {
	display: block;
	position: relative;
	margin: 0;
	padding: 0;
}

.t_history li {
	display: block;
	position: relative;
	list-style: none;
	font-size: 13px;
	line-height: 23px;
	letter-spacing: -0.025em;
	color: #555555;
	margin: 0 0 5px;
	padding: 0 0 0 10px;
}

.t_history li:before {
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	color: #555555;
	font-size: 13px;
	line-height: 23px;
	content: '-';
}

.two_subject_box {
	display: flex;
	position: relative;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: center;
	gap: 0 15px;
	margin: 0 0 10px;
	background-color: #f9f9f9;
}

.two_subject_box .ts_img {
	width: 30%;
	box-sizing: border-box;
}

.two_subject_box .ts_text {
	width: 70%;
	box-sizing: border-box;
}

.ts_text h6 {
	font-size: 18px;
	line-height: 26px;
	color: #af1111;
	margin: 0 0 3px;
	font-family: 'DWImpactamin';
	letter-spacing: -0.025em;
}

.ts_text p {
	font-size: 14px;
	line-height: 18px;
	color: #222;
	letter-spacing: -0.025em;
	margin: 0;
}

#ceo {
	padding: 20px 30px;
	border-radius: 8px;
	background-color: #fafafa;
	margin: 20px 0;
	word-break: keep-all;
}

#ceo p {
	font-size: 14px;
	line-height: 24px;
	color: #222;
	margin: 25px 0;
}