body {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-feature-settings: "palt";
  color: #363636;
  letter-spacing: calc(45 / 1000 * 1em);
}

button, input, select, textarea {
  border-style: solid;
  background-color: #fff;
}

/* ---- 共通：フォント ---- */
.english {
  font-family: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
}

.japanese {
  font-family: "Noto Sans JP", sans-serif;
  font-feature-settings: "palt";
}
/* .fs-l-pageMain {
  padding-top: 30px;
} */
.fs-l-main {
  width: calc(650 / 750 * 100vw);
  max-width: 750px;
  margin: 0 auto;
  padding: 0;
}
.fs-page__product-group,
.fs-page__product-group--for-sale,
.fs-page__product-search {
  max-width: 1000px;
}
.fs-page__product-group .fs-l-pageMain,
.fs-page__product-group--for-sale .fs-l-pageMain {
  max-width: 750px;
}
.group-sale ul {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
/* @media screen and (min-width: 768px) {
  .fs-l-pageMain {
    padding-top: 56px;
  }
} */
 /* カートバッジ */
 /* .fs-p-cartItemNumber {
    background: #c02222;
    border-radius: 1em;
    color: #ffffff;
    display: none;
    font-size: 1rem;
    line-height: 1;
    padding: 0.25em 0.4em;
    position: absolute;
    top: 2px;
    right: 2px;
 } */

/* チャットツール */
/* .glgXWi {} */

/* leeep */
.LeeepPost {
  border: 1px solid #d4d1cd;
}
.LeeepListScrollInner {
  padding-left: 0!important;
}
.LeeepListScrollButtonR {
  display: none!important;
}
.LeeepListContent {
  padding: 12px!important;
}
.LeeepListCaption {
  margin-top: 0!important;
  display: -webkit-box!important;
  -webkit-line-clamp: 2!important;
  max-height: calc(18px * 2)!important;
}
.LeeepStaffPostListSeeMore {
  display: none!important;
}
@media screen and (min-width: 768px) {
  .LeeepListContent {
    padding: 8px!important;
  }
}

/* futureレコメンド */
.fr4-rcmd-item-link {
  text-decoration: none;
  text-align: left;
}
.fr4-rcmd-item-name {
  font-size: 12px!important;
  color: #1a1a1a;
}
.fr4-rcmd-item-price {
  color: #1a1a1a;
}
.fr4-rcmd-item-addon {
  display: none;
}
/* カテゴリーページなどのランキング見出し */
.fr4-rcmd-title {
  font-weight: 400;
  padding-top: 32px;
  padding-bottom: 32px;
}
.fr4-rcmd-title__english {
  display: block;
  font-family: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 20px;
  color: #363636;
  letter-spacing: calc(140 / 1000 * 1em);
  text-transform: uppercase;
}
.fr4-rcmd-title__japanese {
  display: block;
  font-size: 12px;
  letter-spacing: calc(100 / 1000 * 1em);
  color: #7f7a6a;
}
@media screen and (min-width: 768px) {
  .fr4-rcmd-title {
    padding-top: 0;
    padding-bottom: 64px;
  }
  .fr4-rcmd-title__english {
    font-size: 32px;
  }
  .fr4-rcmd-title__japanese {
    font-size: 20px;
  }
}

/* ランキング：サムネイル左上の順位バッジ ------------------ */

/* バッジの基準位置にするため、サムネイルを含む親要素を relative に */
.fr4-rcmd-item {
  position: relative;
}

.fr4-rcmd-ranking-bar {
  position: absolute!important;
  top: 0!important;
  left: 0!important;
  z-index: 2!important;
  width: 48px!important;
  height: 52px!important;
  -webkit-clip-path: polygon(0 0, 100% 0, 0 100%);
          clip-path: polygon(0 0, 100% 0, 0 100%);
  background-color: #a09a89; /* デフォルト＝4位以降の色 */
  pointer-events: none;
}

.fr4-rcmd-ranking-val {
  position: absolute!important;
  top: 0!important;
  left: 0!important;
  translate: 0 4px;
  color: #fff!important;
  font-size: 24px!important;
  font-weight: 450!important;
  line-height: 1!important;
  background-color: transparent!important;
}
.fr4-rcmd-car-slides {
  -moz-column-gap: 8px;
       column-gap: 8px;
}

.fr4-rcmd-car-slide {
  min-width: auto;
}
.fr4-rcmd-col-2-5 .fr4-rcmd-car-slide {
  flex: 0 0 calc((100% - 8px * 1) / 2);
}

@media screen and (min-width: 600px) {
  .fr4-rcmd-col-2-5 .fr4-rcmd-car-slide {
    flex: 0 0 calc((100% - 8px * 2) / 3);
  }
}

@media screen and (min-width: 768px) {
  .fr4-rcmd-col-2-5 .fr4-rcmd-car-slide {
    flex: 0 0 calc((100% - 8px * 3) / 4);
  }
}
@media screen and (min-width: 960px) {
  .fr4-rcmd-car {
    grid-template-columns: 0 1fr 0;
  }
  .fr4-rcmd-col-2-5 .fr4-rcmd-car-slide {
    flex: 0 0 calc((100% - 8px * 4) / 5);
  }
  .fr4-rcmd-col-3-5 .fr4-rcmd-car-slide {
    flex: 0 0 calc((100% - 16px * 2) / 5);
  }
}

/* 順位ごとの色分け（1〜3位は色を差し替え、4位以降はデフォルトの#a09a89のまま） */
.fr4-rcmd-car-slide:nth-child(1) .fr4-rcmd-ranking-bar {
  background-color: #d9b844;
}
.fr4-rcmd-car-slide:nth-child(2) .fr4-rcmd-ranking-bar {
  background-color: #bfbfbf;
}
.fr4-rcmd-car-slide:nth-child(3) .fr4-rcmd-ranking-bar {
  background-color: #541b0c;
}

.fr4-rcmd-car-slide:nth-child(n+6) {
  display: none!important;
}
.fr4-rcmd-car-slides {
  scrollbar-width: none!important;
}

/* SPではひとまわり小さくする場合 */
@media (max-width: 767px) {
  .fr4-rcmd-ranking-val {
    font-size: 16px!important;
    translate: 20% 20%;
  }
}

/* ---- 商品一覧（フューチャーショップ システムパーツ：fs-c-productList__list） ---- */
.fs-c-productList__list {
  position: relative;
  max-width: 750px;
  margin: 0 auto;
  box-sizing: border-box;
  display: grid;
  row-gap: 36px;
  grid-template-columns: repeat(2, 1fr);
  -moz-column-gap: 15px;
       column-gap: 15px;
  row-gap: 36px;
}
.fs-c-productList__list__item {
  padding: 0;
  border: none;
}
@media screen and (min-width: 768px) {
  .fs-c-productList__list {
    row-gap: 36px;
    grid-template-columns: repeat(4, calc(166 / 690 * 100%));
    -moz-column-gap: calc(
      (100% - (166 / 690 * 100%) * 4) / 3
    );
         column-gap: calc(
      (100% - (166 / 690 * 100%) * 4) / 3
    );
  }
}

/* ---- 商品一覧（フューチャーショップ システムパーツ：fs-c-productListCarousel） ---- */
.fs-c-productListCarousel {
  position: relative;
  width: calc(690 / 750 * 100vw);
  max-width: 690px;
  margin: 0 auto;
  box-sizing: border-box;
}

.fs-c-productListCarousel__list {
  width: calc(690 / 750 * 100vw);
  max-width: 690px;
  margin: 0 auto;
  overflow: hidden;
}

.fs-c-productListCarousel__list__item {
  margin: 0;
}

@media screen and (max-width: 767px) {
  .fs-c-productListCarousel__list__itemTrack {
    display: grid;
    grid-template-columns: repeat(3, calc(220 / 750 * 100%));
    row-gap: 32px;
    -moz-column-gap: calc(
      (100% - (220 / 750 * 100vw) * 3) / 2
    );
        column-gap: calc(
      (100% - (220 / 750 * 100vw) * 3) / 2
    );
  }
}
@media screen and (min-width: 768px) {
  .fs-c-productListCarousel__list__itemTrack {
    display: grid;
    row-gap: 36px;
    grid-template-columns: repeat(4, calc(166 / 690 * 100%));
    -moz-column-gap: calc(
      (100% - (166 / 690 * 100%) * 4) / 3
    );
         column-gap: calc(
      (100% - (166 / 690 * 100%) * 4) / 3
    );
  }
}

/* prev/next矢印（システムがslickを初期化するまでの土台スタイル） */
.fs-c-productListCarousel__ctrl {
  display: none;
}

.fs-c-productListCarousel__ctrl--prev {
  left: 0;
}

.fs-c-productListCarousel__ctrl--next {
  right: 0;
}

.fs-c-button--carousel {
  display: block;
  width: 8px;
  height: 14px;
}

.fs-c-button--carousel .fs-c-button__label {
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  text-indent: -9999px;
}

.fs-c-button--carousel--prev {
  -webkit-clip-path: polygon(100% 0, 100% 100%, 0 50%);
          clip-path: polygon(100% 0, 100% 100%, 0 50%);
  background-color: currentColor;
}

.fs-c-button--carousel--next {
  -webkit-clip-path: polygon(0 0, 0 100%, 100% 50%);
          clip-path: polygon(0 0, 0 100%, 100% 50%);
  background-color: currentColor;
}

/* ---- 商品カード ---- */
.fs-c-productListItem {
  flex: 0 0 calc((100% - (15 / 750 * 100vw) * 2) / 3);
  min-width: 0;
  position: relative;
}
.product-upper-wrapper,
.p-list--upper {
  display: grid;
}
.product-lower-wrapper {
  position: relative;
}

.fs-c-productListItem__imageContainer {
  display: block;
  aspect-ratio: 5 / 6;
  overflow: hidden;
  background-color: #f2f0ee;
  order: 1;
}

.fs-c-productListItem__image__image {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
/* 商品画像・拡大パーツ */
.fs-c-productListItem__viewMoreImageButton {
  display: none;
}

.fs-c-productListItem__productName {
  margin: 0;
  font-weight: normal;
  order: 3;
}

.fs-c-productListItem__productName a {
  text-decoration: none;
}

.fs-c-productName__name {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  margin-top: 4px;
  font-size: 12px;
  line-height: 1.6;
  color: #363636;
  text-decoration: none;
}

/* ---- 商品バッジ（NEW・再入荷・SALE・その他タグ） ---- */
.fs-c-productList__list .fs-c-productMarks,
.fs-c-productListCarousel__list .fs-c-productMarks {
  order: 2;
}

.fs-c-productMark {
  display: flex;
  flex-wrap: wrap;
  row-gap: 2px;
  margin: 0;
  padding: 0;
  list-style: none;
  margin-top: 8px;
}

.fs-c-productMark__item a {
  display: block;
  text-decoration: none;
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.4;
}
.fs-c-productMark__item a:visited {
  color: #fff;
}

.fs-c-productMark__mark {
  display: inline-block;
  padding: 3px 4px;
  background-color: #9a9186;
  border-radius: 0;
}

/* 再入荷 */
.fs-c-productMark__mark.fs-c-productMark__mark--17 {
  background-color: #225dc0;
  color: #fff;
}
/* ライブ紹介アイテム */
.fs-c-productMark__mark.fs-c-productMark__mark--10 {
  background-color: #e5e5e5;
  color: #363636;
}

/* SALE（販売価格の強調色 rgb(188,19,57) に合わせる） */
.fs-c-productMark__mark.fs-c-productMark__mark--31 {
  background-color: #c02222;
  color: #fff;
}

/* NEW */
.fs-c-productMark__mark.fs-c-productMark__mark--42 {
  background-color: #e5e5e5;
  color: #c02222;
}

/* ---- 価格 ---- */
.fs-c-productListItem__prices {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0 8px;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .fs-c-productListItem__prices {
    flex-direction: column;
  }
}

.fs-c-productPrice__main__label {
  display: none;
}
/* .fs-c-productPrice__addon__label */

.fs-c-productPrice--listed .fs-c-price__value,
.fs-c-productPrice--listed .fs-c-price__currencyMark {
  font-size: 12px;
  color: #1a1a1a;
  text-decoration: line-through;
}
.fs-c-productPrice:not(.fs-c-productPrice--listed) .fs-c-productPrice__main__price {
  color: #363636;
}

.fs-c-productPrice--listed .fs-c-productPrice__addon {
  display: none;
}

.fs-c-productPrice--selling .fs-c-price__value,
.fs-c-productPrice--selling .fs-c-price__currencyMark {
  font-size: 20px;
  font-weight: 450;
}

.fs-c-productPrice--selling .fs-c-productPrice__addon {
  display: none;
}

/* ---- 在庫数・詳細リンクは非表示（デザイン上は使用しない） ---- */
.fs-c-productListItem__numberOfStock,
.fs-c-button--viewProductDetail {
  display: none;
}

/* カートボタン */
.fs-c-button--addToCart--list.fs-c-button--plain {
  display: none;
}

/* ---- お気に入りボタン ---- */
.fs-c-productListItem__control {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: absolute;
  right: 0;
  bottom: 0;
  translate: 0 -20%;
  padding: 0;
}

.fs-c-button--addToWishList--icon {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  margin-left: auto;
  padding: 0;
  border: none;
  background: none;
  cursor: pointer;
}

.fs-c-button--addToWishList--icon .fs-c-button__label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}

.fs-c-button--particular.fs-c-button--addToWishList--icon::before {
  content: '\e91a';
  color: #b3b3b3;
}
.fs-c-button--particular.fs-c-button--removeFromWishList--icon::before {
  color: #c02222;
}
@media (min-width: 768px) {
  .fs-c-productName__name {
    font-size: 13px;
  }

  .fs-c-productPrice--selling .fs-c-price__value,
  .fs-c-productPrice--selling .fs-c-price__currencyMark {
    font-size: 24px;
  }
}

.header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1002;
  width: 100%;
  background-color: #fff;
}

