.prereg-hero-art{position:relative;overflow:hidden;padding:35px 40px 28px;border-radius:8px;background:radial-gradient(circle at 14% 8%,#d8edf7 0,transparent 42%),radial-gradient(circle at 85% 85%,#f2d1b1 0,transparent 46%),linear-gradient(145deg,#e6f0f2,#f9efe5 63%,#f3ddc4);color:#23322f}
.prereg-kicker{margin:0 0 19px;font-size:16px;font-weight:850;letter-spacing:.02em}
.prereg-hero-art h1{margin:0;font-size:clamp(44px,6vw,64px);font-weight:900;line-height:1.28;letter-spacing:-.04em}
.prereg-subtitle{margin:17px 0 0;font-size:23px;font-weight:850;line-height:1.55}
.prereg-people{display:flex;align-items:start;gap:22px;margin-top:30px}
.prereg-person{width:110px;text-align:center;font-size:14px;font-weight:850;line-height:1.5}
.prereg-person img,.prereg-initial{display:flex;align-items:center;justify-content:center;width:100px;height:100px;margin:0 auto 7px;object-fit:cover;object-position:center;border:5px solid #fffdf8;border-radius:18px;box-shadow:0 8px 24px #3447361a}
.prereg-person img[src*="yoshino"]{object-position:40% center}
.kimura-photo-crop{position:relative;display:block;overflow:hidden;background:#ebe6e2}
.prereg-person .kimura-photo-crop{width:100px;height:100px;margin:0 auto 7px;border:5px solid #fffdf8;border-radius:18px;box-shadow:0 8px 24px #3447361a}
.kimura-photo-crop img{position:absolute;display:block;width:450%;height:auto;max-width:none;left:4%;top:-37%;border:0;border-radius:0;box-shadow:none}
.kimura-photo-crop::after{content:"";position:absolute;inset:0 0 0 auto;width:16%;background:#eae7e6}
.speaker-photo-kimura{flex:none;width:88px;height:88px;border-radius:3px}
.prereg-initial{background:#315c5b;color:#fffdf8;font-size:27px;letter-spacing:.03em}
.prereg-art-status{display:flex;flex-wrap:wrap;align-items:center;gap:7px 16px;margin:28px 0 0;padding-top:17px;border-top:1px solid #778d7d5c;font-size:16px;font-weight:850}
.prereg-art-status span{display:inline-block;padding:7px 15px;border-radius:999px;background:linear-gradient(105deg,#f2c37d,#efadba);color:#23322f}
.speaker-photo-pending{display:flex;flex:none;align-items:center;justify-content:center;width:88px;height:88px;border-radius:3px;background:#315c5b;color:#fffdf8;font-size:24px;font-weight:850}
.prereg-hero-art+.hero-catch{margin-top:21px}
@media(min-width:700px){.speaker-photo-kimura{width:105px;height:105px}}
@media(max-width:699px){.prereg-hero-art{padding:22px 20px 20px}.prereg-kicker{margin-bottom:14px;font-size:13px}.prereg-hero-art h1{font-size:clamp(38px,10vw,54px);line-height:1.27}.prereg-subtitle{margin-top:10px;font-size:16px}.prereg-people{justify-content:space-between;gap:7px;margin-top:20px}.prereg-person{width:31%;font-size:12px}.prereg-person img,.prereg-initial,.prereg-person .kimura-photo-crop{width:72px;height:72px;margin-bottom:6px;border-width:3px;border-radius:12px}.prereg-initial{font-size:20px}.prereg-art-status{margin-top:20px;padding-top:13px;font-size:13px}.prereg-art-status span{padding:5px 12px}}
@media(max-width:360px){.prereg-hero-art{padding-inline:16px}.prereg-hero-art h1{font-size:36px}.prereg-person img,.prereg-initial,.prereg-person .kimura-photo-crop{width:64px;height:64px}}
.prereg-person .kimura-photo-crop img,.speaker-photo-kimura img{position:absolute;width:450%;height:auto;max-width:none;left:4%;top:-37%;border:0;border-radius:0;box-shadow:none;object-fit:initial}

/* 開催日・曜日・時間を一つのまとまりにする。 */
.prereg-date-rail{display:flex;align-items:center;gap:16px;margin-top:27px;padding-top:16px;border-top:2px solid #33544a;color:#233e36}
.prereg-free{display:inline-flex;align-items:center;justify-content:center;flex:none;padding:8px 12px;background:#fffaf1;border:1px solid #d1d7cc;border-radius:2px;font-size:15px;font-weight:850;white-space:nowrap}
.prereg-datetime{display:inline-flex;align-items:center;gap:10px;white-space:nowrap;line-height:1}
.prereg-datetime strong{font-size:clamp(48px,4.5vw,57px);font-weight:900;letter-spacing:-.075em;font-variant-numeric:tabular-nums}
.prereg-weekday{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid #758980;font-size:18px;font-weight:850}
.prereg-clock{margin-left:7px;font-size:clamp(23px,2.35vw,29px);font-weight:900;letter-spacing:-.045em;white-space:nowrap;font-variant-numeric:tabular-nums}
.prereg-event-status{margin-left:auto;font-size:12px;font-weight:750;line-height:1.4;white-space:nowrap}
@media(min-width:900px){
  .prereg-hero-art{display:grid;grid-template-columns:minmax(0,1fr) 385px;grid-template-areas:'kicker kicker' 'title people' 'subtitle people' 'date date';column-gap:20px}
  .prereg-kicker{grid-area:kicker}
  .prereg-hero-art h1{grid-area:title;font-size:47px;white-space:nowrap}
  .prereg-subtitle{grid-area:subtitle;align-self:start;margin-top:14px;font-size:20px}
  .prereg-people{grid-area:people;align-self:start;justify-content:space-between;gap:10px;margin-top:4px}.prereg-person{width:120px;font-size:13px}.prereg-person img,.prereg-person .kimura-photo-crop{width:116px;height:116px;border-width:4px}
  .prereg-date-rail{grid-area:date}
}
@media(max-width:699px){
  .prereg-date-rail{display:grid;grid-template-columns:1fr auto;grid-template-areas:'free status' 'date date';column-gap:8px;row-gap:9px;margin-top:20px;padding-top:13px}
  .prereg-free{grid-area:free;justify-self:start;padding:7px 9px;font-size:13px}
  .prereg-datetime{grid-area:date;gap:8px}
  .prereg-datetime strong{font-size:clamp(42px,11.2vw,50px)}
  .prereg-weekday{width:30px;height:30px;font-size:16px}
  .prereg-clock{margin-left:2px;font-size:clamp(20px,5.6vw,24px)}
  .prereg-event-status{grid-area:status;justify-self:end;margin-left:0;font-size:10px;line-height:1.25}
}
@media(max-width:360px){.prereg-hero-art h1{font-size:32px;line-height:1.22}.prereg-datetime{flex-wrap:wrap;gap:6px 8px}.prereg-datetime strong{font-size:42px}.prereg-clock{margin-left:0;flex-basis:100%;font-size:22px}}

/* 参考の日時帯の階層を、ページの色に合わせて使う。 */
.prereg-date-rail{margin:27px -40px -28px;padding:13px 40px 16px;border-top:0;background:linear-gradient(100deg,#20535a,#397c80);color:#fffdf8}
.prereg-free{padding:9px 13px;border:0;border-radius:999px;background:#f1b9ac;color:#22372f}
.prereg-datetime{display:flex;flex-direction:column;align-items:flex-start;gap:1px}
.prereg-year{font-size:14px;font-weight:850;letter-spacing:.08em;line-height:1}
.prereg-datetime-line{display:flex;align-items:center;gap:11px;line-height:1;white-space:nowrap}
.prereg-datetime-line strong{font-size:54px;letter-spacing:-.06em}
.prereg-weekday{width:36px;height:36px;border:0;border-radius:3px;background:#fffdf8;color:#c8753e;font-size:21px}
.prereg-clock{margin-left:2px;font-size:29px;letter-spacing:-.035em}
.prereg-event-status{font-size:12px;color:#fffdf8;opacity:.94}
@media(max-width:699px){
  .prereg-date-rail{margin:20px -20px -20px;padding:14px 20px 17px;row-gap:10px}
  .prereg-free{padding:7px 11px;font-size:12px}
  .prereg-year{font-size:12px}
  .prereg-datetime-line{gap:7px}
  .prereg-datetime-line strong{font-size:clamp(38px,10.6vw,48px)}
  .prereg-weekday{width:29px;height:29px;font-size:17px}
  .prereg-clock{margin-left:1px;font-size:clamp(19px,5.4vw,23px)}
}
@media(max-width:360px){
  .prereg-date-rail{margin-inline:-16px;padding-inline:16px}
  .prereg-datetime-line{flex-wrap:wrap;gap:5px 8px}
  .prereg-clock{flex-basis:100%;margin-left:0;font-size:22px}
}

/* 2026-10-31: 文字、登壇者、開催情報の整列。 */
.prereg-kicker,.prereg-hero-art h1,.prereg-subtitle{margin-left:27px}
.prereg-kicker::after{content:"";display:block;width:66px;height:4px;margin-top:11px;background:#e88942}
.prereg-hero-art h1{line-height:1.17}
.prereg-title-line{display:inline-block;position:relative}
.prereg-hang{position:absolute;right:100%;top:0}
.prereg-subtitle{margin-top:24px}
.prereg-person{line-height:1.25}
.prereg-person .prereg-photo{position:relative;display:block;overflow:hidden;width:116px;height:116px;margin:0 auto 7px;border:4px solid #fffdf8;border-radius:16px;background:#e5e2db;box-shadow:0 8px 24px #3447361a}
.prereg-person .prereg-photo>img{display:block;width:100%;height:100%;margin:0;border:0;border-radius:0;box-shadow:none;object-fit:cover;filter:saturate(.62) sepia(.10) contrast(.98)}
.prereg-photo>img.prereg-photo-sato{object-position:center;transform:scale(1.08)}
.prereg-photo>img.prereg-photo-yoshino{object-position:40% center;transform:translateY(19%) scale(1.35)}
.prereg-person .prereg-photo.kimura-photo-crop>img{position:absolute;width:450%;height:auto;max-width:none;left:4%;top:-37%;object-fit:initial}
.prereg-name{display:block;font-weight:850;white-space:nowrap}
.prereg-role{display:block;margin-top:3px;font-size:10px;font-weight:650;line-height:1.25;white-space:nowrap}
.prereg-date-rail{align-items:end;gap:20px}
.prereg-date-block{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:0}
.prereg-free{padding:5px 10px;border-radius:3px;background:#e88942;color:#fffdf8;font-size:12px}
.prereg-datetime{display:flex;flex-direction:row;align-items:baseline;gap:2px;line-height:1;white-space:nowrap}
.prereg-year{font-size:13px;letter-spacing:0}
.prereg-datetime strong{font-size:49px;letter-spacing:-.055em}
.prereg-weekday{display:inline;width:auto;height:auto;padding:0;border:0;border-radius:0;background:none;color:#fffdf8;font-size:18px}
.prereg-divider{font-size:16px;font-weight:600;opacity:.68}
.prereg-clock{margin-left:0;font-size:26px;letter-spacing:-.035em}
.prereg-zoom{font-size:15px;font-weight:800}
.prereg-event-status{margin-left:auto;align-self:end;font-size:13px;font-weight:850}
@media(min-width:900px){
  .prereg-hero-art{grid-template-areas:'kicker kicker' 'title people' 'subtitle people' 'date date'}
  .prereg-hero-art h1{font-size:46px}
  .prereg-subtitle{margin-top:24px;font-size:19px}
  .prereg-people{margin-top:5px}
}
@media(max-width:699px){
  .prereg-kicker,.prereg-hero-art h1,.prereg-subtitle{margin-left:18px}
  .prereg-kicker::after{width:48px;height:3px;margin-top:9px}
  .prereg-subtitle{margin-top:22px}
  .prereg-person .prereg-photo{width:72px;height:72px;margin-bottom:6px;border-width:3px;border-radius:12px}
  .prereg-role{font-size:9px;line-height:1.18}
  .prereg-date-rail{display:block;position:relative;padding-top:13px;padding-bottom:16px}
  .prereg-date-block{gap:10px}
  .prereg-free{padding:5px 8px;font-size:11px}
  .prereg-datetime{gap:1px}
  .prereg-year{font-size:10px}
  .prereg-datetime strong{font-size:31px}
  .prereg-weekday{font-size:12px}
  .prereg-divider{font-size:11px}
  .prereg-clock{font-size:15px}
  .prereg-zoom{font-size:10px}
  .prereg-event-status{position:absolute;top:15px;right:20px;font-size:10px}
}
@media(max-width:370px){
  .prereg-kicker,.prereg-hero-art h1,.prereg-subtitle{margin-left:15px}
  .prereg-datetime{flex-wrap:wrap;row-gap:5px}
  .prereg-datetime .prereg-divider:last-of-type{display:none}
  .prereg-zoom{flex-basis:100%;font-size:11px}
  .prereg-event-status{right:16px}
}

@media(max-width:420px){
  .prereg-datetime strong{font-size:27px}
  .prereg-year{font-size:9px}
  .prereg-weekday{font-size:11px}
  .prereg-divider{font-size:9px}
  .prereg-clock{font-size:13px}
  .prereg-zoom{font-size:9px}
}
@media(max-width:370px){
  .prereg-datetime .prereg-divider:nth-last-child(2){display:none}
}

/* 3行の日付と右側の受付表示。OGPと同じ情報順にする。 */
.prereg-role{font-size:9px;letter-spacing:-.025em}
.prereg-subtitle{margin-top:14px}
.prereg-date-rail{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:16px;padding-bottom:17px}
.prereg-date-block{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.prereg-date-overline{font-size:14px;font-weight:750;letter-spacing:.18em;line-height:1.2;color:rgba(255,253,248,.7);white-space:nowrap}
.prereg-datetime{display:flex;flex-direction:row;align-items:baseline;gap:0;white-space:nowrap}
.prereg-datetime strong{font-size:49px}
.prereg-weekday{margin-left:8px;font-size:22px;font-weight:850;color:#fffdf8}
.prereg-clock{margin-left:32px;font-size:27px}
.prereg-event-details{font-size:13px;font-weight:650;line-height:1.3;color:rgba(255,253,248,.8)}
.prereg-event-status{position:static;align-self:center;margin-left:auto;padding:12px 15px;border-radius:8px;background:#e88942;color:#fffdf8;font-size:13px;font-weight:850;line-height:1.2;opacity:1;white-space:nowrap}
@media(max-width:699px){
  .prereg-role{font-size:8px;letter-spacing:-.035em}
  .prereg-subtitle{margin-top:12px}
  .prereg-date-rail{display:flex;flex-direction:column;align-items:stretch;gap:5px;padding-top:14px;padding-bottom:14px}
  .prereg-date-block{gap:4px}
  .prereg-date-overline{font-size:10px}
  .prereg-datetime{flex-wrap:nowrap;gap:0}
  .prereg-datetime strong{font-size:31px}
  .prereg-weekday{margin-left:5px;font-size:14px}
  .prereg-clock{margin-left:15px;font-size:17px}
  .prereg-event-details{font-size:10px}
  .prereg-event-status{align-self:flex-end;margin:0;padding:8px 11px;font-size:10px}
}
@media(max-width:370px){
  .prereg-role{white-space:normal}
  .prereg-datetime strong{font-size:27px}
  .prereg-weekday{font-size:12px}
  .prereg-clock{margin-left:11px;font-size:15px}
}

/* バナーはNoto Sans JPの3ウェイトにそろえる。 */
.prereg-hero-art{font-family:"Noto Sans JP",sans-serif}
.prereg-kicker{font-weight:700}
.prereg-hero-art h1{font-weight:900;letter-spacing:-.02em}
.prereg-subtitle{font-weight:500}
.prereg-name{font-weight:700}
.prereg-role{font-weight:500}
.prereg-date-overline{font-weight:500;font-feature-settings:"palt"}
.prereg-datetime strong{font-weight:900;letter-spacing:-.02em;font-feature-settings:"palt"}
.prereg-weekday{font-weight:700}
.prereg-clock{font-weight:900;letter-spacing:-.02em;font-feature-settings:"palt"}
.prereg-event-details{font-weight:500}
.prereg-event-status{font-weight:700}

/* 2026-10-31: give the event format and free admission their own aligned column. */
.prereg-date-rail{display:grid;grid-template-areas:none;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:32px;padding-top:23px;padding-bottom:23px}
.prereg-date-block{display:block}
.prereg-event-details{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;min-width:126px;padding-left:28px;border-left:1px solid rgba(255,253,248,.35);font-size:18px;font-weight:700;line-height:1.3;color:#fffdf8;white-space:nowrap}
.prereg-event-details strong{font-size:27px;font-weight:900;letter-spacing:.015em;line-height:1.2}
@media(max-width:899px) and (min-width:700px){.prereg-date-rail{column-gap:20px}.prereg-event-details{padding-left:20px;min-width:112px}.prereg-event-details strong{font-size:25px}}
@media(max-width:699px){
 .prereg-date-rail{grid-template-columns:minmax(0,1fr);gap:12px;padding-top:17px;padding-bottom:17px}
 .prereg-event-details{flex-direction:row;align-items:baseline;justify-content:flex-end;gap:14px;min-width:0;width:100%;padding:12px 0 0;border-left:0;border-top:1px solid rgba(255,253,248,.25);font-size:15px;line-height:1.3}
 .prereg-event-details strong{font-size:21px;line-height:1.2}
}
