:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--white:#fff;--paper:#f7f6f4;--line:#e5e2de;--ink:#222;--ink-soft:#77716b;--black:#000;--peach:#fbe3d1;--orange:#ee8a4f;--sans:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", YuGothic, "BIZ UDPGothic", Meiryo, "Noto Sans JP", sans-serif;--latin:"Avenir Next", "Helvetica Neue", Arial, var(--sans)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--white);color:var(--ink);font-family:var(--sans);-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;font-size:16px}:lang(ja){line-break:strict;overflow-wrap:anywhere;word-break:normal;line-height:1.8}@supports (text-autospace:normal){:lang(ja){text-autospace:normal}}@supports (text-spacing-trim:normal){:lang(ja){text-spacing-trim:normal}}button,textarea{font:inherit;color:inherit}a{color:var(--ink)}.app{background:var(--white);flex-direction:column;max-width:540px;height:100dvh;margin:0 auto;display:flex}@media (width>=600px){.app{box-shadow:0 0 0 1px var(--line)}}.load-error{color:var(--ink-soft);text-align:center;margin:auto;padding:24px}.header{padding:calc(10px + env(safe-area-inset-top)) 16px 10px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);z-index:2;background:#ffffffeb;justify-content:space-between;align-items:center;gap:12px;display:flex;position:relative}.brand{align-items:center;gap:6px;min-width:0;display:flex}.brand-name{font-family:var(--latin);letter-spacing:.24em;white-space:nowrap;font-size:15px;font-weight:500}.header-actions{align-items:center;gap:2px;display:flex}.header-contact{border:1px solid var(--black);background:var(--white);color:var(--black);letter-spacing:.04em;cursor:pointer;border-radius:999px;flex:none;align-items:center;gap:4px;padding:6px 12px;font-size:12px;text-decoration:none;display:inline-flex}.menu{position:relative}.menu-btn{width:36px;height:36px;color:var(--ink);cursor:pointer;background:0 0;border:none;border-radius:50%;font-size:20px;line-height:1}.menu-btn[aria-expanded=true]{background:var(--paper)}.menu-panel{background:var(--white);min-width:180px;box-shadow:0 0 0 1px var(--line), 0 12px 28px -12px #0000004d;z-index:5;border-radius:12px;padding:6px;position:absolute;top:calc(100% + 4px);right:0}.menu-panel button{text-align:left;color:#b0402f;cursor:pointer;background:0 0;border:none;border-radius:8px;width:100%;padding:10px 12px;font-size:14px;display:block}.menu-panel button:active{background:var(--paper)}.messages{-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;gap:22px;padding:0 18px 36px;display:flex;overflow-y:auto}.hero{border-bottom:1px solid var(--line);background-image:radial-gradient(circle,#d9d5d0 1px,#0000 1.4px);background-position:top;background-size:14px 14px;margin:0 -18px;padding:28px 18px 26px;-webkit-mask-image:linear-gradient(#000 70%,#000000d9);mask-image:linear-gradient(#000 70%,#000000d9)}.arch{text-align:center;flex-direction:column;align-items:center;display:flex}.hero-stage{place-items:center;width:210px;height:196px;display:grid;position:relative}.hero-stage:before{content:"";background:radial-gradient(closest-side, #ffd9bd 0%, var(--peach) 45%, #fbe3d100 100%);border-radius:50%;position:absolute;inset:8px 12px 0}.hero-character{animation:.9s cubic-bezier(.2,.7,.2,1) both walk-in;position:relative}@keyframes walk-in{0%{opacity:0;transform:translate(-14px)rotate(-4deg)}to{opacity:1;transform:none}}.arch-title{font-family:var(--latin);letter-spacing:.36em;margin:10px -.36em 0 0;font-size:34px;font-weight:300;line-height:1.1}.arch-tagline{font-family:var(--latin);letter-spacing:.32em;color:var(--ink-soft);margin:8px -.32em 0 0;font-size:10px}.arch-greeting{color:var(--ink);white-space:pre-line;margin:16px 0 0;font-size:14px;line-height:1.9}@supports (word-break:auto-phrase){.arch-greeting{word-break:auto-phrase}}.notice{background:var(--paper);border-radius:14px;padding:16px 16px 14px;font-size:13px;line-height:1.85}.notice h2{background:var(--black);color:var(--white);letter-spacing:.08em;margin:0 0 8px;padding:1px 10px;font-size:12px;font-weight:500;display:inline-block}.notice p{margin:0}.notice ul{margin:6px 0 0;padding-left:1.1em}.notice li{margin:2px 0}.notice-links{flex-wrap:wrap;gap:6px 18px;margin-top:10px;font-size:12px;display:flex}.notice-links a{text-underline-offset:3px}.quick-title{letter-spacing:.06em;color:var(--ink-soft);margin:0 0 10px;font-size:12px}.quick-list{grid-template-columns:1fr 1fr;gap:8px;display:grid}.quick-btn{border:1px solid var(--line);background:var(--white);min-height:52px;color:var(--ink);text-align:left;cursor:pointer;border-radius:12px;padding:10px 14px;font-size:14px;line-height:1.5}.quick-btn:active{border-color:var(--black)}.row.bot{align-items:flex-start;gap:8px;display:flex}.avatar{background:radial-gradient(closest-side, var(--peach), #fbe3d100);border-radius:50%;flex:none;width:40px;height:40px;margin-top:-2px}.character{object-fit:contain;display:block}.bot-col{flex-direction:column;gap:8px;min-width:0;max-width:calc(100% - 48px);display:flex}.bubble{white-space:pre-wrap;letter-spacing:.02em;padding:12px 16px;font-size:15px;line-height:1.85}.bubble.bot{background:var(--white);border:1px solid var(--line);border-radius:4px 18px 18px}.row.user{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.bubble.user{background:var(--black);max-width:82%;color:var(--white);border-radius:18px 4px 18px 18px}.masked-notice{max-width:82%;color:var(--ink-soft);text-align:right;margin:0;font-size:12px;line-height:1.6}.typing{width:fit-content;color:var(--ink-soft);align-items:center;gap:10px;display:inline-flex}.dots{gap:4px;display:inline-flex}.dots i{background:var(--black);opacity:.25;border-radius:50%;width:5px;height:5px;animation:1.4s ease-in-out infinite breathe}.dots i:nth-child(2){animation-delay:.2s}.dots i:nth-child(3){animation-delay:.4s}.typing-label{font-size:13px}@keyframes breathe{0%,80%,to{opacity:.25}40%{opacity:1}}.suggestions{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.suggestions-title{color:var(--ink-soft);margin:2px 0 0;font-size:12px}.suggestion-btn{border:1px solid var(--black);background:var(--white);max-width:100%;color:var(--black);text-align:left;cursor:pointer;border-radius:12px;padding:9px 14px;font-size:14px;line-height:1.5}.suggestion-btn:active{background:var(--paper)}.suggestion-btn:disabled{opacity:.5;cursor:default}.answer-footer{flex-direction:column;gap:6px;padding-left:2px;display:flex}.ai-note{color:var(--ink-soft);margin:0;font-size:12px;line-height:1.6}.updated-note{color:#8a4a1f;background:#fdf0e6;border-radius:8px;margin:0;padding:6px 10px;font-size:12px;line-height:1.6}.answer-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.rating{gap:2px;display:flex}.rating button{color:#9a948e;cursor:pointer;background:0 0;border:none;border-radius:50%;place-items:center;width:36px;height:36px;display:grid}.rating button.on{background:var(--black);color:var(--white)}.text-link,button.contact-btn{font:inherit;cursor:pointer;background:0 0;border:none;padding:0}.text-link{color:var(--ink);text-underline-offset:3px;font-size:12px;text-decoration:underline}button.contact-btn:not(.strong){color:var(--ink-soft);text-underline-offset:3px;font-size:12px;text-decoration:underline}.contact-btn.strong{background:var(--black);min-height:40px;color:var(--white);letter-spacing:.04em;border-radius:999px;align-items:center;padding:0 20px;font-size:13px;display:inline-flex}.older-btn{border:1px solid var(--line);background:var(--white);color:var(--ink);cursor:pointer;border-radius:999px;align-self:center;padding:8px 18px;font-size:13px}.history-note{color:var(--ink-soft);text-align:center;margin:0;font-size:12px;line-height:1.6}.date-sep{font-family:var(--latin);letter-spacing:.08em;color:var(--ink-soft);align-items:center;gap:12px;font-size:11px;display:flex}.date-sep:before,.date-sep:after{content:"";background:var(--line);flex:1;height:1px}.composer{padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:linear-gradient(180deg, #fff0 0%, var(--white) 30%);z-index:1;position:relative}.composer-form{background:var(--white);box-shadow:0 0 0 1px var(--line), 0 10px 24px -18px #00000073;border-radius:26px;align-items:flex-end;gap:8px;padding:6px 6px 6px 18px;display:flex}.composer-form:focus-within{box-shadow:0 0 0 1px var(--black), 0 10px 24px -18px #00000073}.composer textarea{resize:none;background:0 0;border:none;outline:none;flex:1;min-height:24px;max-height:120px;padding:8px 0;font-size:16px;line-height:1.5}.composer textarea::placeholder{color:#a7a19b}.send-btn{background:var(--black);width:40px;height:40px;color:var(--white);cursor:pointer;border:none;border-radius:50%;flex:none;place-items:center;display:grid}.send-btn:disabled{cursor:default;background:#d5d1cc}.footnote{color:var(--ink-soft);text-align:center;margin:8px 4px 0;font-size:12px;line-height:1.5}:focus-visible{outline:2px solid var(--black);outline-offset:2px}@media (prefers-reduced-motion:reduce){.hero-character,.dots i{animation:none}.dots i{opacity:.7}}.picker-title{margin:0 0 10px;font-size:14px;font-weight:500}.picker-list{flex-wrap:wrap;gap:8px;display:flex}.picker-btn{border:1px solid var(--line);background:var(--white);color:var(--ink);cursor:pointer;border-radius:999px;padding:9px 16px;font-size:14px}.picker-btn.on{border-color:var(--black);background:var(--black);color:var(--white)}.other-contact{color:var(--ink-soft);text-underline-offset:3px;cursor:pointer;background:0 0;border:none;margin-top:10px;padding:0;font-size:12px;text-decoration:underline}.product-bar{align-items:center;gap:8px;margin:0 4px 8px;font-size:12px;display:flex;position:relative}.product-chip{background:var(--black);color:var(--white);border-radius:999px;align-items:center;gap:4px;padding:3px 4px 3px 12px;display:inline-flex}.product-chip button{width:22px;height:22px;color:var(--white);cursor:pointer;background:#ffffff26;border:none;border-radius:50%;font-size:13px;line-height:1}.product-change{color:var(--ink-soft);text-underline-offset:3px;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.product-pop{background:var(--white);min-width:200px;box-shadow:0 0 0 1px var(--line), 0 12px 28px -12px #0000004d;z-index:5;border-radius:12px;padding:6px;position:absolute;bottom:calc(100% + 6px);left:0}.product-pop button{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;width:100%;padding:10px 12px;font-size:14px;display:block}.product-pop button:active{background:var(--paper)}