.header__inner {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  height: 60px;
}
#hamburgerButton {
  display: grid;
  row-gap: 7px;
  width: 64px;
  height: 60px;
  padding: 20px 15px;
}

#hamburgerButton span {
  display: block;
  width: 100%;
  height: 2px;
  background-color: #363636;
  transition: transform 0.3s ease, opacity 0.2s ease;
}

#hamburgerButton.is-open span:nth-child(1) {
  transform: translateY(9px) rotate(45deg);
}

#hamburgerButton.is-open span:nth-child(2) {
  transform: translateY(9px) rotate(45deg);
  opacity: 0;
}

#hamburgerButton.is-open span:nth-child(3) {
  transform: translateY(-9px) rotate(-45deg);
}
.headerLogo img {
  display: block;
  width: calc(202 / 750 * 100vw);
  margin: 0 auto;
}
.headerNav {
  display: none;
}

.headerActions {
  display: flex;
  align-items: center;
}

.headerActions__btn img {
  display: block;
  width: 100%;
  height: auto;
}
.headerActions__btn.cart {
  position: relative;
}
@media (max-width: 767px) {
  .headerActions__btn:not(.cart) {
    display: none;
  }
  .headerActions__btn.cart {
    display: block;
    width: 60px;
    height: 60px;
    padding: 15px;
  }
}

