html {
    height: 100%;
}

body{
	margin:0;
	padding:0;
	color:#565656;;
	height:100%;
	background-color:#f7f7f7;
	font-family: 'Noto Sans JP', sans-serif;
font-weight: 400;
letter-spacing: 1px
}

div{
	margin:0;
	padding:0;
}

p{
	margin:1em 0;
	padding:0;
}

table{
	border-radius:10px;
}


#wrapper{
	position:relative;
	width:100%;
	padding:0;
	min-height:100%;
}

#header{
	position:fixed;
	left:0;
	top:0;
	width:100%;
	float:left;
	background-size:contain;
	background-color:#440022;
	background-repeat:no-repeat;
	z-index:2;
}


#header #logo{
	float:left;
}

#header #logo h1{
	width:100px;
	height:30px;
	text-indent:100%;
	white-space:nowrap;
	overflow:hidden;
	//background:url(/wp-content/themes/tabesuke/img/parts/logo03.png) no-repeat;
	background-size:contain;
	padding:0;
	margin:10px 0 0 20px;
	float:left;
}


#header #logo span{
	float:left;
	color:white;
	margin-top:17px;
	font-size:14px;
}

#menu{
	float:right;
	text-align:right;
	color:white;
	line-height:1.5em;
	padding-bottom:0;
	padding-top:10px;
}

#menu ul{
	padding:0 10px;
	margin:5px 0;
}

#menu li{
	display:inline-block;
	font-size:13px;
	padding:0 6px;
	margin-left:-1px;
	margin-right:0;
}

#menu a{
	display:block;
	position:relative;
	text-decoration:none;
	overflow:hidden;
}

#menu a:after {
content:'';
position:absolute;
bottom:0;
left:-100%;
width:100%;
height:2px;
background:rgba(255,255,255,.5);
transition: all .3s;
}

#menu a:hover:after {
transform:translateX(100%);
}
    

#content{
	max-width:980px;
	margin:0 auto;
	padding-top:50px;
	padding-bottom:10%;
	background-size:contain;
	background-position: bottom;
	background-repeat:no-repeat;
	clear:both;
}

#content>div{
	padding:0;
	margin:0 auto;
}

h1{
	margin:0;
	padding:10px;
	line-height:1em;
}

h2{
display: block;
text-align: center;
padding-top:10px;
font-weight: 700;
line-height: 1.4;
color: #565656;
font-size:22px;
}

h3{
	text-align:center;
	color:rgba(37,119,0,1);
	//background:url(/wp-content/themes/tabesuke/img/parts/bg2-2.png) no-repeat; background-position:center center; background-size:cover; border:none;
	padding: 5px 0;
}

h4{
	font-size:1.2em;
	margin:0.5em 0;
}

.reservation{
	width:100%;
	margin-bottom:3em;
	background-color:white;
}

.reservation_finished{
	width:100%;
	margin-bottom:3em;
	//background: url(/wp-content/themes/tabesuke/img/parts/0cb351c2.png);
}


hr {
	border:solid #eee;
	border-width:2px 0 0 0;
} 

a:link, a:hover, a:visited{
	color:#333;
	text-decoration:underline;
}

#header a:link, #header a:hover, #header a:visited, #navigation a:link, #navigation a:hover, #navigation a:visited{
	color:white;
}


.lead{
	background-color:white;
	border-radius:10px;
}

#content>div.column{
	background-color:white;
	padding:0.5em 1em;
	border-radius:10px;
	margin: 1em 0;
}

#content>div.column .product{
	padding:5px;
	width:calc(25% - 10px);
	text-align:center;
}

#content>div.column .product img{
	width:100%;
	height:auto;
	display:block;
}

#content td img{
	display:block;
	width:auto;
	height:auto;
	max-width:400px;
	max-height:400px;
	border-radius:10px;
	margin:0 auto;
}

#onsale{
	border-radius:0 0 10px 10px;
}



.error{
	background-color:rgba(253,85,0,1);
	color:white;
}

.error p, .lead p{
	padding:1em;
	margin-bottom:1em;
}

textarea{
	box-sizing:border-box;
	width:100%;
	height:10em;
}

.object p{
	margin-top:5px;
	margin-bottom:2px;
}

input[type="date"], input[type="time"]{
	font-size:1.5em;
	margin:0.5em 0;
}

input[type="number"]{
	font-size:1.5em;
	margin:1em 0;
	width:3em;
	text-align:right;
}

