
/* PC時はアクションボタン非表示 */
.mobile-actions {
    display: none;
}

/* スマホ表示（ハンバーガーメニュー時）のみヘッダーを下部固定 */
@media screen and (max-width: 768px) {
    header {
        top: auto !important;
        bottom: 20px !important; /* 画面下から少し浮かせる */
        left: 0 !important;      /* 左端から */
        right: 0 !important;     /* 右端まで */
        width: 100% !important;  /* 全幅 */
        background: transparent !important; /* ヘッダー自体の背景を透明に */
        box-shadow: none !important; /* ヘッダー自体の影を消す */
        padding: 0 !important;
        pointer-events: none;    /* ヘッダー領域のクリックを透過させる（ボタンのみ操作可能に） */
    }
    body {
        padding-top: 0 !important; /* 上部の余白を削除 */
        padding-bottom: 100px !important; /* 下部にヘッダー分の余白を確保 */
    }
    
    /* navの余白をリセット */
    header nav {
        padding: 0 20px !important; /* 左右に余白 */
        margin: 0 !important;
        justify-content: space-between; /* 左にアクション、右にハンバーガー */
        align-items: flex-end; /* 下揃え */
    }

    /* ハンバーガーメニューを丸いボタンにする */
    .hamburger {
        background-color: #ff4000;
        width: 60px;
        height: 60px;
        border-radius: 50%;
        display: flex !important;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        box-shadow: 0 4px 15px rgba(0,0,0,0.2);
        pointer-events: auto; /* ボタンはクリック可能に */
    }

    .nav-links {
        position: absolute !important; /* header基準にするため */
        top: auto !important;
        bottom: 80px !important; /* ボタンの上にメニューを表示 */
        /* left: 0 !important; */
        right: 0 !important;
        width: 280px !important; /* 幅を調整 */
        height: auto !important; /* 高さはコンテンツに合わせる */
        max-height: 80vh; /* 画面の8割くらいまで */
        overflow-y: auto; /* スクロール可 */
        background-color: rgba(255, 255, 255, 0.98);
        box-shadow: 0 5px 20px rgba(0,0,0,0.15);
        border-radius: 15px !important; /* 角を丸く */
        padding: 20px 0;
        gap: 25px !important;
        
        /* アニメーション初期状態（style.cssのtranslateXを上書き） */
        transform: translateY(20px);
        opacity: 0;
        visibility: hidden;
        transition: all 0.3s ease;
        pointer-events: auto; /* クリック可能にする */
        z-index: 1000;
    }
    .nav-links.nav-active {
        transform: translateY(0);
        opacity: 1;
        visibility: visible;
    }
    /* スマホ時はヘッダー内のロゴを非表示にする */
    header .logo-link {
        display: none !important;
    }

    /* スマホ用アクションボタンのスタイル */
    .mobile-actions {
        display: flex;
        gap: 15px;
        pointer-events: auto; /* ボタンはクリック可能に */
    }

    .mobile-action-btn {
        width: 50px;
        height: 50px;
        border-radius: 50%;
        display: flex;
        justify-content: center;
        align-items: center;
        color: white;
        font-size: 1.2rem;
        box-shadow: 0 4px 15px rgba(0,0,0,0.2);
        text-decoration: none;
    }
    
    .phone-btn { background-color: #ff3f00; }
    .line-btn { background-color: #06c755; }
}

/* ヒーローセクションのロゴ調整 */
.hero {
    position: relative;
}
.logo-link {
    position: absolute;
    top: 20px;
    left: 20px;
    z-index: 20;
    text-decoration: none;
}
/* フッター等の他ロゴと干渉しないよう親クラスで限定 */
.logo-link .logo {
    display: flex;
    align-items: center;
    background: transparent;
    padding: 0;
    border-radius: 0;
    box-shadow: none;
}
.logo-link .logo img {
    height: 40px;
    width: auto;
    margin-right: 10px;
}
.logo-link .logo span {
    font-weight: bold;
    color: white;
    font-size: 1.1rem;
}
/* スマホ表示調整 */
@media screen and (max-width: 768px) {
    .logo-link {
        top: 15px;
        left: 1%;
        transform: translateX(3%);
    }
    .logo-link .logo {
        background-color: rgba(255, 255, 255, 0.9);
        border: 2px solid #ff3f00;
        padding: 5px 15px;
        border-radius: 30px;
    }
    .logo-link .logo img {
        height: 30px;
    }
    .logo-link .logo span {
        font-size: 0.9rem;
        color: #ff3f00; /* テキスト色をメインカラーに */
    }
}

/* ヘッダー内のロゴ調整：nav内で横並びにするために絶対配置等をリセット */
header .logo-link {
    position: static;
    top: auto;
    left: auto;
}

/* ヘッダー内ではカプセル型の装飾を解除してシンプルに */
header .logo-link .logo {
    background: transparent;
    box-shadow: none;
    padding: 0;
    border-radius: 0;
}
header .logo-link .logo span {
    color: #ff3f00; /* テキスト色をメインカラーに */
}