@media (min-width: 768px) {
  .header {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
  }

  .header__inner {
    display: grid;
    grid-template-columns: auto 1fr auto;
    grid-template-areas:
      "logo   logo   actions"
      "nav    nav    nav";
    align-items: center;
    height: auto;
    max-width: 1000px;
    margin: 0 auto;
    padding: 24px 20px 0;
    box-sizing: border-box;
  }

  #hamburgerButton {
    display: none;
  }

  .headerLogo {
    grid-area: logo;
    justify-self: start;
  }

  .headerLogo img {
    width: 150px;
    margin: 0;
  }

  .headerActions {
    grid-area: actions;
    justify-self: end;
    gap: 8px;
  }

  .headerActions__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    border: none;
    background: none;
    color: #363636;
    text-decoration: none;
    cursor: pointer;
  }

  .headerActions__btn img {
    display: block;
    width: 100%;
    height: 100%;
  }

  .headerActions__btn:hover {
    opacity: .7;
  }

  .headerNav {
    display: block;
    grid-area: nav;
    margin-top: 24px;
    padding: 4px 0;
  }

  .headerNav__list {
    display: grid;
    align-items: center;
    grid-template-columns: repeat(6, 1fr);
    list-style: none;
    margin: 0;
    padding: 0;
  }

  .headerNav__item a,
  .headerNav__item span {
    display: grid;
    width: 100%;
    height: 32px;
    place-content: center;
    font-size: 16px;
    letter-spacing: 0.05em;
    color: #54534f;
    text-decoration: none;
  }

  .headerNav__item a:hover {
    opacity: .7;
  }

  .headerNav__item--divider {
    position: relative;
  }

  .headerNav__item--divider::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 1px;
    height: 100%;
    background-color: #54534f;
    transform: translateY(-50%);
  }

  /* ---- カテゴリ／お悩み：ホバーで開くプルダウン ---- */
  .headerNav__item--hasDropdown {
    position: relative;
  }

  .headerNav__dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 20;
    display: none;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
    background-color: #fff;
    border: 1px solid #bbb7aa;
    box-sizing: border-box;
  }

  .headerNav__item--hasDropdown:hover .headerNav__dropdown {
    display: block;
  }

  .headerNav__dropdown a {
    display: block;
    width: 100%;
    height: auto;
    padding: 10px 16px;
    font-size: 13px;
    letter-spacing: 0.02em;
    color: #54534f;
    text-align: left;
  }

  .headerNav__dropdown a:hover {
    opacity: 1;
    background-color: #645e59;
    color: #fff;
  }
}

/* ==========================================================
   Announce Banner（#splide-sale-bnr／announce.part）
   全ページ共通のセールバナー
   ========================================================== */
#splide-sale-bnr {
  background-color: #645e59;
}
.splide-sale-bnr__wrap {
  max-width: 632px;
  margin: 0 auto;
}

#splide-sale-bnr .splide__slide {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 64px;
}

#splide-sale-bnr .bnr-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
}

#splide-sale-bnr .bnr-text {
  color: #fff;
  font-size: 12px;
  letter-spacing: calc(80 / 1000 * 1em);
  text-align: center;
}

#splide-sale-bnr .splide__arrow {
  background: transparent;
  opacity: 1;
}

#splide-sale-bnr .splide__arrow svg {
  fill: #f2f0ee;
  width: 14px;
  height: 14px;
}

#splide-sale-bnr .splide__arrow:hover svg {
  fill: #f2f0ee;
  opacity: 0.7;
}

#splide-sale-bnr .splide__arrow--prev {
  left: max(16px, calc((100% - 1000px) / 2 + 16px));
}

#splide-sale-bnr .splide__arrow--next {
  right: max(16px, calc((100% - 1000px) / 2 + 16px));
}

@media (min-width: 768px) {
  #splide-sale-bnr .bnr-text {
    font-size: 16px;
  }
}
@media (min-width: 1024px) {
  #splide-sale-bnr .bnr-text {
    font-size: 20px;
  }
}

/* breadcrumb */
.breadcrumb {
  font-size: 12px;
  color: #666;
  padding: 10px 16px;
}

.breadcrumb__separator {
  margin: 0 4px;
  color: #aaa;
}

/* ---- レフトナビ＋メインコンテンツ（PC: 230px + 750px = 980px） ---- */
.l-leftNav {
  display: none;
}

.l-mainContent {
  width: 100%;
}

@media (min-width: 1024px) {
  .l-leftNav {
    display: block;
    flex: 0 0 230px;
    width: 230px;
  }
  .l-mainContent {
    flex: 0 0 750px;
    width: 750px;
    min-width: 0;
  }
}

/* ---- レフトナビ中身（PC専用表示のため常時スタイル適用でOK） ---- */
.leftNavBanners {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-bottom: 40px;
}

.leftNavBanners__item {
  display: block;
}

.leftNavBanners__item img {
  width: 100%;
  display: block;
}

.leftNavSearch {
  position: relative;
  margin-bottom: 40px;
}

.leftNavSearch__input {
  width: 100%;
  height: 40px;
  padding: 0 40px 0 12px;
  border: 1px solid #d8d3c8;
  border-radius: 2px;
  font-size: 13px;
  box-sizing: border-box;
}

.leftNavSearch__btn {
  position: absolute;
  top: 50%;
  right: 14px;
  translate: 0 -50%;
  width: 19px;
  height: 19px;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

.leftNavSearch__btn img {
  display: block;
  width: 100%;
  height: auto;
}

.leftNavList {
  margin-bottom: 40px;
}

.leftNavList__heading {
  position: relative;
  height: 27px;
  margin: 0 0 24px;
  padding-left: 16px;
  font-size: 16px;
  font-weight: 450;
  color: #363636;
}

.leftNavList__heading::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 3px;
  background-color: #807a6a;
}

.leftNavList__items {
  list-style: none;
  margin: 0;
  padding: 0;
}

.leftNavList__items li + li {
  margin-top: 1em;
}

.leftNavList__items a {
  display: block;
  font-size: 12px;
  color: #54534f;
  text-decoration: none;
}

.leftNavList__items a:hover {
  text-decoration: underline;
}

/* ==========================================================
   Footer
   ========================================================== */
.footer {
  width: 100%;
  background-color: #645e59;
}

.footer__inner {
  max-width: 1000px;
  margin: 0 auto;
  box-sizing: border-box;
}

.footerNav {
  letter-spacing: calc(45 / 1000 * 1em);
}

.footerNav__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.footerNav__list a,
.footerNav__list a:visited {
  color: #fff;
}

.footerNav__col + .footerNav__col .footerNav__list {
  border-top: none;
}

.footerNav__heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  margin: 0;
  padding: 18px 20px;
  border: none;
  border-bottom: 1px solid #fff;
  background: none;
  box-sizing: border-box;
  font-size: 16px;
  line-height: 1.5;
  color: #f2f0ee;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}
.footerNav__col:last-child .footerNav__item:last-child .footerNav__heading {
  border-bottom: none;
}

a.footerNav__heading:hover {
  opacity: 0.7;
}

.footerNav__accordionInput {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.footerNav__accordionInput:focus-visible ~ .footerNav__heading {
  outline: 2px solid #f2f0ee;
  outline-offset: -2px;
}

.footerNav__icon {
  position: relative;
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
}

.footerNav__icon::before,
.footerNav__icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background-color: #f2f0ee;
  transition: transform 0.2s ease;
}

.footerNav__icon::before {
  width: 14px;
  height: 1px;
  transform: translate(-50%, -50%);
}

.footerNav__icon::after {
  width: 1px;
  height: 14px;
  transform: translate(-50%, -50%);
}

.footerNav__accordionInput:checked ~ .footerNav__heading .footerNav__icon::after {
  transform: translate(-50%, -50%) rotate(90deg) scaleY(0);
}

.footerNav__subList {
  list-style: none;
  margin: 0;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}

.footerNav__accordionInput:checked ~ .footerNav__subList {
  max-height: 500px;
  border-bottom: 1px solid #fff;
}

.footerNav__subList a {
  display: block;
  padding: 7px 20px;
  font-size: 16px;
  line-height: 1.5;
  color: #f2f0ee;
  text-decoration: none;
}
.footerNav__subList li:first-child a {
  margin-top: 7px;
}
.footerNav__subList li:last-child a {
  margin-bottom: 9px;
}

.footerNav__subList a:hover {
  opacity: 0.7;
}

.footer__extra {
  width: calc(242 / 750 * 100vw);
  max-width: 242px;
  margin: 0 auto;
  padding-top: 32px;
  padding-bottom: 52px;
}
.footer__logo img {
  display: block;
  width: 100%;
  height: auto;
}
.footer__sns {
  margin-top: 16px;
}
.footer__sns__list {
  display: flex;
  justify-content: center;
  gap: 24px;
  list-style: none;
}
.footer__sns__item img {
  display: block;
  width: 29px;
  height: 29px;
}

