@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@300;400;500;700;900&display=swap");
/*----------------------------------------
  利用できる店舗ページ
----------------------------------------*/
.p-shop {
  padding: 0 0 min(11.1111111111vw, 160px);
}
@media (max-width: 767px) {
  .p-shop {
    padding: 0 0 min(20.5128205128vw, 80px);
  }
}
.p-shop__lead {
  margin: min(1.3888888889vw, 20px) 0 min(2.0833333333vw, 30px);
  font-size: min(1.25vw, 18px);
  font-weight: 500;
  text-align: center;
}
@media (max-width: 767px) {
  .p-shop__lead {
    margin: 1em 0 1.5em;
    font-size: min(3.8461538462vw, 15px);
  }
}

/* 検索フォーム
----------------------------------------*/
.p-shop-form {
  padding: min(3.4722222222vw, 50px) min(5.5555555556vw, 80px) min(2.0833333333vw, 30px);
  border-radius: min(1.3888888889vw, 20px);
  color: inherit;
  color: #212121;
  background: #DAEDDA;
}
@media (max-width: 767px) {
  .p-shop-form {
    padding: min(6.4102564103vw, 25px) min(5.1282051282vw, 20px) min(5.1282051282vw, 20px);
    border-radius: min(3.8461538462vw, 15px);
  }
}
.p-shop-form__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: min(4.1666666667vw, 60px) min(1.6666666667vw, 24px);
}
@media (max-width: 767px) {
  .p-shop-form__grid {
    grid-template-columns: auto;
    gap: min(7.6923076923vw, 30px);
  }
}
.p-shop-form__grid > *:first-child,
.p-shop-form__grid > *:nth-child(2) {
  grid-column: span 2;
}
@media (max-width: 767px) {
  .p-shop-form__grid > *:first-child,
  .p-shop-form__grid > *:nth-child(2) {
    grid-column: auto;
  }
}
.p-shop-form__title {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 0.5em;
  margin-bottom: 1em;
  padding: 0.5em 1em;
  border-radius: 5px;
  font-size: 1.25em;
  font-weight: bold;
  color: #fff;
  background: var(--color-main);
}
.p-shop-form__title::before {
  content: "";
  width: 0.8em;
  height: 0.8em;
}
.p-shop-form__item[data-form-group=keyword] .p-shop-form__title::before {
  background: url(../images/shop/icon_shop.svg) no-repeat center/contain;
}
.p-shop-form__item[data-form-group=area] .p-shop-form__title::before {
  background: url(../images/shop/icon_pin.svg) no-repeat center/contain;
}
.p-shop-form__item[data-form-group=category] .p-shop-form__title::before {
  background: url(../images/shop/icon_tag.svg) no-repeat center/contain;
}
.p-shop-form__item[data-form-group=payment] .p-shop-form__title::before {
  background: url(../images/shop/icon_yen.svg) no-repeat center/contain;
}
.p-shop-form__keyword {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: min(1.3888888889vw, 20px);
  margin-top: min(2.7777777778vw, 40px);
}
@media (max-width: 767px) {
  .p-shop-form__keyword {
    grid-template-columns: auto;
    gap: min(2.5641025641vw, 10px);
    margin-top: 1.5em;
  }
}
.p-shop-form__keyword input[type=text] {
  padding: 0.6875em 1.25em;
  border-radius: 0.3125em;
  width: 100%;
  font: inherit;
  font-size: 16px;
  line-height: 1.5;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.2);
}
.p-shop-form__keyword input[type=text]::-moz-placeholder {
  color: rgba(0, 0, 0, 0.4);
}
.p-shop-form__keyword input[type=text]::placeholder {
  color: rgba(0, 0, 0, 0.4);
}
@media (max-width: 767px) {
  .p-shop-form__keyword input[type=text]::-moz-placeholder {
    font-size: min(3.3333333333vw, 13px);
  }
  .p-shop-form__keyword input[type=text]::placeholder {
    font-size: min(3.3333333333vw, 13px);
  }
}
.p-shop-form__areaWrap {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: min(2.7777777778vw, 40px);
}
@media (max-width: 767px) {
  .p-shop-form__areaWrap {
    grid-template-columns: auto;
    gap: 1em;
  }
}
.p-shop-form__area-title {
  margin-bottom: 0.7777777778em;
  padding: 0.5555555556em 0;
  font-size: 1.125em;
  font-weight: bold;
  color: var(--color-main);
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.p-shop-form__list {
  display: flex;
  flex-wrap: wrap;
  line-height: 1;
  -moz-column-gap: 1.125em;
       column-gap: 1.125em;
}
@media (max-width: 767px) {
  .p-shop-form__list {
    -moz-column-gap: 2em;
         column-gap: 2em;
  }
}
.p-shop-form__list.--grid {
  display: grid;
  grid-template-columns: auto auto;
  -moz-column-gap: 1.125em;
       column-gap: 1.125em;
}
@media (max-width: 767px) {
  .p-shop-form__list.--grid {
    grid-template-columns: auto auto auto;
  }
}
.p-shop-form__list li label {
  display: flex;
  align-items: center;
  gap: 0.5em;
  padding: 0.625em 0;
  font-weight: 500;
  cursor: pointer;
}
.p-shop-form__list li label input[type=checkbox] {
  width: 1.25em;
  height: 1.25em;
}
.p-shop-form__list li label:has(.p-shop-form__app) {
  flex-direction: column;
  padding: min(0.6944444444vw, 10px) min(1.0416666667vw, 15px);
}
@media (max-width: 767px) {
  .p-shop-form__list li label:has(.p-shop-form__app) {
    padding: 0;
  }
}
.p-shop-form__app {
  width: min(5.5555555556vw, 80px);
  text-align: center;
}
@media (max-width: 767px) {
  .p-shop-form__app {
    width: min(14.358974359vw, 56px);
  }
}
.p-shop-form__app span {
  font-size: 0.625em;
}
.p-shop-form__action {
  padding-top: min(2.0833333333vw, 30px);
  margin-top: min(2.0833333333vw, 30px);
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}
@media (max-width: 767px) {
  .p-shop-form__action {
    margin-top: min(5.1282051282vw, 20px);
    padding-top: min(5.1282051282vw, 20px);
  }
}
.p-shop-form__search.c-button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5555555556em;
  min-width: min(20vw, 288px);
  height: min(4.8611111111vw, 70px);
  font-size: min(1.25vw, 18px);
}
@media (max-width: 767px) {
  .p-shop-form__search.c-button {
    min-width: min(61.5384615385vw, 240px);
    height: min(12.8205128205vw, 50px);
    font-size: min(3.8461538462vw, 15px);
  }
}
.p-shop-form__search.c-button::after {
  width: 1.3333333333em;
  aspect-ratio: 1/1;
  content: "";
  background: currentColor;
  -webkit-mask: url(../images/shop/icon_search.svg) no-repeat center/contain;
          mask: url(../images/shop/icon_search.svg) no-repeat center/contain;
}
.p-shop-form__reset {
  min-width: min(20vw, 288px);
  font-weight: bold;
  line-height: 1.8;
  text-decoration: underline;
  color: var(--color-main);
}
@media (max-width: 767px) {
  .p-shop-form__reset {
    min-width: min(61.5384615385vw, 240px);
  }
}
.p-shop-form__reset:hover {
  opacity: 0.7;
}

