/* ============================================================
   都市資源開発 営業カレンダー  calendar.css
   すべて .toshi-cal-card 配下にスコープ（他要素に影響しない）
   ============================================================ */

.toshi-cal-card{
  /* サイト実カラー（PDFから抽出） */
  --brand:#00A0EA; --navy:#14227A; --sky:#DCEFFB;
  --ink:#2b2f36; --muted:#9aa0a8; --other:#d4d7dc;
  --sun:#e0556b; --sat:#3d7bf2;
  --card-border:#ececec;

  width:100%; max-width:100%; margin:0 auto; background:#fff;
  border:1px solid var(--card-border); border-radius:18px;
  padding:0 0 24px; overflow:hidden;
  font-family:'Noto Sans JP',sans-serif; color:var(--ink);
}
.toshi-cal-card *{ box-sizing:border-box; }

.toshi-cal-accent{ height:4px; background:linear-gradient(90deg,var(--navy) 0%,var(--brand) 100%); }
.toshi-cal-inner{ padding:32px 40px 0; }
@media (max-width:780px){ .toshi-cal-inner{ padding:20px 20px 0; } }

/* --- 見出し --- */
.toshi-cal-head{ display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:18px; }
.toshi-cal-eyebrow{ display:flex; align-items:center; gap:8px; margin-bottom:2px; }
.toshi-cal-slash{ display:inline-flex; gap:4px; }
.toshi-cal-slash i{ width:10px; height:18px; transform:skewX(-20deg); display:block; }
.toshi-cal-slash i:nth-child(1){ background:var(--navy); }
.toshi-cal-slash i:nth-child(2){ background:var(--brand); }
.toshi-cal-eyebrow .en{ font-family:'Jost',sans-serif; font-size:18px; font-weight:600; letter-spacing:.2em; color:var(--navy); }
.toshi-cal-eyebrow .ja{ font-size:16px; letter-spacing:.08em; color:var(--muted); }
.toshi-cal-title{ font-family:'Jost','Noto Sans JP',sans-serif; font-size:36px; font-weight:500; color:var(--navy); margin-top:10px; letter-spacing:.02em; }
@media (max-width:780px){
  .toshi-cal-title{ font-size:28px; }
  .toshi-cal-eyebrow{ flex-wrap:nowrap; }
  .toshi-cal-eyebrow .en{ font-size:14px; white-space:nowrap; }
  .toshi-cal-eyebrow .ja{ font-size:14px; white-space:nowrap; }
  .toshi-cal-card .fc .fc-col-header-cell-cushion,
  .toshi-cal-card.is-sp .fc .fc-col-header-cell-cushion{ font-size:14px !important; padding:8px 2px 12px; }
}
.toshi-cal-nav{ display:flex; gap:18px; color:var(--brand); font-size:26px; user-select:none; }
.toshi-cal-nav span{ cursor:pointer; padding:2px 4px; }
.toshi-cal-nav span:hover{ opacity:.65; }

/* --- FullCalendar 共通（罫線除去・色分け・ポップオーバー） --- */
.toshi-cal-card .fc-theme-standard td,
.toshi-cal-card .fc-theme-standard th,
.toshi-cal-card .fc-theme-standard .fc-scrollgrid,
.toshi-cal-card .fc .fc-scrollgrid-section > *{ border:none !important; }
.toshi-cal-card .fc-theme-standard th.fc-col-header-cell{ border-bottom:1px solid var(--sky) !important; }
.toshi-cal-card .fc .fc-day-today{ background:transparent !important; }

.toshi-cal-card .fc .fc-col-header-cell-cushion{ font-size:20px; font-weight:400; color:var(--muted); padding:14px 2px 20px; text-decoration:none; }
.toshi-cal-card .fc .fc-day-sun .fc-col-header-cell-cushion{ color:var(--sun); }
.toshi-cal-card .fc .fc-day-sat .fc-col-header-cell-cushion{ color:var(--sat); }

.toshi-cal-card .fc .fc-daygrid-day-number{ font-family:'Jost',sans-serif; color:var(--ink); text-decoration:none; }
.toshi-cal-card .fc .fc-day-sun .fc-daygrid-day-number{ color:var(--sun); }
.toshi-cal-card .fc .fc-day-sat .fc-daygrid-day-number{ color:var(--sat); }
.toshi-cal-card .fc .fc-day-other .fc-daygrid-day-number{ color:var(--other) !important; }
.toshi-cal-card .fc .toshi-holiday-day .fc-daygrid-day-number{ color:var(--sun) !important; } /* 祝日ソースで自動的に赤 */

