/* ========================================
   Main Styles - メインコンテンツのスタイル
   ========================================
   各セクションの詳細なデザイン設定
======================================== */

/* ========================================
   Hero Section - ヒーローセクション
   ========================================
   トップページのメインビジュアル部分
======================================== */

/* ヒーローセクションの基本レイアウト：全画面高さ、中央配置 */
.heroSection {
    min-height: 100vh;
    display: flex;
    align-items: center;
    position: relative;
    padding-top: 140px; /* ロゴセクション + ナビゲーションセクションの高さに調整 */

    
    /* メイン背景画像（001.png）の設定：疑似要素で実装 */
    &::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-image: url('../images/00012.png');
        background-size: contain;
        background-position: right;
        background-repeat: no-repeat;
        opacity: 1;
        pointer-events: none;
        z-index: -2;
    }
    
    /* カスタマイズ可能な色オーバーレイ */
    /* 色と透明度はここで変更できます */
    &::after {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: linear-gradient(135deg, rgba(212, 175, 55, 0.1), rgba(147, 112, 219, 0.1));
        pointer-events: none;
        z-index: -1;
    }
    
    /* オーバーレイ色の詳細設定：CSS変数で管理 */
    &::after {
        /* オーバーレイの色 (RGBA形式で指定) */
        --overlay-color-1: rgba(212, 175, 55, 0.1);  /* 薄い金色 */
        --overlay-color-2: rgba(147, 112, 219, 0.1); /* 紫色 */
        
        /* 単色の場合は以下のコメントアウトを外して上記をコメントアウト */
        /* --overlay-color: rgba(0, 0, 0, 0.4); */
        
        background: linear-gradient(135deg, var(--overlay-color-1), var(--overlay-color-2));
        /* 単色の場合 */
        /* background: var(--overlay-color); */
    }
    
    /* ヒーローセクション内のコンテナ：グリッドレイアウト */
    .heroContainer {
        max-width: 1200px;
        margin: 0 auto;
        padding: 0 20px;
        display: grid;
        grid-template-columns: 1fr 2fr;
        gap: 2rem;
        align-items: center;
        position: relative;
        z-index: 1;
        
        /* ヒーローコンテンツ（テキスト部分）：左からのフェードインアニメーション */
        .heroContent {
            animation: fadeInLeft 1s ease-out;
            justify-self: start;
            padding-left: 2rem;

            img{
            /* ========================================
               Hero Content Image Size - ヒーローコンテンツ画像サイズ
               ========================================
               ロゴ画像のサイズを調整できます
               max-height: 画像の最大高さ（推奨: 200px-400px）
               max-width: 画像の最大幅（推奨: 300px-600px）
               ======================================== */
            max-height: clamp(min(10vw, 20rem), 400px,);  /* 画像の最大高さ - こちらで調整可能 */
            max-width:400px;   /* 画像の最大幅 - こちらで調整可能 */
            display: block;
            margin: 0 auto;
            /* 画像の縦横比を維持 */
            width: auto;
            height: auto;
            /* 画像の品質を保つ */
            object-fit: contain;
            }
            
            /* メインタイトル：大きなフォントサイズ、グラデーション文字 */
            .heroTitle {
                font-size: clamp(4rem, 3vw, 5rem);
                background: linear-gradient(135deg, #D4AF37, #9370DB);
                -webkit-background-clip: text;
                -webkit-text-fill-color: transparent;
                background-clip: text;
                margin-bottom: 0.5rem;
                font-weight: 700;
            }
            
            /* サブタイトル：イタリック体、控えめな色 */
            .heroSubtitle {
                font-family: 'Cinzel', serif;
                font-size: 1.2rem;
                color: #666;
                margin-bottom: 2rem;
                font-style: italic;
            }
            
            /* 説明文：読みやすいフォントサイズと行間 */
            .heroDescription {
                font-size: 1.2rem;
                color: #555;
                margin-bottom: 3rem;
                line-height: 1.8;
            }
            
            /* ボタンコンテナ：フレックスレイアウト、レスポンシブ対応 */
            .heroButtons {
                display: flex;
                gap: 1rem;
                flex-wrap: wrap;
                
                /* ヒーローボタンの基本スタイル */
                .heroButton {
                    padding: 1rem 2rem;

                    font-weight: 500;
                    text-align: center;
                    transition: all 0.3s ease;
                    min-width: 150px;
                    
                    /* プライマリボタン：グラデーション背景、ホバー効果 */
                    &.primary {
                        background: linear-gradient(135deg, #D4AF37, #9370DB);
                        color: white;
                        
                        /* ホバー時：上に移動、シャドウ追加 */
                        &:hover {
                            transform: translateY(-3px);
                            box-shadow: 0 10px 25px rgba(212, 175, 55, 0.3);
                        }
                    }
                    
                    /* セカンダリボタン：アウトライン、ホバーで塗りつぶし */
                    &.secondary {
                        border: 2px solid #9370DB;
                        color: #9370DB;
                        background: transparent;
                        
                        /* ホバー時：背景色変更、上に移動 */
                        &:hover {
                            background: #9370DB;
                            color: white;
                            transform: translateY(-3px);
                        }
                    }
                }
            }
        }
        
        /* ヒーロー画像部分：非表示設定（背景画像を使用するため） */
        .heroImage {
            display: none;
        }
    }
}

/* ========================================
   Services Section - サービスセクション
   ========================================
   提供サービスの紹介カード表示
======================================== */

/* サービスセクションの基本設定：パディング、背景色 */
.servicesSection {
    padding: 5rem 0;
    background: #fff;
    
    /* サービスカードのグリッドレイアウト：レスポンシブ対応 */
    .servicesGrid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
        gap: 2rem;
        
        /* 個別のサービスカード：ホバー効果付き */
        .serviceCard {
            background: white;
            overflow: hidden;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
            transition: all 0.3s ease;
            border: 1px solid rgba(212, 175, 55, 0.2);
            
            /* ホバー時：上に移動、シャドウ強化 */
            &:hover {
                transform: translateY(-10px);
                box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
            }
            
            /* サービス画像部分：ホバー時の拡大効果 */
            .serviceImage {
                position: relative;
                overflow: hidden;
                
                /* 画像の基本設定とトランジション */
                img {
                    width: 100%;
                    height: auto;
                    transition: transform 0.3s ease;
                }
                
                /* ホバー時の画像拡大 */
                &:hover img {
                    transform: scale(1.1);
                }
                
                /* 画像上のオーバーレイ効果 */
                &::after {
                    content: '';
                    position: absolute;
                    top: 0;
                    left: 0;
                    right: 0;
                    bottom: 0;
                    background: linear-gradient(45deg, rgba(212, 175, 55, 0.1), rgba(147, 112, 219, 0.1));
                }
            }
            
            /* サービスカードのテキスト部分 */
            .serviceContent {
                padding: 2rem;
                
                /* サービスタイトル */
                .serviceTitle {
                    color: #6B46C1;
                    margin-bottom: 1rem;
                    font-size: 1.4rem;
                }
                
                /* サービス説明文 */
                .serviceDescription {
                    color: #6B46C1;
                    line-height: 1.7;
                }
            }
        }
    }
}

