@charset "utf-8";
/* CSS Document */

/*-------------- common --------------*/
html {font-size: 13px;}
body {
	font-size: 13px;
	font-size:1rem;
	line-height:1.8;
	color:#333333;
	-webkit-text-size-adjust: 100%;
	text-align: center;
}
a {
	color:#666;
}
p {
	margin-bottom: 1.8em;
}
#wrapper {
	max-width:1000px;
	width:100%;
	margin:0 auto;
	padding: 60px 30px;
	box-sizing: border-box;
	position: relative;
}

.snsIcon {
	line-height: 1;
}
.snsIcon li {
	display: inline-block;
}
.snsIcon a {
	display: inline-block;
	width: 24px;
	height: 24px;
	border: 1px solid #000;
	border-radius: 3px;
}
.snsIcon a:hover {
	opacity: 0.6;
}

h1,h2 {
	font-family: 'Cardo', serif;
	font-weight: 700;
	letter-spacing: 1px;
	color: #000;
}
section > h1 {
	font-size: 24px;
	font-size: 1.84rem;
	padding-bottom: 4px;
	border-bottom: 1px solid #454545;
}
h2 {
	font-size: 18px;
	font-size: 1.38rem;
}
section {
	margin-bottom: 80px;
}

.shopNameEn {
	color: #000;
	font-family: 'Cardo', serif;
	font-style: italic;
	font-weight: bold;
	padding-right: 0.5em;
}

.button {
	display: block;
	text-align: center;
	text-decoration: none;
	font-weight: bold;
	line-height: 1;
	padding: 1.4em;
	outline: none;
	border-radius: 3px;
}
.button::before,
.button::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}
.button,
.button::before,
.button::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}

.ghostBtn {
	position: relative;
	z-index: 2;
	color: #000;
	border: 2px solid #000;
	background-color: #fff;
	border-radius: 3px;
}
.ghostBtn:hover {
	background-color: #000;
	color: #fff;
	border: 2px solid #000;
}
.ghostBtn::before,
.ghostBtn::after {
	top: 0;
	width: 50%;
	height: 100%;
	background-color: #fff;
}
.ghostBtn::before {
	right: 0;
}
.ghostBtn::after {
	left: 0;
}
.ghostBtn:hover::before,
.ghostBtn:hover::after {
	width: 0;
	background-color: #fff;
}

.note {
	font-size: 11px;
	font-size: 0.84rem;
}


/*close*/
#close #wrapper {max-width: 600px;}
#close img {max-width: 100%;}
#close a {display: block; width: 100%; margin:1em auto;padding: 1em; border: 1px solid; border-radius: 5px;text-decoration: none;transition: all, 0.3s;box-sizing: border-box;}
#close a:hover {transition: all, 0.3s; background-color: #eee;}

/*header*/

header {
	position: relative;
}
header input,
header label {
	display: none;
}

#gnav {
	margin-top: 12px;
	font-family: 'Cardo', serif;
	font-weight: 700;
	letter-spacing: 1px;
}
#gnav li {
	display: inline-block;
}
#gnav a {
	text-decoration: none;
	color: #000;
	position: relative;
	display: inline-block;
}
#gnav .pageMenu li {
	margin: 0 1rem;
}

header .snsIcon {
	text-align: right;
	position: absolute;
	top:0;
	right: 0;
}


/*スクロール時のヘッダ*/
header.fixed {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10;
	width: 100%;
	background-color: #fff;
	box-sizing: border-box;
}
header.fixed #headerInner {
	max-width: 940px;
	margin: 20px auto 10px;
	padding: 0 0 30px ;
	position: relative;
	text-align: right;
	/*border-bottom: 1px solid #454545;*/
}
header.fixed #headerLogo {
	position: absolute;
	top: 0;
	left: 0;
	line-height: 1;
}
header.fixed #headerLogo img {
	height: 34px;
	width: auto;
}
header.fixed #gnav {
	margin: 0 90px 0 0;
	padding-top: 4px;
}



/*main*/
#main {
	margin-top: 60px;
}

/*footer*/
footer {
	margin-top: 40px;
	padding: 20px 0;
	border-top: 1px solid #454545;
	text-align: right;
	font-family: 'Cardo', serif;
	font-style: italic;
}
footer img {
	vertical-align: middle;
}
#footerLogo {
	height: 24px;
	width: auto;
	margin-right: 6px;
}
footer .snsIcon {
	display: inline-block;
	margin-right: 6px;
}


