:root{--paper: #faf6ef;--paper-deep: #f2ead9;--card: #fffdf9;--ink: #2b2621;--ink-soft: #524a41;--muted: #948a79;--line: #ded2be;--rose: #b7677a;--rose-dark: #93495a;--rose-tint: #f3e2e6;--sage: #57705f;--sage-tint: #e7ede9;--danger: #b23a3a;--shadow: 0 12px 32px -16px rgba(43, 38, 33, .35);--font-display: "Shippori Mincho", serif;--font-body: "Zen Kaku Gothic New", "Hiragino Sans", sans-serif;--font-mono: "Courier Prime", ui-monospace, "SFMono-Regular", Menlo, monospace;--radius-s: 6px;--radius-m: 14px;--radius-l: 22px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-body);background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased}a{color:inherit}button,input,select,textarea{font-family:inherit;font-size:inherit}h1,h2,h3{font-family:var(--font-display);font-weight:700;color:var(--ink);margin:0 0 .4em;letter-spacing:.02em}:focus-visible{outline:3px solid var(--rose);outline-offset:2px}.page{min-height:100%;background:radial-gradient(1200px 400px at 15% -10%,var(--paper-deep) 0%,transparent 60%),var(--paper)}.site-header{padding:28px 24px 16px;text-align:center;border-bottom:1px solid var(--line)}.site-header .eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:.28em;color:var(--muted);text-transform:uppercase}.site-header h1{font-size:clamp(28px,5vw,40px);margin-top:6px}.site-header p{color:var(--ink-soft);max-width:520px;margin:8px auto 0;line-height:1.8}.order-layout{max-width:1080px;margin:0 auto;padding:32px 20px 80px;display:grid;grid-template-columns:1fr 320px;gap:32px;align-items:start}@media (max-width: 860px){.order-layout{grid-template-columns:1fr}}.section{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-l);padding:28px;margin-bottom:24px}.section h2{font-size:20px;display:flex;align-items:baseline;gap:10px}.section h2 .num{font-family:var(--font-mono);color:var(--rose);font-size:14px}.section .lead{color:var(--ink-soft);font-size:14px;margin:-6px 0 18px;line-height:1.7}.info-block{background:var(--paper-deep);border-radius:var(--radius-m);padding:18px 20px;margin-bottom:20px;font-size:14px;line-height:1.9;color:var(--ink-soft)}.info-block ul{margin:6px 0 0;padding-left:1.2em}.video-frame{aspect-ratio:16 / 9;border-radius:var(--radius-m);overflow:hidden;border:1px solid var(--line);margin-bottom:18px}.video-frame iframe{width:100%;height:100%;border:0;display:block}.flow-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:4px}@media (max-width: 640px){.flow-steps{grid-template-columns:1fr 1fr}}.flow-step{background:var(--paper-deep);border-radius:var(--radius-s);padding:14px 12px;font-size:13px;line-height:1.6}.flow-step .n{font-family:var(--font-mono);color:var(--rose);font-weight:700;display:block;margin-bottom:4px}.flow-list{margin:0;padding-left:0;list-style:none;counter-reset:flow}.flow-list li{counter-increment:flow;position:relative;padding:12px 0 12px 44px;border-bottom:1px dashed var(--line);font-size:14px;line-height:1.9;color:var(--ink-soft);white-space:pre-line;overflow-wrap:break-word}.flow-list li:last-child{border-bottom:none}.flow-list li:before{content:counter(flow,decimal-leading-zero);position:absolute;left:0;top:12px;font-family:var(--font-mono);color:var(--rose);font-weight:700;font-size:13px}.price-list{margin:0;padding:0;list-style:none}.price-list>li{padding:12px 0;border-bottom:1px dashed var(--line)}.price-list>li:last-child{border-bottom:none}.price-list-row{display:flex;justify-content:space-between;gap:12px;font-size:14px;flex-wrap:wrap}.price-list-amt{font-family:var(--font-mono);color:var(--rose-dark);font-weight:700;white-space:nowrap}.price-list-note{font-size:12.5px;color:var(--muted);margin-top:4px;line-height:1.7;overflow-wrap:break-word}.field{margin-bottom:20px}.field label.field-label{display:block;font-weight:700;font-size:14px;margin-bottom:8px;color:var(--ink)}.field label.field-label .required{color:var(--rose-dark);font-size:12px;margin-left:6px;font-weight:700}.field .hint{font-size:12px;color:var(--muted);margin-top:6px}.text-input,textarea.text-input,select.text-input{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-s);background:#fff;color:var(--ink);transition:border-color .15s ease}.text-input:focus{border-color:var(--rose)}textarea.text-input{min-height:110px;resize:vertical}.option-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.option-grid-wide{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.choice-card{border:1.5px solid var(--line);border-radius:var(--radius-s);padding:12px 14px;cursor:pointer;display:flex;align-items:flex-start;gap:10px;font-size:14px;background:#fff;transition:border-color .15s ease,background .15s ease}.choice-card:hover{border-color:var(--rose)}.choice-card.selected{border-color:var(--rose);background:var(--rose-tint)}.choice-card.disabled{opacity:.45;cursor:not-allowed}.choice-card input{margin-top:2px;accent-color:var(--rose);flex-shrink:0}.choice-card .choice-body{display:flex;flex-direction:column;gap:3px;min-width:0;overflow-wrap:break-word}.choice-card .choice-price{font-family:var(--font-mono);font-size:12px;color:var(--muted)}.choice-card .choice-note{font-size:12px;color:var(--muted);line-height:1.6;margin-top:2px}.swatch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}.swatch-card{border:1.5px solid var(--line);border-radius:var(--radius-m);padding:10px;cursor:pointer;text-align:center;background:#fff}.swatch-card.selected{border-color:var(--rose);background:var(--rose-tint)}.swatch-preview{width:100%;height:64px;border-radius:var(--radius-s);margin-bottom:8px;border:1px solid var(--line);background-size:cover;background-position:center}.swatch-preview.swatch-photo{height:110px;background-color:#fff;background-size:contain;background-repeat:no-repeat}.swatch-card span{font-size:13px;font-weight:500}.notice-inline{margin-top:10px;padding:10px 14px;background:#fbeceb;border:1px solid #e6b7b2;border-radius:var(--radius-s);color:var(--danger);font-size:13px;line-height:1.6}.error-banner{background:#fbeceb;border:1px solid #e6b7b2;color:var(--danger);padding:14px 16px;border-radius:var(--radius-s);margin-bottom:20px;font-size:14px;white-space:pre-wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:999px;padding:14px 30px;font-weight:700;font-size:15px;cursor:pointer;transition:transform .1s ease,box-shadow .15s ease}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--rose);color:#fff}.btn-primary:hover:not(:disabled){background:var(--rose-dark)}.btn-secondary{background:var(--sage-tint);color:var(--sage)}.btn-secondary:hover:not(:disabled){background:#d7e3dc}.btn-ghost{background:transparent;color:var(--ink-soft);border:1px solid var(--line)}.btn-block{width:100%}.receipt-wrap{position:sticky;top:24px}.receipt{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-s) var(--radius-s) 0 0;padding:24px 22px 18px;font-family:var(--font-body);box-shadow:var(--shadow);position:relative}.receipt .r-head{text-align:center;border-bottom:1px dashed var(--line);padding-bottom:14px;margin-bottom:14px}.receipt .r-head .r-brand{font-family:var(--font-mono);font-weight:700;letter-spacing:.1em;font-size:12px}.receipt .r-head .r-brand-jp{font-family:var(--font-body);font-weight:700;letter-spacing:.05em;font-size:13px;display:block;margin-top:2px}.receipt .r-head .r-sub{font-family:var(--font-mono);font-size:10px;color:var(--muted);margin-top:6px;letter-spacing:.08em}.receipt .r-line{display:flex;justify-content:space-between;gap:10px;font-size:13px;padding:6px 0;color:var(--ink-soft);line-height:1.6}.receipt .r-line .r-name{flex:1;overflow-wrap:break-word}.receipt .r-line .r-amt{font-family:var(--font-mono);white-space:nowrap}.receipt .r-empty{font-size:12px;color:var(--muted);padding:10px 0;text-align:center}.receipt .r-divider{border-top:1px dashed var(--line);margin:12px 0}.receipt .r-total{display:flex;justify-content:space-between;font-size:15px;font-weight:700;color:var(--ink);padding-top:4px}.receipt .r-total .r-amt{font-family:var(--font-mono);color:var(--rose-dark)}.receipt .r-foot{text-align:center;font-family:var(--font-mono);font-size:10px;color:var(--muted);margin-top:16px;letter-spacing:.1em}.receipt-tear{height:14px;background:linear-gradient(-45deg,transparent 8px,var(--card) 0) 0 0 / 16px 16px repeat-x,linear-gradient(45deg,transparent 8px,var(--card) 0) 0 0 / 16px 16px repeat-x;filter:drop-shadow(0 6px 6px rgba(43,38,33,.12))}.complete-wrap{max-width:560px;margin:60px auto;padding:0 20px;text-align:center}.complete-mark{width:64px;height:64px;border-radius:50%;background:var(--sage-tint);color:var(--sage);display:flex;align-items:center;justify-content:center;margin:0 auto 20px;font-size:28px}.admin-shell{min-height:100%;background:var(--paper)}.admin-topbar{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid var(--line);background:var(--card)}.admin-topbar .brand{font-family:var(--font-display);font-weight:700;font-size:18px}.admin-main{max-width:1180px;margin:0 auto;padding:28px 20px 80px}.login-card{max-width:380px;margin:90px auto;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-l);padding:36px 32px;box-shadow:var(--shadow)}.login-card h1{text-align:center;font-size:22px}.login-card .eyebrow{text-align:center;display:block;font-family:var(--font-mono);font-size:11px;letter-spacing:.2em;color:var(--muted);margin-bottom:6px}.filter-bar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.filter-bar .text-input{max-width:200px}.data-table-wrap{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-m);overflow:auto}table.data-table{width:100%;border-collapse:collapse;font-size:13.5px}table.data-table th,table.data-table td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}table.data-table th{font-weight:700;color:var(--ink-soft);background:var(--paper-deep);position:sticky;top:0}table.data-table tbody tr:hover{background:var(--rose-tint);cursor:pointer}.status-pill{display:inline-block;padding:3px 12px;border-radius:999px;font-size:12px;font-weight:700}.status-pill.受付済{background:#fdeecd;color:#8a5a00}.status-pill.確認済{background:#dfeaf6;color:#2c5a8a}.status-pill.対応済{background:var(--sage-tint);color:var(--sage)}.detail-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-l);padding:28px}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px 28px;margin:20px 0}@media (max-width: 640px){.detail-grid{grid-template-columns:1fr}}.detail-item .k{font-size:12px;color:var(--muted);margin-bottom:4px}.detail-item .v{font-size:15px}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}@media print{.no-print{display:none!important}body{background:#fff}.print-sheet{page-break-after:always;padding:12mm}.print-sheet:last-child{page-break-after:auto}}
