/*  RESET   */

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, 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,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

q, blockquote {
  quotes: none;
}
q:before, q:after, blockquote:before, blockquote:after {
  content: "";
  content: none;
}

a img {
  border: none;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block;
}

/* Base format */
 
html {
	font-size: 62.5%;
	height: 100%;
}

body {
  font-size: 14px;
  color: #333;
  font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro","ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: 400;
  height: 100%;
  line-height: 1.8;
  width: 100%;
}

p {
  margin-top: 0;
}

img {
  height: auto;
  max-width: 100%;
  vertical-align:bottom;
}

figure {
  margin: 0;
}

li {
  margin-bottom: .5em;
}

input[type="submit"] {
	-webkit-appearance: none;
	border-radius: 0;
}

/* table */

table {
  width: 100%;
  border-collapse:collapse;
}

table th {
  font-weight:normal;
  background:#D5E4F2;
}

table th, table td {
	border:1px #CCCCCC solid;
	padding:13px;
	text-align: left;
}

@media screen and (max-width: 768px) {
	.table-scroll {
		position: relative;
		overflow-x: auto;
		white-space: nowrap; 
	}
}

/* margin */

.m-0 { margin: 0;}
.mt-0 { margin-top: 0;}
.mb-0 {  margin-bottom: 0px;}
.mb-5 {  margin-bottom: 5px;}
.mb-10 { margin-bottom:10px;}
.mb-20 { margin-bottom:20px;}
.mb-30 { margin-bottom:30px;}
.mb-40 { margin-bottom:40px;}
.mb-50 { margin-bottom:50px;}
.mb-60 { margin-bottom:60px;}
.mb-70 { margin-bottom:70px;}
.mb-80 { margin-bottom:80px;}
.mb-90 { margin-bottom:90px;}
.mb-100 { margin-bottom:100px;}
.mb-120 { margin-bottom:120px;}

@media screen and (min-width: 769px) {
	.col-1 { width: 8.33333%; }
	.col-2 { width: 16.66667%; }
	.col-3 { width: 25%; }
	.col-4 { width: 33.33333%; }
	.col-5 { width: 45.8333333333%; }
	.col-6 { width: 50%; }
	.col-7 { width: 58.33333%; }
	.col-8 { width: 65%; }
	.col-9 { width: 75%; }
	.col-10 { width: 83.33333%; }
	.col-11 { width: 91.66667%; }
	.col-12 { width: 100%; }
}

@media screen and (max-width: 768px) {
  .col-md-1 { width: 8.33333%; }
  .col-md-2 { width: 16.66667%; }
  .col-md-3 { width: 25%; }
  .col-md-4 { width: 33.33333%; }
  .col-md-5 { width: 41.66667%; }
  .col-md-6 {  width: 50%;}
  .col-md-7 {  width: 58.33333%;  }
  .col-md-8 { width: 66.66667%; }
  .col-md-9 { width: 75%; }
  .col-md-10 {  width: 83.33333%; }
  .col-md-11 {  width: 90%; }
  .col-md-12 {  width: 100%; } 
}

/* status */

.right { text-align: right; }
.center { text-align: center; }

.caution {
	font-size:1.2rem;
}
section .inner {
	max-width:1200px;
	margin:0 auto;
}

.bg_red {
	background:url(../img/common/bg_red.jpg);
	color:#FFF;
}


@media screen and (min-width: 769px) {
	.overflow { overflow: hidden; }
	.fl-l { float: left; }
	.fl-r { float: right; }
	.pc-none { display:none; }
}
@media screen and (max-width: 768px) {
	.fl-l { margin-bottom:20px; }
	.sp-none { display:none; }
	section .inner {
		width:90%;
	}
	.sp-br {
		display:block;
	}
}

/* link */

a {
	outline: none;
}
.opa:hover {
	opacity:0.8;
}

[class*="btn-type"] {
	text-decoration:none;
	display:inline-block;
	text-align:center;
	-webkit-transition: all .3s;
	transition: all .3s;
}

.btn-type01 {
	color:#FFF;
	text-align:center;
	border:#FFF 1px solid;
	padding:10px 0;
}
.btn-type01:hover {
	background:rgba(255,255,255,0.2);
}

.btn-type02 {
	font-family:"ヒラギノ明朝 Pro W6", "Hiragino Mincho Pro", serif;
	color:#E40611;
	font-size:2rem;
	border:#E40611 3px solid;
	padding:25px 0;
	display:block;
	position:relative;
}
.btn-type02:after {
	content:url(../img/common/icn_arrow.png);
	line-height:1;
	height:20px;
	position:absolute;
	top:0;
	bottom:0;
	margin:auto;
	right:20px;
}
.btn-type02:hover {
	background:#E40611;
	color:#FFF;
}
.btn-type02:hover:after {
	content:url(../img/common/icn_arrow_w.png);
}

