.cb-site-nav{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px;background:rgba(253,250,245,.98);color:#3d2f22;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,visibility .18s ease;overflow-y:auto}
.cb-site-nav.is-open{opacity:1;visibility:visible;pointer-events:auto}
.cb-nav-panel{position:relative;width:min(700px,100%);margin:auto;padding:52px 34px 36px;border:1px solid rgba(61,47,34,.15);background:#f7f3ed}
.cb-nav-close{position:absolute;top:10px;right:14px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;background:transparent;color:#3d2f22;font-family:Arial,sans-serif;font-size:30px;line-height:1;cursor:pointer}
.cb-nav-title{margin:0 0 26px!important;text-align:center;font-family:'Cormorant Garamond',Georgia,serif;font-size:25px;line-height:1.4;letter-spacing:.15em}
.cb-nav-primary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.cb-nav-primary a,.cb-nav-guides a{display:flex;align-items:center;justify-content:center;min-height:54px;padding:10px 14px;border:1px solid rgba(145,101,78,.28);background:#fdfaf5;color:#3d2f22;text-decoration:none;text-align:center;font-family:'Noto Serif JP','Yu Mincho','Hiragino Mincho ProN',serif;font-size:12px;font-weight:400;line-height:1.65;letter-spacing:.02em}
.cb-nav-primary a:hover,.cb-nav-primary a:focus-visible,.cb-nav-guides a:hover,.cb-nav-guides a:focus-visible,.cb-nav-primary a[aria-current="page"],.cb-nav-guides a[aria-current="page"]{border-color:#91654e;background:#eee5dc;outline:none}
.cb-nav-guides{margin:18px 0;padding:18px;border:1px solid rgba(145,101,78,.38);background:#eee8df}
.cb-nav-guides>p{margin:0 0 12px!important;text-align:center;font-family:Arial,sans-serif;font-size:10px;line-height:1.5;letter-spacing:.18em;color:#91654e}
.cb-nav-guides>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.cb-nav-secondary{grid-template-columns:repeat(3,minmax(0,1fr))}
.cb-nav-secondary a{min-height:46px;padding:8px;font-size:11px}
body.cb-nav-open{overflow:hidden}
@media(max-width:600px){
  .cb-site-nav{padding:16px 14px}
  .cb-nav-panel{padding:48px 16px 24px}
  .cb-nav-title{margin-bottom:20px!important}
  .cb-nav-primary,.cb-nav-guides>div,.cb-nav-secondary{grid-template-columns:1fr}
  .cb-nav-primary a,.cb-nav-guides a{min-height:46px}
  .cb-nav-guides{margin:14px 0;padding:14px}
  .cb-nav-secondary{gap:6px}
  .cb-nav-secondary a{min-height:42px}
}

