@charset "UTF-8";


body .pagewidth {
	width: 100%;
	max-width: 1200px;
}






/* for the navigation for smartphones including the iPad Pro of landscape size */
#main-menu-container.is-active {
}
#main-menu-container.is-active #main-menu {
	padding-top: 50px;
}
#main-menu-container.is-active #main-menu li {
	display: block;
	text-align: left;
}
#main-menu-container.is-active #main-menu > li:before {
	display: none;
}
#main-menu-container.is-active #main-menu li a {
    padding: 10px 0px;
}
#main-menu-container.is-active #main-menu li .sub-menu {
    display: block;
    position: static;
    width: 100%;
    background: none;
    border: none;
    padding: 0 0 0 20px;
}
#main-menu-container.is-active #main-menu li .sub-menu li a {
	color: black;
	text-align: left;
}
#main-menu-container.is-active #main-menu li.nav-ct {
	display: block;
}


body .site {
	font-family: 'Noto Sans JP',”游ゴシック Medium”,”Yu Gothic Medium”,”游ゴシック”,”Yu Gothic”,”游ゴシック体”,YuGothic,”ヒラギノ角ゴ Pro W3″,”Hiragino Kaku Gothic Pro”,”メイリオ”,Meiryo,sans-serif;
	font-weight: 500;
	font-size: 16px;
	line-height: 2;
	background: #fff;
	color: #000000;
}


/* =========== HEADER ========== */
#headerwrap #header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0;
	max-width: 100%;
}
.h_info {
	text-align: center;
}
.h_info .h_tel {
	font-size: 21px;
	color: black;
	font-weight: bold;
	padding: 0 0 0 20px;
	background: url(../../uploads/tel.png) no-repeat left;
}
.h_info .h_icon a {
	display: inline-block;
	vertical-align: middle;
	margin: 0 7px;
}

.h_ct {
	font-size: 18px;
	color: black;
	font-weight: bold;
	text-align: center;
	display: block;
	background: url(../../uploads/ct.png) no-repeat top 14px center, #ffff00;
	padding: 52px 20px 12px;
    line-height: 1;
}

/* =========== MENU ========== */
#main-menu-container #main-menu {
	margin: 0 auto;
}
#main-menu-container #main-menu li {
	display: inline-block;
	vertical-align: middle;
	font-size: 18px;
	font-weight: bold;
	color: black;
	position: relative;
	margin: 0;
}
#main-menu-container #main-menu li.nav-ct {
	display: none;
}
#main-menu-container #main-menu > li:before {
	content: '';
	background: #ffffff;
	width: 20px;
	height: 2px;
	position: absolute;
	bottom: 20px;
	left: 50%;
	transform: translatex(-50%);
	z-index: -1;
}
#main-menu-container #main-menu > li:hover:before {
	z-index: 1;
}
#main-menu-container #main-menu li a {
	display: block;
	color: black;
	padding: 27px 27px 33px;
	margin: 0;
	text-decoration: none;
}
#main-menu-container #main-menu li:hover a {
	background: #54c3f1;
	color: white;
}

#main-menu-container #main-menu li .sub-menu {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	width: 100%;
	background: rgba(84,195,241,0.5);
	border: 1px solid rgba(255,255,255,0.5);
	padding: 7px 10px;
	margin: 0;
    z-index: 99;
    box-sizing: border-box;
}
#main-menu-container #main-menu li:hover .sub-menu {
	display: block;
}
#main-menu-container #main-menu li .sub-menu li {
	display: block;
	border: none;
	width: 100%;
	padding: 0;
	margin: 0;
	text-align: center;
}
#main-menu-container #main-menu li .sub-menu li a {
	color: white;
	background: none;
	padding: 14px 0;
	margin: 0;
}

/* =========== FOOTER ========== */
#footerwrap {
	background: #eff5f8;
	padding-top: 45px;
}
#footerwrap .copyright-container {
	background: #54c3f1;
	font-size: 14px;
	color: white;
	text-align: center;
	font-weight: 500;
	padding: 15px;
} 
.copyright-container span {
	margin: 0 4px;
}
.copyright-container img, .copyright-container span {
	display: inline-block;
	vertical-align: middle;
}
.f_icon {
	text-align: center;
}
.f_icon  a {
	margin: 0 7px;
}
.txt_day.module .module-title {
	font-size: 16px;
	color: #010101;
	background: white;
	border: 1px solid #54c3f1;
	border-radius: 30px;
	padding: 10px;
	text-align: center;
}

