body {
    position: relative;
    margin: 0;
    color: #484848;
    letter-spacing: 0.13em;
    font-family: "Josefin Sans", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
    /* 背景定義 */
    width: 100%;
    height: 100vh;
    background-size: 200% 200%;
    animation: bggradient 5s ease infinite; /* アニメーション定義 */
    background-attachment: fixed;
    background-color: hsla(37, 91%, 85%, 1);
    background-image: radial-gradient(at 40% 20%, hsla(28, 100%, 74%, 1) 0px, transparent 50%),
        radial-gradient(at 80% 0%, hsla(189, 100%, 56%, 1) 0px, transparent 50%),
        radial-gradient(at 0% 50%, hsla(355, 100%, 93%, 1) 0px, transparent 50%),
        radial-gradient(at 0% 100%, hsla(197, 53%, 75%, 1) 0px, transparent 50%);
}

@keyframes bggradient {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}

h2 {
    font-size: 2rem;
    font-weight: 300;
}

button {
    color: #484848;
    font-family: "Josefin Sans", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
}

.pomodoro {
    position: absolute;
    top: 40%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
}

#timer {
    font-size: 3rem;
    margin: 1rem;
}

.message {
    padding: 1rem;
    font-size: 2rem;
    background-color: #fffbe9;
    margin: 1rem;
    border-radius: 30px 30px 30px 0px;
    display: none;
}

button {
    padding: 1rem;
    font-size: 1rem;
    cursor: pointer !important;
    pointer-events: auto; /* クリック可能にする */
    z-index: 1; /* 他の要素より前面に表示 */
}

.inner {
    width: 98%;
    max-width: 600px;
    margin: auto;
    text-align: center;
}

#decreaseTimeBtn,
#increaseTimeBtn {
    border-radius: 5px;
    background-color: #ffffff;
    border: none;
    padding: 0.3rem 1.5rem;
}
#decreaseTimeBtn:hover,
#increaseTimeBtn:hover {
    color: #969696;
}

#startBtn,
#stopBtn,
#resetBtn {
    padding: 1rem;
    border-radius: 50px;
    background-color: #e6ffff;
    border: none;
    padding: 1rem;
    display: block;
    text-align: center;
    margin-bottom: 1rem;
    width: 100%;
}

#stopBtn:hover,
#resetBtn:hover {
    background-color: #f0ffff;
    color: #969696;
}

#startBtn {
    background-color: #fdc283;
    margin-bottom: 1rem;
}
#startBtn:hover {
    background-color: #ffce9a;
    color: #969696;
}

#workDurationDisplay {
    padding: 1rem;
}

.adjust-buttons {
    display: flex;
    justify-content: center;
    align-items: center;
}

.mission {
    margin-bottom: 1rem;
}

input {
    color: #484848;
    width: 100%;
    text-align: center;
    border: none;
    border-bottom: 1px solid #484848;
    margin: 0;
    padding: 0.5rem 1rem;
    background: none;
    border-radius: 0;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    max-width: 400px; /* 最大幅を設定 */
}

input:focus {
    border-bottom: 1px solid #fdc283; /* フォーカス時の色 */
    transition: border-bottom 0.3s ease;
}

input::placeholder {
    color: #aaa;
    font-style: italic;
}

@media (max-width: 768px) {
    input {
        padding: 0.5rem;
        font-size: 0.9rem;
    }
}

.btn_iteme {
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 300px;
    width: 90%;
    margin: auto;
}

@media screen and (max-width: 768px) {
    #decreaseTimeBtn,
    #increaseTimeBtn {
        padding: 1rem 2rem;
    }
}
