@charset "UTF-8";

@media screen and (min-width: 641px) {
	.layout-lowepage-header-A {
		height: 2.5rem;
	}
}
.layout-lowepage-header-title-A .title {
	color: #000;
}


.shop-page-link {
	display: flex;
	justify-content: center;
	margin-bottom: 0.6rem;/*1.2rem*/
}

.shop-page-link-item {
	width: 1.73rem;
}

.shop-page-link-item:last-child a {
	border-right: 1px solid #C7C7C7;
}

.shop-page-link-item a {
	background: url("../img/shop/icon-arrow01.svg") no-repeat center bottom .1rem / .1rem auto;
	border-left: 1px solid #C7C7C7;
	color: #000;
	display: block;
	padding-block: .1rem .37rem;
	font-size: .16rem;
	line-height: 157%;
	text-align: center;
}

.shop-areas {
	margin: 0 auto 2.66rem;
	max-width: 13.45rem;
}

.shop-area:not(:last-child) {
	border-bottom: 1px solid #C7C7C7;
	margin-bottom: .8rem;
	padding-bottom: .8rem;
}

.shop-heading {
	margin-bottom: .8rem;
}

.shop-heading-ja {
	font-family: var(--ff-shu);
	font-size: .3rem;
	line-height: 1;
	margin-bottom: .16rem;
}

.shop-heading-en {
	color: var(--other-color-gray-A);
	font-family: var(--ff-lexe);
	font-size: .14rem;
	line-height: 1;
}

.shop-items {
	display: grid;
	gap: .8rem;
	grid-template-columns: repeat(3, 1fr);
}

.shop-item > a {
	display: block;
	transition: opacity .3s ease-in-out;
}

.no-touchevents .shop-item ._link-line-A:hover {
	opacity: 1
}

.no-touchevents .shop-item ._link-line-A:hover span:after {
	-webkit-transform: translateX(0);
	transform: translateX(0)
}

.no-touchevents .shop-item > a:hover {
	opacity: .7
}

.no-touchevents .shop-item > a:hover ._link-line-A {
	opacity: .7
}

.no-touchevents .shop-item > a:hover ._link-line-A span:after {
	-webkit-transform: translateX(5px);
	transform: translateX(5px)
}


.shop-name {
	font-size: .2rem;
	line-height: 1;
	margin-bottom: .24rem;
}

.shop-image {
	font-size: 0;
	line-height: 1;
	height: 2.27rem;
	margin-bottom: .19rem;
	position: relative;
}

.shop-image img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.shop-image figcaption {
	bottom: 0;
	display: grid;
	font-family: var(--ff-shu);
	font-size: .16rem;
	height: .28rem;
	left: 0;
	padding-inline: .1rem;
	place-content: center;
	position: absolute;
	width: fit-content;
}

.shop-image figcaption:not(.shop-type02) {
	color: #fff;
}

.shop-type01 {
	background: #000;
}

.shop-type02 {
	background: #FFF;
	color: #000;
}

.shop-type04 {
	background: #C7C7C7;
}

.shop-type05 {
	background: var(--sub-color-gold-A);
}


.shop-detail {
	margin-bottom: .55rem;
}

.shop-detail-item {
	display: flex;
}

.shop-detail-item:not(:first-child) {
	margin-top: .07rem;
}

.shop-detail dt {
	flex-shrink: 0;
	font-size: .14rem;
	line-height: 1.66;
	width: .8rem;
}

.shop-detail dd {
	font-size: .14rem;
	line-height: 1.66;
}

.shop-link {
	justify-content: flex-end;
	display: flex;
}

.shop-link a {
	width: 1.3rem;
}

.shop-page-link-sp {
	display: none;
}

/* modal */
.overlay {
	background: rgba(0, 0, 0, .5);
	display: none;
	height: 100%;
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 10;
}

.modal {
	background: #fff;
	display: none;
	left: 50%;
	padding: .36rem;
	position: fixed;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 8.38rem;
	z-index: 11;
}

.modal-close {
	position: absolute;
	right: .16rem;
	top: .16rem;
}

.modal-close img {
	height: auto;
	width: .24rem;
}

.modal-body {
	margin-inline: auto;
	width: 6.38rem;
}

.modal-title {
	font-size: .22rem;
	line-height: 157%;
	margin-bottom: .17rem;
	text-align: center;
}

