.product-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto;
  gap: 0;
  margin: 1rem 1rem 5rem 1rem; }
  @media (max-width: 768px) {
    .product-grid {
      grid-template-columns: 1fr; } }
  .product-grid .grid-item {
    position: relative;
    overflow: hidden; }
    .product-grid .grid-item .product-image {
      width: 100%;
      height: auto;
      object-fit: cover;
      display: block; }
    .product-grid .grid-item .product-image-01 {
      height: 760px; }
      @media (max-width: 768px) {
        .product-grid .grid-item .product-image-01 {
          height: auto; } }
    .product-grid .grid-item .product-image-02 {
      height: 660px; }
      @media (max-width: 768px) {
        .product-grid .grid-item .product-image-02 {
          height: auto; } }
    .product-grid .grid-item.product-info {
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      padding: 0 2rem;
      margin-bottom: 5rem;
      font-size: 15px; }
      @media screen and (min-width: 320px) {
        .product-grid .grid-item.product-info {
          font-size: calc(15px + 2 * ((100vw - 320px) / 960)); } }
      @media screen and (min-width: 1280px) {
        .product-grid .grid-item.product-info {
          font-size: 17px; } }
      @media (max-width: 768px) {
        .product-grid .grid-item.product-info {
          padding: 2rem 0;
          margin-bottom: 0; } }
      .product-grid .grid-item.product-info .product-title {
        margin: 0; }
      .product-grid .grid-item.product-info .product-description {
        margin-bottom: 1rem;
        flex: 1;
        font-size: 15px; }
        @media screen and (min-width: 320px) {
          .product-grid .grid-item.product-info .product-description {
            font-size: calc(15px + 3 * ((100vw - 320px) / 960)); } }
        @media screen and (min-width: 1280px) {
          .product-grid .grid-item.product-info .product-description {
            font-size: 18px; } }
      .product-grid .grid-item.product-info .product-details {
        padding-top: 1rem; }
        .product-grid .grid-item.product-info .product-details p {
          display: block;
          border-top: 2px solid #000;
          padding: 1rem 0;
          margin: 0;
          font-size: 15px; }
          @media screen and (min-width: 320px) {
            .product-grid .grid-item.product-info .product-details p {
              font-size: calc(15px + 2 * ((100vw - 320px) / 960)); } }
          @media screen and (min-width: 1280px) {
            .product-grid .grid-item.product-info .product-details p {
              font-size: 17px; } }
      .product-grid .grid-item.product-info .price {
        font-size: 28px;
        font-weight: 700;
        margin-right: 1rem; }
        @media screen and (min-width: 320px) {
          .product-grid .grid-item.product-info .price {
            font-size: calc(28px + 4 * ((100vw - 320px) / 960)); } }
        @media screen and (min-width: 1280px) {
          .product-grid .grid-item.product-info .price {
            font-size: 32px; } }
      .product-grid .grid-item.product-info .button-container {
        margin: 2rem 0;
        text-align: center; }