.toshi-cal-card .fc .fc-daygrid-more-link{ font-size:11px; color:var(--brand); font-weight:500; }
.toshi-cal-card .fc .fc-popover{ border:1px solid var(--card-border); border-radius:12px; box-shadow:0 10px 28px rgba(20,34,122,.14); overflow:hidden; }
.toshi-cal-card .fc .fc-popover-header{ background:#fff; color:var(--navy); font-family:'Jost','Noto Sans JP',sans-serif; padding:10px 12px; border-bottom:1px solid var(--sky); }
.toshi-cal-card .fc .fc-popover-body{ padding:8px 10px 12px; }

/* --- PC：ラベル表示 --- */
.toshi-cal-card.is-pc .fc .fc-daygrid-day-frame{ min-height:130px; padding-bottom:12px; }
.toshi-cal-card.is-pc .fc .fc-daygrid-day-top{ flex-direction:row; justify-content:flex-start; }
.toshi-cal-card.is-pc .fc .fc-daygrid-day-number{ font-size:22px; font-weight:500; padding:14px 0 10px 10px; }
.toshi-cal-card.is-pc .fc-daygrid-event{ background:transparent; border:none; border-radius:0; margin:4px 8px 0 8px; padding:0 2px 0 10px; overflow:hidden; cursor:pointer; }
.toshi-cal-card.is-pc .fc-daygrid-event .fc-event-title{ font-family:'Noto Sans JP',sans-serif; font-weight:400; font-size:14px; color:#4a4f57; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; line-height:1.7; }

/* --- SP：ドット＋タップ詳細 --- */
.toshi-cal-card.is-sp .fc .fc-daygrid-day-frame{ min-height:52px; padding:0; }
.toshi-cal-card.is-sp .fc .fc-daygrid-day-top{ justify-content:center; }
.toshi-cal-card.is-sp .fc .fc-daygrid-day-number{ font-size:13px; padding:6px 0 0; }
.toshi-cal-card.is-sp .fc .fc-daygrid-day-events{ display:flex; flex-wrap:wrap; gap:3px; justify-content:center; margin:2px 0 0; min-height:0; }
.toshi-cal-card.is-sp .fc-daygrid-event{ background:transparent !important; border:none !important; margin:0 !important; padding:0 !important; }
.toshi-cal-card.is-sp .toshi-sp-dot{ width:6px; height:6px; border-radius:50%; display:block; }
.toshi-cal-card.is-sp .fc .fc-daygrid-day.toshi-sp-sel .fc-daygrid-day-frame{ background:var(--sky); border-radius:10px; }

/* --- SP 詳細パネル（PCでは非表示） --- */
#toshiCalDetail{ margin-top:14px; border-top:1px solid #f0f0f0; padding-top:14px; }
.toshi-cal-card.is-pc #toshiCalDetail,
.toshi-cal-card.is-pc #toshiCalHint{ display:none; }
#toshiCalDetail .dhead{ font-family:'Jost','Noto Sans JP',sans-serif; font-size:14px; font-weight:500; color:var(--navy); margin-bottom:10px; }
#toshiCalDetail .row{ display:flex; align-items:center; padding:7px 2px; }
#toshiCalDetail .bar{ width:3px; height:16px; border-radius:2px; margin-right:10px; }
#toshiCalDetail .name{ font-size:13px; color:var(--ink); }
#toshiCalDetail .none{ font-size:12.5px; color:var(--muted); padding:4px 2px; }
#toshiCalHint{ font-size:11px; color:var(--muted); text-align:center; margin-top:10px; }

/* --- 個別ポップオーバー（自作） --- */
#toshiCalPop{ position:absolute; z-index:9999; width:300px; background:#fff; border:1px solid #ececec;
  border-radius:14px; box-shadow:0 14px 36px rgba(20,34,122,.18); padding:16px 18px 18px; display:none;
  font-family:'Noto Sans JP',sans-serif; color:#2b2f36; }
#toshiCalPop .x{ position:absolute; top:10px; right:12px; color:#9aa0a8; font-size:18px; cursor:pointer; line-height:1; }
#toshiCalPop .t{ display:flex; align-items:center; gap:10px; margin:2px 22px 8px 0; }
#toshiCalPop .sw{ width:12px; height:12px; border-radius:3px; flex:0 0 auto; }
#toshiCalPop .tt{ font-size:17px; font-weight:500; }
#toshiCalPop .meta{ font-size:13px; color:#5b616b; }
#toshiCalPop .loc{ font-size:12.5px; color:#5b616b; margin-top:5px; }
#toshiCalPop .desc{ font-size:12.5px; color:#5b616b; margin-top:8px; line-height:1.6; white-space:pre-wrap; }
#toshiCalPop .acts{ display:flex; gap:18px; margin-top:14px; padding-top:12px; border-top:1px solid #DCEFFB; }
#toshiCalPop .act{ font-size:12.5px; color:#00A0EA; text-decoration:none; cursor:pointer; }
#toshiCalPop .act:hover{ text-decoration:underline; }
#toshiCalPop .act.disabled{ color:#9aa0a8; pointer-events:none; }
