html:has(.onlineYamaguchikanContent) {
  scroll-behavior: smooth;
}
.onlineYamaguchikanContent {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  letter-spacing: 0.06em;
  color: #262626;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  /* =============================================
  基本設定
  ============================================= */
  ul,
  ol {
    padding: 0;
    margin: 0;
    li {
      list-style: none;
    }
  }
  a {
    color: #262626;
    transition: all 300ms;
    &:hover {
      opacity: 0.7;
    }
    &#cart-notification-button {
      color: rgb(241,94,75);
    }
  }
  button {
    transition: all 300ms;
    &:hover {
      opacity: 0.7;
    }
  }
  picture,
  img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
  }

  @media (max-width: 750px) {
    .pc_only {
      display: none !important;
    }
    .sp_only {
      display: block !important;
    }
  }
  
  @media (min-width: 751px) {
    .sp_only {
      display: none !important;
    }
    .pc_only {
      display: block !important;
    }
  }

  /* タイトル：センター */
  .c-main-title__center {
    width: 100%;
    max-width: 128rem;
    padding-inline: 4rem;
    margin-inline: auto;
    margin-bottom: 3rem;
    > * {
      display: block;
      font-size: 3.2rem;
      font-weight: 500;
      letter-spacing: 0.02em;
      line-height: 1;
      color: #F15E4B;
      text-align: center;
      margin: 0;
      span {
        display: block;
        font-size: 1.6rem;
        font-weight: 700;
        letter-spacing: 0.06em;
        line-height: 1;
        color: #262626;
        padding-top: 1.4rem;
      }
    }
    @media (max-width: 750px) {
      padding-inline: 1rem;
      > * {
        font-size: 2.6rem;
        span {
          font-size: 1.4rem;
        }
      }
    }
  }

  /* タイトル：左寄せ */
  .c-main-title__left {
    width: 100%;
    max-width: 128rem;
    padding-inline: 4rem;
    margin-inline: auto;
    margin-bottom: 3rem;
    > * {
      display: flex;
      align-items: center;
      font-size: 3.2rem;
      font-weight: 500;
      letter-spacing: 0.02em;
      line-height: 1;
      color: #F15E4B;
      margin: 0;
      span {
        display: block;
        font-size: 1.6rem;
        font-weight: 700;
        letter-spacing: 0.06em;
        line-height: 1;
        color: #262626;
        padding-left: 3rem;
      }
    }
    @media (max-width: 750px) {
      padding-inline: 1rem;
      > * {
        font-size: 2.6rem;
        span {
          font-size: 1.4rem;
          padding-left: 0.8rem;
        }
      }
    }
  }
  /* ボタン */
  .cmn-btn {
    width: fit-content;
    margin-inline: auto;
    a {
      display: block;
      width: fit-content;
      font-size: 1.6rem;
      font-weight: 700;
      line-height: 1.375;
      color: #fff;
      text-align: center;
      text-decoration: none;
      border: 1px solid #F15E4B;
      border-radius: 0.4rem;
      background-color: #F15E4B;
      position: relative;
      padding: 0.5rem 3.8rem 0.7rem;
      &::after {
        content: "";
        display: block;
        width: 0.67rem;
        height: 1.2rem;
        background-image: url(/cdn/shop/files/arrow_right_white.svg);
        background-size: 100% 100%;
        background-position: center center;
        background-repeat: no-repeat;
        position: absolute;
        top: 50%;
        right: 1rem;
        transform: translateY(-50%);
        transition: all 300ms;
      }
      &:hover {
        opacity: 1;
        color: #F15E4B;
        background-color: #fff;
        &::after {
          background-image: url(/cdn/shop/files/arrow_right_red.svg);
        }
      }
    }
  }

  /* タグ */
  .tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-bottom: 0.8rem;
    > .tag {
      display: block;
      min-width: 4.6rem;
      font-size: 1.1rem;
      font-weight: 700;
      line-height: 1;
      text-align: center;
      border-radius: 0.4rem;
      padding: 0.3rem 1rem 0.5rem;
      &.tag--new {
        color: #fff;
        border: 1px solid #E14656;
        background-color: #E14656;
      }
      &.tag--送料込み {
        color: #5E9C6D;
        border: 1px solid #5E9C6D;
        background-color: #fff;
      }
    }
    @media (max-width: 750px) {
      gap: 0.3rem;
      margin-bottom: 0.4rem;
      > .tag {
        min-width: 3.4rem;
        font-size: 0.8rem;
      }
    }
  }
  /* コンテンツ表示用アニメーション */
  .fade-in-up {
    opacity: 0;
    transform: translateY(30px);
    transition: all 600ms;
    &.is-view {
      opacity: 1;
      transform: translateY(0);
    }
  }

  /* =============================================
  ヘッダー
  ============================================= */
  /* ヘッダー */
  .header {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    width: 100%;
    height: 7.2rem;
    // max-width: 126rem;
    padding-inline: 3rem;
    margin-inline: auto;
    .menu-drawer-container {
      display: flex;
      align-items: center;
      justify-content: center;
      margin-right: 2rem;
      .header__icon {
        width: 2rem;
        height: 2rem;
        .icon-hamburger {
          width: 2rem;
          transform: scale(1) !important;
        }
        .icon-close {
          width: 1.6rem;
        }
      }
    }

    .header__heading {
      width: 37.5rem;
      a {
        display: block;
        padding: 0;
      }
    }

    .header__icons {
      display: flex;
      align-items: center;
      margin-left: auto;
      padding-right: 1rem;
      .header__search-box {
        width: 30rem;
        height: 4rem;
        position: relative;
        margin-right: 1rem;
        .search-form {
          input[type="text"] {
            all: unset;
            display: block;
            width: 24.2rem;
            height: 4rem;
            font-size: 1.4rem;
            font-weight: 500;
            line-height: 4rem;
            border: 1px solid #EDEDED;
            border-radius: 10rem;
            background-color: #F6F6F6;
            padding: 0 4rem 0 1.6rem;
            &::placeholder {
              color: #AEAEAE;
              font-weight: 500;
            }
          }
          .search-button {
            all: unset;
            width: 1.6rem;
            height: 1.6rem;
            cursor: pointer;
            position: absolute;
            top: 50%;
            right: 1.2rem;
            transform: translateY(-50%);
            img {
              display: block;
            }
          }
        }
      }

      .header__icon--text {
        width: fit-content;
        margin-right: 1rem;
        a {
          font-size: 1.3rem;
          font-weight: 500;
          text-decoration: none;
        }
      }

      .header__icon--account {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 4rem;
        height: 4rem;
        .svg-wrapper {
          width: 2rem;
        }
      }

      .header__icon--search {
        display: none;
      }

      .header__icon--cart {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 4rem;
        height: 4rem;
        .svg-wrapper {
          width: 2rem;
        }
        .cart-count-bubble {
          bottom: 1.8rem;
        }
      }
    }

    .header__icon:hover .icon,
    .modal__close-button:hover .icon {
      transform: scale(1);
    }

    .menu-drawer-container {
      .header__icon--menu {
        &::before {
          content: "";
          display: block;
          width: 100%;
          height: 100%;
          position: fixed;
          top: 0;
          left: 0;
          z-index: 1;
          background-color: rgba(38,38,38,0.3);
          opacity: 0;
          pointer-events: none;
          transition: all 400ms;
        }
      }
      .menu-drawer {
        width: 100%;
        max-width: 40rem;
        height: 100%;
        position: fixed;
        top: 0;
        left: 0;
        transition: all 400ms;
        transition-timing-function: ease-in-out;
        .menu-drawer__inner-container {
          overflow-y: scroll;
          -ms-overflow-style: none;
          scrollbar-width: none;
          &::-webkit-scrollbar{
            display: none;
          }
          .menu-drawer__navigation-container {
            display: block;
            padding: 5.6rem 3rem 10rem;
            -ms-overflow-style: none;
            scrollbar-width: none;
            &::-webkit-scrollbar{
              display: none;
            }
          }
          .menu-drawer__menber {
            display: flex;
            align-items: center;
            border-bottom: 1px solid #F15E4B;
            padding-bottom: 1rem;
            margin-bottom: 4rem;
            .header__icon--text {
              width: fit-content;
              margin-right: 1rem;
              a {
                font-size: 1.3rem;
                font-weight: 500;
                text-decoration: none;
                transition: all 300ms;
              }
            }
            .header__icon--account {
              width: 4rem;
              height: 4rem;
              .svg-wrapper {
                width: 2rem;
              }
            }

            .header__icon--cart {
              width: 4rem;
              height: 4rem;
              .svg-wrapper {
                width: 2rem;
              }
            }
          }
          .menu-drawer__search-box {
            width: 100%;
            height: 4rem;
            position: relative;
            margin-bottom: 4rem;
            .search-form {
              input[type="text"] {
                all: unset;
                display: block;
                width: calc(100% - 5.8rem);
                height: 4rem;
                font-size: 1.4rem;
                font-weight: 500;
                line-height: 4rem;
                border: 1px solid #EDEDED;
                border-radius: 10rem;
                background-color: #F6F6F6;
                padding: 0 4rem 0 1.6rem;
                &::placeholder {
                  color: #AEAEAE;
                  font-weight: 500;
                }
              }
              .search-button {
                all: unset;
                width: 1.6rem;
                height: 1.6rem;
                cursor: pointer;
                position: absolute;
                top: 50%;
                right: 1.2rem;
                transform: translateY(-50%);
                img {
                  display: block;
                }
              }
            }
          }
          .menu-drawer__navigation {
            padding: 0;
            .menu-title {
              font-size: 1.6rem;
              font-weight: 700;
              color: #262626;
              line-height: 1.75;
              border-top: 1px solid #EDEDED;
              padding: 1.2rem 0;
              position: relative;
              margin-top: 0;
              margin-bottom: 0;
              &.menu-toggle {
                cursor: pointer;
                &::after {
                  content: "";
                  display: block;
                  width: 1.2rem;
                  height: 0.67rem;
                  background-image: url(/cdn/shop/files/arrow_up_black.svg);
                  background-size: 100% 100%;
                  background-position: center center;
                  background-repeat: no-repeat;
                  position: absolute;
                  top: 50%;
                  right: 0;
                  transform: translateY(-50%) rotate(180deg);
                  transition: all 300ms;
                }
                &.is-viewed {
                  &::after {
                    transform: translateY(-50%) rotate(0);
                  }
                }
                + .menu-blk {
                  display: none;
                }
              }
            }
            .menu-blk {
              display: block;
              padding: 0 0 4rem;
              li {
                margin-bottom: 1rem;
                &:last-of-type {
                  margin-bottom: 0;
                }
                a {
                  display: block;
                  font-size: 1.4rem;
                  font-weight: 500;
                  line-height: 1.57;
                  text-decoration: none;
                }
              }
              &.menu-blk__category {
                li {
                  margin-bottom: 0.5rem;
                  &:last-of-type {
                    margin-bottom: 0;
                  }
                  a {
                    display: flex;
                    align-items: center;
                    &::before {
                      content: "";
                      flex-shrink: 0;
                      display: block;
                      width: 4.4rem;
                      height: 4.4rem;
                      background-size: 100% 100%;
                      background-position: center center;
                      background-repeat: no-repeat;
                      margin-right: 1.4rem;
                    }
                  }
                  &.menu-item__すべての商品 {
                    a {
                      &::before {
                        background-image: url(/cdn/shop/files/icon_all.svg);
                      }
                    }
                  }
                  &.menu-item__お菓子 {
                    a {
                      &::before {
                        background-image: url(/cdn/shop/files/icon_okashi.svg);
                      }
                    }
                  }
                  &.menu-item__練り製品 {
                    a {
                      &::before {
                        background-image: url(/cdn/shop/files/icon_neri.svg);
                      }
                    }
                  }
                  &.menu-item__ふく-ふく加工品 {
                    a {
                      &::before {
                        background-image: url(/cdn/shop/files/icon_fuku.svg);
                      }
                    }
                  }
                  &.menu-item__水産加工品 {
                    a {
                      &::before {
                        background-image: url(/cdn/shop/files/icon_suisan.svg);
                      }
                    }
                  }
                  &.menu-item__畜産加工品 {
                    a {
                      &::before {
                        background-image: url(/cdn/shop/files/icon_chikusan.svg);
                      }
                    }
                  }
                  &.menu-item__農産加工品 {
                    a {
                      &::before {
                        background-image: url(/cdn/shop/files/icon_nousankako.svg);
                      }
                    }
                  }
                  &.menu-item__果物-野菜-米-飲料 {
                    a {
                      &::before {
                        background-image: url(/cdn/shop/files/icon_nousan.svg);
                      }
                    }
                  }
                  &.menu-item__詰合せ-セット {
                    a {
                      &::before {
                        background-image: url(/cdn/shop/files/icon_set.svg);
                      }
                    }
                  }
                  &.menu-item__民工芸品-その他 {
                    a {
                      &::before {
                        background-image: url(/cdn/shop/files/icon_kougei.svg);
                      }
                    }
                  }
                  &.menu-item__酒-ビール {
                    a {
                      &::before {
                        background-image: url(/cdn/shop/files/icon_sake.svg);
                      }
                    }
                  }
                }
              }
              &.menu-blk__sns {
                li {
                  margin-bottom: 1.6rem;
                  &:last-of-type {
                    margin-bottom: 0;
                  }
                  a {
                    display: flex;
                    align-items: center;
                    &::before {
                      content: "";
                      flex-shrink: 0;
                      display: block;
                      width: 2rem;
                      height: 2rem;
                      background-size: 100% 100%;
                      background-position: center center;
                      background-repeat: no-repeat;
                      margin-right: 1.6rem;
                    }
                  }
                  &.menu-instagram {
                    a {
                      &::before {
                        background-image: url(/cdn/shop/files/icon_instagram.svg);
                      }
                    }
                  }
                  &.menu-line {
                    a {
                      &::before {
                        background-image: url(/cdn/shop/files/icon_line.svg);
                      }
                    }
                  }
                }
              }
            }
          }
          .menu-contact {
            background-color: #F6F6F6;
            border-radius: 1rem;
            padding: 2rem 4rem 3rem;
            h2 {
              font-size: 1.6rem;
              font-weight: 700;
              color: #F15E4B;
              line-height: 1.75;
              text-align: center;
              margin: 0 0 1.2rem;
            }
            ul {
              display: flex;
              flex-direction: column;
              gap: 1.6rem;
              li {
                a,
                .alt-a {
                  display: flex;
                  align-items: center;
                  font-size: 1.2rem;
                  font-weight: 500;
                  line-height: 1.583;
                  text-decoration: none;
                  position: relative;
                  &::before {
                    content: "";
                    flex-shrink: 0;
                    display: block;
                    width: 2rem;
                    background-size: 100% 100%;
                    background-position: center center;
                    background-repeat: no-repeat;
                    margin-right: 1.6rem;
                  }
                  .bold {
                    display: block;
                    font-weight: 700;
                  }
                }
                &.menu-contact__email {
                  a,
                  .alt-a {
                    &::before {
                      height: 1.6rem;
                      background-image: url(/cdn/shop/files/icon_email.svg);
                    }
                  }
                }
                &.menu-contact__phone {
                  a,
                  .alt-a {
                    &::before {
                      height: 2rem;
                      background-image: url(/cdn/shop/files/icon_phone.svg);
                    }
                  }
                }
                &.menu-contact__company {
                  a,
                  .alt-a {
                    &::before {
                      height: 1.8rem;
                      background-image: url(/cdn/shop/files/icon_store.svg);
                    }
                  }
                }
              }
            }
          }
        }
      }
      &.menu-opening {
        .header__icon--menu {
          &::before {
            opacity: 1;
            pointer-events: auto;
          }
          span {
            display: block;
            width: 2rem;
            height: 2rem;
            position: fixed;
            top: 2.6rem;
            left: 3rem;
            z-index: 4;
          }
        }
      }
    }

    @media (max-width: 1000px) {
      height: 6rem;
      padding-inline: 1rem;
      header-drawer {
        order: 3;
        margin-right: -1rem;
      }
      .menu-drawer-container {
        margin-right: 0;
        .header__icon {
          width: 4rem;
          height: 4rem;
          .icon-hamburger {
            width: 2rem;
          }
          .icon-close {
            width: 1.6rem;
          }
        }
      }

      .header__heading {
        width: 23rem;
      }

      .header__icons {
        .header__search-box {
          display: none;
        }

        .header__icon--text {
          display: none;
        }

        .header__icon--account {
          display: none;
        }

        .header__icon--search {
          display: block;
          width: 4rem;
          height: 4rem;
        }
      }

      .header__icon:hover .icon,
      .modal__close-button:hover .icon {
        transform: scale(1);
      }

      .menu-drawer-container {
        .menu-drawer {
          max-width: 37.5rem;
          left: auto;
          right: 0;
          transform: translateX(100%);
          .menu-drawer__inner-container {
            .menu-drawer__navigation-container {
              padding: 5.6rem 1.7rem 10rem;
            }
            .menu-contact {
              padding: 2rem 3rem 3rem;
            }
          }
        }
        &.menu-opening {
          .header__icon--menu {
            span {
              display: flex;
              width: 4rem;
              height: 4rem;
              position: fixed;
              top: 1rem;
              left: auto;
              right: 0;
              z-index: 4;
            }
          }
        }
      }
    }
  }

  /* ヘッダーカテゴリ */
  .header-category {
    width: 100%;
    background-color: #F6F6F6;
    overflow: hidden;
    ul {
      display: flex;
      align-items: center;
      width: fit-content;
      margin: 0 auto;
      overflow-x: scroll;
      -ms-overflow-style: none;
      scrollbar-width: none;
      &::-webkit-scrollbar{
        display: none;
      }
      li {
        flex-shrink: 0;
        a {
          display: block;
          font-size: 1.4rem;
          font-weight: 500;
          line-height: 1.571;
          text-decoration: none;
          padding: 1.8rem 1.5rem;
          position: relative;
          &::after {
            content: "";
            display: block;
            width: 100%;
            height: 0.3rem;
            background-color: #F15E4B;
            position: absolute;
            bottom: 0;
            left: 0;
            transition: all 300ms;
            opacity: 0;
          }
          &:hover {
            opacity: 1;
            &::after {
              opacity: 1;
            }
          }
        }
      }
    }

    @media (max-width: 1000px) {
      background-color: transparent;
      ul {
        gap: 0.6rem;
        width: 100%;
        &::before,
        &::after {
          content: "";
          flex-shrink: 0;
          display: block;
          width: 0.4rem;
          height: 1px;
        }
        li {
          a {
            border-radius: 0.4rem;
            background-color: #F6F6F6;
            padding: 0.4rem 1rem;
            &::after {
              content: none;
            }
          }
        }
      }
    }
  }

  /* =============================================
  トップ
  ============================================= */
  /* MV */
  .c-mv-slider {
    margin-top: 2rem;
    margin-bottom: 10rem;
    .c-mv-slider__wrap {
      padding-bottom: 3.7rem;
      .c-mv-slider__list {
        .c-mv-slider__blk {
          width: calc(1200 * (100vw / 1440));
          padding: 0 calc(10 * (100vw / 1440));
          a {
            display: block;
            border-radius: 1rem;
            overflow: hidden;
            position: relative;
            &[href="#"] {
              pointer-events: none;
            }
            &::after {
              content: "";
              display: block;
              width: 100%;
              height: 100%;
              background-color: rgba(255,255,255,0.5);
              position: absolute;
              top: 0;
              left: 0;
              transition: all 300ms;
            }
            picture,
            img {
              display: block;
              width: 100%;
            }
          }
          &.swiper-slide-active {
            a {
              &::after {
                content: none;
              }
            }
          }
        }
      }
      .swiper-pagination {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 1rem;
        top: auto;
        bottom: 0;
        span {
          display: block;
          width: 0.8rem;
          height: 0.8rem;
          border: 1px solid #F15E4B;
          background-color: transparent;
          opacity: 1;
          margin: 0;
          &.swiper-pagination-bullet-active {
            background-color: #F15E4B;
          }
        }
        &.swiper-pagination-lock {
          display: none;
        }
      }
      .swiper-button-prev,
      .swiper-button-next {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 6rem;
        height: 6rem;
        border-radius: 50%;
        background-color: #fff;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        transition: all 300ms;
        &::after {
          content: "";
          display: block;
          width: 1rem;
          height: 1.8rem;
          background-image: url(/cdn/shop/files/arrow_right_orange.svg);
          background-size: 100% 100%;
          background-position: center center;
          background-repeat: no-repeat;
        }
        &:hover {
          opacity: 0.7;
        }
        &.swiper-button-lock {
          display: none;
        }
      }
      .swiper-button-prev {
        left: calc(20 * (100vw / 1440));
        &::after {
          transform: rotate(180deg);
        }
      }
      .swiper-button-next {
        right: calc(20 * (100vw / 1440));
      }
    }

    @media (max-width: 750px) {
      margin-top: 1.6rem;
      margin-bottom: 8rem;
      .c-mv-slider__wrap {
        padding-bottom: 1.8rem;
        .c-mv-slider__list {
          .c-mv-slider__blk {
            width: calc(355 * (100vw / 375));
            padding: 0 calc(10 * (100vw / 375));
            a {
              &::after {
                content: none;
              }
            }
          }
        }
        .swiper-button-prev,
        .swiper-button-next {
          width: calc(60 * (100vw / 375));
          height: calc(60 * (100vw / 375));
          border: 1px solid #fff;
          background-color: rgba(255,255,255,0.7);
          &::after {
            width: calc(10 * (100vw / 375));
            height: calc(18 * (100vw / 375));
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
          }
          &:hover {
            opacity: 1;
          }
        }
        .swiper-button-prev {
          left: calc(-30 * (100vw / 375));
          &::after {
            right: calc(14 * (100vw / 375));
            transform: translateY(-50%) rotate(180deg);
          }
        }
        .swiper-button-next {
          right: calc(-30 * (100vw / 375));
          &::after {
            left: calc(14 * (100vw / 375));
          }
        }
      }
    }
  }

  /* 商品ブロック：4カラムスライダー */
  .c-item-block__4col {
    width: 100%;
    max-width: 128rem;
    padding-inline: 4rem;
    margin-inline: auto;
    margin-bottom: 10rem;
    position: relative;
    .c-item-block__slider {
      max-width: 124rem;
      margin-inline: auto;
      .c-item-block__wrap {
        .c-item-block__blk {
          a {
            display: block;
            text-decoration: none;
            .img {
              margin-bottom: 0.8rem;
              img {
                display: block;
                width: 100%;
              }
            }
            > p {
              margin: 0;
            }
            .product-name {
              font-size: 1.4rem;
              line-height: 1.571;
              margin-bottom: 0.4rem;
            }
            .product-supplier {
              font-size: 1.2rem;
              line-height: 1.583;
              color: #A7A7A7;
              margin-bottom: 0.8rem;
            }
            .product-price {
              font-size: 1.8rem;
              font-weight: 700;
              line-height: 1.555;
              text-align: right;
              span {
                font-size: 1.2rem;
              }
            }
          }
        }
      }
      
    }
    .swiper-button-prev-02,
    .swiper-button-next-02 {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 6rem;
      height: 6rem;
      border: 1px solid #fff;
      border-radius: 50%;
      background-color: rgba(38,38,38,0.6);
      position: absolute;
      top: 50%;
      z-index: 1;
      transform: translateY(-50%);
      transition: all 300ms;
      &::after {
        content: "";
        display: block;
        width: 1rem;
        height: 1.8rem;
        background-image: url(/cdn/shop/files/arrow_right_white.svg);
        background-size: 100% 100%;
        background-position: center center;
        background-repeat: no-repeat;
      }
      &:hover {
        opacity: 0.7;
      }
      &.swiper-button-disabled {
        opacity: 0;
        pointer-events: none;
      }
    }
    .swiper-button-prev-02 {
      left: 1rem;
      &::after {
        transform: rotate(180deg);
      }
    }
    .swiper-button-next-02 {
      right: 1rem;
    }

    @media (max-width: 750px) {
      padding-inline: 0;
      margin-bottom: 8rem;
      position: relative;
      .c-item-block__slider {
        margin-inline: auto;
        .c-item-block__wrap {
          .c-item-block__blk {
            width: calc(265 * (100vw / 375));
            padding-inline: calc(5 * (100vw / 375));
            a {
              .img {
                margin-bottom: 0.4rem;
              }
              .product-name {
                font-size: 1.2rem;
                line-height: 1.583;
              }
              .product-supplier {
                font-size: 1rem;
                margin-bottom: 0rem;
              }
              .product-price {
                font-size: 1.4rem;
                span {
                  font-size: 1rem;
                }
              }
            }
          }
        }
        
      }
      .swiper-button-prev-02,
      .swiper-button-next-02 {
        width: calc(30 * (100vw / 375));
        height: calc(30 * (100vw / 375));
        top: calc(118 * (100vw / 375));
        transform: translateY(0);
        &::after {
          width: calc(5 * (100vw / 375));
          height: calc(9 * (100vw / 375));
        }
        &:hover {
          opacity: 1;
        }
      }
      .swiper-button-prev-02 {
        left: calc(10 * (100vw / 375));
      }
      .swiper-button-next-02 {
        right: calc(10 * (100vw / 375));
      }
    }
  }

  /* ピックアップ */
  .c-pickup {
    width: 100%;
    max-width: 128rem;
    padding-inline: 4rem;
    margin-inline: auto;
    margin-bottom: 10rem;
    &:has(+ .c-pickup) {
      margin-bottom: 8rem;
    }
    .c-pickup__title {
      margin-bottom: 2rem;
      h3 {
        font-size: 3rem;
        font-weight: 700;
        line-height: 1.4;
        margin: 0 0 1rem;
      }
      p {
        font-size: 1.4rem;
        line-height: 1.583;
        color: #A7A7A7;
        margin: 0;
      }
    }
    .c-pickup__content {
      display: flex;
      align-items: flex-start;
      flex-wrap: wrap;
      justify-content: space-between;
      .img-block {
        width: calc(100% - 66rem);
        border-radius: 1rem;
        overflow: hidden;
        img {
          width: 100%;
        }
      }
      .content {
        display: flex;
        flex-direction: column;
        align-self: stretch;
        width: 62rem;
        .c-item-block__wrap {
          display: flex;
          gap: 2rem;
          margin-bottom: 3rem;
          .c-item-block__blk {
            width: 19.3rem;
            a {
              display: block;
              text-decoration: none;
              > p {
                margin: 0;
              }
              .img {
                margin-bottom: 0.8rem;
              }
              .product-name {
                display: -webkit-box;
                -webkit-box-orient: vertical;
                overflow: hidden;
                text-overflow: ellipsis;
                -webkit-line-clamp: 2;
                font-size: 1.4rem;
                line-height: 1.571;
                margin-bottom: 0.4rem;
              }
              .product-supplier {
                font-size: 1.2rem;
                line-height: 1.583;
                color: #A7A7A7;
                margin-bottom: 0.8rem;
              }
              .product-price {
                font-size: 1.8rem;
                font-weight: 700;
                line-height: 1.555;
                text-align: right;
                margin: 0;
                span {
                  font-size: 1.2rem;
                }
              }
            }
          }
        }
        .cmn-btn {
          margin-top: auto;
        }
      }
    }

    @media (max-width: 1030px) {
      padding-inline: 1rem;
      margin-bottom: 8rem;
      &:has(+ .c-pickup) {
        margin-bottom: 4rem;
      }
      .c-pickup__title {
        max-width: 62rem;
        margin-inline: auto;
        h3 {
          font-size: 2rem;
        }
        p {
          font-size: 1.2rem;
        }
      }
      .c-pickup__content {
        display: block;
        max-width: 62rem;
        margin-inline: auto;
        .img-block {
          width: 100%;
          margin-bottom: 2rem;
        }
        .content {
          width: 100%;
          .c-item-block__wrap {
            display: flex;
            gap: calc(7 * (100vw / 355));
            margin-bottom: 2rem;
            .c-item-block__blk {
              width: calc(114 * (100vw / 355));
              a {
                .img {
                  margin-bottom: 0.4rem;
                }
                .product-name {
                  font-size: 1.2rem;
                  line-height: 1.583;
                }
                .product-supplier {
                  font-size: 1rem;
                  margin-bottom: 0rem;
                }
                .product-price {
                  font-size: 1.4rem;
                  span {
                    font-size: 1rem;
                  }
                }
              }
            }
          }
        }
      }
    }
  }

  /* カテゴリー */
  .c-category-product {
    width: 100%;
    max-width: 128rem;
    padding-inline: 4rem;
    margin-inline: auto;
    margin-bottom: 10rem;
    ul {
      display: flex;
      flex-wrap: wrap;
      gap: 2rem 0.4rem;
      li {
        width: calc((100% / 4) - (1.2rem / 4));
        a {
          display: flex;
          align-items: center;
          font-size: 1.6rem;
          line-height: 1.5;
          text-decoration: none;
          &::before {
            content: "";
            flex-shrink: 0;
            display: block;
            width: 6rem;
            height: 6rem;
            background-size: 100% 100%;
            background-position: center center;
            background-repeat: no-repeat;
            margin-right: 2rem;
          }
        }
        &.category__すべての商品 {
          a {
            &::before {
              background-image: url(/cdn/shop/files/icon_all.svg);
            }
          }
        }
        &.category__お菓子 {
          a {
            &::before {
              background-image: url(/cdn/shop/files/icon_okashi.svg);
            }
          }
        }
        &.category__練り製品 {
          a {
            &::before {
              background-image: url(/cdn/shop/files/icon_neri.svg);
            }
          }
        }
        &.category__ふく-ふく加工品 {
          a {
            &::before {
              background-image: url(/cdn/shop/files/icon_fuku.svg);
            }
          }
        }
        &.category__水産加工品 {
          a {
            &::before {
              background-image: url(/cdn/shop/files/icon_suisan.svg);
            }
          }
        }
        &.category__畜産加工品 {
          a {
            &::before {
              background-image: url(/cdn/shop/files/icon_chikusan.svg);
            }
          }
        }
        &.category__農産加工品 {
          a {
            &::before {
              background-image: url(/cdn/shop/files/icon_nousankako.svg);
            }
          }
        }
        &.category__果物-野菜-米-飲料 {
          a {
            &::before {
              background-image: url(/cdn/shop/files/icon_nousan.svg);
            }
          }
        }
        &.category__詰合せ-セット {
          a {
            &::before {
              background-image: url(/cdn/shop/files/icon_set.svg);
            }
          }
        }
        &.category__民工芸品-その他 {
          a {
            &::before {
              background-image: url(/cdn/shop/files/icon_kougei.svg);
            }
          }
        }
        &.category__酒-ビール {
          a {
            &::before {
              background-image: url(/cdn/shop/files/icon_sake.svg);
            }
          }
        }
      }
    }

    @media (min-width: 901px) and (max-width: 1280px) {
      ul {
        gap: 2rem 0.4rem;
        li {
          width: calc((100% / 3) - (0.8rem / 3));
        }
      }
    }

    @media (max-width: 900px) {
      padding-inline: 1rem;
      margin-bottom: 8rem;
      ul {
        gap: 0.6rem 1rem;
        li {
          width: calc((100% / 2) - (1rem / 2));
          a {
            font-size: 1.3rem;
            line-height: 1.615;
            &::before {
              width: 4.6rem;
              height: 4.6rem;
              margin-right: 1rem;
            }
          }
        }
      }
    }
  }

  /* エリア別に探す */
  .c-area-map {
    width: 100%;
    max-width: 84rem;
    padding-inline: 4rem;
    margin-inline: auto;
    margin-bottom: 10rem;
    .c-area-map__content {
      position: relative;
      .cities {
        li {
          width: fit-content;
          position: absolute;
          a {
            display: flex;
            align-items: center;
            justify-content: center;
            width: fit-content;
            font-size: 1.6rem;
            font-weight: 700;
            line-height: 1;
            color: #fff;
            text-decoration: none;
            border-radius: 0.4rem;
            background-color: #5E9C6D;
            padding: 0.9rem 2rem 1.1rem;
            &::after {
              content: "";
              flex-shrink: 0;
              display: block;
              width: 0.67rem;
              height: 1.2rem;
              background-image: url(/cdn/shop/files/arrow_right_white.svg);
              background-size: 100% 100%;
              background-position: center center;
              background-repeat: no-repeat;
              margin-left: 1.3rem;
            }
          }
          &.area__nagato {
            top: 15.4rem;
            left: 8.1rem;
          }
          &.area__hagi {
            top: 13.6rem;
            left: 25.37rem;
          }
          &.area__kudamatsu {
            top: 35.8rem;
            left: 40.87rem;
          }
          &.area__mine {
            top: 22.6rem;
            left: 14.3rem;
          }
          &.area__yamaguchi {
            top: 24.72rem;
            left: 28.6rem;
          }
          &.area__hikari {
            top: 40.3rem;
            left: 43.07rem;
          }
          &.area__shimonoseki {
            top: 25.6rem;
            left: 0;
          }
          &.area__hofu {
            top: 32.8rem;
            left: 28.6rem;
          }
          &.area__iwakuni {
            top: 28.32rem;
            left: 54.97rem;
          }
          &.area__ube {
            top: 29rem;
            left: 16.3rem;
          }
          &.area__sanyoonoda {
            top: 35rem;
            left: 7.9rem;
          }
          &.area__shunan {
            top: 27.9rem;
            left: 42.15rem;
          }
          &.area__yanai {
            top: 38.9rem;
            left: 54.07rem;
          }
          &.area__suooshima {
            top: 43.9rem;
            left: 60.5rem;
          }
        }
      }
    }

    @media (max-width: 845px) {
      padding-inline: 1rem;
      margin-bottom: 8rem;
      .c-area-map__content {
        position: relative;
        .cities {
          display: flex;
          flex-wrap: wrap;
          gap: 1.4rem 1.15rem;
          max-width: 35.5rem;
          margin-inline: auto;
          position: absolute;
          top: 50%;
          left: 0;
          right: 0;
          transform: translateY(-50%);
          li {
            width: calc((100% / 3) - (2.3rem / 3));
            position: static;
            &.area__sanyoonoda {
              order: 998;
              width: fit-content;
            }
            &.area__suooshima {
              order: 999;
              width: fit-content;
            }
            a {
              margin-inline: auto;
            }
          }
        }
      }
    }

    @media (max-width: 430px) {
      .c-area-map__content {
        .cities {
          top: 2rem;
          transform: translateY(0);
        }
      }
    }

    @media (max-width: 374px) {
      .c-area-map__content {
        .cities {
          li {
            a {
              font-size: 1.2rem;
              padding: 0.9rem 1rem 1.1rem;
            }
          }
        }
      }
    }
  }

  /* 味と技-辞典 */
  .c-dictionary {
    width: 100%;
    background-color: #FDE9E2;
    margin-bottom: 10rem;
    .c-dictionary__tabs {
      display: flex;
      justify-content: center;
      gap: 0.4rem;
      background-color: #fff;
      li {
        width: 9.2rem;
        height: 5.6rem;
        a {
          display: flex;
          align-items: center;
          justify-content: center;
          width: 100%;
          height: 100%;
          font-size: 1.6rem;
          text-decoration: none;
          border-radius: 1rem 1rem 0 0;
          background-color: #EDEDED;
          position: relative;
          overflow: hidden;
          &.is-view {
            background-color: #FDE9E2;
            cursor: default;
            &:hover {
              opacity: 1;
            }
            &::before {
              content: "";
              display: block;
              width: 100%;
              height: 0.6rem;
              background-color: #F8B5A0;
              position: absolute;
              top: 0;
              left: 0;
            }
          }
        }
      }
    }
    .c-dictionary__wrap {
      width: 100%;
      max-width: 128rem;
      padding-inline: 4rem;
      margin-inline: auto;
      .c-dictionary__content {
        width: 100%;
        position: relative;
        .c-dictionary__block {
          width: 100%;
          padding-block: 6rem;
          position: absolute;
          top: 0;
          left: 0;
          opacity: 0;
          pointer-events: none;
          ul {
            display: flex;
            flex-wrap: wrap;
            gap: 3rem;
            li {
              width: calc((100% / 3) - (6rem / 3));
              border-radius: 1rem;
              background-color: #fff;
              padding: 2.6rem 2rem 2rem;
              h3 {
                font-size: 1.6rem;
                font-weight: 700;
                line-height: 1.375;
                border-left: 0.3rem solid #262626;
                padding-left: 1rem;
                margin: 0 0 2rem;
              }
              p {
                font-size: 1.4rem;
                line-height: 1.571;
                margin: 0;
              }
              .cmn-btn {
                margin-top: 2rem;
              }
            }
          }
          &.is-view {
            position: static;
            opacity: 1;
            pointer-events: auto;
          }
        }
      }
    }

    @media (max-width: 860px) {
      .c-dictionary__wrap {
        padding-inline: 0;
        .c-dictionary__content {
          .c-dictionary__block {
            padding-block: 2rem;
            ul {
              flex-wrap: nowrap;
              gap: 1rem;
              overflow-x: scroll;
              -ms-overflow-style: none;
              scrollbar-width: none;
              &::-webkit-scrollbar{
                display: none;
              }
              &::before,
              &::after {
                content: "";
                flex-shrink: 0;
                display: block;
                width: 0.1px;
                height: 1px;
              }
              li {
                flex-shrink: 0;
                width: 29.5rem;
                padding: 2rem 2rem 2rem;
                h3 {
                  font-size: 1.4rem;
                  line-height: 1.571;
                  margin: 0 0 1.4rem;
                }
                p {
                  font-size: 1.2rem;
                  line-height: 1.583;
                }
              }
            }
          }
        }
      }
    }

    @media (max-width: 752px) {
      margin-bottom: 8rem;
      .c-dictionary__tabs {
        justify-content: flex-start;
        overflow-x: scroll;
        -ms-overflow-style: none;
        scrollbar-width: none;
        &::-webkit-scrollbar{
          display: none;
        }
        li {
          flex-shrink: 0;
          width: 8rem;
          height: 4.6rem;
          a {
            font-size: 1.4rem;
          }
        }
      }
    }
  }

  /* インスタグラム */
  .c-instagram {
    width: 100%;
    max-width: 88rem;
    padding-inline: 4rem;
    margin-inline: auto;
    margin-bottom: 10rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    .c-instagram__img {
      width: 29.3rem;
    }
    .c-instagram__content {
      width: 46.7rem;
      margin-top: 3.2rem;
      h3 {
        font-size: 2rem;
        font-weight: 700;
        line-height: 1.6;
        margin: 0 0 2rem;
        br {
          display: none;
        }
      }
      p {
        font-size: 1.4rem;
        line-height: 1.571;
        margin: 0 0 2rem;
      }
      .cmn-btn {
        margin-left: 0;
      }
    }

    @media (max-width: 960px) {
      padding-inline: 1rem;
      margin-bottom: 8rem;
      display: block;
      .c-instagram__img {
        display: none;
      }
      .c-instagram__content {
        width: 100%;
        max-width: 35.5rem;
        margin-top: 0;
        margin-inline: auto;
        h3 {
          font-size: 1.8rem;
          text-align: center;
          br {
            display: block;
          }
        }
        p {
          font-size: 1.3rem;
          line-height: 1.615;
        }
        .cmn-btn {
          margin-left: auto;
        }
      }
    }
  }

  /* お知らせ */
  .c-news {
    width: 100%;
    max-width: 128rem;
    padding-inline: 4rem;
    margin-inline: auto;
    margin-bottom: 10rem;
    .c-news__wrap {
      display: flex;
      flex-wrap: wrap;
      width: 100%;
      border-radius: 1rem;
      background-color: #F6F6F6;
      padding: 6rem 10rem;
      margin-bottom: 2rem;
      h2 {
        width: 12.6rem;
        font-size: 1.6rem;
        font-weight: 700;
        line-height: 1.75;
        margin: 0;
      }
      .c-news__content {
        width: 87.4rem;
        ol {
          display: flex;
          flex-direction: column;
          gap: 2rem;
          li {
            display: flex;
            flex-wrap: wrap;
            .date {
              display: block;
              width: 11.5rem;
              font-size: 1.6rem;
              line-height: 1.75;
            }
            p {
              width: 75.9rem;
              font-size: 1.6rem;
              line-height: 1.75;
              margin: 0;
            }
          }
        }
      }
    }

    @media (min-width: 751px) and (max-width: 1280px) {
      .c-news__wrap {
        padding: 4rem 6rem;
        h2 {
          width: 100%;
          text-align: center;
          margin: 0 0 3rem 0;
        }
        .c-news__content {
          width: 100%;
          ol {
            li {
              .date {
                display: block;
                width: 11.5rem;
              }
              p {
                width: calc(100% - 11.5rem);
              }
            }
          }
        }
      }
    }

    @media (max-width: 750px) {
      padding-inline: 1rem;
      margin-bottom: 8rem;
      .c-news__wrap {
        padding: 2rem 2rem 3rem;
        h2 {
          width: 100%;
          text-align: center;
          margin: 0 0 2rem 0;
        }
        .c-news__content {
          width: 100%;
          ol {
            li {
              .date {
                width: 100%;
                font-size: 1.2rem;
                line-height: 1.75;
              }
              p {
                width: 100%;
                font-size: 1.2rem;
                line-height: 1.583;
              }
            }
          }
        }
      }
    }
  }

  /* =============================================
  商品詳細
  ============================================= */
  /* 画像ブロック */
  .product__media-wrapper {
    .product__media-list {
      .product__media-item {
        .product-media-container {
          .product__media {
            img {
              border-radius: 0;
            }
          }
        }
      }
    }
    @media screen and (max-width: 749px) {
      margin-bottom: 0.8rem;
      .slider-mobile-gutter {
        margin-left: -1rem;
        margin-right: -1rem;
      }
      .product__media-list {
        margin-bottom: 0;
        &::after {
          padding-left: 1rem;
        }
        .product__media-item {
          padding-block: 0;
          &:first-of-type {
            margin-left: 1rem;
          }
          .product-media-container {
            width: 100%;
            .product__media {
              img {
                border-radius: 0;
              }
            }
          }
        }
      }
      .slider-buttons {
        .slider-button {
          width: 2.2rem;
          height: 4rem;
          color: #262626;
          padding: 0;
          .svg-wrapper {
            .icon {
              height: 0.73rem;
            }
          }
        }
        .slider-counter {
          font-size: 1.2rem;
          font-weight: 500;
          color: #262626;
          min-width: 3rem;
        }
      }
    }
  }
  /* テキストブロック */
  .product__info-wrapper {
    /* タイトル */
    .product__title {
      margin-bottom: 1rem;
      > h1,
      > a {
        font-size: 1.8rem;
        font-weight: 500;
        line-height: 1.6111;
      }
      @media screen and (max-width: 749px) {
        > h1,
        > a {
          font-size: 1.6rem;
          line-height: 1.5625;
        }
      }
    }
    /* 販売元 */
    .product__title + .product__text {
      font-size: 1.2rem;
      font-weight: 500;
      line-height: 1.8333;
      color: #A7A7A7;
      margin: 1rem 0;
    }
    /* 価格 */
    [id^="price-template--"] {
      margin: 0 0 2rem;
      .price {
        .price__container {
          margin: 0;
          .price__regular {
            font-size: 2.4rem;
            line-height: 1;
          }
          .tax-included {
            font-size: 1.4rem;
          }
        }
      }
    }
    /* 数量 */
    .product-form__input {
      margin: 0 0 3rem;
      .quantity__label {
        color: #262626;
      }
    }
    /* ボタン */
    .product-form {
      margin: 0 0 3rem;
      .product-form__buttons {
        max-width: 100%;
        .product-form__submit {
          display: flex;
          align-items: center;
          justify-content: center;
          width: 100%;
          height: 6rem;
          font-size: 1.8rem;
          font-weight: 500;
          color: #E14656;
          background-color: #fff;
          border: 0.2rem solid #E14656;
          border-radius: 0.4rem;
          &::before,
          &::after {
            content: none;
          }
        }
        .shopify-payment-button__button {
          display: flex;
          align-items: center;
          justify-content: center;
          width: 100%;
          height: 6rem;
          font-size: 1.8rem;
          font-weight: 500;
          color: #fff;
          background-color: #E14656;
          border: 0.2rem solid #E14656;
          border-radius: 0.4rem;
          margin-top: 1rem;
          &::before,
          &::after {
            content: none;
          }
        }
      }
    }
    /* 商品説明 */
    .product__description {
      margin: 0 0 2rem;
      > * {
        font-size: 1.4rem;
        line-height: 1.5714;
        margin: 3rem 0;
        &:first-child {
          margin-top: 0;
        }
        &:last-child {
          margin-bottom: 0;
        }
      }
      @media screen and (max-width: 749px) {
        > * {
          font-size: 1.2rem;
          line-height: 1.5833;
          margin: 2rem 0;
        }
      }
    }
    /* シェアボタン */
    .share-button {
      margin: 0 0 3rem;
      .share-button__button {
        min-height: 0;
        font-size: 1.2rem;
        font-weight: 500;
        color: #262626;
        text-decoration: underline;
        text-underline-offset: 0.2rem;
        &:hover {
          text-underline-offset: 0.2rem;
        }
      }
    }
    /* 商品情報 */
    .product_detail {
      margin: 0;
      .product_detail_block {
        &.detail_product_info {
          dl {
            dt {
              &::before {
                background-image: url(/cdn/shop/files/icon_info.svg);
              }
            }
          }
        }
        &.detail_product_story {
          dl {
            dt {
              &::before {
                background-image: url(/cdn/shop/files/icon_story.svg);
              }
            }
          }
        }
        &.detail_product_supplier {
          dl {
            dt {
              &::before {
                background-image: url(/cdn/shop/files/icon_supplier.svg);
              }
            }
          }
        }
        dl {
          margin: 0;
          dt {
            display: flex;
            align-items: center;
            width: 100%;
            font-size: 1.4rem;
            font-weight: 500;
            line-height: 1.5714;
            color: #262626;
            position: relative;
            border-top: 1px solid #A7A7A7;
            padding: 1.6rem 3rem 1.6rem 0;
            cursor: pointer;
            transition: all 300ms;
            &:hover {
              opacity: 0.7;
            }
            &::before {
              content: "";
              display: block;
              flex-shrink: 0;
              width: 1.6rem;
              height: 1.5rem;
              background-size: 100% 100%;
              background-position: center center;
              background-repeat: no-repeat;
              margin-right: 1.2rem;
            }
            &::after {
              content: "";
              display: block;
              width: 1.21rem;
              height: 0.67rem;
              background-image: url(/cdn/shop/files/arrow_up_black.svg);
              background-size: 100% 100%;
              background-position: center center;
              background-repeat: no-repeat;
              position: absolute;
              top: 50%;
              right: 0;
              transform: translateY(-50%) rotate(180deg);
              transition: all 300ms;
            }
            &.active {
              &::after {
                transform: translateY(-50%) rotate(0);
              }
            }
          }
          dd {
            display: none;
            padding-bottom: 2rem;
            margin: 0;
            > * {
              margin: 0 0 2rem;
              &:last-child {
                margin: 0;
              }
            }
            p {
              font-size: 1.4rem;
              font-weight: 500;
              line-height: 1.5714;
              color: #262626;
            }
            .text_red {
              color: #F15E4B;
            }
          }
        }
      }
      @media screen and (max-width: 749px) {
        .product_detail_block {
          dl {
            dd {
              p {
                font-size: 1.2rem;
                line-height: 1.5833;
              }
            }
          }
        }
      }
    }
    /* 生年月日 */
    .sa-103-birthdate-container {
      margin: 1rem 0 3rem !important;
      .sa-103-birth-confirmation-heading {
        font-weight: 700;
        color: #f15e4b;
      }
      select {
        outline: none !important;
        box-shadow: none !important;
      }
      input[type="text"] {
        border: none;
      }
    }
  }

  /* 関連商品 */
  .c-related-products {
    width: 100%;
    max-width: 128rem;
    padding-inline: 4rem;
    margin-inline: auto;
    margin-bottom: 10rem;
    position: relative;
    .c-item-block__wrap {
      display: flex;
      flex-wrap: wrap;
      gap: 4rem;
      &:has(.current-product:last-of-type) {
        .c-item-block__blk {
          display: block;
        }
      }
      .c-item-block__blk {
        // display: none;
        width: calc((100% / 4) - (12rem / 4));
        a {
          display: block;
          text-decoration: none;
          .img {
            margin-bottom: 0.8rem;
            img {
              display: block;
              width: 100%;
            }
          }
          > p {
            margin: 0;
          }
          .product-name {
            display: -webkit-box;
            -webkit-box-orient: vertical;
            overflow: hidden;
            text-overflow: ellipsis;
            -webkit-line-clamp: 2;
            font-size: 1.4rem;
            line-height: 1.571;
            margin-bottom: 0.4rem;
          }
          .product-price {
            font-size: 1.8rem;
            font-weight: 700;
            line-height: 1.555;
            text-align: right;
            span {
              font-size: 1.2rem;
            }
          }
        }
        &:nth-of-type(n+5) {
          display: none !important;
        }
        &.current-product {
          display: none !important;
        }
      }
    }
    @media (max-width: 750px) {
      padding-inline: 1rem;
      margin-bottom: 8rem;
      .c-item-block__wrap {
        gap: 4rem 0.9rem;
        .c-item-block__blk {
          width: calc((100% / 2) - (0.9rem / 2));
          a {
            .img {
              margin-bottom: 0.4rem;
            }
            .product-name {
              font-size: 1.2rem;
              line-height: 1.5833;
              margin-bottom: 0.4rem;
            }
            .product-price {
              font-size: 1.4rem;
              line-height: 1.571;
              span {
                font-size: 1rem;
              }
            }
          }
        }
      }
    }
  }

  /* 関連商品：非表示設定 */
  #MainContent:not(:has(.c-related-products li)) {
    > [id*="c_title_center"]:has(+ [id*="c_related_products"]) {
      display: none;
    }
    > [id*="c_related_products"] {
      display: none;
    }
  }

  /* =============================================
  コレクション
  ============================================= */
  [id*="main-collection-banner"] {
    margin-top: 5rem;
    @media (max-width: 750px) {
      margin-top: 2.6rem;
    }
  }
  [id*="main-collection-product"] {
    margin-top: 0;
  }
  [class*="main-collection-product"] {
    padding-top: 0;
    padding-bottom: 9rem;
    @media (max-width: 750px) {
      padding-bottom: 7rem;
    }
  }
  .collection-hero__inner {
    width: 100%;
    max-width: 128rem;
    padding-inline: 4rem;
    margin-inline: auto;
    .collection-hero__title {
      font-size: 3rem;
      font-weight: 700;
      text-align: center;
      margin: 0 0 5rem;
    }
    @media (max-width: 750px) {
      padding-inline: 1rem;
      .collection-hero__title {
        font-size: 2rem;
        margin: 0 0 3rem;
      }
    }
  }
  .facets-wrapper {
    width: 100%;
    max-width: 128rem;
    padding-inline: 4rem;
    margin-inline: auto;
    margin-bottom: 3rem;
    .facets-container {
      padding-top: 0;
      .facets__form {
        margin: 0;
        gap: 0;
        .facets__wrapper {
          h2 {
            color: #262626;
            font-weight: 500;
            margin: 0 1rem 0 0;
          }
          details {
            margin-right: 1rem;
            summary {
              color: #262626;
              border: 1px solid #EDEDED;
              padding: 1rem 3rem 1rem 1rem;
              margin-bottom: 0;
              position: relative;
              svg {
                right: 1rem;
              }
              &:hover {
                span {
                  text-decoration: none;
                }
              }
            }
            &[open] {
              summary {
                &::after {
                  content: "";
                  display: block;
                  width: calc(100% + 2px);
                  height: calc(100% + 2px);
                  border: 2px solid #262626;
                  box-shadow: none;
                  position: absolute;
                  top: -1px;
                  left: -1px;
                }
              }
            }
            .facets__display {
              border: 1px solid #A7A7A7;
              border-radius: 0;
              top: calc(100% + 1rem);
              left: 0;
              .facets__header {
                border-bottom: 1px solid #A7A7A7;
                padding: 1.5rem 2rem;
              }
              .facets-wrap {
                padding: 1rem 2rem;
                .facets-layout {
                  .facets__item {
                    label {
                      padding: 0.5rem 0;
                      input[type="checkbox"] {
                        top: 50%;
                        left: 0;
                        transform: translateY(-50%);
                        margin: 0;
                      }
                      > svg {
                        margin-top: 0.5rem;
                      }
                      .svg-wrapper {
                        top: 1.5rem;
                      }
                    }
                  }
                }
              }
            }
          }
        }
        .facet-filters {
          align-items: center;
          .facet-filters__field {
            h2 {
              font-weight: 500;
              color: #262626;
              margin: 0 1rem 0 0;
            }
            .select {
              margin-right: 3rem;
              position: relative;
              &:has(select:focus) {
                &::after {
                  content: "";
                  display: block;
                  width: 100%;
                  height: 100%;
                  border: 2px solid #262626;
                  box-shadow: none;
                  position: absolute;
                  top: 0;
                  left: 0;
                }
              }
              select {
                font-weight: 500;
                color: #262626;
                border: 1px solid #EDEDED;
                padding: 1rem 3rem 1rem 1rem;
                outline: none;
                box-shadow: none;
                position: relative;
              }
              .svg-wrapper {
                right: 1rem;
              }
            }
          }
        }
        .product-count {
          align-self: center;
          h2 {
            font-weight: 500;
            color: #262626;
          }
        }
      }
    }
    @media (max-width: 749px) {
      padding-inline: 1rem;
      margin-bottom: 3.4rem;
      .facets-container {
        .product-count {
          align-self: center;
          h2 {
            font-weight: 500;
            color: #262626;
          }
        }
        .mobile-facets__wrapper {
          .mobile-facets__disclosure {
            .mobile-facets__open-wrapper {
              .mobile-facets__open {
                .mobile-facets__open-label {
                  font-size: 1.4rem;
                }
              }
            }
            .mobile-facets {
              .mobile-facets__main {
                .mobile-facets__submenu {
                  .mobile-facets__item {
                    .facets__label {
                      align-items: center;
                      .icon-checkmark {
                        top: 2.4rem;
                      }
                    }
                  }
                }
                .mobile-facets__sort {
                  .select {
                    position: relative;
                    &:has(select:focus) {
                      &::after {
                        content: "";
                        display: block;
                        width: 100%;
                        height: 100%;
                        border: 2px solid #262626;
                        box-shadow: none;
                        position: absolute;
                        top: 0;
                        left: 0;
                      }
                    }
                    select {
                      font-weight: 500;
                      color: #262626;
                      border: 1px solid #EDEDED;
                      padding: 1rem 3rem 1rem 1rem;
                      outline: none;
                      box-shadow: none;
                      position: relative;
                      margin: 0;
                    }
                    .svg-wrapper {
                      right: 1rem;
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
  .product-grid-container {
    .collection {
      width: 100%;
      max-width: 128rem;
      padding-inline: 4rem;
      margin-inline: auto;
      .product-grid {
        gap: 4rem calc((40 / 1200) * 100%);
        .grid__item {
          width: calc((270 / 1200) * 100%);
          .card-wrapper {
            &:hover {
              * {
                text-decoration: none;
              }
            }
            .card {
              border: none;
              .card__inner {
                margin-bottom: 0.8rem;
                .card__media {
                  border-radius: 0;
                }
              }
              .card__content {
                padding: 0;
                .card__information {
                  padding: 0;
                  .card__heading {
                    font-size: 1.4rem;
                    font-weight: 500;
                    line-height: 1.571;
                    margin-bottom: 0.4rem;
                    a {
                      &:hover {
                        text-decoration: none;
                      }
                    }
                  }
                  .card-information {
                    .caption-with-letter-spacing {
                      font-size: 1.2rem;
                      line-height: 1.583;
                      color: #A7A7A7;
                      margin-bottom: 0.8rem;
                      pointer-events: none;
                      opacity: 1;
                    }
                    .price {
                      text-align: right;
                      margin: 0;
                      .price__container {
                        .price-item {
                          font-size: 1.8rem;
                          font-weight: 700;
                          line-height: 1.555;
                          .tax-included {
                            font-size: 1.2rem;
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
      .pagination-wrapper {
        .pagination {
          .pagination__list {
            li {
              margin-right: 0;
              a {
                font-weight: 500;
                color: #A7A7A7;
                &.pagination__item--current {
                  font-size: 1.4rem;
                  text-decoration: underline;
                  color: #262626;
                  &::after {
                    content: none;
                  }
                }
                &.pagination__item-arrow {
                  .svg-wrapper {
                    .icon {
                      height: 0.7rem;
                      path {
                        fill: #262626;
                      }
                    }
                  }
                }
                &:hover {
                  &::after {
                    content: none;
                  }
                }
              }
            }
          }
        }
      }
    }
    @media (max-width: 750px) {
      .collection {
        padding-inline: 1rem;
        .product-grid {
          gap: 4rem calc((9 / 355) * 100%);
          .grid__item {
            width: calc((173 / 355) * 100%);
            max-width: calc((173 / 355) * 100%);
            .card-wrapper {
              .card {
                .card__inner {
                  margin-bottom: 0.4rem;
                }
                .card__content {
                  .card__information {
                    .card__heading {
                      font-size: 1.2rem;
                      line-height: 1.583;
                    }
                    .card-information {
                      .caption-with-letter-spacing {
                        font-size: 1rem;
                        margin-bottom: 0rem;
                      }
                      .price {
                        .price__container {
                          .price-item {
                            font-size: 1.4rem;
                            .tax-included {
                              font-size: 1rem;
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
        .pagination-wrapper {
          margin-top: 3rem;
        }
      }
    }
  }

  /* =============================================
  ページの設定
  ============================================= */
  .page-content-containter {
    padding: 6rem 0 3rem;
    @media (max-width: 750px) {
      padding: 4rem 0 0;
    }
  }

  /* =============================================
  お問い合わせ
  ============================================= */
  .contact {
    width: 100%;
    max-width: 88rem;
    padding-inline: 4rem;
    margin-inline: auto;
    .field {
      input,
      textarea {
        font-weight: 500;
      }
      .field__label {
        color: #A7A7A7;
        span {
          color: #E14656;
        }
      }
      .contact__field-error {
        padding: 0.5rem 1.5rem 1rem;
        .form__message {
          margin: 0;
        }
      }
    }
    .contact__button {
      button {
        display: flex;
        width: 100%;
        max-width: 28rem;
        height: 6rem;
        font-size: 1.6rem;
        font-weight: 700;
        margin-inline: auto;
      }
    }
    .form__message {
      line-height: 1.5;
      .icon-success {
        margin-top: .6rem;
      }
    }
    .form-status-list {
      margin: 1rem 0 3rem;
    }
    @media (max-width: 750px) {
      padding-inline: 1rem;
      margin-top: 4rem;
      .contact__button {
        margin-top: 3rem;
        button {
          max-width: 26rem;
        }
      }
    }
  }

  .shopify-challenge__container {
    width: 100%;
    max-width: 128rem;
    padding-inline: 4rem;
    margin-inline: auto;
    #captcha_form {
      margin-top: 4rem;
      .shopify-challenge__button {
        display: flex;
        width: 100%;
        max-width: 28rem;
        height: 6rem;
        font-size: 1.6rem;
        font-weight: 700;
        margin-inline: auto;
        margin-top: 4rem;
      }
    }
    @media (max-width: 750px) {
      padding-inline: 1rem;
      #captcha_form {
        margin-top: 3rem;
        .shopify-challenge__button {
          max-width: 26rem;
          margin-top: 3rem;
        }
      }
    }
  }

  /* =============================================
  テキストページ
  ============================================= */
  .page-content-containter:has(.text-page) {
    width: 100%;
    max-width: 108rem;
    padding-inline: 4rem;
    margin-inline: auto;
    @media (max-width: 750px) {
      padding-inline: 2rem;
    }
  }
  .text-page {
    margin-top: 6rem;
    .text-page__top-block {
      margin-bottom: 6rem;
    }
    .text-page__lead-text {
      font-size: 1.4rem;
      line-height: 1.571;
      text-align: center;
      border-bottom: 1px solid #A7A7A7;
      padding-bottom: 6rem;
      margin-bottom: 3rem;
      &.text-left {
        text-align: left;
      }
    }
    .text-page__anchor {
      ul {
        display: flex;
        flex-wrap: wrap;
        gap: 2rem 0;
        li {
          width: calc(100% / 4);
          a {
            display: block;
            font-size: 1.6rem;
            text-decoration: none;
            padding-left: 3.2rem;
            position: relative;
            &::after {
              content: "";
              display: block;
              width: 1.2rem;
              height: 0.7rem;
              background-image: url(/cdn/shop/files/arrow_up_black.svg);
              background-size: 100% 100%;
              background-position: center center;
              background-repeat: no-repeat;
              position: absolute;
              top: 50%;
              left: 0;
              transform: translateY(-50%) rotate(180deg);
            }
            &:hover {
              color: inherit;
            }
          }
        }
      }
    }
    .text-page__block {
      margin-bottom: 10rem;
    }
    .text-page__block-02 {
      margin-bottom: 6rem;
    }
    .text-page__title-large {
      font-size: 3rem;
      font-weight: 700;
      line-height: 1.4;
      margin: 0 0 4rem;
      &::before {
        content: "";
        display: block;
        width: 1.2rem;
        height: 1.2rem;
        border-radius: 50%;
        background-color: #F15E4B;
        margin-bottom: 1.4rem;
      }
      + .text-page__title-medium {
        margin: 4rem 0 2rem;
      }
    }
    .text-page__title-medium {
      font-size: 2rem;
      font-weight: 700;
      line-height: 1.4;
      margin: 5rem 0 2rem;
      &::before {
        content: "";
        display: block;
        width: 5rem;
        height: 1px;
        background-color: #F15E4B;
        margin-bottom: 2rem;
      }
    }
    .text-page__title-small {
      font-size: 1.4rem;
      font-weight: 700;
      line-height: 1.571;
      margin: 3rem 0 1.4rem;
    }
    .text-page__text {
      font-size: 1.4rem;
      line-height: 1.571;
      margin: 2rem 0;
      .caution {
        display: block;
        padding-left: 1em;
        text-indent: -1em;
        &::before {
          content: "※";
        }
      }
      &.text-bg {
        background-color: #F6F6F6;
        padding: 3rem;
      }
    }
    .text-page__ordered-list {
      font-size: 1.4rem;
      padding-left: 1.6em;
      li {
        list-style-type: decimal;
        font-weight: 700;
        padding-left: 1.4rem;
        margin-bottom: 3rem;
        &:last-of-type {
          margin-bottom: 0;
        }
        dl {
          margin: 0;
          dt {
            font-size: 1.4rem;
            line-height: 1.571;
          }
          dd {
            font-size: 1.4rem;
            font-weight: 500;
            line-height: 1.571;
            margin: 0;
            > * {
              &:first-child {
                margin-top: 1rem;
              }
            }
            .text-page__ordered-list,
            .text-page__unordered-list {
              li {
                font-weight: 500;
                margin-bottom: 0.6em;
              }
            }
          }
        }
      }
    }
    .text-page__unordered-list {
      font-size: 1.4rem;
      padding-left: calc(1.2em + 1rem);
      margin-block: 1.4rem;
      li {
        list-style-type: disc;
        font-size: 1.4rem;
        line-height: 1.571;
        margin-bottom: 0.6em;
        &:last-of-type {
          margin-bottom: 0;
        }
      }
    }
    .text-indent {
      padding-left: 1rem;
    }
    .text-page__table {
      display: flex;
      flex-wrap: wrap;
      margin: 0;
      > dt {
        width: 24rem;
        font-size: 1.4rem;
        font-weight: 700;
        line-height: 1.571;
        border-bottom: 1px solid #F15E4B;
        padding-block: 3rem;
      }
      > dd {
        width: calc(100% - 24rem);
        font-size: 1.4rem;
        font-weight: 500;
        line-height: 1.571;
        border-bottom: 1px solid #A7A7A7;
        padding-block: 3rem;
        margin: 0;
      }
    }
    .alcohol-sales-manager-sign {
      width: 100%;
      max-width: 47rem;
      border: 1px solid #262626;
      padding: 0.6rem;
      margin-top: 1rem;
      h3 {
        font-size: 2rem;
        font-weight: 700;
        text-align: center;
        margin: 0 0 1rem;
      }
      dl {
        display: flex;
        flex-wrap: wrap;
        border: 1px solid #262626;
        margin: 0;
        dt {
          display: flex;
          flex-direction: column;
          justify-content: center;
          width: 45%;
          font-size: 1.2rem;
          font-weight: 500;
          line-height: 1.571;
          border-right: 1px solid #262626;
          border-bottom: 1px solid #262626;
          padding: 1rem;
          &:last-of-type {
            border-bottom: none;
          }
        }
        dd {
          display: flex;
          flex-direction: column;
          justify-content: center;
          width: 55%;
          font-size: 1.2rem;
          font-weight: 500;
          line-height: 1.571;
          border-bottom: 1px solid #262626;
          padding: 1rem;
          margin: 0;
          &:last-of-type {
            border-bottom: none;
          }
        }
      }
    }
    @media (max-width: 1030px) {
      .text-page__anchor {
        ul {
          li {
            width: calc(100% / 2);
            a {
              padding-left: 3.2rem;
            }
          }
        }
      }
    }
    @media (max-width: 750px) {
      margin-top: 4rem;
      .text-page__top-block {
        margin-bottom: 5rem;
      }
      .text-page__lead-text {
        text-align: left;
        padding-bottom: 5rem;
      }
      .text-page__anchor {
        ul {
          li {
            width: calc(100% / 2);
            a {
              font-size: 1.2rem;
              padding-left: 2.2rem;
            }
          }
        }
      }
      .text-page__block {
        margin-bottom: 8rem;
      }
      .text-page__block-02 {
        margin-bottom: 5rem;
      }
      .text-page__title-large {
        font-size: 2rem;
        margin: 0 0 2rem;
        &::before {
          width: 0.8rem;
          height: 0.8rem;
        }
        + .text-page__title-medium {
          margin: 2rem 0 1.6rem;
        }
      }
      .text-page__title-medium {
        font-size: 1.6rem;
        margin: 3rem 0 1.6rem;
        &::before {
          width: 4rem;
          height: 1px;
          margin-bottom: 1.6rem;
        }
      }
      .text-page__title-small {
        font-size: 1.2rem;
        line-height: 1.583;
        margin: 2rem 0 1.2rem;
      }
      .text-page__text {
        font-size: 1.2rem;
        line-height: 1.583;
        margin: 2rem 0;
      }
      .text-page__ordered-list {
        font-size: 1.2rem;
        li {
          padding-left: 0.6rem;
          margin-bottom: 2rem;
          dl {
            dt {
              font-size: 1.2rem;
              line-height: 1.583;
            }
            dd {
              font-size: 1.2rem;
              line-height: 1.583;
            }
          }
        }
      }
      .text-page__unordered-list {
        font-size: 1.2rem;
        margin-block: 1.2rem;
        li {
          font-size: 1.2rem;
        }
      }
      .text-page__table {
        > dt {
          width: 100%;
          font-size: 1.2rem;
          line-height: 1.583;
          border-bottom: none;
          padding-block: 3rem 0;
          margin-bottom: 1.2rem;
        }
        > dd {
          width: 100%;
          font-size: 1.2rem;
          line-height: 1.583;
          padding-block: 0 3rem;
        }
      }
      .alcohol-sales-manager-sign {
        h3 {
          font-size: 1.6rem;
        }
        dl {
          dt {
            font-size: 1rem;
            line-height: 1.583;
            padding: 0.6rem;
          }
          dd {
            font-size: 1rem;
            line-height: 1.583;
            padding: 0.6rem;
          }
        }
      }
    }
  }

  /* =============================================
  キャンペーンページ
  ============================================= */
  .page-content-containter:has(.campaign-page) {
    width: 100%;
    max-width: 128rem;
    padding-inline: 4rem;
    margin-inline: auto;
    @media (max-width: 750px) {
      padding-inline: 1rem;
    }
  }
  .campaign-page {
    margin-bottom: 10rem;
    .campaign-page__mv {
      width: 100%;
      margin-bottom: 6rem;
      img {
        border-radius: 0;
      }
    }
    .campaign-page__ttl {
      text-align: center;
      margin: 0 0 4rem;
      > span {
        display: block;
        color: #F15E4B;
      }
      .ttl-small {
        font-size: 2rem;
        font-weight: 700;
        margin-bottom: 1rem;
      }
      .ttl-large {
        font-size: 4.6rem;
        font-weight: 900;
        line-height: 1.583;
      }
    }
    .campaign-page__txt {
      font-size: 1.6rem;
      font-weight: 500;
      line-height: 1.625;
      text-align: center;
      margin: 4rem 0;
    }
    .txt-small {
      max-width: 80rem;
      font-size: 1.4rem;
      text-align: left;
      margin-inline: auto;
    }
    .txt-red {
      font-weight: 700;
      color: #F15E4B;
    }
    @media (max-width: 750px) {
      margin-bottom: 8rem;
      .campaign-page__mv {
        margin-bottom: 3rem;
      }
      .campaign-page__ttl {
        margin: 0 0 2rem;
        .ttl-small {
          font-size: 1.4rem;
        }
        .ttl-large {
          font-size: 2.4rem;
        }
      }
      .campaign-page__txt {
        font-size: 1.2rem;
        line-height: 1.583;
        margin: 2rem 0 3rem;
      }
      .txt-small {
        font-size: 1.2rem;
      }
    }
  }

  .c-main-title__center:has(+ .campaign-recommend-items) {
    display: none;
  }
  .c-main-title__center:has(+ .campaign-recommend-items li) {
    display: block;
  }
  
  .campaign-recommend-items {
    display: none;
    &:has(li) {
      display: block;
      width: 100%;
      margin-bottom: 10rem;
    }
    ul {
      display: flex;
      flex-wrap: wrap;
      gap: 4rem;
      li {
        width: calc((100% / 4) - (12rem / 4));
        a {
          display: block;
          text-decoration: none;
          &:hover {
            color: initial;
          }
          .img {
            margin-bottom: 1rem;
            img {
              border-radius: 0;
              margin: 0;
            }
          }
          > p {
            margin: 0;
          }
          .product-name {
            font-size: 1.4rem;
            font-weight: 500;
            line-height: 1.571;
            margin-bottom: 0.5rem;
          }
          .product-supplier {
            font-size: 1.2rem;
            font-weight: 500;
            line-height: 1.583;
            color: #A7A7A7;
            margin-bottom: 0.5rem;
          }
          .product-price {
            font-size: 1.8rem;
            font-weight: 700;
            line-height: 1.555;
            text-align: right;
            span {
              font-size: 1.2rem;
            }
          }
        }
      }
    }
    @media (max-width: 750px) {
      &:has(li) {
        margin-bottom: 8rem;
      }
      ul {
        width: 100vw;
        margin-left: -1rem;
        flex-wrap: nowrap;
        gap: 0;
        overflow-x: scroll;
        scrollbar-width: none;
        -ms-overflow-style: none;
        &::-webkit-scrollbar {
          display: none;
        }
        li {
          flex-shrink: 0;
          width: 16.8rem;
          padding: 0.3rem;
          &:first-of-type {
            padding-left: 1rem;
          }
          &:last-of-type {
            padding-right: 1rem;
          }
          a {
            .img {
              margin-bottom: 0.4rem;
            }
            .product-name {
              font-size: 1.2rem;
              margin-bottom: 0.4rem;
            }
            .product-supplier {
              font-size: 1rem;
              margin-bottom: 0;
            }
            .product-price {
              font-size: 1.4rem;
              span {
                font-size: 1rem;
              }
            }
          }
        }
      }
    }
  }

  .campaign-banner {
    display: flex;
    flex-wrap: wrap;
    gap: 4rem;
    margin-bottom: 10rem;
    &:has(.banner:first-of-type img[src*="no-image"]):has(.banner:last-of-type img[src*="no-image"]) {
      display: none;
    }
    .banner {
      width: calc((100% / 2) - (4rem / 2));
      &:has(img[src*="no-image"]) {
        display: none;
      }
      img {
        border-radius: 0;
      }
    }
    @media (max-width: 750px) {
      gap: 2rem;
      margin-bottom: 8rem;
      .banner {
        width: 100%;
      }
    }
  }

  .campaign-page__coupon {
    max-width: 80rem;
    border-radius: 1rem;
    background-color: #F6F6F6;
    padding: 3rem 2rem;
    margin: 0 auto;
    position: relative;
    cursor: pointer;
    margin-bottom: 4rem;
    &.campaign-page__coupon-wide {
      max-width: 90rem;
    }
    &::after {
      content: "コピーしました";
      display: flex;
      align-items: center;
      justify-content: center;
      width: 100%;
      height: 100%;
      font-size: 2rem;
      font-weight: 700;
      color: #fff;
      border-radius: 1rem;
      background-color: rgba(0,0,0,0.7);
      position: absolute;
      top: 0;
      left: 0;
      z-index: 1;
      pointer-events: none;
      transition: all 300ms;
      opacity: 0;
    }
    &:hover {
      .coupon {
        .btn-copy {
          color: #fff;
          background-color: #F15E4B;;
          &::before {
            background-image: url(/cdn/shop/files/icon_copy_white.svg);
          }
        }
      }
    }
    &.copied {
      &::after {
        opacity: 1;
      }
    }
    h2 {
      font-size: 2rem;
      font-weight: 500;
      text-align: center;
      margin: 0 0 2rem;
    }
    .coupon {
      display: flex;
      align-items: center;
      justify-content: center;
      .coupon-code {
        font-size: 3rem;
        font-weight: 700;
        line-height: 1;
        margin: 0;
      }
      .btn-copy {
        display: flex;
        align-items: center;
        font-size: 1.2rem;
        font-weight: 500;
        color: #F15E4B;
        border: 1px solid #F15E4B;
        border-radius: 0.4rem;
        padding: 0.6rem 1rem;
        margin-left: 1.2rem;
        transition: all 300ms;
        &::before {
          content: "";
          display: block;
          width: 1.4rem;
          height: 1.6rem;
          background-image: url(/cdn/shop/files/icon_copy_red.svg);
          background-size: 100% 100%;
          background-position: center center;
          background-repeat: no-repeat;
          margin-right: 0.4rem;
          transition: all 300ms;
        }
      }
    }
    .annotation {
      font-size: 1.4rem;
      font-weight: 500;
      line-height: 1.571;
      text-align: center;
      color: #E14656;
      margin: 2rem 0 0;
    }
    @media (max-width: 750px) {
      margin-bottom: 3rem;
      .coupon {
        .btn-copy {
          font-size: 1.1rem;
          padding: 0.4rem 1rem;
          margin-left: 0.65rem;
        }
      }
      .annotation {
        width: fit-content;
        text-align: left;
        margin-inline: auto;
      }
    }
  }
  .campaign-page__duration {
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 80rem;
    color: #fff;
    border-radius: 1rem;
    background-color: #F15E4B;
    padding: 1.6rem 2rem;
    margin: 3rem auto;
    position: relative;
    &.campaign-page__duration-wide {
      max-width: 90rem;
    }
    h2 {
      display: flex;
      align-items: center;
      font-size: 2.4rem;
      font-weight: 500;
      line-height: 1.25;
      color: #fff;
      border-right: 0.2rem dotted #fff;
      padding-right: 2rem;
      margin: 0 2rem 0 0;
    }
    .start-date,
    .end-date {
      display: flex;
      align-items: center;
      margin: 0;
      > span {
        display: block;
        font-weight: 500;
        line-height: 1;
      }
      .date {
        font-size: 4rem;
        margin-right: 1rem;
      }
      .week {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 2.8rem;
        height: 2.8rem;
        font-size: 1.4rem;
        border: 1px solid #fff;
        border-radius: 50%;
        padding-bottom: 0.2rem;
        margin-right: 1rem;
      }
      .time {
        font-size: 2.4rem;
      }
      .txt {
        font-size: 2.4rem;
        line-height: 1.222;
      }
    }
    .start-date {
      &::after {
        content: "～";
        display: block;
        font-size: 2.4rem;
        font-weight: 500;
        line-height: 1;
        margin: 0 1.5rem;
      }
    }
    > .txt {
      display: block;
      width: fit-content;
      font-size: 1.3rem;
      line-height: 1.5;
      margin-left: 1rem;
    }
    @media (max-width: 750px) {
      display: block;
      padding: 2rem 2rem 3rem;
      margin: 2rem auto;
      h2 {
        display: block;
        font-size: 1.8rem;
        text-align: center;
        border-right: none;
        padding-right: 0;
        margin: 0 0 1.6rem;
      }
      .start-date,
      .end-date {
        justify-content: center;
        .date {
          font-size: 2.6rem;
        }
        .week {
          width: 2.4rem;
          height: 2.4rem;
          font-size: 1.2rem;
          padding-bottom: 0.1rem;
          margin-right: 0.8rem;
        }
        .time {
          font-size: 1.8rem;
        }
        .txt {
          font-size: 1.8rem;
        }
      }
      .start-date {
        margin-bottom: 1.6rem;
        &::after {
          content: "から";
          font-size: 1.8rem;
          margin: 0 0 0 0.2rem;
        }
      }
      .end-date {
        &:has(.date) {
          &::after {
            content: "まで";
            font-size: 1.8rem;
            margin: 0 0 0 0.2rem;
          }
        }
      }
      > .txt {
        margin-inline: auto;
      }
    }
  }

  /* =============================================
  特集ページ
  ============================================= */
  .page-content-containter:has(.feature-page) {
    width: 100%;
    max-width: 128rem;
    padding-inline: 4rem;
    margin-inline: auto;
    @media (max-width: 750px) {
      padding-inline: 1rem;
    }
  }
  .feature-page {
    margin-bottom: 7rem;
    .feature-page__mv {
      width: 100%;
      img {
        border-radius: 0;
        margin: 0;
      }
    }
    .feature-page__main-ttl {
      font-size: 4.6rem;
      font-weight: 700;
      line-height: 1.583;
      text-align: center;
      margin-block: 6rem 4rem;
    }
    .feature-page__text {
      font-size: 1.6rem;
      font-weight: 500;
      line-height: 2;
      text-align: center;
      margin-block: 3rem;
    }
    @media (max-width: 750px) {
      margin-bottom: 8rem;
      .feature-page__mv {
        width: 100vw;
        position: relative;
        left: -1rem;
      }
      .feature-page__main-ttl {
        font-size: 2.4rem;
        margin-block: 3rem 2rem;
      }
      .feature-page__text {
        font-size: 1.2rem;
        line-height: 1.583;
        text-align: left;
        margin-block: 2rem;
      }
    }
  }
  .featured-items {
    display: none;
    &:has(li) {
      display: block;
      width: 100%;
      margin-top: 9rem;
      margin-bottom: 7rem;
    }
    ul {
      display: flex;
      flex-wrap: wrap;
      gap: 6rem 3.8rem;
      li {
        width: calc((100% / 3) - (7.6rem / 3));
        a {
          display: block;
          text-decoration: none;
          &:hover {
            color: initial;
          }
          .img {
            margin-bottom: 1rem;
            img {
              border-radius: 0;
              margin: 0;
            }
          }
          > p {
            margin: 0;
          }
          .product-name {
            font-size: 1.4rem;
            font-weight: 500;
            line-height: 1.571;
            margin-bottom: 0.5rem;
          }
          .product-supplier {
            font-size: 1.2rem;
            font-weight: 500;
            line-height: 1.583;
            color: #A7A7A7;
            margin-bottom: 0.5rem;
          }
          .product-price {
            font-size: 1.8rem;
            font-weight: 700;
            line-height: 1.555;
            text-align: right;
            span {
              font-size: 1.2rem;
            }
          }
        }
      }
    }
    @media (max-width: 750px) {
      &:has(li) {
        margin-top: 8rem;
        margin-bottom: 8rem;
      }
      ul {
        gap: 4rem 1rem;
        li {
          width: calc((100% / 2) - (1rem / 2));
          a {
            .img {
              margin-bottom: 0.4rem;
            }
            .product-name {
              font-size: 1.2rem;
              margin-bottom: 0.4rem;
            }
            .product-supplier {
              font-size: 1rem;
              margin-bottom: 0;
            }
            .product-price {
              font-size: 1.4rem;
              span {
                font-size: 1rem;
              }
            }
          }
        }
      }
    }
  }

  /* =============================================
  お知らせ一覧ページ
  ============================================= */
  .main-blog {
    width: 100%;
    max-width: 98rem;
    padding-top: 6rem;
    padding-inline: 4rem;
    margin-inline: auto;
    .blog-articles {
      display: block;
      padding-top: 3rem;
      .blog-articles__article {
        border-bottom: 1px solid #A7A7A7;
        &:first-of-type {
          border-top: 1px solid #A7A7A7;
        }
        .article-card-wrapper {
          .article-card {
            border: none;
            border-radius: 0;
            .card__inner {
              display: none;
            }
            .card__content {
              padding: 0;
              .card__information {
                display: flex;
                flex-direction: row-reverse;
                padding: 0;
                position: relative;
                &::after {
                  content: "";
                  display: block;
                  width: 1.2rem;
                  height: 0.67rem;
                  background-image: url(/cdn/shop/files/arrow_up_black.svg);
                  background-size: 100% 100%;
                  background-position: center center;
                  background-repeat: no-repeat;
                  position: absolute;
                  top: 50%;
                  right: 1.8rem;
                  bottom: auto;
                  left: auto;
                  transform: translateY(-50%) rotate(90deg);
                  pointer-events: none;
                }
                .card__heading {
                  width: calc(100% - 11.6rem);
                  font-size: 1.6rem;
                  font-weight: 500;
                  line-height: 1.375;
                  margin: 0;
                  a {
                    display: block;
                    padding-block: 2.8rem;
                    padding-right: 5rem;
                    &:hover {
                      text-decoration: none;
                    }
                  }
                }
                .article-card__info {
                  width: 11.6rem;
                  padding: 0;
                  padding-block: 2.8rem;
                  .circle-divider {
                    font-size: 1.6rem;
                    font-weight: 500;
                    line-height: 1.375;
                  }
                }
                .article-card__excerpt {
                  display: none;
                }
              }
            }
          }
        }
      }
    }
    .pagination-wrapper {
      margin-top: 4rem;
      .pagination {
        .pagination__list {
          li {
            flex: initial;
            width: 2.8rem;
            height: 2.8rem;
            .pagination__item {
              display: flex;
              width: 100%;
              height: 100%;
              font-size: 1.4rem;
              font-weight: 500;
              color: #A7A7A7;
              &:hover {
                opacity: 1;
                &::after {
                  width: 1em;
                  bottom: 0.4rem;
                }
              }
            }
            .pagination__item--current {
              font-size: 1.4rem;
              color: #262626;
              &::after {
                width: 1em;
                bottom: 0.4rem;
              }
            }
            .pagination__item-arrow {
              color: #262626;
            }
          }
        }
      }
    }
    @media (max-width: 750px) {
      padding-top: 4rem;
      padding-inline: 2rem;
      .blog-articles {
        padding-top: 1rem;
        .blog-articles__article {
          .article-card-wrapper {
            .article-card {
              .card__content {
                .card__information {
                  display: flex;
                  flex-direction: column-reverse;
                  &::after {
                    right: 0;
                  }
                  .card__heading {
                    width: 100%;
                    font-size: 1.2rem;
                    line-height: 1.583;
                    a {
                      padding-block: 0.6rem 1.9rem;
                      padding-right: 2rem;
                    }
                  }
                  .article-card__info {
                    width: 100%;
                    padding-block: 1.9rem 0;
                    .circle-divider {
                      font-size: 1.2rem;
                      line-height: 1.583;
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }

  /* =============================================
  お知らせ詳細ページ
  ============================================= */
  .article-template:has(.news-content) {
    .page-width,
    .article-template__hero-container,
    .article-template__back {
      width: 100%;
      max-width: 98rem;
      padding-inline: 4rem;
      margin-inline: auto;
    }
    .media {
      height: auto;
      img {
        height: auto;
        position: static;
      }
    }

    header.page-width {
      margin-block: 8rem 3rem;
      .article-template__title {
        font-size: 3rem;
        font-weight: 700;
        line-height: 1.5;
        margin-bottom: 3rem;
      }
      .caption-with-letter-spacing {
        display: block;
        font-size: 1.6rem;
        font-weight: 500;
        color: #262626;
        margin-bottom: 3rem;
      }
    }
    .article-template__content {
      margin-bottom: 10rem;
      .news-content {
        .news-content__ttl {
          font-size: 2rem;
          font-weight: 700;
          line-height: 1.375;
          padding-bottom: 1.4rem;
          margin-block: 10rem 3rem;
          position: relative;
          &::before {
            content: "";
            display: block;
            width: 100%;
            height: 1px;
            background-color: #A7A7A7;
            position: absolute;
            bottom: 0;
            left: 0;
          }
          &::after {
            content: "";
            display: block;
            width: 10rem;
            height: 1px;
            background-color: #F15E4B;
            position: absolute;
            bottom: 0;
            left: 0;
          }
        }
        .news-content__txt {
          font-size: 1.4rem;
          line-height: 1.571;
          margin-block: 3rem;
          a {
            color: #F15E4B;
          }
        }
        .news-content__img {
          img {
            border-radius: 0;
          }
        }
        .cmn-btn {
          margin-left: 0;
        }
      }
    }
    .btn-back {
      margin-bottom: 10rem;
    }
    @media (max-width: 750px) {
      .page-width,
      .article-template__hero-container,
      .article-template__back {
        padding-inline: 2rem;
      }

      header.page-width {
        margin-block: 6rem 2rem;
        .article-template__title {
          font-size: 2rem;
          line-height: 1.6;
          margin-bottom: 2rem;
        }
        .caption-with-letter-spacing {
          font-size: 1.2rem;
          margin-bottom: 2rem;
        }
      }
      .article-template__content {
        margin-bottom: 8rem;
        .news-content {
          .news-content__ttl {
            font-size: 1.6rem;
            margin-block: 8rem 2rem;
          }
          .news-content__txt {
            font-size: 1.2rem;
            line-height: 1.583;
            margin-block: 2rem;
          }
        }
      }
      .btn-back {
        margin-bottom: 8rem;
      }
    }
  }

  /* =============================================
  お知らせ詳細ページ（ブロックエディタ）
  ============================================= */
  .article-template:not(:has(.news-content)) {
    .page-width,
    .article-template__hero-container {
      width: 100%;
      max-width: 98rem;
      padding-inline: 4rem;
      margin-inline: auto;
    }
    .media {
      height: auto;
      img {
        height: auto;
        position: static;
      }
    }

    header.page-width {
      margin-block: 8rem 3rem;
      .article-template__title {
        font-size: 3rem;
        font-weight: 700;
        line-height: 1.5;
        margin-bottom: 3rem;
      }
      .caption-with-letter-spacing {
        display: block;
        font-size: 1.6rem;
        font-weight: 500;
        color: #262626;
        margin-bottom: 3rem;
      }
    }
    .article-template__content {
      margin-bottom: 6rem;
    }
    .btn-back {
      margin-bottom: 10rem;
    }
    @media (max-width: 750px) {
      .page-width,
      .article-template__hero-container {
        padding-inline: 2rem;
      }

      header.page-width {
        margin-block: 6rem 2rem;
        .article-template__title {
          font-size: 2rem;
          line-height: 1.6;
          margin-bottom: 2rem;
        }
        .caption-with-letter-spacing {
          font-size: 1.2rem;
          margin-bottom: 2rem;
        }
      }
      .article-template__content {
        margin-bottom: 4rem;
      }
      .btn-back {
        margin-bottom: 8rem;
      }
    }
  }


  /* =============================================
  フッター
  ============================================= */
  /* チェックした商品 */
  .c-checked-item {
    width: 100%;
    max-width: 128rem;
    padding-inline: 4rem;
    margin-inline: auto;
    margin-bottom: 10rem;
    .c-item-block__wrap {
      display: flex;
      gap: 1.2rem;
      .c-item-block__blk {
        width: calc((100% / 6) - (6rem / 6));
        a {
          display: block;
        }
      }
    }

    @media (max-width: 750px) {
      padding-inline: 0;
      margin-bottom: 8rem;
      .c-item-block__wrap {
        gap: 0.6rem;
        overflow-x: scroll;
        -ms-overflow-style: none;
        scrollbar-width: none;
        &::-webkit-scrollbar{
          display: none;
        }
        &::before,
        &::after {
          content: "";
          flex-shrink: 0;
          display: block;
          width: 0.4rem;
          height: 1px;
        }
        .c-item-block__blk {
          flex-shrink: 0;
          width: 16.2rem;
        }
      }
    }
  }

  .shopify-section:has([id*="rempro"]) {
    display: none;
    margin-bottom: 10rem;
    > .page-width {
      width: 100%;
      max-width: 128rem;
      padding-inline: 4rem;
      margin-inline: auto;
      > .shopify-block {
        .recently-viewed-product__title {
          display: none !important;
        }
        #recently-view-upsell {
          max-width: 100%;
          padding: 0;
          margin: 0;
          .recently-viewed-product__grid {
            display: flex;
            gap: 1.2rem;
            > span {
              display: none;
            }
            .grid__item {
              flex-basis: auto;
              width: calc((100% / 6) - (6rem / 6));
              max-width: 100%;
              .product-template__image {
                a {
                  display: block;
                }
              }
              .product-template__info {
                display: none;
              }
            }
          }
        }
      }
    }
    &:has(.grid__item) {
      display: block;
    }
    @media (max-width: 750px) {
      margin-bottom: 8rem;
      > .page-width {
        padding-inline: 0;
        > .shopify-block {
          #recently-view-upsell {
            .recently-viewed-product__grid {
              gap: 0.6rem;
              overflow-x: scroll;
              -ms-overflow-style: none;
              scrollbar-width: none;
              &::-webkit-scrollbar{
                display: none;
              }
              &::before,
              &::after {
                content: "";
                flex-shrink: 0;
                display: block;
                width: 0.4rem;
                height: 1px;
              }
              .grid__item {
                flex-shrink: 0;
                width: 16.2rem;
                margin: 0;
              }
            }
          }
        }
      }
    }
  }

  /* チェックした商品のタイトル非表示設定 */
  [id*="c_title_center"]:has(+ .shopify-section [id*="rempro"]) {
    display: none;
  }
  [id*="c_title_center"]:has(+ .shopify-section [id*="rempro"] .grid__item) {
    display: block;
  }

  /* フッターインフォ */
  .c-footer-info {
    width: 100%;
    background-color: #FBF8E9;
    padding: 6rem 0;
    .c-footer-info__wrap {
      width: 100%;
      max-width: 128rem;
      padding-inline: 4rem;
      margin-inline: auto;
      h2 {
        font-size: 2.4rem;
        font-weight: 500;
        line-height: 1.5;
        margin: 0 0 3rem;
      }
      .c-footer-info__about {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        margin-bottom: 6rem;
        .c-footer-info__about-blk {
          width: calc((100% / 2) - (4rem / 2));
          border-radius: 1rem;
          background-color: #fff;
          padding: 3rem;
          .c-footer-info__about-inner {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            justify-content: space-between;
            width: 100%;
            margin-bottom: 2rem;
            .img {
              width: calc((160 / 520) * 100%);
              border-radius: 50%;
              overflow: hidden;
            }
            h3 {
              width: calc((340 / 520) * 100%);
              font-size: 2rem;
              font-weight: 500;
              line-height: 1.6;
              color: #F15E4B;
            }
          }
          p {
            width: 100%;
            font-size: 1.4rem;
            font-weight: 500;
            line-height: 1.571;
            margin: 0;
            .txt-red {
              color: #E14656;
            }
          }
        }
      }
      .c-footer-info__register {
        display: flex;
        flex-wrap: wrap;
        // justify-content: space-between;
        justify-content: center;
        margin-bottom: 3rem;
        .txt-red {
          color: #E14656;
        }
        .c-footer-info__register-blk {
          width: calc((100% / 3) - (8rem / 3));
          border-radius: 1rem;
          background-color: #fff;
          padding: 5.1rem 2rem 2.4rem;
          .img {
            width: 7rem;
            margin-inline: auto;
            margin-bottom: 3rem;
            position: relative;
          }
          p {
            font-size: 1.4rem;
            font-weight: 500;
            line-height: 1.571;
            text-align: center;
            margin: 0;
          }
          &.with-callout {
            .img {
              &::after {
                content: "";
                display: block;
                width: 8rem;
                height: 4.7rem;
                background-image: url(/cdn/shop/files/callout_more.svg);
                background-size: 100% 100%;
                background-position: center center;
                background-repeat: no-repeat;
                position: absolute;
                top: -3.2rem;
                right: 0;
                transform: translateX(100%);
              }
            }
          }
        }
      }
      .c-footer-info__btn-wrap {
        display: flex;
        // justify-content: space-between;
        justify-content: center;
        max-width: 76rem;
        margin-inline: auto;
        .c-footer-info__btn {
          width: 36rem;
          height: 6rem;
          a {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 100%;
            height: 100%;
            font-size: 2rem;
            font-weight: 700;
            text-decoration: none;
            border-radius: 0.4rem;
            position: relative;
            &::before {
              content: "";
              display: block;
              width: 2rem;
              height: 1.9rem;
              background-size: 100% 100%;
              background-position: center center;
              background-repeat: no-repeat;
              margin-right: 1rem;
            }
          }
          &.btn-register {
            a {
              border: 1px solid #F15E4B;
              color: #F15E4B;
              &::before {
                background-image: url(/cdn/shop/files/icon_person_red.svg);
              }
            }
          }
          &.btn-line {
            position: relative;
            a.line-integration {
              border: 1px solid #06C755;
              color: #06C755;
              &::before {
                background-image: url(/cdn/shop/files/icon_line_green.svg);
              }
            }
            a.line-deintegration {
              display: block;
              width: fit-content;
              height: auto;
              font-size: 1.2rem;
              font-weight: 500;
              text-decoration: underline;
              position: absolute;
              bottom: -2.4em;
              left: 0;
              right: 0;
              margin-inline: auto;
            }
          }
        }
      }
      .c-footer-info__line-intergrate {
        display: flex;
        flex-wrap: wrap;
        gap: 4rem;
        margin-top: 6rem;
        .txt-underline {
          text-decoration: underline;
        }
        .txt-orange {
          color: #F15E4B;
        }
        .txt-red {
          color: #E14656;
        }
        .txt-bold {
          font-weight: 700;
        }
        .intergrate-feature {
          width: calc((100% / 2) - (4rem / 2));
          .intergrate-feature-inner {
            display: flex;
            flex-direction: column;
            gap: 1.5rem;
            > li {
              display: flex;
              align-items: flex-start;
              gap: 2rem;
              border-radius: 1rem;
              background-color: #fff;
              padding: 3rem;
              .feature-num {
                display: flex;
                flex-direction: column;
                align-items: center;
                justify-content: center;
                width: 8rem;
                height: 8rem;
                font-size: 1.6rem;
                font-weight: 700;
                line-height: 1;
                color: #fff;
                border-radius: 50%;
                background-color: #F15E4B;
                span {
                  font-size: 3.2rem;
                  font-weight: 500;
                  line-height: 1;
                }
              }
              .featire-content {
                width: calc(100% - 10rem);
                h3 {
                  font-size: 1.6rem;
                  font-weight: 700;
                  line-height: 1.6;
                  margin: 0 0 1.5rem;
                }
                ul {
                  padding-left: 1em;
                  li {
                    list-style-type: disc;
                    font-size: 1.4rem;
                    line-height: 1.6;
                  }
                }
                p {
                  font-size: 1.4rem;
                  line-height: 1.6;
                  margin: 0;
                }
              }
            }
          }
        }
        .intergrate-step {
          width: calc((100% / 2) - (4rem / 2));
          .intergrate-step-inner {
            border-radius: 1rem;
            background-color: #fff;
            padding: 3rem;
            > li {
              display: flex;
              align-items: flex-start;
              gap: 3rem;
              padding-block: 2.1rem;
              border-bottom: 1px solid #EDEDED;
              position: relative;
              &::before {
                content: "";
                display: block;
                width: 8rem;
                height: 1px;
                background-color: #F15E4B;
                position: absolute;
                bottom: -1px;
                left: 0;
              }
              &::after {
                content: "";
                display: block;
                width: 0;
                height: 0;
                border-left: 1rem solid transparent;
                border-right: 1rem solid transparent;
                border-top: 0.8rem solid #F15E4B;
                position: absolute;
                bottom: calc(-0.8rem - 1px);
                left: 3rem;
              }
              &:first-of-type {
                padding-top: 0;
              }
              &:last-of-type {
                border-bottom: none;
                padding-bottom: 0;
                &::before,
                &::after {
                  content: none;
                }
                .step-content {
                  display: flex;
                  gap: 1rem;
                  .btn-blk {
                    width: 15.5rem;
                  }
                  .txt-blk {
                    display: flex;
                    flex-direction: column;
                    gap: 2rem;
                    width: calc(100% - 16.5rem);
                  }
                }
              }
              .step-num-blk {
                width: 8rem;
                .step-num {
                  display: flex;
                  flex-direction: column;
                  align-items: center;
                  justify-content: center;
                  width: 100%;
                  font-size: 1.6rem;
                  line-height: 1;
                  color: #fff;
                  border-radius: 0.4rem;
                  background-color: #F15E4B;
                  padding-block: 1rem;
                }
                .btn-blk {
                  display: none;
                }
              }
              .step-content {
                width: calc(100% - 11rem);
                p {
                  font-size: 1.4rem;
                  line-height: 1.6;
                  margin: 0;
                }
                .btn-line-add {
                  width: 100%;
                  max-width: 34.7rem;
                  margin-top: 2rem;
                }
              }
            }
          }
        }
      }
    }

    @media (min-width: 861px) and (max-width: 1040px) {
      .c-footer-info__wrap {
        .c-footer-info__about {
          .c-footer-info__about-blk {
            width: calc((100% / 2) - (2rem / 2));
          }
        }
        .c-footer-info__register {
          .c-footer-info__register-blk {
            width: calc((100% / 3) - (4rem / 3));
            padding: 3rem 2rem 2.4rem;
          }
        }
        .c-footer-info__btn-wrap {
          max-width: 74rem;
        }
        .c-footer-info__line-intergrate {
          flex-direction: column;
          gap: 6rem;
          .intergrate-feature {
            width: 100%;
          }
          .intergrate-step {
            width: 100%;
          }
        }
      }
    }

    @media (max-width: 860px) {
      padding: 4rem 0 6rem;
      .c-footer-info__wrap {
        padding-inline: 1rem;
        h2 {
          font-size: 2rem;
          text-align: center;
          margin: 0 0 2rem;
        }
        .c-footer-info__about {
          flex-direction: column;
          gap: 1rem;
          margin-bottom: 5rem;
          .c-footer-info__about-blk {
            width: 100%;
            padding: 2rem;
            .c-footer-info__about-inner {
              .img {
                width: 12rem;
              }
              h3 {
                width: calc(100% - 14rem);
                font-size: 1.4rem;
                line-height: 1.571;
              }
            }
            p {
              font-size: 1.2rem;
              line-height: 1.583;
            }
          }
        }
        .c-footer-info__register {
          flex-direction: column;
          gap: 1rem;
          margin-bottom: 2rem;
          .c-footer-info__register-blk {
            display: flex;
            align-items: center;
            width: 100%;
            padding: 2rem 2.5rem;
            .img {
              width: 7rem;
              margin-inline: 0;
              margin-bottom: 0;
              margin-right: 2.5rem;
            }
            p {
              width: calc(100% - 9.5rem);
              font-size: 1.2rem;
              font-weight: 700;
              line-height: 1.583;
              text-align: left;
            }
            &.with-callout {
              .img {
                &::after {
                  width: 6rem;
                  height: 3.5rem;
                  top: -2.8rem;
                  right: -4.2rem;
                  transform: translateX(0);
                }
              }
            }
          }
        }
        .c-footer-info__btn-wrap {
          flex-direction: column;
          gap: 2rem;
          .c-footer-info__btn {
            width: 24rem;
            height: 4.6rem;
            margin-inline: auto;
            a {
              font-size: 1.6rem;
              &::before {
                width: 1.6rem;
                height: 1.53rem;
              }
            }
          }
        }
        .c-footer-info__line-intergrate {
          flex-direction: column;
          gap: 5rem;
          .intergrate-feature {
            width: 100%;
            .intergrate-feature-inner {
              gap: 1rem;
              > li {
                gap: 1rem;
                padding: 2rem;
                .feature-num {
                  width: 5rem;
                  height: 5rem;
                  font-size: 1.1rem;
                  span {
                    font-size: 2rem;
                  }
                }
                .featire-content {
                  width: calc(100% - 6rem);
                  h3 {
                    font-size: 1.4rem;
                    letter-spacing: 0.05em;
                    margin: 0 0 1rem;
                    br {
                      display: none;
                    }
                  }
                  ul {
                    li {
                      font-size: 1.2rem;
                    }
                  }
                  p {
                    font-size: 1.2rem;
                  }
                }
              }
            }
          }
          .intergrate-step {
            width: 100%;
            .intergrate-step-inner {
              padding: 2rem;
              > li {
                gap: 1rem;
                padding-block: 1.2rem;
                &::before {
                  width: 7.2rem;
                }
                &::after {
                  left: 2.6rem;
                }
                &:last-of-type {
                  .step-content {
                    display: block;
                    .btn-blk {
                      display: none;
                    }
                    .txt-blk {
                      gap: 1rem;
                      width: 100%;
                    }
                  }
                }
                .step-num-blk {
                  width: 7.2rem;
                  .step-num {
                    font-size: 1.4rem;
                    padding-block: 0.9rem;
                  }
                  .btn-blk {
                    display: block;
                    width: 100%;
                    margin-top: 1.5rem;
                  }
                }
                .step-content {
                  width: calc(100% - 8.2rem);
                  p {
                    font-size: 1.2rem;
                  }
                  .btn-line-add {
                    margin-top: 1.5rem;
                  }
                }
              }
            }
          }
        }
      }
    }
  }

  /* 酒類の販売について */
  .c-footer-prohibition {
    width: 100%;
    background-color: #F6F6F6;
    padding: 1.8rem 0;
    .c-footer-prohibition__wrap {
      width: 100%;
      max-width: 128rem;
      padding-inline: 4rem;
      margin-inline: auto;
      p {
        display: flex;
        align-items: center;
        width: fit-content;
        font-size: 1.2rem;
        font-weight: 500;
        line-height: 1.583;
        text-align: center;
        margin: 0 auto;
        &::before {
          content: "";
          display: block;
          width: 4rem;
          height: 4rem;
          background-image: url(/cdn/shop/files/icon_prohibition.svg);
          background-size: 100% 100%;
          background-position: center center;
          background-repeat: no-repeat;
          margin-right: 2rem;
        }
        br {
          display: none;
        }
      }
    }

    @media (max-width: 750px) {
      padding: 1.8rem 0;
      .c-footer-prohibition__wrap {
        padding-inline: 1rem;
        p {
          width: 100%;
          text-align: left;
          &::before {
            flex-shrink: 0;
            margin-right: 1rem;
          }
          br {
            display: block;
          }
        }
      }
    }
  }

  /* フッターメニュー */
  .c-footer-menu {
    display: flex;
    justify-content: space-between;
    width: 100%;
    max-width: 128rem;
    padding-inline: 4rem;
    padding-block: 6rem;
    margin-inline: auto;
    .c-footer-menu__blk {
      &.menu-category {
        width: 26.4rem;
        .menu-blk {
          li {
            &:nth-of-type(odd) {
              width: 13.2rem;
            }
            &:nth-of-type(even) {
              width: 13.2rem;
            }
          }
        }
      }
      &.menu-price {
        width: 10.1rem;
      }
      &.menu-guide {
        width: 13.2rem;
      }
      &.menu-sns {
        width: 12.8rem;
        .menu-blk {
          li {
            &:last-of-type {
              margin-bottom: 0;
            }
            a {
              display: flex;
              align-items: center;
              &::before {
                content: "";
                flex-shrink: 0;
                display: block;
                width: 2rem;
                height: 2rem;
                background-size: 100% 100%;
                background-position: center center;
                background-repeat: no-repeat;
                margin-right: 1.6rem;
              }
            }
            &.menu-instagram {
              a {
                &::before {
                  background-image: url(/cdn/shop/files/icon_instagram.svg);
                }
              }
            }
            &.menu-line {
              a {
                &::before {
                  background-image: url(/cdn/shop/files/icon_line.svg);
                }
              }
            }
          }
        }
      }
      &.menu-contact {
        width: 36.8rem;
        background-color: #F6F6F6;
        border-radius: 1rem;
        padding: 2rem 4rem 3rem;
        h2 {
          font-size: 1.6rem;
          font-weight: 700;
          color: #F15E4B;
          line-height: 1.75;
          text-align: center;
          margin: 0 0 1.2rem;
        }
        ul {
          display: flex;
          flex-direction: column;
          gap: 1.6rem;
          li {
            a,
            .alt-a {
              display: flex;
              align-items: center;
              font-size: 1.2rem;
              font-weight: 500;
              line-height: 1.583;
              text-decoration: none;
              position: relative;
              &::before {
                content: "";
                flex-shrink: 0;
                display: block;
                width: 2rem;
                background-size: 100% 100%;
                background-position: center center;
                background-repeat: no-repeat;
                margin-right: 1.6rem;
              }
              .bold {
                display: block;
                font-weight: 700;
              }
            }
            &.menu-contact__email {
              a,
              .alt-a {
                &::before {
                  height: 1.6rem;
                  background-image: url(/cdn/shop/files/icon_email.svg);
                }
              }
            }
            &.menu-contact__phone {
              a,
              .alt-a {
                &::before {
                  height: 2rem;
                  background-image: url(/cdn/shop/files/icon_phone.svg);
                }
              }
            }
            &.menu-contact__company {
              a,
              .alt-a {
                &::before {
                  height: 1.8rem;
                  background-image: url(/cdn/shop/files/icon_store.svg);
                }
              }
            }
          }
        }
      }
      .menu-title {
        font-size: 1.6rem;
        font-weight: 700;
        line-height: 1.75;
        color: #F15E4B;
        margin: 0 0 1rem;
      }
      .menu-blk {
        display: flex;
        flex-wrap: wrap;
        gap: 1.4rem 0;
        li {
          width: 100%;
          a {
            display: block;
            font-size: 1.2rem;
            font-weight: 500;
            line-height: 1.583;
            letter-spacing: 0;
            text-decoration: none;
          }
        }
      }
    }

    @media (max-width: 1200px) {
      flex-direction: column;
      padding-inline: 1rem;
      padding-block: 1.8rem 3rem;
      .c-footer-menu__blk {
        border-bottom: 1px solid #EDEDED;
        &.menu-category {
          width: 100%;
          .menu-blk {
            li {
              &:nth-of-type(odd) {
                width: 25%;
              }
              &:nth-of-type(even) {
                width: 25%;
              }
            }
          }
        }
        &.menu-price {
          width: 100%;
        }
        &.menu-guide {
          width: 100%;
        }
        &.menu-sns {
          width: 100%;
          border-bottom: none;
          margin-bottom: 1.4rem;
          .menu-blk {
            li {
              &:not([class*=" "]) {
                a {
                  &::before {
                    content: none;
                  }
                }
              }
            }
          }
        }
        &.menu-contact {
          width: 100%;
          max-width: 35.5rem;
          border-bottom: none;
          padding: 2rem 3rem 3rem;
          margin-inline: auto;
        }
        .menu-title {
          font-size: 1.6rem;
          padding-block: 1.2rem;
          margin: 0;
          position: relative;
          &.footer-toggle {
            cursor: pointer;
            &::after {
              content: "";
              display: block;
              width: 1.2rem;
              height: 0.67rem;
              background-image: url(/cdn/shop/files/arrow_up_black.svg);
              background-size: 100% 100%;
              background-position: center center;
              background-repeat: no-repeat;
              position: absolute;
              top: 50%;
              right: 0;
              transform: translateY(-50%) rotate(180deg);
              transition: all 300ms;
            }
            &.is-viewed {
              &::after {
                transform: translateY(-50%) rotate(0);
              }
            }
          }
        }
        .menu-blk {
          gap: 1.6rem 0;
          padding-bottom: 1.6rem;
          li {
            width: 25%;
          }
        }
      }
    }

    @media (max-width: 750px) {
      .c-footer-menu__blk {
        &.menu-category {
          .menu-blk {
            li {
              &:nth-of-type(odd) {
                width: 50%;
              }
              &:nth-of-type(even) {
                width: 50%;
              }
            }
          }
        }
        &.menu-sns {
          .menu-blk {
            li {
              &:not([class*=" "]) {
                margin-left: auto;
                a {
                  &::before {
                    content: "";
                  }
                }
              }
            }
          }
        }
        .menu-blk {
          li {
            width: 50%;
          }
        }
      }
    }
  }

  /* フッターバナー */
  .c-footer-banner {
    width: 100%;
    background-color: #E3EEE9;
    padding-block: 4rem;
    .c-footer-banner__wrap {
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      width: 100%;
      max-width: 128rem;
      padding-inline: 4rem;
      margin-inline: auto;
      h2 {
        width: 15.8rem;
        font-size: 1.6rem;
        font-weight: 700;
        line-height: 1.75;
        margin: 0;
      }
      ul {
        display: flex;
        flex-wrap: wrap;
        gap: 2rem;
        width: calc(100% - 15.8rem);
        li {
          width: 22rem;
          a {
            display: block;
            border-radius: 1rem;
            overflow: hidden;
          }
        }
      }
    }

    @media (max-width: 940px) {
      padding-block: 3rem;
      .c-footer-banner__wrap {
        display: block;
        padding-inline: 0;
        h2 {
          width: 100%;
          padding-inline: 1rem;
          margin-bottom: 2rem;
        }
        ul {
          flex-wrap: nowrap;
          gap: 1rem;
          width: 100%;
          overflow-x: scroll;
          -ms-overflow-style: none;
          scrollbar-width: none;
          &::-webkit-scrollbar{
            display: none;
          }
          &::before,
          &::after {
            content: "";
            flex-shrink: 0;
            display: block;
            width: 0.1px;
            height: 1px;
          }
          li {
            flex-shrink: 0;
          }
        }
      }
    }
  }

  /* フッター最下部 */
  .c-footer-bottom {
    width: 100%;
    background-color: #262626;
    padding-block: 2rem;
    .c-footer-bottom__wrap {
      width: 100%;
      max-width: 128rem;
      padding-inline: 4rem;
      margin-inline: auto;
      .c-footer-bottom__menu {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        margin-bottom: 1.6rem;
        li {
          display: flex;
          align-items: center;
          &:last-of-type {
            &::after {
              content: none;
            }
          }
          &::after {
            content: "/";
            display: block;
            font-size: 1.2rem;
            font-weight: 400;
            color: #fff;
            padding: 0 0.5rem;
          }
          a {
            display: block;
            font-size: 1.2rem;
            font-weight: 400;
            text-decoration: none;
            color: #fff;
          }
        }
      }
      .copyright {
        font-size: 1.2rem;
        font-weight: 400;
        text-align: center;
        color: #A7A7A7;
        margin: 0;
      }
    }

    @media (max-width: 750px) {
      .c-footer-bottom__wrap {
        padding-inline: 1rem;
        .c-footer-bottom__menu {
          margin-bottom: 1.1rem;
          li {
            &::after {
              font-size: 1.1rem;
              padding: 0 0.2rem;
            }
            a {
              font-size: 1.1rem;
            }
          }
        }
        .copyright {
          font-size: 1.1rem;
        }
      }
    }
  }

  /* =============================================
  カートページ
  ============================================= */
  .cart__warnings {
    padding-bottom: 10rem;
    .button {
      color: #fff;
    }
    @media (max-width: 750px) {
      padding-bottom: 8rem;
    }
  }

  /* ギフト */
  [id*="all_in_gift"] {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
    letter-spacing: 0.06em;
    color: #262626;
    margin: 0 0 3rem;
    .sns-gift-new-cart-container {
      .css-0 {
        .chakra-form-control {
          > div {
            height: 4.7rem;
            border: 1px solid rgba(38,38,38,0.5);
            border-radius: 0.6rem;
            padding: 0 1rem 0 2rem;
            -webkit-font-smoothing: auto;
            > img {
              width: 2rem !important;
              height: 2rem !important;
            }
          }
        }
      }
      .chakra-button {
        width: 100%;
        height: 6rem;
        &[type="submit"] {
          border-color: #f15e4b;
          background-color: #f15e4b;
        }
      }
      > chakra-scope {
        > div {
          > div:has(.chakra-text):first-of-type {
            > .chakra-text {
              display: none;
            }
            > .chakra-radio-group {
              > .chakra-stack {
                > div:has(.chakra-radio) {
                  display: none !important;
                }
                > div:has(.chakra-checkbox) {
                  padding-left: 0;
                }
              }
            }
          }
        }
        .chakra-container {
          div:has(> .chakra-image) {
            gap: 1rem;
            .chakra-image {
              width: 8rem;
            }
            > div {
              width: calc(100% - 9rem);
              margin-left: 0;
              p {
                text-align: left;
              }
            }
          }
        }
      }
    }
  }
  [id*="all_in_gift"]:has(.chakra-checkbox .chakra-checkbox__control[data-checked]) {
    + div:has(.product-form) {
      button {
        display: none;
      }
    }
  }
  /* ギフトモーダル */
  .chakra-portal {
    .chakra-modal__content-container {
      padding: 0 1rem;
      .chakra-modal__content {
        max-width: 80rem;
        padding: 1rem;
        .chakra-modal__close-btn {
          width: 2rem;
          height: 2rem;
          top: 1rem;
          right: 1rem;
          &:hover {
            background-color: transparent;
          }
          .chakra-icon {
            width: 100%;
            height: 100%;
            line-height: 2rem;
          }
        }
        .chakra-modal__body {
          .chakra-radio-group > .chakra-stack {
            flex-wrap: wrap;
            flex-direction: row;
            max-height: 100%;
            overflow-y: auto;
            gap: 1rem;
            > div {
              width: calc((100% / 2) - (1rem / 2));
              border-width: 1px;
              padding: 0;
              margin: 0;
              .chakra-radio {
                align-items: center;
                flex-wrap: wrap;
                padding: 1rem;
                .chakra-radio__label {
                  width: calc(100% - 2.1rem);
                  margin: 0;
                  .chakra-stack {
                    flex-wrap: wrap;
                    height: auto;
                    .chakra-image {
                      width: 100%;
                      padding: 2rem;
                      margin: 0;
                    }
                    .css-pjaq7e {
                      width: 100%;
                      padding: 0 2rem;
                      margin: 0;
                    }
                  }
                }
              }
            }
          }
          .chakra-form-control {
            > .css-15bv2gk {
              height: 4.7rem;
              border: 1px solid rgba(38,38,38,0.5);
              border-radius: 0.6rem;
              padding: 0 1rem 0 2rem;
              > img {
                width: 2rem !important;
                height: 2rem !important;
              }
            }
          }
          .chakra-textarea {
            height: auto;
            min-height: 4.7rem;
            border: 1px solid rgba(38,38,38,0.5);
            border-radius: 0.6rem;
            padding: 1rem 2rem;
          }
        }
        .chakra-button {
          width: 100%;
          max-width: 40rem;
          height: 6rem;
          margin-inline: auto;
          &.css-1qnpyne {
            background-color: #262626;
          }
        }
      }
      /* ギフト設定リセット */
      .chakra-modal__content.css-7myqln {
        max-width: fit-content;
        .chakra-modal__body {
          .chakra-stack {
            flex-direction: column;
            gap: 1rem;
            margin-top: 2rem;
          }
        }
      }
    }
    @media (max-width: 750px) {
      .chakra-modal__content-container {
        .chakra-modal__content {
          .chakra-modal__body {
            .chakra-radio-group > .chakra-stack {
              > div {
                width: 100%;
              }
            }
          }
        }
      }
    }
  }

  /* ギフト */
  div:has(.svelte-modal) {
    .svelte-modal {
      .item-add-button {
        width: 100%;
        .button {
          background-color: #e6e6e6;
          &::after {
            box-shadow: none;
          }
        }
      }
      .gift-setting__button {
        width: 100%;
        .button {
          background-color: #f15e4b;
        }
      }
      .modal-button {
        .button {
          background-color: #f15e4b;
        }
      }
      select {
        + .svelte-icon {
          top: 14px;
        }
      }
      .gift-setting__textarea {
        textarea {
          &::placeholder {
            color: #a5a5a5;
          }
        }
      }
    }
  }

  /* =============================================
  404
  ============================================= */
  .template-404 {
    .title {
      font-size: 4rem;
    }
    .button {
      color: #fff;
    }
    @media (max-width: 750px) {
      .title {
        font-size: 2.6rem;
      }
    }
  }
}