/* COMMON ________________________________________*/

@import url('https://fonts.googleapis.com/css?family=Muli');
@import url('https://fonts.googleapis.com/css?family=Didact+Gothic');


body{
	font-family:'Didact Gothic','Muli','Lato','YuGothic', 'Yu Gothic', '游ゴシック', '游ゴシック体','ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	line-height:1.4;
	color: #1a1a1a;
	background: #fff;
	opacity: 0;
	transition: 0.3s;
	word-wrap : break-word;
  overflow-wrap : break-word;
	}

.gothic{
	font-family:'YuGothic', 'Yu Gothic', '游ゴシック', '游ゴシック体','ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	}

.mincyo{
	font-family:'A-OTF A1明朝 Std','A-OTF A1 Mincho Std','ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
/* 游ゴシックwin対応 */
.win p,
.win a,
.win li,
.win h1,
.win h2,
.win h3,
.win h4,
.win h5,
.win h6,
.win dt,
.win dd,
.win td,
.win th,
.win span,
.win div
{
	font-weight: 500;
}



body,html{
	/*height:100%;*/
	letter-spacing:0.1em;
}

::selection{
	background:#eee;
}

p,
dd,
li,
table{
	font-size:14px;
}

p{
	line-height:2em;
	letter-spacing:0.12em;
	margin-bottom: 1.5em;
}


.small{
	font-size: 13px;
}
.sp p,
.sp table{
		/* font-size:14px; */
	}

a,
a:after{
	color:#666;
	/* background: #fff; */
	}

a:hover{
	/* border-color: transparent !important; */
	color: #000;
	}

p a{
	/* color: #000; */
	/* text-decoration: underline; */
}

img{
	width:100%;
	}

.anime{
	transition: all 0.3s ease-out;
	}

.pc .onlySP,
.sp .onlyPC{
	display:none;
	}

.relative{
	position:relative;
	}

.caption{
	font-size:11px !important;
	line-height: 1.8;
}

.ate{
	font-size: 11px;
	color: #aaa;
}

strong{
	font-weight: bold;
}

.empha{
	font-size: 1.3em;
	font-weight: bold;
}

.empha.more{
	font-size: 1.5em;
}


.picR{float:right;margin:0 0 0 30px;display: block;}
.picL{float:left;margin:0 30px 0 0;display: block;}

.nowrap{white-space: nowrap;}

.left{float:left;}
.right{float:right;}
.center{
	margin: 0 auto;
}
.sp .left,
.sp .right{
	float:none !important;
	width: auto !important;
}


.textR{
	text-align: right;
}
.tectC{
	text-align: center;
}
.tategaki{
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;

}
.aka{
	color:#f00 !important;
}

.dimg{
	position: relative;
}

.dimg::after{
content:"画像はダミーです";
position: absolute;
right:10px;
top:20px;
color: #555;
color: #ccc;
font-size:11px;
}

.show{
	display: block;
}

.column2 li,
.column2 div,
.column3 li,
.column3 div{
	float: left;
}
.column2 li:nth-of-type(2n),
.column2 div:nth-of-type(2n){
	margin-right:0 !important;
}
.column3 li:nth-of-type(3n),
.column3 div:nth-of-type(3n){
	margin-right:0 !important;
}


/* pjax */

/* 動きのタイミング */
#contents.fadeOut {
    -webkit-animation: fadeOut .5s cubic-bezier(.55,0,.1,1) both;
    animation: fadeOut .5s cubic-bezier(.55,0,.1,1) both;
}
#contents.fadeIn {
    -webkit-animation: fadeIn .5s cubic-bezier(.55,0,.1,1) both;
    animation: fadeIn .5s cubic-bezier(.55,0,.1,1) both;
}

@-webkit-keyframes fadeOut { to { opacity: 0; -webkit-transform: scale(1); }}
@keyframes fadeOut { to { opacity: 0; -webkit-transform: scale(1); transform: scale(1); }}
@-webkit-keyframes fadeIn { from { opacity: 0; -webkit-transform: scale(1); }}
@keyframes fadeIn { from { opacity: 0; -webkit-transform: scale(1); transform: scale(1); }}



/* owl */
.owl-dots{
	margin:25px 0 0 0;
	/* display: none; */
}
.flow .owl-dots{
/* display: block; */
}

.owl-dot{
	display:inline-block;
	padding:15px 16px 15px 0;

	/* display:none; */
}
.owl-dot span{
	background: #999;
	width: 12px;
	height:12px;
	border-radius: 100px;
	display: block;

}
.owl-dot.active span{
	background: #000;
}


