@charset "utf-8";

body{
	font-size:16px;
	font-family:"游明朝体", "Yu Mincho", YuMincho, "Hiragino Mincho", 'Hiragino Mincho ProN', 'serif';
	line-height:1.5;
	color:#ffffff;
	text-align:center;
	background:#131313;
}

/*各ページごとにidを変更して背景画像を編集*/

/*#base-top共通領域*/
#base #top{
	background:url("../img/hero-image.jpg"); 
	background-size:100%; 
	background-repeat: no-repeat;
	background-position:center 70%;/*レスポンシブ用*/
	height:550px;
	/*婉曲bg*/
	border-bottom-right-radius: 2000px 400px;
    border-bottom-left-radius: 2000px 400px;
	/*後ほど画像加工で黒背景を追加する*/
	position:relative;
}

/*#under-base共通領域*/
#under-base #top{
	background:url("../img/hero-under/menu.jpg"); 
	background-size:100%; 
	background-repeat: no-repeat;
	background-position:center 40%;/*レスポンシブ用*/
	height:220px;
	/*婉曲bg*/
	border-bottom-right-radius: 2000px 400px;
    border-bottom-left-radius: 2000px 400px;
	/*後ほど画像加工で黒背景を追加する*/
	position:relative;
}

/*indexページ*/
#index #top{
	background:url("../img/hero-image.jpg"); 
	background-size:100%; 
	background-repeat: no-repeat;
	background-position:center 70%;/*レスポンシブ用*/
	height:550px;
	/*婉曲bg*/
	border-bottom-right-radius: 2000px 400px;
    border-bottom-left-radius: 2000px 400px;
	/*後ほど画像加工で黒背景を追加する*/
	position:relative;
}

/*menuページ*/
#menu #top{
	background:url("../img/hero-under/menu.jpg"); 
	background-size:100%; 
	background-repeat: no-repeat;
	background-position:center 40%;/*レスポンシブ用*/
	height:220px;
	/*婉曲bg*/
	border-bottom-right-radius: 2000px 400px;
    border-bottom-left-radius: 2000px 400px;
	/*後ほど画像加工で黒背景を追加する*/
	position:relative;
}

/*courseページ*/
#course #top{
	background:url("../img/hero-under/course.jpg"); 
	background-size:100%; 
	background-repeat: no-repeat;
	background-position:center 40%;/*レスポンシブ用*/
	height:220px;
	/*婉曲bg*/
	border-bottom-right-radius: 2000px 400px;
    border-bottom-left-radius: 2000px 400px;
	/*後ほど画像加工で黒背景を追加する*/
	position:relative;
}

/*shopページ*/
#shop #top{
	background:url("../img/hero-under/shop.jpg"); 
	background-size:100%; 
	background-repeat: no-repeat;
	background-position:center 40%;/*レスポンシブ用*/
	height:220px;
	/*婉曲bg*/
	border-bottom-right-radius: 2000px 400px;
    border-bottom-left-radius: 2000px 400px;
	/*後ほど画像加工で黒背景を追加する*/
	position:relative;
}


/*flexを後で消すため*/
.inner{
	display:flex;
	justify-content:space-between;
}


.logo,.logo2{
	width:200px;
	margin:20px;
}


/*HAMBURGER↓*/

#hamburger .btn-gNav{
  position: fixed;
  top: 41px;
  right: 35px;
  width: 25px;
  height: 24px;
  z-index: 3;
  box-sizing: border-box;
  cursor: pointer;
  -webkit-transition: all 400ms;
  transition: all 400ms;
}

#hamburger .btn-gNav span{
  position: absolute;
  width: 100%;
  height: 1.5px;
  background: #ffffff;
  -webkit-transition: all 400ms;
  transition: all 400ms;
}
#hamburger .btn-gNav span:nth-child(1) {
  top:0;
}
#hamburger .btn-gNav span:nth-child(2) {
  top:6px;
}
#hamburger .btn-gNav span:nth-child(3) {
  top:12px;
}


