@charset "UTF-8";

body{
	font-size:1.0rem;
	line-height:1.75em;
	/*background-color:#f0f0f0;*/
	background-color:#fff;
	background-image: url("../images/bg.jpg");
	background-position: center top;
	background-size: cover;
	background-attachment: fixed;
	color:#000;
}

a{
	color:#852042;
	text-decoration: none;
}

a:hover{
	color:#f88;
	text-decoration: underline;
}

img{
	max-width: 100%;
	max-height: 100%;
	vertical-align: bottom;
}

/*//////////----- HEADER -----//////////*/

#header{
	margin-bottom:10px;
}

#header div.wrap{
	width:100%;
	margin:0 auto;
	max-width: 960px;
	
	box-sizing: border-box;
	padding:10px;
}

.header-content{
	display:flex;
	flex-flow: row wrap;
	align-items: center;
	justify-content: flex-start;
	
	width:100%;
	
	background-color:#fff;
	color:#000;
	
	box-sizing: border-box;
	padding:10px;
	
	margin-bottom:10px;
}

.header-content div.content-inner{
	display:flex;
	flex-flow: row wrap;
	align-items: center;
	justify-content: flex-start;
	
	width:100%;
}

.header-content h1{
	width:100%;
	
	text-align: center;
}

.header-content h1 a{
	display:block;
}

.header-content h1 a:hover{
	opacity: 0.5;
}

.header-content h1 img{
	width:100%;
	vertical-align: bottom;
	max-width: 240px;
}

.header-content p.member-name{
	width:100%;
	
	font-size:0.6rem;
	line-height:40px;
	
	text-align: center;
}

.header-content p.member-name span.note{
	display:inline-block;
	
	font-weight:bold;
	
	font-size:0.8rem;
	line-height:40px;
}

.header-content ul.btn{
	display:flex;
	flex-flow:row wrap;
	align-items: center;
	justify-content: flex-start;	
	width:100%;	
	box-sizing: border-box;
	padding:0 2.5px;
}

.header-content ul.btn li{
	width:calc(100%/3);	
	font-size:0.6rem;
	line-height:30px;
	font-weight:bold;
	text-align: center;	
	box-sizing: border-box;
	padding:0 2.5px;
}

.header-content ul.btn li a{
	display:block;	
	background-color:#852042;
	color:#fff;	
	border-radius:2.5px;
}

.header-content ul.btn li a:hover{
	opacity: 0.5;
	text-decoration: none;
}

@media only screen and (min-width: 480px){
	
	.header-content h1{
		width:50%;
	}
	
	.header-content p.member-name{
		width:50%;
		
		line-height:20px;
	}
	
	.header-content p.member-name span.note{
		display:block;
		
		line-height:20px;
	}
	
	.header-content ul.btn{
		margin-top:10px;
	}
	
}

@media only screen and (min-width: 640px){
	
	.header-content div.content-inner{
		width:50%;
	}
	
	.header-content p.member-name span.note{
		display:inline-block;
	}
	
	.header-content ul.btn{
		margin-top:0;
	}
	
}

.member-content{
	display:flex;
	flex-flow: row wrap;
	align-items: center;
	justify-content: flex-start;
	
	width:100%;
	
	background-color:#fff;
	color:#000;
	
	box-sizing: border-box;
	padding:10px;
}

.member-content div.content-inner{
	display:flex;
	flex-flow: row wrap;
	align-items: center;
	justify-content: flex-start;
	
	width:100%;
}

.member-content p.badge{
	width:80px;
}

.member-content p.badge img{
	width:100%;
	vertical-align: bottom;
}

.member-content ul.member-rank{
	width:calc(100% - 80px);
	
	display:flex;
	flex-flow: row wrap;
	align-items: center;
	justify-content: flex-start;
}

.member-content ul.member-rank li{
	width:50%;
	
	font-size:0.6rem;
	line-height:15px;
	
	text-align: center;
}

.member-content ul.member-rank li span.note{
	display:block;
	
	font-size:0.8rem;
	line-height:25px;
	font-weight:bold;
}

.member-content ul.member-rank li a{
	color:#000;
}

