.wp-block-navigation__responsive-container-close svg, .wp-block-navigation__responsive-container-open svg {
	width: 44px;
	height: 44px;
}

.wp-block-navigation.items-justified-right .wp-block-navigation__container .has-child .wp-block-navigation__submenu-container {
    min-width: 280px;
}

/* ナビリンク ホバー時 */
.wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content:hover {
    color: var(--wp--preset--color--secondary-2);
    transition: all 0.5s;
}

/* sentinel は確実に 1px 占有 */
#header-sentinel {
    height: 1px;
    margin: 0;
    padding: 0;
}

/* 初期：通常スクロール */
#site-header {
    position: relative;
    z-index: 1000;
    transition: background .25s ease, box-shadow .25s ease, transform .25s ease;
    will-change: transform, background, box-shadow;
    padding: 2em 1em 0 1em;
}

/* 固定状態（JS が付与） */
#site-header.is-stuck {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    background: #ffffff;
    box-shadow: 0 6px 18px rgba(2, 127, 166, .08);
	padding-top: 0 !important;
}

#site-header.is-stuck .wp-block-site-logo img {
    max-height: 66px;
    width: auto;
    padding: 0.4em 0;
    box-sizing: border-box;
}

.has-modal-open .wp-block-buttons.is-layout-flex.wp-block-buttons-is-layout-flex {
    justify-content: center;
    width: 100%;
}

/* 固定直後の小さなスライド演出（任意） */
#site-header.is-stuck.is-sliding {
    transform: translateY(-8px);
}

/* 本文が隠れないように固定中だけ上余白を足す */
html.has-sticky-header body {
    padding-top: var(--header-h, 64px);
}

/* 管理バー（ログイン時）対策：上に 32px/46px を避ける */
body.admin-bar #site-header.is-stuck {
    top: var(--admin-bar-h, 32px);
}

@media (max-width: 782px) {
    :root {
        --admin-bar-h: 46px;
    }
}

@media (max-width: 1480px) {

    /* 開いたらビューポート全面に */
    .wp-block-navigation__responsive-container.is-menu-open {
        position: fixed !important;
        inset: 0 !important;
        /* top/right/bottom/left:0 */
        width: 100% !important;
        height: 100vh !important;
        z-index: 1300 !important;
        /* 固定ヘッダーより前面に */
        margin: 0 !important;
        padding: 0 !important;
        background: rgba(255, 255, 255, .98);
        backdrop-filter: blur(6px);
        overflow: auto;
        /* リンクが多い時にスクロール */
    }

    /* デフォルトの “max-width: content-size” 制限を解除 */
    .wp-block-navigation__responsive-dialog {
        max-width: none !important;
        height: 100%;
        display: flex;
        flex-direction: column;
    }

    /* 中身の余白・縦並び整える（お好みで調整） */
    .wp-block-navigation__responsive-container-content {
		margin: 0 auto;
		padding: 2rem 1rem 8rem 1rem !important;
    }

    .wp-block-navigation__container {
        display: flex;
        flex-direction: column;
        gap: 1rem !important;
    }

    /* 管理バー（ログイン時）で被らないように */
    body.admin-bar .wp-block-navigation__responsive-container.is-menu-open {
        top: var(--admin-bar-h, 32px) !important;
    }
	
	/* ハンバーガーメニュー 表示制御 */
    .wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content,
    .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
        display: none;
    }
	
    .wp-block-navigation__responsive-container-open {
        display: flex !important;
    }
	
	ul.wp-block-navigation__container.is-responsive.items-justified-right.wp-block-navigation>li {
    border-bottom: 1px solid #d5d5d5;
    width: 100%;
    display: block;
    text-align: center;
    padding-bottom: 1rem;
}
	
	span.wp-block-navigation-item__label {
    text-align: left;
    display: block;
    width: 100%;
}
	button.wp-block-navigation-item__content.wp-block-navigation-submenu__toggle {
    text-align: center;
    display: block;
    width: 100%;
}
li.wp-block-navigation-item.wp-block-navigation-link {
    display: block !important;
}
/* 2) オーバーレイ本体と中身は「%」基準＆ボックスサイズを境界内で計算 */
.wp-block-navigation__responsive-container,
.wp-block-navigation__responsive-container.is-menu-open,
.wp-block-navigation__responsive-dialog,
.wp-block-navigation__responsive-container-content,
.wp-block-navigation__container {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  /* 念のため左右のはみ出しを抑える */
  margin-left: 0;
  margin-right: 0;
  overflow-x: hidden;
}
}

@media (max-width: 782px) {
    :root {
        --admin-bar-h: 46px;
    }
}

/* 念のため：親が overflow hidden だと切れるので可視に */
.site-header,
header.wp-block-template-part {
    overflow: visible;
}

/* ハンバーガーメニュー */
.wp-block-navigation__responsive-container-close svg,
.wp-block-navigation__responsive-container-open svg {
    fill: #0181a7;
}