/*pageNav
________________*/
.pageNav{
	text-align: center;
	position: absolute;
	bottom:0;
	right: -130px;
}

.pageNav .pages,
.pageNav .page,
.pageNav .current
{
	display: none !important;
}

.pageNav a{
	display: inline-block;
	/* font-size: 100px; */
	margin-left: 35px;
	background:url("../img/arr.svg") no-repeat;
	width: 18px;
	height: 36px;
	text-indent: -9999px;
}
.pageNav a:hover{
}
.pageNav a.previouspostslink{
	transform: rotate(180deg);
}

/* fbプラグイン*/
/* .fb-page{
height: 600px;
}
.sp .fb-page{
height: 400px;
} */


/*
.fb_iframe_widget,
.fb_iframe_widget span,
.fb_iframe_widget iframe[style]{ width: auto!important; }

.fb-like-box,
.fb-like-box span,
.fb-like-box iframe[style]{ width: 100%!important; }
*/

/*
.fb-page {
    display:block !important;
    width:100%;
    max-width:500px;
    margin-left:auto;
    margin-right:auto;
    height:600px;
} */

/*header
___________________*/
header{
	/* height: 180px; */
	padding-bottom: 40px;
	width: 100%;
	z-index: 10;
	background: #fff;
	border-bottom: 1px solid #ccc;
}
.sp header{
	padding-bottom: 20px;
	position: fixed;
	top:0;
	left: 0;
}
.pc#toppage header{
	border: none;
}

h2{
	/* width: 150px; /*ロゴサイズ*/
	/* width: auto; */
	height: 60px;
}
h2 img{
	height: 100%;
	width: auto;
}


/* 固定 */
.pc header.fixed{
	position: fixed;
	top:0;
	padding-bottom: 23px;
	border-width: 1px !important;
	border-bottom-style: solid !important;


}
.pc header.fixed h2{
	display: none;
}
.pc header.fixed ul{
	margin-top: 18px;
	position: absolute;
	left: 50px;
	top:20px;
	margin-left: 0;
}
.pc header.fixed li{
	font-size: 13px;
	margin-right: 15px;
	padding-right: 15px;
}
.pc header.fixed p.tel{
	display: inline-block;
	margin-right: 20px;
}
.pc header.fixed .info{
	top:18px;
}


header ul{
	margin:35px 0 0 50px;
}
.sp header ul{
	margin:20px 20px -30px;
	display: none;
	/* height: 10px;
	opacity: 0;
	transition: 0.2s; */
}
.sp header.show ul{
	display: block;
	/* height: auto;
	opacity: 1; */
}

header ul li{
	display: inline-block;
	font-size: 16px;
	margin: 0 24px 0 0;
	letter-spacing: 2px;
	border-right: 1px solid #ccc;
	padding-right: 24px;
	line-height: 1;
}
.sp header ul li{
	font-size: 13px;
	margin: 0 11px 15px 0;
	letter-spacing: 1px;
	margin-bottom: 30px;
	padding-right: 11px;
}

header ul li:last-of-type{
	border: none;
	margin-right: 0;
	padding-right: 0;
}

header ul li a{
	padding:6px 0 8px;
}

header ul li a:hover
,footer ul li a:hover
,#toppage li.navT a
,#aboutpage li.navA a
,#menupage li.navM a
,#staffpage li.navS a
{
	border-bottom: 3px solid #333;
}

.menuBtn{
	margin: 20px 20px -35px 0;
	text-align: right;

	/* position: absolute;
	top:80px;
	right: 20px; */
}
.menuBtn span:before{
	background: #ccc;
	color:#fff;
	content:"MENU";
	padding: 5px 8px 5px 10px;
	border-radius: 10px;
}
.show .menuBtn span:before{
	content:"CLOSE";
}

header .info{
	float: right;
	margin: 30px 50px 0 0;
	/* position: absolute;
	top:30px;
	right:50px; */
	font-size: 16px;
	text-align: right;
}
.sp header .info{
	margin: 20px 20px 0 0;
}

header .info p{
	font-size: 16px;
	margin-bottom: 1em;
	line-height: 1;
}
.sp header .info p{
	font-size: 14px;
	margin-bottom: 0.5em;
}

header .info p.tel{
	font-size: 20px;
}
.sp header .info p.tel{
	font-size: 18px;
}

p.tel:before{
	content:"TEL / ";
	font-size: 13px;
	color:#1a1a1a;
}
.sp p:before{
	font-size: 11px !important;
}

p.open,
p.dinner,
p.lunch,
p.maplink{
	display: inline-block;
}
p.lunch{
	margin-right: 15px;
}