input[type="text"], input[type="password"]{
	box-sizing:border-box;
	width:100%;
	margin-right:0;
	border:1px solid #ccc;
	font-size:1.2em;
	padding:0.3em;
}


input[type="submit"]{
	display:block;
	margin:1em auto;
	width:200px;
	height:auto;
	font-size:16px;
	line-height:1.6em;
	 background: -webkit-gradient(linear, left top, left bottom, from(#0969a1), to(#65a9d7));
   background: -webkit-linear-gradient(top, #0969a1, #65a9d7);
   background: -moz-linear-gradient(top, #0969a1, #65a9d7);
   background: -ms-linear-gradient(top, #0969a1, #65a9d7);
   background: -o-linear-gradient(top, #0969a1, #65a9d7);
   -webkit-box-shadow: rgba(0,0,0,1) 0 2px 0;
   -moz-box-shadow: rgba(0,0,0,1) 0 2px 0;
   box-shadow: rgba(0,0,0,1) 0 2px 0;
	cursor:pointer;
	color: #fff;
	border-style: none;
	border-radius: 30px;
	padding:0.5em;
}

input[type="submit"]:disabled{
	opacity:0.5;
}

#register input[type="submit"]{
	 background: -webkit-gradient(linear, left top, left bottom, from(#0969a1), to(#65a9d7));
   background: -webkit-linear-gradient(top, #0969a1, #65a9d7);
   background: -moz-linear-gradient(top, #0969a1, #65a9d7);
   background: -ms-linear-gradient(top, #0969a1, #65a9d7);
   background: -o-linear-gradient(top, #0969a1, #65a9d7);
   -webkit-box-shadow: rgba(0,0,0,1) 0 2px 0;
   -moz-box-shadow: rgba(0,0,0,1) 0 2px 0;
   box-shadow: rgba(0,0,0,1) 0 2px 0;
	cursor:pointer;
}

a.button:link, a.button:hover, a.button:visited{
	display:block;
	margin:1em auto;
	width:250px;
	padding:0.5em;
	height:auto;
	font-size:16px;
	line-height:1.6em;
	border-top: 2px solid #96d1f8;
	 background: -webkit-gradient(linear, left top, left bottom, from(#0969a1), to(#65a9d7));
   background: -webkit-linear-gradient(top, #0969a1, #65a9d7);
   background: -moz-linear-gradient(top, #0969a1, #65a9d7);
   background: -ms-linear-gradient(top, #0969a1, #65a9d7);
   background: -o-linear-gradient(top, #0969a1, #65a9d7);
   -webkit-box-shadow: rgba(0,0,0,1) 0 2px 0;
   -moz-box-shadow: rgba(0,0,0,1) 0 2px 0;
   box-shadow: rgba(0,0,0,1) 0 2px 0;
	cursor:pointer;
	color: #fff;
	border-style: none;
	border-radius: 30px;
	text-decoration:none;
	text-align:center;
}

select{
	font-size:1.1em;
}

.required{
	color:rgba(9,104,161,1);
	margin:0 0.5em;
}

#copyright {padding:10px 0; text-align:center; font-size:11px; color:#fff;}


footer {
width:100%;
    text-align: center;
	background-color:#440022;
    font-family: 'Noto Sans JP', sans-serif;
    color:white;
}

#footerContent {margin:0 auto; max-width:980px; z-index:2;}
#footerContent a {
 color:#fff;
 text-decoration:none;
 }
.footNav {
	padding:50px 0;
}

.footNav dt div ul{
list-style: none;
}

.footNav dt div ul li {
list-style: none;
}

.menuBtn {position:fixed; top:10px; right:20px; z-index:9999;}
.menu-trigger,
.menu-trigger span {
  display: inline-block;
  transition: all .4s;
  box-sizing: border-box;
}
.menu-trigger {
  position: relative;
  width: 20px;
  height: 20px;
}
.menu-trigger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 4px;
  background-color: #fff;

}
.menu-trigger span:nth-of-type(1) {
  top: 0;
}
.menu-trigger span:nth-of-type(2) {
  top: 8px;
}
.menu-trigger span:nth-of-type(3) {
  bottom: 0;
}
.menu-trigger.active span:nth-of-type(1) {
  -webkit-transform: translateY(8px) rotate(-315deg);
  transform: translateY(8px) rotate(-315deg);
}
.menu-trigger.active span:nth-of-type(2) {
  opacity: 0;
}
.menu-trigger.active span:nth-of-type(3) {
  -webkit-transform: translateY(-8px) rotate(315deg);
  transform: translateY(-8px) rotate(315deg);
}

#content > div#product_categories{
	text-align:center;
	background-color:white;
	padding:20px;
}

.caution {
	color:red;
	font-weight:bold;
	margin-bottom:2em;
}

@media screen and (min-width:980px){

	.menuBtn{
		display:none;
	}
	.footNav {
		display:table;
	}	
	
	.footNav dt , .footNav dd {
		display:table-cell;
		width:50%;
	}
	
	.footNav dt {
		text-align:left;
	}
	
	.footNav dt div {
		display:table;
		width:100%;
	}

	.footNav dt div ul{
		display:table-cell;	
		width:50%;
		padding: 0;
	}
	
	.footNav dt div ul li {
		margin: 5px 0;
		font-size:14px;
		padding: 0;
	}
}

.linkBlank-wh::after {
    content: '';
    position: absolute;
    display: block;
    width: 12px;
    height: 12px;
    top: 2px;
    right: -15px;
    //background: url(/wp-content/themes/tabesuke/img/parts/link-wh.png) no-repeat;
        background-size: auto;
    background-size: cover;
}

.linkBlank, .linkBlank-wh {
    position: relative;
    z-index:1;
}

.footerLogo {
	text-align:center;
	margin-bottom:20px;
}

.footerLogo span {
	display:inline-block;
	width:100px;
	margin:0 auto;
}

.footerLogo span img{
width: 100%;
border: none;
vertical-align: bottom;
}


a.link:link, a.link:visited, a.link:hover{
	position:relative;
	width:30%;
	height:0;
	padding-top:15%;
	padding-bottom:2em;
	margin-bottom:1.5em;
	margin-right:3%;
	display:block;
	 background: -webkit-gradient(linear, left top, left bottom, from(#0969a1), to(#65a9d7));
   background: -webkit-linear-gradient(top, #0969a1, #65a9d7);
   background: -moz-linear-gradient(top, #0969a1, #65a9d7);
   background: -ms-linear-gradient(top, #0969a1, #65a9d7);
   background: -o-linear-gradient(top, #0969a1, #65a9d7);
   -webkit-box-shadow: rgba(0,0,0,1) 0 2px 0;
   -moz-box-shadow: rgba(0,0,0,1) 0 2px 0;
   box-shadow: rgba(0,0,0,1) 0 2px 0;
	cursor:pointer;
	float:left;
	color:white;
}

a.link:hover{
	cursor:pointer;
}

a.link div{
	position:absolute;
	left:0;
	top:0;
	height:100%;
	width:100%;
	padding-top:1em;
	padding-bottom:2em;
	box-sizing:border-box;
	display:table;
	background-repeat:no-repeat;
	background-position:center;
	background-size:contain;
	background-origin: content-box;
}

a.link div>span{
	position:absolute;
	display:block;
	width:100%;
	height:2em;
	line-height:2em;
	bottom:0;
	color:white;
	text-align:center;
	text-decoration:underline;
}
.sheet{
	position:fixed;
	left:0;
	top:0;
	width:100%;
	min-height:100%;
	cursor: pointer;
	-webkit-tap-highlight-color:rgba(0,0,0,0);
	background-color:rgba(0,0,0,0.75);
	z-index: 9998;
	display:none;
	overflow:auto;
	font-size:16px;
}

.sheet>div.outer{
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	z-index:0;
}

.sheet>div.inner{
	position:absolute;
	left:0;
	top:0;
	bottom:0;
	right:0;
	z-index:1;
	width:100%;
	height:calc(100% - 50px);
	border-radius:10px;
	background-color:white;
	padding: 0;
	margin:auto;
	max-width:930px;
	cursor:default;
}

.sheet>div.inner>div{
	margin:1em;
	overflow:auto;
	height:calc(100% - 2em);
}

.sheet>div.inner #reservationDetail{
	height:calc(100% - 200px - 2em);
	max-height:initial;
	max-height:auto;
	padding:0;
}

.sheet>div.inner #userDetail{
	height:calc(100% - 80px - 2em);
	max-height:initial;
	max-height:auto;
	padding:0;
}

.sheet>div.inner #newsDetail{
	height:calc(100% - 80px - 2em);
	max-height:initial;
	max-height:auto;
	padding:0;
}

.sheet>div.inner #loginDetail{
	height:calc(100% - 80px - 2em);
	max-height:initial;
	max-height:auto;
	padding:0;
	text-align:center;
}

.sheet>div.inner div.buttons{
	max-height:initial;
	max-height:auto;
	height:80px;
	margin:0;
	padding:0;
	overflow:none;
}

#map{
	position:relative;
	width:100%;
	height:0;
	padding-top:60%;
	overflow:hidden;
}

#map_canvas{
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
}

ul.stations{
	list-style-type: none;
}

ul.stations a{
	text-decoration:none;
}

ul.stations li{
	display:block;
	white-space: nowrap;
	overflow: hidden;
	width:100%;
	margin:1em 0;
	text-overflow: ellipsis;
}


#loading{
	font-weight:bold;
	font-size:20px;
	-webkit-animation:blink 0.5s ease-in-out infinite alternate;
	-moz-animation:blink 0.5s ease-in-out infinite alternate;
	animation:blink 0.5s ease-in-out infinite alternate;
	color:white;
	text-align:center;
}

#sheet{
	position:fixed;
	left:0;
	top:0;
	width:100%;
	height:100%;
	z-index:999;
}

#sheetbackground{
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	z-index:999;
	background-color:#999;
	text-align:center;
	z-index:1;
	filter:alpha(opacity=80);
	-moz-opacity: 0.8;
	opacity: 0.8;
}


#sheet #loading{
	position:absolute;
	left:0;
	top:100px;
	width:100%;
	margin-top:100px;
	text-align:center;
	-webkit-animation:blink 0.5s ease-in-out infinite alternate;
	-moz-animation:blink 0.5s ease-in-out infinite alternate;
	animation:blink 0.5s ease-in-out infinite alternate;
	color:white;
	z-index:2;
}

table.tab{
	width:100%;
	margin:0;
}

table.tab td{
	box-sizing:border-box;
	width:33.3%;
	height:auto;
	margin:0;
	text-align:center;
}

table.tab td span, table.tab td a{
	display:block;
	height:100%;
	padding:0.5em;
}
table.tab td.selected{
	background-color:white;
	border-radius: 15px  15px 0 0;
}

.shop_image{
	max-width:500px;
	max-height:300px;
	display:block;
	margin:0 auto;
	border-radius:10px;
}

td small{
	display:block;
	font-size:0.9em;
	line-height:1.1em;
	margin-left:1em;
}

#iDetail>img{
	max-width:50%;
	float:left;
	margin-right:1em;
	margin-bottom:1em;
}
.forSP{
	display:none;
}

.garbage{
    padding: 1em;
    background-color: white;
    margin-top: 1em;
    border-radius:10px;
}

.removeButton{
	text-align:right;
	width:2em;
	float:right;
}

.removeButton a{
	text-decoration:none;
}

.areas{
	border:1px;
	font-size:10px;
}


@media screen and (max-width:640px){
	.forPC{
		display:none;
	}
	.forSP{
		display:block;
	}
	br.forSP{
		display:inline;
	}
	table, tbody, tr, td{
		box-sizing:border-box;
		//display:block;
		margin:0 auto;
		padding:0;
		//width:100%;
	}
	
	td{
		padding:2px;
	}

	table.tab{
		display:table;
	}
	table.tab tbody{
		display:table-row-group;
	}
	table.tab tr{
		display:table-row;
	}
	table.tab td{
		display:table-cell;
	}
	
	td form{
		text-align:center;
		width:100%;
	}
	
	#content{
		margin:1em;
	}
	
	#content td img{
		height:auto;
		max-width:100%;
		max-height:300px;
		margin:10px auto 0;
		display:block;
	}
	.shop_image{
		display:block;
		margin:0 auto;
		max-width:300px;
		max-height:200px;
	}
	#shopInfo td{
		padding:5px 0;
	}
	#news_list span{
		display:block;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
	
	#reserved td form p{
		text-align:left;
	}
	
	#reserve td .caution{
		text-align:left;
	}
	input[type="date"]{
		margin-bottom:0.3em;
		margin-right:1.6em;
	}
	input[type="time"]{
		margin:0;
	}
	#iDetail>img{
		max-width:100%;
		float:none;
		margin-right:0;
		margin-bottom:0;
	}
	.tel, .tel tbody, .tel tr, .tel th, .tel td{
		display:block;
	}
}

@media screen and (max-width:979px){
	#content{
		max-width:calc(100% - 2em)
	}
	#menu{
		display:none;
background-color:#440022;
	}
	.footNav dd {
		margin-top:50px;
	}
	
	.footNav dt div ul{
		padding:0;
	}
	.footNav dt div ul li {
		padding: 10px 0;
		font-size:14px;
	}
#header #logo h1{
	margin:5px 0 0 20px;
}

#header #logo{
	height:40px;
}

