@charset "UTF-8";

/************************************
** モジュール（再利用可能なパーツ）
************************************/


/*　スマホ・PC出し分け　*/
.sp {display: block;}
.pc {display: none;}
/*768px以上*/
@media screen and (min-width: 768px) {
	.sp {display: none;}
	.pc {display: block;}
}





/*　マージン・パディングリセット　*/
.no-padding {padding: 0px!important;}
.no-margin {margin: 0px!important;}

/* インナー */
.inner {
	width: 95%;
	padding: 2.5rem 0 3rem;
	margin: 0 auto;
} 
.inner-padding {
	padding: 0 1rem ;
} 
.inner-padding-mix {
	padding: 2.5rem 1rem 3rem;
} 
/*768px以上*/
@media screen and (min-width: 768px) {
	.inner {
	width: 90%;
	max-width: 980px;
	padding: 4rem 0 ;
	margin: 0 auto;
	}
	.inner-padding {
	padding: 1rem 10rem 5rem ;
	} 
	.inner-padding-mix {
	padding: 4rem 10rem 5rem ;
	} 
}





.sidebar{
	position: fixed;
	width: 100%;
	padding: 10px 20px;
	top: 0;
	left: 0;
	font-size: 0.71em;
	z-index: 8888;
}
.main-menu .current-menu-item:before, .main-menu .current_page_item:before{
	display: none;
}
.main-menu a{
	color: #333;
}
/*768px以上*/
@media screen and (min-width: 768px) {
}
/*1023px以上*/
@media screen and (min-width: 1024px) {
	.sidebar{
	position: fixed;
	width: 280px;
	padding: 50px 40px;
	top: 0;
	left: 0;
	}
	.sidebar .main-menu li{
	display: block;
	font-size: 1.3rem;
    line-height: 1.25;
    margin-top: 1rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    position: relative;
	}
}



/* ロゴ */
.header-logo{
	width: 170px;
	margin-top: 0.5rem;
}
.header-logo img{
	width: 100%;
}
/*768px以上*/
@media screen and (min-width: 768px) {
	.header-logo{
	margin-top: 0rem;
	}
}
/*1023px以上*/
@media screen and (min-width: 1024px) {
	.header-logo{
	width: 100%;
	margin-top: -2rem;
	margin-bottom: 3rem;
	}
}


.header-btnarea{
	display: none;
}
/*768px以上*/
@media screen and (min-width: 768px) {
/*1023px以上*/
@media screen and (min-width: 1024px) {
	.header-btnarea{
	display: block;
	}
	}
}

.header-btnarea-sp a{
	color: #FFF!important;
	
}





/* ボタン：有色 */
.btn-colored a{
	position: relative;
	background-color: #6fb51d;
	width: auto;
	min-width: 350px;
	justify-content: space-between;
	align-items: center;
	text-align: center;
	color: #FFF;
	font-size: 1.4rem;
	text-decoration: none;
	transition: 0.3s;
	padding: 1em 2em;
	margin: 0 auto;	
}
.btn-colored a:after {
	position: absolute;
	content: " ";
	width: 0;
	height: 0;
	right: 2%;
	bottom: 15%;
	border-style: solid;
	border-width: 0 0 10px 10px;
	border-color: transparent transparent #FFF transparent;
}
/*768px以上*/
@media screen and (min-width: 768px) {
}


/* ボタン：やじるし > */
.btn-arrow a{
	background-color: #6fb51d;
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 200px;
	color: #FFF;
	font-size: 1.4rem;
	text-decoration: none;
	transition: 0.3s;
	padding: 1em 2em;
	margin: 0 auto;
}
.btn-arrow a:after {
	content: '';
	width: 5px;
	height: 5px;
	border-top: 3px solid #FFF;
	border-right: 3px solid #FFF;
	transform: rotate(45deg);
}
/*768px以上*/
@media screen and (min-width: 768px) {
}




/* ボタン */
a.btn,
a.btn-side{
	color: #FFF;
}
.btn{
	display: block;
	width: 90%;
    background: #000;
	border:none;
    text-align: center;
	font-size: 1.0em;
	padding: 20px 0px;
	color: #FFF;
	border-radius: 50px;
	margin: 60px auto;
}
.btn-iro,
.btn-bk,
.btn-fixed-contact{
}
.btn-iro{
    background: #6fb51d;
}
.btn-bk{
    background: #000;
}
.btn-wh{
    background: #FFF;
}
.btn-fixed-contact{
    background: #000;
	padding: 15px 0px;
}

