@charset "utf-8";
/* CSS Document */


/******************************

1. basic
2. banner
3. news
4. about
5. teacher
6. course
7. language
8. level
9. contactus
10. footer & copyright
11. news-one news-two

******************************/





/*********************************
$1. basic
*********************************/

/*fadein*/
@keyframes fadein {
    from {
        opacity:0;
    }
    to {
        opacity:1;
    }
}
@-moz-keyframes fadein {
    from {
        opacity:0;
    }
    to {
        opacity:1;
    }
}
@-webkit-keyframes fadein {
    from {
        opacity:0;
    }
    to {
        opacity:1;
    }
}
@-o-keyframes fadein {
    from {
        opacity:0;
    }
    to {
        opacity: 1;
    }
}

* {
	box-sizing: border-box;
}

.u-cf:after {
	content: "";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}

.u-link {
	color: #2E2D2D;
	text-decoration: none;
	display: block;
}

.u-verticalCenter {
	position: absolute;
	top: 50%;
	transform: translate(0,-50%);
}

.u-horizontalCenter {
	position: absolute;
	left: 50%;
	transform: translate(-50%,0);
	z-index: 9;
}

.basic-btn--primary {
	display: inline-block;
	border: 2px solid #2E2D2D;
	-webkit-border-radius: 25px;
	-moz-border-radius: 25px;
	border-radius: 25px;
	text-decoration: none;
	color: #2E2D2D;
	transition: background-color 0.2s ease-in-out;
}

.basic-btn--primary:hover {
	background-color: #2E2D2D;
	color: #fff;
}

.basic-btn--secondary {
	display: inline-block;
	border: 2px solid #2E2D2D;
	-webkit-border-radius: 25px;
	-moz-border-radius: 25px;
	border-radius: 25px;
	text-decoration: none;
	color: #2E2D2D;
	transition: background-color 0.2s ease-in-out;
}

.basic-btn--secondary:hover {
	background-color: #2E2D2D;
	color: #fff;
}

@media only screen and (min-width: 1px) and (max-width: 1100px) {

.main {
	padding-top: 50px;
}

}

@media only screen and (min-width: 1101px) {

.main {
	padding-top: 75px;
}

}

.disabled {
	pointer-events: none;
	cursor: default;
	text-decoration: none;
}

.article {
	display: block;
}

@media only screen and (min-width: 1px) and (max-width: 1100px) {

.article .title {
	width: 100%;
	text-align: center;
	color: #000000;
	font-weight: 700;
	font-size: 2.2rem;
	/*line-height: 1.3;*/
	background-image: url("../images/title_bg.png");
	background-repeat: no-repeat;
	background-position: center bottom;
}

.article .subtitle {
	text-align: center;
	margin-top: 10px;
}

.article .subtitle strong {
	line-height: 1.3;
	display: inline-block;
	color: #000000;
	font-weight: 700;
	font-size: 1.2rem;
}

.article .desc {
	text-align: center;
	margin-bottom: 40px;
	font-size: 1rem;
}

}

@media only screen and (min-width: 1101px) {

.article .title {
	width: 100%;
	text-align: center;
	color: #000000;
	font-weight: 700;
	font-size: 2.5rem;
	line-height: 1.5;
	background-image: url("../images/title_bg.png");
	background-repeat: no-repeat;
	background-position: center bottom;
}

.article .subtitle {
	text-align: center;
	margin-top: 10px;
}

.article .subtitle strong {
	line-height: 1.5;
	display: inline-block;
	font-weight: 700;
	font-size: 1.5rem;
}

.article .desc {
	text-align: center;
	margin-bottom: 40px;
	font-size: 1.5rem;
}

}

/*********************************
$2. banner
*********************************/

.banner {
}

.banner picture {
	display: block;
	padding: 0;
	margin: 0;
	border: none;
}

.banner img {
	width: 100%;
}

/*********************************
$3. news
*********************************/

