:root{--navy:#182e4c;--blue:#315e91;--ink:#22344b;--muted:#708095;--line:#e2e8ee}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--bg);font-family:Arial,Noto Sans JP,sans-serif;font-size:15px;line-height:1.65}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:white;color:var(--ink);border-radius:7px;padding:8px 13px;min-height:42px}button:hover{background:#eef3f8}button:disabled{opacity:.5;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,textarea:focus-visible{outline:3px solid #659edf;outline-offset:3px}select{border:1px solid var(--line);border-radius:6px;background:white;padding:8px;min-height:42px;color:var(--ink)}.shell{display:flex;min-height:100vh}aside{width:250px;position:fixed;inset:0 auto 0 0;background:var(--navy);color:#fff;display:flex;flex-direction:column;padding:30px 18px}.brand{display:flex;gap:12px;align-items:center;font-weight:700;font-size:17px;letter-spacing:1px;padding:0 10px}.brand span{display:block;font-size:11px;letter-spacing:3px;color:#b9cbe0}.logo{border:1px solid #839bb6;border-radius:10px;width:40px;height:40px;display:grid;place-items:center;font-size:24px}.workspace-label{font-size:12px;color:#b5c7db;padding:22px 10px 25px}nav{display:flex;flex-direction:column;gap:8px}nav button{background:transparent;border:0;color:#b9c9dd;display:flex;align-items:center;gap:15px;text-align:left;padding:13px 15px}nav button span{font-size:22px;width:24px}nav button.active,nav button:hover{background:#304866;color:white}nav b{background:#e7effa;color:var(--navy);font-size:12px;padding:0 7px;border-radius:10px;margin-left:auto}.sidebar-foot{margin-top:auto;padding:15px 10px;font-size:12px;color:#c4d1e0}.sidebar-foot small{font-size:10px;color:#9fafc4}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#87b9b3;margin-right:6px}.main-area{margin-left:250px;flex:1 1;min-width:0}header{height:78px;border-bottom:1px solid var(--line);background:white;display:flex;justify-content:space-between;align-items:center;padding:0 40px}.header-label{color:var(--muted);font-size:13px}.user-select{display:flex;align-items:center;gap:12px;font-size:13px}.user-select select{border:0;font-weight:700}.avatar{display:grid;place-items:center;border-radius:50%;width:35px;height:35px;background:#e9eff6;color:var(--blue);font-weight:700}main{max-width:1300px;padding:28px 40px 50px;margin:auto}.prototype-banner{background:#edf2f8;color:#526b88;border:1px solid #dce5ef;border-radius:7px;padding:10px 14px;font-size:12px}.prototype-banner span{font-weight:700;margin-right:12px}.page-heading{display:flex;justify-content:space-between;align-items:center;margin:30px 0 25px}.eyebrow{font-size:12px;color:var(--muted);margin:0 0 8px}.eyebrow,h1{letter-spacing:1px}h1{font-size:28px}h1,h2{margin:0}h2{font-size:19px}h3{font-size:17px;margin:2px 0 7px}.subtitle{color:var(--muted);font-size:14px;margin:8px 0 0}.demo-badge{border:1px solid #d8e1eb;background:white;padding:5px 12px;border-radius:20px;font-size:12px;color:var(--muted);white-space:nowrap}.summary{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:16px;gap:16px;margin:0 0 26px}.summary button{display:flex;flex-direction:column;align-items:flex-start;padding:18px 22px;border-radius:10px;box-shadow:0 2px 5px #20355003}.summary button>span{font-size:13px;color:var(--muted)}.summary strong{font-size:30px;font-weight:600;margin-top:4px}.summary small{font-size:12px;font-weight:400;color:var(--muted);margin-left:7px}.late{color:#b64c47!important}.filter-row{display:flex;align-items:center;gap:20px;margin:20px 0;font-size:13px}.filter-row label{white-space:nowrap}.filter-row select{margin-left:10px;min-width:110px}.filter-row>span{color:var(--muted);font-size:12px}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);overflow-x:auto;margin:12px 0 24px}.tabs button{border:0;background:transparent;border-radius:0;white-space:nowrap;padding:11px 15px;color:var(--muted);border-bottom:3px solid transparent}.tabs button.active{border-bottom-color:var(--blue);color:var(--blue);font-weight:700}.tabs span{font-size:11px;padding:2px 6px;background:#e7edf3;margin-left:7px;border-radius:10px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:20px 0 8px}.section-title>span{font-size:13px;color:var(--muted)}.hint{font-size:12px;color:var(--muted);margin:8px 0 18px}.task-list{display:grid;grid-gap:14px;gap:14px}.task-card{background:white;border:1px solid var(--line);border-radius:10px;padding:20px 22px;box-shadow:0 2px 5px #20355003}.task-top{display:flex;gap:16px;align-items:flex-start}.complete{margin-top:15px;min-width:26px;width:26px;height:26px;accent-color:var(--blue);cursor:pointer}.task-body{flex:1 1;min-width:0}.task-meta{font-size:12px;color:var(--muted)}.chips{display:flex;gap:8px 15px;align-items:center;flex-wrap:wrap;font-size:12px;color:#64758a}.status{background:#edf1f5;border-radius:5px;padding:3px 9px;font-size:12px;display:inline-block;color:#576d84}.s1{background:#e8f0fc;color:#335f95}.s2{background:#fff2d9;color:#946819}.s3{background:#e3f3ed;color:#2c7763}.s4{background:#f0eaf6;color:#76608b}.progress{color:#8a6719;background:#faf2de;padding:3px 8px;border-radius:5px}.carry{color:#a35735}.note{background:#f7f9fb;padding:10px 14px;border-radius:5px;font-size:14px;margin:15px 0 12px 42px;white-space:pre-wrap;overflow-wrap:anywhere}.task-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:15px 0 0 42px}.task-actions button{font-size:12px;padding:6px 10px}.task-actions label{font-size:12px;display:flex;align-items:center;gap:6px}.task-actions select{font-size:12px}.selected{background:#edf3fa;color:var(--blue);border-color:#bed0e5}.done h3{color:#7a8899}.note-editor{margin:20px 0 0 42px}.note-editor label{display:block}.note-editor textarea{display:block;width:100%;min-height:100px;border:1px solid #b8c8db;border-radius:6px;padding:12px;margin:8px 0;resize:vertical}.note-editor button{margin-right:8px}.primary{background:var(--blue);color:white;border-color:var(--blue)}.primary:hover{background:var(--navy)}.small{font-size:12px;color:var(--muted)}.coming,.empty{background:white;border:1px dashed #cdd8e4;border-radius:10px;padding:45px;text-align:center;color:var(--muted)}.project{background:white;border:1px solid var(--line);border-radius:10px;margin-bottom:20px;overflow:hidden}.project summary{padding:22px;cursor:pointer;display:flex;justify-content:space-between;gap:12px}.project summary h2{margin:5px 0 10px}.project-progress{font-size:25px;color:var(--blue);white-space:nowrap;text-align:center}.project-progress small{display:block;font-size:11px;color:var(--muted)}.project-memo{padding:0 22px;color:var(--muted);font-size:14px}.stage{padding:12px 22px 20px;border-top:1px solid #f0f3f6}.stage>h3{font-size:14px;margin:8px 0 12px}.stage .task-card{box-shadow:none;margin-bottom:10px;background:#fafbfd}.history{background:white;border:1px solid var(--line);border-radius:8px;padding:18px;margin:12px 0;overflow-wrap:anywhere}.history>div{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}.history p{font-size:14px;white-space:pre-wrap}.coming{padding:65px 25px}.coming-icon{font-size:55px;color:var(--blue);margin-bottom:15px}.coming p{margin:15px auto 25px;max-width:500px}.help{background:white;border:1px solid var(--line);border-radius:10px;padding:28px}.help h2{margin-top:25px}.help h2:first-child{margin-top:0}.help li{margin:12px 0}.help p{color:var(--muted)}.warning{background:#fff4df;padding:15px;border-radius:7px}.toast{position:fixed;bottom:20px;right:20px;background:var(--navy);color:white;border-radius:8px;padding:10px 18px;pointer-events:none;animation:fade 4s forwards}.toast:empty{display:none}@keyframes fade{0%,80%{opacity:1}to{opacity:0}}footer{font-size:11px;color:var(--muted);padding:0 40px 24px;text-align:right}.loading{padding:60px}@media(min-width:1500px){main{padding-top:35px}.task-card{padding:24px}}@media(max-width:1050px){aside{width:210px;padding-inline:12px}.brand{font-size:14px;gap:8px}.main-area{margin-left:210px}main{padding:24px}header{padding:0 24px}.summary{gap:10px}.summary button{padding:15px}.filter-row{align-items:flex-start}.note,.task-actions{margin-left:0}}@media(max-width:700px){.shell{display:block}aside{position:static;width:100%;padding:15px 16px 0}.brand{font-size:16px}.brand span{display:inline;margin-left:8px;font-size:10px;letter-spacing:1px}.logo{width:30px;height:30px;font-size:19px}.sidebar-foot,.workspace-label{display:none}nav{flex-direction:row;overflow-x:auto;gap:3px;margin-top:12px}nav button{padding:10px;white-space:nowrap;gap:5px;font-size:13px;border-radius:6px 6px 0 0}nav button span{font-size:16px;width:auto}.main-area{margin-left:0}header{height:58px;padding:0 16px}.header-label{font-size:11px}.user-select{gap:4px}.avatar{display:none}main{padding:16px}.prototype-banner{font-size:11px}.prototype-banner span{display:block}.page-heading{margin:22px 0 20px;align-items:flex-start;gap:8px}h1{font-size:25px}.subtitle{font-size:13px}.demo-badge{font-size:10px;padding:4px 8px}.summary{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:18px}.summary button{padding:12px 15px}.summary strong{font-size:26px}.filter-row{display:block}.filter-row>span{display:block;margin-top:10px}.tabs button{padding:10px;font-size:14px}.task-card{padding:16px}.task-top{gap:12px}h3{font-size:17px}.complete{width:30px;height:30px;min-width:30px}.chips{font-size:12px;gap:7px 10px}.task-actions{margin-left:0;gap:8px}.task-actions button,.task-actions select{font-size:13px;min-height:44px}.note,.note-editor{margin-left:0}.project summary{padding:16px}.project summary h2{font-size:18px}.project-progress{font-size:20px}.stage{padding:10px 12px}.history>div{display:block}.history .small{display:block;margin-top:5px}.section-title{flex-wrap:wrap}.help{padding:18px}.help ol{padding-left:22px}.empty{padding:30px 18px}footer{padding:0 16px 24px;font-size:10px}.toast{bottom:15px;right:15px;left:15px;text-align:center}}.task-detail{margin:14px 0 0 42px}.task-detail>summary{cursor:pointer;color:var(--blue);font-size:14px;min-height:44px;display:flex;align-items:center;gap:8px}.task-detail>summary:before{content:"＋"}.task-detail[open]>summary:before{content:"−"}.task-detail .note,.task-detail .note-editor,.task-detail .task-actions{margin-left:0}.compact-alerts{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:15px}.compact-alerts button{border:0;background:transparent;color:var(--muted);font-size:13px;padding:4px 10px}.task-card{padding:18px 22px}.tabs select{align-self:center;margin-left:8px;font-size:14px}.task-body h3{margin-top:7px}@media(max-width:700px){.task-detail{margin-left:0}.task-card{padding:16px}.tabs button{padding-inline:8px}.tabs select{max-width:135px;font-size:13px}}.project>summary{align-items:center}.project>summary h2{font-size:18px}.project>summary:after{content:"＋";color:var(--blue)}.project[open]>summary:after{content:"−"}.project-progress{font-size:20px;margin-left:auto}.project>summary .chips{font-size:13px}:root{--navy:#294b6b;--blue:#365f87;--ink:#29435e;--muted:#657b90;--line:#dde5ed;--bg:#f5f7fa}aside{background:#365a7c}nav button.active,nav button:hover{background:#476c8e}header{box-shadow:inset 0 -3px #e8ce70}h1,h2,h3{color:#294b6b}.s1{background:#e5eef8;color:#315578}.progress,.s2{background:#fff2c9;color:#705716}.note{background:#f3f6fa;color:#405971}.prototype-banner{background:#edf3f9;color:#52677d}.dot{background:#e8ce70}.logo{border-color:#e8ce70}:root{--navy:#205a91;--blue:#2374c6}aside{background:#2374c6}nav button.active,nav button:hover{background:#1c609f}.s1,h1,h2,h3{color:#205a91}.s1{background:#e4f0ff}.prototype-banner{background:#edf5ff}.primary:hover{background:#1c609f}body{font-family:Zen Maru Gothic,Hiragino Maru Gothic ProN,HG丸ｺﾞｼｯｸM-PRO,Meiryo,sans-serif;font-weight:500}button,input,select,textarea{font-family:inherit;font-weight:500}h1,h2,h3,label,strong,summary{font-weight:700}.editor-dialog{width:min(600px,calc(100% - 28px));max-height:90vh;border:0;border-radius:14px;padding:24px;color:var(--ink);font:inherit;box-shadow:0 15px 65px #182e4c35}.editor-dialog::-webkit-backdrop{background:#182e4c66}.editor-dialog::backdrop{background:#182e4c66}.editor-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.editor-dialog label{display:flex;flex-direction:column;gap:6px;margin:14px 0;font-size:14px}.editor-dialog input:not([type=checkbox]),.editor-dialog select,.editor-dialog textarea{width:100%;min-width:0;padding:10px;border:1px solid #cdd9e6;border-radius:7px;min-height:44px;background:white;color:var(--ink)}.editor-dialog textarea{min-height:100px;resize:vertical}.required{font-size:11px;color:#8b621a}.form-pair{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.form-details{margin:18px 0}.form-details summary{color:var(--blue);cursor:pointer;min-height:44px}.editor-dialog .check-label{flex-direction:row;align-items:center}.check-label input{height:22px;width:22px;accent-color:var(--blue)}.form-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}.stage-edit{border:1px solid var(--line);border-radius:8px;padding:14px;margin:12px 0}.stage-edit .task-actions{margin-left:0}.project-actions{display:flex;gap:8px;flex-wrap:wrap;padding:0 22px 20px}.project-actions button{font-size:13px}.add-actions{margin:16px 0}.editor-dialog input:focus-visible{outline:3px solid #78b6ee;outline-offset:2px}@media(max-width:500px){.form-pair{grid-template-columns:1fr;gap:0}.editor-dialog{padding:18px}.project-actions{padding-inline:16px}}.gantt-controls{display:flex;gap:14px;flex-wrap:wrap;align-items:center}.gantt-controls .tabs{margin:0}.gantt-controls label{font-size:13px;display:flex;align-items:center;gap:8px}.gantt-period{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.gantt-period input{font:inherit;border:1px solid var(--line);border-radius:6px;padding:8px;max-width:160px;background:white}.gantt-controls .check-label{flex-direction:row}.gantt-scroll{overflow:auto;border:1px solid var(--line);border-radius:10px;background:white;max-height:65vh}.gantt-table{min-width:100%}.gantt-axis,.gantt-row{display:flex;align-items:stretch;min-height:58px;border-bottom:1px solid var(--line)}.gantt-axis{top:0;z-index:4;background:#edf3fa;min-height:48px}.gantt-axis,.gantt-label{position:-webkit-sticky;position:sticky}.gantt-label{width:210px;min-width:210px;padding:9px 12px;left:0;z-index:2;background:white;overflow-wrap:anywhere;font-size:13px}.gantt-axis .gantt-label{background:#edf3fa;font-weight:700}.gantt-label small{display:block;font-size:11px;color:var(--muted)}.gantt-project .gantt-label{background:#f0f5fb}.gantt-fold{border:0;background:transparent;padding:0;text-align:left;font-size:14px;line-height:1.6;width:100%}.gantt-fold,.gantt-name{font-weight:700}.gantt-task{font-weight:500}.gantt-track{position:relative;flex-shrink:0;background-image:linear-gradient(90deg,#e7edf4 1px,transparent 0)}.gantt-ticks,.gantt-ticks span{display:flex;flex-shrink:0}.gantt-ticks span{text-align:center;border-left:1px solid #dce5ef;align-items:center;justify-content:center;font-size:11px}.gantt-bar{position:absolute;top:15px;height:28px;border-radius:5px;background:#b9d7f8;color:#205a91;padding:3px 5px;font-size:11px;overflow:hidden;white-space:nowrap;min-width:1px}.gantt-bar-project{background:#2374c6;color:white}.gantt-done{background:#d9eee4;color:#356b59}.gantt-overdue{background:#fae2dd;color:#a13932}.gantt-late .gantt-label small{color:#a13932}.gantt-today{position:absolute;top:0;bottom:0;width:2px;background:#e4be44;z-index:1;pointer-events:none}.gantt-undated{position:-webkit-sticky;position:sticky;left:225px;display:inline-block;max-width:95%;font-size:12px;padding:16px 8px;color:var(--muted);white-space:nowrap}.gantt-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.gantt-edit{width:70px;min-width:70px;display:flex;align-items:center;justify-content:center;background:white;position:-webkit-sticky;position:sticky;right:0;z-index:2;border-left:1px solid var(--line)}.gantt-edit button{font-size:12px;padding:5px;min-height:36px}.gantt-axis .gantt-edit{background:#edf3fa}@media(max-width:700px){.gantt-label{width:170px;min-width:170px}.gantt-table{width:auto!important;min-width:max-content}.gantt-undated{left:180px}.gantt-controls{gap:10px}.gantt-period label{display:none}.gantt-edit{min-width:55px;width:55px}.gantt-controls .tabs{border-bottom:0}.gantt-scroll{max-height:70vh}}.gantt-label{font-size:14px}.gantt-bar,.gantt-label small,.gantt-ticks span{font-size:12px}.stage-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:12px 0}.stage-heading h3{font-size:16px;margin:0}.stage-heading>span{font-size:14px;white-space:nowrap}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(460px,100%);background:white;border:1px solid var(--line);border-radius:16px;padding:32px;box-shadow:0 10px 35px #294b6b0a}.login-card h1{font-size:23px}.login-card h2{font-size:19px;margin:20px 0}.login-card label{display:flex;flex-direction:column;gap:8px;font-size:14px;margin:18px 0}.login-card input{font:inherit;padding:12px;border:1px solid #cdd9e6;border-radius:8px;width:100%;min-height:48px}.login-card .primary{width:100%;margin:10px 0}.login-card a{color:var(--blue);font-weight:700}.sync-banner{padding:6px 16px;background:#edf5ff;color:#365f87;text-align:right}.sync-banner,.user-select button{font-size:12px}@media(max-width:600px){.login-card{padding:23px}.login-card h1{font-size:21px}.sync-banner{font-size:11px}.user-select{font-size:12px}}