@charset "UTF-8";

html{
	margin:0;
	padding:0;
	font-size:62.5%;
}

body{
	margin:0 auto;
	padding:0;
	font-size:1.4em;
	font-family:'Noto Sans JP', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
	font-weight:400;
}
h1, h2, h3, h4, h5, h6,a{
	line-height:125%;
}
p{
	line-height:160%;
}
li{
	line-height:145%;
}

/* iPad背景切れ対策 */
@media screen and (min-width:668px){
	body {
		min-width: 1200px;
		font-size: 1.4rem;
	}
}

*,*::before,*::after{
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	-o-box-sizing:border-box;
	-ms-box-sizing:border-box;
	box-sizing:border-box;
}
header,footer,section,aside,nav,article,main{
	display:block;
}
h1, h2, h3, h4, h5, h6 {
	margin:0;
	padding:0;
}
p {
	margin:0;
	padding:0;
	font-size:100%;
}
img {
	border:none;
	vertical-align:top;
	margin:0;
	padding:0;
}
figure,ul,ol,li,dl,dt,dd{
	margin:0;
	padding:0;
}
ul li,ol li{
	list-style:none;
}
a{
	color:#000000;
	text-decoration:none;
	transition:color 0.2s;
}
a:link{
	color:#000000;
}
a:visited{
	color:#000000;
}
a:hover{
	color:#666666;
	text-decoration:none;
}
a.txtLink{
	text-decoration:underline;
	transition:color 0.2s;
}
a.txtLink:hover{
	color:#666666;
	text-decoration:none;
}

/* clearfix */
.clearfix::after {
	content:' ';
	display:block;
	height:0;
	font-size:0;
	clear: both;
	visibility:hidden;
}

/* 表示切替 */
.switch{
	visibility:hidden;
}
.sp{
	display:none;
}

/* フォント */
.fwB{
	font-weight:bold;
}
.fWh{
	color: #fff;
}
.fRed{
	color: #F00;
}

/* IE10+（Edgeも全て含む） */
_:-ms-lang(x), selector, .fwWinB{
	font-weight:bold;
}

/* 背景 */
#wrapper{
	min-width: 1200px;
	position: relative;
}
@media screen and (max-width:667px){
	body{
		-webkit-text-size-adjust:100%;
	}
	img{
		width:100%;
	}
	.pc{
		display:none;
	}
	.sp{
		display:block;
	}
	br.sp{
		display:inline-block;
	}
	
	/* 背景 */
	#wrapper{
		min-width: 100%;
	}
}

/* ポジション */
.relative{
	position: relative;
}

/* リンク */
.txtLinkArrow{
	display: inline-block;
	padding: 5px 22px 0 0;
	font-weight: bold;
	position: relative;
}
.txtLinkArrow::before{
	font-family:"Font Awesome 5 Free";
	content:'\f138';
	font-size:1.5rem;
	color: #42210b;
	position:absolute;
	right:0;
}
.txtLinkArrow a{
	color: #42210b;
	text-decoration: underline;
}
.txtLinkArrow a:hover{
	color: #42210b;
	text-decoration: none;
}



/*
	header
-----------------------------------------------------------------------------------------------*/
#headOut{
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 100;
}
#headIn{
	display:-ms-flex;
	display:flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-justify-content:space-between;
	justify-content:space-between;
	width: 1200px;
	margin: 0 auto;
	padding: 0 30px;
}
@media screen and (max-width:667px){
	#headIn{
		width: 100%;
		padding: 0;
		-ms-justify-content:center;
		justify-content:center;
	}
	
	/* 下層ページ */
	.pageHead #headIn{
		display: inline-block;
	}
}

/* logo */
#logoHead a{
	display: block;
	padding: 20px 25px;
	background-color: #000;
	-moz-box-shadow: 0 0 30px rgba(0,0,0,0.5);
	-webkit-box-shadow: 0 0 30px rgba(0,0,0,0.5);
	-ms-box-shadow: 0 0 30px rgba(0,0,0,0.5);
	box-shadow: 0 0 30px rgba(0,0,0,0.5);
	transition: opacity 0.3s;
}
#logoHead a:hover{
	opacity: 0.7;
}
@media screen and (max-width:667px){
	#logoHead a{
		padding: 10px 15px;
		margin: 40px 0 0;
	}
	#logoHead a img{
		width: 200px;
	}
	
	/* 下層ページ */
	.pageHead #logoHead a img{
		width: 160px;
	}
	.pageHead #logoHead a{
		display: inline-block;
		margin: 0 0 0 15px;
	}
}

