@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@500;700&display=swap');

:root {
	--color-main: #000000;
}

*{
-webkit-box-sizing:border-box;
   -moz-box-sizing:border-box;
	-ms-box-sizing:border-box;
	 -o-box-sizing:border-box;
		box-sizing:border-box;
}
img {
	-ms-interpolation-mode:bicubic;
	vertical-align:bottom;
	max-width:100%;
	height:auto;
	width:auto\9;
	touch-callout:none;
	user-select:none;
	-webkit-touch-callout:none;
	-webkit-user-select:none;
	-moz-touch-callout:none;
	-moz-user-select:none;
}

.font_maru{
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-weight:500;
	transform:rotateZ(0.03deg);
}
.font_maru_b{
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-weight:700;
	transform:rotateZ(0.03deg);
}

/*--------------------------------------------------------------------------
   html
---------------------------------------------------------------------------*/
html{
	min-height:100%;
	overflow-y:scroll;
	position: relative;
}

/*--------------------------------------------------------------------------
   body
---------------------------------------------------------------------------*/
body{
	line-height:1.0;
	height:100%;
	background:#F3F3F3;
	color:#212121;
	font-size:14px;
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "Osaka", "MS Pゴシック", "MS PGothic", "MSゴシック", Arial, Helvetica, sans-serif;
	margin-top: 154px;
}

/*--------------------------------------------------------------------------
   base link
---------------------------------------------------------------------------*/
a{
	outline:none;
	color:#212121;
	text-decoration: underline;
	word-break: break-all;
	cursor:pointer;
}
a:visited {}
a:hover,
a:active,
a:focus {text-decoration: none;}

a:hover{
	opacity:0.6;
}

/*--------------------------------------------------------------------------
   container
---------------------------------------------------------------------------*/
#container{
	position:relative;
	z-index:1;
	width:100%;
}

/*--------------------------------------------------------------------------
   contents
---------------------------------------------------------------------------*/
.sp{ display:none; }

/*--------------------------------------------------------------------------
   header
---------------------------------------------------------------------------*/
header{
	position: fixed;
	top: 0;
	left: 0;
	width:100%;
	background:#FFFFFF;
	z-index:1000;
	border-top:2px solid #FF0000;
}
header::after{
	content:"";
	width:100%;
	height:10px;
	position:absolute;
	z-index:-1;
	top:100%;
	left:0;
	background: -moz-linear-gradient(top,  rgba(0,0,0,0.2) 0%, rgba(0,0,0,0.05) 50%, rgba(0,0,0,0) 100%);
	background: -webkit-linear-gradient(top,  rgba(0,0,0,0.2) 0%,rgba(0,0,0,0.05) 50%,rgba(0,0,0,0) 100%);
	background: linear-gradient(to bottom,  rgba(0,0,0,0.2) 0%,rgba(0,0,0,0.05) 50%,rgba(0,0,0,0) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#33000000', endColorstr='#00000000',GradientType=0 );
	pointer-events:none;
}

#header_contents{
	width: 100%;
}

.shop_box{
	max-width:1100px;
	margin:0 auto;
	padding:10px 0;
	overflow:hidden;
}
.shop_box .shoplogo{
	float:left;
	width:50%;
	overflow:hidden;
	padding:5px 10px 5px 0;
	display: flex;
	align-items: center;
}
.shop_box .shoplogo .image{
	width:184px;
}
.shop_box .shoplogo .name{
	flex: 1;
	padding-left: 20px;
}
.shop_box .shoplogo .name a{
	text-decoration:none;
}
.shop_box .shoplogo .name .name_area{
	padding:5px 2px;
	color:#F10707;
	font-size:13px;
}
.shop_box .shoplogo .name .name_area a{
	color:#F10707;
	font-size:13px;
}
.shop_box .shoplogo .name .name_shop a{	
	font-size:18px;
	line-height:1.2;
	padding: 10px 0;
	display: block;
}

