/* 配置・文字・操作は全ページ共通。先頭の背景色と透過は各テーマを維持する。 */
:root body.black header.nozaka-header{display:flex;align-items:center;gap:24px;box-sizing:border-box;font:400 1rem/1.1 'Helvetica Neue',Arial,'Hiragino Sans',sans-serif;border-bottom:1px solid transparent}
:root body.black .nozaka-header .nozaka-identity{display:flex;align-items:center;gap:13px;flex:none;margin:0;padding:0;color:inherit;text-decoration:none;line-height:1.1}
:root body.black .nozaka-header .nozaka-identity img{display:block;box-sizing:border-box;flex:none;width:44px;height:44px;padding:3px;border-radius:50%;background:#f8f7f3;object-fit:contain}
:root body.black .nozaka-header .nozaka-name{display:flex;flex-direction:column;gap:4px;width:174px}
:root body.black .nozaka-header .nozaka-office{font:400 .625rem/1.1 'Hiragino Sans',sans-serif;letter-spacing:.02em}
:root body.black .nozaka-header .nozaka-jp{display:flex;justify-content:space-between;font:600 1.625rem/1.1 'Hiragino Mincho ProN','Yu Mincho',serif;letter-spacing:0}
:root body.black .nozaka-header .nozaka-en{display:flex;justify-content:space-between;font:400 .575rem/1.1 'Noir Outfit',sans-serif;letter-spacing:0}
:root body.black .nozaka-header .nozaka-header-nav{display:flex;align-items:center;gap:28px;margin-left:auto;font:500 1rem/1.5 'Hiragino Sans',sans-serif}
:root body.black .nozaka-header-nav a{display:flex;align-items:center;min-height:44px;color:inherit;text-decoration:none;white-space:nowrap}
:root body.black .nozaka-header-nav a:is(:hover,:focus-visible,[aria-current]){color:#ffe3ae}
:root body.black .nozaka-header .nozaka-menu-toggle{display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;min-height:44px;padding:10px;margin:0;border:1px solid #e9dcc080;border-radius:50%;background:transparent;color:inherit;line-height:1;cursor:pointer;transform:none}
:root body.black .nozaka-menu-toggle:before,:root body.black .nozaka-menu-toggle:after{content:none}
:root body.black .nozaka-menu-toggle svg{display:block;width:24px;height:24px}
:root body.black .nozaka-menu-toggle:is(:hover,:focus-visible){background:#ffffff20;color:#fff}
:root body.black header.nozaka-header button.nozaka-menu-toggle:is(:hover,:focus-visible){transform:none}
:root body.black .nozaka-header :is(a,button):focus-visible{outline:2px solid #ffe3ae;outline-offset:4px}
@media(max-width:1100px){
 :root body.black .nozaka-header .nozaka-header-nav{display:none}
 :root body.black .nozaka-header .nozaka-menu-toggle{margin-left:auto}
}
@media(max-width:600px){
 :root body.black header.nozaka-header{gap:10px}
 :root body.black .nozaka-header .nozaka-identity{gap:10px}
 :root body.black .nozaka-header .nozaka-name{width:145px;gap:2px}
 :root body.black .nozaka-header .nozaka-jp{font-size:1.375rem}
 :root body.black .nozaka-header .nozaka-en{font-size:.5625rem}
 :root body.black .nozaka-header .nozaka-menu-toggle{width:44px;height:44px;flex-basis:44px}
}
:root body.black.leaflet-entry .nozaka-header .nozaka-header-nav{display:none}
:root body.black.leaflet-entry .nozaka-header .nozaka-menu-toggle{margin-left:auto}
:root:not(.zoomed):not(.large-text) body.black.has-scrolled .nozaka-header :is(.nozaka-office,.nozaka-en,.nozaka-header-nav){display:none}
:root:not(.zoomed):not(.large-text) body.black.has-scrolled .nozaka-header .nozaka-identity{gap:10px}
:root:not(.zoomed):not(.large-text) body.black.has-scrolled .nozaka-header .nozaka-identity img{width:32px;height:32px}
:root:not(.zoomed):not(.large-text) body.black.has-scrolled .nozaka-header .nozaka-name{width:auto}
:root:not(.zoomed):not(.large-text) body.black.has-scrolled .nozaka-header .nozaka-jp{font-size:1.375rem;line-height:1.25;gap:.12em;white-space:nowrap}
:root:not(.zoomed):not(.large-text) body.black.has-scrolled .nozaka-header .nozaka-menu-toggle{width:44px;height:44px;flex-basis:44px;margin-left:auto}
:root:is(.zoomed,.large-text) body.black header.nozaka-header{position:relative;inset:auto;flex-wrap:wrap;height:auto;min-height:76px;padding:16px 20px}
:root:is(.zoomed,.large-text) body.black .nozaka-header .nozaka-identity{flex:1 1 220px}
:root:is(.zoomed,.large-text) body.black .nozaka-header .nozaka-name{width:12rem;max-width:calc(100% - 57px)}
:root:is(.zoomed,.large-text) body.black .nozaka-header .nozaka-header-nav{display:none}
:root:is(.zoomed,.large-text) body.black .nozaka-header .nozaka-menu-toggle{margin-left:auto}

/* 同じメニューHTMLへ、本文フォントと旧dialogの罫線を持ち込まない。 */
body.black dialog.noir-menu{font:400 1rem/1.75 'Helvetica Neue',Arial,'Hiragino Sans',sans-serif;text-align:left;color-scheme:dark;background:#171d17}
body.black .noir-menu .noir-menu-label{font-weight:500}
body.black .noir-menu nav a{border-top:0;text-align:left}
body.black .noir-menu .noir-font-tools button{font-family:inherit;line-height:1.5}
:root:is(.zoomed,.large-text) body.black dialog.noir-menu{padding:20px 20px 28px}
:root:is(.zoomed,.large-text) body.black .noir-menu nav a{font-size:1rem}

/* メニューの骨格も古いテーマから独立。LPの基準枝が違っても同じ表示にする。 */
:root body.black .noir-menu{position:fixed;inset:16px 16px 16px auto;margin:0;width:510px;max-width:calc(100% - 32px);height:calc(100svh - 32px);max-height:none;padding:24px 34px 32px;border:1px solid #c1aa7d5e;border-radius:26px;color:#f3eedf;box-shadow:-30px 0 100px #0007}
:root body.black .noir-menu-heading{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:12px}
:root body.black .noir-menu .close{position:static;inset:auto;display:grid;place-items:center;margin:0;padding:0;width:44px;min-height:44px;border:0;background:none;color:inherit;cursor:pointer}
:root body.black .noir-menu-label{font:500 2rem/1.5 'Hiragino Mincho ProN',serif;margin:0;color:#f3e2c0;text-align:left;text-align-last:left}
:root body.black .noir-menu nav{display:grid;margin-top:16px;gap:0}
:root body.black .noir-menu nav a{display:flex;gap:16px;align-items:center;padding:14px 2px;min-height:54px;font-size:1.125rem;font-weight:400;line-height:1.75;text-decoration:none;border:0;border-bottom:1px solid #c1aa7d30;text-align:left}
:root body.black .noir-menu nav a>.noir-icon:first-child{color:#c9ad79;width:21px;height:21px;flex-basis:21px}
:root body.black .noir-menu nav a>.noir-icon:last-child{margin-left:auto;width:18px;height:18px;flex-basis:18px}
:root body.black .noir-settings{display:flex;justify-content:flex-end;margin-top:12px;padding:0;border:0;font-size:1rem}
:root body.black .noir-font-tools{display:flex;align-items:center;justify-content:space-between;gap:14px}
:root body.black .noir-font-tools>div{display:flex;gap:2px;border:1px solid #bba17950;border-radius:6px;overflow:hidden}
:root body.black .noir-font-tools button{font:400 1rem/1.5 'Helvetica Neue',Arial,'Hiragino Sans',sans-serif;width:max(44px,2em);min-height:44px;background:transparent;border:0;color:#f3eedf}
:root body.black .noir-font-tools [data-noir-font="reset"]{width:max(56px,3em)}
:root body.black .noir-font-tools output{display:block;color:inherit;font-size:.875rem;line-height:1}
@media(max-width:600px){
 :root body.black .noir-menu{inset:10px;max-width:calc(100% - 20px);width:auto;height:calc(100svh - 20px);padding:20px 22px 26px}
 :root body.black .noir-menu nav a{font-size:1.0625rem;padding:12px 0}
 :root body.black .noir-font-tools{gap:10px}
}
:root:is(.zoomed,.large-text) body.black dialog.noir-menu{padding:20px 20px 28px}
:root:is(.zoomed,.large-text) body.black .noir-menu nav a{font-size:1rem}
