._MicrocmsRichText_vr31t_1 {
  margin-top: var(--SPACING-MODULE-DEFAULT);

  & > :is(:not(:where(h2, h3, h4)):first-child) {
    margin-top: 0;
  }

  /* 見出しレベル2 */
  :where(h2) {
    margin-top: var(--SPACE-BLOCK-SPACING-64);
    margin-bottom: var(--SPACE-BLOCK-SPACING-24);
    padding-bottom: var(--SPACE-BLOCK-SPACING-24);
    position: relative;
    font-size: var(--FONT-SIZE-2XL);
    font-weight: var(--FONT-WEIGHT-BOLD);
    line-height: 1.5;

    @media (width > 768px) {
      margin-top: var(--SPACE-BLOCK-SPACING-80);
      margin-bottom: var(--SPACE-BLOCK-SPACING-32);
      font-size: var(--FONT-SIZE-4XL);
    }

    /* border */
    &::before {
      background-image: linear-gradient(
        to right,
        var(--BORDER-BLACK) 0%,
        var(--BORDER-BLACK) 20%,
        var(--BORDER-DEFAULT) 20%,
        var(--BORDER-DEFAULT) 100%
      );
      bottom: 0;
      content: '';
      display: block;
      height: 2px;
      left: 0;
      position: absolute;
      width: 100%;
    }

    & + *:not(:is(h1, h2, h3, h4, h5, h6)) {
      margin-top: 0 !important;
    }

    :where(a:any-link) {
      display: block;
      text-decoration: none;
      color: var(--TEXT-BLACK);
      transition: opacity var(--TRANSITION);

      &::after {
        content: '';
        display: inline-block;
        width: 32px;
        height: 32px;
        background-color: var(--TEXT-BLACK);
        mask-image: url('/assets/images/common/icon-arrow-right-bold.svg');
        mask-repeat: no-repeat;
        mask-size: cover;
        margin-left: var(--SPACE-BLOCK-SPACING-8);
        position: relative;
        top: 0.2em;

        @media (width > 768px) {
          top: 0.15em;
        }
      }

      @media (any-hover: hover) {
        &:hover {
          opacity: var(--OPACITY-HOVER);
        }
      }
    }

    &[style*='text-align: center'],
    &[style*='text-align: right'] {
      &::before {
        content: none;
      }
    }
  }

  /* 見出しレベル3 */
  :where(h3) {
    margin-top: var(--SPACE-BLOCK-SPACING-64);
    margin-bottom: var(--SPACE-BLOCK-SPACING-24);
    padding-bottom: var(--SPACE-BLOCK-SPACING-8);
    position: relative;
    font-size: var(--FONT-SIZE-XL);
    font-weight: var(--FONT-WEIGHT-BOLD);
    line-height: 1.5;

    @media (width > 768px) {
      margin-top: var(--SPACE-BLOCK-SPACING-72);
      margin-bottom: var(--SPACE-BLOCK-SPACING-32);
      font-size: var(--FONT-SIZE-3XL);
    }

    /* border */
    &::before {
      content: '';
      display: block;
      height: 2px;
      width: 100%;
      background-image: linear-gradient(
        to right,
        var(--BORDER-BLACK) 0,
        var(--BORDER-BLACK) 16px,
        var(--BORDER-DEFAULT) 16px,
        var(--BORDER-DEFAULT) 32px,
        transparent 32px,
        transparent 100%
      );
      position: absolute;
      bottom: 0;
      left: 0;
    }

    & + *:not(:is(h1, h2, h3, h4, h5, h6)) {
      margin-top: 0 !important;
    }

    :where(a:any-link) {
      text-decoration: none;
      color: var(--TEXT-BLACK);
      transition: opacity var(--TRANSITION);

      &::after {
        content: '';
        display: inline-block;
        aspect-ratio: 1 / 1;
        width: 24px;
        height: auto;
        background-color: var(--TEXT-BLACK);
        mask-image: url('/assets/images/common/icon-arrow-right-bold.svg');
        mask-repeat: no-repeat;
        mask-size: cover;
        margin-left: var(--SPACE-BLOCK-SPACING-8);
        position: relative;
        top: 0.2em;

        @media (width > 768px) {
          width: 32px;
          top: 0.15em;
        }
      }

      @media (any-hover: hover) {
        &:hover {
          opacity: var(--OPACITY-HOVER);
        }
      }
    }

    &[style*='text-align: center'],
    &[style*='text-align: right'] {
      &::before {
        content: none;
      }
    }
  }

  /* 見出しレベル4 */
  :where(h4) {
    margin-top: var(--SPACING-MODULE-DEFAULT);
    margin-bottom: var(--SPACE-BLOCK-SPACING-24);
    position: relative;
    font-size: var(--FONT-SIZE-L);
    font-weight: var(--FONT-WEIGHT-BOLD);
    line-height: 1.5;

    @media (width > 768px) {
      font-size: var(--FONT-SIZE-2XL);
    }

    & + *:not(:is(h1, h2, h3, h4, h5, h6)) {
      margin-top: 0 !important;
    }
  }

  /* 通常テキスト */
  :where(p) {
    margin-top: var(--SPACING-MODULE-DEFAULT);
    font-size: var(--FONT-SIZE-XS);

    @media (width > 768px) {
      font-size: var(--FONT-SIZE-BASE);
    }

    & + & {
      margin-top: var(--SPACE-BLOCK-SPACING-16);
    }

    :where(a:any-link) {
      text-decoration: underline;
      transition: opacity var(--TRANSITION);

      & > :where(svg) {
        margin-inline: var(--SPACE-BLOCK-SPACING-4);
        aspect-ratio: 1 / 1;
        width: 16px;
        height: auto;
        position: relative;
        top: -0.3em;

        &:has([id^='icon-pdf-']) {
          top: 0.1em;
          width: 20px;
        }
      }

      &:hover {
        text-decoration: none;
        opacity: var(--OPACITY-HOVER);
      }
    }

    :where(strong) {
      color: var(--TEXT-BLACK);
      font-weight: var(--FONT-WEIGHT-BOLD);
    }
  }

  /* メディア */
  :where(figure) {
    margin-top: var(--SPACING-MODULE-DEFAULT);
    margin-inline: auto;
    display: table;
    vertical-align: top;

    &[style*='text-align: left;'] {
      margin-inline: initial;
    }

    &[style*='text-align: right;'] {
      margin-right: initial;
    }

    :where(figcaption) {
      margin-top: var(--SPACE-BLOCK-SPACING-16);
      display: table-caption;
      caption-side: bottom;
      text-align: center;
      font-size: var(--FONT-SIZE-XXS);
      line-height: 1.5;
    }

    :where(a:any-link) {
      display: block;
      position: relative;
      transition: opacity var(--TRANSITION);

      &:focus-visible {
        opacity: var(--OPACITY-HOVER);
      }

      @media (any-hover: hover) {
        &:hover {
          opacity: var(--OPACITY-HOVER);
        }
      }

      /* icon background */
      &::before {
        content: '';
        display: block;
        background-color: var(--BG-BLACK);
        height: 40px;
        width: 40px;
        position: absolute;
        right: 0;
        bottom: 0;
      }

      &:not([target='_blank']) {
        /* icon */
        &::after {
          content: '';
          display: block;
          height: 32px;
          width: 32px;
          background-color: var(--BG-WHITE);
          mask-image: url('/assets/images/common/icon-arrow-right-bold.svg');
          mask-position: center;
          mask-repeat: no-repeat;
          mask-size: contain;
          position: absolute;
          right: 4px;
          bottom: 4px;
        }
      }

      &:has(:where(svg)) :where(svg) {
        color: var(--BG-WHITE);
        position: absolute;
        right: 4px;
        bottom: 4px;
        z-index: var(--Z-INDEX-DEFAULT);

        :where(path) {
          fill: currentColor;
        }
      }
    }
  }

  /* メディア（iframe） */
  :where(&:has(iframe)) {
    margin-inline: auto;
  }

  :where(div:has(iframe)) {
    margin-top: var(--SPACING-MODULE-DEFAULT);
  }

  /* リスト（ul） */
  :where(ul) {
    margin-top: var(--SPACING-MODULE-DEFAULT);
    display: flex;
    flex-direction: column;
    gap: var(--SPACE-BLOCK-SPACING-8);

    :where(li) {
      --icon-size: 4px;

      position: relative;
      padding-left: calc(var(--icon-size) + var(--SPACE-BLOCK-SPACING-8));
      font-size: var(--FONT-SIZE-XS);

      @media (width > 768px) {
        font-size: var(--FONT-SIZE-BASE);
      }

      /* bullet */
      &::before {
        content: '';
        display: block;
        height: var(--icon-size);
        width: var(--icon-size);
        background-color: var(--BORDER-BLACK);
        position: absolute;
        left: 0;
        top: 0.75em;
      }

      & > :is(ul, ol) {
        margin-top: var(--SPACE-BLOCK-SPACING-4);
        padding-left: calc(1em - var(--icon-size));

        :where(li) {
          &::before {
            background-color: var(--BORDER-DEFAULT);
          }
        }
      }
    }
  }

  /* リスト（ol） */
  :where(ol) {
    margin-top: var(--SPACING-MODULE-DEFAULT);
    padding-left: var(--SPACE-BLOCK-SPACING-24);
    display: flex;
    flex-direction: column;
    gap: var(--SPACE-BLOCK-SPACING-8);
    list-style-type: revert;

    :where(li) {
      padding-left: var(--SPACE-BLOCK-SPACING-8);
      font-size: var(--FONT-SIZE-XS);

      @media (width > 768px) {
        font-size: var(--FONT-SIZE-BASE);
      }

      & > :is(ul, ol) {
        margin-top: var(--SPACE-BLOCK-SPACING-8);
        padding-left: var(--SPACE-BLOCK-SPACING-16);

        @media (width > 768px) {
          padding-left: var(--SPACE-BLOCK-SPACING-24);
        }
      }
    }
  }

  /* テーブル */
  :where(table) {
    margin-top: var(--SPACING-MODULE-DEFAULT);
    width: 100%;

    :where(th, td) {
      min-width: 120px;
      padding: var(--SPACE-BLOCK-SPACING-16);
      border: 1px solid var(--BORDER-DEFAULT);

      & > :first-child {
        margin-top: 0;
      }

      & > * + * {
        margin-top: var(--SPACE-BLOCK-SPACING-16) !important;

        @media (width > 768px) {
          margin-top: var(--SPACE-BLOCK-SPACING-24) !important;
        }
      }
    }

    :where(th) {
      background-color: var(--BG-GRAY);
    }
  }

  .js-tableScroll {
    margin-top: var(--SPACING-MODULE-DEFAULT);
    position: relative;
    overflow: auto;

    :where(table) {
      margin-top: 0;

      @media (width <= 768px) {
        width: 1024px;
      }
    }

    .js-scrollTable__guideIcon {
      position: absolute;
      top: min(50%, 240px);
      left: 50%;
      translate: -50% -50%;
      z-index: var(--Z-INDEX-DEFAULT);
    }
  }
}
._titleLayout_4gzv0_1 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--SPACE-BLOCK-SPACING-32);

  @media (width > 768px) {
    flex-direction: row;
    justify-content: space-between;
    flex-wrap: wrap;
  }
}