p.open:before{
	content:"OPEN / ";
	font-size: 13px;
}
p.dinner:before{
	content:"DINNER / ";
	font-size: 13px;
}
p.lunch:before{
	content:"LUNCH / ";
	font-size: 13px;
}
p.maplink:before{
	content:"/ ";
	font-size: 13px;
	margin: 0 10px;
}
.sp p.maplink:before{
	margin: 0 4px 0 2px;
}

p.maplink a{
	border-bottom: 1px solid #ccc;
	padding-bottom: 5px;
}



/*wrap*/
#contents{
	margin:0 0 50px;
	position: relative;
}
.pc #contents{
	margin-top: 0 !important;
}
.sp #contents{
	padding-top: 20px !important;
}
#toppage.sp #contents{
	padding-top: 0 !important;
}


.contentsIn{
	width:1000px;
	/* margin: 0 auto; */
	margin: 70px auto;
	/* background: red; */
}
.sp .contentsIn{
	width: auto;
	margin:20px 30px;
}

.block01{
	margin-top: 50px;
}
.sp .block01{
	/* margin-top: 30px; */
}

.block01:before{
	content:"";
	display: block;
	background: #ccc;
	width:50px;
	height: 3px;
	margin-bottom: 25px;
	margin-left: -20px;
}
.sp .block01:before{
	margin-left: -10px;
}


.imgborder{
	border: #ccc solid 1px;
}

/* footer ________________________________________*/
footer{
	margin: 0 auto  0!important;
	border-top: 1px solid #ccc;

}
#toppage footer{
	border-top:none;
}

footer .contentsIn{
	margin: 30px auto 15px;
	position: relative;
}
#toppage footer .contentsIn{
	margin-top:-20px;
}

footer p{
	margin-bottom: 15px;
}
footer p.name{
	font-size: 16px;
	font-weight:bold;
	line-height: 1.6em;
}
.sp footer ul{
	margin-bottom: 20px;
}
footer li{
	font-size: 13px;
	width:320px;
	margin:0 20px 15px 0;
	float:left;
}
.sp footer li{
	font-size: 12px;
	width:auto;
	float:none;
}

footer p.copyr{
	position: absolute;
	right:0;
	bottom:30px;
	font-size: 12px;
}

footer p.powered{
	position: absolute;
	right:0;
	bottom:0px;
	font-size: 11px;
}
.sp footer p.copyr,
.sp footer p.powered{
	position: relative;
	right:0;
	font-size: 11px;
	margin-top: 5px;
	bottom: auto;
	margin-bottom: 0px;
}
.pagetop{
	z-index: 2;
	position: fixed;
	bottom:25px;
	right:50px;
	cursor: pointer;
	display: none;
}
.sp .pagetop{
	bottom:12px;
	right:30px;
}


.pagetop.scroll{
	display: block;
}

.pagetop a{
	width: 18px;
	height:36px;
	background:url(../img/arr.svg) no-repeat ;
	display: block;
	transform: rotate(-90deg);

}





/*  page common
__________________*/
.linkA a{
	display: block;
	padding:15px 10px;
	width: 350px;
	border:#999 1px solid;
	text-align: center;
	position: relative;
	font-size: 16px;

	margin: 0 auto;
	text-decoration: none;

	/* transition: 0.1s;
	top:0px;
	left:0px; */
}
.linkA a:after{
	display: block;
	content:"";
	width: 350px;
	height: 20px;
	padding: 10px;
	position: absolute;
	bottom:-5px;
	left: 5px;
	border:#999 1px solid;
	border-top: none;
	border-left: none;
}

.linkA a:hover{
	top:5px;
	left:5px;
}

.linkA a:hover:after{
	content:none;
}

.linkB a{
	display: block;
	border:#999 1px solid;
	padding: 7px;
	text-align: center;
	text-decoration: none;
}
.linkB a:hover{
	/* color: #fff; */
	border-color: #fff;
}

h1{
	font-size: 30px;
	font-weight: bold;
	letter-spacing: 5px;
	line-height: 1.8em;
	margin-left: -50px;
}
.sp h1{
	font-size: 20px;
	letter-spacing: 3px;
	margin-left: 0;
}


/* TOP ________________________________________*/

.toppage h1.maincopy{
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	font-size: 34px;
	font-weight: bold;
	letter-spacing: 0.2em;
	line-height: 2;
	position: absolute;
	top:-40px;
	right:60px;
	z-index: 9;
	margin-left: 0;
	background: #fff;
}
.sp .toppage h1{
	font-size: 20px;
	/* padding: 20px 30px 0; */
	position: relative;
	right:20px;
	top:25px;
	float: right;
	background: none;
}