.news {
	background-color: #fffabc;
	/*background-image: url("../images/news_bg.jpg");
	background-repeat: repeat;
	position: relative;*/
}

.news img {
	width: 100%;
}

.fbbanner {
	float: left;
	width: 100%;
	background-color: #fff;
	/*background-image: url("../images/news_bg.jpg");
	background-repeat: repeat;
	position: relative;*/
	text-align: center;
	border-bottom: 1px solid #d5de9e;
	border-top: 1px solid #d5de9e;
	margin-bottom: 50px;
}

.fbbanner img {
	width: 100%;
}

/*********************************
$4. about
*********************************/

.about .list {
	float: left;
	width: 100%;
	list-style-type: none;
	padding: 0;
	margin: 0;
}

.about .list li {
	float: left;
	list-style-type: none;
	padding: 0;
	margin: 0;
	background-color: #fff;
}

.about .list li .photo-desc {
 	float: left;
 	width: 100%;
	background-color: #fff;
	font-size: 1em;
	text-align: center;
	padding: 5px;
 }

@media only screen and (min-width: 1px) and (max-width: 1100px) {

.about {
	padding-top: 30px;
	padding-bottom: 40px;
	background-color: rgb(244, 243, 235);
}

}

@media only screen and (min-width: 1101px) {

.about {
	padding-top: 40px;
	padding-bottom: 40px;
	background-size: contain;
	background-color: rgb(244, 243, 235);
}

}

/*********************************
$5. teacher
*********************************/

@media only screen and (min-width: 1px) and (max-width: 1100px) {

.teacher {
	padding-top: 30px;
	padding-bottom: 40px;
	background-size: contain;
}

}

@media only screen and (min-width: 1101px) {

.teacher {
	padding-top: 40px;
	padding-bottom: 40px;

}

}

.teacher table,
.teacher th,
.teacher td {
	border: 1px solid;
	border-collapse: collapse;
}

.teacher th {
	background-color: #dbdbe3;
}

.teacher td {
	padding: 5px 10px;
}

@media only screen and (min-width: 1px) and (max-width: 760px) {

	.teacher td {
		padding: 2px;
		font-size: 0.9em;
	}

}

/*********************************
$6. course
*********************************/

.course {
	float: left;
	width: 100%;
	background-color: rgb(244, 243, 235);
	padding-bottom: 50px;
	padding-top: 50px;
}

.courseBox {
	float: left;
	width: 100%;
	text-align: center;
}

.courseBox h3 {
	line-height: 1.5;
	display: inline-block;
	background-image: url("../images/subtitle.png");
	background-repeat: repeat-x;
	background-position: bottom;
	color: #000000;
	font-weight: 700;
	font-size: 1.7rem;
}

/*.courseBox-list {
	float: left;
	width: 100%;
	list-style-type: none;
	padding: 0;
	margin: 0;
	padding-top: 10px;
}

.courseBox-list2 {
	float: left;
	width: 100%;
	list-style-type: none;
	padding: 0;
	margin: 0;
	padding-top: 10px;
}

.courseBox-list li {
	float: left;
	width: calc(33.3333% - 10px);
	list-style-type: none;
	padding: 0;
	margin: 0;
	background-color: #fff;
	padding: 10px;
	margin: 5px;
	border: 1px solid rgb(248, 239, 227);
}

.courseBox-list2 li {
	float: left;
	width: calc(25% - 10px);
	list-style-type: none;
	padding: 0;
	margin: 0;
	background-color: #fff;
	padding: 10px;
	margin: 5px;
	border: 1px solid rgb(248, 239, 227);
}

.courseBox-list li p,
.courseBox-list2 li p {
	float: left;
	width: 100%;
	color: #000;
	font-size: 1.2em;
	text-align: center;
	padding: 5px;
}

@media only screen and (min-width: 1px) and (max-width: 760px) {

	.courseBox-list li,
	.courseBox-list2 li {
		width: 100%;
	}

}*/

