@charset "utf-8";

/* top
--------------------------------------------------------------*/
.Top .PageTitleStyle3 {
    display: flex;
    justify-content: space-between;
    min-height: auto;
    background-image: none;
}

.Top .PageTitleStyle3::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 45%;
    background: var(--Red_Black_grad);
    z-index: 0;
}

.Top .PageTitleStyle3 h1 {
    position: static;
    transform: none;
    /* 幅を flex-shrink 任せにするとブラウザ間で比率が変わるため明示する */
    flex: 0 0 45%;
    width: 45%;
    box-sizing: border-box;
    background: var(--Red_Black_grad);
    /* position: absolute;
    top: 50%;
    left: 0;
    width: 42%; */
    margin: 0;
    padding: 1rem 3rem;
    background: transparent;
    /* transform: translateY(-50%); */
    text-align: center;
    white-space: nowrap;
    z-index: 2;
    height: auto;
    position: relative;
}

/* .Top .PageTitleStyle3 h1::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    background: var(--Red_Black_grad);
    z-index: 1;
} */

.Top .PageTitleStyle3 video {
    position: relative;
    transform: none;
    left: auto;
    /* 置換要素の自動最小サイズ（動画の固有幅996px）の扱いがブラウザで異なるため明示する */
    flex: 0 0 55%;
    width: 55%;
    min-width: 0;
    height: auto;
    box-sizing: border-box;
}

/* フレックスの3つ目のアイテムとして幅を取らせない（中の #VideoControl は絶対配置） */
.Top .PageTitleStyle3 #VideoControlBox {
    width: 0;
}

.Top #VideoControl {
    right: 1rem;
    bottom: 1rem;
    z-index: 2;
}

.SustainabilityNews .ttlBoxNews {
    gap: 12px;
}

.SustainabilityNews .ttlBoxNews .ttl {
    margin-bottom: 0;
}

.Top .SustainabilityNews {
    padding: 40px 0 40px;
}

.Top .SubMenuLink {
    gap: 34px;
}

.Top .SubMenuLink li {
    width: calc((100% - 68px) / 3);
}

.Top .MenuPanelList dt {
    background-size: cover !important;
}

@media screen and (max-width: 994px) {

    .JS .Top .PageTitleStyle3::before,
    .JS .Top .PageTitleStyle3 h1 {
        width: 45%;
    }

    .JS .Top .PageTitleStyle3 h1 {
        padding: 1rem 1.5rem;
        font-size: 2rem;
    }

}

@media screen and (max-width: 767px) {

    .JS .Top .PageTitleStyle3 {
        display: block;
        min-height: inherit;
        overflow: auto;
    }

    .JS .Top .PageTitleStyle3::before {
        top: 0;
        bottom: auto;
        width: 100%;
        height: 120px;
    }

    .JS .Top .PageTitleStyle3 h1 {
        width: calc(100% - 2rem);
        padding: 2.2rem 1rem;
        font-size: 1.65rem;
        text-align: left;
        height: min-content;
    }

    .JS .Top .PageTitleStyle3 video {
        display: block;
        /* position: absolute;
        display: block;
        top: 120px; */
        left: 0;
        width: 100%;
        height: auto;
        transform: none;
    }

    .JS .Top .PageTitleStyle3 #VideoControlBox {
        display: block;
        width: auto;
    }

    .JS .Top .SubMenuLink {
        gap: 1rem;
    }

    .JS .Top .SubMenuLink li {
        width: 100%;
    }


}