@charset "utf-8";

.vv-skip-link{z-index:100;background:var(--ink);color:var(--paper)}

.vv-skip-link:focus{transform:translateY(108px);color:var(--paper)}

.vv-header{z-index:50;height:var(--header-h);color:var(--ink);background:rgba(244,241,234,.92);font-family:var(--font-ja);line-height:2;top:0;left:0;right:0}

.vv-header.is-scrolled{background:rgba(244,241,234,.86);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);height:56px;box-shadow:0 1px 0 rgba(20,18,20,.08)}

.vv-header-inner{display:flex;align-items:center;row-gap:28px;column-gap:28px;height:100%}

.vv-brand{display:flex;align-items:center;flex:0 0 auto;overflow:hidden;height:40px}

.vv-brand-logo{height:auto;width:124px}

.vv-menu-control{width:1px;height:1px;margin:0;opacity:0;pointer-events:none}

.vv-menu-toggle{align-items:center;margin:0 0 0 auto;padding:10px 38px 10px 4px;font-size:12px;line-height:1.6;letter-spacing:.14em;cursor:pointer;user-select:none;display:inline-flex}

.vv-menu-toggle::before{content:"";position:absolute;right:4px;width:24px;height:1px;background:currentColor;top:calc(50% - 6px)}

.vv-menu-toggle::after{content:"";position:absolute;right:4px;width:24px;height:1px;background:currentColor;top:calc(50% + 6px)}

.vv-menu-control:checked+.vv-menu-toggle::before{transform:translateY(6px) rotate(20deg)}

.vv-menu-control:checked+.vv-menu-toggle::after{transform:translateY(-6px) rotate(-20deg)}

.vv-menu-control:focus-visible+.vv-menu-toggle{outline-width:2px;outline-style:solid;outline-color:var(--wine);outline-offset:3px}

.vv-global-nav{display:flex;flex:1 1 auto;min-width:0;height:calc(100dvh - 100%);z-index:40;background:var(--paper);border-top:1px solid rgba(20,18,20,.08);padding:20px var(--gutter) 100px;flex-direction:column;align-items:stretch;justify-content:flex-start;row-gap:0;column-gap:0;overflow-y:auto;visibility:hidden;opacity:0;position:absolute;left:0;top:100%;right:0}

.vv-nav-list{display:flex;flex-direction:column;align-items:stretch;row-gap:0;column-gap:0}

.vv-nav-link{line-height:2;white-space:nowrap;display:block;padding:16px 0;font-size:16px;letter-spacing:.1em;border-bottom:1px solid var(--ink-line)}

.vv-nav-link::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:var(--wine);transform:scaleX(0);transform-origin:left;display:none}

.vv-nav-link:hover::after{transform:scaleX(1)}

.vv-nav-link:focus-visible::after{transform:scaleX(1)}

.vv-nav-link[aria-current="page"]::after{transform:scaleX(1)}

.vv-nav-cta{display:flex;flex-direction:column;align-items:stretch;row-gap:12px;column-gap:12px;margin-top:28px}

.vv-nav-cta .vv-btn{white-space:nowrap;min-height:50px;font-size:14px}

.vv-header.is-scrolled .vv-brand-logo{width:112px}

.vv-menu-control:checked~.vv-global-nav{visibility:visible;opacity:1}

.vv-header.is-menu-open{background:var(--paper)}

@media (min-width:768px){.vv-global-nav{height:auto;z-index:auto;background:transparent;border-top:none;padding:0px;overflow-y:visible;visibility:visible;opacity:1;align-items:center;justify-content:flex-end;row-gap:28px;column-gap:28px;flex-direction:row;flex:1 1 auto;display:contents;position:static;left:auto;top:auto;right:auto}}

@media (min-width:768px){.vv-nav-link{border-bottom:none;display:inline-block;padding:2px 0;line-height:2;font-size:12.5px;letter-spacing:.04em}}

@media (min-width:768px){.vv-nav-link::after{display:block}}

@media (min-width:768px){.vv-nav-cta{flex-direction:row;align-items:center;row-gap:10px;column-gap:10px;display:flex;order:2;margin-top:0px;margin-left:auto}}