._title_4gzv0_1 {
  font-size: var(--FONT-SIZE-2XL);
  font-weight: var(--FONT-WEIGHT-BOLD);
  line-height: 1.5;

  @media (width > 768px) {
    font-size: var(--FONT-SIZE-4XL);
  }
}

._buttonLayout_4gzv0_24 {
  &[class*='ButtonLayout'] {
    margin-top: 0;

    @media (width > 768px) {
      gap: var(--SPACE-BLOCK-SPACING-40);
    }
  }
}

._box_4gzv0_34 {
  margin-top: var(--SPACE-BLOCK-SPACING-32);
  padding: var(--SPACE-BLOCK-SPACING-16);
  background-color: var(--BG-WHITE);

  @media (width > 768px) {
    padding: var(--SPACE-BLOCK-SPACING-16) var(--SPACE-BLOCK-SPACING-64);
    margin-top: var(--SPACE-BLOCK-SPACING-48);
  }
}

._linkList_4gzv0_45 {
  &[class*='LinkList'] {
    margin-top: 0;

    > [class*='inner'] {
      @container (width > 768px) {
        grid-template-columns: repeat(auto-fit, minmax(330px, 1fr));
        gap: var(--SPACE-BLOCK-SPACING-16) var(--SPACE-BLOCK-SPACING-40);
      }
    }
  }
}
._ProductDetailMV_bsxni_1 {
  display: grid;
  gap: 0 var(--OUTSIDE-GUTTER);
  grid-template-columns:
    1fr minmax(var(--CONTENT-WIDTH-SP), var(--CONTENT-WIDTH-PC))
    1fr;
  margin-top: var(--SPACE-BLOCK-SPACING-24);

  @media (width > 768px) {
    margin-top: var(--SPACE-BLOCK-SPACING-32);
  }
}