@media (min-width: 768px) {
  .footer__inner {
    padding: 60px 20px;
  }

  .footerNav {
    display: flex;
    align-items: flex-start;
    gap: 60px;
  }

  .footerNav__col {
    flex: 1 1 0;
  }

  .footerNav__item,
  .footerNav__col:first-child .footerNav__list .footerNav__item:first-child {
    border: none;
  }

  .footerNav__item + .footerNav__item {
    margin-top: 20px;
  }

  .footerNav__heading {
    padding: 0;
    font-weight: 400;
    border: none;
  }

  .footerNav__item--accordion .footerNav__heading {
    cursor: default;
    pointer-events: none;
  }

  .footerNav__item--accordion .footerNav__icon {
    display: none;
  }

  .footerNav__subList {
    max-height: none !important;
    overflow: visible;
    margin-top: 12px;
  }

  .footerNav__subList li + li {
    border-top: none;
    margin-top: 10px;
  }

  .footerNav__subList a {
    padding: 0;
    font-weight: normal;
  }
  .footer__extra {
    padding-top: 64px;
    padding-bottom: 128px;
  }
  .footer__sns {
    margin-top: 48px;
  }
  .footer__sns__item img {
    display: block;
    width: 58px;
    height: 58px;
  }
}

/* ==========================================================
   ドロワーメニュー（ハンバーガーメニュー）
   ========================================================== */
.drawerOverlay {
  position: fixed;
  top: 60px;
  left: 0;
  width: 100%;
  height: calc(100% - 60px);
  background-color: rgba(0, 0, 0, 0.4);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  z-index: 1000;
}

.drawerOverlay.is-open {
  opacity: 1;
  visibility: visible;
}

.drawerMenu {
  opacity: 0;
  position: fixed;
  top: 60px;
  left: 0;
  width: 100%;
  height: calc(100% - 60px);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  background-color: #fff;
  color: #3a332c;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.15);
  transform: translateY(-100%);
  transition: transform 0.3s ease;
  z-index: 1001;
}

.drawerMenu.is-open {
  transform: translateY(0);
  opacity: 1;
}

body.is-drawerOpen {
  overflow: hidden;
}

/* ---- 会員登録／ログイン ---- */
.drawerMenu__authRow {
  display: flex;
  gap: 25px;
  padding: 0 14px 14px;
}

.drawerMenu__authBtn {
  flex: 1;
  padding: 12px 0;
  border: 1px solid #645e59;
  font-size: 14px;
  font-weight: 450;
  letter-spacing: calc(45 / 1000 * 1em);
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}

.drawerMenu__authBtn--primary {
  background-color: #645e59;
  color: #fff;
}
.drawerMenu__authBtn--primary:visited {
  color: #fff;
}

.drawerMenu__authBtn--secondary {
  background-color: #fff;
  color: #645e59;
}
.drawerMenu__authBtn--secondary:visited {
  color: #645e59;
}

/* ---- 検索 ---- */
.drawerMenu__searchWrap {
  padding: 0 14px 14px;
}

.drawerMenu__searchBox {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  border: 1px solid #d8d4cc;
  border-radius: 2px;
}

.drawerMenu__searchBox input {
  flex: 1;
  padding: 11px 12px;
  border: none;
  outline: none;
  background: transparent;
  font-size: 16px;
  color: #3a332c;
  border-radius: 0;
}

.drawerMenu__searchBox input::-webkit-input-placeholder {
  color: #a39c90;
}

.drawerMenu__searchBox input::-moz-placeholder {
  color: #a39c90;
}

.drawerMenu__searchBox input:-ms-input-placeholder {
  color: #a39c90;
}

.drawerMenu__searchBox input::-ms-input-placeholder {
  color: #a39c90;
}

.drawerMenu__searchBox input::placeholder {
  color: #a39c90;
}

.drawerMenu__searchIcon {
  display: grid;
  place-items: center;
  width: 43px;
  height: 43px;
  border: 0;
}

.drawerMenu__searchIcon img {
  display: block;
  width: 20px;
  height: 20px;
}

/* ---- クーポンバナー ---- */
.drawerMenu__coupon {
  display: block;
  margin: 0 14px 18px;
  color: #fff;
  text-align: center;
  text-decoration: none;
}
.drawerMenu__coupon img {
  display: block;
  width: 100%;
  height: auto;
}

/* ---- セクション見出し ---- */
.drawerMenu__sectionHeader {
  margin: 0;
  padding: 13px 18px;
  background-color: #645e59;
  color: #fff;
  font-size: 16px;
  font-weight: 450;
  letter-spacing: 0.02em;
}

/* ---- アコーディオン（カテゴリー等） ---- */
.drawerMenu__group {
  border-bottom: 1px solid #e4e0da;
}

.drawerMenu__groupHeader {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 15px 18px;
  border: none;
  background: none;
  font-size: 16px;
  font-weight: 450;
  color: #363636;
  text-align: left;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.drawerMenu__toggle {
  position: relative;
  flex-shrink: 0;
  width: 22px;
  height: 1px;
  background-color: #363636;
}

.drawerMenu__toggle::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 22px;
  height: 1px;
  background-color: #363636;
  transform: rotate(90deg);
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.drawerMenu__group.is-open > .drawerMenu__groupHeader .drawerMenu__toggle::after,
.drawerMenu__nestedGroup.is-open > .drawerMenu__subItem--nestedHeader .drawerMenu__toggle::after {
  transform: rotate(0deg);
  opacity: 0;
}

.drawerMenu__subList {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.25s ease;
}

.drawerMenu__group.is-open > .drawerMenu__subList {
  max-height: 1000px;
}

.drawerMenu__subItem {
  display: block;
  padding: 13px 18px 13px 26px;
  font-size: 16px;
  color: #54534f;
  text-decoration: none;
  cursor: pointer;
}
.drawerMenu__subItem:visited {
  color: #54534f;
}

.drawerMenu__subItem--nested {
  padding-left: 34px;
  font-size: 16px;
}

/* ---- ネストしたアコーディオン（カテゴリー内の「その他」） ---- */
.drawerMenu__subItem--nestedHeader {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  border: none;
  background: none;
  text-align: left;
  cursor: pointer;
}

.drawerMenu__toggle--small {
  width: 12px;
  height: 1.5px;
}

.drawerMenu__toggle--small::after {
  width: 12px;
  height: 1.5px;
}

.drawerMenu__nestedGroup.is-open .drawerMenu__subItem--nestedHeader .drawerMenu__toggle--small::after {
  transform: rotate(0deg);
  opacity: 0;
}

.drawerMenu__nestedSubList {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.25s ease;
}

.drawerMenu__nestedGroup.is-open .drawerMenu__nestedSubList {
  max-height: 600px;
}

/* ---- フラットな1行リンク（新着／セール等） ---- */
.drawerMenu__flatItem {
  display: block;
  padding: 15px 18px;
  border-bottom: 1px solid #e4e0da;
  font-size: 16px;
  font-weight: 450;
  color: #363636;
  text-decoration: none;
  cursor: pointer;
}
.drawerMenu__flatItem:visited {
  color: #363636;
}

/* ---- SNSアイコン ---- */
.drawerMenu__social {
  display: flex;
  justify-content: center;
  gap: 18px;
  padding: 24px 0 30px;
}

.drawerMenu__social a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
}

.drawerMenu__social img {
  display: block;
  width: 100%;
  height: auto;
}



/* ==========================================================
   追従ナビゲーション（followNav／SPのみ）
   ========================================================== */
body {
  padding-top: 60px;
  padding-bottom: 56px;
}

.followNav {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 100;
  width: 100%;
  background-color: #fff;
  border-top: 1px solid #a09a89;
  border-bottom: 1px solid #a09a89;
}

.followNav__list {
  display: flex;
  margin: 0;
  padding: 0;
  list-style: none;
}

.followNav__item {
  position: relative;
  flex: 1;
}

.followNav__item + .followNav__item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 100%;
  background-color: #a09a89;
}

.followNav__item a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 8px 0 12px;
  text-decoration: none;
  color: #54534f;
}
.followNav__item.cart a {
  position: relative;
}

.followNav__item img {
  display: block;
  width: 40px;
  height: 40px;
}

.followNav__item span {
  font-size: 12px;
  letter-spacing: 0.02em;
  line-height: 1;
  white-space: nowrap;
}

