@charset "utf-8";

/* ---------- tag ---------- */

/*
td, th {
	font-size: 12px;
}

*/

a {
	color: #666666;
	text-decoration: underline;
}

a:visited {
	color: #666666;
}

a:hover {
	/*
	color: #ff0000;
	*/
	text-decoration: none;
}

header,
section,
address,
footer{
	width:100%;
}

header .inner,
section .inner,
address .inner,
footer .inner{
	position: relative;
	width:100%;
	max-width:1500px;
	margin:0px auto;
}
.sp{ display:none; }
.pc{ display:block; }
.pc-inline{ display:inline; }

.del{
	text-decoration:line-through;
}

/* ----- header ----- */
header {
	position:relative;
	height: 250px;
	padding:10px 0px;
	background:url('../img/repeat_bg1.png');
}
header h1{
	padding-top:20px;
	text-align:center;
}
header.pc nav{
	position:absolute;
	width:400px;
	height: 230px;
	top:0px;
	right:0px;
}
header.pc nav p{
	text-align:right;
}
header.pc nav ul{
	position:absolute;
	bottom:0px;
}
header.pc nav ul li{
	display:inline-block;
	padding-left:10px;
}
header.pc nav ul li:first-child{
	padding-right:10px;
}

/* sp head
---------------------------------------------------------------------------- */
header#top-head {
}
#global-nav ul {
    top: -100px;
    position: absolute;
    list-style: none;
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 999;
}
#global-nav ul li {
}
#global-nav ul li a {
    padding: 0 30px;
}

/* Toggle Button */
.nav-toggle {
    display: none;
    position: absolute;
    right: 0;
    top: 3px;
    width: 45px;
    height: 35px;
    cursor: pointer;
    z-index: 101;
	padding:5px 10px 5px 10px;
}


@media screen and (max-width: 999px) {
	.sp_header,
    .inner {
        width: 100%;
        padding: 0;
        overflow: hidden;
    }
    .sp_header {
        margin-top: 0;
    }
    /* Fixed reset */
    .sp_header.fixed {
        padding-top: 0;
        background: transparent;
    }
	.sp_header.fixed.open{
		height:100%;
		max-height:500px;
	}
	#mobile-head {
		background:url('../img/repeat_bg1.png');
        width: 100%;
        height: 50px;
        z-index: 990;
        top: 0;
        right:0px;
        position: fixed;
    }
    #global-nav {
        position: absolute;
        /* 開いてないときは画面外に配置 */
        top: -410px;
        background: #FFF;
		opacity:1;
        width: 100%;
		left:0;
        padding: 0;
        -webkit-transition: .5s ease-in-out;
        -moz-transition: .5s ease-in-out;
        transition: .5s ease-in-out;
		text-align:center;
    }
	.sp_header.open #global-nav {		
        position: fixed;
	}
    #global-nav ul {
        list-style: none;
        position: static;
        bottom: 0;
    }
	.sp_header #global-nav ul li a,
    .sp_header.fixed #global-nav ul li a {
        display: block;
        padding: 15px 0;
		position: relative;
		text-align:center;
    }
    .nav-toggle {
        display: block;
    }
	.mobile-head-white .nav-toggle{
		position: relative;
		width:100%;
		text-align:center;
		padding:10px 0px;
	}
    /* #global-nav スライドアニメーション */
    .open #global-nav {
        -moz-transform: translateY(410px);
        -webkit-transform: translateY(410px);
        transform: translateY(410px);
        z-index: 999;
    }
    .open #global-nav ul{
		-webkit-overflow-scrolling:touch;
  	}
	.mobile-head-white{
		height:60px;
	}
}

/* --- mainvisual --- */
#mainvisual{
	position:relative;
	text-align:center;
}
#mainvisual .inner{
	display:table;
	margin:0px auto;
	max-width:1300px;
}
#mainvisual .maintext{
	display:table-cell;
	padding-top:10px;
	padding-bottom:30px;
	vertical-align:bottom;
	text-align:center;
}
#mainvisual .maintext img{
	width:calc(100% - 40px);
	max-width:184px;
}
#mainvisual .mainimg{
	display:table-cell;
	/*width:calc(100% - 280px);*/
	width:75%;
	text-align:left;
}
#mainvisual .mainimg img{
	width:100%;
	max-width:890px;
}

/* --- introduction --- */
#introduction{
	background:url('../img/line_gold.png') repeat-x left top;
	padding-top:60px;
}
#introduction .inner{
	max-width:100%;
	background:#000;
}
#introduction .inner.pc2{ display:none; }

