@charset "utf-8";

/* amim1 （透明）
---------------------------------------------------------------------------*/
@keyframes amim1 {
	0% {opacity: 0;}
	100% {opacity: 1;}
}
/* amim2（透明 下フェードイン）
---------------------------------------------------------------------------*/
@keyframes amim2 {
	0% {opacity: 0;top: 10px;}
	100% {opacity: 1;top: 0px;}
}

/* ipad PCの縮小 
body {	min-width: 1080px;}

@media screen and (max-width: 769px){
	body {
		min-width: initial;
	}
}
/* ipad PCの縮小 */

* { overflow-wrap:break-word;}

  .pc {display: block;}
  .sp {display: none;}
/*--全体
---------------------------------------------------------------------------*/
html {}
h1,h2,h3,h4,h5,p,ul,ol,li,dl,dt,dd,form,figure,form { margin: 0px; padding: 0px; font-size: 1rem; font-weight: normal; margin-block-start: 0em; margin-block-end: 0em;}
ul { list-style-type: none;}
ol { padding-left: 40px; padding-bottom: 15px;}
dl {display: block;margin-block-start: 0em;margin-block-end: 0em;margin-inline-start: 0px;margin-inline-end: 0px;}
img { border: none; max-width: 100%; height: auto; vertical-align: middle;}
table { border-collapse:collapse; font-size: 1rem; border-spacing: 0;}
video { max-width: 100%;}
iframe { width: 100%;}
.cnt { text-align: center;}
.txt_r {text-align: right;}
.f_L {font-size: 2rem;}
.fs18 {font-size: 1.5rem;}
.fs11 {font-size: 0.9rem; display: inline-block; line-height: 1.5;}
.hidden {display: none;}
.ind {text-indent: 1em;}
.full-ind {margin-left: 1em;}
.lh1-2 {line-height: 1.2;}
.lh1-5 {line-height: 1.5;}

body {
	margin: 0px;
	padding: 0px;
	color: #eee;
	font-family: 'Noto Serif JP', serif;
	font-size: 16px;
	line-height: 2;
	background-color: #2a2824;
	-webkit-text-size-adjust: none;
	overflow-x: hidden;
	word-wrap: break-word;
	position: relative;
}

body::before {
	content: "";
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background: url(../img/bg.jpg) repeat center center;
	z-index: -1; /* 最背面に配置 */
}

a { color: #ffffea; transition: 0.2s; }
a:hover { color: #d72525; text-decoration: none; }

/*wrapper
---------------------------------------------------------------------------*/
#wrapper {margin: 0; padding: 0;}

/*ヘッダー
---------------------------------------------------------------------------*/
header:after {content: "";display: block;clear: both;}
header {
	background: url(../img/bg_header.png) repeat-x center / 200px;
	color: #fff;
}
header a {color: #fff;}
header {height: auto;}
.home header {	height: auto; max-width: 1440px; margin: 0 auto;}
/*---logo---*/
header #top_logo {width: 130px;margin: 10px 50px 0 100px; float: left;}
header #logo {width: 100px; margin: 0 50px 0 20px; float: left;}
/*--logo top--*/
.home header #top_logo {float: none; max-width: 130px; margin: 0 4% 20% auto; padding: 10% 0 50%; background: linear-gradient( rgba(0,0,0,1) 50%, rgba(0,0,0,0) 100%);}
/*--logo 縦--*/
header #inner-header {
  position: absolute;
  top:0;
  left: 4%;
	 text-align: center;
  z-index: 1;
}
#hero {padding-top: 80px; text-align: center; max-width: 1440px; margin: 0 auto;}

/*ヘッダーメニュー
---------------------------------------------------------------------------*/
#header-menu {
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	text-align: left;
	display: inline-block;
	letter-spacing: 0.2em;
	line-height: 3;
}
#header-menu a {	text-decoration: none;	display: block;	color: #888;	padding-top: 22px;}
#header-menu li {	border-top: 2px solid #444;	margin-left: 30px;	float: left;}
#header-menu li {	float: none;	margin: 0;}
#header-menu .here,
#header-menu li:hover {	border-top: 2px solid #fff;}
#header-menu .here a,
#header-menu a:hover {	color: #fff;}

#header-menu.en {	-webkit-writing-mode: horizontal-tb;	writing-mode: horizontal-tb;}
#header-menu.en a {	padding-top:0;	padding-left: 20px;}
#header-menu.en li {	border-top: none;	border-left: 2px solid #444;}
#header-menu.en .here,
#header-menu.en li:hover {	border-left: 2px solid #fff;}

/*ヘッダーナビ
---------------------------------------------------------------------------*/
/*メニュー*/
header .header_menu {position: fixed; display: block; width: 100%; background: rgba(0,0,0,0.5); z-index: 500; }
header .nav { display: flex; justify-content: flex-end; flex-wrap: nowrap; padding-right: 3%; line-height: 80px; }
header .nav li {padding: 0 2%;}
header .nav li a { display: inline-block; text-decoration: none; font-size: clamp(0.8125rem, 0.5rem + 0.6667vw, 1rem);}
header .nav li.logo {width: 100px; margin-right: auto;}


/*コンテンツ
---------------------------------------------------------------------------*/
#contents {
 max-width: 1440px;
 margin: 0 auto;
	padding: 160px 0 0 0;
	position: relative;
	animation-name: amim1;
	animation-duration: 0.5S;	
	animation-delay: 0.5s;
	animation-fill-mode: both;
}
/*inner
---------------------------------------------------------------------------*/
.inner {margin: 0 auto;}

