@import"https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;800&family=Poppins:wght@400;500;600;700;800&display=swap";:root{font-family:Poppins,Noto Sans JP,sans-serif;color:#253b56;background:#f3f6fb;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}button{cursor:pointer}.app-shell{display:flex;min-height:100vh}.sidebar{width:245px;min-width:245px;min-height:100vh;display:flex;flex-direction:column;background:#142d4c;color:#fff}.brand{padding:28px 15px 25px;text-align:center;border-bottom:1px solid #ffffff20}.brand-jp{font-size:27px;font-weight:800;letter-spacing:5px}.brand-en{margin-top:5px;font-size:12px;letter-spacing:3px}.brand-decoration{margin-top:14px;color:#d8b96d;font-size:12px}.navigation{padding:17px 10px}.nav-item{width:100%;display:flex;align-items:center;gap:13px;padding:12px 13px;margin-bottom:5px;border:0;border-radius:8px;background:transparent;color:#d5dfeb;text-align:left;font-size:12px}.nav-item:hover,.nav-item.active{background:#284a70;color:#fff}.nav-icon{width:24px;font-size:18px;text-align:center}.nav-item small{display:block;margin-top:3px;color:#9eafc3;font-size:10px}.sidebar-footer{margin-top:auto;padding:20px 10px;text-align:center;color:#c7d2df;font-size:10px}.fuji{margin-bottom:8px;font-size:30px}.main-area{flex:1;min-width:0}.partner-header{min-height:100px;display:flex;align-items:center;justify-content:space-around;gap:15px;padding:14px 24px;background:#fff;border-bottom:1px solid #e8edf3}.partner-logo{flex:1;min-width:0;height:65px;display:flex;align-items:center;justify-content:center}.partner-logo img{width:100%;height:100%;max-width:180px;object-fit:contain}.partner-logo:nth-child(3) img{max-width:210px}.partner-logo:nth-child(4) img{max-width:140px}.notification{color:#516985;font-size:22px}.admin-profile{display:flex;align-items:center;gap:9px;white-space:nowrap;font-size:12px}.admin-profile small{display:block;margin-top:3px;color:#8a9aab;font-size:10px}.avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e8eef7;color:#345879}.welcome-bar{min-height:65px;display:flex;align-items:center;justify-content:space-between;padding:12px 27px;background:#fff;border-bottom:1px solid #e9eef4}.welcome-title{display:flex;align-items:center;gap:12px}.home-icon{color:#b3924d;font-size:25px}.welcome-title b{font-size:13px}.welcome-title small{display:block;margin-top:3px;color:#8493a5;font-size:10px}.language-switch{display:flex;gap:6px}.language-switch button{padding:7px 10px;border:1px solid #e1e7ef;border-radius:6px;background:#fff;color:#526780;font-size:10px}.language-switch .language-active{background:#183958;color:#fff}.dashboard-content{padding:23px}.hero-banner{position:relative;min-height:195px;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;border:1px solid #dbe7f2;border-radius:14px;background:linear-gradient(115deg,#eaf3fb,#fffaf0,#edf4fb);text-align:center}.hero-center h1{margin:5px 0;color:#18395c;font-family:Noto Sans JP,sans-serif;font-size:36px;letter-spacing:8px}.hero-center h2{margin:0;color:#a88b50;font-size:17px;letter-spacing:4px}.hero-ornament{color:#b89b5d}.hero-art{position:absolute;top:20px;left:22px;font-size:23px;opacity:.75}.hero-art.right{left:auto;right:22px}.hero-description{display:flex;flex-direction:column;gap:4px;margin-top:10px;color:#4c627a;font-size:11px}.demo-notice{margin:14px 0;padding:10px 13px;border:1px solid #ead9a8;border-radius:8px;background:#fffaf0;color:#80652c;font-size:11px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.stat-card,.panel{border:1px solid #e6ebf1;border-radius:12px;background:#fff;box-shadow:0 3px 12px #19365608}.stat-card{padding:17px}.stat-icon{font-size:22px}.stat-label{margin-top:9px;color:#73849a;font-size:11px}.stat-number{margin-top:5px;color:#203d5d;font-size:25px;font-weight:700}.stat-number small{margin-left:7px;color:#8a99aa;font-size:10px;font-weight:400}.middle-grid{display:grid;grid-template-columns:1fr 2fr;gap:15px;margin-top:16px}.bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:16px}.panel{padding:19px;min-width:0}.panel-title{display:flex;gap:9px;align-items:center;padding-bottom:14px;border-bottom:1px solid #edf0f4;color:#244565;font-size:13px}.panel-title span{color:#b29452}.empty-state{padding:28px 12px;color:#8795a6;font-size:12px;line-height:1.7;text-align:center}.roadmap-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;padding-top:14px}.roadmap-card{padding:12px;border-radius:9px;background:#eff5fc}.roadmap-card.cyan{background:#edf8fa}.roadmap-card.gold{background:#fbf6e9}.roadmap-card.teal{background:#edf7f3}.roadmap-year{color:#71849b;font-size:9px}.roadmap-level{margin:9px 0;color:#244c76;font-size:25px;font-weight:800}.roadmap-card h4{margin:0 0 6px;font-size:11px}.roadmap-card p{margin:0;color:#728196;font-size:9px;line-height:1.6}.next-content{padding-top:12px}.next-content h3{font-size:13px}.exam-box{display:flex;gap:12px;align-items:center;padding:14px;border-radius:9px;background:#f1f5fa}.exam-box>span{font-size:25px}.exam-box b,.exam-box strong,.exam-box small{display:block;margin-bottom:4px;font-size:11px}.exam-box strong{color:#b08e49;font-size:16px}.exam-box small{color:#8190a2}.dashboard-footer{padding:20px;color:#8b9aab;font-size:10px;letter-spacing:2px;text-align:center}.institution-page{min-height:650px;padding:28px;background:#f3f6fb}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:22px}.page-heading h1{margin:0 0 7px;color:#193958;font-size:24px}.page-heading p{margin:0;color:#8190a2;font-size:12px}.primary-button{padding:12px 17px;border:0;border-radius:8px;background:#193958;color:#fff;font-size:12px;font-weight:600}.primary-button:hover{background:#2b527a}.secondary-button{padding:11px 17px;border:1px solid #d9e1eb;border-radius:8px;background:#fff;color:#53677f}.institution-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-bottom:18px}.institution-summary div{padding:18px;border:1px solid #e6ebf1;border-radius:11px;background:#fff}.institution-summary small,.institution-summary strong{display:block}.institution-summary small{color:#8190a2;font-size:11px}.institution-summary strong{margin-top:8px;color:#244565;font-size:25px}.institution-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:15px}.institution-toolbar input{width:65%;padding:12px 14px;border:1px solid #dfe6ef;border-radius:8px;background:#fff;font-size:12px}.institution-toolbar span{color:#8795a6;font-size:11px}.institution-card{display:flex;align-items:center;gap:16px;margin-bottom:12px;padding:17px;border:1px solid #e6ebf1;border-radius:11px;background:#fff}.institution-avatar{display:grid;place-items:center;flex:0 0 48px;height:48px;border-radius:10px;background:#edf3fa;color:#24466e;font-size:13px;font-weight:800}.institution-detail{flex:1;min-width:0}.institution-detail h3{margin:0 0 5px;color:#203e63;font-size:14px}.institution-code{color:#b18a3d;font-size:10px;font-weight:700}.institution-detail p{margin:5px 0 0;color:#8190a2;font-size:11px}.institution-actions{display:flex;gap:7px}.institution-actions button{padding:8px 12px;border:1px solid #dce5ef;border-radius:7px;background:#fff;color:#345879;font-size:11px}.institution-actions .delete-button{border-color:#f0d4d4;color:#b34a4a;background:#fff8f8}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:grid;place-items:center;padding:18px;background:#10243c99}.institution-modal{width:100%;max-width:480px;max-height:90vh;overflow-y:auto;padding:25px;border-radius:14px;background:#fff;box-shadow:0 15px 50px #0003}.institution-modal h2{margin:0 0 20px;color:#193958;font-size:20px}.institution-modal label{display:block;margin:13px 0 6px;color:#526780;font-size:11px;font-weight:600}.institution-modal input,.institution-modal select{width:100%;padding:11px;border:1px solid #dce4ed;border-radius:8px;background:#fff;color:#344b65;font-size:12px}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}@media (max-width: 1050px){.sidebar{width:205px;min-width:205px}.middle-grid{grid-template-columns:1fr}.roadmap-grid{grid-template-columns:repeat(2,1fr)}.partner-header{flex-wrap:wrap}}@media (max-width: 700px){.app-shell{display:block}.sidebar{width:100%;min-width:0;min-height:auto}.brand{padding:15px}.navigation{display:grid;grid-template-columns:repeat(2,1fr);padding:8px}.nav-item{margin:0;padding:9px 6px;font-size:10px}.sidebar-footer{display:none}.partner-header{gap:8px;padding:12px}.partner-logo{flex:0 0 40%;height:48px}.partner-logo img{max-width:140px}.welcome-bar,.dashboard-content{padding:12px}.hero-banner{min-height:180px}.hero-center h1{font-size:27px}.hero-art{font-size:15px}.stats-grid{grid-template-columns:repeat(2,1fr)}.bottom-grid{grid-template-columns:1fr}.institution-page{padding:16px}.page-heading{align-items:flex-start;flex-direction:column}.institution-summary{gap:7px}.institution-summary div{padding:12px}.institution-card{flex-wrap:wrap}.institution-actions{width:100%;justify-content:flex-end}.institution-toolbar{align-items:stretch;flex-direction:column}.institution-toolbar input{width:100%}}.classes-page{min-width:0}.tc-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0}.tc-summary>div{background:#fff;border:1px solid #e6ebf1;border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:7px}.tc-summary small,.tc-person small{color:#8190a2;font-size:11px}.tc-summary strong{color:#193958;font-size:25px}.tc-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:18px 0;color:#8190a2;font-size:12px}.tc-toolbar input,.tc-add select,.tc-schedule-form input,.tc-schedule-form select,.tc-modal input,.tc-modal select,.tc-modal textarea{border:1px solid #dce4ed;border-radius:8px;padding:11px;color:#344b65;background:#fff;font:inherit}.tc-toolbar input{width:min(100%,430px)}.tc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.tc-card,.tc-detail{background:#fff;border:1px solid #e6ebf1;border-radius:13px;padding:18px;min-width:0}.tc-card.chosen{border-color:#54799b}.tc-card-top,.tc-detail-head,.tc-person,.tc-actions,.tc-add{display:flex;align-items:center;justify-content:space-between;gap:10px}.tc-card-top span{font-size:11px;color:#71849a;background:#f1f4f8;padding:5px 9px;border-radius:20px}.tc-card-top .tc-active{color:#28734a;background:#edf8f0}.tc-card h3{color:#193958;margin:14px 0 5px;font-size:17px}.tc-card p,.tc-detail-head p{color:#8190a2;font-size:12px;margin:0}.tc-counts{display:flex;gap:18px;margin:16px 0;color:#526780;font-size:12px}.tc-actions{justify-content:flex-start;flex-wrap:wrap;border-top:1px solid #edf0f4;padding-top:12px}.tc-actions button,.tc-person button,.tc-tabs button{border:1px solid #dce4ed;background:#fff;border-radius:7px;padding:8px 11px;color:#345879;font-size:11px;cursor:pointer}.tc-tabs{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid #edf0f4;padding:16px 0;margin-bottom:14px}.tc-tabs button.on{background:#193958;color:#fff;border-color:#193958}.tc-detail{margin-top:22px}.tc-detail-head h2{color:#193958;margin:0 0 5px;font-size:19px}.tc-add{justify-content:flex-start;flex-wrap:wrap;margin-bottom:15px}.tc-add select{flex:1;min-width:220px}.tc-add label{font-size:12px;color:#526780;display:flex;gap:6px;align-items:center}.tc-person{padding:12px 0;border-bottom:1px solid #edf0f4}.tc-person>div{display:flex;flex-direction:column;gap:5px}.tc-person strong{color:#345879;font-size:13px}.tc-schedule-form{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1.5fr 2fr auto;gap:8px;margin-bottom:16px}.tc-modal{max-height:90vh;overflow:auto}.tc-modal label{display:block;margin:12px 0 6px;color:#526780;font-size:12px}.tc-modal input,.tc-modal select,.tc-modal textarea{width:100%;box-sizing:border-box}.tc-dates{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tc-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.tc-alert{padding:11px 13px;border-radius:8px;font-size:12px;margin:12px 0}.tc-error{background:#fff1f1;border:1px solid #f0d4d4;color:#a33d3d}.tc-success{background:#eff8f1;border:1px solid #d3e9d8;color:#347347}@media (max-width:900px){.tc-schedule-form{grid-template-columns:repeat(2,minmax(0,1fr))}.tc-grid{grid-template-columns:1fr}}@media (max-width:600px){.tc-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.tc-toolbar{align-items:stretch;flex-direction:column}.tc-toolbar input{width:100%;box-sizing:border-box}.tc-dates,.tc-schedule-form{grid-template-columns:1fr}.tc-detail{padding:14px}}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}
