@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@600;700&display=swap');
/* CSS Document / 会社案内TOP用（スマホ余白20px・スマホ静止画化版） */

/*========= MV（ファーストビュー）動画対応 ===============*/
#mv {
	background: transparent !important; /* 元の背景画像を無効化 */
    position: relative;
    /* ★ MVエリア全体を「絶対に最前面」に固定する ★ */
    z-index: 50 !important; 
    height: 480px !important; /* 元の top.css の高さを維持（カードはみ出し用） */
}

/* 動画エリア */
#mv .video-area {
    position: absolute;
    z-index: -1 !important; 
    top: 0;
    right: 0;
    left: 1px; 
    bottom: 2px; 
    overflow: hidden;
    background: #000;
}

/* ★動画を染めるオーバーレイレイヤー★ */
#mv .video-area::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #b9c57b; 
    mix-blend-mode: multiply; 
    opacity: 0.25; 
    z-index: 2; 
    pointer-events: none; 
}

#mv .video {
    position: absolute;
    z-index: 1; 
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(1.02);
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0; 
}

/*========= サブピクセル隙間（スクロール時の線）の完全撲滅 ===============*/
#corp_info {
    position: relative;
    z-index: 10 !important; 
    margin-top: -2px !important; 
}

/*========= ロゴ+企業情報のスタイル調整 ===============*/
#mv h1 {
    color: #333 !important; 
    filter: none !important; 
    display: block !important;
    
    /* ▼ PC時：線の「上」と「下」の余白を40pxで均等に設定 ▼ */
    padding-bottom: 40px !important; 
    margin-bottom: 40px !important;  
}
#mv h1 img {
    filter: none !important; 
}

/* タイトル下の横線 */
#mv h1:after {
    background: #333 !important; 
}

/*========= キャッチコピー（テキスト）のスタイル調整 ===============*/

#mv .key_message {
    max-height: none !important;
    overflow: visible !important;
    margin-left: 0 !important;
    padding: 0 !important;
    display: block !important;
}

#mv .mv-catchphrase {
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    font-size: 3.8rem;
    color: #333;
    line-height: 1.2;
    
    /* ▼ 画像の上余白はゼロにして、h1のmargin-bottomに任せる ▼ */
    margin: 0 !important; 
    
    padding: 0;
    letter-spacing: -0.04em; 
    text-align: center; 
    opacity: 0; 
    transform: translateY(20px); 
    transition: all 1s cubic-bezier(0.16, 1, 0.3, 1);
}
#mv .mv-catchphrase.is-show {
    opacity: 1;
    transform: translateY(0);
}

/* ▼ 画像用のレスポンシブ設定 ▼ */
#mv .mv-catchphrase img {
    width: 100%;
    max-width: 420px; 
    height: auto;
    display: block;
    margin: 0; 
}

/*========= ニュースエリア（PICK UP）のレイアウト修正 ===============*/
ul#pickup {
    z-index: 102 !important; 
    
    /* ★PC時：-110pxで完璧な位置へ引き上げ★ */
    margin-top: -110px !important;
}
ul#pickup li.pickup {
    background: #fff; 
    box-shadow: 0 10px 30px rgba(0,0,0,0.15);
}

/* --- タブレット/SP用ブレイクポイント調整 --- */
@media (max-width: 1039px) {
    #mv {
        height: 550px !important; 
    }
    #mv .mv-catchphrase {
        font-size: 3.4rem;
    }
    #mv .mv-catchphrase img {
        margin: 0 auto; 
    }
    ul#pickup {
        margin-top: -50px !important; /* タブレット時もバランスを見て少し引き上げ */
    }
}

@media (max-width: 768px) {
    /* ▼ スマホ時：ご指定の通り、縦幅を抑えるため20pxに変更 ▼ */
    #mv h1 {
        padding-bottom: 20px !important;
        margin-bottom: 20px !important;
    }

    #mv .mv-catchphrase {
        font-size: 2.8rem;
    }
    #mv .mv-catchphrase img {
        max-width: 90%; 
    }
    ul#pickup {
        margin-top: 0 !important; /* スマホ時は縦積みになるため引き上げを解除 */
    }
}

@media (max-width: 549px) {
    #mv .mv-catchphrase {
        font-size: 2.4rem;
    }
}

/*========= 【追加】スマホでのスワイプ戻る（bfcache）バグ回避のための静止画化 ===============*/
@media (max-width: 768px) {
    /* ① スマホではバグの原因になる動画自体を完全に消し去る */
    #mv .video {
        display: none !important; 
    }
    
    /* ② 代わりに動画エリアの背景に静止画を敷く */
    #mv .video-area {
        /* ▼ ここにご用意いただいた静止画のURLを指定してください ▼ */
        background-image: url('/service_shared/img/top/bg_mov_sp.png') !important;
        background-size: cover !important;
        background-position: center center !important;
        background-repeat: no-repeat !important;
    }
}