:root{--color-primary:#e4690e;--color-darkBrown:#442f17;--color-mainYellow:#efca14;--color-paleOrange:#fdf6f1;--color-mistOrange:#fefcf6;--color-softOrange:#fae1cf;--color-softYellow:#f4edcb;--color-softBeige:#f7f6f3;--color-borderBrown:#442f175e;--color-red:#b42222;--color-line:#06c755;--font-rounded:"M PLUS Rounded 1c","Noto Sans JP",sans-serif;--radius-sm:0.25rem;--radius-md:0.375rem;--radius-lg:0.5rem;--radius-xl:0.75rem}*{box-sizing:border-box;margin:0;padding:0}body,html{font-family:var(--font-rounded);background:var(--color-paleOrange);color:var(--color-darkBrown);line-height:1.7;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}.container{max-width:480px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column;padding:16px}.header{padding:8px 0 4px;font-size:13px;color:var(--color-primary);letter-spacing:.08em}.btn,.header{text-align:center;font-weight:700}.btn{display:block;width:100%;border:none;border-radius:var(--radius-xl);font-family:var(--font-rounded);cursor:pointer;text-decoration:none;transition:opacity .15s ease,transform .1s ease}.btn:active{transform:scale(.98)}.btn-primary{background:var(--color-primary);font-size:18px;box-shadow:0 4px 0 #b5530a}.btn-line,.btn-primary{color:#fff;padding:16px}.btn-line{background:var(--color-line);font-size:17px;box-shadow:0 4px 0 #059c43}.btn-ghost{background:transparent;color:var(--color-darkBrown);font-size:13px;padding:10px;text-decoration:underline;box-shadow:none}.btn-back{border:2px solid var(--color-softOrange);color:var(--color-darkBrown);font-size:14px}.btn-back,.present-box{background:#fff;padding:12px;margin-top:12px}.present-box{display:flex;gap:12px;align-items:center;border:2px dashed var(--color-primary);border-radius:var(--radius-xl)}.present-cover{width:84px;height:auto;flex-shrink:0;border-radius:var(--radius-md);box-shadow:0 2px 6px rgba(68,47,23,.2)}.present-label{display:inline-block;background:var(--color-mainYellow);font-size:11px;font-weight:900;padding:1px 10px;border-radius:999px;margin-bottom:4px}.choice-btn,.present-label{color:var(--color-darkBrown)}.choice-btn{display:block;width:100%;background:#fff;border:2px solid var(--color-softOrange);border-radius:var(--radius-xl);padding:14px 16px;margin-bottom:10px;font-family:var(--font-rounded);font-size:15px;font-weight:500;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease}.choice-btn:active,.choice-btn:hover{border-color:var(--color-primary);background:var(--color-mistOrange)}.select-box{display:block;width:100%;background:#fff;border:2px solid var(--color-softOrange);border-radius:var(--radius-xl);padding:14px 16px;font-family:var(--font-rounded);font-size:16px;font-weight:500;color:var(--color-darkBrown);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--color-primary) 50%),linear-gradient(135deg,var(--color-primary) 50%,transparent 50%);background-position:calc(100% - 22px) 50%,calc(100% - 16px) 50%;background-size:6px 6px;background-repeat:no-repeat}.btn:disabled{opacity:.4;cursor:not-allowed}.store-item{padding:12px 0;border-bottom:1px solid var(--color-borderBrown)}.store-photo{width:100%;height:150px;object-fit:cover;border-radius:var(--radius-lg);margin-bottom:8px}.store-item:last-of-type{border-bottom:none}.store-name{font-weight:700;font-size:15px}.store-address{font-size:13px;color:#6b5a44;margin:2px 0 4px}.store-link{font-size:13px;font-weight:700;color:var(--color-primary)}.progress-track{width:100%;height:8px;background:var(--color-softOrange);border-radius:999px;overflow:hidden;margin:12px 0 20px}.progress-fill{height:100%;background:var(--color-primary);border-radius:999px;transition:width .3s ease}.card{background:#fff;padding:20px;box-shadow:0 2px 8px rgba(68,47,23,.08)}.card,.card-soft{border-radius:var(--radius-xl);margin-bottom:16px}.card-soft{background:var(--color-softYellow);padding:16px}.result-type{font-size:24px;color:var(--color-primary);margin:4px 0 8px}.cost-range,.result-type{font-weight:900;text-align:center}.cost-range{font-size:32px;color:var(--color-darkBrown)}.cost-range .unit{font-size:16px;font-weight:700}.note{font-size:12px;color:#7a6a55}.task-item{display:flex;gap:10px;padding:12px 0;border-bottom:1px solid var(--color-borderBrown)}.task-item:last-child{border-bottom:none}.task-num{flex-shrink:0;width:28px;height:28px;border-radius:50%;background:var(--color-softOrange);color:var(--color-primary);font-weight:900;font-size:14px;display:flex;align-items:center;justify-content:center}.task-item.priority .task-num{background:var(--color-primary);color:#fff}.task-title{font-weight:700;font-size:15px}.task-item.priority .task-title:after{content:"優先";display:inline-block;margin-left:8px;padding:1px 8px;border-radius:999px;background:var(--color-mainYellow);color:var(--color-darkBrown);font-size:11px;font-weight:700;vertical-align:middle}.task-detail{font-size:13px;color:#6b5a44;margin-top:2px}.mekikki{display:block;margin:0 auto;width:140px;height:auto}.mekikki-small{width:72px}h1{font-size:22px;font-weight:900;text-align:center;line-height:1.5}h2{font-size:17px;font-weight:700;margin-bottom:10px}.question-title{font-size:19px;font-weight:700;margin-bottom:4px}.question-sub{font-size:13px;color:#7a6a55;margin-bottom:14px}.footer{margin-top:auto;padding:20px 0 8px;text-align:center;font-size:11px;color:#9a8a75}.locked-placeholder{opacity:.55;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.placeholder-copy{display:flex;flex:1 1;flex-direction:column;gap:8px;padding-top:3px}.placeholder-detail,.placeholder-title{display:block;border-radius:999px;background:var(--color-borderBrown)}.placeholder-title{width:62%;height:13px}.placeholder-detail{width:92%;height:10px}.task-more{text-align:center;font-size:13px;font-weight:700;color:var(--color-primary);margin-top:10px}.unlock-card{background:var(--color-softYellow);border:2px solid var(--color-line);border-radius:var(--radius-xl);padding:20px 16px;margin-bottom:16px;text-align:center}.unlock-badge{display:inline-block;background:var(--color-line);color:#fff;font-size:11px;font-weight:900;padding:2px 12px;border-radius:999px}.unlock-list{text-align:left;font-size:13px;font-weight:700;list-style:none;margin:12px 0;padding:0}.unlock-list li{padding:5px 0 5px 26px;position:relative}.unlock-list li:before{content:"✅";position:absolute;left:0}