@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,700&display=swap');
/*---------------------------
テンプレート
レスポンシブ01 グリーン 1カラム
----------------------------*/

/*-------------------------------------
全体
---------------------------------------*/

html{
  scroll-behavior: smooth;
}

body{
	color:#000000;
	font-size:18px;
	line-height:2.0;
	font-weight:normal;
	font-family:"Noto Sans JP", sans-serif;
}

/*スマホ向け*/
@media only screen and (max-width: 600px) {
	body{
	  font-size:16px;
	}
}


a{
  color: #2a7be1;
  text-decoration:underline;
}
a:hover{
  color: #6cae11;
  text-decoration:none;
}

strong{
	font-size:1.3em;
	color:#ff8400;
}

/*スマホ向け*/
@media only screen and (max-width: 600px) {
	strong{
		font-size:1.1em;
	}
}

strong.price{
	font-size:1.8em;
	color:#000;
}

p.smalltxt{
	font-size:0.8em;
  margin-top: -2em !important;
}

#pankuz p{
	margin:0;
	padding:1em 0;
	font-size:1em;
}

#pankuz{
	width:100%;
	color:#000000;

	display:none;
}
#pankuz a{
	font-weight:bold;
}

#pankuz_outer{
	width:1024px;
	margin:0 auto;
}

/*スマホ向け*/
@media only screen and (max-width: 600px) {
  #pankuz p{
    margin:16px 0.5em;
    margin:0;
}
  #pankuz_outer{
	width:auto;
}
  .mainArticles div.gallery{
	padding:0 4% 24px;
  }
}
@media only screen and (max-width: 600px){
.mainArticles .article, .mainArticles .article.col2.colSet, .mainArticles .article.col3.colSet, .article:not(.article.max), .mainArticles div.gallery, #listTopics{
	padding:0 4% 15px;
}
}
/*-------------------------------------
写真サイズ
---------------------------------------*/
.mainArticles .article_left .image, .mainArticles .article_right .image, .mainArticles .article_right .image img, .mainArticles .article_left .image img{
	max-width:480px;
}
@media only screen and (max-width: 1200px){
.mainArticles .article_left .image, .mainArticles .article_right .image, .mainArticles .article_right .image img, .mainArticles .article_left .image img{
	width:auto;
	max-width:360px;
}
}
/*スマホ向け*/
@media only screen and (max-width: 600px) {
.mainArticles .article_left .image, .mainArticles .article_right .image, .mainArticles .article_right .image img, .mainArticles .article_left .image img{
	max-width:100%;	
}

}

#title_outer, div#title_body, div#footer_body, #topMenu_outer, #topMenu_body, #topMenu .topMenu, #mainTopics, #listTopics, #mainServices{
	width:auto;
	min-width:auto;
}

#wrap_body #contents{
	background:#fff url(/materials/170596731839905.png) 6px 6px no-repeat;
	background-size:100%;
}

/*スマホ向け*/
@media only screen and (max-width: 600px) {
	#wrap_body #contents{
		background-size:130%;
	}
}

.mainArticles{
	border-radius:4px;
	padding:0;
}


#mainTopics , #listTopics{
	background:transparent !important;
	padding:1em !important;
	margin:40px auto 1em auto;
	max-width:1200px;
	width:auto;
}
#listTopics{
	padding:0 !important;
	margin-top:0;
	background:transparent !important;
}

#mainTopics_outer{
	width:100%;
	padding:0 2em;
}

/*スマホ向け*/
@media only screen and (max-width: 600px) {
	#mainTopics_outer{
		padding:0 0.5em;
}
}

#wrap img{
	width:auto;
	border-radius:0;
}

.article.bg{
	background:#faf8f7;
}

.gallery.bg{
	background:#d7ef82;
}


#wrap{
}

/*スマホ向け*/
@media only screen and (max-width: 600px) {
	#wrap{
		border-top:none;
	}
}

.mainArticles .article, .mainArticles .gallery{
  padding:1em 0 1em 0;
  /*background:none;*/
  margin:0 auto 30px;
  margin:0 auto 1em auto;
  padding-top:0.5em;
}

.freeHtml{
	margin:10px 0;
}

/*スマホ向け*/
@media only screen and (max-width: 600px) {
	.article, .gallery{
	  margin:0 auto 10px;
		}
	}
.article.ttl{
  margin:4em auto 0 auto;
}

.article.full.bg, .article.full.theme, .article.full.gray, .gallery.full.bg, .gallery.full.theme, .gallery.full.gray , #mainTopics{
  margin-top:30px;
  padding-top:60px;
  padding-bottom:60px;
}


.article.full{
	margin-top:0;	
	padding-top:30px;
	padding-bottom:30px;
	color:#000;
	background:#cce8d8;
	background-size:100%;
}

/*スマホ向け*/
@media only screen and (max-width: 720px) {
	.article.full{
	background:#cce8d8 url(/materials/169397594412103.png) no-repeat center top;
	padding:20px 2rem !important;
	background-size:200%;
	}
}

#mainArticles .article.full a:hover img , #mainArticles .article.full .image a:hover{
	opacity:0.95;
	/*filter:grayscale(10%);*/
}

/*スマホ向け*/
@media only screen and (max-width: 720px) {
  
  body{
    font-size:15px;
  }

  .article, .gallery {
    padding:0.5em;
  }
}

#mainArticles{
	width:100%;
	margin-bottom:2em;
}

@media only screen and (max-width: 1200px){
	#title_outer, #topMenu_outer, #pankuz, #sideContents_outer, #footer_outer , #mainTopics { 
		width:96%;
	}
	#mainArticles{
		width:100%;
	}

	.article.full, .article.max , .gallery.full{
		flex-basis:auto;
		width:100vw;
		padding:0 2rem;
		margin:0 calc(50% - 50vw) 40px;
	}

	.article p, .gallery p{
		width:100%;
		margin:0 auto;
		margin-bottom:1em;
	}
}


