@charset "UTF-8";

* {
		padding:0;
		margin:0;
	}

html, body {
/*		height:100%;*/
	}

/*!
 * html5doctor.com Reset Stylesheet v1.6.1 (http://html5doctor.com/html-5-reset-stylesheet/)
 * Richard Clark (http://richclarkdesign.com)
 * http://cssreset.com
 */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

img {
  box-sizing:border-box;
}

article, aside, details, figcaption, li,
footer, header, hgroup, main, menu, nav, section {
  display: block;
}

/* Pタグ装飾設定 */
img.slant_box_l {
	transform: rotate(-5deg);
}
img.slant_box_r {
	transform: rotate(5deg);
}
img.shadow_box_black {
	box-shadow:3px 3px 10px #000000;
}
img.shadow_box_gray {
	box-shadow:3px 3px 10px #aaaaaa;
}
img.frame_box_gray {
border:solid 2px #aaaaaa;
}
img.frame_box_black {
border:solid 6px #aaaaaa;
}
img.radius_box {
	        border-radius: 15px;
	-webkit-border-radius: 15px;
	   -moz-border-radius: 15px;
}
img.circle_box {
	        border-radius: 50%;
	-webkit-border-radius: 50%;
	   -moz-border-radius: 50%;
}

img {
  box-sizing:border-box;
}
/* LINK設定 */
div.extlinkbox {
float:left;
width:100%;
height:auto;
	text-align: left;
}
div.extlinkbox.dispcenter {
	text-align: center;
}
div.extlinkbox.dispright {
	text-align: right;
}
div.extlinkbox img {
	height: 30px;
	margin: 2px 5px 2px 2px;
}
/* スライダー内LINK */
.slidein {
position: absolute;
	top: 10px;
	left:0;
	padding:0 2%;
	z-index: 10;
	width: 100%;
	box-sizing:border-box;
}

/* -------------------------------------
	パララックス
------------------------------------- */

.parallax {
    background: #000000;
    width: 100%;
	-webkit-overflow-scrolling: touch;
}

.parallax-inner {
transition: 0s linear;
}

#contents.toppage .about .parallax-inner {
	background-size: 2300px !important;
height:200% !important;
	}

#contents.toppage .lesson .parallax-inner {
	background-size: 2100px !important;
height:200% !important;
	}

#contents.toppage .contact .parallax-inner {
	background-size: 2600px !important;
height:200% !important;
	}
#contents.toppage .studio .parallax-inner {
	background-size: 2600px !important;
height:200% !important;
	}



/* -------------------------------------
	Navi固定
------------------------------------- */

.clone-nav {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  transition: .3s;
  transform: translateY(-100%);
	-ms-transform: translateY(-100%);
}
.is-show {
  transform: translateY(0);
-ms-transform: translateY(0);
}


/* -------------------------------------
	PC用スタイル
------------------------------------- */
/* -------------------------------------
	要素
------------------------------------- */

body {
  /*min-width: 1130px;*/
  background: #fff;
  color: #000;
  font-size: 14px;
  font-weight: 400;
  font-family:"游ゴシック Medium","Yu Gothic Medium", "游ゴシック体",YuGothic,'Hiragino Kaku Gothic Pro','ヒラギノ角ゴ Pro W3',helvetica, arial,Meiryo,"メイリオ", Osaka,'MS PGothic',"Meiryo UI","ＭＳ Ｐゴシック", sans-serif;
  -webkit-text-size-adjust: none;
	min-width: 0;
	 width: auto;
	overflow: auto;
}


textarea,
input {
  font-family: "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", YuGothic, "Yu Gothic", 游ゴシック体, "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
}

iframe,
img {
  vertical-align: top;
}

ul {
  list-style: none;
}

small {
  font-size: 80%;
}

a {
  color: #46a331;
}

a:hover {
  color: #46a331;
  text-decoration: none;
}

sup {
  vertical-align: top;
  font-size: 65%;
}
sub {
  vertical-align: bottom;
  font-size: 65%;
}

iframe {
  max-width: 100%;
}

h1, h2, h3, h4, h5 {
  font-weight: normal;
}


