@import url("./fonts.css");
:root{font-family:"Noto Sans JP",system-ui,sans-serif;color:#263e36;background:#f4f5ef;font-synthesis:none}*{box-sizing:border-box}body{margin:0}header{background:#fff;border-bottom:1px solid #dce3d9;padding:18px max(20px,calc((100% - 1080px)/2));display:flex;gap:16px;justify-content:space-between;align-items:center}.brand{font-family:serif;font-size:25px;font-weight:700;white-space:nowrap}.brand small{font-family:system-ui;display:block;font-size:11px;letter-spacing:.15em;color:#68776d}a{color:inherit}main{max-width:1120px;padding:30px 20px 70px;margin:auto}h1{font-size:30px;line-height:1.6;margin:8px 0 18px}h2{font-size:21px}h3{font-size:17px}p{line-height:1.8;color:#57675e}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.15em;color:#8b5e39}.card{background:white;border:1px solid #dce3d9;border-radius:16px;padding:26px;margin:18px 0}.narrow{max-width:450px;margin:40px auto}label{display:block;font-size:14px;font-weight:600;margin:16px 0}input,textarea,select{font:inherit;background:#fff;color:#263e36;border:1px solid #bbc9bd;border-radius:8px;width:100%;padding:12px;margin-top:7px;min-height:46px}textarea{min-height:100px;resize:vertical}input[type=checkbox]{width:20px;min-height:20px;margin:0 8px 0 0;vertical-align:middle}button,.button{font:inherit;cursor:pointer;display:inline-block;text-align:center;text-decoration:none;border:1px solid #bac8be;border-radius:9px;background:#fff;color:#274d3e;padding:11px 17px;min-height:46px}button:hover{background:#edf2e9}button:disabled{opacity:.5;cursor:wait}.primary{color:#fff;background:#246346;border-color:#246346}.primary:hover{background:#18492f}.danger{color:#a03d32}form>.primary{width:100%;margin-top:12px}nav{display:flex;gap:8px;overflow:auto;padding:5px 0 15px}nav button{white-space:nowrap}nav button[aria-current=true]{background:#263e36;color:white}.page-heading,.toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between}.toolbar{flex-wrap:wrap;margin:15px 0}.toolbar input{flex:1;min-width:170px;margin:0}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.facility-list{display:grid;gap:12px}.facility{display:flex;justify-content:space-between;align-items:center;text-align:left;width:100%;background:white;padding:20px;border-radius:12px}.facility strong{display:block;margin-bottom:7px}.badge{display:inline-block;border-radius:20px;background:#e7efdf;color:#43663e;padding:4px 10px;font-size:12px;margin-right:6px}.pending{background:#fff0ce;color:#86601e}.muted,small{font-size:13px;color:#6a776e}.notice-editor,.image-editor{border:1px solid #dce3d9;padding:16px;border-radius:10px;margin:12px 0}.image-editor{display:grid;grid-template-columns:85px 1fr;gap:12px;align-items:center}.image-editor img{width:85px;height:85px;object-fit:cover;border-radius:7px}.image-editor label{margin:0}.image-editor .toolbar{grid-column:1/-1;margin:0}details{border-top:1px solid #dce3d9;padding:15px 0}summary{cursor:pointer;font-weight:600;min-height:40px}.save-bar{position:sticky;bottom:0;background:#fffef7ef;padding:14px 0;display:flex;gap:10px;flex-wrap:wrap;backdrop-filter:blur(8px)}.save-bar button{flex:1}.read-only{background:#eff2eb;padding:12px;border-radius:8px;font-size:14px;line-height:1.8}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:12px;border-bottom:1px solid #dce3d9;vertical-align:top}th{white-space:nowrap}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}#message:not(:empty){background:#e6efdf;border:1px solid #bccfb3;border-radius:10px;padding:14px;margin-bottom:20px;line-height:1.7}#message.error{background:#fff1eb;border-color:#e2b5a5;color:#963e2e}.credentials{background:#fff5dc;padding:20px;border:1px solid #e1c786;border-radius:10px;overflow-wrap:anywhere}.credentials code{font-size:18px;user-select:all}.check-list{max-height:240px;overflow:auto;padding:10px;border:1px solid #dce3d9;border-radius:9px}.check-list label{font-weight:400}.error-text{color:#a23e31}footer{text-align:center;font-size:12px;padding:25px;color:#6b7d6b}[hidden]{display:none!important}:focus-visible{outline:3px solid #b8853e;outline-offset:3px}@media(max-width:600px){main{padding:20px 14px 40px}.card{padding:20px 16px}.grid{grid-template-columns:1fr}.page-heading{align-items:flex-start}.page-heading>button{font-size:11px;padding:8px}h1{font-size:25px}header{padding:14px 18px}.brand{font-size:22px}.facility{padding:16px}.save-bar{bottom:0}button,input,select,textarea{font-size:16px}.toolbar button{flex-grow:1}}
.brand{font-family:"Noto Sans JP",sans-serif}.edit-section>summary{padding:10px 0;font-size:16px}.notice-editor>summary{line-height:1.7}
.brand{text-decoration:none}.brand small{font-family:inherit}@media(max-width:600px){.page-heading h1{margin:4px 0 10px}#facility-form{margin-top:12px}#facility-form>h2{margin:8px 0}#facility-form>p{margin:8px 0}.read-only{margin:12px 0}.narrow{margin:20px auto}}

#highlight-picker{width:96px;height:48px;padding:4px;cursor:pointer}.color-presets{flex-wrap:wrap}.appearance-preview{display:flex;align-items:center;gap:36px;min-height:140px;padding:30px;background:#edf0e8;border-radius:12px;margin:20px 0}.appearance-preview small{color:#53645b}.preview-pin{position:relative;flex:0 0 36px;height:36px;border:3px solid white;border-radius:50%;background:var(--preview-color,#d63f32);box-shadow:0 2px 6px #0003}.preview-pin::before,.preview-pin::after{content:"";position:absolute;inset:-3px;border:3px solid var(--preview-color,#d63f32);border-radius:50%;animation:preview-ripple 2.4s ease-out infinite;pointer-events:none}.preview-pin::after{animation-delay:-1.2s}@keyframes preview-ripple{from{transform:scale(.95);opacity:.95}45%{opacity:.75}80%{opacity:.3}to{transform:scale(2.2);opacity:0}}@media(prefers-reduced-motion:reduce){.preview-pin::before{animation:none;transform:scale(1.35);opacity:.6}.preview-pin::after{display:none}}
#icon-color-picker{width:96px;height:48px;padding:4px;cursor:pointer}.preview-pin{display:grid;place-items:center;color:var(--preview-foreground,#fff);font-size:20px;line-height:1}

.notice-badges{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.notice-badges .badge{margin:0;font-size:11px}.notice-active{background:#dfefe3;color:#245b3c}.notice-ended{background:#ecece8;color:#686b64}.notice-scheduled{background:#e2edf9;color:#315579}.notice-pending{background:#fff0cb;color:#775413}.notice-unpublished{background:#ecece8}.toolbar>label{min-width:150px;margin:0}.notice-editor [data-job=closed]{width:auto;display:inline-block;margin-right:8px}

.contact-body{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit}

.click-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin:24px 0}.click-summary>div{padding:16px;border:1px solid #ded8cd;border-radius:12px}.click-summary strong{display:block;font-size:30px;color:#86342b}.click-summary span{font-size:14px}.click-table{overflow-x:auto;margin:18px 0}.click-table table{width:100%;border-collapse:collapse}.click-table th,.click-table td{text-align:left;padding:10px;border-bottom:1px solid #ded8cd;white-space:nowrap}.click-table meter{width:100%;min-width:100px;max-width:240px}.click-table button{white-space:normal;text-align:left}

/* Fixed-size main photos keep list positions stable while lazy images load. */
.facility{gap:14px}
.facility-thumbnail{width:80px;height:60px;flex:0 0 80px;object-fit:cover;border-radius:7px;background:#edf0e8}
.facility-copy{flex:1;min-width:0;overflow-wrap:anywhere}
.facility-edit-link{flex-shrink:0;white-space:nowrap}
@media(max-width:600px){.facility{gap:10px}.facility-thumbnail{width:56px;height:56px;flex-basis:56px}.facility-edit-link{font-size:12px}}

.selection-row{display:flex;gap:8px;align-items:stretch}.selection-row .facility{flex:1;min-width:0}.row-check{display:flex;align-items:center;justify-content:center;flex:0 0 44px;margin:0;cursor:pointer}.row-check input{margin:0}.selection-row:has(input:checked){background:#dcebd4;border-radius:12px}.bulk-controls{justify-content:flex-start}.bulk-controls label{display:flex;align-items:center}.bulk-controls input[type=checkbox]{flex:none;min-width:20px;width:20px}.facility small{display:block}

/* Visibility and event timing remain separate, readable text badges. */
.badge.status-published{background:#dcf3e4;color:#185c36;border:1px solid #9acbab;font-weight:700}
.badge.status-draft,.badge.notice-unpublished{background:#f0e7fa;color:#634080;border:1px solid #cebae1;font-weight:700}
.badge.status-archived,.badge.phase-ended{background:#eceff2;color:#4c5866;border:1px solid #c6cdd5;font-weight:700}
.badge.phase-upcoming{background:#e2efff;color:#20578a;border:1px solid #aacbea;font-weight:700}
.badge.phase-active{background:#fff0d8;color:#854509;border:1px solid #e5bd7a;font-weight:700}

.marker-settings{border:1px solid #d8ddcf;border-radius:8px;margin:20px 0;padding:16px}.marker-preview-row{display:flex;align-items:center;gap:12px}.marker-preview{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;color:#fff;font-size:18px;flex-shrink:0}.marker-settings [hidden]{display:none}

.shop-design-settings{border:0;padding:0;margin:28px 0;min-width:0}.shop-design-settings legend{font-weight:700}.shop-design-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}.shop-design-option{position:relative;display:flex;flex-direction:column;gap:10px!important;padding:14px!important;border:1px solid #cbd3c9;border-radius:12px;cursor:pointer;min-width:0;background:#fff}.shop-design-option:has(input:checked){border:2px solid #345c46;padding:13px!important;background:#f5f9f3}.shop-design-option:focus-within{outline:3px solid #9b682e;outline-offset:3px}.shop-design-option input[type=radio]{width:20px;height:20px;align-self:flex-start;margin:0;accent-color:#345c46}.shop-design-option strong{font-size:15px}.shop-design-option small{line-height:1.8}.design-selected{font-size:12px;color:#345c46;font-weight:700;visibility:hidden;margin-top:auto}.shop-design-option:has(input:checked) .design-selected{visibility:visible}.design-sample{height:130px;position:relative;display:block;background:#f6f3eb;border:1px solid #e0ddd5;overflow:hidden}.sample-heading{position:absolute;left:10%;top:28%;width:30%;height:8px;background:#344d3c;box-shadow:0 15px 0 -2px #77836d}.sample-photo{position:absolute;right:0;top:0;width:48%;height:100%;background:linear-gradient(145deg,#d0d6bf 30%,#8fa087 31%,#a4b095 65%,#6d8269 66%)}.sample-lines{position:absolute;left:10%;bottom:22%;width:25%;height:4px;background:#9aa48f;box-shadow:0 8px 0 #c5ccbb}.sample-natural{background:#faf6ef}.sample-natural .sample-photo{right:8%;top:12%;height:78%;width:40%;border-radius:48% 48% 5px 5px;background:linear-gradient(145deg,#e5d4b7 30%,#b4a382 31%,#c8b591 65%,#95805c 66%)}.sample-natural .sample-heading{background:#765039;box-shadow:0 15px 0 -2px #b0957b}.sample-modern{background:white}.sample-modern .sample-heading{top:15%;width:55%;height:7px;background:#263d4a;box-shadow:none}.sample-modern .sample-photo{top:auto;bottom:10%;right:8%;width:84%;height:50%;background:linear-gradient(145deg,#d2dde2 30%,#8ca3ad 31%,#afc2cb 65%,#607d8b 66%)}.sample-modern .sample-lines{top:30%;height:3px;width:35%;background:#9babb2;box-shadow:none}@media(max-width:600px){.shop-design-options{grid-template-columns:1fr}.shop-design-option{display:grid;grid-template-columns:24px 100px minmax(0,1fr);gap:8px 12px!important;align-items:center}.shop-design-option input{grid-column:1;grid-row:1/4}.design-sample{grid-column:2;grid-row:1/4;width:100px;height:100px}.shop-design-option strong,.shop-design-option small,.design-selected{grid-column:3}.shop-design-option strong{font-size:14px}.shop-design-option small{font-size:12px}.design-selected{margin:0}}

.operator-updates h2{font-size:1.1rem;margin-top:0}.operator-update{padding:12px 0;border-bottom:1px solid #d9e1dc}.operator-update summary{cursor:pointer;overflow-wrap:anywhere}.operator-update time{font-size:.85em;color:#59665f}.update-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8}.menu-editor img{object-fit:contain;max-height:240px;width:100%;background:#f4f5f2}.menu-editor>a{display:block}.menu-editor input[type=file]{max-width:100%}

.contact-intake{border:1px solid #ddd7cd;padding:18px;border-radius:10px;margin:18px 0}.contact-photos{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px}.contact-photos img{width:100%;height:150px;object-fit:contain;background:#f5f3ed}.contact-photos label{display:flex;flex-direction:column;gap:8px}.contact-intake a,.contact-intake p{overflow-wrap:anywhere}

.sales-row{display:flex;flex-direction:column;align-items:flex-start;gap:7px;width:100%;text-align:left;padding:16px;margin:10px 0;border:1px solid #cbd6ce;background:#fff;border-radius:10px;overflow-wrap:anywhere;white-space:normal}.sales-row small{color:#53675c}.sales-stopped{border-left:5px solid #a23832;background:#fff5f3}.sales-row .sales-due{color:#9b3927;font-weight:bold}#sales-form{scroll-margin-top:20px}#sales-form textarea{width:100%}.selection-row>[data-sales-open]{flex-shrink:0}@media(max-width:600px){.selection-row{flex-wrap:wrap}.selection-row>[data-sales-open]{margin-left:auto}}

.contact-alert{border:2px solid #a74419;display:flex;align-items:center;flex-wrap:wrap;gap:12px;background:#fff8ed}.contact-alert[hidden]{display:none}.contact-count{font-size:2rem;color:#9b3413}.contact-alert small{flex-basis:100%}

.contact-history{display:grid;gap:12px}.contact-history-row{display:flex;flex-direction:column;align-items:flex-start;text-align:left;white-space:normal;gap:8px;width:100%;overflow-wrap:anywhere}.contact-entry{border:1px solid #d7ded6;border-radius:12px;padding:16px;margin:16px 0;background:#fafbf8}.contact-entry-admin{background:#edf5f0;border-left:4px solid #27674e}.contact-entry p{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:0}.contact-entry small{color:#53645a}#thread-feedback{margin:16px 0;overflow-wrap:anywhere}#thread-reply-form{margin-top:24px}#thread-replies{overflow-wrap:anywhere}

/* 二段階認証の登録・復旧コード */
.mfa-qr{max-width:280px;margin:1rem auto;background:#fff}.mfa-qr svg{display:block;width:100%;height:auto}.mfa-codes{font-size:12px;overflow-x:auto;padding:12px;background:#f1f4ef;user-select:all}#mfa-panel code{display:block;overflow-wrap:anywhere;margin:12px 0}#mfa-panel>button{margin:8px 8px 0 0}
