@charset 'utf-8';
.products-article {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}
.products_keyV {
  width: 50%;
  position: sticky;
  top: 0;
}
.products_keyV_item {
  height: 100dvh;
  background-color: #d7dbe2;
  img {
    height: 100%;
    object-fit: cover;
  }
  &[aria-label*="1 /"] {
    display: grid;
    place-content: center;
  }
}
.products_keyV_item > .products_keyV_item_01 {
  transform: scale(0.7);
}
.products_contents {
  width: 50%;
  padding: 0 11.5rem;
  display: flex;
  flex-direction: column;
  row-gap: 7rem;
  section {
    padding-bottom: 7rem;
    text-align: center;
    border-bottom: 1px solid;
    &:last-of-type {
      border-bottom: none;
    }
    > div {
      display: flex;
      flex-direction: column;
      gap: 4.5rem;
    }
  }
  .products_info {
    height: 100dvh;
    place-content: end;
    text-align: left;
    .products_info_head {
      font-family: utile-display, yu-mincho-pr6n, sans-serif;
      line-height: 1.2;
      display: flex;
      flex-direction: column;
      gap: 0.9rem;
      svg {
        fill: #454545;
      }
      .products_info_head_brand {
        font-size: 1.8rem;
      }
      .products_info_head_title {
        font-size: 3rem;
      }
      .products_info_head_jp {
        font-size: 1.3rem;
      }
    }
    .products_info_caption {
      padding-bottom: 10rem;
    }
    .products_info_price {
      display: flex;
      justify-content: space-between;
      align-items: center;
      .products_info_price_text {
        font-size: 1.1rem;
        border: 1px solid;
        padding: 0 0.5rem;
      }
      .products_info_price_container {
        font-size: 1.1rem;
        div {
          display: flex;
          justify-content: flex-end;
          gap: 4.5rem;
          align-items: baseline;
          .products_info_price_container_value span {
            font-size: 1.7rem;
            margin-right: 0.7rem;
          }
        }
      }
    }
  }
  .products_sec {
    .products_sec_head {
      text-align: center;
      font-family: utile-display, yu-mincho-pr6n, sans-serif;
      .products_sec_head_en {
        font-size: 1.5rem;
      }
      .products_sec_head_jp {
        font-size: 2.1rem;
      }
    }
    .products_sec_container {
      .products_sec_caption {
        margin-bottom: 4rem;
      }
      .products_sec_list {
        width: 90%;
        margin: auto;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        flex-wrap: wrap;
        gap: 1rem;
        .products_sec_list_item {
          .is_ehical & {
            text-align: left;
            &::before {
              content: "";
              display: inline-block;
              width: 1.8rem;
              height: 1px;
              background-color: #454545;
              rotate: -40deg;
              vertical-align: middle;
              margin-right: 0.5rem;
            }
          }
          .is_use & {
            p {
              margin-top: 1rem;
            }
          }
        }
      }
    }

    .other_link {
      text-align: center;
      margin-top: 0;
      .link_btn {
        max-width: 35rem;
        width: 100%;
        margin: auto;
        justify-content: space-between;
        padding: 2rem;
        border: 1px solid rgb(from #454545 r g b / 60%);
        .link_btn_text {
          border-bottom: none;
          margin: auto;
          font-size: 1.3rem;
        }
        .link_btn_circle {
          width: auto;
          height: auto;
          border-radius: 0;
          border: none;
          &::after {
            background-image: url(../img/arrow-gray.svg);
          }
        }
      }
    }
  }
}
.products_ac_wrap {
  margin-top: -10rem;
  margin-bottom: 7rem;
}
.products_ac {
  interpolate-size: allow-keywords;
  text-align: left;
  padding: 3.5rem 0;
  border-top: 1px solid;
  &:last-of-type {
    border-bottom: 1px solid;
  }
  summary {
    cursor: pointer;
    list-style: none;
    position: relative;
    .marker {
      position: absolute;
      top: 50%;
      right: 0;
      transform: translateY(-50%) rotate(0deg);
      transition: transform 0.3s ease;
    }
  }
  summary + * {
    padding-top: 3rem;
  }
  &::details-content {
    overflow: clip;
    height: 0;
    transition:
      height 400ms ease,
      border 400ms ease,
      content-visibility 400ms ease allow-discrete;
  }
  &[open] .marker {
    transform: translateY(-50%) rotate(45deg);
  }
  &[open]::details-content {
    height: auto;
  }
  .products_sec_list {
    /* display: flex;
    flex-direction: column;
    gap: 1rem; */
    width: 90%;
    margin: auto;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
    margin-top: 1rem;
    .products_sec_list_item {
      position: relative;
      padding-left: 2.3rem;
      &::before {
        content: "";
        position: absolute;
        top: 1em;
        left: 0;
        width: 1.8rem;
        height: 1px;
        background-color: #454545;
        rotate: -40deg;
        vertical-align: middle;
      }
    }
  }
}
.products {
  background-color: rgb(from #cfcfcf r g b / 40%);
}
.products_banner {
  aspect-ratio: unset;
  .products_banner_text_en,
  .products_banner_text_ja {
    color: #454545;
  }
  .products_banner_textbox {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    column-gap: 3rem;
  }
}
@media (max-width: 767px) {
  .products-article {
    flex-direction: column;
  }
  .products_keyV,
  .products_contents {
    width: 100%;
  }
  .products_keyV {
    z-index: 1;
    overflow: hidden;
    aspect-ratio: 1/1;
    .products_keyV_slide,
    .products_keyV_item {
      height: 100%;
    }
  }
  .products_contents {
    background-color: #fff;
    position: relative;
    z-index: 2;
    padding: 2rem;
    .products_info {
      height: auto;
      .products_info_caption {
        padding-bottom: 0;
      }
    }
  }
}
