/* キャラクター共通スタイル */
.character {
    position: absolute;
    width: 160px;
    height: 160px;
    right: 30px;
    top: 20px;
    z-index: 10;

    /* 初期状態：下から登場 */
    opacity: 0;
    transform: translateY(100px) scale(0.8);
    transition: all 0.8s cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* 表示状態 */
.character.show {
    opacity: 1;
    transform: translateY(0);
}


/* バウンスアニメーション */
@keyframes bounce {

    0%,
    100% {
        transform: translateY(0px);
    }

    50% {
        transform: translateY(-8px);
    }
}

/* キャラ　レスポンシブ対応 */
@media (max-width: 768px) {
    .character {
        width: 120px;
        height: 120px;
        right: 0px;
        top: 0px;
    }
}

@media (max-width: 480px) {
    .character {
        width: 120px;
        height: 120px;
        top: -70px;
        right: 0px;
    }
}