.course .list {
	float: left;
	width: 100%;
	list-style-type: none;
	padding: 0;
	margin: 0;
}

.course .list li {
	float: left;
	list-style-type: none;
	padding: 0;
	margin: 0;
	background-color: #fff;
}

.course .list li .photo-desc {
	float: left;
	width: 100%;
	background-color: #fff;
	font-size: 1em;
	text-align: center;
	padding: 5px;
}

@media only screen and (min-width: 1px) and (max-width: 1100px) {

	.course {
		padding-top: 30px;
		padding-bottom: 40px;
		background-color: rgb(244, 243, 235);
	}

}

@media only screen and (min-width: 1101px) {

	.course {
		padding-top: 40px;
		padding-bottom: 40px;
		background-size: contain;
		background-color: rgb(244, 243, 235);
	}

}

/*********************************
$7. language
*********************************/

.language {
	float: left;
	width: 100%;
	padding-bottom: 20px;
	padding-top: 50px;
	background-color: #fff;
}

.languageBox {
	float: left;
	width: 100%;
	margin-bottom: 50px;
}

.languageBox h3 {
	line-height: 1.5;
	display: inline-block;
	background-image: url("../images/subtitle.png");
	background-repeat: repeat-x;
	background-position: bottom;
	color: #000000;
	font-weight: 700;
	font-size: 1.7rem;
}

.language table,
.language th,
.language td {
	border: 1px solid;
	border-collapse: collapse;
}

.language th {
	background-color: #dbdbe3;
}

.language td {
	padding: 5px 10px;
	text-align: left;
}

@media only screen and (min-width: 1px) and (max-width: 760px) {

	.language td {
		padding: 2px;
		font-size: 0.9em;
	}

}

/*languageBox-list1*/
.languageBox-list1 {
	float: left;
	width: 100%;
	list-style-type: none;
	padding: 0;
	margin: 0;
	padding-top: 10px;
}

.languageBox-list1 li {
	float: left;
	width: 25%;
	list-style-type: none;
	padding: 0;
	margin: 0;
	background-color: #fff;
}

.languageBox-list1 li img {
	width: 120px;
	margin: auto;
}

.languageBox-list1 li h4 {
	float: left;
	width: 100%;
	font-size: 1.7em;
	text-align: center;
	padding: 5px;
}

.languageBox-list1 li p {
	float: left;
	width: 100%;
	font-size: 1em;
	text-align: center;
}

@media only screen and (min-width: 1px) and (max-width: 760px) {

	.languageBox-list1 li {
		width: 100%;
	}

}

/*languageBox-list2*/
.languageBox-list2 {
	float: left;
	width: 100%;
	list-style-type: none;
	padding: 0;
	margin: 0;
	padding-top: 10px;
}

.languageBox-list2 li {
	float: left;
	width: 33.3333%;
	list-style-type: none;
	padding: 0;
	margin: 0;
	background-color: #fff;
	position: relative;
}

.languageBox-list2 li p {
	float: left;
	width: 100%;
	background-color: rgba(0, 0, 0, 0.7);
	color: #fff;
	font-size: 1.2em;
	text-align: center;
	padding: 5px;
	position: absolute;
	bottom: 0;
}

@media only screen and (min-width: 1px) and (max-width: 760px) {

	.languageBox-list2 li {
		width: 100%;
	}

}

.languageBox-list3 {
	float: left;
	width: 100%;
	text-align: center;
}

.languageBox-list3 h3 {
	line-height: 1.5;
	display: inline-block;
	background-image: url("../images/subtitle.png");
	background-repeat: repeat-x;
	background-position: bottom;
	color: #000000;
	font-weight: 700;
	font-size: 1.7rem;
}

.languageBox-list3 .list {
	float: left;
	width: 100%;
	list-style-type: none;
	padding: 0;
	margin: 0;
}

.languageBox-list3 .list li {
	float: left;
	list-style-type: none;
	padding: 0;
	margin: 0;
	background-color: #fff;
}