h1 {
    font-family: 'Fredericka the Great', cursive;
	font-size: 300%;
	text-align: center;
	color:#504F4F;
	background: rgba(255,255,255,0.8);
	display: inline-block;
	margin: 60px auto 40px;
	padding: 10px 15px;
	letter-spacing: 0.05em;
}

.bk-gray h1 {
	margin: 0 auto 60px;
	 background: none;
	 display: block;
	 padding-top: 60px;}

h2 {
   font-family: 'Cookie', cursive;
	margin: 0 auto;
	font-size: 250%;
	padding-bottom: 30px;
}

.bk-gray {
	background:#eeeeee ;
}

footer {
	background: #434343;
	color: #ffffff;
}

div#contents {
	text-align: center;
}
/*-- ADD --*/
/*a.button {
z-index:50;
}*/
/*--  --*/
.button {
	display: inline-block;
  width: 400px;
  height: 50px;
  text-align: center;
  text-decoration: none;
  line-height: 54px;
  outline: none;
  background-color: #346014;
  border: 2px solid #346014;
  color: #fff;
  line-height: 50px;
	font-size: 120%;
	margin-bottom: 30px;
}

.button2 {
 display: inline-block;
  width: 240px;
  height: 40px;
  text-align: center;
  text-decoration: none;
  line-height: 54px;
  outline: none;
  background-color: #346014;
  border: 2px solid #346014;
  color: #fff;
  line-height: 20px;
	font-size:110%;
	margin-bottom: 30px;
}
.button::before,
.button::after,
.button2::before,
.button2::after,{
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
}
.button,
.button::before,
.button::after,
.button2,
.button2::before,
.button2::after{
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}

.button:hover,
.button2:hover{
  background: rgba(100,150,65,0.8);
  border-color: #618f3f;
  color: #fff;
}

.txt_small {
	font-size: 90%;
}

.ttl{
	color: #786f00;
	font-weight:600;
	font-size: 120%;
}


.clearfix:after {
    content:" ";
    display:block;
    clear:both;
}

.pb30 {
	padding-bottom: 30px;
}

/* -------------------------------------
	全体
------------------------------------- */


.inner {
  box-sizing: border-box;
  width: 95%;
  margin-left: auto;
  margin-right: auto;
text-align: center;
	clear: both;
}

@media only screen and (max-width: 1130px) {
  .inner {
    width: auto;
  }
}

#center {
	  padding: 0px 0 60px;
}

#contents.toppage  .lesson_body,.contact_body,.studio_body {
	padding: 40px;
	width: auto;
	display: inline-block;
	background: rgba(255,255,255,0.8);
}


/* -------------------------------------
	ヘッダー
------------------------------------- */

header[role="banner"] .header-main {
  padding: 30px 3%;
	background: #fff;
	margin: 0;
	height: 40px;
}

header ul.logo {
		height: auto;
	position:relative;
	margin: 0;
}

eader ul.logo li {
	margin: 0;
}


:root header ul.logo li.shoplogo  {
	padding-right: 20px\0/;
}

:root header ul.logo li.sns {
	align: right\0/;
width: 15%\0/;
}

header[role="banner"] .shoplogo a {
  color: #000;
  text-decoration: none;
	font-family: 'Cookie', cursive;
	font-size: 350%;
	margin: 0 auto 10px;
	text-align: center;
		position: absolute;
	top:0;left: 0;right: 0;
	width:55%;
}

header[role="banner"] ul.logo a:hover {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
}

header[role="banner"] ul.logo img {
  margin-right: 10px;
  vertical-align: middle;
}

header[role="banner"] ul.logo p{ 
	color:#989696;
	font-size:12px;
	padding: 10px 0;
	width: 23%;
}


header[role="banner"] .sns img {
	margin-left: 10px;
}

header[role="banner"] .sns a:hover img {
	  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
	
}

/* -------------------------------------
	Navigation
------------------------------------- */

nav {
background: rgb(67, 67, 67);
border-top: 5px solid #75c3c3;
height: auto;/*48px;*/
}

nav ul {
  box-sizing: border-box;
  max-width: 1130px;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
	clear: both;
}
nav ul li.BOX_Sizing {
box-sizing:border-box;
}

@media only screen and (max-width: 640px) {
nav ul {
    width: auto;
  }
}
nav ul li {
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  text-align: center;
}

