/* SP：ウィンドウ幅が0〜479pxの場合に適用するCSS */
@media screen and ( max-width:680px )
{@charset "UTF-8";


/* SP：ウィンドウ幅が0〜479pxの場合に適用するCSS */
@media screen and ( max-width:680px ){


	
	
html {
  scroll-padding-top: 80px; /* 固定ヘッダの高さ分 */
}


.noneSP {display:none !important;}

  .br-pc { display:none; }
  .br-sp { display:block;}
  
  
  .pc { display: none !important; }
  .sp { display: block !important; }




img{
	width:100%;
	height: auto
	}

	
.coution{
	color:#BC0003;
	text-align: center;
	display: block;
	font-size: 90%;
	}



	
	



/*///////////////////////////////////////////////


ベース・共通項目


///////////////////////////////////////////////*/


	
html {
 scroll-behavior: smooth;
}	
	


body{
	 animation: fadeIn 2s ease 0s 1 normal;
    -webkit-animation: fadeIn 2s ease 0s 1 normal;
	letter-spacing: 0;
	font-family: 'Crimson Text', serif !important;
	color: #333;
	text-align: justify; // Required for IE and Edge 
    text-align-last: right;
	}


@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}
	
	
	
.fadein {
  opacity : 0;
  transform: translateY(20px);
  transition: all 1s;
}
	



/* ページトップへ戻る */
#pageTop{
 position: fixed;
 bottom: 60px;
 right: 10px;
z-index: 10000;
 }

	
.topgo{
	width: 40px;
	height: auto;
	}	
		
	
	

	
	
	
	
	
/*///////////////////////////////////////////////


ヘッダー


///////////////////////////////////////////////*/
	
	
	

	
h1{
	width: 120px;
	height: auto;
	padding: 0 5%;
	}	
	
	

	
	
	
/*///////////////////////////////////////////////


メイン


///////////////////////////////////////////////*/	
	
	
	
h2.madoicopy{
	text-align: center;
	margin: 5% 4%;
	font-size: 82%;
	font-weight:normal;
	line-height: 220%;
	letter-spacing: 2px;
	}
	
	
.v_line_fix {
	margin: 5% auto;
  width: 1px;
  height: 50px;
  background-color: #ccc;
}	
	
	
	
			
	
/*///////////////////////////////////////////////


 ブログ
	
	
////////////////////////////////////////////////*/		
	

	
h3{
	width: 70%;
	height: auto;
	margin: 0 auto;
	}
	
	
	
p.bloginsta{
	margin: 5% auto;
	text-align: center;
	padding:0 5%;
	}	
	
	
	
p.instabloglink{
	width: 30px;	
	text-align: center;
	margin: 7% auto;
	display: block;
	padding-bottom: 15%;
	}	
	
	
.oneArea {
  background: linear-gradient(155deg, #ffffff 0%, #ffffff 50%, #fafafa 50%, #fafafa 100%);
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}	
		
	
	
	
	
	
	
	
	
	
/*///////////////////////////////////////////////


 ワーク
	
	
////////////////////////////////////////////////*/		
	
	
	

section.work{
	padding: 0 5%;	
	}
	

p.photo{
	padding: 0 3%;
	text-align: center;
	filter: drop-shadow(15px 15px 0px rgba(0,0,0,0.1));
	}
	
	
	
p.readtxt{
	text-align:center;
	line-height: 220%;
	margin: 8% 0;
	font-size: 82%;
	letter-spacing: 1px;
	}	
	
	
	
div.reshipibox{
	margin: 0 auto;
	background: #fafafa;
	border: 1px solid #ddd;
	padding: 2% 2% 0%;
	
	}	
	
	
	
ul.reshipiul{
	text-align: center;
	line-height: 190%;
	padding:2%;
	font-size: 85%;
	}	
	
	
ul.reshipiul li a{
	letter-spacing: 4px;
	text-decoration: underline;
	padding-bottom: 6%;
	display: block;
	}	
	
	
ul.reshipiul li a:hover{
	color: #604c3f;
	}
	
	
	
		
	

	
	
	
	
	
	
/*///////////////////////////////////////////////


レッスン
	
	
////////////////////////////////////////////////*/		
	

	
	
section.lesson{
	margin: 0 5%;	
	}	
	
	
	

h2.lessoncopy{
	text-align: center;
	margin: 5% 0;
	font-size: 90%;
	font-weight:normal;
	line-height: 220%;
	letter-spacing: 4px;
	}
	
	
	
.contentsitem_three_wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0 auto;
}

	
.contentsitem_box_three{
	margin: 0;
	padding: 3% 4%;
	width: 40%;
	background-color: #fff;
	border-left:1px solid #ddd;
	position: relative;
	height: auto;
	text-align: center;
	line-height: 180%;

}
	


