@charset "utf-8";
/* CSS Document */


/******************************

1. basic
2. banner
3. news
4. about
5. course
6. camp
7. trainingcamp
8. chart
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: #fff;
	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: #fff;
	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: #e7f879;
	/*background-image: url("../images/news_bg.jpg");*/
	background-repeat: repeat;
	position: relative;
}

.news img {
	width: 100%;
}

.news2 {
	background-color: rgb(247, 195, 151);
	/*background-image: url("../images/news_bg.jpg");*/
	background-repeat: repeat;
	position: relative;
}

.news2 img {
	width: 100%;
}

.news3 {
	float: left;
	width: 100%;
	background-color: #e7f879;
	/*background-image: url("../images/news_bg.jpg");*/
	background-repeat: repeat;
	margin-bottom: 50px;
}

.news3Box {
	padding: 10px;
	float: left;
	width: 50%;
}

.news3Box:nth-child(1) {
	border-right: 5px solid #fff;
}

.news3Box:nth-child(2) {
}

.news3 img {
	width: 100%;
}

@media only screen and (min-width: 1px) and (max-width: 1100px) {

	.news3Box {
		width: 100%;
		padding: 10px;
	}

	.news3Box:nth-child(1) {
		border-right: 0px;
		border-bottom: 3px solid #fff;
	}

}

/*********************************
$4. about
*********************************/

.about {
	background-color: rgb(244, 243, 235);
}

.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;
	}

}

@media only screen and (min-width: 1101px) {

	.about {
		padding-top: 40px;
		padding-bottom: 40px;
		background-size: contain;
	}

}

/*********************************
$5. course
*********************************/

.course {
	float: left;
	width: 100%;
	padding-bottom: 50px;
	padding-top: 50px;
	background-color: #fafaf5;
}

.courseBox {
	float: left;
	width: 100%;
	padding-left: 8%;
	padding-right: 8%;
	text-align: center;
}

@media only screen and (min-width: 1px) and (max-width: 1100px) {

	.courseBox {
		padding-left: 0%;
		padding-right: 0%;
	}

}

.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-list li {
	float: left;
	width: 100%;
	list-style-type: none;
	padding: 0;
	margin: 0;
	background-color: #fff;
	padding: 10px;
	margin: 2px;
	border: 1px solid rgb(236, 220, 201);
}

.courseBox-list li .left {
	float: left;
	width: 40%;
}

.courseBox-list li .right {
	float: left;
	width: 60%;
}

.courseBox-list li h4 {
	float: left;
	width: 100%;
	color: #000;
	font-size: 1.2em;
	text-align: left;
	padding: 10px;
	padding-left: 20px;
	padding-right: 20px;
}

.courseBox-list li p {
	float: left;
	width: 100%;
	color: #000;
	font-size: 1em;
	text-align: left;
	padding-left: 20px;
	padding-right: 20px;
}

@media only screen and (min-width: 1px) and (max-width: 760px) {

	.courseBox-list li {
		width: 100%;
		margin: 0px;
	}

	.courseBox-list li .left {
		width: 100%;
	}

	.courseBox-list li .right {
		width: 100%;
		line-height: 1.4;
		padding-bottom: 20px;
	}

}

/*********************************
$6. camp
*********************************/

.camp {
	float: left;
	width: 100%;
	padding-bottom: 50px;
	padding-top: 50px;
	background-color: rgb(244, 243, 235);
}

.campBox {
	float: left;
	width: 100%;
	text-align: center;
}

.campBox 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;
}

.camp .list {
	float: left;
	width: 100%;
	list-style-type: none;
	padding: 0;
	margin: 0;
}

.camp .list li {
	float: left;
	list-style-type: none;
	padding: 0;
	margin: 0;
	background-color: #fff;
}

.camp .list li .photo-desc {
	float: left;
	width: 100%;
	background-color: #fff;
	font-size: 1em;
	text-align: center;
	padding: 5px;
}

/*.campBox-list {
	float: left;
	width: 100%;
	list-style-type: none;
	padding: 0;
	margin: 0;
	padding-top: 10px;
}

.campBox-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);
}

.campBox-list 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) {

	.campBox-list li {
		width: 100%;
	}

}*/

/*********************************
$7. trainingcamp
*********************************/

.trainingcamp {
	float: left;
	width: 100%;
	padding-bottom: 50px;
	padding-top: 50px;
	background-color: #fafaf5;
}

