.dx-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.65fr);gap:clamp(45px,10vw,165px);align-items:end;min-height:590px;padding:clamp(86px,12vw,170px) clamp(22px,7vw,112px) clamp(78px,9vw,120px);overflow:hidden;background:linear-gradient(136deg,#fff 0 59%,#e8f7ff 59%)}.dx-hero-copy{max-width:840px}.dx-hero h1{margin:0;font-size:clamp(56px,7.1vw,104px);line-height:.98;letter-spacing:-.085em}.dx-hero h1 span{display:block}.dx-sweat{position:relative;color:#176b9f}.dx-sweat::after{content:'●  ●';position:absolute;top:.3em;right:-.5em;color:var(--bz);font-size:.16em;letter-spacing:.2em}.dx-sweat-stamps{display:flex;gap:.35em;margin:20px 0 0;color:#3ba1e8;font:800 clamp(17px,2vw,26px)/1 "Noto Sans JP",sans-serif;letter-spacing:-.15em;transform:rotate(-4deg);width:max-content}.dx-sweat-stamps span{position:relative;display:inline-block}.dx-sweat-stamps span::before,.dx-sweat-stamps span::after{content:'';position:absolute;width:.17em;height:.23em;background:#3ba1e8;border-radius:70% 70% 70% 0;transform:rotate(-45deg)}.dx-sweat-stamps span::before{left:-.2em;top:.36em}.dx-sweat-stamps span::after{left:-.19em;top:.72em;transform:rotate(-45deg) scale(.68)}.dx-sweat-stamps span:nth-child(2){transform:translateY(.25em) rotate(7deg);color:#176b9f}.dx-sweat-stamps span:nth-child(2)::before,.dx-sweat-stamps span:nth-child(2)::after{background:#176b9f}.dx-sweat-stamps span:nth-child(3){transform:translateY(-.1em) rotate(-8deg)}.dx-hero-copy>p:last-child{max-width:42rem;margin:28px 0 0;color:#41525a;font-size:clamp(17px,1.45vw,20px);line-height:1.95}.dx-hero-mark{display:grid;grid-template-columns:auto 1fr auto 1fr auto;gap:9px;align-items:center;align-self:center;color:#176b9f;font:800 12px/1 ui-monospace,monospace;letter-spacing:.04em}.dx-hero-mark i{height:1px;background:#10242f}.dx-hero-mark b{grid-column:1/-1;justify-self:end;margin-top:16px;padding:8px 12px;background:var(--ink);color:#fff;font:800 12px/1 ui-monospace,monospace;letter-spacing:.08em}

.reality,.principles,.technology,.fde,.cases,.dx-process,.graduation{padding:clamp(96px,13vw,185px) clamp(22px,7vw,112px)}.reality h2,.principles h2,.technology h2,.fde h2,.cases h2,.dx-process h2,.graduation h2{margin:0;font-size:clamp(42px,5vw,74px);line-height:1.05;letter-spacing:-.07em}.reality{display:grid;grid-template-columns:minmax(300px,.92fr) minmax(390px,1.08fr);gap:clamp(48px,11vw,190px);background:#10242f;color:#fff}.reality .service-eyebrow,.fde .service-eyebrow{color:var(--bz)}.reality-copy{max-width:39rem;font-size:clamp(17px,1.45vw,20px);line-height:1.95}.reality-copy p{margin:0 0 26px;color:#d5e3e9}.reality-copy p:nth-child(2),.reality-copy p:nth-child(4){color:#fff;font-weight:800}.reality-copy .reality-last{margin-top:50px;color:var(--bz);font-weight:800}

.principles{background:#fff}.principles header{display:grid;grid-template-columns:minmax(300px,.85fr) 1fr;gap:40px;margin-bottom:85px}.principles header .service-eyebrow{grid-column:1/-1}.principles ol{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}.principles li{display:grid;grid-template-columns:80px minmax(230px,.75fr) minmax(300px,1fr);gap:clamp(22px,4vw,70px);padding:40px 0;border-bottom:1px solid var(--line)}.principles li>span{color:var(--bz);font:800 13px/1 ui-monospace,monospace}.principles h3{margin:0;font-size:clamp(29px,3.2vw,47px);letter-spacing:-.07em;line-height:1.05}.principle-sub{margin:13px 0 0;color:#176b9f;font-size:17px;font-weight:800}.principle-body>p{margin:0;color:#52636c;font-size:16px;line-height:1.9}.principle-body strong{display:block;margin-top:30px;color:#176b9f;font-size:clamp(24px,2.4vw,34px);line-height:1.3;letter-spacing:-.05em}

.technology{display:block;background:#e8f7ff}
.toolkit-header{text-align:center;max-width:900px;margin:0 auto}
.technology .service-eyebrow{color:#176b9f}
.toolkit-intro{max-width:39rem;margin:28px auto 0;color:#304751;font-size:clamp(17px,1.45vw,20px);line-height:1.95}
.toolkit-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,44px);margin-top:60px;padding:20px 8px 55px}
.toolkit-note{--note-y:0px;--note-tilt:-1deg;display:flex;flex-direction:column;min-width:0;margin:0;padding:clamp(25px,2.7vw,42px);border:1px solid #a5cada;background:#fff;box-shadow:7px 9px 0 #bbdded;transform:translateY(var(--note-y)) rotate(var(--note-tilt));transition:transform .25s ease,box-shadow .25s ease}
.toolkit-note:nth-child(2){--note-y:32px;--note-tilt:1.2deg;background:#3ba1e8;border-color:#3ba1e8;box-shadow:7px 9px 0 #a4cce3}
.toolkit-note:nth-child(3){--note-y:8px;--note-tilt:-.7deg;background:#10242f;color:#fff;border-color:#10242f;box-shadow:7px 9px 0 #a4cce3}
.toolkit-label{align-self:flex-start;margin:0 0 34px;padding:0 0 8px;border-bottom:2px solid #3ba1e8;color:#176b9f;font-size:14px;font-weight:800;line-height:1.6;letter-spacing:.06em}
.toolkit-note:nth-child(2) .toolkit-label{border-color:#10242f;color:#10242f}
.toolkit-note:nth-child(3) .toolkit-label{color:#79caff}
.toolkit-note h3{margin:0;font-size:clamp(24px,2.3vw,34px);font-weight:800;line-height:1.5;letter-spacing:-.055em;text-wrap:pretty}
.toolkit-support{margin:28px 0 36px;color:#40535c;font-size:16px;line-height:1.9}
.toolkit-note:nth-child(2) .toolkit-support{color:#10242f}
.toolkit-note:nth-child(3) .toolkit-support{color:#d5e3e9}
.toolkit-tools{display:flex;flex-wrap:wrap;gap:8px 12px;list-style:none;margin:auto 0 0;padding:23px 0 0;border-top:1px solid #a5cada}
.toolkit-tools li{font-size:14px;font-weight:700;line-height:1.6;color:#176b9f}
.toolkit-note:nth-child(2) .toolkit-tools{border-color:#176b9f}
.toolkit-note:nth-child(2) .toolkit-tools li{color:#10242f}
.toolkit-note:nth-child(3) .toolkit-tools{border-color:#527080}
.toolkit-note:nth-child(3) .toolkit-tools li{color:#79caff}
@media(hover:hover) and (pointer:fine){.toolkit-note:hover{transform:translateY(calc(var(--note-y) - 7px)) rotate(0);box-shadow:7px 15px 0 #a4cce3}}
@media(max-width:1000px){.toolkit-board{grid-template-columns:1fr;gap:25px;max-width:680px;margin:44px auto 0;padding:0 6px 15px}.toolkit-note,.toolkit-note:nth-child(2),.toolkit-note:nth-child(3){--note-y:0px;--note-tilt:0deg;transform:none;padding:30px}.toolkit-note h3{font-size:clamp(25px,4vw,32px)}.toolkit-label{margin-bottom:22px}.toolkit-support{margin:20px 0 25px}.toolkit-intro{font-size:16px;line-height:1.85}.toolkit-header h2{line-height:1.2}}
html[dir="rtl"] .toolkit-note h3{letter-spacing:0}
@media(max-width:620px){.technology .toolkit-header h2{font-size:clamp(26px,7.9vw,40px);line-height:1.25;letter-spacing:-.055em}}
@media(prefers-reduced-motion:reduce){.toolkit-note{transition:none}.toolkit-note:hover{transform:translateY(var(--note-y)) rotate(var(--note-tilt))}}

.fde{display:grid;grid-template-columns:minmax(290px,.78fr) minmax(420px,1.22fr);gap:clamp(48px,12vw,195px);background:#fff}.fde-copy>p{max-width:44rem;margin:0;color:#40535c;font-size:clamp(17px,1.45vw,20px);line-height:1.9}.fde-copy>p+p{margin-top:34px}.fde-map{display:flex;align-items:center;justify-content:space-between;gap:18px;max-width:600px;margin-top:58px;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.fde-map span{color:#176b9f;font:800 14px/1.25 ui-monospace,monospace;text-align:center}.fde-map i{color:var(--bz);font-size:24px;font-style:normal}

.cases{min-width:0;background:#f5fbfe}.cases>header{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:38px;align-items:end;margin-bottom:64px}.cases>header .service-eyebrow{grid-column:1/-1;margin:0;color:#176b9f}.cases>header small{justify-self:end;color:#62747c;font-size:14px}.case-track{position:relative;display:grid;grid-auto-flow:column;grid-auto-columns:72%;gap:28px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#3ba1e8 #dbeaf3;padding:4px 0 20px;scroll-behavior:smooth}.case-slide{display:flex;flex-direction:column;align-items:flex-start;min-width:0;min-height:390px;padding:clamp(28px,4.5vw,64px);border-top:3px solid #3ba1e8;border-bottom:1px solid #bdd3df;background:#fff;scroll-snap-align:start}.case-slide:nth-child(2){background:#e8f7ff}.case-index{margin:0 0 34px;color:#62747c;font:700 14px/1.3 ui-monospace,monospace;letter-spacing:.12em}.case-client{margin:0 0 20px;color:#176b9f;font:800 14px/1.5 ui-monospace,monospace;letter-spacing:.04em}.case-slide h3{margin:0;font-size:clamp(29px,3.4vw,49px);line-height:1.35;letter-spacing:-.055em;overflow-wrap:anywhere}.case-kind{margin:22px 0;color:#176b9f;font-size:14px;font-weight:700;line-height:1.6}.case-open{display:flex;align-items:center;gap:24px;min-height:44px;margin-top:auto;padding:10px 0;border:0;border-bottom:1px solid #176b9f;background:none;color:#10242f;font:700 16px/1.5 inherit;cursor:pointer}.case-plus{font-size:23px;color:#176b9f}.case-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:25px}.case-position{color:#176b9f;font:700 14px/1.5 ui-monospace,monospace}.case-controls>div{display:flex;gap:10px}.case-controls button{min-height:44px;padding:9px 18px;border:1px solid #94b8cd;background:transparent;color:#10242f;font:700 14px/1.5 inherit;cursor:pointer}.case-controls button:hover:not(:disabled){background:#e8f7ff;border-color:#176b9f}.case-controls button:disabled{opacity:.35;cursor:default}.dx-dialog-open{overflow:hidden}.case-dialog{width:min(850px,calc(100% - 36px));max-height:calc(100dvh - 48px);margin:auto;padding:0;border:0;border-top:5px solid #3ba1e8;background:#fff;color:#10242f;box-shadow:0 24px 100px #071e3350;overscroll-behavior:contain}.case-dialog::backdrop{background:#071e33b8;backdrop-filter:blur(5px)}.case-dialog-bar{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 28px;border-bottom:1px solid #bdd3df;background:#fff;z-index:1}.case-dialog-bar>span{color:#176b9f;font:700 13px/1.4 ui-monospace,monospace;letter-spacing:.1em}.case-close{display:flex;align-items:center;gap:12px;min-height:44px;padding:8px 0 8px 12px;border:0;background:none;color:#10242f;font:700 14px/1.5 inherit;cursor:pointer}.case-close span{font-size:27px;font-weight:400;line-height:1}.case-dialog-content{padding:clamp(28px,6vw,70px)}.case-dialog h2{margin:0;font-size:clamp(29px,4vw,48px);line-height:1.4;letter-spacing:-.055em;overflow-wrap:anywhere}.case-dialog #case-dialog-body{margin:32px 0 0;color:#40535c;font-size:17px;line-height:2}.case-dialog .case-kind{padding-bottom:24px;border-bottom:1px solid #bdd3df}@media(max-width:620px){.case-track{grid-auto-columns:92%;gap:16px}.case-slide{min-height:370px;padding:28px 24px}.case-slide h3{font-size:29px}.case-index{margin-bottom:28px}.case-dialog-bar{padding:12px 20px}.case-dialog #case-dialog-body{font-size:16px;line-height:1.9}.toolkit-list{margin-top:32px}.toolkit-list dt{font-size:22px}}@media(prefers-reduced-motion:reduce){.case-track{scroll-behavior:auto}}

.dx-process{background:#fff}.dx-process header{display:grid;grid-template-columns:minmax(270px,.85fr) minmax(340px,1fr);column-gap:clamp(45px,11vw,170px);align-items:end}.dx-process header .service-eyebrow{grid-column:1/-1}.dx-process header>p:last-child{max-width:34rem;margin:0 0 .4em;color:#52636c;font-size:17px;line-height:1.9}.dx-process ol{display:grid;grid-template-columns:repeat(4,1fr);margin:72px 0 0;padding:0;list-style:none;border-top:1px solid var(--line)}.dx-process li{position:relative;min-height:236px;padding:22px;border-right:1px solid var(--line)}.dx-process li:first-child{border-left:1px solid var(--line)}.dx-process li::before{content:'';position:absolute;top:-7px;left:-1px;width:13px;height:13px;border-radius:50%;background:var(--bz)}.dx-process li p{margin:0;color:#176b9f;font:800 12px/1 ui-monospace,monospace}.dx-process li h3{margin:54px 0 12px;font-size:clamp(25px,2.2vw,34px);letter-spacing:-.06em}.dx-process li span{display:block;max-width:18ch;color:#52636c;font-size:15px;line-height:1.75}

.graduation{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(400px,1.2fr);gap:clamp(48px,12vw,195px);background:#10242f;color:#fff}.graduation .service-eyebrow{color:var(--bz)}.graduation>div:last-child{max-width:44rem}.graduation>div:last-child p{color:#d5e3e9;font-size:clamp(17px,1.45vw,20px);line-height:1.9}.graduation-p2{padding:24px 0;border-top:1px solid #527080;border-bottom:1px solid #527080;color:#fff!important;font-weight:800}.graduation-p3{margin-bottom:0!important}.service-contact div p{white-space:normal}

@media(max-width:900px){.dx-hero,.reality,.technology,.fde,.graduation{grid-template-columns:1fr}.dx-hero{min-height:auto}.dx-hero-mark{width:min(420px,100%);justify-self:end}.principles li{grid-template-columns:62px minmax(200px,.7fr) 1fr}.cases>header{grid-template-columns:1fr}.cases>header small{justify-self:start}.case-item,.case-item:nth-child(even){grid-template-columns:1fr}.case-item:nth-child(even) .case-visual,.case-item:nth-child(even) .case-copy{order:initial}.dx-process header{grid-template-columns:1fr;row-gap:24px}.dx-process ol{grid-template-columns:repeat(2,1fr)}.dx-process li:nth-child(3){border-left:1px solid var(--line)}.graduation>div:last-child{max-width:650px}}
@media(max-width:620px){.dx-hero{padding:78px 20px 74px}.dx-hero h1{font-size:clamp(49px,15vw,68px);letter-spacing:-.09em}.dx-sweat-stamps{font-size:21px}.dx-hero-copy>p:last-child{font-size:16px;line-height:1.85}.dx-hero-mark{grid-template-columns:auto 1fr auto;gap:8px;margin-top:34px;font-size:10px}.dx-hero-mark i:last-of-type,.dx-hero-mark span:last-of-type{display:none}.dx-hero-mark b{font-size:11px}.reality,.principles,.technology,.fde,.cases,.dx-process,.graduation{padding:78px 20px}.reality h2,.principles h2,.technology h2,.fde h2,.cases h2,.dx-process h2,.graduation h2{font-size:clamp(38px,11vw,52px)}.reality-copy{font-size:16px;line-height:1.85}.reality-copy .reality-last{margin-top:38px}.principles header{display:block;margin-bottom:52px}.principles header .service-eyebrow{margin-bottom:20px}.principles li{display:block;padding:30px 0}.principles li>span{display:block;margin-bottom:19px}.principles h3{font-size:39px}.principle-sub{font-size:16px}.principle-body>p{margin-top:24px;font-size:16px}.technology>div:last-child>p{font-size:16px;line-height:1.85}.tech-map{min-height:300px;gap:7px}.tech-map b{width:106px;height:106px;font-size:15px}.tech-map span{padding:5px;font-size:10px}.fde-copy>p{font-size:16px;line-height:1.85}.fde-map{gap:8px;margin-top:42px}.fde-map span{font-size:11px}.fde-map i{font-size:18px}.cases>header{margin-bottom:58px}.case-item{gap:28px;padding-bottom:78px;margin-bottom:78px}.case-visual{min-height:260px}.case-visual::before{inset:15px}.case-copy h3{font-size:clamp(32px,9vw,46px)}.case-copy>p:last-child{font-size:16px;line-height:1.85}.dx-process ol{display:block;margin-top:48px}.dx-process li,.dx-process li:first-child,.dx-process li:nth-child(3){min-height:0;padding:20px;border-left:1px solid var(--line);border-bottom:1px solid var(--line)}.dx-process li h3{margin:27px 0 8px;font-size:29px}.dx-process li span{max-width:none}.graduation>div:last-child p{font-size:16px;line-height:1.85}.dx-sweat::after{right:-.35em}}
html[dir="rtl"] .dx-hero h1,html[dir="rtl"] .reality h2,html[dir="rtl"] .principles h2,html[dir="rtl"] .technology h2,html[dir="rtl"] .fde h2,html[dir="rtl"] .cases h2,html[dir="rtl"] .dx-process h2,html[dir="rtl"] .graduation h2{letter-spacing:0}html[dir="rtl"] .dx-process li::before{left:auto;right:-1px}

.dx-hero h1 .dx-sweating-letter{position:relative;display:inline-block;transform-origin:50% 85%}
.case-open,.case-controls button,.case-close{font-family:inherit;font-weight:700;line-height:1.5}.case-open{font-size:16px}.case-controls button,.case-close{font-size:14px}
html[dir="rtl"] .case-slide h3,html[dir="rtl"] .case-dialog h2{letter-spacing:0}
.dx-sweating-letter::before,.dx-sweating-letter::after{content:'';position:absolute;width:.08em;height:.12em;background:var(--bz);border-radius:70% 70% 70% 0;transform:rotate(-45deg);opacity:0;pointer-events:none}
.dx-sweating-letter::before{left:-.06em;top:.26em}
.dx-sweating-letter::after{right:-.04em;top:.06em}
.dx-sweat-stamps span{--rest-y:0em;--rest-tilt:0deg;--sweat-delay:0s;transform-origin:50% 85%}
.dx-sweat-stamps span:nth-child(2){--rest-y:.25em;--rest-tilt:7deg;--sweat-delay:.18s}
.dx-sweat-stamps span:nth-child(3){--rest-y:-.1em;--rest-tilt:-8deg;--sweat-delay:.36s}
.is-sweating .dx-sweating-letter{animation:dx-hot-letter 4.4s ease-in-out both}
.is-sweating .dx-sweat-stamps span{animation:dx-sweat-wobble 4.4s ease-in-out var(--sweat-delay) both}
.is-sweating .dx-sweat-stamps span::before{animation:dx-sweat-drip 4.4s ease-in var(--sweat-delay) both}
.is-sweating .dx-sweat-stamps span::after{animation:dx-sweat-drip-small 4.4s ease-in var(--sweat-delay) both}
.is-sweating .dx-sweating-letter::before{animation:dx-heading-drip 4.4s ease-in both}
.is-sweating .dx-sweating-letter::after{animation:dx-heading-drip 4.4s ease-in .3s both}
@keyframes dx-hot-letter{0%,12%,45%,78%,100%{transform:translateY(0) rotate(0) scale(1)}18%,51%{transform:translateY(-.025em) rotate(-2deg) scale(1.02,.98)}22%,55%{transform:translateY(.015em) rotate(2deg) scale(.99,1.01)}26%,59%{transform:translateY(-.01em) rotate(-1deg)}30%,63%{transform:translateY(0) rotate(0)}}
@keyframes dx-sweat-wobble{0%,12%,42%,74%,100%{transform:translateY(var(--rest-y)) rotate(var(--rest-tilt)) scale(1)}18%,49%{transform:translateY(calc(var(--rest-y) - .14em)) rotate(calc(var(--rest-tilt) - 8deg)) scale(1.06,.94)}24%,55%{transform:translateY(calc(var(--rest-y) + .04em)) rotate(calc(var(--rest-tilt) + 6deg)) scale(.96,1.04)}30%,61%{transform:translateY(var(--rest-y)) rotate(var(--rest-tilt)) scale(1)}}
@keyframes dx-sweat-drip{0%,12%,42%,74%,100%{opacity:1;transform:translate(0,0) rotate(-45deg) scale(1)}18%,49%{opacity:1;transform:translate(-.08em,.2em) rotate(-45deg) scale(1.2)}32%,63%{opacity:0;transform:translate(-.25em,1.35em) rotate(-45deg) scale(.7)}33%,64%{opacity:0;transform:translate(0,0) rotate(-45deg) scale(.4)}}
@keyframes dx-sweat-drip-small{0%,18%,48%,80%,100%{opacity:1;transform:translate(0,0) rotate(-45deg) scale(.68)}24%,55%{opacity:1;transform:translate(.04em,.18em) rotate(-45deg) scale(.85)}38%,69%{opacity:0;transform:translate(.16em,1em) rotate(-45deg) scale(.4)}39%,70%{opacity:0;transform:translate(0,0) rotate(-45deg) scale(.3)}}
@keyframes dx-heading-drip{0%,12%,42%,74%,100%{opacity:0;transform:translate(0,0) rotate(-45deg) scale(.4)}18%,49%{opacity:1;transform:translate(0,.04em) rotate(-45deg) scale(1)}32%,63%{opacity:0;transform:translate(-.05em,.8em) rotate(-45deg) scale(.6)}}
@media(prefers-reduced-motion:reduce){.dx-hero *,.dx-hero *::before,.dx-hero *::after{animation:none!important}}