#header #logo span{
	margin-top:12px;
}

#menu{
text-align: center;
z-index: 13;
height: 0;
position:relative;
padding-top:300%;
width:100%;

}

    #menu	ul {
	position:absolute;
	box-sizing:border-box;
	left:0;
	top:0;
	width:100%;
       padding:30px 40px 0;
	}
	#menu	ul li{
		display:block;
		margin: 15px 10px;
		font-family: "Noto Sans JP", sans-serif;
font-size: 14px;
font-weight: 400
	}
	
	#menu	ul:last-child{
		margin-top:30px;
	}
#menu a:hover:after {
transform:none;
}
 
 ol div.arrow{
	text-align:center;
}

}

img.title{
	width:40%;
	height:auto;
	display:block;
	margin:0 auto 1em;
}


#tosSheet h3, #privacySheet h3 {
    display: block;
    padding-top:0;
    padding-bottom:0;
    margin-top: 30px;
    margin-bottom: 10px;
    padding-left: 20px;
    border-left: #444 5px solid;
    font-size: 20px;
    font-weight: 700;
    background:none;
    text-align:left;
    color: #444;
}

.has-text-align-right {
    text-align: right;
    margin-right:1em;
}

.elPrivacy {
    padding-right: 95px;
    position: relative;
}

.elPrivacyImage {
    width: 85px;
    height: 85px;
    display: block;
    position: absolute;
    top: 0;
    right: 10px;
}

