@charset "utf-8";

/* Layout
--------------------------------------------- */
#container {
	margin: 0 auto;
	max-width: 1400px;
	width: 100%;
}


/* Header
--------------------------------------------- */
#header_type01 .logo {
	width: 200px;
}

#header_type01 .nav_area {
	float: left;
	margin: 15px 0 15px 15px;
}
#header_type01 .header_logo {
	display: inline-block;
	margin-right: 30px;
}
#header_type01 .header_info {
	display: inline-block;
}
	#header_type01 .header_info nav {
		margin-top: 20px;
	}
		#header_type01 .header_info nav ul li {
			display: inline-block;
		}
			#header_type01 .header_info nav ul li a {
				margin-right: 15px;
				font-size: 1.6rem;
				font-weight: bold;
			}
				#header_type01 .header_info nav ul li a:before {
					margin-right: 5px;
					font-family: FontAwesome;
					content: "\f0ab";
				}

#header_type01 .contact_area {
	float: right;
}
	#header_type01 .contact_area ul {
		font-size: 0;
	}
		#header_type01 .contact_area ul li {
			display: inline-block;
		}
			#header_type01 .contact_area ul li a {
				display: block;
				padding: 35px 15px 10px;
				height: 145px;
				text-align: center;
			}
				#header_type01 .contact_area ul li a.contact {
					background-color: #0ba29a;
					min-width: 120px;
					color: #fff;
				}
					#header_type01 .contact_area ul li a.phone:hover, #header_type01 .contact_area ul li a.phone:focus,
					#header_type01 .contact_area ul li a.contact:hover, #header_type01 .contact_area ul li a.contact:focus {
						background-color: #abc73d;
					}

				#header_type01 .contact_area ul li a figure {
				}
				#header_type01 .contact_area ul li a p {
					margin-top: 10px;
					font-size: 1.6rem;
				}
					#header_type01 .contact_area ul li a.phone:hover p, #header_type01 .contact_area ul li a.phone:focus p {
						color: #292929;
					}

					#header_type01 .contact_area .ico_phone { max-height: 40px; }
					#header_type01 .contact_area .ico_contact { max-height: 40px; }

#header_type01:after {
	content: "";
	clear: both;
	display: block;
}

#header_type02 { display: none; }

@media (max-width: 667px) {
	#header_type01 { display: none; }
	#header_type02 { display: block; }

		#header_type02 .header_inner {
			background-color: #fff;
			padding: 10px 5px;
		}
			#header_type02 .header_inner .header_logo {
				float: left;
			}
				#header_type02 .header_inner .header_logo .logo {
					width: 120px;
				}
			#header_type02 .header_inner .header_info {
				float: right;
			}
				#header_type02 .header_inner .header_info h1 {
					font-size: 1.0rem;
					text-align: right;
					line-height: 1.0;
				}
				#header_type02 .header_inner .header_info .phone {
					margin-top: 8px;
                    text-align: right;
				}
					#header_type02 .header_inner .header_info .phone figure {
						display: inline-block;
						margin-right: 2px;
					}
					#header_type02 .header_inner .header_info .phone p {
						display: inline-block;
						font-size: 1.8rem;
					}
					#header_type02 .header_inner .header_info .phone .ico_phone {
						width: 20px;
					}
			#header_type02 .header_inner:after {
				content: "";
				clear: both;
				display: block;
			}
		#header_type02 nav {
			width: 100%;
		}
			#header_type02 nav ul {
				display: table;
				width: 100%;
			}
				#header_type02 nav ul li {
					display: table-cell;
					width: 25%;
				}
					#header_type02 nav ul li a {
						display: block;
						background-color: #0ba29a;
						padding: 10px 0;
						color: #fff;
						font-size: 1.1rem;
						text-align: center;
						line-height: 1.1;
					}



#header_type02 .header_inner {
	position: absolute;
	width: 100%;
	height: 90px;
	transition: transform .6s ease;
}

#header_type02:not([data-fixmode="top"]):not([data-fixmode="wait"]) .header_inner {
	transform: translateY(-100%);
}

#header_type02 .fixheader {
	position: fixed;
	width: 100%;
	/*height: 137px;*/
	height: 135px;
	top: 0px;
	transform: translateY(0%);
	transition: transform .6s ease;
}

#header_type02[data-fixmode="up"] .fixheader {
	transform: translateY(-90px);
}

#header_type02[data-fixmode="down"] .fixheader {
	transform: translateY(-100%);
}