.mainV{
	line-height: 1;
}


.mainV .owl-carousel .mainVbox{
	width: 100vw;
}

/* メイン画像小さく */
.pc .mainVS{
	width: 1200px;
	margin: 0 auto;
}
.pc .mainVS .owl-carousel .mainVbox{
	width: 1200px !important;
}

.toplink{
	background: #f2f2f2;
	/* margin-bottom: 90px; */
}
.toplink .contentsIn{
	margin-top:0;
	position: relative;
}
.toplink ul{
	text-align: right;
	margin-top: -40px;
	z-index: 2;
	position: relative;
}
.sp .toplink ul{
	margin-top: 20px;
	padding-top: 20px;
	font-size: 0;
	letter-spacing: 0;
	text-align: left;
}
.toplink li{
	width: 220px;
	display: inline-block;
	margin-left: 20px;
}
.sp .toplink li{
	width: 30%;
	margin-left: auto;
	margin-right: 5%;
	text-align: center;

}
.sp .toplink li:last-of-type{
	margin-right: 0%;
}

.toplink li img{
	border: 3px #fff solid;
	box-sizing: border-box;
}
.toplink li p{
	font-size: 16px;
	margin-bottom: 1.4em;
}
.sp .toplink li p{
	font-size: 12px;
}


p.topread{
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;

	position: absolute;
	top:80px;
	left:0;
	z-index: 2;
	margin-bottom: 0;
	height: 300px;
	line-height: 2.4em;
	font-size: 15px;
}
.sp p.topread{
	font-size: 13px;
	top:25px;
	position: relative;
	height: auto;
	line-height: 2.5em;

}

/* topのh1が大きくない場合 */
.toppage h1.topread{
	font-size: 18px;
	line-height: 2;
	font-weight: normal;
	padding-top: 40px;
	position: absolute;
	left:0;
	top:30px;
}

.sp .toppage h1.topread{
	padding-top: 0;
	position: relative;
	top:20px;
}



h3{
	font-weight: bold;
	font-size: 23px;
	line-height: 1.8;
    margin-bottom: 30px;
	letter-spacing: 4px;
	margin-left: -20px;
}
.sp h3{
	font-size: 18px;
    margin-bottom: 20px;
	letter-spacing: 2px;
	margin-left: -10px;
}


.topcenter .left{
	width: 350px;
}

.topcenter .left ul{
	margin-left: 30px;
}
.sp .topcenter .left ul{
	margin-left: 0;
}

.topcenter .left ul li{
	font-size: 16px;
	margin-bottom: 0.5em;
}
.sp .topcenter .left ul li{
	float: left;
	margin-right:1em;
}
.topcenter .left ul li::before{
	content:"●";
}
.topcenter .left img{
	margin: 15px 0 0 30px;
}
.sp .topcenter .left img{
	margin-left: 0;
}

.topcenter .right{
	width: 500px;
}

#news{
	height: 550px;
}
.map iframe{
	width: 100%;
	height: 400px;
	margin-top: -30px;
}
.sp .map iframe{
	margin-top: -15px;
}
.map p{
	background: #ccc;
	border-radius: 100px;
	color:#fff;
	font-size: 25px;
	font-weight: bold;
	padding: 5px;
	width: 200px;
	margin: 0 auto;
	text-align: center;
	z-index: 2;
	position: relative;
	letter-spacing: 5px;
}
.sp .map p{
	font-size: 18px;
	width: 150px;

}

/* pages
_________________ */
.read01{
	position: relative;
	margin-bottom:0;
}


.read01 .right{
	width: 640px;
	margin-top: -10px;
}

.pc .read01 div.text{
	position: absolute;
	left:0;
	top:0;
}
.read01 div p{
	width: 300px;
	margin-top: 20px;
	line-height: 2.2em;
}

/* aboutpage menuFood*/
.aboutblock,
.menublockFood{
	/* margin-top: 30px; */
	font-size: 0;
	letter-spacing: 0;
	margin-bottom: 100px;
}

.sp .aboutblock,
.sp .menublockFood{
	margin-bottom: 50px !important;
}

.menublockFood{
}

.menublockFood h3{
	margin-bottom: -20px;
}


.aboutblock section.block01
,.menublockFood section.block01{
	width: 440px;
	display: inline-block;
	vertical-align: top;
}
.sp .aboutblock section.block01,
.sp .menublockFood section.block01{
	width: auto;
}

.pc .aboutblock section.block01:nth-of-type(2n),
.pc .menublockFood section.block01:nth-of-type(2n){
	margin-left: 120px;
}
.aboutblock section.block01 p{
	margin-top: 1em;
}
.menublockFood section.block01 p{
	margin:0 0 5px;
}