/*-------------------------------------
トップイメージ
---------------------------------------*/
.mainImage img, .mainImage #slider li img{
	border-radius:0 !important;
}

/*スマホ向け*/
@media only screen and (max-width: 600px) {
	.mainImage img {
		object-fit: cover;
		object-position: top center;
		min-height: 200px;
}

}


/*-------------------------------------
タイトル
---------------------------------------*/


#title{
	height:auto;
}

/*スマホ向け*/
@media only screen and (max-width: 600px) {
	#title{
	}
}


#wrap_body #title, #wrap_body #title_outer {
	padding:0.4em 0 0.8em;
	width:113px;
	margin:0 auto;
	min-width:auto;
}
#title h1 {
  background: url(/materials/170596731839901.png) no-repeat left  top;
  background-size: 100%;
  height: 113px;
  width: 113px;
  float:left;
}
#title h1:hover {
  opacity: 0.7;
}
#title h1 a {
  display: inline-block;
  overflow: hidden;
  text-indent: 110%;
  white-space: nowrap;
  height: 100%;
  width: 100%;
}
#title #title_outer {
}

/*スマホ向け*/
@media only screen and (max-width: 600px) {
	
  #wrap_body #title, #wrap_body #title_outer {
    height:56px;
	padding:0 0 0 5px;
	margin:0;
  }

  #title #title_outer {
    background:none;
  }

  #title h1 {
    width: 182px;
    height: 45px;
    margin-left:0em;
    margin-top:5px;
	background:url(/materials/170615059203301.png) no-repeat left  top;
	background-size:182px 45px;
  }

}


/*#title部表示調整*/
@media only screen and (max-width: 758px) {
#title #title_outer {
  background:none;
}
}

/*-------------------------------------
トップメニュー
---------------------------------------*/
#wrap_body #topMenu{
	background:#0f6a36;
}


#topMenu_outer .topMenu li a{
  color:#fff;
  line-height:55px;
	font-weight:bold;
	background:#0f6a36;
	font-size:1em;
}
#topMenu_outer .topMenu li a:hover{
  background:#a1c914;
  text-decoration:none;
  color:#fff;
}



/*スマホ向け*/
@media only screen and (max-width: 600px) {
	#wrap_body #topMenu{
		background:#0f6a36;
		border-bottom:0;
		margin:0;
	}
	#topMenu_outer{
		width:100%;
	}
	body.active #topMenu{
		height:246px;
	}
	#toggle , .active #toggle{
  	background-color: #0f6a36;
  	border: solid 1px #0f6a36;
	}
	#topMenu_outer .topMenu li a{
 		 line-height:1.25;
 		 color:#fff;
	}
		#topMenu_outer .topMenu li{
  	border-top:dotted 1px #999;
	}
	#topMenu_outer .topMenu li:last-of-type{
 		 border-bottom:dotted 1px #999;
	}
	#toggle{
		top:0;
 }
	#topMenu_outer .topMenu li:last-of-type{
  	border-bottom:dotted 1px #999;
	}
	#topMenu_outer .topMenu li a:hover{
		background:#a1c914;
		text-decoration:none;
	}
}


/*-------------------------------------
見出し
---------------------------------------*/
#mainArticles h2 , #listTopics h2{
  color:#000000;
  font-weight:bold;
  font-size:2.2em;
  margin:1em auto 0 auto;
  line-height: 1.4;
  display:block;
  top:0;
  width:100%;
  min-width: 100%;
  padding:0.5em 0;
}

#mainArticles div[id^="blog"] h2{
	font-size:1.8em;
	font-weight:normal;
	padding:0.5em 0 24px 0;
  margin:3vw auto 3vw auto;
	background:#f9f1e5;
}

/*スマホ向け*/
@media only screen and (max-width: 600px) {
	#mainArticles h2{
		font-size:1.6em;
		padding:0 0 0.5em 0;
		background-size:contain;
	}
	#mainArticles div[id^="blog"] h2{
		font-size:1.5em;
		padding:0.5em 0.5em 0.4em 0.5em;
	}	
		#mainArticles div[id^="blog"] h3{
		font-size:1em;
		padding-bottom:1.5em;
	}
}

#mainArticles h2 > strong, #listTopics h2 > strong, #mainTopics h2 > strong{
	display:block;
	font-size:50%;
	font-weight:normal;
	margin-top:0.5em;
	background:#a1c914;
	border-radius:1.5em;
	color:#fff;
	width:fit-content;
	padding:0.2em 1em;
	margin:0.5em auto;
}




/*h3*/

#mainTopics h2, #mainArticles .article h2, .article h3, .gallery h3, .freeHtml h3 , #listTopics h2 , #mainArticles div[id^="blog"] h2{
  line-height:2.0;
  padding:1.2em 0 1.2em 0;
}

.mainContents .article h3, .mainContents div.gallery h3, #mainServices h2, #mainTopics h2, #mainArticles div[id^="blog"] h2, .freeHtml h3 {
	color:#000000;
	font-size:1.7em;
	margin:0 auto 1em auto;
	font-weight:bold;
	background-size:auto;
	padding:0.5em 0 0.5em 0;
	line-height:1.5;
	text-align:left;
}

.mainContents .article h3:after, .mainContents div.gallery h3:after, #mainServices h2:after, #mainTopics h2:after, #mainArticles div[id^="blog"] h2:after, .freeHtml h3:after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 7px;
  background: -webkit-repeating-linear-gradient(-45deg, #008e56, #008e56 4px, #fff 4px, #fff 8px);
  background: repeating-linear-gradient(-45deg, #008e56, #008e56 4px, #fff 4px, #fff 8px)
}

#mainTopics h2:after{
	display:none;
}

