
body{margin:0!important;padding:0!important;}
#pc-app,#pc-app *,.pc-concierge,.pc-concierge *,#pc-lightbox,#pc-lightbox *,#pc-map-modal,#pc-map-modal *{font-family:'Zen Maru Gothic',sans-serif!important;}
#pc-app i[class*="fa-"],#pc-app .fa,#pc-app [class*=" fa"],#pc-app [class^="fa"],.pc-concierge i[class*="fa-"],.pc-concierge .fa,.pc-concierge [class*=" fa"],.pc-concierge [class^="fa"],#pc-lightbox i[class*="fa-"],#pc-map-modal i[class*="fa-"]{font-family:'Font Awesome 6 Free','Font Awesome 5 Free',FontAwesome!important;font-weight:900;}
[class*="Page__"],[class*="Section__"],[class*="Container__"],[class*="Wrapper__"],[class*="page__"],[class*="section__"],[class*="container__"],[class*="wrapper__"]{padding-top:0!important;padding-bottom:0!important;margin-top:0!important;margin-bottom:0!important;min-height:0!important;}
#__nuxt,#__nuxt>*,#teleports{padding:0!important;margin:0!important;min-height:0!important;}
#pc-app button{appearance:none!important;-webkit-appearance:none!important;}
:root{--pc-bg:#fdf6f0;--pc-pink:#ff9a9e;--pc-orange:#ffb347;--pc-teal:#a3d2ca;--pc-font:'Zen Maru Gothic',sans-serif;}

/* APP */
#pc-app{position:fixed!important;top:0!important;left:0!important;width:100%!important;height:100vh!important;overflow:hidden;z-index:1000;font-family:var(--pc-font);background-color:var(--pc-bg);background-image:linear-gradient(90deg,transparent 79px,#abced4 79px,#abced4 81px,transparent 81px),linear-gradient(#eee .1em,transparent .1em);background-size:100% 1.5em;color:#444;-webkit-font-smoothing:antialiased;display:flex;flex-direction:column;}

/* NAV */
#pc-nav{padding:10px 14px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;max-width:900px;margin:0 auto;position:relative;z-index:30;}
.pc-site-logo{font-size:1.2rem;font-weight:700;color:#333;line-height:1.2;display:flex;align-items:center;gap:6px;justify-content:center;}
.pc-site-logo::after{content:none;}
.pc-logo-sub{display:block;font-size:.52rem;letter-spacing:.06em;color:#888;font-weight:700;margin-bottom:1px;}
.pc-logo-char{font-size:1.5rem;line-height:1;}
.pc-site-logo-sm{font-size:1.6rem;font-weight:700;color:#333;line-height:1;display:inline-block;}
.pc-site-logo-sm::after{content:'POSTACHIRA';font-size:.55rem;display:block;letter-spacing:.3em;color:var(--pc-pink);}

/* AUTH */
#pc-auth-btn{display:flex;align-items:center;gap:5px;background:#fff;border:2px solid #333;border-radius:999px;padding:7px 14px;font-family:var(--pc-font);font-size:.78rem;font-weight:700;cursor:pointer;box-shadow:2px 2px 0 #333;white-space:nowrap;}
#pc-auth-btn i{font-size:1rem;color:#888;}
#pc-auth-user{display:none;align-items:center;gap:6px;position:relative;}
#pc-auth-avatar{width:32px;height:32px;border-radius:50%;border:2px solid #333;object-fit:cover;box-shadow:2px 2px 0 #333;}
#pc-auth-name{font-size:.72rem;font-weight:700;color:#555;max-width:60px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
#pc-auth-dropdown{display:none;position:absolute;top:calc(100% + 8px);right:0;background:#fff;border:2px solid #333;border-radius:14px;box-shadow:4px 4px 0 #333;min-width:150px;z-index:9999;overflow:hidden;}
#pc-auth-dropdown.pc-open{display:block;}
#pc-auth-dropdown a,#pc-auth-dropdown button{display:block;width:100%;text-align:left;padding:11px 16px;font-family:var(--pc-font);font-size:.85rem;font-weight:700;color:#333;text-decoration:none;background:none;border:none;cursor:pointer;box-sizing:border-box;}
#pc-auth-dropdown a:hover,#pc-auth-dropdown button:hover{background:#f5f5f5;}
@media(max-width:640px){#pc-auth-btn{padding:6px 10px;font-size:.72rem;}#pc-auth-name{display:none;}}

/* ACTION BAR */
.pc-action-bar{display:flex;align-items:center;padding:6px 12px 4px;max-width:900px;margin:0 auto;}
.pc-main-btn{flex:1;padding:13px 18px;border:2.5px solid #333;border-radius:999px;font-weight:700;background:white;cursor:pointer;box-shadow:3px 3px 0 #333;font-family:var(--pc-font);font-size:1rem;transition:all .15s;text-align:center;}
.pc-main-btn:active{transform:translate(2px,2px);box-shadow:1px 1px 0 #333;}
.pc-main-btn.pc-filter-active{border-color:var(--pc-pink);box-shadow:3px 3px 0 var(--pc-pink);background:#fff0f3;}

/* POSTER GRID */
#pc-grid-wrap{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;}
#pc-grid-sentinel{height:20px;clear:both;}
.pc-events-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;padding:3px 6px;max-width:900px;margin:0 auto;}

/* POSTER CARD */
.pc-poster-card{position:relative;aspect-ratio:3/4;overflow:hidden;cursor:pointer;border-radius:0;}
.pc-poster-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s;}
.pc-poster-card:active img{transform:scale(.97);}
.pc-poster-noimg{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#aaa;padding:10px;text-align:center;background:#f5f5f5;box-sizing:border-box;}
.pc-poster-noimg span{font-size:.9rem;font-weight:700;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;}
.pc-poster-actions{position:absolute;bottom:8px;right:8px;display:flex;gap:8px;}
.pc-pa-btn{width:24px;height:24px;border-radius:50%;border:1px solid rgba(0,0,0,.1);background:rgba(255,255,255,.6);font-size:.6rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;color:rgba(0,0,0,.4);}
.pc-pa-btn:active{transform:scale(.9);}
.pc-pa-btn.liked{background:rgba(255,200,50,.85);color:#b07800;border-color:rgba(200,150,0,.3);}

/* BOTTOM SHEET */
.pc-bs-wrap{display:none;}
.pc-bs-wrap.pc-open{display:block;}
.pc-bs-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:9200;}
.pc-bs-panel{position:fixed;bottom:0;left:0;right:0;background:white;border-radius:20px 20px 0 0;padding:0 16px 28px;z-index:9201;max-height:82vh;overflow-y:auto;transition:transform .2s ease;}
.pc-bs-handle{width:40px;height:4px;background:#ddd;border-radius:2px;margin:0 auto;padding:14px 60px;box-sizing:content-box;cursor:grab;}
.pc-bs-title{font-size:.92rem;font-weight:700;color:#555;margin-bottom:8px;}
.pc-bs-section{margin-bottom:0;padding:14px 0;border-top:1px solid #f0f0f0;}
.pc-bs-row{display:flex;flex-wrap:wrap;gap:7px;}
.pc-bs-close{display:block;width:100%;margin-top:4px;padding:13px;border:2.5px solid #333;border-radius:12px;font-weight:700;background:#f5f5f5;cursor:pointer;font-family:var(--pc-font);font-size:.95rem;}
.pc-bs-go-btn{display:block;width:100%;padding:16px;background:var(--pc-teal);border:3px solid #333;border-radius:999px;font-family:var(--pc-font);font-size:1.1rem;font-weight:700;color:#333;cursor:pointer;box-shadow:5px 5px 0 #333;margin-top:8px;}
.pc-bs-go-btn:active{transform:translate(2px,2px);box-shadow:3px 3px 0 #333;}
.pc-filter-date-btn{background:white;border:2px solid var(--pc-teal);border-radius:999px;padding:12px 18px;font-weight:700;font-family:var(--pc-font);cursor:pointer;font-size:1.05rem;color:#555;transition:all .15s;box-shadow:2px 2px 0 var(--pc-teal);}
.pc-filter-date-btn.pc-active{background:var(--pc-teal);color:#333;box-shadow:none;}
.pc-genre-btn{background:white;border:2px solid var(--pc-teal);border-radius:999px;padding:11px 16px;font-size:1rem;font-weight:700;font-family:var(--pc-font);cursor:pointer;color:#555;white-space:nowrap;}
.pc-genre-btn.pc-active{background:var(--pc-teal);color:#333;border-color:#6bb5ac;}
.pc-genre-count{background:#555;color:white;font-size:.6rem;min-width:15px;height:15px;border-radius:999px;padding:0 3px;margin-left:3px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;}
.pc-genre-btn.pc-active .pc-genre-count{background:rgba(255,255,255,.7);color:#333;}
.pc-kw-input-wrap{display:flex;align-items:center;background:#fff;border:2px solid var(--pc-teal);border-radius:50px;padding:13px 16px;width:100%;box-sizing:border-box;}
.pc-kw-input-wrap input{border:none;outline:none;width:100%;font-size:1rem;background:transparent;font-family:var(--pc-font);color:#444;}
.pc-tool-row-btn{display:flex;align-items:center;gap:6px;background:#fff;border:2px solid #ddd;border-radius:12px;padding:13px 16px;font-family:var(--pc-font);font-size:1rem;color:#555;cursor:pointer;font-weight:700;}
.pc-tool-row-btn.pc-has-filter{border-color:var(--pc-pink);color:var(--pc-pink);}

/* CALENDAR */
.pc-calendar{background:white;padding:18px;border-radius:16px;border:3px solid #ffb3c1;box-shadow:5px 5px 0 var(--pc-pink);}
.pc-calendar-title{text-align:center;font-weight:700;font-size:1rem;color:#ff7fa0;margin-bottom:12px;}
.pc-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center;font-size:.8rem;font-weight:700;}
.pc-cal-header-sun{color:#f87171;}.pc-cal-header-sat{color:#60a5fa;}
.pc-cal-day{padding:5px 2px;border-radius:7px;cursor:pointer;line-height:1;min-height:26px;display:flex;align-items:center;justify-content:center;position:relative;}
.pc-cal-day:hover:not(.empty){background:#fdf3f6;}
.pc-cal-day.empty{color:#ddd;cursor:default;pointer-events:none;}
.pc-cal-day.today{background:#ffe0ea;color:#ff7fa0;border:2px solid #ffb3c1;}
.pc-cal-day.selected{background:var(--pc-orange)!important;color:white!important;}
.pc-cal-day.selected .pc-cal-badge{background:white;color:var(--pc-orange);}
.pc-cal-badge{position:absolute;top:-1px;right:-1px;background:var(--pc-orange);color:white;font-size:.52rem;min-width:14px;height:14px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;padding:0 3px;font-weight:700;}
.pc-cal-day.sun{color:#f87171;}.pc-cal-day.sat{color:#60a5fa;}
.pc-cal-day.selected.sun,.pc-cal-day.selected.sat{color:white!important;}
#pc-date-filter-bar{display:none;align-items:center;gap:8px;font-size:.8rem;font-weight:700;color:var(--pc-orange);padding:2px 12px 6px;}
#pc-date-filter-bar button{background:none;border:2px solid var(--pc-orange);border-radius:999px;color:var(--pc-orange);font-size:.7rem;font-weight:700;padding:2px 10px;cursor:pointer;font-family:var(--pc-font);}
.pc-cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.pc-cal-nav .pc-calendar-title{margin-bottom:0;flex:1;}
.pc-cal-nav-btn{background:none;border:2px solid #ffb3c1;border-radius:50%;width:40px;height:40px;font-size:1rem;font-weight:700;color:#ff7fa0;cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:var(--pc-font);}


/* CHAT */
.pc-chat-avatar{width:28px;height:28px;background:white;border-radius:50%;border:2px solid #333;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;}
.pc-chat-body{flex:1;padding:12px;overflow-y:auto;background:rgba(255,243,230,.3);display:flex;flex-direction:column;gap:10px;scrollbar-width:thin;}
.pc-chat-bubble-wrap{display:flex;align-items:flex-start;gap:8px;}
.pc-bubble-avatar{width:30px;height:30px;background:white;border-radius:50%;border:2px solid #333;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;}
.pc-bubble{background:white;border:2px solid #333;padding:9px 13px;border-radius:16px;border-top-left-radius:4px;font-size:.9rem;font-weight:700;box-shadow:3px 3px 0 #eee;line-height:1.6;max-width:calc(100% - 46px);}
.pc-bubble-user{background:#fff3e0;border:2px solid var(--pc-orange);border-radius:16px;border-top-right-radius:4px;margin-left:auto;font-size:.9rem;font-weight:700;padding:9px 13px;box-shadow:3px 3px 0 #ffe0b2;line-height:1.6;max-width:80%;}
.pc-dot-anim{display:inline-flex;gap:4px;align-items:center;}
.pc-dot-anim span{width:6px;height:6px;border-radius:50%;background:var(--pc-orange);animation:pc-dot-bounce 1.2s infinite ease-in-out;}
.pc-dot-anim span:nth-child(2){animation-delay:.2s;}.pc-dot-anim span:nth-child(3){animation-delay:.4s;}
@keyframes pc-dot-bounce{0%,80%,100%{transform:scale(.5);opacity:.4}40%{transform:scale(1);opacity:1}}
.pc-chat-footer{padding:10px 12px;border-top:3px solid #333;background:white;border-radius:0 0 25px 25px;flex-shrink:0;}
.pc-chat-footer-inner{display:flex;gap:8px;}
.pc-chat-input{flex:1;background:#f9f9f9;border:2px solid #ddd;border-radius:999px;padding:8px 14px;font-size:.84rem;font-family:var(--pc-font);outline:none;color:#444;}
.pc-chat-input:focus{border-color:var(--pc-orange);}
.pc-chat-input::placeholder{color:#bbb;}
.pc-chat-send{width:38px;height:38px;border-radius:50%;background:var(--pc-orange);border:2px solid #333;box-shadow:3px 3px 0 #333;color:white;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;}
.pc-chat-login-prompt{font-size:.8rem;color:#888;display:flex;align-items:center;justify-content:center;gap:7px;padding:2px 0;}
.pc-chat-login-prompt button{border:1.5px solid var(--pc-teal);border-radius:999px;background:none;color:var(--pc-teal);padding:5px 12px;font-family:var(--pc-font);font-size:.78rem;font-weight:700;cursor:pointer;}
.pc-quick-opts{display:flex;flex-wrap:wrap;gap:6px;padding:6px 0 2px;}
.pc-quick-btn{background:#f0f4ff;border:1.5px solid #667eea;border-radius:999px;padding:7px 12px;font-size:.8rem;font-weight:700;color:#3730a3;cursor:pointer;font-family:var(--pc-font);}
.pc-quick-btn:active{background:#e0e7ff;}

/* MAP MODAL */
#pc-map-modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:99999;align-items:center;justify-content:center;}
#pc-map-modal.pc-open{display:flex;}
.pc-modal-content{background:var(--pc-bg);width:95%;max-width:1000px;height:85%;border-radius:40px;border:4px solid #333;position:relative;overflow:hidden;display:flex;flex-direction:column;}
.pc-modal-header{padding:18px 24px;display:flex;justify-content:space-between;align-items:center;background:white;border-bottom:4px solid #333;flex-shrink:0;}
.pc-modal-close{font-size:2.2rem;font-weight:700;cursor:pointer;line-height:1;background:none;border:none;color:#333;padding:0;}
.pc-modal-close:hover{color:var(--pc-pink);}
#pc-map-canvas{flex:1;min-height:0;background:#eef2f3;}

/* LIGHTBOX */
#pc-lightbox{display:none;position:fixed;inset:0;background:rgba(0,0,0,.88);z-index:999999;align-items:center;justify-content:center;}
#pc-lightbox.pc-open{display:flex;}
#pc-lightbox img{max-width:92vw;max-height:88vh;object-fit:contain;border-radius:12px;box-shadow:0 24px 80px rgba(0,0,0,.6);display:block;}
.pc-lightbox-close{position:fixed;top:20px;right:24px;color:white;font-size:2.8rem;font-weight:700;line-height:1;cursor:pointer;background:none;border:none;padding:0;}
.pc-lightbox-caption{position:fixed;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(0,0,0,.7));color:white;padding:32px 24px 24px;text-align:center;}
.pc-lightbox-caption-title{font-size:1.1rem;font-weight:700;margin-bottom:4px;}
.pc-lightbox-caption-meta{font-size:.85rem;opacity:.8;}
.pc-lightbox-detail-btn{margin-top:10px;background:rgba(255,255,255,.15);border:2px solid rgba(255,255,255,.6);border-radius:999px;color:#fff;font-family:var(--pc-font);font-size:.82rem;font-weight:700;padding:6px 20px;cursor:pointer;}
/* カルーセル nav（詳細モーダル画像エリア） */
.pc-img-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.35);color:#fff;border:none;width:34px;height:52px;font-size:1.5rem;cursor:pointer;z-index:3;display:flex;align-items:center;justify-content:center;line-height:1;}
.pc-img-prev{left:0;border-radius:0 4px 4px 0;}
.pc-img-next{right:0;border-radius:4px 0 0 4px;}
.pc-img-dots{position:absolute;bottom:10px;left:0;right:0;display:flex;justify-content:center;gap:6px;pointer-events:none;}
.pc-img-dot{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.45);cursor:pointer;pointer-events:all;transition:background .15s;}
.pc-img-dot.active{background:#fff;}
.pc-img-counter{position:absolute;top:9px;right:10px;background:rgba(0,0,0,.38);color:#fff;font-size:.7rem;font-weight:700;padding:2px 8px;border-radius:999px;line-height:1.5;}
/* ライトボックス 前/次ボタン・カウンター */
.pc-lb-nav{position:fixed;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.12);border:none;color:#fff;font-size:2.2rem;width:44px;height:72px;cursor:pointer;z-index:1000001;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:background .15s;line-height:1;}
.pc-lb-nav:hover{background:rgba(255,255,255,.25);}
.pc-lb-prev{left:6px;}
.pc-lb-next{right:6px;}
.pc-lb-counter{position:fixed;top:20px;left:50%;transform:translateX(-50%);color:#fff;font-size:.82rem;font-weight:700;background:rgba(0,0,0,.4);padding:3px 12px;border-radius:999px;z-index:1000001;}

/* DETAIL MODAL — 全画面縦分割レイアウト */
#pc-detail-modal{display:none;position:fixed;inset:0;z-index:99990;flex-direction:column;background:#111;}
#pc-detail-modal.pc-open{display:flex;animation:pc-fade-in .18s ease;}
@keyframes pc-fade-in{from{opacity:0}to{opacity:1}}
/* 上半分：ポスター */
.pc-detail-poster-half{flex:0 0 46%;position:relative;background:#111;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.pc-detail-img-wrap{width:100%;height:100%;position:relative;}
.pc-detail-img-wrap img{width:100%;height:100%;object-fit:contain;display:block;cursor:zoom-in;}
.pc-detail-no-img{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#555;font-size:3rem;}
/* 下半分：情報エリア */
.pc-detail-info-half{flex:1;overflow-y:auto;background:var(--pc-bg);border-radius:20px 20px 0 0;position:relative;}
.pc-detail-body{padding:14px 18px 40px;}
.pc-detail-drag-handle{width:44px;height:5px;background:#ccc;border-radius:999px;margin:10px auto 4px;display:block;}
.pc-detail-scroll-fade{position:absolute;bottom:0;left:0;right:0;height:56px;background:linear-gradient(transparent,var(--pc-bg) 85%);pointer-events:none;transition:opacity .25s;opacity:0;}
/* 閉じるボタン：ポスター左上 */
.pc-detail-close{position:absolute;top:12px;left:14px;font-size:1.6rem;font-weight:700;background:rgba(0,0,0,.45);border:none;cursor:pointer;color:#fff;z-index:10;padding:1px 8px;line-height:1.5;border-radius:8px;}
/* デスクトップ：左右分割 */
@media(min-width:640px){
  #pc-detail-modal{flex-direction:row;}
  .pc-detail-poster-half{flex:0 0 44%;border-right:3px solid #333;}
  .pc-detail-info-half{border-radius:0;}
  .pc-detail-drag-handle{display:none;}
}
/* 投稿モーダル（変更なし） */
#pc-submit-modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:99990;align-items:flex-end;justify-content:center;}
#pc-submit-modal.pc-open{display:flex;}
.pc-detail-sheet{background:var(--pc-bg);width:100%;max-width:540px;max-height:88vh;border-radius:30px 30px 0 0;overflow-y:auto;border:3px solid #333;border-bottom:none;position:relative;animation:pc-slide-up .22s ease;}
@media(min-width:640px){#pc-submit-modal{align-items:center;}.pc-detail-sheet{border-radius:30px;border-bottom:3px solid #333;max-height:85vh;}}
@keyframes pc-slide-up{from{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}
#pc-lightbox{touch-action:none;}
#pc-lightbox img{touch-action:none;will-change:transform;}
.pc-detail-title{font-size:1.25rem;font-weight:700;color:#333;line-height:1.4;margin:8px 0 12px;}
.pc-detail-meta{font-size:1rem;font-weight:700;color:#555;line-height:1.9;}
.pc-detail-summary{font-size:1rem;color:#555;line-height:1.8;margin-top:12px;white-space:pre-wrap;}
.pc-detail-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px;}
.pc-detail-btn{padding:13px 8px;border-radius:11px;border:2px solid #333;font-weight:700;font-family:var(--pc-font);cursor:pointer;font-size:.88rem;background:white;color:#333;display:flex;align-items:center;justify-content:center;gap:4px;box-shadow:3px 3px 0 #333;}
.pc-detail-btn:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 #333;}
.pc-detail-like.liked{background:#fffbea;color:#f59e0b;border-color:#fbbf24;box-shadow:3px 3px 0 #fbbf24;}
.pc-detail-dislike{color:#e57373;border-color:#e57373;box-shadow:3px 3px 0 #e57373;}
.pc-detail-dislike.disliked{background:#fff0f0;color:#e53935;border-color:#e53935;box-shadow:3px 3px 0 #e53935;}
.pc-detail-line{background:#06C755;color:white;border-color:#06C755;box-shadow:3px 3px 0 #048a3b;}
.pc-detail-map{background:var(--pc-teal);border-color:#6bb5ac;box-shadow:3px 3px 0 #6bb5ac;}
.pc-detail-route{background:#4f46e5;color:white;border-color:#4f46e5;box-shadow:3px 3px 0 #3730a3;}
/* いいね件数バッジ */
.pc-like-count{display:inline-block;background:#f59e0b;color:#fff;font-size:.68rem;font-weight:700;padding:2px 7px;border-radius:999px;margin-left:4px;}
.pc-card-cat{font-size:.7rem;background:#333;color:#fff;padding:4px 12px;border-radius:999px;font-weight:700;}

/* FOOTER */
#pc-footer{margin-top:50px;padding:44px 24px;background:white;border-top:4px solid #333;text-align:center;}
.pc-footer-logo{margin-bottom:12px;}
.pc-footer-sub{font-size:.9rem;font-weight:700;color:#888;margin-bottom:22px;}
.pc-footer-sns{display:flex;justify-content:center;gap:24px;font-size:1.4rem;color:#888;margin-bottom:24px;}
.pc-footer-sns a{color:#888;text-decoration:none;}
.pc-footer-sns a:hover{color:var(--pc-pink);}
.pc-footer-copy{font-size:.7rem;color:#bbb;font-weight:700;letter-spacing:.1em;}
.pc-sf-fields{display:flex;flex-direction:column;gap:10px;}.pc-sf-inp{border:2px solid #ddd;border-radius:10px;padding:10px 14px;font-family:var(--pc-font);font-size:.9rem;width:100%;box-sizing:border-box;}.pc-sf-req{border-color:#333;}.pc-sf-row{display:flex;align-items:center;gap:6px;}.pc-sf-row .pc-sf-inp{flex:1;}.pc-sf-submit{background:var(--pc-teal);border:3px solid #333;border-radius:999px;padding:12px;font-weight:700;cursor:pointer;box-shadow:4px 4px 0 #333;width:100%;font-family:var(--pc-font);}
.sf-page-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1.5px solid #e8e8e8;border-radius:8px;margin-bottom:6px;background:#fff;touch-action:none;}
.sf-page-thumb{width:36px;height:36px;object-fit:cover;border-radius:4px;flex-shrink:0;}
.sf-page-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;flex-shrink:0;}
.sf-drag-handle{cursor:grab;font-size:1rem;color:#bbb;flex-shrink:0;user-select:none;touch-action:none;}
.sf-cat-chip{padding:5px 11px;border-radius:999px;border:1.5px solid #ddd;cursor:pointer;font-size:.78rem;background:#fff;color:#555;user-select:none;transition:all .15s;}
.sf-cat-chip.active{background:var(--pc-teal);border-color:var(--pc-teal);color:#fff;}
@media(max-width:640px){.pc-chat-popup{width:calc(100vw - 80px);right:14px;}.pc-site-logo{font-size:.95rem;}.pc-events-grid{padding:2px 3px;}.pc-fab-wrap{bottom:20px;right:14px;}}

/* DIST DROPDOWN */
.pc-dist-wrap{position:relative;z-index:40;}
.pc-dist-btn{display:flex;align-items:center;gap:4px;background:#fff;border:2px solid #ddd;border-radius:999px;padding:7px 11px;font-family:var(--pc-font);font-size:.78rem;font-weight:700;cursor:pointer;white-space:nowrap;color:#555;}
.pc-dist-dropdown{display:none;position:absolute;top:calc(100% + 6px);left:0;background:#fff;border:2px solid #333;border-radius:14px;box-shadow:4px 4px 0 #333;min-width:130px;z-index:9999;overflow:hidden;}
.pc-dist-dropdown.pc-open{display:block;}
.pc-dist-dropdown button{display:block;width:100%;text-align:left;padding:11px 14px;font-family:var(--pc-font);font-size:.88rem;font-weight:700;color:#333;background:none;border:none;border-bottom:1px solid #f0f0f0;cursor:pointer;}
.pc-dist-dropdown button:last-child{border-bottom:none;}
/* タブバー — position:fixed で画面最下部に固定 */
.pc-tab-bar{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:stretch;height:60px;border-top:3px solid #333;background:#fff;z-index:9100;box-shadow:0 -2px 8px rgba(0,0,0,.1);}
.pc-tab-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:.72rem;font-weight:700;color:#888;cursor:pointer;border:none;border-right:1px solid #eee;background:none;font-family:var(--pc-font);padding:0;text-decoration:none;transition:color .12s;}
.pc-tab-btn:last-child{border-right:none;}
.pc-tab-icon{font-size:1.4rem;line-height:1;}
.pc-tab-btn.pc-tab-active,.pc-tab-btn:active{color:var(--pc-teal);}
.pc-tab-btn.pc-tab-filter{background:var(--pc-teal);color:#333;}
/* タブバー＋おすすめ固定分のパディング */
#pc-grid-wrap{padding-bottom:200px;}
/* MAP LEGEND */
.pc-map-legend{padding:7px 14px;background:#fff;border-top:2px solid #eee;display:flex;flex-wrap:wrap;gap:7px 12px;align-items:center;font-size:.72rem;font-weight:700;color:#555;flex-shrink:0;}
.pc-ml-item{display:inline-flex;align-items:center;gap:4px;}
.pc-ml-item i{display:inline-block;width:10px;height:10px;border-radius:50%;border:1px solid rgba(0,0,0,.15);flex-shrink:0;}
/* CHAT POPUP */
.pc-chat-popup{position:fixed;bottom:70px;right:10px;width:300px;background:white;border:3px solid #333;border-radius:20px;flex-direction:column;box-shadow:8px 8px 0 rgba(0,0,0,.1);z-index:9150;max-height:400px;overflow:hidden;}
.pc-chat-popup-header{background:var(--pc-orange);padding:12px 14px;border-bottom:3px solid #333;border-radius:17px 17px 0 0;display:flex;align-items:center;font-weight:700;gap:8px;flex-shrink:0;}
.pc-chat-popup-header button{margin-left:auto;background:none;border:none;font-size:1.05rem;cursor:pointer;color:#333;padding:0;font-weight:700;line-height:1;}
.pc-chat-popup .pc-chat-body{flex:1;padding:10px;overflow-y:auto;background:rgba(255,243,230,.3);display:flex;flex-direction:column;gap:8px;}
.pc-chat-popup .pc-chat-footer{padding:9px 11px;border-top:2px solid #333;background:white;border-radius:0 0 17px 17px;flex-shrink:0;}
/* RECOMMEND */
#pc-recommend-section{position:fixed;bottom:60px;left:0;right:0;background:var(--pc-bg);border-top:3px solid #333;z-index:9050;}
/* 右端フェードでスクロール可能を示す */
#pc-recommend-section::after{content:'';position:absolute;top:0;right:0;bottom:0;width:48px;background:linear-gradient(to right,transparent,var(--pc-bg));pointer-events:none;z-index:1;}
.pc-recommend-hd{font-size:.8rem;font-weight:700;color:#333;padding:4px 10px 2px;display:flex;align-items:center;justify-content:space-between;}
.pc-recommend-hd-hint{font-size:.68rem;font-weight:700;color:#bbb;letter-spacing:.03em;}
.pc-recommend-scroll{display:flex;gap:6px;overflow-x:auto;padding:4px 8px 8px;scrollbar-width:none;}
.pc-recommend-scroll::-webkit-scrollbar{display:none;}
/* 通常カードの1/3幅（通常は1/4） */
.pc-recommend-card{flex-shrink:0;width:calc(33.33vw - 8px);cursor:pointer;overflow:hidden;border:2px solid #eee;background:#fff;position:relative;}
.pc-rc-noimg{width:100%;aspect-ratio:3/4;background:#f5f5f5;display:flex;align-items:center;justify-content:center;font-size:1.8rem;}
.pc-recommend-card img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block;}
.pc-recommend-card-title{font-size:.65rem;font-weight:700;padding:4px 5px;color:#444;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.25;}
/* DAYS BADGE */
.pc-days-badge{position:absolute;top:6px;left:6px;background:rgba(255,107,53,.93);color:#fff;font-size:.63rem;font-weight:700;padding:3px 8px;border-radius:999px;pointer-events:none;z-index:2;}
.pc-days-badge.hot{background:rgba(220,38,38,.93);animation:pc-pulse 1.6s infinite;}
@keyframes pc-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.1)}}
/* POPULAR BADGE */
.pc-popular-badge{position:absolute;top:6px;right:6px;background:rgba(255,107,157,.88);color:#fff;font-size:.62rem;font-weight:700;padding:3px 7px;border-radius:999px;pointer-events:none;z-index:2;}
/* NEW DETAIL BUTTONS */
.pc-detail-attended{background:#e8f5e9;color:#2e7d32;border-color:#66bb6a;box-shadow:3px 3px 0 #66bb6a;}
.pc-detail-attended.done{opacity:.55;cursor:default;}
.pc-detail-cal{background:#e3f2fd;color:#1565c0;border-color:#42a5f5;box-shadow:3px 3px 0 #42a5f5;}

/* DISLIKED MODAL */
#pc-disliked-modal{display:none;position:fixed;inset:0;z-index:10000;}
.pc-disliked-panel{position:fixed;bottom:0;left:0;right:0;background:white;border-radius:20px 20px 0 0;padding:0 16px 28px;z-index:10001;max-height:75vh;overflow-y:auto;border:3px solid #eee;border-bottom:none;}
/* FILTER CHIPS BAR */
.pc-filter-chips{display:none;flex-wrap:wrap;gap:5px;padding:0 12px 6px;max-width:900px;margin:0 auto;}
.pc-filter-chip{background:#e8f5f3;border:1.5px solid var(--pc-teal);border-radius:999px;padding:8px 14px;font-size:.85rem;font-weight:700;color:#1d7a6e;cursor:pointer;font-family:var(--pc-font);white-space:nowrap;}
.pc-filter-chip:active{background:#c5e8e2;}
/* ボトムシート ✕ 閉じるボタン */
.pc-bs-x-btn{width:44px;height:44px;border-radius:50%;border:2px solid #ddd;background:#fff;font-size:1.1rem;font-weight:700;cursor:pointer;color:#888;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.pc-bs-x-btn:active{background:#f5f5f5;}
/* RESET BUTTON */
.pc-bs-reset-btn{background:none;border:1.5px solid #ddd;border-radius:999px;padding:8px 14px;font-size:.82rem;font-weight:700;color:#888;font-family:var(--pc-font);cursor:pointer;white-space:nowrap;}
.pc-bs-reset-btn:active{border-color:#aaa;color:#888;}
#pc-feature-banner{padding:0 6px 4px;max-width:900px;margin:0 auto;}
.pc-feature-card{display:flex;align-items:center;background:linear-gradient(90deg,#ffe082,#ffb347 60%,#ff9a9e);border:3px solid #333;padding:13px 16px;text-decoration:none;color:#333;box-shadow:4px 4px 0 #333;gap:10px;}
.pc-feature-card:active{transform:translate(2px,2px);box-shadow:2px 2px 0 #333;}
.pc-feature-label{background:#333;color:#fff;font-size:.68rem;font-weight:700;padding:4px 10px;border-radius:999px;white-space:nowrap;flex-shrink:0;}
.pc-feature-text{flex:1;font-size:.86rem;font-weight:700;line-height:1.3;}
.pc-feature-arrow{font-size:1.3rem;font-weight:700;flex-shrink:0;}

/* ── レスポンシブ：タブレット（481px〜） ── */
@media(min-width:481px){
  .pc-events-grid{grid-template-columns:repeat(6,1fr);}
  .pc-recommend-card{width:calc(20vw - 8px);}
  .pc-bs-panel{left:50%;right:auto;transform:translateX(-50%);width:min(100%,600px);}
  .pc-chat-popup{width:340px;}
}
/* ── レスポンシブ：PC（769px〜） ── */
@media(min-width:769px){
  .pc-events-grid{grid-template-columns:repeat(8,1fr);}
  .pc-recommend-card{width:130px;}
  #pc-nav{max-width:1400px;}
  .pc-action-bar{max-width:1400px;}
  .pc-events-grid{max-width:1400px;margin:0 auto;}
}
/* ── レスポンシブ：ワイドPC（1200px〜） ── */
@media(min-width:1200px){
  .pc-events-grid{grid-template-columns:repeat(10,1fr);}
  .pc-recommend-card{width:150px;}
}



.pc-banner-card{border:2px solid #ffe082 !important;background:#fffde7 !important;}
.pc-banner-badge{position:absolute;top:6px;left:6px;background:#f59e0b;color:#fff;font-size:.6rem;font-weight:700;padding:2px 7px;border-radius:999px;z-index:1;line-height:1.4;}
.pc-banner-desc{font-size:.65rem;color:#888;padding:0 6px 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
