@charset "UTF-8";
html {font-size: 62.5%;}

/*リセット*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

body {
	font-family:"游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN";
	font-style: normal;
	line-height: 1.5em;
	font-size: 16px;
	font-weight: 400;
	color:#666;
	background: #fff; /* Old browsers */
	padding: 0;
	margin: 0;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	width:100%;
	overflow-x: hidden;
}

#container {
	width:100%;
	/* overflow-x: hidden; */
	/* overflow-y: scroll; */
}

/*共通*/
ol, ul {
	list-style: none;
}

*{
margin:0;
padding:0;
}
a:hover,
a{
	text-decoration: none;
}

h1{
	font-size: 60px;
	color: #4d4d4d;
	margin-bottom: 0.5em;
}

h2{
	font-size: 30px;
	color: #4d4d4d;
}

h3{
	font-size: 20px;
	color: #333;
}

p{
	font-family: 游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}

.bold{
	font-weight: bold;
}

.white{
	color: #fff;
}

.number{
	font-size: 300px;
	color: #e6e6e6;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN";
	padding-top: 0.5em;
	display: block;
	position: absolute;
	height: 250px;
	right: 0;
}

.center{
	width: 1050px;
	margin: 0 auto;
	position: relative;
}

.title h2{
	border-bottom: 2px solid #808080;
	display: inline-block;
}

.title p{
}

.title{
	text-align: center;
	padding: 6em 0 3em;
}

.sub_main{
	padding-top: 10em;
	margin: 0 auto;
	width: 1050px;
}

.sub_main h2{
	border-bottom: 1px solid #808080;
	margin-bottom: 1.5em;
	text-align: center;
	line-height: 2em;
}

.center{
	width: 1050px;
	margin: 0 auto 5em;
}




/*ボタン*/
.main_btn
,.sub_btn{
	margin-top: 6em;
	padding-bottom: 6em;
}

.button {
  display: inline-block;
  width: 350px;
  height: 74px;
  text-align: center;
  text-decoration: none;
  line-height: 54px;
  outline: none;
}
.button::before,
.button::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
}
.button,
.button::before,
.button::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}

.button {
  position: relative;
  z-index: 2;
  background-color: #333;
  border: 1px solid #333;
  color: #fff;
  line-height: 70px;
  overflow: hidden;
}
.button:hover {
  color: #333;
	text-decoration: none;
}
.button::after {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-transform: scale(.5);
  transform: scale(.5);
}
.button:hover::after {
  background: #fff;
  -webkit-transform: scale(1);
  transform: scale(1);
}

.sub_button {
  display: inline-block;
  width: 350px;
  height: 74px;
  text-align: center;
  text-decoration: none;
  line-height: 54px;
  outline: none;
}
.sub_button::before,
.sub_button::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
}
.sub_button,
.sub_button::before,
.sub_button::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}

.sub_button {
  position: relative;
  z-index: 2;
  border: 2px solid #fff;
  color: #fff;
  line-height: 70px;
  overflow: hidden;
}
.sub_button:hover {
  color: #333;
	text-decoration: none;
}
.sub_button::after {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-transform: scale(.5);
  transform: scale(.5);
}
.sub_button:hover::after {
  background: #fff;
  -webkit-transform: scale(1);
  transform: scale(1);
}

.main_btn{
	text-align: center;
}

/*ナビ*/
/*pcメニュー*/

.nav_btn
,.nav_wrap{
	display: none;
}

.top_main{
	position: relative;
}

header{
	z-index: 100;
	width: 100%;
	height: 100px;
	background-color: #fff;
	opacity: 0.8;
	position: absolute;
	top: 0;
  left:0;
}

.navbar{
  text-align: right;
}

.nav_frame{
	width: 1050px;
	margin: 0 auto;
}

.logo{
	width: 20%;
	display: inline-block;
	padding-top: 2.5%;
}

.nav{
	width: 79%;
	display: inline-block;
	vertical-align: middle;
}