#hamburger .btn-gNav.open span:nth-child(1){
  background: #fff;
  top: 6px;
  -webkit-transform: rotate(-45deg);
  -moz-transform   : rotate(-45deg);
  transform        : rotate(-45deg);
}
#hamburger .btn-gNav.open span:nth-child(2),#hamburger .btn-gNav.open span:nth-child(3){
  top: 6px;
  background :#fff;
  -webkit-transform: rotate(45deg);
  -moz-transform   : rotate(45deg);
  transform        : rotate(45deg);
}
#gNav{
  position: fixed;
  top: 0;
  right: -100%;
  width: 100%;
  height: 100%;
  background: #131313;
  font-size: 18px;
  box-sizing: border-box;
  z-index: 2;
  padding-top: 50px;
  transition: .3s;
	/*+*/
  background-image:url(../img/hbgmBg_s.jpg);
  background-size:100% 100%;
}
#gNav.open{
  right: 0px;
}
#gNav .gNav-menu{
  width: 100%;
  height:100%;
  display: flex;
  flex-direction: column;
  text-align: center;
  padding-top:50px;
}
#gNav .gNav-menu li{
  display: block;
 

}
#gNav .gNav-menu li a{
  display: inline-block;
  color: #ddd;
  text-decoration: none;
  /*+*/
  padding-top: 10px;
  padding-bottom: 10px;
  text-align: left;
  width: 60%;
  font-size:26px;
}


#gNav .gNav-menu li a span{
	font-size:16px;
	padding-left: 10px;
}


/*pcの時のナビゲーション*/
@media screen and (min-width: 960px){
	.btn-gNav,.logo,.inner{
    	display: none;
  	}
	
		/*新規のメニューを改めて作成する*/
	.logo2{
		margin: auto;
		padding:20px;
	}
	
	
	.gNav2-menu{
		display:flex;
		justify-content:center;
		
	}
	
	
	#gNav2{
		margin:auto;
		width:700px;
		position:absolute;
		bottom:-5px;
		left:50%;
		transform:translate(-50%,-50%);
	-webkit-transform:translate(-50%,-50%);
	}
	
	
	#gNav2 li{
		display:inline-block;
		width:20%;
		text-align: center;
	}
	
	#gNav2 li a{
		display:block;
		color:#ffffff;
		text-decoration:none;
		font-weight:bold;
		font-size:24px;
	}
	
	#gNav2 li:hover{
		border-bottom:1px solid #ffffff;
	}
	
}

/*959以下の際にPC用を消す*/
@media screen and (max-width:960px){
	#normal-menu{
		display:none;
	}	
}

/*HAMBURGER↑*/


/*CATCHCOPY↓*/

/*トップページのキャッチコピー*/
.ct-copy-sp{
	color:#ffffff;
	font-size:180%;
	position:relative;
	top:75px;
	left:50%;
	transform:translate(-50%,-50%);
	-webkit-transform:translate(-50%,-50%);
	text-shadow:3px 3px 6px #131313; 
}



/*下層ページのメインカテゴリー*/
.main-category{
	color:#ffffff;
	font-size:180%;
	position:relative;
	top:45px;
	left:50%;
	transform:translate(-50%,-50%);
	-webkit-transform:translate(-50%,-50%);
	text-shadow:3px 3px 6px #131313; 
}

.main-category span{
	font-size:14px;
	position:relative;
	top:-25px;
}

/*CATCHCOPY↑*/


/*SCROLL↓*/

/*スクロールダウン全体の場所*/
.scrolldown1{
    /*描画位置※位置は適宜調整してください*/
  position:absolute;
  left:50%;
  bottom:10px;
    /*全体の高さ*/
  height:50px;
}

/*Scrollテキストの描写*/
.scrolldown1 span{
    /*描画位置*/
  position: absolute;
  left:-15px;
  top: -15px;
    /*テキストの形状*/
  color: #eee;
  font-size: 0.7rem;
  letter-spacing: 0.05em;
}

/* 線の描写 */
.scrolldown1::after{
  content: "";
    /*描画位置*/
  position: absolute;
  top: 0;
    /*線の形状*/
  width: 1px;
  height: 30px;
  background: #eee;
    /*線の動き1.4秒かけて動く。永遠にループ*/
  animation: pathmove 1.4s ease-in-out infinite;
  opacity:0;
}

/*高さ・位置・透過が変化して線が上から下に動く*/
@keyframes pathmove{
  0%{
    height:0;
    top:0;
    opacity: 0;
  }
  30%{
    height:30px;
    opacity: 1;
  }
  100%{
    height:0;
    top:50px;
    opacity: 0;
  }
}

/*SCROLL↑*/

/*YUGE↓*/
.steam-box {
  position: absolute;
  top: 35%;
  left: 50%;
  width: 20%;
  height: 40%;
  padding:20%;
  transform:translate(-50%,-50%);
  -webkit-transform:translate(-50%,-50%);
  overflow: hidden;
  pointer-events: none;
  z-index: 1;
}

