/* Banners designed at the actual 270px sidebar width. */
.concertNotice .concertNotice__link:has(.sideBanner){border:0;border-radius:8px;}
.sideBanner{position:relative;display:block;width:100%;overflow:hidden;isolation:isolate;box-sizing:border-box;text-decoration:none;color:#3e2654;background:#e9dff4;font-family:-apple-system,BlinkMacSystemFont,'Meiryo',sans-serif;text-align:left;line-height:1.4;}
.sideBanner *{box-sizing:border-box;}
.sideBanner .sbPhoto{position:absolute;display:block;object-fit:cover;object-position:50% 23%;height:100%;width:100%;margin:0;}
.sideBanner .sbKicker{display:block;font-size:11px;font-weight:700;letter-spacing:.08em;}
.sideBanner .sbTitle{display:block;font-size:23px;font-weight:800;line-height:1.25;letter-spacing:.01em;}
.sideBanner .sbName{display:block;font-size:19px;font-weight:700;letter-spacing:.08em;}
.sideBanner .sbDate{font-size:12px;font-weight:700;letter-spacing:.01em;}
.sideBanner .sbDate small{font-size:10px;font-weight:400;}
.sideBanner .sbArrow{font-size:17px;font-weight:400;}
.sideBanner .sbStar{position:absolute;background:#e0ec84;clip-path:polygon(50% 0,60% 31%,84% 10%,74% 40%,100% 50%,73% 60%,86% 87%,60% 74%,50% 100%,40% 73%,13% 87%,26% 60%,0 50%,26% 40%,14% 12%,40% 29%);}
/* A: a bright invitation, with a rounded portrait on the right. */
.sideBanner--A{height:196px;border-top:5px solid #dce985;}
.sideBanner--A .sbPhoto{width:120px;height:166px;right:-10px;top:0;border-radius:72px 0 0 0;border-left:5px solid #fffdf9;}
.sideBanner--A .sbText{position:relative;display:block;padding:12px 0 0 15px;z-index:2;}
.sideBanner--A .sbKicker{color:#745395;}
.sideBanner--A .sbTitle{font-size:22px;margin-top:9px;}
.sideBanner--A .sbName{font-size:19px;margin-top:9px;}
.sideBanner--A .sbFooter{display:flex;position:absolute;bottom:0;left:0;right:0;align-items:center;justify-content:space-between;padding:9px 12px;background:#765294;color:#fff;}
.sideBanner--A .sbStar{width:32px;height:32px;right:7px;top:7px;z-index:3;}
/* B: a photographic header with a bold violet lower band. */
.sideBanner--B{height:222px;background:#dcd3e6;color:#fff;}
.sideBanner--B .sbPhoto{right:0;top:0;width:150px;height:106px;object-position:50% 20%;}
.sideBanner--B .sbKicker{position:absolute;left:12px;top:12px;background:#e2ed93;color:#44334e;padding:4px 9px;border-radius:2px;font-size:10px;}
.sideBanner--B .sbText{display:block;position:absolute;inset:106px 0 0;padding:12px 14px 10px;background:#654780;}
.sideBanner--B .sbTitle{font-size:23px;letter-spacing:-.03em;white-space:nowrap;}
.sideBanner--B .sbName{display:inline-block;font-size:17px;margin-top:6px;}
.sideBanner--B .sbEnglish{font-size:10px;font-family:Georgia,serif;font-style:italic;margin-left:6px;color:#e5d8ef;}
.sideBanner--B .sbFooter{display:flex;justify-content:space-between;align-items:center;margin-top:8px;border-top:1px solid #a88aba;padding-top:7px;}
.sideBanner--B .sbDate{font-size:11px;}
/* C: a compact framed portrait and a clear call to action. */
.sideBanner--C{max-width:212px;height:174px;background:#faf7ff;border:1px solid #d8c9e5;}
.concertNotice:has(.sideBanner--C),.bannerPreview:has(.sideBanner--C){max-width:212px;}
.sideBanner--C:before{content:'';position:absolute;width:105px;height:105px;border-radius:50%;background:#dfe987;left:-22px;top:23px;}
.sideBanner--C .sbPhoto{width:74px;height:112px;top:17px;left:10px;border:4px solid #fff;transform:rotate(-5deg);box-shadow:3px 3px 0 #b59bcd;}
.sideBanner--C .sbText{display:block;position:relative;margin-left:102px;padding-top:15px;}
.sideBanner--C .sbKicker{font-size:12px;color:#765294;}
.sideBanner--C .sbTitle{font-size:19px;margin-top:6px;}
.sideBanner--C .sbName{font-size:17px;margin-top:6px;}
.sideBanner--C .sbDate{display:block;font-size:9.5px;white-space:nowrap;margin-top:5px;line-height:1.5;}
.sideBanner--C .sbFooter{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:center;gap:7px;align-items:center;background:#765294;color:#fff;border-top:3px solid #dfe987;padding:6px 8px;font-size:12px;font-weight:700;}
.sideBanner--C .sbZoomIcon{display:block;width:16px;height:16px;flex:0 0 16px;}
.concertNotice__link:has(.sideBanner--C){cursor:zoom-in;}
.sideBanner--C .sbStar{width:25px;height:25px;left:67px;top:5px;}

.sideBanner--C .sbArrow{display:none;}

.concertNotice:has(.sideBanner--C){margin-inline:auto;}
