.navbar {
    background: pink;
    height: 60px;
}


        body {
            font-family: 'Noto Sans JP', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
            overflow: hidden; /* ページのスクロールを禁止 */
        }
        
        /* Mac Safari対応: フォント読み込み失敗時のフォールバック */
        @supports (-webkit-appearance: none) {
            body {
                font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
            }
        }
        /* D3.jsで生成される要素のスタイル */
        .node { cursor: pointer; transition: opacity 0.3s ease-in-out; }
        .link { transition: stroke-opacity 0.3s ease-in-out, stroke 0.3s ease-in-out; }
        
        /* サイドバーの表示/非表示アニメーション */
        #sidebar { transition: transform 0.3s ease-in-out; }
        .sidebar-hidden { transform: translateX(100%); }
        
        /* モーダルの背景 */
        .modal-backdrop { background-color: rgba(0,0,0,0.5); }
        
        /* カスタムスクロールバーのスタイル */
        .custom-scrollbar::-webkit-scrollbar { width: 8px; }
        .custom-scrollbar::-webkit-scrollbar-track { background: #f1f5f9; /* bg-slate-100 */ }
        .custom-scrollbar::-webkit-scrollbar-thumb { background: #cbd5e1; /* bg-slate-300 */ border-radius: 4px; }

        /* サイドバーの情報ブロック用のCSS */
        .sidebar-info-block {
            margin-top: 1rem;
            padding-top: 1rem;
            border-top: 1px solid #e5e7eb; /* border-gray-200 */
        }
        .sidebar-info-block:first-child {
            margin-top: 0;
            padding-top: 0;
            border-top: none;
        }
        .sidebar-info-block h5 {
            font-weight: 600; /* font-semibold */
            color: #4b5563; /* text-gray-600 */
            margin-bottom: 0.25rem;
        }
        .sidebar-info-block p {
            font-size: 1.5rem; /* text-sm */
            color: #576e9e; /* text-gray-500 */
            margin-bottom: 0.25rem;
        }
        .sidebar-tags-container {
            margin-top: 0.5rem;
        }
        .sidebar-tag-item {
            display: inline-block;
            background-color: #e5e7eb; /* bg-gray-200 */
            color: #374151; /* text-gray-700 */
            padding: 2px 8px;
            border-radius: 9999px; /* rounded-full */
            font-size: 1rem; /* text-xs */
            margin-right: 4px;
            margin-bottom: 4px;
        }



.toast-notification {
    z-index: 100;
}

svg .node.dimmed { opacity: 0.1; }
svg .link.dimmed { stroke-opacity: 0.05; }

.node, .link {
    transition: opacity 0.3s ease;
}

.node.dimmed, .link.dimmed {
    opacity: 0.1; /* JavaScriptから直接opacityを操作するのではなく、クラスで制御 */
}
.link.dimmed {
    opacity: 0.05;
}