.events-calendar-root{--ec-black: #333333;--ec-white: #ffffff;--ec-blue: #3273c1;--ec-blue-dark: #123a6e;--ec-navy: #0f2f63;--ec-gray: #acacac;--ec-line: #7790b5;--ec-sat-bg: #c6e3ed;--ec-sun-bg: #ecc1c1;--ec-card-bg: #ffffff;--ec-text: #1a2a3a;box-sizing:border-box;width:100%;max-width:100%;min-width:0;container-type:inline-size;container-name:events-calendar-page;font-family:Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,sans-serif;color:var(--ec-text)}#vue-events-index-app{display:block;width:100%;max-width:100%;min-width:0}.events-calendar-root *,.events-calendar-root *:before,.events-calendar-root *:after{box-sizing:border-box}.events-calendar-root .schedule-card{width:100%;max-width:min(960px,100%);min-width:0;margin:0 auto;background:var(--ec-card-bg);border-radius:16px;padding:20px 16px;overflow-x:auto;container-type:inline-size;container-name:events-calendar}.events-calendar-root .month-nav{display:flex;align-items:center;justify-content:space-between;margin:14px 8px;gap:8px;min-width:0;max-width:100%}.events-calendar-root .month-nav.bottom{margin-top:20px;margin-bottom:4px}.events-calendar-root .nav-btn,.events-calendar-root button.nav-btn,.events-calendar-root .nav-btn.ui-btn{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;width:auto;max-width:none;margin:0;background:none;background-image:none;border:none;border-radius:0;box-shadow:none;text-shadow:none;cursor:pointer;color:var(--ec-gray);font-size:10px;font-weight:400;line-height:1.2;padding:0;-webkit-appearance:none;appearance:none}.events-calendar-root .nav-btn:disabled,.events-calendar-root .nav-btn.ui-state-disabled{opacity:.35;cursor:default}.events-calendar-root .month-label{flex:1 1 auto;min-width:0;text-align:center;white-space:nowrap;font-size:14px;font-weight:700;color:var(--ec-black)}.events-calendar-root .month-label .month{font-size:26px;margin-left:4px}.events-calendar-root .legend{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;background:#eaf6fc;border-radius:6px;padding:8px;margin-bottom:14px;font-size:10px;color:var(--ec-text)}.events-calendar-root .legend-item{display:inline-flex;align-items:center;gap:5px}.events-calendar-root .legend-item .sym{display:block}.events-calendar-root .calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));width:auto;max-width:100%;min-width:0;margin:0 8px;background:#fff;border:1px solid var(--ec-line);border-bottom:none;overflow:hidden}.events-calendar-root .wd{text-align:center;padding:2px 0;font-size:12px;font-weight:700;color:var(--ec-blue);border-bottom:1px solid var(--ec-line);border-right:1px solid var(--ec-line)}.events-calendar-root .wd:nth-child(7n){border-right:none}.events-calendar-root .wd.sat{background:var(--ec-sat-bg);color:#3273c1}.events-calendar-root .wd.sun{background:var(--ec-sun-bg);color:#3273c1}.events-calendar-root .day{min-width:0;min-height:62px;padding:6px 2px 8px;border-right:1px solid var(--ec-line);border-bottom:1px solid var(--ec-line);display:flex;flex-direction:column;align-items:center;gap:10px;cursor:pointer;background:#fff}.events-calendar-root .day.is-sun{border-right:none}.events-calendar-root .day.empty{cursor:default;background:#fff}.events-calendar-root .day.closed{cursor:default}.events-calendar-root .day .date{font-size:12px;color:var(--ec-blue);font-weight:500}.events-calendar-root .day .sym{display:block}.events-calendar-root .day .sym-text{color:#3273c1;font-size:9px;line-height:1.2;text-align:center;max-width:100%;overflow-wrap:anywhere;word-break:break-word}.events-calendar-root .day.selected{background:var(--ec-navy);border-bottom-color:var(--ec-navy)}.events-calendar-root .day.selected .date{color:#fff}.events-calendar-root .slot-mini{margin-top:2px;font-size:8px;line-height:1.5;color:#fff;width:100%;padding:0 2px;text-align:center}.events-calendar-root .slot-mini div{display:flex;justify-content:center;gap:4px}.events-calendar-root .detail-panel{grid-column:1 / -1;background:var(--ec-navy);color:#fff;padding:12px}.events-calendar-root .detail-head{display:flex;align-items:flex-start;gap:10px;margin-bottom:14px}.events-calendar-root .detail-head img{width:68px;height:auto;object-fit:contain;flex-shrink:0}.events-calendar-root .detail-head .info{font-size:12px;line-height:1.7}.events-calendar-root .detail-head .info .title{font-size:12px;font-weight:700;margin-bottom:4px}.events-calendar-root .detail-head .info .sub span{color:var(--ec-blue)}.events-calendar-root .slot-list{display:grid;grid-template-columns:1fr;gap:8px}@container events-calendar (min-width: 560px){.events-calendar-root .slot-list{grid-template-columns:repeat(2,1fr)}}@container events-calendar (min-width: 820px){.events-calendar-root .slot-list{grid-template-columns:repeat(3,1fr)}}.events-calendar-root .slot{display:flex;flex-wrap:wrap;align-items:center;gap:10px;min-width:0;background:#fff;border-radius:10px;padding:12px 14px;color:var(--ec-text);border:1px solid var(--ec-blue);text-decoration:none}.events-calendar-root a.slot,.events-calendar-root a.slot.ui-link,.events-calendar-root a.slot.ui-btn{display:flex;cursor:pointer;color:var(--ec-text);text-decoration:none;background:#fff;background-image:none;box-shadow:none;text-shadow:none;font-weight:inherit;-webkit-appearance:none;appearance:none}.events-calendar-root .slot .time{font-size:10px;font-weight:600}.events-calendar-root .slot .label{flex:1;font-size:10px}.events-calendar-root .slot .buy{background:#f08300;color:#fff;border:none;border-radius:9px;padding:4px 8px;font-size:9px;font-weight:700;cursor:pointer;text-decoration:none;display:inline-block}.events-calendar-root .slot.soldout{background:#cdd3de;border:1px solid #607aa3;cursor:default}.events-calendar-root .select-msg{text-align:center;padding:16px;color:#3273c1;font-size:12px;font-weight:700;background:#fff;border:1px solid var(--ec-line);border-top:none;margin:0 8px}.events-calendar-root .calendar-error{margin:0 8px 12px;padding:10px 12px;border-radius:6px;background:#fdecea;color:#a94442;font-size:12px;line-height:1.5}.events-calendar-root .slot-note{font-size:9px;color:#555;flex-basis:100%;margin-top:4px}.events-calendar-root .slot-body{display:flex;align-items:center;gap:10px;flex:1;flex-wrap:wrap}@container events-calendar-page (max-width: 559px){.events-calendar-root .schedule-card{padding:20px 3px}.events-calendar-root .month-nav,.events-calendar-root .calendar,.events-calendar-root .select-msg,.events-calendar-root .calendar-error{margin-left:0;margin-right:0}}