.lastchild{
	border-right:1px solid #ddd;	
	}	
	
	
	

	
	
dt.snsregistericon{
	width: 50px;
	height: 50px;
	margin: 0 auto;
	text-align: center;
	display: block;
	padding: 6% 0;
	}
	
dd.snsregistertxt{
	font-size: 80%;	
	}	
	
	
	
p.anticorona{
	font-size: 80%;
	line-height: 240%;
	margin-left: 3%;
	}	
	
	

	
	
	
	
	
	
	
	
	
	
/*///////////////////////////////////////////////


アコーディオンメニュー


///////////////////////////////////////////////*/
	
	
section.accordionbox{
	margin: 10% 0% 0;
	text-align:center;
	}	
	




	
.accordion-container_faq .accordion-title_faq {
  position: relative;

 line-height: 220%;
  margin: 0 0 1px 0;
  padding:20px 30px;
  color: #000;
  cursor: pointer;
  font-size: 90%;
	letter-spacing: 0.2em;
	background-color: #eeeeee;
	text-align: left;
}
	
.accordion-container_faq .accordion-title_faq:hover,
.accordion-container_faq .accordion-title_faq:active,
.accordion-title.open { 
  background-color: #cccccc;
}

.accordion-container_faq .accordion-title_faq::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  width: 15px;
  height: 2px;
  /*縦線に*/
  transform: rotate(90deg);
  background: #333;
  transition: all .3s ease-in-out;
}

.accordion-container_faq .accordion-title_faq::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  /*横線*/
  width: 15px;
  height: 2px;
  background: #333;
  transition: all .2s ease-in-out;
}

.accordion-container_faq .accordion-title_faq.open::before {
  transform: rotate(180deg);
}

.accordion-container_faq .accordion-title_faq.open::after {
  opacity: 0;
}

.accordion-content {
  padding: 3% 5% 6%;
  background-color: #fff;
	border-top: none;
}




p.indent-1 {
padding-left:1em;
text-indent:-1em;
text-align: left;
letter-spacing: 2px;
padding-bottom: 15px;
line-height:200%;	
}	
	
	
p.lessoninfo{
text-align: left;
line-height: 240%;
	letter-spacing: 1px;
	font-size: 90%;
	}
	
	
		
	
div.menubox{
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
	padding: 5% 0;
	margin: 5% 0;
	clear: both;
	overflow: hidden;
	}	
	
	
	
div.menuboxL{
	text-align: left;
	font-size: 85%;
	line-height: 300%;
	}	
	
	

	
p.lessonphoto img{
	}	
	
	
	
span.smallfont{
	font-size: 90%;	
	}	
	
	
	
	
	
	
		
	
/*///////////////////////////////////////////////


マップ・コンタクト


///////////////////////////////////////////////*/	
	
	
	
div.ggmap{
	margin: 5% 0;	
	}	
	
	
p.maptxt{
	text-align:center;
	line-height: 240%;
	margin: 0 0 6%;
	font-size: 85%;
	}		
		
	
	
.ggmap {
position: relative;
padding-bottom: 56.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
}
 
.ggmap iframe,
.ggmap object,
.ggmap embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}	
	
	
	
	
p.maptitle{
	text-align:center;
	font-size: 100%;
	margin-top: 5%;
	}		
	
	
	
	
	
	
	
	
	
	
	