/* gnav */
#gNavOut{
	display: inline-block;
	margin: 30px 0 0;
}
#listGnav{
	display: -ms-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-align-items: center;
	align-items: center;
}
#listGnav li{
	margin:0 35px 0 0;
}
#listGnav li:last-of-type{
	margin: 0 0 0 0;
}
#listGnav > li > a{
	display:inline-block;
	font-family: 'Noto Serif JP', 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'HG明朝E', 'ＭＳ Ｐ明朝', 'ＭＳ 明朝', serif;
	font-weight: bold;
	/*color: #fff;*/
	text-align:center;
	line-height:100%;
	/*text-shadow:0 0 2px rgba(0, 0, 0, 0.7);*/
	transition:opacity 0.3s;
}
#listGnav > li > a:hover{
	opacity:0.7;
}
#listGnav li a#inquiry{
	/* padding: 8px 15px; */
	padding: 8px 20px;
	color: #fff;
	background: -moz-linear-gradient(left, #ba8b02, #372e14);
	background: -webkit-linear-gradient(left, #ba8b02, #372e14);
	background: linear-gradient(to right, #ba8b02, #372e14);
	text-shadow: none;
}
#listGnav > li > a > span{
	display: inline-block;
	padding: 5px 0 0;
	font-size:1.0rem;
	font-weight: 700;
	color: #BF9824;
	line-height:100%;
	letter-spacing: 0.1rem;
}
#listGnav li.allergy{
	display: none;
}
@media screen and (max-width:667px){
	/* キー */
	#gNavOpen{
		width:60px;
		height:60px;
		background-color:rgba(0,0,0,0);
		position:absolute;
		top:0;
		right:0;
		z-index:999;
	}
	#gNavOpen .line{
		display:block;
		width:20px;
		height:2px;
		background-color:#000000;
		position:absolute;
		left:20px;
	}
	#gNavOpen .line01{
		top:20px;
		transition:transform 0.3s;
	}
	#gNavOpen .line02{
		top:28px;
	}
	#gNavOpen .line03{
		top:36px;
		transition:transform 0.3s;
	}
	#gNavOpen.active{
		background-color: #fff;
	}
	
	/* キーclose */
	#gNavOpen.active .line01{
		top:30px;
		transform:rotate(45deg);
	}
	#gNavOpen.active .line02{
		opacity:0;
	}
	#gNavOpen.active .line03{
		top:30px;
		transform:rotate(135deg);
	}
	
	#gNavOut{
		display: block;
		width: 100%;
		padding:0;
		margin: 0;
		position:absolute;
		/* top:-441px; */
		top:-435px;
		left:0;
		background:rgba(255,255,255,0.95);
		transition:top 0.6s;
		z-index:800;
	}
	#gNavOut.active{
		top:0;
	}
	#listGnav{
		display: block;
		padding: 60px 0;
		text-align: center;
	}
	#listGnav li{
		margin:0;
		padding: 15px 0;
	}
	#listGnav > li > a{
		font-size: 1.5rem;
		font-weight: 700;
		color: #000;
		text-shadow:none;
	}
	#listGnav li a#inquiry{
		color: #fff;
		font-weight: 400;
	}
	#listGnav > li > a > span{
		font-size:1.1rem;
	}
	#listGnav li.allergy{
		display: block;
	}
}


/*
	下層ページ
-----------------------------------------------------------------------------------------------*/
/* タイトル */
#titPageOut{
	height: 360px;
	background:url(../images/bg_base_curve01.png) center bottom no-repeat;
	background-size: 100%;
	position: relative;
}
#titPageIn{
	width: 1200px;
	height: 360px;
	margin: 0 auto;
	padding: 0 0 0 80px;
	position: relative;
}
/*
#titPageIn::after{
	content:' ';
	display:block;
	width:466px;
	height:355px;
	position:absolute;
	bottom:-75px;
	right:0;
	z-index: 2;
}
*/
#titPage{
	padding: 210px 0 0;
	font-family: 'Noto Serif JP', 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'HG明朝E', 'ＭＳ Ｐ明朝', 'ＭＳ 明朝', serif;
	/*color: #fff;*/
	font-size: 3.0rem;
	font-weight: 700;
	letter-spacing: 0.2rem;
	/*text-shadow: 0 0 5px rgba(0, 0, 0, 0.7);*/
}
#titPage span{
	display: block;
	margin: 5px 0 0;
	font-size: 1.5rem;
	color: #fff;
	line-height: 100%;
	filter: drop-shadow(0 0 5px rgba(0,0,0,1));
}
@media screen and (max-width:667px){
	#titPageOut{
		height: 170px;
	}
	#titPageIn{
		width: 100%;
		height: 170px;
		padding: 0 0 0 0;
		position: relative;
	}
	#titPageIn::after{
		width:225px;
		height:191px;
		bottom:-40px;
	}
	#titPage{
		padding: 0 0 0 0;
		font-size: 2.0rem;
		position: absolute;
		top: 93px;
		left: 15px;
		z-index: 10;
	}
	#titPage span{
		font-size: 1.2rem;
	}
}