.f_menu ul {
	margin: 0;
}
.f_menu ul li {
	display: block;
	border: none;
	padding: 0;
	margin-bottom: 2px;
	font-size: 14px;
}
.f_menu ul li a {
	text-decoration: underline;
	color: #010101;
}

/* =========== TABLE ========== */
body table {
	width: 100%;
	border-collapse: collapse;
}
.table_price table {
	table-layout: fixed;
}
.table_price table tr th, .table_price table tr td {
	font-size: 16px;
	color: #000000;
	font-weight: 500;
	padding: 23px;
	text-align: center;
	background: #dfeef4;
	border-bottom: 1px solid #a6a6a6;
	border-left: 1px solid #a6a6a6;
}
.table_price table tr th {
	background: #54c3f1;
	color: white;
	border-color: white;
}
.table_price table tr th:first-child {
	width: 25%;
	border-radius: 20px 0 0 0; 
}
.table_price table tr th:last-child {
	border-radius: 0 20px 0 0;
}
.table_price table tr:last-child td {
	border-bottom: none;
}
.table_price table tr td:first-child {
	border-left: none;
}
.table_price table tr:last-child td:first-child {
	border-radius: 0 0 0 20px;
}
.table_price table tr:last-child td:last-child {
	border-radius: 0 0 20px 0;
}
.table_day table tr {
	border-bottom: 1px solid #a6a6a6;
}
.table_day table tr th, .table_day table tr td {
	padding: 20px 25px;
}
.table_day table tr th {
	background: #dfeef4;
	padding: 20px 12px;
	font-weight: 500;
}
.table_day_w table tr th {
	background: #fff;
}
.table_f_auto table tr th:first-child {
	width: auto;
}
.table_info table tr {
	border-bottom: 1px solid #a6a6a6;
}
.table_info table tr th, .table_info table tr td {
	padding: 20px 0;
	text-align: left;
}
.table_info table tr th {
	width: 90px;
	font-weight: normal;
}
.wpcf7 table tr th, .wpcf7 table tr td {
	padding: 17px 0;
	vertical-align: top;
}
.wpcf7 table tr th {
	font-weight: 500;
	width: 20%;
}
.wpcf7 table tr th span {
	color: #54c3f1;
}
.wpcf7 table tr td span input, .wpcf7 table tr td span textarea {
	border-radius: 0;
	background: #f6f6f6;
	border: 1px solid #e5edee;
}
.wpcf7 .submit_btn {
	margin-top: 70px;
}
.wpcf7 .submit_btn input[type="submit"] {
	font-size: 18px;
	color: #000000;
	padding: 16px 60px;
	width: auto;
	border-radius: 0;
	background: white;
	border: 1px solid black;
	font-weight: 500;
}

/* =========== POST ========== */
#pagewrap .news_post .post {
	padding: 35px 70px 35px 10px;
	margin: 0;
	border-bottom: 1px solid #a6a6a6;
	box-sizing: border-box;
	background: url(../../uploads/home03.png) no-repeat right 30px center;
}
.news_post .post .post-content {
	display: flex;
	align-items: center;
}
.news_post .post .post-date {
	order: 1;
	font-size: 14px;
	color: black;
	font-weight: 500;
	margin-right: 20px;
	margin-bottom: 0;
}
.news_post .post .post-meta {
	order: 2;
	margin-right: 30px;
	margin-bottom: 0;
}
.news_post .post .post-meta .post-category {
	font-size: 14px;
    font-weight: 500;
    padding: 2px 17px;
    color: #ffff00;
    background: #54c3f1;
    border-radius: 10px;
    text-align: center;
    box-sizing: border-box;
    margin: 0;
	white-space: nowrap;
}
.news_post .post.category-news .post-meta .post-category {
	background: #ffff00;
	color: #54c3f1;
}
.news_post .post .post-meta .post-category:after {
	display: none;
}
.news_post .post .post-title {
	order: 3;
	font-size: 16px;
	color: black;
	font-weight: 500;
	margin: 0;
}
.news_post .post .post-title a {
	color: black;
	text-decoration: none;
}
#pagewrap .pagenav  {
	padding: 100px 0 0;
}
.pagenav .number {
	font-size: 17px;
	color: #444444;
	border: 1px solid #54c3f1;
	border-radius: 10px;
	background: white;
	padding: 8px 12px;
	text-decoration: none;
}
.pagenav .number.current, .pagenav .number:hover {
	color: white;
	background: #54c3f1;
}