#listTopics h2{
  color:#000000;
	width:auto;
	margin:0 auto;
	font-size:2.0em;
	padding:1.0em 0 0.8em 0;
	line-height:1.4;
}


#mainArticles div[id^="blog"] h2{
	color:#000000;
	font-weight:bold;
	font-size:1.7em;
	margin:1.5em auto 1.5em auto;
	padding:0.5em 0 0.5em 0;
	line-height:1.5;
	text-align:left;
	background:transparent;
}


#mainArticles div[id^="blog"] h3 a{
	font-weight:bold;
}

/*スマホ向け*/
@media only screen and (max-width: 600px) {
	#mainTopics h2, #mainArticles .article h2, #listTopics h2 , .article h3, .gallery h3, .freeHtml h3 , .article h3 a, .gallery h3 a{
		margin:1.5em auto 1em auto;
  		font-size:1.3em;
		padding:0.5em 0 1.2em 0;
		line-height:1.3;
		background-size:50%;
	}

	.mainContents .article h3, .mainContents div.gallery h3, #mainServices h2, #mainTopics h2, #mainArticles div[id^="blog"] h2, .freeHtml h3 {
	color:#000000;
	font-size:1.4em;
	margin:0em auto 1.0em auto;
	font-weight:bold;
	background-size:auto;
	padding:0 0 0.5em 0;
	line-height:1.5;
	text-align:left;
}

	#mainTopics h2{
		margin:0.5em auto 0 auto;
	}

	#mainArticles div[id^="blog"] h2{
		font-size:1.4em;
		line-height:1.3;
		margin:2em auto 1.0em auto;
	}
	#listTopics h2{
		font-size:1.5em;
		margin:0 auto;
		padding:1.5em 0 0.5em 0;
/*		background-size:200%;*/
	}
}



.article h3 a:hover{
		color:#000000;
}

#mainArticles .article h2{
  background:transparent;
}




.article h4{
	color:#000000;
	border:none;
	margin:1em 0 0.2em 0;
	font-size: 1.4em;
	background:transparent;
	font-weight:bold;
	position:relative;
	padding:0.7em 0 0.7em 0.7em;
	z-index:1;
}
.article h4:after{
	display:none;
}
.article h4:before{
  content: "";
  position: absolute;
  background: #d7ef82;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  top: 60%;
  /* border: dashed 1px white; */
  left: -15px;
  left: 0px;
  -webkit-transform: translateY(-70%);
  transform: translateY(-70%);
  z-index: -1;
}

/*スマホ向け*/
@media only screen and (max-width: 600px) {
	.article h4:before{
		width: 50px;
		height: 50px;
		border-radius: 50%;
		top: 50%;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
	}
}

.article h4.lead {
	color:#008e56;
	font-size:2.2em;
	margin:0 0 0.5em 0;
	padding:0.6em 0.3em 0 0.3em;
	border:none;
	width:fit-content;
	border-bottom:0;
	background:linear-gradient(transparent 70%, #f7f797 70%);
}

.article h4.lead:before{
	display:none;
}


/*スマホ向け*/
@media only screen and (max-width: 600px) {
	.article h4{
	  font-size: 1.2em;
		padding:0.4em 0 0.4em 1.0em;
	}
	.article h4.lead {
		font-size:1.5em;
	}
}


/*h5*/
.article h5{
  color:#a1c914;
	font-weight:bold;
  font-size:1.4em;
  border-left:none;
  padding:0;
  margin:1.5em 0 0.4em 0;
}

.article h5::before{
  color: #a1c914;
  content: "";
  font-family: "メイリオ", sans-serif;
}


/*-------------------------------------
サイドコンテンツ
---------------------------------------*/
#sideContents{
  background:#0f6a36 url(/materials/170684806911301.jpg) no-repeat;
  padding:0;
  margin-top:0;
  background-size:100%;
}


#sideContents img{
  width:auto;
  margin:1em auto;
	border-radius:0;
}


#sideContents img.logo{
	width:200px;
}

.sideContents #sideBanners{
	width:auto;
}
#sideBanners li img{
	padding:0 0.5em;
}

.sideContents .sideMobile .qrcode{
	float:none;
}

/*スマホ向け*/
@media only screen and (max-width: 600px) {
	#sideContents{
		background-size:100%;
//		margin-top:-40px;
	}
  #sideContents img{
    width:50%;
  }
	#sideContents img.logo{
		width:200px;
	}
	.sideContents #sideBanners ul li a img{
		width:100%;
	}
}

.sideContents #sideServices, .sideContents #sideBlogCategories, .sideContents #sideBlogDates, .sideContents #sideMobile{
	width:32%;
}
/*スマホ向け*/
@media only screen and (max-width: 600px) {
	.sideContents #sideServices, .sideContents #sideBlogCategories, .sideContents #sideBlogDates, .sideContents #sideMobile{
		width:100%;
	}
    #sideBanners li.sideBanner, #sideBanners li.sideBanner a {
      padding: 0;
      margin: 0;
    }
}



.sideContents #sideServices h2:before, .sideContents #sideBlogCategories h2:before, .sideContents #sideBlogDates h2:before, .sideContents #sideMobile h2:before{
	display:none;
}

.sideContents ul li a, .sideContents dt a{
	text-decoration:underline;
	padding:4px 4px 4px 16px;
}
.sideContents ul li a:hover, .sideContents dt a:hover{
	color:#f1ca1f;
	text-decoration:underline;
}

.sideContents ul li a:before, .sideContents dt a:before{
	display:none;
}
.sideContents .sideMobile p{
	color:#fff;
	font-weight:normal;
	padding:0;
}