@media (min-width:768px){.vv-nav-cta .vv-btn{min-height:40px;font-size:12.5px}}

@media (min-width:768px){.vv-menu-control:checked~.vv-global-nav{visibility:visible;opacity:1}}

@media (min-width:768px){.vv-header.is-menu-open{background:rgba(244,241,234,.92)}}

@media (min-width:768px){.vv-skip-link{z-index:100;background:var(--ink)}}

@media (min-width:768px){.vv-header{height:var(--header-h);z-index:50;background:rgba(244,241,234,.92)}}

@media (min-width:768px){.vv-header.is-scrolled{background:rgba(244,241,234,.86);height:100px}}

@media (min-width:768px){.vv-header-inner{height:100%;flex-wrap:wrap;align-items:center;align-content:center;row-gap:16px;column-gap:16px}}

@media (min-width:768px){.vv-brand{overflow:hidden;flex:0 0 auto;height:44px}}

@media (min-width:768px){.vv-brand-logo{height:auto;width:136px}}

@media (min-width:768px){.vv-menu-control{height:1px;opacity:0}}

@media (min-width:768px){.vv-menu-toggle{display:none;padding:10px 38px 10px 4px}}

@media (min-width:768px){.vv-nav-list{align-items:center;display:flex;order:3;flex-direction:row;flex-basis:100%;row-gap:20px;column-gap:20px}}

@media (min-width:768px){.vv-header.is-scrolled .vv-brand-logo{width:124px}}

@media (min-width:1280px){.vv-header-inner{flex-wrap:nowrap;align-content:normal;align-items:center;row-gap:22px;column-gap:22px}}

@media (min-width:1280px){.vv-nav-list{order:0;flex-basis:auto;align-items:center;display:flex;row-gap:16px;column-gap:16px}}

@media (min-width:1280px){.vv-nav-cta{order:0;margin-left:0px;align-items:center;display:flex;row-gap:8px;column-gap:8px}}

@media (min-width:1280px){.vv-header.is-scrolled{height:calc(var(--header-h) - 18px)}}

@media (min-width:1280px){.vv-brand{height:48px;flex:0 0 auto;align-items:center}}

@media (min-width:1280px){.vv-brand-logo{height:auto;width:140px}}

@media (min-width:1280px){.vv-menu-control{height:1px;margin:0}}

@media (min-width:1280px){.vv-menu-toggle{align-items:center;margin:0 0 0 auto}}

@media (min-width:1280px){.vv-global-nav{display:flex;flex:1 1 auto;align-items:center;justify-content:flex-end;row-gap:22px;column-gap:22px}}

@media (min-width:1280px){.vv-nav-link{padding:6px 0;font-size:13px;line-height:2;display:inline-block;letter-spacing:.03em}}

@media (min-width:1280px){.vv-header.is-scrolled .vv-brand-logo{width:126px}}

@media (min-width:1280px){.vv-nav-cta .vv-btn-sm{padding:6px 13px;letter-spacing:.06em}}

@media (min-width:1440px){.vv-nav-cta .vv-btn-sm{padding:6px 18px;letter-spacing:1.25px}}

@media (min-width:1440px){.vv-header-inner{row-gap:28px;column-gap:28px}}

@media (min-width:1440px){.vv-brand-logo{width:150px}}

@media (min-width:1440px){.vv-header.is-scrolled .vv-brand-logo{width:132px}}

@media (min-width:1440px){.vv-menu-control{width:1px}}

@media (min-width:1440px){.vv-global-nav{row-gap:28px;column-gap:28px}}

@media (min-width:1440px){.vv-nav-list{row-gap:22px;column-gap:22px}}

@media (min-width:1440px){.vv-nav-link{letter-spacing:.06em}}

@media (min-width:1440px){.vv-nav-cta{row-gap:10px;column-gap:10px}}

*{box-sizing:border-box}

body{margin:0}

*{box-sizing:border-box}

body{margin:0}

.vv-nav-link{position:relative}

*{box-sizing:border-box}

body{margin:0}