.member-content ul.navigation{
	width:100%;	
	display:flex;
	flex-flow: row wrap;
	align-items: center;
	justify-content: flex-start;	
	box-sizing: border-box;
	padding:10px 0;
}

.member-content ul.navigation li{
	width:50%;	
	font-size:0.8rem;
	line-height:40px;
	font-weight:bold;
	text-align: center;	
	position: relative;
}

.member-content ul.navigation li:first-child{
	box-sizing: border-box;
	padding-right:2.5px;
}

.member-content ul.navigation li:last-child{
	box-sizing: border-box;
	padding-left:2.5px;
}

.member-content ul.navigation li a{
	display:block;	
	background-color:#852042;
	color:#fff;	
	border-radius:2.5px;
}

.member-content ul.navigation li a:hover{
	opacity: 0.5;
	text-decoration: none;
}

.member-content ul.navigation li span.note{
	display:block;	
	width:20px;
	height:20px;	
	line-height:20px;
	font-size:0.6rem;
	text-align: center;	
	/*background-color:#852042;*/
	background-color:#ffdb15;
	color:#000;	
	border-radius:2.5px;	
	position: absolute;
	top:0;
	left:2.5px;
}

.member-content ul.navigation li:first-child span.note{
	left:0;
}

@media only screen and (min-width: 640px){
	
	.member-content ul.navigation li:first-child span.note{
		left:5px;
	}
	
}

.member-content p.booking{
	width:calc(100% - 90px);
	
	font-size:0.6rem;
	line-height:20px;
	
	text-align: center;
}

.member-content p.booking span.note{
	display:block;
	
	font-size:0.8rem;
	line-height:20px;
	font-weight:bold;
}

.member-content p.btn-booking{
	width:90px;	
	font-size:0.8rem;
	line-height:40px;	
	text-align: center;
}

.member-content p.btn-booking a{
	display:block;	
	background-color:#852042;
	color:#fff;	
	border-radius:2.5px;
}

.member-content p.btn-booking a:hover{
	text-decoration: none;
	opacity: 0.5;
}

@media only screen and (min-width: 480px){
	
	.member-content div.content-inner{
		width:50%;
	}
	
	.member-content div.content-inner:first-child{
		width:100%;
	}
	
}

@media only screen and (min-width: 640px){
	
	.member-content div.content-inner{
		width:25%;
	}
	
	.member-content div.content-inner:first-child{
		width:50%;
	}
	
	.member-content div.content-inner:last-child{
		width:25%;
	}
	
	.member-content ul.navigation li{
		width:100%;
		
		line-height: 35px;
	}
	
	.member-content ul.navigation li:first-child{
		box-sizing: border-box;
		padding:0 5px;
		margin-bottom:2.5px;
	}
	
	.member-content ul.navigation li:last-child{
		box-sizing: border-box;
		padding:0 5px;
		margin-top:2.5px;
	}
	
	.member-content p.booking{
		width:100%;
	}
	
	.member-content p.btn-booking{
		width:100%;
		
		line-height:30px;
		
		box-sizing: border-box;
		padding:0 5px;
		
		margin-top:5px;
	}
	
	.member-content p.btn-booking a{
		width:90px;
		margin:0 auto;
	}
	
}

@media only screen and (min-width: 720px){
	
	.member-content div.content-inner{
		width:30%;
	}
	
	.member-content div.content-inner:first-child{
		width:40%;
	}
	
	.member-content div.content-inner:last-child{
		width:30%;
		
		box-sizing: border-box;
		padding:0 5px;
	}
	
	.member-content ul.navigation li{
		width:50%;
	}
	
	.member-content ul.navigation li:first-child{
		padding-right:2.5px;
		margin-bottom:0;
	}
	
	.member-content ul.navigation li:last-child{
		padding-left:2.5px;
		margin-top:0;
	}
	
	.member-content p.booking{
		width:50%;
	}
	
	.member-content p.btn-booking{
		width:50%;
	}
	
	.member-content p.btn-booking a{
		width:100%;
	}
	
}

/*//////////----- G=NAVI -----//////////*/

#g-navi{
	margin-bottom:20px;
}