/*768px以上*/
@media screen and (min-width: 768px) {
	a.btn,
	a btn-side{
	color: #FFF;
	}
	.btn{
	display: block;
	width: 50%;
	background: #000;
	border:none;
	text-align: center;
	font-size: 1.0em;
	padding: 20px 0px;
	color: #FFF;
	border-radius: 50px;
	margin: 60px auto;
	}
	.btn-iro,
	.btn-bk,
	.btn-fixed-contact{
	}
	.btn-iro{
	background: #6fb51d;
	}
	.btn-bk{
	background: #000;
	}
	.btn-fixed-contact{
	background: #000;
	padding: 15px 0px;
	}
}


.btn-side{
	display: block;
	width: 100%;
	border:none;
    text-align: center;
	font-size: 1.2em;
	padding: 1rem 0px 1rem;
	color: #FFF;
	border-radius: 50px;
	margin: 0.75rem auto;
}
a.btn-side{
	color: #FFF;
}
a.btn-lesson-side{
	display: block;
	width: 100%;
	border:1px solid #333;;
    text-align: center;
	font-size: 1.2em;
	padding: 1rem 0px 1rem;
	color: #333;
	border-radius: 10px;
	margin: 0.75rem auto;
}
a.btn-side{
	color: #FFF;
}
a.btn-lesson-side{
	color: #333;
}
/*768px以上*/
@media screen and (min-width: 768px) {
	/*タブレットのデザイン内容をここに*/
}




/* 準備中 */
.commingsoon{
	margin: 6rem 0 8rem 0;
	text-align: center;
}
.commingsoon-image img{
	width: 300px;
}



/* h2：タイトル */
.h2-en {
	text-align: center;
	position: relative;
	font-size:0.8rem;
	letter-spacing: 0.1rem;
	font-weight: bold;
	margin-top: 0;
}
.h2-jp {
	text-align: center;
	position: relative;
	margin-bottom: 2rem;
	margin-top: 0rem;
	font-size:2.0rem;
	letter-spacing: 0.1rem;
	font-weight: bold;
}
/*768px以上*/
@media screen and (min-width: 768px) {
	.h2-jp {
	font-size:2.4rem;
	}
}


.read-copy{
	text-align: center;
	font-size: 1.3rem;
	margin-bottom: 2rem;
}
@media screen and (min-width: 768px) {
	.read-copy{
	text-align: center;
	font-size: 1.5rem;
	margin-bottom: 2.5rem;
	}
}


/* イントロイメージ */
.intro-image{
	text-align: center;
}
.intro-image-corp img{
	width: 200px;
	padding: 2rem 0 1rem;
}
.intro-image-about img{
	width: 100%;
	
}
@media screen and (min-width: 768px) {
	.intro-image-corp img{
	width: 400px;
	padding: 2rem 0 1rem;
	}
}


/* イントロ色付きエリア */
.intro-area{
	padding: 0rem 0;
	margin-top: -0.25rem;
}
.intro-area-title{
	text-align: center;
	font-size: 1.6rem;
	font-weight: bold;
	margin-bottom: 1.5rem;
}
.intro-area-text{
	text-align: left;
	font-size: 1.2rem;
}


/* ワイドエリア */
.wide-area-contents{
	padding: 2rem 0 3rem;
	text-align: center;
}
.wide-area-title{
	font-size: 2.8rem;
}
.wide-area-title-mini{	
	font-size: 1.8rem;
}
.wide-area-btn a{
	text-decoration: none;
	color: #333;
	display: inline-block;
	width: auto;
	font-size: 2.0rem; 
	font-weight: bold; 
	text-align: center;
	border: 3px solid #333;
	padding: 0.65rem 2rem 0.5rem;
	margin-top: 0.5rem;
	margin-bottom: 0.5rem;
}







/* フッター上のボタンエリア */
.btn-area{
}

