﻿@charset "utf-8";

#header_ > nav ul.main > li.where-to-buy > a::after {
    background-color: #036248;
}

.main-shop-list {
	--sp-rem: calc(320 / 375); /* 375px基準のrem値を320px基準(実サイト)に換算する比率 */

	text-align: left;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
	.main-shop-list {
	}
}

.main-shop-list__header {
	padding: 70px 0 40px;
	font-size: 1.4rem;
	text-align: center;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
	.main-shop-list__header {
		padding: 2.8rem 0;
		font-size: 1.2rem;
		font-size: 3.75vw;
	}
}

.main-shop-list__title {
	position: relative;
	font-size: 2.8rem;
	font-weight: 900;
	text-align: center;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
	.main-shop-list__title {
		font-size: 1.6rem;
		font-size: 5vw;
	}
}

.main-shop-list__notes {
	margin: 0 0 7.2rem;
	padding: 3rem 4rem;
	background: #f2f2f2;
	letter-spacing: .02em;
	font-feature-settings: normal;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-style: normal;
	line-height: 2;
	letter-spacing: .06em;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
	.main-shop-list__notes {
		padding: calc(1.4 * var(--sp-rem) * 1rem) calc(2 * var(--sp-rem) * 1rem);
	}
}
.main-shop-list__notes-title {
	color: rgba(51, 51, 51, 0.501961);
	font-size: 1.3rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
	.main-shop-list__notes-title {
		font-size: calc(1.2 * var(--sp-rem) * 1rem);
	}
}
.main-shop-list__notes-list {
	margin: .8rem 0 0;
	padding: 0;
	list-style: none;
	font-size: 1.3rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
	.main-shop-list__notes-list {
		font-size: calc(1.1 * var(--sp-rem) * 1rem);
	}
}
.main-shop-list__notes-list > li {
	text-indent: -1.4em;
	padding-left: 1.4em;
}
.main-shop-list__notes-list > li::before {
	content: "・ ";
}

.main-shop-list__filters {
	display: grid;
	grid-template-columns: 1fr 43rem 8.4rem;
	gap: 2.8rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
	.main-shop-list__filters {
		grid-template: "area area" "search nearby"/auto calc(6.8 * var(--sp-rem) * 1rem);
		gap: calc(2 * var(--sp-rem) * 1rem) calc(1.5 * var(--sp-rem) * 1rem);
		margin: calc(4 * var(--sp-rem) * 1rem) 0 0;
	}
}
.main-shop-list__filter-group {
	display: grid;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
	.main-shop-list__filter-group {
		height: calc(4.8 * var(--sp-rem) * 1rem);
	}
}
.main-shop-list__filter-area {
	display: grid;
	gap: 1.6rem;
	grid-template-columns: repeat(2, 1fr);
}
@media screen and (orientation: portrait) and (max-width: 767px) {
	.main-shop-list__filter-area {
		grid-area: area;
	}
}
.main-shop-list__filter-item {
	display: grid;
	border: solid rgba(51, 51, 51, 0.121569);
	border-width: 0 0 1px;
}
.main-shop-list__filter-select {
	border-width: 0;
	border-radius: 0;
	font-family: inherit;
	font-size: 1.4rem;
	background-color: #fff;
	color: inherit;
	cursor: pointer;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
	.main-shop-list__filter-select {
		font-size: calc(1.2 * var(--sp-rem) * 1rem);
	}
}
.main-shop-list__filter-select:focus,
.main-shop-list__filter-select:active,
.main-shop-list__filter-select:focus-visible {
	outline: none;
	box-shadow: none;
	border-color: #ddd;
}
.main-shop-list__filter-search {
	position: relative;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
	.main-shop-list__filter-search {
		grid-area: search;
	}
}
.main-shop-list__search-input {
	padding: 0 2rem;
	padding-right: 7rem;
	border-width: 0;
	border-radius: 0;
	background-color: #f6f6f6;
	font-size: 1.4rem;
}
.main-shop-list__search-input::-webkit-search-decoration,
.main-shop-list__search-input::-webkit-search-cancel-button,
.main-shop-list__search-input::-webkit-search-results-button,
.main-shop-list__search-input::-webkit-search-results-decoration {
	-webkit-appearance: none;
}
.main-shop-list__search-input::-ms-clear {
	display: none;
	width: 0;
	height: 0;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
	.main-shop-list__search-input {
		font-size: calc(1.3 * var(--sp-rem) * 1rem);
	}
}
.main-shop-list__search-input:focus,
.main-shop-list__search-input:active,
.main-shop-list__search-input:focus-visible {
	outline: none;
	box-shadow: none;
	border-color: #ddd;
}
.main-shop-list__search-clear {
	aspect-ratio: 1/1;
	display: none;
	align-items: center;
	justify-content: center;
	position: absolute;
	right: 3.6rem;
	top: 0;
	height: 100%;
	padding: 0;
	border: none;
	background: rgba(0, 0, 0, 0);
	color: rgba(51, 51, 51, 0.501961);
	cursor: pointer;
}
.main-shop-list__search-clear.is-visible {
	display: flex;
}
.main-shop-list__search-clear-icon {
	display: block;
	width: 40%;
	height: 40%;
}
.main-shop-list__search-icon {
	width: 2rem;
	height: auto;
	position: absolute;
	right: 1.8rem;
	top: 0;
	bottom: 0;
	margin: auto;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
	.main-shop-list__filter-nearby {
		grid-area: nearby;
	}
}
.main-shop-list__nearby-btn {
	display: block;
	padding: 0;
	border: none;
	background: rgba(0, 0, 0, 0);
	color: inherit;
	font-size: 1.2rem;
	font-style: normal;
	line-height: 1.2;
	text-align: center;
	white-space: nowrap;
	cursor: pointer;
	transition: opacity 1.2s cubic-bezier(0.36, 0, 0, 1);
}
@media screen and (min-width: 768px) {
	.main-shop-list__nearby-btn:hover {
		opacity: .6;
		transition-duration: .4s;
	}
}
@media screen and (orientation: portrait) and (max-width: 767px) {
	.main-shop-list__nearby-btn {
		font-size: calc(1 * var(--sp-rem) * 1rem);
	}
}
.main-shop-list__nearby-btn:disabled {
	color: rgba(255, 255, 255, 0.34902);
	cursor: not-allowed;
}
.main-shop-list__nearby-icon {
	display: block;
	width: auto;
	height: 2rem;
	margin: 0 auto 1rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
	.main-shop-list__nearby-icon {
		margin: 0 auto calc(.8 * var(--sp-rem) * 1rem);
	}
}
.main-shop-list__message {
	grid-column: 1/-1;
	text-align: center;
	padding: 10rem 2rem;
	font-size: 1.6rem;
	line-height: 1.5;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
	.main-shop-list__message {
		grid-column: none;
		font-size: calc(1.4 * var(--sp-rem) * 1rem);
	}
}

