@charset "UTF-8";

:root {
	--primary-color: #ca231c;
	--secondary-color: #45B300;
	--secondary-dark-color: #2F7B00;
	--color-background: #fbfaf7;
}

.mc-shop {
	.c-hoverLine--text {
		background-position: left bottom;
		background-repeat: no-repeat;
		background-size: 100% 1px;
		transition: background-size .35s cubic-bezier(.39, .575, .565, 1), color .1s ease-out;
		will-change: background-size, color;
	}

	.mc-shop_overlay-inner {
		position: fixed;
		top: 0;
		left: 0;
		background: rgba(255, 255, 255, 0.9);
		width: 100%;
		height: 100%;
		z-index: 10000;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.mc-shop_loading {
		width: 50px;
		padding: 8px;
		aspect-ratio: 1;
		border-radius: 50%;
		background: var(--primary-color);
		--_m: conic-gradient(#0000 0%, #000),
		linear-gradient(#000 0 0) content-box;
		-webkit-mask: var(--_m);
		mask: var(--_m);
		-webkit-mask-composite: source-out;
		mask-composite: subtract;
		animation: l3 1s infinite linear;
	}

	@keyframes l3 {
		to {
			transform: rotate(1turn)
		}
	}

	.p-searchIndex {
		padding-bottom: 45px;
	}

	.p-searchIndex--wrapper {
		max-width: 1040px;
		margin-right: auto;
		margin-left: auto;
	}

	.p-searchIndex--wrapper > *:first-child {
		margin-top: 0 !important;
	}

	/* pc */
	@media (min-width: 1024px) {
		.p-searchIndex--wrapper {
			padding-right: 70px;
			padding-left: 70px;
		}
	}
	/* sp ToDo */
	@media not all and (min-width: 1024px) {
		.p-searchIndex {
			padding-bottom: 40px;
		}

		.p-searchIndex--wrapper {
			padding-right: 20px;
			padding-left: 20px;
		}
	}

	.p-searchError {
		display: none;
		background-color: var(--color-background) !important;
		padding: 80px 0;
	}

	.p-searchError.is_visible {
		display: block;
	}

	.p-searchError--wrapper {
		max-width: 1040px !important;
		margin-right: auto;
		margin-left: auto;
	}

	.c-searchError {
		display: flex;
		justify-content: center;
		align-items: center;
		flex-flow: column;
		font-feature-settings: 'palt' on;
		padding: 0;
	}

	.c-searchError__text {
		font-size: 20px;
		font-weight: 700;
		letter-spacing: 0;
		line-height: 1.45;
		padding-right: 28px;
		text-align: center;
	}

	.c-searchError__text .emp {
		font-size: 28px;
		color: var(--primary-color);
	}

	.c-searchError__caption {
		font-size: 16px;
		letter-spacing: -0.05em;
		line-height: 1.429;
		color: #000;
		padding-right: 32px;
		margin-top: 20px;
		opacity: 0.5;
		text-align: center;
	}

	.c-searchError__captionList {
		list-style: disc;
		font-size: 16px;
		letter-spacing: -0.05em;
		line-height: 1.429;
		color: #000;
		padding-right: 32px;
		margin-top: 20px;
		opacity: 0.5;
	}

	/* sp */
	@media not all and (min-width: 1024px) {
		.c-searchError {
			padding: 70px 0 60px;
		}

		.c-searchError__text {
			font-size: 16px;
			line-height: 1.4375;
			padding: 0 0 0 10px;
		}

		.c-searchError__text .emp {
			font-size: 24px;
		}

		.c-searchError__caption {
			font-size: 13px;
			letter-spacing: -0.05em;
			line-height: 1.4167;
			padding-right: 10px;
			margin-top: 30px;
		}
	}

	.c-searchInput {
		position: relative;
		margin-top: 24px;
	}

	.c-searchInput.is-prefectures {
		display: none;
	}

	[data-search="prefectures"] .is-prefectures {
		display: block;
	}

	.c-searchInput.js-city {
		display: none;
	}

	.js-city.is-visible {
		display: block;
	}

	.c-searchInput + .c-searchInput {
		margin-top: 2rem;
	}

	.c-searchInput--input {
		width: 100%;
		height: 58px;
		font-size: 16px;
		letter-spacing: -0.05em;
		background: #F7F7F7;
		border: 1px solid #E6E6E6;
		box-sizing: border-box;
		border-radius: 0.3em;
		padding: 0 60px 0 23px;
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		outline: none;
		box-shadow: none;
	}

	.c-searchInput--input::placeholder {
		color: rgba(0, 0, 0, 0.2);
	}

	.c-searchInput--input::-webkit-search-decoration,
	.c-searchInput--input::-webkit-search-cancel-button,
	.c-searchInput--input::-webkit-search-results-button,
	.c-searchInput--input::-webkit-search-results-decoration {
		display: none;
	}

	.c-searchInput--reset {
		background: none;
		position: absolute;
		inset: 0 65px 0 auto;
		display: none;
		width: 50px;
		height: 50px;
		border: none;
		border-radius: 0.3em;
		padding: 0;
		margin: auto 0;
		cursor: pointer;
		z-index: 3;
	}
	.c-searchInput--reset img {
		display: inline;
	}
	.c-searchInput--reset.is-visible {
		display: block;
	}
	.c-searchInput--reset:before {
		position: absolute;
		inset: 5px;
		display: block;
		content: '';
	}

	.c-searchInput--icon {
		transition: opacity .35s cubic-bezier(.39, .575, .565, 1) 0s;
		position: absolute !important;
		inset: 0 5px 0 auto !important;
		display: block !important;
		width: 50px !important;
		height: 50px !important;
		background: #E6E6E6;
		border: none;
		border-radius: 0.3em;
		padding: 0;
		margin: auto 0 !important;
		cursor: pointer !important;
		pointer-events: auto !important;
		z-index: 3;
	}

	.c-searchInput--icon:before {
		position: absolute;
		inset: -0.5rem;
		display: block;
		content: '';
	}

	.c-searchInput--icon:hover {
		opacity: 0.5;
	}

	.c-searchInput--icon img {
		pointer-events: none;
		display: inline;
	}

	.c-searchInput--select {
		display: block;
		width: 100%;
		height: 58px;
		font-size: 16px;
		letter-spacing: -0.05em;
		color: rgba(0, 0, 0, 0.2);
		background: #fff;
		border: 1px solid #E6E6E6;
		border-radius: 0.3em;
		appearance: none;
		padding: 0 60px 0 23px;
	}

	.c-searchInput--arw {
		position: absolute;
		inset: 0 24px 0 auto;
		display: block;
		width: 16px;
		height: auto;
		margin: auto 0;
	}

	/* sp */
	@media not all and (min-width: 1024px) {
		.c-searchInput + .c-searchInput {
			margin-top: 16px;
		}

		.c-searchInput--input {
			font-size: 16px;
			height: 13.3334vw;
			border-radius: 1.333334vw;
			padding: 0 13.3334vw 0 4vw;
		}

		.c-searchInput--reset {
			inset: 0 14.3334vw 0 auto;
		}

		.c-searchInput--icon {
			inset: 0 1.333334vw 0 auto;
			width: 10.667vw;
			height: 10.667vw;
			border-radius: 1.066667vw;
		}

		.c-searchInput--icon:before {
			inset: -1.333334vw;
		}

		.c-searchInput--icon img {
			width: 4.26667vw;
			height: auto;
			aspect-ratio: 1/1;
		}

		.c-searchInput--select {
			font-size: 16px;
			height: 13.3334vw;
			border-radius: 1.333334vw;
			padding: 0 13.3334vw 0 4vw;
		}

		.c-searchInput--arw {
			inset: 0.5334vw 4.8vw 0 auto;
			width: 3.2vw;
		}
	}

	/* c-searchWidget */

	.c-searchWidget {
		margin-top: 0;
	}

	.c-searchWidget--head {
		display: flex;
		align-items: center;
		justify-content: space-between;
		margin: 60px 0 0;
	}

	.c-searchWidget--head.is_disabled {
		display: none;
	}

	.c-searchWidget--result {
		font-size: 16px;
		letter-spacing: 0;
		line-height: 1.6;
	}

	.c-searchWidget--result .emp {
		font-weight: 700;
	}

	.c-searchWidget--result .red {
		color: var(--primary-color);
	}

	.c-mapSwitch {
		position: relative;
		display: flex;
		align-items: center;
		letter-spacing: 0;
		color: inherit;
	}

	.c-mapSwitchButton {
		width: 46px;
		height: 24px;
		position: relative;
		border: none;
		border-radius: 12px;
		background-color: #BCBDBD;
		cursor: pointer;
	}

	.c-mapSwitchButton:after {
		content: "";
		position: absolute;
		width: 20px;
		height: 20px;
		border-radius: 100%;
		left: 3px;
		top: 2px;
		background: #FFFFFF;
		border: 1px solid #BCBDBD;
		transition: all 0.1s ease 0s;
	}

	.c-mapSwitchLabel {
		color: #1E2121;
		margin-right: 12px;
		cursor: pointer;
	}

	.is_active .c-mapSwitchButton {
		background: var(--primary-color);
	}

	.is_active .c-mapSwitchButton::after {
		border-color: var(--primary-color);
		transform: translateX(100%);
	}

	.c-searchWidget--map {
		display: none;
		aspect-ratio: 1100 / 450;
		border-radius: 0.3em;
		margin: 5rem max(calc((100% - 100vw + 4rem) / 2), -10rem) 0;
		overflow: hidden;
	}

	.c-searchWidget--map.is_visible {
		display: block;
	}

	/* sp */
	@media not all and (min-width: 1024px) {
		.c-searchWidget {
			margin-top: 8vw;
		}

		.c-searchWidget--head {
			margin: 7.73334vw 0 0;
		}

		.c-searchWidget--result {
			font-size: 3.73334vw;
			line-height: 1.429;
		}

		.c-searchWidget--filter {
			font-size: 3.2vw;
			line-height: 1.667;
			padding-right: 5.33334vw;
			margin: 0 0 0 auto;
		}

		.c-searchWidget--filter:after {
			top: 1.33334vw;
			width: 3.4667vw;
		}

		.c-searchWidget--filter .count {
			bottom: 3.73334vw;
			left: 20.53334vw;
			font-size: 1.6vw;
			padding: 0 0.8vw;
		}

		.c-searchWidget--map {
			aspect-ratio: 375 / 500;
			border-radius: 0;
			margin: 8vw -4vw 0;
		}
	}

	/* p-searchList */

	.p-searchList {
		background-color: var(--color-background) !important;
		background-position: left top;
		background-size: 30rem auto;
		background-repeat: repeat;
		padding: 7rem 0 9.5rem;
	}

	.p-searchList.is_disabled {
		display: none !important;
	}

	.p-searchList--wrapper {
		max-width: 1040px !important;
		margin-right: auto;
		margin-left: auto;
	}

	.p-searchList--head {
		display: none;
	}

	.p-searchList--list {
		display: grid;
		gap: 1.5rem;
	}

	.p-searchList--foot {
		margin-top: 6rem;
	}

	html[data-switch='map'] .p-searchList {
		display: none;
	}

	/* pc */
	@media (min-width: 1024px) {
		.p-searchList--wrapper {
			padding-right: 70px;
			padding-left: 70px;
		}
	}
	/* sp */
	@media not all and (min-width: 1024px) {
		.p-searchList {
			padding: 5.3334vw 0 17.3334vw;
		}

		.p-searchList--wrapper {
			padding-right: 2.6667vw;
			padding-left: 2.6667vw;
		}

		.p-searchList--head {
			display: flex;
			align-items: center;
			padding: 0 1.33334vw 0 0.53334vw;
			margin-bottom: 3.2vw;
		}

		.p-searchList--title {
			font-size: 4.26667vw;
			font-weight: 700;
			letter-spacing: 0;
			line-height: 1.4375;
		}

		.p-searchList--list {
			gap: 4vw;
		}

		.p-searchList--foot {
			margin-top: 16vw;
		}
	}

	/* mc-shop */

	.mc-shop {
		background: #fff;
		border-radius: 0.6em;
		border: 1px solid #e1d8c7;
		padding: 37px 40px 38px;
	}

	.mc-shop__head {
		border-bottom: 1px solid rgba(0, 0, 0, 0.1);
		padding-bottom: 13px;
	}

	.mc-shop__name {
		position: relative;
		font-size: 20px;
		font-weight: 700;
		letter-spacing: 0;
		line-height: 1.45;
		color: #1c0f9d !important;
		overflow-wrap: anywhere;
	}

	.mc-shop__name .number {
		position: absolute;
		top: 2px;
		left: 0;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 27px;
		aspect-ratio: 1/1;
		font-size: 18px;
		line-height: 1;
		color: #fff;
		background: var(--primary-color);
		box-sizing: border-box;
		padding-bottom: 2px;
	}

	.mc-shop__name .number[data-length="2"] {
		font-size: 14px;
	}

	.mc-shop__name .number[data-length="3"] {
		font-size: 12px;
	}

	@media not all and (min-width: 1024px) {
		.mc-shop__name .number[data-length="2"] {
			font-size: 12px;
		}

		.mc-shop__name .number[data-length="3"] {
			font-size: 9px;
		}
	}

	.mc-shop__name .number:after {
		position: absolute;
		inset: auto 0 -5px;
		display: block;
		content: '';
		width: 0;
		height: 0;
		border-top: 6px solid var(--primary-color);
		border-right: 3px solid transparent;
		border-left: 3px solid transparent;
		margin: 0 auto;
	}

	.mc-shop__name .c-hoverLine {
		position: relative;
		display: block;
		padding-left: 36px;
	}

	.mc-shop__details {
		display: flex;
		align-items: flex-start;
		margin-top: 14px;
	}

	.mc-shop__distance {
		color: var(--primary-color);
		font-weight: 700;
		position: relative;
		display: flex;
		align-items: flex-end;
		line-height: 1.3;
		padding-left: 14px;
	}

	.mc-shop__distance:before {
		position: absolute;
		top: 50%;
		left: 0;
		display: block;
		content: '';
		width: 16px;
		aspect-ratio: 9/12;
		background-image: url('../assets/img/icon/search_shop_pin.svg');
		background-repeat: no-repeat;
		background-size: contain;
		translate: 0 -50%;
		margin-top: 1px;
	}

	.mc-shop__distance .number {
		font-size: 24px;
		font-weight: 700;
		letter-spacing: -0.05em;
		padding-left: 6px;
		color: var(--primary-color);
	}

	.mc-shop__distance .suffix {
		font-size: 16px;
		letter-spacing: -0.05em;
		color: var(--primary-color);
	}

	.mc-shop__distance .caption {
		color: #000;
		font-weight: normal;
		font-size: 16px;
		letter-spacing: 0;
		margin-left: 1rem;
	}

	.mc-shop__access {
		font-size: 16px;
		letter-spacing: 0;
		line-height: 1.2;
		margin-top: 12px;
		overflow-wrap: anywhere;
	}

	.mc-shop__business_hour {
		position: relative;
		font-size: 16px;
		font-weight: 700 !important;
		letter-spacing: 0;
		line-height: 1.5;
		padding-top: 18px;
		padding-bottom: 18px;
		margin-top: 22px;
		border-top: 1px dashed rgba(0, 0, 0, .2);
		border-bottom: 1px dashed rgba(0, 0, 0, .2);
		overflow-wrap: anywhere;
	}

	.mc-shop__business_hour em {
		display: block;
		font-weight: 700 !important;
		font-style: normal;
		width: 100%;
	}

	.mc-shop__business_hour strong {
		display: block;
		font-weight: 700 !important;
		width: 100%;
	}

	.mc-shop__business_hour .opening_time_extra,
	.mc-shop__business_hour .opening_time_note {
		display: block;
		padding-top: 90px;
	}

	.mc-shop__foot {
		position: relative;
		padding-top: 26px;
		margin-top: 22px;
	}

	.mc-shop__services {
		display: flex;
		flex-wrap: wrap;
		gap: 10px;
	}

	.mc-shop__services-item {
		font-size: 1.4rem;
		letter-spacing: 0;
		line-height: 1;
		color: var(--primary-color);
		border: 1px solid var(--primary-color);
		border-radius: 2rem;
		padding: 0.4rem 0.9rem 0.6rem;
	}

	.mc-shop__equipments {
		display: flex;
		flex-wrap: wrap;
		gap: 1rem 1.5rem;
		margin-top: 1.6rem;
	}

	.mc-shop__equipments:first-child {
		margin-top: 0;
	}

	.mc-shop__equipments-item {
		position: relative;
		font-size: 1.6rem;
		letter-spacing: 0;
		line-height: 1.5;
		padding-left: 1.7rem;
		margin: -0.7rem 0 -0.5rem;
	}

	.mc-shop__equipments-item:before {
		position: absolute;
		top: 0.7rem;
		left: 0;
		display: block;
		content: '';
		width: 1.2rem;
		aspect-ratio: 1/1;
		border: 3px solid var(--secondary-color);
		border-radius: 50%;
		box-sizing: border-box;
	}

	.mc-shop__reservation {
		transition: opacity .35s cubic-bezier(.39, .575, .565, 1) 0s;
		display: block;
		width: 100%;
		font-size: 22.5px;
		text-shadow: 0 0 18px var(--secondary-dark-color);
		font-family: inherit;
		font-weight: 700;
		font-feature-settings: 'palt' on;
		letter-spacing: 0;
		line-height: 1.278;
		color: #fff;
		background: var(--secondary-color);
		border: none;
		border-radius: 0.5rem;
		box-shadow: 0 0.15em 0 0 var(--secondary-dark-color);
		cursor: pointer;
		padding: 22px 0 23px;
		margin-top: 3.1rem;
	}

	@media (hover) {
		.mc-shop__reservation:hover {
			opacity: 0.7;
		}
	}

	.mc-shop__reservation:first-child {
		margin-top: 0;
	}

	.mc-shop_pagination .c-hoverLine--text {
		pointer-events: none;
	}

	.mc-shop_pagination .page-numbers {
		transition: opacity .35s cubic-bezier(.39, .575, .565, 1) 0s !important;
	}

	@media (hover) {
		.mc-shop_pagination .page-numbers:not(.current):hover {
			opacity: 0.5;
		}
	}

	.mc-shop_map-popup {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 27px;
		height: 27px;
		font-size: 14px;
		font-weight: 700;
		font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Helvetica Neue", arial, meiryo, sans-serif;
		font-feature-settings: 'palt' on;
		background-color: var(--primary-color);
	}

	.mc-shop_map-popup[data-length="2"] {
		font-size: 13px;
	}

	.mc-shop_map-popup[data-length="3"] {
		font-size: 11px;
	}

	.mc-shop_map-popup::after {
		border-left: 4px solid transparent;
		border-right: 4px solid transparent;
		border-top: 8px solid var(--primary-color);
		content: "";
		height: 0;
		left: 50%;
		position: absolute;
		top: 95%;
		transform: translate(-50%, 0);
		width: 0;
	}

	.mc-shop_map-popup .icon {
		display: flex;
		align-items: center;
		justify-content: center;
		color: #fff;
		padding-bottom: 6px;
	}

	.mc-shop_map-popup .icon svg {
		height: 18px;
		width: auto;
	}

	.mc-shop_map-popup .details {
		display: none;
		flex-direction: column;
		flex: 1;
		font-weight: 400;
		position: relative;
	}

	.mc-shop_map-popup .mc-shop_shop-name {
		position: relative;
		font-size: 16px;
		font-weight: 700;
		letter-spacing: 0;
		line-height: 1.5;
		padding-left: 23px;
	}

	.mc-shop_map-popup .mc-shop_shop-name .number {
		position: absolute;
		top: 3px;
		left: 0;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 18px;
		aspect-ratio: 1/1;
		font-size: 13px;
		line-height: 1;
		color: #fff;
		background: var(--primary-color);
	}

	.mc-shop_map-popup[data-length="2"] .mc-shop_shop-name .number {
		font-size: 10px;
	}

	.mc-shop_map-popup[data-length="3"] .mc-shop_shop-name .number {
		font-size: 8px;
	}

	.mc-shop_map-popup .mc-shop_shop-name .number:after {
		position: absolute;
		inset: auto 0 -0.5em;
		display: block;
		content: '';
		width: 0;
		height: 0;
		border-top: 7px solid var(--primary-color);
		border-right: 4px solid transparent;
		border-left: 4px solid transparent;
		margin: 0 auto;
	}

	.mc-shop_map-popup .mc-shop_shop-name .c-hoverLine {
		color: #1c0f9d !important;
	}

	.mc-shop_map-popup .info {
		display: flex;
		flex-wrap: wrap;
		align-items: flex-start;
		justify-content: space-between;
		gap: 8px;
		border-top: 1px solid rgba(0, 0, 0, 0.1);
		padding-top: 10px;
		margin-top: 10px;
	}

	.mc-shop_map-popup .info .number {
		color: var(--primary-color);
		font-weight: 700;
	}

	.mc-shop_map-popup .info .caption {
		position: relative;
		bottom: 2px;
		font-size: 12px;
		letter-spacing: 0;
		margin-left: 6px;
	}

	.mc-shop_map-popup .distance {
		color: var(--primary-color);
		position: relative;
		font-size: 16px;
		letter-spacing: -0.05em;
		line-height: 1.25;
		padding-left: 18px;
	}

	.mc-shop_map-popup .distance:before {
		position: absolute;
		top: 50%;
		left: 0;
		display: block;
		content: '';
		width: 12px;
		aspect-ratio: 9/12;
		background-image: url('../assets/img/icon/search_shop_pin.svg');
		background-repeat: no-repeat;
		background-size: contain;
		translate: 0 -50%;
	}

	.mc-shop_map-popup .distance .caption {
		color: #000;
	}

	.mc-shop_map-popup .waiting {
		font-size: 12px;
		font-weight: 700;
		letter-spacing: 0;
		line-height: 1.667;
	}

	.mc-shop_map-popup .waiting .number {
		position: relative;
		top: 2px;
		font-size: 16px;
		letter-spacing: -0.05em;
		line-height: 1;
		margin: 0 2px 0 5px;
	}

	.mc-shop_address {
		font-size: 14px;
		letter-spacing: 0;
		line-height: 1.215;
		margin: 9px 0 -3px;
	}

	.mc-shop_reservation {
		transition: opacity .35s cubic-bezier(.39, .575, .565, 1) 0s;
		display: flex;
		align-items: center;
		justify-content: center;
		height: 48px;
		font-size: 16px;
		font-weight: 700;
		letter-spacing: 0;
		text-decoration: none;
		color: #fff;
		background: var(--secondary-color);
		box-shadow: 0 3px 0 0 var(--secondary-dark-color);
		border-radius: 0.3em;
		padding-bottom: 2px;
		margin: 20px 4px 0 0;
	}

	@media (hover) {
		.mc-shop_reservation:hover {
			opacity: 0.7;
		}
	}

	.mc-shop_map-popup.is_visible {
		width: 345px;
		height: auto;
		background-color: #fff;
		border-radius: 1rem;
		box-shadow: 3px 3px 6px 3px rgba(0, 0, 0, 0.1);
		padding: 12px 18px 15px;
	}

	.mc-shop_map-popup.is_visible::after {
		top: 99.55555%;
		border-left: 8px solid transparent;
		border-right: 8px solid transparent;
		border-top: 8px solid #fff;
	}

	.mc-shop_map-popup.is_visible .details {
		display: flex;
	}

	.mc-shop_map-popup.is_visible .mc-shop_pin-num {
		display: none;
	}

	.mc-shop_map-popup.is_visible .mc-shop_map-popup-close {
		transition: background-color .35s cubic-bezier(.39, .575, .565, 1) 0s;
		position: absolute;
		top: -22px;
		right: -26px;
		width: 26px;
		aspect-ratio: 1/1;
		background: #000;
		color: #fff;
		border-radius: 50%;
		border: 1px solid #fff;
		box-shadow: 0 0 1px rgba(0, 0, 0, 0.25);
	}

	.mc-shop_map-popup.is_visible .mc-shop_map-popup-close:before {
		position: absolute;
		inset: 0;
		display: block;
		content: '';
		width: 16px;
		height: 1px;
		background: #fff;
		border-radius: 10rem;
		margin: auto;
		rotate: -45deg;
	}

	.mc-shop_map-popup.is_visible .mc-shop_map-popup-close:after {
		position: absolute;
		inset: 0;
		display: block;
		content: '';
		width: 16px;
		height: 1px;
		background: #fff;
		border-radius: 10rem;
		margin: auto;
		rotate: 45deg;
	}

	@media (hover) {
		.mc-shop_map-popup.is_visible .mc-shop_map-popup-close:hover {
			background: var(--primary-color);
		}
	}

	.c-shopReservation-popup {
		transition: all .35s cubic-bezier(.39, .575, .565, 1) 0s;
		transition-property: opacity, visibility;
		position: fixed;
		inset: 0;
		display: grid;
		place-items: center;
		padding: 65px 35px;
		z-index: 100005;
		overflow-y: auto;
		overscroll-behavior: none;
		opacity: 0;
		visibility: hidden;
	}

	.c-shopReservation-popup.is-open {
		opacity: 1;
		visibility: visible;
	}

	.c-shopReservation-popup:before {
		position: absolute;
		inset: -1px 0;
		display: block;
		content: '';
		background: rgba(0, 0, 0, 0.4);
		backdrop-filter: blur(2px);
		z-index: -1;
	}

	.c-shopReservation-popup__close {
		transition: opacity .35s cubic-bezier(.39, .575, .565, 1) 0s;
		position: relative;
		display: block;
		width: fit-content;
		font-size: 18px;
		font-family: inherit;
		font-feature-settings: 'palt' on;
		letter-spacing: 0;
		line-height: 1.445;
		color: #fff;
		background: transparent;
		border: none;
		padding-right: 30px;
		margin: 0 0 17px auto;
		cursor: pointer;
	}

	@media (hover) {
		.c-shopReservation-popup__close:hover {
			opacity: 0.7;
		}
	}

	.c-shopReservation-popup__close:before {
		position: absolute;
		inset: 1px 0 0 auto;
		display: block;
		content: '';
		width: 26px;
		height: 1px;
		background: currentColor;
		margin: auto;
		rotate: 45deg;
	}

	.c-shopReservation-popup__close:after {
		position: absolute;
		inset: 1px 0 0 auto;
		display: block;
		content: '';
		width: 26px;
		height: 1px;
		background: currentColor;
		margin: auto;
		rotate: -45deg;
	}

	.c-shopReservation-popup__body {
		position: relative;
		width: 580px;
		background: #fff;
		border-radius: 1rem;
		box-sizing: border-box;
		padding: 52px 28px;
		margin: auto;
		z-index: 1;
	}

	.c-shopReservation-popup__head {
		font-size: 25px;
		font-weight: 700;
		letter-spacing: 0;
		line-height: 1.45;
		text-align: center;
		margin: -10px 0 25px;
	}

	.c-shopReservation-popup__head .name {
		color: var(--primary-color);
	}

	.c-shopReservation-popup__list {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 22px 18px;
	}

	.c-shopReservation-popup__list a {
		display: block;
		font-size: 22px;
		font-weight: 700;
		letter-spacing: 0;
		line-height: 1.45;
		color: #fff;
		text-align: center;
		text-decoration: none;
		text-shadow: 0 0 18px var(--secondary-dark-color);
		background: var(--secondary-color);
		box-shadow: 0 0.2em 0 0 var(--secondary-dark-color);
		border-radius: 0.3em;
		padding: 38px;
	}

	.c-shopReservation-popup__list .icon {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 140px;
		aspect-ratio: 1/1;
		border-radius: 16px;
		background-color: rgba(0, 0, 0, .1);
		background-repeat: no-repeat;
		background-position: center center;
		margin: 0 auto;
	}

	.c-shopReservation-popup__list .app {
		background-image: url('../assets/img/icon/shop_logo.png');
		background-size: contain;
	}

	.c-shopReservation-popup__list .wait {
		background-image: url('../assets/img/icon/ico_line_reservation.svg');
		background-size: 40%;
	}

	.c-shopReservation-popup__list .date {
		background-image: url('../assets/img/icon/ico_date_reservation.svg');
		background-size: 60%;
	}

	.c-shopReservation-popup__list .telephone {
		background-image: url('../assets/img/icon/ico_telephone.svg');
		background-size: 50%;
	}

	.c-shopReservation-popup__list .ttl {
		display: block;
		margin-top: 15px;
	}

	.c-shopReservation-popup__dial {
		text-align: center;
		padding-top: 25px;
		text-decoration: underline;
	}

	@media not all and (min-width: 1024px) {
		.c-shopReservation-popup__list [data-click-reserve="epark"] {
			display: none;
		}
	}
	@media (min-width: 1024px) {
		.c-shopReservation-popup__list [data-click-reserve="app"] {
			display: none !important;
		}
	}

	.c-shopReservation-popup__status {
		padding-top: 22px;
		text-align: center;
		font-weight: 700;
	}

	.c-shopReservation-popup__status .number {
		color: var(--primary-color);
		font-size: 25px;
	}

	.c-shopReservation-popup__reservable {
		text-align: center;
		font-size: 16px;
	}

	/* pc */
	@media (min-width: 1024px) {
		.mc-shop__name .c-hoverLine--text {
			background-image: linear-gradient(currentColor, currentColor);
			color: #1c0f9d !important;
		}

		.mc-shop_map-popup .mc-shop_shop-name .c-hoverLine--text {
			background-image: linear-gradient(currentColor, currentColor);
			color: #1c0f9d !important;
		}
	}
	/* sp */
	@media not all and (min-width: 1024px) {
		.mc-shop {
			border-radius: 2.66667vw;
			padding: 5.06667vw 4vw 8vw;
		}

		.mc-shop__head {
			padding-bottom: 3.73334vw;
		}

		.mc-shop__name {
			font-size: 4.26667vw;
			line-height: 1.4375;
		}

		.mc-shop__name .number {
			top: 0.8vw;
			width: 4.8vw;
			font-size: 3.2vw;
		}

		.mc-shop__name .number:after {
			inset: auto 0 -1.066667vw;
			border-top-width: 1.6vw;
			border-right-width: 0.8vw;
			border-left-width: 0.8vw;
		}

		.mc-shop__name .c-hoverLine {
			padding-left: 6.13334vw;
		}

		.mc-shop__name .c-hoverLine--text {
			color: #1c0f9d !important;
		}

		.mc-shop__details {
			padding-left: 0.266667vw;
			margin-top: 3.46667vw;
		}

		.mc-shop__distance {
			flex-shrink: 0;
			align-items: flex-start;
			padding-left: 3.73334vw;
		}

		.mc-shop__distance:before {
			width: 2.4vw;
			margin-top: 0.266667vw;
		}

		.mc-shop__distance .number {
			font-size: 4.8vw;
		}

		.mc-shop__distance .suffix {
			font-size: 4.26667vw;
			line-height: 1;
			margin-top: 1.066667vw;
		}

		.mc-shop__distance .caption {
			font-size: 2.83334vw;
			line-height: 1;
			padding-top: 1.6vw;
			margin-left: 1.066667vw;
		}

		.mc-shop__waiting {
			font-size: 2.83334vw;
			line-height: 1;
			margin-right: 0;
			margin-top: 1.73334vw;
			display: inline-block;
			padding-left: 1rem;
		}

		.mc-shop__waiting .number {
			font-size: 3.73334vw;
			margin-left: 1.6vw;
		}

		.mc-shop__waiting .caption {
			font-size: 2.83334vw;
			line-height: 1;
		}

		.mc-shop__access {
			font-size: 3.73334vw;
			line-height: 1.215;
			margin: 5.06667vw 0.266667vw 0;
		}

		.mc-shop__business_hour {
			font-size: 3.73334vw;
			padding-top: 4.8vw;
			margin-top: 5.86667vw;
		}

		.mc-shop__foot {
			padding-top: 6.66667vw;
			margin-top: 5.6vw;
		}

		.mc-shop__services {
			gap: 1.33334vw;
		}

		.mc-shop__services-item {
			font-size: 2.66667vw;
			border-radius: 5.33334vw;
			padding: 1.06667vw 2.13334vw 1.33334vw 1.86667vw;
		}

		.mc-shop__equipments {
			gap: 2.66667vw;
			margin-top: 4.266667vw;
		}

		.mc-shop__equipments-item {
			font-size: 3.2vw;
			line-height: 1;
			padding-left: 3.7334vw;
			margin: 0;
		}

		.mc-shop__equipments-item:before {
			top: 0.266667vw;
			width: 2.66667vw;
			border-width: 0.53334vw;
		}

		.mc-shop__reservation {
			font-size: 4.266667vw;
			line-height: 1.25;
			border-radius: 1.333334vw;
			padding: 3.733334vw 0 4.266667vw;
			margin-top: 7.46667vw;
		}

		.mc-shop_map-popup {
			width: 7.2vw;
			height: 7.2vw;
		}

		.mc-shop_map-popup::after {
			border-left-width: 1.06667vw;
			border-right-width: 1.06667vw;
			border-top-width: 2.13334vw;
		}

		.mc-shop_map-popup .icon {
			padding-bottom: 0.53334vw;
		}

		.mc-shop_map-popup .icon svg {
			height: 5.33334vw;
		}

		.mc-shop_map-popup .mc-shop_shop-name {
			font-size: 4.26667vw;
			padding-left: 6.13334vw;
		}

		.mc-shop_map-popup .mc-shop_shop-name .number {
			top: 0.8vw;
			width: 4.8vw;
			font-size: 3.2vw;
		}

		.mc-shop_map-popup .mc-shop_shop-name .number:after {
			inset: auto 0 -1.33334vw;
			border-top-width: 1.6vw;
			border-right-width: 0.8vw;
			border-left-width: 0.8vw;
		}

		.mc-shop_map-popup .mc-shop_shop-name .c-hoverLine {
			color: #1c0f9d !important;
		}

		.mc-shop_map-popup .info {
			padding-top: 1.866667vw;
			margin-top: 2.4vw;
		}

		.mc-shop_map-popup .info .caption {
			bottom: 0.533334vw;
			font-size: 3.2vw;
			margin-left: 1.066667vw;
		}

		.mc-shop_map-popup .distance {
			font-size: 4.266667vw;
			padding-left: 3.73334vw;
		}

		.mc-shop_map-popup .distance:before {
			width: 2.4vw;
		}

		.mc-shop_map-popup .waiting {
			font-size: 3.2vw;
		}

		.mc-shop_map-popup .waiting .number {
			top: 0.266667vw;
			font-size: 4.26667vw;
			margin: 0 0.53334vw 0 1.33334vw;
		}

		.mc-shop_address {
			font-size: 3.73334vw;
			line-height: 1.429;
			margin: 1.866667vw 0 -1.066667vw;
		}

		.mc-shop_reservation {
			height: 13.33334vw;
			font-size: 4.26667vw;
			border-radius: 1.333334vw;
			padding-bottom: 0.53334vw;
			margin: 4.533334vw 0.266667vw 0 0;
		}

		.mc-shop_map-popup.is_visible {
			width: 92vw;
			border-radius: 2.666667vw;
			padding: 2.66667vw 4vw 4vw;
		}

		.mc-shop_map-popup.is_visible .mc-shop_map-popup-close {
			top: -5.555555vw;
			right: -6.666667vw;
			width: 6.933334vw;
		}

		.mc-shop_map-popup.is_visible .mc-shop_map-popup-close:before {
			width: 4.266667vw;
			height: 0.266667vw;
		}

		.mc-shop_map-popup.is_visible .mc-shop_map-popup-close:after {
			width: 4.266667vw;
			height: 0.266667vw;
		}

		.c-shopReservation-popup {
			padding: 26.66667vw 4vw;
		}

		.c-shopReservation-popup__close {
			font-size: 3.2vw;
			line-height: 1.4167;
			padding-right: 4.8vw;
			margin-bottom: 3.2vw;
		}

		.c-shopReservation-popup__close:before {
			width: 3.733334vw;
		}

		.c-shopReservation-popup__close:after {
			width: 3.733334vw;
		}

		.c-shopReservation-popup__wrapper {
			width: 100%;
		}

		.c-shopReservation-popup__body {
			width: auto;
			border-radius: 1.333334vw;
			padding: 5.866667vw 4vw 7.733334vw 4.266667vw;
		}

		.c-shopReservation-popup__head {
			font-size: 4.266667vw;
			line-height: 1.4375;
			margin: 0 0 3.2vw;
		}

		.c-shopReservation-popup__list {
			gap: 2.666667vw;
		}

		.c-shopReservation-popup__list a {
			font-size: 4.8vw;
			line-height: 1.444445;
			border-radius: 1.333334vw;
			padding: 5.6vw 0 5.866667vw;
		}

		.c-shopReservation-popup__list .icon {
			width: 18.666667vw;
		}

		.c-shopReservation-popup__list .ttl {
			margin-top: 1.333334vw;
		}
	}

	/* page--shopDetail */

	#page--shopDetail .c-pageHeader--detail {
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
		gap: 0 2rem;
	}

	.c-pageHeader--research {
		transition: opacity .35s cubic-bezier(.39, .575, .565, 1) 0s;
		flex-shrink: 0;
		display: block;
		width: fit-content;
		font-size: 1.6rem;
		letter-spacing: -0.05em;
		line-height: 1.25;
		text-decoration: none;
		background: #F7F7F7;
		border: 1px solid #E5E5E5;
		border-radius: 0.5rem;
		padding: 0.8rem 1.4rem 1rem;
		margin-top: -0.1rem;
		overflow: hidden;
	}

	@media (hover) {
		.c-pageHeader--research:hover {
			opacity: 0.7;
		}
	}
	/* sp */
	@media not all and (min-width: 1024px) {
		#page--shopDetail .l-newsballoon {
			display: none;
		}

		#page--shopDetail .l-modalTrigger {
			display: none;
		}

		#page--shopDetail .l-bottomNav {
			display: none;
		}

		.c-pageHeader--research {
			display: none;
		}
	}

	/* c-shopDetailNews */

	.c-shopDetailNews {
		font-feature-settings: normal;
		background: #FFFAFA;
		border: 1px solid var(--primary-color);
		border-radius: 0.3em;
		padding: 22px 28px 28px 29px;
		margin: 0 auto;
	}

	.c-shopDetailNews dt {
		font-size: 18px;
		letter-spacing: 0;
		line-height: 1.612;
		font-weight: 700;
		color: var(--primary-color);
	}

	.c-shopDetailNews dd {
		font-size: 16px;
		letter-spacing: 0;
		line-height: 1.625;
		margin-top: 4px;
	}

	/* sp */
	@media not all and (min-width: 1024px) {
		.c-shopDetailNews {
			border-radius: 1.333334vw;
			padding: 3.73334vw 4.8vw 5.86667vw 5.06667vw;
		}

		.c-shopDetailNews dt {
			font-size: 3.73334vw;
			line-height: 1.572;
		}

		.c-shopDetailNews dd {
			font-size: 3.2vw;
			line-height: 1.5834;
			margin-top: 1.6vw;
		}
	}

	/* p-shopDetail */
	.c-pageHeader {
		padding: 60px 4vw 0 4vw;
		max-width: 1224px;
		margin: 0 auto;
	}
	.c-pageHeader--heading {
		font-size: 40px;
	}
	.c-pageHeader--detail {
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
		gap: 0 2rem;
		margin-bottom: 50px;
		padding-bottom: 20px;
		position: relative;
	}
	.c-pageHeader--detail:after {
		background: rgba(0, 0, 0, .1);
		border: none;
		bottom: 0;
		content: " ";
		height: 1px;
		left: 0;
		position: absolute;
		width: 100%;
	}

	.p-shopDetail {
		padding-top: 100px;
		padding-bottom: 100px;
	}

	.p-shopDetail--heading {
		overflow-wrap: anywhere;
	}

	.p-shopDetail--wrapper {
		margin-right: auto;
		margin-left: auto;
	}

	.p-shopDetail--block {
		position: relative;
		display: grid;
		grid-template-columns: auto 75%;
		align-items: start;
		padding: 65px 0 90px;
	}

	.p-shopDetail--block:last-child {
		padding-bottom: 0;
	}

	.p-shopDetail--block:before {
		position: absolute;
		top: -1px;
		left: 0;
		display: block;
		content: '';
		width: 20px;
		height: 2px;
		background: var(--primary-color);
	}

	.p-shopDetail--block:after {
		position: absolute;
		inset: 0 0 auto 30px;
		display: block;
		content: '';
		height: 1px;
		background: rgba(0, 0, 0, 0.1);
	}

	.p-shopDetail--block dt {
		font-size: 30px;
		font-weight: 700;
		font-family: "dnp-shuei-anti-std", "游明朝", "Yu Mincho", yumincho, "Hiragino Mincho Pro", serif;
		letter-spacing: -0.05em;
		line-height: 1.267;
		padding-bottom: 3px;
	}

	.p-shopDetail--block dd {
		font-size: 16px;
		font-feature-settings: normal;
		letter-spacing: 0;
		line-height: 1.625;
		padding-top: 4px;
	}

	.p-shopDetail--flex {
		display: flex;
		flex-wrap: wrap;
		gap: 18px;
		margin-bottom: 20px;
	}

	.p-shopDetail--flex li {
		width: 100%;
		background: url(../assets/img/icon/shop_circle.svg) left center no-repeat;
		padding: 0 0 0 22px;
	}

	.p-shopDetail--flex li.disabled {
		background: url(../assets/img/icon/shop_cross.svg) left center no-repeat;
		color: #aaa;
	}

	.p-shopDetail--deliverys {
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		gap: 1.5rem;
		font-size: 1.4rem;
		font-feature-settings: 'palt' on;
		letter-spacing: 0;
		line-height: 1.5;
		margin-top: 0.3rem;
	}

	.p-shopDetail--deliverys .icon {
		position: relative;
		display: block;
		aspect-ratio: 195/190;
		background-repeat: no-repeat;
		background-position: center;
		margin-bottom: 0.7rem;
	}

	.p-shopDetail--deliverys .icon:before {
		position: absolute;
		inset: 0;
		display: block;
		content: '';
		border: 1px solid #E5E5E5;
		border-radius: 0.8rem;
		z-index: 2;
		pointer-events: none;
	}

	.p-shopDetail--deliverys [data-icon="Uber Eats"] {
		background-size: 86.154% auto;
		background-image: url('../assets/img/icon/shop_icon_ubereats.png');
	}

	.p-shopDetail--deliverys [data-icon="Wolt"] {
		background-size: 68.2052% auto;
		background-image: url('../assets/img/icon/shop_icon_wolt.png');
	}

	.p-shopDetail--deliverys [data-icon="出前館"] {
		background-size: 77.436% auto;
		background-image: url('../assets/img/icon/shop_icon_demaecan.png');
	}

	.p-shopDetail--deliverys [data-icon="menu"] {
		background-size: 85.129% auto;
		background-image: url('../assets/img/icon/shop_icon_menu.png');
	}

	.p-shopDetail--imgs {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 3rem 2.5rem;
	}

	.p-shopDetail--businessHour {
		strong {
			font-weight: normal;
		}
	}

	/* pc */
	@media (min-width: 1024px) {
		.p-shopDetail--reservation {
			position: fixed;
			bottom: 20px;
			right: 20px;
			background: #f7f7f7;
			border-radius: 10px;
			z-index: 10000;
			padding: 16px 22px;
			display: flex;
			flex-flow: column;
			align-items: center;
			min-width: 460px;
		}

		.p-shopDetail--reservationModal {
			display: none;
		}

		.p-shopDetail--reservation .c-buttonBracket {
			display: flex;
			align-items: center;
			justify-content: center;
			gap: 0 10px;
			height: 3vw;
			width: 100%;
			margin: 5px 0;
			font-size: 20px;
			border-radius: 5px;
			box-shadow: 0 3px 0 0 var(--secondary-dark-color);
			text-shadow: 0 0 18px var(--secondary-dark-color);
		}

		.p-shopDetail--reservation__waiting {
			font-size: 13px;
			font-weight: 700;
		}

		.p-shopDetail--reservation__waiting .number {
			color: var(--primary-color);
			font-size: 16px;
		}

		.p-shopDetail--reservation__reservable {
			font-size: 12px;
		}
	}

	.p-shopDetail .c-searchNav {
		margin-top: 10rem;
	}

	.p-shopDetail--block .c-buttonBracket {
		margin-top: 3rem;
		box-shadow: 0 0.3rem 0 0 var(--secondary-dark-color);
		color: #fff;
	}

	.c-buttonBracket {
		background: var(--secondary-color) !important;
		border-color: var(--secondary-color) !important;
		color: #fff;
	}

	.c-buttonBracket .c-bracketIcon:before {
		background: #fff;
	}

	.c-buttonBracket .c-bracketIcon:after {
		transform: scale(1);
	}

	.c-buttonBracket .c-bracketIcon--img {
		content: '';
		display: block;
		width: 1.6rem;
		height: 1.6rem;
		border-radius: 45em;
		background: #fff;
		background-image: url('../assets/img/icon/circle_arrow.svg');
	}

	.p-shopDetail--text {
		margin: 1.7rem 0 0 -0.1rem;
	}

	/* pc */
	@media (min-width: 1024px) {
		.p-shopDetail--wrapper {
			padding-right: 4vw;
			padding-left: 4vw;
			max-width: 1224px;
		}
	}
	/* sp */
	@media not all and (min-width: 1024px) {
		.p-shopDetail {
			padding: 11.2vw 0 13.33334vw;
		}

		.p-shopDetail--wrapper {
			padding-right: 4vw;
			padding-left: 4vw;
		}

		.p-shopDetail--block {
			grid-template-columns: auto 73.9131%;
			padding: 3.73334vw 0 9.333334vw;
		}

		.p-shopDetail--block:before {
			display: none;
		}

		.p-shopDetail--block:after {
			inset: 0 0 auto;
		}

		.p-shopDetail--block.--imgs {
			grid-template-columns: auto;
			gap: 2.66667vw;
		}

		.p-shopDetail--block.--takeout {
			grid-template-columns: auto;
			gap: 2.666667vw;
		}

		.p-shopDetail--block.--delivery {
			grid-template-columns: auto;
			gap: 2.666667vw;
			padding-bottom: 10.933334vw;
		}

		.p-shopDetail--block dt {
			font-size: 3.73334vw;
			letter-spacing: 0;
			line-height: 1.429;
			padding-bottom: 0;
		}

		.p-shopDetail--block dd {
			font-size: 3.73334vw;
			font-feature-settings: 'palt' on;
			line-height: 1.5;
			padding: 0;
		}

		.p-shopDetail--subTitle {
			font-size: 3.73334vw;
			font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Helvetica Neue", arial, meiryo, sans-serif;
			font-weight: 400;
			letter-spacing: 0;
			line-height: 1.5;
			background: transparent;
			padding: 0 0 0 0.266667vw;
			margin-top: 0;
		}

		.p-shopDetail--subTitle:before {
			display: none;
		}

		.p-shopDetail--subTitle:after {
			display: none;
		}

		.p-shopDetail--deliverys {
			grid-template-columns: repeat(2, 1fr);
			gap: 5.6vw 2.666667vw;
			font-size: 2.666667vw;
			margin: 0 0.2666667vw 0 0;
		}

		.p-shopDetail--deliverys .icon {
			aspect-ratio: 167/82;
			margin-bottom: 0.533334vw;
		}

		.p-shopDetail--deliverys .icon:before {
			border-radius: 1.333334vw;
		}

		.p-shopDetail--deliverys [data-icon="UberEats"] {
			background-size: 43.114% auto;
		}

		.p-shopDetail--deliverys [data-icon="Wolt"] {
			background-size: 34.132% auto;
		}

		.p-shopDetail--deliverys [data-icon="出前館"] {
			background-size: 38.623% auto;
		}

		.p-shopDetail--deliverys [data-icon="menu"] {
			background-size: 42.515% auto;
		}

		.p-shopDetail--imgs {
			grid-template-columns: auto;
			gap: 5.333334vw;
		}

		.p-shopDetail--reservation {
			position: fixed;
			inset: auto 0 0;
			display: block;
			background: #F7F7F7;
			padding: 2.133334vw 4vw 5.333334vw;
			filter: drop-shadow(0 -2px 4px rgba(0, 0, 0, 0.1));
			z-index: 100000;
		}

		.p-shopDetail--reservation__waiting {
			font-size: 3.733334vw;
			letter-spacing: 0;
			line-height: 1;
			text-align: center;
			margin-bottom: 2.4vw;
		}

		.p-shopDetail--reservation__waiting .number {
			font-size: 4.266667vw;
			font-weight: 700;
			letter-spacing: 0;
			color: var(--primary-color);
		}

		.p-shopDetail--reservation .c-buttonBracket {
			display: flex;
			justify-content: center;
			align-items: center;
			font-size: 4.533334vw;
			border-radius: 0.3em;
			box-shadow: 0 0.3rem 0 0 var(--secondary-dark-color);
		}

		.p-shopDetail--reservation__reservable {
			font-size: 1.5rem;
			padding-top: .5rem;
			text-align: center;
		}

		.p-shopDetail--reservationModal {
			transition: all .35s cubic-bezier(.39, .575, .565, 1) 0s;
			transition-property: opacity, visibility;
			position: fixed;
			inset: 0;
			display: grid;
			place-items: center;
			padding: 26.66667vw 4vw;
			z-index: 100005;
			overflow-y: auto;
			overscroll-behavior: none;
			opacity: 0;
			visibility: hidden;
		}

		.p-shopDetail--reservationModal.is-open {
			opacity: 1;
			visibility: visible;
		}

		.p-shopDetail--reservationModal:before {
			position: absolute;
			inset: -1px 0;
			display: block;
			content: '';
			background: rgba(0, 0, 0, 0.4);
			backdrop-filter: blur(2px);
			z-index: -1;
		}

		.p-shopDetail--reservationModal__wrapper {
			width: 100%;
		}

		.p-shopDetail--reservationModal__close {
			position: relative;
			display: block;
			width: fit-content;
			font-size: 3.2vw;
			font-family: inherit;
			font-feature-settings: 'palt' on;
			letter-spacing: 0;
			line-height: 1.4167;
			color: #fff;
			background: transparent;
			border: none;
			padding-right: 4.8vw;
			margin: 0 0 3.2vw auto;
			cursor: pointer;
		}

		.p-shopDetail--reservationModal__close:before {
			position: absolute;
			inset: 1px 0 0 auto;
			display: block;
			content: '';
			width: 3.733334vw;
			height: 1px;
			background: currentColor;
			margin: auto;
			rotate: 45deg;
		}

		.p-shopDetail--reservationModal__close:after {
			position: absolute;
			inset: 1px 0 0 auto;
			display: block;
			content: '';
			width: 3.733334vw;
			height: 1px;
			background: currentColor;
			margin: auto;
			rotate: -45deg;
		}

		.p-shopDetail--reservationModal__body {
			position: relative;
			background: #fff;
			border-radius: 1.333334vw;
			padding: 5.866667vw 4vw 7.733334vw 4.266667vw;
			z-index: 1;
		}

		.p-shopDetail--reservationModal__title {
			font-size: 4.266667vw;
			font-weight: 700;
			letter-spacing: 0;
			line-height: 1.4375;
			text-align: center;
			margin: 0 0 3.2vw;
		}

		.p-shopDetail--reservationModal__title .name {
			color: var(--primary-color);
		}

		.p-shopDetail--reservationModal__items {
			display: grid;
			grid-template-columns: repeat(2, 1fr);
			gap: 2.666667vw;
		}

		.p-shopDetail--reservationModal__items a {
			display: block;
			font-size: 4.8vw;
			font-weight: 700;
			letter-spacing: 0;
			line-height: 1.444445;
			color: #fff;
			text-align: center;
			text-decoration: none;
			background: var(--secondary-color);
			border-radius: 1.333334vw;
			box-shadow: 0 0.3rem 0 0 var(--secondary-dark-color);
			padding: 5.6vw 0 5.866667vw;
		}

		.p-shopDetail--reservationModal__items .icon {
			display: block;
			width: 18.666667vw;
			aspect-ratio: 1/1;
			background-repeat: no-repeat;
			background-size: contain;
			margin: 0 auto;
		}

		.p-shopDetail--reservationModal__items .app {
			background-image: url('../assets/img/icon/shop_logo.png');
		}

		.p-shopDetail--reservationModal__items .wait {
			background-image: url('../assets/img/icon/shop_wait.png');
		}

		.p-shopDetail--reservationModal__items .date {
			background-image: url('../assets/img/icon/shop_date.png');
		}

		.p-shopDetail--reservationModal__items .telephone {
			background-image: url('../assets/img/icon/ico_telephone.svg');
		}

		.p-shopDetail--reservationModal__items .ttl {
			display: block;
			margin-top: 1.333334vw;
		}

		.p-shopDetail .c-searchNav {
			padding-bottom: 0;
			margin-top: 10.66667vw;
		}

		.p-shopDetail .c-recommendMenu {
			margin-top: 13.33334vw;
		}

		.p-shopDetail--block .c-buttonBracket {
			margin-top: 3.466667vw;
		}

		.c-buttonBracket {
			width: 100%;
			height: 13.33334vw;
			font-size: 4.266667vw;
		}

		.c-buttonBracket .c-bracketIcon--img {
			background-image: url('../assets/img/icon/circle_arrow.svg');
			width: 4.2666666667vw;
			height: 4.2666666667vw;
			z-index: 1;
		}

		.p-shopDetail--text {
			margin: 2.4vw 0 0 0.2666667vw;
		}
	}
}