/* Weekly class schedule poster (classes.html / pt/classes.html) */
.fq-sched *{box-sizing:border-box}
.fq-sched .poster{position:relative;max-width:1150px;margin:0 auto;background:#f6f4f2;overflow:hidden;padding:52px 40px 0;border-radius:28px;box-shadow:0 10px 40px rgba(27,5,52,.08)}
.fq-sched .lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.fq-sched .logo{display:block;margin:0 auto;width:262px;filter:brightness(0) opacity(.85)}
.fq-sched .fq-title{text-align:center;font-stretch:62%;font-weight:700;color:#1b0534;font-size:clamp(40px,7.4vw,86px);letter-spacing:-.005em;margin:56px 0 48px;line-height:1}
.fq-sched .row{position:relative;display:flex;justify-content:center;gap:24px;flex-wrap:wrap}
.fq-sched .row+.row{margin-top:26px}
.fq-sched .day{width:312px;background:#fff;border-radius:22px;box-shadow:0 2px 14px rgba(27,5,52,.08);padding-bottom:18px}
.fq-sched .r1 .day,.fq-sched .r2 .day{min-height:426px}
.fq-sched .day h3{margin:0;background:#1b0534;color:#fff;border-radius:22px 22px 0 0;text-align:center;font-stretch:75%;font-weight:400;font-size:23px;letter-spacing:.03em;padding:16px 6px}
.fq-sched .day ul{list-style:none;margin:0;padding:8px 12px 0}
.fq-sched .day li+li{border-top:1px solid #e3dfe6}
.fq-sched .c{display:flex;align-items:center;min-height:68px;padding:10px 2px;text-decoration:none;color:#1c1c1b;border-radius:10px;transition:background .2s}
.fq-sched .c:hover{background:#f3ebf8}
.fq-sched .c:hover .n{color:#4d0866}
.fq-sched .c:focus-visible{outline:2px solid #4d0866;outline-offset:2px}
.fq-sched .t{flex:0 0 112px;color:#8e1fd0;font-stretch:72%;font-weight:500;font-size:19px;white-space:nowrap;padding-right:10px;border-right:1px solid #bdb6c3;align-self:stretch;display:flex;align-items:center}
.fq-sched .n{padding-left:16px;font-stretch:72%;font-size:19px;line-height:1.28}
.fq-sched .n small{display:block;font-size:11px;letter-spacing:.01em;margin-top:2px}
.fq-sched .foot{position:relative;margin:-40px -40px 0;height:260px}
.fq-sched .foot svg{position:absolute;inset:0;width:100%;height:100%}
.fq-sched .tag{position:absolute;left:0;right:0;bottom:60px;display:flex;align-items:center;justify-content:center;gap:40px;color:#fff;font-size:24px;letter-spacing:.3em;font-weight:400;margin:0}
.fq-sched .tag:before,.fq-sched .tag:after{content:"";width:135px;height:2px;background:#7b1fc0}
.fq-sched-gap{height:60px}
@media (max-width:700px){
  .fq-sched .poster{padding:34px 16px 0;border-radius:20px}
  .fq-sched .logo{width:170px}
  .fq-sched .fq-title{margin:40px 0 44px}
  .fq-sched .day{width:100%}
  .fq-sched .r1 .day,.fq-sched .r2 .day{min-height:0}
  .fq-sched .t{flex-basis:96px;font-size:17px}
  .fq-sched .n{font-size:17px}
  .fq-sched .row{gap:16px}
  .fq-sched .row+.row{margin-top:16px}
  .fq-sched .foot{margin:-20px -16px 0;height:200px}
  .fq-sched .tag{font-size:15px;gap:14px;bottom:44px}
  .fq-sched .tag:before,.fq-sched .tag:after{width:40px}
}
.fq-sched .fq-sched-note{position:relative;text-align:center;margin:-24px 0 40px}
.fq-sched .fq-sched-note p{margin:0 0 18px;color:#1b0534;font-size:clamp(16px,2vw,21px);font-weight:600}
.fq-sched .fq-sched-note a{display:inline-block;background:#1b0534;color:#fff;text-decoration:none;font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:14px;padding:14px 30px;border-radius:100px}
.fq-sched .fq-sched-note a:hover{background:#7a1fc2}
