#mainvisual{position:relative;min-height:760px;height:100svh;max-height:1200px;overflow:hidden;background:radial-gradient(ellipse at 52% 47%,#1a1d22 0,#090a0d 52%,#050608 100%)}.mainvisual__grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:90px 90px;mask-image:radial-gradient(ellipse at center,#000,transparent 75%);opacity:.8}.mainvisual--inner{height:100%;position:relative;z-index:2;display:flex;flex-direction:column;justify-content:space-between;padding-top:155px;padding-bottom:65px;pointer-events:none}.mv-label{font-size:11px;letter-spacing:.2em;font-weight:700}.mv-label span{color:#a2a6af;margin-left:25px}.mv-text--title{font-size:clamp(80px,12.3vw,240px);line-height:.83;letter-spacing:-.105em;font-weight:800;margin:0 0 20px;position:relative;z-index:2}.mv-line{display:block;overflow:hidden;padding:0 .08em .12em 0;margin-bottom:-.12em}.mv-line>span{display:block}.mv-period{color:#b8bac3}.mv-bottom{display:flex;align-items:flex-end;justify-content:space-between}.mv-text--copy{font-size:24px;font-weight:700;line-height:1.6;letter-spacing:-.04em}.mv-text--copy span{font-size:13px;letter-spacing:.06em;font-weight:400}.mv-scroll{font-size:10px;letter-spacing:.16em}.mv-scroll span{font-size:20px;margin-left:15px}.mv-counter{position:absolute;right:4.5vw;top:50%;writing-mode:vertical-rl;font-size:10px;letter-spacing:.25em;color:#9da1ab}/* Pastel aurora motif: softly blended, translucent floating forms */
.mv-object{position:absolute;z-index:1;left:50%;top:46%;width:min(48vw,640px);aspect-ratio:1;transform:translate(-50%,-50%);pointer-events:none;isolation:isolate;filter:drop-shadow(0 28px 75px rgba(126,134,190,.2))}
.mv-object__glow{position:absolute;inset:-13%;border-radius:50%;background:radial-gradient(ellipse at 50% 50%,rgba(201,174,247,.25) 0%,rgba(150,207,246,.15) 35%,transparent 72%);filter:blur(42px)}
.mv-object__blob{position:absolute;border-radius:46% 54% 60% 40% / 45% 42% 58% 55%;mix-blend-mode:screen;opacity:.85;filter:blur(13px);will-change:transform,border-radius;animation:ni-blob-float 12s ease-in-out infinite alternate,ni-blob-morph 16s ease-in-out infinite alternate}
.mv-object__blob--a{inset:12% 22% 20% 8%;background:radial-gradient(ellipse at 35% 25%,rgba(255,235,247,.97),rgba(226,174,237,.78) 35%,rgba(149,144,229,.46) 75%,transparent 100%);transform:rotate(-20deg)}
.mv-object__blob--b{inset:20% 6% 12% 29%;background:radial-gradient(ellipse at 62% 40%,rgba(226,255,253,.95),rgba(151,217,244,.76) 40%,rgba(147,159,234,.35) 77%,transparent 100%);animation-delay:-5s,-7s}
.mv-object__blob--c{inset:33% 18% 10% 21%;background:radial-gradient(ellipse at 42% 35%,rgba(255,246,214,.9),rgba(248,193,215,.66) 48%,rgba(180,175,242,.25) 78%,transparent 100%);filter:blur(22px);animation-delay:-8s,-4s}
.mv-object__sheen{position:absolute;inset:19%;border-radius:50%;background:radial-gradient(ellipse at 35% 25%,rgba(255,255,255,.25),transparent 65%);filter:blur(28px);animation:ni-sheen 14s ease-in-out infinite alternate}
@keyframes ni-blob-float{0%{translate:-3% 3%;rotate:-8deg;scale:.96}50%{translate:3% -4%;rotate:8deg;scale:1.05}100%{translate:-1% 2%;rotate:-5deg;scale:1}}
@keyframes ni-blob-morph{0%{border-radius:46% 54% 60% 40% / 45% 42% 58% 55%}50%{border-radius:60% 40% 43% 57% / 56% 62% 38% 44%}100%{border-radius:40% 60% 53% 47% / 62% 40% 60% 38%}}
@keyframes ni-sheen{from{opacity:.4;transform:translate(-5%,3%)}to{opacity:.85;transform:translate(6%,-4%)}}
@media(prefers-reduced-motion:reduce){.mv-object__blob,.mv-object__sheen{animation:none!important}}
.loading{position:fixed;inset:0;background:#07080a;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px}.loading__text{font-size:clamp(20px,4vw,48px);font-weight:800;letter-spacing:-.07em}.loading__text span{color:#b6bac4}.loading__bar{width:min(280px,60vw);height:1px;background:#333}.loading__bar i{display:block;height:100%;width:0;background:#fff}.intro{background:#f2f2ef;color:#101114;padding:170px 0 190px}.intro__title{font-size:clamp(50px,7.7vw,115px);line-height:1.45;letter-spacing:-.075em;margin:95px 0 100px}.intro__title span{color:#aaa}.intro__bottom{display:flex;justify-content:space-between;gap:50px;align-items:flex-end}.intro__sub{font-size:clamp(25px,4vw,58px);font-weight:800;line-height:1;letter-spacing:-.06em}.intro__description{font-size:15px;line-height:2.7}.about{background:#101115;padding:160px 0 180px;overflow:hidden}.about__title{font-size:clamp(72px,12vw,180px);line-height:.9;letter-spacing:-.09em;margin:110px 0 115px}.about__title em{font-style:normal;color:#b9bbc2}.about__bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:30px}.about__bottom p{font-size:24px;font-weight:700}.about__bottom small{display:block;font-size:13px;font-weight:400;line-height:2.5}.common-button{min-width:280px;border-bottom:1px solid #ccc;display:flex;justify-content:space-between;padding:20px 0;font-size:12px;letter-spacing:.1em}.common-button__arrow{font-size:22px}.service{background:#f2f2ef;color:#101114;padding:160px 0 180px}.service__heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin:90px 0 110px}.service__title{font-size:clamp(65px,10vw,150px);line-height:.89;letter-spacing:-.085em;margin:0}.service__title em{font-style:normal;color:#9b9ea4}.service__heading>p{font-size:14px}.service__item{display:grid;grid-template-columns:80px 1fr 50px;align-items:center;gap:20px;border-top:1px solid #aaa;padding:38px 0;transition:padding .7s ease}.service__item:last-child{border-bottom:1px solid #aaa}.service__item:hover{padding-left:25px}.service__number{font-size:12px}.service__item h3{font-size:clamp(25px,4.6vw,65px);line-height:1;letter-spacing:-.06em;margin:0 0 12px}.service__item p{font-size:12px;margin:0}.service__arrow{font-size:25px;text-align:right}.news{background:#f2f2ef;color:#101114;padding:100px 0 180px}.news__heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:70px}.news__title{font-size:clamp(70px,11vw,160px);line-height:1;letter-spacing:-.09em;margin:40px 0 0}.news__title span{color:#aaa}.news__empty{padding:35px 0}.contact-cta{background:#090a0c;padding:160px 0 180px;overflow:hidden}.contact-cta__eyebrow{font-size:13px;letter-spacing:.2em;margin-top:100px}.contact-cta__title{font-size:clamp(70px,11vw,170px);line-height:.91;letter-spacing:-.085em;margin:35px 0 100px}.contact-cta__title em{font-style:normal;color:#b8bbc4}.contact-cta__link{border-top:1px solid #aaa;border-bottom:1px solid #aaa;padding:35px 0;display:flex;justify-content:space-between;font-size:22px;font-weight:700;letter-spacing:.08em}.contact-cta__link span:last-child{font-size:35px}@media(max-width:850px){#mainvisual{height:100svh;min-height:650px}.mainvisual--inner{padding-top:140px;padding-bottom:45px}.mv-label{font-size:9px;line-height:1.8}.mv-label span{display:block;margin:0}.mv-text--title{font-size:15.5vw;letter-spacing:-.105em}.mv-object{width:85vw;top:43%;left:52%}.mv-bottom{align-items:flex-start;gap:20px;flex-direction:column}.mv-text--copy{font-size:20px}.mv-scroll{font-size:9px}.mv-counter{display:none}.intro,.about,.service,.contact-cta{padding:100px 0}.intro__title{margin:70px 0;font-size:clamp(43px,9vw,80px)}.intro__bottom{display:block}.intro__sub{margin-bottom:50px}.intro__description{font-size:13px;line-height:2.5}.about__title{margin:85px 0;font-size:12vw}.about__bottom{align-items:stretch;flex-direction:column}.about__bottom p{font-size:21px}.service__heading{display:block;margin:70px 0}.service__title{font-size:12vw;margin-bottom:35px}.service__item{grid-template-columns:35px 1fr 25px;gap:8px;padding:30px 0}.service__item h3{font-size:clamp(20px,5vw,35px);overflow-wrap:anywhere}.service__item p{font-size:11px}.news{padding:70px 0 100px}.news__heading{margin-bottom:45px}.news__title{font-size:90px}.contact-cta__title{font-size:12vw;margin:40px 0 70px}.contact-cta__eyebrow{margin-top:80px}.contact-cta__link{font-size:16px}}
/* Japanese copy additions — retain the original layout and motion */
.mv-text--description{display:block;margin-top:18px;font-size:12px;font-weight:400;letter-spacing:.04em;line-height:2;color:#c7c9cf}.service__lead{max-width:380px;line-height:1.8}.service__lead small{display:block;margin-top:15px;font-size:12px;font-weight:400;line-height:2;color:#53565c}.contact-cta__eyebrow span{font-size:12px;letter-spacing:.04em;color:#c2c5cc}.contact-cta__description{font-size:14px;line-height:2.2;color:#c9cbd1;margin:-55px 0 55px}.page-hero__description{display:inline-block;margin-top:15px;font-size:14px;line-height:2;color:#c7c9cf}.heading-ja{display:block;font-size:15px;letter-spacing:.05em;font-weight:500;margin-top:10px}.section-title__en{line-height:1.8}
@media(max-width:850px){.mv-text--description{font-size:11px;margin-top:12px}.service__lead{margin-top:25px}.contact-cta__eyebrow span{display:block;margin-top:10px}.contact-cta__description{font-size:12px;margin:-30px 0 45px}.page-hero__description{font-size:12px}}

/* 2026-11 visual refresh: light editorial hero / glass-particle ring */
#mainvisual{background:radial-gradient(ellipse at 65% 44%,#fff 0%,#f5f5f7 44%,#e9e9ed 100%);color:#16171a;min-height:670px}
#mainvisual .mainvisual__grid{background-image:linear-gradient(rgba(35,35,50,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(35,35,50,.035) 1px,transparent 1px)}
#mainvisual .mainvisual--inner{padding-top:145px;padding-bottom:55px;justify-content:space-between}
#mainvisual .mv-text--title{font-family:'Noto Sans JP',sans-serif;font-size:clamp(43px,5.5vw,92px);font-weight:700;line-height:1.35;letter-spacing:-.075em;max-width:900px;margin:0;position:relative;z-index:3;text-shadow:0 2px 22px rgba(255,255,255,.6)}
#mainvisual .mv-label{color:#454751;letter-spacing:.08em}
#mainvisual .mv-label span{color:#777982}
#mainvisual .mv-text--copy{font-size:14px;font-weight:500;color:#373944;letter-spacing:.03em}
#mainvisual .mv-text--copy span{font-size:14px}
#mainvisual .mv-text--english{font-size:17px!important;font-weight:700;letter-spacing:.01em}
#mainvisual .mv-text--description{color:#60636c;font-size:12px}
#mainvisual .mv-scroll,#mainvisual .mv-counter{color:#666972}
#mainvisual .mv-object{width:min(52vw,680px);left:67%;top:51%;transform:translate(-50%,-50%);filter:drop-shadow(0 35px 28px rgba(85,80,110,.12));animation:ni-ring-hover 10s ease-in-out infinite alternate}
#mainvisual .mv-object img{display:block;width:100%;height:100%;object-fit:contain;animation:ni-ring-rotate 34s linear infinite}
@keyframes ni-ring-hover{from{translate:0 -8px}to{translate:0 12px}}
@keyframes ni-ring-rotate{from{rotate:-6deg}to{rotate:18deg}}
#mainvisual .mv-bottom{position:relative;z-index:3}
#mainvisual .mv-text--title .mv-line{overflow:hidden}
.about__title,.service__title,.contact-cta__title{font-family:'Noto Sans JP',sans-serif;font-size:clamp(44px,6.6vw,104px);letter-spacing:-.075em;line-height:1.45}
.about__title em,.service__title em,.contact-cta__title em{font-style:normal}
.loading{background:#f4f4f6;color:#18191d}.loading__text span{color:#747680}.loading__bar{background:#d8d8dc}.loading__bar i{background:#272833}
@media(max-width:850px){#mainvisual{min-height:650px}#mainvisual .mainvisual--inner{padding-top:125px;padding-bottom:40px}#mainvisual .mv-text--title{font-size:clamp(38px,9vw,67px);line-height:1.4}#mainvisual .mv-object{width:105vw;left:58%;top:48%;opacity:.8}#mainvisual .mv-text--copy{font-size:12px}#mainvisual .mv-text--copy span{font-size:12px}#mainvisual .mv-text--description{font-size:10px}.about__title,.service__title,.contact-cta__title{font-size:clamp(38px,9vw,75px)}}
@media(prefers-reduced-motion:reduce){#mainvisual .mv-object,#mainvisual .mv-object img{animation:none!important}}

/* Thought cloud: no ring, no fixed silhouette. Thousands of translucent ideas drift. */
#mainvisual .mv-object{width:min(63vw,840px);height:min(76vh,760px);aspect-ratio:auto;left:65%;top:49%;filter:none;animation:none;overflow:visible;opacity:1}
#mainvisual .mv-thought-canvas{width:100%;height:100%;display:block;filter:drop-shadow(0 22px 38px rgba(119,115,158,.09))}
#mainvisual .mv-text--title{z-index:4}
@media(max-width:850px){#mainvisual .mv-object{width:115vw;height:65vh;left:59%;top:46%;opacity:.77}}
@media(prefers-reduced-motion:reduce){#mainvisual .mv-object{animation:none!important}}

/* Iridescent thought-cloud: light background, deep cobalt accents */
#mainvisual{background:radial-gradient(ellipse at 62% 46%,#fff 0%,#f5f6f9 54%,#e9ebf1 100%)}
#mainvisual .mv-object{width:min(72vw,920px);height:min(83vh,800px);left:66%;top:50%;opacity:1;filter:none}
#mainvisual .mv-thought-canvas{filter:drop-shadow(0 26px 35px rgba(45,63,107,.10))}
#mainvisual .mv-text--title{max-width:900px;text-shadow:0 3px 24px rgba(255,255,255,.75)}
#mainvisual .mv-label span,.mv-period{color:var(--ni-blue)}
#mainvisual .mv-scroll span{color:var(--ni-blue)}
.service__number,.news__item time{color:var(--ni-blue)}
.common-button,.contact-cta__link{transition:color .5s ease,border-color .5s ease}
@media(max-width:850px){#mainvisual .mv-object{width:130vw;height:68vh;left:57%;top:47%;opacity:.82}}


/* Next Innovation: black hero + atmospheric color behind thought particles */
#mainvisual{background:radial-gradient(ellipse at 66% 48%,#151724 0%,#0a0b11 49%,#030407 100%);color:#f6f7fa}
#mainvisual .mainvisual__grid{background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px)}
#mainvisual .mv-text--title{color:#f6f7fa;text-shadow:0 3px 32px rgba(0,0,0,.38)}
#mainvisual .mv-label{color:#e6e9f1}
#mainvisual .mv-label span{color:#B5C0D0}
#mainvisual .mv-text--copy,#mainvisual .mv-text--copy span{color:#f0f2f8}
#mainvisual .mv-text--description{color:#b8c0d2}
#mainvisual .mv-scroll,#mainvisual .mv-counter{color:#c2c9d8}
#mainvisual .mv-scroll span{color:#155EEF}
#mainvisual .mv-object{isolation:isolate}
#mainvisual .mv-thought-canvas{position:relative;z-index:2;filter:drop-shadow(0 16px 34px rgba(94,128,230,.23))}
#mainvisual .mv-aurora{position:absolute;inset:4% -1%;z-index:1;pointer-events:none;filter:blur(35px);opacity:.83;animation:ni-aurora-breathe 12s ease-in-out infinite alternate}
#mainvisual .mv-aurora__light{position:absolute;display:block;border-radius:50%;mix-blend-mode:screen;filter:blur(35px);animation:ni-aurora-drift 15s ease-in-out infinite alternate}
#mainvisual .mv-aurora__light--a{width:65%;height:66%;left:4%;top:9%;background:radial-gradient(ellipse,rgba(79,109,230,.48) 0%,rgba(97,84,180,.23) 45%,transparent 73%)}
#mainvisual .mv-aurora__light--b{width:67%;height:62%;right:0;top:25%;background:radial-gradient(ellipse,rgba(62,173,207,.33) 0%,rgba(76,103,207,.18) 48%,transparent 75%);animation-delay:-6s}
#mainvisual .mv-aurora__light--c{width:55%;height:58%;left:22%;bottom:1%;background:radial-gradient(ellipse,rgba(182,94,188,.29) 0%,rgba(222,129,163,.11) 50%,transparent 76%);animation-delay:-10s}
@keyframes ni-aurora-breathe{from{opacity:.66;transform:scale(.94) rotate(-5deg)}to{opacity:.95;transform:scale(1.08) rotate(5deg)}}
@keyframes ni-aurora-drift{from{transform:translate(-4%,3%) scale(.92)}to{transform:translate(6%,-5%) scale(1.12)}}
@media(max-width:850px){#mainvisual .mv-aurora{opacity:.68;filter:blur(28px)}#mainvisual .mv-text--title{text-shadow:0 2px 16px rgba(0,0,0,.55)}}
@media(prefers-reduced-motion:reduce){#mainvisual .mv-aurora,#mainvisual .mv-aurora__light{animation:none!important}}

/* Next Innovation accent — Aqua Mint */
:root{--ni-blue:#155EEF;--ni-blue-hover:#073A9E;--ni-accent:#155EEF}

/* Accent details and accessible button contrast */
.service__number,.service__arrow,.contact-cta__link span:last-child,.intro__title span{color:var(--ni-accent)}
.common-button__arrow{color:var(--ni-accent)}
.service__item:hover,.service__item:focus-visible{border-color:var(--ni-accent)}
.contact-cta__link:hover,.contact-cta__link:focus-visible{border-color:var(--ni-accent)}

/* Dark-to-light hero, neutral punctuation, restrained slate accent */
#mainvisual{background:linear-gradient(180deg,#030407 0%,#090b12 30%,#242b3a 53%,#777e8b 73%,#d9dce1 89%,#f2f2ef 100%);color:#f6f7fa}
#mainvisual::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 67% 45%,rgba(94,112,167,.14),transparent 54%);z-index:0}
#mainvisual .mv-bottom{color:#17202b}
#mainvisual .mv-text--copy,#mainvisual .mv-text--copy span{color:#17202b}
#mainvisual .mv-text--description{color:#394452}
#mainvisual .mv-scroll{color:#394452}
#mainvisual .mv-scroll span{color:#566a86}
#mainvisual .mv-counter{color:#d9dce3}
#mainvisual .mv-label span{color:#b5c0d0}
#mainvisual .mv-period,.intro__title span{color:#a9abb2!important}
#mainvisual .mv-aurora{opacity:.76}
.intro{background:#f2f2ef}
@media(max-width:850px){#mainvisual{background:linear-gradient(180deg,#030407 0%,#0b0d16 35%,#303849 58%,#9ca2ad 80%,#f2f2ef 100%)}#mainvisual .mv-bottom{position:relative;z-index:4}#mainvisual .mv-text--copy,#mainvisual .mv-text--copy span{color:#17202b}#mainvisual .mv-text--description{color:#364252}}

/* 2026-11: one continuous page-wide black-to-white gradient, NOT a hero-only gradient. */
body.home{background:#f6f6f4}
body.home #top{background:linear-gradient(180deg,#030407 0%,#080b12 17%,#151b28 34%,#555d6b 51%,#c4c9d0 69%,#f0f1f0 85%,#fafaf8 100%)}
body.home #top #mainvisual,body.home #top .intro,body.home #top .about,body.home #top .service,body.home #top .contact-cta{background:transparent!important}
body.home #mainvisual::after{background:radial-gradient(ellipse at 67% 45%,rgba(94,112,167,.12),transparent 54%)}
body.home .intro{color:#f5f5f7}
body.home .intro__title span{color:#a9abb2!important}
body.home .intro__description{color:#e1e4ec}
body.home .about{color:#f8f8fa}
body.home .about__title em{color:#d1d4dc}
body.home .service{color:#171b22}
body.home .service__title em{color:#525d6b}
body.home .contact-cta{color:#151b23}
body.home .contact-cta__title em{color:#68717e}
body.home .contact-cta__eyebrow span,body.home .contact-cta__description{color:#525e6b}
body.home .contact-cta__link{border-color:#808995}
body.home .contact-cta__link:hover{color:var(--ni-accent)}
body.home .mv-text--copy,body.home .mv-text--copy span{color:#f0f2f8!important}
body.home .mv-text--description{color:#b8c0d2!important}
body.home .mv-scroll{color:#d0d5df!important}
body.home .mv-scroll span{color:#155EEF!important}
@media(max-width:850px){body.home #top{background:linear-gradient(180deg,#030407 0%,#0b0e16 17%,#1c2534 36%,#626c7a 52%,#c5cbd1 70%,#f3f4f2 87%,#fafaf8 100%)}}

/* Loading screen: always dark, independent of the full-page gradient */
#loading.loading{background:#050608;color:#f5f5f6;}
#loading .loading__text{color:#f5f5f6;}
#loading .loading__text span{color:#aeb3bf;}
#loading .loading__bar{background:#343840;}
#loading .loading__bar i{background:#f5f5f6;}

/* Accent color only; punctuation remains neutral. */
#mainvisual .mv-period{color:#a9abb2}

/* KDA-inspired kinetic editorial treatment; original page-wide background retained. */
:root{--ni-accent:#ff6b45;--ni-accent-light:#ffad79;--ni-accent-dark:#cb3f49;--ni-accent-gradient:linear-gradient(120deg,#ffad79,#ff6b45 54%,#cb3f49)}
body.home #top{position:relative;isolation:isolate}
body.home #top .section-title__en{display:inline-flex;align-items:center;gap:18px;letter-spacing:.19em;font-weight:700}
body.home #top .section-title__en:before{content:'';display:inline-block;width:28px;height:2px;background:var(--ni-accent);transform-origin:left;transition:transform .65s cubic-bezier(.2,.7,.1,1)}
body.home #top section:hover .section-title__en:before{transform:scaleX(1.7)}
body.home #top .intro__sub{color:var(--ni-accent);letter-spacing:-.055em}
body.home #top .service__number,body.home #top .service__arrow,body.home #top .common-button__arrow,body.home #top .contact-cta__link span:last-child{color:var(--ni-accent)!important}
body.home #top .mv-period{color:#b8bac3!important}
body.home #top .intro__title span{color:#9da0a8!important}
body.home #top .service__item{position:relative;isolation:isolate;overflow:hidden;transition:padding .55s cubic-bezier(.2,.8,.2,1),color .4s ease}
body.home #top .service__item:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,rgba(255,107,69,.13),rgba(255,173,121,.04) 65%,transparent);transform:scaleX(0);transform-origin:left;transition:transform .65s cubic-bezier(.2,.8,.2,1)}
body.home #top .service__item:hover:before,body.home #top .service__item:focus-visible:before{transform:scaleX(1)}
body.home #top .service__item:hover h3{color:var(--ni-accent)}
body.home #top .contact-cta__link:hover{color:var(--ni-accent)}
body.home #top .common-button__arrow,body.home #top .service__arrow{transition:transform .5s cubic-bezier(.16,1,.3,1),color .4s}
body.home #top .common-button:hover .common-button__arrow,body.home #top .service__item:hover .service__arrow{transform:translate(9px,-9px)}
/* Type motion and staggered reveals. Animation class added only by JS. */
body.ni-motion-ready .ni-kinetic{opacity:0;transform:translate3d(0,65px,0) rotate(1deg);filter:blur(7px);transition:opacity 1.05s cubic-bezier(.2,.8,.2,1),transform 1.05s cubic-bezier(.2,.8,.2,1),filter 1.05s ease;transition-delay:var(--ni-delay,0ms)}
body.ni-motion-ready .ni-kinetic.is-visible{opacity:1;transform:translate3d(0,0,0) rotate(0);filter:blur(0)}
body.home #top .ni-kinetic-rule{height:1px;background:linear-gradient(90deg,var(--ni-accent),transparent);transform:scaleX(0);transform-origin:left;transition:transform 1.3s cubic-bezier(.2,.8,.2,1)}
body.home #top .ni-kinetic-rule.is-visible{transform:scaleX(1)}
body.home #top .ni-ticker{width:100%;overflow:hidden;white-space:nowrap;pointer-events:none;position:relative;padding:12px 0;border-top:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16);color:rgba(255,255,255,.34);font-weight:800;letter-spacing:-.055em;font-size:clamp(26px,4.5vw,72px);line-height:1.15}
body.home #top .ni-ticker__track{display:flex;width:max-content;animation:ni-ticker 35s linear infinite;gap:2em}
body.home #top .ni-ticker__track span{display:block}
body.home #top .ni-ticker__track b{font-weight:800;color:var(--ni-accent)}
@keyframes ni-ticker{to{transform:translateX(-50%)}}
body.home #top .ni-kinetic-spot{position:absolute;inset:auto auto 0 0;width:42vw;height:42vw;border-radius:50%;background:radial-gradient(circle,rgba(255,107,69,.13),transparent 67%);filter:blur(42px);pointer-events:none;z-index:0}
@media(max-width:850px){body.home #top .ni-ticker{font-size:30px}body.home #top .ni-kinetic-spot{width:75vw;height:75vw}}
@media(prefers-reduced-motion:reduce){body.ni-motion-ready .ni-kinetic{opacity:1;transform:none;filter:none;transition:none}body.home #top .ni-ticker__track{animation:none}body.home #top .ni-kinetic-rule{transform:none;transition:none}}

/* Fixed reference artwork + translucent page-length gradient */
body.home{background:#030407!important;overflow-x:hidden}
body.home .ni-fixed-art{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;background:#030407}
body.home .ni-fixed-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;opacity:.85;filter:saturate(1.05)}
body.home #top{position:relative;z-index:1;background:linear-gradient(180deg,rgba(3,4,7,.12) 0%,rgba(6,8,15,.22) 18%,rgba(21,27,40,.52) 35%,rgba(85,93,107,.76) 53%,rgba(196,201,208,.90) 72%,rgba(240,241,240,.96) 87%,#fafaf8 100%)!important}
body.home .ni-ticker{display:none!important}
body.home .mv-object{display:none!important}
body.home #top>section{position:relative;isolation:isolate;overflow:hidden}
body.home #top>section>.container,body.home #top>section>.mainvisual--inner{position:relative;z-index:2}
body.home .ni-watermark{position:absolute;inset:0;z-index:0;pointer-events:none;display:flex;flex-direction:column;justify-content:center;gap:clamp(10px,2vw,28px);overflow:hidden;opacity:0;transition:opacity 900ms ease}
body.home .ni-watermark.is-inview{opacity:1}
body.home .ni-watermark__line{font-family:Arial,Helvetica,sans-serif;font-size:clamp(64px,10vw,185px);font-weight:500;line-height:1;letter-spacing:-.065em;white-space:nowrap;width:max-content;color:rgba(226,231,245,.15);will-change:transform;transform:translate3d(var(--ni-shift,0px),0,0)}
body.home #service .ni-watermark__line,body.home #contact .ni-watermark__line{color:rgba(22,34,54,.11)}
body.home #introduction .ni-watermark{justify-content:flex-start;padding-top:10%}
body.home #about .ni-watermark{justify-content:flex-end;padding-bottom:9%}
body.home #service .ni-watermark{justify-content:flex-start;padding-top:8%}
body.home #contact .ni-watermark{justify-content:center}
@media(max-width:767px){body.home .ni-fixed-art img{object-position:54% center}body.home .ni-watermark__line{font-size:clamp(56px,15vw,110px)}body.home .ni-watermark{gap:20px}}
@media(prefers-reduced-motion:reduce){body.home .ni-watermark{opacity:1!important;transition:none}body.home .ni-watermark__line{transform:none!important}}

/* Revision: original cobalt-era particle hero, fixed art still visible below. */
body.home #top #mainvisual{background:radial-gradient(ellipse at 66% 48%,#151724 0%,#0a0b11 49%,#030407 100%)!important;isolation:isolate}
body.home #top #mainvisual .mv-object{display:block!important}
body.home #top #mainvisual .mainvisual--inner{z-index:3}
body.home #top #mainvisual .mainvisual__grid{z-index:1}
body.home #about .ni-watermark{justify-content:center;padding:0;gap:clamp(12px,2.5vw,34px)}
body.home #about .ni-watermark__line{opacity:0;filter:blur(9px);transform:translate3d(calc(var(--ni-shift,0px) + 60px),30px,0);transition:opacity .9s ease,filter 1.1s ease,transform 1.35s cubic-bezier(.2,.75,.2,1)}
body.home #about .ni-watermark.is-inview .ni-watermark__line.is-revealed{opacity:1;filter:blur(0);transform:translate3d(var(--ni-shift,0px),0,0)}
body.home #about .ni-watermark__line:nth-child(2){transition-delay:.28s}
body.home #about .ni-watermark__line:nth-child(3){transition-delay:.56s}
@media(prefers-reduced-motion:reduce){body.home #about .ni-watermark__line{opacity:1!important;filter:none!important;transform:none!important;transition:none!important}}

/* 2026-11-14: fixed reference visual, progressively blurred as the page scrolls. */
body.home .ni-fixed-art img{opacity:.88;filter:blur(var(--ni-art-blur,0px)) saturate(1.05);transform:scale(1.07);transition:filter .12s linear;will-change:filter}
body.home #top{background:linear-gradient(180deg,rgba(3,4,7,.10) 0%,rgba(6,8,15,.24) 18%,rgba(21,27,40,.50) 35%,rgba(85,93,107,.76) 53%,rgba(196,201,208,.91) 72%,rgba(240,241,240,.97) 87%,#fafaf8 100%)!important}
/* Restore editorial watermark: one section, continuous horizontal scroll drift. */
body.home #about .ni-watermark{justify-content:center;padding:0;gap:clamp(12px,2.5vw,34px)}
body.home #about .ni-watermark__line{opacity:1;filter:none;transform:translate3d(var(--ni-shift,0px),0,0);transition:none}
body.home #about .ni-watermark.is-inview .ni-watermark__line{opacity:1;filter:none;transform:translate3d(var(--ni-shift,0px),0,0)}
@media(prefers-reduced-motion:reduce){body.home .ni-fixed-art img{filter:none;transition:none}}

/* 2026-11-14: Keep the ACTUAL animated hero particles fixed behind the page. */
:root{--ni-blue:#F36A21;--ni-blue-hover:#B63C0A;--ni-accent:#F36A21;--ni-accent-light:#FFAA62;--ni-accent-dark:#B63C0A;--ni-accent-gradient:linear-gradient(120deg,#FFAA62 0%,#F36A21 55%,#B63C0A 100%)}
body.home .ni-fixed-art{position:fixed;inset:0;z-index:0;overflow:hidden;background:radial-gradient(ellipse at 65% 48%,#161724 0%,#0b0c13 52%,#030407 100%);pointer-events:none;filter:blur(var(--ni-art-blur,0px));transition:filter .12s linear;will-change:filter}
body.home .ni-fixed-art .mv-object{display:block!important;position:absolute;left:67%;top:51%;width:min(52vw,680px);aspect-ratio:1;transform:translate(-50%,-50%);opacity:1;z-index:1;animation:none!important}
body.home .ni-fixed-art .mv-thought-canvas{display:block;width:100%;height:100%}
body.home #top #mainvisual{background:transparent!important;isolation:auto}
body.home #top #mainvisual .mv-object{display:none!important}
body.home #top{background:linear-gradient(180deg,rgba(3,4,7,.03) 0%,rgba(6,8,15,.19) 18%,rgba(21,27,40,.49) 35%,rgba(85,93,107,.77) 53%,rgba(196,201,208,.92) 72%,rgba(240,241,240,.98) 87%,#fafaf8 100%)!important}
body.home #top .mv-scroll span,body.home #top .service__number,body.home #top .service__arrow,body.home #top .common-button__arrow,body.home #top .contact-cta__link span:last-child{color:var(--ni-accent)!important}
body.home #top .service__item:before{background:linear-gradient(100deg,rgba(243,106,33,.14),rgba(255,170,98,.05) 65%,transparent)}
body.home #top .ni-kinetic-spot{background:radial-gradient(circle,rgba(243,106,33,.12),transparent 67%)}
body.home #top .section-title__en:before{background:var(--ni-accent)}
body.home #top .intro__sub{color:var(--ni-accent)}
body.home #top .ni-watermark__line{color:rgba(226,231,245,.15)}
@media(max-width:850px){body.home .ni-fixed-art .mv-object{width:105vw;left:58%;top:48%}}
@media(prefers-reduced-motion:reduce){body.home .ni-fixed-art{filter:none;transition:none}}

/* 2026-11-14: Continuous light ending into footer, consistent arrow scale, editorial CTA. */
body.home{background:#fafaf8}
body.home .site-footer{position:relative;z-index:1;background:transparent!important;color:#151b23;border-top:1px solid rgba(30,36,46,.15)}
body.home .footer-bottom{border-top-color:rgba(30,36,46,.18);color:#59616d}
/* One optical arrow size across header, section links and footer CTA. */
body.home .header-nav a:last-child span,
body.home .common-button__arrow,
body.home .service__arrow,
body.home .contact-cta__link span:last-child{font-size:24px!important;line-height:1!important;font-weight:400!important;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
body.home .header-nav a:last-child span{margin-left:20px}
/* Statement CTA: full-width vivid-orange surface with subtle sheen and oversized type. */
body.home #top .contact-cta__link{position:relative;isolation:isolate;overflow:hidden;min-height:132px;display:flex;align-items:center;gap:20px;padding:32px clamp(24px,4.5vw,70px);margin-top:42px;border:1px solid rgba(255,255,255,.3);border-radius:6px;background:linear-gradient(112deg,#B63C0A 0%,#F36A21 42%,#FFAA62 100%);box-shadow:0 18px 45px rgba(182,60,10,.22),inset 0 1px rgba(255,255,255,.34);color:#fff!important;font-size:clamp(22px,3vw,43px);letter-spacing:.03em;transition:box-shadow .45s ease,transform .45s ease}
body.home #top .contact-cta__link::before{content:'';position:absolute;inset:-130% auto -130% -35%;width:38%;transform:rotate(22deg) translateX(-120%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:transform .85s cubic-bezier(.2,.8,.2,1);pointer-events:none}
body.home #top .contact-cta__link span{position:relative;z-index:1;color:#fff!important}
body.home #top .contact-cta__link span:last-child{width:58px;height:58px;border:1px solid rgba(255,255,255,.7);border-radius:50%;font-size:24px!important}
@media(hover:hover){body.home #top .contact-cta__link:hover{transform:translateY(-4px);box-shadow:0 26px 65px rgba(182,60,10,.32),inset 0 1px rgba(255,255,255,.4)}body.home #top .contact-cta__link:hover::before{transform:rotate(22deg) translateX(520%)}}
@media(max-width:850px){body.home #top .contact-cta__link{min-height:104px;padding:24px 20px;font-size:clamp(18px,5vw,26px)}body.home #top .contact-cta__link span:last-child{width:46px;height:46px}}
@media(prefers-reduced-motion:reduce){body.home #top .contact-cta__link,body.home #top .contact-cta__link::before{transition:none!important}}

/* 2026-11-14: Restore a distinct black footer and white wordmark. */
body.home .site-footer{background:#07080A!important;color:#fff!important;border-top:1px solid rgba(255,255,255,.13)!important;position:relative;z-index:3}
body.home .site-footer .footer-logo,body.home .site-footer .footer-logo span{color:#fff!important}
body.home .site-footer .footer-bottom{border-top-color:rgba(255,255,255,.18)!important;color:#b7bac2!important}
body.home .site-footer .footer-bottom a{color:#fff}
/* Mobile: avoid expensive per-scroll blur of the full fixed canvas. */
@media(max-width:850px){body.home .ni-fixed-art{filter:none!important;transition:none!important;will-change:auto}body.home .ni-fixed-art .mv-object{width:min(112vw,560px);left:57%}}

/* 2026-11-14 refinement: compact CTA, soft white footer transition, no heading-rule collision */
body.home #top .contact-cta__link{min-height:76px!important;max-width:690px;margin:36px auto 0!important;padding:18px 26px!important;font-size:clamp(16px,1.8vw,23px)!important;border-radius:9px!important;box-shadow:0 10px 28px rgba(182,60,10,.16),inset 0 1px rgba(255,255,255,.25)!important}
body.home #top .contact-cta__link span:last-child{width:38px!important;height:38px!important;font-size:22px!important}
body.home .site-footer{isolation:isolate;border-top:0!important;background:#07080A!important;box-shadow:0 -14px 42px rgba(255,255,255,.18)!important}
body.home .site-footer::before{content:'';position:absolute;left:0;right:0;top:-42px;height:43px;pointer-events:none;background:linear-gradient(to bottom,rgba(255,255,255,0),rgba(255,255,255,.28) 72%,rgba(255,255,255,.07));opacity:.85}
body.home #top .section-title__en{gap:18px!important;position:relative}
body.home #top .section-title__en::before{width:28px!important;min-width:28px!important;flex:0 0 28px!important;transform:none!important;transition:opacity .5s ease!important}
body.home #top section:hover .section-title__en::before{transform:none!important;opacity:.7}
@media(max-width:850px){body.home #top .contact-cta__link{min-height:68px!important;padding:15px 18px!important;font-size:16px!important}body.home #top .contact-cta__link span:last-child{width:34px!important;height:34px!important;font-size:20px!important}body.home .site-footer::before{top:-28px;height:29px}}

/* 2026-11-14: CTA arrow stays white, including hover and focus. */
body.home #top .contact-cta__link span:last-child,
body.home #top .contact-cta__link:hover span:last-child,
body.home #top .contact-cta__link:focus-visible span:last-child {
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
/* Soft white halo only along the upper edge of the black footer. */
body.home .site-footer {
  box-shadow:none!important;
  border-top:0!important;
  background:#07080a!important;
  isolation:isolate;
}
body.home .site-footer::before {
  content:"";
  position:absolute;
  left:0;right:0;top:-34px;
  height:35px;
  pointer-events:none;
  background:linear-gradient(to bottom,rgba(255,255,255,0),rgba(255,255,255,.32) 78%,rgba(255,255,255,.08));
  filter:blur(7px);
  opacity:.85;
}

/* Footer: subtle inward white glow from left, right and bottom edges.
   Keep the existing soft upper-edge glow in ::before. */
body.home .site-footer {
  box-shadow: inset 22px 0 38px -24px rgba(255,255,255,.32),
              inset -22px 0 38px -24px rgba(255,255,255,.32),
              inset 0 -26px 48px -28px rgba(255,255,255,.30) !important;
}
@media (max-width: 850px) {
  body.home .site-footer {
    box-shadow: inset 14px 0 26px -16px rgba(255,255,255,.27),
                inset -14px 0 26px -16px rgba(255,255,255,.27),
                inset 0 -18px 32px -20px rgba(255,255,255,.26) !important;
  }
}

/* Introduction: raise the Japanese copy and reduce the empty space above it. */
body.home .intro{padding-top:115px;}
body.home .intro__title{margin-top:55px;margin-bottom:70px;}
@media(max-width:850px){body.home .intro{padding-top:78px;}body.home .intro__title{margin-top:38px;margin-bottom:45px;}}
