@charset "utf-8";
/* CSS Document */

/* reset styles */
html, body, div, h1, h2, h3, h4, h5, h6,
p, blockquote, pre, address,
ul, ol, li, dl, dt, dd,
table, th, td,
form, fieldset {
	margin: 0;
	padding: 0;
	font-family: "M PLUS 1p","ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;

	/*font-family:YuMincho,'Yu Mincho',"ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro",serif;*/
	/*font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;*
	/*font-family:"メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;*/
}

/* HTML5の新要素 */
section, nav, article, aside, header, footer, 
hgroup, figure, figcaption, summary {
	display: block;
	margin: 0;
	padding: 0;
	font-family: "M PLUS 1p","ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;

	/*font-family:YuMincho,'Yu Mincho',"ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro",serif;*/
	/*font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;*
	/*font-family:"メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;*/
}
*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}
/*------------------------------------------------------------------
共通スタイル
-------------------------------------------------------------------*/
html,body{
    width: 100%;
	height:100%;
}
body{
	font-size:1rem;	
	text-align:center;
	color:#fff;
	background:#000;
	line-height:2rem;
}
.clear{
	overflow:hidden;	
}
ul{
	list-style:none;	
}
img{
    vertical-align:bottom;
	border:none;
	max-width:100%;
}
span.red{
	color:red;	
}
span.underline{
	text-decoration:underline;	
}
*:focus {
   outline:none;
}
a{
	color:#fff;
}
a:hover{
	color:#B5B5B5;
}
a:hover img{
	opacity: 0.8;	
}


@media screen and (min-width:768px){
	a[href^="tel:"] {
		pointer-events: none;
	}
}



/*menu*/
.menu{
    height: 40px;
    position: absolute;
    right: 20px;
    top: 60px;
    width: 50px;
    z-index: 99;
}
.menu__line{
    background: #fcf1d4;
    display: block;
    height: 5px;
    position: absolute;
    transition:transform .3s;
    width: 100%;
}
.menu__line--center{
    top: 18px;
}
.menu__line--bottom{
    bottom: 0;
}
.menu__line--top.active{
    top: 16px;
    transform: rotate(45deg);
}
.menu__line--center.active{
    transform:scaleX(0);
}
.menu__line--bottom.active{
    bottom: 20px;
    transform: rotate(135deg);
}

/*gnav*/
/*gnav*/
.gnav{
    background: rgba(0,0,0,0.8);
    display: none;
    height: 100%;
    position: fixed;
    width: 100%;
    z-index: 98;
}
.gnav__wrap{
    align-items:center;
    display: flex;
    height: 100%;
    justify-content: center;
    position: absolute;
    width: 100%;
}
.gnav__menu__item{
    /*margin: 40px 0;*/
}
.gnav__menu__item a{
    color: #fcf1d4;
    font-size: 1.6em;
    font-weight: bold;
    padding: 20px 0;
    text-decoration: none;
    transition: .5s;
	display: block;
}
.gnav__menu__item a:hover{
    color: #666;
}
@media screen and (max-width:450px){
	.menu{
		right: 20px;
		top: 40px;
		width: 50px;
	}
}
a.food__menu{
	pointer-events:none;
	padding-bottom: 5px;
	opacity: 0.6;
}
.submenu{
	display: flex;
    flex-wrap: wrap;
	justify-content:space-between;
	padding-bottom: 20px;
}
.submenu__item a{
	padding: 0 1rem;
	font-size: 1.2rem;
	display: block;
}
/*------------------------------------------------------------------
共通スタイルheader
-------------------------------------------------------------------*/