#introduction .inner .greeting{
	width:100%;
	max-width:1300px;
	margin:0px auto;
}
#introduction .inner .greeting h2{
	display:none;
}

#introduction .inner .greeting figure img{
	width:100%;
}

#introduction .inner .greeting .intro1 figure.photo{
	background:#000 url('../img/intro_bg1c.png') no-repeat 20px -50px;
	padding-top:90px;
}
#introduction .inner .greeting .intro1 figure.txt{
	background:url('../img/intro_bg1b.png') no-repeat left top;
	background-size:contain;
}
#introduction .inner .greeting .intro1 figure.txt img{
	max-width:228px;
	width:90%;
	margin:5%;
}

#introduction .inner .greeting .intro2 figure.txt{
	background:url('../img/intro_bg2a.png') no-repeat right top;
	background-size:contain;
	text-align:right;
}
#introduction .inner .greeting .intro2 figure.txt img{
	max-width:213px;
	width:90%;
	margin:5%;
}

/* --- dish --- */
#dish .inner{
	max-width:1200px;
	width:90%;
	padding:0px 5% 50px 5%;
}
#dish .inner.wrap{
	background:url('../img/repeat_bg2.png');
	width:100%;
	max-width:100%;
	padding:50px 0px 0px 0px;
}
#dish .innerbox h3{
	font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
	font-size:31px;
	font-weight:bold;
	text-align:center;
	letter-spacing:0.08em;
	padding-right:50%;
}
#dish .innerbox h3 span{
	font-size:16px;
	display:block;
	font-weight:normal;
	line-height:0.8;
}
#dish h4{
	font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
	font-size:28px;
}
#dish .innerbox{
	background:url('../img/dish_sun.png') no-repeat 10% bottom;
	width:100%;
	min-height:480px;
	max-width:1300px;
	margin:0px auto;
	padding-top:30px;
}
#dish .innerbox .aboutdish{
	padding-top:30px;
	padding-left:50%;
}
#dish .innerbox .aboutdish .read{
	font-size:18px;
	padding:30px 0px 50px 0px;
}
#dish .innerbox .aboutdish .subread{
	font-size:14px;
}
#dish .inner .dishbox,
#dish .inner .takeoutbox{
	padding:50px 0px 50px 0px;
	color:#F0F0F0;
}
#dish .inner .dishbox h4,
#dish .inner .takeoutbox h4{
	padding-bottom:30px;
}
#dish .inner .dishbox .dishmenu .capture,
#dish .inner .dishbox .dishmenu .dishimg,
#dish .inner .dishbox .dishmenu .pdflink{
	width:47%;
	max-width:560px;
}
#dish .inner .dishbox .dishmenu .pdflink{
	text-align:center;
}

#dish .inner .dishbox .dishmenu .capture h5,
#dish .inner .dishbox .dishmenu .capture .subtitle{
	font-size:20px;
	padding-bottom:15px;
	border-bottom:1px solid #CCC;
	margin-top:75px;
	margin-bottom:30px;
}
#dish .inner .dishbox .dishmenu .capture h5.tline{
	border-bottom:0px;
	border-top:1px solid #CCC;
	padding-top:10px;
	margin-top:30px;
	margin-bottom:0px;
}
#dish .inner .dishbox .dishmenu .capture p{
	padding:0px 0px 1em 0px;
}

#dish .inner .dishbox .dishmenu .dishimg figure{
	margin-bottom:20px;
}
#dish .inner .dishbox .dishmenu .dishimg img{
	width:100%;
	max-width:650px;
}
#dish .inner .dishbox .dishmenu .pdflink img{
	width:100%;
	max-width:331px;
}

#dish .inner .dishbox .dishmenu .f_right{
	float:right;
	padding-left:10px;
}
#dish .inner .dishbox .dishmenu .f_left{
	float:left;
	padding-right:10px;
}
#dish .inner .takeoutbox .dishmenu{
}
#dish .inner .takeoutbox .dishmenu .capture{
	text-align:center;
}
#dish .inner .takeoutbox .dishmenu .dishimg{
	padding-top:20px;
	text-align:center;
}

#dish .inner .takeoutbox .dishmenu .capture h5{
	font-size:18px;
}
#dish .inner .takeoutbox .dishmenu .dishimg figure{
	display:inline-block;
	width:50%;
	text-align:center;
}
#dish .inner .takeoutbox .dishmenu .dishimg figure img{
	width:80%;
}
#dish .inner .takeoutbox .dishmenu .dishimg figure figcaption{
	margin-top:5px;
}

