/* トップのヘッダー・フッターの意匠を下層へ引き継ぐ。本文へは適用しない。 */
:where(body>header,body>footer,body>nav#hdMenu){--ink:#14110F;--ink2:#0D0A09;--sub:#2A201B;--sub2:#352A23;--amber:#B07A2E;--amber-soft:#D29B4E;--gold:#C9A24B;--gold-soft:#E0C588;--bg:#F7F1E8;--soft:#EEE4D3;--paper:#FFFCF6;--ink-t:#1E1813;--body:#4A4138;--muted:#867A6C;--line:rgba(20,17,15,.16);--line-soft:rgba(20,17,15,.08);--line-gold:rgba(201,162,75,.45);--line-white:rgba(255,255,255,.14);}
body>header.c-hd{position:fixed; top:0; left:0; right:0; z-index:60;}
:where(body>header,body>footer,body>nav#hdMenu) .c-hd__inner{display:flex; align-items:center; justify-content:space-between; padding:20px clamp(24px,4vw,40px); mix-blend-mode:difference; color:#fff;}
:where(body>header,body>footer,body>nav#hdMenu) .c-hd__logo{display:inline-flex; align-items:center;}
:where(body>header,body>footer,body>nav#hdMenu) .c-hd__logo img{height:54px; width:auto; display:block;}
:where(body>header,body>footer,body>nav#hdMenu) .c-hd__burger{display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; background:none; border:0; cursor:pointer; padding:9px; border-radius:50%; transition:background .25s ease;}
:where(body>header,body>footer,body>nav#hdMenu) .c-hd__burger span{display:block; width:30px; height:2px; background:#fff; transition:transform .35s, opacity .25s, width .25s;}
body.is-locked .c-hd__inner{mix-blend-mode:normal;}
body.is-locked .c-hd__burger{background:rgba(20,20,20,.55); border:1px solid rgba(255,255,255,.5); width:46px; height:46px; padding:0;}
body.is-locked .c-hd__burger span{width:22px;}
body>nav.c-hd__menu{position:fixed; inset:0; z-index:55; background:var(--ink2); color:var(--bg); display:grid; grid-template-columns:1.15fr .85fr; clip-path:circle(0% at 92% 6%); transition:clip-path .6s cubic-bezier(.7,0,.2,1);}
body>nav.c-hd__menu.is-open{clip-path:circle(150% at 92% 6%);}
:where(body>header,body>footer,body>nav#hdMenu) .c-hd__mleft{padding:13vh 6vw 6vh; display:flex; flex-direction:column;}
:where(body>header,body>footer,body>nav#hdMenu) .c-hd__lbl{font-family:"Space Grotesk",monospace; font-size:11px; letter-spacing:.3em; color:var(--gold-soft); margin-bottom:18px;}
:where(body>header,body>footer,body>nav#hdMenu) .c-hd__nav a{font-family:"Shippori Mincho",serif; font-size:clamp(20px,2.6vw,34px); font-weight:700; color:var(--bg); padding:8px 0; display:flex; align-items:baseline; gap:14px; transition:color .2s, padding .2s;}
:where(body>header,body>footer,body>nav#hdMenu) .c-hd__nav a .no{font-family:"Space Grotesk",monospace; font-size:12px; color:var(--gold-soft);}
:where(body>header,body>footer,body>nav#hdMenu) .c-hd__nav a:hover{color:var(--gold-soft); padding-left:12px;}
:where(body>header,body>footer,body>nav#hdMenu) .c-hd__cta{margin-top:auto; display:inline-flex; align-items:center; justify-content:space-between; gap:16px; border:1px solid var(--line-gold); border-radius:4px; padding:18px 22px; color:var(--bg); max-width:520px; transition:background .2s;}
:where(body>header,body>footer,body>nav#hdMenu) .c-hd__cta:hover{background:rgba(247,241,232,.06);}
:where(body>header,body>footer,body>nav#hdMenu) .c-hd__cta .ct{font-family:"Shippori Mincho",serif; font-size:18px; font-weight:700;}
:where(body>header,body>footer,body>nav#hdMenu) .c-hd__cta .cs{font-size:12px; color:rgba(247,241,232,.6); margin-top:3px;}
:where(body>header,body>footer,body>nav#hdMenu) .c-hd__cta .arr{color:var(--gold-soft); font-size:20px;}
:where(body>header,body>footer,body>nav#hdMenu) .c-hd__mright{position:relative; display:flex; flex-direction:column;}
:where(body>header,body>footer,body>nav#hdMenu) .c-hd__img{position:relative; flex:1; overflow:hidden; min-height:0;}
:where(body>header,body>footer,body>nav#hdMenu) .c-hd__img img{width:100%; height:100%; object-fit:cover; opacity:.5;}
:where(body>header,body>footer,body>nav#hdMenu) .c-hd__info{padding:30px 6vw 6vh; background:var(--sub2);}
:where(body>header,body>footer,body>nav#hdMenu) .c-hd__brand{font-family:"Shippori Mincho",serif; font-size:24px; font-weight:700; letter-spacing:.05em; color:#fff;}
:where(body>header,body>footer,body>nav#hdMenu) .c-hd__brand small{display:block; font-family:"Space Grotesk",monospace; font-size:10px; letter-spacing:.28em; color:rgba(247,241,232,.6); margin-top:3px;}
:where(body>header,body>footer,body>nav#hdMenu) .c-hd__row{margin-top:16px; font-size:13px; color:var(--bg); line-height:1.8;}
:where(body>header,body>footer,body>nav#hdMenu) .c-hd__row .lab{font-family:"Space Grotesk",monospace; font-size:10px; letter-spacing:.14em; color:var(--gold-soft); margin-right:8px;}
:where(body>header,body>footer,body>nav#hdMenu) .c-hd__row .tel{font-family:"Space Grotesk",monospace; font-weight:700; font-size:20px; color:#fff;}
@media(max-width:860px){body>nav.c-hd__menu{grid-template-columns:1fr;}
:where(body>header,body>footer,body>nav#hdMenu) .c-hd__img{min-height:180px; flex:none;}
:where(body>header,body>footer,body>nav#hdMenu) .c-hd__mleft{padding:13vh 28px 4vh;}}
:where(body>header,body>footer,body>nav#hdMenu) .hero-content .in{width:min(1200px,calc(100% - 48px)); margin:0 auto; max-width:640px;}
:where(body>header,body>footer,body>nav#hdMenu) .c-rsn__circle .no{font-family:"Shippori Mincho",serif; font-weight:700; font-size:40px; line-height:1;}
:where(body>header,body>footer,body>nav#hdMenu) .c-faq__q .no{font-family:"Space Grotesk",monospace; font-size:13px; color:var(--amber); letter-spacing:.1em;}
body>footer.c-ft{background:var(--paper); color:var(--ink-t); position:relative; border-top:1px solid var(--line);}
:where(body>header,body>footer,body>nav#hdMenu) .c-ft__seigaiha{height:32px; background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='64' height='32'><g fill='none' stroke='%23C9A24B' stroke-width='1.3'><path d='M0 32 A16 16 0 0 1 32 32 A16 16 0 0 1 64 32'/><path d='M0 24 A16 16 0 0 1 32 24 A16 16 0 0 1 64 24'/><path d='M0 16 A16 16 0 0 1 32 16 A16 16 0 0 1 64 16'/></g></svg>"); background-size:64px 32px; opacity:.55;}
:where(body>header,body>footer,body>nav#hdMenu) .c-ft__main{width:min(1140px,calc(100% - 56px)); margin:0 auto; display:grid; grid-template-columns:auto 1fr auto; gap:50px; padding:60px 0 40px; align-items:start;}
:where(body>header,body>footer,body>nav#hdMenu) .c-ft__brand{display:flex; gap:14px; align-items:flex-start;}
:where(body>header,body>footer,body>nav#hdMenu) .c-ft__seal{width:50px; height:50px; border:1.5px solid var(--amber); border-radius:6px; color:var(--amber); display:flex; align-items:center; justify-content:center; font-family:"Shippori Mincho",serif; font-weight:700; font-size:22px; transform:rotate(-4deg);}
:where(body>header,body>footer,body>nav#hdMenu) .c-ft__nm{writing-mode:vertical-rl; font-family:"Shippori Mincho",serif; font-weight:700; font-size:22px; letter-spacing:.18em; color:var(--ink-t);}
:where(body>header,body>footer,body>nav#hdMenu) .c-ft__info .row{display:flex; gap:12px; font-size:14px; padding:6px 0; line-height:1.8;}
:where(body>header,body>footer,body>nav#hdMenu) .c-ft__info .lab{font-family:"Space Grotesk",monospace; font-size:10px; letter-spacing:.12em; color:var(--amber); min-width:64px; padding-top:3px;}
:where(body>header,body>footer,body>nav#hdMenu) .c-ft__info .tel{font-family:"Space Grotesk",monospace; font-weight:700; font-size:20px; color:var(--ink-t);}
:where(body>header,body>footer,body>nav#hdMenu) .c-ft__nav{display:flex; flex-direction:column; gap:2px; text-align:right;}
:where(body>header,body>footer,body>nav#hdMenu) .c-ft__nav a{display:block; font-family:"Shippori Mincho",serif; font-weight:700; font-size:15px; color:var(--ink-t); padding:6px 0;}
:where(body>header,body>footer,body>nav#hdMenu) .c-ft__nav a:hover{color:var(--amber);}
:where(body>header,body>footer,body>nav#hdMenu) .c-ft__bottom{border-top:1px solid var(--line);}
:where(body>header,body>footer,body>nav#hdMenu) .c-ft__bottom .in{width:min(1140px,calc(100% - 56px)); margin:0 auto; display:flex; justify-content:space-between; align-items:center; padding:18px 0; flex-wrap:wrap; gap:8px;}
:where(body>header,body>footer,body>nav#hdMenu) .c-ft__cp{font-family:"Space Grotesk",monospace; font-size:12px; color:var(--muted);}
:where(body>header,body>footer,body>nav#hdMenu) .c-ft__legal{font-size:12px; color:var(--muted); max-width:46em; text-align:right;}
@media(max-width:820px){:where(body>header,body>footer,body>nav#hdMenu) .c-ft__main{grid-template-columns:1fr; gap:30px;}
:where(body>header,body>footer,body>nav#hdMenu) .c-ft__nav{text-align:left;}
:where(body>header,body>footer,body>nav#hdMenu) .c-ft__legal{text-align:left;}}