.languageBox-list3 .list li .photo-desc {
	float: left;
	width: 100%;
	background-color: #fff;
	font-size: 1em;
	text-align: center;
	padding: 5px;
}

@media only screen and (min-width: 1px) and (max-width: 1100px) {

	.languageBox-list3 {
		padding-top: 30px;
		padding-bottom: 40px;
	}

}

@media only screen and (min-width: 1101px) {

	.languageBox-list3 {
		padding-top: 40px;
		padding-bottom: 40px;
		background-size: contain;
	}

}

/*********************************
$8. level
*********************************/

.level {
	float: left;
	width: 100%;
	padding-bottom:50px;
	padding-top: 20px;
	background-color: #fff;
}

@media only screen and (min-width: 1px) and (max-width: 760px) {

	.level {
		padding-bottom: 20px;
	}

}

.levelBox {
	float: left;
	width: 100%;
	text-align: center;
	padding-left: 5%;
	padding-right: 5%;
	padding-top: 50px;
}

.levelBox h3 {
	float: left;
	width: 100%;
	line-height: 1.5;
	display: inline-block;
	color: #350e3f;
	padding-left: 10px;
	font-weight: 700;
	font-size: 1.7rem;
	text-align: left;
}

.levelBox-left {
	float: left;
	width: 66.6666%;
}

.levelBox-right {
	float: left;
	width: 33.3333%;
}

.levelBox-left .levelPhoto {
	float: left;
	width: 50%;
	padding: 5px;
}

.levelBox-right .levelPhoto {
	float: left;
	width: 100%;
	padding: 5px;
}

.levelBox .levelPhoto img {
	margin: auto;
}

@media only screen and (min-width: 1px) and (max-width: 1200px) {

	.levelBox h3 {
		text-align: center;
		padding-top: 30px;
	}

	.levelBox {
		padding:0px;
	}

	.levelBox-left {
		width: 100%;
	}

	.levelBox-right {
		width:100%;
	}

	.levelBox-left .levelPhoto {
		width: 100%;
	}

	.levelBox-right .levelPhoto {
		width: 100%;
	}

	.levelBox .levelPhoto img {
		margin: auto;
	}

	.levelBox .levelPhoto {
		width: 100%;
		padding: 10px;
		padding-top: 0px;
		padding-bottom: 0px;
	}

}

/*********************************
$9. contactus
*********************************/

.contactus {
	float: left;
	width: 100%;
	padding-bottom: 50px;
	padding-top: 50px;
	background-color: rgb(233, 229, 229);
}

.contactusBox {
	float: left;
	width: 100%;
	text-align: center;
}

.contactusBox_item {
	margin: auto;
	max-width: 400px;
	border: 1px solid #e4e4e4;
	background-color: #f6f5f5;
	padding: 30px 35px;
}

@media only screen and (min-width: 1px) and (max-width: 500px) {

	.contactusBox_item {
		padding: 10px 15px;
	}

}

.contactusBox_item h3 {
	line-height: 1.5;
	display: inline-block;
	background-image: url("../images/subtitle.png");
	background-repeat: repeat-x;
	background-position: bottom;
	color: #000000;
	font-weight: 700;
	font-size: 1.7rem;
	margin-bottom: 20px;
}

.contactusBox_item a {
	color: #d84714;
	text-decoration: underline;
}

/*********************************
$10. footer & copyright
*********************************/

.footer {
	float: left;
	width: 100%;
	padding-bottom: 20px;
	padding-top: 20px;
	background-color: #1f2020;
	border-top: 1px solid #E0E0E0;
}

.footerMap__list {
	list-style: none;
	padding: 0;
	margin: 0;
	text-align: center;
}

.footerMap__list li {
	display: inline-block;
}

.footerMap__list li a {
	display: block;
	color: #fff;
	padding-left: 10px;
	padding-right: 10px;
	font-size: 1rem;
	transition: 0.2s;
}

.footerMap__list li a:hover {
	color: #D3D3D3;
}