.modal-table {
	border-collapse: collapse;
	table-layout: fixed;
	width: 100%;
}
.modal-table-head,
.modal-table-text {
	border: 1px solid #D8D8D8;
	font-weight: 500;
	font-size: .14rem;
	padding-block: .08rem;
	text-align: center;
}

.modal-table-head {
	background: var(--other-color-gray-B);
}

.modal-table tr:nth-child(even) {
	background: #FAF7F2;
}

.shop-page-modal-button {
	text-align: center;
	margin-bottom: 1.4rem;
}
.shop-page-modal-button a {
	text-align: center;
	background: url("../img/products/icon-hint.svg") no-repeat left center / .17rem auto;
	display: inline-block;
	font-size: .14rem;
	padding-left: .25rem;
}

@media screen and (max-width: 640px) {
	.shop-page-link {
		flex-wrap: wrap;
		justify-content: space-between;
		padding-inline: .32rem;
	}

	.shop-page-link-item {
		width: 1.5rem;
	}

	/*最後から２個にボーダーをつける*/
	.shop-page-link-item:nth-last-child(-n+2) a {
		border-bottom: 1px solid #C7C7C7;
		border-right: none;
	}

	.shop-page-link-item a {
		align-items: center;
		background: url("../img/shop/icon-arrow01.svg") no-repeat right .14rem center / .1rem auto;
		border-left: none;
		border-top: 1px solid #C7C7C7;
		display: flex;
		height: .5rem;
		font-size: .14rem;
		padding-left: .15rem;
		padding-block: 0;
		text-align: left;
	}

	.shop-areas {
		margin: 0 auto 2.66rem;
		padding-inline: .32rem;
	}

	.shop-area:first-child {
		padding-top: .6rem;
	}

	.shop-heading {
		margin-bottom: .6rem;
	}

	.shop-heading-ja {
		font-size: .28rem;
	}

	.shop-items {
		display: block;
	}

	.shop-item:not(:first-child) {
		margin-top: .56rem;
	}

	.shop-name {
		font-size: .18rem;
		margin-bottom: .16rem;
	}

	.shop-image {
		height: 1.4rem;
		margin-bottom: .16rem;
	}

	.shop-image img {
		height: 100%;
		object-fit: cover;
	}

	.shop-detail {
		margin-bottom: .16rem;
	}

	.shop-detail-item:not(:first-child) {
		margin-top: .08rem;
	}

	.shop-detail dt {
		display: none;
	}

	.shop-page-link-sp {
		background: #fff;
		border: 1px solid #000;
		display: none;
		left: 50%;
		position: fixed;
		top: .67rem;
		transform: translateX(-50%);
		width: 3.43rem;
		z-index: 10;
	}

	.shop-page-link-sp-trigger a {
		background: url("../img/shop/icon-arrow01.svg") no-repeat right .12rem center / .1rem auto;
		color: #000;
		display: grid;
		font-size: .14rem;
		height: .45rem;
		place-content: center;
		text-align: center;
	}

	.shop-page-link-sp-trigger a.active {
		background: url("../img/shop/icon-arrow02.svg") no-repeat right .12rem center / .1rem auto;
	}

	.shop-page-link-hidden {
		display: none;
	}

	.shop-page-link-sp .shop-page-link {
		display: flex;
		margin-bottom: 0;
		padding: 0 .16rem .22rem;
	}

	.shop-page-link-sp .shop-page-link a {
		border-top: none;
		border-bottom: 1px solid #C7C7C7;
	}

	.shop-page-modal-button { 
		margin-bottom: 0.7rem;
	}
	
	.modal {
		box-sizing: border-box;
		height: auto;
		padding: .36rem .24rem .4rem;
		width: 3.43rem;
	}

	.modal-body {
		width: 100%;
	}

	.modal-table tr {
		display: flex;
		flex-direction: column;
	}
	.modal-table tr:first-of-type {
		border-top: 1px solid #D8D8D8;
	}
	.modal-table tr:nth-child(even) {
		background: none;
	}

	.modal-title {
		font-size: .18rem;
		margin-bottom: .24rem;
	}

	.modal-table-head,
	.modal-table-text {
		font-size: .13rem;
		padding-block: .09rem;
	}
	.modal-table-head {
		border-bottom: 0px;
		border-top: 0px;
	}
}