/* 2026年1月 アナウンスバナー（共通化） */
:root {
    --announce-height: 0px;
    --header-base-height: 115px;
}

@media (max-width:768px) {
    :root {
        --announce-height: 0px;
        --header-base-height: 59px;
    }
}

body.is-announcement {
    --announce-height: 30px
}

@media (max-width:768px) {
    body.is-announcement {
        --announce-height: 42px
    }
}

.header-wrapper {
    position: absolute;
    top: 0;
    width: 100%;
    /* z-index: 10 */
}

.l-header__announcement-bar {
    display: none
}

.l-header__announcement-bar.is-active {
    display: block
}

.l-header__announcement-bar {
    width: 100%;
    background-color: #0D57A7;
    color: #FFF;
    text-align: center;
    margin-top: 0;
    transition: margin-top 0.5s ease-out;
    font-size: clamp(10px, 2.5vw, 14px);
    min-height: var(--announce-height);
    padding: 3px 10px;
    line-height: 1.7;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis
}

@media (max-width:768px) {
    .l-header__announcement-bar {
        font-size: clamp(8px, 3vw, 12px);
        min-height: var(--announce-height);
        padding: 2px 8px
    }
}

.l-header__announcement-bar a {
    display: block;
    width: fit-content;
    margin: 0 auto;
    text-decoration: none !important;
    color: #fff
}

.l-header__announcement-bar a:hover {
    text-decoration: underline !important
}

.l-header__announcement-bar a[target="_blank"] {
    position: relative;
    display: inline-block
}

.l-header__announcement-bar a[target="_blank"]::after {
    display: inline-flex;
    width: 10px;
    height: 10px;
    content: "";
    transform: translate(5px, -50%);
    background-image: url(https://www.nttcoms.com/service/common/images/blank-btn_off.png);
    background-repeat: no-repeat;
    align-items: center;
    background-position: right center
}

.header-fixed .l-header__announcement-bar {
    background-color: #0D57A7
}

/* アナウンスをヘッダーの上に表示させるレイアウト調整 */
@media screen and (min-width: 857px) {
    body.is-announcement .header:not(.header-fixed) {
        position: relative;
        top: auto
    }
}

/* アナウンスバナー表示時のレイアウト調整 */
/* bodyにpadding-topを追加してコンテンツを下に押し下げる */
body.is-announcement .wrapper {
    padding-top: var(--announce-height);
    transition: padding-top 0.3s ease-out
}

/* 固定ヘッダーの位置をアナウンスバナーの下に調整 */
@media screen and (max-width: 856px) {
    body.is-announcement.is-scrolled #nav-toggle {
        position: fixed;
        top: 5.33333vw;
    }

    body.is-announcement:not(.is-scrolled) #nav-toggle {
        position: absolute !important;
        top: calc(var(--announce-height) + 5.33333vw);
    }

    body.is-announcement.open #nav-toggle {
        position: fixed;
        top: 5.33333vw;
    }

    body.is-announcement:not(.open) .header-logo-wrap {
        top: calc(var(--announce-height) + 4.26667vw);
    }
}
/* 下記からprg配下のレイアウト調整 */
@media (min-width: 857px) {
    body.prg.is-announcement.is-scrolled .header {
        position: fixed;
        top: 0;
    }

    body.prg.is-announcement .mainvisual{
        margin-top: calc(var(--announce-height) + 80px);
    }
}
@media screen and (max-width: 856px) {
    body.prg.is-announcement .l-nav__button { 
        top: calc(var(--announce-height) + 21px);
    }
    body.prg.is-announcement#top #mainvisual{
        margin-top: calc(var(--announce-height) + 60px);
    }

}
body.prg .l-footer .u-hidden-pc{
    display: none;
}
@media screen and (max-width: 856px) {
    body.prg .l-footer .u-hidden-pc{
        display: inline-block;
    }
}