.elTable {
    width: 100%;
    border-top: 1px solid #a5a5a5;
    border-bottom: 1px solid #a5a5a5;
    border-collapse: collapse;
    display:table;
    border-radius:0;
}

.elTable tr{
    display:table-row;
}

.elTh:first-child {
    border-left: none;
    width:30%;
    
}

.elTh {
    font-weight: normal;
    background-color: #eee;
    border-left: 1px solid #a5a5a5;
    display:table-cell;
}

.elTd:first-child {
    border-left: none;
    width:30%;
}

.elTd {
    padding: 0 10px;
    border-top: 1px solid #a5a5a5;
    border-left: 1px solid #a5a5a5;
    display:table-cell;
}

.elTableWrap {
    margin-top: 60px;
}

.elDataTable {
    border-collapse: collapse;
    border-top: 1px solid #a5a5a5;
    border-radius:0;
}

.elDataTr {
    border-bottom: 1px solid #a5a5a5;
    display:table-row;
}

.elDataTh {
    padding: 15px 10px;
    text-align: center;
    font-weight: normal;
    border-right: 1px solid #a5a5a5;
    background-color: #eee;
    display:table-cell;
}

.elDataTd {
    padding: 15px;
    display:table-cell;
}

.items td{
	text-align:left;
}

#shopInfo td{
	text-align:left;
	padding: 10px;
}