/**mac用リセットCSS**/
/*input{
	-webkit-appearance: none;	
}*/
/*------------------------------------------------------------------
共通スタイルcontainer
-------------------------------------------------------------------*/
/*.container{
	width:900px;
	margin:0 auto;*/
	/* box-shadow */
	/*-moz-box-shadow:0px 0px 6px 3px #cccccc;
	-webkit-box-shadow:0px 0px 6px 3px #cccccc;	
	box-shadow:0px 0px 6px 3px #cccccc;
}
.container{
	background:url(../images/bg.png) repeat-y center top;
}*/
/*------------------------------------------------------------------
共通スタイルbox
-------------------------------------------------------------------*/
/*.box{
	min-width:1200px;
	_display: inline;
	_zoom:1;
}*/
/*------------------------------------------------------------------
共通スタイルheader
-------------------------------------------------------------------*/
/*header ul{
	display: flex;
    flex-wrap: wrap;
	justify-content: flex-end;
	padding-right: 10px;
}
header ul li{
	padding: 0 3px;
}
header a{
	display: inline-block;
}
@media screen and (max-width:900px){
	header ul{
		justify-content: center;
		padding-right: 0;
	}
}
@media screen and (max-width:800px){
	header ul li{
		width: 33%;
	}
}
@media screen and (max-width:630px){
	header{
		padding-bottom: 0;	
	}
	header ul{
		display: block;
		text-align: right;
	}
	header ul li{
		width: 100%;
		padding-bottom: 10px;
	}
}
@media screen and (max-width:520px){
	header h1{
		width: 80%	
	}
}
@media screen and (max-width:450px){
	header{
		padding-top: 10px;
	}
	header h1{
		padding-bottom: 10px;
	}
	header ul li{
		text-align: center;
	}
}*/
/*------------------------------------------------------------------
共通スタイルfooter
-------------------------------------------------------------------*/
footer{
	background: #000;
	padding: 10px 1rem 10px;
}
footer .inner{
	color: #fff;
	max-width: 500px;
	margin: 0 auto;
}
footer .inner h1{
	max-width: 400px;
	margin: 0 auto;
}
footer .inner h1 img{
	max-width: 80%;
}

footer .inner ul:last-of-type{
	display: flex;
    flex-wrap: wrap;
	justify-content: space-between;
	max-width: 250px;
	margin: 0 auto 70px;
}
footer .inner ul:last-of-type li{
	width: 48%;
	margin: 0 auto 0;/*2この場合これを削除*/
}
footer .inner ul:last-of-type a{
	display: block;
}
@media screen and (max-width:480px){
	footer{
		padding: 10px 1rem 10px;
	}
}
ul.sns{
	display: flex;
    flex-wrap: wrap;
	justify-content: space-between;
	margin: 20px 0 40px;
	position: fixed;
	right: 5px;
    bottom:80px;
}
ul.sns li{
	width: 100px;
}
ul.sns a{
	/*color: #fcf1d4;
	text-decoration: none;*/
}
@media screen and (max-width:480px){
	ul.sns{
		display: block;
	}
	ul.sns li{
		padding: 0 0;
		width: 80px;
		/*border-bottom:1px #fcf1d4 solid;*/
	}
	ul.sns li:first-of-type{
		/*border-top:1px #fcf1d4 solid;*/
	}
	ul.sns a{
		display: block;
	}
}
/*------------------------------------------------------------------
共通スタイルパーツ
-------------------------------------------------------------------*/
.block00{
	padding: 30px 0 50px;
}
.block01{
	/*background: url("../images/bg_02.png");*/
	background: #000;
	padding: 50px 0 50px;
}
.block01#index05{
	padding: 0 0 70px;
}
.block02{
	background: url("../images/bg_02.png");
	padding: 30px 0 50px;
}
.bg_white{
	background: #fff;
	border: 5px #000 solid;
	border-radius: 20px;
	padding: 70px;
	margin: 0 1rem;
}

#index01 .tax{
	color: #fcf1d4;
	border: 1px #fcf1d4 solid;
	margin-top: 2rem;
}
#index01 .menu_drink{
	display: flex;
    flex-wrap: wrap;
	justify-content: space-between;
}
#index01 .menu_drink dl{
	width: 48%;
	color: #6c1318;
	border: 3px #6c1318 solid;
	border-radius: 8px;
	text-align: left;
	margin-top: 2rem;
	background: #fcf1d4;
	font-size: 1rem;
}
#index01 .menu_drink dl dd{
	padding: 1rem 1rem;
	border-top: 1px #6c1318 solid;
}
#index01 .menu_other ul{
	/*display: flex;
    flex-wrap: wrap;
	justify-content: space-between;*/
	margin-top: 2rem;
}
#index01 .menu_other ul li:first-of-type{
	margin-bottom: 2rem;
}

.shop_info{
    width: 100%;
	/*display: flex;
    flex-wrap: wrap;
	justify-content: space-between;*/
}
/* Google Mapを囲う要素 */
.block02 .map {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 85%; /* 比率を4:3に固定 */
	margin-top: 5rem;
}
/* Google Mapのiframe */
.block02 .map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.block02 .address{
	width: 100%;
	color: #fff;
	text-align: left;
}
.block02 .address dl{
	padding-bottom: 1rem;
	margin-bottom: 1rem;
	border-bottom: 1px #fff solid;
}

