@charset "utf-8";

a,abbr,address,article,aside,audio,b,blockquote,body,canvas,caption,cite,code,dd,del,details,dfn,div,dl,dt,em,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,p,pre,q,samp,section,small,span,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,ul,var,video{
	margin:0;
	padding:0;
	border:0;
	outline:0;
	font-size:100%;
	vertical-align:baseline;
	background:0 0;
	list-style-type:none;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	-o-box-sizing:border-box;
	-ms-box-sizing:border-box;
	box-sizing:border-box;
}
article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary{display:block}
* html body{padding-left:1px}
* html .clearfix{height:1%}
table{border-collapse:collapse}
dl,ul{zoom:1;}

html{font-size: 62.5%;}
body{
	font-style: normal;
	background-color: #fff;
	color: #000;
	font-family: 'Noto Sans JP', sans-serif;
}
html,body {
  text-size-adjust: none;
  -webkit-text-size-adjust: none;
  -moz-text-size-adjust: none;
  -ms-text-size-adjust: none;
}
dd,dt,h1,h2,h3,h4,h5,h6,li,p,td,th,address,div,span{
	margin:0;
	padding:0;
	word-break: break-all;
	font-size:18px;
	line-height:1.6;
}
@media (max-width: 750px) {
	body{
		min-width:100%;
	}
	body,
	dd,dt,h1,h2,h3,h4,h5,h6,li,p,td,th,address,div,span{font-size: 3.2vw;line-height:1.6;}
}
.fmin{
	font-family: 'Noto Serif Japanese', serif, sans-serif;
}
.clearfix:before,
.clearfix:after,
.container:before,
.container:after,
.articleBox:before,
.articleBox:after{
  content: " ";
  display: table;
}
*:before, *:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.clearfix,.fleft,.fright{display:block}
.cb:after,
.clearfix:after,
.articleBox:after,
dl:after{content:".";display:block;height:0;clear:both;visibility:hidden}

.boxct{margin:0 auto;}
.fright{float:right;}
.fleft{float:left;}
.l{float:left;}
.r{float:right;text-align:left;}
.ct{text-align:center;}
.ct-pc{text-align:center;}
.mct{margin:0 auto;}
@media (max-width: 769px) {
.ct-pc{text-align:left;}
}
.fl-sh{/*縦横中央*/
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-align-content: center;
	align-content: center;
	-webkit-justify-content: center;
	justify-content: center;
}
.fl-h{/*縦中央*/
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
}
a{
	overflow: hidden;
	color: #333;
	transition: 0.2s linear;
	-webkit-transition: all 0.2s linear;
	-moz-transition: all 0.2s linear;
	-o-transition: all 0.2s linear;
	-ms-transition: all 0.2s linear;
	transition: all 0.2s linear;
}
a:hover{
	/*opacity: 0.6;*/
}
a,a:hover{text-decoration:none}
a:hover img{opacity: 0.6;}
img{
	border:0;
	margin: 0;
	padding: 0;
	vertical-align: bottom;
	transition: 0.2s linear;
	-webkit-transition: all 0.2s linear;
	-moz-transition: all 0.2s linear;
	-o-transition: all 0.2s linear;
	-ms-transition: all 0.2s linear;
	transition: all 0.2s linear;
}

.ls05:first-letter{letter-spacing:0.5em}
.ls1:first-letter{letter-spacing:1em}
.ls2:first-letter{letter-spacing:2em}
.ls02{letter-spacing:0.2em}
.ls05{letter-spacing:0.5em}
.ls10{letter-spacing:1em}
.ls20{letter-spacing:2em}


.brpc{display:block;}
.brsp{display:none;}
.pc{display:block;visibility: visible;}
.sp{display:none;visibility: hidden;}
@media (max-width: 769px) {
	.brpc{display:none;}
	.brsp{display:block;}
	.pc{display:none;visibility: hidden;}
	.sp{display:block;visibility: visible;}
}