:root nav ul li {
  float:left\0/;
	width: 16.66%\0/;
	display: block\0/;
}

nav ul li a {
  display: block;
  padding: 15px 0;
  color: #aeadad;
  font-size: 12px;
  text-decoration: none;
  transition: none .4s ease-in-out;
  transition-property: color, background-color;
	height: 18px;
}

nav a:hover {
	background: #2d2c2c;
	color: #8a8000;
}

.active {
	background: #2d2c2c;
	color: #8a8000;
}
.end {
	margin: 0;
}


/* -------------------------------------
	#contents.toppage
------------------------------------- */
#contents.toppage .topimg{
height: 450px;
}

/* -------------------------------------
	News&Topics
------------------------------------- */

#contents.toppage .news ul.group {
    zoom: 1;
	width: 100%;
	display: block;
}

#contents.toppage .news ul li {
    float: left;
	width: 23%;
	margin-right:2.65%;
	padding-bottom:30px;
}

#contents.toppage .news ul li:nth-child(4n),
#contents.toppage .news ul li:nth-child(8n),
#contents.toppage .news ul li:nth-child(12n){
  margin-right: 0;
}


#contents.toppage .news ul li img {
	width: 100%;
}

#contents.toppage .news ul li span.text {
    display: block;
    text-align: left;
	background:#fff;
 padding: 7%;
	width: 86%;
}

#contents.toppage .news ul li p.ttl {
	font-size: 100%;
}


/* -------------------------------------
	About
------------------------------------- */

#contents.toppage .about{
	margin-bottom: 40px;
}

#contents.toppage .about ul {
 width:90%;
	margin: 0 auto;
	 display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
} 

:root #contents.toppage .about ul .prof_l {
  margin-right: 10%\0/;
}

#contents.toppage .about ul li {
	 float: left;
	background: rgba(255,255,255,0.8);
	width: 40%;
} 

#contents.toppage .about ul li img {
	width: 100%;
}

#contents.toppage .about ul .prof_l p {
	padding: 40px;
	text-align: left;
	text-align: justify;
}

#contents.toppage .about ul .profile {
	padding: 40px;
	text-align: left;
	text-align: justify;
}

#contents.toppage .about .profile h2 {
	text-align: center;
}

/* -------------------------------------
	Lesson
------------------------------------- */

#contents.toppage  .lesson_body {
	padding: 40px 10%;
}
#contents.toppage  .lesson p {
	padding-bottom:20px;
	font-size: 120%;
}
#contents.toppage  .lesson p.ttl{
	font-size: 130%;
}

/* -------------------------------------
	Course
------------------------------------- */

#contents.toppage .course {
	background: url(img/bk_course.gif) repeat;
}

#contents.toppage .course_body {
	width: 90%;
	margin: 0 auto;
	padding-bottom: 20px;
/*	background: url(img/bk_course.gif) repeat;*/
}


#contents.toppage .course_body ul {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
	background: rgba(255,255,255,0.8);
	margin-bottom: 40px;
} 

#contents.toppage .course_body li {
	width: auto;
	display: inline-block;
	padding: 0px 30px 30px 0;
	
}



:root #contents.toppage .course_body ul li.course_txt {
	padding-left:30px\0/;
}

#contents.toppage  .course_body li h2 {
	margin-top: 30px;
}

#contents.toppage .course_body li.course_img img {
		width: 530px;
	}

#contents.toppage .course p {
	padding-bottom:20px;
	text-align: left;
}

 

/* -------------------------------------
	Schedule
------------------------------------- */

#contents.toppage .calender_body {
	margin: 0 auto;
	padding-bottom: 60px;
	line-height: 2;
	text-align: left;
	max-width: 960px;
}

/* カレンダー 専用
------------------------------------- */
#contents.toppage .area-cal .section-body {
  display: flex;
}

#contents.toppage .area-calinfo .section-body {
  display: flex;
}

#contents.toppage .calender_body .section-body {
display: flex;

}

.section-body .calendar div {
max-width:100%;
width:auto;
margin: 5px 5px 5px 5px;
}

.section-body .qooop-calendar0 div {
max-width:100%;
width:auto;
margin: 5px 5px 5px 5px;
}