._inner_bsxni_14 {
  grid-column: 2 / 3;
}

._mainVisual_bsxni_18 {
  display: grid;

  @media (width <= 768px) {
    gap: var(--SPACE-BLOCK-SPACING-24);
  }
}

._lead_bsxni_26 {
  font-size: var(--FONT-SIZE-BASE);

  @media (width > 768px) {
    grid-area: 1 / -1;
    justify-self: end;
    align-self: end;
    color: var(--TEXT-WHITE);
    font-size: var(--FONT-SIZE-2XL);
    padding: var(--SPACE-BLOCK-SPACING-40);
    z-index: var(--Z-INDEX-DEFAULT);
  }
}

._media_bsxni_40 {
  width: 100%;

  :where(img) {
    width: 100%;
  }

  @media (width <= 768px) {
    order: -1;
  }

  @media (width > 768px) {
    grid-area: 1 / -1;
    position: relative;

    /* gradient */
    &::after {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(
        180deg,
        rgba(0, 0, 0, 0) 0%,
        rgba(0, 0, 0, 0) 50%,
        rgba(0, 0, 0, 0.5) 100%
      );
      pointer-events: none;
    }
  }
}

._details_bsxni_71 {
  display: flex;
  flex-direction: column;
  gap: var(--SPACE-BLOCK-SPACING-16);
  margin-top: var(--SPACE-BLOCK-SPACING-24);

  @media (width > 768px) {
    flex-direction: row;
    justify-content: flex-end;
    align-items: flex-end;
    gap: var(--SPACE-BLOCK-SPACING-24);
  }
}