/*///////////////////////////////////////////////

	

お問合せ

	
	
///////////////////////////////////////////////*/
	
	

#contact img{
	width: 80%;
	height: auto;
	margin: 0 auto 5% !important;
	text-align: center;
	display: block;
	}

	
	
p.contacttell{
	width: 28%;
	text-align: center;
	margin: 2% auto;
	}	

	
	
p.contacttxt{
	text-align: center;
	line-height: 220%;
	margin-bottom: 2%;
	}	
	
		
	
	
	
	
table.contact{
	clear:both;
    border-top:1px solid #cccccc;
    border-left:1px solid #cccccc;
    border-collapse:collapse;
    background-color:#ffffff;
	width:90%;
	margin:6% auto;
}

table.contact th{
    border-right:1px solid #cccccc;
    border-bottom:1px solid #cccccc;
    background-color:#fafafa;
	font-size:95%;
	text-align:left;
	letter-spacing: 3px;
	display: block;
	padding: 3%;
}

	
	
table.contact td{
    border-right:1px solid #cccccc;
    border-bottom:1px solid #cccccc;
	text-align:left;
	font-size:95%;
	line-height:180%;
	vertical-align:middle;
	padding:10px 5%;
	letter-spacing: 3px;
	display: block;
}

	
	
#submit_button {
    text-align: center;
    padding: 6% 15%;
    margin: 10% auto 15%;
    display: block;
    font-size: 100%;
    color: #fff;
    letter-spacing: 0.2em;
    border: none;
    background-color: #000;
}	
	
	




/*///////////////////////////////////////////////


フォーム


///////////////////////////////////////////////*/





.hoge{
width:85%;
border:0;
padding:13px !important;
font-size:90%;
font-family:Arial, sans-serif;
color:#333;
border:solid 1px #ccc;
margin:10px 0px;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
}
	
	
.hoge002{
width:20%;
border:0;
padding:20px !important;
font-size:110%;
font-family:Arial, sans-serif;
color:#333;
border:solid 1px #ccc;
margin:10px 0px;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
}



.hogebiko{
width:90% !important;
height:250px !important;
border:0;
padding:10px;
border:solid 1px #ccc;
margin:10px 0px;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
}

	




p.sendbtn{
	text-align:center;
	margin:5%;
	}
	
	
	
	
	

	
/*///////////////////////////////////////////////


フッター


///////////////////////////////////////////////*/
	
	
	
	
	
	
footer{

	text-align: center;
	font-size: 80%;
	margin:25% 0 10%;
	}
	
	
	
	
	
	
	
	

	
/*///////////////////////////////////////////////


スマホ用ナビヘッダ


///////////////////////////////////////////////*/	




/* Toggle Button */
#nav-toggle {
	display: none;
	position: absolute;
	right: 12px;
	top: 28px;
	width: 34px;
	height: 36px;
	cursor: pointer;
}