@media screen and (max-width:640px){
	.bg_white{
		padding: 30px;
	}
	.block01 .menu_drink dl{
		width: 100%;	
	}
	.block01 .menu_other ul li:first-of-type{
		width: 100%;
		margin-bottom: 2rem;
	}
	.block01 .menu_other ul li:last-of-type{
		width: 100%;
	}
	.block01 .menu_other ul li img{
		width: 100%;
	}
}
@media screen and (max-width:480px){
	.block00,
	.block01,
	.block02{
		padding: 10px 0 20px;
	}
	.block01{
		padding: 40px 0 20px;
	}
	.block01#index05{
		padding: 10px 0 70px;
	}
	.block02 .map {
		margin-top: 3rem;
	}
}
@media screen and (max-width:380px){
	.bg_white{
		padding: 20px 1rem;
	}
}
section:last-of-type{
	padding-bottom: 80px;
}
@media screen and (max-width:480px){
	section:last-of-type{
		padding-bottom: 50px;
	}
}
#page_top{
  width: 50px;
  height: 50px;
  position: fixed;
  right: 20px;
  bottom:30px;
  background: #000;
  opacity: 0.6;
  border-radius: 50%;
}
#page_top a{
  position: relative;
  display: block;
  width: 50px;
  height: 50px;
  text-decoration: none;
}
#page_top a::before{
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f106';
  font-size: 25px;
  color: #fff;
  position: absolute;
  width: 25px;
  height: 25px;
  top: -14px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}
/*------------------------------------------------------------------
共通スタイルindex>main_v
-------------------------------------------------------------------*/
header{
	background: url("../images/index/main_v.png") no-repeat;
	background-size: cover;
	padding: 25rem 1rem 2rem;
}
header h1{
	max-width: 750px;
	margin: 0 auto;
	text-align: left;
}
header h1 img{
	width: auto;
}
@media screen and (max-width:900px){
	header{
		background: url("../images/index/main_v.png") no-repeat center center;
		background-size: cover;
		padding: 15rem 1rem 2rem;
	}
	header h1 img{
		width: 100%;
	}
}
/*------------------------------------------------------------------
共通スタイルindex
-------------------------------------------------------------------*/
#index #index01{
	background: url("../images/index/bg.png");
}
#index #index01 .inner{
	max-width: 780px;
	margin: 20px auto 30px;
	padding: 0 1rem;
}
#index #index01 .inner h1{
	max-width: 550px;
	margin: 0 auto 2rem;
}
#index #index01 .inner .youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
#index #index01 .inner .youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}
@media screen and (max-width:480px){
	#index #index01{
		margin: 0 auto 0;
	}
}
#index #index02{
	max-width: 1000px;
	margin: 50px auto 30px;
}
#index #index02 h1{
	max-width: 720px;
	margin: 0 auto 0;
}
#index #index02 .inner{
	margin-top: 40px;
}
#index #index02 h2{
	max-width: 400px;
	margin: 0 auto;
}
#index #index02 #index02_01 div,
#index #index02 #index02_02 div{
	display: flex;
    flex-wrap: wrap;
	justify-content: space-between;
}
#index #index02 #index02_01 div dl{
	width: 30%;
	padding-top: 50px;
}
#index #index02 #index02_01 div dl dd{
	text-align: left;
	padding-top: 20px;
}
#index #index02 #index02_02 div dl{
	width: 48%;
	padding-top: 50px;
}
#index #index02 #index02_02 div dl dd{
	text-align: left;
	padding-top: 20px;
}
#index #index02 #index02_03 div dl{
	display: flex;
    flex-wrap: wrap;
	justify-content: space-between;
	padding-top: 50px;
}
#index #index02 #index02_03 div dl dt{
	width: 48%;
}
#index #index02 #index02_03 div dl dd{
	width: 48%;
	text-align: left;
	padding-top: 30px;
}
@media screen and (max-width:840px){
	#index #index02 #index02_01 div{
		display: block;
	}
	#index #index02 #index02_01 div dl{
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	#index #index02 #index02_01 div dl dt{
		width: 48%;
	}
	#index #index02 #index02_01 div dl dd{
		width: 48%;
		padding-top: 50px;
	}
	#index #index02 #index02_03 div dl dd{
		padding-top: 0;
	}
}
@media screen and (max-width:640px){
	#index #index02 #index02_01 div dl dd{
		padding-top: 0;
	}
}
@media screen and (max-width:480px){
	#index #index02{
		margin: 30px auto 20px;
	}
	#index #index02 .inner{
		margin-top: 20px;
	}
	#index #index02 #index02_02 div,
	#index #index02 #index02_01 div dl,
	#index #index02 #index02_03 div dl{
		display: block;
		width: 100%;
	}
	#index #index02 #index02_02 div dl{
		width: 100%;
	}
	#index #index02 #index02_01 div dl dt,
	#index #index02 #index02_01 div dl dd,
	#index #index02 #index02_03 div dl dt,
	#index #index02 #index02_03 div dl dd{
		width: 100%;
	}
	#index #index02 #index02_01 div dl,
	#index #index02 #index02_02 div dl,
	#index #index02 #index02_03 div dl{
		padding-top: 20px;
	}
}
#index #index03 .inner{
	max-width: 780px;
	margin: 0 auto 30px;
	padding: 0 1rem;
}
#index #index03 .inner h1{
	margin: 0 auto 2rem;
}
#index #index03 .inner p{
	color: #fcf1d4;
	padding: 30px 1rem 0;
}
#index #index03 .inner p a{
	color: #fcf1d4;
}
@media screen and (max-width:480px){
	#index #index03 .inner{
		margin: 30px auto 20px;
	}
	#index #index03 .inner h1{
		margin: 0 auto 2rem;
	}
	#index #index03 .inner p{
		padding: 10px 1rem 0;
	}
}

