*{box-sizing:border-box}body{margin:0;color:#283248;font-family:"Noto Sans JP",sans-serif;background:#fff8dc;background-image:radial-gradient(#efc9d0 1.5px,transparent 1.5px);background-size:22px 22px}a{color:inherit}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}header{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:22px 5%;background:#9fe5f8;border-bottom:2px solid}header a{font-size:15px;font-weight:700}header span{font-weight:900}main{max-width:1120px;margin:auto;padding:44px 24px}h1{text-align:center;font-size:clamp(32px,4vw,52px);line-height:1.4;margin:12px 0 30px;font-weight:900}.kicker{text-align:center;font-weight:900;letter-spacing:.1em;font-size:14px}.steps{display:flex;justify-content:center;list-style:none;padding:0;gap:12px;margin:0 0 30px}.steps li{padding:12px 20px;border:2px solid;border-radius:40px;background:#fff;font-size:16px;font-weight:700}.steps [aria-current]{background:#ffd957;box-shadow:3px 3px 0 #283248}.panel{background:#fff;border:2px solid;border-radius:26px;box-shadow:7px 7px 0 #283248;padding:38px;display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center}[hidden]{display:none!important}.preview{text-align:center}.sticker{display:inline-block;background:#ffd957;border:2px solid;border-radius:8px;padding:8px 16px;transform:rotate(-4deg);font-weight:700;margin-bottom:26px}canvas{display:block;width:100%;height:auto;filter:drop-shadow(0 8px 8px #28324818)}.preview p{font-size:15px;line-height:1.8}label,legend{font-weight:900;font-size:18px}small{display:block;font-size:13px;font-weight:400;line-height:1.8;margin-top:6px}input[type=text]{width:100%;border:2px solid #283248;border-radius:10px;padding:15px;font-size:20px;margin-top:12px;background:#fffdf6}fieldset{border:0;margin:26px 0 22px;padding:0}#swatchRow{display:flex;flex-wrap:wrap;gap:13px;margin-top:16px}.swatch{appearance:none;width:44px;height:44px;border:3px solid white;border-radius:50%;outline:1px solid #8b8c94;margin:0;cursor:pointer}.swatch:checked{outline:3px solid #283248;box-shadow:inset 0 0 0 2px white}.swatch:checked:after{content:"✓";display:block;text-align:center;font-size:23px;color:#fff;text-shadow:0 1px 3px #000;font-weight:900}#swatchName{font-size:14px;min-height:24px}button{border:2px solid #283248;border-radius:50px;background:#9fe5f8;padding:15px 20px;font-weight:900;font-size:17px;box-shadow:3px 4px 0 #283248;transition:transform .15s}button:hover{transform:translateY(-2px)}button:active{transform:translateY(2px);box-shadow:1px 1px 0 #283248}.primary{background:#ffacd1}form .primary{width:100%}.note,.footnote{font-size:13px;line-height:1.9;color:#4d5360}.footnote{text-align:center;margin-top:30px}.complete{display:block;text-align:center;max-width:850px;margin:auto}.complete h2{font-size:38px;margin:16px}.complete p{line-height:1.9}.complete img{display:block;width:100%;max-width:650px;height:auto;margin:26px auto}.actions{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}.text-button{background:none;border:0;box-shadow:none;text-decoration:underline;font-size:15px}.join-note{border-top:2px dashed #ccd1d8;margin-top:26px;padding-top:20px}.join-note a{font-weight:700}.join-note small{margin-top:12px}footer{text-align:center;padding:28px;font-weight:900} :focus-visible{outline:3px solid #007b9b;outline-offset:5px}@media(max-width:700px){header{padding:16px;flex-wrap:wrap}header span{font-size:13px}main{padding:30px 16px}.steps{gap:8px}.steps li{font-size:13px;padding:10px 12px}.panel{grid-template-columns:1fr;padding:24px 18px;gap:24px;box-shadow:4px 5px 0 #283248}.preview p{font-size:13px}.sticker{font-size:14px;margin-bottom:20px}.actions{display:grid}.complete h2{font-size:30px}.complete p{font-size:15px}button{font-size:16px}.footnote{font-size:12px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.custom-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:22px}.custom-fields label{font-size:16px}.custom-fields input{min-width:0;width:100%}input[type=date]{border:2px solid #283248;border-radius:10px;padding:15px 8px;font:inherit;background:#fffdf6;margin-top:12px;min-height:60px}@media(max-width:700px){.custom-fields{grid-template-columns:1fr}.swatch{width:44px;height:44px}}
