/* 変数（必要なら数値だけ調整）— 既存値を維持 */
:root {
    --header-h: 75px; /* 既存のまま（グラデ位置の旧値） */
    --tint-h: 20px;
    --tint-top: rgba(255, 255, 255, 0.67);
    /* 追加：固定ヘッダーの実高さ（#topmenu は 75px） */
}
@media (max-width: 500px) {
    :root {
        --header-h: 50px;
        --sticky-header-h: 50px;
    }
}
/* 画面幅いっぱいのグラデーションオーバーレイ */
body::after:not(#EST_SPS_reg),
body::after:not(.is-sp-contents){
    content: "";
    position: fixed;
    left: 0;
    right: 0;
    top: var(--header-h);
    height: var(--tint-h);
    pointer-events: none; /* iframe操作を邪魔しない */
    z-index: 999; /* ヘッダー(#topmenu)よりは下でもOK */
    background: linear-gradient(to bottom, var(--tint-top) 0%, rgba(255, 255, 255, 0) 100%);
}

@media (prefers-color-scheme: dark) {
    :root {
        --tint-top: rgba(255, 255, 255, 0.67); /* 白のまま */
    }
}

/* regiページ,特集ページ用 */
body#EST_SPS_regi .gnav ul li a,
body.is-sp-contents .gnav ul li a{
font-family: "Hiragino Mincho ProN", "Hiragino Mincho Pro",
    "Noto Serif JP", "Yu Mincho","YuMincho","游明朝", serif !important;

}

body#EST_SPS_regi .shop_header_block .gnav .menu ul li a,
body.is-sp-contents .shop_header_block .gnav .menu ul li a{
    color:#fff !important;
}

/* ヘッダー（レイアウトは既存を維持し、固定のみ追加） */
#topmenu:not(.is-sp-contents) {
    max-width: 1200px;
    margin-inline: auto; /* 中央寄せ */
    padding-inline: 16px; /* 余白（任意） */
    display: flex; /* 左右に並べる */
    align-items: center; /* 垂直中央揃え */
    justify-content: space-between; /* 左: #logo / 右: .topmenu */
    gap: 0px; /* 間隔（お好みで） */
    height: 75px;
    background: #fff;

    /* ここから固定指定（見た目はそのまま、配置だけ固定） */
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1001;
}

/* iframe を含むページだけは、ラッパ余白を打ち消し、iframe 側に余白を付与 */
#member-contents:has(#registerFrame),
#member-contents:has(#form-iframe) {
    padding-top: 0;
}

/* header logo size（既存） */
#member-contents .shopIcon img {
    height: 35px;
    width: auto;
}

/* menuIcon（既存：位置・サイズ・見た目は不変更） */
.menuIcons {
    margin-right: 30px;
    display: flex;
}
.menuIcons button.topmenuBtn {
    background: #fff;
    border: solid 1px #eee;
    border-radius: 8px;
    padding: 8px 9px;
    margin-right: 10px;
    cursor: pointer;
}
.menuIcons button.topmenuBtn:hover {
    border: solid 1px #9ea1a3;
}

.menuIcons button img {
    width: 20px;
}

/* login iframe（既存のサイズを維持しつつ、上部にヘッダー分の余白を足す） */
#form-iframe,
#registerFrame {
    display: block;
    width: 100vw;
    max-width: 100%;
    border: 0;
    height: 100vh;

    /* 追加：固定ヘッダーと被らないように */
}

/* SP時の微調整（既存） */
@media screen and (max-width: 500px) {
    #topmenu {
        height: 50px;
        padding: 0;
    }
    #member-contents .shopIcon img {
        height: 25px;
        width: auto;
        min-width: 180px;
    }

    .menuIcons {
        /*! display: block; */
        min-width: 100px;
    }
    .menuIcons button.topmenuBtn {
        background: #fff;
        border: none;
        border-radius: 0px;
        padding: 0px;
        margin-right: 7px;
        cursor: pointer;
    }
    .menuIcons button.topmenuBtn {
        border: none !important;
    }
}

/* 固定ヘッダー(#topmenu)があるページ用の上余白 */
body.has-topmenu {
    padding-top: 75px;
}

@media screen and (max-width: 500px) {
    body.has-topmenu {
        padding-top: 50px;
    }
}

body::after {
    background: linear-gradient(
        to bottom,
        rgba(255, 255, 255, 0.67) 0%,
        rgba(255, 255, 255, 0) 100%
    ) !important;
}