.shgk-school-list[data-columns="1"] .shgk-school-grid{grid-template-columns:repeat(1, 1fr)}.shgk-school-list[data-columns="2"] .shgk-school-grid{grid-template-columns:repeat(2, 1fr)}.shgk-school-list[data-columns="3"] .shgk-school-grid{grid-template-columns:repeat(3, 1fr)}.shgk-school-list[data-columns="4"] .shgk-school-grid{grid-template-columns:repeat(4, 1fr)}.shgk-school-list[data-columns="5"] .shgk-school-grid{grid-template-columns:repeat(5, 1fr)}.shgk-school-list[data-columns="6"] .shgk-school-grid{grid-template-columns:repeat(6, 1fr)}.shgk-school-grid{display:grid;gap:20px;margin-top:20px}@media(max-width: 768px){.shgk-school-grid{grid-template-columns:repeat(1, 1fr) !important}}@media(min-width: 769px)and (max-width: 1024px){.shgk-school-grid[data-columns="3"],.shgk-school-grid[data-columns="4"],.shgk-school-grid[data-columns="5"],.shgk-school-grid[data-columns="6"]{grid-template-columns:repeat(2, 1fr) !important}}.shgk-school-card{display:block;background:#fff;border:1px solid #e0e0e0;border-radius:8px;overflow:hidden;transition:box-shadow .3s ease,transform .3s ease;text-decoration:none;color:inherit}.shgk-school-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.1);transform:translateY(-2px);text-decoration:none}.shgk-school-card:focus{outline:2px solid #0073aa;outline-offset:2px}.shgk-school-card .shgk-school-thumbnail{width:100%;height:200px;overflow:hidden;background:#f5f5f5}.shgk-school-card .shgk-school-thumbnail img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.shgk-school-card .shgk-school-content{padding:20px}.shgk-school-card .shgk-school-title{margin:0 0 10px 0;font-size:18px;font-weight:600;line-height:1.4;color:#333}.shgk-school-card .shgk-school-location{display:flex;align-items:center;gap:8px;margin:10px 0;color:#666;font-size:14px;flex-wrap:wrap}.shgk-school-card .shgk-school-location .shgk-school-prefecture,.shgk-school-card .shgk-school-location .shgk-school-city{display:inline-flex;align-items:center;gap:4px}.shgk-school-card .shgk-school-location .dashicons{font-size:16px;width:16px;height:16px}.shgk-school-card .shgk-school-attributes,.shgk-school-card .shgk-exam-row,.shgk-school-card .shgk-connected-row{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.shgk-school-card .shgk-attribute-badge{display:inline-flex;align-items:center;padding:4px 12px;background:#f0f0f0;border-radius:9999px;font-size:12px;font-weight:500;color:#333;white-space:nowrap;line-height:1}.shgk-school-card .shgk-badge-ownership{color:#fff;font-weight:500}.shgk-school-card .shgk-badge-ownership.shgk-badge-ownership-national{background-color:#f59e0b}.shgk-school-card .shgk-badge-ownership.shgk-badge-ownership-public{background-color:#3b82f6}.shgk-school-card .shgk-badge-ownership.shgk-badge-ownership-private{background-color:#8b5cf6}.shgk-school-card .shgk-badge-gender{color:#fff;font-weight:500}.shgk-school-card .shgk-badge-gender.shgk-badge-gender-boys{background-color:#2563eb}.shgk-school-card .shgk-badge-gender.shgk-badge-gender-girls{background-color:#ec4899}.shgk-school-card .shgk-badge-gender.shgk-badge-gender-coed{background-color:#10b981}.shgk-school-card .shgk-badge-gender.shgk-badge-gender-etcs{background-color:#a855f7}.shgk-school-card .shgk-badge-school-type{color:#fff;font-weight:500}.shgk-school-card .shgk-badge-school-type.shgk-badge-school-type-kindergarten{background-color:#ec4899}.shgk-school-card .shgk-badge-school-type.shgk-badge-school-type-elementary{background-color:#84cc16}.shgk-school-card .shgk-badge-school-type.shgk-badge-school-type-junior_high{background-color:#f97316}.shgk-school-card .shgk-badge-school-type.shgk-badge-school-type-high_school{background-color:#1e40af}.shgk-school-card .shgk-badge-school-type.shgk-badge-school-type-integrated{background-color:#4f46e5}.shgk-school-card .shgk-badge-school-type.shgk-badge-school-type-vocational{background-color:#14b8a6}.shgk-school-card .shgk-badge-school-type.shgk-badge-school-type-net_school{background-color:#06b6d4}.shgk-school-card .shgk-badge-school-type.shgk-badge-school-type-junior_college{background-color:#d946ef}.shgk-school-card .shgk-badge-school-type.shgk-badge-school-type-university{background-color:#7c3aed}.shgk-school-card .shgk-badge-school-type.shgk-badge-school-type-sensyu_school{background-color:#059669}.shgk-school-card .shgk-badge-exam{color:#fff;font-weight:500}.shgk-school-card .shgk-badge-exam.shgk-badge-exam-elementary{background-color:#29b6f6}.shgk-school-card .shgk-badge-exam.shgk-badge-exam-junior_high{background-color:#f57c00}.shgk-school-card .shgk-badge-exam.shgk-badge-exam-high_school{background-color:#1565c0}.shgk-school-card .shgk-badge-connected{background-color:#e3f2fd;color:#1976d2}.shgk-school-card .shgk-school-description{margin:15px 0 0 0;font-size:14px;line-height:1.6;color:#666}.shgk-school-list-style-list .shgk-school-list-items{list-style:none;margin:0;padding:0}.shgk-school-list-style-list .shgk-school-list-item{border-bottom:1px solid #e0e0e0}.shgk-school-list-style-list .shgk-school-list-item:last-child{border-bottom:none}.shgk-school-list-style-list .shgk-school-list-item-link{display:block;padding:20px 0;text-decoration:none;color:inherit;transition:background .2s ease}.shgk-school-list-style-list .shgk-school-list-item-link:hover{background:#f9f9f9;text-decoration:none}.shgk-school-list-style-list .shgk-school-list-item-link:focus{outline:2px solid #0073aa;outline-offset:-2px}.shgk-school-list-style-list .shgk-school-list-item-title{margin:0 0 10px 0;font-size:18px;font-weight:600;color:#333}.shgk-school-list-style-list .shgk-school-list-item-description{margin:15px 0 0 0;font-size:14px;line-height:1.6;color:#666}.shgk-school-list-style-list .shgk-school-location{display:flex;align-items:center;gap:8px;margin:10px 0;color:#666;font-size:14px;flex-wrap:wrap}.shgk-school-list-style-list .shgk-school-location .shgk-school-list-item-prefecture,.shgk-school-list-style-list .shgk-school-location .shgk-school-list-item-city{display:inline-flex;align-items:center;gap:4px}.shgk-school-list-style-list .shgk-school-location .dashicons{font-size:16px;width:16px;height:16px}.shgk-school-list-style-list .shgk-school-list-item-attributes{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.shgk-school-list-style-list .shgk-school-list-item-attributes .shgk-attribute-badge{display:inline-flex;align-items:center;padding:4px 12px;background:#f0f0f0;border-radius:9999px;font-size:12px;font-weight:500;color:#333;white-space:nowrap;line-height:1}.shgk-school-list-style-list .shgk-school-list-item-attributes .shgk-badge-ownership{color:#fff;font-weight:500}.shgk-school-list-style-list .shgk-school-list-item-attributes .shgk-badge-ownership.shgk-badge-ownership-national{background-color:#f59e0b}.shgk-school-list-style-list .shgk-school-list-item-attributes .shgk-badge-ownership.shgk-badge-ownership-public{background-color:#3b82f6}.shgk-school-list-style-list .shgk-school-list-item-attributes .shgk-badge-ownership.shgk-badge-ownership-private{background-color:#8b5cf6}.shgk-school-list-style-list .shgk-school-list-item-attributes .shgk-badge-gender{color:#fff;font-weight:500}.shgk-school-list-style-list .shgk-school-list-item-attributes .shgk-badge-gender.shgk-badge-gender-boys{background-color:#2563eb}.shgk-school-list-style-list .shgk-school-list-item-attributes .shgk-badge-gender.shgk-badge-gender-girls{background-color:#ec4899}.shgk-school-list-style-list .shgk-school-list-item-attributes .shgk-badge-gender.shgk-badge-gender-coed{background-color:#10b981}.shgk-school-list-style-list .shgk-school-list-item-attributes .shgk-badge-gender.shgk-badge-gender-etcs{background-color:#a855f7}.shgk-school-list-style-list .shgk-school-list-item-attributes .shgk-badge-school-type{color:#fff;font-weight:500}.shgk-school-list-style-list .shgk-school-list-item-attributes .shgk-badge-school-type.shgk-badge-school-type-kindergarten{background-color:#ec4899}.shgk-school-list-style-list .shgk-school-list-item-attributes .shgk-badge-school-type.shgk-badge-school-type-elementary{background-color:#84cc16}.shgk-school-list-style-list .shgk-school-list-item-attributes .shgk-badge-school-type.shgk-badge-school-type-junior_high{background-color:#f97316}.shgk-school-list-style-list .shgk-school-list-item-attributes .shgk-badge-school-type.shgk-badge-school-type-high_school{background-color:#1e40af}.shgk-school-list-style-list .shgk-school-list-item-attributes .shgk-badge-school-type.shgk-badge-school-type-integrated{background-color:#4f46e5}.shgk-school-list-style-list .shgk-school-list-item-attributes .shgk-badge-school-type.shgk-badge-school-type-vocational{background-color:#14b8a6}.shgk-school-list-style-list .shgk-school-list-item-attributes .shgk-badge-school-type.shgk-badge-school-type-net_school{background-color:#06b6d4}.shgk-school-list-style-list .shgk-school-list-item-attributes .shgk-badge-school-type.shgk-badge-school-type-junior_college{background-color:#d946ef}.shgk-school-list-style-list .shgk-school-list-item-attributes .shgk-badge-school-type.shgk-badge-school-type-university{background-color:#7c3aed}.shgk-school-list-style-list .shgk-school-list-item-attributes .shgk-badge-school-type.shgk-badge-school-type-sensyu_school{background-color:#059669}.shgk-school-list-style-list .shgk-school-list-item-attributes.shgk-exam-row .shgk-badge-exam{color:#fff;font-weight:500}.shgk-school-list-style-list .shgk-school-list-item-attributes.shgk-exam-row .shgk-badge-exam.shgk-badge-exam-elementary{background-color:#29b6f6}.shgk-school-list-style-list .shgk-school-list-item-attributes.shgk-exam-row .shgk-badge-exam.shgk-badge-exam-junior_high{background-color:#f57c00}.shgk-school-list-style-list .shgk-school-list-item-attributes.shgk-exam-row .shgk-badge-exam.shgk-badge-exam-high_school{background-color:#1565c0}.shgk-school-list-style-list .shgk-school-list-item-attributes.shgk-connected-row .shgk-badge-connected{background-color:#e3f2fd;color:#1976d2}.shgk-no-schools{padding:40px;text-align:center;color:#666;font-size:16px;background:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px}.shgk-school-filter{margin-bottom:30px}.shgk-school-filter .shgk-filter-search{margin-bottom:20px}.shgk-school-filter .shgk-filter-search input{width:100%;padding:12px 16px;font-size:16px;border:2px solid #e0e0e0;border-radius:8px;transition:border-color .2s ease}.shgk-school-filter .shgk-filter-search input:focus{outline:none;border-color:#0073aa}.shgk-school-filter .shgk-filter-search input::-moz-placeholder{color:#999}.shgk-school-filter .shgk-filter-search input::placeholder{color:#999}.shgk-school-filter .shgk-active-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:20px;padding:12px;background:#f0f7ff;border-radius:8px}.shgk-school-filter .shgk-active-filters .shgk-active-filters-label{font-size:14px;font-weight:600;color:#333}.shgk-school-filter .shgk-active-filters .shgk-active-filters-list{display:flex;flex-wrap:wrap;gap:8px;flex:1}.shgk-school-filter .shgk-active-filters .shgk-active-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:#0073aa;color:#fff;border-radius:9999px;font-size:13px;font-weight:500}.shgk-school-filter .shgk-active-filters .shgk-active-pill .shgk-active-pill-remove{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;background:hsla(0,0%,100%,.3);border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:12px;line-height:1;transition:background .2s ease}.shgk-school-filter .shgk-active-filters .shgk-active-pill .shgk-active-pill-remove:hover{background:hsla(0,0%,100%,.5)}.shgk-school-filter .shgk-filter-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.shgk-school-filter .shgk-filter-header h3{margin:0;font-size:20px;font-weight:600;color:#333}.shgk-school-filter .shgk-filter-header .shgk-clear-all-btn{padding:8px 16px;background:rgba(0,0,0,0);border:1px solid #e0e0e0;border-radius:6px;font-size:14px;color:#666;cursor:pointer;transition:all .2s ease}.shgk-school-filter .shgk-filter-header .shgk-clear-all-btn:hover{background:#f5f5f5;border-color:#999;color:#333}.shgk-school-filter .shgk-filter-group{margin-bottom:16px;border:1px solid #e0e0e0;border-radius:8px;overflow:hidden}.shgk-school-filter .shgk-filter-group .shgk-accordion-toggle{display:flex;justify-content:space-between;align-items:center;width:100%;padding:14px 16px;background:#fff;border:none;font-size:15px;font-weight:600;color:#333;cursor:pointer;transition:background .2s ease;text-align:left}.shgk-school-filter .shgk-filter-group .shgk-accordion-toggle:hover{background:#f9f9f9}.shgk-school-filter .shgk-filter-group .shgk-accordion-toggle[aria-expanded=true]{background:#f5f5f5}.shgk-school-filter .shgk-filter-group .shgk-accordion-toggle[aria-expanded=true] .shgk-accordion-icon{transform:rotate(180deg)}.shgk-school-filter .shgk-filter-group .shgk-accordion-toggle .shgk-accordion-icon{font-size:12px;color:#666;transition:transform .3s ease}.shgk-school-filter .shgk-filter-group .shgk-accordion-content{display:none;padding:16px;background:#fafafa;border-top:1px solid #e0e0e0}.shgk-school-filter .shgk-filter-group .shgk-accordion-content.active{display:flex;flex-wrap:wrap;gap:8px}.shgk-school-filter .shgk-pill-button{display:inline-flex;align-items:center;gap:4px;padding:8px 14px;background:#fff;border:1.5px solid #e0e0e0;border-radius:9999px;font-size:14px;font-weight:500;color:#333;cursor:pointer;transition:all .2s ease;white-space:nowrap}.shgk-school-filter .shgk-pill-button .shgk-pill-count{font-size:12px;color:#999}.shgk-school-filter .shgk-pill-button:hover{border-color:#0073aa;background:#f0f7ff}.shgk-school-filter .shgk-pill-button.active{background:#0073aa;border-color:#0073aa;color:#fff}.shgk-school-filter .shgk-pill-button.active .shgk-pill-count{color:hsla(0,0%,100%,.8)}.shgk-school-filter .shgk-pill-button:focus{outline:2px solid #0073aa;outline-offset:2px}.shgk-school-filter .shgk-filter-count{margin:20px 0;font-size:15px;color:#666;text-align:center}.shgk-school-filter .shgk-filter-count #shgk-filtered-count{font-weight:600;color:#0073aa}.shgk-school-filter .shgk-filter-desktop{display:block}.shgk-school-filter .shgk-filter-mobile{display:none}@media(max-width: 768px){.shgk-school-filter .shgk-filter-desktop{display:none}.shgk-school-filter .shgk-filter-mobile{display:block;margin-bottom:20px}.shgk-school-filter .shgk-filter-mobile .shgk-open-filters-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px 20px;background:#0073aa;border:none;border-radius:8px;font-size:16px;font-weight:600;color:#fff;cursor:pointer;transition:background .2s ease}.shgk-school-filter .shgk-filter-mobile .shgk-open-filters-btn .dashicons{font-size:20px;width:20px;height:20px}.shgk-school-filter .shgk-filter-mobile .shgk-open-filters-btn .shgk-filter-badge{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 8px;background:#fff;color:#0073aa;border-radius:12px;font-size:13px;font-weight:700}.shgk-school-filter .shgk-filter-mobile .shgk-open-filters-btn:hover{background:#005a87}.shgk-school-filter .shgk-filter-mobile .shgk-open-filters-btn:active{background:#004a6f}}.shgk-school-filter .shgk-bottom-sheet{display:none;position:fixed;top:0;left:0;right:0;bottom:0;z-index:9999}.shgk-school-filter .shgk-bottom-sheet.active{display:block}.shgk-school-filter .shgk-bottom-sheet .shgk-bottom-sheet-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);animation:fadeIn .3s ease}.shgk-school-filter .shgk-bottom-sheet .shgk-bottom-sheet-content{position:absolute;bottom:0;left:0;right:0;max-height:85vh;background:#fff;border-radius:16px 16px 0 0;box-shadow:0 -4px 20px rgba(0,0,0,.15);animation:slideUp .3s ease;display:flex;flex-direction:column}.shgk-school-filter .shgk-bottom-sheet .shgk-bottom-sheet-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e0e0e0;flex-shrink:0}.shgk-school-filter .shgk-bottom-sheet .shgk-bottom-sheet-header h3{margin:0;font-size:20px;font-weight:600;color:#333}.shgk-school-filter .shgk-bottom-sheet .shgk-bottom-sheet-header .shgk-close-bottom-sheet{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:rgba(0,0,0,0);border:none;border-radius:50%;font-size:28px;line-height:1;color:#666;cursor:pointer;transition:background .2s ease}.shgk-school-filter .shgk-bottom-sheet .shgk-bottom-sheet-header .shgk-close-bottom-sheet:hover{background:#f5f5f5}.shgk-school-filter .shgk-bottom-sheet .shgk-bottom-sheet-body{flex:1;overflow-y:auto;padding:20px;-webkit-overflow-scrolling:touch}.shgk-school-filter .shgk-bottom-sheet .shgk-bottom-sheet-footer{display:flex;gap:12px;padding:16px 20px;border-top:1px solid #e0e0e0;flex-shrink:0}.shgk-school-filter .shgk-bottom-sheet .shgk-bottom-sheet-footer button{flex:1;padding:14px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease}.shgk-school-filter .shgk-bottom-sheet .shgk-bottom-sheet-footer button.shgk-btn-secondary{background:#f5f5f5;color:#666}.shgk-school-filter .shgk-bottom-sheet .shgk-bottom-sheet-footer button.shgk-btn-secondary:hover{background:#e0e0e0}.shgk-school-filter .shgk-bottom-sheet .shgk-bottom-sheet-footer button.shgk-btn-primary{background:#0073aa;color:#fff}.shgk-school-filter .shgk-bottom-sheet .shgk-bottom-sheet-footer button.shgk-btn-primary:hover{background:#005a87}.shgk-school-filter .shgk-bottom-sheet .shgk-bottom-sheet-footer button.shgk-btn-primary:active{background:#004a6f}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes slideUp{from{transform:translateY(100%)}to{transform:translateY(0)}}