.navbar li{
	display: inline-block;
	width: 14%;
	text-align: center;
}

.navbar li:last-child{
  /* margin-align: right; */
}

.navbar li:last-child{
  margin-left: 20px;
}


a{
 display: block;
 position: relative; /* .enと.jaの絶対配置の基準 */
}

.en,.ja {
 display: block; /* position指定がある時は無くても可 */
 width: 100%;
 position: absolute; /* .enと.jaを重ねて表示 */
 transition: .5s; /* 0.5秒で値をなめらかに変化させる */
}

.en {
 opacity: 1; /* 普段は英語表記を表示 */
 color: #222;
}

.ja {
 opacity: 0; /* 普段は日本語表記を透明に */
 color: #222;
}

a:hover .en { /* aにホバーしたとき英語表記は透明に */
 opacity: 0;
}

a:hover .ja { /* aにホバーしたとき日本語表記を表示 */
 opacity: 1;
}

/*スマホ*/
@media (max-width: 767px){
/*スマホメニュー*/

header{
  height: 80px;
  position: fixed;
  z-index:100;
  opacity: 0.92;
}
.nav{
  display: none;
}

.nav_btn{
display: block;
}

.nav_frame{
  width: 100%;
}

.logo{
  width: 120px;
  position: absolute;
  top: 28px;
  left: 25px;
  padding: 0;
}

.nav_wrap.active{
  display: block;
  top:80px;
  width:100%;
  z-index:100;
  }
  .nav_sp li{
    padding: 1em 0 !important;
  }
  .nav_sp li span{
    opacity: 1;
    position: relative;
    top:0;
    margin: 0;
    padding: 0;
  }
  .nav_wrap.active .nav_sp{
  display: block;
  text-align: center;
  background: #fff;
  width: 100%;
  position: absolute;
  right: 0;
  top:0 ;
  z-index: 100;
  height: auto;
  padding-bottom: 30px;
  }

  .nav_wrap.active li{
  border-bottom:1px solid #4d4d4d;
  padding: 1em;
  }

  .nav_wrap.active li a{
  color: #4d4d4d;
  }

  .nav_wrap.active li:first-child{
  border-bottom:1px solid #4d4d4d;
  padding-top: 30px;
  }
  .nav_wrap.active li:last-child{
  border-bottom:none;
  }

  .nav_btn{
  display: block;
  height: 80px;
  width:70px;
  position: absolute;
  cursor: pointer;
  top: 0;
  right:0;
  padding: 10px;
  }

  .nav_btn div{
  position: relative;
  height: 100%;
  width: 100%;
  z-index: 400;
  }

  .nav_btn span {
  border: 3px solid #4d4d4d;
  border-radius: 3px;
  width:90%;
  right: 5%;
  position: absolute;
  transition: all 0.5s ease-in;
  }

  .nav_btn span:nth-child(1) {
  top:10px;
  }
  .nav_btn span:nth-child(2) {
  top:27px;
  }
  .nav_btn span:nth-child(3) {
  bottom:10px;
  }

  .nav_btn.active span:nth-of-type(1) {
  -webkit-transform: translateY(17px) rotate(-315deg) scale(.8);
  transform: translateY(17px) rotate(-315deg) scale(.8);
  }
  .nav_btn.active span:nth-of-type(2) {
  display: none;
  }
  .nav_btn.active span:nth-of-type(3) {
  -webkit-transform: translateY(-17px) rotate(315deg) scale(.8);
  transform: translateY(-17px) rotate(315deg) scale(.8);
  }

  .nav_wrap.active .nav_sp{
    height: 100vh;
		overflow-y: scroll;
  }

  .nav_wrap.active li{
    padding: 2.5em;
  }

  .nav_wrap.active li:first-child{
    padding-top: 20%;
  }
}

/*フッター*/
footer{
	background-color: #333;
	margin-top: 6em;
}

.footer_frame{
	width: 1050px;
	margin: 0 auto;
	padding-top: 100px;
	position: relative;
}

