/* Komori department films and the same-page department stage. Header is outside this scope. */
.dc-scene { --dc-accent:#168ec1; position:relative; isolation:isolate; min-height:100svh; overflow:hidden; background:#061726; color:#eef7fc; scroll-margin-top:var(--ki-offset,98px); }
.dc-media,.dc-shade,.dc-glow { position:absolute; inset:0; pointer-events:none; }
.dc-media { z-index:-3; background-position:center; background-size:cover; transform:scale(1.04); }
.dc-media video { width:100%; height:100%; object-fit:cover; opacity:.4; filter:saturate(.65); }
.dc-shade { z-index:-2; background:linear-gradient(105deg,#03121bec,#061e2dc9 55%,#061d2ba6),linear-gradient(0deg,#03121b,transparent 35%); }
.dc-glow { z-index:-1; background:radial-gradient(ellipse at 80% 50%,color-mix(in srgb,var(--dc-accent) 28%,transparent),transparent 60%); }
.dc-scene::after { content:''; position:absolute; z-index:-1; inset:0; pointer-events:none; background:linear-gradient(135deg,transparent 48%,#c2edff05 49%,transparent 50%); }
.dc-video-control { position:absolute; bottom:26px; right:28px; z-index:5; padding:9px 15px; border:1px solid #c4e8ff35; border-radius:999px; background:#041727bb; color:#c3e0ec; font-size:11px; cursor:pointer; }
.dc-video-control[hidden] { display:none!important; }
.dc-scene-grid { display:grid; grid-template-columns:1.05fr 1fr; gap:60px; align-items:center; position:relative; z-index:2; }
.dc-story,.dc-signature { display:flex; align-items:center; padding:110px 0 150px; }
.dc-copy .dc-eyebrow,.dc-preview .dc-eyebrow { font-size:11px; font-weight:650; letter-spacing:.16em; text-transform:uppercase; line-height:1.6; color:#8bd5ec; margin:0 0 24px; }
.dc-copy>h2 { font-size:clamp(3.8rem,6vw,6.5rem); line-height:1.02; letter-spacing:-.055em; margin:0 0 32px; max-width:13ch; color:white; text-wrap:balance; }
.dc-copy>p:not(.dc-eyebrow) { font-size:17px; line-height:1.9; max-width:580px; color:#c1d6e2; }
.dc-steps { list-style:none; padding:0; margin:38px 0 0; display:flex; flex-wrap:wrap; gap:12px; }
.dc-steps li,.dc-preview-services span { display:flex; align-items:center; gap:12px; padding:13px 17px; border:1px solid #abdaeb33; border-radius:999px; background:#12314788; font-size:12px; }
.dc-steps li>span { color:#85d4ef; font-size:10px; }
.dc-word { position:absolute; left:7%; bottom:12%; color:#c3efff06; font-size:clamp(80px,15vw,210px); letter-spacing:-.07em; font-weight:800; pointer-events:none; }
.dc-art { position:relative; width:100%; aspect-ratio:1.15; min-width:0; color:#75dcf1; border:1px solid #a3e4f826; border-radius:30px; background:radial-gradient(ellipse at 50% 50%,#25668735,transparent 65%),#0620328c; backdrop-filter:blur(9px); box-shadow:0 40px 110px #00101b44; overflow:hidden; }
.dc-art-grid { position:absolute; inset:0; background-image:linear-gradient(#86d8ec0b 1px,transparent 1px),linear-gradient(90deg,#86d8ec0b 1px,transparent 1px); background-size:35px 35px; transform:perspective(700px) rotateX(10deg); }
.dc-art-kanji { position:absolute; bottom:6%; right:7%; font-size:130px; line-height:1; color:#a8e1f608; }
.dc-art-orbit { position:absolute; width:80%; aspect-ratio:1; border:1px dashed #a0e0f527; border-radius:50%; left:10%; top:4%; animation:dc-spin 44s linear infinite; }
.dc-machine,.dc-route,.dc-network { position:absolute; inset:0; width:100%; height:100%; }
.dc-machine-belt { animation:dc-belt 2s linear infinite; }
.dc-machine-scan { animation:dc-scan 4s ease-in-out infinite; }
.dc-route-line,.dc-network-path { stroke-dasharray:8 14; animation:dc-flow 6s linear infinite; }
.dc-route-pulse { transform-origin:center; animation:dc-pulse 3s ease-in-out infinite; }
.dc-art-center { position:absolute; left:50%; top:50%; translate:-50% -50%; width:120px; height:120px; border:1px solid #7bcde660; border-radius:25px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; background:#0b2c42df; box-shadow:0 0 70px #399bc930; }
.dc-art-center>.material-icons { font-size:42px; }
.dc-art-center>strong { font-size:14px; letter-spacing:.06em; }
.dc-art-tags { position:absolute; inset:0; }
.dc-art-tag { position:absolute; display:flex; align-items:center; gap:10px; padding:13px 17px; border:1px solid #ace8f643; border-radius:10px; background:#12334ae6; box-shadow:0 10px 40px #00141d22; font-size:12px; color:#e7f9ff; animation:dc-float 6s ease-in-out infinite; }
.dc-art-tag>small { font-size:9px; color:#7bcee4; }
.dc-art-tag--0 { left:6%; top:7%; }.dc-art-tag--1 { right:5%; top:27%; animation-delay:-2s; }.dc-art-tag--2 { right:9%; bottom:8%; animation-delay:-4s; }
.dc-promotion-rings { position:absolute; inset:0; display:grid; place-items:center; }
.dc-promotion-rings i { position:absolute; width:38%; aspect-ratio:1; border:1px solid #dd9bcc70; border-radius:50%; animation:dc-broadcast 6s ease-out infinite; }
.dc-promotion-rings i:nth-child(2) { animation-delay:-2s; }.dc-promotion-rings i:nth-child(3) { animation-delay:-4s; }
.dc-art--promotion { color:#e3acd1; }.dc-art--logistics { color:#6bdfce; }
.dc-action { display:inline-flex; align-items:center; justify-content:space-between; gap:32px; margin-top:30px; padding:18px 26px; min-height:52px; border:1px solid #8ae0f453; border-radius:999px; background:#143b52bf; color:#fff; font-weight:650; font-size:13px; transition:background .2s,border-color .2s; }
.dc-action:hover,.dc-action:focus-visible { background:#236886; color:white; border-color:#8ce3ff; }
.dc-action>span { font-size:21px; }
.dc-product-stage { position:relative; min-height:500px; display:grid; place-items:center; }
.dc-product-halo { position:absolute; width:85%; aspect-ratio:1; border:1px solid #a5d8ff22; border-radius:50%; box-shadow:0 0 0 40px #7cc4e609,0 0 0 80px #7cc4e604; animation:dc-pulse 7s ease-in-out infinite; }
.dc-product-slab { width:70%; min-height:310px; border:1px solid #abdaef50; border-radius:32px; background:linear-gradient(145deg,#123c58,#051e31); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:22px; transform:perspective(850px) rotateY(-12deg) rotateX(7deg); box-shadow:25px 40px 80px #00101c80; animation:dc-slab 9s ease-in-out infinite; }
.dc-product-slab img { width:130px; height:130px; object-fit:contain; border-radius:25px; }
.dc-product-slab strong { font-size:30px; letter-spacing:-.025em; color:#fff; }.dc-product-slab>span { color:#aacbdc; font-size:12px; text-align:center; padding-inline:20px; }
.dc-product-features { position:absolute; bottom:20px; display:flex; flex-wrap:wrap; justify-content:center; gap:10px; }
.dc-product-features span { padding:12px 15px; border-radius:12px; border:1px solid #c2e6ff32; background:#0c2d44ec; color:#cce7f3; font-size:11px; }
.dc-copy .dc-signature-tag { color:#eef9ff; font-size:22px; line-height:1.5; margin-bottom:20px; }
.ki-page.dc-page main { background:#051623; color:#d8e9f4; }
.ki-page.dc-page main .services-hero.dc-scene { min-height:100svh!important; padding:90px 0 140px!important; display:flex; align-items:center; }
.ki-page.dc-page main .department-hero__inner { display:grid; grid-template-columns:1.05fr 1fr; gap:50px; align-items:center; padding-block:0; }
.ki-page.dc-page main .department-hero h1 { font-size:clamp(4rem,7.5vw,7.6rem)!important; max-width:850px; line-height:1.01!important; }
.ki-page.dc-page main .department-hero__lead { margin:0; font-size:17px; max-width:600px; color:#c4dbe8; }
.ki-page.dc-page main .department-hero__inner .services-hero__kicker { display:block; font-size:11px; line-height:1.6; letter-spacing:.17em; margin-bottom:18px; }
.dc-page .department-back { margin-bottom:36px; color:#b7d8ea; }.dc-page .department-hero__symbol { display:none; }
.ki-page.dc-page main .department-section { min-height:100svh; background:radial-gradient(ellipse at 90% 0%,#21678825,transparent 60%),#071c2c; color:#d0e4ef; }
.ki-page.dc-page main .department-heading h2,.ki-page.dc-page main .department-products-head h3,.ki-page.dc-page main .department-dx-services>h3 { color:#eef9ff; }
.ki-page.dc-page main .department-heading .jp-head__desc,.ki-page.dc-page main .department-products-head p { color:#a8c6d7; }
.ki-page.dc-page main .services-division-card { background:#0b263a; border-color:#84ccea30; box-shadow:0 35px 90px #0004; }
.ki-page.dc-page main .services-division-card__body :is(h3,p,li) { color:#d1e6f1; }
.ki-page.dc-page main .department-product { background:linear-gradient(145deg,#0f3048,#082134); border-color:#78caee32; box-shadow:0 20px 70px #0003; }
.ki-page.dc-page main .department-product h4 { color:#fff; }.ki-page.dc-page main .department-product p,.ki-page.dc-page main .department-product__tag { color:#accbdc; }
.ki-page.dc-page main .department-product__link { color:#90e2ff; border-color:#87c6e92b; }
.ki-page.dc-page main .department-service-tags li { background:#164336; border-color:#56c9ab30; color:#beeee0; }
.ki-page.dc-page main .department-section .ki-next { color:#e0f5ff; border-color:#a5dfff36; }
.ki-page.dc-page main .dc-scene>.ki-next-wrap { position:absolute; bottom:24px; left:36px; width:auto; padding:0; }
.ki-page.dc-page main .dc-scene .ki-next { color:#c0e7f6; border-color:#a5dfff40; font-size:12px; }
.dc-ready .dc-reveal { transition:opacity .8s ease,transform 1s cubic-bezier(.2,.7,.15,1); }
.dc-ready .dc-reveal:not(.dc-visible) { opacity:0; transform:translate3d(-48px,25px,0); }.dc-ready .dc-reveal--right:not(.dc-visible) { transform:translate3d(48px,25px,0); }
.dc-preview { padding:80px 0 110px; overflow:clip; }
.dc-preview .dc-preview__inner { position:relative; z-index:2; }
.dc-preview.dc-scene h2 { color:#f4fbff; font-size:clamp(2rem,4vw,3.5rem); line-height:1.12; letter-spacing:-.04em; margin-bottom:28px; }
.dc-preview-tabs { display:flex; flex-wrap:wrap; gap:10px; margin:0 0 40px; }
.dc-preview-tabs a { display:flex; align-items:center; gap:8px; padding:12px 17px; border-radius:999px; border:1px solid #c0e6fc35; background:#15344891; color:#c8e5f4; font-size:12px; }
.dc-preview-tabs a[aria-selected=true] { background:#d4f2ff; color:#0b2d43; border-color:#d4f2ff; }.dc-preview-tabs .material-icons { font-size:19px; }
.dc-preview-panel[hidden] { display:none!important; }.dc-preview-panel { scroll-margin-top:100px; margin-bottom:48px; }
.dc-preview-ready .dc-preview-panel { margin-bottom:0; animation:dc-panel-in .55s ease both; }
.dc-preview-panel__top { display:grid; grid-template-columns:1.15fr 1fr; gap:55px; align-items:center; }
.dc-preview .dc-copy>h3 { font-size:clamp(2.5rem,5vw,5rem); line-height:1.07; letter-spacing:-.045em; color:white; margin:0 0 22px; }
.dc-preview .dc-copy>p { color:#b5d2e2; font-size:16px; line-height:1.85; }
.dc-preview-services { display:flex; flex-wrap:wrap; gap:8px; margin-top:24px; }
.dc-preview-services span { font-size:11px; padding:10px 15px; }
.dc-preview-art .dc-art { max-width:440px; margin-left:auto; }
.dc-preview-products { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:38px; }
.dc-mini-product { display:flex; gap:14px; align-items:center; padding:19px; border:1px solid #acdfff3c; border-radius:17px; background:#0b2a42d9; color:#e5f6ff; backdrop-filter:blur(8px); }
.dc-mini-product img { object-fit:contain; border-radius:9px; flex-shrink:0; }.dc-mini-product>span:nth-child(2) { flex:1; min-width:0; }.dc-mini-product strong { display:block; font-size:16px; }.dc-mini-product small { display:block; font-size:10px; line-height:1.5; color:#a2c4d8; margin-top:5px; }.dc-mini-product:hover { border-color:#93dafa; color:white; }
.dc-action:focus-visible,.dc-preview-tabs a:focus-visible,.dc-mini-product:focus-visible,.dc-video-control:focus-visible { outline:3px solid #6adeff; outline-offset:4px; }
@keyframes dc-spin { to { rotate:360deg; } }@keyframes dc-belt { to { translate:24px 0; } }@keyframes dc-scan { 0%,100% { translate:0 0; } 50% { translate:0 63px; } }@keyframes dc-flow { to { stroke-dashoffset:-132; } }@keyframes dc-pulse { 0%,100% { scale:.96; opacity:.65; } 50% { scale:1.04; opacity:1; } }@keyframes dc-float { 0%,100% { translate:0 0; } 50% { translate:0 -7px; } }@keyframes dc-broadcast { 0% { scale:1; opacity:.8; } 100% { scale:2.5; opacity:0; } }@keyframes dc-slab { 0%,100% { transform:perspective(850px) rotateY(-12deg) rotateX(7deg) translateY(0); } 50% { transform:perspective(850px) rotateY(-5deg) rotateX(3deg) translateY(-12px); } }@keyframes dc-panel-in { from { opacity:0; transform:translateX(28px); } to { opacity:1; transform:none; } }
@media(max-width:1000px) { .dc-scene-grid,.ki-page.dc-page main .department-hero__inner { gap:30px; }.dc-copy>h2 { font-size:clamp(3rem,6vw,5rem); }.dc-art-tag { font-size:10px; padding:10px; }.dc-preview-panel__top { gap:28px; }.dc-preview-products { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:800px) {
 .dc-story,.dc-signature { padding:65px 0 125px; }.dc-scene-grid,.ki-page.dc-page main .department-hero__inner,.dc-preview-panel__top { grid-template-columns:1fr; gap:35px; }
 .ki-page.dc-page main .services-hero.dc-scene { padding:45px 0 130px!important; }.ki-page.dc-page main .department-hero h1 { font-size:clamp(2.8rem,12vw,4rem)!important; }
 .ki-page.dc-page main .department-hero__lead,.dc-copy>p:not(.dc-eyebrow) { font-size:14px; line-height:1.85; }.dc-copy>h2 { font-size:clamp(2.8rem,11vw,4rem); }.dc-copy .dc-eyebrow { font-size:10px; margin-bottom:20px; }
 .dc-art { max-width:500px; margin-inline:auto; }.dc-hero-art .dc-art { max-width:420px; }.dc-art-tag { font-size:11px; }
 .dc-product-stage { min-height:390px; }.dc-product-slab { min-height:265px; }.dc-product-slab img { width:100px; height:100px; }.dc-product-slab strong { font-size:25px; }.dc-product-features { bottom:0; }.dc-product-features span { font-size:10px; padding:10px; }
 .dc-video-control { font-size:10px; right:16px; bottom:23px; }.ki-page.dc-page main .dc-scene>.ki-next-wrap { left:24px; bottom:65px; }
 .dc-preview { padding:58px 0 95px; }.dc-preview-tabs { gap:8px; margin-bottom:28px; }.dc-preview-tabs a { font-size:11px; padding:10px 13px; }.dc-preview .dc-copy>p { font-size:14px; }
 .dc-preview-art .dc-art { max-width:430px; margin:auto; }.dc-preview-products { grid-template-columns:1fr; margin-top:28px; }.dc-mini-product { padding:16px; }.dc-preview .dc-copy>h3 { font-size:clamp(2.5rem,10vw,3.5rem); }.dc-action { font-size:12px; min-height:48px; padding:15px 21px; }
}
@media(prefers-reduced-motion:reduce) { .dc-scene *,.dc-scene *::before,.dc-scene *::after { animation:none!important; transition:none!important; }.dc-media { transform:none; }.dc-ready .dc-reveal { opacity:1!important; transform:none!important; } }
.dc-preview-next { display:inline-flex; align-items:center; gap:25px; margin-top:36px; padding:14px 20px; border:1px solid #8cddff50; border-radius:999px; color:#d2edfb; font-size:12px; }
.dc-preview-next>span:last-child { font-size:23px; }
.page-marketing-entry #siteLoader[data-enabled="0"],.page-department-directory #siteLoader[data-enabled="0"],.dc-page #siteLoader[data-enabled="0"] { display:none!important; }
.dc-scene:not(.dc-onstage) :is(.dc-art-orbit,.dc-machine-belt,.dc-machine-scan,.dc-route-line,.dc-network-path,.dc-route-pulse,.dc-art-tag,.dc-promotion-rings i,.dc-product-halo,.dc-product-slab) { animation-play-state:paused; }
@media(max-width:800px) {
 .dc-preview-ready .dc-preview-panel { display:flex; flex-direction:column; }
 .dc-preview-panel__top { display:contents; }
 .dc-preview-panel__top>.dc-copy { order:0; }
 .dc-preview-products { order:1; }
 .dc-preview-art { order:2; margin-top:30px; }
}
