        body {
            font-family: 'Noto Sans JP', sans-serif;
        }
        .hero-gradient {
            background: radial-gradient(circle at 50% 0%, rgba(240, 244, 255, 1) 0%, rgba(255, 255, 255, 0) 50%);
        }
        /* アニメーション用スタイル */
        #animation-container {
            position: relative;
            height: 200px;
        }
        #fake-browser {
            position: absolute;
            top: 20px;
            left: 50%;
            transform: translateX(-50%);
            width: 90%;
            max-width: 500px;
            height: 160px;
            background: white;
            border-radius: 10px;
            box-shadow: 0 10px 30px rgba(0,0,0,0.1);
            border: 1px solid #e5e7eb;
            overflow: hidden;
        }
        .browser-header {
            height: 28px;
            background-color: #f3f4f6;
            display: flex;
            align-items: center;
            padding: 0 10px;
            border-bottom: 1px solid #e5e7eb;
            position: relative;
        }
        .dot { height: 8px; width: 8px; border-radius: 50%; margin-right: 6px; }
        .browser-body { padding: 15px; font-size: 14px; position: relative; }
        #text-selection {
            position: absolute;
            background-color: #3b82f6;
            opacity: 0.3;
            height: 1.2em;
        }
        #fake-icon {
            position: absolute;
            top: 2px;
            right: 10px;
            width: 24px;
            height: 24px;
            background: #e0e7ff;
            border-radius: 5px;
            cursor: pointer;
            padding: 2px;
            transition: transform 0.2s ease;
        }
        #fake-icon:hover { transform: scale(1.1); }
        #fake-popup {
            position: absolute;
            top: 35px;
            right: 5px;
            width: 150px;
            background: white;
            border-radius: 8px;
            box-shadow: 0 5px 20px rgba(0,0,0,0.15);
            border: 1px solid #e5e7eb;
            padding: 10px;
            text-align: center;
            opacity: 0;
            visibility: hidden;
            transform: translateY(-10px);
            transition: all 0.3s ease;
            z-index: 20;
        }
        #fake-popup.show {
            opacity: 1;
            visibility: visible;
            transform: translateY(0);
        }
        #fake-cursor {
            position: absolute;
            width: 24px;
            height: 24px;
            z-index: 30;
            pointer-events: none;
            opacity: 0;
            transition: transform 0.1s ease;
            color: #1f2937;
        }
        /* スクロールアニメーション */
        .fade-in-section {
            opacity: 0;
            transform: translateY(20px);
            transition: opacity 0.6s ease-out, transform 0.6s ease-out;
        }
        .fade-in-section.is-visible {
            opacity: 1;
            transform: translateY(0);
        }
