:root{--ink:#17221d;--muted:#66736d;--paper:#f4f1e9;--card:#fffdf7;--green:#235844;--lime:#c8e26b;--line:#d9ded8;--shadow:0 24px 70px rgba(26,54,42,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif;line-height:1.75}.site-header{height:72px;padding:0 max(24px,5vw);display:flex;align-items:center;justify-content:space-between;background:rgba(244,241,233,.9);border-bottom:1px solid rgba(23,34,29,.1);backdrop-filter:blur(14px);position:sticky;top:0;z-index:5}.brand{color:var(--ink);font-weight:850;letter-spacing:.13em;text-decoration:none}.brand span{display:block;font-size:.62rem;letter-spacing:.04em;font-weight:600}.header-link{color:white;background:var(--green);padding:.65rem 1rem;border-radius:99px;text-decoration:none;font-weight:700;font-size:.85rem}main{width:min(1120px,calc(100% - 32px));margin:auto}.hero{padding:clamp(64px,10vw,130px) 0 52px;position:relative}.hero:after{content:"";position:absolute;width:230px;height:230px;border-radius:50%;background:var(--lime);filter:blur(1px);opacity:.35;right:7%;top:20%;z-index:-1}.eyebrow{color:var(--green);font-size:.72rem;font-weight:850;letter-spacing:.18em;text-transform:uppercase}.hero h1{font-family:Georgia,"Yu Mincho",serif;font-size:clamp(2.7rem,7vw,6.5rem);line-height:1.05;letter-spacing:-.04em;margin:.3em 0}.hero h1 span{color:var(--green)}.hero>p{max-width:670px;color:var(--muted);font-size:clamp(1rem,2vw,1.18rem)}.chat-card{background:var(--card);border:1px solid rgba(35,88,68,.14);border-radius:28px;overflow:hidden;box-shadow:var(--shadow)}.chat-head{display:flex;gap:13px;align-items:center;padding:20px 24px;background:var(--green);color:white}.chat-head h2,.chat-head p{margin:0}.chat-head h2{font-size:1rem}.chat-head p{font-size:.75rem;opacity:.82}.bot-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--lime);color:var(--green);font-weight:900}.status{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--lime);margin-right:6px}.messages{min-height:260px;max-height:440px;overflow:auto;padding:26px;display:flex;flex-direction:column;gap:14px}.message{max-width:80%;padding:12px 16px;border-radius:18px;white-space:pre-wrap}.message.ai{align-self:flex-start;background:#edf1ec;border-bottom-left-radius:5px}.message.user{align-self:flex-end;color:white;background:var(--green);border-bottom-right-radius:5px}.message.waiting{color:var(--muted)}.suggestions{padding:0 24px 18px;display:flex;gap:8px;flex-wrap:wrap}.suggestions button{border:1px solid var(--line);background:white;color:var(--green);border-radius:99px;padding:8px 12px;cursor:pointer}form{border-top:1px solid var(--line);padding:20px 24px}form label{display:block;font-weight:800;font-size:.85rem;margin-bottom:6px}.input-row{display:flex;gap:10px}textarea{width:100%;resize:vertical;border:1px solid var(--line);border-radius:14px;padding:13px;font:inherit;background:white}textarea:focus{outline:3px solid rgba(200,226,107,.55);border-color:var(--green)}#send{border:0;border-radius:14px;padding:0 26px;background:var(--green);color:white;font-weight:800;cursor:pointer}#send:disabled{opacity:.5}.note{font-size:.72rem;color:var(--muted);margin:8px 0 0}.info-grid,.faq{margin:100px 0}.info-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:50px}.info-grid h2,.faq h2{font-family:Georgia,"Yu Mincho",serif;font-size:clamp(2rem,4vw,3.5rem);line-height:1.2;margin:.25em 0}.info-grid ul{list-style:none;padding:0;margin:0}.info-grid li{display:grid;grid-template-columns:1fr 1.5fr;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}.info-grid li span{color:var(--muted)}.faq{max-width:820px}.faq details{border-top:1px solid var(--line);padding:18px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;font-weight:750}.faq details p{color:var(--muted)}a{color:var(--green)}footer{padding:30px max(24px,5vw);background:var(--ink);color:#dce5df;display:flex;justify-content:space-between;gap:20px;font-size:.8rem}footer a{color:var(--lime)}@media(max-width:700px){.site-header{height:64px}.hero{padding-top:52px}.info-grid{grid-template-columns:1fr;gap:16px}.info-grid li{grid-template-columns:1fr}.message{max-width:92%}.input-row{align-items:stretch}.input-row textarea{min-height:76px}.input-row button{padding:0 18px}footer{flex-direction:column}.header-link{font-size:.72rem}.hero:after{width:150px;height:150px}}