.section-body .qooop-calendar1 div {
max-width:100%;
width:auto;
margin: 5px 5px 5px 5px;
}

div.calendar-info {
float:left;
padding-left:30px;
padding-top:10px;
}

.calendar-info span.sp1 {
    background: #ffcdcd;
}

.calendar-info span.sp2 {
    background: #d3f9d3;
}

.calendar-info span.sp3 {
    background: #fbfdbc;
}

.calendar-info span {
    vertical-align: middle;
    display: inline-block;
    margin-right: 5px;
    width: 38px;
    height: 18px;
    border: 1px solid #ccc;
}

:root .calendar-info font {
	width: auto\0/;
	display: inline-block\0/;
}

:root #contents.toppage .calender_body p {
	width: 100%\0/;
	display: block\0/;
}


/* -------------------------------------
	Studio
------------------------------------- */

#page01 header {
    position: relative;
    height: 200px;
    background: #3498db;
  }

.studio_body {
	width: 70%;
	text-align: center;
}

.studio li.shoplogo {
  font-family: 'Cookie', cursive;
	color: #000;
	text-decoration: none;
	font-size: 300%;
	padding: 10px;
	text-align: center;
	
}

.studio table {
	border-top:double #aaaaaa;
	border-bottom:double #aaaaaa;
	margin: 40px auto;
	padding: 0;
	border-collapse: collapse;
    border-spacing: 0;
	text-align: left;
	width: 100%;
}

.studio th {
	padding: 15px 0 0 20px;
	color: #786f00;
	width: 30%;
	align: left;
}

.studio td {
	padding: 15px 0;
	align: left;
}

tr.dott {
	border-bottom: dotted 1px #aaaaaa;
	width: auto;
}
.access .access_body {
	    display: block;
	
}
.access .section-body {
    display: -webkit-flex;
    display: flex;
	-webkit-justify-content: center;
    justify-content: center;
}

.access .section-body .accesstxt {
	text-align: left;
	margin-left: 40px;
}

:root .access .section-body .accesstxt {
	margin: 30px 40px 0\0/;
}


.access .section-body .accesstxt_in {
	text-align: left;
	border-top:double #aaaaaa;
	border-bottom:double #aaaaaa;
}

.access .section-body .accesstxt h3 {
	color: #786f00;
	padding: 15px 0 5px;
}
.access .section-body .accesstxt li {
	padding: 0 0 15px;
	border-bottom: dotted 1px #aaaaaa; 
}
/*
.access .section-body .accesstxt p.last{
	border-bottom: none; 
}*/
.access .section-body .accesstxt li:nth-last-child(1){
	border-bottom: none; 
}


/* -------------------------------------
	Contact
------------------------------------- */

#contents.toppage .contact {
	padding-bottom: 60px;
}

#contents.toppage .contact .area-form {
  box-sizing: border-box;
}

#contents.toppage .contact table.formTable {
  width: 100%;
  margin: 20px auto 10px;
}

#contents.toppage .contact table.formTable th {
  width: 210px;
  text-align: left;
  vertical-align: top;
  padding: 7px 0 13px;
  font-weight: normal;
}

#contents.toppage .contact table.formTable th .required {
  margin-left: 10px;
  padding: 0 3px;
  background: #e11818;
  border-radius: 0;
  color: #fff;
  font-size: 12px;
  white-space: nowrap;
}


:root #contents.toppage .contact table.formTable td {
	width: 70%\0/;
	display: block\0/;
	padding: 0 0 5px\0/;
	}

#contents.toppage .contact table.formTable td {
  padding: 0 0 20px;
	text-align: left;}

#contents.toppage .contact table.formTable td input[type="text"] {
  box-sizing: border-box;
  width: 70%;
  padding: 5px;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 0;
  font-size: 16px;
}

#contents.toppage .contact table.formTable td textarea {
  vertical-align: top;
  box-sizing: border-box;
  width: 100%;
  height: 150px;
  margin: 0;
  padding: 5px;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 0;
  font-size: 16px;
}

#contents.toppage .contact .radioList {
  padding-top: 7px;
  margin-bottom: -5px;
}

#contents.toppage .contact .radioList:after {
  content: "";
  display: block;
  clear: both;
}