/*---------------------------- TOP ----------------------------*/

#topSlider {
	margin-top: 40px;
	padding-bottom: 30px;
	background-color: #333;
}
#topSlider img {
	width: 100%;
	height: auto;
}

#topEvent h1,
#topShops h1,
#topSNS h1 {
	margin-bottom: 40px;
}

#top section {
	text-align: left;
}
#top section > h1 {
	text-align: center;
}

/*Event, News*/
#topEvent .post,
#topNews .post {
	padding-left: 20px;
	padding-right: 20px;
	overflow: hidden;
}

/*Event*/
#topEvent ul {
	overflow: hidden;
}
#topEvent .post {
	border-top: 1px solid #ddd;
	margin-top: 20px;
	padding-top: 20px;
}
#topEvent .post:first-child {
	border-top: none;
	margin-top: 0;
	padding-top: 0;
}
#topEvent .photo,
#topEvent .content {
	float: left;
	width: 50%;
	box-sizing: border-box;
}
#topEvent .photo {
	padding-right: 20px;
}
#topEvent .photo img {
	max-width: 100%;
}
#topEvent .content {
	padding-left: 20px;
}

/*News*/
#topNews .post {
	border-bottom: 1px solid #ddd;
	padding-top: 1em;
	padding-bottom: 1em;
}
#topNews .category,
#topNews time {
	margin-right: 1em;
}
#topNews .category {
	display: inline-block;
	width: 16em;
	text-align: right;
}

/*Shops*/
#topShops ul {
    margin: 0 20px;
    overflow: hidden;
}
#topShops ul li {
	width: 260px;
	margin-right: 60px;
	margin-bottom: 40px;
	float: left;
}
#topShops ul li:last-child {
	margin-right: 0;
}

#topShops h2 {
	height: 3.6em;
	margin-bottom: 1.8em;
}
#topShops .detail {
	padding-bottom: 1em;
}
#topShops .tag,
#shops .tag {
	display: inline-block;
	color: #fff;
	text-align: center;
	font-family: 'Cardo', serif;
	font-weight: 700;
	font-size: 10px;
	font-size: 0.77rem;
	background-color: #000;
	width: 4em;
	margin-right: 1em;
}
#topShops .station {
	color: #666;
	font-size: 10px;
	font-size: 0.77rem;
}
#topShops .map {
	display: block;
	border: 1px solid #ddd;
	max-width: 100%;
	box-sizing: border-box;
}

/*SNS*/
#topSNS h2 {
	text-align: center;
	font-style: italic;
	margin-bottom: 1em;
}
#topSNS ul {
	overflow: hidden;
	margin: 0 20px;
}
#topSNS ul li {
	width: 50%;
	float: left;
	box-sizing: border-box;
}
#topSNS ul li:first-child {
	padding-right: 30px;
}
#topSNS ul li:last-child {
	padding-left: 30px;
}


/*---------------------------- SHOPS ----------------------------*/
#shops section {
	border: 1px solid #ddd;
	margin-bottom: 40px;
	overflow: hidden;
}

#shops .detail {
	width: 50%;
	padding: 40px;
	text-align: left;
	box-sizing: border-box;
	float: left;
}
#shops section h1 {
	font-size: 18px;
	font-size: 1.38rem;
	margin-bottom: 1em;
}

#shops .map {
	width: 50%;
	background-color: #333;
	position: relative;
	float: left;
	/*padding-bottom: 2em;*/
}

/*http://web.helog.jp/googlemaps-js-api/responsive/*/
#shops .ggmap{
	position: relative;
	padding: 0 0 100%;
	height: 0;
	overflow: hidden;
}
#shops .ggmap iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
}

#shops #shopsOnline .detail {
	width: 100%;
	float: none;
}
#shops #shopsOnline .button {
	display: inline-block;
}

/*---------------------------- RECRUIT ----------------------------*/
#recruit section {
	text-align: left;
}
#recruit section h2 {
	padding: 10px 20px;
}
#recruit section table {
	width: 100%;
	border-top: 1px solid #454545;
}
#recruit section tr {
	border-bottom: 1px solid #ddd;
}
#recruit section th,
#recruit section td {
	padding: 13px 20px;
}


