/* Shared top-page header, hamburger menu and footer for custom-post templates. */
.wla-page{max-width:100%;margin:0;overflow-x:hidden}
.wla{--wlc-red:#b8544f;--wlc-ink:#504347;min-height:100%;overflow-x:clip;padding-top:104px;color:var(--wlc-ink);font-family:"Helvetica Neue","Noto Sans JP",Arial,sans-serif}
.wla-header,.wla-header *,.wla-menu,.wla-menu *,.wla-footer,.wla-footer *{box-sizing:border-box}
.wla-header a,.wla-menu a,.wla-footer a{color:inherit;text-decoration:none}
.wla-header img,.wla-menu img,.wla-footer img{display:block;max-width:100%}
.wla-shell{width:min(1380px,calc(100% - 80px));margin-inline:auto}
.wla-skip{position:fixed;top:8px;left:8px;z-index:1100;padding:12px 16px;border-radius:12px;background:#fff;transform:translateY(-160%)}
.wla-skip:focus{transform:none}
.wla-header{position:fixed;top:14px;left:50%;z-index:100;display:flex;width:min(1320px,calc(100% - 48px));height:76px;align-items:center;justify-content:space-between;padding:0 18px 0 22px;border:1px solid rgba(255,255,255,.72);border-radius:22px;background:rgba(255,249,245,.78);box-shadow:0 12px 40px rgba(80,67,71,.08);transform:translateX(-50%);-webkit-backdrop-filter:blur(18px) saturate(1.25);backdrop-filter:blur(18px) saturate(1.25)}
.wla-header.is-scrolled{background:rgba(255,249,245,.9);box-shadow:0 16px 46px rgba(80,67,71,.13)}
.wla-logo{display:inline-flex;align-items:center;padding:0;background:transparent}
.wla-logo img{width:176px;height:auto}
.wla-nav{display:flex;align-items:center;gap:22px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.wla-nav>a:not(.wla-contact-pill):hover,.wla-nav>a:not(.wla-contact-pill):focus-visible{color:var(--wlc-red)}
.wla-contact-pill{display:inline-flex;min-width:0;min-height:48px;align-items:center;padding:0 26px;border-radius:999px;background:var(--wlc-red);color:#fff!important;transition:transform .25s,box-shadow .25s}
.wla-contact-pill:hover,.wla-contact-pill:focus-visible{box-shadow:0 14px 30px rgba(137,67,62,.18);transform:translateY(-3px)}
.wla-menu-button{position:relative;display:grid;width:48px;height:48px;margin:0;padding:0;overflow:hidden;border:0;border-radius:50%;background:#51474a;cursor:pointer;place-items:center}
.wla-menu-button span{position:absolute;left:50%;width:18px;height:1.5px;border-radius:9px;background:#fff;transform:translateX(-50%);transition:top .38s cubic-bezier(.22,1,.36,1),transform .38s cubic-bezier(.22,1,.36,1),width .3s ease}
.wla-menu-button span:first-child{top:16px}.wla-menu-button span:nth-child(2){top:23px;width:12px}.wla-menu-button span:last-child{top:30px}
.wla-menu-button[aria-expanded=true] span:first-child{top:23px;width:19px;transform:translateX(-50%) rotate(45deg)}
.wla-menu-button[aria-expanded=true] span:nth-child(2){width:0;opacity:0}
.wla-menu-button[aria-expanded=true] span:last-child{top:23px;width:19px;transform:translateX(-50%) rotate(-45deg)}
.wla-menu{position:fixed;inset:0;z-index:90;display:block;overflow:auto;padding:0;background:radial-gradient(circle at 12% 18%,rgba(201,39,39,.12),transparent 30%),linear-gradient(135deg,#fff9f5 0%,#f8e8e4 100%);opacity:0;visibility:hidden;transform:translateY(-18px);transition:opacity .46s ease,visibility .46s ease,transform .58s cubic-bezier(.22,1,.36,1)}
.wla-menu.is-open{opacity:1;visibility:visible;transform:none}
.wla-menu:before{position:fixed;right:-.08em;bottom:-.28em;color:rgba(201,39,39,.055);content:"MENU";font-size:clamp(180px,30vw,460px);font-weight:900;letter-spacing:-.1em;line-height:1;pointer-events:none}
.wla-menu__inner{position:relative;display:grid;width:min(1200px,calc(100% - 48px));min-height:100%;margin:auto;grid-template-columns:.72fr 1.28fr;gap:8vw;align-items:center;padding:130px 0 70px}
.wla-menu__brand{display:grid;align-self:stretch;place-items:center}.wla-menu__brand img{width:clamp(220px,22vw,320px);height:auto}
.wla-menu__links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-content:start}
.wla-menu__links a,.wla-menu__links a:first-child{position:relative;display:grid;grid-template-columns:34px 1fr auto;gap:12px;align-items:center;padding:14px 16px;border:0;border-radius:14px;background:rgba(255,255,255,.5);box-shadow:none;transition:background .25s ease,transform .25s ease}
.wla-menu__links a:hover{color:var(--wlc-red);background:rgba(255,255,255,.88);transform:translateY(-2px)}
.wla-menu__links span{color:var(--wlc-red);font-size:9px;font-weight:900;letter-spacing:.12em}
.wla-menu__links strong{font-size:clamp(16px,1.5vw,22px);letter-spacing:-.03em}
.wla-menu__links em{font-size:9px;font-style:normal;font-weight:800;letter-spacing:.12em}
.wla-menu__links .ws-menu-group{min-width:0}
.wla-menu__links .ws-menu-group summary{display:grid;grid-template-columns:34px 1fr auto 18px;gap:12px;align-items:center;padding:14px 16px;border:0;border-radius:14px;background:rgba(255,255,255,.5);list-style:none;cursor:pointer}
.wla-menu__links .ws-menu-group summary::-webkit-details-marker{display:none}
.wla-menu__links .ws-menu-group summary span{font-size:9px}.wla-menu__links .ws-menu-group summary strong{font-size:clamp(16px,1.5vw,22px)}
.wla-menu__links .ws-menu-group summary em{font-size:9px;font-style:normal;font-weight:800;letter-spacing:.12em}
.wla-menu__links .ws-menu-group summary i{font-size:16px;font-style:normal;transition:transform .2s}
.wla-menu__links .ws-menu-group[open] summary{background:rgba(255,255,255,.92);color:var(--wlc-red)}
.wla-menu__links .ws-menu-group[open] summary i{transform:rotate(180deg)}
.wla-menu__links .ws-menu-children{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:8px 4px 4px}
.wla-menu__links .ws-menu-children a,.wla-menu__links .ws-menu-children a:first-child{display:flex;min-height:44px;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;border:0;border-radius:10px;background:rgba(255,255,255,.42);font-size:12px;font-weight:750;line-height:1.45}
.wla-menu__links .ws-menu-children a:hover{padding:9px 12px;background:#fff;color:var(--wlc-red);transform:none}
.wla-menu__links .ws-menu-children a span{flex:0 0 auto;font-size:16px}
.wla-menu-open{overflow:hidden}
.wla-footer{padding:70px 0 30px;background:#fffdfa;color:var(--wlc-ink)}
.wla-footer__grid{display:grid;grid-template-columns:1fr 1.8fr;gap:64px}
.wla-footer__brand p{margin:0;color:#65716f;font-size:11px;font-weight:400;line-height:1.9}
.wla-footer__logo{display:inline-flex;align-items:center;margin:0 0 18px;padding:0;background:transparent}.wla-footer__logo img{width:200px;height:auto}
.wla-footer__nav{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:24px;align-items:start}
.wla-footer__nav>div{display:block}.wla-footer__nav b{display:block;margin-bottom:14px;color:var(--wlc-red);font-size:12px}
.wla-footer__nav a{display:block;margin:9px 0;color:#4f5c5a;font-size:11px;font-weight:400}.wla-footer__nav a:hover,.wla-footer__nav a:focus-visible{color:var(--wlc-red)}
.wla-copy{margin:60px 0 0!important;padding-top:22px;border-top:1px solid #dce4e2;color:#7c8886!important;font-size:9px!important}
@media(max-width:1000px){.wla-shell{width:min(100% - 44px,1380px)}.wla-nav>a:not(.wla-contact-pill){display:none}.wla-nav>.ws-nav-group{display:none}.wla-footer__grid{grid-template-columns:1fr;gap:40px}}
@media(max-width:680px){.wla{padding-top:68px}.wla-header{top:0;left:0;width:100%;height:68px;padding:0 18px;border:0;border-radius:0;background:rgba(255,249,245,.9);box-shadow:0 7px 24px rgba(80,67,71,.06);transform:none;pointer-events:none}.wla-header .wla-logo{pointer-events:auto}.wla-logo img{width:168px}.wla-nav{min-width:0;margin:0;pointer-events:none}.wla-nav>a{display:none!important}.wla-nav .wla-menu-button{position:fixed;top:calc(100svh - 134px - env(safe-area-inset-bottom));right:14px;bottom:auto;z-index:110;width:60px;height:60px;overflow:visible;border:1px solid transparent;border-radius:50% 50% 16px 50%;background:linear-gradient(145deg,rgba(176,55,51,.96),rgba(214,54,48,.96)) padding-box,conic-gradient(from 210deg,rgba(255,255,255,.95),rgba(255,255,255,.2),rgba(255,255,255,.72)) border-box;box-shadow:0 15px 34px rgba(93,37,34,.28),inset 0 1px 0 rgba(255,255,255,.3);pointer-events:auto}.wla-nav .wla-menu-button:before{position:absolute;bottom:6px;left:50%;color:#fff;content:"MENU";font-size:7px;font-weight:900;letter-spacing:.16em;transform:translateX(-50%)}.wla-nav .wla-menu-button[aria-expanded=true]{border-radius:16px 50% 50% 50%}.wla-nav .wla-menu-button[aria-expanded=true]:before{top:6px;bottom:auto;left:7px;content:"CLOSE";font-size:6px;letter-spacing:.1em;transform:none}.wla-menu-button[aria-expanded=true] span:first-child,.wla-menu-button[aria-expanded=true] span:last-child{top:29px}.wla-menu{background:radial-gradient(circle at 84% 84%,rgba(201,39,39,.17),transparent 28%),radial-gradient(circle at 8% 12%,rgba(184,84,79,.12),transparent 32%),linear-gradient(145deg,#fffaf6 0%,#f8e7e3 100%)}.wla-menu__inner{display:grid;width:calc(100% - 28px);grid-template-columns:1fr;gap:28px;align-content:start;padding:44px 0 150px}.wla-menu__brand{min-height:92px}.wla-menu__brand img{width:min(250px,70vw)}.wla-menu__links{grid-template-columns:1fr}.wla-menu__links a,.wla-menu__links a:first-child{grid-template-columns:30px 1fr auto;padding:13px 14px}.wla-menu__links strong{font-size:18px}.wla-menu__links .ws-menu-group summary{grid-template-columns:30px 1fr auto 16px;padding:13px 14px}.wla-menu__links .ws-menu-group summary strong{font-size:18px}.wla-menu__links .ws-menu-children{grid-template-columns:1fr;padding-top:6px}.wla-menu__links .ws-menu-children a,.wla-menu__links .ws-menu-children a:first-child{min-height:42px;padding:9px 12px;font-size:13px}.wla-footer{padding:42px 0 52px}.wla-footer__grid{grid-template-columns:1fr;gap:30px}.wla-footer__brand{display:flex;justify-content:center;text-align:center}.wla-footer__brand p{display:none}.wla-footer__logo{margin:0}.wla-footer__logo img{width:150px}.wla-footer__nav{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px 24px}.wla-footer__nav b{margin-bottom:8px;font-size:10px}.wla-footer__nav a{margin:5px 0;font-size:11px;line-height:1.45}.wla-copy{margin-top:12px!important;padding:7px 0 0;text-align:center;font-size:7px!important}}
@media(prefers-reduced-motion:reduce){.wla-header *,.wla-menu *,.wla-footer *{transition-duration:.01ms!important;animation-duration:.01ms!important}}