#contents.toppage .contact .radioList li {
  float: left;
  margin-right: 20px;
  margin-bottom: 10px;
}


/* -------------------------------------
	Footer
------------------------------------- */

.wrapper {
	min-height: 100%;
 
  /* フッタの高さと等しいネガティブマージン */
  /* また最後の子要素の潜在的なマージンとしても機能 */
/*  margin-bottom: -100px;*/
}
footer {
	background: #434343;
	padding: 30px 0;
	text-align: center;
	position: relative;
	
}

footer .inner {
	width: 80%;
	margin: 0 auto;
}

footer .inner p.logo {
	display: inline-block;
	padding-bottom: 10px;
}
footer .inner p.logo img {
	float:left;
	margin: 10px 5px 0 0;
}
footer .inner p.logo a {
  font-family: 'Cookie', cursive;
	font-size: 300%;
	float:left;
	color: #fff;
	text-decoration: none;
	text-align: center;
}

footer .inner p.logo a:hover{
	opacity: 0.8;
  filter: alpha(opacity=80);
  -ms-filter: "alpha(opacity=80)";
}

footer .inner p {
	clear:both;
	padding-bottom: 5px;
}
footer .inner .pagetop {
	text-align: right;
	display: block;
	width: 60px;
	float: right;
}

footer .inner .pagetop a:hover img {
	opacity: 0.8;
  filter: alpha(opacity=80);
  -ms-filter: "alpha(opacity=80)";
}

.pagetop
    {
    position: absolute;
    bottom: 16px;
    right: 16px;
    }

@media only screen and (min-width: 641px) and (max-width: 960px) {
  /* -------------------------------------
	タブレット用スタイル
------------------------------------- */
  body {
    min-width: 0;
	  width: auto;
	  overflow: auto;
  }
	
img {
    max-width: 100%;
    height: auto;
  }
	
html,body {
/*		height: 100%;*/
	}
	

.wrap {
	width: auto;
	font-size: 95%;
	height: 100%;
}
	
	
header[role="banner"] .logo p {
		width: 50%;
	}

	
header[role="banner"] .logo li.shoplogo {
    margin-left: -25%;
}
	
header[role="banner"] .logo li.shoplogo:not(:target){
    margin-left: -15%\9; /* IE9 */
}

header[role="banner"] .logo li.shoplogo:not(:target) {
/*margin: -35%;*/ /* IE10,IE11 */
font-size:80%; /* IE10,IE11 */
}

header[role="banner"] .logo li.sns:not(:target) {
  width: 18%\9; /* IE9 */
	float: right\9;/* IE9 */
	margin: -30px\9;/* IE9 */
}

	
header[role="banner"] .logo li.sns:not(:target) {
width: 18%; /* IE10,IE11 */
float: right; /* IE10,IE11 */
margin: -30px; /* IE10,IE11 */
}

nav {
height: auto;/*48px;*/
}

	
:root #contents.toppage .topimg .parallax-inner {
	margin: -140px 0 0\0/;
	}

	
#contents.toppage .news ul.group {
    zoom: 1;
	width: 90%;
	display: block;
	margin: 0 auto;
}	
	#contents.toppage .news ul li {
	width: 49%;
    margin: 0 2% 20px 0;
}

#contents.toppage .news ul li:nth-child(2n),
#contents.toppage .news ul li:nth-child(4n),
#contents.toppage .news ul li:nth-child(8n){
  margin-right: 0;
}

#contents.toppage p,
#contents.toppage li,
	footer
	{line-height: 1.4em;}

.calender_body {
		margin: 0 auto;
		text-align: center;
	width: 70%;
	}
	
	.section-body .calendar {
		margin: 0 auto;
		text-align: center!important;
	}
	
#contents.toppage .calender_body p,
	#contents.toppage .calender_body li
	{
		line-height: 2;
	}
	
footer p {
		padding-top: 10px;
	}
	
footer .inner p.logo img {
		margin: -5px 5px 0 0;
	}
	
main #contents.toppage .topimg {
	height: 350px !important;
	}
	
main #contents.toppage .topimg .parallax-inner {
	background-size: 1000px !important;
	}