._badgeList_bsxni_85 {
  @media (width > 768px) {
    justify-content: flex-end;
  }
}

._ListCertification_bsxni_91 {
  flex: 0 0 auto;
}

._conversion_bsxni_95 {
  background-color: var(--BG-GRAY);
  margin-top: var(--SPACING-MODULE-DEFAULT);
  padding: var(--SPACE-BLOCK-SPACING-16) var(--SPACE-BLOCK-SPACING-16);

  @media (width > 768px) {
    padding: var(--SPACE-BLOCK-SPACING-40);
  }
}

@media (width <= 768px) {
  ._linkList_bsxni_106 {
    display: grid;
    gap: var(--SPACE-BLOCK-SPACING-8);
  }

  /* .linkListItem {
  } */

  ._link_bsxni_106 {
    --local-icon-size: 16px;

    padding-left: calc(var(--local-icon-size) + var(--SPACE-BLOCK-SPACING-8));
    font-size: var(--FONT-SIZE-XS);
    line-height: 1.5;
    position: relative;
    transition: opacity var(--TRANSITION);

    /* arrow */
    &::before {
      background-color: var(--TEXT-BLACK);
      content: '';
      display: block;
      aspect-ratio: 1 / 1;
      width: var(--local-icon-size);
      mask-image: url('/assets/images/common/icon-arrow-right-bold.svg');
      mask-repeat: no-repeat;
      mask-size: cover;
      position: absolute;
      top: 0.2em;
      left: 0;
    }

    &:focus-visible {
      opacity: var(--OPACITY-HOVER);
    }

    @media (any-hover: hover) {
      &:hover {
        opacity: var(--OPACITY-HOVER);
      }
    }
  }

  ._externalIcon_bsxni_149 {
    aspect-ratio: 1 / 1;
    width: 16px;
    height: auto;
    position: relative;
    top: 0.2em;
    margin-left: var(--SPACE-BLOCK-SPACING-4);
  }
}

@media (width > 768px) {
  ._linkList_bsxni_106 {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: var(--SPACE-BLOCK-SPACING-24);
  }

  /* .linkListItem {
  } */

  ._link_bsxni_106 {
    --local-icon-size: 24px;

    padding: var(--SPACE-BLOCK-SPACING-16) var(--SPACE-BLOCK-SPACING-16)
      var(--SPACE-BLOCK-SPACING-16) var(--SPACE-BLOCK-SPACING-8);
    display: inline-grid;
    grid-template-columns: 1fr auto minmax(var(--local-icon-size), 1fr);
    align-items: center;
    gap: var(--SPACE-BLOCK-SPACING-16);
    inline-size: auto;
    font-size: var(--FONT-SIZE-BASE);
    background-color: var(--BG-WHITE);
    border: 1px solid var(--BORDER-BLACK);
    font-weight: var(--FONT-WEIGHT-SEMI-BOLD);
    text-align: center;
    line-height: 1.5;
    color: var(--TEXT-BLACK);
    transition:
      color var(--TRANSITION),
      background-color var(--TRANSITION);
    min-inline-size: 280px;
    max-inline-size: 480px;

    &:focus-visible {
      background-color: var(--BG-BLACK);
      color: var(--TEXT-WHITE);
    }

    @media (any-hover: hover) {
      &:hover {
        background-color: var(--BG-BLACK);
        color: var(--TEXT-WHITE);
      }
    }

    &::before {
      content: '';
    }

    /* icon */
    &::after {
      content: '';
      aspect-ratio: 1 / 1;
      width: var(--local-icon-size);
      background-color: currentColor;
      mask-image: url('/assets/images/common/icon-arrow-right.svg');
      mask-repeat: no-repeat;
      mask-size: contain;
      transition: background-color var(--TRANSITION);
    }

    &:has(._externalIcon_bsxni_149) {
      &::after {
        content: none;
      }
    }

    /* 右アイコン */
    &::after {
      justify-self: end;
    }

    ._externalIcon_bsxni_149 {
      fill: currentColor;
      justify-self: end;
      aspect-ratio: 1 / 1;
      width: var(--local-icon-size);
      height: auto;
    }
  }
}
._ProductDetailSceneNote_vlnu5_1 {
  margin-top: 64px;

  @media (width > 768px) {
    margin-top: 120px;
  }
}