.shop_box .utility{
	float:right;
	width:50%;
	padding:0 0 5px 15px;
	overflow:hidden;
	border-left:1px solid #CCCCCC;
}
.shop_box .utility .info{
	float:left;
	width:calc(100% - 160px);
	padding-top:10px;
}
.shop_box .utility .info .address{
	font-size:13px;
}
.shop_box .utility .info .info_btn{
	font-size:0;
}
.shop_box .utility .info .info_btn li{
	display:inline-block;
	vertical-align:top;
	font-size:16px;
	font-weight:bold;
	margin:5px 10px 0 0;
}
.shop_box .utility .info .info_btn li a{
	display:block;
	background:#FBFBFB;
	border:1px solid #CCCCCC;
	height:34px;
	line-height:34px;
	text-decoration:none;
	padding:0 15px 0 57px;
	border-radius:5px;
	position:relative;
}
.shop_box .utility .info .info_btn li a:before{
	content:"";
	display:block;
	width:42px;
	height:100%;
	position:absolute;
	left:0;
	top:0;
	border-right:1px solid #EAE8E8;
}
.shop_box .utility .info .info_btn li.tel a:before{
	background:url(../images/icon_utility_tel.png) no-repeat center;
	background-size:26px 26px;
}
.shop_box .utility .info .info_btn li.access a:before{
	background:url(../images/icon_utility_map.png) no-repeat center;
	background-size:26px 26px;
}
.shop_box .utility .info .info_btn li.reserve a:before{
	background:url(../images/icon_utility_reserve.png) no-repeat center;
	background-size:26px 26px;
}
.shop_box .utility .info .info_btn li.inquiry a:before{
	background:url(../images/icon_utility_inquiry.png) no-repeat center;
	background-size:26px 26px;
}
.shop_box .utility .info .info_btn li.tel a{ color:#FF0000; }
.shop_box .utility .info .info_btn li.access a{ color:#505050; }
.shop_box .utility .info .info_btn li.reserve a{ color:#505050; }
.shop_box .utility .info .info_btn li.inquiry a{ color:#505050; }
.shop_box .utility .link{
	float:right;
	width:150px;
	font-size:11px;
}
.shop_box .utility .link + .link{
	margin-top: 5px;
}
.shop_box .utility .link .logo_bs{
	margin:5px 0;
}
.shop_box .utility .link .exlink li{
	position:relative;
	padding-left:10px;
}
.shop_box .utility .link .exlink li::before{
	content:"";
	display:inline-block;
	border:3px solid transparent;
	border-left-color:var(--color-main);
	position:absolute;
	left:0;
	top:2px;
}
.exlink::after{ display:none!important; }
.shop_box .utility .link .exlink li a{
	text-decoration:none;
}
.shop_box .utility .link .exlink li + li{
	margin-top:5px;
}


/* メインメニュー */
#gnav-wrap{
	width:100%;
	position:relative;
	z-index:1000;
	background: #333333;
}
#gnav{
	width:100%;
	max-width:1100px;
	margin:0 auto;
	padding:10px 0;
}
.dropmenu{
	width:100%;
	display:flex;
	justify-content: space-between;
	border-left:1px solid #666666;
}
.dropmenu li{
	width:100%;
	vertical-align:middle;
	text-align:center;
	position: relative;
	border-right:1px solid #666666;
	display:flex;
	align-items: center;
    justify-content: center;
}
.dropmenu li a{
	display:block;
	padding:15px 5px;
	color: #CCCCCC;
	font-size:14px;
	text-decoration:none;
}
.dropmenu li ul.sub_nav{
	position: absolute;
	z-index:9999;
	top:100%;
	left:0;
	padding-top:10px;
	background:#333333;
	width:100%;
}
.dropmenu li ul.sub_nav li{
	width: 100%;
	display:block;
	padding:0;
	border-right:none;
}	
.dropmenu li ul li a{
	padding:13px 15px;
	border-top:1px solid #fff;
	text-align:left;
	line-height:1.5;
	transition:background 0.3s;
}
.dropmenu li ul li a:hover{
	opacity:1;
	background: #CCCCCC;
	color: #333333;
}
#normal li ul{
	display: none;
}
#normal li:hover ul{
	display: block;
}