main #contents.toppage .about .parallax-inner {
	background-size: 2500px !important;
	}
		
main #contents.toppage .lesson .parallax-inner {
	background-size: 2500px !important;
	}

main #contents.toppage .studio .parallax-inner {
	background-size: 2500px !important;
	height: 180% !important;
	}
	
main #contents.toppage .contact .parallax-inner {
		background-size: 2500px !important;
	height: 200% !important;
	}


.bk-gray h1 {
    margin: 0 auto 30px;
    background: none;
    display: block;
    padding-top: 30px;
	}

	
	#contents.toppage .about ul li {
		width: 48%;
	}
	
	#contents.toppage .about li.prof_r {
		float: right;
		margin-left: 2%;
	}

	#contents.toppage .lesson_body {
		padding: 40px;
	}
#contents.toppage .course_body {
		width: 100%;
		padding-bottom: 0;
	}
	#contents.toppage .course ul {
		display: block;
		margin: 0 30px;
	}
	
	#contents.toppage .course_body ul {
		margin-bottom: 20px;
		clear: both;
	}
	
	#contents.toppage .course_body ul:last-child {
		margin-bottom: 0px;
	}
	#contents.toppage .course_body li {
		margin-bottom: 0;
		padding: 0;
	}
	
		#contents.toppage .course_body li.course_img {
		width: 100%;
	}
	
	#contents.toppage .course_body li h2 {
		margin-top: 10px;
		padding: 10px;
	}

	#contents.toppage .course_body li img {
		width: 70%;
		/*padding-top: 15px;*/
	}
	#contents.toppage .course_body li p {
		padding: 0 30px 20px;
	}
	
	#contents.toppage .course_body ul li:nth-of-type(2) {
     padding-bottom: 20px;
}
	

.access .section-body {
		display: block;
	}
	
	#contents .access .map {
		width: 90%;
		margin: 0 auto 30px;
	}
	
	.access .section-body .accesstxt {
		margin: 0 auto 10px;
		width: 90%;
	}
	
	.contact #center {
		padding: 0;
	}
	.contact_body {
		margin: 30px 30px 0;
	}
	
	
	footer {
		padding: 10px 0;
	}
	
	footer .inner {
		width: 90%;
		position: static;
	}
}

@media only screen and (max-width: 640px) {
  /* -------------------------------------
	スマホ用スタイル
------------------------------------- */

/* -------------------------------------
	パララックス
------------------------------------- */
	
main #contents.toppage .topimg .parallax-inner{
	background-size: 800px !important;
	
	}
		
:root #contents.toppage .topimg .parallax-inner {
	margin: -140px 0 0\0/;
	}
	
main #contents.toppage .about .parallax-inner {
	background-size: 2800px !important;
height:180% !important;
	}
		
main #contents.toppage .lesson .parallax-inner {
	background-size: 1800px !important;
height:300% !important;
	}

main #contents.toppage .studio .parallax-inner {
		background-size: 2000px !important;
height:200% !important;
	}
main #contents.toppage .contact .parallax-inner {
	background-size: 2200px !important;
height:220% !important;
	}

  /* -------------------------------------
	要素
------------------------------------- */
	html {
		  -webkit-overflow-scrolling: touch;
	}
	
	body {
    min-width: 0;
	  width: auto;
	  overflow: auto;
  }
  img {
    max-width: 100%;
    height: auto;
  }

/* -------------------------------------
	全体
------------------------------------- */

html,body {
/*		height: 100%;*/
	}
	
 .pageTop {
    font-size: 12px;
  }

.wrap {
	width: auto;
	font-size: 85%;
	height: 100%;
/*	margin-bottom: -100px;*/
}

.top_bk {
		height:200px;	
	}

h1 {
	 font-size: 280%;
	margin: 20px auto 10px;
	padding: 0px 10px;
	
	}
	
.bk-gray h1 {
    margin: 0 auto 20px;
    padding-top: 15px;
	clear: both;
	}

#contents section {
    padding-bottom: 40px;
}
	
#contents #schedule section {
	padding-bottom: 0;
	}