.trainingcampBox {
	float: left;
	width: 100%;
	text-align: center;
}

.trainingcampBox 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;
}

.trainingcampBox .list {
	float: left;
	width: 100%;
	list-style-type: none;
	padding: 0;
	margin: 0;
}

.trainingcampBox .list li {
	float: left;
	list-style-type: none;
	padding: 0;
	margin: 0;
	background-color: #fff;
}

.trainingcampBox .list li .photo-desc {
	float: left;
	width: 100%;
	background-color: #fff;
	font-size: 1em;
	text-align: center;
	padding: 5px;
}

/*.trainingcampBox-list {
	float: left;
	width: 100%;
	list-style-type: none;
	padding: 0;
	margin: 0;
	padding-top: 10px;
}

.trainingcampBox-list 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);
}

.trainingcampBox-list 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) {

	.trainingcampBox-list li {
		width: 100%;
	}

}*/

/*********************************
$8. chart
*********************************/

.chart {
	float: left;
	width: 100%;
	padding-bottom: 50px;
	padding-top: 50px;
}

.chartBox {
	float: left;
	width: 100%;
	text-align: center;
}

.chartBox 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;
}

.chartBox-list {
	float: left;
	width: 100%;
	list-style-type: none;
	padding: 0;
	margin: 0;
	padding-top: 10px;
}

.chartBox-list li {
	float: left;
	width: 20%;
	list-style-type: none;
	padding: 0;
	margin: 0;
}

.chartBox-list li img {
	float: left;
	width: 100%;
}

.chartBox-list li p {
	float: left;
	width: 100%;
	color: #000;
	font-size: 1em;
}

.textBox {
	line-height: 1.4;
}

.pcMode {
	display: block;
}

.mobileMode {
	display: none;
}

@media only screen and (min-width: 1px) and (max-width: 760px) {

	.chartBox-list li {
		width: 100%;
		text-align: left;
	}

	.pcMode {
		display: none;
	}

	.mobileMode {
		display: block;
	}

	.chartBox-list li img {
		float: left;
		width: 50%;
	}

	.textBox {
		float: left;
		width: 50%;
		height: 110px;
		line-height: 1.4;
		display: flex;
		align-items: center;
	}

}

/*********************************
$9. contactus
*********************************/

.contactus {
	float: left;
	width: 100%;
	padding-bottom: 50px;
	padding-top: 50px;
	background-color: rgb(243, 241, 241);
}

.contactusBox {
	float: left;
	width: 100%;
	text-align: center;
}

.contactusBox_item {
	margin: auto;
	max-width: 400px;
	border: 1px solid #e4e4e4;
	background-color: #ede8e8;
	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;
}

.contactusBox_item_slogan {
	float: left;
	width: 100%;
	margin-bottom: 0px;
}

.contactusBox_item_slogan-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;
	padding-bottom: 10px;
}

.contactusBox_item_slogan-content {
	float: left;
	width: 100%;
	color: #000;
	font-weight: 800;
	font-size: 1.2em;
	line-height: 1.4;
}

/*********************************
$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: #e7f879;
	margin-bottom: 50px;
}

@media only screen and (min-width: 1px) and (max-width: 600px) {

	.news-one {
		padding: 10px;
	}

	.news-one-left {
		float: left;
		width: 100%;
	}

	.news-one-left-title {
		float: left;
		width: 100%;
		color: #000;
		font-weight: 800;
		font-size: 2.3em;
		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-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-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-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: #e7f879;
	margin-bottom: 50px;
}

@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;
		padding-bottom: 0;
	}

	.news-two {
		padding-left: 40px;
		padding-right: 40px;
	}

}

.news-two {
	float: left;
	width: 100%;
	margin-bottom: 50px;
}

.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;
	padding-bottom: 10px;
}

.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: 5px;
	margin-bottom: 5px;
}

.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;
}

.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(1) {
	border-right: 5px solid #fff;
}

@media only screen and (min-width: 1px) and (max-width: 1001px) {

	.news-two-a:nth-child(1) {
		border-right: 0px;
		border-bottom: 5px solid #fff;
	}

}

.title-style {
	margin-bottom: 55px;
}

.btn-style {
	margin-top: 100px;
}

@media only screen and (min-width: 1px) and (max-width: 1001px) {

	.title-style {
		margin-bottom: 0px;
		margin-top: 20px;
	}

	.btn-style {
		margin-top: 0px;
	}

}




