/* hover
=================================================================== */
/* ================================================ vw */
/* ================================================ vh */
/* common
=================================================================== */
/* layout
=================================================================== */
/* imgCover
=================================================================== */
/* mask
=================================================================== */
/* background
=================================================================== */
/* flex
=================================================================== */
/* animation delay
=================================================================== */
/* 3d
=================================================================== */
/* font
=================================================================== */
/* textTate
=================================================================== */
/* form
=================================================================== */
/* =================================================================== hover anime */
@keyframes pop-hover {
  0% {
    transform: translate(0, 0) rotate(0);
  }
  10% {
    transform: translate(0, 2px) rotate(-6deg);
  }
  20% {
    transform: translate(0, -6px) rotate(0);
  }
  30% {
    transform: translate(0, 3px) rotate(3deg);
  }
  40% {
    transform: translate(0, -3px) rotate(0);
  }
  50% {
    transform: translate(0, 0) rotate(0);
  }
  100% {
    transform: translate(0, 0) rotate(0);
  }
}
@keyframes pop-hover-sm {
  0% {
    transform: translate(0, 0) rotate(0);
  }
  10% {
    transform: translate(0, 2px) rotate(-1deg);
  }
  20% {
    transform: translate(0, -6px) rotate(0);
  }
  30% {
    transform: translate(0, 3px) rotate(0.5deg);
  }
  40% {
    transform: translate(0, -3px) rotate(0);
  }
  50% {
    transform: translate(0, 0) rotate(0);
  }
  100% {
    transform: translate(0, 0) rotate(0);
  }
}
/* =================================================================== slider anime */
@keyframes slider-anime {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    transform: translate3d(-100%, 0, 0);
  }
}
/* ============================================================================================ shopMap */
.shopMap {
  position: relative;
}

#map {
  position: relative;
  height: 510px;
  background-color: rgba(var(--color-text), 0.2);
}

/* ============================================================================================ shopArticle */
.shopArticle {
  position: relative;
}

/* ============================================================== shopPageNav */
.shopPage__nav {
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
  transform: translateY(-100%);
  z-index: 3;
}

/* --------------------------------------- sNav__list */
.sNav__list {
  display: flex;
}

/* --------------------------------------- sNav__link */
a.sNav__link {
  position: relative;
  width: 190px;
  border-width: 1px 1px 0 1px;
  border-style: solid;
  border-color: #cac9c8;
  border-radius: 10px 10px 0 0;
  background-image: url(../img/common/body--texture.png);
  background-position: 0 0;
  background-repeat: repeat;
  background-size: 200px auto;
  background-color: #fff;
  transition-duration: 0.15s;
  transition-timing-function: cubic-bezier(0.41, 0.12, 0.26, 0.97);
  -ms-transition-duration: 0.15s;
  -ms-transition-timing-function: cubic-bezier(0.41, 0.12, 0.26, 0.97);
  -webkit-transition-duration: 0.15s;
  -webkit-transition-timing-function: cubic-bezier(0.41, 0.12, 0.26, 0.97);
  -moz-transition-duration: 0.15s;
  -moz-transition-timing-function: cubic-bezier(0.41, 0.12, 0.26, 0.97);
}
a.sNav__link::after {
  content: " ";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  height: 1px;
  top: auto;
  bottom: 0;
  background-color: #f7f4f2;
}
a.sNav__link .cateDot {
  position: absolute;
  left: 17px;
  top: 50%;
  transform: translate(0, -50%);
}
a.sNav__link .cateDot::after {
  width: 55.5555555556%;
  height: 55.5555555556%;
}

/* --------------------------------------- sNav__title */
.sNav__title {
  height: 100%;
  font-size: 18px;
  line-height: 50px;
  text-align: center;
}

/* --------------------------------------- sNav__target */
.sNav__target {
  position: relative;
  height: 50px;
  margin-right: 28px;
}

.sNav__target.selected a.sNav__link {
  height: calc(100% + 2px);
}
.sNav__target.selected .sNav__title {
  font-size: 21px;
}

/* ============================================================== shopPageContents */
.sContents__cateNav {
  margin-bottom: 60px;
}
.sContents__cateNav .cateNav__title {
  padding-left: 40px;
  padding-right: 40px;
}

/* --------------------------------------- shopPage__section */
.shopPage__section {
  margin-bottom: 40px;
}
.shopPage__section:last-of-type {
  margin-bottom: 0;
}

/* ============================================================== comment */
.comment {
  position: relative;
  max-width: 100%;
  height: 30px;
  font-size: 0;
  text-align: left;
  overflow: hidden;
  border-radius: 9999px;
  margin-top: 15px;
}

.comment--p {
  display: inline-block;
  font-size: 12px;
  line-height: 30px;
  padding-left: 20px;
  padding-right: 20px;
  background-color: #fff;
  border-radius: 9999px;
  white-space: nowrap;
  overflow: hidden;
}

/* ============================================================== shopBlock__link */
a.shopBlock__maplink {
  display: inline-block;
  position: relative;
  padding-right: 25px;
  color: #7f7f7f;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.5s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}
a.shopBlock__maplink .icon {
  position: absolute;
  top: -3px;
  right: 0;
  opacity: 0.5;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.5s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}

/* ============================================================================================ hover pc */
@media (hover: hover) and (pointer: fine) {
  a.sNav__link:hover, a.sNav__link:active {
    border-color: rgba(var(--color-text), 1);
  }
  a.sNav__link:hover .cateDot::after, a.sNav__link:active .cateDot::after {
    width: 100%;
    height: 100%;
  }
  a.shopBlock__maplink:hover, a.shopBlock__maplink:active {
    color: #000;
    text-decoration: underline;
  }
  a.shopBlock__maplink:hover .icon, a.shopBlock__maplink:active .icon {
    opacity: 1;
  }
}/*# sourceMappingURL=shop.css.map */