/* フッター上ボタン：メニュー（サブ */
.btn-menu-sub-contents{
	display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    width: 100%;
    margin: 1rem 0 0 0;
}
.btn-menu-sub-item{
	width: calc(100% / 1 - 50px);
    padding: 6px 0px;
    text-align: center;
}
/*768px以上*/
@media screen and (min-width: 768px) {
	.btn-menu-sub-item {
	width: calc(100% / 2 - 30px);
	padding: 15px 0px 0px;
	text-align: center;
	}
}

/* フッター上ボタン：メニュー（メイン */
.btn-menu-main-contents{
	display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    width: 100%;
}
.btn-menu-main-item{
	width: calc(100% / 1 - 10px);
    padding: 1px 0px ;
    text-align: center;
}
/*768px以上*/
@media screen and (min-width: 768px) {
	.btn-menu-main-item {
	width: calc(100% / 2 - 2px);
	padding: 1px 0px;
	text-align: center;
	}
}
/*1023px以上*/
@media screen and (min-width: 1024px) {
	.btn-menu-main-item {
	width: calc(100% / 3 - 2px);
	padding: 1px 0px;
	text-align: center;
	}
}



/* フッター上ボタン：SNS */
.btn-sns-contents{
	display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    width: 75%;
	margin: 0 auto;
}
.btn-sns-item{
	width: calc(100% / 5 - 10px);
    padding: 1px 0px ;
    text-align: center;
}
/*768px以上*/
@media screen and (min-width: 768px) {
	.btn-sns-contents{
	width: 40%;
		margin-bottom: 4rem;
	}
	.btn-sns-item {
	width: calc(100% / 5 - 15px);
	padding: 1px 0px;
	text-align: center;
	}
}

/* 最下バナー */
.bottom-bnr-contents{
	display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    width: 90%;
	margin: 0 auto;
}
.bottom-bnr-item{
	width: calc(100% / 2 - 2px);
    padding: 5px ;
}
/*768px以上*/
@media screen and (min-width: 768px) {
	.bottom-bnr-contents{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	width: 90%;
	margin: 0 auto;
	}
	.bottom-bnr-item {
	width: calc(100% / 4 - 10px);
	padding: 5px 0px;
	}
}



/* お知らせリスト */
/* 新着お知らせリスト */
.info-list {
	display: -webkit-box;
	display: -ms-flexbox;
	/*display: flex;*/
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	  -ms-flex-direction: column;
		  flex-direction: column;
	-webkit-box-pack: start;
	  -ms-flex-pack: start;
		  justify-content: flex-start;
		  align-items:baseline;
	padding: 0.5rem 2rem 3rem;
}

.info-list .wp-show-posts{
	margin-top: 3rem;
	position:relative;
    text-overflow: ellipsis!important;
    overflow: hidden;
    white-space: nowrap;
}

.info-list .wp-show-posts-single{
	border-bottom: 1px dotted #333;
	padding-bottom: 4rem;
	margin-bottom: 1.5rem!important;
}
.info-list .wp-show-posts-single:last-child{
	margin-bottom: 0rem!important;
}


/* 新着お知らせリスト（日付 */
.info-list .wp-show-posts .wp-show-posts-posted-on a {
	font-size: 1.1rem;
	margin-bottom: 0.3rem;
	text-decoration: none;
	color: #333;
	font-weight: bold;
}
.info-list .wp-show-posts-separator{
	display: none;
}
.wp-show-posts-terms{
	padding: 0.08rem 0.75rem 0.25rem;
	background: #e87d35;
	color: #FFF!important;
}
.wp-show-posts-terms a{
	text-decoration: none;
	font-size: 0.85rem;
	color: #FFF!important;
}
/* 新着お知らせリスト（タイトル */
.info-list .wp-show-posts .wp-show-posts-entry-title{
	position: absolute;
	padding: 1.25em 0 0 0!important;
}
.info-list .wp-show-posts .wp-show-posts-entry-title a {
	font-size: 1.3rem;
}
/*768px以上*/
@media screen and (min-width: 768px) {
	.info-list {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
		-ms-flex-direction: row;
			flex-direction: row;
	-webkit-box-pack: justify;
		-ms-flex-pack: justify;
			justify-content: space-between;
	padding: 2rem 0 2.5rem;
	}
	.info__wrapper {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
		-ms-flex-direction: row;
			flex-direction: row;
	-webkit-box-align: center;
		-ms-flex-align: center;
			align-items: center;
	}
	.info__title {
	font-size: 2.2rem;
	}
	.info__title::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	width: 0.15rem;
	height: 3rem;
	background-color: #ccc;
	-webkit-transform: translateY(-50%);
			transform: translateY(-50%);
	}
	.info__date {
	margin: 0 1.5rem 0 2rem;
	font-size: 1.4rem;
	}
	.info__txt {
	margin: 0 0 0 1.5rem;
	font-size: 1.6rem;
	}
}