/* 店舗一覧（検索結果）
----------------------------------------*/
.p-shop-result {
  padding: min(5.5555555556vw, 80px) 0 0;
}
@media (max-width: 767px) {
  .p-shop-result {
    padding: min(15.3846153846vw, 60px) 0 0;
  }
}
.p-shop-result__count {
  margin-bottom: 1.125em;
}
.p-shop-result__count b {
  font-weight: 500;
}
.p-shop-result__text {
  margin: 1.1111111111em 0;
  font-size: 1.125em;
  font-weight: 500;
  text-align: center;
}
.p-shop-result__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5em;
}
@media (max-width: 767px) {
  .p-shop-result__list {
    grid-template-columns: auto;
  }
}

.p-shop-card {
  padding: min(2.0833333333vw, 30px) min(2.7777777778vw, 40px);
  border-radius: min(1.3888888889vw, 20px);
  background: #fff;
  box-shadow: 0 min(0.2777777778vw, 4px) min(0.2777777778vw, 4px) rgba(0, 0, 0, 0.1);
}
@media (max-width: 767px) {
  .p-shop-card {
    border-radius: min(3.8461538462vw, 15px);
    padding: min(3.8461538462vw, 15px) min(5.1282051282vw, 20px);
  }
}
.p-shop-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.625em;
}
.p-shop-card__tags li {
  padding: 0.2em 1em;
  font-size: 0.875em;
  font-weight: bold;
  border: 1px solid;
}
.p-shop-card__area {
  color: var(--color-main);
}
.p-shop-card__category {
  color: var(--color-action);
}
.p-shop-card__name {
  margin-top: 0.8em;
  padding-left: 1.3em;
  padding-bottom: 0.4em;
  border-left: 0.3em solid var(--color-main);
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  font-size: 1.25em;
  font-weight: bold;
  line-height: 1.6;
}
.p-shop-card__data {
  margin-top: 1.5em;
}
.p-shop-card__data-item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1em;
}
.p-shop-card__data-item:has(.p-shop-card__payment) {
  align-items: center;
}
.p-shop-card__data-item:not(:first-of-type) {
  margin-top: 1em;
}
.p-shop-card__data dt {
  font-weight: bold;
  line-height: 1.8;
  color: var(--color-main);
}
.p-shop-card__data dd p {
  font-size: 0.9375em;
  line-height: 1.8;
}
.p-shop-card__payment {
  display: flex;
  gap: 0.5em;
}
.p-shop-card__payment li {
  padding: min(0.3472222222vw, 5px);
  width: min(3.4722222222vw, 50px);
}
@media (max-width: 767px) {
  .p-shop-card__payment li {
    padding: 0;
    width: min(9.4871794872vw, 37px);
  }
}