/*--------------------------------------------------------------------------
  footer
---------------------------------------------------------------------------*/
footer{
	margin-top:70px;
}
#footer_image{
	width:100%;
	max-width:1100px;
	margin:0 auto;
	position:relative;
}
#footer_image p{
	width:40%;
	position:absolute;
	right:10px;
	bottom:20px;
	pointer-events:none;
	text-align:right;
}
#footerarea{
	width:100%;
	background:#E3E3E3;
	border-top:2px solid #FFFFFF;
}
#footer_link{
	width: 100%;
}
#site_link{
	background:#333333;
	border-bottom:2px solid #FFFFFF;
}
#site_link ul{
	max-width:1100px;
	overflow:hidden;
	margin:0 auto;
	padding:5px 10px;
}	
#site_link ul li{
	float:left;
}
#site_link ul li + li{
	margin-left:20px;
}
#site_link ul li a{
	display:block;
	padding:14px 0 14px 10px;
	font-size:13px;
	text-decoration:none;
	position:relative;
	color:#FFFFFF;
}
#site_link ul li a::before{
	content:"";
	display:inline-block;
	border:3px solid transparent;
	border-left-color:#FFFFFF;
	position:absolute;
	left:0;
	top:50%;
	margin-top:-3px;
}
#footer_link .shop_box .inquiry{
	padding:20px 45% 20px 10px;
}
#footer_link .shop_box .inquiry p.shop{
	font-size:20px;
	margin-bottom:15px;
}
#footer_link .shop_box .inquiry p.shop span{
	display:block;
	color:#F10707;
	font-size:13px;
	margin-bottom:5px;
}
#footer_link .shop_box .inquiry p.address{
	display:inline-block;
	vertical-align:middle;
	font-size:13px;
}
#footer_link .shop_box .inquiry p.address_map{
	display:inline-block;
	vertical-align:middle;
}
#footer_link .shop_box .inquiry p.address_map a{
	background:url(../images/footer_map_icon.png) no-repeat 7px center var(--color-main);
	background-size:auto 14px;
	color:#FFFFFF;
	padding:3px 8px 3px 23px;
	border-radius:3px;
	margin-left:20px;
	text-decoration: none;
	font-size:12px;
	font-weight:bold;
}
#footer_link .shop_box .inquiry p.tel{
	background:url(../images/footer_tel_icon.png) 0 center no-repeat;
	background-size:contain;
	padding:0 0 0 35px;
	margin-top:15px;
	color:#FF0000;
	font-size:20px;
	font-weight:bold;
}


#copyright{
	width:100%;
	line-height:1.5;
	background: #212121;
	font-size:12px;
	color:#FFFFFF;
	padding:10px 10px;
	text-align:center;
}

/*--------------------------------------------------------------------------
   btnTop
---------------------------------------------------------------------------*/
p.gotop{
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index:3000;
	text-indent:-9999px;
	background-color: rgba( 236, 46, 32, 1.0 );
	border-radius:3px 3px 0 0;
	width: 50px;
	height: 40px;
}
p.gotop a{
	position: absolute;
	right: 10px;
	top: 12px;
	width: 30px;
	height: 30px;
	display: block;
	border-left: 6px solid #FFF;
	border-top: 6px solid #FFF;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
p.gotop a:hover{
	-moz-opacity:0.80;
	-khtml-opacity:0.80;
	opacity:0.80;
	-ms-filter:"progid:DXImageTransform.Microsoft.Alpha"(Opacity=80);
	filter:progid:DXImageTransform.Microsoft.Alpha(opacity=80);
}


/*--------------------------------------------------------------------------
   予約ボタン
---------------------------------------------------------------------------*/
.side_btn{
	position:fixed;
	z-index:9999;
	right:0;
	top:220px;
}



/******************************************************************************************
	sp size
******************************************************************************************/

@media screen and (max-width:899px) {

/*--------------------------------------------------------------------------
   body
---------------------------------------------------------------------------*/
body{
	margin-top: 71px;
}

/*--------------------------------------------------------------------------
   contents
---------------------------------------------------------------------------*/
.sp{ display:block; }
.pc{ display:none; }


/*--------------------------------------------------------------------------
   header
---------------------------------------------------------------------------*/
header{}
#header_contents{}

.shop_box{
	width:100%;
	margin:0;
	padding:12px 15px;
	display:table;
}
.shop_box .shoplogo{
	float:none;
	display:table-cell;
	vertical-align:middle;
	width:auto;
	padding:0 10px 0 0;
}
.shop_box .shoplogo .image{
	display:none;
}
.shop_box .shoplogo .name{
	float:none;
	width:100%;
	letter-spacing:-0.1em;
	padding-top:0;
	padding-left: 0;
}
.shop_box .shoplogo .name .name_area{
	padding:0;
	margin-bottom:3px;
}
.shop_box .shoplogo .name .name_area a{
	font-size:12px;
}
.shop_box .shoplogo .name .name_shop a{	
	font-size:16px;
	line-height:1.2;
	padding: 0;
}

.shop_box .utility{
	display:none;
}

/*トグル*/
.shop_box #gnav-btn{
	display:table-cell;
	vertical-align:middle;
	width:44px;
}
#panel-btn{
	display: inline-block;
	position: relative;
	width: 44px;
	height: 44px;
	border-radius:5px;
	background:var(--color-main);
}
#panel-btn-icon{
	display: block;
	position: absolute;
	top: 40%;
	left: 30%;
	width: 30px;
	height: 2px;
	margin: 3px 0 0 -6px;
	background: #FFF;
	transition: .2s;
}
#panel-btn-icon:before, #panel-btn-icon:after{
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 30px;
	height: 2px;
	background: #FFF;
}
#panel-btn-icon:before{
	margin-top: -8px;
}
#panel-btn-icon:after{
	margin-top: 6px;
}

