
        .pulse-animation {
            animation: pulse 1.5s infinite;
        }
        
        @keyframes pulse {
            0% {
                transform: scale(1);
                box-shadow: 0 0 0 0 rgba(var(--primary-rgb), 0.7);
            }
            
            70% {
                transform: scale(1.05);
                box-shadow: 0 0 0 10px rgba(var(--primary-rgb), 0);
            }
            
            100% {
                transform: scale(1);
                box-shadow: 0 0 0 0 rgba(var(--primary-rgb), 0);
            }
        }
        
        /* その他のスタイル改善 */
        .shop-card {
            transition: all 0.3s ease;
            border: 2px solid transparent !important;
        }
        
        .shop-card:hover {
            transform: translateY(-8px);
            border-color: var(--primary-color) !important;
            box-shadow: 0 0.75rem 1.5rem rgba(0, 0, 0, 0.18) !important;
        }
        
        .shop-badge {
            z-index: 10;
        }
        
        .cursor-pointer {
            cursor: pointer;
        }
        
        .shop-thumbnail {
            transition: all 0.3s ease;
            opacity: 0.8;
        }
        
        .shop-thumbnail:hover {
            opacity: 1;
            transform: scale(1.05);
        }
        
        .btn-primary {
            transition: all 0.3s ease;
        }
        
        .shop-card:hover .btn-primary {
            padding-left: 1.25rem;
            padding-right: 1.25rem;
        }
        
        .certification-level {
            transition: all 0.3s ease;
        }
        
        .certification-level:hover {
            transform: translateY(-3px);
            box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.1);
        }
        
        @media (max-width: 767px) {
            .shop-rating {
                font-size: 0.8rem;
            }
        }
    

