/* サバゲーサークル: 申請登録と公開募集の情報収集を区分するカードUI。 */
.sbg .circle-directory{max-width:1240px}
.sbg .circle-directory [hidden],.sbg .circle-detail [hidden]{display:none!important}
.sbg .circle-directory .sec{background:transparent;border:0;padding:0;margin-top:29px;box-shadow:none}
.sbg .circle-directory .sec__hd{margin-bottom:17px;border-bottom:0;padding:0}
.sbg .circle-directory .sec__hd:after{display:none}
.sbg .circle-directory .sec__t{font-size:clamp(20px,2.2vw,25px);font-weight:850;color:#253c2b}
.sbg .circle-notice{background:#edf4e9;border:1px solid #bbd4b8;padding:18px 20px;border-radius:10px;color:#36513c;font-size:13px;line-height:1.8;margin-top:22px}
.sbg .circle-notice strong{font-size:14px;font-weight:850}
.sbg .circle-notice p{margin:6px 0 0;line-height:1.8}
.sbg .circle-filter{display:grid;grid-template-columns:minmax(200px,1.6fr) minmax(150px,1fr) minmax(170px,1fr);align-items:end;gap:11px;padding:18px;background:#fff;border:1px solid #dce7d9;border-radius:12px;box-shadow:0 3px 16px rgba(28,51,30,.035)}
.sbg .circle-filter label{display:flex;flex-direction:column;gap:7px;min-width:0;font-size:12px;font-weight:750;color:#34573a}
.sbg .circle-filter input[type=search],.sbg .circle-filter select{height:46px;min-height:46px;width:100%;min-width:0;border:1px solid #c7d8c3;background:#fdfefd;color:#293f30;border-radius:8px;padding:10px 11px;font-size:16px}
.sbg .circle-filter label.circle-filter__recent{display:flex;flex-direction:row;align-items:center;font-size:12px;gap:8px;min-height:43px;padding:4px;cursor:pointer}
.sbg .circle-filter__recent input{width:19px;height:19px;accent-color:#336343}
.sbg #circle-filter-clear{background:#eff5ed;border:1px solid #b6ccb4;border-radius:8px;color:#31573a;min-height:43px;padding:8px 12px;font-weight:800;font-size:12px}
.sbg #circle-filter-clear:hover{background:#ddecda}
.sbg .circle-filter__count{font-size:13px;color:#65766a;margin:13px 0}
.sbg .circle-filter__count strong{color:#2b5735;font-size:17px;font-variant-numeric:tabular-nums}
.sbg .circle-directory .circle-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;border:0;margin-top:12px}
.sbg .circle-directory .circle-item{display:flex;flex-direction:column;gap:10px;align-items:stretch;min-width:0;min-height:285px;padding:18px 17px 16px;background:#fff;border:1px solid #d9e4d6;border-radius:12px;box-shadow:0 3px 13px rgba(27,49,28,.04)}
.sbg .circle-directory .circle-item:hover{border-color:#a7bda1;box-shadow:0 6px 18px rgba(26,43,27,.07)}
.sbg .circle-item__index{font-size:11px;line-height:1.3;color:#849283;letter-spacing:.11em;font-weight:800}
.sbg .circle-item__main{min-width:0;flex:1}
.sbg .circle-item__badges{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 11px}
.sbg .circle-item__origin,.sbg .circle-item__status{display:inline-flex;align-items:center;padding:4px 8px;border-radius:5px;font-size:10.5px;line-height:1.45;font-weight:750}
.sbg .circle-item__origin.is-editorial{background:#eef0e9;color:#52634f;border:1px solid #d4ddd2}
.sbg .circle-item__origin.is-member{background:#dfeee1;color:#285d37;border:1px solid #b4d2b2}
.sbg .circle-item__status{background:#fdf3e6;color:#835523;border:1px solid #ead7b6}
.sbg .circle-item h3{font-size:18px;line-height:1.45;font-weight:850;color:#253f2b;margin:0 0 8px;overflow-wrap:anywhere}
.sbg .circle-item h3 a{color:#243e2d;text-decoration:none}
.sbg .circle-item h3 a:hover{text-decoration:underline;color:#ab4d1a}
.sbg .circle-item__summary{font-size:13px;line-height:1.8;color:#526653;margin:0 0 13px}
.sbg .circle-item__facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 14px;margin:0;padding:0}
.sbg .circle-item__facts div{min-width:0}
.sbg .circle-item__facts dt{font-size:10.5px;color:#78907b;line-height:1.4;font-weight:750}
.sbg .circle-item__facts dd{font-size:12.5px;color:#324f3a;line-height:1.6;font-weight:750;overflow-wrap:anywhere;margin:2px 0 0}
.sbg .circle-item__source{font-size:11px;color:#6f7a6c;margin:13px 0 0;line-height:1.7;border-top:1px solid #e8eee5;padding-top:11px}
.sbg .circle-item__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:auto}
.sbg .circle-item__actions a{display:flex;justify-content:center;align-items:center;gap:8px;text-align:center;padding:10px 9px;min-height:44px;border-radius:7px;font-size:12.5px;font-weight:800;line-height:1.4;text-decoration:none}
.sbg .circle-item__detail{background:#2d5538;color:#fff}
.sbg .circle-item__detail:hover{background:#204329;color:#fff}
.sbg .circle-item__external{background:#f5f8f2;color:#375e3a;border:1px solid #bfd1bc}
.sbg .circle-item__external:hover{background:#e9f2e6;color:#2a5333}
.sbg .circle-register,.sbg .circle-policy{border-top:1px solid #d9e3d9;padding-top:22px!important}
.sbg .circle-register p,.sbg .circle-policy p{font-size:13px;line-height:1.85;color:#586a5b}
.sbg .circle-register__button{display:inline-flex;justify-content:center;align-items:center;gap:16px;min-height:46px;padding:10px 20px;background:#b84a18;color:#fff;border-radius:8px;font-size:13px;font-weight:850;margin-top:10px;text-decoration:none}
.sbg .circle-register__button:hover{background:#963711;color:#fff}
.sbg .circle-empty-filter{background:#fff;border:1px dashed #b3cbb1;text-align:center;padding:29px 18px;border-radius:9px;color:#526652}
.sbg .circle-detail__notice{padding:10px 13px!important;margin:14px 0 0!important;max-width:610px;color:#f4e8d4;background:rgba(255,255,255,.07);border-left:3px solid #ddb98f;font-size:13px;line-height:1.8;max-height:none;overflow:visible}
.sbg .circle-detail__sourcebox{padding:18px 21px;margin:21px 0;border:1px solid #d6e4d2;background:#f4f9f1;border-radius:12px;color:#2f4934}
.sbg .circle-detail__origin{display:inline-block;padding:3px 9px;margin:0 0 9px;background:#e4eee0;color:#35613b;border:1px solid #bfd1ba;border-radius:5px;font-size:11px;font-weight:850}
.sbg .circle-detail__sourcebox>strong{display:block;color:#2c4a35;font-size:16px;font-weight:850}
.sbg .circle-detail__sourcebox>p{font-size:13px;color:#546655;line-height:1.8;margin:9px 0 10px}
.sbg .circle-detail__sourcebox dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 14px;margin:13px 0}
.sbg .circle-detail__sourcebox dl>div{min-width:0}
.sbg .circle-detail__sourcebox dt{font-size:11px;color:#738373;font-weight:750}
.sbg .circle-detail__sourcebox dd{font-size:13px;font-weight:800;color:#35563e;overflow-wrap:anywhere;margin:3px 0 0}
.sbg .circle-detail__sourcebox>a{display:inline-flex;gap:8px;align-items:center;min-height:44px;padding:10px 12px;background:#2e5838;border-radius:7px;color:#fff;text-decoration:none;font-size:13px;font-weight:800}
.sbg .circle-detail__sourcebox>a:hover{background:#21442b;color:#fff}
.sbg .circle-detail__content{margin-top:9px;font-size:15px;line-height:1.95;max-width:83ch}
@media(max-width:900px){
 .sbg .circle-filter{grid-template-columns:repeat(2,minmax(0,1fr))}
 .sbg .circle-directory .circle-cards{gap:10px}
 .sbg .circle-directory .circle-item{padding:16px 14px}
}
@media(max-width:760px){
 .sbg .circle-directory .sec{margin-top:20px}
 .sbg .circle-notice{margin-top:11px;padding:13px 14px;font-size:12px}
 .sbg .circle-notice strong{font-size:13px}
 .sbg .circle-filter{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px;background:#fff;padding:12px;border-radius:10px}
 .sbg .circle-filter>label:first-child{grid-column:1/-1}
 .sbg .circle-filter label{font-size:11.5px}
 .sbg .circle-filter label.circle-filter__recent{min-width:0}
 .sbg .circle-filter input[type=search],.sbg .circle-filter select{height:44px;min-height:44px;font-size:16px;padding:9px 10px}
 .sbg .circle-filter__count{margin:10px 0}
 .sbg .circle-directory .circle-cards{grid-template-columns:minmax(0,1fr);gap:10px}
 .sbg .circle-directory .circle-item{min-height:0;padding:15px 14px;border-radius:13px}
 .sbg .circle-item h3{font-size:17px}
 .sbg .circle-item__summary{font-size:13px;line-height:1.75}
 .sbg .circle-item__facts dd{font-size:12px}
 .sbg .circle-item__actions a{font-size:12px;min-height:46px}
 .sbg .circle-detail__sourcebox{padding:15px 13px;margin:12px 0}
 .sbg .circle-detail__sourcebox dl{grid-template-columns:repeat(2,minmax(0,1fr))}
 .sbg .circle-detail__sourcebox>strong{font-size:15px}
 .sbg .circle-detail__notice{font-size:12px}
}
@media(max-width:370px){
 .sbg .circle-filter{grid-template-columns:minmax(0,1fr)}
 .sbg .circle-filter>label:first-child{grid-column:1}
 .sbg .circle-item__facts{grid-template-columns:minmax(0,1fr);gap:8px}
 .sbg .circle-item__actions a{font-size:11.5px}
}

/* ほかのイベントも行う団体、元情報の要点検を文字色と文言で示す。 */
.sbg .circle-item__scope,.sbg .circle-item__review{display:inline-flex;align-items:center;padding:4px 8px;border-radius:5px;font-size:11px;line-height:1.5;font-weight:750}
.sbg .circle-item__scope{color:#4c5969;background:#eef3f8;border:1px solid #d3dce7}
.sbg .circle-item__review{color:#89532b;background:#fff5e9;border:1px solid #e5d2b8}
.sbg .circle-detail__event{font-size:12px!important;line-height:1.75;color:#596d5b;margin:13px 0 0!important;padding-top:12px;border-top:1px solid #d8e5d2}
.sbg .circle-detail__event a{color:#295d36;text-decoration:underline;min-height:42px;display:inline-flex;align-items:center;font-weight:800}

/* 申請登録／公開募集／団体公式の3種を区別する表示（認証バッジではない）。 */
.sbg .circle-item__origin.is-official{
  background:#e4ecfa;
  border:1px solid #bacfeb;
  color:#32557e;
  font-weight:800;
}

/* Incremental listing: all circles remain present in SSR for crawlers/no-JS visitors. */
.sbg .circle-more{display:flex;width:100%;align-items:center;justify-content:center;min-height:50px;
  margin:15px 0 0;padding:12px 17px;background:#fff;color:#2a6036;border:1px solid #9fbd9e;
  border-radius:10px;font-size:13px;font-weight:850;cursor:pointer}
.sbg .circle-more:hover{background:#e9f3e5;border-color:#79a879}
.sbg .circle-more[hidden]{display:none!important}

/* 既存の公開募集と照合できた、団体が示す別サイトへの導線。認証済バッジではない。 */
.sbg .circle-item__primary-tag{display:inline-flex;align-items:center;min-height:24px;
  border:1px solid #b7cebc;border-radius:5px;background:#edf7ed;color:#305c39;
  padding:4px 8px;font-size:11px;font-weight:800;line-height:1.45}
.sbg .circle-item__primary-link{display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:5px 10px;padding:10px 3px 0;margin-top:1px;border-top:1px solid #e1eae0}
.sbg .circle-item__primary-link a{font-size:12.5px;color:#2d6440;font-weight:800;
  text-decoration:underline;text-underline-offset:2px;min-height:35px;display:inline-flex;align-items:center}
.sbg .circle-item__primary-link a:hover{color:#a34720}
.sbg .circle-item__primary-link small{font-size:11px;color:#6d7d6b}
.sbg .circle-detail__primary-site{padding:15px 16px;border-top:1px solid #d8e6d6;
  margin-top:18px;background:#f2f7f0;border-radius:8px}
.sbg .circle-detail__primary-site>span{display:block;color:#59705c;font-size:11px;font-weight:850;
  margin-bottom:5px;letter-spacing:.03em}
.sbg .circle-detail__primary-site strong{display:block;color:#2b5235;font-size:15px;line-height:1.5}
.sbg .circle-detail__primary-site p{font-size:12px;color:#566c59;line-height:1.85;margin:9px 0}
.sbg .circle-detail__primary-site a{display:inline-flex;align-items:center;min-height:44px;
  color:#fff;background:#2c5d3b;border-radius:8px;font-size:12.5px;font-weight:850;
  padding:10px 14px;text-decoration:none}
.sbg .circle-detail__primary-site a:hover{background:#1e4a2c;color:#fff}
.sbg .circle-detail__primary-site small{display:block;color:#718472;font-size:11px;margin:8px 0 0}
@media(max-width:760px){
 .sbg .circle-item__primary-link{gap:0 12px}
 .sbg .circle-item__primary-link a{min-height:44px;font-size:12px}
 .sbg .circle-detail__primary-site{padding:12px;margin-top:13px}
}

.sbg .circle-directory .circle-discovery > .sec__hd{border-top:0}

.circle-directory .sbg-site-capture,.circle-detail .sbg-site-capture{float:none;margin:0 0 16px;width:100%;max-width:680px}
.circle-directory .sbg-site-capture img,.circle-detail .sbg-site-capture img{display:block;width:100%;height:auto;border:1px solid #dce7d9;border-radius:9px;aspect-ratio:8/5;object-fit:contain;background:#f5f4ed}
.circle-directory .sbg-site-capture figcaption,.circle-detail .sbg-site-capture figcaption{font-size:11px;line-height:1.8;margin-top:7px;color:#54664c}
.circle-capture-empty{font-size:11px;color:#61705b;margin:0 0 12px}.circle-official-preview{margin:24px 0}.circle-official-preview h2{font-size:22px}
