:root{--card-bg:#FAFBFC;--card-border:#E4E7EB;--accent-bg:#EAF2FB;--accent-text:#2F6FE0;--text-primary:#1F2328;--text-secondary:#6B7280;--text-muted:#9AA1A9;--radius:10px;--ks-red:#E5091A;--ks-red-dark:#B80716;--ks-gold:#FAC775}
.ksovg-wrap{max-width:100%;color:#222}.ksovg-wrap *{box-sizing:border-box}
/* TOP */
.ksovg-top>.ksovg-lead{font-size:14px;line-height:1.8;color:var(--text-secondary);margin:0 0 22px}.ksovg-top .ksovg-carousel-main{width:100%;max-width:734px;margin:0 0 30px;overflow:hidden}.ksovg-top .ksovg-carousel-main img{display:block;width:100%;height:auto;aspect-ratio:734/411;object-fit:cover}.ksovg-top .ksovg-fields-snapshot{margin:0 0 36px}.ksovg-top .ksovg-fields-snapshot h2{font-size:20px;font-weight:700;line-height:1.3;color:#173a5e;margin:0 0 14px;border:0;padding:0}.ksovg-info-badges{display:flex;flex-wrap:wrap;gap:8px}.ksovg-info-badge{display:inline-flex;align-items:center;gap:5px;border:.5px solid #C9CED3;border-radius:999px;background:#fff;padding:6px 14px;font-size:12px;line-height:1.2}.ksovg-info-badge small{font-size:12px;color:var(--text-secondary);font-weight:400}.ksovg-school-list-section{margin-top:0}.ksovg-list-heading{display:flex;align-items:baseline;gap:10px;margin:0 0 14px}.ksovg-list-heading h2{font-size:20px;font-weight:700;line-height:1.3;color:#173a5e;border:0;padding:0;margin:0}.ksovg-list-heading span{font-size:17px;font-weight:700;line-height:1.3;color:#173a5e}.ksovg-sort-row{display:flex;align-items:center;gap:10px;margin:0 0 16px;padding:0 0 12px;border-bottom:.5px solid var(--card-border)}.ksovg-sort-row>strong{font-size:14px;font-weight:600;color:#53606c}.ksovg-sort{display:flex;gap:6px;flex-wrap:wrap;margin:0}.ksovg-sort button{appearance:none;border:0;border-radius:4px;background:transparent;padding:8px 11px;min-height:36px;color:var(--text-secondary);font-size:15px;line-height:1.2;cursor:pointer}.ksovg-sort button.is-active{color:var(--accent-text);background:var(--accent-bg);font-weight:600}.ksovg-school-list{border:0}.ksovg-school-item{padding:23px 0;border-bottom:1px dashed #C9CED3;background:transparent}.ksovg-top .ksovg-school-item h3{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:21px;font-weight:700;line-height:1.24;letter-spacing:0;margin:0 0 7px}.ksovg-top .ksovg-school-item h3 a{color:var(--text-primary);text-decoration:none}.ksovg-school-meta{display:flex;align-items:center;gap:8px;margin:0 0 6px;font-size:12px;line-height:1.4}.ksovg-school-meta span:first-child{color:var(--text-muted)}.ksovg-school-meta span:nth-child(2){color:var(--text-secondary);background:#F1F2F4;padding:3px 10px;border-radius:var(--radius)}.ksovg-school-job{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-primary);line-height:1.4}.ksovg-job-label{font-size:11px;font-weight:500;color:var(--accent-text);background:var(--accent-bg);padding:2px 8px;border-radius:4px}
/* SHARED RECOMMENDATION */
.ksovg-recommend{max-width:680px;border:1px solid var(--card-border);border-radius:12px;padding:18px 20px 20px;background:var(--card-bg)}.ksovg-top .ksovg-top-recommend-shared{margin-top:76px;margin-bottom:58px}.ksovg-section-label{display:flex;align-items:center;gap:8px;margin:0 0 10px;color:var(--accent-text);font-size:15px;font-weight:500}.ksovg-section-label svg{width:18px;height:18px;fill:none;stroke:var(--accent-text);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.ksovg-feature-title{font-size:18px;font-weight:600;line-height:1.4;margin:0 0 7px;border:0;padding:0}.ksovg-recommend>p:not(.ksovg-section-label){font-size:14px;line-height:1.7;color:var(--text-secondary);margin:0 0 14px}.ksovg-national-link{display:flex;align-items:center;gap:10px;width:100%;background:var(--ks-red);border:0;border-radius:10px;padding:14px 16px;text-decoration:none;color:#fff}.ksovg-accent-icon{width:34px;height:34px;border-radius:8px;background:var(--ks-red-dark);color:var(--ks-gold);display:flex;align-items:center;justify-content:center;flex:0 0 auto}.ksovg-accent-text{flex:1;font-size:14px;font-weight:600;color:#fff}.ksovg-arrow{color:#F5C9CC;font-size:16px}
/* TEACHER */
.ksovg-teacher-guide{margin:0 -22px;padding:30px 22px 34px;background:#F6F8FB}.ksovg-teacher-guide h2{display:flex;align-items:center;gap:8px;border:0;padding:0;margin:0 0 10px;font-size:18px;font-weight:600;color:var(--text-primary)}.ksovg-teacher-guide h2 svg{width:18px;height:18px;stroke:var(--accent-text)}.ksovg-teacher-guide>p{max-width:760px;margin:0 0 18px;font-size:14px;line-height:1.7;color:var(--text-secondary)}.ksovg-teacher-links{display:flex;flex-wrap:wrap;gap:8px;margin:0}.ksovg-teacher-link{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border:1px solid var(--ks-red);border-radius:999px;background:#fff;color:var(--ks-red);text-decoration:none;font-size:13px;font-weight:600;line-height:1.35}.ksovg-teacher-link.is-pending{opacity:.65}
/* SINGLE SCHOOL */
.ksovg-single{margin-top:-24px;--ksovg-blue:#1761a8;--ksovg-pale:#d9eaff;--ksovg-line:#dfe4e8;max-width:100%}.ksovg-single-page .entry-title{display:none!important}.ksovg-single>h1{font-size:22px;font-weight:700;line-height:1.3;margin:0 0 9px;padding:0;border:0}.ksovg-single-lead{font-size:13px;line-height:1.58;color:#555f68;margin:0 0 20px;max-width:48em}.ksovg-basic-block{margin:0 0 22px;max-width:680px}.ksovg-basic-block>h2,.ksovg-departments>h2{border:0;margin:0;padding:0 0 10px;font-size:1rem;font-weight:800}.ksovg-basic-data{margin:0;border:1px solid var(--ksovg-line);border-radius:12px;overflow:hidden;background:#fff}.ksovg-basic-data>div{display:grid;grid-template-columns:minmax(130px,34%) 1fr;border-bottom:1px solid var(--ksovg-line)}.ksovg-basic-data>div:last-child{border-bottom:0}.ksovg-basic-data dt,.ksovg-basic-data dd{margin:0;padding:10px 14px;min-width:0}.ksovg-basic-data dt{display:flex;align-items:center;gap:7px;background:var(--ksovg-pale);color:var(--ksovg-blue);font-weight:500}.ksovg-basic-data dt svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}.ksovg-basic-data dd{padding-left:16px;padding-right:16px;line-height:1.5}.ksovg-basic-data dd a{font-weight:600;text-decoration:none;overflow-wrap:anywhere}.ksovg-departments{max-width:680px;margin:0 0 24px;padding-bottom:18px;border-bottom:1px dotted #6d879d}.ksovg-departments p{margin:0;line-height:1.55}.ksovg-editor-note{max-width:680px;margin:0 0 38px;padding:14px 16px;border:1px solid #d9dee3;border-radius:8px;background:#fbfcfd}.ksovg-editor-note h2{border:0;margin:0 0 7px;padding:0;font-size:14px;font-weight:700;color:#39434d}.ksovg-editor-note div{font-size:13px;line-height:1.7;color:#4d5760;overflow-wrap:anywhere}.ksovg-editor-note a{color:#1761a8;text-decoration:underline;text-underline-offset:2px}.ksovg-single .ksovg-recommend{margin:0 0 46px}.ksovg-howto{max-width:680px;margin:0 0 44px;padding:20px 12px 22px;background:#fbf8f4;border:0;border-radius:8px}.ksovg-guide-label{display:flex;align-items:center;gap:8px;color:#7d3440;font-size:12.5px;font-weight:600;line-height:1.4;letter-spacing:.02em;margin:0 0 6px}.ksovg-guide-label svg{width:17px;height:17px;fill:none;stroke:#8b3440;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.ksovg-guide-title{border:0;padding:0;margin:0 0 16px;font-size:19px;font-weight:650;line-height:1.4}.ksovg-howto h3{font-size:17px;font-weight:600;line-height:1.45;margin:0 0 8px}.ksovg-howto>p{font-size:13px;line-height:1.58;margin:0 0 20px;color:#343a40}.ksovg-guide-image{width:100%;max-width:620px;margin:8px auto 0}.ksovg-guide-image img{display:block;width:100%;height:auto;max-width:100%}.ksovg-back-topguide{max-width:680px;margin:4px 0 34px}.ksovg-back-topguide a{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#d9eaff;border-radius:9px;padding:14px 18px;color:#14538e;font-weight:700;text-decoration:none}.ksovg-back-topguide a span{font-size:1.2rem}.ksovg-page-top{text-align:center;margin:38px 0 82px}.ksovg-page-top a{display:inline-flex;width:46px;height:46px;border:1px solid #d6dadd;border-radius:50%;align-items:center;justify-content:center;color:#111;text-decoration:none;font-size:1.35rem;background:#fff}
@media(max-width:640px){.ksovg-single{margin-top:-28px}.ksovg-top .ksovg-carousel-main{margin-bottom:26px}.ksovg-top .ksovg-fields-snapshot{margin-bottom:34px}.ksovg-top .ksovg-fields-snapshot h2,.ksovg-list-heading h2{font-size:19px}.ksovg-list-heading span{font-size:17px}.ksovg-sort-row{gap:10px}.ksovg-sort button{font-size:14px;padding:8px 10px;min-height:36px}.ksovg-school-item{padding:22px 0}.ksovg-top .ksovg-school-item h3{font-size:20px;line-height:1.22}.ksovg-recommend{padding:16px 14px 17px}.ksovg-top .ksovg-top-recommend-shared{margin-top:68px;margin-bottom:50px}.ksovg-national-link{padding:13px 14px}.ksovg-accent-text{font-size:13px}.ksovg-teacher-guide{margin-left:-12px;margin-right:-12px;padding:26px 12px 30px}.ksovg-teacher-guide h2{font-size:17px}.ksovg-teacher-guide>p{font-size:13px}.ksovg-teacher-link{font-size:12.5px;padding:7px 12px}.ksovg-single>h1{font-size:21px;line-height:1.28}.ksovg-single-lead{font-size:12.5px;line-height:1.56;color:#515b64;margin-bottom:18px}.ksovg-basic-data>div{grid-template-columns:36% 64%}.ksovg-basic-data dt,.ksovg-basic-data dd{padding-top:9px;padding-bottom:9px;font-size:.92rem}.ksovg-basic-data dt{padding-left:10px;padding-right:9px;gap:5px}.ksovg-basic-data dt svg{width:15px;height:15px}.ksovg-basic-data dd{padding-left:12px;padding-right:12px}.ksovg-departments{margin-bottom:22px;padding-bottom:17px}.ksovg-editor-note{margin-bottom:34px;padding:13px 14px}.ksovg-editor-note div{font-size:12.5px}.ksovg-single .ksovg-recommend{margin-bottom:42px}.ksovg-howto{width:auto;max-width:none;margin:0 0 42px;padding:20px 12px 22px;border-radius:7px}.ksovg-guide-label{font-size:12.5px;margin-bottom:7px}.ksovg-guide-title{font-size:18px;margin-bottom:14px}.ksovg-howto h3{font-size:16px}.ksovg-howto>p{font-size:12.5px;line-height:1.55;margin-bottom:18px}.ksovg-guide-image{width:100%;max-width:none;margin-top:8px}.ksovg-back-topguide{margin-top:4px;margin-bottom:32px}.ksovg-back-topguide a{padding:13px 14px}.ksovg-page-top{margin:36px 0 84px}}