.mt-p10 {margin-top: 10px !important;}
.mt-p20 {margin-top: 20px !important;}
.mt-p30 {margin-top: 30px !important;}
.mt-p40 {margin-top: 40px !important;}
.mt-p50 {margin-top: 50px !important;}
.mt-p60 {margin-top: 60px !important;}
.mb-p10 {margin-bottom: 10px !important;}
.mb-p20 {margin-bottom: 20px !important;}
.mb-p30 {margin-bottom: 30px !important;}
.mb-p40 {margin-bottom: 40px !important;}
.mb-p50 {margin-bottom: 50px !important;}
.mb-p60 {margin-bottom: 60px !important;}
.mrl-a {margin-left: auto !important;margin-right: auto !important;}
.pt-p10 {padding-top: 10px !important;}
.pt-p20 {padding-top: 20px !important;}
.pt-p30 {padding-top: 30px !important;}
.pt-p40 {padding-top: 40px !important;}
.pt-p50 {padding-top: 50px !important;}
.pt-p60 {padding-top: 60px !important;}
.pb-p10 {padding-bottom: 10px !important;}
.pb-p20 {padding-bottom: 20px !important;}
.pb-p30 {padding-bottom: 30px !important;}
.pb-p40 {padding-bottom: 40px !important;}
.pb-p50 {padding-bottom: 50px !important;}
.pb-p60 {padding-bottom: 60px !important;}

.ft-p1 {font-size: 2.8rem;}
.ft-p2 {font-size: 2.2rem;}
.ft-p3 {font-size: 2rem;}
.ft-p4 {font-size: 1.8rem;}
@media (max-width: 750px) {
	.ft-p1 {font-size: 5.23vw;}
	.ft-p2 {font-size: 4.99vw;}
	.ft-p3 {font-size: 4.48vw;}
	.ft-p4 {font-size: 4vw;}
/*
  .ft-p1 {font-size: 3.4rem;}1.416666666666667‬
  .ft-p2 {font-size: 3.2rem;}1.333333333333333‬
  .ft-p3 {font-size: 2.8rem;}1.166666666666667‬
  .ft-p4 {font-size: 2.4rem;}
  .ft-p5 {font-size: 2.2rem;}0.9166666666666667‬
*/
}
h1,h2,h3,h4,h5,.bold{font-weight:bold;}
.bg01{background-color:#f5e0eb;}
.bg02{background-color:#f4f3ef;}
.bg03{background-color:#90835a;}
.bg04{background-color:#990066;}
.bg05{background-color:#e9e6de;}

.fcol01{color:#990066;}
.fcol02{color:#90835a;}
.fcol03{color:#cc6699;}


/* ***********************************************************
* サイズ関連
* *********************************************************** */
.w50{width:50% !important;max-width:50% !important;}
.w100{width:100% !important;max-width:100% !important;}
.w-auto{width:auto;}
.pc-half{width:50% !important;max-width:50% !important;}
#warper{width:100%;overflow: hidden;position: relative;}
.contents{width:100%;margin:0 auto;display:table;}
.contentsin{width:100%;max-width:1400px;margin:0 auto;}
.contentsin2{width:100%;max-width:1200px;margin:0 auto;}
.contentsin3{width:650px;margin:0 auto;}
.contentsin4{width:796px;margin:0 auto;}
.contentsin5{width:100%;max-width:1150px;margin:0 auto;}
.contentsin6{width:100%;max-width:1150px;margin:0 auto;}
.contentsin7{width:100%;max-width:1700px;margin:0 auto;}
.contentsin8{width:100%;max-width:1250px;margin:0 auto;}
.contentsinMax{width:100%;max-width:1760px;margin:0 auto;}


@media (max-width: 750px) {
	#warper{width:100%;}
	.contents,
	.contentsinW{width:100%;min-width:100%;}
	.contentsin,
	.contentsin2,
	.contentsin3,
	.contentsin4,
	.contentsin5,
	.contentsin6,
	.contentsin7,
	.contentsin8,
	.contentsinMax{width:86.66vw;min-width:86.66vw;}
	.pc-half{width:100% !important;max-width:100% !important;}
	.sp-w100{width:100% !important;max-width:100% !important;}
}
.table,
.tbox{display:table;}


/* ***********************************************************
* リスト
* *********************************************************** */
.column{
	-webkit-display: flex;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
.column .box{float:left;}


/* ---------- 2列 ---------- */
.col2::after {
	content: "";
	display: block;
	width:46%;
}
.col2 .box{
	width:46%;
}

@media (max-width: 750px) {
  .col2 .box{
		float:none;
		margin:0 auto;
		display:table;
		width:100%;
	}
}

/* ---------- 3列 ---------- */
.col3::after {
	content: "";
	display: block;
	width:32%;
}
.col3 .box{
	width:32%;
}
@media (max-width: 750px) {
	.col3::after {
		content: "";
		display: block;
		width:48%;
	}
	.col3 .box{width:48%;}
}

/* ---------- 4列 ---------- */
.col4::after {
	content: "";
	display: block;
	width:22%;
}
.col4 .box{
	width:22%;
}
@media (max-width: 750px) {
	.col4::after {
		content: "";
		display: block;
		width:48%;
	}
	.col4 .box{width:48%;}
}


/* ***********************************************************
* ヘッダー
* *********************************************************** */
#header{
	z-index:3000;
	position:relative;
	margin:0 auto	;
	z-index: 1;
}
#headerin{
	position: relative;
	height:190px;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
}
	#header #title{
		margin:0 auto;
		width:136px;
	}
	#header .subtitle{
		position: absolute;
		left:0;
		top:50%;
		margin-top:-25px;
		width:435px;
	}
	#header .sns{
		position: absolute;
		right:32px;
		top:20px;
		width:170px;
	}
		#header .sns li{
			width:43px;
		}
	#header .mail{
		display: none
	}
#navi{
	display:table;
	float:right;
	width:100%;
	margin:0;
	background-color: #f5e0eb;
}
#navi .contentsinMax{
	height:40px;
}
	#global-nav{
		width:1400px;
		height:100%;
		margin:0 auto;
		display: -webkit-flex;
		display: flex;
		-webkit-align-items: center;
		align-items: center;
		-webkit-justify-content: center;
		justify-content: center;
	}
		#global-nav > li.home{
			display: none;
		}
		#global-nav li a{
			text-align:center;
			margin:0 25px;
			font-weight:bold;
			white-space: nowrap;
			color:#990066;
			font-size:17px;
			line-height:1;
			height:100%;
			display: -webkit-flex;
			display: flex;
			-webkit-align-items: center;
			align-items: center;
			-webkit-justify-content: center;
			justify-content: center;
		}
			#global-nav li a:hover{
				color:#cc6699;
			}