.menu {
	top: 90px;
	left: 0;
	transform: translate(0, 90px);
	transition: top .6s ease;
}

#header_type02[data-fixmode="up"] .menu {
	/*top: calc(50% + 23px);*/
	top: 0;
}

}


/* Footer
--------------------------------------------- */
footer .footer_menu {
	background-color: #0ba29a;
	text-align: center;
}
	footer .footer_menu li {
		display: inline-block;
	}
		footer .footer_menu li a {
			display: block;
			padding: 20px 10px;
			color: #fff;
			font-size: 1.6rem;
		}
			footer .footer_menu li a:hover, footer .footer_menu li a:focus {
				color: #e9e353;
			}
footer .footer_about {
	background-color: #f4f1ec;
	padding: 45px 15px 110px;
	text-align: center;
}
	footer .footer_about .name {
		font-size: 1.6rem;
		font-weight: bold;
	}
	footer .footer_about .text {
		margin-top: 20px;
	}


@media (max-width: 667px) {

	footer .footer_menu {
		text-align: left;
	}
		footer .footer_menu ul:after {
			content: "";
			clear: both;
			display: block;
		}
			footer .footer_menu li {
				float: left;
				border-bottom: 1px solid #fff;
				width: calc(100% / 2);
			}
			footer .footer_menu li:nth-child(odd) {
				border-right: 1px solid #fff;
			}
			footer .footer_menu li:nth-child(5) {
				border-bottom: none;
			}
				footer .footer_menu li a {
					padding: 10px 0 10px 10px;
					font-size: 1.3rem;
					position: relative;
				}
					footer .footer_menu li a:after {
						font-family: FontAwesome;
						content: "\f105";
						position: absolute;
						right: 8px;
					}

}


/* PageTop
--------------------------------------------- */
#pagetop {
	position: fixed;
	bottom: 0;
	right: 0;
}
	#pagetop p {
		display: inline-block;
		background-color: #00a29a;
		padding: 10px 15px 15px;
		color: #fff;
		font-size: 1.4rem;
		text-align: center;
		cursor: pointer;
	}
	#pagetop p:hover, #pagetop p:focus {
		background-color: #abc73d;
	}
		#pagetop p i {
			display: block;
			margin-bottom: 5px;
		}

@media (max-width: 667px) {

	#pagetop p {
		padding: 15px 20px 20px;
	}
		#pagetop p span {
			display: none;
		}
		#pagetop p i {
			margin-bottom: 0;
		}
}


/* Main
--------------------------------------------- */
.sec_inner {
	margin: 0 auto;
	width: 960px;
}
.box_inner {
	background-color: #fff;
}
.logo_about { width: 314px; }
.img_holder01 {
	background: url(../img/bg01.png);
	height: 336px;
    background-size: 960px auto;
}
.img_holder02 {
	background: url(../img/bg02.gif) center center / cover no-repeat;
	padding-top: calc(1400 / 2000 * 100%); /* calc(画像高さ ÷ 画像横幅 × 100%) */
	width: 100%;
	height: 0;
}
.img_holder03 {
    background: url(../img/bg01.png);
    height: 336px;
    background-size: 960px auto;
}
.to_contact, .to_home {
	display: inline-block;
	margin-top: 40px;
}
	.to_contact a, .to_home a {
		display: block;
		background-color: #0ba29a;
		padding: 20px 40px;
		color: #fff;
	}
		.to_contact a:hover, .to_contact a:focus, .to_home a:hover, .to_home a:focus {
			background-color: #abc73d;
		}
		.to_contact a i, .to_home a i {
			margin-left: 5px;
		}

.form_control {
	display: block;
	background-color: #fff;
	background-image: none;
	border: 1px solid #ccc;
	border-radius: 4px;
	padding: 6px 12px;
	width: 100%;
	height: 34px;
	font-size: 1.4rem;
}
.btn_area .btn {
	border: none;
	padding: 15px 30px;
	cursor: pointer;
}
	.btn_area .btn i {
		margin-left: 5px;
	}
	.btn_area .btn_type01 {
		background-color: #0ba29a;
		color: #fff;
	}
		.btn_area .btn_type01:hover, .btn_area .btn_type01:focus {
			background-color: #abc73d;
		}
	.btn_area .btn_type02 {
		background-color: #ddd;
		color: #292929;
	}
		.btn_area .btn_type02:hover, .btn_area .btn_type02:focus {
			background-color: #bbb;
		}

