header{
    color:aqua;
}

footer{
    color: lightslategray;
}


#title {
    font-size: 2rem;
    font-weight: bold;
    text-align: center;
}

.person-count-widget {
background: #ffffff;
border-radius: 12px;
padding: 15px 20px;
margin: 15px;
display: flex;
align-items: center;
justify-content: space-between;
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
border: 1px solid #e0e0e0;
}
.person-count-widget .label {
color: #333333;
font-size: 0.9rem;
text-transform: uppercase;
letter-spacing: 1px;
}
.person-count-widget .count {
color: #000000;
font-size: 2.5rem;
font-weight: 300;
display: flex;
align-items: baseline;
}
.person-count-widget .count .unit {
font-size: 1rem;
margin-left: 5px;
color: #666666;
}
.person-count-widget .update-info {
color: #888888;
font-size: 0.75rem;
margin-top: 5px;
}
.person-count-widget .status-dot {
width: 8px;
height: 8px;
border-radius: 50%;
background: #4CAF50;
margin-right: 8px;
animation: pulse 2s infinite;
}
.person-count-widget .status-dot.error {
background: #e82127;
}
@keyframes pulse {
0%, 100% { opacity: 1; }
50% { opacity: 0.5; }
}

body {
margin: 0;
font-family: "Segoe UI", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
background-color: #f4f6f9;
color: #333;
}

header {
background: linear-gradient(135deg, #1e88e5, #42a5f5);
color: #fff;
padding: 14px 16px;
text-align: center;
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

#header_text {
margin: 0;
font-size: 1.4rem;
letter-spacing: 0.05em;
}

#map {
height: 50vh;
margin-top: 12px;
margin-left: 12px;
margin-right: 16px;
border-radius: 14px;
overflow: hidden;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}   

#is_boardble {
margin-left: 16px;
}

#message {
    margin-left: 16px;
}

#delay_message {
    margin-left: 16px;
}




.button {
display: block;
margin: 12px 16px;
padding: 14px;
text-align: center;
font-size: 1rem;
font-weight: bold;
border-radius: 10px;
transition: all 0.2s ease;
}

#button_M100 {
background-color: #43a047;
color: #fff;
}

#button_M101 {
background-color: #fb8c00;
color: #fff;
}

#button_M200 {
background-color: #3bc0fb;
color: #fff;
}

#button_M100:hover,
#button_M101:hover {
transform: translateY(-2px);
box-shadow: 0 6px 14px rgba(0, 0, 0, 0.2);
opacity: 0.95;
}

.title-box {
    font-size: 22px;
    margin: 0px 0px 10px;
    text-align: center;
    font-weight: bold;
}

.back-btn {
    padding: 10px 16px;
    display: inline-block;
    margin-bottom: 15px;
    color: #2980b9;
    font-size: 16px;
    text-decoration: none;
}

.container {
            max-width: 800px;
            margin: 20px auto;
            padding: 10px 20px;
        }


footer {
    margin-top: 24px;
    padding: 12px;
    text-align: center;
    font-size: 0.9rem;
    color: #777;
}

#calendar {
                border-collapse: collapse;
                margin: 20px;
                border: 3px solid;
            }
            .calendar-td, .calendar-th {
                border: 1px solid gray;
                width: 100px;
                height: 80px;
                text-align: center;
            }
            .weekday {
                border-bottom: 3px solid black;
            }
            .Saturday {
                color: mediumblue;
                border-bottom: 3px solid black;
            }
            .Sunday{
                color: crimson;
                border-bottom: 3px solid black;
            }
            .mitouroku {
                color: red;
            }

.text-box {
    text-align: center;
    padding: 15px;
    margin: 10px 5%;
    border-radius: 8px;
    font-weight: bold;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.display-block{
    display: block;
    white-space: nowrap;
}
#text_min {
    background-color: #f0f8ff; 
    color: #333;
    border-left: 5px solid #007bff;
    font-size: 1.2rem;
}

#text_delay {
    background-color: #fff3f3; 
    color: #d9534f; 
    border-left: 5px solid #d9534f;
    font-size: 1.0rem;
    margin-top: 5px;
}