/* コンテンツ */
/*
#pageOut{
	background-color: #fbf6f1;
}
*/
#pageIn{
	width: 1100px;
	margin: 0 auto;
	padding: 60px 30px 20px;
}
#pageIn .mainCopy{
	margin: 0 0 60px;
	font-family: 'Noto Serif JP', 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'HG明朝E', 'ＭＳ Ｐ明朝', 'ＭＳ 明朝', serif;
	font-size: 2.5rem;
	font-weight: 700;
	color: #42210b;
	line-height: 180%;
}
@media screen and (max-width:667px){
	#pageIn{
		width: 100%;
		padding: 45px 15px 10px;
	}
	#pageIn .mainCopy{
		margin: 0 0 40px;
		font-size: 1.8rem;
		line-height: 160%;
	}
}


/*
	コンテンツエリア
-----------------------------------------------------------------------------------------------*/
.ctsArea{
	width: 1100px;
	margin: 0 auto;
	padding: 60px 30px;
}
.ctsLastArea{
	width: 1100px;
	margin: 0 auto;
	padding: 60px 30px 20px;
}
.displayFSB{
	display:-ms-flex;
	display:flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-justify-content:space-between;
	justify-content:space-between;
}
@media screen and (max-width:667px){
	.ctsArea{
		width: 100%;
		padding: 30px 15px;
	}
	.ctsLastArea{
		width: 100%;
		padding: 30px 15px 15px;
	}
}


/*
	ボタン
-----------------------------------------------------------------------------------------------*/
.btnArea{
	display: -ms-flex;
	display: flex;
	-ms-justify-content: center;
	justify-content: center;
	padding: 30px 0 0;
}
.btnArea.right{
	-ms-justify-content: flex-end;
	justify-content: flex-end;
}
.btnArea a{
	display: inline-block;
	width: 220px;
	padding: 15px 10px;
	color: #42210b;
	font-size: 1.5rem;
	font-weight: bold;
	text-align: center;
	position: relative;
	border: 1px solid #42210b;
	background-color: #fff;
	transition: color 0.3s, background-color 0.3s;
}
.btnArea a::after{
	content:' ';
	display:block;
	width:8px;
	height:8px;
	border-top:2px solid #42210b;
	border-right:2px solid #42210b;
	transform:translateY(-50%) rotate(45deg);
	transform-origin:0 0;
	position:absolute;
	top:50%;
	right:10px;
	margin:-2px 0 0 0;
	transition: border-top 0.3s, border-right 0.3s;
}
.btnArea a:hover{
	color: #fff;
	background-color: #42210b;
}
.btnArea a:hover::after{
	border-top:2px solid #fff;
	border-right:2px solid #fff;
}
/* 別窓リンク */
.btnArea a span.window::after{
	content: "";
	display: inline-block;
	width: 15px;
	height: 17px;
	margin: 0 0 0 5px;
	background-image:url(../images/ico_window.svg);
	background-position: center top;
	background-repeat: no-repeat;
	background-size: contain;
	vertical-align: middle;
	transition: ackground-image 0.3s;
}
.btnArea a:hover span.window::after{
	background-image:url(../images/ico_window_wh.svg);
}
@media screen and (max-width:667px){
	.btnArea{
		display: block;
		padding: 15px 0 0;
	}
	.btnArea a{
		width: 100%;
	}
}


/*
	シェアボタン
-----------------------------------------------------------------------------------------------*/
.shareBtnArea{
	display:-ms-flex;
	display:flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-align-items: center;
	align-items: center;
	-ms-justify-content: flex-end;
	justify-content: flex-end;
	margin: 0px 10px 10px 0;
	
}
.shareBtnArea .txt{
	display: inline-block;
	padding: 0 15px 0 0;
	margin: 0 5px 0 0;
	font-family: 'Noto Serif JP', 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'HG明朝E', 'ＭＳ Ｐ明朝', 'ＭＳ 明朝', serif;
	font-weight: bold;
	color: #42210b;
	letter-spacing: 0.1rem;
	position: relative;
}
.shareBtnArea .txt.brown{
	color: #42210b;
}
.shareBtnArea .txt::after{
	content:' ';
	display:block;
	width:8px;
	height:8px;
	border-top:2px solid #42210b;
	border-right:2px solid #42210b;
	transform:translateY(-50%) rotate(45deg);
	transform-origin:0 0;
	position:absolute;
	top:50%;
	right:0;
	margin:-2px 0 0 0;
	transition: border-top 0.3s, border-right 0.3s;
}
.shareBtnArea .txt.brown::after{
	border-top:2px solid #42210b;
	border-right:2px solid #42210b;
}
.fb-like{
	margin: 8px 0 0 8px;
}
.fb-like iframe[src*="facebook"] {
	width:101px !important;
}
@media screen and (max-width:667px){
	.shareBtnArea{
		margin: 20px 10px 20px 0;
	}
	.fb-like{
		width: 81px;
	}
	.fb-like iframe[src*="facebook"] {
		width:81px !important;
	}
}


