.company-info {
  background: var(--color-bg-light-gray2);
  padding-top: var(--size-80);
  padding-bottom: var(--size-80);
}

/* カードレイアウト - 責務の分離 */
.company-cards-layout {
  width: 100%;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  row-gap: var(--size-24);
  justify-content: space-between; /* 左右に均等に配置 */
}

.company-card-item {
  margin-bottom: var(--size-24);
}

.company-card-item--full {
  width: 100%;
}

.company-card-item--half {
  width: 50%; /* 正確に半分に設定 */
}

/* company-page特有のfeature-blockスタイル */
.company-card-item .feature-block {
  height: var(--size-323); /* 固定高さ */
}

/* 最初のカードの特別なスタイル */
.company-card-item--full .feature-block__label {
  font-size: var(--size-16);
}

.company-card-item--full .feature-block__title {
  font-size: var(--size-28);
}

/* 既存のカードスタイル - 後方互換性のため残す */
.card {
  background: var(--color-white);
  height: var(--size-323);
  display: flex;
  box-shadow: 0px 4px 4px 0px #33333340;
  flex: 1 1 calc(50% - var(--size-24));
}

.card:first-child {
  flex: 1 1 100%;
}

.card__content {
  flex: 1 1 50%;
  display: grid;
  place-items: center;
}

.card__label {
  font-size: var(--size-12);
  color: var(--color-main-blue);
  font-family: "Roboto", sans-serif;
  margin-bottom: var(--size-10);
}

.card__title {
  margin: 0;
  margin-bottom: var(--size-24);
  font-size: var(--size-24);
}

.card__message {
  margin-bottom: var(--size-24);
  font-size: var(--size-16);
}

.card__image {
  flex: 1 1 50%;
  overflow: hidden;
}

.card__image > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

.card__link {
  position: relative;
  text-decoration: unset;
  display: inline-flex;
  align-items: center;
  width: var(--size-240);
  padding: var(--size-12) var(--size-20);
  border: 1px solid var(--color-text-black);
}

.card__link:visited,
.card__link:link {
  color: currentColor;
}

.card__link:hover > .card__link-icon {
  transform: translateX(var(--size-4));
}

.card__link-icon {
  position: absolute;
  right: var(--size-20);
  width: var(--size-16);
  height: var(--size-18);
  transition: transform 0.2s ease-out;
}

@media screen and (max-width: 768px) {
  .company-info {
    padding-top: var(--size-40);
    padding-bottom: var(--size-40);
  }

  .company-cards-layout {
    gap: var(--size-16);
  }

  .company-card-item--half {
    width: 100%;
  }

  /* モバイル向けのカードスタイル調整 */
  .company-card-item .feature-block {
    height: auto;
    min-height: var(--size-400);
  }

  /* すべてのカードで同じレイアウトを適用 */
  .company-card-item .feature-block {
    flex-direction: column;
  }

  .company-card-item--full .feature-block__label {
    font-size: var(--size-14);
  }

  .company-card-item--full .feature-block__title {
    font-size: var(--size-24);
  }

  .card {
    flex: 1 1 100%;
    flex-direction: column;
  }

  .card__content {
    padding: var(--size-16) var(--size-56);
  }

  .card__content-wrapper {
    width: 100%;
  }

  .card__label {
    margin-bottom: var(--size-4);
  }

  .card__title {
    font-size: var(--size-18);
    margin-bottom: var(--size-8);
  }

  .card__message {
    font-size: var(--size-12);
    margin-bottom: var(--size-8);
  }

  .card__link {
    width: 100%;
  }
}