.footer_left
,.footer_right{
	display: inline-block;
}

.footer_left{
	width: 35%;
	margin-bottom: 3em;
	text-align: left;
	margin-right: 64%;
}

.footer_right{
	width: 60%;
	text-align: right;
	vertical-align: top;
	position: absolute;
	right: 0;
}

.footer_logo{
	width: 20%;
}
.footer_nav .ja{
	display: none;
}
.footer_nav ul{
	text-align: right;
}
.footer_nav li{
	display: inline-block;
	margin-left: 5%;
	font-family: 'Raleway', Arial, sans-serif;
	line-height: 2.5em;
	text-align: center;
	margin: 0 0.6em;
}
.footer_nav li a:hover .en{
	opacity: 0.5;
}
.footer_nav span,
.footer_frame a{
	color: #fff;
	text-decoration: none;
}
.footer_nav span{
	position: relative;
}

.footer_logo{
	width: 60%;
	margin-bottom: 1em;
}

.link{
	text-align: right;
	width: 60%;
	margin-left: 40%;
	position: absolute;
	top: 15em;
}
.link li{
	display: inline-block;
}

.link img{
	width: 60%;
}

.copyright{
	text-align: center;
	color: #fff;
	padding-bottom: 2em;
}

@media (max-width: 767px){
	footer{
		width: 100%;
	}

	.footer_right{
		display: none;
	}

	.footer_left{
		width: 97%;
		position: relative;
		margin-right: 0;
		margin-left: 3%;
	}

	.footer_frame{
		width: 100%;
	}

	.address{
		font-size: 14px;
	}
	.link {
		position: relative;
		width: 100%;
		top:0;
		margin: 0;
	}
	.link ul{
		margin: 0 auto;
		width: 100%;
		text-align: center;
	}

	.copyright{
		padding-top: 4em;
	}

	.link li{
		width: 20%;
		text-align: center;
	}
}

/*トップ*/
#news
,#sub_page
,.product{
	background-color: #f1f1f1;
	padding-bottom: 6em;
}

.news_list{
	z-index: 300;
	position: relative;
	max-height:250px;
	overflow-y: scroll;
	overflow-x: hidden;
}

.news_list li{
	border-bottom: 1px solid #808080;
	padding: 2em 0;
}

#news table{
	width: 100%;
}

#news tr{
	border-bottom: 1px solid #808080;
}

#news th
,#news td{
	vertical-align: middle;
	padding: 1em 2em;
}

#news th{
	width: 20%
}


#news td{
	width: 78%;
}


.concept,
.product,
.contact,
.scen{
	text-align: center;
}


.concept h3{
	margin-bottom: 3em;
}

.comment{
	margin-bottom: 6em;
}


.product_wrap{
	width: 1050px;
	height: auto;
	position: relative;
	text-align: left;
}

.product_frame{
	display: inline-block;
	font-size: 0;
	width: 330px;
	height: auto;
	margin-bottom: 2%;
	border: 1px solid #333;
	padding-top: 20px;
	z-index: 10;
}
/*画像拡大*/
.product_frame {
	overflow: hidden;	/*拡大時にはみ出た部分を隠す*/
  font-size: 0;
  width:23.5%;
  margin-right: 2%;
  vertical-align: top;
}
.product_frame img {
	display: block;
	transition-duration: 0.5s;	/*変化に掛かる時間*/
}
.product_frame img:hover {
	transform: scale(1.1);	/*画像の拡大率*/
	transition-duration: 0.3s;	/*変化に掛かる時間*/
}
.product_frame:nth-child(4n){
  margin-right: 0;
}

.product_box{
	width: 90%;
	background-color: #fff;
	margin: 0 auto;
	padding: 20px;
}

.product_img {
  width:100%;
  height:auto !important;
  max-height:230px;
  overflow: hidden;
	margin: 0 auto;
}
.product_img img{
  width:100%;
}
.product_frame a{
	color:#666;
}