/*---------------------------- RESPONSIVE ----------------------------*/
@media (min-width: 761px) {
	/*header*/
	#gnav .pageMenu a {
		transition: .3s;
	}
	#gnav .pageMenu a::after {
		position: absolute;
		bottom: 0;
		left: 50%;
		content: '';
		width: 0;
		height: 1px;
		background-color: #000;
		transition: .3s;
		-webkit-transform: translateX(-50%);
		transform: translateX(-50%);
	}
	#gnav .pageMenu a:hover::after {
		width: 100%;
	}
	#gnav .current {
		border-bottom: 1px solid #000;
	}
	#gnav .current a:hover::after {
		width:0;
	}
}

@media (max-width: 1000px) {
	/*header*/
	header.fixed {
		padding: 0 30px;
	}
}
@media (max-width: 900px) {
	/*TOP*/
	#topShops ul li:nth-child(2) {
	margin-right: 0px;
	}

	/*SHOPS*/
	#shops .ggmap{
	padding: 0 0 120%;
	}
}

@media (max-width: 760px) {
	/*header*/
	header {
		position: fixed;
		top: 0;
		left: 0;
		z-index: 10;
		width: 100%;
		background-color: #fff;
		padding: 0 30px;
		box-sizing: border-box;
	}
	header #headerInner,
	header.fixed #headerInner {
		max-width: 1000px;
		width: 100%;
		margin: 20px auto 10px;
		padding-bottom: 0px;
		position: relative;
		text-align: right;
		border-bottom: 1px solid #454545;
	}
	header #headerLogo {
		position: absolute;
		top: 0;
		left: 0;
		line-height: 1;
	}
	header #headerLogo img {
		height: 34px;
		width: auto;
	}
	header #gnav,
	header.fixed #gnav {
		margin: 0;
		padding-top: 0px;
		text-align: center;
		/*display: none;*/
	}
	header #gnav ul {
		margin-top: 20px;
	}
	header #gnav .pageMenu li,
	header #gnav .pageMenu a,
	header #gnav #spMenuClose {
		display: block;
	}
	header #gnav .pageMenu a {
		margin: 0.5em;
		padding: 0.5em;
		border: 1px solid #ddd;
		transition: none;
	}
	#gnav .pageMenu .current a {
		border: 1px solid #454545;
	}
	header .snsIcon {
		position: relative;
		text-align: center;
	}
	/*スライドパネル*/
	/*http://www.webcreatorbox.com/tech/js-to-css/*/
	header label {
	  cursor: pointer;
	  display: inline-block;
	  padding: 10px 0;
	  -webkit-transition: 0.1s;
	  transition: 0.1s;
		font-family: 'Cardo', serif;
		font-weight: 700;
		letter-spacing: 1px;
	}
	header .panel {
	  -webkit-transition: .3s ease;
	  transition: .3s ease;
	  height: 0;
	  overflow: hidden;
	  margin-top: 10px;
	  padding: 0;
	}
	header input:checked + .panel {
	  height: auto;
	  padding: 15px;
	}

	/*SHOPS*/
	#shops .detail,
	#shops .map {
		width: 100%;
		float: none;
	}
	#shops .ggmap {
		padding: 0 0 72%;
	}
}

@media (max-width: 660px) {

	/*header*/
	header #spGnav li {
		padding: 0.5em;
	}

	/*TOP*/
	#topEvent .photo,
	#topEvent .content {
		float: none;
		width: 100%;
		box-sizing: border-box;
	}
	#topEvent .photo {
		padding-right: 0px;
		padding-bottom: 20px;
	}
	#topEvent .content {
		padding-left: 0px;
	}

	#topNews a {
		display: block;
	}
	#topShops ul li {
		margin-right: 0px;
		width: 100%;
		float: none;
		padding-bottom: 40px;
		border-bottom: 1px solid #ddd;
	}
	#topShops ul li h2 {
		height: auto;
	}
	#topShops ul li h2>br {
		display: none;
	}

	/*RECRUIT*/
	#recruit section th,
	#recruit section td {
		display: block;
		text-align: center;
	}
}

@media (max-width: 460px) {

	/*TOP*/
	#topSNS ul li {
		width: 100%;
		float: none;
		padding-bottom: 40px;
		border-bottom: 1px solid #ddd;
		margin-bottom: 40px;
	}
	#topSNS ul li:first-child {
	padding-right: 0px;
	}
	#topSNS ul li:last-child {
		padding-left: 0px;
	}
}