        body {
            font-family: 'Noto Sans JP', sans-serif;
            background-color: #f3f4f6;
        }
        /* スクロールバーのカスタマイズ */
        ::-webkit-scrollbar {
            width: 8px;
            height: 8px;
        }
        ::-webkit-scrollbar-track {
            background: #f1f1f1; 
        }
        ::-webkit-scrollbar-thumb {
            background: #c1c1c1; 
            border-radius: 4px;
        }
        ::-webkit-scrollbar-thumb:hover {
            background: #a8a8a8; 
        }
        
        /* テーブルのスマホ対応用スタイル */
        @media (max-width: 768px) {
            .responsive-table thead { display: none; }
            .responsive-table tr { 
                display: flex; 
                flex-direction: column; 
                border: 1px solid #e5e7eb;
                margin-bottom: 1rem;
                border-radius: 0.5rem;
                background: white;
                padding: 1rem;
                box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
            }
            .responsive-table td { 
                display: flex;
                justify-content: space-between;
                align-items: center;
                border: none;
                padding: 0.5rem 0;
            }
            .responsive-table td::before {
                content: attr(data-label);
                font-weight: bold;
                color: #6b7280;
                font-size: 0.875rem;
            }
        }

        /* アニメーション */
        .fade-in { animation: fadeIn 0.3s ease-in-out; }
        @keyframes fadeIn {
            from { opacity: 0; transform: translateY(10px); }
            to { opacity: 1; transform: translateY(0); }
        }
    