@charset "UTF-8";

/* PC: 3 columns (unchanged) */
.composite_box01 .inner_item:nth-of-type(1):nth-last-of-type(3),
.composite_box01 .inner_item:nth-of-type(2):nth-last-of-type(2),
.composite_box01 .inner_item:nth-of-type(3):nth-last-of-type(1) {
  width: 26%;
}

.composite_box01 .wrapper_item.wrapper_item {
  justify-content: center;
  gap: 0;
}

.inner_item_img img {
  width: 100%;
  height: 491.234px;
  object-fit: cover;
  display: block;
}

/* Tablet fix: 769px – 920px */
@media screen and (min-width: 769px) and (max-width: 920px) {

  .composite_box01 .wrapper_item.wrapper_item {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    gap: 12px !important;
  }

  .composite_box01 .inner_item:nth-of-type(1):nth-last-of-type(3),
  .composite_box01 .inner_item:nth-of-type(2):nth-last-of-type(2),
  .composite_box01 .inner_item:nth-of-type(3):nth-last-of-type(1) {
    width: calc((100% - 24px) / 3) !important;
    max-width: calc((100% - 24px) / 3) !important;
    flex: 0 0 calc((100% - 24px) / 3) !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .composite_box01 .inner_item_img {
    width: 100% !important;
    overflow: hidden;
  }

  .composite_box01 .inner_item_img img {
    width: 100% !important;
    height: 220px !important;   /* adjust: 200–260px */
    object-fit: cover !important;
    display: block !important;
  }

  .composite_box01 .inner_item_txt {
    width: 100% !important;
    margin-top: 8px !important;
    text-align: center !important;
    word-break: break-word !important;
  }
}

/* Mobile: stack */
@media screen and (max-width: 768px) {

  .composite_box01 .wrapper_item.wrapper_item {
    flex-direction: column !important;
    align-items: center !important;
    gap: 20px !important;
  }

  .composite_box01 .inner_item:nth-of-type(1):nth-last-of-type(3),
  .composite_box01 .inner_item:nth-of-type(2):nth-last-of-type(2),
  .composite_box01 .inner_item:nth-of-type(3):nth-last-of-type(1) {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
  }

  .inner_item_img img {
    height: auto !important;
    object-fit: contain !important;
  }
}