@keyframes steam-move-01{
  0% {
    filter: blur(12px);
    transform: scale(0.8, 0.8) rotateY(0deg);
    opacity: 0;
    bottom: -1300px;
  }
  6% {
    opacity: 0.3;
  }
  33% {
    transform: scale(0.9, 1.1) rotateY(30deg);
    opacity: 0.5;
  }
  66% {
    transform: scaleY(1, 0.8) rotateY(4deg);
  }
  100% {
    filter: blur(18px);
    transform: scaleY(1.5, 1.3) rotateY(50deg);
    opacity: 0;
    bottom: 0;
  }
}

@keyframes steam-move-02{
  0% {
    filter: blur(12px);
    transform: scale(0.8, 0.8) rotateY(0deg);
    opacity: 0;
    bottom: -1300px;
  }
  6% {
    opacity: 0.3;
  }
  33% {
    transform: scale(0.9, 1.1) rotateY(30deg);
    opacity: 0.4;
  }
  66% {
    transform: scaleY(1, 0.8) rotateY(4deg);
  }
  100% {
    filter: blur(18px);
    transform: scaleY(1.5, 1.3) rotateY(50deg);
    opacity: 0;
    bottom: 0;
  }
}

.steam-01,.steam-02{
  left: calc(50% - 350px);
  -webkit-animation: steam-move-01 10s infinite linear;
  animation: steam-move-01 5s infinite linear;
  animation: steam-move-02 10s infinite linear;
}

.steam-01{
	opacity:0; 
	animation-delay:3s; 
}


@media screen and (min-width:960px){
	.steam-box {
  		top: 4%;
  		left: 52%;
	}
}



/*YUGE↑*/

/*BREADCRUMBS↓*/
.breadcrumbs ul{
	display:flex;
	margin-top:20px;
	margin-left:30px;
	font-size:10px;
}

.breadcrumbs li a{
	color:#A6A6A6;
	list-style:none;
}

.breadcrumbs li a:hover{
	color:#ffffff;
	list-style:none;
}

.breadcrumbs li{
	color:#A6A6A6;
	list-style:none;
}

.breadcrumbs li::after{
  content: '>';
  display: inline-block;
  padding: 0 10px; /*左右に余白*/
	
}

.breadcrumbs li:last-child::after{
  display: none;
}
/*BREADCRUMBS↑*/


/*MAIN領域↓*/

/*TOP↓*/
/*COMMENT↓*/
.comment{
	width:285px;
	text-align:left;
	margin:10% auto;
	font-size:13px;
}

.top-name{
	padding-top:10px;
}

@media screen and (min-width:960px){
	.comment{
		width:445px;
		margin:5% auto;
		font-size:20px;
	}
	
	.top-name{
		padding-top:15px;
	}
}
/*COMMENT↑*/

/*KODAWARI↓*/
/*sp*/
.kodawari{
	position:relative;
	padding-top:30px; 
}


.kodawari img{
	width:75%;
	float:right;
	position:absolute;
	right:0;
	z-index:10; 
}

.kodawari-contents{
	text-align:left;
	background:#ffffff;
	color:#333; 
	width:85%;
	height:auto;
	padding-top:44%;
	position:relative;
	top:50px;
}


.kodawari-title{
	font-size:20px;
	font-weight:bold;
}

.kodawari-contents p{
	padding:0 5% 10px 10%
}

.kodawari-detail{
	font-size:12px;
}

/*pc*/
@media screen and (min-width:875px){
	.kodawari img{
		width:50%;
		float:right;
		position:absolute;
		top:45px;
		right:0;
		z-index:10; 
	}
	
	
	.kodawari-contents{
		text-align:left;
		width:85%;
		height:auto;
		position:relative;
		top:0px;
		padding-top:15%;
		padding-bottom:15%;
	}
	
	.kodawari-title{
		font-size:36px;
	}

	.kodawari-contents p{
		padding:0 5% 10px 10%
	}

	.kodawari-detail{
		font-size:20px;
	}
}



/*KODAWARI↑*/

/*TOP‐CONTENT↓*/
.to-under-contents{
	margin-top:150px;;
}

.to-under-contents img{
	width:80%;
	margin:20px;
	text-align:center;
}



#top-menu,#top-course,#top-shop{
	width:70%;
	text-align:left;
	color:#131313; 
	padding:20px;
	margin-top:40px;/*特別措置*/
}

#top-menu span,#top-course span,#top-shop span{
	font-size:16px;
	padding-left:8px;
}

.more-button{
	display:flex;
	justify-content:space-between;
	vertical-align:middle;
	border-bottom:1px solid #131313;
	padding-top:10px;
}

.for-flex-under a{
	text-decoration:none; 
	color:#131313;
}

