:root {
  --base_font: "Zen Kaku Gothic New", sans-serif;
  --sub_font: "Zen Old Mincho", serif;
  --sub_font02: "Sen", sans-serif;
  --mc: #506149;
  --sc: #828974;
  --fc: #333;
  --bc: #fff;
}
@media screen and (min-width: 768px) {
  :root {
    --mq: 10.24;
  }
}
@media screen and (max-width: 767px) {
  :root {
    --mq: 7.5;
  }
}
:root {
  --hd_mt: 60px;
}
@media screen and (min-width: 1024px) {
  :root {
    --hd_mt: 120px;
  }
}

.shop-overview {
  padding-top: clamp(4rem, 1.1rem + 7.63vw, 7rem);
  position: relative;
}
.shop-overview__head {
  margin-bottom: clamp(4rem, 2.1rem + 5.09vw, 6rem);
}
.shop-overview__ttl {
  text-align: center;
}
.shop-overview__cnt {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  align-items: center;
  gap: 50px;
}
@media screen and (min-width: 1024px) {
  .shop-overview__cnt {
    flex-direction: row;
    justify-content: space-between;
    align-items: stretch;
    gap: 90px;
  }
}
.shop-overview__info {
  max-width: 500px;
  width: 100%;
}
@media screen and (min-width: 1024px) {
  .shop-overview__info {
    width: auto;
    flex: 1;
  }
}
.shop-overview__media {
  max-width: 600px;
}
@media screen and (min-width: 1024px) {
  .shop-overview__media {
    width: 50%;
  }
}
.shop-overview__media img {
  /*border-radius: 20px;*/
}
@media screen and (min-width: 768px) {
  .shop-overview__table-th {
    width: 160px;
    padding: 0 15px 0 45px;
  }
}

.shop-gallery {
  padding-block: clamp(6rem, 3.5rem + 6.63vw, 12rem);
  position: relative;
}
.shop-gallery__head {
  margin-bottom: clamp(4rem, 2.1rem + 5.09vw, 6rem);
}
.shop-gallery__ttl {
  text-align: center;
}
.shop-gallery .shop-slider .itemlist-slider__splide .splide__slide:nth-of-type(2n) {
  margin-top: clamp(2rem, 0.3rem + 4.62vw, 5rem);
}
.shop-gallery .shop-slider .itemlist-slider__splide .splide__slide img {
  display: block;
  max-height: 420px;
  width: auto;
  height: calc((40svh - var(--hd_mt)) / 2);
}
@media screen and (min-width: 768px) {
  .shop-gallery .shop-slider .itemlist-slider__splide .splide__slide img {
    height: calc((95svh - var(--hd_mt)) / 2);
  }
}

.gjs-dashed .itemlist-slider__splide.splide {
  visibility: visible;
}
.gjs-dashed .splide__list {
  display: block;
  height: auto;
}

.shop-staff {
  background: url(/system_panel/uploads/images/img_first-concern-bg.jpg) no-repeat center center/cover;
  padding-block: clamp(6rem, 3.5rem + 6.63vw, 12rem);
}
.shop-staff__list {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  align-items: center;
  gap: 30px;
}
@media screen and (min-width: 768px) {
  .shop-staff__list {
    flex-direction: row;
    justify-content: center;
    align-items: stretch;
  }
}
.shop-staff__item {
  max-width: 380px;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .shop-staff__item {
    width: calc((100% - 30px) / 2);
  }
}
@media screen and (min-width: 1024px) {
  .shop-staff__item {
    width: calc((100% - 60px) / 3);
  }
}
.shop-staff__item-info-label {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 5px 20px;
  background-color: #4e6743;
  padding: 2px 15px;
  margin-bottom: 20px;
}
.shop-staff__item-info-label-name {
  font-size: clamp(1.8rem, 1.5rem + 0.76vw, 2.1rem);
  letter-spacing: 0.05em;
  color: #fff;
}
.shop-staff__item-info-label-pos {
  font-size: clamp(1.6rem, 1.4rem + 0.51vw, 1.8rem);
  letter-spacing: 0.05em;
  color: #fff;
}
.shop-staff__item-info-txt {
  padding-left: clamp(0.5rem, -0.5rem + 2.54vw, 1.5rem);
}

.shop-access {
  padding-top: clamp(6rem, 3.5rem + 6.63vw, 12rem);
}
.shop-access__head {
  margin-bottom: clamp(3rem, 2rem + 2.54vw, 4rem);
  position: relative;
}
.shop-access__txt {
  text-align: center;
}
.shop-access__txt br {
  display: block;
}
@media screen and (min-width: 768px) {
  .shop-access__txt br {
    display: none;
  }
}
.shop-access__map {
  width: 100%;
  height: 250px;
}
@media screen and (min-width: 768px) {
  .shop-access__map {
    height: 400px;
  }
}
@media screen and (min-width: 1024px) {
  .shop-access__map {
    height: 500px;
  }
}
.shop-access__map iframe {
  width: 100%;
  height: 100%;
}
.shop-access__illust {
  max-width: max-content;
  width: 30%;
  position: absolute;
  top: 0;
  right: clamp(0rem, -15rem + 19.53vw, 10rem);
  z-index: -1;
}

.shop-menu__cnt {
  position: relative;
}
.shop-menu__cnt.cmn-price__cnt {
  background-color: rgba(232, 232, 222, 0.25);
}
.shop-menu__cnt + .shop-menu__cnt {
  margin-top: clamp(4rem, 3rem + 2.54vw, 5rem);
}
.shop-menu__cnt .cmn-price__ttl,
.shop-menu__cnt .cmn-price__table,
.shop-menu__cnt .cmn-price__note {
  position: relative;
  z-index: 2;
}
.shop-menu__cnt-illust {
  max-width: max-content;
  width: 30%;
  position: absolute;
  z-index: 1;
}
.shop-menu__cnt-illust.--01 {
  bottom: 10px;
  right: max(50% - 50vw, -40px);
}
.shop-menu__cnt-illust.--02 {
  width: 50%;
  bottom: -40px;
  left: max(50% - 50vw, -70px);
}
.shop-menu__cnt-illust.--03 {
  bottom: -40px;
  right: max(50% - 50vw, -20px);
}
.shop-menu__cnt-txt {
  text-align: center;
  margin-top: calc(clamp(2rem, 1rem + 2.54vw, 3rem) * -1);
  margin-bottom: clamp(2rem, 1rem + 2.54vw, 3rem);
}
@media screen and (min-width: 768px) {
  .shop-menu__cnt-txt br {
    display: none;
  }
}