@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@500;600;700;800&display=swap');
/* VISHNU shared corporate navigation. Prefixes isolate existing service styles. */
.vn-header,.vn-header *,.vn-footer,.vn-footer *{box-sizing:border-box}
.vn-header{position:sticky;top:0;z-index:1000;display:flex;align-items:center;justify-content:space-between;gap:32px;min-height:88px;padding:0 max(32px,calc((100vw - 1320px)/2));background:#101214;color:#fff;border-bottom:1px solid #343538;font-family:'Noto Sans JP',sans-serif;line-height:1.5;letter-spacing:0}
.vn-header a,.vn-footer a{text-decoration:none;color:inherit}.vn-header .vn-logo,.vn-footer .vn-logo{display:inline-flex;align-items:baseline;font:700 38px/1 'Jost',sans-serif;letter-spacing:-2px;white-space:nowrap;flex-shrink:0;color:#fff}.vn-logo>span{color:#f2b800}
.vn-menu nav{display:flex;align-items:center;gap:28px}.vn-menu nav>a{position:relative;display:flex;align-items:center;min-height:48px;font-size:12px;font-weight:500;color:#e0e0e0;white-space:nowrap}.vn-menu nav>a:hover,.vn-menu nav>a[aria-current=page]{color:#f2b800}.vn-menu nav>a[aria-current=page]::after{content:'';position:absolute;bottom:4px;left:0;right:0;height:2px;background:#f2b800}.vn-menu nav>a.vn-contact-link{border:1px solid #77787a;padding:0 19px;margin-left:4px}.vn-menu nav>a.vn-contact-link:hover{border-color:#f2b800}.vn-menu nav>a.vn-contact-link[aria-current=page]::after{display:none}.vn-menu-button,.vn-mobile-extra{display:none}
.vn-header a:focus-visible,.vn-header button:focus-visible,.vn-footer a:focus-visible{outline:2px solid #f2b800;outline-offset:5px}.vn-skip{position:fixed;z-index:2000;left:15px;top:10px;transform:translateY(-150%);background:#f2b800;color:#111!important;padding:12px 20px}.vn-skip:focus{transform:none}
.vn-breadcrumb{display:flex;align-items:center;gap:14px;width:min(1200px,calc(100% - 112px));margin:25px auto 0;font:11px/1.8 'Noto Sans JP',sans-serif;color:inherit;opacity:.8;letter-spacing:0}.vn-breadcrumb a{display:flex;align-items:center;min-height:44px;color:inherit;text-decoration:underline;text-underline-offset:4px}.wrap>.vn-breadcrumb{width:100%}
.vn-footer{padding:50px max(32px,calc((100vw - 1200px)/2)) 25px;background:#101214;color:#e0e0e0;font:12px/1.8 'Noto Sans JP',sans-serif;letter-spacing:0}.vn-footer-top{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:30px}.vn-footer-top p{font:10px 'Jost',sans-serif;letter-spacing:.18em;color:#c1c1c1}.vn-footer nav{display:flex;flex-wrap:wrap;gap:10px 28px;margin-bottom:28px}.vn-footer nav a{min-height:44px;display:flex;align-items:center;gap:10px}.vn-footer nav a:hover{color:#f2b800}.vn-footer nav small{border:1px solid #626366;padding:0 6px;font-size:9px}.vn-footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #3e3f41;padding-top:22px;font:10px 'Jost',sans-serif;letter-spacing:.08em}.vn-footer-bottom small{font-size:10px}
body.vn-menu-open{overflow:hidden}.vn-menu-button{appearance:none;background:none;border:0;color:#fff;cursor:pointer}
@media(max-width:1100px){.vn-header{padding-inline:28px;gap:22px}.vn-menu nav{gap:20px}.vn-menu nav>a{font-size:11px}}
@media(max-width:900px){.vn-header{min-height:76px;padding:0 24px;gap:20px}.vn-header .vn-logo{font-size:32px}.vn-menu-button{display:flex;min-width:48px;min-height:52px;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:6px;position:relative;z-index:1}.vn-menu-word{font:8px/1 'Jost',sans-serif;letter-spacing:.12em}.vn-menu-lines{width:25px;height:12px;border-top:1px solid currentColor;border-bottom:1px solid currentColor;position:relative}.vn-menu-button[aria-expanded=true] .vn-menu-lines{border:0}.vn-menu-button[aria-expanded=true] .vn-menu-lines:before,.vn-menu-button[aria-expanded=true] .vn-menu-lines:after{content:'';position:absolute;top:6px;left:0;width:25px;height:1px;background:currentColor;transform:rotate(45deg)}.vn-menu-button[aria-expanded=true] .vn-menu-lines:after{transform:rotate(-45deg)}.vn-menu{display:none;position:absolute;top:100%;left:0;right:0;background:#101214;padding:12px 24px 28px;max-height:calc(100dvh - 76px);overflow:auto;overscroll-behavior:contain;border-bottom:1px solid #5a5b5d}.vn-menu.is-open{display:block}.vn-menu nav{display:flex;flex-direction:column;align-items:stretch;gap:0}.vn-menu nav>a{min-height:57px;font-size:16px;padding:10px 0;border-bottom:1px solid #3a3b3d;justify-content:space-between}.vn-menu nav>a:after{content:'↗';font-size:19px;color:#949496}.vn-menu nav>a[aria-current=page]::after{position:static;background:none;width:auto;height:auto;content:'現在のページ';font-size:10px;color:#f2b800}.vn-menu nav>a.vn-contact-link{margin:16px 0 12px;min-height:52px;padding:12px 15px;border:1px solid #a0a0a0;font-size:15px}.vn-menu nav>a.vn-contact-link[aria-current=page]::after{display:block}.vn-mobile-extra{display:block;padding-top:15px}.vn-mobile-extra>p{font:10px 'Jost',sans-serif;letter-spacing:.2em;color:#aaa;margin:0 0 10px}.vn-mobile-extra a{display:flex;align-items:center;justify-content:space-between;min-height:44px;gap:12px;font-size:13px}.vn-mobile-extra small{font-size:10px;color:#b2b2b2}.vn-breadcrumb{width:calc(100% - 48px);margin-top:12px}.vn-footer{padding:40px 24px 24px}.vn-footer-top{align-items:flex-start;flex-direction:column;gap:15px}.vn-footer nav{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px;font-size:11px}.vn-footer-top p{font-size:9px}.vn-footer .vn-logo{font-size:34px}}
@media(prefers-reduced-motion:reduce){.vn-header *{transition:none!important}}
@media(max-width:900px){.vn-menu{height:calc(100dvh - 76px);padding-bottom:max(28px,env(safe-area-inset-bottom))}}

/* Shared gallery-inspired corporate wordmark. */
.vn-header .vn-logo,.vn-footer .vn-logo{font-family:'Manrope','Noto Sans JP',sans-serif;font-weight:500;font-size:42px;letter-spacing:.02em}.vn-header{border-bottom-color:#393b34}.vn-menu nav>a{color:#e7e3d8}.vn-footer{color:#e7e3d8}.vn-footer-top p{color:#c6c1b4}@media(max-width:900px){.vn-header .vn-logo,.vn-footer .vn-logo{font-size:36px}}

/* 2026-09-10: gothic technology identity, across corporate navigation. */
.vn-header .vn-logo,.vn-footer .vn-logo{font-family:'Manrope','Noto Sans JP',sans-serif;font-weight:800;letter-spacing:-.065em;font-size:36px}.vn-header{min-height:84px}.vn-header .vn-menu nav>a{font-size:12px;font-weight:500}.vn-footer .vn-logo{font-size:44px}.vn-header .vn-menu nav>a.vn-contact-link{border-color:#f2b800;background:#f2b800;color:#101214;font-weight:700}.vn-header .vn-menu nav>a.vn-contact-link:hover{background:#ffd14a}.vn-header .vn-logo>span,.vn-footer .vn-logo>span{margin-left:2px}@media(max-width:900px){.vn-header{min-height:76px}.vn-header .vn-logo{font-size:31px}.vn-header .vn-menu nav>a{font-size:16px}}
/* A shared business disclosure, operable by hover, keyboard and touch. */
.vn-business{position:relative}.vn-business-toggle{appearance:none;display:flex;align-items:center;gap:16px;min-height:48px;padding:0;border:0;background:none;color:#e7e3d8;font:500 12px 'Noto Sans JP',sans-serif;cursor:pointer;white-space:nowrap}.vn-business-toggle>span{font-size:19px;transition:transform .18s}.vn-business.is-open .vn-business-toggle>span{transform:rotate(45deg)}.vn-business-toggle:hover,.vn-business.is-open .vn-business-toggle{color:#f2b800}.vn-business-menu[hidden]{display:none!important}.vn-business-menu{position:absolute;top:100%;left:-24px;width:310px;padding:14px 24px 20px;background:#171b1e;border:1px solid #41464a;box-shadow:0 20px 45px #0005}.vn-business-menu a{display:flex;min-height:58px;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #373c40;font:600 13px 'Noto Sans JP',sans-serif}.vn-business-menu a:last-child{border-bottom:0}.vn-business-menu a small{font-size:10px;font-weight:400;color:#a9b0b5}.vn-business-menu a:hover,.vn-business-menu a[aria-current=page]{color:#f2b800}.vn-contact-link{gap:26px}.vn-business-menu a:hover small{color:#ffe39a}
@media(max-width:900px){.vn-business{border-bottom:1px solid #3a3b3d}.vn-business-toggle{width:100%;min-height:57px;justify-content:space-between;font-size:16px}.vn-business-menu{position:static;width:auto;box-shadow:none;border:0;padding:0 16px 12px;background:#1b1f22;margin-bottom:12px}.vn-business-menu a{min-height:57px;font-size:14px}.vn-business-menu a small{font-size:10px}.vn-header .vn-menu nav>a.vn-contact-link>span{display:none}}

/* Readable navigation: larger, stronger labels for all ages. */
.vn-header .vn-menu nav>a,.vn-business-toggle{font-size:15px;font-weight:700;color:#f2f2ec}.vn-business-menu{width:370px}.vn-business-menu a{font-size:16px;font-weight:700;min-height:64px}.vn-business-menu a small{font-size:13px;font-weight:500;color:#d1d5d7;line-height:1.7}.vn-header .vn-menu nav>a.vn-contact-link{font-weight:700}.vn-footer{font-size:14px;font-weight:500}.vn-footer-top p,.vn-footer-bottom,.vn-footer-bottom small{font-size:12px;line-height:1.8;color:#d1d3d2}.vn-footer nav small{font-size:12px}.vn-breadcrumb{font-size:14px;font-weight:500;opacity:1}.vn-menu-word{font-size:12px;font-weight:600}
@media(max-width:900px){.vn-header .vn-menu nav>a,.vn-business-toggle{font-size:17px;font-weight:700}.vn-business-menu{width:auto}.vn-business-menu a{font-size:16px;min-height:64px}.vn-business-menu a small{font-size:13px}.vn-header .vn-menu nav>a.vn-contact-link{font-size:17px}.vn-footer nav{font-size:14px}.vn-footer-top p{font-size:12px}.vn-menu nav>a[aria-current=page]::after{font-size:12px}}
@media(max-width:360px){.vn-business-menu a{flex-wrap:wrap;gap:0 8px;padding-block:12px}.vn-business-menu a small{flex-basis:100%}.vn-footer nav{grid-template-columns:1fr}.vn-footer-top p{letter-spacing:.06em}}