@media (max-width: 750px){
	#header{
		height:20vw;
	}
	#header .contentsinMax{
		width:100%;
		height:100%;
	}
	#header #headerin.contentsin{
		width:100%;
	}
	#headerin{
		width:100%;
		height:100%;
	}
	#header #title{
		margin:0;
		width: 14.66vw;
	}
	#header .subtitle{
		left:3.2vw;
		top:50%;
		margin-top:-3.73vw;
		width:32.4vw;
	}
	#header .sns{
		display:none;
	}
	#header .mail{
		display: block;
		position: absolute;
		top:6.4vw;
		right:18vw;
		height:8.2vw;
		width:9vw;
	}
	#header .mail img{
		width:7.46vw;
		display:block;
		margin:0 auto;
		text-align:center;
	}
	#header .mail .name{
		position: absolute;
		bottom:0;
		left:0;
		right:0;
		width:9vw;
		height:1.46vw;
		text-align:center;
		line-height: 0;
	}
}


/* ***********************************************************
* フッター
* *********************************************************** */
#footer{
	width: 100%;
	background-color:#f5e0eb;
	text-align:center;
	padding:54px 0 46px;
}
	#footer h2{
		width:200px;
		margin:0 auto 0;
	}
	#footer p{
		margin:60px auto 50px;
		color:#cc6699;
		font-size:24px;
	}
	#footer .sns{
		width:336px;
		margin:0 auto;
	}
		#footer .sns li{
			width:74px;
		}
			#footer .sns li img{
				width:100%;
			}

	#footer .menu{
		display: table;
		margin:80px auto 40px;
	}
		#footer .menu li{
			margin:6px 20px;
			display: inline-table;
		}
			#footer .menu li a{
				color:#685f4c;
				font-size:24px;
			}
				#footer .menu li a:hover{
					color:#cc6699;
				}
#footer #copy{
	margin:40px auto 0;
	color:#685f4c;
	font-size:12px;
	text-align:center;
	width:100%;
	line-height:1;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-align-content: center;
	align-content: center;
	-webkit-justify-content: center;
	justify-content: center;
}