#index #index04 .inner{
	max-width: 780px;
	margin: 30px auto 30px;
	padding: 0 1rem;
}
#index #index04 .inner h1{
	max-width: 600px;
	margin: 0 auto 20px;
}
#index #index05 .inner{
	max-width: 780px;
	margin: 10px auto 0;
	padding: 0 1rem;
}
#index #index05 .inner h1{
	max-width: 650px;
	margin: 0 auto 2rem;
}
#index #index05 .inner div{
	color: #fff;
	max-width: 650px; 
	max-height: 200px; 
	overflow-y: scroll; 
	border: 1px #fff solid;
	margin: 0 auto;
}
#index #index05 .inner div dl{
	text-align: left;
	padding: 10px;
}

#index #index06 .inner{
	max-width: 780px;
	margin: 50px auto 0;
	padding: 0 1rem;
}
#index #index06 .inner h1{
	max-width: 600px;
	margin: 0 auto 2rem;
}
#index #index06 .inner dl{
	width: 100%;
	color: #fff;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	border-bottom: 1px #fff solid;
	padding: 1rem 0 1rem;
}
#index #index06 .inner dl:last-of-type{
	border-bottom: none;
	/*display: block;*/
}
#index #index06 .inner dl dt{
	width: 20%;
	/*padding: 0 1rem;*/
	font-weight: bold;
}
/*#index #index06 .inner dl:last-of-type dt,
#index #index06 .inner dl:nth-last-of-type(2) dt{
	width: 100%;
	text-align: left;
	padding-top: 2rem;
	padding-bottom: 1rem;
}*/
#index #index06 .inner dl dd{
	width: 80%;
	text-align: left;
	/*padding: 0 1rem;*/
}
/*#index #index06 .inner dl:last-of-type dd,
#index #index06 .inner dl:nth-last-of-type(2) dd{
	width: 100%;
}
#index #index06 .inner dl:nth-last-of-type(2) dd{
	padding-bottom: 2rem;
}*/
@media screen and (max-width:530px){
	#index #index06 .inner dl dt{
		width: 100%;
		text-align: left;
	}
	#index #index06 .inner dl dd{
		width: 100%;
	}
}
#index #index07 .gallery{
	max-width: 750px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: 2rem;
	padding: 0 1rem;
}
#index #index07 .gallery dl{
	width: 45%;
}
#index #index07 .gallery dl dt{
	margin-bottom: 2rem;
}
@media screen and (max-width:530px){
	#index #index07 .gallery{
		display: block;
	}
	#index #index07 .gallery dl{
		width: 100%;	
	}
	#index #index07 .gallery dl:last-of-type{
		margin-top: 3rem;
	}
	#index #index07 .gallery dl dt{
		margin-bottom: 1rem;
	}
}

#index #index08{
	background: url("../images/index/bg.png");
}
#index #index08 .inner{
	max-width: 780px;
	margin: 0 auto 30px;
	padding: 0 1rem;
}
#index #index08 .inner h1{
	max-width: 600px;
	margin: 0 auto 2rem;
}
#index #index08 .inner dl{
	background: #ff0072;
	text-align: left;
	padding: 2rem 1rem;
}
#index #index08 .inner dl:first-of-type{
	margin-bottom: 2rem;
}
#index #index08 .inner dl:last-of-type dd img{
	width: 40px;
}
#index .link01{
	margin-top: 0.5rem;
}
#index .bt01{
	display: block;
	background: #000;
	color: #fff;
	max-width: 200px;
	padding: 0.5rem 1rem;
	border-radius: 5rem;
	text-align: center;
	text-decoration: none;
	margin-top: 0.5rem;
}

.news_bunner{
	padding-bottom: 30px;
}