@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}body{margin:0;min-width:320px}.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-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%}}:root{--tc-navy: #102f50;--tc-navy-deep: #0b2744;--tc-gold: #d9a927;--tc-pink: #ef78a0;--tc-ink: #183653;--tc-muted: #6d8095;--tc-bg: #f4f7fb}body{background:var(--tc-bg);color:var(--tc-ink)}.app-shell{background:var(--tc-bg)}.sidebar{width:264px;min-width:264px;background:linear-gradient(180deg,#123657,#0b2b4b 75%,#092440);box-shadow:5px 0 24px #102f5012}.brand{min-height:150px;padding:22px 15px 18px;border-bottom:1px solid #ffffff24;background:linear-gradient(135deg,#153e61,#0c2a49)}.brand-mark{color:var(--tc-pink);font-size:25px;line-height:1.1}.brand-en{margin-top:8px;color:#fff;font-size:17px;font-weight:800;letter-spacing:2.4px}.brand-jp{margin-top:2px;color:#fff;font-size:17px;letter-spacing:3px}.brand-tagline{margin-top:9px;color:#e6c66c;font-size:8px;letter-spacing:1.1px}.navigation{padding:18px 12px}.nav-item{gap:12px;min-height:48px;padding:10px 13px;margin-bottom:6px;border-radius:10px;color:#dce7f2;font-size:12px;transition:background .18s ease}.nav-item:hover,.nav-item.active{background:linear-gradient(100deg,#2d6592,#24547e);color:#fff;box-shadow:inset 3px 0 0 var(--tc-gold)}.nav-icon{font-size:19px}.nav-item small{color:#afc4d8}.sidebar-footer{color:#d5e0ea}.fuji{color:#e7c15b}.main-area{background:var(--tc-bg)}.partner-header{min-height:104px;justify-content:flex-start;gap:14px;padding:12px 24px;background:#fff;border-bottom:1px solid #e5ebf2;box-shadow:0 4px 16px #173a5b08}.tokushin-header-logo{flex:1 1 340px;min-width:240px;max-width:420px;height:78px;display:flex;align-items:center;justify-content:flex-start}.tokushin-header-logo img{width:100%;height:100%;object-fit:contain;object-position:left center}.partner-logo{flex:0 1 92px;height:54px}.partner-logo img{max-width:100px}.partner-logo:nth-child(4) img{max-width:115px}.partner-logo:nth-child(5) img{max-width:100px}.notification{margin-left:auto;color:var(--tc-navy)}.admin-profile{color:var(--tc-navy);font-size:11px}.avatar{background:#e9f0f7;color:var(--tc-navy)}.welcome-bar{min-height:72px;padding:13px 28px;background:#fff}.home-icon{color:var(--tc-navy)}.welcome-title b{color:var(--tc-navy);font-size:14px}.language-switch .language-active{background:var(--tc-navy);border-color:var(--tc-navy)}.dashboard-content{padding:24px 27px 28px}.hero-banner{min-height:150px;padding:15px 24px;border:1px solid #e8edf3;border-radius:13px;background:#fff;box-shadow:0 4px 18px #173a5b08}.dashboard-brand-logo{display:block;width:min(100%,760px);max-height:142px;object-fit:contain}.demo-notice{border-color:#ead9a8;background:#fffaf0;color:#80652c}.stat-card,.panel{border-color:#e5ebf2;border-radius:13px;box-shadow:0 5px 18px #173a5b0a}.stat-card{padding:18px}.stat-number,.panel-title{color:var(--tc-navy)}.panel-title span{color:var(--tc-gold)}.roadmap-card{background:#edf3f9}.roadmap-card.gold{background:#fbf5e7}.roadmap-card.teal{background:#edf7f3}.roadmap-card.cyan{background:#eef7f8}.primary-button{background:var(--tc-navy)}.primary-button:hover{background:#24547e}.institution-page{background:transparent}.page-heading h1{color:var(--tc-navy)}.institution-avatar{background:#edf3f9;color:var(--tc-navy)}.institution-code{color:#b28b27}.dashboard-footer{color:#8091a3;letter-spacing:1.5px}.login-brand-logo{display:block;width:100%;max-width:280px;height:auto;margin:0 auto 6px}.login-card-brand{color:var(--tc-navy)}@media (max-width: 1050px){.sidebar{width:220px;min-width:220px}.tokushin-header-logo{flex-basis:270px}.partner-header{gap:8px;padding:10px 14px}}@media (max-width: 700px){.sidebar{width:100%;min-width:0}.brand{min-height:auto;padding:14px}.brand-mark{font-size:19px}.brand-en,.brand-jp{font-size:14px}.brand-tagline{font-size:7px}.partner-header{justify-content:center}.tokushin-header-logo{flex:1 0 100%;max-width:330px;height:66px;margin:0 auto}.partner-logo{flex:0 1 20%;height:36px}.partner-logo img{max-width:75px}.notification{margin-left:0}.admin-profile{font-size:10px}.dashboard-content{padding:13px}.hero-banner{min-height:100px;padding:10px}.dashboard-brand-logo{max-height:95px}}.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:Poppins,Noto Sans JP,system-ui,sans-serif;color:#183653;background:#f4f7fb;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{margin:0;min-width:320px;min-height:100%}body{min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}
