.jp-header{gap:20px;flex-wrap:nowrap;min-height:100px;align-items:center}
.jp-menu-toggle,.jp-menu-close{display:inline-flex;align-items:center;gap:12px;min-width:44px;min-height:44px;padding:10px 0 10px 12px;background:transparent;color:var(--ink);font:13px/1.5 sans-serif;cursor:pointer}
.jp-menu-lines{position:relative;display:block;width:24px;height:16px;border-top:1px solid currentColor;border-bottom:1px solid currentColor}
.jp-menu-lines:after{content:'';position:absolute;left:0;top:7px;width:24px;border-top:1px solid currentColor}
.jp-menu-dialog{position:fixed;inset:0;width:100%;max-width:none;height:100vh;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:var(--paper,#f7f6f2);color:var(--ink);overflow-y:auto;overscroll-behavior:contain}
.jp-menu-dialog::backdrop{background:var(--paper,#f7f6f2)}
.jp-menu-top{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:100px;padding:28px max(28px,calc((100vw - 1144px)/2));border-bottom:1px solid var(--line)}
.jp-menu-x{position:relative;width:24px;height:24px;display:block}
.jp-menu-x:before,.jp-menu-x:after{content:'';position:absolute;top:11px;left:0;width:24px;border-top:1px solid currentColor;transform:rotate(45deg)}
.jp-menu-x:after{transform:rotate(-45deg)}
.jp-menu-nav{display:flex;flex-direction:column;align-items:center;gap:0;padding:35px 24px 55px;text-align:center}
.jp-menu-nav>a:not(.button),.jp-menu-services>summary{display:block;width:min(100%,560px);padding:12px 16px;font-family:'Yu Mincho','Hiragino Mincho ProN',serif;font-size:clamp(25px,3vw,36px);line-height:1.6;font-weight:400;letter-spacing:.08em}
.jp-menu-nav a:hover,.jp-menu-services>summary:hover{color:#738568}
.jp-menu-services{width:min(100%,560px);margin:0;font-size:inherit}
.jp-menu-services>summary{cursor:pointer;list-style:none}
.jp-menu-services>summary::-webkit-details-marker{display:none}
.jp-menu-services>summary:after{content:'⌄';font:18px sans-serif;margin-left:14px;display:inline-block}
.jp-menu-services[open]>summary:after{transform:rotate(180deg)}
.jp-menu-service-links{display:flex;flex-direction:column;gap:8px;padding:0 12px 18px}
.jp-menu-service-links a{font-size:20px;line-height:1.9;padding:5px}
.jp-menu-nav>.button{margin-top:25px;min-height:52px}
@media(max-width:680px){.jp-header{padding:20px 24px;min-height:84px}.jp-header .brand-logo,.jp-menu-top .brand-logo{width:min(235px,58vw)}.jp-menu-top{padding:20px 24px;min-height:84px}.jp-menu-toggle,.jp-menu-close{font-size:11px;gap:8px}.jp-menu-nav{padding-top:24px}.jp-menu-nav>a:not(.button),.jp-menu-services>summary{font-size:25px;padding:10px 12px}.jp-menu-service-links a{font-size:18px}}
@media(prefers-reduced-motion:reduce){.jp-menu-dialog{scroll-behavior:auto}}
.jp-menu-toggle,.jp-menu-close{flex-shrink:0;white-space:nowrap}@media(max-width:680px){.jp-header .brand-logo{width:min(220px,52vw)}}
.jp-menu-nav .jp-menu-service-links>a{display:block}
