.jbr{--jbr-main:#542a2a;--jbr-base:#f7f4ef;--jbr-accent:#9a8059;color:var(--jbr-main);max-width:1080px;margin:40px auto 80px;line-height:1.7}
.jbr,.jbr *{box-sizing:border-box}
.jbr [hidden]{display:none!important}
.jbr .jbr-heading{margin-bottom:36px;max-width:760px}
.jbr .jbr-kicker{font-size:11px;letter-spacing:.2em;color:var(--jbr-accent);margin:0 0 10px}
.jbr .jbr-heading h2{font-family:"Noto Serif JP","Yu Mincho",serif;font-size:clamp(25px,4vw,34px);font-weight:500;margin:0 0 16px;padding:0;border:0;background:none;color:var(--jbr-main)}
.jbr .jbr-heading h2:before,.jbr .jbr-heading h2:after,.jbr .jbr-result h3:before,.jbr .jbr-result h3:after{display:none}
.jbr .jbr-heading p:not(.jbr-kicker){font-size:14px;margin:0}
.jbr .jbr-filters{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:16px;background:var(--jbr-base);padding:24px}
.jbr .jbr-filters label{font-size:12px;display:block;min-width:0}
.jbr .jbr-filters input,.jbr .jbr-filters select{display:block;width:100%;height:44px;margin:6px 0 0;padding:8px 10px;border:1px solid var(--jbr-accent);border-radius:2px;background:#fff;color:var(--jbr-main);font:inherit;font-size:14px}
.jbr .jbr-number-filter{grid-column:1/3}
.jbr .jbr-reset{align-self:end;height:44px;border:1px solid var(--jbr-main);border-radius:2px;background:var(--jbr-main);color:#fff;font-size:13px;cursor:pointer;padding:8px 18px}
.jbr :is(input,select,button,summary):focus-visible{outline:2px solid var(--jbr-main);outline-offset:4px}
.jbr .jbr-help{font-size:12px;margin:14px 0 28px}
.jbr .jbr-count{font-size:12px;margin:0 0 12px;color:var(--jbr-accent)}
.jbr .jbr-list{border-top:1px solid var(--jbr-accent)}
.jbr .jbr-group{border-bottom:1px solid var(--jbr-accent);margin:0;background:#fff}
.jbr .jbr-group summary{display:grid;grid-template-columns:145px 1fr auto 14px;align-items:center;gap:22px;padding:25px 18px;cursor:pointer;list-style:none}
.jbr summary::-webkit-details-marker{display:none}
.jbr .jbr-date{font-size:19px;font-variant-numeric:tabular-nums;letter-spacing:.03em}
.jbr .jbr-location{min-width:0}
.jbr .jbr-area{display:block;font-size:11px;color:var(--jbr-accent);margin-bottom:3px}
.jbr .jbr-location strong{display:block;font-size:16px;font-weight:500;overflow-wrap:anywhere}
.jbr .jbr-state{font-size:12px;white-space:nowrap}
.jbr .jbr-toggle{width:9px;height:9px;border-right:1px solid var(--jbr-main);border-bottom:1px solid var(--jbr-main);transform:rotate(45deg);transition:transform .15s}
.jbr details[open] .jbr-toggle{transform:rotate(225deg)}
.jbr details[open] summary{background:var(--jbr-base)}
.jbr .jbr-body{padding:8px 30px 30px 185px}
.jbr .jbr-result{padding-top:24px}
.jbr .jbr-result+.jbr-result{margin-top:24px;border-top:1px solid var(--jbr-accent)}
.jbr .jbr-result h3{font-size:16px;font-weight:500;margin:0 0 14px;padding:0;border:0;background:none;color:var(--jbr-main)}
.jbr .jbr-caption{font-size:11px;color:var(--jbr-accent);margin:0 0 10px}
.jbr .jbr-numbers{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px 20px;list-style:none;margin:0;padding:0}
.jbr .jbr-numbers li{font-size:14px;letter-spacing:.03em;margin:0;padding:4px 6px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.jbr .jbr-numbers li.jbr-match{background:var(--jbr-main);color:#fff;font-weight:600}
.jbr .jbr-message,.jbr .jbr-empty{font-size:14px;margin:14px 0}
@media(max-width:640px){
 .jbr{margin:24px auto 48px}.jbr .jbr-heading{margin-bottom:24px}
 .jbr .jbr-filters{grid-template-columns:1fr 1fr;gap:12px;padding:16px}
 .jbr .jbr-filters label:nth-child(3),.jbr .jbr-number-filter{grid-column:1/-1}
 .jbr .jbr-reset{grid-column:2;height:36px}.jbr .jbr-help{margin-bottom:22px}
 .jbr .jbr-group summary{grid-template-columns:1fr auto 12px;gap:6px 12px;padding:16px 10px}
 .jbr .jbr-date{grid-column:1;font-size:17px}.jbr .jbr-state{grid-column:2;grid-row:1;font-size:11px}
 .jbr .jbr-toggle{grid-column:3;grid-row:1/3}.jbr .jbr-location{grid-column:1/3;grid-row:2}
 .jbr .jbr-area{display:inline;margin-right:10px}.jbr .jbr-location strong{display:inline;font-size:14px}
 .jbr .jbr-body{padding:0 14px 22px}.jbr .jbr-result{padding-top:20px}
 .jbr .jbr-numbers{grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:6px 10px}
 .jbr .jbr-numbers li{font-size:12px;padding:4px}.jbr .jbr-result h3{font-size:14px}
}

.jbr .jbr-heading .jbr-policy{margin-top:16px!important;font-size:12px!important}

/* 合否発表後のご案内 */
.jbr .jbr-after-results{margin-top:64px}
.jbr .jbr-badge-info{display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,1.7fr);gap:36px;padding:38px 32px;background:var(--jbr-base);border-top:1px solid var(--jbr-accent)}
.jbr .jbr-info-heading h2,.jbr .jbr-contact-info h2{font-family:"Noto Serif JP","Yu Mincho",serif;font-weight:500;background:none;border:0;color:var(--jbr-main);padding:0;margin:0;font-size:22px;line-height:1.6}
.jbr .jbr-info-heading h2:before,.jbr .jbr-info-heading h2:after,.jbr .jbr-contact-info h2:before,.jbr .jbr-contact-info h2:after{display:none}
.jbr .jbr-info-content p{font-size:14px;margin:0;line-height:1.9}
.jbr .jbr-info-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px 24px;margin-top:24px}
.jbr .jbr-badge-apply{display:inline-block;background:var(--jbr-main);color:#fff;text-decoration:none;border:1px solid var(--jbr-main);border-radius:2px;padding:12px 28px;font-size:14px;text-align:center;transition:opacity .15s}
.jbr .jbr-badge-guide{color:var(--jbr-main);font-size:13px;text-decoration:underline;text-underline-offset:5px;line-height:1.8}
.jbr .jbr-pdf-label{font-size:10px;letter-spacing:.06em;color:var(--jbr-accent);margin-left:8px}
.jbr .jbr-badge-apply:hover{opacity:.85}
.jbr .jbr-info-actions a:focus-visible{outline:2px solid var(--jbr-main);outline-offset:4px}
.jbr .jbr-contact-info{display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,1.7fr);gap:36px;margin-top:36px;padding:28px 32px 0;border-top:1px solid var(--jbr-accent)}
.jbr .jbr-contact-info h2{font-size:18px}
.jbr .jbr-contact-info p{font-size:13px;line-height:1.9;margin:0}
@media(max-width:640px){
 .jbr .jbr-after-results{margin-top:40px}
 .jbr .jbr-badge-info{grid-template-columns:1fr;gap:18px;padding:26px 18px}
 .jbr .jbr-info-heading h2{font-size:21px}
 .jbr .jbr-info-actions{align-items:stretch;flex-direction:column;gap:18px;margin-top:20px}
 .jbr .jbr-badge-apply{width:100%;padding:11px 18px}
 .jbr .jbr-badge-guide{align-self:flex-start}
 .jbr .jbr-contact-info{grid-template-columns:1fr;gap:12px;margin-top:26px;padding:24px 18px 0}
}
