/* Webデモ（トップに埋め込み） */
.dx-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.dx-steps .dx-step{flex:none;min-width:0}
.dx-scope{display:flex;align-items:center;gap:8px;min-height:24px;padding:0 10px;border-radius:6px;font-size:11.5px;font-weight:700;white-space:nowrap;overflow:hidden}
.dx-scope.k{background:#FDF1CF;color:#6F5200}
.dx-scope.a{background:#E7F1EF;color:#2F5E5E}
@keyframes dxP{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.dx-prog{display:block;height:100%;background:#599191;border-radius:3px;transform-origin:0 50%;animation:dxP 8s linear 1 both}
.dx-skipped .dx-prog{animation:none;transform:scaleX(1)}
.dx-file{position:relative;overflow:hidden}
.dx-file input{position:absolute;inset:0;opacity:0;cursor:pointer;font-size:0}
.dx-file:focus-within{outline:2px solid #F2C14E;outline-offset:2px}
.dx-sched{position:relative;display:grid;grid-template-columns:48px repeat(5,minmax(0,1fr));gap:4px;font-size:11px}
.dx-sched .h{display:flex;align-items:center;justify-content:center;height:22px;font-weight:700;color:#4D5F5D;white-space:nowrap}
.dx-sched .t{display:flex;align-items:center;height:30px;font-family:'Outfit',sans-serif;font-weight:600;color:#4D5F5D}
.dx-slot{display:flex;align-items:center;justify-content:center;height:30px;border-radius:6px;border:1px solid #CFDCD9;background:#FFFFFF;color:#2F5E5E;font-weight:700;transition:background .3s,color .3s,border-color .3s}
.dx-slot.busy{background:#EEF2F1;border-color:#EEF2F1;color:#9AA9A6}
.dx-slot.hover{border-color:#599191;background:#F0F7F5}
.dx-slot.pick{border-color:#2F5E5E;background:#FDF1CF;color:#6F5200;animation:dxPulse 1s ease-in-out infinite}
.dx-slot.done{border-color:#2F5E5E;background:#2F5E5E;color:#FFFFFF}
@keyframes dxPulse{50%{box-shadow:0 0 0 4px rgba(242,193,78,.45)}}
.dx-cur{position:absolute;width:18px;height:18px;pointer-events:none;transition:left .7s ease,top .7s ease;z-index:2}
.dx-wave{display:inline-flex;align-items:flex-end;gap:2px;height:14px}
.dx-wave i{width:3px;height:4px;border-radius:2px;background:#9AA9A6}
.dx-wave.on i{background:#599191;animation:dxWave .9s ease-in-out infinite}
.dx-wave.on i:nth-child(2){animation-delay:.15s}.dx-wave.on i:nth-child(3){animation-delay:.3s}.dx-wave.on i:nth-child(4){animation-delay:.45s}
@keyframes dxWave{0%,100%{height:4px}50%{height:14px}}
.dx-wz{display:flex;flex-direction:column;box-shadow:0 18px 40px -28px rgba(10,40,38,.45)}
.dx-wz-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 16px;padding:12px 18px;border-bottom:1px solid #DCE5E2}
.dx-wz-body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:14px}
.dx-wz-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;padding:12px 18px;border-top:1px solid #DCE5E2;background:#F7FAF9;border-radius:0 0 14px 14px}
.dx-in-t{display:block;width:100%;min-height:40px;padding:8px 12px;border:1px solid #CFDCD9;border-radius:8px;font-family:inherit;font-size:13px;color:#1A2B2A;background:#FFFFFF;box-sizing:border-box}
.dx-in-t::placeholder{color:#8A9895}
.dx-in-t:focus{outline:2px solid #F2C14E;outline-offset:1px;border-color:#599191}
textarea.dx-in-t{min-height:58px;resize:vertical;line-height:1.6}
select.dx-in-t{cursor:pointer}
.dx-chip.sm{min-height:30px;padding:0 11px;font-size:12px}
.dx-chips{display:flex;flex-wrap:wrap;gap:6px}
.dx-f > .dx-seg{align-self:flex-start}
.dx-seg{display:inline-flex;border:1px solid #CFDCD9;border-radius:8px;overflow:hidden;background:#FFFFFF}
.dx-seg > button{min-height:30px;padding:0 12px;border:0;border-left:1px solid #CFDCD9;background:#FFFFFF;font-size:12px;font-weight:700;color:#4D5F5D;cursor:pointer;white-space:nowrap}
.dx-seg > button:first-child{border-left:0}
.dx-seg > button.on{background:#2F5E5E;color:#FFFFFF !important}
.dx-drop{position:relative;display:flex;align-items:center;gap:14px;padding:12px 16px;border:1.5px dashed #9DB0AC;border-radius:12px;background:#F7FAF9;cursor:pointer}
.dx-drop:hover{border-color:#599191;background:#F0F7F5}
.dx-drop > input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.dx-drop:focus-within{outline:2px solid #F2C14E;outline-offset:2px}
.dx-need{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border-radius:5px;font-size:11.5px;font-weight:700}
.dx-need.ok{background:#E7F1EF;color:#2F5E5E}
.dx-need.miss{background:#FBE3DE;color:#9E3B28}
.dx-sec{margin:0;padding-top:12px;border-top:1px solid #E3EAE8;font-size:13.5px;font-weight:900}
.dx-sub:disabled{opacity:.45;cursor:not-allowed}
.dx-check{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:#4D5F5D;cursor:pointer}
.dx-check > input{width:16px;height:16px;margin:0;accent-color:#2F5E5E}
.dx-g2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:14px 22px}
.dx-g3{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:14px 18px}
.dx-f{display:flex;flex-direction:column;gap:7px;min-width:0}
.dx-hint{margin:0;font-size:11.5px;line-height:1.6;color:#4D5F5D}
.dx-more{align-self:flex-start;min-height:32px;padding:0 4px;border:0;background:transparent;color:#2F5E5E !important;font-size:12.5px;font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.dx{font-family:'Noto Sans JP',system-ui,sans-serif;color:#1A2B2A;background:#FFFFFF;border:1px solid #DCE5E2;border-radius:20px;overflow:hidden;box-shadow:0 24px 60px -30px rgba(15,40,38,.35);line-height:1.6;text-align:left}
.dx button{font-family:inherit;color:inherit}
.dx-en{font-family:'Outfit','Noto Sans JP',sans-serif}
.dx-step{flex:1 1 170px;display:flex;align-items:center;gap:10px;min-height:56px;padding:8px 12px;border:0;border-radius:12px;background:transparent;text-align:left;cursor:pointer}
.dx-step:disabled{cursor:default;opacity:.5}
.dx-step .n{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#E7F1EF;color:#2F5E5E;font-family:'Outfit',sans-serif;font-size:13px;font-weight:700}
.dx-step.on{background:#E7F1EF}
.dx-step.on .n{background:#2F5E5E;color:#FFFFFF}
.dx-step.done .n{background:#599191;color:#FFFFFF}
.dx-step .t{display:flex;flex-direction:column;line-height:1.35}
.dx-step .t b{font-size:13.5px;font-weight:700}
.dx-step .t small{font-size:11px;color:#4D5F5D}
.dx-chip{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:0 14px;border-radius:999px;border:1px solid #CFDCD9;background:#FFFFFF;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap}
.dx-chip:hover{border-color:#599191}
.dx-chip.on{border-color:#2F5E5E;background:#2F5E5E;color:#FFFFFF !important;font-weight:700}
.dx-chip .rk{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:#F2C14E;color:#1A2B2A;font-family:'Outfit',sans-serif;font-size:11px;font-weight:700}
.dx-go{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 24px;border:0;border-radius:999px;background:#2F5E5E;color:#FFFFFF !important;font-size:14.5px;font-weight:700;cursor:pointer;white-space:nowrap}
.dx-go:hover{background:#264D4D}
.dx-go:disabled{background:#B9C7C4;cursor:not-allowed}
.dx-sub{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border:1.5px solid #CFDCD9;border-radius:999px;background:#FFFFFF;color:#2F5E5E !important;font-size:13.5px;font-weight:700;cursor:pointer;white-space:nowrap}
.dx-lb{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:0;font-size:12.5px;font-weight:700;color:#4D5F5D}
.dx-req,.dx-opt,.dx-ai{display:inline-flex;align-items:center;min-height:18px;padding:0 7px;border-radius:4px;font-size:10.5px;font-weight:700}
.dx-req{background:#FBE3DE;color:#9E3B28}
.dx-opt{background:#FDF1CF;color:#6F5200}
.dx-ai{background:#E7F1EF;color:#2F5E5E;border:1px dashed #599191}
.dx-tab{flex:1 1 0;min-height:46px;padding:0 10px;border:0;border-bottom:2px solid transparent;background:transparent;font-size:13.5px;font-weight:700;color:#4D5F5D !important;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}
.dx-tab.on{color:#1A2B2A !important;border-bottom-color:#2F5E5E}
.dx-dot{width:7px;height:7px;border-radius:50%;background:#D0583F}
.dx-dot.ok{background:#599191}
.dx-panel{border:1px solid #DCE5E2;border-radius:14px;background:#FFFFFF;box-sizing:border-box}
.dx-v{margin:0;font-weight:700}
.dx-v.miss{color:#9E3B28}
.dx-v.none{color:#6B7B78;font-weight:500}
.dx-pill{display:inline-flex;align-items:center;gap:6px;min-height:26px;padding:0 12px;border-radius:999px;background:#EEF2F1;color:#4D5F5D;font-size:12px;font-weight:700}
.dx-pill.run{background:#FDF1CF;color:#6F5200}
.dx-pill.ok{background:#2F5E5E;color:#FFFFFF}
.dx-bar{height:6px;border-radius:3px;background:#E3EAE8;overflow:hidden}
.dx-bar > span{display:block;height:100%;background:#599191;border-radius:3px}
.dx-sheet{border:1px solid #CBD6D3;border-radius:10px;overflow:hidden;background:#FFFFFF}
.dx-sh{display:grid;grid-template-columns:44px minmax(0,1fr);border-top:1px solid #E3EAE8}
.dx-sh-cells{display:grid;grid-template-columns:34px 1.3fr 1.6fr .8fr 2.2fr .8fr .8fr;align-items:center;min-height:42px;font-size:12.5px;text-align:left}
.dx-sh-cells > span{padding:5px 8px;border-left:1px solid #EEF2F1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dx-rowbtn{display:block;width:100%;padding:0;border:0;background:transparent;cursor:pointer;text-align:left}
.dx-sh.warn{background:#FFF6D6}
.dx-sh.focus{box-shadow:inset 3px 0 0 #2F5E5E;background:#F0F7F5}
.dx-sh.warn.focus{background:#FBEFC4}
.dx-ck{display:flex;align-items:center;justify-content:center;width:44px;min-height:42px;padding:0;border:0;background:transparent;cursor:pointer}
.dx-ck i{width:18px;height:18px;border:1.5px solid #9DB0AC;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;background:#FFFFFF;box-sizing:border-box}
.dx-ck i svg{opacity:0}
.dx-ck.on i{background:#2F5E5E;border-color:#2F5E5E}
.dx-ck.on i svg{opacity:1}
.dx-src{font-family:'Outfit','Noto Sans JP',sans-serif;font-size:11.5px;color:#2F5E5E}
.dx-lab{display:inline-block;padding:0 5px;margin-right:5px;border-radius:3px;background:#E7F1EF;color:#2F5E5E;font-size:10.5px;font-weight:700;font-family:'Noto Sans JP',sans-serif;line-height:1.7}
.dx-paper{position:relative;background-color:#FFFFFF;border-radius:6px;box-shadow:0 18px 40px -22px rgba(0,0,0,.45);padding:22px 28px 26px;font-size:14px;line-height:28px;white-space:pre-wrap;min-height:392px;box-sizing:border-box;background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 27px,#E6ECEA 27px,#E6ECEA 28px);background-position:0 22px;background-origin:content-box;background-clip:content-box}
.dx-hl{background:linear-gradient(transparent 50%,#F7DC8C 50%)}
.dx-hl2{background:linear-gradient(transparent 50%,#CFE6E0 50%)}
.dx-ph{border:1px dashed #8FA5A1;border-radius:4px;padding:0 4px;color:#4D5F5D}
.dx-caret{display:inline-block;width:2px;height:16px;background:#2F5E5E;vertical-align:-3px;margin-left:1px;animation:dxBlink .9s steps(1) infinite}
@keyframes dxBlink{50%{opacity:0}}
.dx-spin{flex:0 0 auto;width:12px;height:12px;border:2px solid #CFDCD9;border-top-color:#2F5E5E;border-radius:50%;animation:dxSpin .8s linear infinite}
@keyframes dxSpin{to{transform:rotate(360deg)}}
.dx-say{max-width:80%;padding:9px 14px;border-radius:14px;font-size:13.5px;line-height:1.7;box-sizing:border-box}
.dx-say.me{align-self:flex-end;background:#2F5E5E;color:#FFFFFF;border-bottom-right-radius:4px}
.dx-say.you{align-self:flex-start;background:#F1F4F3;border-bottom-left-radius:4px}
.dx-say .who{display:block;font-size:10.5px;font-weight:700;opacity:.8}
@keyframes dxIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.dx-in{animation:dxIn .35s ease both}
.dx-tl{display:flex;align-items:center;gap:10px;min-height:34px;font-size:13px}
.dx-tl .m{flex:0 0 auto;width:20px;height:20px;border-radius:50%;border:2px solid #CFDCD9;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;background:#FFFFFF}
.dx-tl.done .m{background:#599191;border-color:#599191}
.dx-tl.now .m{border-color:#2F5E5E;box-shadow:0 0 0 4px #E7F1EF}
.dx-tl .k{font-weight:700;min-width:104px}
.dx-tl:not(.done) .m svg{display:none}
.dx-cta-y,.dx-cta-l,.dx-cta-t{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;border-radius:999px;font-size:14.5px;font-weight:700;text-decoration:none;white-space:nowrap;cursor:pointer;box-sizing:border-box}
.dx-cta-y{background:#F2C14E;color:#1A2B2A !important;border:0}
.dx-cta-l{background:#FFFFFF;color:#2F5E5E !important;border:0}
.dx-cta-t{background:transparent;color:#FFFFFF !important;border:1.5px solid rgba(255,255,255,.7)}
.dx-skip{min-height:32px;padding:0 10px;border:0;border-radius:6px;background:transparent;color:#2F5E5E !important;font-size:12px;font-weight:700;text-decoration:underline;cursor:pointer}
.dx-host{min-height:900px}
