.site-header{height:92px;padding:0 40px;display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:24px;background:rgba(255,249,248,.96);position:sticky;top:0;z-index:20;border-bottom:1px solid #59374314;backdrop-filter:blur(14px);font-family:Arial,'Hiragino Kaku Gothic ProN',Meiryo,sans-serif}.site-header .brand{width:236px;flex-shrink:0;display:block}.site-header .brand img{width:100%;max-height:none;height:auto;display:block}.site-header a{text-decoration:none}.site-header nav{width:auto;display:flex;align-items:center;gap:30px;font-size:12px;font-weight:500}.site-header .nav-contact{background:#593743;color:white;border-radius:50px;padding:14px 22px;display:flex;gap:32px;align-items:center;white-space:nowrap}.site-header .nav-contact span{margin:0}.menu-toggle{display:none}body.menu-open{overflow:hidden}.skip{position:fixed;top:-80px;left:20px;z-index:100;background:white;padding:12px}.skip:focus{top:8px}.site-header a:focus-visible,.menu-toggle:focus-visible{outline:3px solid #ac5876;outline-offset:5px}
@media(max-width:1100px){.site-header{height:80px;padding:0 28px}.site-header .brand{width:205px}.site-header nav{gap:20px;font-size:11px}.site-header .nav-contact{padding:12px 17px;gap:17px}}
@media(max-width:800px){.site-header{height:72px;min-height:0;padding:0 20px;gap:0}.site-header .brand{width:200px}.menu-toggle{display:flex;gap:12px;align-items:center;background:transparent;border:0;padding:12px 0 12px 12px;font-size:9px;letter-spacing:.09em;font-family:inherit;color:#593743;cursor:pointer}.menu-toggle i{width:21px;height:10px;border-block:1px solid #593743;transition:transform .2s}.menu-toggle[aria-expanded=true] i{transform:rotate(-45deg)}.site-header nav{position:absolute;top:72px;left:0;right:0;width:100%;display:none;background:#fff9f8;height:calc(100dvh - 72px);padding:30px;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;font-size:16px;overflow:auto}.site-header nav.is-open{display:flex}.site-header nav>a{padding:24px 0;border-bottom:1px solid #ecd6dd}.site-header nav .nav-contact{margin-top:25px;padding:20px 24px;font-size:14px;justify-content:space-between}}
@media(prefers-reduced-motion:reduce){.menu-toggle i{transition:none}}
@media(max-width:360px){.site-header .brand{width:175px}.menu-toggle{white-space:nowrap;flex-shrink:0}}

html{scroll-padding-top:108px}
@media(max-width:800px){html{scroll-padding-top:85px}}