.error {
	margin: 40px auto 0;
	background-color: #fcf2ef;
	padding: 15px;
	width: 560px;
	color: #e07350;
}
	.error li i {
		margin-right: 5px;
	}

.home .sec_content01 {
	background-image: url(../img/pic01.jpg);
	background-position: center center;
	background-repeat: no-repeat;
	/*background-attachment: fixed;*/
	background-size: cover;
	height: 580px;
	text-align: center;
}
	.home .sec_content01 .content_title {
		padding-top: 101px;
	}
        .home .sec_content01 .content_title img {
            width: 675px;
            height: auto;
        }

.home .sec_content02 {
	background: url(../img/img01.png) no-repeat center top;
	text-align: center;
}
	.home .sec_content02 .sec_inner {
		background: url(../img/img02.png) no-repeat left top 50px, url(../img/img03.png) no-repeat right center;
		padding: 120px 15px 90px;
	}
	.home .sec_content02 .introduction {
		margin-top: 85px;
		color: #221815;
	}
		.home .sec_content02 .introduction p {
			margin-top: 30px;
			font-size: 1.6rem;
		}

.home .sec_content03 {
	background-color: #f3f0eb;
	padding: 70px;
}
	.home .sec_content03 .content_title {
		font-size: 3.0rem;
		font-weight: bold;
		text-align: center;
	}
	.home .sec_content03 .lessonlist_wrap {
		margin-top: 45px;
	}
		.box_lesson {
			border: 5px solid #13ae67;
			background-color: #fff;
			margin-bottom: 25px;
			padding: 20px 20px 25px;
			text-align: center;
		}
			.box_lesson01 { border-color: #f39800; }
			.box_lesson02 { border-color: #00a29a; }

			.box_lesson .name {
				margin-top: 15px;
				font-size: 2.4rem;
				font-weight: bold;
				line-height: 1.2;
			}
				.box_lesson .name span {
					display: block;
					font-size: 1.4rem;
				}
			.box_lesson .period {
				display: inline-block;
				border-radius: 5px;
				background-color: #13ae67;
				margin-top: 10px;
				padding: 2px 7px;
				color: #fff;
				font-size: 1.4rem;
				letter-spacing: .1em;
			}
				.box_lesson01 .period { background-color: #f39800; }
				.box_lesson02 .period { background-color: #00a29a; }
			.box_lesson .excerpt {
				margin-top: 12px;
				font-size: 1.4rem;
				line-height: 1.3;
			}
			.box_lesson .price_wrap {
				margin-top: 15px;
			}
				.box_lesson .price_wrap .lesson_unit {
					display: inline-block;
					border-radius: 3px;
					background-color: #e8e252;
					margin-right: 5px;
					padding: 3px 6px;
					font-size: 1.2rem;
					letter-spacing: .2em;
					vertical-align: text-bottom;
				}
				.box_lesson .price_wrap .lesson_time {
					display: inline-block;
					margin-right: 5px;
					font-size: 3.0rem;
					font-weight: bold;
					line-height: 1.2;
				}
				.box_lesson .price_wrap .lesson_price {
					display: inline-block;
					color: #e83828;
					font-size: 3.0rem;
					font-weight: bold;
					line-height: 1.2;
				}
				.box_lesson .price_wrap .unit_before {
					margin-right: 3px;
					font-size: 1.4rem;
				}
				.box_lesson .price_wrap .unit_after {
					margin-left: 3px;
					font-size: 1.4rem;
				}

			.box_lesson .ico_piano01 { width: 42px; }
			.box_lesson .ico_piano02 { height: 36px; }
			.box_lesson .ico_solfeggio { height: 38px; }
			.box_lesson .ico_guitar { width: 42px; }
			.box_lesson .ico_saxophone { height: 44px; }
			.box_lesson .ico_voice { height: 44px; }
			.box_lesson .ico_singer { height: 44px; }
			.box_lesson .ico_speech { width: 44px; }
			.box_lesson .ico_france { height: 44px; }

.home .sec_content04 {
	background-color: #e07350;
	padding: 56px 0;
}
	.home .sec_content04 .box_inner {
		padding: 50px 15px 40px;
		text-align: center;
	}
	.home .sec_content04 .head {
		color: #aacd06;
		font-size: 1.6rem;
	}
	.home .sec_content04 .content_title {
		margin-top: 5px;
		color: #e07350;
		font-size: 3.6rem;
		font-weight: bold;
	}
	.home .sec_content04 figure {
		margin-top: 40px;
	}
        .home .sec_content04 figure img {
            width: 840px;
            height: auto;
        }
	.home .sec_content04 .txt {
		margin-top: 25px;
		line-height: 1.8;
	}
	.home .sec_content04 .box_example {
		background-color: #f3f0eb;
		margin: 30px auto 0;
		padding: 25px 35px 30px;
		width: 550px;
	}
		.home .sec_content04 .box_example .box_title {
			font-size: 1.6rem;
			font-weight: bold;
		}
		.home .sec_content04 .box_example .example_list {
			background-color: #fff;
			margin-top: 20px;
			padding: 20px;
		}
			.home .sec_content04 .box_example .example_list dt {
				border-bottom: 1px solid #e07350;
				padding-bottom: 5px;
				font-size: 1.4rem;
				font-weight: bold;
				text-align: center;
			}
			.home .sec_content04 .box_example .example_list dd {
				margin-top: 15px;
			}
				.home .sec_content04 .box_example .example_list li {
					font-size: 1.4rem;
					line-height: 1.6;
				}
				.home .sec_content04 .box_example .example_list li:before {
					margin-right: 3px;
					color: #e07350;
					font-size: 1.4rem;
					font-family: FontAwesome;
					content: "\f00c";
				}

.home .sec_content05 {
	padding: 100px 0 0;
	text-align: center;
}
	.home .sec_content05 .content_title {
		font-size: 3.0rem;
		font-weight: bold;
	}
	.home .sec_content05 .phone {
		margin-top: 40px;
	}
		.home .sec_content05 .phone figure {
			display: inline-block;
		}
		.home .sec_content05 .phone p {
			display: inline-block;
			font-size: 3.0rem;
			font-weight: bold;
		}
			.home .sec_content05 .phone .ico_phone { width: 36px; }


.contact .sec_content01 {
	background-color: #e07350;
	padding: 56px 0;
}
	.contact .sec_content01 .box_inner {
		padding: 50px 15px 40px;
		text-align: center;
	}
	.contact .sec_content01 .content_title {
		color: #e07350;
		font-size: 3.6rem;
		font-weight: bold;
	}
	.contact .sec_content01 .memo {
		margin-top: 40px;
	}
	.contact .sec_content01 .form_area {
		margin: 30px auto;
		width: 560px;
	}
	.contact .sec_content01 .form_group {
		margin-bottom: 40px;
	}
		.contact .sec_content01 .form_group textarea {
			height: 250px;
		}
	.contact .table_confirm {
		border: 1px solid #ddd;
		margin-bottom: 40px;
		width: 100%;
	}
		.contact .table_confirm th {
			background-color: #f4f1ec;
			border: 1px solid #ddd;
			padding: 8px;
			width: 30%;
			text-align: left;
		}
		.contact .table_confirm td {
			border: 1px solid #ddd;
			padding: 8px;
			text-align: left;
		}

.contact .sec_content02 {
	/*background: url(../img/img01.png) no-repeat center top;*/
	padding: 100px 0 0;
	text-align: center;
}
	.contact .sec_content02 .content_title {
		font-size: 3.0rem;
		font-weight: bold;
	}
	.contact .sec_content02 .phone {
		margin-top: 40px;
	}
		.contact .sec_content02 .phone figure {
			display: inline-block;
		}
		.contact .sec_content02 .phone p {
			display: inline-block;
			font-size: 3.0rem;
			font-weight: bold;
		}
			.contact .sec_content02 .phone .ico_phone { width: 36px; }



@media (max-width: 667px) {
	#main {
		margin-top: 134px; /* ヘッダーバー表示コントロール用 */
	}
	.sec_inner {
		padding-right: 15px;
		padding-left: 15px;
		width: 100%;
	}
	.logo_about { width: 200px; }
	.img_holder01 {
		height: 100px;
		background-size: 100%;
	}
	.img_holder02 {
		margin-top: 15px;
	}
		.to_contact a, .to_home a {
			padding: 15px 30px;
		}
    .img_holder03 {
        height: 100px;
        background-size: 100%;
    }

	.error {
		margin: 30px auto 0;
		width: 100%;
	}

	.home .sec_content01 {
		background-attachment: local;
		height: 280px;
	}
		.home .sec_content01 .content_title {
			padding-top: 60px;
			padding-right: 15px;
			padding-left: 15px;
		}
        .home .sec_content01 .content_title img {
            width: 80%;
        }

	.home .sec_content02 {
		background-size: 100%;
	}
		.home .sec_content02 .sec_inner {
			background: url(../img/img02.png) no-repeat left 20px bottom 15px, url(../img/img03.png) no-repeat right 20px bottom 30px;
			background-size: 120px, 120px;
			padding: 50px 15px 250px;
		}
		.home .sec_content02 .introduction {
			margin-top: 25px;
			color: #221815;
		}
			.home .sec_content02 .introduction p {
				margin-top: 30px;
			}

	.home .sec_content03 {
		padding: 35px 0 50px;
	}
		.home .sec_content03 .content_title {
			font-size: 2.2rem;
		}
		.home .sec_content03 .lessonlist_wrap {
			margin-top: 30px;
		}
			.box_lesson {
				border: 2px solid #13ae67;
				margin-bottom: 15px;
				padding: 10px 7px;
			}
				.box_lesson .name {
					margin-top: 10px;
					font-size: 1.6rem;
				}
					.box_lesson .name span {
						font-size: 1.2rem;
					}
				.box_lesson .excerpt {
					margin-top: 12px;
					font-size: 1.2rem;
				}
				.box_lesson .price_wrap {
					margin-top: 15px;
				}
					.box_lesson .price_wrap .lesson_unit {
					}
					.box_lesson .price_wrap .lesson_time {
						margin-right: 5px;
						font-size: 1.8rem;
					}
					.box_lesson .price_wrap .lesson_price {
						display: block;
						margin-top: 5px;
						font-size: 1.8rem;
					}
					.box_lesson .price_wrap .unit_before {
						font-size: 1.4rem;
					}
					.box_lesson .price_wrap .unit_after {
						font-size: 1.4rem;
					}

	.home .sec_content04 {
		padding: 40px 0;
	}
		.home .sec_content04 .box_inner {
			padding: 30px 15px 40px;
		}
		.home .sec_content04 .head {
			font-size: 1.4rem;
		}
		.home .sec_content04 .content_title {
			margin-top: 5px;
			font-size: 2.0rem;
		}
		.home .sec_content04 figure {
			margin-top: 20px;
		}
            .home .sec_content04 figure img {
                width: 100%;
            }
		.home .sec_content04 .txt {
			text-align: left;
		}
		.home .sec_content04 .box_example {
			padding: 20px 15px 30px;
			width: 100%;
		}
			.home .sec_content04 .box_example .example_list {
				background-color: #fff;
				margin-top: 15px;
				padding: 15px;
			}
				.home .sec_content04 .box_example .example_list dt {
					font-size: 1.4rem;
				}
				.home .sec_content04 .box_example .example_list dd {
					margin-top: 12px;
				}
					.home .sec_content04 .box_example .example_list li {
						line-height: 1.4;
					}

	.home .sec_content05 {
		padding: 50px 0 0;
	}
		.home .sec_content05 .content_title {
			padding: 0 15px;
			font-size: 2.0rem;
		}
		.home .sec_content05 .phone {
			margin-top: 20px;
		}
			.home .sec_content05 .phone p {
				font-size: 2.0rem;
			}
				.home .sec_content05 .phone .ico_phone { width: 24px; }
		.home .sec_content05 .mail {
			margin-top: 30px;
		}

.contact .sec_content01 {
	padding: 30px 0;
}
	.contact .sec_content01 .box_inner {
		padding: 30px 15px 20px;
	}
	.contact .sec_content01 .content_title {
		font-size: 2.0rem;
	}
	.contact .sec_content01 .memo {
		margin-top: 20px;
	}
	.contact .sec_content01 .form_area {
		margin: 30px auto;
		width: 100%;
	}
	.contact .sec_content01 .form_group {
		margin-bottom: 20px;
	}
		.contact .sec_content01 .form_group textarea {
			height: 140px;
		}
	.contact .table_confirm {
		margin-bottom: 30px;
	}
		.contact .table_confirm th {
			padding: 8px;
			width: 30%;
		}
		.contact .table_confirm td {
			padding: 8px;
		}

.contact .sec_content02 {
	background-size: 100%;
	padding: 50px 0 0;
}
	.contact .sec_content02 .content_title {
		font-size: 2.0rem;
	}
	.contact .sec_content02 .phone {
		margin-top: 25px;
	}
		.contact .sec_content02 .phone p {
			font-size: 2.2rem;
		}
			.contact .sec_content02 .phone .ico_phone { width: 22px; }

}