/* ========================================
   Gallery Section - ギャラリーセクション
   ========================================
   作品集の画像表示エリア
======================================== */

/* ギャラリーセクションの基本設定：パディング、グラデーション背景 */
.gallerySection {
    padding: 5rem 0;
    position: relative;
    
    /* 背景画像の設定：疑似要素で実装、カスタマイズ可能 */
    &::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        /* 背景画像URL（こちらで変更可能） */
        background-image: url('../images/171.png');
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        /* 画像の透明度（0.0-1.0で調整可能） */
        opacity: 0.2;
        pointer-events: none;
        z-index: -2;
    }
    
    /* 色オーバーレイの設定：疑似要素で実装、カスタマイズ可能 */
    &::after {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        /* オーバーレイ色（RGBA形式で指定、こちらで変更可能） */
        --overlay-color-1: rgba(212, 175, 55, 0.05);   /* 薄い金色 */
        --overlay-color-2: rgba(147, 112, 219, 0.05);  /* 薄い紫色 */
        
        /* グラデーションオーバーレイ */
        background: linear-gradient(135deg, var(--overlay-color-1), var(--overlay-color-2));
        
        /* 単色オーバーレイを使用する場合は以下のコメントアウトを外して上記をコメントアウト */
        /* background: rgba(255, 255, 255, 0.8); */
        
        pointer-events: none;
        z-index: -1;
    }
    
    /* ギャラリー画像のグリッドレイアウト */
    .galleryGrid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
        gap: 1.5rem;
        position: relative;
        z-index: 1;
        
        /* 個別のギャラリーアイテム：ホバー効果とオーバーレイ */
        .galleryItem {
            position: relative;
            overflow: hidden;
            box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
            transition: all 0.3s ease;
            cursor: pointer;
            
            /* ホバー時：拡大、シャドウ強化 */
            &:hover {
                transform: scale(1.05);
                box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2);
            }
            
            /* ギャラリー画像の基本設定 */
            img {
                width: 100%;
                height: auto;
                display: block;
            }
            
            /* ホバー時のオーバーレイ効果：疑似要素で実装 */
            &::after {
                content: '';
                position: absolute;
                top: 0;
                left: 0;
                right: 0;
                bottom: 0;
                background: linear-gradient(45deg, rgba(212, 175, 55, 0.2), rgba(147, 112, 219, 0.2));
                opacity: 0;
                transition: opacity 0.3s ease;
            }
            
            /* ホバー時のオーバーレイ表示 */
            &:hover::after {
                opacity: 1;
            }
        }
    }
}

