@charset "UTF-8";

  .schedule_intro { box-sizing:border-box; text-align:center; padding:0; }
  .schedule_nav { display:flex; justify-content:center; gap:14px; flex-wrap:wrap; margin-top:25px; }
  .schedule_nav a { min-width:220px; padding:13px 25px; color:#fff; text-decoration:none; border-radius:4px; font-weight:bold; }
  .schedule_nav .nav_shungyo { background:#c2185b; }
  .schedule_nav .nav_yoshun { background:#237b5a; }
  .calendar_section { max-width:1100px; margin:0 auto; padding:55px 20px 5px; }
  .calendar_title { text-align:center; font-family:"Noto Serif JP",serif; font-size:clamp(23px,4vw,34px); margin-bottom:25px; }
  .calendar_legend { display:flex; justify-content:center; gap:22px; margin-bottom:22px; font-weight:bold; }
  .calendar_legend span::before { content:""; display:inline-block; width:14px; height:14px; margin-right:7px; border-radius:3px; vertical-align:-1px; }
  .calendar_legend_shungyo::before { background:#f5bdd4; border:1px solid #d41468; }
  .calendar_legend_yoshun::before { background:#b9e1d3; border:1px solid #278f68; }
  .calendar_month { margin-top:35px; }
  .calendar_month_title { text-align:center; font-size:24px; font-weight:bold; margin-bottom:12px; }
  .calendar_scroll { overflow:visible; padding-bottom:7px; }
  .performance_calendar { width:100%; min-width:910px; table-layout:fixed; border-collapse:collapse; background:rgba(255,255,255,.38); }
  .performance_calendar th { padding:10px 5px; border:1px solid rgba(90,80,75,.32); background:rgba(255,255,255,.7); font-weight:bold; }
  .performance_calendar th:nth-child(6) { color:#176fa1; }
  .performance_calendar th:nth-child(7) { color:#c23a52; }
  .performance_calendar td { height:148px; padding:0; border:1px solid rgba(90,80,75,.32); vertical-align:top; }
  .performance_calendar td.is-empty { background:rgba(255,255,255,.2); }
  .calendar_day { padding:9px; font-weight:bold; }
  .performance_calendar td:nth-child(6) .calendar_day { color:#176fa1; }
  .performance_calendar td:nth-child(7) .calendar_day { color:#c23a52; }
  .calendar_event { display:block; min-height:112px; margin:0 5px 5px; padding:7px 8px; color:#222 !important; text-align:center; text-decoration:none; border-radius:5px; box-sizing:border-box; transition:filter .2s,transform .2s; }
  .calendar_event:hover { filter:brightness(.96); transform:translateY(-1px); }
  .calendar_event--shungyo { background:rgba(245,189,212,.72); border:1px solid #d41468; }
  .calendar_event--yoshun { background:rgba(185,225,211,.82); border:1px solid #278f68; }
  .calendar_time { display:block; font-size:12px; font-weight:bold; line-height:1.35; }
  .calendar_time--sp { display:none; }
  .calendar_city { display:block; margin-top:4px; color:#956c29; font-size:13px; font-weight:bold; }
  .calendar_hall { display:block; margin-top:3px; font-size:12px; line-height:1.35; }
  .calendar_sp_location { display:none; }
  .schedule_group { max-width:1000px; margin:0 auto; padding:60px 24px 20px; }
  .schedule_group_title { text-align:center; font-family:"Noto Serif JP",serif; font-size:clamp(24px,4vw,38px); font-weight:800; margin-bottom:28px; }
  .schedule_group--shungyo .schedule_group_title { color:#d41468; }
  .schedule_group--yoshun .schedule_group_title { color:#278f68; }
  .schedule_list { list-style:none; margin:0; padding:0; border-top:1px solid #c8c0b8; }
  .schedule_item { border-bottom:1px solid #c8c0b8; }
  .schedule_item a { display:grid; grid-template-columns:195px 155px minmax(0,1fr) 38px; align-items:center; gap:15px; padding:20px 16px; color:#222; text-decoration:none; transition:.2s; }
  .schedule_group--shungyo .schedule_item a:hover { background:rgba(246,174,204,.28); }
  .schedule_group--yoshun .schedule_item a:hover { background:rgba(166,220,171,.28); }
  .schedule_date { font-weight:bold; font-size:18px; white-space:nowrap; }
  .schedule_city { font-size:19px; font-weight:bold; }
  .schedule_hall { line-height:1.6; }
  .schedule_arrow { width:30px; height:30px; border-radius:50%; color:#fff; display:grid; place-items:center; }
  .schedule_group--shungyo .schedule_arrow { background:#c2185b; }
  .schedule_group--yoshun .schedule_arrow { background:#237b5a; }
  @media (max-width:700px) {
    .calendar_section { padding:40px 6px 0; }
    .calendar_legend { gap:12px; font-size:12px; }
    .calendar_month { margin-top:22px; }
    .calendar_month_title { font-size:20px; }
    .performance_calendar { min-width:0; }
    .performance_calendar th { padding:8px 1px; font-size:14px; }
    .performance_calendar td { height:136px; }
    .calendar_day { padding:5px 3px; font-size:12px; }
    .calendar_event { min-height:107px; margin:0 1px 3px; padding:5px 1px; border-width:1px; border-radius:4px; text-align:center; }
    .calendar_time { font-size:10px; line-height:1.45; }
    .calendar_time--pc { display:none; }
    .calendar_time--sp { display:block; }
    .calendar_city,.calendar_hall { display:none; }
    .calendar_sp_location { display:block; margin-top:6px; padding-top:5px; border-top:1px dotted rgba(70,65,60,.55); }
    .calendar_pref { display:block; font-size:10px; line-height:1.25; font-weight:bold; color:#956c29; }
    .calendar_municipality { display:block; margin-top:4px; font-size:9px; line-height:1.25; }
    .schedule_group { padding:45px 16px 10px; }
    .schedule_item a { grid-template-columns:1fr 34px; gap:4px 10px; padding:17px 10px; }
    .schedule_date,.schedule_city,.schedule_hall { grid-column:1; }
    .schedule_date { font-size:16px; white-space:normal; }
    .schedule_city { font-size:18px; }
    .schedule_hall { font-size:14px; }
    .schedule_arrow { grid-column:2; grid-row:1 / span 3; }
  }