/*サイドコンテンツ　テーブル*/
#sideContents table.table{
  border-collapse:collapse;
  width:auto;
  margin:15px auto 1rem auto!important;
  border-top:dotted 1px #ccc;
  border-left:none;
}
#sideContents table.table th,
#sideContents table.table td{
  padding:5px 10px;
  border-right:none;
  border-left:none;
  border-top:none;
	color:#fff;
  border-bottom:dotted 1px #ccc;
}
#sideContents table.table th{
  text-align:center;
  width:25%;
  font-weight:bold;
  vertical-align:top;
  border-left:none;
  border-bottom:dotted 1px #ccc;
}


/*スマホ向け*/
@media only screen and (max-width: 600px) {

#sideContents table.table{
  border-collapse:collapse;
  border-top:none;
  margin:1em 0;
  width:100%;
}
#sideContents table.table th,
#sideContents table.table td{
  padding:6px 18px;
  border:none;
  display: block;
  border-left:none;
  text-align:center;
  background:none;
  border-bottom:dotted 1px #000000;
}
#sideContents table.table th{
//  background:#f9f9f9;
  text-align:center;
  width:auto;
  border-top:none;
  color:#FFF;
}
}



img.sideContents{
  margin:1em 0;
}


.sideContents ul, .sideContents dl{
  font-size:1em;
}

.sideContents ul li, .sideContents dl dt{
  border-top:none;
}

/*-------------------------------------
最新情報
---------------------------------------*/
#mainTopics{
  background:#fff !important;
  padding:0 !important;
  border:4px solid #0f6a36;
}

#mainTopics h2{
	margin:0.2em auto;
	background:none;
	width:auto;
	min-width:auto;
}

/*スマホ向け*/
@media only screen and (max-width: 600px) {
	#mainTopics h2{
		margin:0.2em auto;
		padding:0.5em 0 0 0;
	}
}


.mainTopics .topics li .more a{
	border:solid 1px #a1c914;
	background-color:#6cae11;
}

ul.topics li p.more a{
  background:#000;
	color:#fff;
}
ul.topics li p.more a:hover{
  background:#f1ca1f;
  filter:alpha(opacity=100);
  opacity:1.0;
	color:#000;
}

#mainTopics .listview a{
  background: #f1ca1f;
  border-radius:4px;
  color: #000;
  font-size:1.2em;
  display: inline-block;
  width:auto;
  margin: 0.5em0;
  padding: 10px 2.5em;
  text-align: center;
  text-decoration: none;
  transition: all 0.5s ease-out;
}
#mainTopics .listview a:hover{
	background:#a1c914;
	color:#000;
    text-decoration:none;
}

#mainTopics .listview a:before {
  content: "\025b6";
  font-size: 60%;
  margin-right: 6px;
  display: inline-block;
  vertical-align: middle;
  padding-bottom: 0.3em;
}




ul.topics{
	width:auto;
}


.mainTopics .topics li .date{
	color:#000;
}

ul.topics li{
  border-radius:0;
  background:transparent;
  border-bottom:dotted 1px #999;
}

ul.topics li p.description{
  font-size:1em;
}
#listTopics ul.topics{
	margin-top:0;
}
/*スマホ向け*/
@media only screen and (max-width: 600px) {
	width:96%;
	margin:0 auto;
	margin-top:2em;
}


#listTopics ul.topics li{
  border-bottom:dotted 1px #999;
}
ul.topics li h3 a{
	color:#2a7be1;
}
ul.topics li h3 a:hover{
	color:#6cae11;
}

.mainTopics .topics{
	min-width:auto;
}

.mainTopics .topics, #mainTopics .listview{
	border-bottom:none;
}
/*-------------------------------------
フッター
---------------------------------------*/
#footer{
  background:#d7ef82;
  font-size:1em;
  padding:0 1em;
	background-size:cover;
}

#footer_outer{
	width:fit-content;
	margin:0 auto;
}
#footer_body{
	padding:20px 0 40px 0;
}
#footer_body .topMenu li, #footer_body .services li{
	margin-bottom:0;
	line-height:1.7;
}

#footer_body .topMenu li a, #footer_body .services li a{
  background:transparent;
  text-decoration:none;
	font-weight:bold;
	padding:0;
  color:#000000;
  margin:auto;
}
#footer_body .topMenu li a:hover, #footer_body .services li a:hover{
  background:transparent;
	color:#000000;
	text-decoration:underline;
}

#footer_body .topMenu li a::before, #footer_body .services li a::before{
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  line-height: 1;
  background: none;
  content: "\f054";
/*  display: inline-flex;*/
  display: flex;
  margin-right: 0.5em;
  align-items: center;
	color:#fff;
}

#footer_body .copyright{
/*  background:#fff;*/
  font-size:0.8em;
  padding:2em 0;
	font-weight:normal;
}


/*スマホ向け*/
@media only screen and (max-width: 600px) {
	#footer{
		background:#0f6a36;
	}
	#footer_body{
		padding:0 0 20px;
	}
  #footer_body .copyright {
	padding:0;
  }
	#footer_body .services {
		margin-bottom:50px;
	}
	.footer ul.topMenu:before, .footer ul.services:before{
		background-color:#0f6a36;
		margin-top: 0;
	}
  	.footer ul.topMenu {
		margin-bottom: 1em;
	}
	.footer ul.topMenu, .footer ul.services{
		background-color:#0f6a36;
	}
	#footer_body .topMenu li a, #footer_body .services li a{
		color:#fff;
		}
		.footer ul.topMenu li, .footer ul.services li{
			border-bottom:solid 1px #fff;
		}
	#footer_body .topMenu li a:hover, #footer_body .services li a:hover{
		color:#f1ca1f;
		text-decoration:none;
	}
}


#footer *{
  color:#000;
}



#footer_body .topMenu li a:before, #footer_body .services li a:before{
	display:none;
}