.product_frame p{
	padding: 50px 20px;
	font-size: 16px;
}

.product_frame:nth-child(2){
	/* margin: 0 24px; */
}

.common_contact{
	background: url("../images/contact_bg.jpg") no-repeat center center;
	height: auto;
}

.common_contact h2
,.common_contact p{
	color: #fff;
}
.common_contact h2{
	border-bottom: 1px solid #fff;
	display: inline-block;
}

.common_contact .number{
	opacity: 0.3;
}

/*about us*/
.message{
	background: url("../images/message_bg.jpg") no-repeat center center;
	height: auto;
}

.name{
	width: 36%;
	display: inline-block;
	margin-left: 5%;
}

 .message_frame{
	 width: 50%;
	 display: inline-block;
	 margin-left: 6%;
	 padding: 3em 0;
 }

 .message_frame p{
	 line-height: 1.5em;
	 font-family: 'Raleway', Arial, sans-serif;
	 font-size: 16px;
 }

 .message_frame h2{
	 text-align: center;
	 margin-bottom: 1.5em
 }

 .message h2
 ,.message h3
,.message p{
	display: block;
	text-shadow: 1px 1px 0.5px #000;
}

.message p
,.message h3{
	font-weight: 600;
}

.message_frame p{
	line-height: 2.5em;
}

