/* ============================================================
   共通ハンバーガーメニュー（全ページ共通コンポーネント）
   site-menu.js が <div class="site-menu"> を body に注入する
   ============================================================ */
.site-menu{position:fixed;inset:0;z-index:60;visibility:hidden;opacity:0;
  transition:opacity .4s ease,visibility .4s ease;
  background:rgba(20,22,26,.30);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
.site-menu.open{visibility:visible;opacity:1}
.site-menu__panel{position:absolute;top:0;right:0;height:100%;width:min(440px,88vw);background:#fff;
  box-shadow:-24px 0 70px -34px rgba(20,22,26,.45);transform:translateX(100%);
  transition:transform .45s cubic-bezier(.22,.61,.36,1);
  display:flex;flex-direction:column;padding:clamp(26px,4vw,52px)}
.site-menu.open .site-menu__panel{transform:none}
.site-menu__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:clamp(26px,5vh,52px)}
.site-menu__wm{font-family:"Cormorant Garamond",serif;letter-spacing:.26em;font-size:12px;text-transform:uppercase;color:#b08a2e}
.site-menu__close{width:48px;height:48px;border:1px solid rgba(20,22,26,.14);background:#fff;border-radius:50%;
  font-size:22px;line-height:1;color:#16181c;cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:border-color .3s,color .3s,transform .4s}
.site-menu__close:hover{border-color:#b08a2e;color:#b08a2e;transform:rotate(90deg)}
.site-menu__list{display:flex;flex-direction:column}
.site-menu__list a{position:relative;display:flex;align-items:baseline;gap:14px;
  font-family:"Shippori Mincho B1","Noto Serif JP",serif;font-size:clamp(18px,2.3vw,23px);letter-spacing:.06em;
  color:#16181c;padding:clamp(15px,2.2vh,20px) 2px;border-bottom:1px solid rgba(20,22,26,.1);
  opacity:0;transform:translateY(12px);transition:color .3s,padding-left .3s}
.site-menu__list a .no{font-family:"Cormorant Garamond",serif;font-size:13px;letter-spacing:.1em;color:#b08a2e;min-width:1.6em}
.site-menu.open .site-menu__list a{opacity:1;transform:none;
  transition:opacity .5s ease calc(.12s + var(--i)*.05s),transform .5s cubic-bezier(.22,.61,.36,1) calc(.12s + var(--i)*.05s),color .3s,padding-left .3s}
.site-menu__list a:hover{color:#b08a2e;padding-left:12px}
.site-menu__list a.current{color:#b08a2e}
.site-menu__list a.current::after{content:"●";font-size:7px;margin-left:auto;color:#b08a2e;transform:translateY(-.4em)}
@media(max-width:560px){
  .site-menu__panel{width:100vw}
}
