:root{color-scheme:light;--ink: #1d2723;--ink-soft: #46524d;--mute: #74807a;--green: #2a7a50;--green-deep: #1f5e3d;--green-faint: #e9f4ee;--green-line: #cfe6d9;--bg: #f4f6f4;--card: #fff;--line: #e1e6e3;--line-strong: #cdd5d0;--blue: #2c6a96;--blue-faint: #e8f1f8;--amber: #a86412;--amber-faint: #fdf2e2;--ng: #b3423a;--ng-faint: #fbecea;--radius: 10px;--sans: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic", YuGothic, sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--bg);line-height:1.8;font-size:16px;-webkit-font-smoothing:antialiased}a{color:var(--green)}h1,h2,h3{line-height:1.45;margin:0 0 .5em;letter-spacing:.02em}h1{font-size:1.45rem}h2{font-size:1.15rem}h3{font-size:1rem}p{margin:0 0 1em}img{max-width:100%}:focus-visible{outline:3px solid rgba(42,122,80,.45);outline-offset:2px}.top{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.top .in{max-width:1040px;margin:0 auto;padding:0 20px;display:flex;align-items:center;gap:18px;min-height:64px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);white-space:nowrap}.brand img{width:30px;height:30px}.brand b{font-size:.95rem;letter-spacing:.14em;font-weight:700}.brand span{font-size:.8rem;color:var(--mute);border-left:1px solid var(--line);padding-left:10px}.top nav{display:flex;gap:2px;margin-left:8px}.top nav a{padding:8px 14px;font-size:.9rem;color:var(--ink-soft);text-decoration:none;border-radius:8px;white-space:nowrap;position:relative}.top nav a:hover{background:var(--bg)}.top nav a.on{color:var(--green-deep);background:var(--green-faint);font-weight:600}.top nav .dot{position:absolute;top:6px;right:6px;width:8px;height:8px;border-radius:50%;background:var(--amber)}.who{margin-left:auto;display:flex;align-items:center;gap:12px;font-size:.82rem;color:var(--mute);white-space:nowrap}.who b{color:var(--ink-soft);font-weight:600}.who a{color:var(--ink-soft);text-decoration:none;border:1px solid var(--line-strong);border-radius:6px;padding:4px 12px}.who a:hover{background:var(--bg)}@media(max-width:820px){.top .in{flex-wrap:wrap;padding:10px 16px 0;gap:8px 12px;min-height:0}.brand span,.who .client{display:none}.top nav{order:3;flex-basis:100%;margin:0 -6px;overflow-x:auto;padding-bottom:8px;scrollbar-width:none}.top nav::-webkit-scrollbar{display:none}.top nav a{padding:6px 12px;font-size:.86rem}}.demo-bar{background:var(--amber-faint);color:var(--amber);text-align:center;font-size:.82rem;padding:6px 16px;border-bottom:1px solid #f3dfbf}.wrap{max-width:1040px;margin:0 auto;padding:32px 20px 80px}.narrow{max-width:760px}@media(max-width:600px){.wrap{padding:22px 16px 64px}}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:22px}.page-head h1{margin:0}.page-head p{margin:4px 0 0;color:var(--mute);font-size:.9rem}.site-links{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 12px}.site-links .btn svg{width:15px;height:15px}.back{display:inline-flex;align-items:center;gap:4px;font-size:.86rem;color:var(--mute);text-decoration:none;margin-bottom:10px}.back:hover{color:var(--green)}.back svg{width:18px;height:18px;flex:none}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px 26px;margin-bottom:20px}@media(max-width:600px){.card{padding:18px 16px}}.card>h2:first-child{margin-bottom:14px}.sec-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:34px 0 12px}.sec-title h2{margin:0}.sec-title a{font-size:.86rem;text-decoration:none}.muted{color:var(--mute)}.small{font-size:.84rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px 22px;border-radius:8px;border:1px solid var(--green);color:var(--green);background:#fff;font:inherit;font-size:.95rem;font-weight:600;cursor:pointer;text-decoration:none;letter-spacing:.03em}.btn:hover{background:var(--green-faint)}.btn--solid{background:var(--green);color:#fff}.btn--solid:hover{background:var(--green-deep)}.btn--ghost{border-color:var(--line-strong);color:var(--ink-soft)}.btn--ghost:hover{background:var(--bg)}.btn--sm{min-height:36px;padding:4px 14px;font-size:.86rem}.btn--lg{min-height:54px;padding:12px 30px;font-size:1.02rem}.btn[disabled]{opacity:.55;cursor:wait}.btn svg{width:18px;height:18px;flex:none}.field{margin-bottom:22px}.field>.label{display:flex;align-items:center;gap:8px;font-weight:600;font-size:.95rem;margin-bottom:8px}.req{font-size:.7rem;font-weight:600;color:#fff;background:var(--green);padding:1px 7px;border-radius:4px;letter-spacing:.05em}.opt{font-size:.7rem;font-weight:600;color:var(--mute);background:var(--bg);border:1px solid var(--line);padding:0 7px;border-radius:4px}input[type=text],input[type=email],input[type=password],input[type=date],input[type=search],textarea,select{display:block;width:100%;padding:12px 14px;border:1px solid var(--line-strong);border-radius:8px;font:inherit;font-size:1rem;background:#fff;color:var(--ink)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px #2a7a5029}textarea{min-height:220px;resize:vertical;line-height:1.75}textarea::placeholder{color:#a3ada8}.help{font-size:.82rem;color:var(--mute);margin-top:6px}.check{display:flex;align-items:flex-start;gap:10px;font-size:.95rem;cursor:pointer}.check input{width:20px;height:20px;margin-top:4px;accent-color:var(--green);flex:none}.flash{padding:14px 18px;border-radius:8px;margin-bottom:20px;font-size:.95rem;border:1px solid}.flash--ok{background:var(--green-faint);color:var(--green-deep);border-color:var(--green-line)}.flash--ng{background:var(--ng-faint);color:var(--ng);border-color:#f1cfcb}.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.radios{display:flex;flex-wrap:wrap;gap:8px 28px}.radio{display:inline-flex;align-items:center;gap:8px;font-size:1rem;cursor:pointer;padding:4px 0}.radio input{width:20px;height:20px;margin:0;accent-color:var(--green)}.drop{border:2px dashed var(--line-strong);border-radius:var(--radius);background:#fafbfa;padding:26px 18px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s}.drop:hover,.drop.is-over{border-color:var(--green);background:var(--green-faint)}.drop svg{width:34px;height:34px;color:var(--green)}.drop .t{font-weight:600;margin:6px 0 2px}.drop .s{font-size:.82rem;color:var(--mute)}.drop .pick{color:var(--green);text-decoration:underline;text-underline-offset:3px}.drop .on-touch{display:none}@media(hover:none)and (pointer:coarse){.drop .on-desk{display:none}.drop .on-touch{display:block}}.drop-err{color:var(--ng);font-size:.86rem;margin-top:8px}.drop-err:empty{display:none}.thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:10px;margin-top:12px}.thumbs:empty{display:none}.thumb{position:relative;border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden}.thumb .pv{aspect-ratio:4 / 3;background:var(--bg);display:grid;place-items:center;overflow:hidden}.thumb .pv img{width:100%;height:100%;object-fit:cover}.thumb .pv .pdf{font-size:.8rem;font-weight:700;color:var(--ng);border:2px solid currentColor;border-radius:4px;padding:6px 8px;letter-spacing:.05em}.thumb .meta{padding:6px 8px;font-size:.74rem;line-height:1.4}.thumb .meta b{display:block;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thumb .meta span{color:var(--mute)}.thumb .rm{position:absolute;top:6px;right:6px;width:28px;height:28px;border-radius:50%;border:0;background:#1d2723b8;color:#fff;font-size:16px;line-height:1;cursor:pointer;display:grid;place-items:center}.thumb .rm:hover{background:var(--ng)}.files{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:14px}.file{display:block;border:1px solid var(--line);border-radius:8px;overflow:hidden;text-decoration:none;color:var(--ink);background:#fff}.file:hover{border-color:var(--green)}.file .pv{aspect-ratio:4 / 3;background:var(--bg);display:grid;place-items:center;overflow:hidden}.file .pv img{width:100%;height:100%;object-fit:cover}.file .pv .pdf{font-size:.8rem;font-weight:700;color:var(--ng);border:2px solid currentColor;border-radius:4px;padding:6px 8px}.file .meta{padding:6px 9px;font-size:.76rem;line-height:1.4}.file .meta b{display:block;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file .meta span{color:var(--mute)}.badge{display:inline-flex;align-items:center;gap:5px;font-size:.76rem;font-weight:600;padding:3px 10px;border-radius:999px;white-space:nowrap;line-height:1.5}.badge:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.badge--received{background:#eef0ef;color:var(--ink-soft)}.badge--in_progress{background:var(--blue-faint);color:var(--blue)}.badge--confirm{background:var(--amber-faint);color:var(--amber)}.badge--done{background:var(--green-faint);color:var(--green-deep)}.tag{display:inline-block;font-size:.74rem;padding:2px 9px;border-radius:5px;background:var(--bg);color:var(--ink-soft);border:1px solid var(--line);white-space:nowrap;line-height:1.5}.new-dot{display:inline-flex;align-items:center;gap:5px;font-size:.74rem;font-weight:700;color:var(--amber)}.new-dot:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--amber)}.reqs{list-style:none;margin:0;padding:0;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.reqs li+li{border-top:1px solid var(--line)}.reqs a{display:grid;grid-template-columns:1fr auto;gap:4px 16px;padding:16px 20px;text-decoration:none;color:var(--ink)}.reqs a:hover{background:#fafbfa}.reqs .tt{font-weight:600;line-height:1.5;display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.reqs .sub{grid-column:1;display:flex;gap:6px 12px;flex-wrap:wrap;align-items:center;font-size:.8rem;color:var(--mute)}.reqs .side{grid-row:1 / span 2;grid-column:2;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:6px;font-size:.78rem;color:var(--mute);white-space:nowrap}.reqs li.is-unread a{background:#fffcf6}@media(max-width:600px){.reqs a{grid-template-columns:1fr;padding:14px 16px}.reqs .side{grid-row:auto;grid-column:1;flex-direction:row;align-items:center;justify-content:flex-start;gap:10px}}.empty{background:#fff;border:1px dashed var(--line-strong);border-radius:var(--radius);padding:34px 20px;text-align:center;color:var(--mute)}.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:16px}.seg{display:inline-flex;background:#fff;border:1px solid var(--line-strong);border-radius:8px;padding:3px}.seg a{padding:6px 14px;border-radius:6px;font-size:.88rem;text-decoration:none;color:var(--ink-soft);white-space:nowrap}.seg a.on{background:var(--green);color:#fff;font-weight:600}.seg a .n{font-size:.74rem;opacity:.75;margin-left:3px}.filters select,.filters input[type=search]{width:auto;padding:8px 12px;font-size:.9rem}.filters input[type=search]{flex:1;min-width:180px}.detail-head .tt{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:8px}.detail-head h1{margin:0 0 12px}.meta-row{display:flex;gap:6px 22px;flex-wrap:wrap;font-size:.84rem;color:var(--mute)}.meta-row b{color:var(--ink-soft);font-weight:500;margin-left:4px}.steps{display:grid;grid-template-columns:repeat(4,1fr);margin:22px 0 4px;counter-reset:s}.steps li{list-style:none;position:relative;text-align:center;font-size:.78rem;color:var(--mute);padding-top:26px}.steps li:before{content:"";position:absolute;top:6px;left:50%;transform:translate(-50%);width:14px;height:14px;border-radius:50%;background:#fff;border:2px solid var(--line-strong);z-index:1}.steps li:after{content:"";position:absolute;top:12px;left:-50%;width:100%;height:2px;background:var(--line-strong)}.steps li:first-child:after{display:none}.steps li.is-done{color:var(--green-deep)}.steps li.is-done:before{background:var(--green);border-color:var(--green)}.steps li.is-done:after{background:var(--green)}.steps li.is-now{color:var(--ink);font-weight:700}.steps li.is-now:before{box-shadow:0 0 0 4px #2a7a502e}.body-text{white-space:pre-wrap;word-break:break-word}.confirm-box{display:flex;gap:14px 20px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:var(--amber-faint);border:1px solid #f0d9b5;border-radius:var(--radius);padding:16px 20px;margin-bottom:20px}.confirm-box p{margin:0;color:#6e4a12}.thread{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}.msg{max-width:86%;border:1px solid var(--line);border-radius:12px;padding:12px 16px;background:#fff}.msg header{display:flex;gap:10px;align-items:baseline;font-size:.78rem;color:var(--mute);margin-bottom:4px}.msg header b{color:var(--ink-soft);font-size:.84rem}.msg--resdev{align-self:flex-start;border-color:var(--green-line);background:var(--green-faint);border-top-left-radius:4px}.msg--client{align-self:flex-end;border-top-right-radius:4px}.msg--system{align-self:center;max-width:100%;border:0;background:none;padding:0;font-size:.8rem;color:var(--mute);text-align:center}.msg--system header{display:none}@media(max-width:600px){.msg{max-width:100%}}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px 16px;background:radial-gradient(1000px 500px at 50% -10%,var(--green-faint),transparent),var(--bg)}.login{width:100%;max-width:420px}.login .logo{display:flex;flex-direction:column;align-items:center;gap:10px;margin-bottom:18px;text-align:center}.login .logo img{width:54px;height:54px}.login .logo b{letter-spacing:.2em;font-size:1.05rem}.login .logo span{font-size:.86rem;color:var(--mute);margin-top:-8px}.login .card{padding:28px 26px}.login .foot{text-align:center;font-size:.82rem;color:var(--mute);margin-top:16px}.staff{list-style:none;margin:0;padding:0}.staff li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:.92rem;flex-wrap:wrap}.staff li:last-child{border-bottom:0}.staff small{color:var(--mute)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media(max-width:760px){.grid2{grid-template-columns:1fr}}.foot-note{text-align:center;font-size:.78rem;color:var(--mute);padding:0 16px 30px}.foot-note a{color:var(--mute)}