/* ========================================
   Other Achievements Section - その他の実績セクション
   ========================================
   特別な実績や取り組みの表示
======================================== */

/* その他の実績セクションの基本設定 */
.otherAchievementsSection {
    padding: 5rem 0;
    position: relative;
    
    /* 背景画像の設定：疑似要素で実装、カスタマイズ可能 */
    &::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        /* 背景画像URL（こちらで変更可能） */
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        /* 画像の透明度（0.0-1.0で調整可能） */
        opacity: 0.2;
        pointer-events: none;
        z-index: -2;
    }
    
    /* 色オーバーレイの設定：疑似要素で実装、カスタマイズ可能 */
    &::after {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        /* オーバーレイ色（RGBA形式で指定、こちらで変更可能） */
        --overlay-color-1: rgba(212, 175, 55, 0.05);   /* 薄い金色 */
        --overlay-color-2: rgba(147, 112, 219, 0.05);  /* 薄い紫色 */
        
        /* グラデーションオーバーレイ */
        background: linear-gradient(135deg, var(--overlay-color-1), var(--overlay-color-2));
        
        /* 単色オーバーレイを使用する場合は以下のコメントアウトを外して上記をコメントアウト */
        /* background: rgba(255, 255, 255, 0.8); */
        
        pointer-events: none;
        z-index: -1;
    }


  
  
    
    /* 実績コンテンツ：中央配置 */
    .achievementContent {
        display: flex;
        justify-content: center;
        align-items: center;
        position: relative;
        z-index: 1;
        
        /* 実績画像のリンク */
        .achievementLink {
            display: inline-block;
            text-decoration: none;
            transition: all 0.3s ease;
            
            /* ホバー時の効果 */
            &:hover {
                transform: translateY(-5px);
            }
        }
        
        /* 実績画像 */
        .achievementImage {
            max-width: 800px;
            width: 100%;
            text-align: center;
            overflow: hidden;
            box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
            transition: all 0.3s ease;
            
            /* ホバー時：上に移動、シャドウ強化 */
            &:hover {
                transform: translateY(-10px);
                box-shadow: 0 30px 50px rgba(0, 0, 0, 0.15);
            }
            
            /* 画像の基本設定 */
            img {
                width: 100%;
                height: auto;
                display: block;
                transition: transform 0.3s ease;
            }
            
            /* ホバー時の画像拡大 */
            &:hover img {
                transform: scale(1.02);
            }
            
            /* 画像キャプション */
            .achievementCaption {
                padding: 1.5rem;
                background: linear-gradient(135deg, rgba(212, 175, 55, 0.05), rgba(147, 112, 219, 0.05));
                color: #666;
                font-size: 1rem;
                line-height: 1.6;
                border-top: 1px solid rgba(212, 175, 55, 0.2);
            }
        }
    }
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
    .otherAchievementsSection {
        .achievementContent {
            .achievementImage {
                max-width: 100%;
                
                .achievementCaption {
                    padding: 1rem;
                    font-size: 0.9rem;
                }
            }
        }
    }
}

