@layer custom {
  /* 追加スタイル */
  :root {
    --spacing-unit: 8px;
    --font-unit: 2px;
  }

  /* 商品詳細ページ 販売価格と値段を対象とする */
  .sales_price_block {
    color: red;
    font-weight: bold;
    font-size: 1.2em;
  }
  /* 商品詳細ページ
  「インターネットでのご注文」の画像〜お気に入りまで線で囲う */
  .online-cart-in {
    border: 2px solid #b2dfe5;
    padding: 10px;
    border-radius: 5px;
    background-color: transparent;
    margin: 4px;
  }
  /* 商品詳細ページ
   ボタン上の「購入手続きへ」対象
  */
  .purchase-btn {
    color: #FFFFFF !important;
    font-size: 24px !important;
    font-family: '游ゴシック体', 'Yu Gothic', YuGothic, 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'MS Pゴシック', 'MS PGothic', sans-serif;
  }

  .dot-list:is(ul, ol, li) {
    list-style: disc outside;

    & > li {
      list-style: inherit;
    }
  }

  .number-list:is(ul, ol, li) {
    list-style: decimal outside;

    & > li {
      list-style: inherit;
    }
  }

  .check-list:is(ul, ol, li) {
    position: relative;
    padding-left: 1.3em;

    &:is(li)::before {
      content: "✅";
      position: absolute;
      left: 0;
    }
  }

  .u-hoverable {
    transition: opacity 0.4s;

    &:hover {
      opacity: 0.4;
    }
  }

  .u-width--10 {
    width: 10%;
    margin: 0 auto;
  }

  .u-width--20 {
    width: 20%;
    margin: 0 auto;
  }

  .u-width--30 {
    width: 30%;
    margin: 0 auto;
  }

  .u-width--40 {
    width: 40%;
    margin: 0 auto;
  }

  .u-width--50 {
    width: 50%;
    margin: 0 auto;
  }

  .u-width--60 {
    width: 60%;
    margin: 0 auto;
  }

  .u-width--70 {
    width: 70%;
    margin: 0 auto;
  }

  .u-width--80 {
    width: 80%;
    margin: 0 auto;
  }

  .u-width--90 {
    width: 90%;
    margin: 0 auto;
  }

  .u-width--100 {
    width: 100%;
    margin: 0 auto;
  }

  .u-text1 {
    font-size: calc(var(--font-unit) * 5);
  }

  .u-text2 {
    font-size: calc(var(--font-unit) * 6);
  }

  .u-grid {
    display: grid;
  }

  .u-place-items--center {
    place-items: center;
  }

  .u-width--max-content {
    width: max-content;
  }

  .u-mt0 {
    margin-top: 0;
  }
  .u-mt1 {
    margin-top: calc(var(--spacing-unit) * 1);
  }
  .u-mt2 {
    margin-top: calc(var(--spacing-unit) * 2);
  }
  .u-mt3 {
    margin-top: calc(var(--spacing-unit) * 3);
  }
  .u-mt4 {
    margin-top: calc(var(--spacing-unit) * 4);
  }
  .u-mt5 {
    margin-top: calc(var(--spacing-unit) * 5);
  }

  .u-text-white {
    color: #fff;
  }

  /* ヘッダー関連 */
  div[data-section-id="global_navi"] {
    display: block;

    /* グローバルナビ */
    ul {
      justify-content: space-around;
      overflow-x: auto;
      flex-wrap: nowrap;

      li {
        border: none;
        padding: 5px 0;
      }
    }
  }

  .l-header__inner {
    display: grid;
    grid-template-columns: auto 20vw 50vw auto;
    padding-inline: 10px;

    .logo__block {
      padding-left: 20px;
    }
  }

  .l-header__inner__block__item--menu {
    margin-right: 10px;
  }

  .l-header__inner__block__logo {
    max-width: 480px;
  }

  .p-header_menu {
    padding: 0;
  }

  /* 動画セクション */
  .p-movie[data-id="ZFIadcBEFeM"] {
    padding-bottom: 20px;
  }

  /* 動画セクション下部のカスタムHTML */
  .p-high_gaba_tomato_features {
    .p-high_gaba_tomato_features__description {
      max-width: 720px;
      margin: auto;
      text-align: center;

      & > span {
        font-size: 14px;
      }
    }

    .p-high_gaba_tomato_features__link {
      margin-top: 20px;
    }
  }

  .is-pc {
    display: block !important;
  }

  .is-sp {
    display: none !important;
  }

  .button--base {
    background-color: #386f81;
    color: #ffffff;
    font-size: 14px;
    display: flex;
    justify-content: center;
    align-items: center;
    max-width: 320px;
    width: 100%;
    height: 60px;
    font-size: 16px;
    border-radius: 2px;
    transition: 0.4s;
    margin: 0 auto;

    &:hover {
      opacity: 0.4;
    }
  }

  #information_categories {
    padding-bottom: 100px;

    & div[role="navigation"] {
      &:has(a) {
        margin-top: 80px;
      }

      & + a {
        margin-top: 80px;
      }
    }
  }

  /* TOP キービジュアル */
  .p-kv_slider__track__list__item__inner {
    /* padding: 0; */
  }

  /* PC Only */
  @media screen and (min-width: 720px) {
    /* ヘッダーのカートアイコンのバッジ */
    #header-order-quantity {
      top: -5px;
      left: 15px;
    }
  }

  /* SP Only */
  @media screen and (max-width: 719px) {
    :root {
      --spacing-unit: 4px;
      --font-unit: 1.5px;
    }

    .is-pc {
      display: none !important;
    }

    .is-sp {
      display: block !important;
    }

      .button--base {
      max-width: 280px;
      height: 50px;
    }

    .p-kv_slider__track__list__item__inner {
      padding-top: 42%;
    }

    .l-header__inner {
      display: flex;
      padding-inline: 5px;

      .logo__block {
        padding-left: 10px;
      }

      .l-header__inner__block__item--menu {
        margin-right: 5px;
      }
    }

    .l-header__inner__block__logo {
      max-width: 280px;
      margin: auto;
    }

    div[data-section-id="global_navi"] {
      background: #fff;

      ul {
        justify-content: space-between;
        max-width: 100%;
        overflow: unset;
        max-width: 500px;
        margin: auto;

        li {
          &:last-child {
            display: none;
          }

          & > a {
            color: #000;
            font-size: clamp(8px, 3vw, 14px);
            padding: 5px;
          }
        }
      }
    }

    .p-high_gaba_tomato_features {
      .p-high_gaba_tomato_features__description {
        max-width: 84vw;
      }

      .p-high_gaba_tomato_features__link {
        max-width: 280px;
        width: 100%;
        height: 50px;
      }
    }

    /* TOP キービジュアルのカルーセルの矢印 */
    .splide__arrows.splide__arrows--ltr {
      display: none;
    }

    .p-kv_slider__track__list__item__inner__info {
      padding-bottom: 0;
      scale: 0.8;
      left: 35%;
    }
  }
}
