/* ===================== v29：開催概要（?ol=o1〜o3）。成分表示ラベルの小道具をやめる ===================== */
.ol{background:#fff;--iris2:linear-gradient(100deg,#0c6b47 0%,#14936b 30%,#2a7fc4 62%,#7253c9 100%)}
.ol .wrap{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);column-gap:clamp(40px,6vw,96px);align-items:start}
.ol__side{grid-column:1;grid-row:1/3;position:sticky;top:calc(var(--hd) + 32px)}
.ol__ph{margin:36px 0 0}
.ol__ph img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px}
.ol__ph figcaption{margin-top:14px;font-family:"Shippori Mincho B1",serif;font-weight:700;font-size:20px;letter-spacing:.1em;color:#0c6b47}
.ol__keys{display:none;list-style:none}
.ol__sheet{grid-column:2}
.ol__ttl{display:none}
.ol__dl{border-top:1px solid var(--v6-hair)}
.ol__dl>div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:20px;padding:20px 0;border-bottom:1px solid var(--v6-hair)}
.ol__dl dt{font-size:15px;font-weight:700;color:var(--v6-ink)}
.ol__dl dd{margin:0;font-size:15px;line-height:1.8;color:var(--v6-ink2)}
.ol__dl dd b{color:var(--v6-ink);margin-right:.6em}
.ol__note{margin-top:18px;font-size:13px;color:var(--v6-ink2)}
/* 行が順に浮かぶ */
.ol__dl>div{opacity:0;transform:translateY(10px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.ol.in .ol__dl>div,html.static .ol__dl>div{opacity:1;transform:none}
.ol.in .ol__dl>div:nth-child(2){transition-delay:.04s}.ol.in .ol__dl>div:nth-child(3){transition-delay:.08s}.ol.in .ol__dl>div:nth-child(4){transition-delay:.12s}.ol.in .ol__dl>div:nth-child(5){transition-delay:.16s}
.ol.in .ol__dl>div:nth-child(6){transition-delay:.2s}.ol.in .ol__dl>div:nth-child(7){transition-delay:.24s}.ol.in .ol__dl>div:nth-child(8){transition-delay:.28s}.ol.in .ol__dl>div:nth-child(9){transition-delay:.32s}.ol.in .ol__dl>div:nth-child(10){transition-delay:.36s}
@media (max-width:900px){
  .ol .wrap{grid-template-columns:1fr}
  .ol__side{position:relative;top:0;grid-row:auto}
  .ol__sheet{grid-column:1;margin-top:32px}
  .ol__ph{margin-top:20px}
  .ol__dl>div{grid-template-columns:96px minmax(0,1fr);gap:12px;padding:16px 0}
  .ol__dl dt,.ol__dl dd{font-size:14px}
}
.ol__dl dd b{margin-right:0}

/* ---------- o2 要点を大きく：見出しの下に4つの要点（日付・場所・参加費・チーム）を虹色の大きな文字で。残りは2列の一覧 ---------- */
html[data-ol="o2"] .ol .wrap{grid-template-columns:1fr}
html[data-ol="o2"] .ol__side{position:relative;top:0;grid-row:auto}
html[data-ol="o2"] .ol__ph{display:none}
html[data-ol="o2"] .ol__keys{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:48px;border-top:2px solid var(--v6-ink);border-bottom:1px solid var(--v6-hair)}
html[data-ol="o2"] .ol__keys li{padding:28px 24px 26px;border-left:1px solid var(--v6-hair)}
html[data-ol="o2"] .ol__keys li:first-child{border-left:0;padding-left:0}
html[data-ol="o2"] .ol__keys b{display:block;font-family:var(--f-en);font-weight:600;font-size:clamp(44px,4.4vw,68px);line-height:1;letter-spacing:-.03em;background:var(--iris2);-webkit-background-clip:text;background-clip:text;color:transparent}
html[data-ol="o2"] .ol__keys b.jp{font-family:"Shippori Mincho B1",serif;font-weight:700;letter-spacing:.06em;font-size:clamp(38px,3.8vw,58px)}
html[data-ol="o2"] .ol__keys span{display:block;margin-top:12px;font-size:14px;font-weight:700;color:var(--v6-ink)}
html[data-ol="o2"] .ol__keys li{opacity:0;transform:translateY(16px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
html[data-ol="o2"] .ol.in .ol__keys li,html.static .ol__keys li{opacity:1;transform:none}
html[data-ol="o2"] .ol.in .ol__keys li:nth-child(2){transition-delay:.1s}html[data-ol="o2"] .ol.in .ol__keys li:nth-child(3){transition-delay:.2s}html[data-ol="o2"] .ol.in .ol__keys li:nth-child(4){transition-delay:.3s}
html[data-ol="o2"] .ol__sheet{grid-column:1;margin-top:40px}
html[data-ol="o2"] .ol__dl{display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(32px,5vw,72px);border-top:0}
html[data-ol="o2"] .ol__dl>div.k{display:none}
html[data-ol="o2"] .ol__dl>div{grid-template-columns:110px minmax(0,1fr)}
@media (max-width:900px){
  html[data-ol="o2"] .ol__keys{grid-template-columns:1fr 1fr;margin-top:28px}
  html[data-ol="o2"] .ol__keys li{padding:20px 14px;border-top:1px solid var(--v6-hair)}
  html[data-ol="o2"] .ol__keys li:nth-child(odd){border-left:0;padding-left:0}
  html[data-ol="o2"] .ol__keys li:nth-child(-n+2){border-top:0}
  html[data-ol="o2"] .ol__dl{grid-template-columns:1fr}
  html[data-ol="o2"] .ol__dl>div{grid-template-columns:96px minmax(0,1fr)}
}
html[data-ol="o2"] .ol__keys b{height:clamp(52px,5vw,76px);display:flex;align-items:flex-end;line-height:1}html[data-ol="o2"] .ol__keys b>*{display:inline}

/* ---------- o3 白い表：地を明るいグレーにし、審査の採点シートと同じ白い表に。見出し帯つき、左に写真 ---------- */
html[data-ol="o3"] .ol{background:#f3f4f1}
html[data-ol="o3"] .ol__ph figcaption{color:#0c6b47}
html[data-ol="o3"] .ol__sheet{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 1px 0 rgba(20,30,24,.05),0 30px 60px -44px rgba(20,30,24,.4)}
html[data-ol="o3"] .ol__ttl{display:flex;align-items:center;gap:10px;padding:20px 32px;border-bottom:2px solid var(--v6-ink);font-size:15px;font-weight:700;letter-spacing:.14em;color:var(--v6-ink)}
html[data-ol="o3"] .ol__ttl::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--c3)}
html[data-ol="o3"] .ol__ttl::after{content:"2026.11.29 SUN ／ HIROSHIMA";margin-left:auto;font-family:var(--f-en);font-size:12px;font-weight:600;letter-spacing:.08em;color:var(--v6-ink2)}
html[data-ol="o3"] .ol__dl{border-top:0}
html[data-ol="o3"] .ol__dl>div{padding:18px 32px;grid-template-columns:130px minmax(0,1fr)}
html[data-ol="o3"] .ol__dl>div:nth-child(even){background:#fafbf9}
html[data-ol="o3"] .ol__dl>div:last-child{border-bottom:0}
html[data-ol="o3"] .ol__dl dt{color:#0c6b47}
html[data-ol="o3"] .ol__note{padding:0 32px 22px;margin-top:14px}
@media (max-width:900px){
  html[data-ol="o3"] .ol__ttl{padding:16px 18px;flex-wrap:wrap}
  html[data-ol="o3"] .ol__ttl::after{margin-left:0;flex-basis:100%;padding-left:18px}
  html[data-ol="o3"] .ol__dl>div{padding:14px 18px;grid-template-columns:84px minmax(0,1fr)}
  html[data-ol="o3"] .ol__note{padding:0 18px 18px}
}
html[data-ol="o3"] .ol__dl>div{grid-template-columns:100px minmax(0,1fr)}@media (max-width:900px){html[data-ol="o3"] .ol__dl>div{grid-template-columns:84px minmax(0,1fr)}}
@media (max-width:900px){html[data-ol="o3"] .ol__dl>div{grid-template-columns:72px minmax(0,1fr);padding:14px 14px;gap:10px}}
