:root{--red:#e8453c;--blue:#2f7fc1;--yellow:#f2b136;--green:#2e9e5b;--ink:#1f1f1f;--muted:#5f5f5f;--line:#e6e6e6;--page:#fff;--soft:#f7f7f5}*{box-sizing:border-box}body{background:var(--page);color:var(--ink);margin:0;font-family:Hiragino Sans,BIZ UDPGothic,Meiryo,system-ui,sans-serif;font-size:18px;line-height:1.7}a{color:var(--blue)}:focus-visible{outline:3px solid var(--yellow);outline-offset:3px;border-radius:4px}.app{max-width:680px;margin:0 auto;padding:24px 16px 56px}.top-bar h1{letter-spacing:.04em;margin:0 0 4px;font-size:1.8rem;font-weight:900}.title{align-items:center;gap:10px;display:flex}.title img{flex:none;width:40px;height:40px}.lead{margin:0}.privacy{background:var(--soft);border-left:4px solid var(--green);border-radius:6px;margin:8px 0 0;padding:10px 14px;font-size:.95rem}.status{background:var(--soft);border-radius:10px;padding:12px 14px}.status.error{border:2px solid var(--red);background:#fdecea}.hint{color:var(--muted);margin:6px 0 0;font-size:.9rem}.editor fieldset{border:2px solid var(--line);border-radius:14px;min-width:0;margin:20px 0 0;padding:14px 14px 16px}.editor legend{padding:0 6px;font-weight:900}.field{gap:4px;min-width:0;margin:8px 0 0;display:grid}.field>span{font-size:.95rem;font-weight:700}.field-row{align-items:end;gap:8px;display:flex}.field-row .field{flex:1}.contact{border-bottom:1px dashed var(--line);flex-wrap:wrap;gap:0 8px;padding-bottom:8px}.contact .field{flex:180px}input,select,textarea,button{font:inherit}input,select,textarea{width:100%;min-height:48px;color:var(--ink);background:#fff;border:2px solid #bdbdbd;border-radius:10px;padding:8px 10px}textarea{resize:vertical}button{border:2px solid var(--line);min-height:44px;color:var(--ink);cursor:pointer;background:#fff;border-radius:10px;margin-top:8px;padding:6px 14px}button:disabled{opacity:.35;cursor:default}button.primary{background:var(--red);border-color:var(--red);color:#fff;width:100%;min-height:56px;font-size:1.15rem;font-weight:900}.blocks{gap:8px;margin:0;padding:0;list-style:none;display:grid}.blocks li{border:2px solid var(--line);border-left:6px solid var(--yellow);border-radius:10px;align-items:center;gap:6px;padding:4px 4px 4px 12px;display:flex}.blocks li button{margin:0;padding:6px 10px}.block-name{flex:1;font-weight:700}.add-blocks{flex-wrap:wrap;gap:0 8px;display:flex}.preview-wrap h2{margin:32px 0 8px;font-size:1.1rem}.preview{overflow:hidden}.preview .poster{zoom:var(--scale,1);box-shadow:0 1px 8px #0000002e}.print-bar{margin-top:20px}.workspace{grid-template-columns:minmax(0,1fr);grid-template-areas:"editor""preview""print";display:grid}.workspace>.editor{grid-area:editor}.workspace>.preview-wrap{grid-area:preview}.workspace>.print-bar{grid-area:print}@media screen and (width>=960px){.app{max-width:1280px}.workspace{grid-template:"editor preview""print preview"1fr/minmax(360px,440px) minmax(0,1fr);align-items:start;column-gap:32px}.workspace>.preview-wrap{position:sticky;top:16px}.preview-wrap h2{margin-top:20px}.preview{max-width:calc(70.7071vh - 84.8485px)}}.poster{color:#000;background:#fff;flex-direction:column;gap:2mm;width:210mm;height:297mm;padding:7mm 10mm 6mm;font-size:14pt;line-height:1.45;display:flex;overflow:hidden}.poster>*{flex-shrink:0}.poster h1,.poster h2,.poster h3,.poster h4,.poster p{margin:0}.p-heading{border-bottom:1.2mm solid var(--red);align-items:center;gap:4mm;padding-bottom:1.5mm;display:flex}.p-mark{width:11mm;height:auto}.p-heading h1{letter-spacing:.04em;font-size:24pt;font-weight:900}.p-blank{border-bottom:.4mm solid #000;width:30mm;margin-right:2mm;display:inline-block}.p-block h2{border-left:2.2mm solid var(--blue);margin-bottom:1mm;padding-left:3mm;font-size:15pt;font-weight:900;line-height:1.3}.p-placeholder{color:#666}.p-route{border:.5mm solid #000;border-radius:3mm;margin-top:1.5mm;padding:.5mm 3mm}.p-route-name{font-size:16pt;font-weight:900;display:block}.p-times{border-collapse:collapse;width:100%}.p-times tbody+tbody{border-top:.3mm solid #000}.p-times th,.p-times td{vertical-align:middle;text-align:left;padding:.3mm 0}.p-dir{width:33mm;padding-right:2mm;font-size:16pt;font-weight:900;line-height:1.2}.p-dir-stops{font-size:10pt;font-weight:700;line-height:1.25;display:block}.p-days{white-space:nowrap;width:16mm;font-size:14pt;font-weight:700}.p-ride{vertical-align:top;border-radius:2mm;align-items:center;gap:.8mm;margin:.3mm 1.6mm .3mm 0;padding:0 1mm;display:inline-flex}.p-dep{font-variant-numeric:tabular-nums;font-size:20pt;font-weight:700;line-height:1.1}.p-last{outline-offset:-.1mm;outline:.6mm solid #000}.p-last .p-dep{font-weight:900}.p-last-mark{color:#fff;background:#000;border-radius:1mm;padding:0 1mm;font-size:11pt;font-weight:700;line-height:1.3;display:inline-block}.p-none{font-weight:700}.p-note{margin-top:1.5mm;font-size:11pt}.p-alts{grid-template-columns:repeat(2,1fr);gap:1.5mm;margin:0;padding:0;list-style:none;display:grid}.p-alts .p-alt-wide{grid-column:1/-1}.p-alt-wide .p-alt-tels{grid-template-columns:repeat(3,1fr);gap:0 3mm;display:grid}.p-alts li{border:.3mm solid #000;border-radius:2mm;padding:.8mm 2.5mm 1mm}.p-alts h3{font-size:14pt;font-weight:900;line-height:1.2}.p-alt-kind{font-size:9pt;font-weight:700}.p-alt-tel{margin-top:.5mm;line-height:1.2}.p-alt-tel .p-tel{display:block}.p-alt-body{margin-top:.5mm}.p-tel{font-variant-numeric:tabular-nums;letter-spacing:.02em;font-size:17pt;font-weight:900}.p-alt-line{font-size:14pt;font-weight:700;line-height:1.25}.p-alt-label,.p-alt-fact{font-size:9pt;line-height:1.3}.p-alt-label{display:block}.p-source{color:#333;margin-top:.5mm;font-size:7pt;line-height:1.3}.p-contacts{margin:0;padding:0;list-style:none}.p-contacts li{border-bottom:.3mm solid #000;flex-wrap:wrap;align-items:baseline;column-gap:3mm;min-height:9mm;padding-top:1mm;display:flex}.p-contact-name{min-width:30mm;font-size:14pt;font-weight:700}.p-contacts .p-tel{margin-left:auto}.p-pair{flex:1 0 auto;grid-template-columns:1fr 1fr;gap:4mm;display:grid}.p-pair .p-memo{min-height:0}.p-memo{flex-direction:column;flex:1 0 auto;min-height:12mm;display:flex}.p-memo p{white-space:pre-wrap;border:.3mm solid #000;border-radius:2mm;flex:1;padding:2mm 3mm;font-size:16pt}.p-footer{border-top:.6mm solid #000;margin-top:auto;padding-top:1.5mm}.p-expiry{font-size:14pt;font-weight:700;line-height:1.25}.p-expiry strong{text-underline-offset:1.2mm;font-size:22pt;font-weight:900;text-decoration:underline}.p-small{color:#333;margin-top:1mm;font-size:7.5pt;line-height:1.35}.p-brand{color:var(--red);justify-content:flex-end;align-items:center;gap:1.5mm;margin-top:.5mm;font-size:8.5pt;font-weight:700;line-height:1.2;display:flex}.p-brand img{width:4.5mm;height:auto}@page{size:A4 portrait;margin:0}@media print{body{background:#fff}.no-print{display:none!important}.app{max-width:none;margin:0;padding:0}.preview{overflow:visible}.preview .poster{zoom:1;box-shadow:none}.poster{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