/* --- information --- */
#information{
	background:url('../img/repeat_bg1.png');
}
#information .inner{
	padding:50px 10%;
	box-sizing:border-box;
}
#information .inner h4,
#information .inner h5{
	text-align:center;
	padding-bottom:30px;
	font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
	letter-spacing:0.08em;
	font-size:31px;
	font-weight:bold;
	text-align:center;
}
#information .inner h4 span{
	font-size:16px;
	display:block;
	font-weight:normal;
	line-height:0.8;
}
#information .inner .map{
	float:left;
	width:55%;
}
#information .inner .map iframe{
	border:1px solid #666;
	width:100%;
	height:450px;
	/*border-right: 2px solid #666;*/
}
#information .inner .access{
	float:left;
	width:45%;
	padding-top:30px;
}
#information .inner .access dl{
	margin:0px 10px 0px 30px;
	width:100%;
}
#information .inner .access dl dt,
#information .inner .access dl dd{
	display:inline-block;
	padding-bottom:2em;
}
#information .inner .access dl dt{
	width:100px;
	vertical-align: top;
}
#information .inner .access dl dd{
	width:calc(100% - 110px);
	word-wrap : break-word;
	overflow-wrap : break-word;
}
#information .inner .access p{
	margin:0px 10px 0px 30px;
	width:100%;
}
#information .inner .info_img{
	width:100%;
}
#information .inner .info_img img{
	width:100%;
}
/* --- news --- */
#news{
	background:url('../img/line_gold.png') repeat left top;
	padding:60px 0px 60px 0px;
}
#news .inner{
	background:#F0F0F0;
	padding:0px 5%;
	width:90%;
	max-width:90%;
}
#news .inner .innerbox{
	margin:0px auto;
	max-width:1500px;
	display:flex;
}
#news .inner h3{
	background:url('../img/news_title.png') no-repeat center -78px content-box;
	min-height:170px;
	width:326px;
}
#news .inner h3 span{
	display:none;
}
#news .inner dl{
	width:calc(100% - 400px);
	padding:40px 10px 30px 50px;
}
#news .inner dl dt{
	display:inline-block;
	width:120px;
	vertical-align:top;
	padding-bottom:0.5em;
}
#news .inner dl dd{
	display:inline-block;
	width:calc(100% - 130px);
	padding-bottom:0.5em;
	word-wrap : break-word;
	overflow-wrap : break-word;
}

/* --- reservation --- */
#reservation_outer{
	background:url('../img/line_gold.png') repeat left top;
	text-align: center;
	padding:60px 0px 0px 0px;
}
#reservation_outer .inner{
	background:url('../img/bg_gold.png') repeat left top;
	padding:50px 0px;
	max-width:100%;
}
#reservation_outer .inner h4{
	font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
	letter-spacing:0.08em;
	font-size:31px;
	font-weight:bold;
	text-align:center;
}
#reservation_outer .inner h4 span{
	font-size:16px;
	display:block;
	font-weight:normal;
	line-height:0.8;
}
#reservation_outer .read{
	padding-top:30px;
	text-align:center;
}
#reservation_outer .read.pc img{
	width:100%;
	max-width:695px;
}
#reservation_outer .read.sp img{
	width:100%;
	max-width:411px;
}

#reservation_outer .telephone{
	font-size:40px;
	padding:20px 0px 15px 0px;
}
#reservation_outer .telephone a{
	text-decoration:none;
	color:#333;
}
#reservation_outer .subread{
	font-size:14px;
	padding:0px 0px;
}


/* --- limited, coffee 2021.01.20 add --- */
#limited, #coffee{
	background:#104000;
	color:#FFF;
}
#limited .inner,
#coffee .inner{
	max-width:1200px;
	width:90%;
	padding:50px 5% 50px 5%;
}
#limited .inner h3,
#coffee .inner h3{
	font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
	letter-spacing:0.08em;
	font-size:31px;
	font-weight:bold;
	text-align:center;
	padding-bottom:50px;
}
#limited .inner h3 span,
#coffee .inner h3 span{
	font-size:16px;
	display:block;
	font-weight:normal;
	line-height:0.8;
}
#limited .inner .menubox,
#coffee .inner .menubox{
	overflow:hidden;
}
#limited .inner .menubox h4{
	font-size: 20px;
    padding-bottom: 15px;
    border-bottom: 1px solid #CCC;
    margin-top: 0px;
    margin-bottom: 20px;
}
#limited .inner .menubox .subtitle,
#coffee .inner .menubox .subtitle{
    font-size: 20px;
}
#limited .inner .menubox .menu,
#limited .inner .menubox .img,
#coffee .inner .menubox .menu,
#coffee .inner .menubox .img{
	width:47%;
	max-width:560px;
}
#limited .inner .menubox .menu p,
#coffee .inner .menubox .menu p{
	padding:0px 0px 1em 0px;
}
#limited .inner .menubox .img figure img,
#coffee .inner .menubox .img figure img{
	max-width: 100%;
}
#limited .inner .menubox .f_right,
#coffee .inner .menubox .f_right{
	float:right;
	padding-left:10px;
}
#limited .inner .menubox .f_left,
#coffee .inner .menubox .f_left{
	float:left;
	padding-right:10px;
}
#limited .inner .menubox dl dd{
	margin-bottom:1em;
}
/* ----- footer ----- */
footer {
	position:relative;
	background:url('../img/foot_bg.png') no-repeat right bottom;
	height:580px;
	text-align:center;
	color:#F0F0F0;
}
footer .inner{
	position:absolute;
	bottom:50px;
	max-width:100%;
}