/* Detail Post */
body.single #content {
	padding-top: 100px;
	padding-bottom: 90px;
}
body.single .post {
	position: relative;
}
body.single .post .post-date {
	font-size: 20px;
    color: black;
    font-weight: 500;
	margin-bottom: 25px;
	display: block;
}
body.single .post .post-title {
	font-size: 25px;
	color: #000000;
	border-bottom: 1px solid #a6a6a6;
	padding-bottom: 15px;
	margin-bottom: 30px;
}
body.single .post .post-meta {
	position: absolute;
	top: 0;
	left: 115px;
}
body.single .post .post-meta .post-category {
	font-size: 20px;
	color: #54c3f1;
	background: #ffff00;
	padding: 5px 18px;
	border-radius: 10px;
}
body.single .post .post-meta .post-category:after {
	display: none;
}
.history-back-container {
	text-align: center;
}
.history-back-container .history-back-button {
	display: inline-block;
	font-size: 18px;
	color: white;
	font-weight: bold;
	background: #54c3f1;
	border-radius: 30px;
	padding: 10px 45px;
	box-sizing: border-box;
}

/* =========== TITLE ========== */
.module .module-title {
	margin-bottom: 15px;
	font-size: 25px;
}
.title_20.module .module-title {
	font-size: 20px;
}
.title_about.module .module-title {
	font-size: 40px;
	color: #54c3f1;
	background: url(../../uploads/home01.png) no-repeat bottom left, url(../../uploads/home02.png) repeat-x bottom 4px left;
	padding: 20px 0 20px 55px;
}
.title_bd_left.module .module-title {
	border-left: 2px solid #a6a6a6;
	padding-left: 27px;
	font-size: 40px;
	font-weight: bold;
	color: #54c3f1;
}
.head_en_ja .fancy-heading {
	margin: 0;
}
.head_en_ja .fancy-heading .main-head {
	font-size: 45px;
	color: #ffff00;
	line-height: 1.2;
}
.head_en_ja .fancy-heading .sub-head {
	font-size: 18px;
	color: #ffffff;
}
.head_en_ja .fancy-heading .sub-head:before {
	width: 20px;
	padding-top:0.5em;
}
.title_40.module .module-title {
	font-size: 40px;
}
#pagewrap .title_page {
	background: #dfeef4;
	padding-top: 90px;
	padding-bottom: 60px;
	border-bottom: 5px solid #54c3f1;
}
#pagewrap .title_page h1  {
	margin: 0;
}
#pagewrap .title_page h1 .main-head {
	font-size: 45px;
	color: #525252;
	font-family: 'FOT-TsukuBRdGothic Std';
}
#pagewrap .title_hl {
	text-align: center;
}
#pagewrap .title_hl h3 {
	font-size: 35px;
	color: #54c3f1;
	box-shadow: inset 0 -19px #ffff00;
    display: inline;
}
#pagewrap .pri_row01 {
	padding-top: 100px;
}
#pagewrap .pri_row01 .row_inner {
	background: #dfeef4;
	max-width: 900px;
	margin: 0 auto;
	border-radius: 30px;
	padding: 50px 55px 20px;
}
.title_blue.module .module-title {
	font-size: 25px;
	color: #54c3f1;
}

.title_blue_arrow.module .module-title {
	font-size: 25px;
	color: white;
	background: url(../../uploads/pri02.png) no-repeat right 30px center, #54c3f1;
	padding: 26px 50px;
	border-radius: 20px 20px 0 0;
	margin-bottom: 0;
}
.head_name .fancy-heading {
	margin: 0;
}
.head_name .fancy-heading .main-head {
	font-size: 35px;
	color: #54c3f1;
	display: inline-block;
	vertical-align: middle;
}
.head_name .fancy-heading .sub-head {
	font-size: 18px;
	color: #000000;
	display: inline-block;
	vertical-align: middle;
	margin: 0 0 0 20px;
    padding: 4px 0 0;
}
.title_bd.module .module-title {
	border-bottom: 3px solid #dfeef4;
	padding-bottom: 8px;
}

