/* -----------------------------------
SP ヘッダー
----------------------------------- */
.site-header__link span {
  display: inline-block;
  position: relative;
}
.site-header__link span:after {
  background-color: currentColor;
  bottom: 0;
  content: "";
  height: 2px;
  left: 0;
  position: absolute;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .3s ease;
  width: 100%;
}
.site-header__link:hover span:after {
  transform: scaleX(1);
}

/* -----------------------------------
top-page
----------------------------------- */
.instagram__heading_link {
  font-family: 'Noto Sans JP', sans-serif;
}
@media screen and (min-width: 769px) {
  .instagram__heading_link {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: calc(14vw / 19.2);
  }
}

/* -----------------------------------
sub-page
----------------------------------- */
.sub-page .section-heading {
  text-align: center;
}
/* -----------------------------------
news
----------------------------------- */
.news-page .site-content .content-news-block {
  width: 100%;
  padding-top: calc(150vw / 8.28);
  margin-left: auto;
  margin-right: auto;
}
.news-page section {
  overflow: visible;
}
.news-page .content-news {
  padding: calc(150vw / 8.28) calc(80vw / 8.28) 0;
}
.news-page .content-news-block {
  margin: 0 auto;
}
.news-page .content-news-title {
  font-size: calc(32vw / 8.28);
  letter-spacing: .03em;
  line-height: 1.531em;
  font-weight: bold;
  padding-bottom: calc(40vw / 8.28);
  margin-bottom: calc(40vw / 8.28);
  border-bottom: 1px solid #dcdcdc;
}
.news-page .content-news-list {
  margin: calc(80vw / 8.28) auto calc(150vw / 8.28);
}
.news-page .content-news-detail {
  font-size: calc(29vw / 8.28);
  letter-spacing: .03em;
  line-height: 1.531em;
  margin-bottom: calc(80vw / 8.28);
}
.news-page .content-news-release {
  display: flex;
  align-items: flex-start;
  margin-top: calc(40vw / 8.28);
  letter-spacing: .03em;
  line-height: 1.531em;
}
.news-page .new-arrivals__nav {
  justify-content: flex-end;
}
.news-page.newsarchive-page .new-arrivals__nav {
  flex-direction: row-reverse;
  justify-content: flex-end;
}
.news-page .news-icon-img {
  margin-right: calc(20vw / 8.28);
}
.news-page a {
  text-decoration: underline !important;
}
.news-page .content-news-release a {
  text-decoration: none !important;
  font-size: calc(29vw / 8.28);
  letter-spacing: .03em;
  line-height: 1.531em;
}
.news-page .content-news-media-img img {
  height: 33vw;
}
.news-page .content-news-media {
  display: flex;
}
.news-page .news-icon-img {
  width: 6vw;
}
.news-page .new-arrivals__nav {
  position: static;
  transform: none;
}
@media screen and (min-width: 769px) {
  .news-page .site-content .content-news-block {
    width: calc(800vw / 19.2);
    padding-top: 0;
  }
  .news-page .content-news {
    padding-top: calc(200vw / 19.2);
  }
  .news-page .content-news-block {
    margin: calc(80vw / 19.2) auto 0;
  }
  .news-page .content-news-list {
    margin: calc(20vw / 19.2) auto calc(80vw / 19.2);
  }
  .news-page .content-news-title {
    font-size: calc(16vw / 19.2);
    padding-bottom: calc(20vw / 19.2);
    margin-bottom: calc(20vw / 19.2);
  }
  .news-page .content-news-detail {
    font-size: calc(14vw / 19.2);
    margin-bottom: calc(40vw / 19.2);
  }
  .news-page .content-news-release a {
    font-size: calc(14vw / 19.2);
  }
  .news-page .news-icon-img {
    width: min(3vw, 30px);
    margin-right: calc(20vw / 19.2);
  }
  .news-page .content-news-release {
    margin-top: calc(20vw / 19.2);
  }
  .news-page .content-news-media-img img {
    height: 13vw;
  }
}

/* -----------------------------------
shoplist
----------------------------------- */
.shoplist-page .site-content .content-shoplist {
  width: 100%;
  padding-top: calc(150vw / 8.28);
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 769px) {
  .shoplist-page .site-content .content-shoplist {
    width: calc(800vw / 19.2);
    padding-top: calc(200vw / 19.2);
  }
}

