:root{--bg:#f7f7fb;--card:#fff;--text:#20222a;--muted:#666b7a;--line:#e6e7ef;--primary:#5b4bdb;--primary-dark:#4735c7;--danger:#c0392b;--ok:#0f8a5f;--shadow:0 8px 22px rgba(25,30,50,.08)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,'Hiragino Sans','Yu Gothic',Meiryo,sans-serif;line-height:1.65}.site-header{position:sticky;top:0;z-index:5;display:flex;gap:14px;align-items:center;padding:12px 18px;background:#fff;border-bottom:1px solid var(--line)}.brand{font-weight:800;color:var(--primary);text-decoration:none}.container{width:min(1100px,94vw);margin:24px auto}.site-footer{text-align:center;color:var(--muted);font-size:12px;padding:28px}.card,.login-card,.hero,.shop-header{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:22px;margin:18px 0;box-shadow:var(--shadow)}.login-card{max-width:460px;margin:50px auto}.hero{text-align:center;padding:46px 22px}.shop-header{background:linear-gradient(135deg,#fff,#f0efff)}h1,h2,h3{line-height:1.3;margin-top:0}.muted,.note{color:var(--muted)}.button,button{display:inline-block;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--text);padding:10px 16px;text-decoration:none;cursor:pointer;font-weight:700}.button.primary,button.primary{background:var(--primary);border-color:var(--primary);color:#fff}.button.primary:hover,button.primary:hover{background:var(--primary-dark)}.button.small,button.small{padding:5px 10px;font-size:13px}.tabs{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 18px}.tabs a{padding:9px 12px;background:#fff;border:1px solid var(--line);border-radius:999px;text-decoration:none;color:var(--text)}.form-grid{display:grid;gap:14px}.form-grid label{display:grid;gap:6px;font-weight:700}.form-grid input,.form-grid select,.form-grid textarea,.inline-form input,.inline-form select{width:100%;padding:11px;border:1px solid #cfd2df;border-radius:12px;background:#fff;font:inherit}.form-grid textarea{resize:vertical}.check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:8px}.check input{width:auto}.inline-form{display:flex;flex-wrap:wrap;gap:8px;align-items:end}.inline-form label{display:grid;gap:4px}table{width:100%;border-collapse:collapse;background:#fff;overflow:hidden;border-radius:12px}th,td{border-bottom:1px solid var(--line);padding:10px;text-align:left;vertical-align:top}th{background:#f0f1f8}.grid-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow)}.stat-card strong{font-size:34px;display:block;color:var(--primary)}.stat-card span{color:var(--muted)}.flash{padding:12px 14px;border-radius:14px;margin:12px 0;font-weight:700}.flash-success{background:#e9fff7;color:#006f4f}.flash-error{background:#fff0ee;color:#a1291d}.success-box{border-color:#bfead6;background:#f3fff9}.menu-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}.menu-card{border:1px solid var(--line);border-radius:16px;padding:16px;background:#fff}.price{font-size:18px;font-weight:800;color:var(--primary)}.steps{display:inline-block;background:#f0efff;color:var(--primary);padding:4px 10px;border-radius:999px;font-weight:800}.selected-box{background:#f7f7fb;border:1px solid var(--line);border-radius:14px;padding:12px;margin:10px 0}.slot-day{border-top:1px solid var(--line);padding:14px 0}.slot{display:inline-block;margin:4px;padding:9px 13px;background:#fff;border:1px solid var(--primary);color:var(--primary);border-radius:999px;text-decoration:none;font-weight:800}.date-nav{display:flex;justify-content:space-between;margin:14px 0}.confirm-list{display:grid;grid-template-columns:110px 1fr;gap:8px 12px}.confirm-list dt{font-weight:800;color:var(--muted)}.policy{background:#fffaf0;border:1px solid #f3e4c2;border-radius:14px;padding:14px}.list{display:grid;gap:10px}.list-item{display:block;border:1px solid var(--line);border-radius:14px;padding:14px;text-decoration:none;color:var(--text);background:#fff}.list-item span{display:block;color:var(--muted)}code{background:#f0f1f8;padding:2px 5px;border-radius:5px}@media(max-width:700px){.container{width:94vw;margin:14px auto}.card,.login-card,.hero,.shop-header{padding:16px;border-radius:14px}.site-header{font-size:14px}.tabs{overflow-x:auto;flex-wrap:nowrap}.tabs a{white-space:nowrap}table{display:block;overflow-x:auto;white-space:nowrap}.inline-form{display:grid}.confirm-list{grid-template-columns:1fr}.button,button{width:100%;text-align:center;margin:3px 0}.slot{width:auto}.grid-cards{grid-template-columns:1fr 1fr}.stat-card strong{font-size:26px}}
.status-panel{padding:14px 16px;border-radius:14px;margin:14px 0;border:1px solid var(--line)}.status-panel strong{display:block;font-size:18px}.status-panel p{margin:4px 0 0}.status-ok{background:#eefcf5;border-color:#bfead6;color:#075f43}.status-ng{background:#fff4f2;border-color:#f1c7c0;color:#9b2418}
.sub-card{background:#fafbff;border:1px solid var(--line);border-radius:14px;padding:14px;margin:14px 0}.check-list{list-style:none;padding:0;margin:8px 0;display:grid;gap:8px}.check-list li{padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:#fff}.check-list li.ok{border-color:#bfead6;background:#f3fff9;color:#075f43}.check-list li.ng{border-color:#f1c7c0;background:#fff4f2;color:#9b2418}.check-row{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:8px}.check-row input{width:auto!important}
.plan-form{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));align-items:end}.plan-form h2,.plan-form h3,.plan-form .check,.plan-form button{grid-column:1/-1}.contract-form{min-width:520px}.contract-form label{min-width:120px}.sub-card h3{margin-bottom:0}.note{font-size:13px}.compact{padding:12px 16px}@media(max-width:700px){.plan-form{grid-template-columns:1fr}.contract-form{min-width:0}}
.button.danger,button.danger{background:#fff;color:var(--danger);border-color:#e2b8b2}.button.danger:hover,button.danger:hover{background:#fff4f2}.nowrap{white-space:nowrap}.form-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.form-actions .button,.form-actions button{width:auto}@media(max-width:700px){.form-actions{display:grid}.form-actions .button,.form-actions button{width:100%}}
.version-badge{display:inline-flex;align-items:center;border:1px solid var(--line);background:#f5f4ff;color:var(--primary);border-radius:999px;padding:2px 9px;font-size:12px;font-weight:800}.page-title{color:var(--muted)}.url-box{display:block;word-break:break-all;background:#f7f7fb;border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-top:6px}.list-item strong{font-size:16px}.list-item span+span{margin-top:3px}