._title_vlnu5_9 {
  margin-inline: auto;
  margin-bottom: -13px;
  width: fit-content;
  max-width: calc(100% - (16px * 2));

  @media (width > 768px) {
    margin-inline: var(--SPACE-BLOCK-SPACING-48) auto;
    margin-bottom: -20px;
    max-width: calc(100% - (48px * 2));
  }
}

._titleInner_vlnu5_22 {
  position: relative;
  display: flex;
  padding: var(--SPACE-BLOCK-SPACING-8) var(--SPACE-BLOCK-SPACING-16);
  border-radius: 3em;
  background-color: var(--COLOR-BLAND-RIDGE-BLUE);
  z-index: var(--Z-INDEX-DEFAULT);

  /* arrow */
  &::after {
    position: absolute;
    content: '';
    left: calc(50% + 20px);
    top: calc(100% - 18px);
    width: 28px;
    height: 35px;
    background-color: var(--COLOR-BLAND-RIDGE-BLUE);
    clip-path: polygon(0 0, 50% 100%, 100% 0);
    rotate: 33deg;
    z-index: var(--Z-INDEX-BACKGROUND);
  }
}

._titleText_vlnu5_45 {
  font-size: var(--FONT-SIZE-XS);
  font-weight: var(--FONT-WEIGHT-BOLD);
  line-height: 1.5;
  color: var(--TEXT-WHITE);

  @media (width > 768px) {
    font-size: var(--FONT-SIZE-BASE);
    line-height: var(--LINE-HEIGHT);
  }
}

._box_vlnu5_57 {
  padding: var(--SPACE-BLOCK-SPACING-48) var(--SPACE-BLOCK-SPACING-16);
  background-color: var(--BG-GRAY);

  @media (width > 768px) {
    padding: var(--SPACE-BLOCK-SPACING-64) var(--SPACE-BLOCK-SPACING-48)
      var(--SPACE-BLOCK-SPACING-48) var(--SPACE-BLOCK-SPACING-64);
  }
}

._inner_vlnu5_67 {
  display: grid;
  gap: var(--SPACE-BLOCK-SPACING-24);

  @media (width > 768px) {
    grid-template-columns: auto 1fr;
    gap: var(--SPACE-BLOCK-SPACING-64);
  }
}

._content_vlnu5_77 {
  > :is(:first-child) {
    margin-top: 0;
  }
}

._text_vlnu5_83 {
  margin-top: 0;
}

._content_vlnu5_77 {
  margin-top: 0;
}

._media_vlnu5_91 {
  display: flex;
  margin-inline: auto;
  width: 100%;
  max-width: 120px;
  height: auto;
  aspect-ratio: 1 / 1;
  order: -1;
}

._mediaItem_vlnu5_101 {
  width: 100%;
  height: auto;
  border-radius: 50%;
}
._list_11t99_1 {
  > [class*='inner'] {
    gap: var(--SPACE-BLOCK-SPACING-8);

    @media (width > 768px) {
      gap: var(--SPACE-BLOCK-SPACING-24);
    }
  }
}
._ProductDetailSustainability_uaykz_1 {
  > :is(:first-child) {
    margin-top: 0;
  }

  > :is(:last-child) {
    margin-bottom: 0;
  }

  [class*='HeadingLevel4'] {
    margin-bottom: var(--SPACING-MODULE-DEFAULT);
  }
}

._LayoutMedia_uaykz_15 {
  > [class*='inner'] {
    @media (width > 768px) {
      align-items: center;
    }
  }
}
._media_1eaci_1 [class*='wrap'],
._media_1eaci_1 [class*='itemWrap'],
._media_1eaci_1 [class*='item'] {
  width: 100%;
}
._ruby_9gh7s_1 {
  font-size: var(--FONT-SIZE-XS);

  @media (width > 768px) {
    font-size: var(--FONT-SIZE-BASE);
  }
}
