/* ============================================================
   commonmenu.css — 全セクション共通 モバイルメニューCSS
   ページごとのルートフォント(rem基準)に依存せず、固定pxで統一。
   !important を使うことで、各headテンプレートのinline CSSより優先。
   ============================================================ */

/* スコープベース: nav.spglobal 内に16px固定 */
nav.spglobal {
    font-size: 16px !important;
    /* 前面に表示（下のレイヤーが透けないように） */
    z-index: 9999 !important;
    background: #009e8f !important;
    /* 上部バー(.toplink)の高さ分だけ下げる（1項目目が隠れないように） */
    padding-top: 45px !important;
    box-sizing: border-box !important;
}

/* 開いた時だけ全面を覆う（隙間なく・前面に） */
nav.spglobal.open-menu {
    top: 0 !important;
    bottom: 0 !important;
    left: auto !important;
    right: 0 !important;
    width: 100% !important;
}

/* トップバーはメニューより上（Closeボタン・アイコンが見える） */
.toplink {
    z-index: 10000 !important;
    display: flex !important;
    align-items: center !important;
    font-size: 16px !important;
    height: 45px !important;
    min-height: 45px !important;
    box-sizing: border-box !important;
}

.toplink img {
    width: 40px !important;
    height: 40px !important;
    max-width: 40px !important;
    max-height: 40px !important;
    margin: 0 !important;
    object-fit: contain !important;
}

/* メニューリンク */
.spglobal a {
    font-size: 24px !important;
    line-height: 43px !important;
}

/* details (DL) */
.spglobal details {
    font-size: 24px !important;
    line-height: 43px !important;
    height: 43px !important;
    padding: 2px 0 !important;
    max-height: 43px !important;
}

/* details[open] */
.spglobal details[open] {
    height: auto !important;
    max-height: 800px !important;
}

/* summary */
.spglobal summary {
    font-size: 24px !important;
    line-height: 43px !important;
    height: 43px !important;
    margin-top: 0 !important;
}

/* 検索ボックス */
.spglobal input.autoComplete {
    font-size: 28.8px !important;
}

/* トップバーアイコン */
.toplink a {
    display: flex !important;
    flex: 1 1 43px !important;
    align-items: center !important;
    justify-content: center !important;
    width: 45px !important;
    height: 45px !important;
    min-width: 40px !important;
    max-width: 45px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

/* MENU/CLOSEボタン: 正方形 */
.toplink .btn-menu {
    flex: 1 1 43px !important;
    width: 45px !important;
    height: 45px !important;
    min-width: 40px !important;
    max-width: 45px !important;
    font-size: 16px !important;
    padding: 0 !important;
    line-height: 45px !important;
    text-align: center !important;
    border-radius: 0 !important;
    box-sizing: border-box !important;
}

@media screen and (max-width: 740px) {
    header#top {
        margin-top: 45px !important;
    }
}

/* リストのデフォルトマーカー(disc)削除 */
.spglobal ul,
.spglobal li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
