@charset "utf-8";
body{
	color:#fff;
	font-size:15px;
	font-family:'Noto Serif JP' ,"Noto Serif Japanese" ,"游ゴシック体","Yu Gothic",YuGothic,"ヒラギノ角ゴシック Pro","Hiragino Kaku Gothic Pro","Quicksand","メイリオ",Meiryo,Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	line-height:1.6;
	background-color:#171717;
}
@font-face {
  font-family: 'Noto Serif Japanese';
  font-style: normal;
	src:url('../font/NotoSerifCJKjp-Regular-subset.woff2') format('woff2'), 
	url('../font/NotoSerifCJKjp-Regular-subset.woff') format('woff'),
	url('../font/NotoSerifCJKjp-Regular-subset.otf') format('opentype');
}
@font-face {
  font-family: 'Noto Sans Japanese';
  font-style: normal;
	src:url('../font/NotoSansCJKjp-Regular-subset.woff2') format('woff2'), 
	url('../font/NotoSansCJKjp-Regular-subset.woff') format('woff'),
	url('../font/NotoSansCJKjp-Regular-subset.otf') format('opentype');
}

ul{
	letter-spacing: -.40em; /* 文字間を詰めて隙間を削除する */
}

li{
	letter-spacing: normal; /* 文字間を通常に戻す */
}
a {
	color:#000;
	-webkit-transition: all 0.4s;
	-moz-transition: all 0.4s;
	-ms-transition: all 0.4s;
	-o-transition: all 0.4s;
	transition: all 0.4s;
}

header a , nav a{
	text-decoration:none;
}


img{
	max-width:100%;
}

.clear{
	clear:both;
}

.clearfix_af:after{
	content: "";
	display: block; 
	height: 0; 
	font-size:0;    
	clear: both; 
	visibility:hidden;
}

.clearfix_bf:before{
	content: "";
	display: block; 
	height: 0; 
	font-size:0;    
	clear: both; 
	visibility:hidden;
}
.clearfix_af ,.clearfix_bf{
	display: inline-block;
} 
/* Hides from IE Mac */
* html .clearfix_af{
	height: 1%;
}
.clearfix_af ,.clearfix_bf{
	display:block;
}
/* End Hack */


header .header_menu a.act{
	color:#8c8c8c;
}

@media only screen and (min-width: 768px) {
	body{
		min-width:1130px;
	}

	.header_area{
		justify-content:flex-end;
		display:flex;
		flex-wrap:wrap;
		align-items:flex-end;
	}

	.header_area a{
		color:#fff;
	}

	.header_area a.act{
		color:#8c8c8c;
	}


	.container{
		width:1130px;
		margin:auto;
	}

	a:hover {
/*		opacity: 0.5;*/
	}

	.sp_only{
		display:none !important;
	}

	header{
		width:1130px;
		margin:auto;
		padding:30px 0 20px 0;
	}

	#rwdMenuWrap{
		justify-content: space-between;
		display:-webkit-box;
		display:-moz-box;
		display:-ms-box;
		display:-webkit-flexbox;
		display:-moz-flexbox;
		display:-ms-flexbox;
		display:-webkit-flex;
		display:-moz-flex;
		display:-ms-flex;
		display:flex;
		-webkit-box-lines:multiple;
		-moz-box-lines:multiple;
		-webkit-flex-wrap:wrap;
		-moz-flex-wrap:wrap;
		-ms-flex-wrap:wrap;
		flex-wrap:wrap;
	}

	.menu_area ul li{
		display:inline-block;
	}

	.menu_area .header_sns{
		text-align:right;
	}

	.menu_area .header_sns li{
		margin-left:30px;
	}

	.menu_area .header_menu{
		margin-top:55px;
	}

	.menu_area .header_menu li{
		margin-left:50px;
	}

	.menu_area .header_menu li:hover{
		opacity:0.6;
	}


	header .header_menu a{
		color:#fff;
		font-size:17px;
	}

	footer{
		margin-top:100px;
		padding-bottom:30px;
	}

	footer .container{
		background:url(../image/common/pc/line.png) top center repeat-x;
		width:945px;
		margin:auto;
		padding-top:40px;
		position:relative;
	}

	footer .container ul{
		justify-content: flex-start;
		display:-webkit-box;
		display:-moz-box;
		display:-ms-box;
		display:-webkit-flexbox;
		display:-moz-flexbox;
		display:-ms-flexbox;
		display:-webkit-flex;
		display:-moz-flex;
		display:-ms-flex;
		display:flex;
		-webkit-box-lines:multiple;
		-moz-box-lines:multiple;
		-webkit-flex-wrap:wrap;
		-moz-flex-wrap:wrap;
		-ms-flex-wrap:wrap;
		flex-wrap:wrap;
	}

	footer .container ul li:first-child{
		width:330px;
		padding-left:25px;
		box-sizing:border-box;
	}

	footer .container ul li:last-child{
		background:url(../image/common/pc/footer_line02.png) top left repeat-y;
		padding-left:55px;
	}

	footer .container ul li:last-child p:nth-of-type(1){
		margin-top:0;
	}

	footer .container ul li:last-child p{
		color:#fff;
		font-size:15px;
		margin-top:20px;
		letter-spacing:1px;
	}

	footer .copyright{
		position:absolute;
		bottom:15px;
		left:150px;
	}

/*休業案内用*/
	.closing_info .layer_board_btn{
		display: block;
		padding: 2px 10px;
		border: solid 1px #fff;
		margin-right: 18px;
	}
	.closing_info .layer_board_btn2{
		display: block;
		padding: 2px 10px;
		border: solid 1px #fff;
		margin-right: 18px;
	}

	.closing_info_sp{
		display:none;
	}

	.bento_info_sp{
		display:none;
	}

}