/* ========================================
   About Section - 会社概要セクション
   ========================================
   会社情報とテキスト・画像の2カラムレイアウト
======================================== */

/* 会社概要セクションの基本設定 */
.aboutSection {
    padding: 5rem 0;
    background: #fff;
    
    /* 会社概要のコンテンツ：2カラムグリッドレイアウト */
    .aboutContent {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 4rem;
        align-items: center;

        
        /* テキスト部分 */
        .aboutText {
            /* 会社説明文 */
            .aboutDescription {
                font-size: 1.1rem;
                color: #555;
                margin-bottom: 3rem;
                line-height: 1.8;
            }
            
            /* 会社詳細情報のリスト */
            .aboutDetails {
                display: grid;
                gap: 1.5rem;
                
                /* 個別の詳細項目：左ボーダー付き */
                .aboutItem {
                    border-left: 4px solid #D4AF37;
                    padding-left: 1.5rem;
                    
                    /* 項目タイトル */
                    h3 {
                        color: #6B46C1;
                        font-size: 1.1rem;
                        margin-bottom: 0.5rem;
                    }
                    
                    /* 項目内容 */
                    p {
                        color: #666;
                        margin: 0;
                    }
                }
            }
        }
        
        /* 画像部分 */
        .aboutImage {
            .imageGrid {
                display: grid;
                grid-template-columns: 1fr;
                grid-template-rows: 2fr 1fr;
                gap: 1rem;
                height: 550px;
                
                .gridImage:first-child {
                    grid-column: 1;
                    grid-row: 1;
                    width: 100%;
                }
                
                .gridImage:nth-child(2),
                .gridImage:nth-child(3) {
                    grid-row: 2;
                }
                
                .gridImage:nth-child(2) {
                    grid-column: 1;
                }
                
                .gridImage:nth-child(3) {
                    grid-column: 1;
                }
            }
            
            /* 下段の2枚の画像を横並びにするためのサブグリッド */
            .imageGrid {
                grid-template-areas: 
                    "main main"
                    "sub1 sub2";
                grid-template-columns: 1fr 1fr;
                grid-template-rows: 2fr 1fr;
                
                .gridImage:first-child {
                    grid-area: main;
                }
                
                .gridImage:nth-child(2) {
                    grid-area: sub1;
                }
                
                .gridImage:nth-child(3) {
                    grid-area: sub2;
                }
                
                .gridImage {
                    overflow: hidden;
                    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
                    transition: all 0.3s ease;
                    
                    &:hover {
                        transform: translateY(-5px);
                        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
                    }
                    
                    img {
                        width: 100%;
                        height: 100%;
                        object-fit: cover;
                        transition: transform 0.3s ease;
                    }
                    
                    &:hover img {
                        transform: scale(1.05);
                    }
                }
            }
            
            /* 旧スタイルを保持（後方互換性のため） */
            figure:not(.gridImage) {
                overflow: hidden;
                box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
                
                /* 画像の基本設定 */
                img {
                    width: 100%;
                    height: auto;
                }
            }
        }
    }
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
    .aboutSection {
        .aboutContent {
            .aboutImage {
                .imageGrid {
                    gap: 0.5rem;
                }
            }
        }
    }
}

