/* レスポンシブ対応CSS - 必要最小限 */

/* G3スライダー動画対応 */
.ltg-slide-video-container {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.ltg-slide-video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    min-height: 600px;
    display: block;
}

/* スライダーと下のコンテンツの間の余白を詰める */
.lightning_swiper.ltg-slide {
    margin-bottom: 0 !important;
}

/* スライダーのページネーション（点）を白にする */
.lightning_swiper .swiper-pagination .swiper-pagination-bullet {
    background-color: #ffffff !important;
    opacity: 0.5 !important;
    border: 1px solid #ffffff !important;
}

.lightning_swiper .swiper-pagination .swiper-pagination-bullet-active {
    background-color: #ffffff !important;
    opacity: 1 !important;
    border: 1px solid #ffffff !important;
}

/* ページネーション全体のスタイル調整 */
.lightning_swiper .swiper-pagination-white .swiper-pagination-bullet {
    background-color: #ffffff !important;
    opacity: 0.6 !important;
}

.lightning_swiper .swiper-pagination-white .swiper-pagination-bullet-active {
    background-color: #ffffff !important;
    opacity: 1 !important;
}

/* 特定ページのsite-bodyの上部余白を削除 */
body.page-id-5 .site-body,
body.home .site-body,
body.page-template-page-service .site-body {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

body.page-id-5 .site-body-container,
body.home .site-body-container,
body.page-template-page-service .site-body-container {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* サイトヘッダーの上部余白を完全に削除 */
.site-header {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* ページ全体の上部余白を調整 */
body {
    margin-top: 0 !important;
}

/* Lightningテーマ特有の余白調整 */
.lightning_outer_wrap {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* main-sectionの上部余白も調整 */
body.page-id-5 .main-section,
body.home .main-section,
body.page-template-page-service .main-section {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* entryクラスの上部余白も削除 */
body.page-id-5 .entry,
body.home .entry,
body.page-template-page-service .entry {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* スライダーボタンのスタイル統一（オレンジ） */
.ltg-slide .btn {
    background-color: #ff6b1c !important;
    color: #ffffff !important;
    border: 2px solid #ff6b1c !important;
    font-weight: bold !important;
    padding: 12px 24px !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    display: inline-block !important;
    transition: all 0.3s ease !important;
}

.ltg-slide .btn:hover {
}

/* G3スライダー動画レスポンシブ対応 */
@media (max-width: 991.98px) {
    .ltg-slide-video {
        min-height: 500px;
    }
}

@media (max-width: 767.98px) {
    .ltg-slide-video {
        min-height: 400px;
    }
}

@media (max-width: 575.98px) {
    .ltg-slide-video {
        min-height: 300px;
    }
}

/* G2スライダー動画対応（既存） */
.slide-video-container {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.slide-video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    min-height: 400px;
}

/* フッターロゴの基本設定 */
.footer-logo img {
    max-width: 200px;
    height: auto;
}

/* タブレット対応 (768px〜991px) */
@media (min-width: 768px) and (max-width: 991.98px) {
    /* フッターロゴをタブレットサイズに調整 */
    .footer-logo img {
        max-width: 180px;
    }
}

/* スマートフォン対応 (〜767px) */
@media (max-width: 767.98px) {
    /* コンテナの余白を狭く */
    .container {
        padding: 0 10px;
    }
    
    /* 見出しサイズを調整 */
    h1 { font-size: 1.5rem; }
    h2 { font-size: 1.3rem; }
    
    /* サイドバーを下に移動 */
    .sideSection {
        margin-top: 30px;
    }
    
    /* フォーム入力時のズーム防止（iOS） */
    input, textarea, select {
        font-size: 16px;
    }
    
    /* フッターロゴをスマートフォンサイズに調整 */
    .footer-logo img {
        max-width: 170px;
    }
}