/* このページ専用のスタイル */
.content-section {
  line-height: 1.8;
}

/* h3, h4のスタイルはcommon.cssで定義するため、ここからは削除 */

.content-section .marker_yellow {
  background: linear-gradient(transparent 60%, #fff352 60%);
}
.content-section .box-yellow {
  background-color: #fffbe6;
  border-left: 5px solid #ffe58f;
  border-radius: 8px;
  padding: 20px;
  margin: 20px 0;
}
.table-scroll-wrapper {
  overflow-x: auto;
  margin: 20px 0;
  border: 1px solid #ddd;
  border-radius: 8px;
}
.custom-table {
  width: 100%;
  min-width: 600px; 
  border-collapse: collapse;
  font-size: 0.9rem;
}
.custom-table th, .custom-table td {
  border: 1px solid #ddd;
  padding: 12px;
  text-align: left;
  vertical-align: middle;
}
.custom-table th {
  background-color: #f7f7f7;
  font-weight: bold;
}
.custom-table h4 {
  border-left: none;
  padding-left: 0;
  margin: 0;
  font-size: 1em;
}
.centered-image {
    display: block;
    margin: 25px auto;
    border-radius: 8px;
    max-width: 100%;
}
/* ギャラリー表示のスタイル */
.gallery {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 20px;
    margin: 30px 0;
}
.gallery-item {
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    background-color: #f9f9f9;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 200px;
    padding: 10px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
    overflow: hidden;
}
.gallery-item img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}
.gallery-2-cols {
    grid-template-columns: repeat(2, 1fr);
}
@media (max-width: 576px) {
    .gallery-2-cols {
        grid-template-columns: 1fr;
    }
}