/* Matter.jsコンテナ */
.sec-option {
    /* padding: 40px 20px; */
    background-color: #fff;
}

.matter-container {
    position: relative;
    width: 100%;
    height: 860px;
    margin: 0 auto;
    background-color: #fff;
    overflow: hidden;
}

/* Matter.jsのcanvasの位置調整 */
.matter-container canvas {
        display: block;
        width: 100% !important;
        height: 100% !important;
}

/* Intersection Observer用の要素 */
.observer {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

/* オブジェクト画像の基本スタイル */
[data-object] {
    max-width: 240px;
    max-height: 98px;
    aspect-ratio: 240 / 98;
    width: auto;
    height: auto;
    position: absolute;
    pointer-events: none;
    opacity: 0;  /* Matter.jsが制御するため非表示 */
}

/* 円形オブジェクト */
[data-object][data-circle] {
    max-width: 50%;
    border-radius: 50%;
    max-width: 136px;
    max-height: 136px;
    aspect-ratio: 1 / 1;
}

/* レスポンシブ対応 */
@media (max-width: 1024px) {
    .matter-container {
        height: 1500px;
    }
}
@media (max-width: 599px) {
    .matter-container {
        height: 2000px;
    }
}