:root{font-family:"BIZ UDPGothic","Yu Gothic",Meiryo,sans-serif;color:#243246;background:#f0f3f7;font-synthesis:none;--blue:#1168bc;--muted:#647286;--line:#dfe5ed;--sheet-scale:1}*{box-sizing:border-box}body{margin:0}button,select,input{font:inherit}button,select{min-height:44px}button{cursor:pointer}button:focus-visible,select:focus-visible{outline:3px solid #519def;outline-offset:4px}.app-header{min-height:82px;display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding:16px max(28px,calc((100vw - 1376px)/2));position:relative;z-index:2}.header-note{margin:0}.header-print{margin-left:auto}.button{border-radius:9px;padding:12px 19px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-size:15px;font-weight:700;border:1px solid transparent;transition:background .15s,box-shadow .15s}.button svg,.paper-spec svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.primary{color:white;background:var(--blue);box-shadow:0 2px 3px #1168bc15}.primary:hover{background:#0b559f}.secondary{background:#fff;border-color:#becada;color:#334c69;width:100%}.secondary:hover{background:#f4f8fc;border-color:#6c9ccf}.workspace{display:grid;grid-template-columns:302px minmax(0,1fr);gap:42px;max-width:1340px;margin:0 auto;padding:36px 28px 48px;align-items:start}.settings{padding:4px 0;position:sticky;top:24px}.eyebrow{font-size:13px;letter-spacing:.1em;color:#53749c;font-weight:700}.settings h1{font-size:25px;line-height:1.5;margin:9px 0 10px;letter-spacing:.02em}.settings-intro p{font-size:14px;line-height:1.9;color:var(--muted);margin:0 0 27px}.settings fieldset{padding:0;margin:0;border:0;min-width:0}.settings legend,.time-setting>label{font-size:15px;font-weight:700;margin-bottom:12px;display:block}.support-options{display:grid;gap:9px}.support-option{display:flex;align-items:center;gap:11px;position:relative;cursor:pointer;background:#fff;border:1px solid #d8e0ea;border-radius:11px;padding:14px 13px;min-height:80px;transition:background .15s,border-color .15s}.support-option:hover{border-color:#91b2d7}.support-option:has(input:checked){border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue);background:#f3f8ff}.support-option:has(input:focus-visible){outline:3px solid #519def;outline-offset:3px}.support-option input{position:absolute;width:1px;height:1px;opacity:0}.option-number{height:28px;width:28px;flex-shrink:0;border-radius:50%;background:#edf1f6;color:#67778d;font-size:14px;font-weight:700;display:grid;place-items:center}.support-option:has(input:checked) .option-number{background:var(--blue);color:#fff}.support-option strong{display:block;font-size:15px;line-height:1.6}.support-option small{display:block;font-size:12px;line-height:1.7;color:#68778b}.selection-mark{font-size:16px;color:var(--blue);margin-left:auto;visibility:hidden}.support-option:has(input:checked) .selection-mark{visibility:visible}.field-note{font-size:12px;line-height:1.9;color:var(--muted);margin:10px 0 0}.time-setting{padding-top:23px;margin-top:24px;border-top:1px solid var(--line);margin-bottom:22px}.time-setting select{width:100%;height:48px;color:#243246;background:white;border:1px solid #c9d3df;border-radius:8px;padding:0 12px;font-size:15px}.paper-spec{display:flex;align-items:center;justify-content:center;gap:7px;color:#6c798b;font-size:12px;margin-top:20px}.paper-spec svg{width:16px;height:16px}.preview-section{min-width:0}.preview-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:210mm;margin:0 auto 15px}.preview-bar h2{font-size:14px;font-weight:600;margin:0;color:#475970}.preview-bar span{font-size:12px;border:1px solid #d6e1ef;background:#fff;padding:5px 10px;border-radius:99px;color:#506984}.paper-stage{position:relative;max-width:210mm;margin:0 auto;width:100%}.paper{width:210mm;height:297mm;background:#fff;box-shadow:0 3px 6px #26384908,0 16px 40px #2638490a;border:1px solid #e1e5eb;padding:15mm 15mm 9mm;display:flex;flex-direction:column;color:#252b31;transform:scale(var(--sheet-scale));transform-origin:top left}.paper-header{flex-shrink:0;padding-bottom:7mm}.paper-header h2{font-size:23pt;font-weight:600;letter-spacing:.08em;margin:0 0 5mm;line-height:1.3}.paper-header p{font-size:11pt;margin:0;line-height:1.5}.questions{flex:1;min-height:0;display:grid;grid-template-rows:repeat(3,1fr);row-gap:3mm}.problem{display:grid;grid-template-columns:8mm 77mm minmax(0,1fr);gap:3mm;align-items:center;break-inside:avoid}.problem-number{align-self:start;margin-top:11mm;border:1px solid #737d87;border-radius:50%;width:6mm;height:6mm;display:flex;align-items:center;justify-content:center;font-family:Arial,sans-serif;font-size:10pt;color:#384551}.clock{display:block;width:77mm;height:77mm;overflow:visible}.answer{display:flex;gap:2mm;align-items:center;justify-content:flex-end;white-space:nowrap;padding-left:4mm;font-size:16pt}.answer-box{display:block;width:18mm;height:13mm;border:1.5px solid #555e68;border-radius:1mm;flex-shrink:0}.answer span:nth-child(2){margin-right:2mm}.paper-footer{font-size:7.5pt;color:#69727c;display:flex;justify-content:space-between;margin-top:4mm;flex-shrink:0}.print-hint{max-width:210mm;font-size:12px;line-height:1.9;color:var(--muted);margin:17px auto 0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.button:active{transform:translateY(1px)}
@media(min-width:1450px){.workspace{gap:54px}}@media(max-width:960px){.workspace{grid-template-columns:270px minmax(0,1fr);gap:24px;padding:27px 20px}.app-header{padding:16px 20px}.settings h1{font-size:23px}.support-option{padding:12px 11px;gap:9px}}@media(max-width:700px){.app-header{padding:16px;gap:12px}.header-note{width:100%}.header-print{padding:10px 13px;font-size:14px}.workspace{display:flex;flex-direction:column;gap:25px;padding:24px 16px 32px}.settings{position:static;width:100%}.settings-intro p{margin-bottom:18px}.settings h1{font-size:24px;margin-bottom:5px}.support-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.support-option{align-items:flex-start;min-height:96px;padding:12px 9px;gap:7px}.support-option strong{font-size:14px}.support-option small{font-size:12px;line-height:1.6}.option-number{height:22px;width:22px;font-size:12px;margin-top:2px}.selection-mark{display:none}.field-note{margin-top:8px}.time-setting{margin:18px 0 14px;padding-top:17px}.paper-spec{margin-bottom:0}.preview-section{width:100%}.preview-bar{margin-bottom:11px}.print-hint{font-size:12px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.settings .answer-field{margin-bottom:25px}.clock-answer{display:flex;align-items:center;justify-content:flex-end;min-width:0}.clock-answer .clock{flex-shrink:0}
@page{size:A4 portrait;margin:0}
@media print{html,body{margin:0!important;padding:0!important;background:white!important}body{-webkit-print-color-adjust:exact;print-color-adjust:exact}.app-header,.settings,.preview-bar,.print-hint,#status,noscript{display:none!important}.workspace{display:block!important;margin:0!important;padding:0!important;max-width:none!important}.preview-section,.paper-stage{display:block!important;margin:0!important;padding:0!important;width:210mm!important;max-width:none!important;height:297mm!important}.paper{width:210mm!important;height:297mm!important;transform:none!important;box-shadow:none!important;border:none!important;margin:0!important;break-after:avoid}.paper-header,.problem,.paper-footer{break-inside:avoid}.paper-stage{overflow:visible!important}}
[hidden]{display:none!important}.settings .format-field{margin-bottom:25px}.format-options{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background:#e5ebf3;border-radius:10px}.format-option{position:relative;cursor:pointer}.format-option input{position:absolute;width:1px;height:1px;opacity:0}.format-option span{display:flex;align-items:center;justify-content:center;min-height:44px;border-radius:7px;font-size:15px;font-weight:600;color:#52647d;border:1px solid transparent}.format-option:has(input:checked) span{background:#fff;border-color:#d4e0ef;box-shadow:0 1px 3px #24324612;color:var(--blue)}.format-option:has(input:focus-visible) span{outline:3px solid #519def;outline-offset:2px}.format-option:hover span{color:var(--blue)}