@media screen and (min-width:875px){
	.for-flex{
		display:flex; 
	}
	
	.to-under-contents{
		margin-top:100px;
		margin-bottom:100px; 
	}
}

/*1*/
#top-menu{
	background:#DFC96E;
}

@media screen and (min-width:875px){
	#top-menu .for-flex{
		flex-direction: row-reverse;
		position:relative;
		left:120px;
	}
	#top-menu .for-flex img{
		position:relative;
		left:20px;
	}
	
	#top-menu .top-menu-content,#top-menu .more-button{
		position:relative;
		top:40%;
		left:50%;
		width:190px; 
		transform:translate(-50%,-50%);
		-webkit-transform:translate(-50%,-50%);
	}
	
	#top-menu h2{
		text-align:center; 
	}
}

/*2*/
#top-course{
	background:#D8CA96;
	float:right;
	margin-bottom:40px;/*特別措置*/
}

@media screen and (min-width:875px){
	#top-course .for-flex{
		position:relative;
		right:120px;
	}
	#top-course .for-flex img{
		position:relative;
		right:20px;
	}
	
	#top-course .top-menu-content,#top-course .more-button{
		position:relative;
		top:40%;
		left:55%;
		width:190px; 
		transform:translate(-50%,-50%);
		-webkit-transform:translate(-50%,-50%);
	}
	
	#top-course h2{
		text-align:center; 
	}
}

/*3*/
#top-shop{
	background:#EBD78B;
	clear:both; 
}

@media screen and (min-width:875px){
	#top-shop .for-flex{
		flex-direction: row-reverse;
		position:relative;
		left:120px;
	}
	#top-shop .for-flex img{
		position:relative;
		left:20px;
	}
	
	#top-shop .top-menu-content,#top-shop .more-button{
		position:relative;
		top:40%;
		left:50%;
		width:190px; 
		transform:translate(-50%,-50%);
		-webkit-transform:translate(-50%,-50%);
	}
	
	#top-shop h2{
		text-align:center; 
	}
}

/*TOP‐CONTENT↑*/

/*RECOMMEND↓*/

.recommend{
	text-align:center;
	color:#ffffff;
}

.recommend img{
	width:60%;
}

.recommend h2{
	margin-top:50px;
	margin-bottom:10px;
}

.recommend figcaption{
	margin-top:10px;
	margin-bottom:80px;
}

/*RECOMMEND↑*/
/*UNDER↑*/

/*INSTAGRAM↓*/
.instagram{
	margin:50px 20px;
}
.instagram h2{
	margin-top:30px;
	margin-bottom:20px;
	font-size:24px;
}

.instagram span{
	font-size:16px;
	margin:10px;
}

.instagram-contents img{
	width:50%;
	margin:0;
}

.instagram-1{
	display:flex;
	justify-content:center;
}

.instagram-2{
	display:flex;
	justify-content:center;
}

@media screen and (min-width:875px){
	.instagram-contents{
		display:flex;
		justify-content:center;
	}
	.instagram-1,.instagram-2{
		margin:0;
	}
	.instagram{
		margin-top:100px;
	}
}



/*INSTAGRAM↑*/


/*NEWS↓*/
.news{
	margin:50px 0; 
}

.news h2{
	margin-top:30px;
	margin-bottom:20px;
	font-size:24px;
}

.news span{
	font-size:16px;
	margin:10px;
}

.news-contents{
	text-align:left;
	width:70%;
	margin:auto;
}

.news-contents li{
	margin-top:15px;
	padding-bottom:5px; 
	border-bottom:1px dotted #ffffff;
}

@media screen and (min-width:875px){
	.news-contents{
		width:50%;
	}
	.news{
		margin-top:100px;
	}
}

/*NEWS↑*/

/*CONTACT↓*/
form{
	text-align:left;
	width:70%;
	margin:auto;
}



.contact{
	margin:50px 0; 
}

.contact h2{
	margin-top:30px;
	margin-bottom:20px;
	font-size:24px;
}

.contact span{
	font-size:16px;
	margin:10px;
}

.contact input[type="text"],.contact input[type="email"],.contact input[type="tel"],textarea{
	width:100%;
}

input[type="submit"]{
	width:50px;
	margin-top:20px;
	background:#EBD78B; 
	margin-bottom:20px; 
}


@media screen and (min-width:875px){
	.contact form{
		width:30%
	}
	.contact{
		margin-top:100px;
	}
}


/*CONTACT↑*/
/*TOP↑*/


/*UNDER↓*/
/*MENU↓*/