#contents #about,
#contents #lesson,
#contents #schedule,
#contents #contact,
#contents #studio	{
  margin-top: -90px; /* 固定ナビの高さ分のネガティブマージン */
  padding-top: 90px; /* 打ち消し用のパディング */
}
	
 header[role="banner"] .header-main {
    display: block;
    padding: 10px;
	 height: auto;
	  
  }
  header[role="banner"] .header-main:after {
    content: "";
    display: block;
    clear: both;
  }
	
  header[role="banner"] .header-main ul.logo {
		display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-around;
    justify-content: space-around;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    -webkit-flex-direction: column;
    flex-direction: column;
	  padding-bottom: 5px;
	}
	
  header[role="banner"] .shopcaption {
    display: block;
	width: auto;
	margin: 0 auto;
  }
	
	header[role="banner"] ul.logo p {
    margin: 0;
	padding: 0;
	width: 100%;
  }

	header[role="banner"] {
	margin: 0;
	padding: 0;
}
	
	header[role="banner"] .logo li.shoplogo {
	margin-left: 0;
		display: block;
}
	
:root header[role="banner"] .logo li.shoplogo {
	width: 100%\0/;
	margin-bottom: -20px\0/;
	margin-left: auto;
	margin-right: auto;
}
	
header[role="banner"] .shoplogo a {
   margin-bottom: 7px;
   font-size: 30px;
   display: block;
   position: static;
   width: 100%;
  }
	
header[role="banner"] .shoplogo img {
    width: 40px;
	text-align: left;
  }
	
header[role="banner"] .logo li.sns {
	  width: 100%;
	  text-align: right;
	  margin:-40px 0 0 0;
	  display: inline-block;
	}

	
:root header[role="banner"] .logo li.sns  {
	width:auto\0/;
	float: right\0/;
	padding-top: 20px\0/;
	
}

/* IE10,IE11 */
header[role="banner"] .logo li.sns:not(:target) {
width:100%; 
float: left;
padding-top: 20px; /* topimgパララックス表示 */
display: block;
}

	header[role="banner"] .logo .sns img {
		width: auto;/*25px;*/
		margin: 0 5px;
	}

nav {
		height:98px;/* 95px;*/
	}
	
nav ul {
	 display: -webkit-flex;
  display: flex;
	-webkit-flex-flow: row wrap;
  flex-flow: row wrap;
	width: auto;
		display: block;
		clear: both;
		width: 100%;
	}
		
nav ul li {
	width: 33.33%;
    text-align: center;
    display: block;
	/*border-top:1px #858181 solid ;*/
	border-bottom:1px #858181 solid ;
	float: left;
/*	background: #434343;*/
	}

nav ul li:nth-child(4),
nav ul li:nth-child(5),
nav ul li:nth-child(6) {
	border-bottom:0;
}

:root nav ul li {
	width: 33.33%\0/;
}

header[role="banner"] nav ul li a:active {
height: 50%;
	}

main #contents.toppage .topimg {
	height: 230px !important;
	}
	


#contents.toppage .news ul.group {
    zoom: 1;
	width: 90%;
	display: block;
	margin: 0 auto;
}	
	
#contents.toppage .news ul li{
		width: 100%;
	    padding-bottom: 15px;
	}
	
	#contents.toppage .news ul li:last-child{
		width: 100%;
	    padding-bottom: 0px;
	}
	
#contents.toppage .news ul li span.text {
	padding: 5%;
	width: 90%;
	}
	
	#contents.toppage .about ul {
		width: 90%;
		display: block;
	}
	#contents.toppage .about ul li {
	 float: none;
	width: 100%;
	margin: 0 auto;
	padding: 0;
}
	#contents.toppage .about ul li.prof_l {
		margin-bottom: 20px;
		padding: 0;
	}
	
	#contents.toppage .about ul li.prof_l img {
		width: 100%;
		padding: 0;
	}
	#contents.toppage .about ul .prof_l p {
		padding: 20px;
	}
	
#contents.toppage .about ul li.prof_r {
		padding: 0px;
	}
#contents.toppage .about ul .profile {
		padding: 20px;
	}
		
	#center {
		padding: 0;
		margin: 0;
	}
	
	#contents.toppage .lesson_body, .contact_body, .studio_body {
    padding: 15px 20px ;
    width: 80%;
		font-size: 85%;
		line-height: 1.4em;
}
	
	.button {
  width: 90%;/*70%;*/
	font-size: 130%;
	margin-bottom: 20px;
}