footer nav#footer_nav{
	text-align:center;
}
footer nav#footer_nav ul{
	
}
footer nav#footer_nav ul li{
	padding:25px 10px;
	display:inline-block;
}
footer nav#footer_nav ul li a{
	text-decoration:none;
	color:#F0F0F0;
}

footer .inner .address{
	font-size:14px;
	padding:40px 0px;
}
footer .inner.footer_nav{
	top:0px;
}

/* ----- copyright ----- */
footer small {
	position:absolute;
	left:0px;
	bottom:0px;
	font-size:12px;
	text-align: center;
	height:50px;
	line-height:50px;
	width:100%;
}


/* meria query  */
@media screen and (max-width: 999px) {
	/* 画像が重なるので一部早めに切り替え */
	header.sp{ display:block; }
	header.pc{ display:none; }
	#introduction .inner.pc{ display:none; }
	#introduction .inner.pc2{ display:block; }
	
	header{
	}
	header h1{
		padding-top:50px;
	}
	header h1 img{
		height:190px;
	}
	
	#news .inner{
		padding:0px 0px 0px 0px;
		width:100%;
		max-width: 100%;
	}
	#news .inner .innerbox{
		display:block;
	}
	#news .inner h4{
		clear:both;
		width:100%;
	}
	#news .inner dl{
		clear:both;
		padding:20px;
		width:calc(100% - 40px);
		background:#FFF;
	}
	#news .inner dl dt{
		width:100%;
		padding-bottom:0.3em;
		font-weight:bold;
	}
	#news .inner dl dd{
		width:100%;
	}
	
	
	footer {
		height: 980px;
		background:url('../img/sp_foot_bg.png') no-repeat right bottom;
		
	}
	footer .inner {
		bottom: 400px;
	}

	#footer nav#footer_nav ul li{
		padding:10px;
		display:block;
	}
	
	footer small{
		text-align:left;
		padding-left:10px;
		width:calc(100% - 10px);
	}

}
@media screen and (max-width: 560px) { /* sp扱いとする */
	.sp{ display:block; }
	.pc{ display:none; }
	.pc-inline{ display:none; }
	#introduction .inner.pc2{ display:none; }
	#dish .innerbox{
		background:url('../img/sp_dish_sun.png') no-repeat 0px bottom;
		min-height: 560px;
	}

	#dish .innerbox h3{
		padding-right:0px;
	}
	#dish .innerbox .aboutdish{
		padding-left:10%;
		padding-right:10%;
	}
	
	#dish .inner .dishbox .dishmenu .f_right,
	#dish .inner .dishbox .dishmenu .f_left,
	#limited .inner .menubox .f_right,
	#limited .inner .menubox .f_left,
	#coffee .inner .menubox .f_right,
	#coffee .inner .menubox .f_left{
		clear:both;
		float:none;
		padding:0px 0px;
		width:100%;
	}
	
	#dish .inner .takeoutbox .dishmenu .dishimg figure{
		width:100%;
		margin-bottom:20px;
	}
	#dish .inner .takeoutbox .dishmenu .dishimg figure img{
		width:90%;
	}
	
	#information .inner{
		padding:50px 0px 0px 0px;
	}
	#information .inner .map,
	#information .inner .access{
		clear:both;
		padding:0px 0px;
		width:100%;
	}
	#information .inner .map iframe{
		border:0px;
	}
	#information .inner .access{
		padding:20px 0px;
	}
	#information .inner .access dl,
	#information .inner .access p{
		width:calc(100% - 40px);
	}
}