/* ========================================
   Contact Section - アクセス情報セクション
   ========================================
   連絡先情報と地図の表示
======================================== */

/* アクセス情報セクションの基本設定 */
.contactSection {
    padding: 5rem 0;
    position: relative;
    
    /* 背景画像の設定：疑似要素で実装、カスタマイズ可能 */
    &::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        /* 背景画像URL（こちらで変更可能） */
        background-image: url('../images/007.png');
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        /* 画像の透明度（0.0-1.0で調整可能） */
        opacity: 0.2;
        pointer-events: none;
        z-index: -2;
    }
    
    /* 色オーバーレイの設定：疑似要素で実装、カスタマイズ可能 */
    &::after {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        /* オーバーレイ色（RGBA形式で指定、こちらで変更可能） */
        --overlay-color-1: rgba(212, 175, 55, 0.05);   /* 薄い金色 */
        --overlay-color-2: rgba(147, 112, 219, 0.05);  /* 薄い紫色 */
        
        /* グラデーションオーバーレイ */
        background: linear-gradient(135deg, var(--overlay-color-1), var(--overlay-color-2));
        
        /* 単色オーバーレイを使用する場合は以下のコメントアウトを外して上記をコメントアウト */
        /* background: rgba(255, 255, 255, 0.9); */
        
        pointer-events: none;
        z-index: -1;
    }
    
    /* アクセス情報のコンテンツ：2カラムレイアウト */
    .contactContent {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 4rem;
        position: relative;
        z-index: 1;
        
        /* 連絡先情報部分 */
        .contactInfo {
            display: grid;
            gap: 2rem;
            
            /* マップリンクコンテナ */
            .mapLinkContainer {
                display: flex;
                justify-content: center;
                align-items: center;
                height: 100%;
            }
            
            /* マップリンクのスタイル */
            .mapLink {
                display: block;
                text-align: center;
                padding: 2rem;
                background: rgba(255, 255, 255, 0.9);
                border-radius: 10px;
                box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
                transition: all 0.3s ease;
                text-decoration: none;
                
                /* ホバー効果 */
                &:hover {
                    transform: translateY(-5px);
                    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15);
                }
                
                /* タイトル */
                h3 {
                    color: #6B46C1;
                    font-size: 1.4rem;
                    margin-bottom: 0.5rem;
                }
                
                /* 説明文 */
                p {
                    color: #666;
                    margin: 0;
                    line-height: 1.6;
                }
            }
        }
        
        /* 地図部分 */
        .contactMap {
            figure {
                overflow: hidden;
                box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
                
                /* 地図画像の基本設定 */
                img {
                    width: 100%;
                    height: auto;
                }
            }
        }
    }
}

/* ========================================
   Responsive Design - レスポンシブデザイン
   ========================================
   各画面サイズでの表示調整
======================================== */

/* タブレット・スマートフォン向けの調整（768px以下） */
@media (max-width: 768px) {
    /* ヒーローセクション：1カラムレイアウトに変更 */
    .heroSection {
        .heroContainer {
            grid-template-columns: 1fr;
            gap: 2rem;
            text-align: center;
            
            /* ボタンを中央配置 */
            .heroContent {
                padding: 0;
                
                .heroButtons {
                    justify-content: center;
                }
            }
        }
    }
    
    /* サービスセクション：1カラムレイアウト */
    .servicesSection {
        .servicesGrid {
            grid-template-columns: 1fr;
        }
    }
    
    /* 会社概要セクション：1カラムレイアウト */
    .aboutSection {
        .aboutContent {
            grid-template-columns: 1fr;
            gap: 2rem;
        }
    }
    
    /* アクセス情報セクション：1カラムレイアウト */
    .contactSection {
        .contactContent {
            grid-template-columns: 1fr;
            gap: 2rem;
        }
    }
    
    /* ギャラリーセクション：最小幅を縮小 */
    .gallerySection {
        .galleryGrid {
            grid-template-columns: repeat(2, 1fr);
            gap: 1rem;
        }
    }
}