@media (min-width: 768px) {
  body {
    padding-top: 0;
    padding-bottom: 0;
  }

  .followNav {
    display: none;
  }
}

/* ==========================================================
   検索メガメニュー
   ========================================================== */
body.is-searchOpen {
  overflow: hidden;
}

.searchMega,
.searchMega *,
.searchMega *::before,
.searchMega *::after {
  box-sizing: border-box;
}

/* ヘッダー（z-index:1002）より前面に出し、ヘッダーに重なる形で表示する */
.searchOverlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  z-index: 1010;
}

.searchOverlay.is-open {
  opacity: 1;
  visibility: visible;
}

/* ---- パネル本体（SP：右からスライドインするドロワー／ヘッダーに重なる） ---- */
.searchMega {
  position: fixed;
  top: 0;
  right: 0;
  left: auto;
  width: 82%;
  max-width: 340px;
  height: 100%;
  background-color: #fff;
  box-shadow: -4px 0 24px rgba(0, 0, 0, 0.15);
  transform: translateX(100%);
  transition: transform 0.3s ease;
  z-index: 1011;
}

.searchMega.is-open {
  transform: translateX(0);
}

/* スクロールはinner側で受け持つ（closeボタンをパネル外にはみ出させるため） */
.searchMega__inner {
  height: 100%;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 0 0 32px;
  box-sizing: border-box;
}

/* ---- 閉じるボタン（SP：パネル左外側＝暗転オーバーレイ上に配置） ---- */
.searchMega__close {
  display: none;
  position: absolute;
  top: 10px;
  left: -56px;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: none;
  background: none;
  color: #fff;
  cursor: pointer;
}
.searchMega.is-open .searchMega__close {
  display: flex;
}

.searchMega__close svg {
  width: 40px;
  height: 40px;
}

/* ---- キーワード検索 ---- */
.searchMega__searchRow {
  padding: 24px 24px 16px;
}

.searchMega__searchBox {
  display: flex;
  align-items: center;
  position: relative;
  border: 1px solid #d8d3c8;
}

.searchMega__searchBox input {
  width: 100%;
  height: 48px;
  padding: 0 16px 0 16px;
  box-sizing: border-box;
  outline: none;
  font-size: 16px;
  color: #3a332c;
  border: 0;
  border-radius: 0;
}

.searchMega__searchBox input::-webkit-input-placeholder {
  color: #a39c90;
}

.searchMega__searchBox input::-moz-placeholder {
  color: #a39c90;
}

.searchMega__searchIcon {
  position: absolute;
  width: 20px;
  height: 20px;
  top: 50%;
  right: 14px;
  transform: translateY(-50%);
  pointer-events: none;
}
.searchMega__searchIcon img {
  display: block;
  width: 100%;
  height: auto;
}

/* ---- グループ／アコーディオン（SP：1カラム・行区切りリスト） ---- */
.searchMega__groupHeader {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 16px 24px;
  border: none;
  border-bottom: 1px solid #7f7a6a;
  background: none;
  font-size: 16px;
  font-weight: 450;
  color: #363636;
  text-align: left;
  cursor: pointer;
}

.searchMega__toggle {
  position: relative;
  flex-shrink: 0;
  width: 14px;
  height: 14px;
}

.searchMega__toggle::before,
.searchMega__toggle::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background-color: #363636;
  transform: translate(-50%, -50%);
}

.searchMega__toggle::before {
  width: 14px;
  height: 1px;
}

.searchMega__toggle::after {
  width: 1.5px;
  height: 14px;
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.searchMega__group.is-open > .searchMega__groupHeader .searchMega__toggle::after {
  transform: translate(-50%, -50%) rotate(90deg);
  opacity: 0;
}

.searchMega__optionList {
  display: none;
  flex-direction: column;
}

.searchMega__group.is-open > .searchMega__optionList {
  display: flex;
}

.searchMega__priceRow {
  display: none;
  align-items: center;
  gap: 10px;
  padding: 16px 24px 20px;
}

.searchMega__group.is-open > .searchMega__priceRow {
  display: flex;
  background-color: #fafafa;
}

.searchMega__priceRow input {
  width: 100%;
  height: 40px;
  padding: 0 10px;
  box-sizing: border-box;
  border: 1px solid #c9c9c9;
  font-size: 16px;
}

.searchMega__option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 16px 24px;
  font-size: 15px;
  color: #c9c9c9;
  cursor: pointer;
}

.searchMega__option span {
  order: 1;
  word-break: auto-phrase;
  white-space: pre-wrap;
}

.searchMega__option input[type="checkbox"] {
  order: 2;
  flex-shrink: 0;
  width: 15px;
  height: 15px;
  margin: 0;
  border: 1px solid #7f7a6a;
  border-radius: 3px;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  position: relative;
  cursor: pointer;
  border-radius: 0;
}

.searchMega__option input[type="checkbox"]:checked {
  background-color: #645e59;
  border-color: #645e59;
}

.searchMega__option input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  top: 0;
  left: 4px;
  width: 5px;
  height: 10px;
  border: solid #fff;
  border-width: 0 1px 1px 0;
  transform: rotate(45deg);
}

.searchMega__option input[type="checkbox"]:checked + span {
  color: #645e59;
}

.searchMega__submit {
  display: block;
  width: calc(530 / 592 * 100%);
  max-width: 455px;
  height: 60px;
  margin: 0 auto;
  margin-top: 32px;
  border: none;
  background-color: #645e59;
  color: #fff;
  font-size: 16px;
  letter-spacing: 0.calc(140 / 1000 * 1em);
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .searchMega__group:first-child .searchMega__groupHeader {
    border-top: 1px solid #7f7a6a;
  }
  .searchMega__optionList {
    background-color: #fafafa;
    border-bottom: 1px solid #7f7a6a;
  }
  .searchMega__priceRow {
    border-bottom: 1px solid #7f7a6a;
  }
}
@media (min-width: 768px) {
  /* ---- パネル本体（PC：ヘッダーに重なって浮かぶカード） ---- */
  .searchMega {
    position: fixed;
    top: 24px;
    right: auto;
    left: 50%;
    width: 100%;
    max-width: 1000px;
    height: auto;
    max-height: calc(100vh - 48px);
    border: 1px solid #e5e1d5;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.15);
    opacity: 0;
    visibility: hidden;
    transform: translate(-50%, -8px);
    transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease;
  }

  .searchMega.is-open {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0);
  }

  .searchMega__inner {
    max-height: calc(100vh - 48px);
    padding: 16px 40px 24px;
  }

  /* ---- 閉じるボタン（PC：メニュー内・検索ボックスの横に並べる） ---- */
  .searchMega__close {
    position: static;
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    border: 1px solid #e5e1d5;
    border-radius: 50%;
    background-color: #fff;
    color: #3a332c;
  }

  .searchMega__close svg {
    width: 18px;
    height: 18px;
  }

  .searchMega__searchRow {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 0 0 28px;
  }

  .searchMega__searchBox {
    flex: 1;
    min-width: 0;
  }

  .searchMega__searchBox input {
    height: 40px;
    padding: 0 56px 0 20px;
    font-size: 16px;
  }

  .searchMega__searchIcon {
    right: 20px;
  }

  .searchMega__groups {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 56px;
         column-gap: 56px;
    row-gap: 24px;
  }

  /* グループのDOM順はSP表示順（シューズカテゴリ/その他カテゴリ/お悩み/サイズ/
     ヒール高/価格/カラー/機能/シーン/お手入れグッズ/お悩み解決グッズ）。
     PCは4カラムグリッドのため、order指定でPC表示順に並び替える。
     1行目: シューズカテゴリ／その他カテゴリ／サイズ／ヒール高
     2行目: お悩み／カラー／機能／シーン
     3行目: 価格（2列分）／お手入れグッズ／お悩み解決グッズ */
  .searchMega__groups > .searchMega__group:nth-child(1) {
    order: 1;
  }

  .searchMega__groups > .searchMega__group:nth-child(2) {
    order: 2;
  }

  .searchMega__groups > .searchMega__group:nth-child(3) {
    order: 5;
  }

  .searchMega__groups > .searchMega__group:nth-child(4) {
    order: 3;
  }

  .searchMega__groups > .searchMega__group:nth-child(5) {
    order: 4;
  }

  .searchMega__groups > .searchMega__group:nth-child(6) {
    order: 9;
  }

  .searchMega__groups > .searchMega__group:nth-child(7) {
    order: 6;
  }

  .searchMega__groups > .searchMega__group:nth-child(8) {
    order: 7;
  }

  .searchMega__groups > .searchMega__group:nth-child(9) {
    order: 8;
  }

  .searchMega__groups > .searchMega__group:nth-child(10) {
    order: 10;
  }

  .searchMega__groups > .searchMega__group:nth-child(11) {
    order: 11;
  }

  .searchMega__group--price {
    grid-column: span 2;
  }

  .searchMega__groupHeader {
    padding: 0 0 0 8px;
    margin-bottom: 14px;
    border-top: none;
    border-bottom: none;
    border-left: 2px solid #645e59;
    font-size: 16px;
    line-height: 1;
    cursor: default;
  }

  .searchMega__toggle {
    display: none;
  }

  .searchMega__optionList {
    display: grid;
    gap: 10px 20px;
    padding: 0;
  }
  .searchMega__optionList.shoes {
    grid-template-rows: repeat(5, auto);
    grid-auto-flow: column;
  }
  .searchMega__optionList.size {
    grid-template-rows: repeat(5, auto);
    grid-auto-flow: column;
  }
  .searchMega__optionList.color {
    grid-template-rows: repeat(6, auto);
    grid-auto-flow: column;
  }
  .searchMega__optionList.solutionItems {
      grid-template-rows: repeat(3, auto);
      grid-auto-flow: column;
      align-items: start;
  }

  .searchMega__priceRow {
    display: flex !important;
    padding: 0;
  }

  .searchMega__option {
    width: auto;
    flex: 0 0 auto;
    padding: 0;
    border-bottom: none;
    font-size: 14px;
    color: #c9c9c9;
    white-space: nowrap;
  }

  .searchMega__option input[type="checkbox"] {
    display: none;
  }

  .searchMega__option input[type="checkbox"]:checked + span {
    font-weight: bold;
    color: #645e59;
    text-decoration: underline;
    -webkit-text-decoration-color: #645E59;
            text-decoration-color: #645E59;
    text-underline-offset: 4px;
  }

  .searchMega__submit {
    width: 100%;
    margin-top: 32px;
  }
}
@media screen and (min-width: 1200px) {
  .searchMega__groups {
    grid-template-columns: repeat(4, 1fr);
  }
}

