/* コンセプト */
.concept {
h2 {
  font-family: "Noto Serif JP";
  font-size: 48px;
  font-style: normal;
  font-weight: 400;
  line-height: 140%;
  letter-spacing: -0.96px;
  @media screen and (max-width: 989px) {
    font-size: 36px;
  }
}
.image-with-text__content {
  padding-left: 40px;
  padding-right:0;
  @media screen and (max-width: 989px) {
    padding: 16px 0 0 0;
  }
}
  
p {
  margin: 0;
}
.image-with-text__content > * + * {
  margin-top: 24px;
  @media screen and (max-width: 989px) {
    margin-top: 16px;
  }
}
.image-with-text__media {
  min-height: 0;
  @media screen and (max-width: 989px) {
    padding-bottom: 180px !important;
  }
}
.grid {
  align-items: center;
}
  .image-with-text__media-item {
    max-width:650px;
  }
  .image-with-text__text-item grid__item {
    flex-shrink:0;
  }
.media>*:not(.zoom):not(.deferred-media__poster-button), .media model-viewer {
bottom:0;
top:auto; 
  @media screen and (max-width: 989px) {
    height:136%;
  }
}
}

.original_reviews {
  .jdgm-widget {
    @media screen and (max-width: 748px) {
      width: 100% !important;
    }
  }
  .jdgm-carousel-wrapper {
    padding-top: 80px;
    padding-bottom: 80px;
    @media screen and (max-width: 748px) {
      padding-top: 60px;
      padding-bottom: 60px;
    }
    .jdgm-star {
      color: #161616;
    }
    .jdgm-carousel-title-and-link {
    display: flex;
    align-items: flex-end;
    gap: 16px;
    align-self: stretch;
    justify-content: space-between;
    margin:0 0 16px;
       @media screen and (max-width: 748px) {
         flex-direction: column;
         align-items: flex-start;
         gap: 0;
       }
      .jdgm-carousel-title {
        font-size: 22px;
      }
    .jdgm-all-reviews-rating-wrapper {
      display: flex;
      align-items: flex-end;
      gap: 8px;
    }
  }
    .jdgm-carousel__item-wrapper {
      display: flex;
      align-items: center;
      height: 420px;
      .jdgm-carousel-item {
        display: flex;
        width: 241px;
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
        flex-shrink: 0;
        padding:0;
        position:relative;
        margin-right:32px;
        img {
          width: 241px;
          height:241px;
          flex-shrink:0;
        }
        .jdgm-carousel-item__review-wrapper {
           width: 100%;
          padding:0;
          .jdgm-carousel-item__review{
            overflow: unset;
            height:auto;
            .jdgm-carousel-item__review-title {
          overflow: hidden;
          display: -webkit-box;
          -webkit-box-orient: vertical;
          -webkit-line-clamp: 1;
          align-self: stretch;
          color: #161616;
          text-overflow: ellipsis;
          font-family: "Noto Sans JP";
          font-size: 14px;
          font-style: normal;
          font-weight: 400;
          line-height: 150%; /* 21px */
          letter-spacing: 0.28px;
        }
          .jdgm-carousel-item__review-body {
            p {
              -webkit-line-clamp: 3;
            display: -webkit-box;
            -webkit-box-orient: vertical;
            overflow: hidden;
            color: #161616;
            text-overflow: ellipsis;
            font-family: "Noto Sans JP";
            font-size: 16px;
            font-style: normal;
            font-weight: 400;
            line-height: 150%; /* 24px */
            letter-spacing: 0.32px;
            }
          }
          }
          .jdgm-carousel-item__reviewer-name-wrapper{
              margin-top:16px;
              a{
                color: #777;
                font-family: "Noto Sans JP";
                font-size: 14px;
                font-style: normal;
                font-weight: 400;
                line-height: 150%; /* 21px */
                letter-spacing: 0.28px;
                text-decoration: none;
                
              }
            a:after {
              outline-offset: .3rem;
              bottom: 0;
              content: "";
              left: 0;
              position: absolute;
              right: 0;
              top: 0;
              z-index: 1;
                }
            }
        }
      }
    }
    .jdgm-carousel__arrows {
      .jdgm-carousel__right-arrow, .jdgm-carousel__left-arrow {
        margin-left: -34px;
            border: 2px solid #161616;
        border-style: solid none none solid;
        width:22px;
        height:22px;
        @media screen and (max-width: 748px) {
          width: 10px;
    height: 10px;
          margin-left: -7px;
        }
      }
      .jdgm-carousel__right-arrow {
        margin-right: -34px;
        border-style: none solid solid none;
        @media screen and (max-width: 748px) {
          margin-right: -7px;
        }
      }
    }
  }
}

/* トップのみfooterのマージントップ0 */
footer {
  margin-top: 0 !important;
}