body, #wrapper {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

footer {
    margin-top: auto;
}

.my-div-style {
    margin-top: 6rem;
}

.top-login-heading{
    padding-top: 4rem;
}

.top-news-sectiom{
    padding-top: 5rem;
}

.device-status-style {
    margin-top: 6rem;
    margin-top: 6rem;
}

.my-button-style {
    width: 100%;
    min-width: 200px !important;
    max-width: 600px !important;
}

.news-content{
    justify-content: center;
    font-size: 18px;
    padding-top: 1.5rem;
    display:grid;
    grid-template-columns: 230px 150px;
    dd{
        grid-column-start: 1;
        grid-column-end: 3;
    }
}

@media (min-width: 1000px) {
    .news-content{
        justify-content: center;
        text-align: left;
        font-size: 20px;
        padding-top: 1.5rem;
        display:grid;
        grid-template-columns: 280px 170px 600px;
        dd{
            grid-column-start: 3;
            grid-column-end: 4;
        }
    }
}

.button-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    width: 320px;
    margin: 20px auto;
}

.button-grid button {
    height: 200px;
    border: 3px solid;
    border-radius: 15px;
    display: flex;              /* 中央揃えのため */
    justify-content: center;    /* 水平方向の中央揃え */
    align-items: center;        /* 垂直方向の中央揃え */
    text-align: center;         /* テキストの中央揃え */
    font-size: 28px;
}

.blue_ON {
    background-color: blue;
    color: white;
}
.blue_OFF {
    background-color: white;
    color: blue;
}

.green_ON {
    background-color: green;
    color: white;
}
.green_OFF {
    background-color: white;
    color: green;
}

.gray {
    background-color: white;
    color: gray;
}

.loading-text {
    text-align: center;
    font-size: 24px;
    font-weight: bold;
    color: black;
}

.comm_failed-text {
    text-align: center;
    font-size: 20px;
    font-weight: bold;
    color: black;
}