.shoplist-page section {
  overflow: visible;
}
.shoplist-page .content-shoplist {
  padding: 0 calc(80vw / 8.28);
}
.shoplist-page .content-shoplist-block {
   margin: calc(150vw / 8.28) auto calc(50vw / 8.28);
}
.shoplist-page .content-shoplist-list {
  display: flex;
  flex-wrap: wrap;
  gap: calc(10vw / 8.28);
}
.shoplist-page .content-shoplist-list li {
  width: calc((100% - 10px) / 2);
  position: relative;
  font-size: calc(29vw / 8.28);
  padding-left: calc(30vw / 8.28);
  margin-bottom: calc(40vw / 8.28);
}
.shoplist-page .content-shoplist-list li:nth-child(odd) {
  padding-right: calc(30vw / 8.28);
}
.shoplist-page .content-shoplist-list li::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: calc(15vw / 8.28);
  left: 0;
  width: 1.7vw;
  height: 1.7vw;
  background: #504f4f;
  border-radius: 50%;
}
.shoplist-page .content-onlineshop-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: calc(max(1px, 4.1026vw) * 1);
  width: 100%;
}
.shoplist-page .content-onlineshop {
  margin-top: calc(200vw / 8.28);
  padding: 0 calc(max(1px, 6.1538vw) * 1) calc(200vw / 8.28);
}
.shoplist-page .content-onlineshop-list li {
  font-size: calc(26vw / 8.28);
  font-family: Josefin Sans, sans-serif;
}
.shoplist-page .content-onlineshop-block {
  margin-top: calc(80vw / 8.28);
}
@media screen and (min-width: 769px) {
  .shoplist-page .content-shoplist {
    padding: 0;
  }
  .shoplist-page .content-shoplist-block {
    margin: calc(150vw / 19.2) auto calc(50vw / 19.2);
  }
  .shoplist-page .content-shoplist-list {
     gap: calc(50vw / 19.2);
  }
  .shoplist-page .content-shoplist-list li {
    width: calc((100% - 100px) / 3);
    font-size: calc(16vw / 19.2);
    padding: 0 calc(20vw / 19.2);
    margin-bottom: calc(20vw / 19.2);
  }
  .shoplist-page .content-shoplist-list li:nth-child(odd) {
    padding-right: calc(20vw / 19.2);
  }
  .shoplist-page .content-shoplist-list li::before {
    width: calc(8vw / 19.2);
    height: calc(8vw / 19.2);
    top: calc(10vw / 19.2);
  }
  .shoplist-page .content-onlineshop {
    margin-top: calc(200vw / 19.2);
    padding-bottom: calc(100vw / 19.2);
  }
  .shoplist-page .content-onlineshop-block {
    margin-top: calc(80vw / 19.2);
  }
  .shoplist-page .content-onlineshop-list {
    gap: calc(40vw / 19.2);
  }
  .shoplist-page .content-onlineshop-list li.tts {
    display: none;
  }
}

/* -----------------------------------
PRODUCT
----------------------------------- */
.product-page section {
  overflow: visible;
}
.product-page .product section {
  background-color: transparent;
}
.product-page .other-btn-flex .site-header__menu-shop-link{
  width: calc(500vw / 8.28);
  margin: calc(40vw / 8.28) auto 0;
}
@media screen and (min-width: 769px) {
  .product-page .other-btn-flex .site-header__menu-shop-link {
    width: calc(250vw / 19.2);
    margin: calc(40vw / 19.2) auto 0;
    font-size: calc(13vw / 19.2);
  }
}

/* header：閉じている時はメニューをタップ不可 */
.site-header__menu,
.site-header__menu * {
  pointer-events: none;
}

/* header：開いている時だけタップ可能 */
.site-header__drawer-btn.is-open + .site-header__menu,
.site-header__drawer-btn.is-open + .site-header__menu * {
  pointer-events: auto;
}
@media screen and (min-width: 769px) {
  .site-header__menu,
  .site-header__menu * {
    pointer-events: auto;
  }
}