body {
            background-color: #f5f4f0;
            color: #2b2b2b;
            font-family: "Noto Serif JP", serif;
            -webkit-font-smoothing: antialiased;
        }

        /* 縦書きクラス (PC画面用) */
        .vertical-text {
            writing-mode: vertical-rl;
            text-orientation: upright;
            letter-spacing: 0.3em;
        }

        /* 日本語タイトルが長い時にスマホで見切れないようにする */
        .artwork-card h3 {
            overflow-wrap: anywhere;
            word-break: break-word;
            line-height: 1.35;
        }

        /* カスタムスクロールバー */
        ::-webkit-scrollbar {
            width: 8px;
        }
        ::-webkit-scrollbar-track {
            background: #f5f4f0;
        }
        ::-webkit-scrollbar-thumb {
            background: #d6d3ce;
            border-radius: 4px;
        }

        /* フェードインアニメーション */
        .fade-in-up {
            animation: fadeInUp 1s ease-out forwards;
            opacity: 0;
            transform: translateY(20px);
        }

        @keyframes fadeInUp {
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        .delay-100 { animation-delay: 0.1s; }
        .delay-200 { animation-delay: 0.3s; }
        .delay-300 { animation-delay: 0.5s; }

        /* 画像ホバーエフェクト */
        .artwork-card {
            transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
        }
        .artwork-card:hover {
            transform: translateY(-4px);
        }
        .artwork-card img {
            transition: filter 0.5s ease;
        }
        .artwork-card:hover img {
            filter: brightness(0.95);
        }
        
        /* 縦書きの引用符調整 */
        .quote-mark {
            font-family: serif; 
        }
