:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#faf7f0;--ink:#2b2a26;--green:#1f5238;--green-soft:#eaf2ec;--gold:#b8912c;--gold-text:#8a6a1c;--card:#fff;--muted:#655f52;--radius:12px;--shadow:0 2px 10px #2b2a2614}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font-family:Hiragino Sans,Noto Sans JP,Yu Gothic UI,sans-serif;font-size:16px;line-height:1.9}header.nav{z-index:50;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#faf7f0eb;border-bottom:1px solid #e7e0d2;position:sticky;top:0}.nav-inner{align-items:center;gap:20px;max-width:1080px;margin:0 auto;padding:12px 20px;display:flex}.logo{color:var(--green);letter-spacing:.02em;align-items:center;gap:8px;font-size:18px;font-weight:700;text-decoration:none;display:flex}.logo-icon{border-radius:6px;display:block}.logo small{color:var(--gold-text);letter-spacing:.14em;margin-left:6px;font-size:11px;font-weight:600}nav.links{gap:18px;margin-left:auto;display:none}nav.links a{color:var(--ink);border-bottom:2px solid #0000;padding:4px 2px;font-size:14px;text-decoration:none}nav.links a:hover,nav.links a:focus-visible{border-bottom-color:var(--gold)}.nav-cta{margin-left:auto}@media (width<=979px){.cta-suffix,.logo small{display:none}}@media (width>=980px){nav.links{display:flex}.nav-cta{margin-left:0}}.btn{white-space:nowrap;background:var(--green);color:#fff;cursor:pointer;box-shadow:var(--shadow);border:none;border-radius:999px;padding:13px 28px;font-family:inherit;font-size:15px;font-weight:600;text-decoration:none;transition:background .2s,transform .15s;display:inline-block}.btn:hover,.btn:focus-visible{background:#2a6a4a;transform:translateY(-1px)}.btn.small{padding:9px 20px;font-size:13px}.btn:disabled{opacity:.6;cursor:default;transform:none}.btn.ghost{color:var(--green);border:1.5px solid var(--green);box-shadow:none;background:0 0}.btn.ghost:hover,.btn.ghost:focus-visible{background:var(--green-soft)}section{padding:72px 20px;scroll-margin-top:64px}.wrap{max-width:1080px;margin:0 auto}.narrow{max-width:720px;margin:0 auto}h2{color:var(--green);letter-spacing:.02em;margin:0 0 8px;font-size:26px}.lead{color:var(--muted);margin:0 0 36px;font-size:15px}.kicker{color:var(--gold-text);letter-spacing:.18em;margin-bottom:6px;font-size:12px;font-weight:700;display:inline-block}.hero{padding:64px 20px 84px;overflow:hidden}.hero .wrap{align-items:center;gap:40px;display:grid}@media (width>=880px){.hero .wrap{grid-template-columns:1fr 1fr}}.hero h1{color:var(--green);margin:0 0 32px;font-size:clamp(22px,4.2vw,40px);line-height:1.6}.hero h1 .hero-close{border-bottom:6px solid #b8912c59;margin-top:8px;display:inline-block}.nw{white-space:nowrap;display:inline-block}.hero h1 .hero-close .nw:first-child{margin-left:-.5em}.hero .cta-row{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.hero .note{color:var(--muted);margin-top:14px;font-size:12.5px}.tidy{width:100%;max-width:430px;height:340px;margin:0 auto;position:relative}@media (width<=879px){.tidy{height:350px}}.tile{background:var(--card);cursor:pointer;border-radius:18px;justify-content:center;align-items:center;width:96px;height:96px;text-decoration:none;transition:box-shadow .5s;display:flex;position:absolute;box-shadow:0 6px 18px #2b2a261a}.tile .tile-inner{justify-content:center;align-items:center;transition:transform .2s;display:flex}.tile:hover .tile-inner,.tile:focus-visible .tile-inner{transform:scale(1.15)}.tile:hover,.tile:focus-visible{box-shadow:0 8px 22px #2b2a2629}.tile svg{width:44px;height:44px}.tidy.settled .tile{box-shadow:0 3px 10px #2b2a2614}.tidy.settled .tile .tile-inner{animation:5s ease-in-out infinite breath}.tidy.settled .tile:nth-child(2n) .tile-inner{animation-delay:1.2s}.tidy.settled .tile:nth-child(3n) .tile-inner{animation-delay:2.4s}.tidy .baseline{background:var(--gold);transform-origin:0;opacity:.7;border-radius:2px;height:3px;transition:transform .9s .3s;position:absolute;bottom:-18px;left:8%;right:8%;transform:scaleX(0)}.tidy.settled .baseline{transform:scaleX(1)}@keyframes breath{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@media (prefers-reduced-motion:reduce){.tile,.tidy.settled .tile .tile-inner,.tidy.settled .tile:nth-child(2n) .tile-inner,.tidy.settled .tile:nth-child(3n) .tile-inner{transition:none;animation:none}.tidy .baseline{transition:none}}html.js .reveal{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(14px)}html.js .reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html.js .reveal{opacity:1;transition:none;transform:none}}.cards{gap:18px;display:grid}@media (width>=720px){.cards.c3{grid-template-columns:repeat(3,1fr)}}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:26px 24px}.card h3{color:var(--green);margin:0 0 8px;font-size:17px}.card p{color:var(--ink);margin:0;font-size:14.5px}.icon-chip{background:var(--green-soft);border-radius:12px;justify-content:center;align-items:center;width:46px;height:46px;margin-bottom:14px;display:flex}.icon-chip svg{width:24px;height:24px}.services .journey{display:none}.services.journey-active .journey{display:block}.services.journey-active .services-fallback{display:none}@media (prefers-reduced-motion:reduce){.services.journey-active .journey{display:none}.services.journey-active .services-fallback{display:block}}.services-fallback .card{scroll-margin-top:84px}.services-group+.services-group{margin-top:34px}.services-group-lead{color:var(--green);margin:0 0 14px;font-weight:700}.services-group-lead .group-name{letter-spacing:.08em;color:var(--gold-text);margin-right:10px;font-size:12.5px;display:inline-block}.journey-track{height:780vh}.journey-stage{justify-content:center;align-items:center;height:100svh;display:flex;position:sticky;top:0;overflow:hidden}.journey-inner{text-align:center;grid-template-columns:1fr;align-items:center;gap:28px;width:min(92vw,980px);display:grid}@media (width>=880px){.journey-inner{text-align:left;grid-template-columns:auto 1fr;gap:64px}}.icon-stage{width:min(38vw,220px);height:min(38vw,220px);margin:0 auto;position:relative}.icon-card{background:var(--card);opacity:0;border-radius:28%;justify-content:center;align-items:center;transition:opacity .45s,transform .55s cubic-bezier(.22,.9,.3,1.05);display:flex;position:absolute;inset:0;transform:scale(.7)rotate(-10deg);box-shadow:0 18px 50px #1f523824}.icon-card.active{opacity:1;transform:scale(1)rotate(0)}.icon-card.passed{opacity:0;transform:scale(1.15)rotate(8deg)}.icon-card svg{width:46%;height:46%;overflow:visible}.icon-stage .halo{z-index:-1;background:radial-gradient(circle,#eaf2ece6,#eaf2ec00 70%);border-radius:50%;position:absolute;inset:-14%}.journey-txt{min-height:11em;position:relative}.step-copy{opacity:0;transition:opacity .4s,transform .5s;position:absolute;inset:0;transform:translateY(26px)}.step-copy.active{opacity:1;transform:none}.step-copy.passed{opacity:0;transform:translateY(-26px)}.step-copy .count{color:var(--gold-text);letter-spacing:.25em;margin-bottom:6px;font-size:13px;font-weight:700;display:block}.step-copy h3{color:var(--green);margin:0 0 10px;font-size:clamp(22px,4.5vw,32px);line-height:1.5}.step-copy .desc{color:var(--ink);margin:0;font-size:15px}.journey-progress{background:#e7e0d2;border-radius:2px;width:min(60vw,320px);height:3px;position:absolute;bottom:26px;left:50%;overflow:hidden;transform:translate(-50%)}.journey-progress i{background:var(--gold);transform-origin:0;position:absolute;inset:0;transform:scaleX(0)}.scroll-cue{color:var(--gold-text);letter-spacing:.15em;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:2px;padding:8px 14px;font-family:inherit;font-size:11.5px;transition:opacity .4s,visibility;display:flex;position:absolute;bottom:44px;left:50%;transform:translate(-50%)}.scroll-cue:focus-visible{outline:2px solid var(--gold-text);outline-offset:3px;border-radius:10px}.scroll-cue .chev{font-size:16px;line-height:1;animation:1.5s ease-in-out infinite jn-cue-bob}@keyframes jn-cue-bob{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}.icon-card.active .a-badge{transform-origin:50%;animation:1.8s ease-in-out infinite jn-ping}@keyframes jn-ping{0%,15%{transform:scale(0)}40%{transform:scale(1.6)}55%,to{transform:scale(1)}}.icon-card.active .a-mailbody{transform-origin:50%;animation:1.8s ease-in-out infinite jn-mail-hop}@keyframes jn-mail-hop{0%,35%,to{transform:translateY(0)rotate(0)}45%{transform:translateY(-2.5px)rotate(-3deg)}58%{transform:translateY(0)rotate(2deg)}70%{transform:rotate(0)}}.icon-card.active .a-day{transform-origin:50%;animation:1.6s ease-in-out infinite jn-pop-day}@keyframes jn-pop-day{0%,25%{transform:scale(1)}45%{transform:scale(2.4)}65%,to{transform:scale(1)}}.icon-card.active .a-dot{transform-origin:50%;animation:1.1s ease-in-out infinite jn-typing}.icon-card.active .a-dot2{animation-delay:.18s}.icon-card.active .a-dot3{animation-delay:.36s}@keyframes jn-typing{0%,60%,to{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-1.8px)}}.icon-card.active .a-rays{transform-origin:50%;animation:3.5s linear infinite jn-spin}@keyframes jn-spin{to{transform:rotate(360deg)}}.icon-card.active .a-core{transform-origin:50%;animation:1.75s ease-in-out infinite jn-pulse}@keyframes jn-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.18)}}.icon-card.active .a-settle{transform-origin:50% 80%;animation:3.6s cubic-bezier(.22,.9,.3,1.05) infinite jn-settle}@keyframes jn-settle{0%,to{transform:translateY(0)scale(1)}38%{transform:translateY(-5px)scale(1.015)}58%{transform:translateY(0)scale(.995)}70%{transform:translateY(0)scale(1)}}.icon-card.active .a-check{stroke-dasharray:10;animation:2.2s ease-in-out infinite jn-draw-check}@keyframes jn-draw-check{0%,12%{stroke-dashoffset:10px}50%,82%{stroke-dashoffset:0}to{stroke-dashoffset:10px}}.icon-card.active .a-bar{transform-origin:33.3% 66.6%;animation:1.7s ease-in-out infinite jn-bar-grow}.icon-card.active .a-bar2{transform-origin:50% 66.6%;animation-delay:.15s}.icon-card.active .a-bar3{transform-origin:66.6% 66.6%;animation-delay:.3s}@keyframes jn-bar-grow{0%,to{transform:scaleY(1)}40%{transform:scaleY(.35)}}.icon-card.active .a-person{transform-origin:50% 85%;animation:2s ease-in-out infinite jn-nod}@keyframes jn-nod{0%,to{transform:rotate(0)}22%{transform:rotate(-8deg)translateY(2px)}44%{transform:rotate(1.5deg)}58%{transform:rotate(0)}}.trouble{background:var(--green-soft)}.trouble .card{box-shadow:none;border:1px solid #d9e6dc}.trouble .card p.q{color:var(--ink);margin-bottom:6px;font-size:15.5px;font-weight:600}.price-group{letter-spacing:.08em;color:var(--gold-text);margin:34px 0 12px;font-size:15px}#pricing .cards.c3{margin-bottom:6px}.plan{flex-direction:column;display:flex;position:relative}.plan .price{color:var(--green);margin:4px 0 2px;font-size:30px;font-weight:700}.plan .price small{color:var(--muted);font-size:14px;font-weight:500}.plan .limit{color:var(--gold-text);margin-bottom:12px;font-size:12.5px;font-weight:700}.plan ul{margin:0 0 8px;padding-left:19px;font-size:14px}.plan li{margin:4px 0}.plan li a{color:var(--green);-webkit-text-decoration-color:var(--gold);text-decoration-color:var(--gold);text-underline-offset:3px;font-weight:600}.price-notes{color:var(--muted);margin-top:22px;padding-left:0;font-size:12.5px;list-style:none}.price-notes li{margin:2px 0}.boundary{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);margin-top:26px;padding:20px 24px;font-size:14px}.boundary p{margin:0}.boundary .boundary-extra{margin-top:8px}.boundary strong{color:var(--green)}.steps{counter-reset:step;gap:18px;display:grid}@media (width>=720px){.steps{grid-template-columns:repeat(3,1fr)}}.step{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:26px 24px;position:relative}.step:before{counter-increment:step;content:counter(step);background:var(--green);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:15px;font-weight:700;display:flex;position:absolute;top:-16px;left:20px}.step h3{color:var(--green);margin:8px 0 6px;font-size:16px}.step p{margin:0;font-size:14px}.demos{background:linear-gradient(135deg,#f2ead7,#eaf2ec)}.demo-card{flex-direction:column;padding:0;display:flex;overflow:hidden}.demo-thumb{aspect-ratio:40/21;object-fit:cover;border-bottom:1px solid #e7e0d2;width:100%;height:auto;display:block}.demo-body{flex-direction:column;flex:1;align-items:flex-start;gap:8px;padding:20px 24px 24px;display:flex}.demo-body h3,.demo-body p{margin:0}.demo-label{color:var(--gold-text);letter-spacing:.08em;font-size:12px;font-weight:700}.demo-link{color:var(--green);border-bottom:2px solid #0000;margin-top:auto;padding-top:8px;font-size:14.5px;font-weight:700;text-decoration:none}.demo-link:hover,.demo-link:focus-visible{border-bottom-color:var(--gold)}.product-card,#demos .cards.c3{margin-top:18px}@media (width>=720px){.product-card{flex-direction:row}.product-card>.demo-thumb{aspect-ratio:auto;object-fit:cover;border-bottom:none;border-right:1px solid #e7e0d2;width:46%;height:auto}}.demo-body .demo-thumb{aspect-ratio:8/3;object-position:top;border:1px solid #e7e0d2;border-radius:12px;align-self:center;max-width:560px}.chat-mock{background:#fffdf8;border:1px solid #e7e0d2;border-radius:16px;flex-direction:column;gap:10px;max-width:420px;margin:14px auto;padding:18px;display:flex}.chat-msg{border-radius:16px;max-width:78%;padding:10px 14px;font-size:14px;line-height:1.7}.chat-msg.sent{background:var(--green-soft);border-bottom-right-radius:4px;align-self:flex-end;padding:6px}.chat-msg.sent img{border-radius:12px;max-width:100%;height:auto;display:block}.chat-msg.received{background:#f5efe1;border:1px solid #e7e0d2;border-bottom-left-radius:4px;align-self:flex-start}.demo-note{color:var(--muted);margin:8px 0 0;font-size:12px}.line-trademark-note{color:var(--muted);margin:18px 0 0;font-size:11.5px}details{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:12px;padding:0;overflow:hidden}summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:18px 22px;font-size:15px;font-weight:600;list-style:none;display:flex}summary::-webkit-details-marker{display:none}summary:hover,summary:focus-visible{background:var(--green-soft)}summary:after{content:"＋" / "";color:var(--gold-text);flex-shrink:0;font-weight:700}details[open] summary:after{content:"−" / ""}details .a{color:var(--ink);padding:0 22px 18px;font-size:14.5px}.about-card{background:var(--card);box-shadow:var(--shadow);border-radius:16px;align-items:center;gap:26px;padding:34px 28px;display:grid}@media (width>=720px){.about-card{grid-template-columns:auto 1fr}}.face{background:var(--green-soft);width:132px;height:132px;color:var(--muted);text-align:center;border:3px solid #d9e6dc;border-radius:50%;justify-content:center;align-items:center;margin:0 auto;font-size:12px;display:flex}img.face{object-fit:cover;display:block}.about-card h3{color:var(--green);margin:0 0 4px;font-size:18px}.about-card .role{color:var(--gold-text);letter-spacing:.1em;margin:0 0 10px;font-size:12.5px;font-weight:700}.about-card p{margin:0;font-size:14.5px}.contact{background:var(--green-soft)}.contact-line{text-align:center;margin:22px 0 6px}.contact-line-note{color:var(--muted);margin:10px 0 0;font-size:13px}.contact-or{text-align:center;color:var(--muted);margin:18px 0 10px;font-size:13px}form{background:var(--card);box-shadow:var(--shadow);border-radius:16px;padding:30px 26px}label{color:var(--green);margin:16px 0 6px;font-size:13.5px;font-weight:600;display:block}input,textarea{background:#fffdf8;border:1.5px solid #ddd5c4;border-radius:10px;width:100%;padding:12px 14px;font-family:inherit;font-size:15px}input:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);border-color:var(--gold)}#contact-turnstile-slot{justify-content:center;min-height:65px;margin:18px 0 0;display:flex}form .btn{margin:20px auto 0;display:block}#contact-status{text-align:center;color:var(--green);min-height:1.5em;margin:12px 0 0;font-size:14px;font-weight:600}.form-privacy-note{text-align:center;color:var(--muted);margin:14px 0 0;font-size:.82rem}form .form-privacy-note a{color:var(--muted);text-decoration:underline}#opening{z-index:100;background:var(--bg);cursor:pointer;transition:opacity .55s;display:none;position:fixed;inset:0}#opening.playing,html.op-hold #opening{display:block}#opening.closing{opacity:0;pointer-events:none}#opening .op-tile{background:var(--card);opacity:0;will-change:transform;border-radius:18px;justify-content:center;align-items:center;transition:transform 1s cubic-bezier(.22,.9,.3,1.02),opacity .5s;display:flex;position:absolute;box-shadow:0 8px 24px #2b2a261f}#opening .op-tile svg{width:46%;height:46%}#opening .op-tile.floating{animation:2.6s ease-in-out infinite op-float}#opening .op-tile.floating:nth-child(2n){animation-delay:.7s}#opening .op-tile.floating:nth-child(3n){animation-delay:1.4s}@keyframes op-float{0%,to{margin-top:0}50%{margin-top:-7px}}#opening .op-copy{color:var(--green);letter-spacing:.14em;white-space:nowrap;opacity:0;filter:blur(10px);z-index:2;pointer-events:none;font-size:clamp(22px,5vw,34px);font-weight:700;transition:opacity .8s,filter .8s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#opening .op-copy.show{opacity:1;filter:blur()}#opening .op-copy.out{opacity:0;filter:blur(6px);transition-duration:.45s}#opening .op-brand{color:var(--gold-text);letter-spacing:.3em;opacity:0;white-space:nowrap;font-size:14px;font-weight:700;transition:opacity .7s;position:absolute;left:50%;transform:translate(-50%)}#opening .op-brand.show{opacity:1}#opening .op-baseline{background:var(--gold);transform-origin:0;opacity:.8;border-radius:2px;height:3px;transition:transform .7s;position:absolute;transform:scaleX(0)}#opening .op-baseline.show{transform:scaleX(1)}#opening .op-skip{color:#8b8578;letter-spacing:.1em;font-size:11.5px;position:absolute;bottom:22px;left:50%;transform:translate(-50%)}@media (prefers-reduced-motion:reduce){#opening.playing,html.op-hold #opening{display:none}}.privacy{color:var(--muted);padding-top:48px;padding-bottom:40px;font-size:13px;line-height:1.9}.privacy h1{font-size:20px}.privacy h2{color:var(--green);margin:24px 0 6px;font-size:14px}.privacy h3{color:var(--green);margin:14px 0 4px;font-size:13px;font-weight:600}.privacy p{margin:0 0 8px}.privacy ul{margin:0 0 8px;padding-left:1.4em}footer{text-align:center;color:var(--muted);padding:56px 20px 40px;font-size:13px}.footer-brand{color:var(--green);margin:0 0 4px;font-size:15px;font-weight:700}.footer-tagline{margin:0}.footer-contact,.footer-privacy{margin:8px 0 0}footer .footer-contact a,footer .footer-privacy a{color:var(--muted);text-decoration:underline}