/*-------------------------------------
フッター　電話番号固定
---------------------------------------*/
/*スマホ向け*/
@media only screen and (max-width: 600px) {

#bottomLink {
    position: fixed;
    display:block;
    bottom: 0;
    left: 0;
    width: 100%;
    text-align: center;
    z-index: 1000;
    height: 50px;
	line-height: 50px;
    overflow: hidden;
}
#bottomLink a span {
    font-size: 85%;
    display: inline-block;
    padding-right: 8px;
}
#bottomLink a {
    display: block;
    padding: 0;
    color: #000;
    background: #f1ca1f;
    text-decoration: none;
    font-size: 110%;
    height: 100%;
}
#wrap {
    margin-bottom: 50px;
}
/*バッジ調整*/
  .grecaptcha-badge {
    bottom: 60px!important/*bottomからの位置調整*/;
    z-index: 9999;
  }
}



/*-------------------------------------
その他
---------------------------------------*/

/*ギャラリー*/
@media only screen and (max-width: 480px) {
  .gallery_grid2 li.galleryGrid, .gallery_grid3 li.galleryGrid, .gallery_grid4 li.galleryGrid, .gallery_grid5 li.galleryGrid
{
    width: 100% !important;
  }
}

/*ギャラリーコメント*/

.gallery ul.galleryGrids .comment{
	font-size:1em;
	color:#008e56;
	font-weight:bold;
}

ul.check li{
	font-size:1.1em;
}

/*幅広いダンスレッスン開催中*/
ul.studiolesson{
	margin:0 0 1em 0;
}
ul.studiolesson li{
	display:block;
	text-align:center;
	font-size:1.3em;
	color:#0c4e29;
	padding:0.5em 0.8em;
	width:24%;
	font-weight:bold;
	float:left;
	margin:0 0.5% 1em;
	background:#fff;
	border:6px solid #a1c914;
	border-radius:1px;
	line-height:1.5;
}


/*タブレットの場合*/
@media only screen and (max-width: 1200px) {
	ul.studiolesson li{
		float:left;
		width:48%;
		padding:0.3em;
	}}

/*スマホの場合*/
@media only screen and (max-width: 600px) {
	ul.studiolesson li{
		float:none;
		width:100%;
		padding:0.3em;
	}
}


/*囲い2*/
.mainArticles .article.envelope2
{
  background: #fff;
  border: 6px solid #a1c914;
  border-radius: 1px;
  text-align: left;
  padding: 1em 0;
  margin-top: 1em;
  margin-bottom: 3em;
}

.mainArticles .article.envelope2 h3{
	margin:0.0em auto 0.5em auto;
	text-align:center;
	color:#0f6a36;
}
.mainArticles .article.envelope2 h3:after{
	display:none;
}
.mainArticles .article.envelope2 .article_body{
	width:auto;
	padding:0 1em;
}


/*スマホの場合*/
@media only screen and (max-width: 600px) {
	.envelope2{
		width:96% !important;
		padding: 0.5em 0.5em 0 0.5em !important;
	}
	.mainContents .envelope2 h3{
	margin:0.5em auto;
	}
	.mainArticles .envelope2 .article_body{
		padding:0;
	}
}

/*囲い3*/
.envelope3{
  background: #fff;
  border: 3px solid #6cae11;
  border-radius: 6px 0 6px 0;
  text-align: left;
  padding: 1em 1em 1em 1em !important;
  width: 1167px !important;
  margin-top: 0 !important;
  margin-bottom: 3em !important;
  background: url(/materials/170684281511201.jpg) right bottom no-repeat;
  position: relative;
  text-shadow: 2px 2px 1px #FFF;
}

.envelope3:before,.envelope3:after
{
    content: '';
    position: absolute;
    width:20px;
    height: 20px;
    border: 3px solid #6cae11;
    border-radius: 50%;
}
.envelope3:after {
    top:-20px;
    left:-20px;
}
.envelope3:before {
    bottom:-20px;
    right:-20px;
}

.envelope3 .article_body {
	width:auto !important;
}
/*スマホの場合*/
@media only screen and (max-width: 1200px) {
	.envelope3{
		width:96% !important;
		padding: 0.5em 0.5em 0 0.5em !important;
		background-size:100%;
	}
	.mainArticles .envelope3 .article_body{
		padding:0;
	}
	.envelope3:before,.envelope3:after{
 	   content: '';
 	   position: absolute;
 	   width:12px;
 	   height: 12px;
 	   border: 3px solid #6cae11;
 	   border-radius: 50%;
}
	.envelope3:after {
  	  top:-10px;
 	   left:-10px;
}
	.envelope3:before {
 	   bottom:-10px;
  	  right:-10px;
}
}


/*中央寄せ*/
.align_c{
  text-align:center;
}

/*右寄せ*/
.align_r{
  text-align:right;
}


/*ノーマルテーブル*/
.article table.normalTbl{
	font-size:1em;
	border-top:solid 1px #333;
	margin:0 0 1.5em 0;
	width:100%;
    background: #FFF;
}
.article table.normalTbl th{
	font-weight:bold;
	background:#f3f3f3;
	color:#008e56;
}

.article table.normalTbl th.ttl{
	font-weight:bold;
	background:#faf8f7;
	text-align:center;
	width:100%;
} 
.article table.normalTbl td{
	text-align:left;
}