@media screen and (min-width: 769px) {
	.btn-type01 {
		width:210px;
	}
	.btn-type02 {
		max-width:1000px;
		margin:0 auto;
	}
}
@media screen and (max-width: 768px) {
	.btn-type01 {
		display:block;
	}
}

/* title */

h2.center {
	margin-bottom:60px;
}
.ttl-type01 {
	text-align:center;
	font-size:2.2rem;
	color:#E40611;
	position:relative;
	margin-bottom:45px;
}
.ttl-type01 span {
	background:#FFF;
	padding:0 12px;
}

.ttl-type01:before, .ttl-type01:after{
	content:"";
	width:100%;
	height:1px;
	background:#E40611;
	position:absolute;
	left:0;
	z-index:-1;
}

.ttl-type01:before {
	top:47%;
}
.ttl-type01:after {
	top:53%;
}

.ttl-type02 {
	text-align:center;
	font-size:1.8rem;
	color:#FFF;
	background:#E40611;
	padding:5px 0;
	margin-bottom:40px;
	position:relative;
}

.ttl-type02:before, .ttl-type02:after {
	content:url(../img/common/icn_title.png);
	position:absolute;
	height:22px;
	top:0;
	bottom:0;
	margin:auto;
}
.ttl-type02:before {
	left:10px;
}
.ttl-type02:after {
	right:10px;
}
	
	
/* ----------------------------

            header
	   
-------------------------------*/

#header {
	z-index: 1;
	width: 96%;
	padding:2%;
	-webkit-transition: all .3s;
	transition: all .3s;
}

@media screen and (min-width: 769px) {
	#header {
		position:fixed;
		overflow: hidden;
	}
	#header.fixed {
		background:rgba(0,0,0,0.5);
		padding:1%;
		width:98%;
	}
	#header.fixed .logo{
		width:3%;
	}
}
@media screen and (max-width: 768px) {
	#header {
		position:absolute;
	}
	#header .logo {
		width: 25%;
		padding: 8%;
	}
}
/* nav */


#header ul.nav li a {
	text-decoration:none;
	z-index: 2;
	overflow:hidden;
	position: relative;
	padding:0 10px;
}

#header ul.nav li a,
#header ul.nav li a::after {
	-webkit-transition: all .3s;
	transition: all .3s;
}

#header ul.nav li a::after {
	content: '';
	position: absolute;
	top:0;
	width: 100%;
	height: 100%;
	z-index: -1;
	display: block;
}

@media screen and (min-width: 769px) {
	#header ul.nav li {
		display:inline-block;
	}
	#header ul.nav li.top {
		display:none;
	}
	#header ul.nav li a {
		color:#FFF;
		margin:0 15px;
		display:block;
	}
	#header ul.nav li a::after {
		left: -50px;
	}
	#header ul.nav li a:hover::after {
		left: 0;
		background-color:rgba(255,255,255,0.2);
	}
}

@media screen and (max-width: 768px) {
	#header ul.nav {
		position:fixed;
		right:-500px;
		top:50px;
		-webkit-transition: all .3s;
		transition: all .3s;
	}
	#header ul.nav.block {
		right:0px;
		top:0;
		height:100%;
		padding:60px 20px 30px;
		background:rgba(255,255,255,0.8);
		z-index:1;
		display:block;
	}
	#header ul.nav.block li {
		overflow:hidden;
	}
	#header ul.nav li {
		text-align:right;
	}
	#header ul.nav li a { 
		color:#1F1F1F;
	}
	#header ul.nav li a::after {
		right:-50px;
	}
	#header ul.nav li a:hover::after {
		right:0;
		background-color:rgba(0,0,0,0.2);
	}
}
/* ボタン */
	
.menu-trigger,
.menu-trigger span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}
.menu-trigger {
	float:right;
	position:fixed;
	width: 30px;
	height: 25px;
	z-index:101;
	top:15px;
	right:20px;
}
.menu-trigger span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 3px;
	background-color: #1F1F1F;
}
.menu-trigger span:nth-of-type(1) { top: 0; }
.menu-trigger span:nth-of-type(2) { top: 11px; }
.menu-trigger span:nth-of-type(3) { bottom: 0; }

.menu-trigger.active span:nth-of-type(1) {
	-webkit-transform: translateY(20px) rotate(-45deg);
	transform: translateY(11px) rotate(-45deg);
}
.menu-trigger.active span:nth-of-type(2) {
	opacity: 0;
}
.menu-trigger.active span:nth-of-type(3) {
	-webkit-transform: translateY(-20px) rotate(45deg);
	transform: translateY(-11px) rotate(45deg);
}
	
