body {
	font-family:"Sawarabi Gothic", MyYuGothicM , YuGothic , -appple-system , BlinkMacSystemFont , "Hiragino Kaku Gothic ProN" , Meiryo , sans-serif ;
	color:#333;
	text-align:center;
	line-height:2;
	font-feature-settings : "palt";
	font-size:16px;
	background:url(../img/bg.jpg);
    animation: fadeIn 2s ease 0s 1 normal;
    -webkit-animation: fadeIn 2s ease 0s 1 normal;

}
@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}


/**** header ****/
.bxslider_wrapper {
	width:80% !important;
	float:right;
	position: relative;
}
.mainImg{
	width:80%;
	float:right;
	display:block;
}
.bxslider_wrapper .banner{
	position: absolute;
	bottom: 60px;
	left: 0;
	z-index: 2;
}
svg{fill: currentColor;}
.SNSicon{
	width: 1em !important;
	height: 1em !important;
}
.white.SNSicon {
	fill: #fff !important;
}
/**** contents ****/
section{
	position:relative;
	overflow:hidden;
}
.inner{
	max-width:1000px;
	margin:0 auto;
	border-radius:5px;
	padding:0 20px;
}
.bg_deg{
	position: relative;
	overflow: hidden;
	padding: 12% 0;
	margin:2em 0 0;
}
.bg_deg:before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 112%;
	height: 80%;
	margin: 0 -10%;
	background:url(../img/bg_about.jpg) center no-repeat;
	background-size: cover;
	transform-origin: right center;
	transform: rotate(-3deg);
	z-index: -5;
	border-bottom:#333 1px solid;
}
.bg_degR{
	position: relative;
	overflow: hidden;
	padding: 12% 0;
	margin:5em 0 0;
}
.bg_degR:before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 112%;
	height: 80%;
	margin: 0 -10%;
	background:url(../img/bg_access.jpg) center no-repeat;
	background-size: cover;
	transform-origin: left center;
	transform: rotate(3deg);
	z-index: -5;
	border-bottom:#333 1px solid;
}
.bg_food:before{
	background:url(../img/bg_food.jpg) center/cover no-repeat;
}
.bg_drink:before{
	background:url(../img/bg_drink.jpg) center/cover no-repeat;
}

.eyecatchLeft{
	position:absolute;
	bottom:0;
	left:3em;
	width:48%;
	z-index:-1;
}
.eyecatchRight{
	position:absolute;
	bottom:0;
	right:3em;
	width:60%;
	z-index:-1;
}
.flexContainer{
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	max-width:850px;
	margin:10% auto 7%;
	padding:0;
	font-family: 'Josefin Sans', sans-serif;
	font-weight:bold;
}
.flex4col{
	flex-basis: 23%;
	border-bottom:1px solid #999;
}
.flexbox{
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;	
	margin-bottom: 10%;
}
.flexbox:nth-of-type(even){
	flex-flow: row-reverse wrap;
}
.flex2col{
	flex-basis: 47%;
	margin-bottom: 3%;
}

/**** headline ****/
h2{
	font-family: 'Josefin Sans', sans-serif;
	font-size:3em;
	font-weight:bold;
	color:#fff;
	padding:1em 0 2em;
	margin:0 auto;
	opacity:.3;
	font-weight:100;
}
h3{
	font-size:1.5em;
	font-weight:bold;
	margin-bottom:.3em;
	text-align:left;
	line-height:1.5;
}


/**** inline ****/
p{
	margin-bottom:1em;
	text-align: justify;
	letter-spacing:1px;
}
p:last-child{
	margin-bottom:0;
}
a{
	color:#333;
}

/**** table ****/
table{
	width:100%;
	text-align:left;
	line-height:1.5;
}
th,td{
	padding:10px 0;
	vertical-align:top;	
}
th{
	font-weight:bold;
}

