/* 実績紹介ページ専用。ヘッダー・フッターは既存の共通CSSを使用。 */
.page-works { --works-blue: #007da2; --works-gutter: max(1.25rem, 6.6667vw); }
.works-content {
  /*width: calc(100% - (var(--works-gutter) * 2));
  margin-inline: auto;*/
  padding: 0 50px;
}
@media (max-width: 430px){
  .works-content {
    width: calc(100% - (var(--works-gutter) * 2));
    margin-inline: auto;
    padding: 0;
  }
}
.works-primary { padding-block: clamp(3rem, 8vw, 6rem); }
.works__lead { margin-bottom: 1.5rem;}
.works-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(3rem, 7vw, 6.5rem) 8.3333vw;
}
.works-card { min-width: 0; }
@media (min-width: 1281px){
  .works-grid {
    grid-template-columns: repeat(auto-fit, minmax(420px, 1fr));
    gap: clamp(3rem, 7vw, 6.5rem) 0;
  }
  .works-card { max-width: 420px; }
}
.works-card__heading {
  display: flex;
  justify-content: space-between;
  flex-wrap: nowrap;
  align-items: stretch;
  border-top: 2px solid var(--works-blue);
}
.works-card__heading h3 {
  align-self: center;
  margin: 0;
  padding: 0.3rem 0.5rem 0.3rem 0;
  font-size: clamp(1.125rem, 1.667vw, 1.25rem);
  font-weight: 500;
  line-height: 1.5;
}
.works-card__category {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  margin: 0;
  padding: 0.45rem 1.1rem 0.45rem 2rem;
  color: #fff;
  background: var(--works-blue);
  clip-path: polygon(0 0, 100% 0, 100% 100%, 15% 100%);
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.5;
}
.works-card__media { aspect-ratio: 570 / 390; overflow: hidden; margin: 0; }
.works-card__media img { width: 100%; height: 100%; object-fit: cover; }
.works-card__body { padding-top: 0.75rem; font-size: 1rem; line-height: 1.9; }
.works-card__description { margin: 0; padding-inline-start: 1.2em; list-style: disc; }
.works-card__description li + li { margin-top: 0.2rem; }
.works-card__feature { margin-top: 0.8rem; padding: 0.4rem 0.6rem; border: 1px dotted #333; font-size: 0.9375rem; }
.works-other { padding-block: clamp(4rem, 8vw, 7rem) clamp(4.5rem, 10vw, 9rem); }
.works-other h2 { margin-bottom: 1.5rem; font-size: clamp(1.85rem, 3.334vw, 2.5rem); font-weight: 500; }
.works-table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 1rem; line-height: 1.8; }
.works-table th, .works-table td { border: 1px solid #c5d7dd; padding: 1rem 1.25rem; text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.works-table thead { color: #fff; background: var(--works-blue); }
.works-table th { font-weight: 500; }
.works-table thead th:nth-child(1) { width: 19%; }
.works-table thead th:nth-child(2) { width: 22%; }
.works-table tbody th { background: #eef4f7; }
.works-table--group { margin-top: 1.5rem; }
.works-table--group th { width: 28%; }
.works-visually-hidden { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; border: 0; clip-path: inset(50%); overflow: hidden; white-space: nowrap; }
@media (min-width: 431px){
  .works-other {
    max-width: 1300px;
    min-width: 1000px;
    margin: 0 auto;
  }
}
@media (max-width: 48rem) {
  .page-works { --works-gutter: var(--gutter); }
  .works-primary { padding-top: 4rem; }
  .works-grid { grid-template-columns: minmax(0, 1fr); gap: 3rem; }
  .works-card__heading h3 { font-size: 1.125rem; }
  .works-table th, .works-table td { padding: 0.75rem 0.5rem; font-size: 0.875rem; }
  .works-table thead th:nth-child(1) { width: 24%; }
  .works-table thead th:nth-child(2) { width: 25%; }
  .works-table--group th { width: 30%; }
}