.copyright {
	padding-top: 20px;
	color: #D3D3D3;
	font-size: 0.95rem;
	text-align: center;
}

.copyright a {
	color: #D3D3D3;
	text-align: center;
}

/*********************************
$11. news-one news-two
*********************************/

/*news-one*/
.news-one {
	float: left;
	width: 100%;
	background-color: #fffabc;
}

@media only screen and (min-width: 1px) and (max-width: 600px) {

	.news-one {
		padding: 20px;
	}

	.news-one-left {
		float: left;
		width: 100%;
	}

	.news-one-left-title {
		float: left;
		width: 100%;
		color: #000;
		font-weight: 800;
		font-size: 2.5em;
		font-family: "Zen Maru Gothic", serif;
		font-weight: 900;
		font-style: normal;
		text-align: center;
	}

	.news-one-btn-pc {
		display: none;
	}

	.news-one-btn-m {
		float: left;
		width: 100%;
		text-align: center;
	}

	.news-one-btn-m img {
		display: inline-block;
		width: 200px;
	}

	.news-one-right {
		float: left;
		width: 100%;
	}

	.news-one-rightBox {
		float: left;
		width: 100%;
		margin-top: 10px;
		margin-bottom: 10px;
	}

	.news-one-right-title {
		float: left;
		width: 100px;
		text-align: center;
		border-radius: 15px;
		color: #fff;
		font-weight: 800;
		font-size: 1.15em;
		background-color: #4e7ea3;
		clear: both;
		font-family: "Zen Maru Gothic", serif;
		font-weight: 500;
		font-style: normal;
		margin-bottom: 5px;
	}

	.news-one-left-title span {
		float: left;
		width: 100%;
		color: #000;
		font-weight: 800;
		font-size: 0.5em;
		font-family: "Zen Maru Gothic", serif;
		font-weight: 900;
		font-style: normal;
		line-height: 1.2;
	}

	.news-one-right-content {
		float: left;
		width: 100%;
		color: #000;
		font-weight: 800;
		font-size: 1em;
		line-height: 1.4;
	}

}

@media only screen and (min-width: 601px) and (max-width: 1000px) {

	.news-one {
		padding: 30px;
	}

	.news-one-left {
		float: left;
		width: 100%;
	}

	.news-one-left-title {
		float: left;
		width: 100%;
		color: #000;
		font-weight: 800;
		font-size: 3.2em;
		font-family: "Zen Maru Gothic", serif;
		font-weight: 900;
		font-style: normal;
		text-align: center;
	}

	.news-one-btn-pc {
		display: none;
	}

	.news-one-btn-m {
		float: left;
		width: 100%;
		text-align: center;
	}

	.news-one-btn-m img {
		display: inline-block;
		;
		width: 200px;
	}

	.news-one-right {
		float: left;
		width: 100%;
	}

	.news-one-rightBox {
		float: left;
		width: 100%;
		margin-top: 10px;
		margin-bottom: 10px;
	}

	.news-one-right-title {
		float: left;
		width: 130px;
		text-align: center;
		border-radius: 15px;
		color: #fff;
		font-weight: 800;
		font-size: 1.4em;
		background-color: #4e7ea3;
		clear: both;
		font-family: "Zen Maru Gothic", serif;
		font-weight: 500;
		font-style: normal;
		margin-bottom: 5px;
	}

	.news-one-left-title span {
		float: left;
		width: 100%;
		color: #000;
		font-weight: 800;
		font-size: 0.5em;
		font-family: "Zen Maru Gothic", serif;
		font-weight: 900;
		font-style: normal;
		line-height: 1.2;
	}

	.news-one-right-content {
		float: left;
		width: 100%;
		color: #000;
		font-weight: 800;
		font-size: 1.3em;
		line-height: 1.4;
	}

}

