/* GOOD CYCLE FES イベントページ v1（2026-10-06）：企業ブース＆マルシェ 専用 */
/* 企業ブース＆地産地消マルシェ */
.cats{list-style:none;padding:0;margin:22px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.cats li{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:700;padding:5px 12px;border-radius:999px;background:var(--green-pale);color:var(--green-deep)}
.cats .ic{font-size:16px}
.verb-art{position:relative;justify-self:center;width:min(100%,440px);height:400px}
.vb{position:absolute;display:grid;place-items:center;border:var(--bd);box-shadow:4px 5px 0 var(--ink);font-weight:900;font-size:22px;border-radius:50%}
.v1{left:2%;top:4%;width:150px;height:150px;background:var(--yellow);rotate:-8deg}
.v2{left:42%;top:0;width:118px;height:118px;background:var(--white);rotate:6deg}
.v3{left:6%;top:47%;width:126px;height:126px;background:var(--mint);rotate:5deg}
.v4{right:0;top:28%;width:136px;height:136px;background:var(--white);border-radius:24px;rotate:-5deg;font-size:20px}
.c-ecoba-flag{position:absolute;left:38%;bottom:0;width:200px;z-index:2}

.status{display:flex;align-items:center;gap:12px;margin:20px 0 22px;font-size:14px;color:var(--gray)}
.status .ic{font-size:22px;color:var(--green-deep)}
.status b{display:block;color:var(--ink);font-size:16px}
.pick{border:var(--bd);border-radius:22px;background:var(--white);box-shadow:var(--sh);overflow:hidden}
.pick-btns{display:flex;flex-wrap:wrap;gap:8px;padding:16px;background:var(--paper-2);border-bottom:var(--bd)}
.pick-btns button{min-height:44px;padding:0 16px;border:2px solid var(--ink);border-radius:999px;background:var(--white);color:var(--ink);font-family:var(--f-ja);font-weight:900;font-size:14px;cursor:pointer}
.pick-btns button.on{background:var(--ink);color:var(--paper)}
.pick-p{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(16px,3vw,36px);align-items:center;padding:clamp(18px,3vw,30px)}
.pick-p .chara{width:clamp(110px,12vw,150px);animation:popt .5s cubic-bezier(.3,1.5,.5,1) both}
.pick-p > div{display:grid;gap:10px;justify-items:start}
.pick-p h3{font-weight:900;font-size:clamp(20px,2.3vw,26px)}
.empty{border:2px dashed var(--rule);border-radius:14px;padding:14px 18px;font-size:14px;color:var(--gray);line-height:1.7;width:100%}
.empty b{display:block;color:var(--ink);font-size:16px}

.how-read{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,4vw,56px);align-items:start;margin-top:44px}
.sample{position:relative;background:var(--white);border:var(--bd);border-radius:18px;box-shadow:var(--sh);padding:20px;display:grid;gap:10px;rotate:-1.2deg}
.sample::after{content:"見本";position:absolute;right:16px;top:-14px;background:var(--yellow);border:2px solid var(--ink);border-radius:8px;padding:0 10px;font-weight:900;font-size:13px}
.s-top{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.s-no{font-family:var(--f-en);font-weight:900;font-size:14px;background:var(--ink);color:var(--paper);border-radius:8px;padding:3px 10px}
.s-tag{font-size:12px;font-weight:900;border:1.5px solid var(--green-deep);color:var(--green-deep);border-radius:999px;padding:1px 10px}
.s-tag.ok{background:var(--green-deep);color:var(--white)}
.s-name{font-weight:900;font-size:20px}
.s-dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 14px;margin:0;font-size:14px}
.s-dl dt{font-weight:900;color:var(--green-deep)}
.s-dl dd{margin:0;color:var(--gray);border-bottom:1.5px dashed var(--rule);padding-bottom:4px}
.hr-txt{position:relative;display:grid;gap:12px;align-content:start}
.hr-txt h3{font-weight:900;font-size:clamp(20px,2.3vw,26px);padding-right:110px}
.hr-txt > p{color:var(--gray);font-size:15px;padding-right:110px}
.c-moguta-s{position:absolute;right:0;top:-10px;width:110px}
.count40{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:center;background:var(--green-deep);color:var(--white);border:var(--bd);border-radius:16px;padding:16px 18px;margin-top:8px}
.c40{display:flex;align-items:baseline;gap:2px;font-weight:900}
.c40 b{font-family:var(--f-en);font-size:56px;line-height:1;color:var(--yellow)}
.c40 span{font-size:18px}
.c40-h{font-weight:900;font-size:16px;line-height:1.5}
.count40 p + p{font-size:13px;color:#E3EFE6}

.marche{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(20px,4vw,48px);align-items:center}
.c-ichika-b{width:clamp(130px,15vw,190px)}
.marche .chips{margin-top:16px}

.partner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:20px 32px;align-items:center}
.p-ic{width:84px;height:84px;border-radius:24px;border:var(--bd);background:var(--green-pale);box-shadow:var(--sh);display:grid;place-items:center;font-size:42px;color:var(--green-deep)}

