:root{--bg:#F6F5F1;--ink:#3F434A;--ink-2:#6B7078;--ink-3:#9A9EA5;--white:#fff;--grey:#F9F9F9;--line:#E6E3DC;--pink:#F3E2D9;--pink-2:#ECDDD6;--lavender:#D9D0E3;--bluegrey:#C9D4DA;--sage:#D9E2CF;--butter:#F5E8C4;--rose:#F7D9D3;--accent:#EE7543;--accent-deep:#D9622F;--accent-soft:#FBE9E0;--beige:#EFDCC4;--font:"SF Pro JP","Hiragino Kaku Gothic Pro","Hiragino Sans","Helvetica Neue",Helvetica,Arial,sans-serif;--latin:"Jost","Helvetica Neue",Arial,sans-serif;--r-sm:10px;--r-card:16px;--r-img:20px;--r-pill:360px;--shadow:0 18px 50px rgba(63,67,74,.1);--shadow-sm:0 6px 18px rgba(63,67,74,.07);--ease:cubic-bezier(.16,1,.3,1);--safe-b:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}html,body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased}h1,h2,h3,p,ul,ol,figure{margin:0}ul,ol{padding:0;list-style:none}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{font-family:inherit}::selection{background:var(--pink)}.page{max-width:560px;margin:0 auto;padding:0 20px calc(96px + var(--safe-b))}.page.wide{max-width:1120px}.topbar{display:flex;justify-content:space-between;align-items:center;height:60px}.brand{display:inline-flex;align-items:center;gap:9px;font-family:var(--latin);letter-spacing:.3em;font-size:15px}.brand svg{width:24px;height:24px}.stepmark{font-family:var(--latin);font-size:12px;color:var(--ink-2);letter-spacing:.06em}h1.t{font-size:26px;line-height:1.4;font-weight:700;margin:18px 0 10px;letter-spacing:.3px;text-wrap:balance}h2.t{font-size:17px;line-height:1.5;font-weight:700;margin:32px 0 10px;display:flex;align-items:center;gap:10px}h2.t:after{content:"";flex:1;height:1px;background:var(--line)}.p{font-size:15px;color:var(--ink);line-height:1.85}.fine{font-size:12.5px;color:var(--ink-2);line-height:1.65}.center{text-align:center}.mt{margin-top:16px}.mt2{margin-top:28px}.mb{margin-bottom:16px}.stepper{display:flex;gap:6px;margin:8px 0 4px}.stepper span{flex:1;height:4px;border-radius:2px;background:var(--line);transition:background .6s var(--ease)}.stepper span.on{background:var(--accent)}.stepper span.done{background:var(--pink-2)}.rv{opacity:0;transform:translateY(14px);animation:rv .8s var(--ease) forwards;animation-delay:calc(var(--i,0) * 70ms)}@keyframes rv{to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.rv{animation:none;opacity:1;transform:none}}.chip{display:inline-flex;align-items:center;gap:6px;background:var(--pink);border-radius:var(--r-pill);padding:5px 12px;font-size:12.5px;font-weight:700;line-height:1.3}.chip.grey{background:var(--grey);border:1px solid var(--line)}.chip.sage{background:var(--sage)}.chip.rose{background:var(--rose)}.chip.accent{background:var(--accent);color:#fff}.eyebrow{font-family:var(--latin);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);font-weight:500}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:15px 22px;border:2px solid var(--accent);border-radius:var(--r-pill);font-size:15px;font-weight:700;background:var(--accent);color:#fff;cursor:pointer;line-height:1.3;transition:background .45s var(--ease),border-color .45s var(--ease),transform .45s var(--ease),box-shadow .45s var(--ease);box-shadow:0 10px 24px #ee754338}.btn:hover{background:var(--accent-deep);border-color:var(--accent-deep)}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.btn .ic{width:26px;height:26px;border-radius:50%;background:#ffffff38;display:inline-grid;place-items:center;flex:none;transition:transform .45s var(--ease)}.btn .ic svg{width:12px;height:12px}.btn:hover .ic{transform:translate(2px,-1px)}.btn.o{background:transparent;border-color:var(--ink);color:var(--ink);box-shadow:none}.btn.o:hover{background:var(--ink);color:#fff}.btn.o .ic{background:#3f434a1a}.btn.g{background:var(--white);border-color:var(--line);color:var(--ink-2);box-shadow:none}.btn.g:hover{background:var(--grey);border-color:var(--line);color:var(--ink)}.btn.sm{width:auto;padding:9px 16px;font-size:13px;box-shadow:none}.btn.link{background:none;border:none;color:var(--ink-2);text-decoration:underline;font-weight:500;padding:8px;width:auto;box-shadow:none}.btn.link:hover{color:var(--ink);background:none}.row{display:flex;gap:10px}.row>*{flex:1}.sticky-cta{position:fixed;left:0;right:0;bottom:0;padding:12px 20px calc(12px + var(--safe-b));background:linear-gradient(180deg,#f6f5f100,#f6f5f1f5 30%);z-index:10;pointer-events:none}.sticky-cta>*{max-width:520px;margin:0 auto;pointer-events:auto}.sticky-cta .hint{text-align:center;font-size:12px;color:var(--ink-2);margin-bottom:6px}.card{background:var(--white);border-radius:var(--r-card);padding:18px;box-shadow:var(--shadow-sm)}.card.flat{box-shadow:none;border:1px solid var(--line)}.card.tint{background:var(--pink);box-shadow:none}.card.lift{box-shadow:var(--shadow)}.frame{border-radius:calc(var(--r-img) + 6px);padding:6px;background:#3f434a0d}.frame img,.frame .img{border-radius:var(--r-img)}.img{border-radius:var(--r-img);width:100%;object-fit:cover;background:var(--beige)}.img.ph{display:grid;place-items:center;color:var(--ink-3);font-size:12px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:14px;line-height:1.7}.kv b{color:var(--ink-2);font-weight:700;white-space:nowrap;font-size:12.5px;padding-top:2px}.kv .edit{font-size:12px;color:var(--accent);text-decoration:underline;margin-left:8px;cursor:pointer;background:none;border:none;padding:0}.field{display:block;margin:14px 0}.field>span{display:flex;justify-content:space-between;font-size:12.5px;font-weight:700;color:var(--ink-2);margin-bottom:6px}.field>span small{font-weight:500;color:var(--ink-3)}.field input,.field select,.field textarea{width:100%;font:inherit;font-size:16px;line-height:1.5;padding:13px 14px;border:1.5px solid var(--line);border-radius:12px;background:var(--white);color:var(--ink);transition:border-color .3s,box-shadow .3s;-webkit-appearance:none;-moz-appearance:none;appearance:none}.field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 4.5 L6 8 L9.5 4.5' fill='none' stroke='%233F434A' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:12px;padding-right:38px}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.field input::placeholder,.field textarea::placeholder{color:var(--ink-3)}.field .err{color:var(--accent-deep);font-size:12.5px;margin-top:6px;font-weight:500}.field input[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:var(--accent-deep)}.opts{display:flex;flex-wrap:wrap;gap:8px}.opts button{border:1.5px solid var(--line);background:var(--white);border-radius:var(--r-pill);padding:9px 14px;font-size:14px;color:var(--ink);cursor:pointer;transition:all .3s var(--ease);line-height:1.3}.opts button:hover{border-color:var(--ink)}.opts button.on{background:var(--ink);border-color:var(--ink);color:#fff}.opts button.on.accent{background:var(--accent);border-color:var(--accent)}.opts button small{display:block;font-size:11px;opacity:.75;font-weight:500}.flor{display:flex;gap:12px;align-items:center;background:var(--sage);border-radius:var(--r-card);padding:12px 14px}.flor .av{width:46px;height:46px;border-radius:50%;background:var(--white);flex:none;object-fit:cover;box-shadow:inset 0 0 0 2px #ffffffb3}.flor b{display:block;font-size:14px;line-height:1.45}.flor span{font-size:12.5px;color:var(--ink-2)}.tl{position:relative;padding-left:24px;display:flex;flex-direction:column}.tl:before{content:"";position:absolute;left:8px;top:12px;bottom:12px;width:2px;background:var(--line)}.tl .e{position:relative;padding:7px 0}.tl .e:before{content:"";position:absolute;left:-21px;top:15px;width:10px;height:10px;border-radius:50%;background:var(--line);border:2px solid var(--bg);box-sizing:content-box}.tl .e.done:before{background:var(--accent)}.tl .e.now:before{background:#fff;border:2px solid var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.tl .e b{display:block;font-size:14.5px}.tl .e.now b{color:var(--accent-deep)}.tl .e.next b{color:var(--ink-3);font-weight:500}.tl .e span{font-size:12.5px;color:var(--ink-2)}.card .tl:before{background:var(--line)}.card .tl .e:before{border-color:var(--white)}.msg{background:var(--pink);border-radius:var(--r-card);padding:14px 16px;font-size:15px;line-height:1.8}.msg b{display:block;font-size:11.5px;color:var(--accent-deep);letter-spacing:.08em;margin-bottom:2px}.msg .from{text-align:right;font-size:13px;margin-top:6px;color:var(--ink-2)}.notice{background:var(--butter);border-radius:12px;padding:12px 14px;font-size:13.5px;line-height:1.65}.notice.err{background:var(--rose)}.notice.ok{background:var(--sage)}.tabs{display:flex;gap:6px;margin:14px 0;background:var(--grey);border:1px solid var(--line);border-radius:14px;padding:4px}.tabs button{flex:1;padding:9px 6px;border-radius:10px;border:none;background:transparent;font-size:13.5px;font-weight:700;color:var(--ink-2);cursor:pointer;transition:all .3s var(--ease)}.tabs button.on{background:var(--white);color:var(--ink);box-shadow:var(--shadow-sm)}.tabs button .n{font-family:var(--latin);font-size:11px;margin-left:4px;color:var(--ink-3);font-weight:500}.skel{background:linear-gradient(90deg,var(--line) 25%,#F1EEE8 37%,var(--line) 63%);background-size:400% 100%;animation:skel 1.4s ease infinite;border-radius:12px}@keyframes skel{0%{background-position:100% 0}to{background-position:0 0}}.spinner{display:inline-block;width:18px;height:18px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;vertical-align:-3px}@keyframes spin{to{transform:rotate(360deg)}}.hero-done{position:relative;border-radius:var(--r-img);overflow:hidden;aspect-ratio:4/3;background:var(--beige)}.hero-done img{width:100%;height:100%;object-fit:cover}.hero-done .badge{position:absolute;left:14px;top:14px}.admin{display:grid;grid-template-columns:210px 1fr;min-height:100vh}.admin nav{background:var(--ink);color:#fff;padding:22px 14px;position:sticky;top:0;height:100vh}.admin nav a{display:block;padding:9px 12px;border-radius:10px;font-size:14px;color:#ffffffc7;transition:background .3s}.admin nav a.on,.admin nav a:hover{background:#ffffff1f;color:#fff}.admin main{padding:26px 30px;min-width:0}.admin h1.t{margin-top:0}table.tbl{width:100%;border-collapse:separate;border-spacing:0;font-size:13.5px;background:var(--white);border-radius:14px;overflow:hidden;border:1px solid var(--line)}table.tbl th,table.tbl td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}table.tbl th{background:var(--grey);font-weight:700;white-space:nowrap;font-size:12.5px;color:var(--ink-2);position:sticky;top:0}table.tbl tr:last-child td{border-bottom:none}table.tbl tr:hover td{background:#fcfbf8}.st{display:inline-block;border-radius:var(--r-pill);padding:3px 10px;font-size:11.5px;font-weight:700;background:var(--grey);border:1px solid var(--line);white-space:nowrap;line-height:1.3}.st.ok{background:var(--sage);border-color:transparent}.st.warn{background:var(--butter);border-color:transparent}.st.bad{background:var(--rose);border-color:transparent}.st.acc{background:var(--accent);color:#fff;border-color:transparent}.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.toolbar .spacer{flex:1}@media (max-width:760px){.admin{grid-template-columns:1fr}.admin nav{display:flex;flex-wrap:wrap;gap:4px;padding:10px;position:static;height:auto}.admin main{padding:16px}.grid2.adm{grid-template-columns:1fr}}.sheet-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#282a2e6b;z-index:40;display:flex;align-items:flex-end;justify-content:center;animation:fadeIn .25s var(--ease)}.sheet{background:var(--bg);width:100%;max-width:560px;max-height:88vh;overflow:auto;border-radius:22px 22px 0 0;padding:18px 20px calc(24px + var(--safe-b));box-shadow:0 -12px 40px #0000001f;animation:sheetUp .38s var(--ease)}@media (min-width:700px){.sheet-bg{align-items:center}.sheet{border-radius:22px}}.sheet-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.sheet-h b{font-size:17px;letter-spacing:.3px}.sheet-x{all:unset;cursor:pointer;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-size:22px;color:var(--ink-2)}.sheet-x:hover{background:var(--grey)}.sheet-x:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@keyframes sheetUp{0%{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.sheet,.sheet-bg{animation:none}}.menu{display:grid;gap:0;border-radius:var(--r-card);background:#fff;overflow:hidden;box-shadow:var(--shadow-sm)}.menu button,.menu a{all:unset;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 16px;border-top:1px solid var(--line);font-size:15px}.menu button:first-child,.menu a:first-child{border-top:0}.menu button:hover,.menu a:hover{background:var(--grey)}.menu button:focus-visible,.menu a:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.menu small{display:block;color:var(--ink-3);font-size:12px;margin-top:2px}.menu .go{color:var(--ink-3);font-size:18px}.menu .danger{color:#b4432a}.album{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}@media (min-width:700px){.album{grid-template-columns:repeat(3,1fr)}}.album figure{margin:0;background:#fff;border-radius:16px;overflow:hidden;box-shadow:var(--shadow-sm)}.album img{display:block;width:100%;aspect-ratio:1;object-fit:cover}.album figcaption{padding:10px 12px;font-size:12px;color:var(--ink-2);line-height:1.6}.album figcaption b{display:block;color:var(--ink);font-size:13px}.strip{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;-webkit-overflow-scrolling:touch}.strip figure{flex:0 0 42%;margin:0;scroll-snap-align:start}.strip img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:14px;display:block}.strip figcaption{font-size:12px;color:var(--ink-3);margin-top:6px}.foot{margin-top:48px;padding-top:18px;border-top:1px solid var(--line);font-size:12px;color:var(--ink-3);line-height:1.9}.foot p{margin:0 0 4px}.foot a{color:var(--ink-2);text-decoration:underline;margin-right:14px}.cards-print{display:grid;grid-template-columns:repeat(2,1fr);gap:0}.card6{width:148mm;height:105mm;box-sizing:border-box;padding:14mm 14mm 10mm;display:grid;grid-template-columns:1fr 30mm;gap:8mm;align-items:end;border:1px dashed #ccc;background:#fff;color:#3f434a;font-family:Hiragino Mincho ProN,Yu Mincho,serif;page-break-inside:avoid}.card6 .to{font-size:13pt;margin-bottom:6mm}.card6 .body{font-size:12pt;line-height:1.9;white-space:pre-wrap;align-self:start}.card6 .from{font-size:11pt;text-align:right;margin-top:6mm}.card6 .qr img{width:28mm;height:28mm;display:block}.card6 .qr small{display:block;font-size:6.5pt;color:#8a8e95;margin-top:2mm;font-family:sans-serif;line-height:1.4}.card6 .no{grid-column:1/-1;font-size:7pt;color:#aaa;font-family:sans-serif}@media print{@page{size:A6 landscape;margin:0}body{background:#fff}.admin nav,.no-print{display:none!important}.admin{display:block}.admin main{padding:0}.cards-print{display:block}.card6{border:0;page-break-after:always}}
