/* 研究環境の紹介画像 */
.facilities-gallery {
  display: grid;
  grid-template-columns: 1.65fr 1fr;
  gap: 0.75rem;
  margin: 1.25rem 0 1.5rem;
  align-items: stretch;
}

.facilities-gallery-main,
.facilities-gallery-sub {
  min-width: 0;
}

/* 左側の大画像 */
.facilities-gallery-main {
  display: flex;
}

.facilities-gallery-main img {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

/* 右側の2画像 */
.facilities-gallery-sub {
  display: grid;
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

.facilities-gallery-sub img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
}

.facilities-lead { margin: 1.25rem 0 1.75rem; }
.facility-summary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin:1rem 0 2rem; }
.facility-summary-card,.equipment-card {
 box-sizing:border-box;
 padding:1rem 1.15rem;
 border:1px solid #c9d8e6;
 background:#fafafa; 
}
.facility-summary-card {
    background:#ffffff;
    border:1px solid #d8d8d8;
    box-shadow:0 1px 3px rgba(0,0,0,.05);
}

.facility-summary-card h3,.equipment-card h4 { margin-top:0; }
.facility-summary-card p,.equipment-card p { margin-bottom:.65rem; }
.facility-section { margin:1.5rem 0 2.25rem; scroll-margin-top:1rem; }
.facility-summary-card h3{
    color:#2f4858;
}

.facility-section h3{
    border-bottom:2px solid #e5e5e5;
    padding-bottom:.3rem;
}
.equipment-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.equipment-grid-compact .equipment-card { background:#fff; }
.compact-heading { margin:1.25rem 0 .5rem; }
.compact-list,.chip-list { display:flex; flex-wrap:wrap; gap:.55rem; margin:.5rem 0 1rem; padding:0; list-style:none; }
.compact-list li,.chip-list li { padding:.45rem .7rem; border:1px solid #c9d8e6; border-radius:4px; background:#fff; }
.shared-facilities {
 padding:1rem 1.15rem;
 border:1px solid #d8d8d8;
 background:#f7f7f7; 
}
.software-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }


@media screen and (max-width: 800px) {
  .facilities-gallery {
    grid-template-columns: 1fr;
  }

  .facilities-gallery-main img {
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: cover;
  }

  .facilities-gallery-sub {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto;
  }

  .facilities-gallery-sub img {
    width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: 4 / 3;
    object-fit: cover;
  }

  .facility-summary,
  .equipment-grid,
  .software-columns {
    grid-template-columns: 1fr;
  }
}

@media screen and (max-width: 520px) {
  .facilities-gallery-sub {
    grid-template-columns: 1fr;
  }

  .facilities-gallery-main img,
  .facilities-gallery-sub img {
    width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: 4 / 3;
    object-fit: cover;
  }
}

@media print {
  .facilities-gallery {
    display: block;
  }

  .facilities-gallery-main img,
  .facilities-gallery-sub img {
    width: 100%;
    height: auto;
    object-fit: contain;
  }

  .facilities-gallery-sub {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: auto;
    margin-top: 0.75rem;
  }

  .facility-summary,
  .equipment-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .facility-summary-card,
  .equipment-card,
  .shared-facilities {
    break-inside: avoid;
  }
}