@media only screen and (max-width: 767px) {
	/* 共通の設定
	 * --------------------------------------- */
	body{
		font-size:12px;
	}

	img{
		max-width:100%;
	}


	.pc_only{
		display:none !important;
	}

	.header_area .lang{
		position:fixed;
		bottom:55px;
		text-align:center;
		width:100%;
		display:none;
		padding:10px 0;
		border-top:dotted 1px #ccc;
		background-color:#fff;
	}

	.header_area .lang a{
		font-size:18px;
	}
	.header_area .lang a.act{
		color:#8c8c8c;
	}


	#rwdMenuWrap{
		height:82px;
		background-color:#171717;
		position: fixed;
		top:0;
		width:100%;
		z-index:9999;
	}

	#rwdMenuWrap #switchBtnArea .switchBtn {
		top: 0;
		right: 0;
		width:82px;
		height:82px;
		background-color:#6c6a6a;
		display: block;
		position: fixed;
		z-index:9999;
	}

	#rwdMenuWrap #switchBtnArea .switchBtn span {
		left: 10%;
		width: 36px;
		height: 2px;
		display: block;
		position: absolute;
		background-color: #fff;
		transition: all 0.2s linear;
	}
	#rwdMenuWrap #switchBtnArea .switchBtn span:nth-of-type(1) {top:40px;left:22px;transform: rotate(0);}
	#rwdMenuWrap #switchBtnArea .switchBtn span:nth-of-type(2) {top:30px;left:22px;transform: scale(1);}
	#rwdMenuWrap #switchBtnArea .switchBtn span:nth-of-type(3) {bottom:30px;left:22px;transform: rotate(0);}

	#rwdMenuWrap #switchBtnArea .switchBtn.btnClose span:nth-of-type(1) {top:40px;transform: rotate(-45deg);}
	#rwdMenuWrap #switchBtnArea .switchBtn.btnClose span:nth-of-type(2) {transform: scale(0);}
	#rwdMenuWrap #switchBtnArea .switchBtn.btnClose span:nth-of-type(3) {bottom:40px;transform: rotate(45deg);}

	.menu_area{
		display:none;
		background-color:#fff;
		position:fixed;
		top:82px;
		height:100vh;
		width:100%;
	}

	.header_menu li{
		border-bottom:dotted 1px #ccc;
	}

	.header_menu a{
		font-size:18px;
	}

	.header_sns{
		position:fixed;
		bottom:0;
		z-index:9999;
		background-color:#171717;
		width:100%;
		text-align:center;
		display:none;
	}

	.header_sns li{
		display:inline-block;
		margin-right:20px;
		padding:10px 0;
	}

	.header_sns li:last-child{
		margin-right:0;
	}

	.header_menu li{
		text-align:center;
		padding:15px 0;
	}

	h1.logo{
		position:fixed;
		z-index:9999;
		left:30px;
		top:5px;
	}

	footer{
		margin-top:85px;
		padding:0 15px;
		box-sizing:border-box;
	}

	footer .container{
		background:url(../image/common/pc/line.png) top center repeat-x;
	}


	footer .container ul li:first-child{
		text-align:center;
		padding-top:45px;
		padding-bottom:20px;
	}

	footer .container ul li:last-child p{
		color:#fff;
		font-size:15px;
		margin-top:20px;
		line-height:24px;
		text-align:center;
	}

	footer .container ul li:last-child p a{
		color:#fff;
	}

	footer .copyright{
		text-align:center;
		margin-top:85px;
		padding-bottom:30px;
	}

	.lang.sp_only{
		position:fixed;
		right:100px;
		top:25px;
		font-family:'Noto Sans Japanese' ,"Noto Serif Japanese" ,"游ゴシック体","Yu Gothic",YuGothic,"ヒラギノ角ゴシック Pro","Hiragino Kaku Gothic Pro","Quicksand","メイリオ",Meiryo,Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
		font-size:18px;
	}

	.lang.sp_only a{
		color:#fff;
		font-size:18px;
	}
	.lang.sp_only a.act{
		color:#8c8c8c;
	}

	.lang.sp_only .spsns{
		display:inline-block;
		padding-left:8px;
	}
	.lang.sp_only .spsns img{
		vertical-align:middle;
		max-width:22px;
		margin:0 2px;
	}


/*休業案内用*/
	.closing_info{
		display:none;
	}

	.closing_info_sp{
		margin-top:10px;
	}

	header + .closing_info_sp{
		margin-top:90px;
	}

	.closing_info_sp .layer_board_btn{
		margin:0 auto 0 auto;
		display: block;
		padding: 5px 10px;
		border: solid 1px #fff;
		color:#fff;
		width:80%;
		text-align:center;
		text-decoration:none;
		font-size:15px;
	}

	.closing_info_sp .layer_board_btn2{
		margin:0 auto 0 auto;
		display: block;
		padding: 5px 10px;
		border: solid 1px #fff;
		color:#fff;
		width:80%;
		text-align:center;
		text-decoration:none;
		font-size:15px;
	}

	.bento_info_sp{
		margin-top:10px;
	}

	.bento_info_sp a{
		margin:0 auto 0 auto;
		display: block;
		padding: 5px 10px;
		border: solid 1px #fff;
		color:#fff;
		width:80%;
		text-align:center;
		text-decoration:none;
		font-size:15px;
	}
	

}

/*layerBoard CSS定義上書き*/
.layer_board {
	background-color:#666;
}

body .layer_borad_content {
	color:#fff;
}

body .layer_board .square_btn {
	color:#fff;
	border-color:#fff;
}


@media only screen and (max-width: 320px) {
	.lang.sp_only .spsns{
		display:block;
		padding-left:12px;
		text-align:left;
		padding-left:60px;
	}
}