        :root {
            --primary-color: #0055b8;
            --secondary-color: #00a3e0;
            --accent-color: #19d4ca;
            --light-bg: #f5f9ff;
            --dark-bg: #031b4e;
        }        
        body {
            font-family: 'Noto Sans JP', sans-serif;
            color: #333;
            line-height: 1.6;
        }
        
        .gradient-bg {
            background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
        }
        
        .service-card {
            transition: transform 0.3s, box-shadow 0.3s;
            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
        }
        
        .service-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 10px 15px rgba(0, 0, 0, 0.1);
        }
        
        .service-ls { border-top: 4px solid #88c6ff; }
        .service-la { border-top: 4px solid #5495ff; }
        .service-bi { border-top: 4px solid #0073e6; }
        .service-ib { border-top: 4px solid #004999; }
        
        .feature-icon {
            background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
            -webkit-background-clip: text;
            background-clip: text;
            -webkit-text-fill-color: transparent;
        }
        
        .comparison-table th {
            background-color: var(--primary-color);
            color: white;
        }
        
        .comparison-table tr:nth-child(even) {
            background-color: var(--light-bg);
        }
        
        .gradient-button {
            background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
            color: white;
            transition: all 0.3s;
        }
        
        .gradient-button:hover {
            background: linear-gradient(135deg, var(--secondary-color), var(--primary-color));
            box-shadow: 0 5px 15px rgba(0, 85, 184, 0.3);
        }
        
        /* Animation classes */
        .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);
        }
        
        /* Progress bars */
        .progress-bar {
            height: 8px;
            border-radius: 4px;
            background-color: #e2e8f0;
            overflow: hidden;
        }
        
        .progress-bar-fill-easy {
            background-color: #88c6ff;
            height: 100%;
            width: 25%;
        }
        
        .progress-bar-fill-medium {
            background-color: #5495ff;
            height: 100%;
            width: 50%;
        }
        
        .progress-bar-fill-advanced {
            background-color: #0073e6;
            height: 100%;
            width: 75%;
        }
        
        .progress-bar-fill-pro {
            background-color: #004999;
            height: 100%;
            width: 100%;
        }
        
        /* For PDF optimization */
        @media print {
            body {
                width: 100%;
                margin: 0;
                padding: 0;
            }
            
            .container {
                max-width: 100% !important;
                width: 100% !important;
            }
            
            .no-print {
                display: none !important;
            }
        }
