.ksvt-wrap{--ksvt-blue:#1769aa;--ksvt-dark:#17324d;--ksvt-line:#dbe5ee;--ksvt-soft:#f5f8fb;max-width:980px;margin:0 auto;color:#263746;font-size:16px;line-height:1.75}
.ksvt-header{padding:8px 0 22px;border-bottom:1px solid var(--ksvt-line)}
.ksvt-header p:last-child{margin:0;color:#566b7c}
.ksvt-search{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:14px;align-items:end;padding:18px;margin:4px 0 14px;background:var(--ksvt-soft);border:1px solid var(--ksvt-line);border-radius:8px}
.ksvt-field label,.ksvt-school-search label{display:block;margin:0 0 5px;font-size:13px;font-weight:700;color:#3b5266}
.ksvt-field select,.ksvt-school-search input{width:100%;box-sizing:border-box;height:44px;padding:8px 11px;background:#fff;border:1px solid #c8d5df;border-radius:5px;font-size:16px}
.ksvt-actions{display:flex;align-items:center;gap:9px}
.ksvt-actions button,.ksvt-school-search button{appearance:none;border:0;border-radius:5px;background:var(--ksvt-blue);color:#fff;font-weight:700;height:44px;padding:0 20px;white-space:nowrap;cursor:pointer}
.ksvt-summary{padding:8px 0 12px;color:#607487;font-size:14px;border-bottom:2px solid #bfcbd5}.ksvt-reset{font-size:11px;color:#58758c;text-decoration:none;white-space:nowrap}.ksvt-reset:hover{text-decoration:underline}
.ksvt-item{margin:0!important;padding:22px 2px 23px!important;border-bottom:1px solid var(--ksvt-line)}
.ksvt-school-name{margin:0 0 5px!important;padding:0!important;font-size:22px;line-height:1.28;font-weight:700;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Yu Gothic",Meiryo,sans-serif}
.ksvt-school-name a{color:#202d37;text-decoration:none}.ksvt-school-name a:hover{text-decoration:underline}
.ksvt-headline{margin:0 0 5px!important;padding:0!important;font-size:16px;line-height:1.5;font-weight:600;font-family:"Yu Mincho","Hiragino Mincho ProN","Hiragino Mincho Pro",serif}
.ksvt-headline a{color:#24627f;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}.ksvt-headline a:hover{color:#174f7c}
.ksvt-meta{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:0;color:#56636d;font-size:12px;line-height:1.5}
.ksvt-meta span,.ksvt-meta time{padding:0;background:none;border-radius:0}
.ksvt-meta .ksvt-date-label{margin-right:-10px}
.ksvt-pagination{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;padding:24px 0}.ksvt-pagination .page-numbers{display:inline-flex;min-width:36px;height:36px;align-items:center;justify-content:center;padding:0 8px;border:1px solid var(--ksvt-line);border-radius:4px;text-decoration:none;color:#35546b}.ksvt-pagination .current{background:var(--ksvt-blue);border-color:var(--ksvt-blue);color:#fff}
.ksvt-school-search{margin:26px 0 12px;padding:16px 18px;background:#fafcfd;border:1px solid var(--ksvt-line);border-radius:7px}
.ksvt-school-search-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center}
.ksvt-empty{padding:30px 10px;text-align:center;color:#667d8e}.ksvt-note{margin-top:20px;padding:13px 15px;background:#fafbfc;border-left:3px solid #bdcbd6;color:#667987;font-size:13px}
@media(max-width:700px){
  .ksvt-wrap{font-size:15px}
  .ksvt-header{padding-bottom:16px}
  .ksvt-search{grid-template-columns:minmax(0,1fr) auto;gap:7px;padding:12px 10px;margin:4px 0 10px}
  .ksvt-field label{font-size:11px;margin-bottom:3px}
  .ksvt-field select{height:38px;padding:6px 7px;font-size:13px}
  .ksvt-actions{gap:5px}
  .ksvt-actions button{height:38px;padding:0 9px;font-size:12px}
  .ksvt-reset{font-size:9px}
  .ksvt-summary{padding-top:6px;font-size:12px}
  .ksvt-item{margin:0!important;padding:17px 0 18px!important}
  .ksvt-school-name{font-size:18px;margin:0 0 4px!important}
  .ksvt-headline{font-size:14px;line-height:1.45;margin:0 0 4px!important}
  .ksvt-meta{gap:10px;font-size:11px}
  .ksvt-meta .ksvt-date-label{margin-right:-7px}
  .ksvt-school-search{margin-top:20px;padding:12px}
  .ksvt-school-search label{font-size:12px}
  .ksvt-school-search input{height:40px;font-size:14px}
  .ksvt-school-search button{height:40px;padding:0 12px;font-size:13px}
}
@media(max-width:360px){
  .ksvt-search{gap:5px;padding:10px 8px}
  .ksvt-field select{font-size:12px;padding-left:5px;padding-right:4px}
  .ksvt-actions button{padding:0 8px;font-size:11px}
}

/* v0.1.1 navigation + open sponsor HUB */
.ksvt-filter-search{background:#edf3f7;padding:20px 18px 12px}
.ksvt-filter-links{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;margin-top:-3px}
.ksvt-filter-links>a:first-child{font-size:12px;font-weight:700;color:#24627f;text-decoration:none}
.ksvt-back-top{text-align:center;margin:24px 0 8px}.ksvt-back-top a{color:#1769aa;font-weight:700;text-decoration:none}
.ksvt-sponsors{margin:30px 0 10px}.ksvt-sponsor-heading{font-size:14px!important;line-height:1.4!important;color:#a85a00!important;margin:0 0 14px!important;padding:0 0 10px!important;border-bottom:2px solid #f0a34a!important;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Yu Gothic",Meiryo,sans-serif!important}
.ksvt-sponsor-card{background:#f6f8fa;border:1px solid #d7e0e7;border-radius:8px;padding:22px 24px;margin:0 0 14px}.ksvt-sponsor-card h3{margin:0 0 2px!important;font-size:22px!important;line-height:1.35!important;color:#172531!important;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Yu Gothic",Meiryo,sans-serif!important}.ksvt-sponsor-loc{margin:0 0 15px!important;color:#71808c;font-size:13px}.ksvt-sponsor-body{display:flex;gap:18px;align-items:flex-start}.ksvt-sponsor-body img{width:100px;height:100px;object-fit:cover;border-radius:3px;flex:0 0 100px}.ksvt-sponsor-body p{margin:2px 0 10px!important}.ksvt-sponsor-link{color:#17618a;font-weight:700;text-decoration:none}.ksvt-sponsor-link:hover{text-decoration:underline}
@media(max-width:700px){.ksvt-filter-search{padding:14px 10px 10px;background:#edf3f7}.ksvt-field select,.ksvt-actions button{height:42px}.ksvt-filter-links{margin-top:1px}.ksvt-filter-links>a:first-child{font-size:11px}.ksvt-sponsor-heading{font-size:11px!important;margin-bottom:12px!important;padding-bottom:8px!important}.ksvt-sponsor-card{padding:14px 13px}.ksvt-sponsor-card h3{font-size:17px!important}.ksvt-sponsor-loc{font-size:11px;margin-bottom:10px!important}.ksvt-sponsor-body{gap:10px}.ksvt-sponsor-body img{width:92px;height:92px;flex-basis:92px}.ksvt-sponsor-body p{font-size:13px;line-height:1.55;margin-top:0!important}.ksvt-sponsor-link{font-size:13px}.ksvt-back-top{margin-top:22px;font-size:13px}}


/* v0.1.3 footer notes + common information guide */
.ksvt-notes{margin-top:20px;padding:0;color:#75838e;font-size:12px;line-height:1.75}
.ksvt-notes p{margin:0 0 4px!important}
.ksvt-guide-link{margin:22px 0 4px;padding-top:16px;border-top:1px solid var(--ksvt-line);font-size:13px;line-height:1.7}
.ksvt-guide-link p{margin:0 0 5px!important}
.ksvt-guide-label{font-weight:700;color:#40586b}
.ksvt-guide-link a{color:#24627f;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}
.ksvt-guide-link a:hover{color:#174f7c}
@media(max-width:700px){.ksvt-notes{font-size:11px;line-height:1.7}.ksvt-guide-link{margin-top:18px;padding-top:14px;font-size:12px}}


/* v0.1.4 KS InfoView: 全国8地域の現在の登録分布 */
.ksvt-infoview{margin:30px 0 26px;padding:20px;background:#f2f5f8;border:1px solid #edf1f4;border-radius:17px;color:#20364c}
.ksvt-infoview-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:17px}
.ksvt-infoview-head h2{margin:0!important;padding:0!important;border:0!important;font-size:17px!important;line-height:1.3!important;font-weight:650!important;color:#20364c!important;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Yu Gothic",Meiryo,sans-serif!important}
.ksvt-infoview-total{font-size:11px;color:#8492a0;white-space:nowrap}.ksvt-infoview-total strong{font-size:20px;color:#34495e;margin-right:3px;font-weight:650}
.ksvt-infoview-rows{display:grid;gap:9px}
.ksvt-infoview-row{display:grid;grid-template-columns:92px minmax(0,1fr) 32px;gap:10px;align-items:center}
.ksvt-infoview-label{font-size:12px;font-weight:600;white-space:nowrap;color:#31485d}
.ksvt-infoview-track{height:23px;border-radius:4px;overflow:hidden;background:#d8dfe5}
.ksvt-infoview-fill{height:100%;min-width:0;border-radius:4px}
.ksvt-infoview-count{text-align:right;font-size:11px;color:#607487;font-variant-numeric:tabular-nums}
.ksvt-iv-hokkaido .ksvt-infoview-track{background:#ded9eb}.ksvt-iv-hokkaido .ksvt-infoview-fill{background:#806bb6}
.ksvt-iv-tohoku .ksvt-infoview-track{background:#d5d9ea}.ksvt-iv-tohoku .ksvt-infoview-fill{background:#6e76b5}
.ksvt-iv-kanto .ksvt-infoview-track{background:#cfdcea}.ksvt-iv-kanto .ksvt-infoview-fill{background:#5589b6}
.ksvt-iv-koshinetsu .ksvt-infoview-track{background:#cce0e8}.ksvt-iv-koshinetsu .ksvt-infoview-fill{background:#4b98b5}
.ksvt-iv-tokai .ksvt-infoview-track{background:#c9e2e5}.ksvt-iv-tokai .ksvt-infoview-fill{background:#45a5b2}
.ksvt-iv-kinki .ksvt-infoview-track{background:#cfe4df}.ksvt-iv-kinki .ksvt-infoview-fill{background:#63a99e}
.ksvt-iv-chushikoku .ksvt-infoview-track{background:#d7e2df}.ksvt-iv-chushikoku .ksvt-infoview-fill{background:#789f99}
.ksvt-iv-kyushu .ksvt-infoview-track{background:#d9dfe2}.ksvt-iv-kyushu .ksvt-infoview-fill{background:#8b969d}
@media(max-width:700px){
 .ksvt-infoview{margin:24px 0 20px;padding:17px 14px 18px;border-radius:14px}
 .ksvt-infoview-head{margin-bottom:15px}.ksvt-infoview-head h2{font-size:16px!important}.ksvt-infoview-total strong{font-size:19px}
 .ksvt-infoview-rows{gap:7px}.ksvt-infoview-row{grid-template-columns:82px minmax(0,1fr) 28px;gap:8px}
 .ksvt-infoview-label{font-size:11px}.ksvt-infoview-track{height:21px}.ksvt-infoview-count{font-size:10px}
}
@media(max-width:360px){.ksvt-infoview-row{grid-template-columns:76px minmax(0,1fr) 25px;gap:6px}.ksvt-infoview-label{font-size:10px}}

/* v0.1.7 readability refresh: vocational-school latest-information list
   Scope: list typography / spacing only. Filters, InfoView, sponsors and behavior unchanged. */
.ksvt-list .ksvt-item{
  padding:20px 2px 21px!important;
  border-bottom:1px solid #e5eaee;
}
.ksvt-list .ksvt-school-name{
  margin:0 0 6px!important;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Yu Gothic",Meiryo,sans-serif;
  font-size:18px;
  line-height:1.4;
  font-weight:700;
  letter-spacing:0;
}
.ksvt-list .ksvt-school-name a{
  color:#172b3a;
  text-decoration:none;
}
.ksvt-list .ksvt-headline{
  margin:0 0 7px!important;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Yu Gothic",Meiryo,sans-serif;
  font-size:18px;
  line-height:1.55;
  font-weight:500;
  letter-spacing:0;
}
.ksvt-list .ksvt-headline a{
  color:#075f8d;
  text-decoration:none;
}
.ksvt-list .ksvt-headline a:hover{
  color:#174f7c;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}
.ksvt-list .ksvt-meta{
  gap:12px;
  color:#6a7781;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Yu Gothic",Meiryo,sans-serif;
  font-size:12px;
  line-height:1.55;
}
.ksvt-list .ksvt-meta .ksvt-date-label{margin-right:-8px}

@media(max-width:700px){
  .ksvt-list .ksvt-item{padding:16px 0 17px!important}
  .ksvt-list .ksvt-school-name{
    margin-bottom:5px!important;
    font-size:16px;
    line-height:1.4;
  }
  .ksvt-list .ksvt-headline{
    margin-bottom:6px!important;
    font-size:16px;
    line-height:1.55;
    font-weight:500;
  }
  .ksvt-list .ksvt-meta{
    gap:9px;
    font-size:11px;
    line-height:1.5;
  }
  .ksvt-list .ksvt-meta .ksvt-date-label{margin-right:-6px}
}


/* v0.1.8 return route to the main vocational-school guide */
.ksvt-return-home{
  margin:34px 0 42px;
  text-align:center;
}
.ksvt-return-home-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  width:min(320px,calc(100% - 32px));
  min-height:56px;
  padding:14px 24px;
  border-radius:8px;
  background:#d92d2d;
  color:#fff!important;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Yu Gothic",Meiryo,sans-serif;
  font-size:15px;
  font-weight:700;
  line-height:1.4;
  text-decoration:none!important;
  box-shadow:0 3px 8px rgba(0,0,0,.14);
}
.ksvt-return-home-button:hover,
.ksvt-return-home-button:focus{
  background:#c92525;
  color:#fff!important;
  text-decoration:none!important;
}
@media(max-width:700px){
  .ksvt-return-home{margin:30px 0 40px;}
  .ksvt-return-home-button{min-height:54px;font-size:14px;}
}