/* ==========================================================
   会員・メルマガ登録
   ========================================================== */
.memberRegister {
  background-color: #faf8f4;
}
.memberRegister img {
  display: block;
  width: 100%;
  max-width: 690px;
  height: auto;
  margin: 0 auto;
}

.memberRegister__inner {
  width: calc(690 / 750 * 100vw);
  max-width: 690px;
  margin: 0 auto;
  padding: 45px 0 64px;
  box-sizing: border-box;
}

.memberRegister__head {
  text-align: center;
  margin-bottom: calc(30 / 750 * 100vw);
}

.memberRegister__label {
  margin: 0 0 8px;
  font-size: 12px;
  letter-spacing: 0.05em;
  color: #7f7a6a;
}

.memberRegister__heading {
  margin: 0;
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0.02em;
  color: #363636;
}

/* ---- バナー共通 ---- */
.memberRegister__banners {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 24px;
}

.memberRegister__banner {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  text-decoration: none;
  color: #fff;
}

.memberRegister__banner:hover {
  opacity: 0.9;
}

/* ---- 会員登録・メルマガ登録ボタン ---- */
.memberRegister__btns {
  display: flex;
  gap: 25px;
  letter-spacing: calc(45 / 1000 * 1em);
}

.memberRegister__btn {
  display: grid;
  place-items: center;
  box-sizing: border-box;
  font-size: 16px;
  width: 160px;
  height: 36px;
  text-decoration: none;
  transition: opacity 0.2s ease;
}

.memberRegister__btn:hover {
  opacity: 0.8;
}

.memberRegister__btn--primary {
  background-color: #645e59;
  color: #fff;
}
.memberRegister__btn--primary:visited {
  color: #fff;
}

.memberRegister__btn--outline {
  background-color: #fff;
  border: 1px solid #645e59;
  color: #645e59;
}
.memberRegister__btn--outline:visited {
  color: #645e59;
}

@media (min-width: 768px) {
  .memberRegister__inner {
    padding: 104px 0px;
  }

  .memberRegister__head {
    margin-bottom: 40px;
  }

  .memberRegister__label {
    font-size: 24px;
    margin-bottom: 12px;
  }

  .memberRegister__heading {
    font-size: 32px;
  }

  .memberRegister__banners {
    gap: 20px;
    margin-bottom: 40px;
  }

  .memberRegister__couponMain {
    gap: 24px;
    padding: 0 40px;
  }

  .memberRegister__couponBadge {
    font-size: 14px;
  }

  .memberRegister__couponPrice {
    font-size: 42px;
  }

  .memberRegister__couponLabel {
    font-size: 18px;
  }

  .memberRegister__couponCta {
    padding: 10px 0;
    font-size: 14px;
  }

  .memberRegister__rankMain {
    gap: 24px;
    padding: 0 40px;
  }

  .memberRegister__rankText {
    font-size: 14px;
  }

  .memberRegister__rankHeading {
    font-size: 30px;
  }

  .memberRegister__rankCta {
    padding: 14px 40px 18px;
    font-size: 13px;
  }

  .memberRegister__btns {
    justify-content: center;
    gap: 40px;
  }

  .memberRegister__btn {
    width: 224px;
    height: 51px;
    font-size: 20px;
  }
}

/* ---- 会員登録・メルマガ登録ボタン ---- */
.fs-c-breadcrumb {
  font-size: 10px;
  color: #363636;
  width: calc(690 / 750 * 100vw);
  max-width: 1000px;
  letter-spacing: calc(45 / 1000 * 1em);
  margin: 0 auto;
}
.fs-c-breadcrumb__list {
  padding: 4px 0;
}
@media screen and (min-width: 768px) {
  .fs-c-breadcrumb {
    font-size: 16px;
  }
  .fs-c-breadcrumb__list {
    padding: 8px 0;
  }
}

/* 下層ページ共通見出し */
.fs-c-heading--page {
  border-bottom: none;
  border-left: 3px solid #645e59;
  font-size: 15px;
  letter-spacing: calc(140 / 1000 * 1em);
  line-height: 1;
  color: #363636;
  padding: 0;
  padding-left: 1em;
  text-align: left;
  font-weight: 450;
}
.fs-c-inputInformation__message {
  font-size: 12px;
  letter-spacing: calc(45 / 1000 * 1em);
  line-height: calc(36 / 24);
}
.fs-c-orderedList > li {
  color: #363636;
}
.fs-c-orderedList > li::before {
  color: #363636;
}
.fs-c-buttonContainer {
  padding: 0;
}
.fs-c-button--primary {
  width: 100%;
  height: 45px;
  background-color: #645e59;
  font-size: 12px;
  color: #fff;
  letter-spacing: calc(140 / 1000 * 1em);
}
@media screen and (min-width: 768px) {
  .fs-c-heading--page {
    font-size: 32px;
    padding-left: 14px;
    border-left: 5px solid #645e59;
  }
  .fs-c-inputInformation__message {
    font-size: 16px;
  }
}
/* .fs-page__newsletter-subscribe  */
.fs-c-button--sendVerificationCode {
  background-color: #645e59;
}
.fs-c-inputInformation__field {
  max-width: 750px;
}
.fs-c-inputInformation__buttonMessage p {
  margin: 32px 0 24px;
}

.fs-c-button--backToRegister,
.fs-c-button--topPage,
.fs-c-button--myPageTop {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 16px 0;
  border: 1px solid #645e59;
  background-color: #fff;
  color: #645e59;
  font-size: 12px;
  letter-spacing: calc(140 / 1000 * 1em);
  text-decoration: none;
  position: relative;
  width: calc(650 / 750 * 100vw);
  max-width: 455px;
  margin: 0 auto;
}
.fs-c-button--backToRegister:visited,
.fs-c-button--topPage:visited,
.fs-c-button--myPageTop:visited {
  color: #645e59;
}
.fs-c-button--topPage {
  margin-top: 36px;
}