/*ハーフテーブル*/
.article table.halfTbl{
	font-size:1em;
	border-top:solid 1px #333;
	margin:0 0 1.5em 0;
	width:55%;
    background: #FFF;
}
.article table.halfTbl th{
	font-weight:bold;
	background:#f3f3f3;
	color:#008e56;
}
.article table.halfTbl td{
	text-align:left;
}
@media only screen and (max-width: 900px) {
  .article table.halfTbl{
    width:45%;
  }
}
@media only screen and (max-width: 768px) {
  .article table.halfTbl{
    width:100%;
  }
}
/*スマホ向け*/
@media only screen and (max-width: 600px) {
	.article table.normalTbl td{
	text-align:center;
	}
	.article table.normalTbl td:last-of-type, table.contactTable td:last-of-type, table.companyTable td:last-of-type{
		border-bottom:1px solid #333;
	}
	.article table.normalTbl, table.contactTable, table.companyTable{
		border:1px solid #333;
		border-bottom:0;
	}
}
.article table.normalTbl td, .article table.normalTbl th{
	border-bottom:solid 1px #333;
	padding:14px;
}
.article table.normalTbl tr:last-child td, .article table.normalTbl tr:last-child th{
	border-bottom:solid 1px #333;
}

/*スマホ向け*/
@media only screen and (max-width: 600px) {
	.article table.normalTbl{
		border-bottom:none;
	}
	.article table.normalTbl th{
		border-top:none;
		width:auto;
		background:#faf8f7;
		text-align:center;
		padding:7px;
	}
	.article table.normalTbl th.ttl{
		background:#999;
		color:#fff;
	}
	.article table.normalTbl td{
		border-top:none;
		padding:7px;
	}
}



/*サイト上部720px以下で電話番号削除*/
@media only screen and (max-width: 720px) {
    #title #title_outer{background: none;}
}


/*箇条書き*/

ol.pp {
  padding-left: 2em;
	font-size:1em;

}
ol.pp li {
  list-style-type: decimal;
  padding: 5px;
}

ul.maru {
  list-style-type: none;
  margin-left:1.2em;
  margin-bottom:2em;
  font-size:1em;
  font-weight:bold;
}
ul.maru li {
  line-height: 1.6;
  margin-bottom: 0.25em;
  padding-bottom: 0.25em;
}
ul.maru li::before {
  color:#f1ca1f;
  content:"■";
  margin-left: -1em;
}

/*スマホ向け*/
@media only screen and (max-width: 600px) {
	ul.maru {
		font-size:1em;
	}
}

ul.maru2 {
  list-style-type: none;
  margin-left:1.2em;
  margin-bottom:0em;
	font-size:1em;
  font-weight:normal;
}
ul.maru2 li::before {
  color:#f1ca1f;
  content:"■";
  margin-left: -1em;
}

ul.maru2 li{
	float:left;
	width:19%;
}

/*スマホの場合*/
@media only screen and (max-width: 720px) {
	ul.maru2 li{
	float:left;
	width:32%;
	}
}


ul.notes {
  list-style-type: none;
  margin-left:1em;
  margin-bottom:1em;
  font-weight:bold;
	font-size:1em;
}
ul.notes li::before {
  content: "◆";
  margin-left: -1em;
  font-family: "メイリオ", sans-serif;
}
ul.ps {
  list-style-type: none;
  margin-left:1em;
  color:#444;
  font-size:0.9em;
  margin-bottom:0.5em;
}
ul.ps li::before {
  content: "※";
  margin-left: -1em;
  font-family: "メイリオ", sans-serif;
}



/*リンクボタン*/
a.linkbtn {
  background: #f1ca1f;
  border-radius: 2px;
  color: #000;
  font-size:1em;
  display: inline-block;
  width:auto;
  font-weight:normal;
  margin: 5px 0;
  padding: 10px 1em;
  text-align: center;
  text-decoration: none;
  transition: all 0.5s ease-out;
}
a.linkbtn:hover {
	background:#a1c914;
	color:#000;
}
a.linkbtn:before {
  content: "\025b6";
  font-size: 60%;
  margin-right: 6px;
  display: inline-block;
  vertical-align: middle;
  padding-bottom: 0.3em;
}

/*リンクボタン ダンス・フィットネス*/
ul.dance_fitness{
	margin:0 auto;
}
ul.dance_fitness li {
  margin: 0 1% 1em;
  display: inline-block;
  width: 47%;
}
ul.dance_fitness li a {
  text-align: center;
  font-size: 1.2em;
  border-radius: 4px;
  color: #000;
  padding: 1em;
  font-weight: bold;
  background: #f1ca1f;
  text-decoration: none;
  display: block;
}
ul.dance_fitness li a:hover{
	background:#a1c914;
}
ul.dance_fitness li a:before {
  content: "\025b6";
  font-size: 70%;
  margin-right: 6px;
  display: inline-block;
  vertical-align: middle;
  padding-bottom: 4px;
}

/*タブレットの場合*/
@media only screen and (max-width: 1200px) {
  ul.dance_fitness li {
    width: 100%;
  }
}

/*スマホの場合*/
@media only screen and (max-width: 600px) {
	ul.dance_fitness li a{
		float:none;
		width:100%;
		padding:0.3em;
        font-size: 1em;
	}
}



table.contactTable th{
	color:#000;
	padding: 0 0 0 24px;
  background: #d7ef82;
}
table.contactTable tr.must th{
	padding: 0 56px 0 24px;
    background-position: 94% center;
}

@media only screen and (max-width: 600px){
  table.contactTable th{
    padding: 10px;
  }
  table.contactTable tr.must th{
    padding: 10px 0 10px 48px;
    background-position: 8px center;
  }
}

table.contactTable input.button{
  background: #f1ca1f;
  color: #000;
  text-align: center;
  text-decoration: none;
  border:none;
}
table.contactTable input.button:hover{
	background:#a1c914;
	color:#000;
  border:none;
}

#sideServices ul li,
#sideBlogCategories ul li,
#sideBlogDates ul li,
#footer_body .topMenu li,
#footer_body .services li {
  margin-bottom: 0;
  display: flex;
}


#sideServices ul li::before{
	color:#a27800;
}


/*サイト案内*/


