/* カスタム変数 */
:root {
    --primary-color: #2563eb;
    --primary-dark: #1d4ed8;
}

/* アニメーション */
.fade-in {
    animation: fadeIn 0.5s ease-in;
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* カスタムスタイル */
.hero-gradient {
    background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
}

.feature-card {
    transition: transform 0.2s ease-in-out;
}

.feature-card:hover {
    transform: translateY(-5px);
}

/* フォーム要素のカスタマイズ */
.form-input {
    @apply w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-primary focus:border-transparent;
}

.btn-primary {
    @apply bg-primary text-white px-6 py-3 rounded-lg hover:bg-primary-dark transition-colors;
}

.btn-secondary {
    @apply bg-gray-200 text-gray-800 px-6 py-3 rounded-lg hover:bg-gray-300 transition-colors;
}