:root{--ink:#192536;--muted:#56677e;--line:#dae3ef;--bg:#f5f8fd;--card:#fff;--blue:#3557df;--blue-dark:#2342b8;--green:#14744e;--amber:#916106}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-height:1.75}a{color:var(--blue);text-underline-offset:3px}a:hover{text-decoration-thickness:2px}button,select,input{font:inherit}.wrap{width:min(100% - 40px,1060px);margin-inline:auto}.site-header{background:#fff;border-bottom:1px solid var(--line)}.header-inner,.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 0}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-weight:800;font-size:19px}.brand-mark{display:grid;place-items:center;background:var(--blue);color:#fff;border-radius:8px;padding:4px 9px;font-size:13px;letter-spacing:.03em}.privacy-pill,.file-badge,.status-pill{border:1px solid #d9e2ff;background:#f2f5ff;color:#3049bb;border-radius:999px;padding:5px 12px;font-size:12px;font-weight:700}.skip-link{position:absolute;transform:translateY(-150%);background:#fff;padding:8px}.skip-link:focus{transform:none;z-index:10}.hero{padding:58px 0 33px}.eyebrow,.step-label{font-size:12px;letter-spacing:.1em;font-weight:800;color:var(--blue);margin:0 0 8px}.hero h1{font-size:clamp(29px,4.3vw,48px);letter-spacing:-.045em;line-height:1.38;margin:0 0 18px}.hero-copy{font-size:16px;color:var(--muted);max-width:820px;margin:0}.hero-tags{display:flex;gap:9px;flex-wrap:wrap;margin-top:20px}.hero-tags span{font-size:12px;color:#476082;background:#eaf0fd;border:1px solid #dbe5f8;border-radius:20px;padding:5px 11px}.panel{background:var(--card);border:1px solid var(--line);border-radius:17px;padding:26px;box-shadow:0 4px 24px rgba(19,35,65,.035)}.upload-panel{margin-bottom:28px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.section-heading h2,.faq h2{font-size:23px;line-height:1.4;margin:0}.section-heading .step-label{margin-bottom:4px}.drop-zone{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;text-align:center;border:2px dashed #adc1db;border-radius:13px;padding:30px 16px;background:#fafcff;cursor:pointer;transition:.15s}.drop-zone:hover,.drop-zone.dragging{border-color:var(--blue);background:#f1f5ff}.upload-icon{display:grid;place-items:center;width:45px;height:45px;border-radius:13px;background:#e7edff;color:var(--blue);font-size:27px;font-weight:700}.drop-zone strong{font-size:17px}.drop-zone span:not(.upload-icon){font-size:13px;color:var(--muted)}.drop-zone small{font-size:12px;color:var(--muted);margin-top:5px}#file-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.file-meta{font-size:13px;color:var(--muted);margin:12px 0 18px;overflow-wrap:anywhere}.controls{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.field{display:flex;flex-direction:column;gap:6px;min-width:180px}.field>label{font-size:13px;font-weight:700}.controls .field:first-child{flex:1}select{font-size:14px;color:var(--ink);background:#fff;border:1px solid #b9c8db;border-radius:9px;padding:10px 12px;min-height:45px}.button{font-size:14px;font-weight:750;border:0;border-radius:10px;padding:12px 21px;min-height:46px;cursor:pointer;transition:.15s;white-space:nowrap}.button.primary{background:var(--blue);color:#fff}.button.primary:hover{background:var(--blue-dark)}.button:disabled{opacity:.48;cursor:not-allowed}.hint{font-size:13px;color:var(--muted);margin:13px 0 0}.error{color:#b42318;font-size:13px;font-weight:700;margin:10px 0 0}.error:empty{display:none}.results{margin:28px 0}.hidden{display:none!important}.results-heading{margin-bottom:16px}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}.summary-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:16px}.summary-card span{display:block;color:var(--muted);font-size:12px}.summary-card strong{display:block;font-size:27px;line-height:1.4;margin-top:3px;font-variant-numeric:tabular-nums}.result-panel{margin-bottom:15px}.result-panel h3{font-size:17px;margin:0 0 12px}.check-list{display:grid;gap:9px}.check-item{display:flex;align-items:flex-start;gap:12px;padding:12px;border-radius:9px;background:#f7f9fc;font-size:13px;overflow-wrap:anywhere}.check-item strong{display:block;font-size:14px;margin-bottom:2px}.check-icon{font-weight:900;font-size:15px;min-width:22px}.check-item.ok .check-icon{color:var(--green)}.check-item.warn .check-icon{color:var(--amber)}.check-item.info .check-icon{color:var(--blue)}.before-table{margin:0 0 14px}.table-wrap{overflow:auto;max-width:100%;border:1px solid var(--line);border-radius:10px}table{border-collapse:collapse;min-width:100%;font-size:13px;white-space:nowrap}th,td{padding:9px 12px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);max-width:280px;overflow:hidden;text-overflow:ellipsis;text-align:left}th{background:#eef3f9;font-weight:800}tr:last-child td{border-bottom:0}th:last-child,td:last-child{border-right:0}.download-controls{display:grid;grid-template-columns:1fr 1fr;gap:15px 22px;align-items:center}.download-controls .field,.download-controls .export-summary{grid-column:1/-1}.download-controls .field select{max-width:350px}.checkbox-line{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:#334155;cursor:pointer}.checkbox-line input{width:17px;height:17px;margin-top:4px;accent-color:var(--blue);flex-shrink:0}.export-summary{background:#eff5ff;border:1px solid #d9e6ff;border-radius:9px;padding:12px 14px;color:#2c4774;font-size:13px;font-weight:650;margin:0}.download-controls button{grid-column:1/-1;justify-self:start}.section-guides{margin:36px 0}.guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.guide-card{padding:23px}.guide-card h3{font-size:17px;margin:5px 0 8px}.guide-card p:not(.step-label){font-size:13px;color:var(--muted);margin:0 0 17px}.guide-card a{font-weight:750;font-size:13px}.faq{margin:32px 0}.faq h2{margin-bottom:10px}.faq details{border-top:1px solid var(--line);padding:14px 0;font-size:14px}.faq summary{cursor:pointer;font-weight:700}.faq details p{font-size:13px;color:var(--muted);margin-bottom:0}.legal-links{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;padding:18px 0 34px}.legal-links a{font-size:13px;color:var(--muted)}.site-footer{border-top:1px solid var(--line);background:#fff}.footer-inner{font-size:12px;color:var(--muted)}.article-main{max-width:860px;margin:0 auto 50px}.article-main .hero{padding-bottom:22px}.article-main .hero h1{font-size:clamp(26px,4vw,39px)}.article-body{font-size:15px}.article-body h2{font-size:22px;margin:30px 0 12px;border-left:4px solid var(--blue);padding-left:12px}.article-body h2:first-child{margin-top:3px}.article-body h3{font-size:17px;margin:22px 0 8px}.article-body p,.article-body ul,.article-body ol{margin:10px 0 18px}.article-body li{margin:7px 0}.article-body pre{background:#f3f6fb;border:1px solid var(--line);border-radius:9px;padding:12px;overflow-x:auto;line-height:1.6;font-size:13px}.article-body code{background:#f0f4fa;padding:2px 5px;border-radius:4px}.article-body pre code{padding:0}.article-note{font-size:13px;background:#f2f6ff;border-radius:9px;padding:13px}.breadcrumb{font-size:12px;padding-top:24px;color:var(--muted)}
@media(max-width:760px){.wrap{width:min(100% - 24px,1060px)}.hero{padding:38px 0 24px}.desktop-break{display:none}.hero-copy{font-size:14px}.panel{padding:18px;border-radius:13px}.controls{display:grid;grid-template-columns:1fr}.controls .field,.controls .button{width:100%}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.summary-card{padding:13px}.summary-card strong{font-size:23px}.summary-card span{font-size:11px}.guide-grid{grid-template-columns:1fr}.download-controls{grid-template-columns:1fr}.download-controls button{width:100%}.footer-inner{flex-direction:column;align-items:flex-start;gap:5px}.section-heading h2{font-size:19px}.privacy-pill{font-size:10px}.article-main .panel{padding:18px}}

/* v3: CSV/TSV形式選択と列番号抽出 */
.download-controls .column-extract-field{grid-column:1/-1;max-width:570px}
.column-extract-field input{width:100%;min-height:45px;font:inherit;font-size:14px;border:1px solid #b9c8db;border-radius:9px;padding:9px 12px;color:var(--ink)}
.column-extract-field input:focus{outline:2px solid #3557df;outline-offset:2px}
.column-extract-field .hint{margin:0}
.export-summary.invalid{background:#fff1f1;color:#9e2b26;border-color:#eab1aa}
@media(min-width:761px){.guide-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