/* ページネーション
----------------------------------------*/
.p-shop-pagination {
  margin-top: min(4.8611111111vw, 70px);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: min(1.0416666667vw, 15px);
}
@media (max-width: 767px) {
  .p-shop-pagination {
    margin-top: min(8.9743589744vw, 35px);
    gap: min(2.5641025641vw, 10px);
  }
}
.p-shop-pagination__numbers {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: min(1.0416666667vw, 15px);
}
@media (max-width: 767px) {
  .p-shop-pagination__numbers {
    gap: min(2.5641025641vw, 10px);
  }
}
.p-shop-pagination__page, .p-shop-pagination__current {
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: min(3.1944444444vw, 46px);
  height: min(3.1944444444vw, 46px);
  font-weight: 500;
  line-height: 1;
  text-align: center;
  color: var(--color-main);
  border: 1px solid var(--color-main);
  transition: color 0.3s, background-color 0.3s;
}
@media (max-width: 767px) {
  .p-shop-pagination__page, .p-shop-pagination__current {
    width: min(9.2307692308vw, 36px);
    height: min(9.2307692308vw, 36px);
  }
}
.p-shop-pagination__page:hover, .p-shop-pagination__current:hover {
  color: #fff;
  background: var(--color-main);
}
.p-shop-pagination__current {
  color: #fff;
  background: var(--color-main);
}
.p-shop-pagination__dots {
  font-weight: 500;
  line-height: 1;
  text-align: center;
  vertical-align: middle;
  color: var(--color-main);
}
.p-shop-pagination__prev, .p-shop-pagination__next {
  display: flex;
  align-items: center;
  gap: 0.5em;
  padding: 0.5em 1em;
  font-weight: 500;
  --color-current: var(--color-text);
  color: var(--color-current);
  transition: color 0.3s;
}
.p-shop-pagination__prev::before, .p-shop-pagination__prev::after, .p-shop-pagination__next::before, .p-shop-pagination__next::after {
  flex-shrink: 0;
  width: 1em;
  height: 1em;
  background: var(--color-current);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  transition: background-color 0.3s;
}
.p-shop-pagination__prev:hover, .p-shop-pagination__next:hover {
  --color-current: var(--color-main);
}
.p-shop-pagination__prev:disabled, .p-shop-pagination__next:disabled {
  opacity: 0.3;
  pointer-events: none;
}
.p-shop-pagination__prev::before {
  content: "";
  -webkit-mask-image: url(../images/shop/icon_prev.svg);
          mask-image: url(../images/shop/icon_prev.svg);
}
.p-shop-pagination__next::after {
  content: "";
  -webkit-mask-image: url(../images/shop/icon_next.svg);
          mask-image: url(../images/shop/icon_next.svg);
}

/* ページトップボタン
----------------------------------------*/
.p-shop-pageTop {
  position: fixed;
  bottom: min(1.0416666667vw, 15px);
  right: min(1.0416666667vw, 15px);
  display: flex;
  justify-content: center;
  align-items: center;
  width: min(3.0555555556vw, 44px);
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: var(--color-main);
  opacity: 0;
  visibility: hidden;
  transition: background-color 0.3s, opacity 0.3s, visibility 0.3s;
}
@media (max-width: 767px) {
  .p-shop-pageTop {
    bottom: min(2.5641025641vw, 10px);
    right: min(2.5641025641vw, 10px);
    width: min(10.2564102564vw, 40px);
  }
}
.p-shop-pageTop img {
  width: 54.5454545455%;
  margin-top: 10%;
}
.p-shop-pageTop:hover {
  background: rgb(10.1906779661, 82.3093220339, 69.7669491525);
}/*# sourceMappingURL=shop.css.map */