:root{--bg:#fff;--pale:#faf8f3;--ink:#262220;--thin:#7a7068;--rule:#c9b47a;--gold:#a8893f;--gold-text:#86692b;--shu:#b23a2a;--line:#e9e1cf;--line-green:#06c755}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{background:var(--bg);color:var(--ink);font:16px/1.8 "Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",serif}
a{color:inherit;text-decoration:none}
img{display:block}
h1{font-family:"Zen Old Mincho","Yu Mincho",serif;font-weight:700;margin:0;writing-mode:vertical-rl;letter-spacing:.14em;line-height:1.5}
.sub{font-family:"Zen Old Mincho","Yu Mincho",serif;margin:0;writing-mode:vertical-rl;letter-spacing:.1em;line-height:1.9;color:var(--ink)}
.mark{font-family:"Zen Old Mincho","Yu Mincho",serif;color:var(--shu);font-weight:700}

.page{min-height:100vh;min-height:100svh;display:flex;flex-direction:column}
.hd{flex:none;height:72px;padding:0 32px;display:flex;align-items:center;gap:24px;background:#fff;border-bottom:1px solid var(--line)}
.hd .logo img{height:42px;width:auto}
.hd nav{margin-left:auto;display:flex;gap:24px;font-size:16px;white-space:nowrap}
.hd nav a:hover{color:var(--gold-text)}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:0 18px;height:44px;font-size:16px;font-weight:500;white-space:nowrap}
.btn-tel{background:#fff;color:var(--gold-text);border:1px solid var(--gold)}
.btn-rsv{background:var(--shu);color:#fff}
.hd .acts{display:flex;gap:8px}
.menu{display:none;margin-left:auto;width:44px;height:44px;padding:0;border:0;background:none;color:var(--ink);font:12px/1 inherit;cursor:pointer}
.menu i{display:block;width:24px;height:1px;background:var(--ink);margin:0 auto 7px}

.bar{display:none}

@media (max-width:900px){
  .hd{height:56px;padding:0 8px 0 16px}
  .hd .logo img{height:32px}
  .hd nav,.hd .acts{display:none}
  .menu{display:block}
  .menu i:first-child{margin-top:4px}
  .bar{display:grid;grid-template-columns:1.2fr 1fr 1fr;position:fixed;left:0;right:0;bottom:0;height:60px;z-index:10;background:#fff;border-top:1px solid var(--line)}
  .bar a{display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:500}
  .bar .r{background:var(--shu);color:#fff}
  .bar .t{background:#fff;color:var(--gold-text);box-shadow:inset 0 0 0 1px var(--gold)}
  .bar .l{background:var(--line-green);color:#fff}
  .page{padding-bottom:60px}
}