/* メインメニュー */
#gnav-wrap{
	width:100%;
	position:absolute;
	left:0;
	top:100%;
	z-index:1000;
	background:none;
	display:none;
}
#gnav-wrap{
	display:none;
	width:100%;
	position:absolute;
	z-index:1000;
}
#gnav{
	padding:0;
}
.dropmenu{
	display:block;
	width: 100%;
}
.dropmenu li{
	display:block;
	float:left;
	width:50%;
	border-bottom:1px solid #FFF;
	border-right:none;
	background:var(--color-main);
	text-align:left;
}
.dropmenu li:nth-child(even){
	border-right:1px solid #FFF;
}
.dropmenu li a{
	display:block;
	background:url(../images/icon_ya01_white.png) 6px center no-repeat var(--color-main);
	padding:16px 0 16px 20px;
	color:#FFF;
	font-size:12px;
	text-decoration:none;
}
li.sp_nav,
ul.sub_nav,
#normal li ul,
#normal li:hover ul{
	display:none;
}



/*--------------------------------------------------------------------------
  footer
---------------------------------------------------------------------------*/
footer{
	margin-top:50px;
}
#site_link ul{
	padding:0;
}	
#site_link ul li{
	width:50%;
	border-bottom:1px solid #DDDDDD;
}
#site_link ul li:nth-child(even){
	border-left:1px solid #DDDDDD;
}
#site_link ul li + li{
	margin-left:0;
}
#site_link ul li a{
	padding:10px 0 10px 25px;
	font-size:12px;
}
#site_link ul li a::before{
	left:15px;
}
#footer_link .shop_box .inquiry{
	padding:10px 0;
}

#footer_link .shop_box .inquiry p.shop{
	font-size:18px;
	margin-bottom:15px;
}
#footer_link .shop_box .inquiry p.shop span{
	font-size:12px;
	margin-bottom:5px;
}
#footer_link .shop_box .inquiry p.address{
	font-size:12px;
	display:block;
	margin-bottom:10px;
}
#footer_link .shop_box .inquiry p.address_map a{
	font-size:12px;
	margin:0;
}
#footer_link .shop_box .inquiry p.tel{
	padding:0 0 0 25px;
	font-size:16px;
}


#copyright{
	font-size:11px;
}


}


/******************************************************************************************
	PRINT
******************************************************************************************/

@media print{
	body{ margin-top:0!important; }
	header, footer #site_link, .gotop{ display:none!important; }
	#koten_contents {
		float: none!important;
		width: 100%!important;
	}
	#koten_sidearea {
		display:none!important;
	}
	footer{  }
}