/*
	共通パーツ
-----------------------------------------------------------------------------------------------*/
/* カーブ */
.elem_curve01{
	display: none;
	width: 100%;
	height: 50px;
	vertical-align:bottom;
	position: absolute;
	bottom: 0;
}
.elem_curve01.toka{
	opacity: 0.75;
}
.elem_curve02{
	width: 100%;
	height: 50px;
	vertical-align:bottom;
	position: absolute;
	bottom: -50px;
}


/*
	背景
-----------------------------------------------------------------------------------------------*/
.bgBeige{
	background-color: #f1e6c9;
}


/*
	footer
-----------------------------------------------------------------------------------------------*/
#footOut{
	min-width: 1200px;
	background-color: #BA9B29;
}
#footIn{
	width: 1200px;
	margin: 0 auto;
	padding: 30px;
	color: #fff;
}
#footT,
#footB{
	display:-ms-flex;
	display:flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-justify-content:space-between;
	justify-content:space-between;
	-ms-align-items: center;
	align-items: center;
}
#footT{
	margin: 0 0 15px;
}
#footB{
	-ms-flex-direction: row-reverse;
	flex-direction: row-reverse;
}
#footLogo{
	display:-ms-inline-flex;
	display:inline-flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-align-items: center;
	align-items: center;
	font-size: 1.3rem;
}
#footLogo img{
	width: 115px;
	height: 25px;
	margin: 0 15px 0 0;
}
#copyright small{
	font-size:1.2rem;
}
#footHome a{
	padding: 0 0 0 22px;
	color: #fff;
	position: relative;
	transition: border-color 0.2s;
}
#footHome a:before{
	font-family:"Font Awesome 5 Free";
	content:'\f138';
	font-weight: bold;
	position:absolute;
	top: 53%;
	left: 0;
	transform: translateY(-50%);
}
#footHome a:hover{
	text-decoration: underline;
}
#listFoot{
	display:-ms-flex;
	display:flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
#listFoot li{
	padding: 0 10px;
	border-right: 1px solid #48331D;
	line-height: 100%;
}
#listFoot li:last-of-type{
	padding: 0 0 0 10px;
	border-right: none;
}
#listFoot li a{
	font-size: 1.2rem;
	color: #48331D;
}
#listFoot li a:hover{
	text-decoration: underline;
}
@media screen and (max-width:667px){
	#footOut {
	min-width: 100%;
}
	#footIn{
		width: 100%;
		padding: 15px;
	}
	#footT{
		display: block;
	}
	#footB{
		display: block;
		-ms-flex-direction: row;
		flex-direction: row;
	}
	#footLogo{
		margin: 0 0 10px;
	}
	#footLogo span{
		display: block;
		width: 100%;
	}
	#footLogo img{
		margin: 0 0 8px 0;
	}
	#listFoot{
		display: block;
	}
	#listFoot li{
		padding: 0 0 8px;
		border-right: none;
		text-decoration: underline;
	}
	#listFoot li:last-of-type{
		padding: 0 0 15px;
	}
}



/*
	pagetop
-----------------------------------------------------------------------------------------------*/
#pageTopOut{
	position: fixed;
	right: 15px;
	bottom: 10px;
	z-index: 1000;
}
#pageTop{
	display:-ms-flex;
	display:flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-align-items: center;
	align-items: center;
	width:50px;
	height:50px;
	padding: 5px 0 0;
	/*background: -moz-linear-gradient(left, #ba8b02, #372e14);
	background: -webkit-linear-gradient(left, #ba8b02, #372e14);*/
	background: #f4ebd4;
	opacity: 0.95;
	transition: opacity 0.2s;
}
#pageTop:hover{
	opacity: 0.75;
}
#pageTop::after{
	content:' ';
	display:block;
	margin: 0 auto;
	width:15px;
	height:15px;
	border-top: 2px solid #3D2614;
	border-left: 2px solid #3D2614;
	transform:rotate(45deg);
}
@media screen and (max-width:667px){
	#pageTopOut{
		right: 15px;
		bottom: 15px;
	}
	#pageTop{
		width:40px;
		height:40px;
	}
	#pageTop::after{
		width:12px;
		height:12px;
	}
}