/* トップのヘッダー・フッターの意匠を下層へ引き継ぐ。本文へは適用しない。 */
:where(body>header,body>footer){--main:#9B4A2F;--main-deep:#5E2C1B;--gold:#E0A93B;--gold-deep:#C58E29;--green:#4F6B55;--cream:#F7EFE0;--surface:#FFF9EF;--ink:#342016;--body:#5A4639;--muted:#8B7568;--line:rgba(155,74,47,.2);--line-soft:rgba(155,74,47,.1);--line-white:rgba(255,255,255,.18);}
body>header.site-header{position:fixed; top:0; left:0; right:0; z-index:50; transition:background .35s ease, box-shadow .35s ease, border-color .35s ease; border-bottom:3px solid transparent;}
:where(body>header,body>footer) .hd-top{width:min(1340px,calc(100% - 40px)); margin:0 auto; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:28px; padding:16px 0; transition:padding .35s ease;}
:where(body>header,body>footer) .hd-logo img{height:58px; width:auto; transition:filter .35s ease;}
:where(body>header,body>footer) .hd-nav{display:flex; justify-content:center; gap:6px; flex-wrap:wrap;}
:where(body>header,body>footer) .hd-nav a{padding:10px 15px; font-size:14px; font-weight:700; color:#FFF6E8; border-radius:999px; transition:color .25s ease, background .25s ease;}
:where(body>header,body>footer) .hd-nav a:hover{background:rgba(255,255,255,.14);}
:where(body>header,body>footer) .hd-contact{justify-self:end; display:flex; align-items:center; gap:16px;}
:where(body>header,body>footer) .hd-tel{text-align:right;}
:where(body>header,body>footer) .hd-tel .num{font-family:"Space Grotesk","Zen Kaku Gothic New",sans-serif; font-weight:700; font-size:19px; color:#FFF6E8; transition:color .35s ease;}
:where(body>header,body>footer) .hd-tel .hours{font-size:10px; color:rgba(255,246,232,.7); transition:color .35s ease;}
:where(body>header,body>footer) .hd-cta{background:var(--main); color:#fff; font-weight:700; font-size:13px; padding:12px 18px; border-radius:999px; transition:background .2s ease;}
:where(body>header,body>footer) .hd-cta:hover{background:var(--main-deep);}
body>header.site-header.is-solid{background:rgba(247,239,224,.92); backdrop-filter:blur(12px); border-bottom-color:var(--gold); box-shadow:0 6px 24px -16px rgba(52,32,22,.4);}
body>header.site-header.is-solid .hd-top{padding:10px 0;}
body>header.site-header.is-solid .hd-logo img{filter:none;}
body>header.site-header.is-solid .hd-nav a{color:var(--ink);}
body>header.site-header.is-solid .hd-nav a:hover{background:var(--surface); color:var(--main);}
body>header.site-header.is-solid .hd-tel .num{color:var(--ink);}
body>header.site-header.is-solid .hd-tel .hours{color:var(--muted);}
body>footer.footer{background:var(--main-deep); color:rgba(255,246,232,.74);}
:where(body>header,body>footer) .footer__ft{width:min(880px,calc(100% - 56px)); margin:0 auto; padding:66px 0 40px; text-align:center;}
:where(body>header,body>footer) .footer__logo img{height:52px; width:auto; margin:0 auto 18px; filter:brightness(0) invert(1); opacity:.92;}
:where(body>header,body>footer) .footer__desc{font-size:14px; line-height:1.9; margin:18px auto 0; max-width:34em; color:rgba(255,246,232,.78);}
:where(body>header,body>footer) .footer__nav{display:flex; gap:28px; justify-content:center; flex-wrap:wrap; margin:30px 0 26px;}
:where(body>header,body>footer) .footer__nav a{color:#FFF6E8; font-size:14px; opacity:.85;}
:where(body>header,body>footer) .footer__nav a:hover{opacity:1; color:var(--gold);}
:where(body>header,body>footer) .footer__sns{display:flex; gap:18px; justify-content:center; margin-bottom:30px;}
:where(body>header,body>footer) .footer__sns a{color:rgba(255,246,232,.6); font-family:"Space Grotesk","Zen Kaku Gothic New",sans-serif; font-size:12px; letter-spacing:.06em;}
:where(body>header,body>footer) .footer__sns a:hover{color:var(--gold);}
:where(body>header,body>footer) .footer__cp{font-family:"Space Grotesk","Zen Kaku Gothic New",sans-serif; font-size:12px; color:rgba(255,246,232,.55); border-top:1px solid var(--line-white); padding-top:24px; display:flex; justify-content:center; flex-wrap:wrap; gap:6px 18px;}
@media (max-width:768px){:where(body>header,body>footer) .hd-nav,:where(body>header,body>footer) .hd-tel{display:none;}
:where(body>header,body>footer) .hd-top{grid-template-columns:1fr auto;}}
:where(body>header,body>footer) .z-mobile-toggle{display:none;position:absolute;right:16px;top:50%;transform:translateY(-50%);z-index:10002;width:48px;height:48px;border:1px solid currentColor;border-radius:50%;background:var(--paper,#fff);color:var(--ink,#111);cursor:pointer;align-items:center;justify-content:center}
:where(body>header,body>footer) .z-mobile-toggle span,:where(body>header,body>footer) .z-mobile-toggle::before,:where(body>header,body>footer) .z-mobile-toggle::after{content:"";position:absolute;width:22px;height:2px;background:currentColor;transition:transform .3s ease,opacity .3s ease}
:where(body>header,body>footer) .z-mobile-toggle::before{transform:translateY(-7px)}
:where(body>header,body>footer) .z-mobile-toggle::after{transform:translateY(7px)}
@media(max-width:900px){body>header{position:relative;padding-right:62px!important}
:where(body>header,body>footer) .z-mobile-toggle{display:flex}
body>header nav{display:none!important}
body.z-mobile-open header{z-index:10000}
body.z-mobile-open header nav{display:flex!important;position:fixed!important;inset:0!important;z-index:10000!important;background:var(--paper,#fff)!important;color:var(--ink,#111)!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:0!important;padding:88px 24px 32px!important;overflow:auto!important}
body.z-mobile-open header nav a{display:block!important;width:min(100%,420px)!important;padding:15px 8px!important;border-bottom:1px solid rgba(80,80,80,.18)!important;color:inherit!important;text-align:center!important;font-size:16px!important}
body.z-mobile-open .z-mobile-toggle{position:fixed;color:var(--ink,#111);background:var(--paper,#fff)}
body.z-mobile-open .z-mobile-toggle span{opacity:0}
body.z-mobile-open .z-mobile-toggle::before{transform:rotate(45deg)}
body.z-mobile-open .z-mobile-toggle::after{transform:rotate(-45deg)}}
@media(prefers-reduced-motion:reduce){:where(body>header,body>footer) .z-mobile-toggle span,:where(body>header,body>footer) .z-mobile-toggle::before,:where(body>header,body>footer) .z-mobile-toggle::after{transition:none}}