.menucontents h2 span{
	font-size:14px;
}

.menudetail-1,.menudetail-2{
	width:42.5%;
}

.menucontents img{
	width:100%;
}

.menucontents figure{
	margin-bottom:20px; 
}

.menucontents figcaption{
	text-align:left;
	margin:5px;
}

.menucontents{
	margin:50px 15px 15px 15px;
}

.menudetail-12{
	display:flex;
	justify-content:space-around; 
	margin-top:40px;
}

.menudetail-12 span{
	font-size:10px;
}

.menucontents:last-of-type{
	margin-bottom:50px; 
}


@media screen and (min-width:875px){
	.menudetail-1,.menudetail-2{
		width:40%;
	}
	
	.menucontents{
		margin:50px 220px 30px 220px;
	}
}


/*MENU↑*/
/*COURSE↓*/

.coursecontents{
	margin:50px 0;
}
.coursecontents img{
	width:100%;
}

.coursecontents h2 span{
	font-size:14px;
}

.coursedetail-content{
	background-color:#131313;
	width:80%;
	margin:30px auto; 
}

.coursedetail-content-text{
	text-align:left;
	background:#ffffff;
}

.coursedetail-content-text p{
	color:#131313; 
	padding:5px 0 10px 15px;
	font-weight:bold;
}


/*toggle↓*/
.toggle_contents {
	background:#DFC96E;
	padding-top:5px; 
	padding-bottom:10px;
}
.toggle_title {
	position: relative;
	padding: 5px;
	cursor: pointer;
	font-size: 16px;
	text-align: center;
	line-height: 1.4;
	color:#131313; 
	font-weight:bold;
}
.toggle_title_list li{
	color:#131313; 
	width:80%;
	text-align:left;
	margin:0 auto;
	padding:8px 10px;
	background:#fff; 
}
.toggle_title_list li:first-of-type{
	margin-top:10px; 
}
.toggle_title_list span{
	font-weight:bold;
}
.toggle_btn {
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%);
	background: #ffffff;
	display: block;
	width: 24px;
	height: 24px;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	border-radius: 50%;
}
.toggle_btn:before, .toggle_btn:after {
	display: block;
	content: '';
	background-color: #131313;
	position: absolute;
	width: 10px;
	height: 2px;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.toggle_btn:before {
	width: 2px;
	height: 10px;
}
.toggle_title.selected .toggle_btn:before {
	content: normal;
}
.toggle_contents dd {
	display: none;
}
/*toggle↑*/

.atention{
	font-size:12px; 
}

@media screen and (min-width:875px){
	.coursedetail{
		display:flex;
		justify-content:space-around;
		margin:30px; 
	}
	
	.coursedetail-content{
		width:40%;
	}
	
}

/*COURSE↑*/
/*SHOP↓*/

.shop-detail li{
	text-align:left;
	width:65%;
	margin:20px auto;
	border-bottom:1px dotted #ffffff; 
}

.shop-detail li span{
	font-weight:bold;
}

iframe{
	width:70%;
	margin:60px;
}

@media screen and (min-width:875px){
	.shop-detail li{
		width:30%;
		margin:30px auto;
	}
	
	iframe{
		width:50%;
		height:500px;
	}
}


/*SHOP↑*/
/*UNDER↑*/
/*MAIN領域↑*/


/*FOOTER領域↓*/
footer{
	background:#000000;
	padding-top:20px;
	padding-bottom:10px;
}

footer img{
	width:90px;
	margin:20px;
}

small{
	color:#ffffff;
	font-size:10px;
	
}

/*FOOTER領域↑*/

/*RESERVE↓*/
.reserve{
	position:fixed;
	bottom:0;
	right:0;
	width:90px;
	height:60px;
	background:#000000; 
	padding-top:5px;
	z-index:100; 
}

.reserve a{
	text-decoration:none;
	color:#ffffff;
	display:block;
}

.reserve a span{
	font-size:20px;
}

.reserve-menu{
	background:#393939;
	width:70%;
	margin:20px auto;
	padding-top: 10px;
}
.reserve-menu p{
	margin:30px 0;
}

.reserve-menu form{
	margin-top:30px;
	margin-bottom:40px; 
}

.reserve-menu input[type="text"],.reserve-menu input[type="email"],.reserve-menu input[type="tel"],textarea,select{
	width:100%;
}

input[type="text"],input[type="email"],input[type="tel"],textarea,select,input[type="date"],input[type="time"],input[type="submit"]{
	padding:5px;
}

@media screen and (min-width:875px){
	.reserve-menu{
		width:50%;
		
	}
}