.message .white_mini{
	font-size: 14px;
	color: #fff;
}

 .overview{
	 font-size: 0;
	 margin: 100px 0;
 }

 .shop_details{
	 display: inline-block;
	 width: 48%;
	 vertical-align: top;
 }

 .shop_details table{
	 width: 100%;
	 font-size: 16px;
	 color: #4d4d4d;
 }

 .shop_details tr{
	 border-bottom: 1px solid #808080;
	 padding: 20px 3%;
	 display: block;
 }

 .shop_details th
 ,.shop_details td{
	 width: 100%;
	 display: block;
 }


 .map{
	 width: 50%;
	 display: inline-block;
	 margin-left: 2%;
 }

 /*gallery*/
 .gallery .product_wrap{
	 /* padding-top: 3em; */
 }

 /*scene*/
 .scene .common_scene{
	 /* padding-top: 3em; */
 }

 /*details*/
 .scene_details .product{
	 /* padding-top: 3em; */
 }

 .scene_details .product_wrap{
	 /* padding-top: 3em; */
 }

 .scene_details .title_comment{
	 text-align: center;
	 padding-top: 6em;
 }

 .scene_details .title_comment h3{
	 margin-bottom: 2em;
 }

 .scene_details .title_comment p{
	 margin-bottom: 0;
 }


 /*shop*/
 .course_content{
	 width: 50%;
	 display: inline-block;
	 font-family: 'Raleway', Arial, sans-serif;
	 vertical-align: top;
	 line-height: 3em;
 }

 .course_image{
	 width: 48%;
	 display: inline-block;
	 text-align: right;
 }

 .course_image img{
	 width: 80%;
 }

 .course_content p{
	 line-height: 2em;
 }

 /*お問い合わせ*/
 .contact_title{
	 margin-bottom: 6em;
	 display: block;
 }

 form{
	 width: 960px;
	 margin: 0 auto;
 }

 form table
 ,form tr
 ,form td
 ,form th{
	 width: 100%;
	 display: inline-block;
 }

 input{
	 width: 100%;
	 height: 60px;
	 outline: 0;
 }

 form tr{
	 margin-bottom: 4em;
 }

 form th{
	 margin-bottom: 1em;
 }

 textarea{
	 width: 100%;
	 height: auto;
 }


 @media (max-width: 767px){
	 .nav_frame .nav{
		 display: none;
	 }

	 .center{
		 width: 100%;
	 }

	 .product_wrap{
		 width: 100%;
	 }

	 #top_page .common_scene{
		 width: 100%;
	 }



	 /*トップページ*/
	 .content
	 ,.title{
		 z-index: 10;
		 position: relative;
	 }

	 .concept{
		 width: 94%;
		 margin: 0 auto;
	 }

	 .concept h1{
		 z-index: 20;
		 position: relative;
		 font-size: 40px;
	 }

	 .concept h3{
		 font-size: 18px;
	 }

	 .number{
		 font-size: 200px;
	 }

	 .news_list{
		 width: 94%;
		 margin: 0 auto;
	 }
	 .product_wrap{
		 padding-top: 0;
	 }
	 .product_frame{
     width:46%;
     margin: 2%;
		 vertical-align: top;
   }

	 .product_frame p{
		 padding: 20px;
	 }

	 .product_frame{
		 margin-top: 20px;
		 margin-bottom: 20px;
	 }

	 #news th{
		 width: 25%;
	 }

	 #news th img{
		 width: 80%;
	 }

	 #news th{
		 padding: 1em 0 1em 1em;
	 }
	 #news td{
		 padding: 1em 0 1em 0.5em;
		 font-size: 14px;
	 }


	 figure.snip1353{
		 text-align: center;
		 position: relative;
	 }

	 figcaption{
		 position: absolute;
		 height: 50px;
		 top: 0;
		 bottom: 0;
		 right: 0;
		 left: 0;
		 margin: auto;
		 color: #fff;
	 }

	 figcaption h2{
		 color: #fff;
		 font-size: 24px;
		 font-weight: bold;
	 }


	 figure.snip1353 img{
		 width: 96%;
	 }


	 .sub_main{
		 width: 100%;
		 margin: 0 auto;
	 }

	 .sub_image img{
		 width: 100%;
	 }

	 .message{
		 position: relative;
		 height: auto;
	 }

	 .name{
		 position: absolute;
		 height: 70px;
		 bottom: 5%;
		 right: 5%;
		 width: 55%;
	 }

	 .message_frame{
		 width: 90%;
		 padding-bottom: 8em;
	 }

	 .message_box p{
		 font-size: 14px;
	 }

	 .shop_details{
		 width: 100%;
	 }

	 .map{
		 width: 96%;
		 padding-top: 10%;
	 }

	 iframe{
		 width: 100%;
	 }

	 /*about*/
	 .shop_info{
		 width: 96%;
		 margin: 0 auto;
	 }

	 /*contact*/
	.sub_main{
		 width: 96%;
		 margin: 0 auto 3em;
	 }
	 form
	 ,.contact_title{
		 width: 96%;
	 }

	 /*details*/
	 .scene_details{
		 width: 100%;
	 }
		/*shop*/
		.school .course_content{
			width: 96%;
			margin: 0 auto;
			display: block;
			line-height: 2em;
			padding-bottom: 2em;
		}

		.course_image{
			width: 96%;
			margin: 0 auto;
			display: block;
		}

		.course_image img{
			width: 100%;
		}
		#container {
			overflow-x: hidden;
			/* overflow-y: scroll; */
		}

 }

 /* シーンバナー */
 /*contact*/