/*section
---------------------------------------------------------------------------*/
section {overflow: hidden; margin-bottom: 8%!important; padding: 0 2rem;}

.headline {
	clear: both;
	margin-bottom: 50px;
	font-size: 2.5rem;
	text-align: center;
	line-height: 2;
	letter-spacing: 0.1em;
	background: url("../img/tit_back.png") no-repeat center;
	background-size: contain;
}
.headline.toppage {
  line-height: 1.2;
}
.headline .copy {
    display: block;
    font-size: 60%;
    margin-bottom: 0.25em;
}

h2 {
	clear: both;
	margin-bottom: 50px;
	font-size: 2.5rem;	
	text-align: center;	
	letter-spacing: 0.1em;
  background: url("../img/tit_back.png") no-repeat center;
 background-size: contain;
}
h3 {
	clear: both;
	margin-bottom: 1em;
	font-size: 1.5rem;
	padding-left: 3%;
	letter-spacing: 0.1em;
	border-bottom: 1px solid #f00;
}
h3.s-item {font-size: 2rem; text-align: center; border-top: 1px solid #ccc;border-bottom: 1px solid #ccc; padding: 1.5rem 0; margin-bottom: 4rem; }
h3.s-item span.txt-r {display: inline-block font-size: 1rem; text-align: right; margin-right: 1%; line-height: 1.2;}

h4 {
	clear: both;
	margin-bottom: 2rem;
	font-size: clamp(1.25rem, 0rem + 2.6667vw, 2rem);
	letter-spacing: 0.1em;
	border-bottom: 1px solid #f00;
 line-height: 1.7;
 padding-bottom: 1rem;
}
h4.sub_menu { font-size: 2.2rem; background: rgb(0,0,0,0.4); text-align: center;}

.menu_list h4.menu {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    border-bottom: solid 1px #960d0d;
    padding-bottom: 5px;
    font-size: 1.8rem;
    letter-spacing: 0.1em;
}
.menu_list h4 span.YenR {
    float: none;
    clear: none;
    margin-top: 0.3rem;
    align-self: flex-end;
    font-size: 1.5rem;
    white-space: nowrap;
    letter-spacing: 0;
}
.menu_list h4 span.tax {font-size: 1rem; margin-top: 1.5rem;}
.f_small {font-size: 1rem; line-height: 1.5;}
h4 span.f_s {font-size:1rem; letter-spacing: 0;}

.sub_menu-copy {font-size:1.2rem;}
.drink_sub_ttl {font-size: 1.5rem;}

.top_menu h4 {text-align: center; border-bottom: 1px solid #ccc; font-size: 2rem;}
ul.top_menu {display: flex; flex-wrap: wrap; justify-content: space-between; margin-bottom: 4rem;}
ul.top_menu li {width: 48%; display: flex; flex-direction: column; margin-bottom: 2rem;}
ul.top_menu li > div.btn {margin-top: auto; position: relative;}
ul.top_menu li > div.btn a {border:solid 1px #fff; padding: 0.8rem 2rem 0.8rem 0.8rem ; display: block; color: #fff; text-decoration: none; font-size: 1.2rem; text-align: center;}
ul.top_menu li > div.btn::after {
		content: "";
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 2rem;
  width: 13px;    /* くの字を山なりに見た時、左側の長さ */
  height: 13px;   /* くの字を山なりに見た時、右側の長さ */
  border-top: 3px solid #fff;     /* くの字を山なりに見た時、左側の太さと色 */
  border-right: 3px solid #fff;   /* くの字を山なりに見た時、右側の太さと色 */
  transform: rotate(45deg); 
}
ul.top_menu li > div.btn a:hover {background: #fff; color:#333;}

.title-border {display: flex;align-items: center;}
.title-border:after {border-top: 1px solid #999; content: "";flex-grow: 1;}
.title-border:after {margin-left: 0.5rem;}

#contents p { overflow-wrap: break-word;}
#contents p span {display:inline-block;}
section.inner {padding-top: 100px; margin-top:-100px;}

/* photo
---------------------------------------------------------------------------*/
.insta {max-width: 250px; margin: 1rem auto;}
#contents .ImagePhoto { 
	display: flex;
 flex-wrap: wrap;
	align-items: center;
	color: #e8e4df;
	margin-bottom: 30px;
	box-shadow: 0px 0px 30px rgba(0,0,0,0.5);
}
#contents .ImagePhoto .photo {width: 50%;}
#contents .ImagePhoto .txt {width: 40%; padding: 2rem; font-size: 18px;}

#contents .interior { 
	display: flex;
	color: #e8e4df;
	margin-bottom: 80px;
	box-shadow: 0px 0px 30px rgba(0,0,0,0.5);
}
#contents .interior .photo {}
#contents .interior .photo.p_l {box-shadow: -30px 30px rgba(160,33,26,0.6);}
#contents .interior .photo.p_r {box-shadow: 30px 30px rgba(160,33,26,0.6);}
#contents .interior .txt { width: 40%; margin: 0 2rem; padding: 3%; font-size:clamp(0.813rem, 0.67rem + 0.61vw, 1.125rem); display: flex; flex-direction: column; }
#contents .interior .txt div.movie_btn_link {margin-top: auto;}
#contents .interior .txt div.btn a { display: inline-block; border:1px solid #fff; padding:10% 15%; color: #fff; text-decoration: none;}
#contents .interior .txt div.btn a:hover {background: #fff; color:#333;}
#contents .interior .txt p {margin-bottom: 1rem;}

#contents .list {
	display: flex;
	align-items: center;
	background: #111;	
	color: #e8e4df;	
	margin-bottom: 30px;
	box-shadow: 0px 0px 30px rgba(0,0,0,0.5);	
}
#contents .list a {color: #e8e4df;}
#contents .list h4 {margin-bottom: 20px;font-size: 1.25rem;}
#contents .list p {padding: 0;padding-bottom: 20px;}
#contents .list figure,
#contents .list video {width: 50%;opacity: 0.4;}
#contents .list .text {width: 40%;padding: 2% 5%;}
#contents .list:nth-of-type(even) .text {order: 1;}

#contents .list-column-container {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: 0 3%;
}
#contents .list-column {
	display: flex;
	flex-direction: column;	
	width: 32%;
	margin-bottom: 20px;
	background: #111;
	color: #e8e4df;	
	border-radius: 10px;
	overflow: hidden;
}
#contents .list-column a {	color: #e8e4df;}
#contents .list-column h4 {line-height: 1;margin-bottom: 20px;font-size: 1.25rem;}
#contents .list-column p {padding: 0;font-size: 0.875rem;}
#contents .list-column .text {padding: 10%;flex: 1 0 auto;}

