.cookie-consent {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: fixed;
    bottom: 0;
    width: 100%;
    font-size: 14px;
    color: #fff;
    background: rgb(58 58 58 / 70%);
    padding: 0.1em;
    padding-left: 2em;
    box-sizing: border-box;
    z-index: 100;
    visibility: hidden;
}

.cookie-consent.is-show {
    visibility: visible;
}

.cookie-consent a {
    color: #fff !important;
}

.cookie-agree {
    color: #383535;
    background: #f9aaab;
    padding: 0.2em 1.2em;
    margin: 8px;
    border-radius: 4px;
}

.cookie-agree:hover {
    cursor: pointer;
}

/* パッと消える */
.cc-hide1 {
    display: none;
}

/* ゆっくり消える */
.cc-hide2 {
    animation: hide 1s linear 0s;
    animation-fill-mode: forwards;
}

@keyframes hide {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
        visibility: hidden;
    }
}

/* バナー表示中はページ下部にスペースを確保 */
body:has(.cookie-consent.is-show:not(.cc-hide1)) {
    padding-bottom: 3em;
}

/* メディアクエリ */
@media screen and (max-width: 600px) {
    .cookie-consent {
        padding: 0.4em 0.8em;
        font-size: 11px;
        gap: 0.5em;
    }

    .cookie-text {
        flex: 1;
        min-width: 0;
    }

    .cookie-agree {
        margin: 4px;
        white-space: nowrap;
        flex-shrink: 0;
    }

    body:has(.cookie-consent.is-show:not(.cc-hide1)) {
        padding-bottom: 44px;
    }
}
