:root{--ink:#0e1b2c;--navy:#103078;--blue:#3070e8;--sky:#7cc7f5;--mint:#7fe3c8;--bg:#e9f0f7;--panel:#fff;--panel-alt:#f4f8fc;--gray:#6b7684;--line:#d8e2ec;--fill-gray:#c0ccd9;--radius:clamp(24px, 4vw, 44px);--gap:clamp(14px, 2vw, 24px);--pad-y:clamp(64px, 9vw, 120px);--pad-x:clamp(20px, 5vw, 72px);--font-jp:"Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic Medium", "Yu Gothic", -apple-system, sans-serif;--font-en:"Avenir Next", "Avenir", "Futura", "Helvetica Neue", Arial, sans-serif;--ease-out:cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-jp);background:var(--bg);color:var(--ink);letter-spacing:.03em;-webkit-font-smoothing:antialiased;line-height:1.9;overflow-x:hidden}a{color:inherit;text-decoration:none}ul{list-style:none}::selection{background:var(--blue);color:#fff}main{z-index:2;position:relative}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@keyframes sdDraw{0%{stroke-dashoffset:100px}to{stroke-dashoffset:0}}@keyframes sdFade{to{opacity:1}}@keyframes sdPop{0%{opacity:0;transform:scale(.3)}60%{opacity:1;transform:scale(1.15)}to{opacity:1;transform:scale(1)}}@keyframes sdBreath{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes sdSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes gGo{to{transform:translateX(var(--tx,0px))}}@keyframes bGlow{0%,to{stroke:#7fe3c8}50%{stroke:#bdf3e3;stroke-width:9px}}.js .page-hero .line-inner{transition:transform 1.1s var(--ease-out) .15s;transform:translateY(112%)}.js .page-hero .ja .line-inner{transition-delay:.23s}.page-hero .line-inner.lin-in{transform:translateY(0)}.js [data-reveal]{opacity:0;transition:opacity .9s var(--ease-out), transform .9s var(--ease-out);transform:translateY(30px)}[data-reveal].revealed{opacity:1;transform:none}.gf-d{opacity:0}.sdrun .gf-d{opacity:1;animation:sdDraw .7s cubic-bezier(.16, 1, .3, 1) var(--d,0s) both}.gf-p{opacity:0;transform-box:fill-box;transform-origin:50%}.sdrun .gf-p{animation:sdPop .5s cubic-bezier(.16, 1, .3, 1) var(--d,0s) forwards}.sdrun .gf-p.lp{animation:sdPop .5s cubic-bezier(.16, 1, .3, 1) var(--d,0s) forwards, sdBreath 3s ease-in-out calc(var(--d,0s) + 1.2s) infinite}.gf-f{opacity:0}.sdrun .gf-f{animation:sdFade .5s ease var(--d,0s) forwards}.gf-o{opacity:0;transform-box:view-box;transform-origin:var(--ox) var(--oy)}.sdrun .gf-o{opacity:1;animation:sdFade 10ms var(--d,0s) both, sdSpin var(--sp,9s) linear var(--d,0s) infinite}.gf-d2{opacity:0}.sdrun .gf-d2{opacity:1;animation:sdDraw 1.35s cubic-bezier(.55, .05, .35, 1) var(--d,0s) both}.mvx{opacity:0}.sdrun .mvx{opacity:1;animation:sdFade .3s ease var(--d,0s) both, gGo var(--dur,1.35s) cubic-bezier(.55, .05, .35, 1) var(--go,1s) forwards}.glow{opacity:0}.sdrun .glow{opacity:1;animation:sdDraw .6s cubic-bezier(.16, 1, .3, 1) var(--d,0s) both, bGlow .55s ease var(--g,2s) 1}.ring2{opacity:0;transform-box:fill-box;transform-origin:50%}.sdrun .ring2{opacity:1;animation:sdDraw .7s cubic-bezier(.16, 1, .3, 1) var(--d,0s) both, sdBreath 3s ease-in-out calc(var(--d,0s) + 1s) infinite}@media (prefers-reduced-motion:reduce){.page-hero .line-inner{transition:none!important;transform:none!important}[data-reveal]{opacity:1!important;transition:none!important;transform:none!important}.gf-d,.gf-p,.gf-f,.gf-o{opacity:1!important;stroke-dashoffset:0!important;animation:none!important;transform:none!important}.gf-d2,.glow,.ring2{opacity:1!important;stroke-dashoffset:0!important;animation:none!important}.mvx{opacity:1!important;transform:translateX(var(--tx,0px))!important;animation:none!important}}
header{z-index:50;padding:clamp(16px, 2.4vw, 26px) var(--pad-x);justify-content:space-between;align-items:center;transition:background .5s,box-shadow .5s,padding .5s,-webkit-backdrop-filter .5s,backdrop-filter .5s;display:flex;position:fixed;top:0;left:0;right:0}header.scrolled{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffb8;padding-top:14px;padding-bottom:14px;box-shadow:0 1px #1030780f}.logo{font-family:var(--font-en);letter-spacing:.18em;color:var(--navy);white-space:nowrap;opacity:0;transition:opacity .9s var(--ease-out);flex:none;align-items:center;gap:9px;font-size:20px;font-weight:600;display:flex}.logo-sym{width:23px;height:auto;color:var(--blue);flex:none;display:inline-flex}.logo-sym svg{width:100%;height:auto;display:block}.logo-type{width:auto;height:15px;color:var(--navy);display:block}.logo small{letter-spacing:.14em;color:var(--gray);align-self:flex-end;padding-bottom:1px;font-size:10px;font-weight:500}@media (max-width:560px){.logo small{display:none}.logo-type{height:14px}}.gnav{opacity:0;transition:opacity .9s var(--ease-out) .1s;align-items:center;gap:34px;display:flex}.gnav a{font-family:var(--font-en);letter-spacing:.16em;white-space:nowrap;padding:6px 0;font-size:12.5px;font-weight:600;position:relative}.gnav a:after{content:"";background:var(--blue);transform-origin:100%;width:100%;height:1.5px;transition:transform .45s var(--ease-out);position:absolute;bottom:0;left:0;transform:scaleX(0)}.gnav a:hover:after{transform-origin:0;transform:scaleX(1)}.btn-contact{font-family:var(--font-en);letter-spacing:.14em;background:var(--navy);border-radius:999px;padding:11px 34px;font-size:12.5px;font-weight:600;transition:background .35s,transform .35s;display:inline-block;color:#fff!important}.btn-contact:hover{background:var(--blue);transform:translateY(-2px)}.btn-contact:after{display:none}.gnav a.btn-contact{padding:11px 34px}.gnav a.btn-contact:after{display:none}header[data-ready] .logo,header[data-ready] .gnav{opacity:1}.ham{cursor:pointer;z-index:70;background:#fffc;border:none;border-radius:50%;width:46px;height:46px;display:none;position:relative;box-shadow:0 2px 12px #10307814}.ham span{background:var(--navy);width:18px;height:1.6px;transition:transform .4s var(--ease-out), top .4s var(--ease-out), opacity .3s;position:absolute;left:14px}.ham span:first-child{top:18px}.ham span:nth-child(2){top:24px}.ham span:nth-child(3){top:30px}body.menu-open .ham span:first-child{top:24px;transform:rotate(45deg)}body.menu-open .ham span:nth-child(2){opacity:0}body.menu-open .ham span:nth-child(3){top:24px;transform:rotate(-45deg)}#menu{z-index:60;clip-path:circle(0% at calc(100% - 43px) 43px);transition:clip-path .8s var(--ease-out);padding:calc(clamp(16px, 2.4vw, 26px) + 46px + 14px + env(safe-area-inset-top,0px)) clamp(28px, 8vw, 100px) calc(28px + env(safe-area-inset-bottom,0px));color:#fff;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:linear-gradient(160deg,#103078 0%,#1a4bb0 60%,#2f6fd8 100%);flex-direction:column;display:flex;position:fixed;inset:0;overflow-y:auto}#menu nav{margin-top:auto}body.menu-open #menu{clip-path:circle(150% at calc(100% - 43px) 43px)}#menu nav a{color:#fff;letter-spacing:.06em;opacity:0;transition:opacity .8s var(--ease-out), transform .8s var(--ease-out);border-bottom:1px solid #ffffff24;align-items:baseline;gap:16px;padding:14px 0;font-size:clamp(26px,5.4vw,40px);font-weight:600;display:flex;transform:translateY(24px)}body.menu-open #menu nav a{opacity:1;transform:translateY(0)}body.menu-open #menu nav a:first-child{transition-delay:.25s}body.menu-open #menu nav a:nth-child(2){transition-delay:.31s}body.menu-open #menu nav a:nth-child(3){transition-delay:.37s}body.menu-open #menu nav a:nth-child(4){transition-delay:.43s}body.menu-open #menu nav a:nth-child(5){transition-delay:.49s}body.menu-open #menu nav a:nth-child(6){transition-delay:.55s}body.menu-open #menu nav a:nth-child(7){transition-delay:.61s}body.menu-open #menu nav a:nth-child(8){transition-delay:.67s}body.menu-open #menu nav a:nth-child(9){transition-delay:.73s}#menu nav a[aria-current=page] em:first-child{color:var(--mint);opacity:1}#menu nav a em{font-style:normal;font-family:var(--font-en);letter-spacing:.22em;opacity:.7;font-size:11px;font-weight:500}#menu .menu-foot{font-family:var(--font-en);letter-spacing:.2em;opacity:.65;margin-top:38px;margin-bottom:auto;font-size:11px}body.menu-open header{z-index:80;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;background:0 0}body.menu-open .logo{pointer-events:none;opacity:0!important}.ham:focus-visible{outline:2px solid var(--sky);outline-offset:2px}@media (max-width:1380px){.gnav{gap:20px}.gnav a{letter-spacing:.1em;font-size:11.5px}.btn-contact{padding:10px 22px;font-size:11.5px}.logo small{display:none}}@media (max-width:1080px){.gnav{display:none}.ham{display:block}}@media (prefers-reduced-motion:reduce){.logo,.gnav{opacity:1!important}#menu nav a{transition:none!important}body.menu-open #menu nav a{opacity:1;transform:none}}@media (max-width:600px){#menu nav a{padding:10px 0;font-size:clamp(20px,5vw,27px)}#menu .menu-foot{margin-top:22px}}
footer{z-index:2;margin-top:var(--gap);background:var(--navy);color:#fff;border-radius:var(--radius) var(--radius) 0 0;padding:clamp(56px, 8vw, 96px) var(--pad-x) 36px;position:relative}.foot-grid{border-bottom:1px solid #ffffff29;grid-template-columns:1.2fr 1fr;gap:clamp(36px,6vw,80px);padding-bottom:clamp(40px,6vw,72px);display:grid}.foot-type{color:#fff;width:auto;height:30px;margin-bottom:4px;display:block}.foot-logo{font-family:var(--font-en);letter-spacing:.2em;font-size:30px;font-weight:600}.foot-logo small{letter-spacing:.22em;opacity:.6;margin-top:8px;font-size:10.5px;font-weight:500;display:block}.foot-vision{opacity:.85;margin-top:22px;font-size:12.5px;line-height:2.1}.foot-addr{opacity:.6;margin-top:18px;font-size:12px;font-style:normal;line-height:2.1}.foot-nav{grid-template-columns:repeat(2,1fr);align-content:start;gap:8px 32px;display:grid}.foot-nav a{font-family:var(--font-en);letter-spacing:.16em;opacity:.85;padding:9px 0;font-size:12.5px;font-weight:600;transition:opacity .3s,transform .3s;display:inline-block}.foot-nav a:hover{opacity:1;transform:translate(4px)}.foot-btm{font-family:var(--font-en);letter-spacing:.14em;opacity:.55;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding-top:26px;font-size:10.5px;display:flex}.foot-btm a{color:inherit;text-decoration:none;transition:opacity .3s}.foot-btm a:hover{opacity:.55}.foot-btm .fb-l{gap:20px;display:flex}.foot-social{align-items:center;gap:14px;margin-top:26px;display:flex}.foot-social a{color:#fff;opacity:.85;border:1px solid #ffffff47;border-radius:50%;place-items:center;width:38px;height:38px;transition:opacity .3s,background-color .3s,border-color .3s,transform .3s;display:grid}.foot-social a:hover{opacity:1;background:#ffffff1f;border-color:#ffffff80;transform:translateY(-2px)}.foot-social svg{fill:currentColor;width:17px;height:17px;display:block}@media (max-width:900px){.foot-grid{grid-template-columns:1fr}}
#cur{z-index:99;pointer-events:none;opacity:0;transition:opacity .4s;position:fixed;top:0;left:0}#cur.on{opacity:1}#cur span{pointer-events:none;will-change:transform;border-radius:50%;position:fixed;top:0;left:0}#cur .c-dot{background:#3070e8;width:6px;height:6px}#cur .c-ring{border:1.5px solid #10307880;width:34px;height:34px;transition:width .35s cubic-bezier(.16,1,.3,1),height .35s cubic-bezier(.16,1,.3,1),border-color .3s,background-color .3s}#cur.hov .c-ring{background-color:#3070e812;border-color:#3070e8d9;width:56px;height:56px}#cur.dn .c-ring{width:24px;height:24px}@media (hover:none),(pointer:coarse){#cur{display:none!important}}@media (prefers-reduced-motion:reduce){#cur{display:none!important}}