/* Google Map
---------------------------------------------------------------------------*/
.googleMap {
  margin-bottom: 48px;
  position: relative;
  width: 100%;
  height: 450px;
}
.googleMap iframe {
    filter: grayscale(50%) invert(92%) contrast(83%) hue-rotate(180deg);
}

.address {text-align: center;font-size: 1.2rem; margin-bottom: 2rem;}

/*フッター
---------------------------------------------------------------------------*/
footer {
	clear: both;
	font-size: 0.875rem;
	color: #ccc;
	text-align: center;
}
footer .mark {max-width: 300px; margin: 0 auto;}
footer .phone {font-size: 2em;}
footer .phone span {font-size: 2.2em;}
footer .phone a, footer .phone span a {text-decoration: none; color: #fff;}
#copyright {clear: both; text-align: center; background: #000; padding: 20px 0;}

/*SNS
---------------------------------------------------------------------------*/
ul.icon {margin-bottom: 20px;}
ul.icon li {display: inline-block;}
ul.icon img {width: 40px;}
ul.icon img:hover {opacity: 0.8;}

/*Table 設定
---------------------------------------------------------------------------*/
.info_table {width: 80%; margin: 0 auto;}

/*ta01
---------------------------------------------------------------------------*/
.ta01 caption, .ta02 caption {
	border-bottom: none;
	text-align: left;
	background: rgba(0,0,0,0.3);
	font-weight: bold;
	padding: 15px 10px;
}
.ta01 {width: 98%;ta-layout: fixed; margin: 0 3% 30px; font-size: 1.15em;}
.ta01, .ta01 td, .ta01 th {padding: 15px 10px;word-break: break-all;}
.ta01 th {width: 28%; vertical-align: top; text-align: left; font-weight: normal;}
.ta01 ul.disc {padding-bottom: 0;padding-left: 20px;}
.ta01 td.txtR {text-align: right;}

.ta02 caption, .ta2 caption {
	border: 1px solid #ccc;	
	border-bottom: none;	
	text-align: left;	
	background: rgba(0,0,0,0.3);	
	font-weight: bold;
	padding: 15px 10px;	
}
.ta02 {	table-layout: fixed; width: 100%;	margin: 0 auto 2rem;}
.ta02, .ta02 td, .ta02 th {	border-top: 1px solid #ccc;	padding: 1rem;	word-break: break-all;}
.ta02 td.last,.ta02 th.last {border-bottom: 1px solid #fff;}
.ta02 th {	width: 150px;	text-align: center;	font-weight: normal;}
.ta02 ul.disc {	padding-bottom: 0;	padding-left: 20px;}


/*-- Top concept -- */
div.concept p {font-size: 1.2rem; text-align: center;}


/*-- menu -- */
div.language {font-size: 1.2rem; margin-bottom: 2rem; text-align: center;}
div.language a {color: #fff; text-decoration: none; }
div.language a:hover {color:#F04A4D;}

ul.menu-tab { margin: 0 auto 2rem; display: flex; flex-wrap: wrap; justify-content: space-between;}
ul.menu-tab li {
  white-space: nowrap;
  text-align: center;
  margin-bottm: 2rem;
		border-radius: 8px;
		transition: .5s;
	}
	ul.menu-tab li a {
		display: block; 
		font-weight: bold; 
		font-size: 1.2em; 
		color: White; 
		text-shadow: 0 -1px 0 rgba(0,0,0,.2); 
		text-decoration: none; 
		padding: 10px .5em; 
		border: 1px solid #fff; 
		border-radius: 8px;
	}
		ul.menu-tab li a:hover { background: #b2832d; border: 1px solid #b2832d;}
		ul.menu-tab li.here {background: #b2832d; border: 1px solid #b2832d; border: none; font-weight: bold; font-size: 1.2em; padding: 10px 0; color: White; }


/* -----------------------------------
 * スマホ向け（デフォルト）
 * ----------------------------------- */
ul.menu-tab-sub {
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* スマホは綺麗な2列 */
  gap: 10px 12px;
  list-style: none;
  padding: 0;
  margin: 0 auto 30px;
}

ul.menu-tab-sub li {
  margin-bottom: 0; /* Grid側のgapで間隔を制御するため基本は0 */
  transition: .5s;
}

ul.menu-tab-sub li a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 6px 10px;
  box-sizing: border-box;
  text-align: center;
  font-weight: bold; 
  font-size: 1rem; /* スマホで大きすぎないよう調整 */
  color: #fff; 
  text-decoration: none; 
  border: 1px solid #fff; 
  border-radius: 8px;
}


/* -----------------------------------
 * タブレット・PC向け（768px〜）
 * ----------------------------------- */
@media (min-width: 768px) {
  ul.menu-tab li { 
    width: 24%; 
  }

  ul.menu-tab-sub { 
    display: flex; 
    flex-wrap: wrap; 
    justify-content: center; /* 中央寄せ */
    gap: 12px;               /* ボタン同士の間隔 */
    margin-bottom: 2rem;
  }

  /* 個別のwidth指定を解除し、flexで自動計算・折り返し */
  ul.menu-tab-sub li,
  ul.menu-tab-sub li.drink { 
    width: auto; 
    min-width: 130px; /* ボタンの最小幅を確保 */
    margin: 0;
  }

  ul.menu-tab-sub li a { 
    padding: 8px 16px; 
    font-size: 13px; 
    letter-spacing: -0.3px; 
    min-height: 48px;
  }

  ul.menu-tab-sub.drink {
    margin-bottom: 2rem;
  }
}

.tab-wrap { max-width: 1920px; display: flex; flex-wrap: wrap; margin:20px auto; }
.tab-label {
  color: White;
  border: 1px solid #fff;
  font-weight: bold;
  font-size: 1.2em;
  text-shadow: 0 -1px 0 rgba(0,0,0,.2);
  white-space: nowrap;
  text-align: center;
  padding: 10px .5em;
  margin: 0 20px 60px;
  order: -1;
  position: relative;
  z-index: 1;
  cursor: pointer;
  border-radius: 8px;
  flex: 1;
  transition: .5s;
}
.tab-label:not(:last-of-type) { margin-right: 5px;}
.tab-content {
  width: 100%;
  height: 0;
  overflow: hidden;
  opacity: 0;
}
/* アクティブなタブ */
.tab-switch:checked+.tab-label { background: #b2832d; border: 1px solid #b2832d;}
.tab-switch:checked+.tab-label+.tab-content {
  height: auto;
  overflow: auto;
  padding: 15px;
  opacity: 1;
  transition: .5s opacity;
  box-shadow: 0 0 3px rgba(0,0,0,.2);
}
/* ラジオボタン非表示 */
.tab-switch { display: none;}

/* menu_list
--------------------------------------------- */
ul.menu_omakase {display: flex; flex-wrap: wrap; justify-content: space-between; margin-bottom: 4rem;}
ul.menu_omakase li.photo {width: 58%;}
ul.menu_omakase li.menu_list {	width: 40%; margin: 0 auto 2%; border-bottom: 1px dashed #999;}
ul.menu_omakase .menu_list.lineNo { border-bottom:none; }
ul.menu_omakase .menu_list > dl { display: flex; flex-wrap: wrap; width: 100%; margin-bottom: 2.5em; line-height: 1.5; }
ul.menu_omakase .menu_list > dl > * { padding-bottom: 0.3em; font-size: clamp(0.8125rem, 0.5rem + 0.6667vw, 1rem);}
ul.menu_omakase .menu_list dt { margin-right: 0.5em;  padding-left: 1em; width: 15%; text-align: center;}
  ul.menu_omakase .menu_list > dl.en > dt { text-align: left; width: 20%;}/*english*/
ul.menu_omakase .menu_list dd { margin-bottom: 0.5em; vertical-align: bottom; width: 70%;}
  ul.menu_omakase .menu_list > dl.en > dd { width: 68%;}/*english*/
ul.menu_omakase .menu_list > p { padding-bottom: 0.3em;}

.menu_list {
	max-width: 680px; margin: 2% auto; border-bottom: 1px dashed #999;}
.menu_list.lineNo { border-bottom:none; }
.menu_list > dl { display: flex; flex-wrap: wrap; width: 100%; margin-bottom: 2.5em; line-height: 1.5; }
.menu_list > dl > * { padding-bottom: 0.3em; font-size: 1.15rem;}
.menu_list dt { margin-right: 0.5em;  padding-left: 1em; width: 11%; text-align: center;}
.menu_list dd { margin-left: 1em; margin-bottom: 0.8em; vertical-align: bottom; width: 80%;}
.menu_list > p { padding-bottom: 0.3em;}
.menu_list dt span.f_l {font-size: 1.8rem;}

.menu_list.lunch dl dt {width: 73%; margin-bottom: 1.2em; text-align: left;}
.menu_list.lunch dl dd {text-align: right; width: 16%; margin-top: 1rem;}
span.tax {font-size: 1rem;}

div.lunch_gozenMenu {display: table; width: 100%; }
p.gozenMenu {display: table-cell; text-align: left; font-size: 1.8rem; padding: 0!important;}
p.yen {display: table-cell; text-align: right; font-size: 1.4rem; padding: 0!important;}

p.yen_r {text-align: right; font-size: 1.4rem; line-height: 1.3; padding-bottom: 0.5rem!important;}

.menu_lunch_content {}
ul.lunch_content { display: flex; flex-wrap: wrap; justify-content: space-between; margin-bottom: 4rem;}
ul.lunch_content.center {justify-content: center;}
ul.lunch_content li {width: 32%; margin-bottom: 2rem;}
.menu_lunch_content p {padding: 0!important; margin-top: 0.5rem;}

.menu_single_content {}
ul.single_content { display: flex; flex-wrap: wrap; justify-content: space-around; margin-bottom: 2rem;}
ul.single_content.center {justify-content: center;}
ul.single_content li {width: 24%; margin-bottom: 2rem; border-bottom:1px solid #ccc; display: flex; flex-direction: column; position: relative;}
 ul.single_content li p.LINEunder {position: absolute; bottom:-30px;}
p.menu_ttl {font-size: 1.4rem; line-height: 1.3; padding: 0!important; margin-top: 0.5rem; flex-grow: 1;}
.menu_single_content p { margin-top: 0.5rem;}
ul.single_content li.txt {width: 45%; display: table; padding-bottom: 0.5rem;}
ul.single_content li.txt p.menu_ttl {display: table-cell; text-align: left; }
ul.single_content li.txt p.yen_r {display: table-cell; text-align: right; font-size: 1.4rem; line-height: 1.3; padding: 0!important; vertical-align: bottom; }

ul.single_content li .rice {width: 100%; display: table; padding-bottom: 0.5rem;}
ul.single_content li .rice p.menu_ttl {display: table-cell; text-align: left;}
ul.single_content li .rice p.yen_r {display: table-cell; text-align: right; font-size: 1.4rem; line-height: 1.3; padding: 0!important; vertical-align: bottom;}

ul.drink_content { display: flex; flex-wrap: wrap; justify-content: space-around; margin-bottom: 2rem;}
ul.drink_content.center {justify-content: center;}
ul.drink_content li {width: 40%; margin-bottom: 2rem; display: flex; flex-direction: column;}
ul.drink_content li >.menu_ttl {border-bottom:1px solid #ccc; padding-bottom: 0.5rem!important;}
ul.drink_content li >.yen_r {font-size: 1.2rem; margin-top: 1rem;}
ul.drink_content li.Single {width: 60%; margin-bottom: 2rem;}
ul.List_drink {display: flex; justify-content: space-between; flex-wrap: wrap;}
ul.List_drink li {margin: 0 0 0 2rem; list-style-type: disc; }



/* Movie List
---------------------------------------------*/
.movieList{display:flex; flex-wrap: wrap; justify-content: space-around; margin-bottom: 4%;}
.movieList .item { width: 30%; margin: 0 15px 25px 15px; }
.movieList .item a{
  width: 100%;
  color: #05161a;
  text-decoration: none;
  outline: none;
  }
.movie_img {
  position: relative;
  display: block;
  background-color: #05161a;
  line-height: 0;
}
.movie_img img {
  width: 100%;
  opacity: 0.9;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
}
.movie_ttl {
  margin: 15px 0;
  padding: 15px 12px;
  font-size: 16px;
		color: #fff;
  border-top: 1px solid #f00;
  border-bottom: 1px solid #f00;
}
.movie_img:after {
  content: url(../img/icon_movie_play.png);
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -45px 0 0 -45px;
  width: 90px;
  height: 90px;
}


/* 営業時間
--------------------------------------------- */
.openingHours {max-width: 540px;  margin: 0 auto;}
.openingHours dl {margin: 0 6%;}
.openingHours dl dt {float: left; clear: both; width: 15%;}
.openingHours dl dd {float: right; width: 82%; margin-bottom: 2%;}
.openingHours dl dd span { display: block; color: red; font-size: 0.8em; line-height: 1.5;}

.openingHours-en {max-width: 640px;  margin: 0 auto;}
.openingHours-en dl {margin: 0 6%;}
.openingHours-en dl dt {float: left; clear: both; width: 25%;}
.openingHours-en dl dd {float: right; width: 75%; margin-bottom: 2%;}
.openingHours-en dl dd span { display: block; color: red; font-size: 0.8em; line-height: 1.5;}

/* 予約ボタン 下
--------------------------------------------- */
.reserve_under { margin: 1% auto 4%; text-align: center;}
.reserve_under a { display: inline-block; padding:1% 10%; font-size: 1.5rem; color: #fff; border: solid 1px #fff;  text-decoration: none; transition: .5s;}
.reserve_under a:hover { background: #ccc; color: #000;}

/* 予約ボタン 右
--------------------------------------------- */
.reserve_FR a {
  position: fixed;
  top: 80px;
  right: 0;
  z-index: 10;
  color: #fff;
  background-color: #000;
  font-size: 1.2em;
  font-weight: bold;
  text-decoration: none;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  padding: 1rem 0.3rem;
  white-space: nowrap;
}
.reserve_FR a:hover {background: #ccc; color: #000;}

/*メニューページ
---------------------------------------------------------------------------*/
dl.text-menu dt {background: rgba(0,0,0,0.5); border-radius: 5px; padding: 5px 10px; text-align: center;}
dl.text-menu dd + dt {margin-top: 10px;}
dl.text-menu dd {overflow: hidden;margin: 0px 20px;border-bottom: 1px solid rgba(255,255,255,0.1);}
dl.text-menu dd .price {float: right;}

/* トップへボタン
-------------------- */
/* ボタンのスタイル */
#page-top {
  /* buttonタグのリセットCSS */
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
  /* ボタンの装飾 */
  position: fixed;
  right: 30px;
  bottom: 30px;
  z-index: 100;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background-color: #000;
  border:1px solid #ccc;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
}
/* 矢印のスタイル */
#page-top::before {
  content: "";
  width: 12px;
  height: 12px;
  margin-bottom: -6px;
  border-top: solid 3px #fff;
  border-right: solid 3px #fff;
  transform: rotate(-45deg);
}
/* ホバー時のスタイル */
#page-top:hover { transform: scale(1.1);}


/* マージン */
.mgb10 {margin-bottom:0.6rem!important; } .mgb20 {margin-bottom:1.2rem!important; } .mgb30 {margin-bottom:1.6rem!important; }.mgb40 {margin-bottom:2.2rem!important; } .mgb60 {margin-bottom:3.2rem!important; } .mgb80 {margin-bottom:4rem!important; }
.mgb120 {margin-bottom:6rem!important; } .mgb160 {margin-bottom:8rem!important; }

.mgt10 {margin-top:0.6rem!important; } .mgt20 {margin-top:1.2rem!important; } .mgt30 {margin-top:1.6rem!important;}

.mgl20 {margin-left: 2rem;} .mgl30 {margin-left: 3rem;}

/*パンくずリスト
---------------------------------------------------------------------------*/
.breadcrumbs{
  letter-spacing: -0.4em;
  padding: 0;
  margin: 0 0 30px;
}
.breadcrumbs li{
display: inline;
letter-spacing: normal;
}
.breadcrumbs li:after{
content: '\003e';
margin-left: 5px;
margin-right: 5px;
}
.breadcrumbs li:last-child:after{
content: '';
}
.breadcrumbs li:first-child a{
padding: 0px;
}



/*画面幅800px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
/*@media screen and (max-width:800px){

全体の設定
---------------------------------------------------------------------------
html,body {font-size: 12px;}
 header .nav li { padding: 0 1rem; font-size: 1.2rem;}
 #contents .interior .txt { margin: 0 1rem; padding: 1rem; font-size: 1.2rem;}
 .h4 { font-size: 1.4rem;}
 p.menu_ttl { font-size: 1.2rem;}
 ul.single_content li .rice p.yen_r { font-size: 1.2rem;}
 span.tax {font-size: 0.6rem;}
 ul.menu_omakase { margin-bottom: 4rem;}
  ul.menu_omakase li.photo { width: 80%; margin: 0 auto 2rem;}
  ul.menu_omakase li.menu_list { width: 100%; margin: 0 auto 2%;}
  ul.menu_omakase .menu_list > dl { margin-bottom: 1em;}
  ul.menu_omakase .menu_list dd { margin-bottom: 0.2em;}
  .reverse { flex-direction: column-reverse;}
}
*/

/*画面幅480px以下の設定
-----------------------------------------------------------------------------*/
@media screen and (max-width:480px){
  .pc {display: none;}
  .sp {display: block;}
  /*全体
  ---------------------------------------------------------------------------*/
  html,body {	font-size: 4vw; background-size: contain;}
  p {font-size: 3.5vw;}

  /*ヘッダー
  ---------------------------------------------------------------------------*/
  header #inner-header {
    position: absolute;
    top:0;
    left: 10px;
    text-align: center;
    z-index: 1;
  }
  header #logo { margin-left: 0;}
  .home header #top_logo {float: none; max-width: 80px; margin: 0 4% 20% auto; padding: 10% 0 50%; background: linear-gradient( rgba(0,0,0,1) 50%, rgba(0,0,0,0) 100%);}
  /*ヘッダーナビ*/
  header .nav { display: flex; justify-content: flex-end; flex-wrap: nowrap; padding-right: 2%; line-height: 60px; }
  header .nav li a { display: inline-block; margin-left:2%; text-decoration: none; width: 60px;}
 
 
 #contents {padding:0 1rem;}
 .insta {max-width: 150px;}
 
 div.concept p { font-size: 1rem;}
 
  /*メニュー
  ---------------------------------------------------------------------------*/
  /*スマホ用メニュー*/
  #menubar {
   overflow: auto;
    height: 100%;
   position: fixed;
    z-index: 600;
   top: 0px;
   width: 100%;
   background: rgba(0,0,0,0.8);
   text-align: center;
   color: #fff;
  }
  #menubar ul {
   position: absolute;
   width: 50%;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
   padding: 15% 10%;
   border: 1px solid #999;
   background: rgba(0,0,0,0.5);
   animation-name: amim1;
   animation-duration: 1s;
   animation-fill-mode: both;
  }
  #menubar ul li a {display: block; font-size: 1.5em; text-decoration: none; color: #eee; padding: 10px 0;}
  #menubar .current a,
  #menubar a:hover {color: #fff;}

  /*ハンバーガーメニュー
  ---------------------------------------------------------------------------*/
  #menubar_hdr { position: fixed; z-index: 600; top: 0; right: 0;}
  /*アイコン*/
  #menubar_hdr.close,
  #menubar_hdr.open {width: 50px;height: 50px;}
  #menubar_hdr.close {background: #000 url(../img/icon_menu.png) no-repeat center top/50px;	}
  #menubar_hdr.open {background: #000 url(../img/icon_menu.png) no-repeat center bottom/50px;}

  /*コンテンツ
  ---------------------------------------------------------------------------*/
  #contents {padding-top: 0px!important;}
  .headline { background-size: contain; width: 90%; margin: 2rem auto; font-size: 2rem; line-height: 1.2;}
  h2 { background-size: contain; width: 90%; margin: 2rem auto; font-size: 2rem; line-height: 1.5;}
  h3.s-item { font-size: 2rem; padding: 0.6rem 0; margin-bottom: 2rem;}

  #contents .list-column {	width: 100%;}
		section { padding: 0 0.2rem;}
  section.inner {padding-top: 50px; margin-top:-50px;}
  
  .reverse {flex-direction: column-reverse;}
 
  #contents .ImagePhoto .photo { width: 100%;}
  #contents .ImagePhoto .txt { width: 100%; padding: 0; margin-top: 1rem; font-size: 14px; }
  
  #contents .interior {
    flex-wrap: wrap;
    color: #e8e4df;
    margin-bottom: 2rem;
    box-shadow: 0px 0px 30px rgba(0,0,0,0.5);
 }
  #contents .interior .txt {
     width: 90%;
     margin: 0 1rem;
     padding: 2rem 0;
     font-size: 1.2rem;
     display: flex;
     flex-direction: column;
 }
  #contents .interior .photo.p_l { width: 95%; box-shadow: -15px 15px rgba(160,33,26,0.6); margin-left: auto;}
  #contents .interior .photo.p_r { width: 95%; box-shadow: 20px 20px rgba(160,33,26,0.6);}
  #contents .interior .txt div.btn a {width: 100%; box-sizing: border-box; text-align: center; padding: 0.5rem 1rem;}
  
  ul.top_menu li { width: 90%; margin: 0 auto;}
  ul.top_menu li > div.btn a { padding: 0.6rem 0.5rem 0.4rem 0.6rem; margin-top: 1.5rem;}
  ul.top_menu li > div.btn::after {
    content: "";
    margin: auto;
    position: absolute;
    top: 1.5rem;
    bottom: 0;
    right: 2rem;
    width: 8px;
    height: 8px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    transform: rotate(45deg);
}
  
    /* menu_list
  --------------------------------------------- */
  ul.menu-tab { margin-bottom: 2rem;}
  ul.menu-tab li a { font-size: 1rem;}
  ul.menu-tab li.here { font-size: 1rem;}
  ul.menu-tab li.en {width: 48%; margin-bottom: 1rem; font-size: 1rem;}
 
  ul.menu_omakase { margin-bottom: 4rem;}
  ul.menu_omakase li.photo { width: 100%; margin: 0 auto 1rem;}
  ul.menu_omakase li.menu_list { width: 100%; margin: 0 auto 2%;}
  ul.menu_omakase .menu_list > dl { margin-bottom: 1em;}
  ul.menu_omakase .menu_list dd { margin-bottom: 0.2em;}
 
  .menu_list h4 span.YenR { margin-top: 1.5rem;}
  ul.lunch_content li { width: 48%;}
  p.menu_ttl { font-weight: bold; font-size: 1rem;}
  .menu_lunch_content p {line-height: 1.5;}
  .f_L { font-size: 1.3rem;}
  .fs18 { font-size: 1rem;}
 
 /*単品タブ*/
  ul.menu-tab li {	width: 24%; }
  ul.menu-tab-sub { display: flex; flex-wrap: wrap; justify-content:space-around; margin-bottom: 4rem;}
  ul.menu-tab-sub li a { padding: 0.2rem 0.8rem; margin: 0 0.2rem; font-size: 0.9rem; }
  ul.menu-tab-sub.drink {margin-bottom: 4rem;}
  ul.menu-tab-sub li.drink { width: 48%; font-size: 0.8rem;}
 
  h4.sub_menu { font-size: 1.5rem; padding-bottom: 0.3rem;}
  .sub_menu-copy {font-size:1.6rem;}
 
  ul.single_content li { width: 46%; margin-bottom: 2rem; border-bottom: 1px solid #ccc; display: flex!important; flex-direction: column; position: relative;}
   ul.single_content li p.LINEunder {position: absolute; bottom:-30px;}
  ul.single_content li.txt p.menu_ttl {display: block; text-align: left; flex-grow: 1;}
  ul.single_content li.txt p.yen_r {display: block; text-align: right; font-size: 1.4rem; line-height: 1.3; padding: 0!important;}

  
  ul.drink_content li { width: 46%; margin-bottom: 2rem;}
  ul.drink_content li.txt p.menu_ttl {display: block; text-align: left;}
  ul.drink_content li.txt p.yen_r {display: block; text-align: right; font-size: 1.2rem; line-height: 1.3; padding: 0!important; margin-top: 0.5rem;}
 
  ul.single_content li .rice p.menu_ttl.NoTable {display:block;}
  ul.single_content li .rice p.yen_r.NoTable { display:block;}

 
  ul.List_drink {display: flex; justify-content: space-around; flex-wrap: wrap;}
  ul.List_drink li { width: 100%; margin: 0;}
 
 
  .menu_list h4.menu {
     display: flex;
     flex-direction: column;
     align-items: flex-start;
     border-bottom: solid 1px #960d0d;
     padding-bottom: 5px;
     font-size: 1.6rem;
     letter-spacing: 0.1em;
     line-height: 1.4;
   }
  .menu_list h4 span.YenR {
     float: none;
     clear: none;
     margin-top: 0.3rem;
     align-self: flex-end;
     font-size: 1.5rem;
     white-space: nowrap;
     letter-spacing: 0;
   }
 
  .menu_list h4 { margin-bottom: .5em; }
  .menu_list dt { margin-right: 0.5em;  padding-left: 1em; width: 13%;}
  .menu_list dd { margin-left: 1em; margin-bottom: 0.8em; vertical-align: bottom; width: 70%;}
  .menu_list > p { padding-bottom: 0.3em;}

  .menu_list.lunch dt {width: 72%!important; margin-bottom: 0.5em;}
  .menu_list.lunch dd {text-align: right; width: 14%}
 
		.movieList .item { width: 80%; margin: 0;}
		.movie_img:after {
    content: "";
    position: absolute;
    background: url(../img/icon_movie_play.png) no-repeat;
    background-size: contain;
    top: 50%;
    left: 50%;
    margin: -25px 0 0 -25px;
    width: 50px;
    height: 50px;
}
 
/* 営業時間
--------------------------------------------- */
.openingHours dl { margin: 0;}
.openingHours dl dt {float: left; clear: both; width: 18%; line-height: 1.5;}
.openingHours dl dd {float: right; width: 80%; margin-bottom: 2%; line-height: 1.5;}
 
/* ボタン
--------------------------------------------- */
 .reserve_under a { padding: 0.5rem 0.8rem; font-size: 1.2rem; }
 
  
  .ta01 {width: 98%;ta-layout: fixed; margin: 0 3% 30px; font-size: 1.15em; line-height: 1.5;}
  .ta01, .ta01 td, .ta01 th {padding: 10px 5px;word-break: break-all;}
  .ta01 th {width: 28%; vertical-align: top; text-align: left; font-weight: normal;}
  .ta01 ul.disc {padding-bottom: 0;padding-left: 20px;}
  .ta01 td.txtR {text-align: right; width: 18%; vertical-align: top;}

  .reserve_FR a {/*height: 140px;*/ top: 50px; padding: 1rem 0.4rem;}
 
 
  .address {text-align: center;font-size: 1rem; margin-bottom: 2rem;}
  
  footer .mark {max-width: 60%; margin: 0 auto;}
  footer .phone span { font-size: 1.5em;}

   /*Table 設定
  ---------------------------------------------------------------------------*/
  .info_table {width: 100%; margin: 0 auto;}
 
  /*テーブル（table01）
  ---------------------------------------------------------------------------*/
  table.ta01, table.ta01 td, table.ta01 th,
  table.ta02, table.ta02 td, table.ta02 th {padding: 1rem 0.4rem;}
  table.ta01 th {width: 100px;}
  .ta02 th {	width: 2.5rem;	text-align: center;	font-weight: normal;}

  /*その他
  ---------------------------------------------------------------------------*/
  .w48 {width: 100%;}
  .fl {float: none;}
  .fr {float: none;}
  .sh {display:block;}
  .pc {display:none;}
  .cnt_sp {text-align: center;}
  .mgts30 {margin-top:3rem!important; }


  /*パンくずリスト
  ---------------------------------------------------------------------------*/
  .breadcrumbs{
    margin: 15px 0;
  }
  
}


/*画面幅380px以下の設定
-----------------------------------------------------------------------------*/
@media screen and (max-width:380px){
  .pc {display: none;}
  .sp {display: block;}
   /*全体
  ---------------------------------------------------------------------------*/
  html,body {	font-size: 3vw; background-size: contain;}
  /*コンテンツ
  ---------------------------------------------------------------------------*/
  #contents {	padding-top: 90px;}

}