/* =========== OTHER ========== */
.module {
	margin-bottom: 30px;
}
.module p:last-child {
	margin-bottom: 0;
}

#pagewrap .row_about {
	background: linear-gradient(to top right, #dfeef4 27%, white 27%, white 69%, #dfeef4 69%);
	padding-top: 70px;
	padding-bottom: 40px;
}
#pagewrap .btn_line .module-buttons-item a {
	font-size: 15px;
	color: #54c3f1;
	font-weight: bold;
	background: none;
	border: none;
}
#pagewrap .btn_line .module-buttons-item a:before {
	content: '';
	width: 52px;
	height: 1px;
	background: #54c3f1;
	display: inline-block;
	vertical-align: middle;
	margin-right: 10px;
}

#pagewrap .row_menu .row_inner {
	max-width: 1600px;
	margin: 0 auto 8px;
}
#pagewrap .row_menu > .row_inner > .module_column {
	background: #54c3f1;
	width: 49.7%;
}
#pagewrap .row_menu > .row_inner > .module_column.last {
	margin-left: 0.6%;
}

#pagewrap .row_menu .module_column .sub_column.col3-1 {
	padding: 10px 10px 10px 20px;
	box-sizing: border-box;
	position: relative;
}
#pagewrap .row_menu .module_column .sub_column.col3-1:before {
	content: '';
	width: 3px;
	height: 100%;
	background: #f7fb22;
	position: absolute;
	left: 6px;
	top: 0;
}
#pagewrap .btn_arrow .module-buttons-item  a {
	text-align: center;
	font-size: 14px;
	color: white;
	font-weight: bold;
	background: url(../../uploads/home04.png) no-repeat top;
	padding: 45px 0 0;
	border: none;
}
#pagewrap .row_banner .row_inner {
	background: url(../../uploads/top3bg_02.jpg) no-repeat center;
	background-size: cover;
	max-width: 1600px;
	margin: 0 auto;
	text-align: center;
	padding-top: 170px;
	padding-bottom: 120px;
}
#pagewrap .row_banner h2 {
	font-size: 50px;
	color: #54c3f1;
	box-shadow: inset 0 -19px #ffff00;
    display: inline;
}
#pagewrap .btn_blue  .module-buttons-item  a {
	font-size: 35px;
	color: #ffff00;
	background: url(../../uploads/home04.png) no-repeat right 15px center, #54c3f1;
	border-radius: 30px;
	padding: 8px 80px 18px;
	border: none;
	box-sizing: border-box;
}
#pagewrap .tel_ct {
	text-align: center;
}
#pagewrap .tel_ct ul {
	margin: 0;
}
#pagewrap .tel_ct ul li {
	display: inline-block;
	vertical-align: middle;
	margin: 0 17px;
	line-height: 1;
}
#pagewrap .tel_ct ul li:first-child {
	background: url(../../uploads/home06.png) no-repeat left;
	font-size: 50px;
	color: white;
	font-weight: bold;
	padding: 0 0 5px 40px;
}
#pagewrap .tel_ct ul li:last-child a {
	font-size: 18px;
	color: #54c3f1;
	font-weight: bold;
	background: url(../../uploads/home07.png) no-repeat left 45px center, #ffff00;
	display: block;
	padding: 20px 40px 22px 85px;
	border-radius: 30px;
}
#pagewrap .exp_row01 {
	padding-top: 100px;
	padding-bottom: 55px;
	background: url(../../uploads/exp01.png) no-repeat bottom 60px right 8%;
}
#pagewrap .img_sono .image-title {
	font-size: 25px;
	color: #ffff00;
	font-weight: bold;
	background: url(../../uploads/exp07.png) no-repeat right;
	background-size: contain;
	width: 116px;
    padding: 11px 15px 11px 0px;
    box-sizing: border-box;
	position: absolute;
	left: 0;
	top: 0;
}
#pagewrap .btn_yamaha .module-buttons-item  a {
	font-size: 18px;
	color: #54c3f1;
	background: url(../../uploads/exp06.png) no-repeat right 30px center, #ffff00;
	border-radius: 30px;
	padding: 15px 65px 18px;
	font-weight: bold;
	max-width: 500px;
	margin: 0 auto;
	box-sizing: border-box;
}
#pagewrap .row_director {
	padding: 95px 100px 65px;
	background: #dfeef4;
	border-radius: 30px;
	margin-top: 100px;
}
#pagewrap .txt_teacher {
	margin-bottom: 25px;
	display: flex;
    align-items: center;
}
.txt_teacher.module .module-title {
	font-size: 35px;
	color: #54c3f1;
	margin: 0 30px 4px 0;
}
.txt_teacher .tb_text_wrap p {
	display: inline-block;
	vertical-align: middle;
	margin: 0 20px 0 0;
}
.txt_teacher .tb_text_wrap p:last-child {
	background: #dfeef4;
	border-radius: 20px;
	padding: 5px 25px;
}
.policy_txt {
	max-height: 280px;
	overflow-y: scroll;
	font-size: 14px;
}

