.jc-widget{--navy:#12233a;--blue:#1a67ad;--blue-dark:#124d84;--pale:#eef5fb;--line:#e1e8ee;--text:#26333f;--muted:#5f7080;max-width:1080px;margin:32px auto;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;line-height:1.6;font-size:15px}
.jc-widget,.jc-widget *{box-sizing:border-box}
.jc-widget h3,.jc-widget p,.jc-widget span,.jc-widget strong,.jc-widget dt,.jc-widget dd{
  background:none!important;background-image:none!important;-webkit-background-clip:initial!important;background-clip:initial!important;
  -webkit-text-fill-color:currentColor!important;text-shadow:none!important;-webkit-text-stroke:0!important;
  border:0!important;box-shadow:none!important;text-decoration:none!important;letter-spacing:normal;
  font-family:inherit;
}

.jc-title{margin:0 0 8px;font-size:1.4em;color:var(--navy)!important}
.jc-lead{color:var(--muted)!important;margin-bottom:16px}

.jc-form{padding:26px;background:#fff;border:1px solid var(--line)!important;border-radius:18px;box-shadow:0 14px 30px rgba(18,35,58,.08)}
.jc-form>label{display:block;margin-bottom:9px;font-weight:800;color:var(--navy)!important}
.jc-search-row{display:flex;gap:10px}
.jc-search-row input{min-width:0;flex:1;padding:14px 16px;border:1.5px solid #c3d1db!important;border-radius:10px;font-size:15px;background:#fff;color:var(--text)}
.jc-search-row input:focus{outline:none;border-color:var(--blue)!important;box-shadow:0 0 0 3px rgba(26,103,173,.15)}
.jc-search-row button{border:0!important;border-radius:10px;background:var(--blue)!important;color:#fff!important;font-weight:800;cursor:pointer;padding:0 28px;white-space:nowrap;font-size:15px;transition:background .15s}
.jc-search-row button:hover{background:var(--blue-dark)!important}
.jc-form-note{margin:10px 0 0;font-size:13px;color:var(--muted)!important;line-height:1.7}

.jc-loading,.jc-error{margin:20px 0;padding:16px 18px;border-radius:10px;font-size:14px}
.jc-loading{background:var(--pale)!important;color:var(--blue-dark)!important;font-weight:700}
.jc-error{background:#fdf0f0!important;color:#a11!important;border:1px solid #f0c6c6!important}

.jc-results{margin-top:24px}
.jc-address-bar{display:flex;gap:14px;align-items:center;padding:14px 20px;background:#fff;border:1px solid var(--line)!important;border-radius:12px;margin-bottom:16px}
.jc-address-bar span{font-size:12px;color:var(--muted)!important}
.jc-address-bar strong{color:var(--navy)!important;font-size:15px}

.jc-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media (max-width:860px){.jc-cards{grid-template-columns:1fr}}
.jc-card{background:#fff;border:1px solid var(--line)!important;border-top:4px solid var(--blue)!important;border-radius:16px;padding:22px}
.jc-card .jc-eyebrow{display:inline-block;margin:0 0 4px;font-size:11px;font-weight:800;letter-spacing:.12em!important;color:var(--blue-dark)!important}
.jc-card h3{margin:0 0 12px;font-size:16px;font-weight:800;color:var(--navy)!important}
.jc-card-body{font-size:14px;color:var(--text)!important}
.jc-card-body .jc-muted{color:var(--muted)!important;font-size:13px}
.jc-card-body a{color:var(--blue)!important;font-weight:700}

.jc-school-item{padding:10px 0;border-bottom:1px solid #eef2f5!important}
.jc-school-item:last-child{border-bottom:0!important}
.jc-school-type{display:inline-block;background:#eef5f0!important;color:#2d6249!important;font-size:11px;border-radius:4px;padding:1px 8px;margin-right:6px}
.jc-school-name{font-weight:800;color:var(--navy)!important}

.jc-price{font-size:22px;font-weight:800;color:var(--navy)!important}
.jc-price-sub{font-size:12px;color:var(--muted)!important;margin-top:2px}

.jc-badge-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.jc-badge{padding:5px 10px;border-radius:99px;font-size:12px;font-weight:800;white-space:nowrap;display:inline-block}
.jc-badge-red{background:#fee2e2!important;color:#b91c1c!important}
.jc-badge-green{background:#dcfce7!important;color:#166534!important}
.jc-badge-gray{background:#e5e7eb!important;color:#4b5563!important}

.jc-more-link{display:inline-block;margin-top:10px;font-size:13px;font-weight:700}

.jc-notes{margin-top:20px;font-size:13px;color:var(--muted)!important}
.jc-notes summary{cursor:pointer;font-weight:700;color:var(--navy)!important}
.jc-notes ul{margin:10px 0 0;padding-left:20px}
