.thumb {
    zoom: 0.5;
}

.image-desc {
    margin-top: 0 !important;
}

.m-form-check {
    display: block;
}

.caution {
    color: crimson;
}

strong {
    text-decoration: underline;
}

.toggle {
    display: block;
    cursor: pointer;
}

.toggle[data-collapse="true"]:after {
    content: "▼";
    float: right;
}

.toggle[data-collapse="false"]:after {
    content: "▲";
    float: right;
}

.toggle-item {
    *:first-child {
        margin-top: 0 !important;
    }
}

/* アニメーションの共通ベース設定 */
.anim-expand,
.anim-collapse {
    display: grid;
    transition: grid-template-rows 0.3s ease, opacity 0.3s ease;
    overflow: hidden;
}

/* 内部コンテンツ用のラッパー（必ず直下に1つ必要） */
.anim-expand>*,
.anim-collapse>* {
    min-height: 0;
}

/* 展開（Expand）状態 */
.anim-expand {
    grid-template-rows: 1fr;
    opacity: 1;
}

/* 縮小（Collapse）状態 */
.anim-collapse {
    grid-template-rows: 0fr;
    opacity: 0;
}