.main-shop-list__status {
	display: flex;
	align-items: center;
	gap: 1.2rem;
	margin: 8.2rem 0 0;
	color: rgba(51, 51, 51, 0.8);
	font-feature-settings: "halt" on;
	font-size: 1.2rem;
	font-style: normal;
	line-height: 2;
	letter-spacing: .06em;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
	.main-shop-list__status {
		grid-column: none;
		margin: calc(4 * var(--sp-rem) * 1rem) 0 0;
		font-size: calc(1.1 * var(--sp-rem) * 1rem);
		line-height: 1;
	}
}
.main-shop-list__found {
	display: block;
	font-weight: inherit;
}
.main-shop-list__clear-btn {
	padding: 0;
	border: none;
	background: rgba(0, 0, 0, 0);
	color: rgba(51, 51, 51, 0.501961);
	font-size: inherit;
	text-decoration: underline;
	cursor: pointer;
}
.main-shop-list__clear-btn:hover {
	opacity: 1;
}
@media screen and (orientation: landscape) and (max-width: 767px), screen and (min-width: 768px) {
	.main-shop-list__clear-btn:hover {
		opacity: .6;
		transition-duration: .4s;
	}
}

.main-shop-list__entries {
	display: block;
}

.main-shop-list__area1 {
	display: grid;
	gap: 7.6rem;
	margin: 7.2rem 0 0;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
	.main-shop-list__area1 {
		gap: 4rem;
		margin: calc(6.4 * var(--sp-rem) * 1rem) 0 0;
	}
}

.main-shop-list__area1-title {
	font-feature-settings: "halt" on;
	font-size: 2rem;
	font-style: normal;
	line-height: 2;
	letter-spacing: .06em;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
	.main-shop-list__area1-title {
		font-size: calc(1.6 * var(--sp-rem) * 1rem);
	}
}

.main-shop-list__area2 {
	grid-column: 1/-1;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2.8rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
	.main-shop-list__area2 {
		grid-template-columns: 1fr;
	}
}

