body {
    font-family: 'Inter', 'Noto Sans JP', sans-serif;
}
.special-font {
    font-family: 'Kiwi Maru', 'Noto Sans JP', sans-serif;
}
.hero-gradient {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}
.service-card {
    transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
}
.service-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}
.fade-in-up {
    animation: fadeInUp 1s ease-out forwards;
    opacity: 0; /* 初期状態を透明に */
}
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
/* アニメーションの遅延を設定 */
.delay-100 { animation-delay: 0.1s; }
.delay-200 { animation-delay: 0.2s; }
.delay-300 { animation-delay: 0.3s; }
.delay-400 { animation-delay: 0.4s; }
.delay-500 { animation-delay: 0.5s; }
.delay-600 { animation-delay: 0.6s; } /* 6つ目のカード用に追加 */
.delay-700 { animation-delay: 0.7s; } /* 7つ目のカード用に追加 */
.delay-800 { animation-delay: 0.8s; } /* 8つ目のカード用に追加 */
.delay-900 { animation-delay: 0.9s; } /* 9つ目のカード用に追加 */
.delay-1000 { animation-delay: 1.0s; } /* 10つ目のカード用に追加 */
.delay-1100 { animation-delay: 1.1s; } /* 11つ目のカード用に追加 */
.delay-1200 { animation-delay: 1.2s; } /* 12つ目のカード用に追加 */
.delay-1300 { animation-delay: 1.3s; } /* 13つ目のカード用に追加 */
.delay-1400 { animation-delay: 1.4s; } /* 14つ目のカード用に追加 */
.delay-1500 { animation-delay: 1.5s; } /* 15つ目のカード用に追加 */
.delay-1600 { animation-delay: 1.6s; } /* 16つ目のカード用に追加 */
.delay-1700 { animation-delay: 1.7s; } /* 17つ目のカード用に追加 */
.delay-1800 { animation-delay: 1.8s; } /* 18つ目のカード用に追加 */
.delay-1900 { animation-delay: 1.9s; } /* 19つ目のカード用に追加 */
.delay-2000 { animation-delay: 2.0s; } /* 20つ目のカード用に追加 */
.delay-2100 { animation-delay: 2.1s; } /* 21つ目のカード用に追加 */
.delay-2200 { animation-delay: 2.2s; } /* 22つ目のカード用に追加 */
.delay-2300 { animation-delay: 2.3s; } /* 23つ目のカード用に追加 */
.delay-2400 { animation-delay: 2.4s; } /* 24つ目のカード用に追加 */
.delay-2500 { animation-delay: 2.5s; } /* 25つ目のカード用に追加 */
.delay-2600 { animation-delay: 2.6s; } /* 26つ目のカード用に追加 */
.delay-2700 { animation-delay: 2.7s; } /* 27つ目のカード用に追加 */
.delay-2800 { animation-delay: 2.8s; } /* 28つ目のカード用に追加 */
.delay-2900 { animation-delay: 2.9s; } /* 29つ目のカード用に追加 */

/* 文字縁取り(ヒーロー見出し用) */
/*
.hero-gradient h2 {
    text-shadow:
        2px 2px 0 #764ba2,
        -2px 2px 0 #667eea,
        2px -2px 0 #764ba2,
        -2px -2px 0 #667eea;
}
*/
.sub-shadow {
    text-shadow: 0 2px 8px rgba(0,0,0,0.4);
}