@media (max-width: 750px) {
	#footer{
		padding:6.66vw 0 6.66vw;
	}
		#footer h2{
			width:26.66vw;
		}
		#footer p{
			margin:8vw auto 6vw;
			font-size:3.2vw;
		}
		#footer .sns{
			width:44.8vw;
		}
			#footer .sns li{
				width:10.4vw;
			}
	#footer .menu{
		width:76vw;
		margin:8vw auto 10vw;
	}
		#footer .menu li{
			margin:0.9vw 0;
			width:50%;
			text-align: left;
		}
			#footer .menu li a{
				font-size:3.2vw;
			}
	#footer #copy{
		margin:0 auto 0;
		font-size:2.13vw;
	}
}



/* ***********************************************************
* ボタン
* *********************************************************** */
#contents .button.more{
	display:table;
	border-radius:38px;
	margin:0 auto;
	width:550px;
	height:75px;
	border:1px solid #cc6699;
	background-color: #fff;
	transition: 0.2s linear;
	-webkit-transition: all 0.2s linear;
	-moz-transition: all 0.2s linear;
	-o-transition: all 0.2s linear;
	-ms-transition: all 0.2s linear;
	transition: all 0.2s linear;
}
	#contents .button.more a{
		color:#cc6699;
		font-weight:normal;
		display: flex;
		-webkit-align-items: center;
		align-items: center;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-align-content: center;
		align-content: center;
		-webkit-justify-content: center;
		justify-content: center;
		width:100%;
		height:100%;
		position: relative;
		opacity: 1;
		font-size:25px;
	}
	#contents .button.more:hover{
		background-color: #cc6699;
	}
		#contents .button.more:hover a{
			color:#fff;
		}


#contents .button.more2{
	display:table;
	border-radius:65px;
	margin:0 auto;
	width:520px;
	height:130px;
	border:1px solid #cc6699;
	background-color: #cc6699;
	transition: 0.2s linear;
	-webkit-transition: all 0.2s linear;
	-moz-transition: all 0.2s linear;
	-o-transition: all 0.2s linear;
	-ms-transition: all 0.2s linear;
	transition: all 0.2s linear;
}
	#contents .button.more2 a{
		color:#fff;
		font-weight:normal;
		display: flex;
		-webkit-align-items: center;
		align-items: center;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-align-content: center;
		align-content: center;
		-webkit-justify-content: center;
		justify-content: center;
		width:100%;
		height:100%;
		position: relative;
		opacity: 1;
	}
	#contents .button.more2 .buttonin{
		font-size:32px;
		text-align:center;
	}
		#contents .button.more2 a .buttonin div{
			font-size:19px;
		}
	#contents .button.more2:hover{
		opacity: 0.5;
	}

#contents .button.colr{
	display:table;
	border-radius:38px;
	margin:0 auto;
	width:31%;
	height:75px;
	border:1px solid #cc6699;
	background-color: #cc6699;
	transition: 0.2s linear;
	-webkit-transition: all 0.2s linear;
	-moz-transition: all 0.2s linear;
	-o-transition: all 0.2s linear;
	-ms-transition: all 0.2s linear;
	transition: all 0.2s linear;
}
	#contents .button.colr a{
		color:#fff;
		font-weight:normal;
		display: flex;
		-webkit-align-items: center;
		align-items: center;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-align-content: center;
		align-content: center;
		-webkit-justify-content: center;
		justify-content: center;
		width:100%;
		height:100%;
		position: relative;
		opacity: 1;
		font-size:25px;
	}
	#contents .button.colr:hover{
		opacity: 0.5;
	}
@media (max-width: 1000px) {
	#contents .button.colr a {
		font-size: 20px;
	}
}
@media (max-width: 750px) {
	#contents .button.more{
		border-radius:5vw;
		width:73.33vw;
		height:10vw;
	}
		#contents .button.more a{
			font-size:3.33vw;
		}

	#contents .button.more2{
		display:table;
		border-radius:11vw;
		width:100%;
		height:21.73vw;
	}
		#contents .button.more2 .buttonin{
			font-size:5.33vw;
		}
			#contents .button.more2 a .buttonin div{
				font-size:3.2vw;
			}
	#contents .button.colr{
		border-radius:5vw;
		width:73.33vw;
		height:10vw;
		margin:0 auto 3.46vw;
	}
		#contents .button.colr a{
			font-size:3.3vw;
		}
}



