@charset "UTF-8";
/*-----------------------------------
    店舗アンカーナビ (#shop_anchor_nav)
-----------------------------------*/
#shop_anchor_nav {
	padding: 5vw 0 3vw;
}

#shop_anchor_nav .contents_inner {
	max-width: 85vw;
}

#shop_anchor_nav ul {
	flex-wrap: wrap;
	row-gap: 24px;
}
#shop_anchor_nav li {
    position: relative;
}
#shop_anchor_nav li:not(:first-child)::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 1px;
    height: 100%;
    background: rgba(52, 52, 52, 0.05);
}

#shop_anchor_nav a {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0;
	padding: 0 60px;
}

#shop_anchor_nav a::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 0;
	height: 1px;
	background: var(--c-brown);
	transition: width 0.3s ease, left 0.3s ease;
}

#shop_anchor_nav a:hover::after {
	left: 0;
	width: 100%;
}

#shop_anchor_nav .shop_anchor_name {
	font-family: var(--font-jp-serif);
	font-weight: 700;
	font-size: 1.8rem;
	color: var(--c-text);
	transition: color 0.3s ease;
}

#shop_anchor_nav a:hover .shop_anchor_name {
	color: var(--c-brown);
}

#shop_anchor_nav .shop_anchor_en {
	font-family: var(--font-en-serif);
	font-size: 1.1rem;
	color: var(--c-brown);
	letter-spacing: 0.05em;
	opacity: 0.7;
}

/*-----------------------------------
    レスポンシブ: PC小 (max-width: 1280px)
-----------------------------------*/
@media screen and (max-width: 1280px) {
	#shop_anchor_nav .contents_inner {
		max-width: 92vw;
	}
}

/*-----------------------------------
    レスポンシブ: タブレット (max-width: 840px)
-----------------------------------*/
@media screen and (max-width: 840px) {
	#shop_anchor_nav .contents_inner {
		width: 90%;
		max-width: 100%;
	}

	#shop_anchor_nav ul {
		justify-content: space-between;
	}

	#shop_anchor_nav li:not(:first-child) {
		margin-left: 0;
		padding-left: 0;
	}

	#shop_anchor_nav li:not(:first-child)::before {
		display: none;
	}

	#shop_anchor_nav li {
		width: 48%;
	}

	#shop_anchor_nav .shop_anchor_name {
		font-size: 1.3rem;
	}

	#shop_anchor_nav .shop_anchor_en {
		font-size: 1rem;
	}
}

/*-----------------------------------
    店舗一覧 (#shop_block)
-----------------------------------*/
#shop_block {
	padding: 0 0 7vw;
}

.shop_item {
	padding: 5vw 0;
	scroll-margin-top: 100px;
}

.shop_item:not(:last-child) {
	border-bottom: 1px solid rgba(52, 52, 52, 0.1);
}

.shop_item_inner {
	display: flex;
	align-items: baseline;
	gap: 6vw;
}

.shop_item.is_reverse .shop_item_inner {
	flex-direction: row-reverse;
}

.shop_item_img {
	width: 42%;
	max-width: 480px;
	flex-shrink: 0;
}

.shop_item_img img {
	width: 100%;
	aspect-ratio: 500 / 552;
	object-fit: cover;
	border-radius: var(--radius-lg);
}

.shop_item_text {
	width: 100%;
}

.shop_item_name {
	display: flex;
	align-items: baseline;
	gap: 16px;
}

.shop_item_name span {
	font-family: var(--font-jp-serif);
	font-weight: 700;
	font-size: 34px;
	color: var(--c-text);
}

.shop_item_name em {
	font-family: var(--font-en-serif);
	font-style: normal;
	font-size: 1.5rem;
	color: var(--c-brown);
	letter-spacing: 0.05em;
}

.shop_item_lead {
	position: relative;
	margin-top: 1.4em;
	font-family: var(--font-jp-serif);
	font-weight: 700;
	font-size: 24px;
	line-height: 1.9em;
	color: var(--c-text);
}
/*
.shop_item_lead::before {
	content: "“";
	position: absolute;
	top: -0.2em;
	left: -0.05em;
	font-family: var(--font-en-serif);
	font-size: 3.4em;
	line-height: 1;
	color: var(--c-brown);
	opacity: 0.35;
}
*/

/*-----------------------------------
    店舗情報リスト (.shop_info_list)
-----------------------------------*/
.shop_info_list {
	margin-top: 30px;
	border-top: 1px solid rgba(52, 52, 52, 0.12);
}

.shop_info_row {
	display: flex;
	gap: 24px;
	padding: 16px 0;
	border-bottom: 1px solid rgba(52, 52, 52, 0.12);
}

.shop_info_row dt {
	flex-shrink: 0;
	width: 100px;
	font-family: var(--font-jp-serif);
	font-weight: 700;
	font-size: 15px;
	color: var(--c-brown);
}

.shop_info_row dd {
	font-size: 15px;
	line-height: 180%;
}

.shop_info_row dd a {
	font-family: var(--font-en-serif);
}

.shop_info_row dd a:hover {
	opacity: 0.7;
}

.shop_info_tel {
	font-family: var(--font-en-serif);
	font-size: 28px;
	font-weight: 700;
	color: var(--c-brown);
	letter-spacing: 0.03em;
}

/*-----------------------------------
    地図・ボタン
-----------------------------------*/
.shop_map {
	margin-top: 2em;
}

.shop_map iframe {
	width: 100%;
	height: 430px;
	border-radius: var(--radius-sm);
}

.shop_btns {
	margin-top: 2em;
}

.shop_btns .btn_reserve {
	width: 100%;
	max-width: 320px;
	height: 60px;
}

/*-----------------------------------
    レスポンシブ: PC小 (max-width: 1280px)
-----------------------------------*/
@media screen and (max-width: 1280px) {
	.shop_item_name span {
		font-size: 2.4rem;
	}

	.shop_item_lead {
		font-size: 1.6rem;
	}
}

/*-----------------------------------
    レスポンシブ: タブレット (max-width: 840px)
-----------------------------------*/
@media screen and (max-width: 840px) {
	.shop_item_inner,
	.shop_item.is_reverse .shop_item_inner {
		flex-direction: column;
		gap: 32px;
	}

	.shop_item_img {
		width: 100%;
		max-width: none;
	}

	.shop_item_img img {
		aspect-ratio: 16 / 10;
	}

	.shop_item_lead {
		padding-left: 1em;
		font-size: 1.5rem;
	}

	.shop_item_lead::before {
		font-size: 2.8em;
	}

	.shop_info_row {
		flex-direction: column;
		gap: 4px;
	}

	.shop_info_row dt {
		width: auto;
	}

	.shop_info_tel {
		font-size: 22px;
	}

	.shop_btns .btn_reserve {
		max-width: none;
	}
}