/* スマートフォン向けの追加調整（480px以下） */
@media (max-width: 480px) {
    /* ヒーローセクション：縦幅を大幅に縮小 */
    .heroSection {
        min-height: 60vh; /* デスクトップ: 100vh → モバイル: 60vh */
        padding-top: 100px; /* デスクトップ: 140px → モバイル: 100px */
    }
    
    /* ヒーローセクション：文字サイズをさらに縮小 */
    .heroSection {
        /* モバイル用背景画像の設定 */
        &::before {
            background-image: url('../images/00013.png');
            background-size: cover; /* 縦横比を維持し、セクション全体をカバー */
            background-position: center; /* 画像を中央に配置 */
        }
        
        .heroContainer {
            .heroContent {
                /* モバイル時のコンテンツサイズをさらに縮小 */
                max-width: 350px;
                margin: 0 auto;
                /* heroContentを上部により移動 */
                margin-top: -80px;
                
                /* ロゴ画像のサイズを縮小 */
                img {
                    max-height: 300px;  /* さらに縮小: 200px → 150px */
                    max-width: 300px;   /* さらに縮小: 250px → 180px */
                }
                
                .heroTitle {
                    font-size: 2rem;  /* タイトルサイズを固定値で縮小 */
                }
                
                /* サブタイトルのサイズを縮小 */
                .heroSubtitle {
                    font-size: 1rem;  /* デフォルト: 1.2rem → モバイル: 1rem */
                    color:  #555;
                }
                
                /* 説明文のサイズを縮小 */
                .heroDescription {
                    font-size: 1rem;  /* デフォルト: 1.2rem → モバイル: 1rem */
                    color: #555;
                }
                
                /* ボタンのサイズを縮小 */
                .heroButtons {
                    .heroButton {
                        padding: 0.8rem 1.5rem;  /* デフォルト: 1rem 2rem → モバイル: 0.8rem 1.5rem */
                        font-size: 0.9rem;       /* ボタン内文字サイズを縮小 */
                        min-width: 120px;        /* デフォルト: 150px → モバイル: 120px */
                    }
                }
            }
        }
        
        .heroContainer {
            .heroContent {
                .heroButtons {
                    .heroButton {
                        &.secondary {
                            background: #9370DB;
                            color: white;
                        }
                    }
                }
            }
        }
    }
    
    /* サービスカードのパディング調整 */
    .servicesSection {
        .servicesGrid {
            .serviceCard {
                .serviceContent {
                    padding: 1.5rem;
                }
            }
        }
    }
    
    /* ヒーローボタンの縦並び配置 */
    .heroSection {
        .heroContainer {
            .heroContent {
                .heroButtons {
                    flex-direction: column;
                    align-items: center;
                    
                    /* ボタンの幅を統一 */
                    .heroButton {
                        width: 100%;
                        max-width: 250px;
                    }
                }
            }
        }
    }
}

/* タブレット向けの縦幅調整（768px以下） */
@media (max-width: 768px) {
    .heroSection {
        min-height: 80vh; /* デスクトップ: 100vh → タブレット: 80vh */
        padding-top: 120px; /* デスクトップ: 140px → タブレット: 120px */
        
        .heroContainer {
            .heroContent {
                /* タブレット時のコンテンツを上に移動 */
                margin-top: -40px;
            }
        }
    }
}

/* 中間サイズ向けの調整（1024px以下） */
@media (max-width: 1024px) {
    .heroSection {
        min-height: 90vh; /* デスクトップ: 100vh → 中間: 90vh */
        padding-top: 130px; /* デスクトップ: 140px → 中間: 130px */
        
        .heroContainer {
            .heroContent {
                /* 中間サイズ時のコンテンツを少し上に移動 */
                margin-top: -20px;
            }
        }
    }
}