/* ***********************************************************
* メイン関連
* *********************************************************** */
#page.page.lesson #mainin{
    position:relative;
    margin:0 auto;
    width:100%;
		height:590px;
		background-image: url(../images/common/main02.jpg);
		background-position: center center;
		background-repeat: no-repeat;
		background-size:cover;
}
#page.page.lesson.date-held #mainin,
#page.page.lesson.online-lesson #mainin{
		background-image: url(../images/common/main01.jpg);
}
#page.page #mainin .contentsinMax{
	height:100%;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-align-content: center;
	align-content: center;
	-webkit-justify-content: center;
	justify-content: center;
}



#page.page.lesson #main .title-main{
	background-image: url(../images/common/main-title-back.svg);
	background-repeat: no-repeat;
	background-position: center center;
	width:650px;
	height:130px;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-align-content: center;
	align-content: center;
	-webkit-justify-content: center;
	justify-content: center;
	margin:0 auto;
}
#page.page.lesson #main .title-main .name{
	font-size:39px;
	color:#90835a;
}

#page.page.lesson #main #submain{
	background-color: #f5ddea;
	height:250px;
}
#page.page.lesson #main #submain .contentsinMax{
	height:100%;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-align-content: center;
	align-content: center;
	-webkit-justify-content: center;
	justify-content: center;
}
#page.page.lesson #main #submain h2{
	margin:0 auto;
	text-align: center;
}
	#page.page.lesson #main #submain h2 .name{
		font-size:43px;
		color:#cc6699;
	}
	#page.page.lesson #main #submain h2 .subname{
		font-size:24px;
	}
@media (max-width: 750px) {
	#page.page.lesson #mainin{
		height:38vw;
	}
	#page.page.lesson #main .title-main{
		width:86.66vw;
		height:17.33vw;
	}
	#page.page.lesson #main .title-main .name{
		font-size:5.73vw;
	}


	#page.page.lesson #main #submain{
		height:26.66vw;
	}
		#page.page.lesson #main #submain h2 .name{
			font-size:5.33vw;
		}
		#page.page.lesson #main #submain h2 .subname{
			font-size:3.2vw;
		}
}



/* ***********************************************************
* 基本設定
* *********************************************************** */
#page .title01{
	text-align: center;
	margin:0 auto;
	color:#cc6699;
	font-size:50px;
	font-weight:normal;
}
#page .title02{
	width:650px;
	height:180px;
	text-align: center;
	margin:0 auto;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-align-content: center;
	align-content: center;
	-webkit-justify-content: center;
	justify-content: center;
	background-position: center center;
	background-repeat: no-repeat;
	background-size:cover;
	background-image: url(../images/common/title-back-waku.svg);
	background-repeat: no-repeat;
	background-position: center center;
}
	#page .title02 .name{
		font-size:39px;
		color:#90835a;
		font-weight: normal;
	}
	#page .title02 .data{
		font-size:24px;
		color:#90835a;
		font-weight: normal;
	}
#page .title03{
	text-align: center;
	margin:0 auto;
	color:#90835a;
	font-size:39px;
}
#page .title04{
	font-size:39px;
  height:125px;
  display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-align-content: center;
	align-content: center;
	-webkit-justify-content: center;
	justify-content: center;
}
@media (max-width: 750px) {
	#page .title01{
		font-size:6.66vw;
	}
	#page .title02{
		width:86.66vw;
		height:24vw;
		background-size: cover;
	}
		#page .title02 .name{
			font-size:5.73vw;
		}
		#page .title02 .data{
			font-size:3.2vw;
		}
	#page .title03{
		font-size:4.8vw;
	}
	#page .title04{
		font-size:4.8vw;
	  height:16.66vw;
	}
}




/* ***********************************************************
* テーブル
* *********************************************************** */
table.tb01{
  width:100%;
}
table.tb01 tr{
  border-bottom: 1px solid #000;
}
table.tb01 th{
  padding: 18px 0;
  text-align:left;
  font-weight:normal;
	line-height:1.6;
}
table.tb01 td{
  padding: 22px 0;
	line-height:1.6;
}

@media (max-width: 750px){
	table.tb01 th{
		padding: 15px 0;
	}
	table.tb01 td{
		padding: 15px 0;
	}
}
