/* Google Fonts - Interを適用 */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap');

/* --- カスタムカラーの定義 (ロゴのダークオリーブとディープレッドをベースに) --- */
:root {
    /* Primary Color: ダークオリーブ/アースカラー (信頼・安定・先進性) */
    --color-primary-dark: #444433; 
    /* Accent Color: ディープレッド (活力・インパクト) */
    --color-accent-red: #AA2222; 

    /* ベースのテキスト色と背景色 */
    --color-text-base: #212529; /* ダークグレー */
    --color-bg-base: #F8F9FA; /* わずかにオフホワイト */
}

body {
    font-family: 'Inter', sans-serif;
    color: var(--color-text-base);
    background-color: var(--color-bg-base);
    scroll-behavior: smooth;
}

/* Tailwind CSSのユーティリティクラスを拡張するためのカスタムクラス */
.primary-dark { background-color: var(--color-primary-dark); }
.text-primary-dark { color: var(--color-primary-dark); }
.border-primary-dark { border-color: var(--color-primary-dark); }

.accent-red { background-color: var(--color-accent-red); }
.text-accent-red { color: var(--color-accent-red); }
.border-accent-red { border-color: var(--color-accent-red); }


/* --- ヘッダー動画のスタイリングとレスポンシブ対応 --- */
.video-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: -1;
}

/* PC (横長) およびタブレット */
.video-container video {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    transform: translate(-50%, -50%);
}

/* スマホ (縦長) - 高さ基準でフィットさせる */
@media (max-width: 768px) {
    .video-container video {
        /* 縦画面でちょうど収まるように高さを基準に設定 */
        min-width: 150%; /* 縦長画面で左右に余白ができないように調整 */
        min-height: 100%;
        width: auto;
        height: auto;
        transform: translate(-50%, -50%);
    }
}

/* --- スクロールアニメーション (フェードイン) --- */
.fade-in-section {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
    /* 動的な制御はscript.jsで行う */
}
.fade-in-section.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* --- スクロールダウンインジケーターのアニメーション --- */
.scroll-down {
    animation: bounce-up-down 2s infinite;
}
@keyframes bounce-up-down {
    0%, 20%, 50%, 80%, 100% { transform: translateY(0); }
    40% { transform: translateY(-10px); }
    60% { transform: translateY(-5px); }
}