:root{--ink:#34313f;--muted:#6f6c78;--cream:#fffaf3;--paper:#fff;--peach:#ffefdc;--pink:#fa7d99;--yellow:#fcd360;--blue:#76b9ee;--green:#76c9a9;--purple:#a69be8;--line:#e9e2db;--shadow:0 10px 26px rgba(86,66,61,.085)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:'Hiragino Kaku Gothic ProN','Yu Gothic','Meiryo',sans-serif;line-height:1.6}button,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}a{color:inherit;text-decoration:none}.shell{max-width:1110px;padding:0 24px;margin:auto}.site-header{background:#fff;border-bottom:1px solid #f5eee5}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:100px}.brand{display:inline-flex;gap:12px;align-items:center}.brand-paper{display:flex;align-items:center;justify-content:center;transform:rotate(-7deg)}.brand-type{display:flex;flex-direction:column;line-height:1.03}.brand-jp{font-size:clamp(26px,3vw,38px);font-weight:950;letter-spacing:-.045em;white-space:nowrap;-webkit-text-stroke:.4px var(--ink);text-shadow:1px 2px 0 rgba(0,0,0,.05)}.brand-jp>span:nth-child(1){color:#ef7c98}.brand-jp>span:nth-child(2){color:#f6bc57}.brand-jp>span:nth-child(3){color:#79c9a5}.brand-jp>span:nth-child(4){color:#7db6eb}.brand-jp>span:nth-child(5){color:#aa9eeb}.brand-en{font-family:Arial,sans-serif;color:#786d7f;font-size:12px;letter-spacing:.16em;font-weight:800;align-self:center;margin-top:6px}.top-tag{font-size:13px;color:#6b675f;font-weight:800;background:#fff8ed;border:1px solid #f4e7ce;padding:8px 14px;border-radius:30px;white-space:nowrap}.dot{display:inline-block;width:8px;height:8px;background:var(--green);border-radius:50%}.hero{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:365px;padding:55px 12px 30px}.hero-copy{z-index:1}.eyebrow{display:inline-block;background:#ffefd8;color:#8f5f3e;padding:5px 13px;border-radius:8px;font-size:13px;font-weight:900;letter-spacing:.025em}.hero h1{font-size:clamp(29px,3.5vw,47px);font-weight:950;line-height:1.38;letter-spacing:-.04em;margin:12px 0 17px}.hero-highlight{color:#ef7795;position:relative}.hero-highlight:after{content:'';display:block;position:absolute;bottom:0;left:0;right:0;height:5px;background:#ffdb71;z-index:-1;border-radius:4px}.hero-description{color:#65616a;font-size:16px;margin:0}.hero-pills{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.hero-pills span{font-weight:800;font-size:12px;background:white;border:1px solid #eee2d8;border-radius:30px;padding:7px 11px}.hero-art{width:340px;height:285px;flex-shrink:0;position:relative;margin-right:30px}.paper{position:absolute;width:235px;height:290px;left:60px;top:5px;background:white;border:2px solid #35323b;border-radius:10px;box-shadow:7px 9px 0 #e6dbd0}.paper-back{background:#ffe4c4;transform:rotate(10deg);left:83px;top:2px}.paper-front{transform:rotate(-7deg);padding:26px 20px;display:flex;flex-direction:column;gap:20px}.paper-title{font-weight:900;font-size:16px;border-bottom:2px dashed #e9dde3;padding-bottom:8px;white-space:nowrap}.paper-title span{color:#f5c955}.paper-item{font-family:Arial,sans-serif;font-size:15px;font-weight:750;display:flex;align-items:center;gap:6px;white-space:nowrap}.paper-item i{width:30px;border-bottom:1px solid #777;display:inline-block}.paper-badge{position:absolute;right:-38px;bottom:10px;transform:rotate(17deg);width:110px;height:55px;background:#ef829f;border:3px solid white;outline:2px solid #e46c89;border-radius:60% 40% 55% 45%;display:flex;align-items:center;justify-content:center;color:white;font-weight:950;font-size:17px}.star{position:absolute;font-size:30px;color:#edc74a}.star-one{top:10px;left:5px}.star-two{top:25px;right:5px;color:#86b7e8}.star-three{bottom:12px;left:10px;color:#7acaa4}.workspace{display:grid;grid-template-columns:1fr 1.1fr;gap:22px;align-items:start;margin:18px 0 60px}.panel{border:1px solid #ece4df;background:#fff;border-radius:22px;box-shadow:var(--shadow);padding:26px}.panel-title{display:flex;gap:12px;align-items:center;margin-bottom:23px}.panel-title h2{margin:0;font-size:22px;line-height:1.3;letter-spacing:-.045em}.panel-title p{color:#89818a;font-size:12px;margin:4px 0 0}.number-bubble{width:38px;height:38px;display:grid;place-items:center;background:#f7a3b8;border-radius:50%;color:#fff;font-size:20px;font-family:Arial,sans-serif;font-weight:900;flex-shrink:0}.number-bubble.blue{background:#7bbde9}.control-group{border:none;margin:0 0 22px;padding:0}.control-group legend,.control-group>label{display:block;color:#514b52;font-size:14px;font-weight:900;margin:0 0 10px}.choice-grid{display:grid;gap:9px}.ops{grid-template-columns:repeat(2,minmax(0,1fr))}.choice{position:relative;display:flex;min-width:0;cursor:pointer}.choice:first-child{grid-column:span 2}.choice input{position:absolute;opacity:0;width:0;height:0}.choice span{display:block;width:100%;border:2px solid #efe6e6;border-radius:12px;background:#fff;padding:10px 12px;text-align:center;font-size:14px;font-weight:850;transition:.15s}.choice input:checked+span{border-color:#ee8ca7;background:#fff2f5;color:#aa4864}.choice input:focus-visible+span{outline:3px solid #509de6;outline-offset:2px}.digit-group{display:grid;grid-template-columns:1fr 1fr;gap:15px}select{appearance:none;width:100%;background:white url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m3 5 5 5 5-5' fill='none' stroke='%23726e79' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") right 14px center / 16px no-repeat;padding:11px 38px 11px 13px;border:2px solid #eee6e0;border-radius:12px;font-weight:800;color:#4b454b;min-height:47px}select:focus-visible,.check-row input:focus-visible,button:focus-visible{outline:3px solid #72b4e6;outline-offset:2px}.check-row{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:850;cursor:pointer;margin:0 0 17px}.check-row input{accent-color:#ed88a4;width:18px;height:18px}.notice{padding:11px 12px;margin-bottom:18px;border-radius:11px;background:#fff7e8;color:#8b6d46;font-size:12px;min-height:43px}.notice.error{background:#fff0f0;color:#b43c4e}.notice.success{background:#edf9f1;color:#386c53}.btn{border:none;border-radius:13px;min-height:52px;font-weight:950;display:flex;align-items:center;justify-content:center;gap:10px;font-size:15px;width:100%;transition:transform .1s,filter .1s}.btn:hover{filter:brightness(.98);transform:translateY(-1px)}.btn:active{transform:translateY(1px)}.btn-primary{background:#ed8ca6;color:white;box-shadow:0 4px 0 #d87591}.preview-panel{padding-bottom:24px}.preview-frame{background:#f4f1ec;border:1px solid #e8e3dc;border-radius:14px;padding:18px;display:flex;justify-content:center;overflow:hidden}.preview-sheet{width:min(100%,370px);aspect-ratio:210 / 297;background:white;border:1px solid #dfd7cf;box-shadow:0 6px 15px rgba(60,42,34,.09);padding:7% 7.5%;display:flex;flex-direction:column;color:#333;font-family:'Yu Gothic','Meiryo',sans-serif}.sheet-top{display:flex;justify-content:space-between;align-items:center;color:#777;font-size:clamp(6px,.9vw,10px);border-bottom:1px solid #ccc;padding-bottom:4px}.sheet-heading{font-weight:900;font-size:clamp(13px,2vw,19px);margin:11px 0 12px;text-align:center}.sheet-ident{display:flex;justify-content:space-between;gap:5px;font-size:clamp(7px,.95vw,10px);margin-bottom:18px}.sheet-questions{display:grid;grid-template-columns:1fr 1fr;column-gap:5%;grid-auto-flow:column;flex:1}.sheet-question-col{display:flex;flex-direction:column;justify-content:flex-start;gap:7px}.sheet-question{font-family:Arial,'Yu Gothic',sans-serif;font-size:clamp(8px,1.15vw,13px);white-space:nowrap;line-height:1.5}.sheet-footer{margin-top:auto;border-top:1px solid #eee;padding-top:4px;font-size:7px;color:#aaa;text-align:right}.preview-sheet.dense .sheet-question-col{gap:2px}.preview-sheet.dense .sheet-question{font-size:clamp(7px,.95vw,10px);line-height:1.25}.preview-hint{font-size:13px;color:#766f78;text-align:center;margin:13px auto 17px;font-weight:700}.download-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.btn-download{background:#79bfab;color:white;box-shadow:0 4px 0 #59a28e}.btn-print{background:#85bceb;color:white;box-shadow:0 4px 0 #66a2d7}.small-note{font-size:11px;color:#87818a;text-align:center;margin:18px 0 0}.about,.faq{margin:65px auto}.about h2,.faq h2{text-align:center;font-size:25px;letter-spacing:-.04em}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}.feature-grid>div{background:#fff;border:1px solid #f1e6d9;border-radius:18px;padding:24px 19px;text-align:center}.feature-grid span{font-size:29px}.feature-grid h3{font-size:16px;margin:8px 0}.feature-grid p{color:#716b74;font-size:13px;margin:0}.faq{max-width:820px}.faq details{background:white;border:1px solid #eee5da;border-radius:12px;margin:10px 0;padding:13px 17px;font-size:14px}.faq summary{font-weight:850;cursor:pointer}.faq p{color:#6b6570}.footer{border-top:1px solid #efe7dc;background:#fff;text-align:center;padding:32px 10px;margin-top:70px}.footer strong{font-size:19px}.footer strong span{font-size:11px}.footer p{font-size:12px;color:#837f82;margin:5px 0 0}.print-area{display:none}
/* Print pages: the same generated problems are laid out on white A4 sheets. */
@page{size:A4 portrait;margin:0}
@media print{body{background:white!important;margin:0!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.site-header,main,.footer{display:none!important}.print-area{display:block!important}.print-page{display:flex!important;flex-direction:column;width:210mm;height:297mm;margin:0;padding:16mm 15mm 12mm;page-break-after:always;break-after:page;font-family:'Yu Gothic','Meiryo',sans-serif;color:#111;background:white}.print-page:last-child{page-break-after:auto;break-after:auto}.print-masthead{border-bottom:1px solid #777;padding-bottom:5mm;display:flex;justify-content:space-between;font-size:9pt;color:#666}.print-title{text-align:center;font-weight:900;font-size:19pt;margin:8mm 0 7mm}.print-info{display:flex;justify-content:space-between;font-size:10pt;margin:0 0 8mm}.print-grid{display:grid;grid-template-columns:repeat(2,1fr);column-gap:13mm;flex:1}.print-col{display:flex;flex-direction:column;justify-content:flex-start}.print-q{font-family:Arial,'Yu Gothic',sans-serif;font-size:15pt;min-height:17mm;display:flex;align-items:center;white-space:nowrap}.print-page.count-30 .print-q{min-height:12mm;font-size:14pt}.print-page.count-50 .print-q{min-height:8.4mm;font-size:12.5pt}.print-foot{font-size:9pt;color:#777;border-top:1px solid #ddd;padding-top:2mm;text-align:right}}
@media(max-width:850px){.hero{padding:40px 0 20px}.hero-art{width:260px;height:260px;margin-right:15px;transform:scale(.78);transform-origin:center}.workspace{grid-template-columns:1fr;max-width:650px;margin-left:auto;margin-right:auto}.preview-sheet{width:min(100%,390px)}.sheet-question{font-size:clamp(10px,2vw,14px)}.sheet-heading{font-size:18px}.sheet-ident{font-size:10px}.sheet-top{font-size:9px}}
@media(max-width:610px){.shell{padding:0 16px}.header-inner{min-height:80px}.brand-paper{transform:scale(.75) rotate(-7deg);margin-right:-10px}.brand-jp{font-size:27px}.brand-en{font-size:9px}.top-tag{font-size:10px;padding:7px 9px}.hero{display:block;min-height:0;padding:25px 2px 12px}.hero h1{font-size:34px}.hero-description{font-size:14px}.hero-art{display:none}.workspace{margin-top:20px;gap:16px}.panel{padding:19px;border-radius:17px}.panel-title h2{font-size:20px}.ops{gap:7px}.choice span{font-size:12px;padding:10px 5px}.download-actions{grid-template-columns:1fr}.preview-frame{padding:12px}.preview-sheet{width:min(100%,350px)}.feature-grid{grid-template-columns:1fr;gap:10px}.feature-grid>div{padding:17px}.about,.faq{margin:50px auto}}
