@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@600;700&display=swap');

/*==========================================================
  【会社案内・英語版専用】MV動画化リブランドCSS
==========================================================*/

/*========= MVエリア全体の調整 ===============*/
#mv {
    background: transparent !important;
    position: relative;
    z-index: 50 !important; 
    height: 480px !important;
}

#mv .bg_black {
    display: none !important;
}

#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; 
}

/* CSSアニメーション定義 */
@keyframes mvFadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}
@keyframes mvItemUpSimple {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

#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; 
    animation: mvFadeIn 1.5s ease 0.2s forwards; 
}

/*========= MV内のテキストをド真ん中に配置 ===============*/
/* コンテンツ全体を絶対配置でど真ん中に固定 */
#mv .content {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 100% !important;
    padding: 0 20px !important;
    box-sizing: border-box !important;
}

/* 元の横並び（flex）を解除して中央揃え */
#mv .content > div {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
}

/*========= ロゴ+企業情報のスタイル調整 ===============*/
#mv h1 {
    color: #333 !important; /* ★ 白からダークグレー(#333)に変更 */
    filter: none !important; 
    display: block !important;
    padding-top: 0 !important; 
    padding-bottom: 35px !important;
    margin: 0 auto 15px !important;
}
#mv h1 img {
    filter: none !important; 
}
#mv h1:after {
    background: #333 !important;  /* ★ 下線もダークグレー(#333)に変更 */
}

/*========= 英語メインコピーの美化 ===============*/
#mv .key_message {
    max-height: none !important;
    overflow: visible !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: block !important;
}

#mv .mv-catchphrase {
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    font-size: 3.8rem;
    color: #333; /* ★ 白からダークグレー(#333)に変更 */
    line-height: 1.2;
    margin: 0 auto !important;
    padding: 0;
    letter-spacing: -0.02em; 
    text-align: center; 
    opacity: 0; 
    animation: mvItemUpSimple 1s cubic-bezier(0.16, 1, 0.3, 1) 0.8s forwards; 
}

/*========= サブピクセル隙間の完全撲滅 ===============*/
#corp_info {
    position: relative;
    z-index: 10 !important; 
    margin-top: -2px !important; 
}

/*========= タブレット/SP用レスポンシブ微調整 ===============*/
@media (max-width: 1039px) {
    #mv { height: 550px !important; }
    #mv .mv-catchphrase { font-size: 3.4rem; }
}
@media (max-width: 768px) {
    #mv .mv-catchphrase { font-size: 2.8rem; }
}
@media (max-width: 549px) {
    #mv { height: 480px !important; }
    #mv .mv-catchphrase { font-size: 2.2rem; }
}