.fs-c-button--confirmRegister {
  max-width: 455px;
}

.fs-c-inputInformation__message {
  justify-content: start;
}
.fs-c-buttonContainer--pair {
  width: calc(650 / 750 * 100vw);
  max-width: 650px;
  margin-right: auto;
  margin-left: auto;
}

.fs-c-button--resendVerificationCode {
  margin-top: 16px;
}
.fs-body-newsletter-subscribe .fs-l-pageMain,
.fs-body-newsletter-subscribe-verification .fs-l-pageMain,
.fs-body-newsletter-subscribe-success .fs-l-pageMain,
.fs-body-my-account-delete .fs-l-pageMain {
  padding-bottom: 80px;
}

.fs-c-button--cancel {
  display: grid;
  place-items: center;
  width: 100%;
  background-color: #fafafa;
  color: #363636;
  border: none;
  text-decoration: none;
  box-shadow: none;
}
.fs-c-button--cancel:visited {
  color: #363636;
}

/* 各ページ余白まとめ */
/*会員登録*/
.fs-page__register {
  padding-top: 40px;
  padding-bottom: 40px;
}
/*メールアドレス認証*/
.fs-page__email-auth {
  padding-top: 48px;
  padding-bottom: 48px;
}
/*会員登録確認*/
.fs-page__register-confirm {
  padding-top: 40px;
  padding-bottom: 40px;
}
/*会員登録完了*/
.fs-page__register-complete {
  padding-top: 40px;
  padding-bottom: 40px;
}
/*パスワード認証*/
.fs-page__password-auth {
  padding-top: 48px;
  padding-bottom: 56px;
}
/*パスワードをお忘れの方*/
.fs-page__password-forgot {
  padding-top: 48px;
  padding-bottom: 56px;
}
/*新しいパスワードの登録*/
.fs-page__password-reset {
  padding-top: 48px;
  padding-bottom: 56px;
}
/* パスワード変更 */
.fs-page__password-change {
  padding-top: 48px;
  padding-bottom: 56px;
}
/* ログイン連携 */
.fs-page__account-linkage {
  padding-top: 48px;
  padding-bottom: 56px;
}
.fs-c-linkService {
  grid-template-columns: 1fr;
}
.fs-c-linkService--line .fs-c-button--secondary {
  background-color: #06c755;
  border: none;
}
/* 会員情報確認 */
.fs-page__members-info {
  padding-top: 40px;
  padding-bottom: 40px;
}
.fs-c-button--change {
  display: grid;
  place-items: center;
  width: calc(690 / 750 * 100vw);
  max-width: 455px;
}
/* 会員情報の変更 */
.fs-page__members-info--edit {
  padding-top: 40px;
  padding-bottom: 40px;
}
.fs-c-button--confirmChange {
  display: grid;
  place-items: center;
  width: calc(690 / 750 * 100vw);
  max-width: 455px;
}
/*お気に入りログイン*/
/*.fs-page__favorite-login {
  padding-top: ;
  padding-bottom: ;
}*/
/* 注文履歴 */
.fs-page__order-history {
  padding-top: 32px;
  padding-bottom: 54px;
}
.fs-page__order-history .fs-c-heading--page {
  display: block;
  max-width: 750px;
  margin: 0 auto;
  padding-bottom: 16px;
  margin-bottom: 16px;
  border: none;
  border-bottom: 1px solid #a09a89;
  box-sizing: border-box;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
  letter-spacing: calc(45 / 1000 * 1em);
  color: #363636;
  text-align: center;
}
/* クーポン */
.fs-page__coupon-info {
  padding-top: 32px;
  padding-bottom: 54px;
}
.fs-page__coupon-info .fs-c-heading--page {
  display: block;
  max-width: 750px;
  margin: 0 auto;
  padding-bottom: 16px;
  margin-bottom: 16px;
  border: none;
  border-bottom: 1px solid #a09a89;
  box-sizing: border-box;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
  letter-spacing: calc(45 / 1000 * 1em);
  color: #363636;
  text-align: center;
}
/*お気に入り*/
.fs-page__favorite {
  padding-top: 32px;
  padding-bottom: 54px;
}
.fs-page__favorite .fs-c-heading--page {
  display: block;
  max-width: 750px;
  margin: 0 auto;
  padding-bottom: 16px;
  margin-bottom: 16px;
  border: none;
  border-bottom: 1px solid #a09a89;
  box-sizing: border-box;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
  letter-spacing: calc(45 / 1000 * 1em);
  color: #363636;
  text-align: center;
}
.fs-page__favorite .fs-p-announcement__title {
  font-size: 14px;
  letter-spacing: calc(45 / 1000 * 1em);
  color: #363636;
}
.fs-page__favorite .fs-c-list {
  font-size: 12px;
  letter-spacing: calc(45 / 1000 * 1em);
  color: #363636;
}
/* ポイント履歴 */
.fs-page__point-history {
  padding-top: 32px;
  padding-bottom: 32px;
}
.fs-page__point-history .fs-c-heading--page {
  display: block;
  max-width: 750px;
  margin: 0 auto;
  padding-bottom: 16px;
  margin-bottom: 16px;
  border: none;
  border-bottom: 1px solid #a09a89;
  box-sizing: border-box;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
  letter-spacing: calc(45 / 1000 * 1em);
  color: #363636;
  text-align: center;
}
/* レビュー履歴 */
.fs-page__review-history {
  padding-top: 32px;
  padding-bottom: 32px;
}
.fs-page__review-history .fs-c-heading--page {
  display: block;
  max-width: 750px;
  margin: 0 auto;
  padding-bottom: 16px;
  margin-bottom: 16px;
  border: none;
  border-bottom: 1px solid #a09a89;
  box-sizing: border-box;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
  letter-spacing: calc(45 / 1000 * 1em);
  color: #363636;
  text-align: center;
}
/* クレジットカード */
.fs-page__credit-info {
  padding-top: 32px;
  padding-bottom: 32px;
}
.fs-page__credit-info .fs-c-heading--page {
  display: block;
  max-width: 750px;
  margin: 0 auto;
  padding-bottom: 16px;
  margin-bottom: 16px;
  border: none;
  border-bottom: 1px solid #a09a89;
  box-sizing: border-box;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
  letter-spacing: calc(45 / 1000 * 1em);
  color: #363636;
  text-align: center;
}
/* セール用 */
.fs-page__product-group--for-sale {
  padding-top: 32px;
  padding-bottom: 54px;
}
/*商品検索結果一覧*/
.fs-page__product-search {
  padding-top: 32px;
  padding-bottom: 54px;
}
.fs-page__product-search .fs-c-heading--page {
  font-size: 0;
  border: none;
  margin-bottom: 0;
  padding: 0;
  margin-top: 64px;
}
.fs-page__product-search .fs-c-heading--page::after {
  content: '検索結果';
  font-size: 20px;
  letter-spacing: calc(40 / 1000 * 1em);
}
/*商品詳細*/
.fs-page__product {
  padding-top: 0;
  padding-bottom: 54px;
}
/*ショッピングカート*/
.fs-page__cart {
  padding-top: 32px;
  padding-bottom: 32px;
}
.fs-page__cart .fs-c-wishlistProduct {
  display: none;
}
/*ご注文手続き*/
.fs-page__order {
  padding-top: 32px;
  padding-bottom: 54px;
}
/*お客様情報入力*/
.fs-page__customer {
  padding-top: 32px;
  padding-bottom: 54px;
}
/*ご注文完了*/
.fs-page__order-complete {
  padding-top: 40px;
  padding-bottom: 40px;
}
/*マイページ*/
.fs-page__mypage {
  padding-top: 40px;
  padding-bottom: 40px;
}
/*マイページログイン*/
.fs-page__mypage-login {
  padding-top: 24px;
  padding-bottom: 24px;
}
/*ショッピングカートログイン*/
/*.fs-page__cart-login {
  padding-top: ;
  padding-bottom: ;
}*/
/*特定商取引法に基づく表示*/
.fs-page__terms {
  padding-top: 40px;
  padding-bottom: 56px;
}
/*プライバシーポリシー*/
.fs-page__privacy-policy {
  padding-top: 40px;
  padding-bottom: 56px;
}
/*ページが見つかりません*/
/*.fs-page__404 {}*/
/*フリーページ*/
.fs-page__free {
  padding-top: 32px;
  padding-bottom: 54px;
}
.fs-page__free--no-title {
  padding-top: 0;
  padding-bottom: 52px;
}
.fs-page__free .fs-c-heading--page {
  display: block;
  max-width: 750px;
  margin: 0 auto;
  padding-bottom: 16px;
  margin-bottom: 16px;
  border: none;
  border-bottom: 1px solid #a09a89;
  box-sizing: border-box;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
  letter-spacing: calc(45 / 1000 * 1em);
  color: #363636;
  text-align: center;
}

