@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Material+Symbols+Rounded:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-25..200&family=Noto+Sans+JP:wght@400;500;600;700&display=swap");:root{--ink:#223047;--muted:#7b8799;--line:#e8edf3;--bg:#f7f9fc;--blue:#5378e8}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--bg);font-family:DM Sans,Noto Sans JP,sans-serif;font-size:14px}.material-symbols-rounded{font-family:Material Symbols Rounded;font-weight:400;font-style:normal;font-size:20px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;direction:ltr;font-feature-settings:"liga";-webkit-font-smoothing:antialiased}button,input{font:inherit}button{cursor:pointer}.app-toolbar{position:-webkit-sticky;position:sticky;top:0;z-index:10;gap:22px;min-height:58px;padding:8px 28px;background:white;border-bottom:1px solid var(--line)}.app-toolbar,.toolbar-brand{display:flex;align-items:center}.toolbar-brand{gap:8px;color:#293954;font-size:16px;font-weight:700;text-decoration:none;white-space:nowrap}.toolbar-brand .brand-mark{width:25px;height:25px;font-size:13px}.toolbar-nav{display:flex;flex-wrap:wrap;gap:3px}.toolbar-link{display:flex;align-items:center;gap:7px;padding:8px 10px;color:#7b8799;border-radius:6px;font-size:11px;text-decoration:none}.toolbar-link.active,.toolbar-link:hover{color:#4d70d4;background:#edf2ff;font-weight:600}.toolbar-user{display:flex;align-items:center;gap:8px;margin-left:auto;white-space:nowrap}.toolbar-user-name{color:#49586f;font-size:11px}.toolbar-user-name small{display:block;margin-top:2px;color:#a2acb9;font-size:9px}.toolbar-logout{padding:6px 9px;color:#7b8799;background:white;border:1px solid var(--line);border-radius:5px;font-size:10px}.shell{display:flex;min-height:100vh}.sidebar{width:242px;padding:28px 18px 20px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;flex-shrink:0}.brand{display:flex;align-items:center;gap:10px;margin:0 12px 48px;color:#293954;font-size:19px;font-weight:700;letter-spacing:-.4px}.brand-mark{display:grid;place-items:center;width:29px;height:29px;color:white;background:#5c82ec;border-radius:9px;font-size:16px}.eyebrow,.workspace-label{color:#9aa5b5;font-size:11px;letter-spacing:.07em;text-transform:uppercase}.workspace-label{margin:0 12px 10px}.workspace{display:flex;align-items:center;gap:9px;margin-bottom:26px;padding:9px 10px;color:#47566e;font-size:13px;font-weight:600;background:#f4f7fb;border-radius:8px}.school-avatar,.user-avatar{display:grid;place-items:center;color:#4d72db;background:#e0e9ff;border-radius:7px;font-size:12px;font-weight:700}.school-avatar{width:25px;height:25px}.chevron{margin-left:auto;color:#9da9ba}nav{display:grid;grid-gap:5px;gap:5px}.nav-item{display:flex;align-items:center;gap:13px;width:100%;padding:11px 12px;color:#7b8799;text-align:left;background:none;border:0;border-radius:7px}.nav-item.active{color:#4d70d4;background:#edf2ff;font-weight:600}.nav-icon{width:18px;font-size:18px;text-align:center}.nav-badge{margin-left:auto;width:19px;height:19px;display:grid;place-items:center;color:white;background:#ec7890;border-radius:50%;font-size:10px}.sidebar-bottom{margin-top:auto}.help-card{display:flex;align-items:center;gap:9px;padding:12px;color:#6c7890;background:#fafbfc;border:1px solid var(--line);border-radius:9px;font-size:11px}.help-card span,.help-card strong{display:block}.help-card strong{color:#52617a;font-size:11px}.help-card>span:last-child{margin-left:auto;font-size:18px}.help-icon{display:grid;place-items:center;width:24px;height:24px;color:#6684df;border:1px solid #c5d2fb;border-radius:50%}.content{min-width:0;flex:1 1}.topbar{height:71px;display:flex;align-items:center;gap:22px;padding:0 42px;background:white;border-bottom:1px solid var(--line)}.breadcrumb{color:#8a96a8;font-size:12px}.breadcrumb span{margin:0 8px;color:#d2d8e1}.role-switch{display:flex;align-items:center;gap:4px;margin-left:auto;color:#9da8b7;font-size:11px}.role-switch button{padding:5px 8px;color:#7c8798;background:none;border:1px solid transparent;border-radius:5px;font-size:11px}.role-switch button.selected{color:#4e70d4;background:#eff3ff;border-color:#dce5ff;font-weight:600}.notification{position:relative;padding:6px;color:#69778b;background:none;border:0;font-size:21px}.notification i{position:absolute;top:4px;right:3px;width:6px;height:6px;background:#ee748a;border:1px solid white;border-radius:50%}.user{display:flex;align-items:center;gap:9px;padding-left:14px;border-left:1px solid var(--line)}.user-avatar{width:31px;height:31px;border-radius:50%}.user small,.user strong{display:block}.user strong{color:#49586f;font-size:11px}.user small{margin-top:2px;color:#a2acb9;font-size:10px}.page{max-width:1270px;margin:0 auto;padding:37px 44px 60px}.page-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:30px}.eyebrow{margin:0 0 8px}.page-heading h1{margin:0 0 7px;color:#263650;font-size:24px;letter-spacing:-.7px}.muted{margin:0;color:#9aa6b7;font-size:12px}.date-label{color:#929eb0;font-size:11px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px;margin-bottom:37px}.metric{display:flex;gap:14px;padding:18px 19px;background:white;border:1px solid var(--line);border-radius:10px;box-shadow:0 2px 4px rgba(29,51,84,.02)}.metric-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;font-size:16px;font-weight:700}.metric-icon.blue{color:#5a7de7;background:#edf2ff}.metric-icon.green{color:#4bb391;background:#eaf8f2}.metric-icon.orange{color:#e39b4c;background:#fff4e5}.metric-icon.purple{color:#9776d5;background:#f4efff}.metric span{display:block;color:#929eae;font-size:11px}.metric strong{display:inline-block;margin:3px 4px 0 0;color:#31405a;font-size:24px}.metric strong small{margin-left:2px;color:#98a3b2;font-size:11px;font-weight:400}.metric em{display:block;font-size:10px;font-style:normal}.metric em.blue{color:#6080d8}.metric em.green{color:#55ad8c}.metric em.orange{color:#db984e}.metric em.purple{color:#9673d7}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.panel h2,.section-title h2{margin:0;color:#33425c;font-size:15px}.link-button{padding:0;color:#6180dc;background:none;border:0;font-size:11px}.link-button span{margin-left:5px;font-size:15px}.session-list{overflow:hidden;margin-bottom:32px;background:white;border:1px solid var(--line);border-radius:10px}.session-row{display:flex;align-items:center;gap:15px;width:100%;padding:15px 20px;color:inherit;text-align:left;background:white;border:0;border-bottom:1px solid #f0f2f6}.session-row:last-child{border-bottom:0}.selected-row,.session-row:hover{background:#fbfcff}.session-dot{width:8px;height:8px;background:#6688e8;border-radius:50%}.session-main{flex:1 1;min-width:180px}.session-info small,.session-info strong,.session-main small,.session-main strong{display:block}.session-main strong{color:#3c4c65;font-size:12px;font-weight:600}.session-main small{margin-top:4px;color:#9aa6b5;font-size:10px}.status{display:inline-block;padding:4px 9px;border-radius:20px;font-size:10px;white-space:nowrap}.status-progress{color:#5c7ed9;background:#edf2ff}.status-done{color:#48a582;background:#e8f8f1}.session-info{width:70px}.session-info small{color:#a3adba;font-size:10px}.session-info strong{margin-top:3px;color:#55637a;font-size:11px}.row-arrow{color:#aeb8c5;font-size:20px}.detail-grid{display:grid;grid-template-columns:1.35fr 1fr;grid-gap:18px;gap:18px}.panel{padding:22px;background:white;border:1px solid var(--line);border-radius:10px}.panel-heading{display:flex;align-items:start;justify-content:space-between;margin-bottom:18px}.panel-heading h2{font-size:14px}.full-button,.outline-button,.primary-button{border-radius:6px;font-size:11px}.outline-button{padding:8px 11px;color:#607ed7;background:white;border:1px solid #d7e0fb}.deadline{display:flex;align-items:center;gap:10px;margin-bottom:18px;padding:10px 12px;color:#8793a4;background:#f8fafc;border-radius:7px;font-size:10px}.clock{color:#6683da;font-size:18px}.deadline strong{color:#69778b;font-size:10px}.deadline b{color:#56657d;font-weight:600}.deadline-ok{margin-left:auto;padding:4px 7px;color:#47a983;background:#e7f7f0;border-radius:4px;font-size:9px}.candidate-form{display:flex;gap:10px;align-items:end;margin:-4px 0 16px;padding:12px;background:#f8fafc;border-radius:7px}.candidate-form label{flex:1 1;color:#7e8a9c;font-size:10px}.candidate-form input{display:block;width:100%;margin-top:4px;padding:7px;color:#52617a;background:white;border:1px solid #dce3ed;border-radius:5px}.full-button,.primary-button{color:white;background:#5f80e2;border:0}.primary-button{padding:8px 13px}.candidate-head{display:grid;grid-template-columns:1fr 90px;padding:0 4px 9px 48px;color:#a0aab8;font-size:10px}.candidate-row{display:flex;align-items:center;gap:12px;padding:12px 4px;border-top:1px solid #f0f2f6}.calendar-icon{display:grid;place-items:center;width:34px;height:35px;color:#6680d6;background:#f0f4ff;border-radius:6px}.calendar-icon strong{font-size:13px;line-height:13px}.calendar-icon small{font-size:8px}.candidate-detail{flex:1 1}.candidate-detail span,.candidate-detail strong{display:block}.candidate-detail strong{color:#53627a;font-size:11px}.candidate-detail span{margin-top:4px;color:#9ba6b5;font-size:10px}.response{min-width:58px;text-align:center;font-size:10px}.available{color:#4ca684}.pending{color:#d99e5a}.panel-footer{display:flex;justify-content:space-between;margin-top:12px;padding-top:14px;border-top:1px solid #f0f2f6;color:#9ca8b7;font-size:10px}.panel-footer strong{color:#56657d}.confirmation-panel{position:relative}.confirmed-mark{display:grid;place-items:center;width:25px;height:25px;color:#48a684;background:#e8f8f1;border-radius:50%;font-size:13px}.confirmation-card{margin-bottom:16px;padding:16px 17px;background:#f7fbfa;border:1px solid #e1f2eb;border-radius:8px}.confirmation-card h3{margin:12px 0 3px;color:#33445f;font-size:20px}.confirmation-card p{margin:0 0 18px;color:#708097;font-size:11px}.confirmed-by{display:flex;align-items:center;gap:8px;padding-top:12px;border-top:1px solid #e1eee9;color:#63728a;font-size:10px}.confirmed-by small{display:block;margin-top:3px;color:#a3aeb9;font-size:9px}.mini-avatar{display:grid;place-items:center;width:23px;height:23px;color:#6987df;background:#e7edff;border-radius:50%}.notice-box{display:flex;gap:10px;margin-bottom:17px;padding:13px;color:#8d98a8;background:#fffaf2;border:1px solid #faedd8;border-radius:7px}.notice-box>span{color:#e2a159;font-size:18px}.notice-box strong{color:#8b764e;font-size:10px}.notice-box p{margin:5px 0 0;font-size:10px;line-height:1.6}.full-button{width:100%;padding:10px}.coach-actions{display:flex;gap:4px}.coach-actions button{padding:4px 7px;color:#5f80d9;background:white;border:1px solid #d9e2fb;border-radius:4px;font-size:10px}.coach-actions button:last-child{color:#c57b87;border-color:#f0d9dd}.edit-button{color:#6882d3;font-size:10px}.delete-button,.edit-button{padding:0 4px;background:none;border:0}.delete-button{color:#c7838d;font-size:16px}.manage-card{width:min(100%,850px);padding:34px;background:white;border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 36px rgba(29,51,84,.06)}.manage-card h1{margin:0 0 8px;color:#263650;font-size:24px}.manage-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px;margin-top:28px}.manage-form{display:grid;grid-gap:12px;gap:12px;padding:18px;background:#f8fafc;border:1px solid var(--line);border-radius:9px}.manage-form.wide{grid-column:1/-1}.manage-form h2{margin:0 0 4px;color:#3c4c65;font-size:14px}.manage-form label{display:grid;grid-gap:5px;gap:5px;color:#69778b;font-size:11px}.manage-form input,.manage-form select{min-width:0;padding:9px;color:var(--ink);background:white;border:1px solid #dce3ed;border-radius:5px}.manage-form input[type=date],.manage-form input[type=datetime-local]{display:inline-block;width:auto}.manage-message{margin:18px 0 0;padding:10px;color:#4a8c72;background:#edf9f3;border-radius:6px;font-size:11px}.manage-back{display:inline-block;margin-top:22px;color:#6080d9;font-size:11px}.session-management{grid-column:1/-1}.manage-session-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line)}.manage-session-row small,.manage-session-row strong{display:block}.manage-session-row strong{color:#52617a;font-size:11px}.manage-session-row small{margin-top:3px;color:#9ba6b5;font-size:10px}.notice-page{width:min(100%,720px)}.notice-list{display:grid;grid-gap:10px;gap:10px;margin-top:28px}.notice-item{display:flex;align-items:start;justify-content:space-between;gap:14px;padding:15px;background:#fffaf2;border:1px solid #faedd8;border-radius:8px}.notice-item.read{background:#f8fafc;border-color:var(--line)}.notice-item small,.notice-item strong{display:block}.notice-item strong{color:#53627a;font-size:12px}.notice-item small{margin-top:4px;color:#a0abb9;font-size:10px}.notice-item p{margin:8px 0 0;color:#7d899b;font-size:11px;line-height:1.6}.account-info{display:flex;align-items:center;gap:12px;margin:26px 0 16px;padding:15px;background:#f8fafc;border-radius:8px}.account-info .user-avatar{width:38px;height:38px}.account-info small,.account-info strong{display:block}.account-info strong{color:#53627a}.account-info small{margin-top:3px;color:#9ba6b5;font-size:11px}.audit-page{width:min(100%,900px)}.audit-list{display:grid;grid-gap:8px;gap:8px;margin-top:28px}.audit-item{display:grid;grid-gap:4px;gap:4px;padding:13px 15px;background:#f8fafc;border:1px solid var(--line);border-radius:7px}.audit-item strong{color:#52617a;font-size:11px}.audit-item small,.audit-item span{color:#8995a5;font-size:10px}.dashboard-card,.session-detail{width:min(100%,900px)}.dashboard-metrics{grid-template-columns:repeat(3,1fr);margin:28px 0 16px}.dashboard-action{display:block;margin-bottom:24px;text-align:center;text-decoration:none}.dashboard-list{display:grid;grid-gap:0;gap:0}.dashboard-list h2{margin:0;padding:0 0 10px;font-size:14px}.dashboard-list .manage-session-row{color:inherit;text-decoration:none}.dashboard-list .manage-session-row:hover{background:#f8fafc}.session-detail>.manage-back{margin:0 0 24px}.session-detail>.deadline{margin:26px 0 16px}.confirmation-section,.session-candidates{margin-top:16px}.section-title h2 small{margin-left:6px;color:#9aa6b7;font-size:10px;font-weight:400}.confirmation-section>.link-button,.confirmation-section>.outline-button{margin:4px 8px 4px 0}.candidate-form select,.coach-actions input{display:block;width:100%;margin-top:4px;padding:7px;color:#52617a;background:white;border:1px solid #dce3ed;border-radius:5px}.coach-actions{align-items:center}.coach-actions input{width:128px;margin:0;font-size:10px}.notice-link{margin-top:10px}@media (max-width:980px){.sidebar{width:190px}.topbar{padding:0 22px}.page{padding:28px 22px}.metric-grid{grid-template-columns:repeat(2,1fr)}.detail-grid{grid-template-columns:1fr}}@media (max-width:700px){.app-toolbar{gap:10px;padding:8px 14px}.toolbar-nav{gap:0}.toolbar-link{padding:7px 6px;font-size:0}.toolbar-link span{font-size:16px}.sidebar,.toolbar-logout,.toolbar-user-name{display:none}.topbar{gap:10px}.breadcrumb,.role-switch button:not(.selected),.role-switch span,.user>span:last-child{display:none}.role-switch{margin-left:auto}.page-heading{display:block}.date-label{margin-top:14px}.metric-grid{grid-template-columns:1fr 1fr;gap:8px}.metric{padding:12px;gap:8px}.metric-icon{width:28px;height:28px}.metric strong{font-size:20px}.session-info{display:none}.session-row{padding:13px 11px}.page{padding:25px 14px}.candidate-head{grid-template-columns:1fr 78px}}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--bg)}.auth-card{width:min(100%,390px);padding:34px;background:white;border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 36px rgba(29,51,84,.06)}.auth-brand{margin:0 0 42px}.auth-card h1{margin:0 0 8px;color:#263650;font-size:24px}.auth-form{display:grid;grid-gap:16px;gap:16px;margin-top:25px}.auth-form label{display:grid;grid-gap:6px;gap:6px;color:#69778b;font-size:11px}.auth-form input{width:100%;padding:11px 12px;color:var(--ink);background:white;border:1px solid #dce3ed;border-radius:6px;outline:none}.auth-form input:focus{border-color:#6684df;box-shadow:0 0 0 3px #edf2ff}.auth-error{margin:0;color:#d26579;font-size:11px}.brand-mark:not(.material-symbols-rounded){font-size:0}.brand-mark:not(.material-symbols-rounded):before{content:"star";font:16px/1 Material Symbols Rounded}.chevron,.help-card>span:last-child,.row-arrow,.user>span:last-child{font-size:0}.chevron:before{content:"expand_more"}.help-card>span:last-child:before,.row-arrow:before{content:"chevron_right"}.user>span:last-child:before{content:"expand_more"}.chevron:before,.help-card>span:last-child:before,.row-arrow:before,.user>span:last-child:before{font:20px/1 Material Symbols Rounded}.clock,.confirmed-mark,.metric-icon,.nav-icon,.notice-box>span,.notification{font-family:Material Symbols Rounded;font-feature-settings:"liga"}.clock,.confirmed-mark,.metric-icon,.notice-box>span,.notification{font-size:0}.notification:before{content:"notifications"}.clock:before{content:"schedule"}.notice-box>span:before{content:"campaign"}.confirmed-mark:before{content:"check";font-size:13px}.metric-icon.blue:before{content:"schedule"}.metric-icon.green:before{content:"check_circle"}.metric-icon.orange:before{content:"priority_high"}.metric-icon.purple:before{content:"grade"}.clock:before,.metric-icon:before,.notice-box>span:before,.notification:before{font-size:20px}.nav-icon{font-size:0}.nav-item:first-child .nav-icon:before{content:"dashboard"}.nav-item:nth-child(2) .nav-icon:before{content:"calendar_month"}.nav-item:nth-child(3) .nav-icon:before{content:"group"}.nav-item:nth-child(4) .nav-icon:before{content:"settings"}.nav-icon:before{font-size:18px}.is-submitting .manage-card button{pointer-events:none;cursor:wait;font-size:0}.is-submitting .manage-card button:after{content:"送信中...";font-size:11px}.manage-user-edit{display:flex;align-items:center;gap:8px;padding:10px 0;border-top:1px solid var(--line)}.manage-user-edit input,.manage-user-edit select{min-width:0;padding:8px;color:var(--ink);background:white;border:1px solid #dce3ed;border-radius:5px}.manage-user-edit input{flex:1 1}.manage-menu{margin-top:28px}.manage-menu-item{position:relative;display:grid;grid-gap:5px;gap:5px;padding:16px;color:inherit;background:#f8fafc;border:1px solid var(--line);border-radius:9px;text-decoration:none}.manage-menu-item:hover{border-color:#cbd7f7;background:#f4f7ff}.manage-menu-item strong{color:#3c4c65;font-size:13px}.manage-menu-item small{color:#8e9aab;font-size:10px}.manage-menu-item>span{position:absolute;right:16px;top:50%;color:#6682d3;font-size:18px;transform:translateY(-50%)}