.welcome {
    background: black;
    padding: 5px;
}

.welcome-txt {
    background: linear-gradient(to right,#e60000,#f39800,#fff100,#009944,#0068b7,#1d2088,#920783,#e60000) 0 / 200%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-weight: bold;
    font-size: 20pt;
    display: inline-block;
    animation: 5s welcome-txt linear infinite;
}

@keyframes welcome-txt {
    100% { background-position: 200%; }
}

.carousel {
    padding: 40px 0;
}

.counter {
    padding: 30px 0;
    font-weight: bold;
}

.counter span {
    border-bottom: black double 3px;
}

.counter img {
    width: 100%;
    max-width: 24px;
}

.counter-content img {
    width: 15px;
}

.update {
    padding: 0 30px;
}

h3 {
    border-top: black double 4px;
    border-bottom: black solid 2px;
    padding: 3px;
    margin: 20px auto;
    width: 100%;
    max-width: 800px;
}

.update table {
    margin: auto;
    width: 100%;
    max-width: 500px;
    border-collapse: collapse;
}

.update th, td {
    border: 4px #8f4400 ridge;
}

/* スマホ用設定 (768px以下) */
@media screen and (max-width: 768px) {
    .carousel {
        padding: 20px 0;
    }

    .welcome-txt {
        font-size: 12pt;
    }

    .counter {
        padding: 20px 0;
        font-size: 13pt;
        font-weight: bold;
    }

    .counter img {
        max-width: 22px;
    }

    .counter-content img {
        width: 14px;
    }

    h3 {
        font-size: 12pt;
    }
}
