.heading{
    color: #008000;
    font-size: 2em;
    font-weight: bold;
}

:not(h3) + .heading{
    margin-top: 2em;
}

.center{
    text-align: center;
}

/* 画像ボックス共通 */
.img_box{
    width:100%;
    margin-inline: auto;
    margin-top: 1em;
    margin-bottom: 2em;

    figure {
        margin: 0;

        img {
            width: 100% !important;
            aspect-ratio: 4/3;
            object-fit: cover;
        }
    }
}

/* 写真1枚用 */
.img_box-single{
    width: min(100%,900px);
}

/* 写真グリッド用 */
/* 親要素のスタイル */
.img_box-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    /* 2列 */
    gap: 16px;
    /* 要素間の隙間 */
    container-type: inline-size;
    /* 自身の幅を基準にする */
}
/* コンテナクエリ：自身の幅が700px未満の場合 */
@container (max-width: 700px) {
    .img_box-grid {
        grid-template-columns: 1fr;
        /* 1列 */
    }
}

.img_box-grid-3 {
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    width: 100% !important;
}



figcaption{
    text-align: center;
}