.menublockFood section.block01 h4{
	font-size: 18px;
	font-weight:bold;
	margin: 20px 0 5px;
}

.menublockFood section.block01::before{
	margin-bottom: 35px;
}

.menublockOther{
}
.menublockOther li{
	font-size:16px;
	margin-bottom: 10px;
	display: inline-block;
	margin-right: 2em;
}
.menublockOther li::before{
	content:"●";
}

/* menu
________________ */

.special{
	background:#f4f4f4;
	padding: 30px 80px;
	margin-top: 50px;
	margin-bottom: 50px;
}
.sp .special{
	padding: 20px;
	margin-top: 40px;

}

.special h3{
	color:#c9516c;
	margin-top: -50px;
	margin-left: -40px;
}
.sp .special h3{
	margin-top: -35px;
	margin-left: 0;
}

.special p{
	/* margin-left: 30px; */
	margin-bottom: 1.6em;
	margin-bottom: 3em;
}
.special02{
	padding-bottom: 45px;
}
.special02 p{
	float:left;
	width: 350px;
}
.sp .special02 p{
	float:none;
	width: auto;
}
.special img{
	width: 400px;
	float: right;
	/* margin-right: 30px; */
	display: block;
}
.sp .special img{
	width: 70%;
}

.menublock{
	margin-bottom: 100px;
}
.sp .menublock{
	margin-bottom: 70px;
}

.menublock .left{
	width:520px;
}
.menublock .right{
	width:400px;
}
.sp .menublock .right{
	margin-top: 30px;
}

.menublock .right img{
	margin-bottom: 30px;
}
.menublock .right img:last-of-type{
	margin-bottom: 0;
}


table.chart01{
	letter-spacing: 3px;
	margin-top: 30px;
	width: 100%;
}
table.chart01:first-of-type{
	margin-top: 0;
}

table.chart01 tr{
	border-bottom: 1px solid #fff;
}
table.chart01 th,
table.chart01 td{
	padding: 18px;
	vertical-align: middle;
	line-height: 1.6;
}
.sp table.chart01 th,
.sp table.chart01 td{
	padding: 12px;
}
table.chart01 th{
	background: #000;
	color: #fff;
	font-size: 16px;
	text-align: center;
	/* white-space: nowrap; */
}
.sp table.chart01 th{
	font-size: 14px;
}
table th span{
	font-size: 65%;
	letter-spacing: 2px;
}
table.chart01 td{
	background: #f4f4f4;
	font-size: 17px;
	text-align: center;
	border-left: 1px solid #fff;


}
.pc table.chart01 td{
	white-space: nowrap;
}


.sp table.chart01 td{
	font-size: 13px;
}
table.chart01 td span{
	font-size: 0.75em;
}

table .trhead td,
table .trhead thxx{
	font-size: 12px;
	color: #fff;
	background-color: #777 !important;
	padding: 12px;
	text-align: center;

}

.chart01 p{
	font-size: 12px;
	line-height: 1.6;
	text-align: left;
	margin:7px 0 0;
}

span.plus{
	font-size: 60px;
	line-height: 1;
	margin-bottom: -20px;
	display: block;
	text-align: center;
}

ul.att{
	margin-top:1em;
}

ul.att li{
	margin-bottom: 10px;
	font-size: 12px;
	text-indent: -1em;
	margin-left: 1em;
}
ul.att li:before{
	content:"※";
}


/* staffblock
________________*/
.read02 h1{
position: absolute;
top:0;
}

.read02 img{
	margin-bottom: 12px;
}

/* .sp#staffpage .read02{
	display: none;
} */


.staffblock{
	margin-bottom: 100px;
}
.sp .staffblock{
	margin-bottom: 60px;
}
.sp .staffblock:first-of-type{
	margin-top: 0;
}
.sp .staffblock:first-of-type::before{
	content:none;
}

.staffblock img{
	width: 300px;
	margin-top: 10px;
}
.sp .staffblock img{
	width: 100% !important;
	margin-top: 10px;
}

.staffblock .info{
	width: 650px;
	margin-top: 10px;

}
.staffblock .info h3{
	margin: 0 0 10px;
	font-size: 25px;
}
.staffblock .info p{
	margin: 0;
}
.staffblock .info div{
	margin-top: 36px;
}
.staffblock .info div p{
	font-size: 12px;
	width: 210px;
}
.staffblock .info div img{
	width: 400px;
}


.ticketprice{
		font-weight: bold;
		color:#7aa533;
}
