/* 今後の開催予定。1件＝article.sched-item。開閉は details。style.css は触らない。 */
.sched-list{
  max-width:840px;
  margin:0 auto;
  display:grid;
  gap:12px;
}
.sched-item{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px 12px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:14px 16px 12px;
  box-shadow:0 2px 10px rgba(31,58,95,.04);
  min-width:0;
  overflow-wrap:anywhere;
}
.sched-thumb{
  flex:0 0 auto;
  display:block;
  width:76px;
  border-radius:8px;
  overflow:hidden;
  border:1px solid var(--line);
  line-height:0;
}
.sched-thumb img{width:76px;height:auto;display:block}
.sched-thumb:focus-visible{outline:2px solid var(--navy);outline-offset:2px}
.sched-head{flex:1 1 180px;min-width:0}
.sched-flyers{
  display:grid;
  gap:12px;
  margin:0 0 8px;
}
.sched-flyers a{display:block;min-width:0}
.sched-flyers img{
  width:100%;
  height:auto;
  border-radius:12px;
  border:1px solid var(--line);
}
@media(min-width:768px){
  .sched-flyers{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.sched-when,.sched-time,.sched-place,.sched-meta{margin:0}
.sched-when{font-weight:700;color:var(--navy);font-size:15px}
.sched-era{display:inline-block;margin-right:6px}
.sched-time{font-size:14px;color:#475061;margin-top:2px}
.sched-name{margin:6px 0 0;font-size:17px;line-height:1.4}
.sched-place{font-size:14px;margin-top:2px}
.sched-meta{font-size:14px;font-weight:700;color:var(--navy);margin-top:2px}
.sched-actions{margin:0;flex:0 0 auto}
.sched-apply{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--navy);
  color:#fff !important;
  text-decoration:none !important;
  font-weight:700;
  border-radius:999px;
  padding:10px 18px;
  font-size:14px;
  line-height:1.4;
}
.sched-apply:hover{background:var(--navy-2)}
.sched-detail{margin:0;min-width:0;flex:0 0 auto}
.sched-detail[open]{flex:1 0 100%}
.sched-detail summary{
  list-style:none;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:fit-content;
  max-width:100%;
  border:1.5px solid var(--navy);
  color:var(--navy);
  background:#fff;
  border-radius:999px;
  padding:8px 16px;
  font-weight:700;
  font-size:14px;
  line-height:1.4;
}
.sched-detail summary::-webkit-details-marker{display:none}
.sched-detail summary::marker{content:""}
.sched-detail summary .label-open{display:none}
.sched-detail[open] summary .label-closed{display:none}
.sched-detail[open] summary .label-open{display:inline}
.sched-apply:focus-visible,
.sched-detail summary:focus-visible{
  outline:2px solid var(--navy);
  outline-offset:2px;
}
.sched-body{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid var(--line);
  min-width:0;
}
.sched-kicker{margin:0 0 6px;font-size:13px;font-weight:700;color:var(--navy-2);letter-spacing:.08em}
.sched-sub{margin:0 0 8px;font-size:16px;font-weight:700;color:var(--navy)}
.sched-theme{margin:0 0 14px;font-size:15px;color:var(--navy-2);font-weight:700}
.sched-catch{margin:0 0 8px;font-size:15px}
.sched-voice{margin:0 0 16px;font-size:14px;color:#475061}
.sched-body h4{
  font-size:16px;
  margin:22px 0 10px;
  padding-left:12px;
  border-left:4px solid var(--navy-2);
  color:var(--navy);
}
.sched-topics{margin:0;padding-left:1.2em;font-size:15px}
.sched-topics li{margin:0 0 4px}
.sched-slots{list-style:none;margin:0;padding:0;display:grid;gap:8px}
@media(min-width:640px){.sched-slots{grid-template-columns:repeat(3,minmax(0,1fr))}}
.sched-slots li{
  margin:0;
  background:var(--gray);
  border:1px solid var(--line);
  border-radius:12px;
  padding:12px 14px;
  font-weight:700;
  color:var(--navy);
  font-size:15px;
}
.sched-people{display:grid;gap:16px}
@media(min-width:768px){.sched-people{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}
.sched-person{
  background:var(--blue);
  border-radius:14px;
  padding:16px 16px 12px;
  min-width:0;
}
.sched-person .role{margin:0 0 4px;font-size:13px;color:var(--navy-2);font-weight:700}
.sched-person .name{margin:0 0 8px;font-size:18px;font-weight:700;color:var(--navy)}
.sched-person p{font-size:14px}
.sched-bridge{margin-top:18px}
.sched-programs{display:grid;gap:12px}
.sched-programs article{
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  padding:14px 14px 10px;
  min-width:0;
}
.sched-programs h5{margin:0 0 6px;font-size:15px;color:var(--navy);line-height:1.5}
.sched-programs p{font-size:14px;margin:0 0 8px}
.sched-note{font-size:14px;color:#475061}
.sched-body a{color:var(--navy-2);text-decoration:underline;overflow-wrap:anywhere}
.sched-url{font-size:14px;overflow-wrap:anywhere}
.sched-contact{
  background:var(--gray);
  border-radius:14px;
  padding:16px;
  font-size:15px;
}
.sched-contact p{margin:0 0 8px}
.sched-contact p:last-child{margin:0}
.sched-alert{
  background:var(--beige);
  border-radius:14px;
  padding:16px;
  font-size:14px;
}
.sched-alert p{margin:0 0 10px}
.sched-alert p:last-child{margin:0}
.sched-support{margin-top:8px}
