.eventlist-home,.eventlist-home *{box-sizing:border-box}
.eventlist-home{color:#172c35;line-height:1.65}
.eventlist-home h1,.eventlist-home h2,.eventlist-home h3{background:none!important;background-image:none!important;border:0!important;box-shadow:none!important;padding:0!important;text-shadow:none!important}
.eventlist-home h1::before,.eventlist-home h1::after,.eventlist-home h2::before,.eventlist-home h2::after,.eventlist-home h3::before,.eventlist-home h3::after{content:none!important;display:none!important}
.eventlist-home a{color:#245d46}
.eventlist-home-hero{padding:55px 0 60px;background:linear-gradient(120deg,#f7f8f1,#edf4ec)}
.eventlist-home-eyebrow{margin:0 0 10px;color:#3c7757;font-size:12px;font-weight:800;letter-spacing:.13em}
.eventlist-home-hero h1{margin:0 0 15px;font-size:clamp(30px,5vw,48px);line-height:1.35}
.eventlist-home-hero p{max-width:620px}
.eventlist-home-search{max-width:610px;margin-top:30px}
.eventlist-home-search label{display:block;margin-bottom:8px;font-size:14px;font-weight:800}
.eventlist-home-search>div{display:flex;gap:8px}
.eventlist-home-search input{min-width:0;flex:1;padding:12px 15px;border:1px solid #bdcfc1;border-radius:8px;background:#fff}
.eventlist-home-search button{padding:12px 24px;border:0;border-radius:8px;background:#245d46;color:#fff;font-weight:800;cursor:pointer}
.eventlist-home-content{padding-top:45px;padding-bottom:90px}
.eventlist-home-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px}
.eventlist-home-heading h2{margin:0;font-size:clamp(23px,3vw,30px)}
.eventlist-home-heading h2 small{font-size:15px;color:#61716d}
.eventlist-month-nav{display:flex;gap:8px;flex-wrap:wrap}
.eventlist-month-nav a{padding:8px 12px;border:1px solid #cbdace;border-radius:7px;text-decoration:none;font-weight:700;white-space:nowrap}
.eventlist-month-nav a:hover,.eventlist-month-nav a:focus-visible{background:#e8f1e9}
.eventlist-search-note{padding:10px 14px;background:#f4f7f2;border-radius:6px}
.eventlist-calendar-scroll{overflow-x:auto}
.eventlist-calendar{display:grid;grid-template-columns:repeat(7,minmax(116px,1fr));min-width:812px;border-top:1px solid #d8e3d9;border-left:1px solid #d8e3d9;background:#fff}
.eventlist-calendar-weekday{padding:9px;text-align:center;background:#f3f7f2;font-weight:800;border-right:1px solid #d8e3d9;border-bottom:1px solid #d8e3d9}
.eventlist-calendar-weekday:first-child{color:#b25239}
.eventlist-calendar-weekday:nth-child(7){color:#3d6c9a}
.eventlist-calendar-cell{min-height:125px;padding:8px;border-right:1px solid #d8e3d9;border-bottom:1px solid #d8e3d9}
.eventlist-calendar-cell.is-blank{background:#fafbf9}
.eventlist-calendar-cell.is-past{background:#fafbf8}
.eventlist-calendar-cell.is-today{background:#eff7ed}
.eventlist-calendar-number{display:block;margin-bottom:7px;font-size:15px;font-weight:800}
.eventlist-calendar-cell.is-today .eventlist-calendar-number{color:#245d46}
.eventlist-calendar-cell a{display:block;margin:0 0 4px;padding:4px 5px;border-radius:4px;background:#edf3eb;text-decoration:none;font-size:11px;line-height:1.4;overflow-wrap:anywhere}
.eventlist-calendar-cell a:hover,.eventlist-calendar-cell a:focus-visible{background:#dceadd;text-decoration:underline}
.eventlist-calendar-more{font-size:11px;color:#52685c}
.eventlist-home-list{margin-top:55px}
.eventlist-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.eventlist-card{display:flex;flex-direction:column;min-width:0;padding:23px;border:1px solid #dce4db;border-radius:12px;background:#fff;box-shadow:0 8px 22px #16392608}
.eventlist-card-date{margin:0 0 10px!important;color:#c15a32;font-weight:800}
.eventlist-card h3{margin:0 0 12px!important;font-size:18px;line-height:1.5;overflow-wrap:anywhere}
.eventlist-card h3 a{text-decoration:none}
.eventlist-card h3 a:hover{text-decoration:underline}
.eventlist-card p{margin:0 0 7px;font-size:13px;color:#526267;overflow-wrap:anywhere}
.eventlist-card-link{align-self:flex-start;margin-top:auto;padding-top:13px;font-weight:800;text-decoration:none}
.eventlist-empty{padding:35px;border:1px solid #dce4db;border-radius:9px;background:#f7f9f6}
@media(max-width:900px){.eventlist-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.eventlist-home-hero{padding:42px 0}.eventlist-home-heading{display:block}.eventlist-month-nav{margin-top:18px}.eventlist-card-grid{grid-template-columns:1fr}.eventlist-home-search>div{gap:5px}.eventlist-home-search button{padding:10px 16px}}

/* パソコンでは本文とカレンダーの横幅を揃える */
.eventlist-wrap{width:min(1320px,calc(100% - 64px));margin-inline:auto}
.eventlist-home-hero .eventlist-wrap > :first-child{margin-top:0}
.eventlist-home-hero .eventlist-wrap > :last-child{margin-bottom:0}
@media(max-width:650px){.eventlist-wrap{width:calc(100% - 32px)}}

/* 固定ページの本文とショートコードの表示 */
.eventlist-shortcode-page .eventlist-page-content > p,
.eventlist-shortcode-page .eventlist-page-content > h1,
.eventlist-shortcode-page .eventlist-page-content > h2,
.eventlist-shortcode-page .eventlist-page-content > h3{width:min(1320px,calc(100% - 64px));margin-left:auto;margin-right:auto}
.eventlist-shortcode-page .eventlist-page-content > p:first-child{padding-top:55px}
.eventlist-shortcode-page .eventlist-page-content > h1{font-size:clamp(30px,5vw,48px);line-height:1.35}
.eventlist-shortcode-page .eventlist-page-content > .eventlist-calendar-section{padding-top:12px}
.eventlist-shortcode-page .eventlist-home-search{margin-bottom:42px}
.eventlist-shortcode-page .eventlist-home-content{padding-top:20px}
@media(max-width:650px){
.eventlist-shortcode-page .eventlist-page-content > p,
.eventlist-shortcode-page .eventlist-page-content > h1,
.eventlist-shortcode-page .eventlist-page-content > h2,
.eventlist-shortcode-page .eventlist-page-content > h3{width:calc(100% - 32px)}
}

/* スマホでは日付を選び、その日の予定を読む */
.eventlist-mobile-calendar{display:none}
@media(max-width:650px){
.eventlist-calendar-section .eventlist-calendar-scroll{display:none}
.eventlist-mobile-calendar{display:block}
.eventlist-mobile-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.eventlist-mobile-weekday{text-align:center;font-size:12px;font-weight:800;padding:4px 0}
.eventlist-mobile-weekday:first-child{color:#b25239}
.eventlist-mobile-weekday:nth-child(7){color:#3d6c9a}
.eventlist-mobile-day{min-width:0;min-height:49px;padding:5px 1px;border:1px solid #d8e3d9;border-radius:6px;background:#fff;color:#172c35;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;font:inherit;font-weight:700;line-height:1.2;cursor:pointer}
.eventlist-mobile-day.is-today{border-color:#3c7757}
.eventlist-mobile-day.is-selected{background:#245d46;color:#fff;border-color:#245d46}
.eventlist-mobile-day:focus-visible{outline:3px solid #367fbb;outline-offset:2px}
.eventlist-mobile-count{font-size:10px;font-weight:600;color:#35634e}
.eventlist-mobile-day.is-selected .eventlist-mobile-count{color:#fff}
.eventlist-mobile-result{margin-top:16px;padding:18px;border:1px solid #d8e3d9;border-radius:9px;background:#f8faf7}
.eventlist-mobile-panel[hidden]{display:none}
.eventlist-mobile-panel h3{margin:0 0 12px!important;font-size:18px}
.eventlist-mobile-panel h3 small{font-size:13px;color:#52685c}
.eventlist-mobile-panel ul{margin:0;padding:0;list-style:none}
.eventlist-mobile-panel li+li{margin-top:8px}
.eventlist-mobile-panel a{display:block;padding:11px 12px;border-radius:6px;background:#fff;border:1px solid #e1eae0;line-height:1.5;text-decoration:none;overflow-wrap:anywhere}
.eventlist-mobile-panel a:focus-visible,.eventlist-mobile-panel a:hover{text-decoration:underline;background:#edf3eb}
.eventlist-mobile-panel p{margin:0}
}
