/* /cafe/shop/_shop.scss
-------------------------------------------------- */
/* setting/_extend.scss
-------------------------------------------------- */
/* setting/_keyframe.scss
-------------------------------------------------- */
@keyframes logo-slider {
  0% {
    transform: translate(-33.33333%);
  }
  100% {
    transform: translate(-66.66666%);
  }
}
@keyframes arrow {
  0% {
    transform: translate3d(0, 0, 0);
  }
  49% {
    transform: translate3d(100%, 0, 0);
  }
  50% {
    transform: translate3d(100%, 0, 0);
    visibility: hidden;
  }
  51% {
    transform: translate3d(-100%, 0, 0);
    visibility: hidden;
  }
  52% {
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }
  100% {
    transform: translate3d(0, 0, 0);
  }
}
@keyframes shapeBg {
  0% {
    transform: translate(-50%, -50%) scale(1);
  }
  25% {
    transform: translate(-50%, -50%) scale(0.95);
  }
  50% {
    transform: translate(-50%, -50%) scale(1.1);
  }
  75% {
    transform: translate(-50%, -50%) scale(0.95);
  }
  100% {
    transform: translate(-50%, -50%) scale(1);
  }
}
@keyframes scaleIn {
  0% {
    transform: scale(1.075);
  }
  to {
    transform: scale(1);
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.shop-map__button {
  position: relative;
  display: block;
  box-sizing: border-box;
  color: #fff;
  font-weight: 600;
  background-color: #022729;
}
.shop-map__button span {
  display: block;
  text-align: center;
  border-right: 1px solid #809394;
}
.shop-map__button i {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  overflow: hidden;
}
.shop-map__button i::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  mask: url(../img/common/arrow.svg) center center no-repeat;
  mask-size: contain;
  background-color: #fff;
}
@media screen and (min-width: 769px), print {
  .shop-map__button {
    padding: 1.1713030747vw 3.0014641288vw 1.1713030747vw 1.756954612vw;
    width: 22.6939970717vw;
    border-radius: 0.7320644217vw;
    border: 2px solid #022729;
    transition: background-color 0.2s linear, color 0.2s linear;
  }
  .shop-map__button span {
    font-size: 0.878477306vw;
    line-height: 2.0833333333em;
    transition: border-right-color 0.2s linear;
  }
  .shop-map__button:hover {
    background-color: #fff;
    color: #022729;
  }
  .shop-map__button:hover span {
    border-right-color: #022729;
  }
  .shop-map__button:hover i::after {
    animation: arrow 0.6s;
    background-color: #022729;
  }
  .shop-map__button i {
    right: 1.2445095168vw;
    width: 0.7320644217vw;
    height: 0.6588579795vw;
  }
  .shop-map__button i::after {
    transition: background-color 0.2s linear;
  }
}
@media screen and (max-width: 768px) {
  .shop-map__button {
    padding: 3.2vw 10.6666666667vw 3.2vw 6.4vw;
    width: 76vw;
    border-radius: 3.2vw;
  }
  .shop-map__button span {
    font-size: 3.2vw;
    line-height: 2.0833333333em;
  }
  .shop-map__button i {
    right: 4.5333333333vw;
    width: 2.6666666667vw;
    height: 2.4vw;
  }
}

.shop {
  width: 100%;
  height: 100%;
  background-color: #fff;
}
@media screen and (min-width: 769px), print {
  .shop {
    display: flex;
    height: calc(100dvh - 120px);
  }
  .shop__search, .shop__map {
    height: 100%;
    overflow: hidden;
  }
  .shop__search {
    width: 21.0834553441vw;
    overflow-y: auto;
  }
  .shop__map {
    flex: 1;
  }
}
@media screen and (max-width: 768px) {
  .shop {
    height: 100% !important;
  }
}

/* /cafe/shop/_shop-search.scss
-------------------------------------------------- */
.shop-search__wrap {
  background-color: rgba(69, 115, 102, 0.2);
}
.shop-search__ttl {
  padding: 0;
  font-weight: 600;
  letter-spacing: 0;
}
.shop-search__item {
  position: relative;
}
.shop-search__item input {
  position: absolute;
  opacity: 0;
}
.shop-search__item input:checked + label::before {
  background: #fff url("../img/arrow.svg") no-repeat 58% 58%;
}
.shop-search__item label {
  position: relative;
  display: flex;
  align-items: center;
  font-weight: 600;
  letter-spacing: 0;
}
.shop-search__item label::before {
  content: "";
  aspect-ratio: 1/1;
  background-color: #fff;
}
.shop-search__note {
  margin-block: calc((1lh - 1em) / -2);
  font-weight: 500;
  letter-spacing: 0;
}
@media screen and (min-width: 769px), print {
  .shop-search__wrap {
    padding: 2.3426061493vw 1.756954612vw;
  }
  .shop-search__box:not(:first-of-type) {
    margin-block: 1.756954612vw 1.4641288433vw;
    padding-top: 1.756954612vw;
    background: repeating-linear-gradient(90deg, #022729, #022729 2px, transparent 2px, transparent 5px) repeat-x left top/100% 1px;
  }
  .shop-search__ttl {
    margin-bottom: 1.756954612vw;
    font-size: 0.9516837482vw;
  }
  .shop-search__list {
    display: flex;
    flex-wrap: wrap;
    gap: 1.1713030747vw 0;
  }
  .shop-search__item {
    width: 50%;
  }
  .shop-search__item label {
    gap: 0.7320644217vw;
    font-size: 0.9516837482vw;
  }
  .shop-search__item label::before {
    width: 1.317715959vw;
    border-radius: 0.2928257687vw;
    background-size: 0.7320644217vw;
    box-shadow: 0.1464128843vw 0.1464128843vw 0.2196193265vw 0 rgba(0, 0, 0, 0.1) inset;
  }
  .shop-search__note {
    font-size: 0.7320644217vw;
    line-height: 1.6em;
  }
}
@media screen and (max-width: 768px) {
  .shop-search {
    display: none;
  }
}

/* /cafe/shop/_shop-list.scss
-------------------------------------------------- */
.shop-list__position {
  color: inherit;
}
.shop-list__ttl, .shop-list__detail {
  margin-block: calc((1lh - 1em) / -2);
  letter-spacing: 0;
}
.shop-list__ttl {
  font-weight: 700;
}
.shop-list__detail {
  font-weight: 500;
}
.shop-list__detail span:empty {
  display: none;
}
.shop-list__tags {
  display: flex;
}
.shop-list__tag {
  font-weight: 700;
  line-height: 1em;
  color: #fff;
  border-radius: 99px;
}
.shop-list__tag--coffee {
  background-color: #554628;
}
.shop-list__tag--tea {
  background-color: #d7ae82;
}
.shop-list__tag--jp-tea {
  background-color: #5aa564;
}
.shop-list__tag--ch-tea {
  background-color: #915a37;
}
.shop-list__tag--herb {
  background-color: #78af9b;
}
.shop-list__tag--other {
  background-color: #6991a5;
}
.shop-list__icon {
  background: url("../img/icon.svg") no-repeat center center/contain;
  aspect-ratio: 1/1;
}
@media screen and (min-width: 769px), print {
  .shop-list {
    padding: 2.3426061493vw 1.756954612vw;
  }
  .shop-list__item:not(:first-of-type) {
    margin-top: 1.756954612vw;
    padding-top: 1.756954612vw;
    background: repeating-linear-gradient(90deg, #022729, #022729 2px, transparent 2px, transparent 5px) repeat-x left top/100% 1px;
  }
  .shop-list__ttl, .shop-list__detail {
    font-size: 1.0248901903vw;
    line-height: 1.4285714286em;
  }
  .shop-list__ttl {
    margin-bottom: 0.5856515373vw;
  }
  .shop-list__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5856515373vw;
    margin-top: 1.1713030747vw;
  }
  .shop-list__tag {
    padding: 0.3294289898vw 0.5856515373vw 0.2562225476vw;
    font-size: 0.7320644217vw;
  }
  .shop-list__icon {
    width: 1.4641288433vw;
  }
}
/* /cafe/shop/_shop-map.scss
-------------------------------------------------- */
.shop-map,
.shop-map * {
  font-family: "Noto Sans JP", sans-serif !important;
}
body .gm-style .gm-style-iw-c,
body .gm-style .gm-style-iw-tc {
  top: -8px !important;
}

.shop-map__item {
  position: relative;
  box-sizing: border-box;
}
.shop-map__img {
  width: 100%;
}
.shop-map__close {
  position: absolute;
  border: none;
  outline: none;
  border-radius: 0;
  appearance: none;
  aspect-ratio: 1/1;
  background-color: transparent;
}
.shop-map__close::before, .shop-map__close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 2px;
  background-color: #022729;
  border-radius: 1px;
  transform: -50% -50%;
}
.shop-map__close::before {
  rotate: -45deg;
}
.shop-map__close::after {
  rotate: 45deg;
}
.shop-map__ttl, .shop-map__detail {
  margin-block: calc((1lh - 1em) / -2);
  letter-spacing: 0;
}
.shop-map__ttl {
  font-weight: 700;
}
.shop-map__detail {
  font-weight: 500;
}
.shop-map__detail span:empty {
  display: none;
}
.shop-map__tags {
  display: flex;
  flex-wrap: wrap;
}
.shop-map__tag {
  font-weight: 700;
  line-height: 1em;
  color: #fff;
  border-radius: 99px;
}
.shop-map__tag--coffee {
  background-color: #554628;
}
.shop-map__tag--tea {
  background-color: #d7ae82;
}
.shop-map__tag--jp-tea {
  background-color: #5aa564;
}
.shop-map__tag--ch-tea {
  background-color: #915a37;
}
.shop-map__tag--herb {
  background-color: #78af9b;
}
.shop-map__tag--other {
  background-color: #6991a5;
}
.shop-map__icon {
  background: url("../img/icon.svg") no-repeat center center/contain;
  aspect-ratio: 1/1;
}
.shop-map__button {
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1em;
  padding-inline: 0 !important;
}
.shop-map__button span {
  border-right: none;
}
.shop-map__button i::after {
  mask: url("../../../img/common/arrow.svg") center center no-repeat;
}
@media screen and (min-width: 769px), print {
  .shop-map__close {
    top: 0;
    right: 0.7320644217vw;
    width: 1.4641288433vw;
  }
  .shop-map__item {
    padding: 2.3426061493vw 1.4641288433vw 1.4641288433vw;
    width: 20.9370424597vw;
  }
  .shop-map__ttl, .shop-map__detail {
    font-size: 1.0248901903vw;
    line-height: 1.4285714286em;
  }
  .shop-map__ttl {
    margin-bottom: 0.5856515373vw;
  }
  .shop-map__tags {
    gap: 0.5856515373vw;
    margin-top: 1.1713030747vw;
  }
  .shop-map__tag {
    padding: 0.3660322108vw 0.5856515373vw 0.2196193265vw;
    font-size: 0.7320644217vw;
  }
  .shop-map__icon {
    width: 1.4641288433vw;
  }
  .shop-map__img {
    margin-top: 1.4641288433vw;
  }
  .shop-map__button {
    margin-top: 1.4641288433vw;
    height: 3.074670571vw;
    width: 13.17715959vw;
  }
  .shop-map__button i {
    position: relative;
    right: 0 !important;
  }
}
@media screen and (max-width: 768px) {
  .shop-map {
    margin-top: 17.0666666667vw;
    width: 100%;
    height: calc(100dvh - 15.625vw - 17.0666666667vw);
  }
  .gm-style .gm-style-iw-d::-webkit-scrollbar {
    width: auto !important;
    height: auto !important;
    appearance: initial !important;
  }
  .shop-map__close {
    top: 0;
    right: 2.6666666667vw;
    width: 5.3333333333vw;
  }
  .shop-map__item {
    padding: 8.5333333333vw 2.6666666667vw 5.3333333333vw;
  }
  .shop-map__ttl, .shop-map__detail {
    font-size: 3.7333333333vw;
    line-height: 1.4285714286em;
  }
  .shop-map__ttl {
    margin-bottom: 2.1333333333vw;
  }
  .shop-map__tags {
    gap: 2.1333333333vw;
    margin-top: 4.2666666667vw;
  }
  .shop-map__tag {
    padding: 1.3333333333vw 2.1333333333vw 0.8vw;
    font-size: 2.6666666667vw;
  }
  .shop-map__icon {
    width: 5.3333333333vw;
  }
  .shop-map__img {
    margin-top: 5.3333333333vw;
  }
  .shop-map__button {
    margin-top: 5.3333333333vw;
    height: 11.2vw;
    width: 48vw;
  }
}