/*------ by fujimoto 20220921 ------*/
.headerwrap {
    position: fixed;
    z-index: 1;
    width: 100%;
    background-color: #fff;
}

#pagewrap .title_page {
    padding-top: 180px;
}

.tb_k2dr212 {
	padding-top: 80px;
}
/*------ end fujitmo ------*/

/************************************************
***************** Media Query *******************
*************************************************/
@media screen and (max-width: 1600px) {
	#main-menu-container #main-menu li a {
		padding: 27px 17px 33px;
	}
}
@media screen and (max-width: 1400px) {
	#main-menu-container #main-menu li, .h_ct {
		font-size: 16px;
	}
	#main-menu-container #main-menu li a {
		padding: 20px 12px 26px;
	}
}
@media screen and (max-width: 1024px) {
	body .pagewidth {
		max-width: 94%;
	}
	.module_row > .row_inner {
		max-width: 100%;
	}
	#headerwrap #header {
		padding: 0 50px 0 0;
	}
	.header-brand-container {
		flex: 1;
	}
	.h_info {
		margin-right: 10px;
	}
	.title_about.module .module-title, .title_bd_left.module .module-title {
		font-size: 35px;
	}
	#pagewrap .news_post .post {
		padding: 35px 40px 35px 0;
		background-position: right center;
	}
	.news_post .post .post-date {
		margin-right: 10px;
	}
	.news_post .post .post-meta {
		margin-right: 15px;
	}
	.head_en_ja .fancy-heading .main-head {
    	font-size: 36px;
	}
	.head_en_ja .fancy-heading .sub-head {
		font-size: 16px;
	}
	#pagewrap .row_banner h2 {
		font-size: 40px;
	}
	#pagewrap .btn_blue .module-buttons-item a {
		font-size: 30px;
	}
	#pagewrap .row_banner .row_inner {
		padding-top: 120px;
		padding-bottom: 70px;
	}
	.title_40.module .module-title {
		font-size: 30px;
	}
	#pagewrap .tel_ct ul li:first-child {
		font-size: 42px;
	}
	#pagewrap .row_director {
    	padding: 50px 50px 20px;
	}
	.wpcf7 table tr th {
		width: 100%;
		padding-bottom: 0;
	}
	/* フッターアイコン	 */
	svg {
		height: 18px;
		display: block;
		text-align: center;
		margin: 0px auto 6px;
		fill: #1f7bb6;
	}

	#pc-backtop {
		bottom: 65px;
		right: 13px;
	}
	#main-menu-container #main-menu {
    margin: 0 auto 50px;
}

}
@media screen and (max-width: 768px) {
	.module .module-title {
		font-size: 20px;
	}
	.title_about.module .module-title, .title_bd_left.module .module-title {
		font-size: 26px;
	}
	.title_about.module .module-title {
		background-size: contain;
	}
	.head_en_ja .fancy-heading .main-head {
		font-size: 30px;
	} 
	#pagewrap .row_banner h2 {
		font-size: 32px;
		box-shadow: inset 0 -10px #ffff00;
	}
	#pagewrap .btn_blue .module-buttons-item a {
		font-size: 25px;
	}
	#pagewrap .row_banner .row_inner {
		padding-top: 100px;
		padding-bottom: 30px;
	}
	.title_40.module .module-title {
		font-size: 25px;
	}
	#pagewrap .tel_ct ul li:first-child {
		font-size: 36px;
	}
	#pagewrap .title_page h1 .main-head {
		font-size: 35px;
	}
	#pagewrap .title_hl h3 {
		font-size: 30px;
	}
	#pagewrap .pri_row01 .row_inner {
		padding: 30px 20px 0;
	}
	.title_blue.module .module-title {
		font-size: 20px;
	}
	.title_blue_arrow.module .module-title {
		font-size: 20px;
		background: url(../../uploads/pri02.png) no-repeat right 10px center, #54c3f1;
		padding: 15px 40px 15px 20px;
		background-size: 25px;
	}