#nav-toggle div {
	position: relative;
}
#nav-toggle span {
	display: block;
	position: absolute;
	height: 2px;
	width: 100%;
	background: #666;
	left: 0;
	-webkit-transition: .35s ease-in-out;
	-moz-transition: .35s ease-in-out;
	transition: .35s ease-in-out;
}
#nav-toggle span:nth-child(1) {
	top: 0;
}
#nav-toggle span:nth-child(2) {
	top: 11px;
}
#nav-toggle span:nth-child(3) {
	top: 22px;
}


  #top-head,
    .inner {
        width: 100%;
        padding: 0;
		z-index:1000;
    }
    #top-head {
        top: 0;
        position: fixed;
        margin-top: 0;
		background-color:#FFF;

    }
    /* Fixed reset */
    #top-head.fixed {
        padding-top: 0;
        background: transparent;
    }
    #mobile-head {
        width: 100%;
        z-index: 999;
        position: relative;
	
		border-bottom:1px solid #ddd;
		
    }
    #top-head.fixed .logo,
    #top-head .logo {
       
        

    }
    #global-nav {
        position: absolute;
        /* 開いてないときは画面外に配置 */
        top: -560px;
        background: #fafafa;
        width: 100%;
        text-align:center;
        -webkit-transition: .5s ease-in-out;
        -moz-transition: .5s ease-in-out;
        transition: .5s ease-in-out;
    }
    #global-nav ul {
        list-style: none;
        position: static;
		margin:3% 0% 0% -2%;
		padding:0;
        font-size: 14px;
    }
    #global-nav ul li {
        float: none;
        position: static;
	border-bottom: 1px #ddd dotted;
		letter-spacing:0.2em;
		opacity: 0.9

    }
	
	
	
	#global-nav ul li:last-child
	{
		border-bottom:none;
		}
	
	
    #top-head #global-nav ul li a,
    #top-head.fixed #global-nav ul li a {
        width: 100%;
        display: block;
        color: #333;
        padding: 13px 0;
		text-decoration:none;
    }
    #nav-toggle {
        display: block;
    }
    /* #nav-toggle 切り替えアニメーション */
    .open #nav-toggle span:nth-child(1) {
        top: 11px;
        -webkit-transform: rotate(315deg);
        -moz-transform: rotate(315deg);
        transform: rotate(315deg);
    }
    .open #nav-toggle span:nth-child(2) {
        width: 0;
        
    }
    .open #nav-toggle span:nth-child(3) {
        top: 11px;
        -webkit-transform: rotate(-315deg);
        -moz-transform: rotate(-315deg);
        transform: rotate(-315deg);
    }
    /* #global-nav スライドアニメーション */
    .open #global-nav {
        /* #global-nav top + #mobile-head height */
        -moz-transform: translateY(556px);
        -webkit-transform: translateY(556px);
        transform: translateY(556px);
    }
	
	
	
		
	
	
ul.spnav .icon{
	width: 20px;
	height: auto;
	vertical-align: bottom;
	text-align: center !important;
	margin: 0 2% !important;
	display: block;
	display: inline-block;
	}		
	
	
ul.spnav li.lastchild{
	border-bottom: 1px solid #eee !important;
	}	
	
	
	
	
	
	
	
	
	
/*///////////////////////////////////////////////


サンクス
	
	
///////////////////////////////////////////////*/		
		
	

	
	
div.thanksbox{
	margin: 40% auto;
	text-align: center;
	}	
	
	
p.thankslogo{
	width: 35%;
	height: auto;
	margin: 32% auto 0;
	}	
	
	
	
p.thankstxt{
	text-align: center;	
	margin-top: 5%;
	letter-spacing: 0.3em;
	line-height: 220%;
	font-size: 110%;
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
	}
	
	
	
p.topbtn a{
	text-align: center;
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
	display: block;
letter-spacing: 0.3em;
	padding:2% 4%;
	font-size: 100%;
	width: 60%;
	margin: 0 auto;

	}	
			
	
	
	
	
	
	
	
/*///////////////////////////////////////////////


追加：ショップ情報
	
	
///////////////////////////////////////////////*/
	
	
	
	
	
.mt100{
	margin-top: 50px !important;
	}	
	
	
	
	
div.shopbox{
	margin: 0;
	line-height: 200%;
	border-bottom: 1px solid #ddd;
	padding: 3% 4%;
	font-size: 80%;
	}	
	
	
	
div.shopbox002{
	margin: 0;
	line-height: 200%;
	padding: 3% 4%;
	font-size: 80%;
	}	
	
	
	
	
span.shoptitle{
	font-weight: bold;
	display: block;
	font-size: 110%;
	margin-bottom: -10px;
	}		
	
	
.splefttxt{
	text-align: left !important;	
	}	
	
	
	
	
	
	
.hrline {
  height: 8px;
  background-image: repeating-linear-gradient(45deg, #ccc 0, #ccc 1px, transparent 0, transparent 50%);
  background-size: 8px 8px;
	width: 90%;
	border: none;
	padding: 0% 4%;
}
	
	
	

	
.noneunder{
	border-bottom: none !important;	
	}	
	
	

	
.mlm20sp{
	margin-left: 0px !important;
display: block !important;
}
	



	
	
	
	
	
}	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
