@charset "UTF-8";
/*================================================
  STORESページ専用CSS
================================================*/

/* 共通レイアウト
--------------------------------------------------------------------*/

body {
	opacity: 0;
	-webkit-transition: all 2.0s cubic-bezier(0.215, 0.61, 0.355, 1);
	transition: all 2.0s cubic-bezier(0.215, 0.61, 0.355, 1);
}
body.visible {
	opacity: 1;
}
#contents.stores {
	width: 100%;
}


/* 一覧
--------------------------------------------------------------------*/
.stores_content {
	width: 1200px;
	margin: 0 auto;
}
.stores_content_inner {}
.stores_mainvisual {
	margin-bottom: 80px;
}
.stores_movie {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.stores_video {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.stores_section {
	margin-bottom: 80px;
}
.stores_section:last-child {
	margin-bottom: 0;
}
.stores_info {}
.storeslist {}
.storeslist_item {}
.storeslist_item + .storeslist_item {
	margin-top: 70px;
}
.storeslist_content {}
.stores_toggle {
	display: block;
	font-family: "Roboto", sans-serif;
	font-size: 15px;
	margin-bottom: 60px;
	padding-bottom: 10px;
	border-bottom: 1px solid #ddd;
}
.icon_stores_toggle {
	display: none;
}
.stores_shop {}
.stores_shop_list:before,
.stores_shop_list:after {
	content: none;
}
.stores_shop_list {
	display: flex;
	flex-wrap: wrap;
	margin-left: -20px;
	margin-right: -20px;
}
.stores_shop_item {
	flex: 0 0 25%;
	width: 100%;
	max-width: 25%;
	margin-top: 60px;
	padding: 0 20px;
	position:relative;
}
.stores_shop_item:nth-child(-n+4) {
	margin-top: 0;
}
.stores_shop_item > a:link,
.stores_shop_item > a:visited {
	text-decoration: none;
}
.stores_shop_item > a:hover,
.stores_shop_item > a:active {
	text-decoration: none;
}
.stores_shop_link {
	display: block;
	position: relative;
}
.stores_shop_photo {
	overflow: hidden;
	margin:0 0 20px;
	position:relative;
}
.stores_shop_image {
	width: 100%;
	height: auto;
	transition: opacity 1s, transform .5s;
}
.stores_shop_list .ls-blur-up-is-loading,
.stores_shop_list .lazyload:not([src]) {
	visibility: hidden;
}
.stores_shop_list .ls-blur-up-img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}
.stores_fadein .stores_shop_image {
	opacity: 0;
}
.stores_fadein.lazyloaded .stores_shop_image.lazyloaded {
	opacity: 1;
}
.stores_shop_link:hover .stores_shop_image {
	transform: scale(1.1);
}
.stores_shop_info {
	transition: .5s ease;
}
.stores_shop_link:hover .stores_shop_info {
	opacity: .5;
}
.stores_shop_name {
	font-family: "Roboto", sans-serif;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.6;
	margin-bottom: 5px;
}
.stores_shop_type {
	font-family: "Roboto", sans-serif;
	font-size: 13px;
	line-height: 1.6;
	margin-bottom: 5px;
}
.stores_shop_address_en {
	font-family: "Roboto", sans-serif;
	font-size: 13px;
	line-height: 1.6;
}
.stores_shop_address_ja {
	font-size: 12px;
	line-height: 1.6;
	margin-bottom: 2px;
}
.stores_shop_tel {
	font-family: "Roboto", sans-serif;
	font-size: 13px;
	line-height: 1.6;
}
.stores_notfound {
	display: block;
	width: 100%;
	text-align: center;
	padding: 20px 0;
}
.stores_notfound_text {
	font-size: 13px;
	line-height: 1.5;
}
.stores_overseas_list {}
.stores_overseas_item {}
.stores_overseas_link {
	color: #000;
	font-family: "Roboto", sans-serif;
	font-size: 15px;
	font-weight: 700;
	padding: 0 50px 0 0;
	position: relative;
}
.stores_overseas_link:hover {
	color: #000;
	text-decoration: none;
}
.stores_overseas_text {
	color: #000;
	font-family: "Roboto", sans-serif;
	font-size: 15px;
	font-weight: 700;
	transition: .2s;
}
.stores_overseas_link:hover .stores_overseas_text {
	opacity: .5;
}
.stores_overseas_svg {
	position: absolute;
	top: 50%;
	right: 0;
	transition: all .2s;
}
.stores_overseas_link:hover .stores_overseas_svg {
	width: 36px;
	right: 5px;
}
.stores_pager {}
.pager {
	display: flex;
	justify-content: center;
	margin-left: -15px;
	margin-right: -15px;
	position: relative;
}
.pager li {
	display:inline-block;
	height: 22px;
	margin: 0 15px;
	position: relative;
}
.pager li a {
	display: block;
	color: #000;
	font-family: "Roboto", sans-serif;
	font-size: 13px;
	line-height: 22px;
}
.pager .pager_number {
	line-height: 22px;
}
.pager .pager_number a {
	display: block;
	font-family: "Roboto", sans-serif;
	font-size: 13px;
	line-height: 22px;
	text-align: center;
}
.pager .pager_number.active span {
	display: block;
	color: #000;
	font-family: "Roboto", sans-serif;
	font-size: 13px;
	font-weight: 700;
	line-height: 22px;
	border-bottom: 2px solid #000;
}
.pager_number.brank span {
	color: #000;
}
.pager .pager_prev {
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	margin-right: 20px;
}
.pager_prev span:after {
	content: "";
	width: 8px;
	height: 8px;
	margin-top: -4px;
	margin-left: -2px;
	border-top: 1px solid #ddd;
	border-right: 1px solid #ddd;
	transform: rotate(-135deg);
	position: absolute;
	top: 50%;
	left: 50%;
}
.pager .pager_prev a:after {
	content: "";
	width: 8px;
	height: 8px;
	margin-top: -4px;
	margin-left: -2px;
	border-top: 1px solid #000;
	border-right: 1px solid #000;
	transform: rotate(-135deg);
	position: absolute;
	top: 50%;
	left: 50%;
}
.pager .pager_next {
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	margin-left: 20px;
}
.pager_next span:after {
	content: "";
	width: 8px;
	height: 8px;
	margin-top: -4px;
	margin-right: -2px;
	border-top: 1px solid #ddd;
	border-right: 1px solid #ddd;
	transform: rotate(45deg);
	position: absolute;
	top: 50%;
	right: 50%;
}
.pager .pager_next a:after {
	content: "";
	width: 8px;
	height: 8px;
	margin-top: -4px;
	margin-right: -2px;
	border-top: 1px solid #000;
	border-right: 1px solid #000;
	transform: rotate(45deg);
	position: absolute;
	top: 50%;
	right: 50%;
}

/* 詳細
--------------------------------------------------------------------*/
.stores_detail {}
.stores_detail_content {
	margin-bottom: 80px;
}
.stores_detail_info {
	margin-bottom: 80px;
	padding: 0 90px;
	position: relative;
}
.stores_detail_name {
	font-family: "Roboto", sans-serif;
	font-size:24px;
	font-weight: 700;
	text-align: center;
	margin-bottom: 80px;
}
.stores_detail_type {
	font-family: "Roboto", sans-serif;
	font-size:15px;
	line-height: 1.6;
	text-align: center;
	margin-bottom: 40px;
}
.stores_detail_address_en {
	font-family: "Roboto", sans-serif;
	font-size:15px;
	line-height: 1.6;
	text-align: center;
	margin-bottom: 2px;
}
.stores_detail_address_ja {
	font-size:14px;
	line-height: 1.6;
	text-align: center;
	margin-bottom: 2px;
}
.stores_detail_tel {
	font-family: "Roboto", sans-serif;
	font-size:15px;
	line-height: 1.6;
	text-align: center;
	margin-bottom: 2px;
}
.stores_detail_hours {
	font-family: "Roboto", sans-serif;
	font-size:15px;
	line-height: 1.6;
	text-align: center;
}
.stores_detail_map {
	position: absolute;
	bottom: 0;
	right: 0;
}
.stores_detail_map_link {
	color: #000;
	font-family: "Roboto", sans-serif;
	font-size: 15px;
	font-weight: 700;
	padding: 0 50px 0 0;
	transition: all .2s;
	position: relative;
}
.stores_detail_map_link:hover {
	color: #000;
	text-decoration: none;
}
.stores_detail_map_text {
	color: #000;
	font-family: "Roboto", sans-serif;
	font-size: 15px;
	font-weight: 700;
	transition: .2s;
}
.stores_detail_map_link:hover .stores_detail_map_text {
	opacity: .5;
}
.stores_detail_map_svg {
	position: absolute;
	top: 50%;
	right: 0;
	transition: all .2s;
}
.stores_detail_map_link:hover .stores_detail_map_svg {
	width: 36px;
	right: 5px;
}
.stores_gallery {}
.stores_gallery_list {}
.stores_gallery_item {}
.stores_gallery_item + .stores_gallery_item {
	margin-top: 80px;
}
.stores_gallery_photo {}
.stores_gallery_image {
	display: block;
	width: 100%;
	height: auto;
}
.stores_pager {}
.stores_pager_list:before, .stores_pager_list:after {
	content: none;
}
.stores_pager_list {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: nowrap;
	margin: 0 -10px 60px;
}
.stores_pager_item {
	padding: 0 10px;
}
.stores_pager_link {
	color: #000;
	font-family: "Roboto", sans-serif;
	font-size:13px;
	transition: all .2s;
	position: relative;
}
.stores_pager_link:hover {
	color: #000;
	text-decoration: none;
	opacity: .5;
}
.stores_pager_prev {
	padding: 5px 0 5px 20px;
}
.stores_pager_prev:after {
	content: "";
	width: 10px;
	height: 10px;
	margin-top: -6px;
	margin-left: -2px;
	border-top: 1px solid #000;
	border-right: 1px solid #000;
	transform: rotate(-135deg);
	position: absolute;
	top: 50%;
	left: 5px;
}
.stores_pager_next {
	padding: 5px 20px 5px 0;
}
.stores_pager_next:after {
	content: "";
	width: 10px;
	height: 10px;
	margin-top: -6px;
	margin-right: -2px;
	border-top: 1px solid #000;
	border-right: 1px solid #000;
	transform: rotate(45deg);
	position: absolute;
	top: 50%;
	right: 5px;
}
.stores_pager_text {
	color: #bbb;
	font-family: "Roboto", sans-serif;
	font-size:13px;
	position: relative;
}
.stores_pager_text.stores_pager_prev:after {
	border-color: #bbb;
}
.stores_pager_text.stores_pager_next:after {
	border-color: #bbb;
}
.stores_pager_index {
	text-align: center;
}
.stores_pager_back {
	display: inline-block;
	color: #000;
	font-family: "Roboto", sans-serif;
	font-size: 15px;
	font-weight: 700;
	padding: 0 0 0 50px;
	transition: all .2s;
	position: relative;
}
.stores_pager_back:hover {
	color: #000;
	text-decoration: none;
}
.stores_pager_back_text {
	color: #000;
	font-family: "Roboto", sans-serif;
	font-size: 15px;
	font-weight: 700;
	transition: .2s;
}
.stores_pager_back:hover .stores_pager_back_text {
	opacity: .5;
}
.stores_pager_back_svg {
	position: absolute;
	top: 50%;
	left: 0;
	transition: all .2s;
}
.stores_pager_back:hover .stores_pager_back_svg {
	width: 36px;
	left: 5px;
}
