.lp-root{min-height:100vh;width:100%;background-color:red;display:flex;flex-direction:column;align-items:stretch}.lp-no-save img{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.lp-loading-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000;z-index:2000;pointer-events:auto;transform:translateY(0)}.lp-loading-overlay.lp-loading-overlay--hidden{animation:lp-loading-slide-down .9s ease-out forwards;pointer-events:none}@keyframes lp-loading-slide-down{0%{transform:translateY(0);opacity:1}to{transform:translateY(100%);opacity:0}}.lp-hero{width:100%;padding:0;box-sizing:border-box}.lp-hero-inner{width:100%;max-width:100%;margin:0 auto;display:flex;justify-content:center}.lp-hero-main-image-wrap{width:100%;display:flex;justify-content:center}.lp-hero-main-image{width:100%;height:auto;max-width:100%;display:block;border-radius:0;box-shadow:none}.lp-images-section{width:100%;padding:0;box-sizing:border-box}.lp-images-inner{width:100%;max-width:100%;margin:0 auto}.lp-image-wrapper{width:100%;margin:0}.lp-image{width:100%;height:auto;display:block;border-radius:0;box-shadow:none;background-color:transparent}.lp-image-with-buttons{position:relative;width:100%}.lp-image-base{width:100%;height:auto;display:block}.lp-button-overlay{position:absolute;left:50%;transform:translate(-35%);display:inline-block;clip-path:inset(0 30% 0 0%)}.lp-button-overlay--top{top:calc(33% + 60px)}.lp-button-overlay--bottom{top:calc(66% + 100px)}.lp-button-image{width:60%;max-width:320px;height:auto;display:block}@media (max-width: 480px){.lp-button-image{width:70%}}.lp-map-section{width:100%;box-sizing:border-box}.lp-map-inner{width:100%;max-width:100%;margin:0 auto;aspect-ratio:16 / 9;background-color:#000;border:4px solid rgb(220,0,0)}.lp-map-iframe{width:100%;height:100%;border:0;display:block}.lp-sns-footer{width:100%;background-color:#000;padding:12px 0;box-sizing:border-box}.lp-sns-inner{width:100%;max-width:100%;margin:0 auto;display:flex;justify-content:center;gap:40px}.lp-sns-link{display:inline-flex;align-items:center;justify-content:center}.lp-sns-icon{width:40px;height:40px;object-fit:contain;display:block}.js-scroll-fade{opacity:0;transform:translateY(24px);transition:opacity .6s ease-out,transform .6s ease-out}.js-scroll-fade.is-visible{opacity:1;transform:translateY(0)}.lp-floating-line{position:fixed;right:16px;bottom:16px;z-index:1000;display:none;transition:bottom .3s ease-out}.lp-floating-line--lifted{bottom:96px}.lp-floating-line-image{width:128px;height:auto;display:block;border-radius:999px;box-shadow:0 4px 12px #00000059;animation:lp-floating-glow 2.8s ease-in-out infinite}@keyframes lp-floating-glow{0%{transform:translateY(4px) scale(.98);box-shadow:0 2px 8px #0000004d;filter:brightness(1)}50%{transform:translateY(0) scale(1);box-shadow:0 8px 20px #00000080;filter:brightness(1.15)}to{transform:translateY(2px) scale(.995);box-shadow:0 4px 12px #00000059;filter:brightness(1.05)}}@media (max-width: 768px){.lp-floating-line{display:block}}@media (min-width: 769px){.lp-hero-inner,.lp-images-inner,.lp-sns-inner{max-width:480px}.lp-hero,.lp-images-section,.lp-sns-footer{display:flex;justify-content:center}}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans JP,sans-serif;-webkit-font-smoothing:antialiased;background:#f3f4f6;color:#111827;line-height:1.5}:root{--color-bg: #ffffff;--color-bg-soft: #f9fafb;--color-text-main: #111827;--color-text-sub: #4b5563;--color-primary: #dc2626;--color-primary-light: #f97373;--color-primary-dark: #b91c1c;--color-status-before-bg: #e5e7eb;--color-status-before-text: #4b5563;--color-status-open-bg: #ffedd5;--color-status-open-text: #c2410c;--color-status-closed-bg: #fee2e2;--color-status-closed-text: #7f1d1d;--color-admin-bg: #050816}.page-container{min-height:100vh;padding:16px 12px 32px}.page-container.user-page{max-width:480px;margin:0 auto;background:var(--color-bg);color:var(--color-text-main)}@media (min-width: 640px){.page-container.user-page{max-width:560px}}.page-container.admin-page{max-width:1200px;margin:0 auto;background:radial-gradient(circle at top left,rgba(248,250,252,.12),transparent 55%),radial-gradient(circle at bottom right,#0f172ae6,#020617);color:#f9fafb}header{margin-bottom:16px}header h1{margin:0 0 6px;font-size:1.4rem;font-weight:700}header p{margin:0;font-size:.9rem;color:var(--color-text-sub)}.page-container.admin-page header p{color:#e5e7eb}.section{margin-bottom:20px;padding:16px;border-radius:16px;background:var(--color-bg);box-shadow:0 8px 24px #0f172a0f;border:1px solid #e5e7eb}.page-container.admin-page .section{background:#0b1120;border-color:#94a3b899;box-shadow:0 16px 40px #0f172ab3}.status-label{display:inline-block;padding:4px 10px;border-radius:999px;font-size:.8rem;font-weight:600}.status-before{background:var(--color-status-before-bg);color:var(--color-status-before-text)}.status-open{background:var(--color-status-open-bg);color:var(--color-status-open-text)}.status-closed{background:var(--color-status-closed-bg);color:var(--color-status-closed-text)}button{cursor:pointer;font:inherit}.btn-primary,.auth-form button,.vote-submit-btn,.admin-button-primary,.confirm-dialog-button.confirm{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border-radius:999px;border:none;background-image:linear-gradient(135deg,var(--color-primary-light),var(--color-primary));color:#fff;font-weight:700;font-size:1rem;box-shadow:0 6px 18px #dc262659;transition:transform .1s ease,box-shadow .15s ease,filter .1s ease}.btn-primary:hover,.auth-form button:hover,.vote-submit-btn:hover,.admin-button-primary:hover,.confirm-dialog-button.confirm:hover{filter:brightness(.95);transform:translateY(-1px);box-shadow:0 8px 22px #dc262673}.btn-primary:active,.auth-form button:active,.vote-submit-btn:active,.admin-button-primary:active,.confirm-dialog-button.confirm:active{filter:brightness(.9);transform:translateY(0);box-shadow:0 4px 12px #b91c1c80}.btn-primary:disabled,.auth-form button:disabled,.vote-submit-btn:disabled,.admin-button-primary:disabled{opacity:.6;box-shadow:none;cursor:default}.btn-outline,.admin-button-secondary,.confirm-dialog-button.cancel{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 16px;border-radius:999px;border:1px solid #d1d5db;background:transparent;color:var(--color-text-main);font-weight:600;font-size:.95rem;transition:background .15s ease,color .15s ease,border-color .15s ease}.btn-outline:hover,.admin-button-secondary:hover,.confirm-dialog-button.cancel:hover{background:#f3f4f6}.page-container.admin-page .admin-button-secondary,.page-container.admin-page .confirm-dialog-button.cancel{border-color:#94a3b8cc;color:#e5e7eb}.page-container.admin-page .admin-button-secondary:hover,.page-container.admin-page .confirm-dialog-button.cancel:hover{background:#1f2937e6}input,select,textarea{font:inherit}.auth-form{display:flex;flex-wrap:wrap;align-items:stretch;gap:12px;margin-top:8px}.auth-form input{flex:1;padding:10px 14px;border-radius:999px;border:1px solid #d1d5db;background:#fff;color:var(--color-text-main);font-size:1rem}.auth-form input::placeholder{color:#9ca3af}.auth-status{margin-top:6px;font-size:.9rem;color:var(--color-text-sub)}@media (max-width: 400px){.auth-form{flex-direction:column}.auth-form button{width:100%;justify-content:center}}.field-row{margin-bottom:14px}.field-row label{display:block;font-size:.95rem;font-weight:600;margin-bottom:4px;color:var(--color-text-main)}.field-row input,.field-row select,.field-row textarea{width:100%;padding:10px 14px;border-radius:12px;border:1px solid #d1d5db;background:#fff;color:var(--color-text-main);font-size:1rem}.field-row input::placeholder,.field-row textarea::placeholder{color:#9ca3af}.vote-form{margin-top:12px;padding:12px;border-radius:12px;background:var(--color-bg-soft)}.vote-form-row{display:flex;align-items:center;gap:12px;margin-bottom:10px;font-size:.95rem}.vote-form-row label{min-width:72px}.vote-form-row select{flex:1;padding:10px 14px;border-radius:999px;border:1px solid #d1d5db;background:#fff;color:var(--color-text-main);font-size:1rem}@media (max-width: 430px){.vote-form-row{flex-direction:column;align-items:stretch}.vote-form-row label{min-width:auto}}.vote-submit-btn{width:100%;margin-top:16px}.participant-list,.participant-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px}.participant-card{padding:8px 10px;border-radius:12px;border:1px solid #e5e7eb;background:#fff;font-size:.9rem;color:var(--color-text-main)}.participant-card-header{font-size:.8rem;opacity:.7}.participant-name{font-weight:700}@media (min-width: 640px){.participant-list,.participant-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.message{margin-top:8px;font-size:.9rem}.message--error{color:var(--color-primary-dark)}.admin-layout{display:flex;gap:16px;align-items:stretch}.admin-left{flex:0 0 360px;max-height:calc(100vh - 32px);overflow-y:auto}.admin-right{flex:1;max-height:calc(100vh - 32px);overflow-y:auto}@media (max-width: 900px){.admin-layout{flex-direction:column}.admin-left,.admin-right{max-height:none}}.section-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.section-toggle-btn{padding:4px 10px;border-radius:999px;border:1px solid rgba(148,163,184,.7);background:#0f172ae6;color:#e5e7eb;font-size:.8rem}.table-wrapper{margin-top:12px;padding:12px;border-radius:12px;background:#fff;border:1px solid #e5e7eb;overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.85rem;color:#111827;background:#fff}thead th{border-bottom:1px solid #e5e7eb;padding:8px;text-align:left;white-space:nowrap;font-weight:700;background:#f3f4f6;color:#111827}tbody td{border-bottom:1px solid #e5e7eb;padding:6px 8px;text-align:left;white-space:nowrap}tbody tr:nth-child(2n) td{background:#f9fafb}tbody tr:hover td{background:#fee2e2}.page-container.admin-page .table-wrapper{background:#0b1120;border-color:#94a3b8b3}.page-container.admin-page table{background:#fff;color:#111827}.confirm-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:50}.confirm-dialog{width:min(420px,90vw);padding:20px 20px 16px;border-radius:16px;background:#fff;border:1px solid rgba(15,23,42,.12);box-shadow:0 24px 60px #0f172a59;color:var(--color-text-main)}.confirm-dialog-title{margin:0 0 8px;font-size:16px;font-weight:700;color:var(--color-text-main)}.confirm-dialog-message{margin:0;font-size:14px;line-height:1.6;color:var(--color-text-sub);white-space:pre-wrap}.confirm-dialog-buttons{margin-top:16px;display:flex;justify-content:flex-end;gap:8px}.confirm-dialog-button{min-width:88px}