/* and more */
.and-more {
	text-align: right!important;
	font-size: 1.0rem;
	margin-top: 2rem;
}


/* Youtube埋め込み */
.youtube {
  width: 100%;
  aspect-ratio: 16 / 9;
}
.youtube iframe {
  width: 100%;
  height: 100%;
}
.youtube-title{
	font-weight: bold;
	font-size: 1.4rem;
	margin: 3rem 0 1rem 0;
}


/* Gカレンダーレスポンシブ */
.g-calendar {
	position: relative;
	padding-bottom: 90%;
	padding-top: 30px;
	height: 0;
	overflow: hidden;
}
.g-calendar iframe,
.g-calendar object,
.g-calendar embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
/*768px以上*/
@media screen and (min-width: 768px) {
	.g-calendar {
	position: relative;
	padding-bottom: 56.25%;
	padding-top: 30px;
	height: 0;
	overflow: hidden;
	}

	.g-calendar iframe,
	.g-calendar object,
	.g-calendar embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	}
}



/* （既存cssを上書き） */
.menu-footer li a{
	font-size: 0.9rem!important;
	
}


/* キャプション */
.caption-left,
.caption-right,
.caption-center{
	font-size: 0.7rem;
	margin-top: 0.5rem;
}
.caption-left{
	text-align: left!important;
}
.caption-right{
	text-align: right!important;
}
.caption-center{
	text-align: center!important;
}

.cap{
	font-size: 0.75em;
	letter-spacing: 1px;
	line-height: 1.4;
	text-align: left;
	margin-top: 0.75rem;
}




/* 間を繋ぐ画像 */
.conect-image{
	padding: 2rem 0 2rem 0;
}
/*768px以上*/
@media screen and (min-width: 768px) {
	.conect-image{
	padding: 3rem 0 3rem 0;
	}
}



/* ライン line */
.line{
	padding: 0 3rem;
	margin: 4rem 0 ;
}
.line-solid{
	border-bottom: 1px solid #CCC;
}
.line-dotted{
	border-bottom: 1px dotted #CCC;
}
/*768px以上*/
@media screen and (min-width: 768px) {
	.line{
	padding: 0 3rem;
	margin: 8rem 0 8rem;
	}
}



/* footer */
.copyright{
	text-align: center;
	font-size: 0.7rem;
	color: #333;
}
.fotter-navi ul{
	text-align: center;
	margin: 2rem 0 4rem;
}
.fotter-navi li{
	display: block;
	font-size: 1.0rem;
	margin: 0 0 0 1rem;
	margin-bottom: 1rem;
	padding: 0 0 0 1rem;
	border-right: none;
}
.fotter-navi li:last-child{
	border-right: none;
}
.fotter-navi li a{
	text-decoration: none;
	color: #333;
}
/*768px以上*/
@media screen and (min-width: 768px) {
	/* footer */
	.copyright{
	text-align: center;
	font-size: 0.7rem;
	color: #333;
	}
	.fotter-navi ul{
	text-align: center;
	margin: 2rem 0 4rem;
	}
	.fotter-navi li{
	display: inline-block;
	font-size: 1.0rem;
	margin: 0 0 0 1rem;
	padding: 0 1rem 0 0;
	border-right: 1px solid #333;
	}
	.fotter-navi li:last-child{
	border-right: none;
	}
	.fotter-navi li a{
	text-decoration: none;
	color: #333;
	}
}




/****************************************************
** レスポンシブデザイン用メディアクエリ（モバイルファースト
****************************************************/

/*768px以上*/
@media screen and (min-width: 768px) {
	/*タブレットのデザイン内容をここに*/
}

/*1023px以上*/
@media screen and (min-width: 1024px) {
	/*PCのデザイン内容をここに*/
}


