/* GOOD CYCLE FES イベントページ v1（2026-10-06）：パートナー一覧 専用 */
/* パートナー一覧 */
.h1-pt{font-size:clamp(28px,4vw,52px)}
.jump{list-style:none;padding:0;margin:24px 0 0;display:flex;flex-wrap:wrap;gap:10px}
.jump a{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:2px solid var(--ink);border-radius:999px;background:var(--white);font-weight:900;font-size:14px;text-decoration:none;box-shadow:3px 4px 0 var(--ink)}
.jump a:hover{background:var(--green-pale)}
.web-art{position:relative;justify-self:center;width:min(100%,420px);aspect-ratio:1}
.web-l{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:var(--green-deep);stroke-width:2.5;stroke-dasharray:6 7}
.nd{position:absolute;display:grid;place-content:center;text-align:center;width:92px;aspect-ratio:1;border:var(--bd);border-radius:50%;background:var(--white);box-shadow:3px 4px 0 var(--ink);font-weight:900;font-size:13px;line-height:1.25;translate:-50% -50%;z-index:1}
.nd b{font-family:var(--f-en);font-size:24px;color:var(--green-deep);line-height:1}
.n1{left:17.5%;top:20%}.n2{left:82.5%;top:20%}.n3{left:10%;top:55%;background:var(--mint)}
.n4{left:90%;top:55%;background:var(--paper-2)}.n5{left:27.5%;top:87.5%;background:var(--yellow);width:104px}.n6{left:72.5%;top:87.5%;background:var(--green-pale)}
.n5 b{color:var(--ink)}
.c-ecoba-t{position:absolute;left:50%;top:50%;width:150px;translate:-50% -52%;z-index:2}

.h2.sm{font-size:clamp(22px,2.4vw,28px);margin:8px 0 16px}
.core3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}
.core3 > div{display:grid;grid-template-rows:auto auto 1fr}
.pgrid{display:grid;gap:22px;margin-top:30px}
.pgrid.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.pgrid.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.pc{background:var(--white);border:var(--bd);border-radius:18px;box-shadow:var(--sh);padding:16px 16px 18px;display:grid;grid-template-rows:auto auto auto 1fr auto;gap:6px;align-content:start}
.pc-logo{display:grid;place-items:center;aspect-ratio:16/9;background:var(--white);border:1.5px solid var(--rule);border-radius:12px;padding:12px;margin-bottom:6px;overflow:hidden}
.pc-logo img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.lg-ph{font-weight:900;font-size:13px;color:var(--gray);text-align:center;line-height:1.5;border:1.5px dashed var(--rule);border-radius:8px;padding:8px 10px}
.pc-no{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:900;color:var(--green-deep)}
.pc-no span{font-family:var(--f-en);background:var(--ink);color:var(--paper);border-radius:6px;padding:1px 7px;font-size:11px;letter-spacing:.04em}
.pc-name{font-weight:900;font-size:17px;line-height:1.45}
.pc-desc{font-size:13.5px;color:var(--gray);line-height:1.7}
.pc-links{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:6px}
.tl{display:inline-flex;align-items:center;gap:6px;font-weight:900;font-size:14px;text-decoration:none;border-bottom:2.5px solid var(--ink);padding-bottom:1px}
.tl.sub{font-weight:700;font-size:13px;border-bottom-width:1.5px;color:var(--green-deep);border-color:var(--green-deep)}
.pc.big{padding:20px 20px 22px}
.pc.big .pc-name{font-size:19px}
.end-p{max-width:36em;margin:10px auto 0;font-weight:500 !important}

@media (max-width:1100px){.pgrid.g4{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:960px){
  .core3{grid-template-columns:minmax(0,1fr)}
  .pgrid.g3,.pgrid.g4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .web-art{width:min(100%,380px)}
}
@media (max-width:560px){
  .pgrid.g3,.pgrid.g4{grid-template-columns:minmax(0,1fr)}
  .pc{grid-template-columns:96px minmax(0,1fr);grid-template-rows:none;column-gap:14px;align-items:start}
  .pc-logo{grid-row:span 4;aspect-ratio:1;padding:8px;margin:0}
  .pc-links{grid-column:1 / -1}
  .nd{width:76px;font-size:12px}
  .nd b{font-size:20px}
  .n5{width:86px}
  .c-ecoba-t{width:118px}
  .jump a{min-height:40px;font-size:13px;padding:0 12px}
}

/* 2026-10-08 ヒーロー右：ロゴのモザイク＋合計（社長選定 案C） */
.web-art.mosaic{aspect-ratio:auto;width:min(100%,460px)}
.mz{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.mz .mt{display:grid;place-items:center;aspect-ratio:1/1;padding:10px;background:var(--white);border:2px solid var(--ink);border-radius:14px;box-shadow:2px 3px 0 var(--ink)}
.mz .mt img{max-width:100%;max-height:100%;object-fit:contain}
.mz-total{grid-column:2/4;grid-row:2/4;align-self:center;justify-self:center;display:grid;place-content:center;width:92%;aspect-ratio:1/1;border:var(--bd);border-radius:50%;background:var(--yellow);box-shadow:3px 4px 0 var(--ink);text-align:center;font-weight:900;font-size:14px;line-height:1.3}
.mz-total b{font-family:var(--f-en);font-style:italic;font-size:clamp(44px,5.4vw,64px);line-height:1;color:var(--ink)}
@media (max-width:560px){.mz{gap:8px}.mz .mt{padding:7px;border-radius:12px}.mz-total{font-size:12px}}

/* 2026-10-08 縦長ロゴがカードの枠で切れないように（枠いっぱいに収める） */
.pc-logo{position:relative}
.pc-logo img{position:absolute;inset:12px;width:calc(100% - 24px);height:calc(100% - 24px);max-width:none;max-height:none;object-fit:contain}
@media (max-width:560px){.pc-logo img{inset:8px;width:calc(100% - 16px);height:calc(100% - 16px)}}

/* 2026-10-16 監査：タブレット幅(561〜960px)で主催・メディア・協力カードのロゴが巨大化するのを防ぐ＋社名の改行位置 */
@media (max-width:960px) and (min-width:561px){.core3 .pc{grid-template-columns:150px minmax(0,1fr);grid-template-rows:none;column-gap:18px;align-items:start}.core3 .pc-logo{grid-row:span 4;aspect-ratio:1;padding:10px;margin:0}.core3 .pc-links{grid-column:1 / -1}}
.pc-name{word-break:keep-all;overflow-wrap:anywhere}