@media screen and (min-width: 769px) {
	.menu-trigger {
		display:none;
	}
}
/* ----------------------------

           footer
	   
-------------------------------*/
#footer {
	text-align:center;
	padding:50px 0;
}

#footer .copy {
	font-size:1rem;
}


/* ----------------------------

           main
	   
-------------------------------*/
#main {
	position:relative;
}
#main .main_img img{
	width:100%;
}

#main h1 {
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	right:0;
	margin:auto;
	width:113px;
	height:320px;
}
@media screen and (min-width: 769px) {
	#main {
		margin-bottom:75px;
	}
}
@media screen and (max-width: 768px) {
	
	#main h1 {
		height: 100px;
		width: 12%;
	}
}

/* intoro */
.intoro {
	font-size:1.6rem;
	line-height:2;
	position:relative;
}

@media screen and (min-width: 769px) {
	.intoro:before, .intoro:after {
		position:absolute;
	}
	.intoro:before {
		content:url(../img/main/bg_dish_l.jpg);
		left:3%;
		top:35%;
	}
	.intoro:after {
		content:url(../img/main/bg_dish_r.jpg);
		right:2%;
		bottom:-25%;
	}
}

/* recommend */
.recommend {
	padding:100px 0;
	line-height:2;
}

.recommend h2 {
	border-bottom:#FFF 1px solid;
	padding-bottom:5px;
	margin-bottom:15px;
	display:inline-block;
}

.recommend h3 {
	font-size:2.4rem;
	margin-bottom:15px;
}

@media screen and (min-width: 769px) {
	.recommend .img {
		margin-right:35px;
		text-align:right;
	}
}
@media screen and (max-width: 768px) {
	.recommend img {
		width:100%;
	}
}

/* reservation */
@media screen and (min-width: 769px) {
	.reservation {
		position: absolute;
		right: 5%;
		bottom: 5%;
		padding: 15px 15px;
		border-radius: 5px;
	}
}
@media screen and (max-width: 768px) {
	.pc-none.reservation {
		display:block;
		text-align:center;
		padding:15px 0;
		margin-bottom: 75px;
	}
}
	
/* ----------------------------

           menu
	   
-------------------------------*/

@media screen and (min-width: 769px) {
	#menu {
		position:relative;
	}
	
	#menu:before {
		content:url(../img/common/bg_flower_r.png);
		position:absolute;
		right:0;
		z-index:-101;
	}
	.lunc {
		position:relative;
	}
	.lunc:after {
		content:url(../img/common/bg_flower_l.png);
		position:absolute;
		left:0;
		top:0;
		z-index:-101;
	}
}

ul.menu dl {
	overflow:hidden;
	margin-bottom:40px;
}

ul.menu dl dt, ul.menu dl dd:nth-child(2)  {
	color:#E40611;
}

ul.menu dl dd:not(:nth-child(2)){
	font-size:1.2rem;
	margin-top:10px;
}


@media screen and (min-width: 769px) {
	ul.menu dl dt {
		width:80%;
		float:left;
	}
	ul.menu dl dd:not(:nth-child(2)){
		float:left;
	}
	
	ul.menu dl dd:nth-child(2) {
		width:20%;
		float:right;
		text-align:right;
	}
}

/* menu_img */

@media screen and (min-width: 769px) {
	ul.menu_img {
		letter-spacing:-.40em;
		text-align:center;
	}
	
	ul.menu_img li {
		letter-spacing:normal;
		display:inline-block;
		width:20%;
	}
}
@media screen and (max-width: 768px) {
	ul.menu_img li img{
		width:100%;
	}
}



/* ----------------------------

           info
	   
-------------------------------*/


#info .name {
	margin-bottom:20px;
}

#info .name span {
	font-family:"ヒラギノ明朝 Pro W6", "Hiragino Mincho Pro", serif;
	font-size:2.4rem;
	margin-right:20px;
}

ul.info_list dl {
	overflow:hidden;
}

@media screen and (min-width: 769px) {
	#info .bg_red {
		padding:55px 2% 55px 5%;
		width:43%;
		height:390px;
	}
	ul.info_list dt {
		float:left;
		width:25%;
	}
	
	ul.info_list dd {
		float:right;
		width:75%;
	}
	
	ul.info_list dd:before {
		content:"／";
	}
	ul.info_list dd:not(:nth-child(2)):before {
		color:rgba(0,0,0,0);
	}
}
@media screen and (max-width: 768px) {
	#info .bg_red {
		padding:55px 5%;
	}
	#info .name span {
		display:block;
	}
	ul.info_list dt {
		font-weight:bold;
	}
}

/* map */
#map {
	height: 500px;
}

@media screen and (min-width: 769px) {
	#map {
		width: 50%;
	}
}