.howToUse ul{
  list-style: none;
  margin:0;
  padding:0;
}

a.remove{
	background-color:white;
}

.area_title{
	text-align:center;
	margin:0 auto;
}

.area_logo{
	max-width:200px;
	height:auto;
	margin:0 10px;
}

#areas_options{
  max-height:300px;
  overflow:auto;
}

#areas_options div{
  margin:1em 0;
  padding:0.5em;
  background-color:white;
  border-radius:5px;
}

#areas_options div label{
  margin-left:2em;
  margin-top:-1.5em;
  display:block;
}

#calendar_update{
  font-weight:normal;
  font-size:0.8em;
}

#ticket{
	margin-top:1em;
}

#content > div#usage{
	margin-top:2em;
	text-align:left;
}
h3.caution{
	margin-bottom:0;
}

#howto{
	padding:1em;
	border-radius:10px;
	height:500px;
	overflow:auto;
	background-color:white;
}

#howto h4{
	background-color: rgba(240,250,245,1);
	color:black;
	font-size:1em;
	padding:0.1em 0.3em;
}

#howto h4.alert{
	background-color: rgba(250,240,245,1);
}

#howto strong{
	color:red;
	font-size:1.1em;
}

#howto blockquote{
margin-top:0;
}

ol div.arrow{
	margin-left:6em;
	margin-right:9em;
}

#usage2Sheet.sheet > div.inner > div {
    margin: 1em;
    overflow: auto;
    height: calc(100% - 120px);
}

#usage2Sheet.sheet > div.inner > div.buttons{
	max-height:initial;
	max-height:auto;
	height:80px;
	margin:0;
	padding:0;
	overflow:none;
}

select>span{display:block;}