.main-shop-list__area2-title {
	grid-column: 1/-1;
	padding: 0 0 1.2rem;
	border-bottom: 1px solid rgba(51, 51, 51, 0.121569);
	font-feature-settings: "halt" on;
	font-size: 1.5rem;
	font-style: normal;
	line-height: 2;
	letter-spacing: .06em;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
	.main-shop-list__area2-title {
		margin: 0;
		padding: 0 0 calc(.8 * var(--sp-rem) * 1rem);
		font-size: calc(1.5 * var(--sp-rem) * 1rem);
		line-height: 1.6;
	}
}
.main-shop-list__area3-title {
	grid-column: 1/-1;
	display: flex;
	margin: 0 0 1rem;
	color: rgba(51, 51, 51, 0.501961);
	font-feature-settings: "halt" on;
	font-size: 1.4rem;
	font-style: normal;
	line-height: 2;
	letter-spacing: .06em;
}
.main-shop-list__area3-title::before,
.main-shop-list__area3-title::after {
	display: inline-block;
}
.main-shop-list__area3-title::before,
html:lang(ja) .main-shop-list__area3-title::before {
	content: "〈";
}
.main-shop-list__area3-title::after,
html:lang(ja) .main-shop-list__area3-title:after {
	content: "〉";
}
@media screen and (orientation: portrait) and (max-width: 767px) {
	.main-shop-list__area3-title {
		font-size: calc(1.3 * var(--sp-rem) * 1rem);
	}
}
@media screen and (orientation: portrait) and (max-width: 767px) {
	.main-shop-list__area3-title {
		margin: 0;
	}
}
.main-shop-list__item {
	display: block;
}

.main-shop-list__area3 {
	grid-column: 1/-1;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2.8rem;
	margin: 1.6rem 0 0;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
	.main-shop-list__area3 {
		grid-template-columns: 1fr;
		margin: calc(1.6 * var(--sp-rem) * 1rem) 0 0;
	}
}
.main-shop-list__area3-title {
	grid-column: 1/-1;
	margin: 0 0 .4rem;
	color: rgba(51, 51, 51, 0.501961);
	font-feature-settings: "halt" on;
	font-size: 1.5rem;
	font-style: normal;
	line-height: 1.8;
	letter-spacing: .06em;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
	.main-shop-list__area3-title {
		font-size: calc(1.5 * var(--sp-rem) * 1rem);
	}
}
.shop-card {
	display: flex;
	flex-direction: column;
	font-feature-settings: "halt" on;
	font-style: normal;
	letter-spacing: .06em;
}
.shop-card__distance {
	display: block;
	align-self: flex-start;
	margin: 0 0 .4rem;
	padding: 0 .6rem;
	border: 1px solid rgba(51, 51, 51, 0.121569);
	font-feature-settings: "halt" on;
	font-family: YakuHanJP,avenir-next-lt-pro,"MFW-YuGoPr6N-Medium",sans-serif;
	letter-spacing: .02em;
	font-feature-settings: normal;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-size: 1.2rem;
	letter-spacing: .02em;
	line-height: 1.5;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
	.shop-card__distance {
		margin: 0 0 calc(.6 * var(--sp-rem) * 1rem);
		font-size: calc(1.1 * var(--sp-rem) * 1rem);
	}
}
.shop-card__name {
	display: grid;
	gap: 0.5rem;
	margin: 0;
	font-size: 1.6rem;
	line-height: 2;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
	.shop-card__name {
		font-size: calc(1.4 * var(--sp-rem) * 1rem);
	}
}
.shop-card__name-en {
	display: block;
	line-height: 1.5;
}
.shop-card__name-og {
	display: block;
	font-size: 1.4rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
	.shop-card__name-og {
		font-size: calc(1.2 * var(--sp-rem) * 1rem);
	}
}
.shop-card__name-en + .shop-card__name-og {
	margin-top: -0.4rem;
}
.shop-card__address {
	display: block;
	margin: 0;
	font-size: 1.3rem;
	line-height: 1.8;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
	.shop-card__address {
		font-size: calc(1.2 * var(--sp-rem) * 1rem);
	}
}
.shop-card__address > p {
	margin: 0;
}
.shop-card__links {
	display: flex;
	align-items: center;
	gap: .8rem;
	margin: .4rem 0 0;
	color: rgba(51, 51, 51, 0.8);
	font-family: YakuHanJP,avenir-next-lt-pro,"MFW-YuGoPr6N-Medium",sans-serif;
	letter-spacing: .02em;
	font-feature-settings: normal;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-size: 1.2rem;
	font-style: normal;
	line-height: 2;
	letter-spacing: .06em;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
	.shop-card__links {
		font-size: calc(1.2 * var(--sp-rem) * 1rem);
	}
}
.shop-card__links a {
	display: flex;
	align-items: center;
	color: currentColor;
	text-decoration: underline;
	text-decoration-thickness: .5px;
}
.shop-card__links a:hover {
	text-decoration: none;
}
.shop-card__links-icon {
	width: auto;
	height: 1.2em;
	margin: 0 0 0 .5em;
}

html:lang(ja) .shop-card[data-country=jp] .shop-card__name-en,
html:lang(ja) .shop-card[data-country=jp] .shop-card__address-en {
	display: none;
}

.shop-card .shop-card__name > *:first-child:last-child,
.shop-card .shop-card__address > *:first-child:last-child,
html:lang(ja) .shop-card[data-country=jp] .shop-card__name-og {
	display: block;
	font-size: inherit;
}
