@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;800&display=swap');
:root{--blue:#3394d9;--ink:#20394b;--muted:#748593;--line:#e3ebf0;--pale:#edf7fe;--green:#278a73}*{box-sizing:border-box}body{margin:0;background:#f6f9fb;color:var(--ink);font-family:'Noto Sans JP',sans-serif;font-size:14px;line-height:1.8}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:#227ab7}button:focus-visible,a:focus-visible{outline:3px solid #e9b857;outline-offset:4px}.top{height:90px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(5vw,24px)}.brand{display:flex;align-items:center;gap:24px}.logo{width:140px;height:48px;object-fit:contain}.brand small{border-left:1px solid var(--line);padding-left:24px;color:#697d8b;font-size:12px}.topright{display:flex;gap:22px;align-items:center;font-size:12px}.textbtn{border:0;background:none;color:#6d8494;padding:8px}.demo{font-size:10px;border:1px solid #d5e6f2;color:#4d809f;border-radius:5px;padding:3px 9px;letter-spacing:.08em}.wrap{max-width:1140px;margin:0 auto;padding:42px 32px 70px}.eyebrow{font-size:10px;letter-spacing:.18em;color:var(--blue);font-weight:700}.welcome{display:flex;align-items:end;justify-content:space-between;margin-bottom:27px}h1{font-size:27px;letter-spacing:.04em;margin:6px 0 5px;font-weight:700}h1 span{font-size:16px;margin-left:8px}p{margin:0}.muted{color:var(--muted)}.updated{font-size:11px;color:var(--muted)}.property{background:white;border:1px solid var(--line);border-radius:12px;padding:20px 25px;display:flex;align-items:center;gap:18px;margin-bottom:28px}.building{width:46px;height:46px;display:grid;place-items:center;background:var(--pale);color:var(--blue);border-radius:10px}.property h2{margin:0;font-size:16px}.property .date{margin-left:auto;text-align:right;font-size:11px}.date strong{font-size:16px;display:block}.layout{display:grid;grid-template-columns:minmax(0,1fr) 294px;gap:26px}.panel{background:white;border:1px solid var(--line);border-radius:14px;overflow:hidden}.progress{padding:25px 27px 24px;margin-bottom:23px}.sectionhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}h2{font-size:16px;margin:0}.stepcount{font-size:11px;color:var(--muted)}.stepcount strong{color:var(--blue);font-size:18px}.steps{display:flex;justify-content:space-between;position:relative}.steps:before{content:'';position:absolute;top:17px;left:8%;right:8%;height:2px;background:#e4edf3}.step{width:20%;text-align:center;position:relative;font-size:10px;color:#95a5af;line-height:1.6}.circle{width:35px;height:35px;margin:0 auto 10px;background:#f1f5f8;border:4px solid white;border-radius:50%;display:grid;place-items:center;font-size:11px;outline:1px solid #e6edf2}.step.done{color:#6097b9}.step.done .circle{background:#dff0fc;color:#2989ca;outline:0}.step.current{color:#2385c8;font-weight:700}.step.current .circle{background:var(--blue);color:white;outline:3px solid #e6f3fc}.currentbox{background:var(--pale);border:1px solid #cfe8fa;border-radius:14px;padding:26px 28px;margin-bottom:25px;position:relative;overflow:hidden}.currentbox:after{content:attr(data-phase);position:absolute;right:22px;bottom:-27px;font-size:120px;line-height:1;color:#3394d90c;font-weight:800;pointer-events:none}.pill{display:inline-block;font-size:10px;line-height:1.8;padding:3px 10px;border-radius:5px;background:white;color:#2685c7;font-weight:600}.currentbox h2{font-size:23px;margin:11px 0 9px}.currentbox p{font-size:12px;color:#526f83;max-width:470px}.todo-title{display:flex;justify-content:space-between;align-items:center;margin:27px 0 13px}.todo-title small{font-size:11px;color:var(--muted)}.task{border-bottom:1px solid var(--line)}.task:last-child{border-bottom:0}.taskrow{display:flex;align-items:center;gap:14px;padding:19px 21px;width:100%;background:white;border:0;text-align:left;color:var(--ink)}.check{border:1.5px solid #d4e1e9;border-radius:50%;width:23px;height:23px;flex-shrink:0;display:grid;place-items:center;font-size:12px}.check.done{background:#e9f5f0;color:var(--green);border-color:#d8eee5}.tasktext{flex:1}.tasktext strong{display:block;font-size:13px;font-weight:600}.tasktext small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.status{font-size:10px;padding:3px 9px;background:#fff5e5;color:#a97621;border-radius:5px;white-space:nowrap}.status.done{background:#eaf6f1;color:var(--green)}.status.review{background:#edf3fc;color:#5b7ba3}.chevron{font-size:16px;color:#9aadb9;transition:.2s}.taskrow[aria-expanded=true] .chevron{transform:rotate(90deg)}.detail{padding:0 24px 24px 58px;font-size:12px;color:#607787}.detail h3{font-size:12px;color:var(--ink);margin:15px 0 5px}.detail ul{padding-left:18px}.detail .note{background:#f6f9fb;border-radius:8px;padding:12px;margin-top:12px}.primary{background:var(--blue);color:white;border:0;border-radius:7px;padding:10px 17px;font-weight:500;font-size:12px}.secondary{background:white;border:1px solid #d7e4ed;border-radius:7px;padding:9px 15px;color:#54758c;font-size:12px}.next{margin-top:20px;padding:19px 23px;display:flex;gap:15px;font-size:11px}.next h3{font-size:12px;margin:0 0 4px}.nexticon{color:#8cacc0}.sidepanel{padding:23px;margin-bottom:20px}.sidepanel h2{font-size:13px;margin-bottom:17px}.deadline{display:flex;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.deadline:last-child{border:0;padding-bottom:0}.calendar{width:42px;border:1px solid #e2eaf0;text-align:center;border-radius:7px;overflow:hidden;line-height:1.3;flex-shrink:0}.calendar small{display:block;background:#f1f7fb;font-size:8px;padding:3px}.calendar b{display:block;font-size:17px;padding:4px}.deadline strong{display:block;font-size:11px}.deadline p{font-size:10px;color:var(--muted)}.hint{font-size:10px;color:var(--muted);margin-top:16px}.contact{display:flex;align-items:center;gap:12px;margin-bottom:16px}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#ecf5fc;color:#4387b6;font-weight:700}.contact p{font-size:10px;color:var(--muted)}.contact strong{font-size:13px}.wide{width:100%}.faq{border-top:1px solid var(--line);padding:12px 0;font-size:11px}.faq summary{cursor:pointer}.faq p{margin-top:8px;color:var(--muted)}footer{border-top:1px solid var(--line);margin-top:46px;padding-top:23px;display:flex;justify-content:space-between;font-size:10px;color:#91a0aa}.safe{font-size:10px;text-align:center;color:#95a6b1;margin-top:22px}.adminbar{padding:15px;background:#fff6e6;border-radius:8px;font-size:12px;margin-bottom:20px}.admincards{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:23px 0}.stat{padding:20px}.stat b{display:block;font-size:28px}.toolbar{display:flex;gap:12px;margin-bottom:20px}.toolbar input{flex:1}.field,input,select,textarea{border:1px solid #d9e4eb;border-radius:7px;background:white;padding:10px;color:var(--ink)}table{width:100%;border-collapse:collapse;font-size:12px}th,td{text-align:left;padding:16px;border-bottom:1px solid var(--line)}th{background:#f8fbfd;color:#7b8d99;font-size:10px}dialog{border:1px solid var(--line);border-radius:14px;max-width:560px;width:94%;padding:28px;color:var(--ink)}dialog::backdrop{background:#20394b66}label{display:block;font-size:12px;margin:12px 0}label input,label select{display:block;width:100%;margin-top:5px}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}#toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);background:#20394b;color:white;border-radius:9px;padding:12px 22px;font-size:12px;z-index:10;display:none}.error{max-width:600px;margin:80px auto;padding:30px}.count{font-size:11px;color:var(--muted)}@media(max-width:850px){.layout{grid-template-columns:1fr}.side{display:grid;grid-template-columns:1fr 1fr;gap:16px}.sidepanel{margin:0}.sidepanel:last-child{grid-column:1/-1}.top{height:74px}.brand small{display:none}.wrap{padding:26px 20px}.logo{width:118px}.topright{gap:8px}.updated{display:none}}@media(max-width:520px){.side{display:block}.sidepanel{margin-bottom:16px}.welcome h1{font-size:23px}.property{padding:15px;gap:12px}.property h2{font-size:12px}.property .date{font-size:9px}.date strong{font-size:12px}.progress{padding:20px 12px}.step{font-size:9px}.currentbox{padding:22px}.currentbox h2{font-size:20px}.taskrow{padding:17px 14px;gap:10px}.tasktext strong{font-size:12px}.detail{padding-left:20px}.topright .textbtn{font-size:10px}.demo{font-size:8px}.admincards{gap:7px}.stat{padding:12px}.toolbar{flex-wrap:wrap}table{min-width:650px}.tablewrap{overflow:auto}footer{gap:14px}.status{font-size:9px;padding:3px 6px}}