.menulist{
//	margin-bottom:10%;
	font-size:1.2em;
}
#drink .menulist{
	margin-bottom: 10%;
}
.menulist th,.menulist td{
	padding:15px 0;
	vertical-align: middle;
	border-bottom:1px dotted #ccc;
	font-weight: normal;
}
.menulist td{
	min-width:5em;
}
/***** form *****/
form{
	text-align:left;
	margin:2em auto;
	line-height:2;
}
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
textarea,
select {
	padding:1%;
	height:44px;
	border:none;
	border-radius:5px;
	transition:.3s;
}
textarea{
	width:100%;
	height:6em;
}
input[type="image"]{
	display:block;
	width:70%;
	margin:2em auto 0;
	transition:.3s;
}
input[type="image"]:hover{
	opacity: .7;
}
.rei{
	color:#999;
	font-size:.7em;
}

.btn{
	border:#fff 3px solid;
	margin:1em 0 3em;
	display: inline-block;
	transition:.3s ease-in-out;
	max-width:640px;
}
.btn:hover{
	background:rgba(255,255,255,.5);
	color:#333;
}

/**** footer ****/
footer{
	background:url(../img/bg_footer.jpg) center;
	background-size:cover;
	color:#fff;
	padding:3em 3em 1em;
	font-size:.8em;
	line-height:1.5;
	position:relative;
}
footer h2{
	text-align:center;
}
footer a:link,
footer a:visited,
footer a:visited,
footer a:hover{
	text-decoration: none;
	color:#fff;
}
.footer_logo{
	position:absolute;
	top:0;
	bottom:0;
	left:3em;
	margin:auto;
	width:80px;
}

/***** inline *****/
a:hover{ 
	opacity: 0.70;
	filter: alpha(opacity=70);
}

a{ 
	-webkit-transition: 0.2s ease-in-out;
	   -moz-transition: 0.2s ease-in-out;
	     -o-transition: 0.2s ease-in-out;
	        transition: 0.2s ease-in-out;
			text-decoration:none;
}
@media screen and (max-width: 979px){
.bxslider_wrapper {
	width:100% !important;
	margin:7em 0 0 !important;
	float:none;
}
.bxslider_wrapper .banner{
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 2;
}
.mainImg{
	width:100%;
	margin:7em 0 0 !important;
	float:none;
}

.eyecatchLeft{
	position:absolute;
	bottom:0;
	left:-20%;
	width:85%;
	z-index:-1;
}
.eyecatchRight{
	position:absolute;
	bottom:0;
	right:-20%;
	width:100%;
	z-index:-1;
}
.footer_logo{
	display:none;
}
}
@media screen and (max-width: 767px){
body{
	font-size:12px;
}
.logo{
	position:absolute;
	top:3%;
	left:3%;
	width:40% !important;
}
.bxslider_wrapper {
	width:100% !important;
	z-index:-1;
}

h2{
	font-size:2em;
}
.eyecatchLeft{
	position:absolute;
	bottom:0;
	left:inherit;
	right:-20%;
	width:100%;
	z-index:-1;
}
.flex2col{ flex-basis: 100%;}
}


.fuwatAnime {
 -webkit-animation-fill-mode:both;
 -ms-animation-fill-mode:both;
 animation-fill-mode:both;
 -webkit-animation-duration:1s;
 -ms-animation-duration:1s;
 animation-duration:1s;
 -webkit-animation-name: fuwatAnime;
 -ms-animation-name: fuwatAnime;
 animation-name: fuwatAnime;
 visibility: visible !important;
}
@-webkit-keyframes fuwatAnime {
 0% { opacity: 0; -webkit-transform: translateY(-20px); }
 100% { opacity: 1; -webkit-transform: translateY(0); }
}
@keyframes fuwatAnime {
 0% { opacity: 0; -webkit-transform: translateY(-20px); -ms-transform: translateY(-20px); transform: translateY(-20px); }
 100% { opacity: 1; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); }
}