@charset "UTF-8";

*{
	margin:0;
	padding:0;
	box-sizing:border-box;
}
html{
	height:100%;
}
#overlay{
	width:100%;
	height:100%;
	position:fixed;
	left:0;
	top:0;
	background:rgba(0,0,0,0.6);
	z-index:9;
	display:none;
}
body{
	font-family:"游ゴシック",YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, sans-serif;
	color:#321021;
	font-size:16px;
	font-weight:500;
	height:100%;
}
ul,ol,li{
	list-style:none;	
}
a{
	text-decoration:none;
}
.mincho{
	font-family: "游明朝体", "Yu Mincho", YuMincho, serif;
}
p{
	line-height:2;
}

.inner{
	margin:auto;
	width:1080px;
	padding-left:40px;
	padding-right:40px;
	overflow:hidden;
}

.clear{
	overflow:hidden;
	clear:both;
}
.sns{
	position: absolute;
	right: 220px;
	top: 48px;
	display: flex;
}

.sns a,
.sns img{
	height: 30px;
	width: auto;
	display: block;
}
.sns li{
	margin: 0 10px;
}
header{
	background:#fff;
	height:120px;
	min-width:1080px;
	margin:auto;
	position: relative;
}
header h1{
	text-align:center;
	font-size:12px;
	font-weight:500;
	font-family:"游ゴシック",YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, sans-serif;	
	padding-top:5px;
	padding-bottom:5px;
}
header *{
	font-family:"游明朝体", "Yu Mincho", YuMincho, serif;
}
header .inner{
	position:relative;
	height:100%;
	padding:0 10px;
}
header .logo{
	display:block;
	margin:auto;
	width:170px;
	padding:7px 0 9px;
}
header .logo img{
	display:block;
}
nav{
	border-top:1px solid #f1f1f1;
	min-width:1000px;
	margin:auto;
	text-align:center;
	height:52px;
	background:#fff;
}

nav li{
	display:inline-block;
	margin:0 35px;
}
nav li a{
	font-size:18px;
	letter-spacing:0.1em;
	text-decoration:none;
	line-height:1;
	color:#321021;
	display:block;
	padding-top:15px;
	padding-bottom:5px;
	border-bottom:2px solid transparent;
	transition:ease 0.3s all;	
	font-family:"游明朝体", "Yu Mincho", YuMincho, serif;
}
nav li a.current{
	border-bottom:2px solid #321021;
}
nav li a:hover{
	border-bottom:2px solid #321021;
}
header .banners{
	position:fixed;
	right:0;
	top:0;
	z-index:999;
}
header .banners li{
	width:200px;
	height:60px;
}
header .banners li a{
	display:block;
	background:#adcb6e;
	color:#fff;
	font-size:14px;
	text-align:center;
	height:100%;
	line-height:60px;
	transition:ease 0.3s all;
}
header .banners li a:hover,.christmas-banner a:hover,
.sns a:hover{
	opacity:0.7;
	filter:alpha(opacity=70);
}
header .banners li:last-child a{
	background:#722d80;
}
header .banners li img{
	vertical-align:middle;
	padding-right:7px;
}

#contents{
	min-width:1080px;
	margin:auto;
	background:url(../images/bg01.jpg);
	background-position:center top;
}

footer{
	background:#321021;
	min-width:1080px;
	margin:auto;
}
footer *{
	color:#fff;
}
footer .inner{
	position:relative;
	height:100%;
	text-align:center;
}

footer ul{
	margin:auto;
	padding:20px 0 50px;
	text-align:center;
}
footer li{
	display:inline-block;
	padding:0 55px;
}
footer li a{
	font-size:18px;
	letter-spacing:0.1em;
	text-decoration:none;
	line-height:1;
	transition:ease 0.3s all;
}
footer li a:hover{
	opacity:0.7;
	filter:alpha(opacity=70);
}
footer .logo{
	padding-bottom:20px;
	display:inline-block;
}
footer .address{
	padding-top:20px;
	font-size:14px;
}
footer .tel{
	font-size:20px;
}
footer .tel span{
	font-size:12px;
	padding-left:6px;
}
footer .reserve{
	font-size:14px;
}
footer #copyright{
	font-size:14px;
	padding-top:20px;
	padding-bottom:30px;
}

.icons{
	position:fixed;
	right:0;
	top:163px;
}
.icons li{
	margin-bottom:5px;
}
.icons img{
	vertical-align:bottom;
}
.icons a{
	display:block;
}
.icons a:hover{
	opacity:0.7;
	filter:alpha(opacity=70);
}
.sp{
	display: none !important;
}