.button2 {
  width: 240px;
	font-size:130%;
	margin: 3px auto 20px;
}
	
	
	#contents.toppage .about {
		margin-bottom: 30px;
	}
	
	#contents section.course {
		padding-bottom: 10px;
	}
	#contents.toppage .course_body {
		width: 100%;
		padding-bottom: 0;
		margin-bottom: 0;
	}
	
	#contents.toppage .course_body ul {
		margin-bottom: 20px;
		clear: both;
		zoom: 1;
	width: 90%;
	display: block;
	margin: 0 auto;
	}
	
	#contents.toppage .course_body ul:last-child {
		margin-bottom: 0px;
	}
	#contents.toppage .course_body li {
		margin-bottom: 0;
		padding: 0;
	}
	
	#contents.toppage .course_body li.course_txt {
		margin-bottom: 20px;
	}
	#contents.toppage .course_body li h2 {
		margin-top: 10px;
		padding: 10px;
	}


	#contents.toppage .course_body li.course_img img {
		width: 100%;
	}
	#contents.toppage .course_body li p {
		padding: 0 15px;
	}
	
	#contents.toppage .course_body ul li:nth-of-type(2) {
     padding-bottom: 20px;
}
	

/* カレンダー 専用
------------------------------------- */
	
#contents.toppage .calender_body  {
		padding-bottom: 30px;
	}

	
.calender_body {
		margin: 0 auto;
		text-align: center;
	width: 90%;
	}
.calendar table.calendar {
    width: 100%;
}

div.calendar-info {
float:left;
padding-left:7px;
padding-top:10px;
font-size:12px;
}

.area-cal p {
font-size:12px;
}

.calendar-info span {
    vertical-align: middle;
    display: inline-block;
    margin-right: 5px;
    width: 20px;
    height: 12px;
    border: 1px solid #ccc;
}
	
	
	#contents.toppage .contact {
		padding: 0;
		margin: 0;
	}
	

#contents.toppage .contact_body {
    text-align: left;
	font-size: 110%;
	    margin: 0px;
}

	contents.toppage .contact table.formTable th,
#contents.toppage .contact table.formTable td {
	width: 100%;
	display: block;
	padding: 0 0 5px;
	}

#contents.toppage .contact table.formTable tr, #contents.toppage .contact table.formTable tbody, #contents.toppage .contact table.formTable th, #contents.toppage .contact table.formTable td {
    display: block;
  }
	
#contents.toppage .contact table.formTable th {
    width: auto;
    padding: 0 0 5px;
  }
	
	#contents.toppage .contact table.formTable td input[type="text"]	{
		width: 100%;
	}
	
	
	table.formTable td input[type="text"] {
    width: 100%;
  }
	#contents.toppage .contact p.btn {
		margin: 0 auto;
		text-align: center;
	}
		
	#contents.toppage .contact {
		padding: 20px 0;
		
	}
	
	.studio_body table {
		font-size: 110%;
	}
	#center .studio_body ul img {
		width: 15%;
		/*margin: -5px 5px 0;*/
		padding-top:5px;
	}
	
	.studio table {
		margin: 10px 0 20px;
	}
	
	.studio_body ul .shoplogo {
		font-size: 280%;
		line-height: 1.2em;
	}
	
	.studio th {
		padding-left:0;
		width: 25%;
	}
	
	.studio td {
		padding-right:0;
	}
	
	.access .section-body {
		display: block;
	}
	
	#contents .access .map {
		width: 90%;
		margin: 0 auto 20px;
	}
	
	.access .section-body .accesstxt {
		margin: 0 auto 10px;
		width: 90%;
	}
	
	footer {
		padding: 10px 0;
	}
	
	footer .inner {
		width: 90%;
		position: static;
	}
	
	footer .inner p.logo img {
		width: 15%;
	}
	
	footer .phone {
		display: block;
	}
	
	footer .inner p.logo {
		font-size:90%;
	}
	
	footer .inner .pagetop img {
		width: 75%;
	}
	
	footer .inner .pagetop {
    bottom: 10px;
    right: 5px;
}
	
	
}