:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#15211a;background:#f5f8f6;line-height:1.65}.body-modal-open{overflow:hidden}.web-wrap{width:min(100% - 32px,980px);margin-inline:auto}.web-header{background:#fff;border-bottom:1px solid #e5ece8;position:sticky;top:0;z-index:10}.web-header-inner{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:18px}.web-brand{font-size:1.25rem;font-weight:800;color:#0b8f43;text-decoration:none}.web-header nav{display:flex;gap:16px;flex-wrap:wrap}.web-header nav a,.back-link a{color:#27603d;text-decoration:none}.web-hero{padding:54px 0 34px}.eyebrow{margin:0 0 8px;color:#0b8f43;font-weight:800}.web-hero h1{font-size:clamp(2rem,6vw,3.5rem);line-height:1.12;margin:0 0 16px;letter-spacing:-.03em}.web-hero>p:not(.eyebrow){max-width:720px;color:#53635a}.event-search{display:flex;gap:8px;margin-top:24px;max-width:680px}.event-search input{min-width:0;flex:1;border:1px solid #cbd7d0;border-radius:14px;padding:13px 15px;font:inherit;background:#fff}.event-search button{border:0;border-radius:14px;padding:0 20px;background:#15211a;color:#fff;font-weight:700}.event-section{padding:18px 0 46px}.ended-section{border-top:1px solid #dfe7e2}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:16px}.section-heading h2{margin:0;font-size:1.45rem}.section-heading span,.section-note,.search-result{color:#6b776f}.event-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.event-card{background:#fff;border:1px solid #e2e9e5;border-radius:20px;overflow:hidden;box-shadow:0 8px 30px rgba(26,54,38,.06)}.event-card.is-ended{opacity:.82}.event-card-image-link{display:block;overflow:hidden;touch-action:manipulation}.event-card-image{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}.event-card-body{padding:18px}.event-state{display:inline-flex;border-radius:999px;padding:4px 10px;background:#e9f8ef;color:#087b3a;font-size:.78rem;font-weight:800}.is-ended .event-state{background:#eef0ef;color:#5c655f}.event-card h2{font-size:1.2rem;line-height:1.35;margin:10px 0 8px}.event-card h2 a{color:#15211a;text-decoration:none}.event-meta,.event-summary,.event-organizer{margin:8px 0}.event-meta{font-weight:650}.event-summary,.event-organizer{color:#5a675f}.empty-box{background:#fff;border:1px dashed #cbd7d0;border-radius:18px;padding:26px;color:#607067}.web-footer{border-top:1px solid #dfe7e2;padding:28px 0 42px;color:#6b776f}.detail-wrap{padding:34px 0 60px}.public-event-detail{background:#fff;border:1px solid #e2e9e5;border-radius:24px;overflow:hidden;box-shadow:0 12px 44px rgba(26,54,38,.08)}.event-photo-grid{display:grid;gap:4px;background:#e9eeeb;overflow:hidden}.event-photo-grid img{width:100%;height:100%;object-fit:cover;display:block;max-height:560px;cursor:zoom-in}.event-photo-grid.count-2{grid-template-columns:1fr 1fr}.event-photo-grid.count-3{grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr}.event-photo-grid.count-3 img:first-child{grid-row:1/3}.detail-body{padding:clamp(22px,5vw,44px)}.detail-body h1{font-size:clamp(2rem,6vw,3.7rem);line-height:1.1;letter-spacing:-.035em;margin:12px 0 22px}.detail-meta{padding:18px 0;border-top:1px solid #e5ece8;border-bottom:1px solid #e5ece8}.detail-meta p{margin:6px 0}.detail-cohosts{color:#59665e}.detail-message{padding:18px 0;font-size:1.05rem}.detail-message p{white-space:pre-wrap}.web-actions{display:grid;gap:10px;margin-top:24px}.web-button{display:block;text-align:center;border-radius:15px;padding:14px 18px;background:#15211a;color:#fff;text-decoration:none;font-weight:800}.web-button.secondary{background:#eef3f0;color:#1c4a31}.web-button.line{background:#06c755;color:#fff}.detail-note{font-size:.88rem;color:#6b776f;margin-top:18px}.back-link{margin-top:24px}.error-page{padding:70px 0}.error-page h1{font-size:2rem;margin-top:32px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.web-publish-choice{border:1px solid #cfe4d7;border-radius:16px;background:#f4fbf7;padding:16px}.web-publish-label{display:flex;gap:12px;align-items:flex-start;font-weight:800}.web-publish-label input{margin-top:5px;transform:scale(1.2)}.web-publish-choice p{margin:8px 0 0;color:#5c6b62;font-size:.9rem}@media(max-width:620px){.web-header-inner{align-items:center;min-height:0;padding:12px 0}.web-header nav{font-size:.9rem}.event-photo-grid.count-2{grid-template-columns:1fr;grid-template-rows:auto}.event-photo-grid.count-3{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto}.event-photo-grid.count-3 img{height:auto;aspect-ratio:1/1}.event-photo-grid.count-3 img:first-child{grid-column:1/-1;grid-row:auto;aspect-ratio:16/9}.event-search{flex-direction:column}.event-search button{padding:13px 18px}}

/* 作成時に選んだデザインを、このWeb公開ページにも当てる（themes.css が変数を定義する）。
   data-notice-theme が無い＝テーマ未設定のお知らせは、従来の見た目のまま。 */
.public-event-detail[data-notice-theme]{background:var(--event-bg);color:var(--event-text);border-color:var(--event-border);border-radius:var(--event-radius);box-shadow:var(--event-shadow)}
.public-event-detail[data-notice-theme] .detail-body{font-family:var(--event-body-font);color:var(--event-text)}
.public-event-detail[data-notice-theme] .detail-body h1{color:var(--event-text);font-family:var(--event-title-font)}
.public-event-detail[data-notice-theme] .detail-meta{color:var(--event-muted);font-family:var(--event-body-font)}
.public-event-detail[data-notice-theme] .detail-message{color:var(--event-text);border-top-color:var(--event-border);font-family:var(--event-body-font)}