@media only screen and (min-width: 1001px) {

	.news-one {
		padding: 50px;
	}

	.news-one-left {
		float: left;
		width: 50%;
	}

	.news-one-left-title {
		float: left;
		width: 100%;
		color: #000;
		font-weight: 800;
		font-size: 3.2em;
		font-family: "Zen Maru Gothic", serif;
		font-weight: 900;
		font-style: normal;
	}

	.news-one-left-title span {
		float: left;
		width: 100%;
		color: #000;
		font-weight: 800;
		font-size: 0.5em;
		font-family: "Zen Maru Gothic", serif;
		font-weight: 900;
		font-style: normal;
		line-height: 1.2;
	}

	.news-one-btn-pc {
		float: left;
		width: 200px;
	}

	.news-one-btn-m {
		display: none;
	}

	.news-one-right {
		float: left;
		width: 50%;
	}

	.news-one-rightBox {
		float: left;
		width: 100%;
		margin-top: 10px;
		margin-bottom: 10px;
	}

	.news-one-right-title {
		float: left;
		width: 130px;
		text-align: center;
		border-radius: 15px;
		color: #fff;
		font-weight: 800;
		font-size: 1.4em;
		background-color: #4e7ea3;
		clear: both;
		font-family: "Zen Maru Gothic", serif;
		font-weight: 500;
		font-style: normal;
		margin-bottom: 5px;
	}

	.news-one-right-content {
		float: left;
		width: 100%;
		color: #000;
		font-weight: 800;
		font-size: 1.3em;
		line-height: 1.4;
	}

}

/*news-two*/
.news-two {
	float: left;
	width: 100%;
	background-color: #fffabc;
}

@media only screen and (min-width: 1px) and (max-width: 1000px) {

	.news-two-a {
		float: left;
		width: 100%;
		padding: 10px;
	}

	.news-two {
		padding-left: 10px;
		padding-right: 10px;
	}

}

@media only screen and (min-width: 1001px) {

	.news-two-a {
		float: left;
		width: 50%;
		padding: 20px;
	}

	.news-two {
		padding-left: 40px;
		padding-right: 40px;
	}

}

.news-two {
	float: left;
	width: 100%;
}

.news-two-title {
	float: left;
	width: 100%;
	color: #000;
	font-weight: 800;
	font-size: 2.6em;
	font-family: "Zen Maru Gothic", serif;
	font-weight: 900;
	font-style: normal;
	text-align: center;
	line-height: 1.2;
	margin-bottom: 10px;
	margin-top: 10px;
}

.news-two-title span {
	float: left;
	width: 100%;
	color: #000;
	font-weight: 800;
	font-size: 0.9em;
	font-family: "Zen Maru Gothic", serif;
	font-weight: 900;
	font-style: normal;
	text-align: center;
	line-height: 1.2;
}

.news-two-btn {
	float: left;
	width: 100%;
	text-align: center;
}

.news-two-btn img {
	display: inline-block;
	width: 200px;
}

.news-twoBox {
	float: left;
	width: 100%;
	margin-top: 10px;
	margin-bottom: 10px;
}

.news-two-title1 {
	float: left;
	width: 110px;
	text-align: center;
	border-radius: 15px;
	color: #fff;
	font-weight: 800;
	font-size: 1.2em;
	background-color: #4e7ea3;
	clear: both;
	font-family: "Zen Maru Gothic", serif;
	font-weight: 500;
	font-style: normal;
	margin-bottom: 5px;
}

.news-two-content {
	float: left;
	width: 100%;
	color: #000;
	font-weight: 800;
	font-size: 1.2em;
	line-height: 1.4;
}

.news-two-a:nth-child(2) {
	border-left: 5px solid #fff;
}

@media only screen and (min-width: 1px) and (max-width: 1001px) {

	.news-two-a:nth-child(2) {
		border-left: 0px;
		border-bottom: 3px solid #fff;
	}

}

.btn-style {/*想要有點距離可以用這個標籤*/
	padding-top: 50px;
}

@media only screen and (min-width: 1px) and (max-width: 1001px) {

	.btn-style {
		padding-top: 0px;
	}

}