/* 	.table_price table tr th, .table_price table tr td {
    	padding: 12px 8px;
	} */
	.table_price table tr th, .table_price table tr td {
		padding: 0px 0px;
		border-left: 0px;
		line-height: 38px;
	}
	#pagewrap .img_sono .image-title {
    font-size: 20px;
    width: 100px;
	}
	.head_name .fancy-heading .main-head {
		font-size: 25px;
	}
	.txt_teacher.module .module-title {
		font-size: 25px;
		margin: 0 0 15px;
	}
	.title_20.module .module-title {
		font-size: 18px;
	}
	#pagewrap .txt_teacher {
		display: block;
	}
	#pagewrap .row_director{
    padding: 20px 20px 0px;
	} 
	
/* 	by fujimoto 20220926 */
	.headerwrap {
		position: absolute;
	}
	
/* レッスン料金 */
	.tbl-lesson {
		width: 80%;
	}
	
	.tbl-lesson .thead {
		display: none;
	}
	
	.tbl-lesson tr {
		width: 100%;
	}
	
	#pagewrap .tbl-lesson td {
		display: block;
		width: 100%;
		text-align: left;
	}
	
	.tbl-lesson td:first-child {
		background:#54c3f1;
		color: #fff;
		font-weight: bold;
		text-align: center;
	}
	
	.tbl-lesson td:before {
		content: attr(data-label);
		float: left;
		font-weight: bold;
		margin-right: 10px;
		width: 125px;
		text-align: left;
		padding-left: 5px;
	}
	
	.table_price table tr:last-child td:first-child, .table_price table tr:last-child td:last-child {
		border-radius: 0px;
	}
	
	.table_price table tr:last-child td {
		border-bottom: 1px solid #a6a6a6;
	}

	#pagewrap .table_price table tr:last-child td:first-child, 	#pagewrap .table_price table .le-ce {
		text-align: center;
	}

	.le-long {
		padding-left: 140px;
	}


/* 	end fujimoto */
}
@media screen and (max-width: 680px) {
	.h_ct {
		display: none;
	}
	.h_info {
		margin: 0 5px;
	}
	.h_info .h_tel {
    	font-size: 19px;
	}
	#pagewrap .news_post .post {
    	padding: 15px 40px 15px 0;
	}
	.news_post .post .post-content {
		flex-wrap: wrap;
	}
	#pagewrap .row_banner .row_inner {
		padding-top: 85px;
		padding-bottom: 0;
	}
	#pagewrap .row_banner h2 {
    	font-size: 25px;
	}
	#pagewrap .row_banner .module-text {
		margin-bottom: 20px;
	}
	#pagewrap .tel_ct ul li {
		margin: 0 0 20px;
	}
	#pagewrap .title_hl h3 {
		font-size: 26px;
		box-shadow: inset 0 -12px #ffff00;
	}
	.txt_teacher.module .module-title {
		font-size: 22px;
	}
	.head_name .fancy-heading .main-head {
		font-size: 22px;
	}
	body.single .post .post-date, body.single .post .post-meta .post-category {
		font-size: 16px;
	}
	body.single .post .post-title {
		font-size: 20px;
	}
	body.single .post .post-meta {
		left: 100px;
	}
}





