:root{--ink:#23444d;--teal:#2fa3bd;--tealD:#1f8ba3;--sub:#5f7e87;--line:#dfeaee;--bg:#f4fafb;--card:#fff;--green:#2e9d84}.ec{font-family:Hiragino Kaku Gothic ProN,Noto Sans JP,Noto Sans CJK JP,sans-serif;color:var(--ink);background:linear-gradient(160deg,#eef7f9,#f2faf4);min-height:100vh}.ec div,.ec h1,.ec h2,.ec h3,.ec li,.ec p,.ec span{word-break:keep-all;overflow-wrap:anywhere}.ec .app{max-width:420px;margin:0 auto;min-height:100vh;background:var(--bg);position:relative;padding-bottom:calc(92px + env(safe-area-inset-bottom))}.ec .sample{position:sticky;top:0;z-index:20;background:#23444d;color:#fff;font-size:12px;letter-spacing:.08em;text-align:center;padding:8px 12px}.ec .sample b{font-weight:700}.ec header{padding:22px 20px 12px;display:flex;align-items:center;justify-content:space-between}.ec .brand{display:flex;flex-direction:column}.ec .dots i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:4px}.ec .d1{background:#2fa3bd}.ec .d2{background:#2e9d84}.ec .d3{background:#23444d}.ec .bn{font-family:Times New Roman,"Noto Serif JP",serif;font-size:20px;letter-spacing:.1em;font-weight:700;margin-top:4px}.ec .bnj{font-size:10px;letter-spacing:.4em;color:var(--teal)}.ec .who{text-align:right;font-size:13px;color:var(--sub);line-height:1.5}.ec .who b{display:block;color:var(--ink);font-size:15px}.ec main{padding:4px 16px 0}.ec .screen{display:none}.ec .screen.on{display:block}.ec .card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px;margin-top:14px;box-shadow:0 8px 24px rgba(31,139,163,.06)}.ec .card h2{font-size:14px;color:var(--teal);letter-spacing:.12em;font-weight:700;margin-bottom:10px}.ec .big{font-size:26px;font-weight:700;line-height:1.3}.ec .big small{font-size:14px;color:var(--sub);font-weight:400;margin-left:6px}.ec .row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--line);font-size:14px}.ec .row:first-of-type{border-top:0}.ec .row .k{color:var(--sub)}.ec .row .v{font-weight:700;text-align:right}.ec .btn{display:block;width:100%;text-align:center;background:var(--ink);color:#fff;border:0;border-radius:999px;padding:14px;font-size:15px;font-weight:700;margin-top:14px;cursor:pointer}.ec .btn.ghost{background:#fff;color:var(--ink);border:1.5px solid var(--ink)}.ec .btn.teal{background:var(--tealD)}.ec .cancel-link{display:inline-block;font-size:13px;text-decoration:underline;text-underline-offset:3px}.ec .cancel-link,.ec .note{margin-top:10px;color:var(--sub)}.ec .note{font-size:12px;line-height:1.8}.ec .tag{display:inline-block;background:#e6f4f7;color:var(--tealD);border-radius:999px;padding:4px 10px;font-size:11px;font-weight:700;letter-spacing:.06em}.ec .tag.g{background:#e7f5f0;color:var(--green)}.ec .tag.gray{background:#eef2f4;color:var(--sub)}.ec .cal{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:10px}.ec .cal .h{font-size:11px;color:var(--sub);text-align:center}.ec .cal .d{aspect-ratio:1/1;border-radius:10px;border:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:center;font-size:13px}.ec .cal .d.off{color:#b9c6cb;background:#f6f8f9;text-decoration:line-through}.ec .cal .d.pri{border-color:#bfe3eb;background:#eaf6f9;color:var(--tealD);font-weight:700}.ec .cal .d.sel{background:var(--ink);color:#fff;border-color:var(--ink);font-weight:700}.ec .cal .d.blank{border:0;background:transparent}.ec .legend{display:flex;gap:12px;font-size:11px;color:var(--sub);margin-top:10px;flex-wrap:wrap}.ec .legend i{display:inline-block;width:12px;height:12px;border-radius:4px;vertical-align:-2px;margin-right:4px;border:1px solid var(--line)}.ec .legend i.pri{background:#eaf6f9;border-color:#bfe3eb}.ec .legend i.off{background:#f6f8f9}.ec .slots{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}.ec .slots span{border:1px solid var(--line);border-radius:10px;padding:10px 0;text-align:center;font-size:13px;background:#fff}.ec .slots span.sel{background:var(--ink);color:#fff;border-color:var(--ink);font-weight:700}.ec .slots span.off{color:#b9c6cb;text-decoration:line-through;background:#f6f8f9}.ec .prod{display:flex;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}.ec .prod:first-of-type{border-top:0}.ec .prod .ph{width:54px;height:66px;border-radius:10px;background:linear-gradient(160deg,#dcecef,#f4fafb);border:1px solid var(--line);flex:none;display:flex;align-items:center;justify-content:center}.ec .ph i,.ec .ph.w{background:#fff}.ec .ph i{display:block;width:22px;height:40px;border-radius:6px 6px 8px 8px;border:1.5px solid #bfd6dc}.ec .prod .t{flex:1;min-width:0}.ec .prod .t b{display:block;font-size:13px;line-height:1.4}.ec .prod .t span{display:block;font-size:11px;color:var(--sub);line-height:1.5;margin-top:2px}.ec .prod .p{font-size:13px;font-weight:700;white-space:nowrap}.ec .prod .p small{display:block;font-size:10px;color:var(--sub);font-weight:400;text-align:right}.ec .prod .pr{margin-top:6px;font-size:14px;font-weight:700;display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.ec .prod .pr s{color:#9fb0b6;font-weight:400;font-size:12px}.ec .prod .pr em{font-style:normal;color:var(--tealD)}.ec .prod .pr small{font-size:10px;color:var(--sub);font-weight:400}.ec .prod .t b{word-break:normal;overflow-wrap:normal}.ec .prod .p em{font-style:normal;color:var(--tealD)}.ec .tag.off{background:#e6f4f7;color:var(--tealD);flex:none}.ec .pick{border:1.5px solid var(--tealD);color:var(--tealD);background:#fff;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:700;white-space:nowrap}.ec .pick.done{background:var(--tealD);color:#fff}.ec nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:420px;background:#fff;border-top:1px solid var(--line);display:flex;z-index:30;padding-bottom:env(safe-area-inset-bottom)}.ec nav a{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:56px;text-align:center;padding:8px 2px 10px;font-size:10.5px;line-height:1.2;color:var(--sub);text-decoration:none;letter-spacing:0;white-space:nowrap;overflow:hidden}.ec nav a.on{color:var(--tealD);font-weight:700}.ec .foot{padding:26px 20px 8px;font-size:11px;color:var(--sub);text-align:center;line-height:1.8}.ec .foot a{color:var(--tealD)}.ec .dlv{display:flex;flex-direction:column;gap:8px;margin-top:12px}.ec .dlv h3{font-size:12px;color:var(--sub);font-weight:700;letter-spacing:.08em;margin:14px 0 0}.ec .dlv .o{border:1.5px solid var(--line);border-radius:12px;padding:10px 12px;display:flex;gap:10px;align-items:flex-start;cursor:pointer;background:#fff}.ec .dlv .o.on{border-color:var(--tealD);background:#f3fafb}.ec .dlv .r{width:18px;height:18px;border-radius:50%;border:2px solid #b7c7cc;flex:none;margin-top:1px;box-sizing:border-box}.ec .dlv .o.on .r{border:6px solid var(--tealD)}.ec .dlv b{font-size:13px;display:block;line-height:1.4}.ec .dlv b .tag{display:inline-block;margin-left:6px;padding:2px 8px;font-size:10px;vertical-align:middle;color:var(--green)}.ec .dlv span{font-size:11px;color:var(--sub);line-height:1.6;display:block;margin-top:3px}.ec .toast{bottom:92px;transform:translateX(-50%) translateY(20px);background:var(--ink);line-height:1.6;padding:12px 18px;border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.2);pointer-events:none;transition:.25s;max-width:320px;z-index:50}.ec .toast.on{transform:translateX(-50%) translateY(0)}.ec .cal .d:not(.blank):not(.off),.ec .pick,.ec .slots span:not(.off){cursor:pointer}.ec .toast{position:fixed;left:50%;bottom:100px;transform:translateX(-50%);background:#23444d;color:#fff;font-size:13px;padding:10px 16px;border-radius:999px;opacity:0;transition:opacity .2s;z-index:40;max-width:90%;text-align:center}.ec .toast.on{opacity:1}.ec .msg{margin-top:10px;border-radius:12px;padding:10px 12px;font-size:13px;line-height:1.6}.ec .msg.ok{background:#e7f5f0;color:#1f6f5b}.ec .msg.ng{background:#fdecec;color:#a33}.ec .field{display:block;margin-top:12px}.ec .field span{display:block;font-size:12px;color:var(--sub);margin-bottom:4px}.ec .field input,.ec .field select{width:100%;border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;font-size:15px;background:#fff;color:var(--ink)}.ec .field input:focus{outline:none;border-color:var(--tealD)}.ec .chk{display:flex;gap:8px;align-items:flex-start;font-size:13px;margin-top:14px;line-height:1.6}.ec .chk input{margin-top:3px}.ec .link{color:var(--tealD);text-decoration:underline;text-underline-offset:3px}.ec .btn:disabled{opacity:.4;cursor:default}.ec .hero{padding:36px 20px 10px;text-align:center}.ec .hero .bn{font-size:26px}.ec .hero p{font-size:13px;color:var(--sub);line-height:1.9;margin-top:12px}.ec .notice{display:flex;align-items:center;gap:10px;padding:10px 0;font-size:13px;text-align:left;width:100%;background:none;border:0;border-top:1px solid var(--line);cursor:pointer}.ec .notice:first-of-type{border-top:0}.ec .notice .dot{width:8px;height:8px;border-radius:50%;background:#c0504d;flex:none}.ec .notice .dot.r{background:transparent}.ec .notice .tt{flex:1;min-width:0}.ec .notice .tt b{font-size:13px}.ec .notice .tt b,.ec .notice .tt span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ec .notice .tt span{font-size:11px;color:var(--sub)}.ec .prod .ph img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:9px;display:block}.ec .qty{display:flex;align-items:center;gap:8px;flex:none}.ec .qty button{width:30px;height:30px;border-radius:50%;border:1.5px solid var(--line);background:#fff;font-size:16px;line-height:1;color:var(--ink)}.ec .qty b{min-width:16px;text-align:center;font-size:14px}.ec nav a .ic{display:block;width:22px;height:22px;margin:0 auto 4px;border-radius:7px;border:1.5px solid}