.container {
    width: 100%;
    max-width: 1000px;
    text-align: center;
}



#racetrack {
    border-radius: 13px;
    width: 100%;
    max-width: 800px;
    height: auto;
}

.controls {
    margin: 20px 0;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
}

button {
    padding: clamp(8px, 2vw, 10px) clamp(15px, 3vw, 20px);
    font-size: clamp(14px, 3vw, 16px);
    background-color: #a00;
    color: #fff;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    transition: background-color 0.3s;
}

button:hover {
    background-color: #a00;
}

button:active {
    background-color: #a00;
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
    .container {
        padding: 0 10px;
    }
    
    #racetrack {
        height: 50vw; /* 幅に対して適切な高さを維持 */
    }
}

@media (max-width: 480px) {

    
    .controls {
        flex-direction: column;
        align-items: center;
    }
    
    button {
        width: 80%;
        margin-bottom: 10px;
    }
}