@media screen and (min-width: 768px) {
    /*会員登録*/
    .fs-page__register {
      padding-top: 70px;
      padding-bottom: 80px;
    }
    /*メールアドレス認証*/
    .fs-page__email-auth {
      padding-top: 96px;
      padding-bottom: 120px;
    }
    /*会員登録確認*/
    .fs-page__register-confirm {
      padding-top: 70px;
      padding-bottom: 70px;
    }
    /* 退会 */
    .fs-page__delete {
      padding-top: 70px;
      padding-bottom: 70px;
    }
    /*会員登録完了*/
    .fs-page__register-complete {
      padding-top: 70px;
      padding-bottom: 70px;
    }
    /*パスワード認証*/
    .fs-page__password-auth {
      padding-top: 100px;
      padding-bottom: 100px;
    }
    /*パスワードをお忘れの方*/
    .fs-page__password-forgot {
      padding-top: 100px;
      padding-bottom: 100px;
    }
    /*新しいパスワードの登録*/
    .fs-page__password-reset {
      padding-top: 100px;
      padding-bottom: 100px;
    }
    /* パスワード変更 */
    .fs-page__password-change {
      padding-top: 100px;
      padding-bottom: 100px;
    }
    /* ログイン連携 */
    .fs-page__account-linkage {
      padding-top: 100px;
      padding-bottom: 100px;
    }
    /* 会員情報確認 */
    .fs-page__members-info {
      padding-top: 70px;
      padding-bottom: 70px;
    }
    /* 会員情報の変更 */
    .fs-page__members-info--edit {
      padding-top: 70px;
      padding-bottom: 80px;
    }

    /* 注文履歴 */
    .fs-page__order-history {
      padding-top: 54px;
      padding-bottom: 104px;
    }
     .fs-page__order-history .fs-c-heading--page {
      padding-bottom: 48px;
      margin-bottom: 48px;
      border-bottom: 2px solid #7f7a6a;
    }
    .fs-page__order-history .fs-c-history {
      margin-bottom: 64px;
    }
    /* クーポン */
    .fs-page__coupon-info {
      padding-top: 54px;
      padding-bottom: 104px;
    }
    .fs-page__coupon-info .fs-c-heading--page {
      padding-bottom: 48px;
      margin-bottom: 48px;
      border-bottom: 2px solid #7f7a6a;
    }
    /*お気に入り*/
    .fs-page__favorite {
      padding-top: 54px;
      padding-bottom: 104px;
    }
    .fs-page__favorite .fs-c-heading--page {
      padding-bottom: 48px;
      margin-bottom: 48px;
      border-bottom: 2px solid #7f7a6a;
    }
    .fs-page__favorite .fs-p-announcement__title {
      font-size: 16px;
    }
    .fs-page__favorite .fs-c-list {
      font-size: 16px;
    }
    /*お気に入りログイン*/
    /*.fs-page__favorite-login {
      padding-top: ;
      padding-bottom: ;
    }*/
    /* ポイント履歴 */
    .fs-page__point-history {
      padding-top: 54px;
      padding-bottom: 104px; 
    }
    .fs-page__point-history .fs-c-heading--page {
      padding-bottom: 48px;
      margin-bottom: 48px;
      border-bottom: 2px solid #7f7a6a;
    }
    /* レビュー履歴 */
    .fs-page__review-history {
      padding-top: 54px;
      padding-bottom: 104px; 
    }
    .fs-page__review-history .fs-c-heading--page {
      padding-bottom: 48px;
      margin-bottom: 48px;
      border-bottom: 2px solid #7f7a6a;
    }
    /* クレジットカード */
    .fs-page__credit-info {
      padding-top: 54px;
      padding-bottom: 104px; 
    }
    .fs-page__credit-info .fs-c-heading--page {
      padding-bottom: 48px;
      margin-bottom: 48px;
      border-bottom: 2px solid #7f7a6a;
    }
    /* セール用 */
    .fs-page__product-group--for-sale {
      padding-top: 64px;
      padding-bottom: 100px;
    }
    /*商品検索結果一覧*/
    .fs-page__product-search {
      padding-top: 64px;
      padding-bottom: 100px;
    }
    .fs-page__product-search .fs-c-heading--page {
      margin-bottom: 0;
    }
    .fs-page__product-search .fs-c-heading--page::after {
      content: '検索結果';
      font-size: 32px;
    }
    /*商品詳細*/
    /* .fs-page__product {
      padding-top: ;
      padding-bottom: ;
    } */
    /*ショッピングカート*/
    .fs-page__cart {
      padding-top: 54px;
      padding-bottom: 104px;
    }
    /*ご注文手続き*/
    .fs-page__order {
      padding-top: 54px;
      padding-bottom: 104px;
    }
    /*お客様情報入力*/
    .fs-page__customer {
      padding-top: 54px;
      padding-bottom: 104px;
    }
    /*ご注文完了*/
    .fs-page__order-complete {
      padding-top: 70px;
      padding-bottom: 70px;
    }
    /*マイページ*/
    .fs-page__mypage {
      padding-top: 100px;
      padding-bottom: 100px;
    }
    /*マイページログイン*/
    .fs-page__mypage-login {
      padding-top: 100px;
      padding-bottom: 100px;
    }
    /*ショッピングカートログイン*/
    /*.fs-page__cart-login {
      padding-top: ;
      padding-bottom: ;
    }*/
    /*特定商取引法に基づく表示*/
    .fs-page__terms {
      padding-top: 75px;
      padding-bottom: 80pxs;
    }
    /*プライバシーポリシー*/
    .fs-page__privacy-policy {
      padding-top: 75px;
      padding-bottom: 80px;
    }
    /*ページが見つかりません*/
    /*.fs-page__404 {}*/
    /*フリーページ*/
    .fs-page__free {
      padding-top: 54px;
      padding-bottom: 104px;
    }
    .fs-page__free--no-title {
      padding-top: 0;
      padding-bottom: 120px;
    }
    .fs-page__free .fs-c-heading--page {
      padding-bottom: 48px;
      margin-bottom: 48px;
      border-bottom: 2px solid #7f7a6a;
    }
}

/* .fs-page__free:has(.guide) {
  max-width: 1000px;
} */
.guide-list-box .sub-list ul {
  all: inherit!important;
}
@media screen and (min-width: 768px) {
  .guide-list-box {
    display: grid;
    place-items: start;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
  }
  .guide-list-box li {
    width: 100%!important;
    margin: 0!important;
  }
  .guide-list-box .sub-list li {
    width: 100%;
    margin: 0;
    width: 100%;
  }  
}

@media screen and (min-width: 768px) {
  .fs-c-coupon__info {
    display: grid;
    grid-template-columns: auto 1fr;
  }
  .fs-c-coupon__image {
    display: none;
  }
  /* .fs-c-coupon__image {
    grid-column: 1 / span 1;
    grid-row: 1 / span 2;
  }
  .fs-c-coupon__image__image {
    width: 100%;
  }
  .fs-c-couponName {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-column: 2 / span 1;
  }
  .fs-c-couponName__name {
    order: 1;
  }
  .fs-c-coupon__description {
    grid-column: 2 / span 1;
  } */
}