@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&display=swap');
:root{font-family:'Noto Sans JP',sans-serif;color:#17253a;background:#f5f7fb;font-size:16px;--blue:#145bdf;--border:#e3e8ef;--muted:#64748b}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,select{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #80adff;outline-offset:3px}button{border:0}aside{position:fixed;inset:0 auto 0 0;width:248px;background:#101f36;color:#d0dae8;padding:32px 20px;display:flex;flex-direction:column}.brand{color:white;display:flex;gap:12px;align-items:center;text-decoration:none;font-weight:700;font-size:19px;letter-spacing:.01em}.brand small{display:block;font-size:12px;font-weight:400;color:#96a7bf;margin-top:4px}.brandmark{display:inline-grid;place-items:center;width:42px;height:42px;flex-shrink:0;background:var(--blue);border-radius:11px;color:white;font-size:18px;font-weight:700}.sectionlabel{font-size:12px;letter-spacing:.14em;color:#8092ad;margin-top:44px}aside h2{font-size:16px;margin:10px 12px 20px}nav{display:flex;flex-direction:column;gap:6px}nav button{text-align:left;border-radius:7px;background:transparent;color:#acbad0;padding:12px 14px;font-size:14px;display:flex;align-items:center;gap:12px}nav button:hover{background:#1d304d}nav button.active{background:#234a87;color:white}nav .nav-icon{font-size:18px;width:22px;text-align:center}.sidebar-bottom{margin-top:auto;padding:25px 10px 0;font-size:13px;color:#b2bed0}.sidebar-bottom small{display:block;margin-top:7px;color:#8293ad;font-size:12px}.status-icon{display:inline-block;width:7px;height:7px;border-radius:50%;background:#9cafc7;margin-right:8px}.workspace{margin-left:248px}header{height:82px;background:white;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 38px}.breadcrumb{font-size:14px;color:var(--muted)}.breadcrumb span{margin:0 14px;color:#b4bfce}.breadcrumb b{font-weight:500;color:#27364d}.header-actions{display:flex;gap:18px;align-items:center}select{border:1px solid var(--border);border-radius:8px;padding:10px 36px 10px 14px;background:white;color:#27364d;max-width:290px;font-size:14px}.avatar{width:38px;height:38px;background:#e8effd;color:var(--blue);border-radius:50%;font-size:13px;font-weight:700}main{padding:34px 38px;max-width:1600px;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.eyebrow{font-size:12px;letter-spacing:.14em;color:var(--blue);font-weight:700;margin:0 0 8px}h1{font-size:28px;letter-spacing:-.04em;margin:0 0 9px}h2{font-size:18px;margin:0}p{line-height:1.8}.muted{color:var(--muted);font-size:14px;margin:0}.filters{display:flex;align-items:center;gap:10px;font-size:14px;flex-wrap:wrap}.filters label{color:var(--muted)}input{border:1px solid #d9e1eb;background:white;border-radius:7px;padding:10px;color:#26374c;min-width:0}.secondary{border:1px solid #d8e1ed;background:white;border-radius:7px;padding:10px 15px;color:#34445a;font-size:14px}.primary{border-radius:7px;background:var(--blue);color:white;padding:12px 20px;font-weight:600}.notice{background:#edf3fe;border:1px solid #d5e3ff;color:#345782;border-radius:8px;font-size:14px;line-height:1.8;padding:14px 18px;margin-bottom:24px}.notice:empty{display:none}.notice button{margin-left:14px;color:var(--blue);background:transparent;font-weight:700}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.card,.panel{background:white;border:1px solid var(--border);border-radius:10px}.card{padding:23px}.card-label{color:#64748b;font-size:14px}.card-value{font-size:29px;font-weight:700;margin:12px 0 8px;font-variant-numeric:tabular-nums;letter-spacing:-.035em}.card-note{font-size:12px;color:#8190a5}.panel{margin-top:23px;overflow:hidden}.panel-head{padding:22px 24px;border-bottom:1px solid var(--border);display:flex;gap:15px;align-items:center;justify-content:space-between}.panel-head p{margin:6px 0 0}.pill{background:#eef2f7;color:#63748d;padding:5px 10px;border-radius:5px;font-size:12px;white-space:nowrap}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px;text-align:left}th{background:#f8fafc;color:#718096;font-size:12px;font-weight:500;padding:14px 24px;white-space:nowrap}td{padding:18px 24px;border-top:1px solid #edf0f5;white-space:nowrap}td.number,th.number{text-align:right;font-variant-numeric:tabular-nums}td a{color:var(--blue);text-decoration:none}.division-cell{display:flex;align-items:center;gap:12px}.mini-icon{width:31px;height:31px;background:#f0f4fc;border-radius:7px;display:grid;place-items:center;color:#5479b4;font-size:13px}.empty{padding:42px 24px;text-align:center;color:#73839b;line-height:1.9;font-size:14px}.empty strong{display:block;color:#314760;margin-bottom:8px;font-size:16px}.split{display:grid;grid-template-columns:1.4fr 1fr;gap:22px}.activity{padding:18px 24px;border-bottom:1px solid #edf0f5;font-size:14px;line-height:1.8}.activity small{display:block;color:#8090a3;font-size:12px}.bar-row{display:flex;gap:12px;align-items:center;margin:17px 24px;font-size:14px}.bar-row label{width:110px}.bar{height:8px;background:#eaf0fa;flex:1;border-radius:10px;overflow:hidden}.bar i{display:block;height:100%;background:#3b78e8}.bar-row span{width:80px;text-align:right;font-size:12px;color:#789}footer{margin-top:28px;display:flex;justify-content:space-between;color:#91a0b3;font-size:12px}dialog{border:1px solid var(--border);border-radius:14px;padding:28px;width:min(440px,90vw);box-shadow:0 20px 100px #10213b33}dialog::backdrop{background:#13243b80}dialog h2{margin:24px 0 10px}dialog label{display:block;font-size:14px;margin:18px 0}dialog input{display:block;width:100%;margin-top:7px}dialog .primary{width:100%;margin-top:10px}.dialog-top{display:flex;justify-content:space-between;align-items:center}#loginMessage{color:#b33c3c;font-size:14px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.error{color:#ae3c35}.admin-grid{padding:24px;display:grid;gap:14px}.admin-grid label{font-size:14px;display:flex;gap:15px;align-items:center;flex-wrap:wrap}.admin-grid input,.admin-grid select{flex:1}.document-body{white-space:pre-wrap;overflow-wrap:anywhere;padding:24px;font-size:14px;line-height:1.9}
@media(max-width:1100px){aside{width:210px}.workspace{margin-left:210px}main{padding:25px}.cards{grid-template-columns:repeat(2,1fr)}header{padding:0 25px}.split{grid-template-columns:1fr}.page-heading{align-items:flex-start;flex-direction:column}}@media(max-width:700px){aside{position:static;width:100%;padding:15px 18px}.sectionlabel,aside h2,.sidebar-bottom{display:none}.brand small{display:none}nav{flex-direction:row;overflow:auto;margin-top:16px}nav button{white-space:nowrap;padding:9px 12px}nav .nav-icon{display:none}.workspace{margin-left:0}header{height:66px;padding:0 18px}.breadcrumb{display:none}.header-actions{width:100%;justify-content:space-between}main{padding:22px 18px}.card{padding:17px}.card-value{font-size:24px}h1{font-size:24px}.panel-head{padding:18px}td,th{padding:14px 18px}footer{gap:15px;flex-wrap:wrap}}

/* Self Growth official site visual language: white, soft gray, deep indigo. */
:root{color:#171923;background:#f5f5f6;--blue:#21267d;--border:#e6e7ec;--muted:#666d7b}
aside{background:#fff;color:#171923;border-right:1px solid var(--border);padding-top:25px}
.brand{color:#171923;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:0 9px}
.brand-logo{display:block;width:185px;height:auto;object-fit:contain}
.brand small{display:block;margin:0 0 0 49px;color:#60657a;font-size:11px;letter-spacing:.12em}
.sectionlabel{color:#8d90a0;margin-top:42px}
aside h2{color:#242975;font-weight:700}
nav button{color:#414459;border-radius:5px;font-weight:600}
nav button:hover{background:#f1f1f8}
nav button.active{background:#ebebf7;color:#20247c;box-shadow:inset 3px 0 #22267e}
.sidebar-bottom{color:#4e5368;border-top:1px solid var(--border)}
.sidebar-bottom small{color:#8b8f9c}
.status-icon{background:#8e91a9}
header{border-bottom:1px solid #dedfe5;box-shadow:0 2px 10px #15153c08}
.breadcrumb b{color:#242975}
select,input,.secondary,.primary,.card,.panel{border-radius:5px}
select{color:#222676;border-color:#d6d7e4;font-weight:600}
.avatar{background:#22267e;color:#fff;border-radius:5px}
.eyebrow{color:#292d84}
h1{color:#181b36;letter-spacing:-.035em}
.primary{background:#23277e;box-shadow:0 4px 10px #1f24602b}
.primary:hover{background:#171b62}
.secondary{border-color:#c9cbe0;color:#23277e;font-weight:600}
.secondary:hover{background:#f2f2fa}
.notice{background:#f0f0fa;color:#333972;border-color:#e1e1f1}
.card,.panel{box-shadow:0 5px 20px #11154d08}
.card-value{color:#1d215f}
.pill{background:#eeeef7;color:#353a79}
.mini-icon{background:#eeeef9;color:#282d84}
td a{color:#252981}
.bar{background:#ececf5}
.bar i{background:#272b86}
.dialog-logo{width:165px;height:auto;object-fit:contain}
dialog{border-radius:8px}
@media(max-width:700px){aside{border-right:0;border-bottom:1px solid var(--border);padding:13px 18px}.brand{padding:0}.brand-logo{width:152px}.brand small{display:none}nav{margin-top:9px}}

/* DADS-inspired clarity and keyboard access; requested corner limit is 2px. */
:root{--radius:2px}
*,*::before,*::after{border-radius:var(--radius)!important}
:focus-visible{outline:3px solid #252b98!important;outline-offset:3px}
main:focus{outline:none}
.skip-link{position:fixed;left:12px;top:12px;z-index:1000;transform:translateY(-150%);background:#fff;color:#22267e;border:2px solid #22267e;padding:10px 14px;font-weight:700}
.skip-link:focus{transform:translateY(0)}
button,select,input{min-height:44px}
nav button{min-height:46px}
button:disabled{cursor:not-allowed;opacity:.55}
th{color:#485365;font-weight:700}
tbody tr:hover{background:#f7f7fc}
td a{text-decoration:underline;text-underline-offset:3px}
.card-label,.card-note,.activity small,footer{color:#596273}
.pill{font-weight:600}
details{margin-top:8px}
details summary{color:#252981;cursor:pointer;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.meeting-body{max-width:58ch;max-height:24rem;overflow:auto;white-space:pre-wrap;font:inherit;line-height:1.7;color:#293344;background:#f7f8fc;border:1px solid var(--border);padding:12px}
@media(max-width:700px){.notice button{display:block;margin:8px 0 0;padding:0;text-align:left}nav{scrollbar-color:#b7b9d4 transparent;scroll-snap-type:x proximity}nav button{scroll-snap-align:start}}
