
body{margin:0}
a,button.link{color:#15172A;text-decoration:none}
a:hover,button.link:hover{color:#2350A4;text-decoration:underline;text-underline-offset:5px}
button.link{background:none;border:0;padding:0;font:inherit;cursor:pointer}
.orb{border:0;padding:0;cursor:pointer;border-radius:50%;background:transparent}
@keyframes breathe{0%,100%{opacity:.78}50%{opacity:1}}
@keyframes orbIn{0%{opacity:0;transform:translateY(10px) scale(.6)}60%{opacity:1}100%{opacity:1;transform:none}}
@keyframes fadeIn{from{opacity:0}}
@keyframes hexOn{0%{opacity:0}18%{opacity:1}70%{opacity:1}100%{opacity:0}}
@keyframes glowPulse{0%,100%{opacity:.35}40%{opacity:.7}}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes lightIn{0%{opacity:0;filter:blur(9px);transform:translateY(-5px) scale(1.14);text-shadow:0 0 26px var(--g)}55%{opacity:1}100%{opacity:1;filter:blur(0);transform:none;text-shadow:0 0 12px var(--g2)}}
@keyframes mistIn{0%{opacity:0;filter:blur(6px);letter-spacing:.2em}100%{opacity:1;filter:blur(0)}}
@keyframes sphereIn{0%{opacity:0;transform:scale(1.35);filter:blur(16px)}100%{opacity:1;transform:none;filter:blur(0)}}
@keyframes focusIn{0%{opacity:0;transform:translateY(70px) scale(.93);filter:blur(12px)}100%{opacity:1;transform:none;filter:blur(0)}}
.reveal{animation:focusIn 1s linear both;animation-timeline:view();animation-range:entry 0% cover 32%}
@keyframes descendIn{0%{opacity:0;transform:translateY(-50px);filter:blur(10px)}100%{opacity:1;transform:none;filter:blur(0)}}
.reveal-d{animation:descendIn 1s linear both;animation-timeline:view();animation-range:entry 0% cover 30%}
.reveal-d.tallrv{animation-range:entry 0px entry 360px}
@keyframes beamIn{from{transform:scaleY(0);opacity:0}to{transform:scaleY(1);opacity:1}}
@keyframes dropFall{0%{top:0;opacity:0}10%{opacity:1}85%{opacity:1}100%{top:100%;opacity:0}}
@keyframes ringBreath{0%,100%{transform:scale(1);opacity:.8}50%{transform:scale(1.03);opacity:1}}
.ldm-fan{position:absolute;left:0;top:0;width:1440px;height:1000px;pointer-events:none}
@keyframes orbSpin{to{transform:rotate(360deg)}}
.orb-sys{position:absolute;left:650px;top:0;width:900px;height:900px;transform:rotateX(66deg) rotateZ(-14deg);transform-style:preserve-3d}
.orb-wrap{position:absolute;inset:0;perspective:1800px}
@keyframes starTw{0%,100%{opacity:.08}50%{opacity:.4}}
@keyframes bubbleUp{0%{transform:translateY(0) scale(.6);opacity:0}15%{opacity:.9}100%{transform:translateY(-620px) scale(1.1);opacity:0}}
@keyframes waveOut{0%{transform:scale(.15);opacity:0}12%{opacity:.5}100%{transform:scale(1);opacity:0}}
@keyframes resoIn{0%{opacity:0;transform:scale(.96);filter:blur(8px);letter-spacing:.06em}100%{opacity:1;transform:none;filter:blur(0)}}
.reveal-r{animation:resoIn 1s linear both;animation-timeline:view();animation-range:entry 0% cover 30%}
.thread{animation:draw linear both;animation-timeline:view();animation-range:entry 0% cover 45%}
@keyframes riseUp{0%{opacity:0;transform:translateY(40px);filter:blur(8px)}100%{opacity:1;transform:none;filter:blur(0)}}
.reveal-u{animation:riseUp 1s linear both;animation-timeline:view();animation-range:entry 0% cover 30%}
@keyframes gyro{from{transform:rotateX(-22deg) rotateY(0deg) rotateZ(6deg)}to{transform:rotateX(-22deg) rotateY(360deg) rotateZ(6deg)}}
@keyframes gyroIn{from{opacity:0;transform:scale(.7)}}
.geo-draw{animation:draw linear both;animation-timeline:view();animation-range:entry 0% cover 40%}
@keyframes ignite{0%{opacity:.14;transform:scale(.7)}6%{opacity:1;transform:scale(1.25)}30%{opacity:.45;transform:scale(1)}100%{opacity:.14;transform:scale(.7)}}
@keyframes horizonIn{from{transform:scaleX(0);opacity:0}to{transform:scaleX(1);opacity:1}}
@keyframes travelY{0%{top:40px;opacity:0}12%{opacity:1}88%{opacity:1}100%{top:calc(100% - 52px);opacity:0}}
@keyframes travelX{0%{left:10%;opacity:0}12%{opacity:1}88%{opacity:1}100%{left:90%;opacity:0}}
@keyframes farPulse{0%,100%{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.25)}}
.scroller{scrollbar-width:thin;scrollbar-color:rgba(74,120,224,.35) transparent}
@keyframes nameIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes twinkle{0%,100%{opacity:.15}50%{opacity:.9}}
@keyframes drift{from{transform:translate(0,0)}to{transform:translate(-40px,-24px)}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes spinBack{to{transform:rotate(-360deg)}}
@keyframes halo{0%{transform:scale(1);opacity:.55}100%{transform:scale(3.2);opacity:0}}
@keyframes ripple{0%{transform:scale(0);opacity:.9}70%{opacity:.35}100%{transform:scale(1);opacity:0}}
@keyframes burst{0%{transform:translate(0,0) scale(.4);opacity:0}15%{opacity:1}100%{transform:translate(var(--dx),var(--dy)) scale(1);opacity:0}}
@keyframes gather{0%{transform:translate(var(--dx),var(--dy)) scale(1);opacity:0}30%{opacity:1}100%{transform:translate(0,0) scale(.3);opacity:0}}
@keyframes rise{0%{opacity:0;transform:translateY(14px)}100%{opacity:1;transform:none}}
@keyframes mote{0%{transform:translateY(0);opacity:0}20%{opacity:.9}100%{transform:translateY(-220px);opacity:0}}
@keyframes bloom{0%,100%{opacity:.6;transform:scale(1)}50%{opacity:.85;transform:scale(1.025)}}
.breathe{animation:breathe 6.8s ease-in-out infinite}
.bloom{animation:bloom 17s ease-in-out infinite}
.sky{animation:drift 60s ease-in-out infinite alternate}
.spin{animation:spin 140s linear infinite}
.spinBack{animation:spinBack 200s linear infinite}
.rise{opacity:0;animation:rise 1s cubic-bezier(.22,1,.36,1) forwards}
@keyframes landDrift{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes cloudDrift{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes ejRipple{0%{transform:translate(-50%,-50%) scale(0);opacity:.9}100%{transform:translate(-50%,-50%) scale(1);opacity:0}}
@keyframes ejFlash{0%{opacity:0;transform:translate(-50%,-50%) scale(.2)}25%{opacity:1}100%{opacity:0;transform:translate(-50%,-50%) scale(1.6)}}
@keyframes ejSun{0%{opacity:0;transform:translate(-50%,-50%) scale(.4)}55%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}100%{opacity:.85;transform:translate(-50%,-50%) scale(1)}}
@keyframes ejSunB{0%,100%{opacity:.75}50%{opacity:1}}
@keyframes ejChar{0%{opacity:0;filter:blur(10px);transform:translateY(14px) scale(1.2)}60%{opacity:1}100%{opacity:1;filter:blur(0);transform:none}}
@keyframes ejShoot{0%{transform:translate(0,0) rotate(-24deg);opacity:0}6%{opacity:1}22%{transform:translate(-420px,190px) rotate(-24deg);opacity:0}100%{transform:translate(-420px,190px) rotate(-24deg);opacity:0}}
@keyframes ejOrbit{from{transform:translate(-50%,-50%) rotateX(72deg) rotateZ(0deg)}to{transform:translate(-50%,-50%) rotateX(72deg) rotateZ(360deg)}}
@keyframes aura{0%,100%{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}
.ringScroll{scrollbar-width:none}.ringScroll::-webkit-scrollbar{display:none}
.mdwave{transform-box:view-box;transform-origin:1030px 560px;opacity:0;animation:mdWave 6s cubic-bezier(.25,.6,.4,1) infinite}
@keyframes mdWave{0%{transform:scale(.02);opacity:0}8%{opacity:.8}100%{transform:scale(1);opacity:0}}
.mdnode{opacity:.18;animation:mdNode 6s ease-out infinite}
@keyframes mdNode{0%{opacity:.18}6%{opacity:1}35%{opacity:.45}100%{opacity:.18}}
.mdsrc{transform-box:view-box;transform-origin:1030px 560px;animation:mdSrc 2s ease-out infinite}
@keyframes mdSrc{0%{transform:scale(.4);opacity:.9}100%{transform:scale(2.4);opacity:0}}
.lkrow,.lkrow:hover,.mbr{display:none}
.wrow,.wrow:hover,.ctpanel,.ctpanel:hover{text-decoration:none}
.ctpanel .ctarcs{transition:transform 1.4s cubic-bezier(.22,1,.36,1)}
.ctpanel:hover .ctarcs{transform:scale(1.06)}
.ctpanel .ctbtn{transition:transform .5s cubic-bezier(.22,1,.36,1),box-shadow .5s ease}
.ctpanel:hover .ctbtn{transform:translateX(6px);box-shadow:0 20px 54px rgba(200,16,46,0.4)}
.lkrow{position:relative;display:grid;grid-template-columns:70px minmax(0,1fr) 300px 60px;align-items:center;gap:28px;min-height:200px;padding:24px 0;border-bottom:1px solid rgba(200,16,46,0.22);color:#15172A;overflow:hidden;isolation:isolate}
.lkrow .lkfill{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(237,22,57,0.07),rgba(237,22,57,0.02) 55%,rgba(237,22,57,0));transform:scaleX(0);transform-origin:0 50%;transition:transform .9s cubic-bezier(.22,1,.36,1)}
.lkrow .lkscan{position:absolute;left:0;bottom:-1px;height:1px;width:100%;background:linear-gradient(90deg,rgba(200,16,46,0),#C8102E 50%,rgba(200,16,46,0));transform:translateX(-100%)}
.lkrow:hover .lkfill,.lkrow:focus-visible .lkfill{transform:scaleX(1)}
.lkrow:hover .lkscan{animation:wscan 1.4s cubic-bezier(.22,1,.36,1) both}
.lkrow .lkno{font-family:"Shippori Mincho B1",serif;font-size:15px;letter-spacing:.2em;color:#C8102E}
.lkrow .lkword{font-family:"Shippori Mincho B1",serif;font-weight:500;font-size:84px;line-height:1.05;letter-spacing:.01em;color:transparent;-webkit-text-stroke:1px rgba(200,16,46,0.75);transition:color .7s ease,transform .8s cubic-bezier(.22,1,.36,1);white-space:nowrap}
.lkrow:hover .lkword{color:#C8102E;transform:translateX(16px)}
.lkrow .lkmeta{display:flex;flex-direction:column;gap:8px}
.lkrow .lkja{font-size:17px;font-weight:500;letter-spacing:.08em}
.lkrow .lkd{font-size:14px;line-height:1.9;color:#5A5E75}
.lkrow .lkorb{position:absolute;right:120px;top:50%;width:260px;height:260px;margin-top:-130px;border-radius:50%;z-index:-1;background:radial-gradient(circle,rgba(237,22,57,0.28) 0%,rgba(237,22,57,0.10) 40%,rgba(237,22,57,0) 70%);opacity:0;transform:scale(.4);transition:opacity .8s ease,transform 1.1s cubic-bezier(.22,1,.36,1)}
.lkrow:hover .lkorb{opacity:1;transform:scale(1)}
.lkrow .lkarrow{justify-self:end;width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 1px rgba(200,16,46,0.45);color:#C8102E;font-size:18px;transition:background .5s ease,color .5s ease}
.lkrow:hover .lkarrow{background:#C8102E;color:#FFFFFF}
.wall{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;margin-top:150px;padding:30px 30px 30px 48px;border:0;border-radius:999px;background:rgba(255,255,255,0.9);box-shadow:inset 0 0 0 1px rgba(47,91,196,0.4);cursor:pointer;font-family:inherit;color:#15172A;overflow:hidden;isolation:isolate;text-align:left}
.wall .wallfill{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#2F5BC4,#4A78E0 60%,#7FA2EE);transform:scaleX(0);transform-origin:0 50%;transition:transform .9s cubic-bezier(.22,1,.36,1)}
.wall:hover .wallfill,.wall:focus-visible .wallfill{transform:scaleX(1)}
.wall .walltxt{display:flex;align-items:baseline;gap:28px}
.wall .wallen{font-size:12px;letter-spacing:.34em;color:#2F5BC4;transition:color .6s ease}
.wall .wallja{font-family:"Shippori Mincho B1",serif;font-weight:500;font-size:28px;letter-spacing:.08em;transition:color .6s ease}
.wall:hover .wallen,.wall:hover .wallja{color:#FFFFFF}
.wall .wallarrow{position:relative;flex:none;width:64px;height:64px;border-radius:50%;background:#2F5BC4;box-shadow:0 12px 30px rgba(47,91,196,0.3);transition:background .6s ease}
.wall .wallarrow span{position:absolute;left:21px;top:31px;width:22px;height:1.5px;background:#FFFFFF;transition:transform .6s cubic-bezier(.22,1,.36,1)}
.wall .wallarrow span::after{content:"";position:absolute;right:-1px;top:-4px;width:9px;height:9px;border-top:1.5px solid #FFFFFF;border-right:1.5px solid #FFFFFF;transform:rotate(45deg)}
.wall:hover .wallarrow{background:#FFFFFF}
.wall:hover .wallarrow span{background:#2F5BC4;transform:translateX(4px)}
.wall:hover .wallarrow span::after{border-color:#2F5BC4}
.wscreen .rv{opacity:0;transform:translateY(46px);filter:blur(8px);transition:opacity .9s ease var(--d,0s),transform 1.2s cubic-bezier(.22,1,.36,1) var(--d,0s),filter 1s ease var(--d,0s)}
.wscreen .rvc{transform:translateY(60px) scale(1.08)}
.wscreen .rvl{transform:scaleX(0);transform-origin:0 50%;filter:none}
.wscreen .rvz{transform:scale(.7)}
.wscreen.on .rv{opacity:1;transform:none;filter:blur(0)}
.vth{transition:background .6s ease}
.vth:hover{background:rgba(53,178,135,0.07)}
.vth .vthn{transition:color .6s ease}
.vth:hover .vthn{color:#1A7A57}
.bigname{transform:translateY(calc(var(--bny,340) * 1px)) scale(var(--bns,1));transform-origin:50% 0;will-change:transform}
.bigname .bnc{display:inline-block;animation:bnIn 1.4s cubic-bezier(.22,1,.36,1) both}
@keyframes bnIn{0%{opacity:0;transform:translateY(60px) scale(1.08);filter:blur(10px)}100%{opacity:1;transform:none;filter:blur(0)}}
.bigname .bnline{opacity:calc(1 - var(--bnp,0) * 2.2);animation:fadeIn 1s ease 1.1s backwards}
.bigname .bnen{animation:fadeIn 1s ease 1.3s backwards}
.bigname .bnsub{opacity:calc(1 - var(--bnp,0) * 2.2);animation:fadeIn 1s ease 1.6s backwards}
.namecue{opacity:calc(1 - var(--bnp,0) * 3);animation:fadeIn 1s ease 2s backwards}
.heroS .smallname{visibility:hidden}
.namebar{opacity:var(--nbo,0)}
.heroS .herofade{opacity:clamp(0, calc((var(--bnp,0) - .2) * 2), 1)}
.heroS p[style*="top:420px"]{transition:opacity 1.1s ease,transform 1.4s cubic-bezier(.22,1,.36,1),filter 1.1s ease!important}
#r26:not(.menu-in) .heroS p[style*="top:420px"]{opacity:0!important;transform:translateY(24px);filter:blur(8px)}
.heroS button.orb,.heroS button.orb + span{--od:.75s;transition:opacity .9s ease var(--od,0s),transform 1.1s cubic-bezier(.22,1,.36,1) var(--od,0s)!important}
#r26:not(.menu-in) .heroS button.orb{opacity:0!important;transform:scale(.2)!important}
#r26:not(.menu-in) .heroS button.orb + span{opacity:0!important;transform:translateX(-14px)}
#r26{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;letter-spacing:.03em;line-height:1.9}
#r26 h1,#r26 h2,#r26 h3{line-height:1.5;font-feature-settings:"palt" 1;letter-spacing:.06em}
#r26 button,#r26 a{letter-spacing:.06em}
#r26 h1,#r26 h2,#r26 h3,#r26 p,#r26 a,#r26 button{word-break:auto-phrase;text-wrap:pretty}
#r26 h1,#r26 h2,#r26 h3{text-wrap:balance}
#r26 [style*="font-size: 12px"],#r26 [style*="font-size: 13px"]{letter-spacing:.08em}
.wrow{position:relative;display:grid;grid-template-columns:150px minmax(0,1fr) 190px 64px;align-items:center;gap:24px;width:100%;min-height:150px;padding:20px 8px 20px 0;border:0;border-bottom:1px solid rgba(47,91,196,0.2);background:transparent;text-align:left;cursor:pointer;font-family:inherit;color:#15172A;overflow:hidden}
.wrow .wfill{position:absolute;inset:0;background:linear-gradient(90deg,rgba(74,120,224,0.10),rgba(74,120,224,0.02) 60%,rgba(74,120,224,0));transform:scaleX(0);transform-origin:0 50%;transition:transform .8s cubic-bezier(.22,1,.36,1)}
.wrow .wscan{position:absolute;left:0;bottom:-1px;height:1px;width:100%;background:linear-gradient(90deg,rgba(47,91,196,0),#2F5BC4 50%,rgba(47,91,196,0));transform:translateX(-100%)}
.wrow:hover .wfill,.wrow:focus-visible .wfill{transform:scaleX(1)}
.wrow:hover .wscan{animation:wscan 1.4s cubic-bezier(.22,1,.36,1) both}
@keyframes wscan{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
.wrow .wnum{position:relative;font-family:"Shippori Mincho B1",serif;font-size:64px;line-height:1;letter-spacing:.02em;color:transparent;-webkit-text-stroke:1px rgba(47,91,196,0.6);transition:color .6s ease,-webkit-text-stroke-color .6s ease}
.wrow:hover .wnum{color:#2F5BC4;-webkit-text-stroke-color:#2F5BC4}
.wrow .wmain{position:relative;display:flex;flex-direction:column;gap:8px;transition:transform .7s cubic-bezier(.22,1,.36,1)}
.wrow:hover .wmain{transform:translateX(18px)}
.wrow .wcat{font-size:12px;letter-spacing:.24em;color:#2F5BC4}
.wrow .wtitle{font-family:"Shippori Mincho B1",serif;font-weight:500;font-size:34px;line-height:1.35;letter-spacing:.04em}
.wrow .wlead{font-size:14px;line-height:1.9;color:#5A5E75;max-width:640px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.wrow .wglyph{position:relative;justify-self:center;overflow:visible;transition:transform 1s cubic-bezier(.22,1,.36,1)}
.wrow:hover .wglyph{transform:translateY(-6px) scale(1.08)}
.wrow:hover .gl{animation:wdraw 1.3s cubic-bezier(.65,0,.35,1) both}
@keyframes wdraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.wrow .warrow{position:relative;justify-self:end;width:48px;height:48px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(47,91,196,0.4);transition:background .5s ease,box-shadow .5s ease}
.wrow .warrow span{position:absolute;left:15px;top:23px;width:18px;height:1.5px;background:#2F5BC4;transition:background .5s ease,transform .5s ease}
.wrow .warrow span::after{content:"";position:absolute;right:-1px;top:-4px;width:8px;height:8px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;color:#2F5BC4;transform:rotate(45deg);transition:color .5s ease}
.wrow:hover .warrow{background:#2F5BC4;box-shadow:0 10px 30px rgba(47,91,196,0.3)}
.wrow:hover .warrow span{background:#FFFFFF;transform:translateX(3px)}
.wrow:hover .warrow span::after{color:#FFFFFF}
.land{animation:landDrift 60s linear infinite}
.clouds{animation:cloudDrift 38s linear infinite}
.aura{animation:aura 6s ease-in-out infinite}
@media (prefers-reduced-motion: reduce){.breathe,.bloom,.sky,.spin,.spinBack,.land,.clouds,.aura,.ch,.reveal,.reveal-d,.reveal-r,.reveal-u,.thread,.geo-draw{animation:none}.gyro-spin{animation:none!important}.ign{animation:none!important;opacity:.3!important}.intro{animation:none!important}.ch{opacity:1!important}.rise{animation:none;opacity:1}}

/* frame: the 1440x900 design canvas scaled to the window (desktop) */
html,body{height:100%;margin:0;overflow:hidden;background:#FFFFFF}
#r26wrap{position:fixed;inset:0;overflow:hidden;background:#FFFFFF}
#r26{position:absolute;left:50%;top:50%;width:calc(var(--cw,1440) * 1px);height:calc(var(--ch,900) * 1px);transform:translate(-50%,-50%) scale(var(--s,1));transform-origin:50% 50%}
@media (min-width: 821px){
#r26>div{width:100%!important;height:100%!important}
/* keep the 1440px design centred when the window is wider than 16:10 */
.ringScroll>div:first-child,.ringScroll>.heroS{margin-left:var(--cxp,0px)}
.ringScroll>section{left:0!important;right:auto!important;width:1440px;margin-left:var(--cxp,0px)}
#r26 [style^="position:absolute;pointer-events:none;border-radius:50%"],#r26 [style*="left:340px;top:100px"],#r26 [style*="left: 698px"],#r26 [style*="left: 744px"],#r26 [style*="left: 720px; top: 840px"]{margin-left:var(--cxp,0px)}
.scroller>div{max-width:1440px;margin-left:auto!important;margin-right:auto!important}
/* Text defined in CSS (rather than inline template styles) needs the same
   compensation. Keep these rules desktop-only; mobile.css owns phone type. */
.lkrow .lkno{font-size:calc(14px / var(--s,1))}
.lkrow .lkja,.lkrow .lkd,.wrow .wlead{font-size:calc(18px / var(--s,1))}
.wall .wallen,.wrow .wcat{font-size:calc(12px / var(--s,1))}
.wall .wallja{font-size:calc(clamp(22.4px,calc(28px * var(--s,1)),28px) / var(--s,1))}
.wrow .wtitle{font-size:calc(clamp(27.2px,calc(34px * var(--s,1)),34px) / var(--s,1))}
/* Longer body copy reflows within the existing columns. */
.scroller p{overflow-wrap:break-word}
.scroller h2,.scroller h3{white-space:normal!important;overflow-wrap:break-word;min-width:0}
.wrow .wlead{-webkit-line-clamp:unset;display:block;line-height:1.9}
}
/* At compact desktop sizes the three-step descriptions would otherwise be
   only 8–11 Japanese characters wide at 18px. Keep the same three-step design,
   but give it a full row below the introduction. */
@media (min-width:821px) and (max-width:1280px),(min-width:821px) and (max-height:720px){
.scroller section[id^="work-"]{grid-template-columns:minmax(0,1fr)!important}
.scroller section[id^="work-"]>div:first-of-type{max-width:40em}
}

.r26-noin .intro{animation:none!important}
a:focus-visible,button:focus-visible{outline:2px solid #2F5BC4;outline-offset:3px}
#r26.hold .ringScroll{overflow-y:hidden!important}
/* reveal-on-scroll: if the browser cannot drive it reliably, just show the content */
@supports not (animation-timeline: view()){.reveal,.reveal-d,.reveal-u,.reveal-r,.thread,.geo-draw,.wslide{animation:none!important;opacity:1!important;filter:none!important;transform:none!important;stroke-dashoffset:0!important}}
#r26 [id^="work-"]{scroll-margin-top:130px}
/* /works/ LDM®・インスピレーション力® and 意識産業 (2026-10-14): the model figures sit directly under the title,
   then the lead and the three steps follow. The title column is unwrapped so its parts can be placed on the grid. */
[id^="work-"]{row-gap:0!important}
[id^="work-"]>div:first-of-type{display:contents!important}
[id^="work-"]>div:first-of-type>p:first-child{grid-column:1/-1;grid-row:1}
[id^="work-"]>div:first-of-type>h2{grid-column:1/-1;grid-row:2;margin-top:12px!important}
[id^="work-"]>div:nth-of-type(3){grid-row:3;margin-top:36px!important}
[id^="work-"]>div:first-of-type>p:nth-of-type(2){grid-column:1;grid-row:4;margin-top:56px!important}
[id^="work-"]>div:first-of-type>a{grid-column:1;grid-row:5;margin-top:12px}
[id^="work-"]>div:nth-of-type(2){grid-column:2;grid-row:4/6;margin-top:56px}
[id^="work-"]>div:nth-of-type(n+4){grid-column:1/-1;grid-row:7}
/* phones, and compact desktop sizes where the works rows collapse to one column (see the rule above):
   stack everything in one column so nothing is pushed into an implicit second track */
@media (max-width:820px),(min-width:821px) and (max-width:1280px),(min-width:821px) and (max-height:720px){
[id^="work-"]>div:first-of-type>p:nth-of-type(2){grid-column:1/-1;margin-top:32px!important}
[id^="work-"]>div:first-of-type>a{grid-column:1/-1}
[id^="work-"]>div:nth-of-type(2){grid-column:1/-1;grid-row:6;margin-top:32px}
}
/* profile timeline: the node dot always sits on the central line (right-hand rows used to auto-place it into the left column) */
.tlrow>.tldot{grid-column:2;grid-row:1}

/* /works/: 構想・メソッド・実際の運用 opens on click (state lives on <html> so engine repaints never close it) */
.wtoggle{align-self:flex-start;display:inline-flex;align-items:center;gap:12px;min-height:46px;padding:0 24px;border:0;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1px rgba(47,91,196,.45);color:#2F5BC4;font:inherit;font-size:14px;letter-spacing:.08em;cursor:pointer;transition:background .25s,box-shadow .25s}
.wtoggle:hover{background:#F2F5FD}
.wtoggle:focus-visible{outline:2px solid #2F5BC4;outline-offset:3px}
.wtoggle::after{content:"";width:9px;height:9px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .3s}
.wbody{display:none!important}
html.wo-work-0 #work-0 .wbody{display:grid!important}html.wo-work-0 #work-0 .wtoggle::after{transform:translateY(2px) rotate(225deg)}
html.wo-work-1 #work-1 .wbody{display:grid!important}html.wo-work-1 #work-1 .wtoggle::after{transform:translateY(2px) rotate(225deg)}
html.wo-work-2 #work-2 .wbody{display:grid!important}html.wo-work-2 #work-2 .wtoggle::after{transform:translateY(2px) rotate(225deg)}
html.wo-work-3 #work-3 .wbody{display:grid!important}html.wo-work-3 #work-3 .wtoggle::after{transform:translateY(2px) rotate(225deg)}
html.wo-work-4 #work-4 .wbody{display:grid!important}html.wo-work-4 #work-4 .wtoggle::after{transform:translateY(2px) rotate(225deg)}
html.wo-work-5 #work-5 .wbody{display:grid!important}html.wo-work-5 #work-5 .wtoggle::after{transform:translateY(2px) rotate(225deg)}
html.wo-work-6 #work-6 .wbody{display:grid!important}html.wo-work-6 #work-6 .wtoggle::after{transform:translateY(2px) rotate(225deg)}
html.wo-work-7 #work-7 .wbody{display:grid!important}html.wo-work-7 #work-7 .wtoggle::after{transform:translateY(2px) rotate(225deg)}

/* /profile/ 著書6冊: covers lift a little on hover */
.bkcov:hover{transform:translateY(-6px)}
.bkcov:focus-visible{outline:2px solid #6E45B0;outline-offset:4px}

/* ===== /works/ vessel (2026-10-15): the same world as the top page =====
   - hero: the top page's mist + wire (hero-3d.js works mode) instead of the blue cube, hex net and iso grid
   - each work is one scene: a large thin numeral, a centred title and lead, the figure without a card frame
   - between works, one thin line of light flows down (the thread that runs through the page) */
html.pg-works .gyro-wrap,html.pg-works .hexnet,html.pg-works svg:has(#isoGrid){display:none!important}
html.pg-works .wlegend{display:none!important}
html.pg-works .scroller{counter-reset:wk}
html.pg-works .scroller>section:first-of-type{min-height:570px}
/* the page-colour glow spheres give way to the mist */
html.pg-works #r26 div[style^="position:absolute;pointer-events:none;border-radius:50%"]{display:none!important}
html.pg-works .scroller>section:first-of-type h1{font-size:72px!important;letter-spacing:.1em!important;white-space:nowrap}
html.pg-works [id^="work-"]{counter-increment:wk;padding-top:0!important;justify-items:center}
html.pg-works [id^="work-"]>span[aria-hidden]{display:none!important}
html.pg-works [id^="work-"]>div:first-of-type>p:first-child{grid-column:1/-1;justify-self:center;text-align:center;color:#6E45B0!important;letter-spacing:.32em!important;font-size:16px!important}
html.pg-works [id^="work-"]>div:first-of-type>p:first-child::before{content:counter(wk,decimal-leading-zero);display:block;margin:0 auto 18px;font-family:'Shippori Mincho B1',serif;font-size:88px;font-weight:400;line-height:1;letter-spacing:.06em;background:linear-gradient(135deg,#03A38F 0%,#38A7E4 45%,#552983 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
html.pg-works [id^="work-"]>div:first-of-type>h2{grid-column:1/-1;justify-self:center;text-align:center;font-size:50px!important;letter-spacing:.1em!important;line-height:1.5!important}
html.pg-works [id^="work-"]>div:first-of-type>p:nth-of-type(2){grid-column:1/-1!important;justify-self:center;text-align:center;max-width:38em;margin-top:36px!important;font-size:19px!important;line-height:2.2!important}
html.pg-works [id^="work-"]>div:first-of-type>a{grid-column:1/-1!important;justify-self:center}
html.pg-works [id^="work-"]>div:nth-of-type(3){grid-column:1/-1;width:100%}
html.pg-works [id^="work-"]>div:nth-of-type(2){grid-column:1/-1!important;grid-row:6!important;justify-self:stretch;margin-top:30px!important}
html.pg-works [id^="work-"]>div[style*="border-radius: 18px"]{background:transparent!important;box-shadow:none!important;padding-left:0!important;padding-right:0!important}
html.pg-works .wtoggle{align-self:center;color:#5B3FA0;box-shadow:inset 0 0 0 1px rgba(110,69,176,.4)}
html.pg-works .wtoggle:hover{background:#F6F2FC}
/* rhythm: a breath of white between works, and each work comes in when you reach it
   (numeral → title → figure → words → the toggle). Hidden only once the script has armed it (html.wk-rev). */
html.pg-works .scroller div[style*="gap: 130px"]{gap:280px!important;padding-left:72px!important;padding-right:72px!important}
html.pg-works.wk-rev [id^="work-"]>div:first-of-type>p,html.pg-works.wk-rev [id^="work-"]>div:first-of-type>h2,html.pg-works.wk-rev [id^="work-"]>div:first-of-type>a,html.pg-works.wk-rev [id^="work-"]>div{opacity:0;transform:translateY(36px);transition:opacity 1.3s cubic-bezier(.2,.7,.2,1),transform 1.5s cubic-bezier(.2,.7,.2,1)}
html.pg-works.wk-rev [id^="work-"]>div:nth-of-type(3){transform:translateY(60px) scale(.97)}
html.pg-works.wkin-work-0 #work-0>div:first-of-type>p,html.pg-works.wkin-work-0 #work-0>div:first-of-type>h2,html.pg-works.wkin-work-0 #work-0>div:first-of-type>a,html.pg-works.wkin-work-0 #work-0>div{opacity:1!important;transform:none!important}
html.pg-works.wkin-work-1 #work-1>div:first-of-type>p,html.pg-works.wkin-work-1 #work-1>div:first-of-type>h2,html.pg-works.wkin-work-1 #work-1>div:first-of-type>a,html.pg-works.wkin-work-1 #work-1>div{opacity:1!important;transform:none!important}
html.pg-works.wkin-work-2 #work-2>div:first-of-type>p,html.pg-works.wkin-work-2 #work-2>div:first-of-type>h2,html.pg-works.wkin-work-2 #work-2>div:first-of-type>a,html.pg-works.wkin-work-2 #work-2>div{opacity:1!important;transform:none!important}
html.pg-works.wkin-work-3 #work-3>div:first-of-type>p,html.pg-works.wkin-work-3 #work-3>div:first-of-type>h2,html.pg-works.wkin-work-3 #work-3>div:first-of-type>a,html.pg-works.wkin-work-3 #work-3>div{opacity:1!important;transform:none!important}
html.pg-works.wkin-work-4 #work-4>div:first-of-type>p,html.pg-works.wkin-work-4 #work-4>div:first-of-type>h2,html.pg-works.wkin-work-4 #work-4>div:first-of-type>a,html.pg-works.wkin-work-4 #work-4>div{opacity:1!important;transform:none!important}
html.pg-works.wkin-work-5 #work-5>div:first-of-type>p,html.pg-works.wkin-work-5 #work-5>div:first-of-type>h2,html.pg-works.wkin-work-5 #work-5>div:first-of-type>a,html.pg-works.wkin-work-5 #work-5>div{opacity:1!important;transform:none!important}
html.pg-works.wkin-work-6 #work-6>div:first-of-type>p,html.pg-works.wkin-work-6 #work-6>div:first-of-type>h2,html.pg-works.wkin-work-6 #work-6>div:first-of-type>a,html.pg-works.wkin-work-6 #work-6>div{opacity:1!important;transform:none!important}
html.pg-works.wkin-work-7 #work-7>div:first-of-type>p,html.pg-works.wkin-work-7 #work-7>div:first-of-type>h2,html.pg-works.wkin-work-7 #work-7>div:first-of-type>a,html.pg-works.wkin-work-7 #work-7>div{opacity:1!important;transform:none!important}
html.pg-works.wk-rev [id^="work-"]>div:first-of-type>h2{transition-delay:.18s}
html.pg-works.wk-rev [id^="work-"]>div:nth-of-type(3){transition-delay:.4s}
html.pg-works.wk-rev [id^="work-"]>div:first-of-type>p:nth-of-type(2),html.pg-works.wk-rev [id^="work-"]>div:first-of-type>a{transition-delay:.7s}
html.pg-works.wk-rev [id^="work-"]>div:nth-of-type(2),html.pg-works.wk-rev [id^="work-"]>div:nth-of-type(n+4){transition-delay:.85s}
@media (prefers-reduced-motion:reduce){html.pg-works.wk-rev [id^="work-"] *,html.pg-works.wk-rev [id^="work-"]>div{opacity:1!important;transform:none!important;transition:none!important}}
.pfoot .pf-k{display:none}
.pfoot .pf-t{white-space:nowrap}
html:not(.r26m) .pfoot{margin-left:max(64px,5vw)!important;margin-right:max(64px,5vw)!important}
/* ===== site menu ===== */
#r26 div[style*="height: 88px"] > div:has(> button.orb){visibility:hidden!important;pointer-events:none!important}
#site-menu-btn{position:fixed;z-index:9995;top:22px;right:40px;display:flex;align-items:center;gap:8px;height:44px;padding:0 6px 0 4px;border:0;background:transparent;cursor:pointer;color:#15172A;font:500 11px/1 "Zen Kaku Gothic New",sans-serif;letter-spacing:.32em;-webkit-tap-highlight-color:transparent}
#site-menu-btn .sm-l{padding-left:.1em;transition:opacity .3s}
#site-menu-btn svg{overflow:visible}
#site-menu-btn .sm-ring{transform-origin:20px 20px;transition:transform 1.1s cubic-bezier(.2,.8,.2,1),opacity .5s;animation:smSpin 24s linear infinite}
#site-menu-btn .sm-core{transform-origin:20px 20px;transition:transform .5s,opacity .4s;animation:smBreath 3.2s ease-in-out infinite}
#site-menu-btn .sm-x{opacity:0;transform-origin:20px 20px;transform:scale(.4) rotate(-45deg);transition:opacity .4s,transform .6s cubic-bezier(.2,.8,.2,1)}
#site-menu-btn:hover .sm-ring{animation-duration:6s}
#site-menu-btn:focus-visible{outline:1px solid #4A78E0;outline-offset:4px;border-radius:22px}
html.sm-open #site-menu-btn .sm-ring{transform:scale(1.35);opacity:.45}
html.sm-open #site-menu-btn .sm-core{opacity:0;transform:scale(.2)}
html.sm-open #site-menu-btn .sm-x{opacity:1;transform:none}
@keyframes smSpin{to{transform:rotate(360deg)}}
@keyframes smBreath{0%,100%{transform:scale(.85);opacity:.7}50%{transform:scale(1.15);opacity:1}}
#site-menu{position:fixed;inset:0;z-index:9990;visibility:hidden;pointer-events:none}
html.sm-open #site-menu{visibility:visible;pointer-events:auto}
#site-menu .sm-veil{position:absolute;inset:0;background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);opacity:0;transition:opacity .6s ease}
html.sm-open #site-menu .sm-veil{opacity:1}
#site-menu .sm-in{position:relative;height:100%;overflow-y:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:center;gap:40px;padding:110px max(64px,6vw) 60px;box-sizing:border-box}
#site-menu .sm-side{display:flex;flex-direction:column;align-items:center;gap:18px;opacity:0;transform:scale(.94);transition:opacity .9s ease .1s,transform 1.2s cubic-bezier(.2,.8,.2,1) .1s}
html.sm-open #site-menu .sm-side{opacity:1;transform:none}
#site-menu .sm-art{width:min(380px,32vw);height:auto;animation:smSpin 90s linear infinite}
#site-menu .sm-name{margin:0;text-align:center;font-family:'Shippori Mincho B1',serif;font-size:22px;letter-spacing:.4em;color:#15172A}
#site-menu .sm-name span{display:block;margin-top:10px;font:500 10px/1 "Zen Kaku Gothic New",sans-serif;letter-spacing:.42em;color:#9AA0BC}
#site-menu .sm-list{display:flex;flex-direction:column}
#site-menu .sm-list a{position:relative;display:grid;grid-template-columns:30px 18px minmax(0,1fr);align-items:center;gap:14px;padding:13px 4px;color:#15172A;text-decoration:none;opacity:0;transform:translateY(10px);transition:opacity .6s ease calc(.12s + var(--i)*.045s),transform .8s cubic-bezier(.2,.8,.2,1) calc(.12s + var(--i)*.045s)}
#site-menu .sm-list a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,var(--c),transparent);opacity:.28;transform:scaleX(0);transform-origin:left;transition:transform 1s cubic-bezier(.2,.8,.2,1) calc(.2s + var(--i)*.05s),opacity .3s}
html.sm-open #site-menu .sm-list a{opacity:1;transform:none}
html.sm-open #site-menu .sm-list a::after{transform:none}
#site-menu .smi-n{font:500 10px/1 "Zen Kaku Gothic New",sans-serif;letter-spacing:.2em;color:#9AA0BC}
#site-menu .smi-d{width:8px;height:8px;border-radius:50%;background:var(--c);box-shadow:0 0 0 4px color-mix(in srgb,var(--c) 18%,transparent);transition:box-shadow .4s,transform .4s}
#site-menu .smi-t{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 16px;min-width:0}
#site-menu .smi-t b{font-family:'Shippori Mincho B1',serif;font-weight:500;font-size:22px;letter-spacing:.08em;line-height:1.4}
#site-menu .smi-t em{font-style:normal;font:500 9.5px/1 "Zen Kaku Gothic New",sans-serif;letter-spacing:.3em;color:#9AA0BC}
#site-menu .smi-t em i{font-style:normal;margin-left:12px;letter-spacing:.2em;color:var(--c)}
#site-menu .sm-list a:hover .smi-d,#site-menu .sm-list a:focus-visible .smi-d{transform:scale(1.4);box-shadow:0 0 0 6px color-mix(in srgb,var(--c) 22%,transparent),0 0 18px 4px color-mix(in srgb,var(--c) 45%,transparent)}
#site-menu .sm-list a:hover::after,#site-menu .sm-list a:focus-visible::after{opacity:.75}
#site-menu .sm-list a:focus-visible{outline:none}
#site-menu .sm-list a[aria-current] .smi-d{box-shadow:0 0 0 5px color-mix(in srgb,var(--c) 25%,transparent),0 0 16px 4px color-mix(in srgb,var(--c) 55%,transparent)}
@media (max-width:820px),(pointer:coarse) and (max-height:500px){
  #site-menu .sm-in{grid-template-columns:1fr;align-items:start;gap:8px;padding:84px 24px 48px}
  #site-menu .sm-side{position:absolute;left:50%;top:50%;width:150vw;margin:-75vw 0 0 -75vw;opacity:0!important;pointer-events:none}
  html.sm-open #site-menu .sm-side{opacity:.35!important}
  #site-menu .sm-art{width:150vw}
  #site-menu .sm-name{display:none}
  #site-menu .sm-list a{grid-template-columns:24px 14px minmax(0,1fr);gap:12px;padding:12px 2px}
  #site-menu .smi-t b{font-size:17px;letter-spacing:.06em}
  #site-menu .smi-t em{font-size:8.5px}
  #site-menu-btn .sm-l{font-size:9.5px}
}
@media (prefers-reduced-motion:reduce){#site-menu-btn .sm-ring,#site-menu-btn .sm-core,#site-menu .sm-art{animation:none}#site-menu *{transition-duration:.01s!important}}
/* ===== all-pages doors: a lattice of light, one cell per page ===== */
.doors-h{align-self:center;display:flex;align-items:center;gap:22px;font-family:'Shippori Mincho B1',serif!important;font-size:22px!important;letter-spacing:.32em!important;color:#15172A!important;margin-bottom:18px!important}
.doors-h::before,.doors-h::after{content:"";width:90px;height:1px;background:linear-gradient(90deg,transparent,rgba(74,120,224,.55))}
.doors-h::after{background:linear-gradient(90deg,rgba(110,69,176,.55),transparent)}
.doors-grid{gap:0!important;position:relative;border-top:1px solid rgba(74,120,224,.16)}
.doors-grid a.door{flex-direction:column;align-items:flex-start!important;gap:18px!important;padding:40px 30px 36px!important;background:none!important;box-shadow:inset -1px 0 0 rgba(74,120,224,.12),inset 0 -1px 0 rgba(74,120,224,.12);overflow:hidden;transition:background .8s ease}
.doors-grid a.door:nth-child(3n){box-shadow:inset 0 -1px 0 rgba(74,120,224,.12)}
.doors-grid a.door::before{content:"";position:absolute;left:-3px;top:-3px;width:6px;height:6px;border-radius:50%;background:var(--c);box-shadow:0 0 10px 2px color-mix(in srgb,var(--c) 55%,transparent);opacity:.65}
.doors-grid a.door::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 68px 78px,color-mix(in srgb,var(--c) 16%,transparent),transparent 62%);opacity:0;transition:opacity .9s ease;pointer-events:none}
.doors-grid a.door:hover::after,.doors-grid a.door:focus-visible::after{opacity:1}
.doors-grid a.door .door-sym{position:relative;width:76px!important;height:76px!important;animation:doorFloat 7s ease-in-out infinite}
.doors-grid a.door .door-sym::before{content:"";position:absolute;inset:-12px;border-radius:50%;border:1px dashed color-mix(in srgb,var(--c) 45%,transparent);animation:smSpin 40s linear infinite;transition:inset .9s cubic-bezier(.2,.8,.2,1),border-color .6s}
.doors-grid a.door:hover .door-sym::before{inset:-18px;border-color:var(--c);animation-duration:8s}
.doors-grid a.door .door-t{font-size:20px!important;letter-spacing:.08em;transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.doors-grid a.door:hover .door-t{transform:translateX(6px)}
.doors-grid a.door .door-t+span{font-size:13px!important;line-height:1.85!important}
.doors-grid a.door:focus-visible{outline:1px solid var(--c);outline-offset:-6px}
#site-menu .smi-n{display:none}
#site-menu .sm-list a{grid-template-columns:18px minmax(0,1fr)!important}
/* ===== Earth Journey portal: a gate from this world into another ===== */
a.ej-portal{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:40px;padding:10px 20px 6px;text-decoration:none;color:#15172A;-webkit-tap-highlight-color:transparent}
.ejp-gate{position:relative;width:220px;height:220px;margin-bottom:26px}
.ejp-core{position:absolute;inset:40px;border-radius:50%;overflow:hidden;background:#0B1230;box-shadow:0 0 0 1px rgba(139,92,214,.45),0 0 40px 8px rgba(91,168,222,.28),0 20px 60px -10px rgba(40,30,110,.5);transition:transform 1.2s cubic-bezier(.2,.8,.2,1),box-shadow 1s}
.ejp-img{position:absolute;inset:-8%;background:url('/site-assets/r26/img/earth-journey.webp') 50% 52%/cover no-repeat;animation:ejpDrift 22s ease-in-out infinite alternate;filter:saturate(1.1)}
.ejp-stars{position:absolute;inset:0;background:radial-gradient(circle at 50% 120%,rgba(255,200,140,.0) 40%,rgba(11,18,48,.15) 70%),radial-gradient(circle at 50% 50%,transparent 55%,rgba(8,12,36,.55) 100%)}
.ejp-r{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(139,92,214,.28)}
.ejp-r1{inset:26px;border-color:rgba(91,168,222,.55);border-style:dashed;animation:ejpSpin 40s linear infinite}
.ejp-r2{inset:12px;border-color:rgba(139,92,214,.32);border-top-color:rgba(139,92,214,.9);animation:ejpSpin 9s linear infinite reverse}
.ejp-r3{inset:0;border-color:rgba(74,120,224,.14)}
.ejp-w{position:absolute;inset:40px;border-radius:50%;border:1px solid rgba(91,168,222,.6);opacity:0;animation:ejpWave 4.2s cubic-bezier(.2,.7,.2,1) infinite}
.ejp-w2{animation-delay:2.1s;border-color:rgba(139,92,214,.55)}
.ejp-k{font:500 10.5px/1 "Zen Kaku Gothic New",sans-serif;letter-spacing:.42em;padding-left:.42em;color:#8B5CD6}
.ejp-t{font-family:'Shippori Mincho B1',serif;font-size:28px;letter-spacing:.14em;line-height:1.5}
.ejp-ar{display:inline-block;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.ejp-s{font-size:13px;letter-spacing:.24em;color:#6A6E85}
a.ej-portal:hover .ejp-core,a.ej-portal:focus-visible .ejp-core{transform:scale(1.07);box-shadow:0 0 0 1px rgba(139,92,214,.7),0 0 70px 18px rgba(91,168,222,.4),0 24px 70px -10px rgba(40,30,110,.6)}
a.ej-portal:hover .ejp-r2{animation-duration:3s}
a.ej-portal:hover .ejp-ar,a.ej-portal:focus-visible .ejp-ar{transform:translateX(8px)}
a.ej-portal:focus-visible{outline:none}
a.ej-portal:focus-visible .ejp-t{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
@keyframes ejpSpin{to{transform:rotate(360deg)}}
@keyframes ejpWave{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.9);opacity:0}}
@keyframes ejpDrift{0%{transform:scale(1.04) translate(0,0)}100%{transform:scale(1.14) translate(-2%,-3%)}}
@media (max-width:820px),(pointer:coarse) and (max-height:500px){.ejp-gate{width:200px;height:200px}.ejp-t{font-size:23px}}
@media (prefers-reduced-motion:reduce){.ejp-r,.ejp-w,.ejp-img{animation:none!important}}
/* ===== top page 「未来の実装」 list: same language as /works/ ===== */
section[aria-label="これまでの未来実装"] > svg[aria-hidden="true"]{display:none!important}
.wrow .wnum{color:transparent!important;-webkit-text-stroke:0!important;background:linear-gradient(160deg,#03A38F,#4A78E0 45%,#6E45B0);-webkit-background-clip:text;background-clip:text;font-weight:400;opacity:.55;transition:opacity .6s ease}
.wrow:hover .wnum,.wrow:focus-visible .wnum{opacity:1}
.wrow .wglyph .wg-halo{opacity:.6;transform-origin:70px 55px;transition:opacity .8s,transform 1.2s cubic-bezier(.22,1,.36,1)}
.wrow:hover .wglyph .wg-halo{opacity:1;transform:scale(1.15)}
.wrow .wglyph .wg-dots circle{filter:drop-shadow(0 0 2.5px rgba(74,120,224,.7))}
.wrow .wglyph .wg-dots{animation:wgBreath 4.5s ease-in-out infinite}
.wrow .wglyph .gl{stroke-dashoffset:0}
@keyframes wgBreath{0%,100%{opacity:.75}50%{opacity:1}}
.wrow .wfill{background:linear-gradient(90deg,rgba(74,120,224,.07),rgba(110,69,176,.04) 55%,rgba(74,120,224,0))!important}
@media (prefers-reduced-motion:reduce){.wrow .wglyph .wg-dots{animation:none}}
/* ===== the business door: a separate band below the lattice ===== */
a.biz-door{position:relative;display:grid;grid-template-columns:64px minmax(0,1fr) 48px;align-items:center;gap:26px;margin-top:44px;padding:26px 32px;border-radius:999px;text-decoration:none;color:#15172A;background:linear-gradient(90deg,rgba(217,96,42,.06),rgba(255,255,255,0) 70%);box-shadow:inset 0 0 0 1px rgba(217,96,42,.28);transition:box-shadow .6s,background .6s}
a.biz-door:hover,a.biz-door:focus-visible{box-shadow:inset 0 0 0 1px rgba(217,96,42,.7),0 14px 40px -18px rgba(217,96,42,.5);outline:none}
.bz-sym{width:56px;height:56px;border-radius:50%;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ccircle cx='50' cy='50' r='46' fill='%23D9602A' fill-opacity='.06'/%3E%3Cg fill='none' stroke='%23D9602A' stroke-width='1.3' stroke-linecap='round'%3E%3Cpath d='M18 78 L82 78' stroke-opacity='.5'/%3E%3Cpath d='M26 78 L26 64 M41 78 L41 52 M56 78 L56 40 M71 78 L71 28' stroke-opacity='.85'/%3E%3Cpath d='M22 60 L41 46 L56 34 L73 20' stroke-opacity='.45' stroke-dasharray='2 3'/%3E%3C/g%3E%3Ccircle cx='73' cy='20' r='3.2' fill='%23D9602A'/%3E%3C/svg%3E") center/contain no-repeat}
.bz-txt{display:flex;flex-direction:column;gap:4px;min-width:0}
.bz-k{font-family:'Shippori Mincho B1',serif;font-size:21px;letter-spacing:.1em}
.bz-t{font-size:13.5px;letter-spacing:.06em;color:#5A5E75}
.bz-ar{justify-self:end;font-size:20px;color:#D9602A;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
a.biz-door:hover .bz-ar{transform:translateX(6px)}
/* ===== 構想 / 設計 / 実装 inside each work ===== */
html.pg-works .wbody{counter-reset:wst;gap:22px!important}
html.pg-works .wbody>svg line{stroke-opacity:.28}
html.pg-works .wbody>div{counter-increment:wst;padding:0 26px 34px 4px;border-radius:22px;background:linear-gradient(180deg,transparent 0 58px,rgba(74,120,224,.055) 58px,rgba(110,69,176,.025) 70%,rgba(74,120,224,0) 100%);box-shadow:inset 1px 0 0 rgba(74,120,224,.0)}
html.pg-works .wbody>div>svg{transform:scale(1.35);transform-origin:17px 17px;filter:drop-shadow(0 0 8px rgba(74,120,224,.45))}
html.pg-works .wbody>div>p:first-of-type{display:flex;align-items:baseline;gap:14px;margin-top:30px!important;padding-left:22px;font-family:'Shippori Mincho B1',serif!important;font-size:25px!important;font-weight:500;letter-spacing:.32em!important;color:#15172A!important;line-height:1.3}
html.pg-works .wbody>div>p:first-of-type::before{content:counter(wst,decimal-leading-zero);font-family:'Shippori Mincho B1',serif;font-size:15px;letter-spacing:.08em;background:linear-gradient(160deg,#03A38F,#4A78E0 50%,#6E45B0);-webkit-background-clip:text;background-clip:text;color:transparent}
html.pg-works .wbody>div>p:first-of-type::after{content:"";flex:1;height:1px;align-self:center;margin-left:4px;background:linear-gradient(90deg,rgba(74,120,224,.4),transparent)}
html.pg-works .wbody>div>p:nth-of-type(2){padding-left:22px;font-size:16px!important;line-height:2.05!important;color:#3A3E55!important}
html.pg-works .wbody>div:nth-child(4)>p:first-of-type{color:#2F5BC4!important}
html.pg-works:not(.r26m) .wtoggle{font-size:calc(20px / var(--s,1))!important;min-height:calc(64px / var(--s,1));padding:0 calc(38px / var(--s,1));gap:16px;letter-spacing:.14em}
html.pg-works:not(.r26m) .wtoggle::after{width:11px;height:11px}
/* ===================== /ldm/ — LDM®とは？ in 8 chapters (2026-10-15) ===================== */
.ldm8{--f:var(--s,1);position:relative;padding:0 150px;margin-top:150px;display:flex;flex-direction:column;gap:210px;color:#15172A}
.ldm8 p{margin:0}
.ldm8 ul{margin:0;padding:0;list-style:none}
.l8-index{display:flex;flex-direction:column;align-items:center;gap:26px}
.l8-ih{font-family:'Shippori Mincho B1',serif;font-size:calc(24px / var(--f));letter-spacing:.24em;display:flex;align-items:center;gap:22px}
.l8-ih::before,.l8-ih::after{content:"";width:70px;height:1px;background:linear-gradient(90deg,transparent,rgba(56,167,228,.6))}
.l8-ih::after{background:linear-gradient(90deg,rgba(110,69,176,.6),transparent)}
.l8-ilist{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));width:100%;border-top:1px solid rgba(56,167,228,.2);border-bottom:1px solid rgba(56,167,228,.2)}
.l8-ilist a{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;padding:26px 8px;text-align:center;text-decoration:none;color:#2A2E45;transition:background .6s}
.l8-ilist a+a{box-shadow:inset 1px 0 0 rgba(56,167,228,.14)}
.l8-ilist a:hover{background:radial-gradient(circle at 50% 30%,rgba(56,167,228,.12),transparent 70%)}
.l8-in{font-family:'Shippori Mincho B1',serif;font-size:calc(22px / var(--f));background:linear-gradient(160deg,#03A38F,#38A7E4 50%,#6E45B0);-webkit-background-clip:text;background-clip:text;color:transparent}
.l8-it{font-size:calc(13.5px / var(--f));line-height:1.6;letter-spacing:.04em}
.l8-ch{position:relative;display:flex;flex-direction:column;gap:56px;scroll-margin-top:110px}
.l8-head{display:flex;align-items:center;gap:20px}
.l8-no{font-family:'Shippori Mincho B1',serif;font-size:calc(92px / var(--f));line-height:.9;background:linear-gradient(160deg,#03A38F,#38A7E4 45%,#6E45B0);-webkit-background-clip:text;background-clip:text;color:transparent;opacity:.9}
.l8-lab{font-size:calc(15px / var(--f));letter-spacing:.3em;color:#17699A;padding-top:22px}
.l8-lab::before{content:"";display:inline-block;width:40px;height:1px;margin:0 16px 4px 0;vertical-align:middle;background:#38A7E4}
.l8-top{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:60px;align-items:center}
.l8-l .l8-top{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
.l8-l .l8-top .l8-fig{order:-1}
.l8-txt{display:flex;flex-direction:column;gap:26px}
.l8-t{margin:0;font-family:'Shippori Mincho B1',serif;font-weight:500;font-size:calc(42px / var(--f));line-height:1.55;letter-spacing:.06em}
.l8-lead{font-size:calc(19px / var(--f));line-height:2.15;color:#2A2E45}
.l8-fig{position:relative;height:420px}
.l8-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid rgba(56,167,228,.22)}
.l8-stats>div{padding:34px 10px 6px;text-align:center}
.l8-stats>div+div{box-shadow:inset 1px 0 0 rgba(56,167,228,.16)}
.l8-stats b{font-family:'Shippori Mincho B1',serif;font-weight:500;font-size:calc(64px / var(--f));background:linear-gradient(160deg,#03A38F,#38A7E4 50%,#6E45B0);-webkit-background-clip:text;background-clip:text;color:transparent}
.l8-stats span{font-size:calc(18px / var(--f));margin-left:4px;color:#17699A}
.l8-stats p{margin-top:8px;font-size:calc(14.5px / var(--f));letter-spacing:.08em;color:#5A5E75}
.l8-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.l8-card{position:relative;padding:40px 40px 38px;border-radius:26px;background:linear-gradient(180deg,rgba(56,167,228,.07),rgba(110,69,176,.025) 70%,rgba(56,167,228,0));box-shadow:inset 0 0 0 1px rgba(56,167,228,.16)}
.l8-ck{font-family:'Shippori Mincho B1',serif;font-size:calc(23px / var(--f));line-height:1.6;margin-bottom:22px!important}
.l8-ck span{display:block;margin-top:6px;font-family:"Zen Kaku Gothic New",sans-serif;font-size:calc(13.5px / var(--f));letter-spacing:.08em;color:#17699A}
.l8-check li{position:relative;padding:11px 0 11px 30px;font-size:calc(16px / var(--f));line-height:1.85;color:#2A2E45;border-bottom:1px solid rgba(56,167,228,.12)}
.l8-check li::before{content:"";position:absolute;left:2px;top:21px;width:10px;height:10px;border-radius:50%;background:radial-gradient(circle,#fff 0 25%,#38A7E4 30% 55%,rgba(56,167,228,0) 75%);box-shadow:0 0 10px rgba(56,167,228,.6)}
.l8-key{text-align:center;font-size:calc(16.5px / var(--f));line-height:2.1;color:#3A3E55}
.l8-key span{display:block;margin-bottom:6px;font-family:'Shippori Mincho B1',serif;font-size:calc(26px / var(--f));color:#15172A;letter-spacing:.06em}
.l8-els{display:flex;flex-direction:column;gap:30px}
.l8-el{padding:40px 44px;border-radius:26px;background:linear-gradient(180deg,rgba(56,167,228,.06),rgba(56,167,228,0) 80%);box-shadow:inset 0 0 0 1px rgba(56,167,228,.15);display:flex;flex-direction:column;gap:22px}
.l8-elh{display:flex;align-items:center;gap:30px}
.l8-elk{flex:none;width:92px;height:92px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Shippori Mincho B1',serif;font-size:calc(30px / var(--f));color:#fff;background:radial-gradient(circle at 35% 30%,#A9C2F5,#4A78E0 45%,#2F4FB0);box-shadow:0 0 0 8px rgba(74,120,224,.12),0 0 40px rgba(74,120,224,.45)}
.l8-el:nth-child(2) .l8-elk{background:radial-gradient(circle at 35% 30%,#9FE0C4,#1FA37A 45%,#137556);box-shadow:0 0 0 8px rgba(31,163,122,.12),0 0 40px rgba(31,163,122,.45)}
.l8-el:nth-child(3) .l8-elk{background:radial-gradient(circle at 35% 30%,#F5A9B6,#E0405A 45%,#B5233C);box-shadow:0 0 0 8px rgba(224,64,90,.12),0 0 40px rgba(224,64,90,.45)}
.l8-el:nth-child(2) .l8-elr{color:#137556}.l8-el:nth-child(3) .l8-elr{color:#B5233C}
.l8-elt{font-family:'Shippori Mincho B1',serif;font-size:calc(26px / var(--f));line-height:1.5}
.l8-elr{margin-top:6px!important;font-size:calc(15.5px / var(--f));color:#17699A;letter-spacing:.04em}
.l8-eld{font-size:calc(16.5px / var(--f));line-height:2.05;color:#2A2E45}
.l8-ba{display:grid;grid-template-columns:minmax(0,1fr) 46px minmax(0,1fr);gap:16px;align-items:stretch}
.l8-ba>div{padding:22px 26px;border-radius:18px}
.l8-b{background:rgba(21,23,42,.035)}
.l8-a{background:linear-gradient(135deg,rgba(56,167,228,.12),rgba(110,69,176,.07))}
.l8-bah{font-size:calc(13px / var(--f));letter-spacing:.24em;margin-bottom:10px!important;color:#6A6E85}
.l8-a .l8-bah{color:#17699A}
.l8-ba li{position:relative;padding:5px 0 5px 18px;font-size:calc(15px / var(--f));line-height:1.85;color:#2A2E45}
.l8-ba li::before{content:"";position:absolute;left:0;top:16px;width:6px;height:6px;border-radius:50%;background:#9AA0BC}
.l8-a li::before{background:#38A7E4;box-shadow:0 0 6px #38A7E4}
.l8-arrow{align-self:center;justify-self:center;width:36px;height:1px;background:linear-gradient(90deg,#9AA0BC,#38A7E4);position:relative}
.l8-arrow::after{content:"";position:absolute;right:0;top:-4px;width:8px;height:8px;border-top:1px solid #38A7E4;border-right:1px solid #38A7E4;transform:rotate(45deg)}
.l8-quote{padding:40px 50px;border-left:2px solid;border-image:linear-gradient(180deg,#38A7E4,#6E45B0) 1;background:linear-gradient(90deg,rgba(56,167,228,.06),transparent)}
.l8-quote p{font-size:calc(17px / var(--f));line-height:2.15;color:#2A2E45}
.l8-quote .l8-qk{margin-top:14px!important;font-family:'Shippori Mincho B1',serif;font-size:calc(24px / var(--f));color:#15172A}
.l8-sub{font-family:'Shippori Mincho B1',serif;font-size:calc(24px / var(--f));letter-spacing:.1em;margin-bottom:22px!important}
.l8-scenes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid rgba(56,167,228,.2)}
.l8-scenes>div{padding:28px 24px 30px;box-shadow:inset -1px 0 0 rgba(56,167,228,.12),inset 0 -1px 0 rgba(56,167,228,.12)}
.l8-scenes>div:nth-child(3n){box-shadow:inset 0 -1px 0 rgba(56,167,228,.12)}
.l8-sct{font-family:'Shippori Mincho B1',serif;font-size:calc(19px / var(--f));margin-bottom:10px!important;color:#17699A}
.l8-scenes p:not(.l8-sct){font-size:calc(15px / var(--f));line-height:1.9;color:#3A3E55}
.l8-eq{text-align:center;display:flex;flex-direction:column;gap:22px;padding:50px 40px;border-radius:30px;background:radial-gradient(ellipse at 50% 0%,rgba(56,167,228,.13),transparent 70%)}
.l8-eqa{font-family:'Shippori Mincho B1',serif;font-size:calc(25px / var(--f));line-height:1.8}
.l8-eqa b{font-weight:500;color:#2F5BC4}
.l8-eqf{display:flex;justify-content:center;align-items:center;gap:18px;flex-wrap:wrap;font-size:calc(17px / var(--f))}
.l8-eqf span{padding:12px 22px;border-radius:999px;box-shadow:inset 0 0 0 1px rgba(56,167,228,.35)}
.l8-eqf i{font-style:normal;font-size:calc(22px / var(--f));color:#38A7E4}
.l8-eqf .l8-eqr{color:#fff;background:linear-gradient(120deg,#38A7E4,#6E45B0);box-shadow:0 8px 30px -8px rgba(110,69,176,.5)}
.l8-eq>p:last-child{font-size:calc(16px / var(--f));line-height:2;color:#3A3E55}
.l8-reasons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
.l8-rs{padding:40px 40px 38px;border-radius:26px;box-shadow:inset 0 0 0 1px rgba(56,167,228,.16);background:linear-gradient(180deg,rgba(56,167,228,.06),transparent 80%);display:flex;flex-direction:column;gap:16px}
.l8-rsn{font-size:calc(14px / var(--f));letter-spacing:.24em;color:#17699A}
.l8-rst{font-family:'Shippori Mincho B1',serif;font-size:calc(23px / var(--f));line-height:1.6}
.l8-rsd{font-size:calc(15.5px / var(--f));line-height:2;color:#3A3E55}
.l8-rsnum{display:flex;gap:26px;flex-wrap:wrap;margin-top:6px;padding-top:18px;border-top:1px solid rgba(56,167,228,.16)}
.l8-rsnum span{font-size:calc(14px / var(--f));color:#17699A}
.l8-rsnum b{font-family:'Shippori Mincho B1',serif;font-weight:500;font-size:calc(36px / var(--f));margin-right:4px;background:linear-gradient(160deg,#03A38F,#38A7E4 50%,#6E45B0);-webkit-background-clip:text;background-clip:text;color:transparent}
.l8-doms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.l8-dom{padding:30px 30px 26px;border-radius:22px;box-shadow:inset 0 0 0 1px rgba(56,167,228,.14);background:linear-gradient(160deg,rgba(56,167,228,.06),rgba(110,69,176,.03) 60%,transparent)}
.l8-domt{display:flex;align-items:center;gap:14px;font-family:'Shippori Mincho B1',serif;font-size:calc(20px / var(--f));margin-bottom:14px!important}
.l8-domt span{width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-family:"Zen Kaku Gothic New",sans-serif;font-size:calc(13px / var(--f));color:#17699A;box-shadow:inset 0 0 0 1px rgba(56,167,228,.5)}
.l8-dom li{padding:6px 0;font-size:calc(14.5px / var(--f));line-height:1.85;color:#3A3E55;border-top:1px dashed rgba(56,167,228,.18)}
.l8-voice{margin-top:20px;padding:48px 60px;border-radius:30px;text-align:center;background:radial-gradient(ellipse at 50% 0%,rgba(110,69,176,.1),transparent 70%)}
.l8-vq{font-family:'Shippori Mincho B1',serif;font-size:calc(23px / var(--f));line-height:2}
.l8-vq::before{content:"“";display:block;font-size:calc(60px / var(--f));line-height:.6;color:#38A7E4;opacity:.6}
.l8-vw{margin-top:16px!important;font-size:calc(14.5px / var(--f));letter-spacing:.12em;color:#5A5E75}
.l8-note{font-size:calc(13.5px / var(--f));color:#6A6E85;line-height:1.9}
.l8-c{text-align:center}
.l8-more{align-self:center;font-size:calc(16px / var(--f));color:#2F5BC4;text-decoration:none;border-bottom:1px solid rgba(47,91,196,.4);padding-bottom:4px}
.l8-stages{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;align-items:end}
.l8-st{position:relative;display:flex;flex-direction:column;gap:14px;padding:34px 28px 32px;border-radius:24px;margin-bottom:calc(var(--k) * 46px);box-shadow:inset 0 0 0 1px rgba(56,167,228,calc(.14 + var(--k) * .08));background:linear-gradient(180deg,rgba(56,167,228,calc(.04 + var(--k) * .03)),rgba(110,69,176,calc(var(--k) * .025)) 70%,transparent)}
.l8-stn{font-size:calc(13px / var(--f));letter-spacing:.3em;color:#17699A}
.l8-stt{font-family:'Shippori Mincho B1',serif;font-size:calc(19px / var(--f));line-height:1.65}
.l8-std{font-size:calc(14.5px / var(--f));line-height:1.95;color:#3A3E55}
.l8-st li{position:relative;padding:5px 0 5px 16px;font-size:calc(14px / var(--f));line-height:1.8;color:#2A2E45}
.l8-st li::before{content:"";position:absolute;left:0;top:15px;width:6px;height:6px;border-radius:50%;background:#38A7E4}
.l8-wall{padding:46px 50px;border-radius:28px;background:linear-gradient(135deg,rgba(56,167,228,.07),rgba(110,69,176,.05));display:flex;flex-direction:column;gap:16px}
.l8-wall p:not(.l8-sub){font-size:calc(16.5px / var(--f));line-height:2.1;color:#2A2E45}
.l8-wall b{color:#5B3FA0}
.l8-rec{margin-top:20px!important;padding-top:18px;border-top:1px solid rgba(56,167,228,.2);font-size:calc(14.5px / var(--f));color:#17699A}
.l8-rec b{font-family:'Shippori Mincho B1',serif;font-weight:500;font-size:calc(20px / var(--f));color:#15172A}
.l8-steps3{display:flex;align-items:center;justify-content:center;gap:18px}
.l8-steps3>div{display:flex;flex-direction:column;align-items:center;gap:12px;width:250px;padding:30px 20px;border-radius:24px;text-align:center;box-shadow:inset 0 0 0 1px rgba(56,167,228,.2);background:radial-gradient(circle at 50% 0%,rgba(56,167,228,.1),transparent 70%)}
.l8-steps3 span{font-family:'Shippori Mincho B1',serif;font-size:calc(34px / var(--f));background:linear-gradient(160deg,#03A38F,#38A7E4 50%,#6E45B0);-webkit-background-clip:text;background-clip:text;color:transparent}
.l8-steps3 p{font-size:calc(16px / var(--f));line-height:1.7}
.l8-steps3 i{width:44px;height:1px;background:linear-gradient(90deg,#38A7E4,#6E45B0)}
.l8-ctas{display:flex;justify-content:center;gap:18px;flex-wrap:wrap}
.l8-cta{display:inline-flex;align-items:center;min-height:62px;padding:0 38px;border-radius:999px;text-decoration:none;font-size:calc(16.5px / var(--f));letter-spacing:.06em;color:#fff;background:linear-gradient(120deg,#38A7E4,#4A78E0 55%,#6E45B0);box-shadow:0 14px 40px -14px rgba(74,120,224,.7);transition:transform .5s,box-shadow .5s}
.l8-cta:hover{transform:translateY(-2px);box-shadow:0 20px 46px -14px rgba(74,120,224,.8)}
.l8-cta2{color:#2F5BC4;background:#fff;box-shadow:inset 0 0 0 1px rgba(47,91,196,.45)}
.l8-cta2:hover{box-shadow:inset 0 0 0 1px #2F5BC4,0 14px 30px -16px rgba(74,120,224,.5)}
.ldm-fan .l8-hero{position:absolute;left:820px;top:20px;width:600px;height:600px;pointer-events:none}
.l8-stbtn{all:unset;box-sizing:border-box;width:100%;cursor:pointer;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;-webkit-tap-highlight-color:transparent}
.l8-stbtn:focus-visible{outline:1px solid #38A7E4;outline-offset:6px;border-radius:6px}
.l8-stx{flex:none;position:relative;width:28px;height:28px;margin-top:2px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(56,167,228,.5);transition:background .4s,transform .5s cubic-bezier(.2,.8,.2,1)}
.l8-stx::before,.l8-stx::after{content:"";position:absolute;left:8px;right:8px;top:13px;height:1.5px;background:#38A7E4;border-radius:1px;transition:transform .4s}
.l8-stx::after{transform:rotate(90deg)}
.l8-st.open .l8-stx{background:rgba(56,167,228,.12);transform:rotate(180deg)}
.l8-st.open .l8-stx::after{transform:rotate(0deg)}
.l8-stb{display:grid;grid-template-rows:0fr;opacity:0;margin-top:-14px;transition:grid-template-rows .6s cubic-bezier(.2,.8,.2,1),opacity .5s,margin-top .6s}
.l8-stin{min-height:0;overflow:hidden;display:flex;flex-direction:column;gap:12px}
.l8-st.open .l8-stb{grid-template-rows:1fr;opacity:1;margin-top:0}
@media (prefers-reduced-motion:reduce){.l8-stb,.l8-stx,.l8-stx::before,.l8-stx::after{transition:none}}

.l8-stt{min-width:0;flex:1}
.l8-check.l8-fold:not(.open){display:none}
.l8-check.open li{animation:l8in .6s cubic-bezier(.2,.8,.2,1) both}
@keyframes l8in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.l8-more{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;gap:12px;margin-top:20px;padding:10px 20px 10px 22px;border-radius:999px;font-size:calc(14px / var(--f));letter-spacing:.14em;color:#17699A;box-shadow:inset 0 0 0 1px rgba(56,167,228,.45);transition:background .3s;-webkit-tap-highlight-color:transparent}
.l8-more:hover{background:rgba(56,167,228,.08)}
.l8-more:focus-visible{outline:1px solid #38A7E4;outline-offset:4px}
.l8-more i{position:relative;width:10px;height:10px}
.l8-more i::before,.l8-more i::after{content:"";position:absolute;left:0;right:0;top:4.5px;height:1.5px;background:#38A7E4;transition:transform .4s}
.l8-more i::after{transform:rotate(90deg)}
.l8-more[aria-expanded="true"] i::after{transform:rotate(0)}
@media (prefers-reduced-motion:reduce){.l8-check.open li{animation:none}}
.l8-fd{display:grid;grid-template-rows:0fr;opacity:0;margin-top:-16px;transition:grid-template-rows .6s cubic-bezier(.2,.8,.2,1),opacity .5s,margin-top .6s}
.l8-fdin{min-height:0;overflow:hidden}
.l8-fd.open{grid-template-rows:1fr;opacity:1;margin-top:0}
.l8-rs .l8-rdm{align-self:flex-start;margin-top:0}
@media (prefers-reduced-motion:reduce){.l8-fd{transition:none}}
.l8-nw{white-space:nowrap}
.l8-st .l8-stx{position:absolute;top:28px;right:24px;margin:0}
.l8-stats>div{padding:118px 10px 22px}
.l8-stats>div>p{margin-top:104px!important}
.l8-sg1{width:320px!important;height:320px!important}
.l8-sv{position:relative;display:inline-flex;align-items:baseline;justify-content:center;z-index:0}
.l8-sv b,.l8-sv span{position:relative;z-index:1}
.l8-sg{position:absolute;left:50%;top:50%;width:240px;height:240px;transform:translate(-50%,-50%);z-index:-1;overflow:visible;pointer-events:none}
.l8-sg *{transform-box:view-box;transform-origin:50% 50%}
.l8-sgt{opacity:0;transition:opacity .7s ease var(--d,0s)}
.l8-sga{stroke-dasharray:100;stroke-dashoffset:100;transition:stroke-dashoffset 2.2s cubic-bezier(.2,.8,.2,1) .2s}
.l8-sgd{opacity:0;transition:opacity 1s 1.6s}
.l8-stats.in .l8-sgt{opacity:1}
.l8-stats.in .l8-sga{stroke-dashoffset:0}
.l8-stats.in .l8-sgd{opacity:1}
.l8-sgr{animation:l8rot 80s linear infinite}
.l8-sgr2{animation:l8rot 120s linear infinite reverse}
.l8-sgr3{animation:l8rot 160s linear infinite}
.l8-sgo{animation:l8rot 14s linear infinite}
@keyframes l8rot{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.l8-sgr,.l8-sgr2,.l8-sgr3,.l8-sgo{animation:none}.l8-sgt,.l8-sga,.l8-sgd{transition:none}}
.l8-conv{position:relative;height:170px;margin:0 auto 10px;max-width:1000px}
.l8-conv svg{display:block;width:100%;height:100%;overflow:visible}
.l8-cvp{stroke-dasharray:100;stroke-dashoffset:100;transition:stroke-dashoffset .9s cubic-bezier(.4,0,.2,1)}
.l8-conv.in .l8-cvp{stroke-dashoffset:0}
.l8-cvm{opacity:0;transition:opacity .6s 1s}.l8-conv.in .l8-cvm{opacity:.9}
.l8-cvn{position:absolute;left:50%;top:150px;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;background:radial-gradient(circle,#fff 0 22%,#38A7E4 34%,rgba(110,69,176,.5) 60%,transparent 72%);box-shadow:0 0 24px rgba(56,167,228,.7);transform:scale(0);transition:transform .7s cubic-bezier(.3,1.6,.5,1) .75s}
.l8-conv.in .l8-cvn{transform:scale(1)}
.l8-cvn b{position:absolute;inset:-6px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(56,167,228,.5);opacity:0}
.l8-conv.in .l8-cvn b{animation:l8ring 3.6s ease-out infinite}
.l8-conv.in .l8-cvn b:nth-child(2){animation-delay:1.2s}.l8-conv.in .l8-cvn b:nth-child(3){animation-delay:2.4s}
@keyframes l8ring{0%{transform:scale(.6);opacity:.9}100%{transform:scale(4.2);opacity:0}}
.l8-key em.l8-kw{font-style:normal;background:linear-gradient(100deg,#03A38F 0%,#38A7E4 30%,#6E45B0 50%,#38A7E4 70%,#03A38F 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:l8shine 7s linear infinite}
@keyframes l8shine{to{background-position:-200% 0}}
.l8-key{opacity:0;transform:translateY(14px);transition:opacity .9s .5s,transform .9s cubic-bezier(.2,.8,.2,1) .5s}
.l8-key.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.l8-cvp,.l8-cvn,.l8-key{transition:none}.l8-key em.l8-kw,.l8-conv.in .l8-cvn b{animation:none}}
.l8-bacv{display:block;width:100%;height:110px;margin:2px 0 10px;border-radius:12px}
.l8-b .l8-bacv{background:rgba(154,160,188,.06)}
.l8-a .l8-bacv{background:rgba(255,255,255,.5)}
.l8-rscv{display:block;width:100%;height:120px;border-radius:14px;background:rgba(255,255,255,.55);box-shadow:inset 0 0 0 1px rgba(56,167,228,.1)}
.l8-os{width:min(640px,100%);margin:0 auto}
.l8-os svg{display:block;width:100%;height:auto;overflow:visible}
.l8-osp{opacity:0;transform:translateY(16px);transition:opacity 1s,transform 1.2s cubic-bezier(.2,.8,.2,1)}
.l8-osl{opacity:0;transition:opacity 1s .5s}.l8-oslab{opacity:0;transition:opacity 1s .8s}
.l8-osapp{opacity:0;transform:translateY(-14px);transition:opacity .9s calc(1.2s + var(--d)),transform 1s cubic-bezier(.2,.8,.2,1) calc(1.2s + var(--d))}
.l8-osbeam{stroke-dasharray:140;stroke-dashoffset:140;transition:stroke-dashoffset 1s calc(1s + var(--d))}
.l8-os.in .l8-osp,.l8-os.in .l8-osl,.l8-os.in .l8-oslab,.l8-os.in .l8-osapp{opacity:1;transform:none}
.l8-os.in .l8-osbeam{stroke-dashoffset:0;animation:l8beam 3s ease-in-out calc(2.4s + var(--d)) infinite}
@keyframes l8beam{0%,100%{stroke-opacity:.5}50%{stroke-opacity:1}}
.l8-osscan{opacity:0}.l8-os.in .l8-osscan{animation:l8scan 3.6s ease-out 2.2s infinite;transform-box:fill-box;transform-origin:50% 50%}
@keyframes l8scan{0%{opacity:.9;transform:scale(.3)}70%,100%{opacity:0;transform:scale(1.15)}}
.l8-osapp *{transform-box:fill-box}
@media (prefers-reduced-motion:reduce){.l8-osp,.l8-osl,.l8-oslab,.l8-osapp,.l8-osbeam{transition:none}.l8-os.in .l8-osbeam,.l8-os.in .l8-osscan{animation:none}}
.l8-el .l8-bam{align-self:center;margin-top:0}
.l8-ba .l8-bacv{margin-bottom:0}
.l8-ba .l8-fd{margin-top:-6px}.l8-ba .l8-fd.open{margin-top:12px}
.l8-ba:not(.open){align-items:start}
.l8-head{justify-content:center}
/* rhythm */
.l8-rv{opacity:0;transform:translateY(28px);transition:opacity 1.1s cubic-bezier(.2,.8,.2,1) var(--rv,0s),transform 1.3s cubic-bezier(.2,.8,.2,1) var(--rv,0s)}
.l8-rv.l8-on{opacity:1;transform:none}
.l8-ch{gap:84px}
.l8-ch+.l8-ch::before{content:"";position:absolute;left:50%;top:-170px;width:1px;height:120px;background:linear-gradient(180deg,rgba(56,167,228,0),rgba(56,167,228,.55),rgba(110,69,176,0))}
.l8-ch+.l8-ch::after{content:"";position:absolute;left:50%;top:-170px;width:5px;height:5px;margin-left:-2px;border-radius:50%;background:#38A7E4;box-shadow:0 0 12px #38A7E4;animation:l8drop 3.2s cubic-bezier(.5,0,.5,1) infinite}
@keyframes l8drop{0%{transform:translateY(0);opacity:0}20%{opacity:1}80%{opacity:1}100%{transform:translateY(118px);opacity:0}}
.l8-eld,.l8-eq>p:last-child{max-width:820px}
.l8-eq>p:last-child{margin-left:auto;margin-right:auto}
.l8-lead{max-width:640px}
@media (prefers-reduced-motion:reduce){.l8-ch+.l8-ch::after{animation:none;display:none}}
/* people: left = green, right = blue */
#l8-people .l8-card{--pc:31,163,122;--ph:#137556}
#l8-people .l8-card+.l8-card{--pc:56,120,224;--ph:#2F5BC4}
#l8-people .l8-card{box-shadow:inset 0 0 0 1px rgba(var(--pc),.28);background:linear-gradient(180deg,rgba(var(--pc),.09),rgba(var(--pc),.015) 75%)}
#l8-people .l8-ck{color:var(--ph);padding-left:18px;border-left:2px solid rgba(var(--pc),.8)}
#l8-people .l8-check li{border-bottom-color:rgba(var(--pc),.16)}
#l8-people .l8-check li::before{background:radial-gradient(circle,#fff 0 25%,rgb(var(--pc)) 30% 55%,rgba(var(--pc),0) 75%);box-shadow:0 0 10px rgba(var(--pc),.6)}
#l8-people .l8-more{color:var(--ph);box-shadow:inset 0 0 0 1px rgba(var(--pc),.5)}
#l8-people .l8-more:hover{background:rgba(var(--pc),.08)}
#l8-people .l8-more i::before,#l8-people .l8-more i::after{background:rgb(var(--pc))}
/* wireframe element badges */
#r26 .l8-elk{position:relative;background:radial-gradient(circle,rgba(255,255,255,.9) 0 45%,rgba(255,255,255,0) 70%)!important;box-shadow:none!important;color:var(--ec,#4A78E0)!important;text-shadow:0 0 12px rgba(255,255,255,.9)}
.l8-wb{position:absolute;inset:-10px;width:calc(100% + 20px);height:calc(100% + 20px);overflow:visible;z-index:-1;filter:drop-shadow(0 0 6px rgba(56,167,228,.25))}
.l8-wb *{transform-box:view-box;transform-origin:50% 50%}
.l8-wm{animation:l8mer 8s linear infinite;animation-delay:var(--d)}
@keyframes l8mer{0%{transform:scaleX(1)}50%{transform:scaleX(0)}100%{transform:scaleX(-1)}}
.l8-wo{animation:l8orb 7s linear infinite}
@keyframes l8orb{from{transform:rotate(-18deg)}to{transform:rotate(342deg)}}
.l8-elk{z-index:0;isolation:isolate}
@media (prefers-reduced-motion:reduce){.l8-wm,.l8-wo{animation:none}}
/* each element card wears its own colour: 信頼 blue, 理解 green, 実践 red */
.l8-els .l8-el{--ec:74,120,224;--eh:#2F5BC4}
.l8-els .l8-el:nth-child(2){--ec:31,163,122;--eh:#137556}
.l8-els .l8-el:nth-child(3){--ec:224,64,90;--eh:#B5233C}
.l8-els .l8-el{box-shadow:inset 0 0 0 1px rgba(var(--ec),.28);background:linear-gradient(180deg,rgba(var(--ec),.08),rgba(var(--ec),.015) 70%,transparent)}
.l8-els .l8-a{background:linear-gradient(160deg,rgba(var(--ec),.12),rgba(var(--ec),.04))!important;box-shadow:inset 0 0 0 1px rgba(var(--ec),.22)!important}
.l8-els .l8-a .l8-bah{color:var(--eh)}
.l8-els .l8-a li::before{background:rgb(var(--ec))}
.l8-els .l8-arrow{background:linear-gradient(90deg,#9AA0BC,rgb(var(--ec)))}
.l8-els .l8-arrow::after{border-color:rgb(var(--ec))}
.l8-els .l8-more{color:var(--eh);box-shadow:inset 0 0 0 1px rgba(var(--ec),.5)}
.l8-els .l8-more:hover{background:rgba(var(--ec),.08)}
.l8-els .l8-more i::before,.l8-els .l8-more i::after{background:rgb(var(--ec))}
.l8-els .l8-a .l8-bacv{background:rgba(255,255,255,.65)}
.l8-head{flex-direction:column;gap:14px}
.l8-lab{padding-top:0}
.l8-lab::before{display:none}
.l8-oscv{display:block;width:min(760px,100%);height:330px;margin:0 auto}
.l8-rscv{height:140px}
/* element header centred */
.l8-elh{flex-direction:column;text-align:center;gap:22px}
.l8-el .l8-eld{text-align:center;margin-left:auto;margin-right:auto}
.l8-check.l8-fold+.l8-more{margin-top:6px}
.l8-wallcv{display:block;width:100%;height:240px;margin:6px 0 10px}
.l8-wall .l8-sub{text-align:center}
.l8-wall>p:not(.l8-sub){max-width:760px;margin-left:auto!important;margin-right:auto!important;text-align:center}
/* stages: 1 grey, 2 red, 3 green, 4 blue */
.l8-stages .l8-st{--sc:154,160,188;--sh:#6A6E85}
.l8-stages .l8-st:nth-child(2){--sc:224,64,90;--sh:#B5233C}
.l8-stages .l8-st:nth-child(3){--sc:31,163,122;--sh:#137556}
.l8-stages .l8-st:nth-child(4){--sc:74,120,224;--sh:#2F5BC4}
.l8-stages .l8-st{box-shadow:inset 0 0 0 1px rgba(var(--sc),.4);background:linear-gradient(180deg,rgba(var(--sc),.1),rgba(var(--sc),.02) 75%,transparent)}
.l8-stages .l8-stn{color:var(--sh)}
.l8-stages .l8-stx{box-shadow:inset 0 0 0 1px rgba(var(--sc),.6)}
.l8-stages .l8-stx::before,.l8-stages .l8-stx::after{background:rgb(var(--sc))}
.l8-stages .l8-st.open .l8-stx{background:rgba(var(--sc),.12)}
.l8-stages .l8-st li::before{background:rgb(var(--sc))}
/* reasons centred */
.l8-rs{text-align:center;align-items:center}
.l8-rs .l8-rscv,.l8-rs .l8-fd,.l8-rs .l8-rsnum{align-self:stretch}
.l8-rs .l8-rdm{align-self:center}
.l8-rs .l8-rsnum{justify-content:center}
.l8-mapcv{display:block;width:100%;height:260px;margin:14px 0 6px}
/* flow: seminar = violet, personal exercise = red, centred */
#l8-flow .l8-card{--pc:110,69,176;--ph:#5A3896;text-align:center;display:flex;flex-direction:column;align-items:center}
#l8-flow .l8-card+.l8-card{--pc:224,64,90;--ph:#B5233C}
#l8-flow .l8-card{box-shadow:inset 0 0 0 1px rgba(var(--pc),.3);background:linear-gradient(180deg,rgba(var(--pc),.09),rgba(var(--pc),.015) 75%)}
#l8-flow .l8-ck{color:var(--ph)}
#l8-flow .l8-ck span{color:var(--ph);opacity:.8}
#l8-flow .l8-check{align-self:stretch;text-align:left}
#l8-flow .l8-check li{border-bottom-color:rgba(var(--pc),.16)}
#l8-flow .l8-check li::before{background:radial-gradient(circle,#fff 0 25%,rgb(var(--pc)) 30% 55%,rgba(var(--pc),0) 75%);box-shadow:0 0 10px rgba(var(--pc),.6)}
#l8-flow .l8-more{color:var(--ph);box-shadow:inset 0 0 0 1px rgba(var(--pc),.5)}
#l8-flow .l8-more:hover{background:rgba(var(--pc),.08)}
#l8-flow .l8-more i::before,#l8-flow .l8-more i::after{background:rgb(var(--pc))}
#l8-flow .l8-rec{align-self:stretch;text-align:center;border-top-color:rgba(var(--pc),.2)!important;color:var(--ph)}
#l8-flow .l8-rec b{color:#15172A}
#l8-people .l8-card{text-align:center;display:flex;flex-direction:column;align-items:center}
#l8-people .l8-ck{border-left:0;padding-left:0}
#l8-people .l8-check{align-self:stretch;text-align:left}
/* equation as three circles */
.l8-eqf{gap:26px}
.l8-eqf span{position:relative;width:180px;height:180px;padding:0!important;border-radius:50%;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.6;box-shadow:inset 0 0 0 1px rgba(56,167,228,.4);background:radial-gradient(circle at 50% 40%,rgba(255,255,255,.95),rgba(56,167,228,.06))}
.l8-eqf span::before{content:"";position:absolute;inset:-9px;border-radius:50%;border:1px dashed rgba(56,167,228,.45);animation:l8rot 40s linear infinite}
.l8-eqf span::after{content:"";position:absolute;top:-12px;left:50%;width:6px;height:6px;margin-left:-3px;border-radius:50%;background:#38A7E4;box-shadow:0 0 10px #38A7E4;transform-origin:3px 102px;animation:l8rot 9s linear infinite}
.l8-eqf span+i+span::before{animation-direction:reverse}
.l8-eqf .l8-eqr{width:200px;height:200px;box-shadow:0 14px 40px -10px rgba(110,69,176,.55)}
.l8-eqf .l8-eqr::after{transform-origin:3px 112px;background:#6E45B0;box-shadow:0 0 10px #6E45B0}
@media (prefers-reduced-motion:reduce){.l8-eqf span::before,.l8-eqf span::after{animation:none}}
.l8-bam{align-self:center!important;margin-left:auto;margin-right:auto}
.l8-ba+.l8-bam{display:flex;width:max-content}
#l8-use .l8-ba .l8-bacv{height:130px}
.l8-rs .l8-rsn{display:flex;flex-direction:column;align-items:center;gap:2px;letter-spacing:.3em}
.l8-rs .l8-rsn small{font-size:calc(13px / var(--f));color:#17699A}
.l8-rs .l8-rsn{font-family:'Shippori Mincho B1',serif;font-size:calc(72px / var(--f));line-height:1;letter-spacing:.02em;background:linear-gradient(160deg,#03A38F,#38A7E4 45%,#6E45B0);-webkit-background-clip:text;background-clip:text;color:transparent}
.l8-rs .l8-rsn small{-webkit-text-fill-color:#17699A;font-family:"Zen Kaku Gothic New",sans-serif;letter-spacing:.3em}
.l8-wallcv{height:320px}
.l8-ckpre{display:block!important;margin:0 0 6px!important;font-family:"Zen Kaku Gothic New",sans-serif;font-size:calc(13.5px / var(--f));letter-spacing:.12em;opacity:.85}
#l8-flow .l8-ctas{justify-content:center}
.ldm8 .l8-sub{text-align:center}
/* filled wire badges */
#r26 .l8-els .l8-el .l8-elk{background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.55),rgba(var(--ec),.95) 48%,rgba(var(--ec),1) 75%)!important;color:#fff!important;text-shadow:0 1px 8px rgba(0,0,0,.18);box-shadow:0 0 34px rgba(var(--ec),.45)!important}
.l8-els .l8-wb ellipse:not(.l8-wo ellipse){stroke:#fff}
.l8-els .l8-wm{opacity:.5}
/* scenes */
.l8-scenes>div{text-align:center;position:relative;transition:background .5s}
.l8-scenes>div:hover{background:radial-gradient(circle at 50% 30%,rgba(56,167,228,.08),transparent 70%)}
.l8-sccv{display:block;width:150px;height:84px;margin:0 auto 12px}
#l8-change>a.l8-more{align-self:center}
#l8-change>.l8-note{text-align:center}
/* stages centred */
.l8-stages .l8-st,html.r26m .l8-stages .l8-st{text-align:center}
.l8-stages .l8-stbtn{justify-content:center;text-align:center;padding:0 40px}
.l8-stages .l8-stin{text-align:left}
/* nine domains: each its own hue */
.l8-doms .l8-dom{--dc:56,167,228}
.l8-doms .l8-dom:nth-child(9n+1){--dc:154,160,188}.l8-doms .l8-dom:nth-child(9n+2){--dc:74,120,224}.l8-doms .l8-dom:nth-child(9n+3){--dc:3,163,143}
.l8-doms .l8-dom:nth-child(9n+4){--dc:224,64,90}.l8-doms .l8-dom:nth-child(9n+5){--dc:240,140,60}.l8-doms .l8-dom:nth-child(9n+6){--dc:110,69,176}
.l8-doms .l8-dom:nth-child(9n+7){--dc:31,163,122}.l8-doms .l8-dom:nth-child(9n+8){--dc:56,167,228}.l8-doms .l8-dom:nth-child(9n+9){--dc:200,90,190}
.l8-doms .l8-dom{box-shadow:inset 0 0 0 1px rgba(var(--dc),.28);background:linear-gradient(160deg,rgba(var(--dc),.1),rgba(var(--dc),.02) 65%,transparent)}
.l8-doms .l8-domt span{color:rgb(var(--dc));box-shadow:inset 0 0 0 1px rgba(var(--dc),.6);background:rgba(255,255,255,.7)}
.l8-doms .l8-dom li{border-top-color:rgba(var(--dc),.22)}
.l8-swipe{display:none}
.l8-stages .l8-stn{display:flex;flex-direction:column;align-items:center;gap:2px;letter-spacing:0}
.l8-stages .l8-stn small{font-size:calc(12px / var(--f));letter-spacing:.4em;padding-left:.4em;color:var(--sh);font-weight:600}
.l8-stages .l8-stn b{font-family:'Shippori Mincho B1',serif;font-weight:500;font-size:calc(64px / var(--f));line-height:1;color:rgb(var(--sc));text-shadow:0 0 24px rgba(var(--sc),.35)}
.l8-stages .l8-st:first-child .l8-stn b{color:#7A7F9A}
/* stages: rings around the number grow with each stage */
.l8-stages .l8-stn b{position:relative;display:inline-flex;align-items:center;justify-content:center;width:1.5em;height:1.5em}
.l8-stages .l8-stn b::before{content:"";position:absolute;inset:0;border-radius:50%;border:1px dashed rgba(var(--sc),.55);animation:l8rot 24s linear infinite}
.l8-stages .l8-stn b::after{content:"";position:absolute;inset:-10%;border-radius:50%;box-shadow:0 0 0 calc(var(--k) * 6px) rgba(var(--sc),.08),0 0 0 calc(var(--k) * 12px) rgba(var(--sc),.05),0 0 0 calc(var(--k) * 18px) rgba(var(--sc),.03);animation:l8breath 4s ease-in-out infinite}
.l8-stages .l8-st:first-child .l8-stn b::after{display:none}
@keyframes l8breath{0%,100%{transform:scale(.92);opacity:.7}50%{transform:scale(1.04);opacity:1}}
@media (prefers-reduced-motion:reduce){.l8-stages .l8-stn b::before,.l8-stages .l8-stn b::after{animation:none}}
.l8-stages .l8-st{box-sizing:border-box}
.l8-stages .l8-stbtn{padding:0}
.l8-stages .l8-stt{font-size:calc(17px / var(--f))}

/* ===== /ldm/ type & spacing system (2026-10-15 review) =====
   Mincho = headings & voices / Zen Kaku Gothic = reading text & labels
   PC scale: display 40 / title 24 / subtitle 19 / lead 18 / body 16 / small 13.5 / label 12.5 */
.ldm8{--ink:#15172A;--txt:#2A2E45;--sub:#5A5E75;--acc:#17699A}
.ldm8 .l8-t{font-size:calc(40px / var(--f));line-height:1.6;letter-spacing:.08em;font-weight:500;color:var(--ink)}
.ldm8 .l8-ck,.ldm8 .l8-elt,.ldm8 .l8-rst,.ldm8 .l8-sub,.ldm8 .l8-eqa,.ldm8 .l8-qk,.ldm8 .l8-key>span{font-size:calc(24px / var(--f));line-height:1.75;letter-spacing:.07em}
.ldm8 .l8-key em.l8-kw{font-size:inherit;letter-spacing:inherit;line-height:inherit}
.ldm8 .l8-vq{font-size:calc(22px / var(--f));line-height:2;letter-spacing:.08em}
.ldm8 .l8-sct,.ldm8 .l8-domt,.ldm8 .l8-stages .l8-stt{font-size:calc(19px / var(--f));line-height:1.7;letter-spacing:.06em}
.ldm8 .l8-lead{font-size:calc(18px / var(--f));line-height:2.1;letter-spacing:.06em;color:var(--txt)}
.ldm8 .l8-rsd,.ldm8 .l8-std,.ldm8 .l8-quote p:not(.l8-qk),.ldm8 .l8-eq>p:last-child,.ldm8 .l8-wall>p:not(.l8-sub),.ldm8 .l8-key,.ldm8 .l8-check li,.ldm8 .l8-list li,.ldm8 .l8-scenes>div>p:not(.l8-sct){font-size:calc(16px / var(--f));line-height:2;letter-spacing:.05em;color:var(--txt)}
.ldm8 .l8-elr,.ldm8 .l8-note,.ldm8 .l8-vw,.ldm8 .l8-stats p,.ldm8 .l8-ckpre{font-size:calc(13.5px / var(--f));line-height:1.9;letter-spacing:.1em}
.ldm8 .l8-note,.ldm8 .l8-vw,.ldm8 .l8-stats p{color:var(--sub)}
.ldm8 .l8-lab,.ldm8 .l8-bah,.ldm8 .l8-rsn small,.ldm8 .l8-stn small,.ldm8 .l8-swipe{font-size:calc(12.5px / var(--f));letter-spacing:.28em}
.ldm8 .l8-more,.ldm8 .l8-bam,.ldm8 .l8-rdm{font-size:calc(14px / var(--f));letter-spacing:.12em}
.ldm8 .l8-cta{font-size:calc(16px / var(--f));letter-spacing:.1em}
.ldm8 .l8-eqf span{font-size:calc(15px / var(--f));letter-spacing:.06em}
/* rhythm: chapter → head → block spacing */
.ldm8{gap:200px}
.ldm8 .l8-ch{gap:72px}
.ldm8 .l8-txt{gap:28px}
.ldm8 .l8-head{gap:12px}
/* one radius family: large cards 24 / inner panels 16 */
.ldm8 .l8-card,.ldm8 .l8-el,.ldm8 .l8-rs,.ldm8 .l8-dom,.ldm8 .l8-st,.ldm8 .l8-wall,.ldm8 .l8-eq{border-radius:24px}
.ldm8 .l8-ba>div,.ldm8 .l8-rscv,.ldm8 .l8-bacv{border-radius:16px}
.ldm8 .l8-card,.ldm8 .l8-el,.ldm8 .l8-rs{padding:44px 44px 40px}
.ldm8 .l8-wall{padding:64px 72px}
.ldm8 .l8-ch{gap:60px}
.ldm8 .l8-quote{max-width:900px;margin:0 auto;text-align:center;border-left:0;border-top:1px solid;border-image:linear-gradient(90deg,transparent,#38A7E4,#6E45B0,transparent) 1;background:radial-gradient(ellipse at 50% 0%,rgba(56,167,228,.08),transparent 70%);padding:48px 40px 8px}
.ldm8 .l8-sub{margin-bottom:-20px!important}
.ldm8 .l8-scenes{border-top:0}

/* ===== /profile/ type & spacing (2026-10-15 review; same scale as /ldm/) ===== */
html.pg-profile .scroller section h2{letter-spacing:.08em!important;line-height:1.6!important}
html.pg-profile .scroller .tlrow>div>p:nth-child(1){letter-spacing:.04em!important}
html.pg-profile .scroller .tlrow>div>p:nth-child(2){line-height:1.75!important;letter-spacing:.06em!important}
html.pg-profile .scroller .tlrow>div>p:nth-child(n+3){font-size:calc(16px / var(--s,1))!important;line-height:2.05!important;letter-spacing:.05em!important}
html.pg-profile .scroller section p[style*="#2A2E45"]:not(.rise){letter-spacing:.05em!important;line-height:2.1!important}
html.pg-profile .scroller section p:has(+h2){font-size:calc(12.5px / var(--s,1))!important;letter-spacing:.28em!important}
html.pg-profile .scroller>section:first-of-type p.rise:nth-last-of-type(2){letter-spacing:.05em!important;line-height:2.1!important}
html.pg-profile .scroller>section:first-of-type p.rise:nth-last-of-type(3){letter-spacing:.08em!important;line-height:1.75!important}
html.pg-profile .scroller a.tllink{font-size:calc(14px / var(--s,1))!important;letter-spacing:.1em!important}
html.pg-profile .scroller .rings div>p:nth-child(2){font-size:calc(14px / var(--s,1))!important;letter-spacing:.08em!important}
html.pg-profile .scroller section p[style*="#6A6E85"]:not(.rise),html.pg-profile .scroller section p[style*="#5A5E75"]:not(.rise){max-width:760px;margin-left:auto!important;margin-right:auto!important;line-height:2!important;letter-spacing:.06em!important}

/* ===== /works/ type & spacing (2026-10-15 review; same scale as /ldm/ /profile/) ===== */
html.pg-works .scroller section[id^="work-"] p[style*="0.16em"]{font-size:calc(15px / var(--s,1))!important;letter-spacing:.28em!important}
html.pg-works .scroller section[id^="work-"] h2{letter-spacing:.1em!important;line-height:1.55!important}
html.pg-works .scroller section[id^="work-"] p[style*="#3A3E55"]{font-size:calc(16.5px / var(--s,1))!important;line-height:2.1!important;letter-spacing:.05em!important;max-width:820px;margin-left:auto!important;margin-right:auto!important}
html.pg-works .scroller .wsteps p[style*="#2A2E45"]{font-size:calc(16px / var(--s,1))!important;line-height:2.05!important;letter-spacing:.05em!important}
html.pg-works .scroller>section:first-of-type p.rise[style*="18px"]{letter-spacing:.05em!important;line-height:2.1!important}
/* timeline "see the work" link: a soft pill with breathing room instead of an underlined line */
html.pg-profile .scroller a.tllink{margin-top:26px!important;padding:8px 22px 8px 10px!important;gap:12px!important;border-bottom:0!important;border-radius:999px;background:linear-gradient(100deg,rgba(110,69,176,.08),rgba(56,167,228,.06));box-shadow:inset 0 0 0 1px rgba(110,69,176,.28);transition:background .4s,box-shadow .4s,transform .4s}
html.pg-profile .scroller a.tllink:hover{background:linear-gradient(100deg,rgba(110,69,176,.14),rgba(56,167,228,.1));box-shadow:inset 0 0 0 1px rgba(110,69,176,.5),0 8px 24px -10px rgba(110,69,176,.45);transform:translateY(-1px)}
html.pg-profile .scroller a.tllink>span:first-child{flex:none;transform:scale(.8);margin:-4px -4px -4px 0}

/* ===== top page type & spacing (2026-10-15 review; same scale as /ldm/ /profile/ /works/) ===== */
html.pg-top .wrow .wtitle{letter-spacing:.06em!important;line-height:1.45!important}
html.pg-top .wrow .wlead{font-size:calc(16px / var(--s,1))!important;line-height:2!important;letter-spacing:.05em!important}
html.pg-top .wrow .wcat{letter-spacing:.26em!important}
html.pg-top p.rv{letter-spacing:.08em!important}

/* ===== /voices/ → 学びの場 (2026-10-15): インスピレーション力の教科書 × アースジャーニー =====
   one path of five lights: the first three walked alone (textbook, green), the last two with others (Earth Journey, violet) */
.lrn{--f:var(--s,1);--g:#35B287;--gd:#1A7A57;--v:#8B5CD6;--vd:#6A3FB8;--ink:#15172A;--txt:#2A2E45;--sub:#5A5E75;position:relative;padding:0 150px;margin-top:150px;display:flex;flex-direction:column;gap:200px;color:var(--ink)}
.lrn p,.lrn h2,.lrn ol,.lrn dl,.lrn dd,.lrn figure,.lrn blockquote{margin:0}
.lrn-fan{position:absolute;left:0;top:0;width:1440px;height:1000px;pointer-events:none}
.lrn-fan .lrn-hero{position:absolute;left:780px;top:60px;width:640px;height:640px}
.lrn-fig canvas{display:block;width:100%;height:100%}
.lrn-idx{display:flex;flex-wrap:wrap;gap:10px 34px;padding:22px 0;border-top:1px solid rgba(53,178,135,.25);border-bottom:1px solid rgba(139,92,214,.2);margin-bottom:-90px}
.lrn-idx a{display:inline-flex;align-items:baseline;gap:10px;color:var(--txt);text-decoration:none;font-size:calc(14px / var(--f));letter-spacing:.08em;transition:color .4s}
.lrn-idx a b{font-family:'Shippori Mincho B1',serif;font-weight:500;font-size:calc(13px / var(--f));color:var(--gd)}
.lrn-idx a:hover{color:var(--gd)}
.lrn-ch{position:relative;display:flex;flex-direction:column;gap:28px;scroll-margin-top:120px}
.lrn-head{display:flex;align-items:center;gap:14px}
.lrn-no{font-family:'Shippori Mincho B1',serif;font-size:calc(92px / var(--f));line-height:.9;background:linear-gradient(160deg,#35B287,#38A7E4 50%,#8B5CD6);-webkit-background-clip:text;background-clip:text;color:transparent;opacity:.9}
.lrn-lab{font-size:calc(12.5px / var(--f));letter-spacing:.28em;color:var(--gd);padding-top:22px}
.lrn-head .lrn-lab::before{content:"";display:inline-block;width:40px;height:1px;margin:0 16px 4px 0;vertical-align:middle;background:var(--g)}
.lrn-ej .lrn-lab{color:var(--vd)}.lrn-ej .lrn-head .lrn-lab::before{background:var(--v)}
.lrn-t{font-family:'Shippori Mincho B1',serif;font-weight:500;font-size:calc(40px / var(--f));line-height:1.6;letter-spacing:.08em;color:var(--ink)}
.lrn-lead{font-size:calc(18px / var(--f));line-height:2.1;letter-spacing:.06em;color:var(--txt);max-width:860px}
.lrn-note{font-size:calc(13.5px / var(--f));line-height:1.9;letter-spacing:.1em;color:var(--sub)}
.lrn-c{text-align:center}
/* 01 roadmap */
.lrn-road{position:relative;margin-top:44px}
.lrn-roadfig{position:absolute;left:0;right:0;top:-40px;height:150px;pointer-events:none}
.lrn-stops{list-style:none;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px;position:relative}
.lrn-stop{position:relative;display:flex;flex-direction:column;gap:12px;padding-top:96px}
.lrn-sn{position:absolute;left:3px;top:50px;font-family:'Shippori Mincho B1',serif;font-size:calc(13px / var(--f));letter-spacing:.2em;color:var(--sub)}
.lrn-stt{font-family:'Shippori Mincho B1',serif;font-weight:500;font-size:calc(22px / var(--f));letter-spacing:.08em;line-height:1.5}
.lrn-std{font-size:calc(15px / var(--f));line-height:2;letter-spacing:.04em;color:var(--txt)}
.lrn-stop:nth-child(-n+3) .lrn-stt{color:var(--gd)}.lrn-stop:nth-child(n+4) .lrn-stt{color:var(--vd)}
.lrn-span{display:grid;grid-template-columns:3fr 2fr;gap:24px;margin-top:40px}
.lrn-sp{position:relative;display:flex;flex-direction:column;gap:6px;padding:22px 0 0;text-decoration:none;color:var(--ink);transition:opacity .4s}
.lrn-sp::before{content:"";position:absolute;left:0;right:0;top:0;height:10px;border:1px solid;border-bottom:0;border-radius:10px 10px 0 0}
.lrn-sp1::before{border-color:rgba(53,178,135,.6)}.lrn-sp2::before{border-color:rgba(139,92,214,.6)}
.lrn-sp small{font-size:calc(13px / var(--f));letter-spacing:.12em;color:var(--sub)}
.lrn-sp b{font-family:'Shippori Mincho B1',serif;font-weight:500;font-size:calc(20px / var(--f));letter-spacing:.08em}
.lrn-sp1 b{color:var(--gd)}.lrn-sp2 b{color:var(--vd)}
.lrn-sp b::after{content:" ↓";font-size:.8em;opacity:.6}
.lrn-sp:hover{opacity:.75}
/* 02 textbook */
.lrn-fmts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:28px}
.lrn-fmt{position:relative;display:flex;flex-direction:column;gap:14px;padding:30px 30px 26px;border-radius:24px;background:linear-gradient(180deg,rgba(53,178,135,.08),rgba(53,178,135,.015) 70%,rgba(53,178,135,0));box-shadow:inset 0 0 0 1px rgba(53,178,135,.22)}
.lrn-fmtfig{height:120px;margin:-6px -10px 0}
.lrn-fk{display:flex;flex-direction:column;gap:4px;font-family:'Shippori Mincho B1',serif;font-weight:500;font-size:calc(22px / var(--f));letter-spacing:.08em;color:var(--gd)}
.lrn-fk small{font-family:inherit;font-size:calc(12.5px / var(--f));letter-spacing:.28em;color:var(--sub)}
.lrn-ls{display:flex;flex-direction:column;gap:6px;padding:16px 0 4px;border-top:1px solid rgba(53,178,135,.2);text-decoration:none;color:var(--ink)}
.lrn-ls b{font-weight:500;font-size:calc(16px / var(--f));line-height:1.75;letter-spacing:.04em;transition:color .4s}
.lrn-ls b::after{content:" ↗";color:var(--g);font-size:.85em}
.lrn-ls span{font-size:calc(13.5px / var(--f));line-height:1.9;letter-spacing:.03em;color:var(--sub)}
.lrn-ls:hover b{color:var(--gd)}
.lrn-key{margin-top:20px!important;text-align:center;font-family:'Shippori Mincho B1',serif;font-size:calc(22px / var(--f));line-height:2;letter-spacing:.08em;color:var(--ink)}
.lrn-ctas{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin-top:12px}
.lrn-cta{display:inline-flex;align-items:center;justify-content:center;min-height:62px;padding:0 38px;border-radius:999px;text-decoration:none;font-size:calc(16px / var(--f));letter-spacing:.1em;color:#fff;background:linear-gradient(120deg,#35B287,#2E9C8A 55%,#1A7A57);box-shadow:0 14px 40px -14px rgba(26,122,87,.7);transition:transform .5s,box-shadow .5s}
.lrn-cta:hover{transform:translateY(-2px)}
.lrn-ctaej{background:linear-gradient(120deg,#8B5CD6,#6E45B0 55%,#5A3896);box-shadow:0 14px 40px -14px rgba(106,63,184,.7)}
.lrn-cta2{color:var(--gd);background:#fff;box-shadow:inset 0 0 0 1px rgba(26,122,87,.45)}
.lrn-cta2ej{color:var(--vd);box-shadow:inset 0 0 0 1px rgba(106,63,184,.45)}
/* 03 earth journey */
.lrn-learn{position:relative;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:24px;margin-top:28px}
.lrn-ejfig{position:absolute;left:-60px;right:-60px;top:-60px;bottom:-60px;pointer-events:none;z-index:0}
.lrn-li{position:relative;z-index:1;grid-column:span 2;display:flex;flex-direction:column;gap:10px;padding:30px 30px 28px;border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(250,247,255,.8));box-shadow:inset 0 0 0 1px rgba(139,92,214,.22)}
.lrn-li:nth-child(5),.lrn-li:nth-child(6){grid-column:span 3}
.lrn-lik{display:flex;align-items:baseline;gap:12px;font-size:calc(13px / var(--f));letter-spacing:.2em;color:var(--vd)}
.lrn-lik small{font-family:'Shippori Mincho B1',serif;font-size:calc(13px / var(--f));color:var(--sub)}
.lrn-lit{font-family:'Shippori Mincho B1',serif;font-weight:500;font-size:calc(19px / var(--f));line-height:1.7;letter-spacing:.06em}
.lrn-lid{font-size:calc(15px / var(--f));line-height:2;letter-spacing:.04em;color:var(--txt)}
.lrn-vh{display:flex;flex-direction:column;gap:12px;margin-top:60px;max-width:820px}
.lrn-vk{font-family:'Shippori Mincho B1',serif;font-weight:500;font-size:calc(24px / var(--f));letter-spacing:.08em;color:var(--vd)}
.lrn-vl{font-size:calc(15px / var(--f));line-height:2;letter-spacing:.04em;color:var(--txt)}
.lrn-voices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.lrn-v{display:flex;flex-direction:column;gap:12px;padding:28px 28px 26px;border-radius:20px;background:#fff;box-shadow:inset 0 0 0 1px rgba(139,92,214,.18),0 18px 40px -30px rgba(106,63,184,.45)}
.lrn-v figcaption{align-self:flex-start;font-size:calc(12px / var(--f));letter-spacing:.14em;color:var(--vd);padding:3px 12px;border-radius:999px;box-shadow:inset 0 0 0 1px rgba(139,92,214,.35)}
.lrn-vt{font-family:'Shippori Mincho B1',serif;font-weight:500;font-size:calc(17px / var(--f));line-height:1.7;letter-spacing:.05em}
.lrn-v blockquote{font-size:calc(14.5px / var(--f));line-height:2;letter-spacing:.03em;color:var(--txt)}
.lrn-msg{display:grid;grid-template-columns:300px minmax(0,1fr);gap:64px;align-items:center;margin-top:80px;padding:56px 64px;border-radius:24px;background:radial-gradient(ellipse at 0% 50%,rgba(139,92,214,.1),transparent 60%),linear-gradient(180deg,rgba(255,255,255,.9),rgba(248,245,255,.9));box-shadow:inset 0 0 0 1px rgba(139,92,214,.22)}
.lrn-msgimg{width:300px;height:380px;object-fit:cover;object-position:50% 20%;border-radius:18px}
.lrn-msgtx{display:flex;flex-direction:column;gap:20px}
.lrn-msgtx .lrn-lab{padding-top:0;color:var(--vd)}
.lrn-mq{font-family:'Shippori Mincho B1',serif;font-weight:500;font-size:calc(30px / var(--f));line-height:1.7;letter-spacing:.08em}
.lrn-mp{font-size:calc(16px / var(--f));line-height:2.1;letter-spacing:.05em;color:var(--txt)}
.lrn-ms{display:flex;align-items:baseline;gap:14px;font-family:'Shippori Mincho B1',serif;font-size:calc(19px / var(--f));letter-spacing:.12em}
.lrn-ms small{font-family:inherit;font-size:calc(13px / var(--f));letter-spacing:.1em;color:var(--sub)}
.lrn-ej .lrn-ctas{margin-top:40px}
/* 04 start */
.lrn-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:20px}
.lrn-card{display:flex;flex-direction:column;gap:24px;padding:44px 44px 40px;border-radius:24px;--pc:53,178,135;--ph:#1A7A57;box-shadow:inset 0 0 0 1px rgba(var(--pc),.3);background:linear-gradient(180deg,rgba(var(--pc),.09),rgba(var(--pc),.015) 75%)}
.lrn-cardej{--pc:139,92,214;--ph:#6A3FB8}
.lrn-ck{display:flex;flex-direction:column;gap:6px;font-family:'Shippori Mincho B1',serif;font-weight:500;font-size:calc(24px / var(--f));letter-spacing:.07em;color:var(--ph)}
.lrn-ck small{font-family:inherit;font-size:calc(13px / var(--f));letter-spacing:.14em;color:var(--sub)}
.lrn-steps{list-style:none;padding:0;display:flex;flex-direction:column;gap:14px;flex:1}
.lrn-steps li{display:flex;gap:16px;font-size:calc(16px / var(--f));line-height:1.9;letter-spacing:.04em;color:var(--txt)}
.lrn-steps b{flex:none;font-family:'Shippori Mincho B1',serif;font-weight:500;color:var(--ph);letter-spacing:.1em}
.lrn-card .lrn-cta{align-self:flex-start}
/* 05 faq */
.lrn-faq{display:flex;flex-direction:column;border-top:1px solid rgba(21,23,42,.12);margin-top:12px}
.lrn-faq>div{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:48px;padding:30px 0;border-bottom:1px solid rgba(21,23,42,.12)}
.lrn-faq dt{font-family:'Shippori Mincho B1',serif;font-weight:500;font-size:calc(18px / var(--f));line-height:1.8;letter-spacing:.05em}
.lrn-faq dt::before{content:"Q.";margin-right:12px;color:var(--gd)}
.lrn-faq dd{font-size:calc(15px / var(--f));line-height:2;letter-spacing:.04em;color:var(--txt)}
/* closing */
.lrn-end{position:relative;display:flex;flex-direction:column;align-items:center;gap:36px;text-align:center;padding:120px 0 140px;margin-bottom:40px}
.lrn-endfig{position:absolute;left:50%;top:0;width:1100px;height:100%;margin-left:-550px;pointer-events:none}
.lrn-end>*:not(.lrn-endfig){position:relative}
/* 学びの場 v2 (plain copy): comparison list, sub-heading, roadmap inside the textbook chapter */
.lrn-cdl{display:flex;flex-direction:column;border-top:1px solid rgba(var(--pc),.25);flex:1}
.lrn-cdl>div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:20px;padding:16px 0;border-bottom:1px solid rgba(var(--pc),.18)}
.lrn-cdl dt{font-size:calc(13px / var(--f));letter-spacing:.16em;color:var(--ph);padding-top:3px}
.lrn-cdl dd{margin:0;font-size:calc(16px / var(--f));line-height:1.9;letter-spacing:.04em;color:var(--txt)}
.lrn-more{align-self:flex-start;font-size:calc(14px / var(--f));letter-spacing:.12em;color:var(--ph);text-decoration:none}
.lrn-more:hover{opacity:.7}
.lrn-sub{font-family:'Shippori Mincho B1',serif;font-weight:500;font-size:calc(22px / var(--f));letter-spacing:.08em;color:var(--ink);margin-bottom:8px!important}
.lrn-tb .lrn-road{margin-top:72px}
.lrn-tb .lrn-roadfig{top:0}
.lrn-tb .lrn-stops{margin-top:-6px}
.lrn-li{gap:12px}
.lrn-lid{color:var(--ink)}
/* /profile/ timeline links: colour slides in from the left on hover (same motion as the top page's 「これまでの未来実装をすべて見る」) */
html.pg-profile .scroller a.tllink{position:relative;overflow:hidden;isolation:isolate;transition:color .6s ease,box-shadow .5s,transform .4s!important}
html.pg-profile .scroller a.tllink::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:linear-gradient(90deg,#5A3896,#6E45B0 55%,#8F6FD0);transform:scaleX(0);transform-origin:0 50%;transition:transform .9s cubic-bezier(.22,1,.36,1)}
html.pg-profile .scroller a.tllink:hover,html.pg-profile .scroller a.tllink:focus-visible{color:#FFFFFF!important;box-shadow:inset 0 0 0 1px rgba(110,69,176,.6),0 12px 30px -12px rgba(110,69,176,.55)!important}
html.pg-profile .scroller a.tllink:hover::before,html.pg-profile .scroller a.tllink:focus-visible::before{transform:scaleX(1)}
html.pg-profile .scroller a.tllink,html.pg-profile .scroller a.tllink:hover{text-decoration:none!important}
@media (prefers-reduced-motion:reduce){html.pg-profile .scroller a.tllink::before{transition:none}}
html.pg-profile .scroller a.tllink:hover>span:first-child,html.pg-profile .scroller a.tllink:focus-visible>span:first-child{filter:brightness(0) invert(1)}
/* ===== /books/ (2026-10-17): one living figure of light that changes shape from book to book as you scroll ===== */
html.pg-books .bkhalo,html.pg-books .bkhalo+span{display:none}
html.pg-books .bkcover{position:relative;z-index:1}
.bk-scene{position:absolute;inset:0;pointer-events:none;background:#fff}
.bk-scene canvas{position:absolute;inset:0;width:100%;height:100%}
/* /books/ rhythm (2026-10-17): one book = one breath. More air between books, and inside each text column
   a clear beat: [year · title · lead · body] — pause — [what started from this book] — pause — [take this book] */
html.pg-books .scroller section[id]{padding:90px 0!important}
html.pg-books .scroller section[id]+div[aria-hidden]{height:200px!important;margin:30px 0!important}
html.pg-books .scroller section[id]>div:nth-child(2){gap:0!important;max-width:640px}
html.pg-books .scroller section[id]>div:nth-child(2)>:nth-child(1){margin-bottom:16px!important;letter-spacing:.2em!important}
html.pg-books .scroller section[id]>div:nth-child(2)>:nth-child(2){margin-bottom:26px!important;line-height:1.55!important}
html.pg-books .scroller section[id]>div:nth-child(2)>:nth-child(3){margin-bottom:16px!important}
html.pg-books .scroller section[id]>div:nth-child(2)>:nth-child(4){margin-bottom:34px!important;max-width:520px}
html.pg-books .scroller section[id]>div:nth-child(2)>svg{width:300px!important;height:40px!important;margin-bottom:38px!important}
html.pg-books .scroller section[id]>div:nth-child(2)>:nth-child(6){gap:12px!important;padding:2px 0 2px 28px!important;border-left:1px solid rgba(246,187,10,.5)}
html.pg-books .scroller section[id]>div:nth-child(2)>:nth-child(6)>:nth-child(2){margin-bottom:2px!important}
html.pg-books .scroller section[id]>div:nth-child(2)>:nth-child(6)>a{margin-top:6px!important}
html.pg-books .scroller section[id]>div:nth-child(2)>:nth-child(6)>div{margin-top:22px!important}
html.pg-books .scroller section[id]>div:nth-child(2)>:nth-child(7){margin-top:40px!important;padding-top:22px;border-top:1px solid rgba(138,100,0,.15)}
/* /books/ PC review: the cover stays beside its text while you read (no empty screens), shorter pauses between books */
html.pg-books .scroller section[id]{align-items:start!important;padding:70px 0!important}
html.pg-books .scroller section[id]>div:first-child{position:sticky!important;top:calc(140px / var(--s,1));min-height:calc(560px / var(--s,1))!important}
html.pg-books .scroller section[id]+div[aria-hidden]{height:120px!important;margin:20px 0!important}
html.pg-books .scroller section[id]>div:nth-child(2)>:nth-child(4),html.pg-books .scroller section[id]>div:nth-child(2) p[style*="2.05"]{font-size:calc(15.5px / var(--s,1))!important;line-height:2.05!important;letter-spacing:.05em!important}
html.pg-books .scroller section[id]>div:nth-child(2)>:nth-child(3){font-size:calc(19px / var(--s,1))!important;line-height:1.9!important;letter-spacing:.05em!important}
/* 無料で始める: role line + 「実装」 mark (same hexagon as /works/) */
.lrn-ck small{display:flex;align-items:center;gap:14px}
.lrn-impl{display:inline-flex;align-items:center;gap:6px;padding:2px 10px 2px 6px;border-radius:999px;font-family:'Zen Kaku Gothic New',sans-serif;font-size:calc(11.5px / var(--f));letter-spacing:.14em;color:var(--ph);box-shadow:inset 0 0 0 1px rgba(var(--pc),.4);background:rgba(255,255,255,.7)}
.lrn-role{font-family:'Shippori Mincho B1',serif;font-weight:500;font-size:calc(18px / var(--f));line-height:1.8;letter-spacing:.05em;color:var(--ink);margin-top:-8px!important}
/* 無料で始める v3: one main action (LINE), textbook as a side note */
.lrn-hcta{display:inline-flex;align-items:center;min-height:64px;padding:0 40px;border-radius:999px;text-decoration:none;font-size:calc(17px / var(--s,1));letter-spacing:.1em;color:#fff;background:linear-gradient(120deg,#8B5CD6,#6E45B0 55%,#5A3896);box-shadow:0 16px 44px -14px rgba(106,63,184,.75);transition:transform .5s,box-shadow .5s}
.lrn-hcta:hover{transform:translateY(-2px);box-shadow:0 22px 50px -14px rgba(106,63,184,.85)}
.lrn{gap:170px}
.lrn-aside{display:grid;grid-template-columns:150px minmax(0,1fr) auto;align-items:center;gap:36px;margin:-60px 0;padding:28px 40px 28px 24px;border-radius:24px;background:linear-gradient(100deg,rgba(53,178,135,.08),rgba(53,178,135,.02));box-shadow:inset 0 0 0 1px rgba(53,178,135,.25)}
.lrn-asfig{height:110px}
.lrn-astx{display:flex;flex-direction:column;gap:6px}
.lrn-ask{font-size:calc(13px / var(--f));letter-spacing:.16em;color:var(--sub)}
.lrn-ast{font-family:'Shippori Mincho B1',serif;font-weight:500;font-size:calc(22px / var(--f));letter-spacing:.08em;color:var(--gd)}
.lrn-asd{font-size:calc(15px / var(--f));line-height:1.9;letter-spacing:.04em;color:var(--txt)}
.lrn-asbtn{display:inline-flex;align-items:center;min-height:52px;padding:0 28px;border-radius:999px;text-decoration:none;white-space:nowrap;font-size:calc(15px / var(--f));letter-spacing:.08em;color:var(--gd);background:#fff;box-shadow:inset 0 0 0 1px rgba(26,122,87,.45);transition:background .4s,color .4s}
.lrn-asbtn:hover{background:var(--gd);color:#fff}
.lrn-flow{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:8px}
.lrn-flow li{position:relative;display:flex;flex-direction:column;gap:10px;padding:30px 28px 28px;border-radius:24px;background:#fff;box-shadow:inset 0 0 0 1px rgba(139,92,214,.22)}
.lrn-flow b{font-family:'Shippori Mincho B1',serif;font-weight:500;font-size:calc(28px / var(--f));line-height:1;color:var(--vd)}
.lrn-flt{font-family:'Shippori Mincho B1',serif;font-weight:500;font-size:calc(19px / var(--f));line-height:1.6;letter-spacing:.05em}
.lrn-fld{font-size:calc(14.5px / var(--f));line-height:1.9;letter-spacing:.04em;color:var(--sub)}
#lrn-start .lrn-ctas{margin-top:36px}
.lrn-last{margin-top:60px!important;margin-bottom:60px}
.lrn-ej .lrn-note{margin-top:8px!important}
/* 無料で始める — design concept: one line leaves this site and walks out into the Earth Journey landscape.
   The page stays white & wire; the line warms from green to gold as it goes down, and only the closing scene turns into colour. */
.lrn{padding-bottom:0}
.lrn::after{content:"";position:absolute;left:0;right:0;bottom:0;height:900px;pointer-events:none;z-index:-1;background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,244,228,.55) 70%,rgba(255,236,210,.7))}
.lrn-thread{position:absolute;left:72px;top:-40px;bottom:0;width:2px;pointer-events:none;--tp:0}
.lrn-thread::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(53,178,135,.18),rgba(56,167,228,.16) 40%,rgba(139,92,214,.18) 75%,rgba(245,195,90,.22));width:1px;left:.5px}
.lrn-tfill{position:absolute;left:0;top:0;width:2px;height:calc(var(--tp) * 100%);background:linear-gradient(180deg,#35B287,#38A7E4 40%,#8B5CD6 75%,#F5C35A);background-size:2px var(--th,4000px);border-radius:2px}
.lrn-tdot{position:absolute;left:1px;top:calc(var(--tp) * 100%);width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:#fff;box-shadow:0 0 0 2px var(--tc,#35B287),0 0 18px 6px var(--tg,rgba(53,178,135,.45))}
.lrn-out{position:relative;margin:40px -150px 0;height:820px;overflow:hidden}
.lrn-land{position:absolute;inset:0;-webkit-mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.35) 22%,#000 55%);mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.35) 22%,#000 55%)}
.lrn-land img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 70%}
.lrn-bend{position:absolute;left:0;top:0;width:100%;height:420px;pointer-events:none}
.lrn-outtx{position:absolute;left:0;right:0;top:400px;display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center}
.lrn-outk{font-size:calc(12.5px / var(--f));letter-spacing:.42em;padding-left:.42em;color:#fff;text-shadow:0 2px 14px rgba(30,20,70,.6)}
.lrn-outcta{background:linear-gradient(120deg,#8B5CD6,#6E45B0 50%,#E0A43C);box-shadow:0 18px 50px -12px rgba(40,20,90,.7)}
.lrn-outn{font-size:calc(13px / var(--f));letter-spacing:.08em;color:#fff;text-shadow:0 1px 10px rgba(30,20,70,.7)}
@media (prefers-reduced-motion:reduce){.lrn-thread{--tp:1}}
.lrn-thread{bottom:860px}
.lrn-land{-webkit-mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.35) 22%,#000 52%,#000 88%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.35) 22%,#000 52%,#000 88%,transparent 100%)}
.lrn-outtx::before{content:"";position:absolute;left:50%;top:50%;width:760px;height:260px;margin:-130px 0 0 -380px;z-index:-1;border-radius:50%;background:radial-gradient(ellipse,rgba(28,18,64,.34),rgba(28,18,64,0) 70%)}
.lrn-outtx{isolation:isolate}
.lrn-thread{bottom:820px}
/* 無料で始める — the Earth Journey painting, first as wire, turning into watercolour as you scroll down.
   learn-3d.js sets --wo (wire), --co (colour), --cp (colour reveal from the bottom), --vu (veil for reading), --vl (hero side veil) on .lrn-scene */
.lrn::after{display:none}
.lrn-scene{position:absolute;inset:0;overflow:hidden;pointer-events:none;--wo:1;--co:0;--cp:0;--vu:0;--vl:1;background:#fff}
.lrn-scene img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 55%}
.lrn-sc-wire{opacity:var(--wo)}
.lrn-sc-color{opacity:var(--co);-webkit-mask-image:linear-gradient(0deg,#000 calc(var(--cp) * 140% - 40%),transparent calc(var(--cp) * 140%));mask-image:linear-gradient(0deg,#000 calc(var(--cp) * 140% - 40%),transparent calc(var(--cp) * 140%))}
.lrn-sc-left{position:absolute;inset:0;opacity:var(--vl);background:linear-gradient(90deg,rgba(255,255,255,.92) 0%,rgba(255,255,255,.78) 38%,rgba(255,255,255,0) 66%)}
.lrn-sc-veil{position:absolute;inset:0;opacity:var(--vu);background:rgba(255,255,255,.8)}
.lrn-out{height:100vh;min-height:640px;margin-top:0}
.lrn-out .lrn-outtx{top:auto;bottom:16%}
/* moving scene: stage zooms gently toward the traveller as you scroll; live wire geometry and light on a canvas */
.lrn-sc-stage{position:absolute;inset:0;will-change:transform}
.lrn-sc-live{position:absolute;inset:0;width:100%;height:100%}
.lrn-sc-wire{animation:lrnDraw 2.6s cubic-bezier(.4,0,.2,1) .3s both}
@keyframes lrnDraw{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@media (prefers-reduced-motion:reduce){.lrn-sc-wire{animation:none}}
.lrn-out .lrn-outtx{bottom:5%}
html.r26m .lrn-out .lrn-outtx{bottom:4%}
/* 無料で始める PC review: reading panels over the watercolour, steadier type scale */
.lrn-faq{background:rgba(255,255,255,.82);padding:6px 36px;border-radius:22px;border-top:0!important;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 20px 50px -30px rgba(60,40,120,.35)}
.lrn-faq>div:last-child{border-bottom:0!important}
.lrn-note{background:rgba(255,255,255,.7);display:inline-block;padding:4px 12px;border-radius:8px}
.lrn-li,.lrn-v,.lrn-flow li{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.lrn-lid{font-size:calc(15.5px / var(--f));line-height:2}
.lrn-v blockquote{font-size:calc(15px / var(--f));line-height:2.05}
.lrn-note.lrn-c{align-self:center}
/* 参加すると見られるもの: number and title stand out (number as a large gradient numeral, title in Mincho) */
.lrn-lik{display:flex;align-items:center;gap:14px;font-family:'Shippori Mincho B1',serif;font-weight:500;font-size:calc(21px / var(--f))!important;letter-spacing:.08em!important;color:var(--ink)!important}
.lrn-lik small{font-family:'Shippori Mincho B1',serif;font-size:calc(30px / var(--f))!important;line-height:1;letter-spacing:.02em;background:linear-gradient(160deg,#8B5CD6,#38A7E4);-webkit-background-clip:text;background-clip:text;color:transparent!important}
.lrn-lik::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(139,92,214,.35),rgba(139,92,214,0))}
/* textbook card: a living wire book + a light running around the frame */
@property --lrnA{syntax:'<angle>';inherits:false;initial-value:0deg}
.lrn-aside{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(120deg,rgba(255,255,255,.9),rgba(236,250,245,.82))!important;box-shadow:0 24px 60px -36px rgba(26,122,87,.55)!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.lrn-aside::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.5px;background:conic-gradient(from var(--lrnA),rgba(53,178,135,.15),rgba(53,178,135,.9) 12%,rgba(56,167,228,.9) 18%,rgba(53,178,135,.15) 30%,rgba(53,178,135,.15));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:lrnSpin 6s linear infinite;z-index:-1}
@keyframes lrnSpin{to{--lrnA:360deg}}
.lrn-aside::after{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(56,167,228,.18),rgba(56,167,228,0) 70%);z-index:-1}
.lrn-ast{background:linear-gradient(100deg,#1A7A57,#2E9C8A 50%,#2F7FC4);-webkit-background-clip:text;background-clip:text;color:transparent!important}
.lrn-asbtn{position:relative;overflow:hidden;isolation:isolate;transition:color .5s!important}
.lrn-asbtn::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#1A7A57,#2E9C8A 60%,#38A7E4);transform:scaleX(0);transform-origin:0 50%;transition:transform .8s cubic-bezier(.22,1,.36,1)}
.lrn-asbtn:hover{color:#fff!important;background:#fff!important}.lrn-asbtn:hover::before{transform:scaleX(1)}
/* voices: a large quote mark, cards gently staggered */
.lrn-v{position:relative;overflow:hidden}
.lrn-v::before{content:"“";position:absolute;right:14px;top:-18px;font-family:'Shippori Mincho B1',serif;font-size:110px;line-height:1;background:linear-gradient(160deg,rgba(139,92,214,.28),rgba(56,167,228,.12));-webkit-background-clip:text;background-clip:text;color:transparent;pointer-events:none}
.lrn-v::after{content:"";position:absolute;left:0;top:18px;bottom:18px;width:3px;border-radius:3px;background:linear-gradient(180deg,#8B5CD6,#38A7E4)}
.lrn-voices>.lrn-v:nth-child(3n+2){transform:translateY(28px)}
@media (prefers-reduced-motion:reduce){.lrn-aside::before{animation:none}}
/* はじめ方: a path of three lights (connected steps, numbers as glowing nodes) */
.lrn-flow{position:relative}
.lrn-flow::before{content:"";position:absolute;left:8%;right:8%;top:62px;height:1px;background:linear-gradient(90deg,rgba(139,92,214,.15),#8B5CD6 30%,#38A7E4 70%,rgba(56,167,228,.15))}
.lrn-flow li{padding-top:96px!important;text-align:center;align-items:center;overflow:visible!important}
.lrn-flow b{position:absolute;left:50%;top:30px;transform:translateX(-50%);width:64px;height:64px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#fff;font-size:calc(22px / var(--f))!important;box-shadow:0 0 0 1px rgba(139,92,214,.35),0 0 0 8px rgba(139,92,214,.06),0 10px 30px -10px rgba(106,63,184,.6)}
.lrn-flow b::after{content:"";position:absolute;inset:-14px;border-radius:50%;border:1px dashed rgba(139,92,214,.4);animation:lrnRot 18s linear infinite}
.lrn-flow li:nth-child(2) b::after{animation-duration:14s;animation-direction:reverse}
@keyframes lrnRot{to{transform:rotate(360deg)}}
.lrn-flow li{background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(246,242,255,.9))!important}
/* 参加者の声: each card gets a tinted top edge by its kind */
.lrn-v figcaption{background:rgba(139,92,214,.08)}
@media (prefers-reduced-motion:reduce){.lrn-flow b::after{animation:none}}
/* LINE CTA = a gate to another world: a night sky inside the button (drifting stars), an aurora rim turning around it,
   a light passing through, and on hover the sky opens wider */
@property --lrnG{syntax:'<angle>';inherits:false;initial-value:0deg}
.lrn-hcta,.lrn-cta.lrn-ctaej{position:relative;isolation:isolate;overflow:visible;color:#fff!important;letter-spacing:.12em;text-shadow:0 0 12px rgba(255,255,255,.55);
  background:radial-gradient(1px 1px at 12% 30%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 28% 72%,#fff 50%,transparent 51%),radial-gradient(1.5px 1.5px at 46% 22%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 63% 64%,#fff 50%,transparent 51%),radial-gradient(1.5px 1.5px at 81% 34%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 92% 70%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 6% 80%,#fff 50%,transparent 51%),
  radial-gradient(ellipse 60% 120% at 85% 50%,rgba(246,187,10,.45),transparent 60%),radial-gradient(ellipse 70% 140% at 15% 50%,rgba(56,167,228,.5),transparent 60%),linear-gradient(110deg,#1E1550,#43308F 45%,#6E45B0 75%,#2A1D66)!important;
  background-size:180px 100%,220px 100%,260px 100%,200px 100%,240px 100%,210px 100%,190px 100%,100% 100%,100% 100%,100% 100%!important;
  animation:lrnStars 14s linear infinite;box-shadow:0 0 0 1px rgba(255,255,255,.25) inset,0 18px 50px -12px rgba(67,48,143,.75),0 0 40px -6px rgba(139,92,214,.6)!important;transition:transform .6s cubic-bezier(.22,1,.36,1),box-shadow .6s!important}
@keyframes lrnStars{to{background-position:180px 0,-220px 0,260px 0,-200px 0,240px 0,-210px 0,190px 0,0 0,0 0,0 0}}
.lrn-hcta::before,.lrn-cta.lrn-ctaej::before{content:"";position:absolute;inset:-3px;border-radius:999px;z-index:-1;padding:2px;background:conic-gradient(from var(--lrnG),#38A7E4,#8B5CD6,#F6BB0A,#35B287,#38A7E4);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:lrnGate 5s linear infinite;filter:blur(.4px)}
.lrn-hcta::after,.lrn-cta.lrn-ctaej::after{content:"";position:absolute;inset:0;border-radius:999px;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.45) 50%,transparent 70%);background-size:250% 100%;animation:lrnPass 3.6s ease-in-out infinite;pointer-events:none}
@keyframes lrnGate{to{--lrnG:360deg}}
@keyframes lrnPass{0%,35%{background-position:150% 0}75%,100%{background-position:-50% 0}}
.lrn-hcta:hover,.lrn-cta.lrn-ctaej:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 0 0 1px rgba(255,255,255,.35) inset,0 26px 60px -12px rgba(67,48,143,.85),0 0 70px 0 rgba(139,92,214,.75),0 0 120px 10px rgba(56,167,228,.35)!important}
.lrn-outcta{background-size:180px 100%,220px 100%,260px 100%,200px 100%,240px 100%,210px 100%,190px 100%,100% 100%,100% 100%,100% 100%!important}
.lrn-out .lrn-outcta{transform:scale(1.12)}
.lrn-out .lrn-outcta:hover{transform:scale(1.16) translateY(-3px)}
.lrn-note.lrn-c,.lrn-outn{background:none!important;color:#fff!important;text-shadow:0 1px 10px rgba(30,20,70,.75),0 0 2px rgba(30,20,70,.6)}
#lrn-start .lrn-note.lrn-c{color:var(--sub)!important;text-shadow:none}
@media (prefers-reduced-motion:reduce){.lrn-hcta,.lrn-cta.lrn-ctaej,.lrn-hcta::before,.lrn-cta.lrn-ctaej::before,.lrn-hcta::after,.lrn-cta.lrn-ctaej::after{animation:none}}
/* FAQ: tap a question to open its answer (open state lives in a head <style> written by learn-3d.js) */
.lrn-faq dt{position:relative;cursor:pointer;padding-right:44px;-webkit-tap-highlight-color:transparent}
.lrn-faq dt::after{content:"";position:absolute;right:6px;top:50%;width:22px;height:22px;margin-top:-11px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(26,122,87,.45);background:linear-gradient(#1A7A57,#1A7A57) center/10px 1.2px no-repeat,linear-gradient(#1A7A57,#1A7A57) center/1.2px 10px no-repeat;transition:transform .4s}
.lrn-faq dd{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .5s cubic-bezier(.22,1,.36,1),opacity .4s,margin .4s;margin:0}
.lrn-faq dd>*{overflow:hidden}
.lrn-faq>div{grid-template-columns:1fr!important;gap:0!important;padding:22px 0!important}
.lrn-faq>div:hover dt{color:#1A7A57}
/* 無料で始める — 未来実装の設計図の語彙を全体に（/works/ と同じ: 菱形の節点・細い罫線・六角形の印・図面の角） */
.lrn-ch{padding-top:56px}
.lrn-ch::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,rgba(74,120,224,.45),rgba(139,92,214,.25) 40%,rgba(74,120,224,0))}
.lrn-ch::after{content:"";position:absolute;left:-4px;top:-4px;width:8px;height:8px;transform:rotate(45deg);background:#fff;box-shadow:inset 0 0 0 1px rgba(74,120,224,.7)}
.lrn-head{position:relative}
.lrn-head::after{content:"";width:30px;height:30px;margin-left:6px;flex:none;align-self:center;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34 34'%3E%3Cpolygon points='17,1 31,9 31,25 17,33 3,25 3,9' fill='%234A78E0' fill-opacity='.9'/%3E%3Cpolygon points='17,1 31,9 17,17 3,9' fill='%23fff' fill-opacity='.35'/%3E%3Cline x1='17' y1='17' x2='17' y2='33' stroke='%23fff' stroke-opacity='.5'/%3E%3C/svg%3E") center/contain no-repeat;animation:lrnHex 9s ease-in-out infinite}
@keyframes lrnHex{0%,100%{transform:rotate(0)}50%{transform:rotate(60deg)}}
/* cards as blueprint panels: corner brackets + a node on the top edge */
.lrn-li,.lrn-v,.lrn-flow li,.lrn-aside{--bc:rgba(74,120,224,.55)}
.lrn-li::before,.lrn-flow li::before{content:"";position:absolute;inset:7px;pointer-events:none;border-radius:16px;
  background:linear-gradient(var(--bc),var(--bc)) left top/14px 1px no-repeat,linear-gradient(var(--bc),var(--bc)) left top/1px 14px no-repeat,
  linear-gradient(var(--bc),var(--bc)) right top/14px 1px no-repeat,linear-gradient(var(--bc),var(--bc)) right top/1px 14px no-repeat,
  linear-gradient(var(--bc),var(--bc)) left bottom/14px 1px no-repeat,linear-gradient(var(--bc),var(--bc)) left bottom/1px 14px no-repeat,
  linear-gradient(var(--bc),var(--bc)) right bottom/14px 1px no-repeat,linear-gradient(var(--bc),var(--bc)) right bottom/1px 14px no-repeat}
.lrn-li{position:relative}
.lrn-li::after{content:"";position:absolute;right:22px;top:-4px;width:7px;height:7px;transform:rotate(45deg);background:#fff;box-shadow:inset 0 0 0 1px var(--bc)}
/* the grid the page is drawn on: a faint isometric lattice behind the chapters */
.lrn{background-image:linear-gradient(rgba(255,255,255,0),rgba(255,255,255,0)),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='97'%3E%3Cpath d='M0 0 L56 0 M0 0 L28 48.5 L56 0 M28 48.5 L0 97 M28 48.5 L56 97 M0 97 L56 97' fill='none' stroke='rgba(74,120,224,0.07)'/%3E%3C/svg%3E");background-size:auto,56px 97px}
@media (prefers-reduced-motion:reduce){.lrn-head::after{animation:none}}

/* ===== 講演・メディア (2026-10-17 作り直し・案A「一点から、立ち上がる」) =====
   One light figure (site-assets/r26/media-3d.js) stands on the right and changes shape chapter by chapter;
   the page reads in one column on the left. No boxes, no chips: ink, hairlines and whitespace.
   Page colour = orange, the same as 講演・メディア in the menu (#F3652F), with a warm rose (#A8508E) as its partner. */
.mdx-scene{position:absolute;inset:0;pointer-events:none;background:#fff}.mdx-scene canvas{position:absolute;inset:0;width:100%;height:100%}
.mdh,.mdx{--f:var(--s,1);--g:#F3652F;--gd:#B9481A;--gl:rgba(243,101,47,.24);--v:#A8508E;--ink:#15172A;--txt:#2A2E45;--sub:#5A5E75;--line:rgba(21,23,42,.09);--link:#2F5BC4}
.mdh .nb,.mdx .nb{display:inline-block}
.mdx-eye{margin:0;font-size:calc(12.5px / var(--f));letter-spacing:.24em;color:var(--sub)}
/* hero */
.mdh{display:flex;flex-direction:column;gap:calc(26px / var(--f));width:100%;max-width:780px}
html.pg-media:not(.r26m) .scroller section:has(.mdh){max-width:1000px!important}
.mdh-gloss{margin:-6px 0 0;font-size:calc(14px / var(--f));letter-spacing:.06em;color:var(--gd)}
.mdh-grid{display:block;max-width:560px}
.mdh-facts{display:flex;flex-direction:column;gap:calc(26px / var(--f))}
.mdh-k{display:block;font-size:calc(11.5px / var(--f));letter-spacing:.22em;color:var(--gd);margin-bottom:calc(8px / var(--f))}
.mdh-role{margin:0;font-size:calc(15px / var(--f));line-height:1.8;color:var(--ink)}
.mdh-role a{color:inherit;text-decoration:underline;text-decoration-color:var(--gl);text-underline-offset:4px}
.mdh-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px;padding:calc(22px / var(--f)) 0;border-top:1px solid var(--gl);border-bottom:1px solid var(--line)}
.mdh-stat{margin:0;display:flex;flex-direction:column;gap:4px;position:relative}
.mdh-stat+.mdh-stat{padding-left:28px}
.mdh-stat+.mdh-stat::before{content:'';position:absolute;left:0;top:calc(26px / var(--f));bottom:4px;width:1px;background:linear-gradient(180deg,var(--g),rgba(168,80,142,0))}
.mdh-stat small{font-size:calc(12.5px / var(--f));line-height:1.7;color:var(--sub)}
.mdh-stat b{font-family:'Shippori Mincho B1',serif;font-weight:500;font-size:calc(24px / var(--f));line-height:1.35;letter-spacing:.02em;color:var(--ink)}
.mdh-stat b i{font-style:normal;font-size:.55em;margin-left:3px;color:var(--gd)}
.mdh-stat+.mdh-stat b{font-size:calc(40px / var(--f));line-height:1.05;font-variant-numeric:tabular-nums}
.mdh-books{display:flex;flex-wrap:wrap;align-items:flex-end;column-gap:22px;row-gap:12px}
.mdh-books .mdh-k{flex-basis:100%;margin-bottom:0}
.mdh-books a{display:flex;align-items:center;gap:12px;color:var(--ink);font-size:calc(14.5px / var(--f))}
.mdh-books img{width:44px;height:auto;box-shadow:0 6px 16px rgba(16,43,85,.18);transition:transform .4s}
.mdh-books a:hover img{transform:translateY(-3px)}
.mdh-talk ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,max-content));column-gap:30px;row-gap:6px}
.mdh-talk li{position:relative;padding-left:16px;font-size:calc(14.5px / var(--f));line-height:1.8;color:var(--ink)}
.mdh-talk li::before{content:'';position:absolute;left:0;top:.75em;width:5px;height:5px;border-radius:50%;background:var(--g);box-shadow:0 0 8px rgba(243,101,47,.7)}
.mdh-talk p{margin:calc(10px / var(--f)) 0 0;font-size:calc(12.5px / var(--f));color:var(--sub)}
.mdh-ph{margin:0;display:flex;flex-direction:column;gap:8px}
.mdh-ph img{display:block;width:100%;height:300px;object-fit:cover;object-position:50% 25%;border-radius:2px;background:#F4F6FA}
.mdh-ph figcaption{font-size:calc(12px / var(--f));color:var(--sub)}
.mdh-cta{margin:calc(6px / var(--f)) 0 0}
.mdx-btn{display:inline-flex;align-items:center;min-height:calc(52px / var(--f));padding:0 calc(30px / var(--f));border-radius:999px;background:var(--gd);color:#fff;font-size:calc(15px / var(--f));letter-spacing:.08em;box-shadow:0 0 0 1px rgba(243,101,47,.25),0 12px 36px rgba(185,72,26,.22);transition:background .3s,box-shadow .3s}
.mdx-btn:hover{background:#9A3A12;box-shadow:0 0 0 6px rgba(243,101,47,.12),0 12px 36px rgba(185,72,26,.28)}
.mdh-logos{margin-top:calc(60px / var(--f));display:flex;flex-direction:column;gap:calc(16px / var(--f))}
.mdh-lrow{display:flex;flex-wrap:wrap;align-items:center;column-gap:30px;row-gap:16px}
.mdh-lrow img{height:20px;width:auto;max-width:110px;object-fit:contain;transition:transform .3s}
.mdh-lrow img[alt^="インテック"]{height:22px}
.mdh-lrow img.mdh-inv{filter:invert(1)}
.mdh-lrow img:hover{transform:translateY(-2px)}
.mdh-map{margin-top:calc(46px / var(--f));display:flex;flex-direction:column;gap:calc(12px / var(--f))}
.mdh-map ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:36px;counter-reset:mm;border-top:1px solid var(--gl)}
.mdh-map li{counter-increment:mm;border-bottom:1px solid var(--line)}
.mdh-map ol a{display:flex;align-items:baseline;gap:14px;padding:calc(10px / var(--f)) 0;font-size:calc(14px / var(--f));color:var(--ink);transition:color .3s}
.mdh-map ol a::before{content:counter(mm,decimal-leading-zero);font-family:'Shippori Mincho B1',serif;font-size:calc(13px / var(--f));color:var(--g);min-width:1.4em}
.mdh-map a:hover{color:var(--gd)}
.mdh-map .mdh-map2{margin-top:calc(14px / var(--f))}
.mdh-map ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;column-gap:28px;row-gap:6px}
.mdh-map ul a{font-size:calc(13.5px / var(--f));color:var(--sub);border-bottom:1px solid var(--line);padding-bottom:2px}
.mdh-map ul a::after{content:' ↗';color:var(--g)}
.mdh-map ul a:hover{color:var(--ink)}
/* chapters: one reading column on the left; the figure owns the right */
.mdx{position:relative;padding:0 160px;margin-top:240px;display:flex;flex-direction:column;gap:260px;color:var(--ink);counter-reset:mdch}
.mdx-ch{position:relative;max-width:780px;display:flex;flex-direction:column;gap:calc(56px / var(--f));scroll-margin-top:110px;counter-increment:mdch}
.mdx-head{display:flex;flex-direction:column;gap:calc(14px / var(--f))}
.mdx-head::before{content:counter(mdch,decimal-leading-zero);font-family:'Shippori Mincho B1',serif;font-size:calc(96px / var(--f));line-height:.9;color:transparent;-webkit-text-stroke:1px rgba(243,101,47,.55);letter-spacing:.02em;margin-bottom:calc(10px / var(--f))}
.mdx-lab{margin:0;font-size:calc(12.5px / var(--f));letter-spacing:.3em;color:var(--gd)}
.mdx-lab::before{content:'';display:inline-block;width:40px;height:1px;margin:0 16px 4px 0;vertical-align:middle;background:linear-gradient(90deg,var(--g),rgba(168,80,142,.5))}
.mdx-t{margin:0;font-family:'Shippori Mincho B1',serif;font-weight:500;font-size:calc(40px / var(--f));line-height:1.6;letter-spacing:.06em;color:var(--ink)}
.mdx-head .mdx-p{margin-top:calc(8px / var(--f))}
.mdx-p{margin:0;font-size:calc(16px / var(--f));line-height:2.05;letter-spacing:.04em;color:var(--txt)}
.mdx-p a{color:var(--link);text-decoration:underline;text-underline-offset:3px}
.mdx-meta{margin:0;font-size:calc(13px / var(--f));letter-spacing:.06em;color:var(--gd)}
.mdx-h3{margin:0;font-family:'Shippori Mincho B1',serif;font-weight:500;font-size:calc(22px / var(--f));line-height:1.65;letter-spacing:.04em;color:var(--ink)}
.mdx-small{display:block;margin:calc(4px / var(--f)) 0 0;font-size:calc(13.5px / var(--f));line-height:1.85;color:var(--sub)}
.mdx-sub{margin:0;font-size:calc(13px / var(--f));letter-spacing:.16em;color:var(--gd)}
.mdx-sub span{margin-left:14px;letter-spacing:.04em;color:var(--sub);font-size:calc(12.5px / var(--f))}
.mdx-link,.mdx-links a{align-self:flex-start;display:inline-flex;align-items:center;min-height:40px;font-size:calc(14.5px / var(--f));color:var(--link);border-bottom:1px solid rgba(47,91,196,.25);line-height:1.6;transition:border-color .3s}
.mdx-link:hover,.mdx-links a:hover{border-bottom-color:var(--link)}
.mdx-links{margin:0;display:flex;flex-wrap:wrap;column-gap:36px;row-gap:4px}
/* 01 stories: the first one large, then photo and text alternate; photos sit in a wire frame with a light at the corner */
.mdx-stories{display:flex;flex-direction:column;gap:calc(110px / var(--f));padding-top:calc(16px / var(--f))}
.mdx-story{position:relative;display:grid;grid-template-columns:290px minmax(0,1fr);column-gap:48px;align-items:center}
.mdx-story>img{width:100%;height:200px;object-fit:cover;border-radius:0;background:#F4F6FA}
.mdx-story::before{content:'';position:absolute;left:-14px;top:-14px;width:7px;height:7px;border-radius:50%;background:#fff;box-shadow:0 0 0 1.5px var(--g),0 0 14px 3px rgba(243,101,47,.55);z-index:1}
.mdx-story:nth-child(odd):not(:first-child){grid-template-columns:minmax(0,1fr) 290px}
.mdx-story:nth-child(odd):not(:first-child)>img{order:2}
.mdx-story:nth-child(odd):not(:first-child)::before{left:auto;right:-14px}
.mdx-story:first-child{grid-template-columns:minmax(0,1fr);row-gap:calc(34px / var(--f))}
.mdx-story:first-child>img{height:400px}
.mdx-story:first-child .mdx-h3{font-size:calc(28px / var(--f))}
.mdx-sttx{display:flex;flex-direction:column;gap:calc(10px / var(--f))}
.mdx-sttx .mdx-p{font-size:calc(15px / var(--f))}
/* 02 corporate: two talks side by side, logos in colour; voices as a widening ripple */
.mdx-corp{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--gl);border-bottom:1px solid var(--line)}
.mdx-crow{display:flex;flex-direction:column;gap:calc(16px / var(--f));padding:calc(32px / var(--f)) 32px calc(30px / var(--f)) 0}
.mdx-crow+.mdx-crow{padding:calc(32px / var(--f)) 0 calc(30px / var(--f)) 32px;border-left:1px solid var(--line)}
.mdx-crow .mdx-h3{margin-top:calc(6px / var(--f));font-size:calc(20px / var(--f))}
.mdx-voices{display:flex;flex-direction:column;gap:calc(30px / var(--f))}
.mdx-vgrid{display:flex;flex-direction:column;gap:calc(40px / var(--f))}
.mdx-q{margin:0;display:grid;grid-template-columns:minmax(0,1fr);gap:calc(12px / var(--f));padding-left:30px;position:relative;max-width:620px}
.mdx-q:nth-child(2){margin-left:80px}.mdx-q:nth-child(3){margin-left:160px}
.mdx-q::before{content:'';position:absolute;left:0;top:.4em;bottom:.3em;width:1px;background:linear-gradient(180deg,var(--g),rgba(168,80,142,.12))}
.mdx-q::after{content:'';position:absolute;left:-3px;top:.4em;width:7px;height:7px;border-radius:50%;background:#fff;box-shadow:0 0 0 1.5px var(--g),0 0 12px 2px rgba(243,101,47,.5)}
.mdx-q blockquote{margin:0;font-family:'Shippori Mincho B1',serif;font-size:calc(22px / var(--f));line-height:1.75;letter-spacing:.03em;color:var(--ink)}
.mdx-q figcaption{display:flex;flex-direction:column;gap:2px}
.mdx-q figcaption b{font-weight:500;font-size:calc(14px / var(--f));color:var(--ink)}
.mdx-q figcaption span{font-size:calc(12.5px / var(--f));line-height:1.7;color:var(--sub)}
/* 03 tour: a photo mosaic, numbers inside rings */
.mdx-photos{display:grid;grid-template-columns:1.7fr 1fr 1fr;grid-template-rows:180px 180px;gap:10px}
.mdx-photos figure,.mdx-shots figure{margin:0;display:flex;flex-direction:column;gap:8px}
.mdx-photos figure{position:relative;overflow:hidden}
.mdx-photos figure:nth-child(1){grid-row:1/3}
.mdx-photos figure:nth-child(4){grid-column:2/4}
.mdx-photos figure{display:block}
.mdx-photos img{position:absolute;inset:0;width:100%;height:100%!important;object-fit:cover;background:#F4F6FA;transition:transform .8s ease}
.mdx-photos figure:hover img{transform:scale(1.04)}
.mdx-photos figure{background:transparent!important}
.mdx-photos figcaption{position:absolute;left:0;right:0;bottom:0;padding:24px 12px 10px;font-size:calc(12px / var(--f));line-height:1.5;color:#fff;background:linear-gradient(180deg,rgba(48,22,10,0),rgba(48,22,10,.62))}
.mdx-shots figcaption{font-size:calc(12px / var(--f));line-height:1.6;color:var(--sub)}
.mdx-nums{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:20px;padding-top:calc(10px / var(--f))}
.mdx-num{position:relative;display:flex;flex-direction:column;gap:10px;padding:calc(92px / var(--f)) 0 calc(6px / var(--f))}
.mdx-n{position:relative;margin:0;font-family:'Shippori Mincho B1',serif;font-size:calc(46px / var(--f));line-height:1;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap!important}
.mdx-n span{font-size:calc(15px / var(--f));margin-left:4px;color:var(--gd)}
.mdx-nk{position:relative;margin:0;font-size:calc(13px / var(--f));line-height:1.75;color:var(--sub)}
/* 04 themes: four quarters crossed by wire, a light where the lines meet; each opens with a large outlined number */
.mdx-rep{margin:0 0 calc(-14px / var(--f));font-size:calc(13px / var(--f));letter-spacing:.2em;color:var(--sub)}
.mdx-rep span{margin-left:14px;letter-spacing:.04em;color:var(--link);font-size:calc(12.5px / var(--f))}
.mdx-topics{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--gl)}
.mdx-tp{position:relative;display:flex;flex-direction:column;gap:calc(12px / var(--f));padding:calc(36px / var(--f)) 34px calc(34px / var(--f)) 0}
.mdx-tp:nth-child(even){padding-left:34px;padding-right:0;border-left:1px solid var(--line)}
.mdx-tp:nth-child(n+3){border-top:1px solid var(--line)}
.mdx-tp:nth-child(3)::after{content:'';position:absolute;right:-4px;top:-4px;width:7px;height:7px;border-radius:50%;background:#fff;box-shadow:0 0 0 1.5px var(--g),0 0 14px 3px rgba(243,101,47,.55);z-index:1}
.mdx-tpk{margin:0;display:flex;flex-direction:column;gap:6px;font-size:calc(12.5px / var(--f));letter-spacing:.14em;color:var(--gd)}
.mdx-tpk span{position:absolute;right:calc(26px / var(--f));top:calc(10px / var(--f));font-family:'Shippori Mincho B1',serif;font-size:calc(124px / var(--f));line-height:1;letter-spacing:0;color:transparent;-webkit-text-stroke:1px rgba(243,101,47,.3);pointer-events:none;transition:-webkit-text-stroke-color .6s}
.mdx-tp:nth-child(even) .mdx-tpk span{right:0}
.mdx-tp:hover .mdx-tpk span{-webkit-text-stroke-color:rgba(243,101,47,.6)}
.mdx-tp::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 85% 18%,rgba(243,101,47,.09),rgba(243,101,47,0) 55%);opacity:0;transition:opacity .6s}
.mdx-tp:hover::before{opacity:1}
.mdx-tpk{padding-top:calc(54px / var(--f))}
.mdx-tpt{margin:0;font-family:'Shippori Mincho B1',serif;font-weight:500;font-size:calc(22px / var(--f));line-height:1.6;letter-spacing:.03em;color:var(--ink)}
.mdx-tp .mdx-p{font-size:calc(14.5px / var(--f));line-height:1.95}
.mdx-tags{position:relative;margin:calc(4px / var(--f)) 0 0;display:flex;flex-direction:column;align-items:flex-start;gap:calc(6px / var(--f));padding-left:22px}
.mdx-tags::before{content:'';position:absolute;left:3px;top:.6em;bottom:.9em;width:1px;background:linear-gradient(180deg,rgba(243,101,47,.15),var(--g))}
.mdx-tags>span{position:relative;font-size:calc(11.5px / var(--f));letter-spacing:.14em;color:var(--sub)}
.mdx-tags>span::before{content:'';position:absolute;left:-22px;top:.45em;width:7px;height:7px;border-radius:50%;border:1px solid rgba(243,101,47,.6);background:#fff;box-sizing:border-box}
.mdx-tags a{position:relative;font-size:calc(14px / var(--f));line-height:1.7;color:var(--link)}
.mdx-tags a::before{content:'';position:absolute;left:-22px;top:.55em;width:7px;height:7px;border-radius:50%;background:var(--g);box-shadow:0 0 0 3px rgba(243,101,47,.14),0 0 10px rgba(243,101,47,.6);transition:box-shadow .3s}
.mdx-tags a:hover{text-decoration:underline;text-underline-offset:4px}
.mdx-tags a:hover::before{box-shadow:0 0 0 5px rgba(243,101,47,.18),0 0 16px rgba(243,101,47,.9)}
.mdx-tgl{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0;border:0;background:none;font:inherit;font-size:calc(13px / var(--f));color:var(--sub);cursor:pointer}
.mdx-tgl::before{content:'＋';color:var(--g)}
.mdx-tgl:hover{color:var(--ink)}
.mdx-tpmore{grid-column:1/-1;flex-direction:row;align-items:center;gap:28px;padding:calc(30px / var(--f)) 0!important;border-left:0!important;border-top:1px solid var(--line)}
.mdx-tpmore .mdx-tpt::before{content:'';display:inline-block;width:38px;height:38px;margin-right:18px;vertical-align:middle;border-radius:50%;border:1px dashed rgba(243,101,47,.6);background:radial-gradient(circle,var(--g) 0 2.5px,transparent 3px)}
.mdx-dl{margin:0;display:grid;grid-template-columns:8em minmax(0,1fr);column-gap:16px}
.mdx-dl dt,.mdx-dl dd{margin:0;padding:calc(10px / var(--f)) 0;border-top:1px solid var(--line);line-height:1.85}
.mdx-dl dt{font-size:calc(13px / var(--f));letter-spacing:.06em;color:var(--gd)}
.mdx-dl dd{font-size:calc(15px / var(--f));color:var(--txt)}
.mdx-dls dt,.mdx-dls dd{font-size:calc(14px / var(--f))}
/* 05 video: one large, three small */
.mdx-watch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:20px;row-gap:34px}
.mdx-w{display:flex;flex-direction:column;gap:8px;color:var(--ink)}
.mdx-w:first-child{grid-column:1/-1;gap:10px}
.mdx-wth{position:relative;display:block;overflow:hidden;background:#F4F6FA}

.mdx-w:first-child .mdx-wth img{overflow:hidden}
.mdx-wth img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;transition:transform .7s ease}
.mdx-wth::after{content:'';position:absolute;left:12px;bottom:12px;width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.9) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34 34'%3E%3Cpath d='M14 11.5v11l9-5.5z' fill='%23B9481A'/%3E%3C/svg%3E") center/32px no-repeat;box-shadow:0 0 0 1px rgba(243,101,47,.3)}
.mdx-w:first-child .mdx-wth::after{left:50%;top:50%;bottom:auto;width:64px;height:64px;margin:-32px 0 0 -32px;background-size:64px;box-shadow:0 0 0 1px rgba(243,101,47,.35),0 0 0 12px rgba(255,255,255,.25)}
.mdx-w:not(:first-child):hover .mdx-wth img{transform:scale(1.04)}
.mdx-wk{font-size:calc(12px / var(--f));color:var(--sub);margin-top:4px}
.mdx-wt{font-family:'Shippori Mincho B1',serif;font-size:calc(16px / var(--f));line-height:1.6}
.mdx-w:first-child .mdx-wk{margin-top:14px;font-size:calc(13px / var(--f))}
.mdx-w:first-child .mdx-wt{font-size:calc(24px / var(--f))}
/* 06 records */
.mdx-shots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;align-items:start;padding-bottom:calc(30px / var(--f))}
.mdx-shots figure:nth-child(even){margin-top:calc(40px / var(--f))}
.mdx-shots img{width:100%;height:190px;object-fit:cover;background:#F4F6FA}
.mdx-cat{position:relative}
.mdx-cat::after{content:'';position:absolute;left:0;bottom:-1px;height:1px;width:0;background:linear-gradient(90deg,var(--g),rgba(168,80,142,.3),transparent);transition:width .7s ease}
.mdx-cat:hover::after{width:100%}
.mdx-acc{display:flex;flex-direction:column;border-top:1px solid var(--gl)}
.mdx-cat{border-bottom:1px solid var(--line)}
.mdx-cath{width:100%;display:grid;grid-template-columns:44px minmax(0,1fr) auto 28px;align-items:center;gap:12px;min-height:calc(70px / var(--f));padding:0;border:0;background:none;cursor:pointer;text-align:left;font:inherit;color:var(--ink)}
.mdx-catn{font-family:'Shippori Mincho B1',serif;font-size:calc(15px / var(--f));color:var(--g)}
.mdx-catt{font-family:'Shippori Mincho B1',serif;font-weight:500;font-size:calc(19px / var(--f));line-height:1.55}
.mdx-catc{font-size:calc(12.5px / var(--f));color:var(--sub)}
.mdx-sign{display:inline-block;text-align:center;font-size:calc(20px / var(--f));color:var(--g);transition:transform .4s ease}
.mdx-cath:hover .mdx-catt{color:var(--gd)}
.mdx-catb{padding-bottom:calc(18px / var(--f))}
.mdx-cnote{margin:0;padding:calc(6px / var(--f)) 0 calc(6px / var(--f)) 56px;font-size:calc(14px / var(--f));line-height:1.9;color:var(--sub)}
.mdx-rec{display:grid;grid-template-columns:44px 120px minmax(0,1fr) auto;column-gap:12px;padding:calc(14px / var(--f)) 0;border-top:1px dashed rgba(21,23,42,.08)}
.mdx-rec::before{content:'';grid-column:1}
.mdx-recd{font-size:calc(12.5px / var(--f));line-height:1.9;color:var(--gd)}
.mdx-recb{display:flex;flex-direction:column;gap:3px;min-width:0}
.mdx-rect{font-size:calc(15px / var(--f));font-weight:500;line-height:1.65;color:var(--ink)}
.mdx-reck{font-size:calc(14px / var(--f));line-height:1.85;color:var(--txt)}
.mdx-rimg{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.mdx-rimg img{height:120px;width:auto;max-width:100%;border-radius:2px;background:#F4F6FA}
.mdx-recl{align-self:start;padding-top:3px;font-size:calc(12.5px / var(--f));white-space:nowrap;color:var(--link)}
.mdx-moreb{margin:calc(6px / var(--f)) 0 0 56px;min-height:40px;padding:0;border:0;border-bottom:1px solid var(--gl);background:none;font:inherit;font-size:calc(13.5px / var(--f));color:var(--gd);cursor:pointer}
/* 07 kit: a spec sheet */
.mdx-spec{margin:0;display:grid;grid-template-columns:9em minmax(0,1fr);column-gap:24px;border-top:1px solid var(--gl)}
.mdx-spec dt,.mdx-spec dd{margin:0;padding:calc(18px / var(--f)) 0;border-bottom:1px solid var(--line)}
.mdx-spec dt{font-size:calc(13px / var(--f));letter-spacing:.08em;color:var(--gd);padding-top:calc(21px / var(--f))}
.mdx-spec dd{font-size:calc(16px / var(--f));line-height:1.95;color:var(--ink)}
.mdx-press{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.mdx-press figure{margin:0;display:flex;flex-direction:column;gap:6px}
.mdx-press img{width:100%;aspect-ratio:1/1;object-fit:cover;object-position:50% 20%;background:#F4F6FA;transition:transform .5s}
.mdx-press figure:hover img{transform:translateY(-3px)}
.mdx-press a{font-size:calc(11.5px / var(--f));line-height:1.6;color:var(--link)}
.mdx-prof{display:flex;flex-direction:column;gap:calc(18px / var(--f))}
.md-tabs{display:flex;gap:28px;border-bottom:1px solid var(--line)}
.md-tab{padding:0 0 calc(10px / var(--f));border:0;background:none;font:inherit;font-size:calc(14px / var(--f));color:var(--sub);cursor:pointer;border-bottom:1px solid transparent;margin-bottom:-1px;transition:color .3s,border-color .3s}
.md-tab.md-on{color:var(--ink);border-bottom-color:var(--g)}
.mdx-prof .mdx-p{font-size:calc(15px / var(--f));padding-left:26px;border-left:1px solid;border-image:linear-gradient(180deg,var(--g),rgba(168,80,142,0)) 1}
/* closing: centred, under the opened gate */
.mdx-end{display:flex;flex-direction:column;align-items:center;text-align:center;gap:calc(24px / var(--f));padding-bottom:calc(80px / var(--f));scroll-margin-top:60px}
.mdx-gate{width:100%;height:420px}
.mdx-end .mdx-t{font-size:calc(42px / var(--f))}
.mdx-note{margin:0;font-size:calc(13px / var(--f));line-height:1.9;color:var(--sub)}
html.pg-media .mdx .reveal-r{animation-timing-function:cubic-bezier(.33,0,.2,1);animation-range:entry 4% cover 30%}
html.pg-media .mdx .mdx-head.reveal-r{animation-range:entry 0% cover 24%}
.mdx-cta{display:flex;flex-direction:column;align-items:center;gap:calc(14px / var(--f));margin-top:calc(10px / var(--f))}
.mdx-btnl{min-height:calc(60px / var(--f));padding:0 calc(42px / var(--f));font-size:calc(16px / var(--f))}
.mdx-cgrid{margin-top:calc(70px / var(--f));display:flex;flex-direction:column;gap:calc(64px / var(--f));width:100%;max-width:1120px;text-align:left}
.mdx-cond,.mdx-ask{display:flex;flex-direction:column;gap:calc(20px / var(--f))}
.mdx-cond>.mdx-sub,.mdx-ask>.mdx-sub{text-align:center;letter-spacing:.24em}
/* 依頼の目安: a lattice of tiles, lights where the lines cross */
.mdx-tiles{margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:relative;border-top:1px solid var(--gl)}
.mdx-tile{position:relative;padding:calc(24px / var(--f)) calc(22px / var(--f)) calc(26px / var(--f));border-bottom:1px solid var(--line);border-left:1px solid var(--line)}
.mdx-tile:nth-child(4n+1),.mdx-tile:nth-child(5){border-left:0}
.mdx-tile:nth-child(3){grid-column:span 2}
.mdx-tile:nth-child(4){border-left:0}
.mdx-tile::after{content:'';position:absolute;left:-3px;top:-3px;width:5px;height:5px;border-radius:50%;background:var(--g);box-shadow:0 0 8px rgba(243,101,47,.7);opacity:.75}
.mdx-tile dt{margin:0 0 calc(8px / var(--f));font-family:'Shippori Mincho B1',serif;font-size:calc(17px / var(--f));letter-spacing:.08em;color:var(--ink)}
.mdx-tile dd{margin:0;font-size:calc(13.5px / var(--f));line-height:1.85;color:var(--txt)}
.mdx-tile:hover{background:radial-gradient(circle at 0 0,rgba(243,101,47,.07),rgba(243,101,47,0) 70%)}
/* 聞きたいこと: five steps on one wire */
.mdx-asks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));column-gap:22px;position:relative;counter-reset:ak}
.mdx-asks::before{content:'';position:absolute;left:0;right:0;top:calc(30px / var(--f));height:1px;background:linear-gradient(90deg,rgba(243,101,47,0),var(--g) 10%,rgba(168,80,142,.4) 90%,rgba(168,80,142,0))}
.mdx-asks li{counter-increment:ak;position:relative;display:flex;flex-direction:column;align-items:center;gap:calc(14px / var(--f));text-align:center;font-size:calc(14px / var(--f));line-height:1.75;color:var(--txt)}
.mdx-asks li::before{content:counter(ak,decimal-leading-zero);display:flex;align-items:center;justify-content:center;width:calc(60px / var(--f));height:calc(60px / var(--f));border-radius:50%;background:#fff;border:1px solid rgba(243,101,47,.4);box-shadow:0 0 0 6px rgba(255,255,255,.9),0 0 18px rgba(243,101,47,.18);font-family:'Shippori Mincho B1',serif;font-size:calc(17px / var(--f));color:var(--gd);position:relative}
.mdx-site{margin:calc(18px / var(--f)) 0 0;padding-left:26px;font-size:calc(14px / var(--f));letter-spacing:.04em;color:var(--txt)}
.mdx-site a{color:var(--link);text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(47,91,196,.35)}
.mdx-crow img{height:calc(30px / var(--f));width:auto;max-width:150px;object-fit:contain;align-self:flex-start}
.mdx-tpmore{flex-direction:column!important;align-items:flex-start!important;gap:calc(10px / var(--f))!important}
.mdx-story::before{display:none!important}
.mdx-wth{background:transparent!important}
.mdx-story>img,.mdx-photos img,.mdx-shots img,.mdx-wth img,.mdx-press img,.mdh-ph img{background:transparent!important}
.mdx-wth::after{opacity:var(--pl,1)}
.mdx-head{gap:calc(16px / var(--f))}
.mdx-head::before{margin-bottom:calc(14px / var(--f))}
.mdx-voices{margin-top:calc(24px / var(--f))}
.mdx-nums{margin-top:calc(8px / var(--f))}
.mdx-end{padding-top:calc(20px / var(--f))}
.mdx-cta{margin-top:calc(18px / var(--f))}
.mdx-cgrid{margin-top:calc(110px / var(--f));gap:calc(90px / var(--f))}
.mdh{gap:calc(30px / var(--f))}
.mdh-logos{margin-top:calc(80px / var(--f))}
.mdh-map{margin-top:calc(64px / var(--f))}
.mdx-btn,.mdx-btn:hover,.mdx-btn:focus{color:#fff!important}
/* themes: each its own colour, a small figure on top, the number small beside the category */
.mdx-tp:nth-child(1){--tc:#F3652F;--tcd:#B9481A}.mdx-tp:nth-child(2){--tc:#E98A1F;--tcd:#A85E0C}.mdx-tp:nth-child(3){--tc:#DE5468;--tcd:#A6303F}.mdx-tp:nth-child(4){--tc:#A8508E;--tcd:#7A3268}
.mdx-tpk{padding-top:calc(118px / var(--f))!important;flex-direction:row!important;align-items:baseline;gap:12px!important;color:var(--tcd,var(--gd))!important}
.mdx-tpk span{position:static!important;font-size:calc(17px / var(--f))!important;-webkit-text-stroke:0!important;color:var(--tc,var(--g))!important}
.mdx-tp::before{background:radial-gradient(circle at 12% 12%,color-mix(in srgb,var(--tc,#F3652F) 12%,transparent),transparent 55%)!important}
.mdx-tags::before{background:linear-gradient(180deg,transparent,var(--tc,var(--g)))!important}
.mdx-tags a::before{background:var(--tc,var(--g))!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--tc,#F3652F) 16%,transparent),0 0 10px color-mix(in srgb,var(--tc,#F3652F) 60%,transparent)!important}
.mdx-tags>span::before{border-color:var(--tc,var(--g))!important}
.mdx-tgl::before{color:var(--tc,var(--g))!important}
/* more air (2026-10-17): wider breaths between and inside chapters, a narrower measure, looser lines */
.mdx{gap:330px!important;margin-top:280px!important}
.mdx-ch{gap:calc(72px / var(--f))!important;max-width:720px!important}
.mdx-head{gap:calc(20px / var(--f))!important}
.mdx-stories{gap:calc(150px / var(--f))!important}
.mdx-p{line-height:2.2!important;letter-spacing:.05em!important}
.mdx-tp{padding-top:calc(44px / var(--f))!important;padding-bottom:calc(46px / var(--f))!important}
.mdx-voices{margin-top:calc(40px / var(--f))!important}
.mdx-vgrid{gap:calc(56px / var(--f))!important}
.mdx-nums{row-gap:40px}
.mdx-cgrid{margin-top:calc(140px / var(--f))!important;gap:calc(120px / var(--f))!important}
.mdh{gap:calc(36px / var(--f))!important}
.mdh-logos{margin-top:calc(110px / var(--f))!important}
.mdh-map{margin-top:calc(90px / var(--f))!important}
.mdx-spec dt,.mdx-spec dd{padding-top:calc(24px / var(--f))!important;padding-bottom:calc(24px / var(--f))!important}
.mdx-tile{padding:calc(30px / var(--f)) calc(26px / var(--f)) calc(32px / var(--f))!important}
/* numbers: four equal cells divided by hairlines, each centred: figure, number, unit, caption */
.mdx-nums{grid-template-columns:repeat(4,minmax(0,1fr))!important;column-gap:0!important;row-gap:0!important;border-top:1px solid var(--gl);border-bottom:1px solid var(--line);margin-top:calc(16px / var(--f))!important}
.mdx-num{align-items:center!important;text-align:center;padding:calc(118px / var(--f)) 10px calc(32px / var(--f))!important;gap:calc(12px / var(--f))!important;position:relative}
.mdx-num+.mdx-num{border-left:1px solid var(--line)}
.mdx-num+.mdx-num::after{content:'';position:absolute;left:-3px;top:-3px;width:5px;height:5px;border-radius:50%;background:var(--g);box-shadow:0 0 8px rgba(243,101,47,.6)}
.mdx-n{font-size:calc(44px / var(--f))!important;font-weight:400;letter-spacing:.02em}
.mdx-n span{display:block;margin:calc(8px / var(--f)) 0 0!important;font-family:'Zen Kaku Gothic New',sans-serif;font-size:calc(12px / var(--f))!important;letter-spacing:.32em;padding-left:.32em;color:var(--gd)}
.mdx-nk{font-size:calc(12.5px / var(--f))!important;line-height:1.8!important;letter-spacing:.06em;max-width:11em}
/* 元になった活動: a quiet strip — label on the left, the activities as plain links on the right */
.mdx-tags{flex-direction:row!important;flex-wrap:nowrap;align-items:flex-start!important;gap:18px!important;padding:calc(14px / var(--f)) 18px!important;margin-top:calc(8px / var(--f))!important;background:color-mix(in srgb,var(--tc,#F3652F) 6%,transparent);border-left:2px solid var(--tc,var(--g))}
.mdx-tags::before,.mdx-tags>span::before,.mdx-tags a::before{display:none!important}
.mdx-tags>span{flex:0 0 auto;padding-top:3px;font-size:calc(11.5px / var(--f))!important;letter-spacing:.12em!important;color:var(--tcd,var(--gd))!important;white-space:nowrap}
.mdx-tags>span+a{margin-left:0}
.mdx-tagw{display:flex;flex-direction:column;gap:4px}
.mdx-tags a{font-size:calc(14px / var(--f))!important;line-height:1.7;color:var(--ink)!important;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--tc,#F3652F) 45%,transparent);text-underline-offset:4px}
.mdx-tags a:hover{color:var(--tcd,var(--gd))!important}
.mdx-tgl{margin-top:calc(6px / var(--f))}
.mdx-tags>.mdx-tagw{flex:1 1 auto!important;padding-top:0!important;white-space:normal!important;letter-spacing:.02em!important;color:inherit!important}
/* centring pass (PC): chapter heads and short lines centred in the reading column; long text stays left */
html.pg-media:not(.r26m) .mdx-head{align-items:center;text-align:center}
html.pg-media:not(.r26m) .mdx-head .mdx-lab{position:relative;padding:0 56px}
html.pg-media:not(.r26m) .mdx-head .mdx-lab::before{position:absolute;left:0;top:50%;margin:0;width:40px}
html.pg-media:not(.r26m) .mdx-head .mdx-lab::after{content:'';position:absolute;right:0;top:50%;width:40px;height:1px;background:linear-gradient(270deg,var(--g),rgba(168,80,142,.5))}
html.pg-media:not(.r26m) .mdx-rep,html.pg-media:not(.r26m) .mdx-voices>.mdx-sub{text-align:center}
html.pg-media:not(.r26m) .mdx-links{justify-content:center}
html.pg-media:not(.r26m) .mdx-links a{align-self:center}
html.pg-media:not(.r26m) .mdx-crow{align-items:center;text-align:center}
html.pg-media:not(.r26m) .mdx-crow img{align-self:center!important}
html.pg-media:not(.r26m) .mdx-tp{align-items:center;text-align:center}
html.pg-media:not(.r26m) .mdx-tpk{justify-content:center}
html.pg-media:not(.r26m) .mdx-tags{align-self:stretch;flex-direction:column!important;align-items:center!important;border-left:0!important;border-top:2px solid var(--tc,var(--g));text-align:center}
html.pg-media:not(.r26m) .mdx-tagw{align-items:center}
html.pg-media:not(.r26m) .mdx-tgl{align-self:center}
html.pg-media:not(.r26m) .mdx-tpmore{align-items:center!important}
html.pg-media:not(.r26m) .mdx-w{text-align:center;align-items:center}
html.pg-media:not(.r26m) .mdx-w .mdx-wth{align-self:stretch}
html.pg-media:not(.r26m) .mdx-shots figcaption{text-align:center}
html.pg-media:not(.r26m) .mdx-press figure{align-items:center;text-align:center}
html.pg-media:not(.r26m) .mdx-prof .md-tabs{justify-content:center}
html.pg-media:not(.r26m) .mdx-cond>.mdx-sub,html.pg-media:not(.r26m) .mdx-ask>.mdx-sub{text-align:center}
html.pg-media:not(.r26m) .mdx-tile{text-align:center}
html.pg-media:not(.r26m) .mdx-tile::after{left:-3px}
html.pg-media:not(.r26m) .mdh-map>.mdx-eye{text-align:center}
/* themes: title first; the rest opens on a tap */
.mdx-tpbody{flex-direction:column;align-items:inherit;gap:calc(16px / var(--f));padding-top:calc(6px / var(--f));animation:mdxOpen .5s ease both}
@keyframes mdxOpen{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.mdx-tgl{gap:10px!important;min-height:44px!important;padding:0 20px!important;border:1px solid color-mix(in srgb,var(--tc,#F3652F) 45%,transparent)!important;border-radius:999px!important;color:var(--tcd,var(--gd))!important;font-size:calc(13px / var(--f))!important;letter-spacing:.12em;transition:background .3s}
.mdx-tgl:hover{background:color-mix(in srgb,var(--tc,#F3652F) 8%,transparent)}
.mdx-tgl::before{content:'＋'!important;transition:transform .3s}
.mdx-tgl[aria-expanded="true"]::before{content:'－'!important}
.mdx-tpbody .mdx-dls{align-self:stretch;text-align:left}
@media (prefers-reduced-motion:reduce){.mdx-tpbody{animation:none}}
html.pg-media:not(.r26m) .mdx-tpbody .mdx-p{text-align:left}
/* Japanese line breaks: only between phrases (the build puts U+200B between them), never inside a word */
html.pg-media .mdh,html.pg-media .mdx{word-break:keep-all;overflow-wrap:anywhere;line-break:strict}
html.pg-media .mdx-t,html.pg-media .mdx-h3,html.pg-media .mdx-tpt,html.pg-media .mdx-q blockquote,html.pg-media .mdx-wt,html.pg-media .mdh-gloss,html.pg-media .mdx-nk{text-wrap:balance}
html.pg-media .mdh *,html.pg-media .mdx *{word-break:keep-all!important}
html.pg-media:not(.r26m) .mdx-sttx{align-items:center;text-align:center}
html.pg-media:not(.r26m) .mdx-sttx .mdx-link{align-self:center}
html.pg-media:not(.r26m) .mdx-tpt{font-size:calc(20px / var(--f))!important}
html.pg-media:not(.r26m) .mdx-tp{padding-left:22px!important;padding-right:22px!important}
html.pg-media:not(.r26m) .mdx-tp:nth-child(odd):not(.mdx-tpmore){padding-left:0!important}
html.pg-media:not(.r26m) .mdx-tp:nth-child(even){padding-right:0!important}
.mdx-cta2{margin-top:calc(90px / var(--f))!important}
/* CTA: a warm gradient core, a breathing ring of light around it, a sheen that passes once a breath, and the arrow in its own circle */
html.pg-media .mdx-btn{position:relative;isolation:isolate;overflow:visible;gap:18px;padding:0 10px 0 calc(34px / var(--f))!important;min-height:calc(62px / var(--f))!important;border-radius:999px;color:#fff!important;letter-spacing:.14em;font-size:calc(15px / var(--f))!important;
  background:linear-gradient(115deg,#F3652F 0%,#D9502E 45%,#A8508E 100%)!important;box-shadow:0 14px 40px -10px rgba(217,80,46,.55),0 2px 0 rgba(255,255,255,.25) inset!important;transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s}
html.pg-media .mdx-btn::before{content:'';position:absolute;inset:-7px;border-radius:inherit;border:1px solid rgba(243,101,47,.35);z-index:-1;animation:mdxRing 5.2s ease-in-out infinite}
html.pg-media .mdx-btn::after{content:'';position:absolute;inset:0;border-radius:inherit;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.38) 48%,transparent 62%) -160% 0/60% 100% no-repeat;animation:mdxSheen 5.2s ease-in-out infinite;pointer-events:none}
html.pg-media .mdx-btn:hover{transform:translateY(-2px);box-shadow:0 22px 50px -12px rgba(217,80,46,.7),0 2px 0 rgba(255,255,255,.3) inset!important}
@keyframes mdxRing{0%,100%{transform:scale(1);opacity:.9}50%{transform:scale(1.06,1.14);opacity:.25}}
@keyframes mdxSheen{0%,55%{background-position:-160% 0}85%,100%{background-position:260% 0}}
html.pg-media .mdx-btn .mdx-arw{display:inline-flex;align-items:center;justify-content:center;width:calc(42px / var(--f));height:calc(42px / var(--f));border-radius:50%;background:rgba(255,255,255,.18);box-shadow:inset 0 0 0 1px rgba(255,255,255,.45);font-size:.95em;letter-spacing:0;transition:transform .5s cubic-bezier(.2,.8,.2,1),background .4s}
html.pg-media .mdx-btn:hover .mdx-arw{transform:translate(3px,-3px) rotate(0deg);background:rgba(255,255,255,.3)}
html.pg-media .mdx-btnl{padding-left:calc(42px / var(--f))!important;min-height:calc(70px / var(--f))!important;font-size:calc(16px / var(--f))!important}
@media (prefers-reduced-motion:reduce){html.pg-media .mdx-btn::before,html.pg-media .mdx-btn::after{animation:none}}
/* 無料で始める「参加すると、見られるもの」(2026-10-17): five windows, each with its own living symbol */
.lrn-learn{gap:22px!important}
.lrn-li{overflow:hidden;padding:34px 34px 32px 34px!important;transition:transform .6s cubic-bezier(.2,.8,.2,1),box-shadow .6s}
.lrn-li::after{display:none!important}
.lrn-li:hover{transform:translateY(-4px);box-shadow:0 24px 60px -24px rgba(90,60,170,.45)}
.lrn-lik::after{display:none!important}
.lrn-lik{position:static}
.lrn-lik small{position:absolute;right:22px;top:10px;font-size:calc(84px / var(--f))!important;line-height:1;background:none!important;color:transparent!important;-webkit-text-stroke:1px rgba(139,92,214,.28);transition:-webkit-text-stroke-color .6s}
.lrn-li:hover .lrn-lik small{-webkit-text-stroke-color:rgba(139,92,214,.6)}
.lrn-ico{display:block;width:62px;height:62px;margin-bottom:8px;position:relative}
.lrn-ico::before{content:'';position:absolute;inset:-14px;border-radius:50%;background:radial-gradient(circle,rgba(139,92,214,.16),rgba(56,167,228,.06) 50%,transparent 70%)}
.lrn-ico svg{position:relative;width:100%;height:100%;overflow:visible;fill:none;stroke:#7A55D0;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.lrn-ico .i-o5{opacity:.5}
.lrn-ico .i-core{fill:#8B5CD6;stroke:none;filter:drop-shadow(0 0 4px rgba(139,92,214,.8))}
.lrn-ico .i-dot{fill:#38A7E4;stroke:none}
.lrn-ico .i-play{fill:rgba(56,167,228,.18);stroke:#38A7E4}
.lrn-li:nth-child(odd) .lrn-ico svg{stroke:#5B7FE0}
/* 01 a pulse of new awareness */
.lrn-ico .i-pulse{stroke:#8B5CD6;transform-origin:32px 32px;animation:lrnPulse 5.2s ease-out infinite}
.lrn-ico .i-d2{animation-delay:2.6s}
.lrn-ico .i-ray{stroke-dasharray:3 4;animation:lrnSpin 26s linear infinite;transform-origin:32px 32px;opacity:.55}
@keyframes lrnPulse{0%{transform:scale(.5);opacity:.9}100%{transform:scale(2.6);opacity:0}}
@keyframes lrnSpin{to{transform:rotate(360deg)}}
/* 02 the seminar: rows of seats, a stage light playing */
.lrn-ico .i-play{animation:lrnBreath 5.2s ease-in-out infinite;transform-origin:33px 21px}
.lrn-ico .i-dot{animation:lrnBlink 5.2s ease-in-out infinite}.lrn-ico .i-dot:nth-of-type(2){animation-delay:.6s}.lrn-ico .i-dot:nth-of-type(3){animation-delay:1.2s}
@keyframes lrnBreath{0%,100%{transform:scale(1)}50%{transform:scale(1.12)}}
@keyframes lrnBlink{0%,100%{opacity:.35}50%{opacity:1}}
/* 03 a session: two people, something passing between them */
.lrn-ico .i-flow{stroke:#38A7E4;stroke-width:2;stroke-dasharray:2 10;animation:lrnFlow 2.6s linear infinite}
@keyframes lrnFlow{to{stroke-dashoffset:-24}}
/* 04 the book: a page turning */
.lrn-ico .i-page{stroke:#38A7E4;transform-origin:32px 18px;animation:lrnPage 5.2s ease-in-out infinite}
@keyframes lrnPage{0%,100%{transform:scaleX(1);opacity:.9}50%{transform:scaleX(-1);opacity:.4}}
/* 05 a dialogue: two waves meeting in the middle */
.lrn-ico .i-wave{stroke-dasharray:40;animation:lrnWave 5.2s ease-in-out infinite}
.lrn-ico .i-w2{animation-delay:-2.6s}
@keyframes lrnWave{0%,100%{stroke-dashoffset:40}50%{stroke-dashoffset:0}}
@media (prefers-reduced-motion:reduce){.lrn-ico *{animation:none!important}}
.lrn-ico .i-wave{stroke-dasharray:none!important;animation:lrnSwayL 5.2s ease-in-out infinite!important}
.lrn-ico .i-w2{animation-name:lrnSwayR!important;animation-delay:0s!important}
@keyframes lrnSwayL{0%,100%{transform:translateX(-3px);opacity:.6}50%{transform:translateX(2px);opacity:1}}
@keyframes lrnSwayR{0%,100%{transform:translateX(3px);opacity:.6}50%{transform:translateX(-2px);opacity:1}}

/* ===== リンク (2026-10-17 作り直し・案A「発信の星座」) =====
   At the centre the core (堀内恭隆); each place he speaks from is a star joined to it by a line of light.
   The figure (site-assets/r26/links-3d.js) draws the core, the lines, the light travelling out and a slowly turning field of stars.
   The stars themselves are real links laid out around the core (PC) or as a list under a small constellation (phone). */
.lkx{--f:var(--s,1);--r:#ED1639;--rd:#C8102E;--ink:#15172A;--sub:#5A5E75;position:relative;height:760px;margin:10px 0 40px}
.lkx-map{position:absolute;left:-160px;right:-160px;top:-40px;bottom:-40px;pointer-events:none}
.lkx-map canvas{position:absolute;inset:0;width:100%;height:100%}
.lkx-core{position:absolute;left:50%;top:50%;margin:0;transform:translate(-50%,86px);font-family:'Shippori Mincho B1',serif;font-size:calc(14px / var(--f));letter-spacing:.42em;padding-left:.42em;color:var(--rd);white-space:nowrap}
.lkx-stars{list-style:none;margin:0;padding:0}
.lkx-star{position:absolute;width:300px;transform:translate(-50%,-14px)}
.lkx-s1{left:50%;top:6%}.lkx-s2{left:85%;top:30%}.lkx-s3{left:74%;top:76%}.lkx-s4{left:26%;top:76%}.lkx-s5{left:15%;top:30%}
.lkx-star a{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;color:var(--ink);text-decoration:none;padding:4px 10px 14px;border-radius:18px;transition:background .5s}
.lkx-dot{width:28px;height:28px;border-radius:50%;margin-bottom:8px;position:relative;background:radial-gradient(circle,#fff 0 3px,rgba(237,22,57,.95) 4px,rgba(237,22,57,.25) 7px,rgba(237,22,57,0) 13px);transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.lkx-dot::after{content:'';position:absolute;inset:-6px;border-radius:50%;border:1px solid rgba(237,22,57,.35);animation:lkxRing 5.2s ease-in-out infinite}
@keyframes lkxRing{0%,100%{transform:scale(.8);opacity:.9}50%{transform:scale(1.35);opacity:0}}
.lkx-en{font-family:'Shippori Mincho B1',serif;font-size:calc(30px / var(--f));line-height:1.15;letter-spacing:.01em;color:transparent;-webkit-text-stroke:1px rgba(200,16,46,.8);transition:color .6s}
.lkx-ja{font-size:calc(15px / var(--f));font-weight:500;letter-spacing:.1em}
.lkx-d{font-size:calc(13px / var(--f));line-height:1.8;letter-spacing:.04em;color:var(--sub);max-width:17em}
.lkx-arw{margin-top:4px;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--rd);box-shadow:inset 0 0 0 1px rgba(200,16,46,.4);transition:background .4s,color .4s,transform .5s cubic-bezier(.2,.8,.2,1)}
.lkx-star a:hover,.lkx-star a:focus-visible{background:radial-gradient(ellipse at 50% 30%,rgba(255,255,255,.95),rgba(255,255,255,.6) 60%,rgba(255,255,255,0))}
.lkx-star a:hover .lkx-dot,.lkx-star a:focus-visible .lkx-dot{transform:scale(1.4)}
.lkx-star a:hover .lkx-en,.lkx-star a:focus-visible .lkx-en{color:var(--rd)}
.lkx-star a:hover .lkx-arw,.lkx-star a:focus-visible .lkx-arw{background:var(--rd);color:#fff;transform:translate(2px,-2px)}
.lkx-s5 .lkx-en{font-size:calc(24px / var(--f))}
@media (prefers-reduced-motion:reduce){.lkx-dot::after{animation:none}}
.lkx-scene{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 60%,#fff 0%,#fff 55%,#FFF7F8 100%)}
/* links v2: the constellation in depth */
.lkx{height:860px;margin-top:-80px}
.lkx-core{transform:translate(-50%,96px)}
.lkx-star a:hover{background:radial-gradient(ellipse at 50% 30%,rgba(255,255,255,.97),rgba(255,255,255,.75) 60%,rgba(255,255,255,0))}
/* all pages: a clear pause between the page and the closing "すべての扉" — a wide space, a hairline across, one light at its centre */
#r26 section:has(> .doors-h){margin-top:240px!important;padding-top:130px!important}
#r26 section:has(> .doors-h)::before{content:'';position:absolute;left:8%;right:8%;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(74,120,224,.35) 30%,rgba(139,92,214,.35) 70%,transparent)}
#r26 section:has(> .doors-h)::after{content:'';position:absolute;left:50%;top:-4px;width:9px;height:9px;margin-left:-4.5px;border-radius:50%;background:#fff;box-shadow:0 0 0 1px rgba(110,90,200,.55),0 0 16px 4px rgba(110,90,200,.25)}
.lkx{height:940px}
/* 2026-10-17 プロフィール年表のリンクボタン：上下に少しだけ余白を足す */
html.pg-profile .scroller .tlrow a.tllink{margin-top:36px!important;margin-bottom:14px!important}
/* ===== 2026-10-17 ほかのページ：未来実装の世界観へ（図面の格子・呼吸する交点・走る光・衛星・座標番号） ===== */
.doors-grid{counter-reset:door;isolation:isolate}
.doors-grid::before{content:"";position:absolute;inset:-28px -12px;z-index:-1;pointer-events:none;background-image:radial-gradient(circle,rgba(74,120,224,.22) 1px,transparent 1.4px);background-size:22px 22px;-webkit-mask-image:radial-gradient(ellipse 70% 75% at 50% 50%,#000 30%,transparent 78%);mask-image:radial-gradient(ellipse 70% 75% at 50% 50%,#000 30%,transparent 78%);opacity:.7}
.doors-grid a.door{counter-increment:door;word-break:keep-all!important;overflow-wrap:anywhere;line-break:strict;
  background:linear-gradient(90deg,transparent,var(--c),transparent) -60% 0/42% 1px no-repeat,linear-gradient(160deg,color-mix(in srgb,var(--c) 5%,transparent),transparent 46%)!important;
  animation:doorScan 10.4s cubic-bezier(.45,0,.25,1) infinite}
.doors-grid a.door:nth-child(2){animation-delay:-1.7s}.doors-grid a.door:nth-child(3){animation-delay:-3.5s}.doors-grid a.door:nth-child(4){animation-delay:-5.2s}.doors-grid a.door:nth-child(5){animation-delay:-6.9s}.doors-grid a.door:nth-child(6){animation-delay:-8.7s}
@keyframes doorScan{0%{background-position:-60% 0,0 0}55%,100%{background-position:170% 0,0 0}}
.doors-grid a.door::before{width:7px;height:7px;left:-3.5px;top:-3.5px;opacity:.9;animation:doorNode 5.2s ease-in-out infinite}
@keyframes doorNode{0%,100%{transform:scale(.7);box-shadow:0 0 4px 1px color-mix(in srgb,var(--c) 40%,transparent)}50%{transform:scale(1.15);box-shadow:0 0 14px 4px color-mix(in srgb,var(--c) 55%,transparent)}}
.doors-grid a.door .door-t,.doors-grid a.door .door-t+span{word-break:keep-all!important;overflow-wrap:anywhere}
.doors-grid a.door>span:last-child::before{content:counter(door,decimal-leading-zero);position:absolute;right:22px;top:20px;font-family:'Zen Kaku Gothic New',sans-serif;font-size:11px;letter-spacing:.3em;color:var(--c);opacity:.7;font-variant-numeric:tabular-nums}
.doors-grid a.door>span:last-child::after{content:"";position:absolute;right:22px;top:40px;width:26px;height:1px;background:linear-gradient(90deg,var(--c),transparent);opacity:.55}
.doors-grid a.door .door-sym::after{content:"";position:absolute;left:50%;top:50%;width:5px;height:5px;margin:-2.5px;border-radius:50%;background:var(--c);box-shadow:0 0 8px 2px color-mix(in srgb,var(--c) 50%,transparent);transform:rotate(0deg) translateY(-50px);animation:doorSat 15.6s linear infinite}
.doors-grid a.door:nth-child(even) .door-sym::after{animation-direction:reverse;animation-duration:20.8s}
@keyframes doorSat{to{transform:rotate(360deg) translateY(-50px)}}
.doors-grid a.door:hover .door-sym::after{animation-duration:5.2s}
@media (prefers-reduced-motion:reduce){.doors-grid a.door,.doors-grid a.door::before,.doors-grid a.door .door-sym::after{animation:none!important}}
/* 2026-10-17 未来実装の各リード文：言葉のまとまりで改行、長い文は読みやすい幅に */
.wk-lead{word-break:keep-all!important;overflow-wrap:anywhere;line-break:strict;text-wrap:pretty;max-width:46em;margin-left:auto!important;margin-right:auto!important}
/* 2026-10-17 講演テーマ：A＝「講演テーマ 01」ラベル／B＝閉じた状態でも「聞き手」「持ち帰れること」を見せる */
.mdx-tpl{font-style:normal;font-family:'Zen Kaku Gothic New',sans-serif;font-size:calc(11.5px / var(--f));letter-spacing:.24em;margin-right:.7em;vertical-align:.15em;opacity:.9}
.mdx-brief{margin:calc(4px / var(--f)) auto 0;padding:calc(16px / var(--f)) calc(20px / var(--f));max-width:36em;display:grid;gap:calc(10px / var(--f));text-align:left;border-radius:14px;background:color-mix(in srgb,var(--tc,#F3652F) 5%,#fff);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--tc,#F3652F) 18%,transparent);word-break:keep-all;overflow-wrap:anywhere;line-break:strict}
.mdx-brief div{display:grid;grid-template-columns:auto minmax(0,1fr);gap:calc(14px / var(--f));align-items:baseline}
.mdx-brief dt{margin:0;font-size:calc(11.5px / var(--f));letter-spacing:.14em;color:var(--tcd,var(--gd));white-space:nowrap;padding:2px 10px;border-radius:999px;background:color-mix(in srgb,var(--tc,#F3652F) 10%,transparent)}
.mdx-brief dd{margin:0;font-size:calc(14px / var(--f));line-height:1.8;color:#3A3E55}
.mdx-brief div{grid-template-columns:calc(8.6em) minmax(0,1fr)}
.mdx-brief dt{justify-self:start}
.mdx-brief div{grid-template-columns:minmax(0,1fr)!important;gap:calc(6px / var(--f))!important}
.mdx-brief{gap:calc(14px / var(--f))}
/* 2026-10-18 未来実装：きっかけになった本を「本」だとはっきりわかるカードに（表紙＋BOOKラベル） */
a.wk-book{display:flex;align-items:center;gap:18px;margin:8px auto 0;padding:14px 24px 14px 14px;max-width:34em;border-radius:14px;text-decoration:none!important;text-align:left;background:linear-gradient(100deg,rgba(246,187,10,.10),rgba(255,255,255,.6));box-shadow:inset 0 0 0 1px rgba(184,134,11,.28);transition:box-shadow .4s,transform .4s}
a.wk-book:hover,a.wk-book:focus-visible{box-shadow:inset 0 0 0 1px rgba(184,134,11,.6),0 12px 30px -16px rgba(184,134,11,.55);transform:translateY(-1px)}
.wk-book-cv{flex:none;width:60px;height:auto;border-radius:3px;box-shadow:0 6px 14px -6px rgba(40,30,10,.45),0 0 0 1px rgba(0,0,0,.06)}
.wk-book-tx{display:flex;flex-direction:column;gap:4px;min-width:0;word-break:keep-all;overflow-wrap:anywhere}
.wk-book-k{font-family:'Zen Kaku Gothic New',sans-serif;font-size:11px;letter-spacing:.16em;color:#8A6400}
.wk-book-t{font-family:'Shippori Mincho B1',serif;font-size:16px;line-height:1.6;color:#15172A}
.wk-book-go{font-size:12.5px;letter-spacing:.06em;color:#8A6400}
#r26 a.wk-book img.wk-book-cv{width:60px!important;max-width:none!important;height:auto!important;min-height:0!important;aspect-ratio:auto!important;object-fit:contain!important;position:static!important}
#r26 a.wk-book .wk-book-tx{flex:1 1 auto!important;width:auto!important}
html.r26m #r26 a.wk-book img.wk-book-cv{width:50px!important}
/* LDM 05：25人の声をその場で開く */
#r26 .l8-vall{align-self:center;margin-top:0}
#r26 .l8-vall.wait{opacity:.6;cursor:progress}
#r26 .l8-vfd{margin-top:-60px}
#r26 .l8-vfd.open{margin-top:-24px}
.l8-vall-in{display:flex;flex-direction:column;gap:56px;padding:8px 0 4px}
.l8-vth{display:flex;flex-direction:column;gap:10px}
.l8-vthk{font-size:13px;letter-spacing:.3em;color:var(--c)}
.l8-vthk b{font-weight:500;margin-left:4px}
.l8-vtht{font-family:'Shippori Mincho B1',serif;font-weight:500;font-size:26px;line-height:1.5;color:#15172A}
.l8-vthi{font-size:15px;line-height:1.9;color:#4A4E65;padding-bottom:12px;border-bottom:1px solid color-mix(in srgb,var(--c) 30%,transparent)}
.l8-vgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:10px;align-items:start}
.l8-vc{display:flex;flex-direction:column;gap:12px;padding:30px 32px 24px;border-radius:22px;background:rgba(255,255,255,.78);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c) 22%,transparent),0 18px 40px -30px rgba(40,50,110,.35)}
.l8-vch{font-family:'Shippori Mincho B1',serif;font-weight:500;font-size:19px;line-height:1.65;color:#15172A;word-break:keep-all;overflow-wrap:anywhere}
.l8-vcq{position:relative;padding-left:18px;font-size:15px;line-height:2;color:#2A2E45;white-space:pre-line}
.l8-vcq::before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:2px;border-radius:2px;background:var(--c);opacity:.55}
.l8-vcw{font-size:13.5px;letter-spacing:.1em;color:#5A5E75;text-align:right}
.l8-vcd{border-top:1px dashed color-mix(in srgb,var(--c) 30%,transparent);padding-top:10px}
.l8-vcd summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13.5px;letter-spacing:.12em;color:#17699A;padding:4px 0;-webkit-tap-highlight-color:transparent}
.l8-vcd summary::-webkit-details-marker{display:none}
.l8-vcd summary i{position:relative;width:10px;height:10px;flex:none}
.l8-vcd summary i::before,.l8-vcd summary i::after{content:"";position:absolute;left:0;right:0;top:4.5px;height:1.5px;background:#38A7E4;transition:transform .4s}
.l8-vcd summary i::after{transform:rotate(90deg)}
.l8-vcd[open] summary i::after{transform:rotate(0)}
.l8-vco{display:flex;flex-direction:column;gap:14px;margin-top:10px}
.l8-vcb{padding:16px 18px;border-radius:14px;background:color-mix(in srgb,var(--c) 7%,transparent)}
.l8-vcb p{font-size:14px;line-height:1.95;color:#3A3E55}
.l8-vcb p+p{margin-top:10px!important}
.l8-vft{display:flex;flex-direction:column;align-items:center;gap:16px}
.l8-vft .l8-more{margin-top:0}
.l8-vlk{font-size:13.5px;color:#2F5BC4;text-decoration:none;border-bottom:1px solid rgba(47,91,196,.35);padding-bottom:3px}
#r26 .l8-vtht,#r26 .l8-vch{margin:0!important}
#r26 .l8-vtht{margin-top:2px!important}
/* ほかのページ：各箱の中で中央揃え */
.doors-grid a.door{align-items:center!important;text-align:center}
.doors-grid a.door>span:last-child{align-items:center;text-align:center}
.doors-grid a.door::after{background:radial-gradient(circle at 50% 78px,color-mix(in srgb,var(--c) 16%,transparent),transparent 62%)}
.doors-grid a.door:hover .door-t{transform:translateY(-2px)}
