.reservation-global-header{
  position:relative;
  z-index:80;
  max-width:940px;
  margin:0 auto;
  padding:10px 14px 2px;
  font-family:'Zen Kaku Gothic New',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}
.reservation-global-header-inner{
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:0 4px;
}
.reservation-global-brand{
  min-width:0;
  display:inline-flex;
  align-items:center;
  text-decoration:none;
}
.reservation-global-brand img{
  display:block;
  max-width:min(250px,68vw);
  max-height:52px;
  object-fit:contain;
}
.reservation-menu-button,
.reservation-menu-close{
  flex:0 0 auto;
  margin-left:auto!important;
  width:46px!important;
  height:46px!important;
  margin-top:0!important;
  margin-right:0!important;
  margin-bottom:0!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  background:#fff!important;
  color:#765d81!important;
  box-shadow:0 5px 14px rgba(115,82,124,.12)!important;
  display:grid!important;
  place-items:center!important;
  cursor:pointer;
}
.reservation-menu-button>span,
.reservation-menu-button>span::before,
.reservation-menu-button>span::after{
  display:block;
  width:21px;
  height:1.5px;
  background:currentColor;
  content:'';
}
.reservation-menu-button>span{position:relative}
.reservation-menu-button>span::before{position:absolute;top:-7px}
.reservation-menu-button>span::after{position:absolute;top:7px}
.reservation-menu-backdrop{
  position:fixed;
  inset:0;
  z-index:998;
  background:rgba(46,35,49,.38);
  opacity:0;
  transition:opacity .2s ease;
}
.reservation-menu-backdrop.open{opacity:1}
.reservation-global-menu{
  position:fixed;
  top:0;
  right:0;
  z-index:999;
  width:min(86vw,390px);
  height:100vh;
  height:100dvh;
  padding:18px 18px max(26px,env(safe-area-inset-bottom));
  overflow:auto;
  background:linear-gradient(180deg,#fffafd,#f7eff8);
  box-shadow:-20px 0 45px rgba(53,35,58,.18);
  transform:translateX(103%);
  transition:transform .22s ease;
  color:#514451;
  font-family:'Zen Kaku Gothic New',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}
.reservation-global-menu.open{transform:translateX(0)}
.reservation-menu-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding-bottom:13px;
  border-bottom:1px solid #e4d8e7;
}
.reservation-menu-head>strong{
  font-family:'Shippori Mincho',serif;
  color:#765d81;
  font-size:19px;
}
.reservation-menu-close{
  width:42px!important;
  height:42px!important;
  font-size:25px!important;
  line-height:1!important;
}
.reservation-menu-nav{display:grid;gap:3px;padding:13px 0}
.reservation-menu-nav a{
  padding:12px 10px;
  border-radius:12px;
  color:#514451;
  text-decoration:none;
  font-family:'Shippori Mincho',serif;
}
.reservation-menu-nav a:hover,
.reservation-menu-nav a:focus-visible{
  background:rgba(177,152,193,.13);
  color:#765d81;
}
.reservation-menu-actions{display:grid;gap:9px;margin-top:8px}
.reservation-menu-actions a{
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:12px 18px;
  border-radius:15px;
  text-decoration:none;
  font-weight:700;
}
.reservation-menu-reserve{
  background:linear-gradient(135deg,#8e729c,#b198c1,#be95be);
  color:#fff!important;
  box-shadow:0 10px 22px rgba(142,114,156,.22);
}
.reservation-menu-line{
  border:1px solid rgba(177,152,193,.34);
  background:#fff;
  color:#765d81!important;
}
@media(prefers-reduced-motion:reduce){
  .reservation-menu-backdrop,.reservation-global-menu{transition:none}
}
.reservation-global-footer{max-width:980px;margin:0 auto;padding:14px 20px calc(32px + env(safe-area-inset-bottom));text-align:center;color:#887780;font-size:11px;line-height:1.8}.reservation-global-footer a{color:#765d81}
