.journey{height:640svh;min-height:3800px;--curtain-open:0;--walk:0;--entry:0}.journey .opening-stage{height:100svh;min-height:640px;max-height:none;background:var(--paper-light)}.journey-world{position:absolute;inset:0;overflow:hidden}.journey-landscape{width:100%;height:100%;max-width:none;object-fit:cover;object-position:52% 48%;transform-origin:52% 48%;transform:translateY(calc(var(--walk)*18px)) scale(calc(1.015 + var(--walk)*.85));will-change:transform}.curtain-cover{position:absolute;inset:0;z-index:12;pointer-events:none;overflow:hidden}.curtain-canvas{width:100%;height:100%;display:block;position:absolute;inset:0;max-width:none}.curtain-fallback{position:absolute;inset:0;transition:opacity .2s}.webgl-ready .curtain-fallback{opacity:0}.fallback-leaf{position:absolute;top:-20px;bottom:-20px;width:50.4%;background:var(--vermillion) url('assets/noren-fabric-v3.webp') center/800px}.fallback-leaf.left{left:0;transform:translateX(calc(var(--curtain-open)*-125%))}.fallback-leaf.right{right:0;transform:translateX(calc(var(--curtain-open)*125%))}.fallback-wordmark{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--paper-light);opacity:calc(1 - var(--curtain-open)*3);padding-bottom:70px}.fallback-wordmark>img{width:76px;height:76px;object-fit:contain;margin-bottom:24px}.fallback-wordmark>strong{font:600 164px/1.2 var(--serif)}.fallback-wordmark>span{font:44px Georgia,serif;margin-top:12px}.fallback-wordmark>p{font:20px var(--serif);margin-top:32px}.fallback-wordmark>small{font:12px var(--sans);margin-top:22px}.curtain-invitation{position:absolute;bottom:32px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:9px;color:var(--paper-light);opacity:calc(1 - var(--curtain-open)*4);font:16px var(--serif);text-align:center}.curtain-invitation>span{font:11px var(--serif);opacity:.7}.curtain-invitation svg{width:22px;height:22px;animation:invite 2.6s ease-in-out infinite}@keyframes invite{0%,100%{transform:translateY(0)}50%{transform:translateY(7px)}}.curtain-active .brand,.curtain-active .chapter-nav,.curtain-active .consult-seal{opacity:0;pointer-events:none}.brand,.chapter-nav,.consult-seal{transition:opacity .3s}.curtain-active .brand:focus-visible,.curtain-active .consult-seal:focus-visible{opacity:1;pointer-events:auto}.curtain-active .masthead-tools .icon-button{background:transparent;color:var(--paper-light);border-color:#faf6ec80;box-shadow:none}.curtain-active .site-menu{border-color:var(--paper-light)}
.waypoints{position:absolute;inset:0;z-index:3;opacity:var(--entry)}.waypoint{position:absolute;top:15%;left:10%;display:grid;grid-template-columns:1fr;justify-items:start;opacity:0;visibility:hidden;transform:translateY(36px);pointer-events:none;max-width:460px;transition:opacity .55s var(--ease),transform .7s var(--ease),visibility .55s}.waypoint.is-current{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}.waypoint-number{font:16px/1.6 var(--serif);display:inline-flex;align-items:center;gap:20px;padding:10px 16px;background:var(--paper-light);color:var(--vermillion);border-top:2px solid var(--vermillion);box-shadow:2px 3px 0 #24251e15}.waypoint-number span{font:12px var(--sans);color:var(--ink)}.waypoint h2{display:flex;flex-direction:row-reverse;align-items:start;gap:10px;justify-content:flex-end;margin-top:20px}.waypoint h2>span{writing-mode:vertical-rl;background:var(--paper-light);color:var(--ink);font:600 35px/1.4 var(--serif);padding:20px 10px 25px;border-bottom:3px double var(--vermillion);box-shadow:2px 4px 0 #24251e12;white-space:nowrap}.waypoint-body{background:var(--paper-light);font:15px/2 var(--serif);padding:12px 16px;margin-top:20px;box-shadow:2px 4px 0 #24251e10}.journey-bottom{position:absolute;bottom:0;left:0;right:0;z-index:4;min-height:70px;padding:12px 12%;display:flex;align-items:center;justify-content:space-between;background:var(--paper-light);border-top:1px solid var(--line);opacity:var(--entry);gap:24px}.journey-bottom>p{font:15px var(--serif);color:var(--vermillion)}.journey-bottom small{font:12px var(--serif);color:var(--ink);margin-left:22px}.journey-bottom a{display:flex;align-items:center;gap:24px;font:13px var(--serif);text-decoration:none;padding:10px 0}.walk-track{position:absolute;top:-3px;left:0;right:0;height:3px;background:#faf6ec70;transform-origin:left}.walk-track>span{display:block;width:100%;height:100%;background:var(--vermillion);transform:scaleX(var(--walk));transform-origin:left}.festival{height:180svh;min-height:1250px}
@media(min-width:1600px){.waypoint{left:14%;top:16%}.waypoint h2>span{font-size:40px}.waypoint-body{font-size:16px}.journey-bottom{padding-inline:14%}}
@media(max-width:1100px){.waypoint{left:10%;top:15%}.waypoint h2>span{font-size:31px}.waypoint-body{font-size:14px}.journey-bottom a{margin-right:70px}.journey-landscape{object-position:54% 48%;transform-origin:54% 48%}}
@media(max-width:767px){.journey{height:560svh;min-height:3200px}.journey .opening-stage{min-height:640px}.journey-landscape{object-position:53% 50%;transform-origin:53% 50%;transform:translateY(calc(var(--walk)*8px)) scale(calc(1.015 + var(--walk)*.58))}.curtain-invitation{bottom:25px;font-size:15px}.curtain-invitation>span{font-size:11px}.fallback-wordmark{padding-bottom:70px}.fallback-wordmark>strong{font-size:94px}.fallback-wordmark>span{font-size:32px}.fallback-wordmark>p{font-size:15px}.fallback-wordmark>img{width:64px;height:64px;margin-bottom:28px}.fallback-wordmark>small{font-size:11px}.waypoint{left:24px;top:105px;max-width:calc(100% - 48px)}.waypoint-number{font-size:13px;gap:16px;padding:8px 12px}.waypoint-number span{font-size:11px}.waypoint h2{gap:8px;margin-top:15px}.waypoint h2>span{font-size:25px;padding:14px 8px 18px;line-height:1.25}.waypoint-body{font-size:13px;line-height:1.95;padding:10px 12px;margin-top:16px;max-width:280px}.journey-bottom{padding:13px 24px 17px;min-height:66px;gap:16px}.journey-bottom>p{font-size:13px}.journey-bottom small{display:none}.journey-bottom a{font-size:11px;margin-right:66px;gap:12px}.journey-bottom a svg{width:16px}.festival{height:165svh;min-height:1150px}.curtain-active .masthead{inset:14px 18px auto}}
@media(max-width:359px){.waypoint{left:20px;top:94px}.waypoint h2>span{font-size:22px;padding:12px 7px 15px}.waypoint-body{font-size:12px;max-width:260px}.waypoint-number{font-size:12px}.waypoint-number span{font-size:10px}.journey-bottom{padding-inline:20px}.journey-bottom a{font-size:10px;gap:8px}.fallback-wordmark>strong{font-size:82px}.fallback-wordmark>p{font-size:13px}}
.reduced-motion .journey{height:auto;min-height:0}.reduced-motion .journey .opening-stage{position:relative;height:auto;min-height:0;display:flex;flex-direction:column;max-height:none}.reduced-motion .curtain-cover{position:relative;inset:auto;height:70svh;min-height:500px;order:-3}.reduced-motion .curtain-canvas{display:none}.reduced-motion .curtain-fallback{opacity:1!important}.reduced-motion .fallback-leaf{transform:none}.reduced-motion .fallback-wordmark{opacity:1}.reduced-motion .curtain-invitation{display:none}.reduced-motion .journey-world{position:relative;height:65svh;min-height:400px;order:-2}.reduced-motion .journey-landscape{transform:none}.reduced-motion .waypoints{position:relative;opacity:1;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:48px 8%}.reduced-motion .waypoint{position:relative;inset:auto;visibility:visible;opacity:1;transform:none;max-width:none}.reduced-motion .waypoint h2{display:block}.reduced-motion .waypoint h2>span{writing-mode:horizontal-tb;display:block;background:none;border:0;box-shadow:none;font-size:24px;padding:0;white-space:normal}.reduced-motion .waypoint-body{background:none;box-shadow:none;padding:0;font-size:14px}.reduced-motion .journey-bottom{position:relative;opacity:1}.reduced-motion .waypoint-number{box-shadow:none;background:none;padding:0;border:0}.reduced-motion .waypoint-number span{display:none}@media(max-width:767px){.reduced-motion .waypoints{grid-template-columns:1fr;padding:36px 28px;gap:40px}.reduced-motion .waypoint h2>span{font-size:26px}}
.curtain-invitation{border:0;background:none;padding:10px 20px;min-width:72px;pointer-events:auto;cursor:pointer}.curtain-invitation .invitation-label{font:16px var(--serif);opacity:1}.curtain-invitation:disabled{cursor:default;pointer-events:none}
@media(prefers-reduced-motion:reduce){.curtain-invitation svg{animation:none}.waypoint{transition:none}}

/* v4: supplied marks, connected noren, and a dedicated agent for each employee. */
.logo-wordmark{position:relative;display:block!important;width:148px;height:62px;overflow:hidden}
.logo-wordmark img{position:absolute;max-width:none;width:108.166%!important;height:auto!important;left:-4.002%;top:-86.511%;mix-blend-mode:normal}
.brand{padding:9px 16px;box-shadow:none;background:transparent;mix-blend-mode:difference}
.brand .logo-wordmark{filter:brightness(0) invert(1);background:transparent}
.brand>.logo-wordmark{margin:0;font:inherit}
.footer-logo{width:155px;height:65px;filter:brightness(0) invert(1)}
.logo-lockup{position:relative;display:block;width:244px;aspect-ratio:1321/1797;overflow:hidden}
.logo-lockup img{position:absolute;max-width:none;width:151.4%;height:auto;left:-25.511%;top:-6.734%}
.journey .opening-stage{min-height:0;height:100svh}
.journey-scenery{position:absolute;inset:0;transform-origin:50% 56%;transform:scale(calc(1 + var(--walk)*.16));will-change:transform}
.journey-landscape{width:100%;height:100%;object-fit:cover;object-position:50% 50%;transform:none!important}
.deity-dispatch{position:absolute;left:calc(50% + var(--departure,0)*15%);top:calc(59% + var(--departure,0)*25%);width:min(30%,340px);aspect-ratio:2/3;opacity:var(--deity-opacity,0);transform:translate(-50%,-100%) scale(calc(.13 + var(--departure,0)*.87));transform-origin:50% 100%;will-change:transform,left,top}
.deity-dispatch>img{width:100%;height:100%;object-fit:contain;transform:translateY(var(--deity-bob,0px)) rotate(var(--deity-lean,0deg));transform-origin:50% 100%}
.dispatch-caption{position:absolute;bottom:-24px;left:50%;transform:translateX(-50%);white-space:nowrap;display:flex;gap:9px;align-items:center;padding:6px 12px;background:var(--green);color:var(--mint);font:11px/1.4 var(--mono);opacity:clamp(0,calc((var(--departure,0) - .6)*3),1)}
.dispatch-caption>span{width:5px;height:5px;background:var(--mint)}
.curtain-fallback{height:80%;bottom:auto;transform:translateY(var(--curtain-lift,0%))}
.fallback-bridge{position:absolute;inset:0 0 auto;height:20.1%;background:var(--vermillion) url('assets/noren-fabric-v3.webp') center/800px}
.fallback-leaf{top:20%;bottom:0;width:50.1%;transform:none!important;transform-origin:50% 0;animation:cloth-breeze 3.6s ease-in-out infinite alternate}
.fallback-leaf.left{clip-path:polygon(0 0,100% 0,calc(100% - var(--curtain-open)*100%) 100%,0 100%)}
.fallback-leaf.right{clip-path:polygon(0 0,100% 0,100% 100%,calc(var(--curtain-open)*100%) 100%);animation-delay:-1.8s}
@keyframes cloth-breeze{from{translate:0 -1px;scale:1 1}to{translate:0 2px;scale:1 1.006}}
.fallback-wordmark{padding:0;display:block}
.fallback-wordmark>.logo-lockup{position:absolute;left:50%;top:43%;transform:translate(-50%,-50%);width:min(38.814svh,55.868%,338.153px);height:auto;max-height:none;aspect-ratio:1321/1797;filter:brightness(0) invert(1);margin:0}
.fallback-wordmark>p{position:absolute;top:85%;margin:0;font-size:23px}
.fallback-wordmark>p{left:0;right:0;text-align:center;line-height:1.5;white-space:nowrap}
.curtain-canvas{visibility:hidden}
.webgl-ready .curtain-canvas{visibility:visible}
.curtain-invitation{bottom:3%;color:var(--ink);background:var(--paper-light);padding:12px 22px;min-height:70px;gap:5px}
.curtain-invitation>span:first-child{display:none}
.curtain-active .masthead-tools .icon-button{background:var(--vermillion);border-color:#faf6ec80}

.agents-chapter{padding:100px max(100px,calc((100vw - 1200px)/2)) 80px;--focus:#146eb4}
.agents-heading{display:grid;grid-template-columns:1.2fr 1fr;align-items:end;gap:48px}
.agents-heading h2{font:600 46px/1.6 var(--serif);margin:26px 0 0}
.agents-heading h2 em{color:#e4c994}
.agents-intro{font:17px/2.1 var(--serif);padding-bottom:8px}
.agents-emaki{margin:44px calc(-1 * max(100px,calc((100vw - 1200px)/2))) 0;overflow:hidden;border-block:5px double #dcc9a5}
.agents-emaki>img{width:100%;max-width:none;height:auto;aspect-ratio:3/1;object-fit:cover}
.agent-pairs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin:34px 0 64px}
.agent-pairs>li{display:flex;gap:18px;align-items:start;min-width:0}
.pair-number{font:32px/1.5 var(--serif);color:#e4c994}
.agent-pairs h3{font:600 24px/1.5 var(--serif);margin-bottom:10px}
.agent-pairs p{font-size:14px}
.agent-pairs p span{color:var(--mint);white-space:nowrap}
.agent-pairs small{display:block;font:13px/1.8 var(--sans);color:#d6e1d7;margin-top:10px}
.work-desk{transform:none;box-shadow:none;border:1px solid #d9d4c8;border-radius:0;overflow:hidden;position:relative;background:#fffdf8;color:var(--ink)}
.work-desk .demo-top{margin:0;padding:28px 32px 24px;display:flex;align-items:center;border:0}
.work-desk .demo-top h3{font:600 28px/1.5 var(--serif);margin-top:8px}
.work-desk .demo-top>span{font:12px/1.5 var(--sans);color:#625e53}
.work-desk .ai-signal{margin:0;font:11px/1.5 var(--mono);color:var(--green);display:flex;gap:8px;align-items:center}
.work-desk .ai-signal>span{width:6px;height:6px;background:var(--green);box-shadow:none}
.work-desk .demo-tabs{padding:0 32px;gap:36px;border-bottom:1px solid #c9c7bf}
.work-desk .demo-tabs button{display:flex;align-items:center;gap:10px;min-height:56px;font:15px/1.5 var(--sans);color:#5d5f55;padding:12px 0;border-bottom:3px solid transparent}
.work-desk .demo-tabs button[aria-selected=true]{color:var(--green);border-color:var(--green);font-weight:600}
.work-desk .demo-tabs svg{width:18px;height:18px}
.work-desk #demo-content{display:grid;grid-template-columns:1fr 1.1fr;min-height:354px}
.work-request{padding:32px;border-right:1px solid #d6d7ce}
.work-person{display:flex;gap:10px;align-items:center;font:13px/1.5 var(--sans);color:#545a4e}
.work-request h4{font:600 22px/1.65 var(--serif);margin:22px 0 18px;overflow-wrap:anywhere}
.work-request>p:not(.work-person):not(.work-reference){font:16px/1.95 var(--sans);max-width:440px}
.work-reference{display:flex;gap:9px;align-items:start;font:12px/1.8 var(--sans);color:#66695f;margin-top:30px}
.work-reference svg{width:16px;height:18px}
.agent-response{padding:26px 32px;background:#f0f5f1;min-width:0}
.agent-identity{display:flex;gap:15px;align-items:center;margin-bottom:20px}
.agent-identity>img{width:52px;height:62px;object-fit:cover;object-position:50% 18%}
.agent-identity p{font:600 16px/1.6 var(--sans)}
.agent-identity span{font:11px/1.7 var(--mono);color:var(--green)}
.agent-ready>p{font:16px/1.9 var(--sans)}
#agent-steps{margin-top:18px;display:grid;gap:10px;counter-reset:step}
#agent-steps li{counter-increment:step;font:14px/1.7 var(--sans);display:flex;gap:12px}
#agent-steps li:before{content:counter(step,decimal-leading-zero);color:#42705a;font:12px/2 var(--mono);flex-shrink:0}
.work-desk .ai-output{min-height:0;padding:0;background:none}
.work-desk .output-header{font:600 15px/1.6 var(--sans);margin-bottom:10px}
.work-desk #output-content dl>div{grid-template-columns:68px minmax(0,1fr);padding:12px 0;gap:16px}
.work-desk #output-content dt{font:13px/1.9 var(--sans)}
.work-desk #output-content dd{font:15px/1.8 var(--sans);overflow-wrap:anywhere}
.work-desk .demo-bottom{padding:22px 32px;min-height:94px;flex-wrap:nowrap;border-top:1px solid #d6d7ce}
.work-desk .demo-bottom>p{font:13px/1.8 var(--sans);max-width:560px;width:auto;color:#5b5d53}
.work-desk .ai-button{background:var(--green);border-color:var(--green);color:#e9ffef;min-height:48px;min-width:230px;font-size:14px;flex-shrink:0}
.work-desk .ai-button:hover{background:#245944}
.work-desk .demo-reset{flex-shrink:0}
.agents-chapter .demo-disclosure{text-align:left;font:12px/1.85 var(--sans);max-width:880px;color:#cfddd1;margin-top:20px}
.is-running .agent-identity span{color:#296f55}
.is-running .agent-identity>img{animation:agent-nod .6s ease-in-out alternate infinite}
@keyframes agent-nod{to{transform:translateY(3px) rotate(1deg)}}
.path-section{display:block;border-top:1px solid var(--line)}
.path-copy{display:grid;grid-template-columns:1fr 1.1fr;gap:80px}
.process-list li{margin:0;padding:20px 0;border-bottom:1px solid var(--line)}
.process-list li:first-child{padding-top:0}
.process-list h3{font-size:18px}
.process-list p{font-size:14px}
.closing{padding-bottom:90px}

@media(min-width:1600px){.agents-heading h2{font-size:50px}.deity-dispatch{width:350px}}
@media(max-width:1100px){
  .agents-chapter{padding:90px 80px 70px}.agents-heading{gap:28px}.agents-heading h2{font-size:35px}.agents-intro{font-size:15px}
  .agents-emaki{margin-inline:-80px}.agent-pairs{gap:20px}.agent-pairs>li{gap:10px}.agent-pairs h3{font-size:20px}.agent-pairs p span{display:block}
  .work-desk .demo-bottom{flex-wrap:nowrap}.path-copy{gap:44px}.brand>.logo-wordmark{display:block}
}
@media(max-width:767px){
  .brand{padding:6px 10px}.brand>.logo-wordmark{width:106px;height:44px}
  .fallback-wordmark>p{font-size:16px}
  .curtain-invitation{bottom:2.5%;padding:9px 18px;min-height:66px}.curtain-invitation .invitation-label{font-size:14px}
  .journey-scenery{transform:scale(calc(1 + var(--walk)*.07))}
  .deity-dispatch{width:154px;left:calc(50% + var(--departure,0)*27%);top:calc(59% + var(--departure,0)*25%);transform:translate(-50%,-100%) scale(calc(.22 + var(--departure,0)*.78))}
  .dispatch-caption{font-size:9px;gap:5px;bottom:-20px;padding:4px 6px}
  .waypoint-body{max-width:182px;font-size:13px;margin-top:18px}
  .waypoint-body br{display:none}.waypoint h2>span{font-size:25px}.waypoint{top:105px}
  .agents-chapter{padding:68px 24px 54px}.agents-heading{grid-template-columns:1fr;gap:22px}.agents-heading h2{font-size:32px;margin-top:22px}.agents-intro{font-size:15px}
  .agents-emaki{margin:30px -24px 0;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-color:#e4c994 var(--green);scrollbar-width:thin}
  .agents-emaki>img{width:210%;max-width:none;min-width:680px}
  .agent-pairs{grid-template-columns:1fr;gap:0;margin:20px 0 34px}.agent-pairs>li{padding:18px 0;border-bottom:1px solid #ffffff30;gap:18px}
  .agent-pairs h3{font-size:23px;margin-bottom:5px}.agent-pairs p{font-size:13px}.agent-pairs p span{display:inline}.agent-pairs small{font-size:13px;margin-top:7px}.pair-number{font-size:28px}
  .work-desk{margin-inline:-8px}.work-desk .demo-top{padding:22px 20px 18px}.work-desk .demo-top h3{font-size:26px}.work-desk .demo-top>span{font-size:11px}
  .work-desk .demo-tabs{padding:0 12px;gap:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
  .work-desk .demo-tabs button{justify-content:center;gap:6px;flex-direction:column;min-height:72px;font-size:12px;padding:10px 2px}
  .work-desk #demo-content{grid-template-columns:1fr;min-height:0}.work-request{padding:24px 20px;border-right:0;border-bottom:1px solid #d6d7ce}
  .work-request h4{font-size:21px;margin:16px 0 12px}.work-request>p:not(.work-person):not(.work-reference){font-size:15px;line-height:1.9}
  .work-reference{margin-top:20px}.agent-response{padding:24px 20px;min-height:374px}.agent-identity{margin-bottom:16px}
  .agent-ready>p{font-size:15px}.work-desk #output-content dl>div{grid-template-columns:48px minmax(0,1fr);gap:12px}
  .work-desk #output-content dd{font-size:15px}.work-desk #output-content dt{font-size:12px}
  .work-desk .demo-bottom{padding:20px;display:flex;flex-wrap:wrap;gap:18px;min-height:150px}
  .work-desk .demo-bottom>p{width:100%;font-size:12px;min-height:44px}.work-desk .ai-button{width:100%;min-width:0;font-size:14px}.work-desk .demo-reset{margin-left:auto}
  .agents-chapter .demo-disclosure{font-size:12px;padding:0;margin-top:20px}.path-copy{grid-template-columns:1fr;gap:16px}.path-copy h2{margin-bottom:24px}.process-list p{font-size:13px}
  .closing{padding-bottom:68px}.closing-content>small{font-size:12px}
}
@media(max-width:359px){.agents-heading h2{font-size:27px}.waypoint h2>span{font-size:22px}.waypoint-body{max-width:156px;font-size:12px}.deity-dispatch{width:130px}.fallback-wordmark>p{font-size:14px}.work-request h4{font-size:19px}}
@media(max-height:700px) and (min-width:768px){.waypoint{top:100px}.waypoint h2>span{font-size:26px;padding:12px 8px}.waypoint-body{font-size:13px;line-height:1.8;margin-top:12px}.waypoint h2{margin-top:12px}.deity-dispatch{width:250px}}
.reduced-motion .journey-scenery{transform:none}
.reduced-motion .deity-dispatch{opacity:1;left:72%;top:90%;width:min(25%,220px);transform:translate(-50%,-100%)}
.reduced-motion .curtain-fallback{height:100%;transform:none}
.reduced-motion .deity-dispatch>img{transform:none}
.reduced-motion .dispatch-caption{display:none}
.reduced-motion .waypoint-body{max-width:none}

/* 仕事のいち場面: 社員の言葉と、変化の対比 */
.work-say{font:600 18px/1.85 var(--serif);margin:0 0 6px;padding:14px 18px;background:var(--paper);border-left:3px solid var(--vermillion);max-width:440px}.work-change{grid-column:1/-1;padding:20px 32px 24px;border-top:1px solid #d6d7ce;background:#fffdf8}.change-label{font:11px/1.5 var(--mono);color:var(--green);margin-bottom:12px}.work-change>div{display:grid;grid-template-columns:1fr 24px 1fr;gap:20px;align-items:center}.work-change>div p{font:14px/1.9 var(--sans);color:#6b6c62;margin:0}.work-change>div p span{display:block;font:11px/1.6 var(--sans);letter-spacing:.08em;margin-bottom:4px;color:#8a8677}.work-change .change-after{color:var(--ink)}.work-change .change-after span{color:var(--green)}.work-change svg{width:22px;height:22px;color:var(--green)}
@media(max-width:767px){.work-say{font-size:16px;padding:12px 14px}.work-change{padding:18px 20px 22px}.work-change>div{grid-template-columns:1fr;gap:10px}.work-change svg{transform:rotate(90deg)}}

/* 2026-09 文言改訂に伴う追加 */
.waypoint h2>span{text-orientation:upright}
.manifesto h2.manifesto-statement{font-size:52px;line-height:1.6}
.training-lead{font:17px/2 var(--serif);max-width:680px;margin-bottom:26px}
.training-examples{font:12px/1.5 var(--mono);color:var(--vermillion);letter-spacing:.06em;margin-bottom:8px}
.grant-badge{grid-column:1/-1;display:inline-flex;width:max-content;align-items:center;gap:12px;border:2px solid #f5dba8;color:#f5dba8;padding:8px 16px 8px 8px;font:600 17px/1.5 var(--serif);letter-spacing:.06em;margin:4px 0 0}
.grant-badge>span{background:#f5dba8;color:var(--vermillion);padding:2px 10px;font-size:14px}
.closing h2.closing-question{font-size:48px;line-height:1.65}
.closing-side{display:grid;gap:22px}
.grant-points{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.grant-points li{display:flex;gap:12px;align-items:start;font:16px/1.9 var(--sans)}
.grant-points svg{width:18px;height:18px;flex-shrink:0;margin-top:7px;color:#f5dba8}
.closing-side>p{font:16px/2 var(--serif);margin:0}
@media(max-width:1100px){.manifesto h2.manifesto-statement{font-size:44px}.closing h2.closing-question{font-size:40px}}
@media(max-width:767px){.manifesto h2.manifesto-statement{font-size:32px;line-height:1.7}.training-lead{font-size:15px}.training-lead br{display:none}.grant-badge{font-size:15px;margin-top:16px}.grant-badge>span{font-size:12px}.closing h2.closing-question{font-size:28px;line-height:1.7}.closing-side{gap:18px}.grant-points li{font-size:14px}.closing-side>p{font-size:15px}}
.training-heading h2{max-height:none}
.chapter-nav>a.active{box-shadow:0 0 0 1.5px var(--paper-light)}

/* ---- 参ノ巻 事例: 和風の日本地図 + 記事一覧 ---- */
.cases{background:var(--paper);color:var(--ink);padding-top:110px;padding-bottom:120px}
.cases-heading{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:end;margin-bottom:56px}
.cases-heading h2{font:600 44px/1.6 var(--serif);margin-top:22px}
.cases-heading h2 em{font-style:normal;color:var(--vermillion)}
.cases-intro{font:16px/2.1 var(--serif);padding-bottom:6px}
.cases-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start}
.cases-map-column{position:sticky;top:96px}
.cases-map{margin:0;padding:0;position:relative;background:transparent}
.japan-map{display:block;width:100%;height:auto;aspect-ratio:438/516;max-height:calc(100vh - 200px);overflow:hidden;--map-scale:1}
.japan-land path{fill:#ece2cb;stroke:#4a3f34;stroke-width:.55;stroke-linejoin:round;transition:fill .5s}
.japan-land path.has-case{fill:#e6cfb6}
.japan-land path.is-active{fill:#d9a58f}
.pin{cursor:pointer;outline:none}
.pin-halo{fill:#b43c2e26;stroke:#b43c2e;stroke-width:calc(.6px * var(--map-scale));transform:scale(var(--map-scale));transform-box:fill-box;transform-origin:center;transition:transform .5s}
.pin-dot{fill:var(--vermillion);stroke:var(--paper-light);stroke-width:calc(1px * var(--map-scale));transform:scale(var(--map-scale));transform-box:fill-box;transform-origin:center}
.pin-label{opacity:0;transition:opacity .35s;pointer-events:none}
.pin.is-active .pin-label,.pin:hover .pin-label,.pin:focus-visible .pin-label{opacity:1}
.pin-label rect{fill:var(--paper-light);stroke:var(--ink);stroke-width:.4}
.pin-label text{font:600 4.6px var(--sans);fill:var(--ink)}
.pin-label .pin-industry{font-size:3.6px;fill:var(--vermillion);letter-spacing:.05em}
.pin.is-active .pin-halo{animation:pin-pulse 1.8s ease-out infinite}
@keyframes pin-pulse{0%{opacity:.9}100%{opacity:0;transform:scale(calc(var(--map-scale) * 2.2))}}
.pin.is-active .pin-dot{fill:var(--red-deep)}
.cases-map-caption{display:flex;justify-content:flex-end;align-items:baseline;margin-top:10px;font:15px var(--serif)}
.cases-map-caption .map-place{color:var(--vermillion);font-weight:600}
.cases-map-caption small{font:11px var(--mono);color:var(--muted)}
.cases-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.case-card a{display:grid;grid-template-columns:44px minmax(0,1fr);gap:18px;padding:30px 4px;border-bottom:1px solid var(--line);text-decoration:none;color:inherit;transition:background .3s;position:relative}
.case-card a::before{content:"";position:absolute;left:0;top:0;bottom:-1px;width:3px;background:var(--vermillion);transform:scaleY(0);transform-origin:top;transition:transform .4s var(--ease)}
.case-card.is-active a::before{transform:scaleY(1)}
.case-card.is-active a{background:#fffdf8}
.case-card a:hover h3{color:var(--vermillion)}
.case-index{font:600 22px/1.2 var(--serif);color:var(--vermillion);padding-top:4px}
.case-meta{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;font:12px/1.6 var(--sans);color:var(--muted);margin-bottom:12px}
.case-industry{background:var(--ink);color:var(--paper-light);padding:2px 10px;font-weight:600;letter-spacing:.06em}
.case-card h3{font:600 22px/1.65 var(--serif);transition:color .3s}
.case-summary{font:14px/1.95 var(--sans);color:#4c4a42;margin-top:10px}
.case-more{display:inline-flex;align-items:center;gap:8px;margin-top:16px;font:600 13px var(--sans);border-bottom:1px solid currentColor;padding-bottom:3px}
.case-cover{grid-column:1/-1;width:100%;height:180px;object-fit:cover;border:1px solid var(--line);margin-top:6px}
.cases-empty{font:16px/2 var(--serif);border:1px dashed var(--line);padding:32px;text-align:center;max-width:720px;margin:0 auto}
@media(max-width:1100px){.cases-heading{gap:24px}.cases-heading h2{font-size:34px}.cases-stage{gap:32px}.case-card h3{font-size:19px}}
@media(max-width:767px){.cases{padding-top:70px;padding-bottom:80px}.cases-heading{display:block;margin-bottom:28px}.cases-heading h2{font-size:30px;margin:18px 0 14px}.cases-intro{font-size:14px}.cases-stage{display:block}.cases-map-column{position:sticky;top:0;z-index:5;background:var(--paper);padding:10px 0 8px;margin:0 -4px}.cases-map{padding:0}.japan-map{height:min(40vh,320px);width:auto;margin:auto;max-height:none}.cases-map-caption{font-size:13px;margin-top:6px}.cases-list{margin-top:18px}.case-card a{grid-template-columns:34px minmax(0,1fr);gap:12px;padding:22px 2px}.case-index{font-size:18px}.case-card h3{font-size:18px}.case-summary{font-size:13px}.case-cover{height:140px}}
