.py-nav{position:relative;z-index:40}
.py-nav__list{display:flex;align-items:center;gap:clamp(18px,2.2vw,34px);margin:0;padding:0;list-style:none}
.py-nav__item,.py-nav__parent{display:flex;align-items:center}
.py-nav__item{position:relative;min-height:44px}
.py-nav__link,.py-nav__toggle,.py-nav__panel a{color:#2b2521;text-decoration:none}
.py-nav__link{display:inline-flex;align-items:center;min-height:44px;padding:0;font-family:var(--font-body-family);font-size:14px;font-weight:400;line-height:1.4;letter-spacing:.025em;white-space:nowrap}
html[lang^="ja"] .py-nav__link,html[lang^="ja"] .py-mobile-nav .menu-drawer__menu-item{font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-weight:400;font-synthesis:none}
.py-nav__link:hover,.py-nav__item.is-current .py-nav__parent-link,.py-nav__item.is-current>.py-nav__link{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.py-nav__toggle{display:inline-flex;align-items:center;justify-content:center;width:32px;height:44px;margin:0 0 0 2px;padding:0;border:0;background:none;cursor:pointer}
.py-nav__toggle>svg{display:block;flex:0 0 10px;width:10px;height:6px;transition:transform .2s ease}
.py-nav__toggle[aria-expanded="true"]>svg{transform:rotate(180deg)}
.py-nav :is(a,button):focus-visible{outline:2px solid #866b53;outline-offset:4px}
.py-nav__panel{position:absolute;top:calc(100% + 10px);left:-22px;z-index:120;padding:22px;border:1px solid #2b252121;border-radius:12px;background:#fbfaf7;box-shadow:0 16px 44px #271f1920;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(6px);transition:opacity .18s,transform .18s,visibility .18s}
.py-nav__panel:before{position:absolute;top:-14px;left:0;right:0;height:15px;content:""}
.py-nav__item:hover>.py-nav__panel,.py-nav__item:focus-within>.py-nav__panel,.py-nav__item.is-open>.py-nav__panel{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.py-nav__panel--products{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr) minmax(0,.8fr);gap:22px;width:min(790px,calc(100vw - 48px))}
.py-nav .py-nav__feature{position:relative;display:grid;align-content:start;min-height:225px;padding:20px;border-radius:8px;background:#2b241f;color:#fff}
.py-nav__feature small{margin-bottom:36px;font-size:10px;letter-spacing:.12em;color:#ffffffb3}
.py-nav__feature strong{font:400 24px/1.3 Georgia,"Yu Mincho",serif}
.py-nav__feature span{margin-top:14px;color:#ffffffbf;font-size:12px;line-height:1.7}
.py-nav__feature b{position:absolute;right:18px;bottom:16px;font-size:18px;font-weight:400}
.py-nav__group{min-width:0;padding:5px 0}
.py-nav__group>p{margin:0 0 12px;color:#70645b;font-size:11px;letter-spacing:.06em}
.py-nav__links{display:grid;gap:2px}
.py-nav__links--two{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:12px}
.py-nav__links a,.py-nav__panel--about a{display:flex;align-items:center;min-height:38px;padding:8px 6px;border-radius:5px;font-size:13px;font-weight:400;line-height:1.5}
.py-nav__links a:hover,.py-nav__panel--about a:hover{background:#2b25210d}
.py-nav__panel--about{left:-18px;display:grid;width:min(355px,calc(100vw - 48px));padding:12px}
.py-nav__panel--about a{justify-content:space-between;min-height:44px;padding:10px 12px;border-bottom:1px solid #2b252114;border-radius:0}
.py-nav__panel--about a:last-child{border-bottom:0}
.py-nav__panel--about a span{color:#87786b;font-size:14px}
.py-mobile-nav .menu-drawer__menu-item{font-size:16px;font-weight:400;color:#26211d;text-decoration:none}
.py-mobile-nav__feature{display:grid;margin:12px 20px 24px;padding:20px;border-radius:10px;background:#2b241f;color:#fff;text-decoration:none}
.py-mobile-nav__feature small{margin-bottom:22px;color:#ffffffb3;font-size:11px;letter-spacing:.1em}
.py-mobile-nav__feature strong{font:400 25px/1.3 Georgia,"Yu Mincho",serif}
.py-mobile-nav__feature span{margin-top:12px;color:#ffffffbf;font-size:13px;line-height:1.7}
.py-mobile-nav__group-title{margin:24px 20px 8px;color:#70645b;font-size:12px;letter-spacing:.05em}
.py-mobile-nav__links{display:grid;margin:0 20px;border-top:1px solid #2b25211a}
.py-mobile-nav__links a{padding:14px 2px;border-bottom:1px solid #2b25211a;color:#26211d;text-decoration:none;font-size:14px;line-height:1.5}
.py-mobile-nav__links--about{margin-top:18px}
@media(max-width:1180px){.py-nav__list{gap:16px}.py-nav__link{font-size:13px}.py-nav__panel--products{left:-90px}}
@media(max-width:989px){.py-nav{display:none}}
@media(prefers-reduced-motion:reduce){.py-nav__panel,.py-nav__toggle>svg{transition:none}}
