:root{--navy:#16294f;--blue:#2d72f4;--teal:#05b7a9;--violet:#7f60f8;--pink:#fb599c;--orange:#ffae4f;--bg:#f5f8fe;--line:#e7eef9;--muted:#7887a3;--soft:#eaf2ff;--card:#fff;--shadow:0 9px 26px rgba(45,73,131,.08);--ring:0 0 0 3px rgba(41,111,240,.18)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(ellipse at top,#eaf4ff,#f7faff 52%,#ecf1fb);margin:0;color:var(--navy);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic",Meiryo,sans-serif;letter-spacing:.01em}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #6ca7fa;outline-offset:2px}.preview-note{position:relative;display:flex;justify-content:center;gap:10px;align-items:center;font-size:11px;padding:6px;background:#e6edff;color:#3854a3;min-height:31px}.preview-note strong{letter-spacing:.12em;color:#1558d3}.site-wrap{max-width:1320px;margin:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,425px) minmax(0,260px);align-items:start;gap:34px;padding:36px 22px}.desktop-side{margin-top:75px;max-width:450px}.desktop-logo{width:275px;max-width:100%}.desktop-tagline{color:var(--blue);font-weight:800;letter-spacing:.08em}.desktop-side h2{font-size:34px;line-height:1.5;margin:35px 0 8px}.desktop-side>p{font-size:15px;color:#697b9e;line-height:2}.desktop-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:30px}.desktop-cards div{border:1px solid #e4ecfb;border-radius:16px;padding:16px;background:#fff;box-shadow:var(--shadow);font-weight:700;font-size:14px}.desktop-cards span{color:#2371f7;display:block;margin-bottom:7px;font-size:13px}.desktop-hint{margin-top:45px;font-size:12px;color:#8693ac}.right-rail{padding-top:110px}.tip{background:#fff;border:1px solid #e6eefc;border-radius:18px;padding:22px;margin-bottom:16px;box-shadow:var(--shadow)}.tip>span{font-size:30px;color:var(--blue)}.tip h3{font-size:16px;margin:9px 0}.tip p{font-size:13px;color:#7584a1;line-height:1.8}.phone-shell{width:100%;background:#f8fbff;border:9px solid #263653;border-radius:45px;box-shadow:0 36px 70px rgba(16,37,72,.18);overflow:hidden;height:min(830px,calc(100vh - 66px));min-height:650px;display:flex;flex-direction:column;position:relative}.phone-top{height:27px;padding:6px 27px 0;display:flex;justify-content:space-between;font-weight:800;font-size:10px;background:#fff}.phone-header{height:59px;display:flex;align-items:center;justify-content:space-between;gap:5px;background:#fff;padding:0 13px;border-bottom:1px solid #eef2fb;flex-shrink:0}.brand-logo{width:147px;height:43px;object-fit:contain;object-position:left}.header-actions{display:flex;gap:6px}.round-icon,.icon-btn{border:0;background:#f0f5ff;color:#3169dd;width:35px;height:35px;border-radius:12px;display:grid;place-items:center;font-size:17px;position:relative}.header-back{font-size:31px;font-weight:300;width:32px}.unread-dot{width:7px;height:7px;background:#fc6293;border-radius:50%;position:absolute;right:5px;top:5px}.unread-dot.off{display:none}#app{flex:1;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:17px 15px 30px}#app::-webkit-scrollbar{width:4px}#app::-webkit-scrollbar-thumb{background:#bdc9e0;border-radius:30px}.bottom-nav{background:#fff;border-top:1px solid #e8eef8;display:flex;justify-content:space-around;gap:0;padding:9px 5px 10px;flex-shrink:0}.tab{border:0;background:none;color:#929ab1;display:flex;align-items:center;gap:4px;flex-direction:column;font-weight:700;font-size:10px;min-width:58px;padding:4px 1px}.tab.active{color:var(--blue)}.nav-emoji{font-size:22px;font-weight:700;line-height:1.1}.page-title{font-size:23px;margin:6px 0 6px;letter-spacing:-.025em}.page-sub{color:var(--muted);font-size:12px;margin:0 0 17px;line-height:1.7}.section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:24px 0 11px}.section-head h3,.section-head h2{margin:0;font-size:16px}.text-link{border:0;background:transparent;color:var(--blue);font-size:12px;font-weight:800;padding:6px}.card{background:#fff;border:1px solid #e7edfa;border-radius:19px;box-shadow:var(--shadow);overflow:hidden}.card-pad{padding:16px}.hero{height:202px;background:#91c3fa center/cover;position:relative;border-radius:19px;overflow:hidden;box-shadow:var(--shadow)}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,44,83,.53),rgba(13,44,83,0) 95%)}.hero-inner{position:absolute;z-index:2;color:white;left:19px;top:16px;right:17px}.hero-label{display:inline-block;background:rgba(255,255,255,.25);padding:5px 9px;border:1px solid #ffffff5e;border-radius:999px;font-size:10px}.hero h2{font-size:24px;line-height:1.47;margin:22px 0 7px}.hero p{font-size:11px;margin:0}.floating-points{padding:16px 17px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:-19px;position:relative;z-index:3}.points-left{display:flex;gap:11px;align-items:center}.coin-mark{border-radius:50%;background:linear-gradient(135deg,#ffda75,#ffa227);width:44px;height:44px;display:grid;place-items:center;color:#fff;font-weight:800;font-size:23px;box-shadow:inset 0 0 0 4px #fff4bd}.points-value{font-size:27px;font-weight:900;letter-spacing:-.03em;margin-top:2px;line-height:1.15}.points-value small{font-size:13px;margin-left:3px}.eyebrow{font-size:11px;color:#7786a2}.chip{display:inline-flex;align-items:center;border-radius:999px;background:#e9f4ff;color:#2a66c5;padding:5px 9px;font-size:10px;font-weight:800}.chip.orange{background:#fff2df;color:#db8823}.chip.pink{background:#ffebf4;color:#eb4788}.chip.teal{background:#e3f9f4;color:#008c80}.chip.dark{background:#edf0f8;color:#435273}.mission-card{display:flex;gap:11px;align-items:center;padding:14px 13px;border-bottom:1px solid var(--line)}.mission-card:last-child{border-bottom:0}.mission-symbol{width:39px;height:39px;flex-shrink:0;display:grid;place-items:center;border-radius:12px;background:linear-gradient(145deg,#e5f2ff,#e7edff);color:#3476eb;font-size:20px}.mission-body{flex:1;min-width:0}.mission-body strong{display:block;font-size:12px}.mission-body p{font-size:11px;line-height:1.55;color:var(--muted);margin:3px 0 0}.btn{background:#3278f3;color:white;border:0;border-radius:12px;padding:11px 15px;font-size:12px;font-weight:800;box-shadow:0 5px 12px rgba(49,121,240,.16);white-space:nowrap}.btn.secondary{background:#eaf2ff;color:#276de1;box-shadow:none}.btn.tiny{padding:9px 10px;font-size:11px}.btn.success{background:#00a99d}.btn.ghost{border:1px solid #e1e9f6;background:white;color:#2b68df;box-shadow:none}.btn.pink{background:#f35491}.btn.full{width:100%}.btn-row{display:flex;gap:9px}.btn-row>*{flex:1}.progress{background:#e9eef7;height:8px;border-radius:40px;overflow:hidden}.progress>span{display:block;height:100%;border-radius:40px;background:linear-gradient(90deg,#168df7,#05bcae)}.h-scroll{display:flex;gap:11px;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:5px;scrollbar-width:none}.h-scroll::-webkit-scrollbar{display:none}.spot-card{min-width:145px;width:145px;flex-shrink:0;scroll-snap-align:start;position:relative}.spot-card img{width:100%;height:119px;object-fit:cover;display:block}.spot-card-body{padding:10px}.spot-card strong{font-size:12px;display:block;margin-bottom:4px}.spot-card p{font-size:10px;color:var(--muted);margin:0}.mini-heart{position:absolute;top:9px;right:9px;background:#fff;border:0;border-radius:50%;width:27px;height:27px;display:grid;place-items:center;color:#e34c92;font-size:15px}.quick-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:17px 0}.quick-action{background:#fff;border:1px solid #e6effa;border-radius:15px;padding:12px 4px;display:flex;flex-direction:column;align-items:center;gap:7px;font-size:10px;color:#4b5d80;font-weight:800;box-shadow:0 5px 12px rgba(53,93,160,.03)}.quick-action span{font-size:26px}.banner-strip{width:100%;height:111px;object-fit:cover;border-radius:15px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.stat-card{background:#fff;border:1px solid #e6edfb;border-radius:15px;padding:14px;box-shadow:var(--shadow)}.stat-card strong{font-size:22px;display:block;margin:6px 0;color:#1b57cf}.stat-card small{font-size:10px;color:#6b7e9b}.list{display:flex;flex-direction:column;gap:11px}.list-card{display:flex;gap:12px;background:#fff;border:1px solid #e6edfb;border-radius:16px;overflow:hidden;box-shadow:0 5px 18px rgba(33,61,110,.05)}.list-card>img{width:104px;min-height:112px;object-fit:cover}.list-body{padding:12px 10px 12px 0;flex:1;min-width:0}.list-body strong{font-size:13px;display:block;line-height:1.45}.list-body p{color:var(--muted);font-size:11px;line-height:1.7;margin:5px 0}.list-body .meta{font-size:10px;color:#246fcd}.list-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.feature-img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:15px}.filter-chips{display:flex;gap:7px;margin:4px 0 17px;overflow:auto;scrollbar-width:none}.filter-chip{border:1px solid #e8eff9;background:white;color:#6480a7;font-size:11px;white-space:nowrap;border-radius:999px;padding:8px 12px;font-weight:700}.filter-chip.active{background:#3477f4;border-color:#3477f4;color:white}.status-note{background:#e9f9f5;color:#067f72;font-size:11px;padding:11px;border-radius:12px;line-height:1.65}.status-note.warn{background:#fff6e8;color:#ac741c}.form-label{font-size:12px;font-weight:800;display:block;margin:16px 0 8px}.control{border:1px solid #dee6f4;border-radius:12px;width:100%;padding:12px 12px;background:white;color:#253455;font-size:13px}.control.textarea{min-height:98px;resize:vertical}.receipt-photos{display:flex;gap:10px;overflow:auto;padding:4px 0}.receipt-thumb{border:2px solid #e2eafb;padding:0;border-radius:14px;overflow:hidden;background:white;flex:0 0 94px;height:130px}.receipt-thumb img{width:100%;height:100%;object-fit:cover}.receipt-thumb.active{border-color:var(--blue);box-shadow:var(--ring)}.receipt-photo-large{display:block;width:min(230px,100%);height:328px;object-fit:cover;margin:12px auto;border-radius:14px;box-shadow:var(--shadow)}.price-row{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:12px 0;font-size:12px}.price-row strong{font-size:14px}.total-points{padding:15px;background:linear-gradient(110deg,#e7f5ff,#f3edff);border-radius:14px;text-align:center;font-size:22px;font-weight:900;color:#2764db}.coupon-card{background:#fff;border:1px solid #e2ebfa;border-radius:16px;overflow:hidden;box-shadow:var(--shadow)}.coupon-card img{height:120px;width:100%;object-fit:cover}.coupon-content{padding:13px}.coupon-content h3{font-size:13px;margin:7px 0}.coupon-content p{font-size:11px;color:var(--muted);margin:0 0 11px;line-height:1.7}.collection-card{border:1px solid #e3eafa;border-radius:15px;overflow:hidden;background:white;box-shadow:var(--shadow)}.collection-card img{width:100%;height:95px;object-fit:cover}.collection-card h3{font-size:13px;margin:9px 10px 0}.collection-card p{font-size:10px;color:var(--muted);margin:4px 10px 12px}.collection-card .progress{margin:0 10px 12px}.collect-item{border:1px solid #e4eafa;border-radius:13px;background:#fff;overflow:hidden;text-align:center;position:relative}.collect-item img{width:100%;height:105px;object-fit:cover}.collect-item strong{font-size:11px;padding:9px 5px;display:block}.collect-item.locked img{filter:grayscale(1);opacity:.3}.lock-overlay{position:absolute;inset:45px 0 auto;font-size:22px}.map-frame{height:330px;position:relative;border-radius:20px;overflow:hidden;background:#d6eedf url('./04_素材/風景イラスト/map.svg') center/cover;border:1px solid #d3e7e3}.map-pin{border:0;background:var(--blue);color:white;border:3px solid #fff;position:absolute;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;box-shadow:0 6px 12px #1a4c7573;font-size:13px}.map-pin.selected{background:#f45b92;transform:scale(1.2);z-index:3}.map-under{background:#fff;border-radius:16px;border:1px solid #e4effa;display:flex;gap:11px;margin-top:12px;overflow:hidden}.map-under img{width:112px;object-fit:cover}.map-under div{padding:12px 10px 12px 0}.map-under strong{font-size:13px}.map-under p{font-size:11px;color:var(--muted)}.profile-card{background:linear-gradient(135deg,#4777e9,#715ce9);color:#fff;padding:20px;border-radius:20px;display:flex;gap:15px;align-items:center}.profile-card img{background:#ffffff35;border-radius:50%;width:70px;height:70px;object-fit:contain}.profile-card strong{font-size:17px}.profile-card p{font-size:12px;margin:6px 0;opacity:.9}.menu-item{display:flex;justify-content:space-between;width:100%;align-items:center;border:0;background:white;border-bottom:1px solid var(--line);padding:16px;font-weight:700;color:#324366;font-size:13px;text-align:left}.menu-item:last-child{border-bottom:0}.empty{background:#f7f9fd;border:1px dashed #d6dfed;border-radius:15px;padding:25px;text-align:center;font-size:12px;color:#8290a8;line-height:1.8}.bar-chart{height:154px;display:flex;gap:10px;align-items:end;padding:14px 0 3px;border-bottom:1px solid #dde8f5}.bar-col{flex:1;display:flex;align-items:center;justify-content:end;flex-direction:column;gap:5px;font-size:10px;color:#8393ad}.bar{width:70%;min-height:4px;background:linear-gradient(#4da5ff,#4072ef);border-radius:8px 8px 0 0}.sample-pill{background:linear-gradient(135deg,#ffe8f0,#e7f2ff);padding:11px;border-radius:13px;font-size:11px;color:#64718f}.divider{height:1px;background:#e6edfa;margin:17px 0}.muted{color:var(--muted)}.small{font-size:11px}.center{text-align:center}.mb8{margin-bottom:8px}.mt12{margin-top:12px}.mt18{margin-top:18px}.w100{width:100%}.toast{position:fixed;z-index:50;left:50%;bottom:30px;transform:translate(-50%,20px);color:#fff;background:rgba(27,44,79,.95);font-size:12px;padding:13px 19px;border-radius:15px;box-shadow:0 10px 24px #102b4e70;opacity:0;transition:opacity .2s,transform .2s;pointer-events:none;max-width:calc(100vw - 25px);min-width:260px;text-align:center}.toast.show{transform:translate(-50%,0);opacity:1}
@media(max-width:1100px){.site-wrap{grid-template-columns:minmax(0,1fr) 425px;gap:30px}.right-rail{display:none}}@media(max-width:750px){body{background:#f8fbff}.preview-note{font-size:9px;gap:7px;text-align:center;padding:5px 8px}.site-wrap{display:block;padding:0}.desktop-side{display:none}.phone-shell{height:calc(100dvh - 28px);min-height:0;max-width:540px;margin:auto;border:0;border-radius:0;box-shadow:none;background:#f8fbff}.phone-top{display:none}.phone-header{height:62px;padding-top:2px}.bottom-nav{padding-bottom:max(9px,env(safe-area-inset-bottom))}#app{padding-bottom:35px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

.header-back[hidden]{display:none!important}