#serviceList h3{
	margin:0.5em auto 1.5em auto;
}

#serviceList h3:after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 7px;
  background: -webkit-repeating-linear-gradient(-45deg, #008e56, #008e56 4px, #d7ef82 4px, #d7ef82 8px);
  background: repeating-linear-gradient(-45deg, #008e56, #008e56 4px, #d7ef82 4px, #d7ef82 8px)
}


/*ハーフ記事3*/
.mainArticles .article.half3 {
  border: none;
  width: calc((1200px / 3) - 2em );
  display: inline-block;
  box-sizing: border-box;
  padding: 0 10px;
  margin: 0;
  /*height:500px;*/
  text-align:left;
  vertical-align: top;
  background: tramsparent;
}

.mainArticles .article.half3:nth-child(3n+1) {
	margin-left:calc((100vw - 1200px) / 2 ); 
	margin-bottom:2em;
	margin-right:0;
}
.mainArticles .article.half3:nth-child(3n+2) {
	margin:0 1.5em; 
	margin-bottom:2em;
}
.mainArticles .article.half3:nth-child(3n+3) {
	margin-right:calc((100vw - 1200px) / 2 );
	margin-left:0;
	margin-bottom:2em;
}

.mainArticles .article.half3 .article_body{
	width:100%;
}

.mainContents .article.half3 .image{
	margin:0 !important;
}

.mainContents .article.half3 img{
  max-width:340px !important;
  margin:0 !important;
}

.mainArticles .article.half3 p{
	padding:0 1em;
}

/*h4*/
.mainContents .article.half3 h4{
    line-height: 1.2em;
    font-size: 1.4em;
    margin: 0.5em 0;
    font-weight: bold;
    padding: 0 0 5px 1.3em;
    color: #000;
    display:flex;
    border-bottom:5px dotted #008e56;
	position:relative;
}
.mainContents .article.half3 h4:before{
		position:absolute;
		content:"\025a0";
		color:#90c43d;
		left:0;
		top:0.7em;
		width:2em;
		height:1em;
		margin:auto;
		box-sizing:border-box;
		background:none;
}
/*スマホの場合*/
@media only screen and (max-width: 1200px) {
	.mainArticles .article.half3 {
		width:100%;
	}

	.mainArticles .article.half3:nth-child(3n) {
		margin-right:auto;
		margin-left:auto;
		margin-bottom:2em;
}

	.mainArticles .article.half3:nth-child(3n+1) {
		margin-left:auto; 
		margin-bottom:2em;
		margin-right:0;
}

	.mainArticles .article.half3:nth-child(3n+2) {
		margin:0; 
		margin-bottom:2em;
}

.mainContents .article.half3 img{
  max-width:100% !important;
  margin:0 !important;
}

}


/*ハーフ記事2*/
.mainArticles .article.half2 {
  border: none;
  width: calc((1200px / 2) - 20px);
  display: inline-block;
  box-sizing: border-box;
  padding: 0 10px;
  margin: 0;
  text-align:left;
  vertical-align: top;
  background: transparent;
}

.mainArticles .article.half2:nth-of-type(2n+1) {
	margin-left:calc((100% - 1200px) / 2 );
	margin-bottom:2em;
	}

.mainArticles .article.half2:nth-of-type(2n) {
	margin-right:calc((100% - 1200px) / 2);
	margin-bottom:2em;
	}

.mainArticles .article.half2 .article_body{
	width:100%;
	margin-bottom:2em;
	}

/*h4*/
.mainContents .article.half2 h4{
    line-height: 1.2em;
    font-size: 1.4em;
    margin: 0.5em 0;
    font-weight: bold;
    padding: 0 0 5px 1.3em;
    color: #000;
    display:flex;
    border-bottom:5px dotted #008e56;
	position:relative;
}
.mainContents .article.half2 h4:before{
		position:absolute;
		content:"\025a0";
		color:#90c43d;
		left:0;
		top:0.7em;
		width:2em;
		height:1em;
		margin:auto;
		box-sizing:border-box;
		background:none;
}
.mainContents .article.half2 .image{
	margin:0 !important;
}

.mainContents .article.half2 img{
  max-width:550px !important;
  margin:0 !important;
}
.mainArticles .article.half2 p{
	padding:0 1em;
}

/*スマホの場合*/
@media only screen and (max-width: 1200px) {
	.mainArticles .article.half2 {
		width:100%;
	}
	.mainArticles .article.half2:nth-of-type(2n+1) {
		margin-left:auto;
}
	.mainArticles .article.half2:nth-of-type(2n) {
		margin-right:auto;
}
.mainContents .article.half2 img{
  max-width:100% !important;
  margin:0 !important;
}

}




/*ハーフ記事2b*/
.mainArticles .article.half2b {
  border: none;
  width: calc((1200px / 2) - 20px);
  display: inline-block;
  box-sizing: border-box;
  padding: 0 10px;
  margin: 0;
  text-align:left;
  vertical-align: top;
  background: transparent;
}

.mainArticles .article.half2b:nth-of-type(2n+1) {
	margin-right:calc((100% - 1200px) / 2);
	margin-bottom:2em;
	}

.mainArticles .article.half2b:nth-of-type(2n) {
	margin-left:calc((100% - 1200px) / 2 );
	margin-bottom:2em;
	}

.mainArticles .article.half2b .article_body{
	width:100%;
	margin-bottom:2em;
	}

/*h4*/
.mainContents .article.half2b h4{
    line-height: 1.2em;
    font-size: 1.4em;
    margin: 0.5em 0;
    font-weight: bold;
    padding: 0 0 5px 1.3em;
    color: #000;
    display:flex;
    border-bottom:5px dotted #008e56;
	position:relative;
}
.mainContents .article.half2b h4:before{
		position:absolute;
		content:"\025a0";
		color:#90c43d;
		left:0;
		top:0.7em;
		width:2em;
		height:1em;
		margin:auto;
		box-sizing:border-box;
		background:none;
}
.mainContents .article.half2b .image{
	margin:0 !important;
}

.mainContents .article.half2b img{
  max-width:550px !important;
  margin:0 !important;
}
.mainArticles .article.half2b p{
	padding:0 1em;
}

/*スマホの場合*/
@media only screen and (max-width: 1200px) {
	.mainArticles .article.half2b {
		width:100%;
	}
	.mainArticles .article.half2b:nth-of-type(2n+1) {
		margin-left:auto;
}
	.mainArticles .article.half2b:nth-of-type(2n) {
		margin-right:auto;
}
.mainContents .article.half2b img{
  max-width:100% !important;
  margin:0 !important;
}

}



/*分割記事(col2,col3)*/
.mainArticles .article.col2,.mainArticles .article.col3{
	padding:0.5em;
}
.mainArticles .article.col2 p,.mainArticles .article.col3 p {
	font-size: 0.9em;
    line-height: 1.8;
}
.mainArticles .article.col2 .article_body .image,
.mainArticles .article.col3 .article_body .image{
	margin-bottom: 0.75em;
}
/*スマホの場合*/
@media only screen and (max-width: 600px) {
  .mainArticles .article.col2,.mainArticles .article.col3{
    margin-bottom: 0;
  }
}

.mainContents .article.col2 h4,.mainContents .article.col3 h4{
    line-height: 1.2em;
    font-size: 1.4em;
    margin: 0 0 0.75em;
    font-weight: bold;
    padding: 0 0 5px 1.3em;
    color: #333;
    display:flex;
    border-bottom:5px dotted #008e56;
	position:relative;
}
.mainContents .article.col2 h4:before,.mainContents .article.col3 h4:before{
		position:absolute;
		content:"\025a0";
		color:#90c43d;
		left:0;
		top:0.7em;
		width:2em;
		height:1em;
		margin:auto;
		box-sizing:border-box;
		background:none;
}

/*各プログラム説明用テーブル*/

/*テーブル*/
.article table.program{
  border-collapse: collapse;
  width: 100%;
  border:none;
  margin:0 0 1em 0;
  background: #fffff6;
}
.article table.program th,
.article table.program td{
  border-bottom: 2px solid #c1c7c6;
  padding: 0.4em 0.6em;
  border-right:none;
  vertical-align:top;
}
.article table.program th{
  border-bottom: 3px solid #a1c914;;
  font-weight: bold;
  text-align: center;
  width: 20%;
  min-width: 4em;
//  background:#fff;
}



ul.sample1{
  padding: 0;
  list-style: none;
  display:flex;
  flex-direction:column;
  margin-bottom:1em;
}
ul.sample1 li{
  position: relative;
  padding: 0.2em 0 0.2em 2em;
  margin-bottom:5px;
  font-size: 1.1em;
  font-weight: bold;
  color:#0f6a36;
  border-bottom: 1px solid #5ab994;
}
ul.sample1 li:after,
ul.sample1 li:before{
  content: "";
  position: absolute;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
ul.sample1 li:before{
  top: 0.7em;
  left: 0.2em;
  width: 12px;
  height: 12px;
  border:2px solid #a1c914;
}
ul.sample1 li:after{
  top: 0.9em;
  left: 0.7em;
  width: 14px;
  height: 14px;
  background: #d7ef82;
  -webkit-transform: rotate(60deg);
  -moz-transform: rotate(60deg);
  -o-transform: rotate(60deg);
  -ms-transform: rotate(60deg);
  transform: rotate(60deg);
}

/*水平線*/
hr.line {
	height: 0;
	margin: 0;
	padding: 0;
	border: 0;
	border-bottom: 4px dotted #a1c914;
	margin:0 0 10px 0;
}


/*編集画面*/
.ams-build .freeHtml_body {
    min-height: 40px;
}


/******************
 コンテンツ幅調整
******************/
:root {
  --articleWidth: 1200px;
}
#wrap {
  min-width: var(--articleWidth);
}
#mainContents, #footer_outer, #mainArticles {
  min-width: var(--articleWidth);
}
#title_outer, div#title_body, div#footer_body, 
#topMenu_outer, #topMenu_body, #topMenu .topMenu, 
#mainTopics_outer, #listTopics_outer, 
#mainArticles_outer ,#mainServices ,#pankuz_outer {
  width: var(--articleWidth);
  min-width: var(--articleWidth);
  margin: 0 auto;
}
/*----------記事----------*/
.mainArticles .article .article_body, .mainArticles .gallery .article_body {
  width: var(--articleWidth);
  margin: auto;
}
.mainArticles .article .article_body.article_center .image,
.mainArticles .article .article_body.article_center img {
  max-width: var(--articleWidth);
}
.mainArticles .article.max, .mainArticles .gallery.max, .mainArticles .article.full, .mainArticles .gallery.full
{
  margin: 0 calc(50% - 50vw);
  width: 100vw;
}
.mainArticles .article.full .article_body,
.mainArticles .gallery.full .article_body {
  width: var(--articleWidth);
}
/*フォーム*/
#mainArticles table.contactTable {
  width: var(--articleWidth);
  background: #FFF;
}
/*----------最新情報----------*/
#mainTopics,#listTopics {
  min-width: var(--articleWidth);
}
@media only screen and (max-width: 1200px) {
  :root {
    --articleWidth: 100%;
  }
}
@media only screen and (max-width: 800px) {
  /*カラム*/
  .article.col2 {flex-basis: 100%;}
  .article.col3 {flex-basis: 100%;}
  .article.col4 {flex-basis: 100%;}
  .article.col5 {flex-basis: 100%;}
}