#g-navi div.wrap{
	width:100%;
	margin:0 auto;
	max-width: 940px;
	
	box-sizing: border-box;
	padding:5px;
	
	background-color:#fff;
	color:#000;
}

#g-navi ul{
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
	
	width:100%;
}

#g-navi ul li{
	width:50%;
	
	box-sizing: border-box;
	padding:5px;
	
	position: relative;
}

#g-navi ul li a{
	display:block;
}

#g-navi ul li span.note{
	display:block;
	
	width:20px;
	height:20px;
	
	line-height:20px;
	font-size:0.6rem;
	text-align: center;
	
	background-color:#000;
	color:#fff;
	
	border-radius:2.5px;
	
	position: absolute;
	top:0;
	left:2.5px;
}

#g-navi ul li a:hover{
	opacity: 0.5;
	text-decoration: none;
}

#g-navi ul li img{
	width:100%;
	vertical-align: bottom;
}

@media only screen and (min-width: 640px){
	
	#g-navi ul li{
		width:calc(100%/3);
	}
	
}

@media only screen and (min-width: 960px){
	
	#g-navi ul li{
		width:calc(100%/5);
	}
	
}

/*//////////----- FOOTER -----//////////*/

#footer{
	margin-top:20px;
}

#footer div.wrap{
	width:100%;
	margin:0 auto;
	max-width: 940px;
	
	box-sizing: border-box;
	padding:5px;
	
	background-color:#fff;
	color:#000;
}

#footer div.content-inner{
	margin-bottom:10px;
}

#footer div.content-inner:last-child{
	margin-bottom:0;
}

#footer ul.banner{
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
	
	width:100%;
}

#footer ul.banner li{
	width:50%;
	
	box-sizing: border-box;
	padding:5px;
}

#footer ul.banner li a{
	display:block;
}

#footer ul.banner li a:hover{
	opacity: 0.5;
	text-decoration: none;
}

#footer ul.banner li img{
	width:100%;
	vertical-align: bottom;
}

@media only screen and (min-width: 640px){
	
	#footer ul.banner li{
		width:25%;
	}
	
}

#footer p.logo{
	width:100%;
	
	text-align: center;
	
	margin-bottom:10px;
}

#footer p.logo a{
	display:block;
}

#footer p.logo a:hover{
	opacity: 0.5;
}

#footer p.logo img{
	width:100%;
	vertical-align: bottom;
	max-width: 240px;
}

#footer p.contact{
	width:100%;
	
	text-align: center;
	
	margin-bottom:10px;
}

#footer p.contact a{
	display:block;
}

#footer p.contact a:hover{
	opacity: 0.5;
}

#footer p.contact img{
	width:100%;
	vertical-align: bottom;
	max-width: 320px;
}

#footer address{
	width:100%;
	
	font-size:0.6rem;
	line-height:60px;
	
	text-align: center;
}

#footer address a{
	color:#000;
}

/*----------PAGETOP----------*/

#pagetop {
    position: fixed;
    bottom: 70px;
    right: 20px;
    width: 60px;
}


@media screen and (min-width: 800px){
	#pagetop{
    bottom: 20px;
    width: 90px;
}
}

/*----------FOOTER-BANNER-TEXT----------*/

#footer ul.banner li a{
	display:block;
	color:#000;
}

#footer ul.banner li span{
	display:block;
	text-align: center;
}

#footer ul.banner li span.shopname{
	font-size:0.8rem;
	line-height:1.75em;
	font-weight:bold;
}

#footer ul.banner li span.copy{
	font-size:0.6rem;
	line-height:1.75em;
	font-weight:bold;
}

/*----------BTN-RESERVE-FIXED----------*/

.btn-reserve-fixed{
	display:block;
	width:60px;
	height:60px;
	
	position: fixed;
	top:0;
	right:10px;
	bottom:0;
	
	margin:auto 0;
	
	z-index: 20;
}

.btn-reserve-fixed a{
	display:block;
}

.btn-reserve-fixed a:hover{
	opacity: 0.6;
	text-decoration: none;
}

.btn-reserve-fixed img{
	width:100%;
	vertical-align: bottom;
}

@media only screen and (min-width: 640px){
	
	.btn-reserve-fixed{
		width:90px;
		height:90px;
	}
	
}
