/* ICHI motion update v2 */
html.ichi-intro-pending::before{content:"";position:fixed;inset:0;background:#fcfcfa;z-index:9998;animation:ichi-cover-safety 0s 4.5s forwards;pointer-events:none}
.ichi-intro{position:fixed;inset:0;z-index:9999;background:#fcfcfa;display:grid;place-items:center;overflow:hidden;transition:opacity .6s ease,visibility .6s;isolation:isolate}
.ichi-intro.is-finished{opacity:0;visibility:hidden;pointer-events:none}.ichi-intro[hidden]{display:none}
.ichi-intro__stage{position:relative;width:min(74vw,420px);height:300px;display:grid;place-items:center}
.ichi-intro__grid{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.ichi-intro__grid path{fill:none;stroke:#172a3c;stroke-width:.7;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1;animation:ichi-draw 1s cubic-bezier(.65,0,.25,1) forwards}
.ichi-intro__grid .ichi-axis-v{animation-delay:.16s}.ichi-intro__grid .ichi-outline{stroke:#006da0;stroke-width:1.4;animation-delay:.48s;animation-duration:1.1s}
.ichi-intro__drawing{position:absolute;inset:0;animation:ichi-drawing-out .5s 1.65s both}
.ichi-intro__logo{position:relative;width:min(68vw,330px);height:auto;opacity:0;clip-path:inset(0 100% 0 0);animation:ichi-logo-reveal .85s 1.1s cubic-bezier(.22,1,.36,1) forwards}
.ichi-intro__caption{position:absolute;bottom:12px;width:100%;text-align:center;font:10px/1.5 Arial,sans-serif;letter-spacing:.2em;color:#526778;opacity:0;animation:ichi-caption .6s 1.55s forwards}
.ichi-intro__skip{position:absolute;right:5%;bottom:5%;border:0;border-bottom:1px solid #b9c4ca;background:transparent;color:#526778;font:11px/2 Arial,sans-serif;letter-spacing:.12em;padding:8px 4px;cursor:pointer}
.ichi-intro__skip:focus-visible{outline:2px solid #006da0;outline-offset:4px}
.ichi-progress{position:fixed;top:0;left:0;height:2px;width:100%;transform:scaleX(0);transform-origin:left;background:#e92c25;z-index:50;pointer-events:none}
.ichi-reveal{opacity:1;transform:none}.ichi-motion-ready .ichi-reveal:not(.ichi-visible){opacity:0;transform:translateY(22px)}
.ichi-motion-ready .ichi-reveal{transition:opacity .9s ease,transform 1s cubic-bezier(.2,.7,.2,1);transition-delay:var(--ichi-delay,0ms)}
.ichi-line{position:relative}.ichi-line:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:currentColor;opacity:.24;transform:scaleX(0);transform-origin:left;transition:transform 1.2s cubic-bezier(.65,0,.25,1)}
.ichi-line.ichi-visible:after{transform:scaleX(1)}
.ichi-motion-ready .service.ichi-line,.ichi-motion-ready .company-table>div.ichi-line,.ichi-motion-ready .strength-list article.ichi-line{border-bottom-color:transparent}
.ichi-heading-line{position:relative;background-image:linear-gradient(#006da0,#006da0);background-position:0 100%;background-size:0 2px;background-repeat:no-repeat;padding-bottom:.12em;box-decoration-break:clone;-webkit-box-decoration-break:clone;transition:background-size 1.1s .2s cubic-bezier(.65,0,.25,1)}
.ichi-visible .ichi-heading-line{background-size:100% 2px}
.header nav a:not(.nav-contact){position:relative}.header nav a:not(.nav-contact):after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:1px;background:#006da0;transform:scaleX(0);transform-origin:right;transition:transform .35s ease}.header nav a:not(.nav-contact):hover:after,.header nav a:not(.nav-contact):focus-visible:after{transform:scaleX(1);transform-origin:left}
.ichi-photo{overflow:hidden}.ichi-photo img{transition:transform 1.6s cubic-bezier(.2,.7,.2,1)}.ichi-motion-ready .ichi-photo:not(.ichi-visible) img{transform:scale(1.045)}.ichi-photo.ichi-visible img{transform:scale(1)}
.ichi-hero-enter .hero h1{animation:ichi-hero-text 1s .1s both}.ichi-hero-enter .hero-visual{animation:ichi-hero-picture 1.25s .15s both}.ichi-hero-enter .hero-one{animation:ichi-one-in 1.5s .3s both}
@keyframes ichi-draw{to{stroke-dashoffset:0}}@keyframes ichi-drawing-out{to{opacity:0;transform:scale(1.035)}}@keyframes ichi-logo-reveal{to{opacity:1;clip-path:inset(0 0 0 0)}}@keyframes ichi-caption{to{opacity:1}}@keyframes ichi-cover-safety{to{visibility:hidden}}@keyframes ichi-hero-text{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@keyframes ichi-hero-picture{from{opacity:.2;clip-path:inset(0 0 12% 0)}to{opacity:1;clip-path:inset(0)}}@keyframes ichi-one-in{from{opacity:0;transform:translateX(25px)}to{opacity:1;transform:none}}
@media(max-width:760px){.ichi-intro__stage{height:260px}.ichi-intro__caption{font-size:8px}.ichi-heading-line{background-image:linear-gradient(#006da0,#006da0)}.header nav a:not(.nav-contact):after{bottom:0}}
@media(prefers-reduced-motion:reduce){html.ichi-intro-pending::before,.ichi-intro,.ichi-progress{display:none!important}.ichi-motion-ready .ichi-reveal:not(.ichi-visible){opacity:1;transform:none}.ichi-reveal,.ichi-photo img,.ichi-line:after,.ichi-heading-line{transition:none!important}.ichi-line:after{transform:scaleX(1)}.ichi-heading-line{background-size:100% 2px}.ichi-hero-enter .hero h1,.ichi-hero-enter .hero-visual,.ichi-hero-enter .hero-one{animation:none!important}}