@media (min-width: 768px){

	.common_contact{
		margin: 0 auto;
		text-align: center;
	}
	/*scene*/
	@import url(https://fonts.googleapis.com/css?family=Raleway:400,500,800);

	.common_scene{
		width: 1050px;
		margin: 0 auto;
	}



	figure.snip1353 a{
		color: #000;
	}

	figure.snip1353:nth-child(3n+1){
		margin-right:15px;
	}
	figure.snip1353:nth-child(3n+3){
		margin-left:15px;
	}

	.scene_frame{
		margin-top: 3px;
		font-size: 0;
	}

	figure.snip1353 {
	  font-family: 'Raleway', Arial, sans-serif;
	  position: relative;
	  display: inline-block;
	  overflow: hidden;
	  max-width: 340px;
	  max-height: 250px;
	  width: 100%;
	  color: #000000;
	  text-align: center;
	}

	figure.snip1353 * {
	  -webkit-box-sizing: border-box;
	  box-sizing: border-box;
	  -webkit-transition: all 0.6s ease;
	  transition: all 0.6s ease;
	}
	figure.snip1353 img {
	  opacity: 1;
	  width: 100%;
	}
	figure.snip1353:after,
	figure.snip1353:before {
	  background: #ffffff;
	  width: 200%;
	  height: 200%;
	  position: absolute;
	  content: '';
	  opacity: 0.5;
	  -webkit-transition: all 0.55s ease-in-out;
	  transition: all 0.55s ease-in-out;
	  z-index: 1;
	}
	figure.snip1353:after {
	  top: 0;
	  left: 0;
	  -webkit-transform: skew(-45deg) translateX(-150%);
	  transform: skew(-45deg) translateX(-150%);
	}
	figure.snip1353:before {
	  right: 0;
	  bottom: 0;
	  -webkit-transform: skew(-45deg) translateX(150%);
	  transform: skew(-45deg) translateX(150%);
	}
	figure.snip1353 figcaption {
	  position: absolute;
	  top: 50%;
	  left: 0;
	  width: 100%;
	  -webkit-transform: translateY(-50%);
	  transform: translateY(-50%);
	  z-index: 2;
	}
	figure.snip1353 h2,
	figure.snip1353 p {
	  margin: 0;
	  width: 100%;
	  opacity: 0;
	}
	figure.snip1353 h2 {
	  padding: 0 30px;
	  font-weight: 400;
	  text-transform: uppercase;
	}
	figure.snip1353 p {
	  padding: 0 50px;
	  font-size: 14px;
	  font-weight: 500;
	}

	figure.snip1353:hover img,
	figure.snip1353.hover img {
	  -webkit-filter: grayscale(100%);
	  filter: grayscale(100%);
	}

	figure.snip1353:hover:after,
	figure.snip1353.hover:after {
	  -webkit-transform: skew(-45deg) translateX(-50%);
	  transform: skew(-45deg) translateX(-50%);
	}

	figure.snip1353:hover:before,
	figure.snip1353.hover:before {
	  -webkit-transform: skew(-45deg) translateX(50%);
	  transform: skew(-45deg) translateX(50%);
	}

	figure.snip1353:hover figcaption h2,
	figure.snip1353.hover figcaption h2,
	figure.snip1353:hover figcaption p,
	figure.snip1353.hover figcaption p {
	  -webkit-transition-delay: 0.2s;
	  transition-delay: 0.2s;
	}

	figure.snip1353:hover figcaption h2,
	figure.snip1353.hover figcaption h2 {
	  opacity: 1;
	}

	figure.snip1353:hover figcaption p,
	figure.snip1353.hover figcaption p {
	  opacity: 0.7;
	}
}
@media (max-width: 767px){
	.scene_frame{
		text-align: center;
	}
	figure.snip1353{
		margin: 0;
		width:49%;
		display: inline-block;
		vertical-align: top;
	}


	.nav_frame{
		width: 100%;
	}

	.common_contact{
		text-align: center;
	}
}

.post-title{
	padding: 0;
	margin-bottom: 3em;
}
.post-title h2{
	padding: 0;
	margin: 0;
}
.post-image {
  width: 48%;
  display: inline-block;
  text-align: center;
}

.post-content {
  width: 48%;
  display: inline-block;
  font-family: 'Raleway', Arial, sans-serif;
  vertical-align: top;
  line-height: 1.5em;
	padding: 1%;
	text-align: left;
}
.pt_none{
	padding-top:3em;
}
video{
	width:100%;
}
@media (max-width: 767px){
	.title_comment p,
	.title_comment h3{
		text-align: left;
	}
	.post-image {
	  width: 100%;
	  display: inline-block;
	  text-align: center;
	}
	.post-content {
	  width: 100%;
	}
	.post-title h2{
		font-size: 18px;
		text-align: left;
	}
	.post-title p{
		text-align: right;
	}
}
