/* スマイルMFT セミナーカレンダー(B案) — すべて #smft-cal の中だけに効くようにしてある */
#smft-cal{--pink:#e98a9a;--rose:#c2536a;--orange:#f08a1c;--brown:#5b4636;--sub:#8a7360;--line:#f2c9a0;--on:#5aa9e6;--on-bg:#e3f1fb;--on-tx:#2b7bbd;--real:#e8714f;--real-bg:#fde7e1;--real-tx:#c8502f;
  max-width:980px;margin:0 auto;color:var(--brown);font-size:14px;line-height:1.6;text-align:left}
#smft-cal *{box-sizing:border-box;letter-spacing:normal;min-width:0}
#smft-cal{width:100%;overflow-wrap:anywhere}
#smft-cal .sc-h2{text-align:center;color:var(--orange);font-size:26px;letter-spacing:.2em;margin:0 0 4px;font-weight:700}
#smft-cal .sc-sub{text-align:center;font-size:14px;margin:0 0 18px}
#smft-cal .sc-chips{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-bottom:12px}
#smft-cal .sc-chip{font:inherit;font-size:14px;padding:6px 16px;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--sub);cursor:pointer;display:inline-flex;align-items:center;gap:4px}
#smft-cal .sc-chip.is-on{background:var(--pink);border-color:var(--pink);color:#fff}
#smft-cal .sc-chips.sc-fmt .sc-chip.is-on{background:var(--sub);border-color:var(--sub)}
#smft-cal .sc-chiplabel{font-size:12px;color:#9b8470;align-self:center}
#smft-cal .sc-body{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:20px;align-items:start;margin-top:8px}
#smft-cal .sc-month{background:#fff;border-radius:18px;padding:16px}
#smft-cal .sc-mh{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
#smft-cal .sc-mh h3{margin:0;font-size:18px;color:var(--rose);font-weight:700}
#smft-cal .sc-nav{font:inherit;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--rose);font-size:18px;line-height:1;cursor:pointer;padding:0}
#smft-cal .sc-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}
#smft-cal .sc-dow{font-size:12px;color:#b08d6e;padding:4px 0}
#smft-cal .sc-d{font:inherit;font-size:15px;aspect-ratio:1/1;border-radius:12px;border:2px solid transparent;background:transparent;color:var(--brown);cursor:default;position:relative;padding:0}
#smft-cal .sc-d.is-past{color:#cdbba9}
#smft-cal .sc-d.is-ev{font-weight:700;cursor:pointer}
#smft-cal .sc-d.is-on{background:var(--on-bg);color:var(--on-tx)}
#smft-cal .sc-d.is-real{background:var(--real-bg);color:var(--real-tx)}
#smft-cal .sc-d.is-sel{background:var(--pink);color:#fff;border-color:var(--pink)}
#smft-cal .sc-d.is-today{border-color:var(--orange)}
#smft-cal .sc-dots{position:absolute;bottom:5px;left:50%;transform:translateX(-50%);display:flex;gap:2px}
#smft-cal .sc-dots i{width:5px;height:5px;border-radius:50%;background:var(--on)}
#smft-cal .sc-dots i.real{background:var(--real);border-radius:1px}
#smft-cal .sc-d.is-sel .sc-dots i{background:#fff}
#smft-cal .sc-legend{margin-top:12px;font-size:12px;color:var(--sub);display:flex;gap:14px;flex-wrap:wrap}
#smft-cal .sc-legend b{display:inline-block;width:12px;height:12px;border-radius:4px;vertical-align:-2px;margin-right:4px}
#smft-cal .sc-stitle{margin:0 0 10px;font-size:15px;color:var(--sub);font-weight:700}
#smft-cal .sc-fold{font:inherit;font-size:15px;font-weight:700;color:var(--sub);background:none;border:none;padding:0;display:block;width:100%;text-align:left;cursor:default}
#smft-cal .sc-arw{display:none}
#smft-cal .sc-card{background:#fff;border-radius:16px;padding:12px 16px;display:flex;align-items:center;gap:14px;margin-bottom:10px;border-left:6px solid var(--on)}
#smft-cal .sc-card.real{border-left-color:var(--real)}
#smft-cal .sc-date{flex:none;width:56px;height:56px;border-radius:50%;background:var(--on-bg);color:var(--on-tx);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.1}
#smft-cal .sc-card.real .sc-date{background:var(--real-bg);color:var(--real-tx)}
#smft-cal .sc-date small{font-size:10px}#smft-cal .sc-date b{font-size:20px}
#smft-cal .sc-b{flex:1;min-width:0}
#smft-cal .sc-b h5{margin:0 0 3px;font-size:16px;color:#4a3a2c;font-weight:700;line-height:1.4}
#smft-cal .sc-fmtb{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;padding:2px 10px;border-radius:999px;margin-bottom:4px;background:var(--on-bg);color:var(--on-tx)}
#smft-cal .sc-card.real .sc-fmtb{background:var(--real-bg);color:var(--real-tx)}
#smft-cal svg.sc-ic{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#smft-cal .sc-m{font-size:13px;color:var(--sub)}
#smft-cal .sc-tag{display:inline-block;font-size:11px;padding:2px 8px;border-radius:999px;background:#f3f8e4;color:#5f8a10;margin-left:4px}
#smft-cal .sc-place{font-size:12px;color:var(--real-tx);margin-top:2px}
#smft-cal .sc-act{flex:none;text-align:right}
#smft-cal .sc-badge{display:inline-block;font-size:12px;padding:2px 10px;border-radius:999px;background:#9ac92a;color:#fff;font-weight:700}
#smft-cal .sc-badge.today{background:var(--orange)}
#smft-cal .sc-badge.closed{background:#bbb}
#smft-cal .sc-badge.soon{background:#b9a3d6}
#smft-cal .sc-soon{display:block;margin-top:6px;font-size:12px;color:#7a5fa3;font-weight:700}
#smft-cal .sc-btn{display:block;margin-top:6px;background:var(--orange);color:#fff;text-decoration:none;font-size:13px;padding:7px 16px;border-radius:999px;font-weight:700;text-align:center}
#smft-cal .sc-btn:hover{opacity:.8}
#smft-cal .sc-empty{border:2px dashed var(--line);border-radius:16px;padding:18px;text-align:center;font-size:14px;color:var(--sub);background:#fff8ee}
#smft-cal .sc-empty b{display:block;font-size:16px;color:var(--rose);margin-bottom:6px}
#smft-cal .sc-empty p{margin:0 0 14px;line-height:1.7}
#smft-cal .sc-ebtns{display:flex;flex-direction:column;gap:8px;max-width:300px;margin:0 auto}
#smft-cal .sc-ebtns a,#smft-cal .sc-ebtns button{font:inherit;font-size:14px;font-weight:700;padding:10px 14px;border-radius:999px;text-decoration:none;cursor:pointer;border:none;display:block}
#smft-cal .sc-e-next{background:var(--orange);color:#fff}
#smft-cal .sc-e-line{background:#06c755;color:#fff}
#smft-cal .sc-e-req{background:#fff;color:#a8650a;border:1px solid var(--line)!important}
#smft-cal .sc-all{text-align:center;margin-top:6px}
#smft-cal .sc-all button{font:inherit;font-size:14px;color:var(--orange);font-weight:700;background:none;border:none;cursor:pointer;text-decoration:underline}
@media(max-width:760px){#smft-cal .sc-body{grid-template-columns:minmax(0,1fr)}#smft-cal .sc-month{padding:12px}#smft-cal .sc-d{font-size:14px;border-radius:10px}#smft-cal .sc-chip{font-size:13px;padding:5px 12px}#smft-cal .sc-card{flex-wrap:wrap}#smft-cal .sc-act{width:100%;display:flex;gap:10px;align-items:center;justify-content:flex-end}#smft-cal .sc-btn,#smft-cal .sc-soon{margin:0}#smft-cal .sc-h2{font-size:22px}
  #smft-cal .sc-fold{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#fff;border:2px solid var(--line);border-radius:14px;padding:12px 16px;color:var(--brown);cursor:pointer}
  #smft-cal .sc-arw{display:inline-flex;align-items:center;gap:4px;flex:none;font-size:12px;color:var(--orange)}
  #smft-cal .sc-arw::after{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .2s}
  #smft-cal .sc-fold[aria-expanded="true"] .sc-arw::after{transform:translateY(2px) rotate(-135deg)}
  #smft-cal .sc-side.is-folded .sc-list{display:none}}