.mapbox{position:relative;margin-top:30px;border:var(--bd);border-radius:20px;background:var(--white);box-shadow:var(--sh);overflow:hidden;min-height:300px;display:grid;place-items:center}
.map-grid{position:absolute;inset:18px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;opacity:.35}
.map-grid span{display:grid;place-items:center;border:2px dashed var(--gray);border-radius:10px;font-family:var(--f-en);font-weight:800;font-size:13px;color:var(--gray)}
.map-msg{position:relative;z-index:1;background:var(--paper);border:var(--bd);border-radius:16px;box-shadow:var(--sh);padding:20px 24px;max-width:520px;text-align:center;display:grid;gap:6px;margin:24px}
.map-msg b{font-weight:900;font-size:20px}

.recruit{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px 28px;align-items:center;background:var(--white);border:var(--bd);border-radius:22px;box-shadow:var(--sh);padding:clamp(18px,3vw,30px);margin-top:34px}
.recruit .chara{width:110px}
.recruit h3{font-weight:900;font-size:clamp(18px,2vw,22px);line-height:1.5;margin:6px 0}
.recruit p{color:var(--gray);font-size:14px}

@media (max-width:960px){
  .verb-art{height:360px;width:min(100%,400px)}
  .how-read{grid-template-columns:minmax(0,1fr)}
  .partner{grid-template-columns:auto minmax(0,1fr)}
  .partner .btn{grid-column:1 / -1;justify-self:start}
  .recruit{grid-template-columns:auto minmax(0,1fr)}
  .recruit .btn{grid-column:1 / -1;justify-self:start}
}
@media (max-width:560px){
  .verb-art{height:300px}
  .vb{font-size:17px}
  .v1{width:112px;height:112px}
  .v2{width:92px;height:92px;left:40%}
  .v3{width:96px;height:96px;top:50%}
  .v4{width:104px;height:104px;font-size:15px}
  .c-ecoba-flag{width:146px;left:36%}
  .pick-btns{padding:12px;gap:6px}
  .pick-btns button{padding:0 12px;font-size:13px}
  .pick-p{grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center}
  .pick-p > div{justify-items:center}
  .hr-txt h3,.hr-txt > p{padding-right:84px}
  .c-moguta-s{width:80px}
  .marche{grid-template-columns:minmax(0,1fr);justify-items:center}
  .partner{grid-template-columns:minmax(0,1fr)}
  .partner .btn,.recruit .btn{width:100%}
  .map-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .map-msg{padding:16px}
  .map-msg b{font-size:17px}
  .recruit{grid-template-columns:minmax(0,1fr);justify-items:start}
  .recruit .chara{width:90px}
}