@media screen and (max-width: 768px){
	.pc{
		display: none !important;
	}
	.sp{
		display: block !important;
	}

	html{
		font-size: 62.5%;
	}
	body{
		font-size: 1.3rem;
	}
	.inner{
		width: 100%;
		padding-left: 1.5rem;
		padding-right: 1.5rem;
	}
	.sns{
		right: 6.5rem;
		top: 5.7rem;
	}
	.sns a,
	.sns img{
		height: 1.8rem;
	}
	.sns li{
		margin: 0 1rem;
	}

	#menu-btn{
		width: 5rem;
		height: 5rem;
		position: fixed;
		right: 0;
		top: 4rem;
		background: #b79f66;
		z-index: 99999;
	}
	#menu-btn span{
		display: block;
		width: 2rem;
		height: .2rem;
		background: #321021;
		position: absolute;
		left: 0;
		right: 0;
		top: 0;
		bottom: 0;
		margin: auto;
		transition: .4s all ease;
	}
	#menu-btn span:nth-of-type(1){
		transform: translateY(-.6rem);
	}
	#menu-btn span:nth-of-type(3){
		transform: translateY(.6rem);
	}
	#menu-btn.opened span:nth-of-type(1){
		transform: translateY(0) rotate(45deg);
	}
	#menu-btn.opened span:nth-of-type(3){
		transform: translateY(0) rotate(-45deg);
	}
	#menu-btn.opened span:nth-of-type(2){
		opacity: 0;
		filter: alpha(opacit=100);
	}
	.header-tel-btn{
		width: 5rem;
		height: 5rem;
		position: absolute;
		left: 0;
		bottom: 0;
		background: #321021;
		display: flex !important;
		justify-content: center;
		align-items: center;
	}
	.header-tel-btn img{
		display: block;
		width: 2rem;
	}
	header{
		height: 9rem;
		min-width: 100%;
		position: fixed;
		left: 0;
		top: 0;
		z-index: 99998;
	}
	header h1{
		font-size: 1.1rem;
		padding-top: 0;
		padding-bottom: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		height: 4rem;
		border-bottom: .1rem solid #dfdfdf;
		line-height: 1.4;
		padding: 0 1.5rem;
	}
	header .inner{
		padding: 0;
	}
	header .logo{
		width: 6.5rem;
		padding: 0;
		margin-top: 1rem;
	}
	header .logo img{
		width: 100%;
	}
	nav{
		border-top: none;
		width: 100%;
		min-width:100%;
		margin:auto;
		text-align:center;
		height:100%;
		background:#fff;
		position: fixed;
		left: 0;
		top: 0;
		padding-top: 9rem;
		padding-bottom: 5rem;
		overflow-y: auto;
		transform: translateX(100%);
		z-index: 99998;
		transition: .4s all ease;
	}
	nav.opened{
		transform: translateX(0);
	}
	nav li{
		display: block;
		margin: 0;
		border-bottom: 1px solid #dfdfdf;
	}
	nav li a{
		font-size: 1.6rem;
		padding: 2rem 0;
		border-bottom: none;
	}
	nav li a.current{
		border-bottom: none;
	}
	nav li a:hover{
		border-bottom: none;
	}
	nav .banners{
		padding: 0 1.5rem;
	}
	nav .banners li a{
		font-size:1.6rem;
		height: auto;
		line-height: auto;
		background: #adcb6e;
		color: #fff;
		margin: 1rem 0;
	}
	nav .banners li:last-child a{
		background: #722d80;
	}
	nav .banners li img{
		vertical-align:middle;
		padding-right:7px;
	}
	#contents{
		min-width: 100%;
		height: auto;
	}
	#main-visual{
		margin: 9rem auto 0 !important;
	}
	footer{
		min-width: 100%;
		width: 100%;
		padding: 3rem 1.5rem;
	}
	footer .inner{
		height: auto;
	}
	footer ul{
		margin: auto;
		padding: 0;
		display: flex;
		flex-wrap: wrap;
	}
	footer li{
		display:block;
		padding: .5rem;
		width: 50%;
	}
	footer li a{
		font-size: 1.2rem;
	}
	footer .logo{
		display: block;
		padding: 0;
		margin: 2rem auto 0;
		width: 12rem;
	}
	footer .logo img{
		display: block;
		width: 100%;
	}
	footer .address{
		padding-top: 1.5rem;
		font-size: 100%;
	}
	footer .tel{
		font-size: 1.8rem;
	}
	footer .tel span{
		font-size: 1.2rem;
		padding-left: 0;
	}

	footer #copyright{
		font-size: 1rem;
		padding-top: 1.5rem;
		padding-bottom: 0;
	}
	footer .reserve{
		font-size: 100%;
	}
.icons{
	position:fixed;
	right:0;
	top:163px;
}
.icons li{
	margin-bottom:5px;
}
.icons img{
	vertical-align:bottom;
}
.icons a{
	display:block;
}
.icons a:hover{
	opacity:0.7;
	filter:alpha(opacity=70);
}
}