@font-face{font-family:General Sans;src:url(/fonts/GeneralSans-Variable.woff2)format("woff2");font-weight:300 700;font-style:normal;font-display:swap}:root{--paper:#f3f1ec;--paper-2:#eae6d9;--ink:#17140f;--ink-dim:#6b6558;--ink-faint:#a39c8a;--line:#dad5c8;--accent:#b23a22;--accent-2:#8f2e1a;--font-en:"General Sans", -apple-system, "Helvetica Neue", Arial, sans-serif;--font-jp:"Noto Sans JP", "Hiragino Sans", "Yu Gothic", sans-serif;--ease:cubic-bezier(.22, 1, .36, 1);--edge:clamp(1.5rem, 7vw, 6.5rem);--max:1280px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--paper);color:var(--ink);font-family:var(--font-jp);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.75;overflow-x:hidden}.lenis.lenis-smooth{scroll-behavior:auto}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}h1,h2,h3,p,dl{margin:0}::selection{background:var(--accent);color:var(--paper)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}html{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10'%3E%3Ccircle cx='5' cy='5' r='4' fill='%2317140f'/%3E%3C/svg%3E") 5 5,auto}a[data-cursor=pin],button[data-cursor=pin]{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='46' height='46'%3E%3Ccircle cx='23' cy='23' r='21' fill='%23f3f1ec' fill-opacity='0.92' stroke='%2317140f' stroke-width='1.5'/%3E%3C/svg%3E") 23 23,pointer}a[data-cursor=view]{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64'%3E%3Ccircle cx='32' cy='32' r='30' fill='%23f3f1ec' fill-opacity='0.92' stroke='%2317140f' stroke-width='1.5'/%3E%3C/svg%3E") 32 32,pointer}[data-cursor]{-webkit-user-select:none;user-select:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.wrap{max-width:var(--max);padding:0 var(--edge);margin:0 auto}.site-header{z-index:40;padding:1.4rem var(--edge);background:color-mix(in srgb, var(--paper) 88%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.brand{font-family:var(--font-en);letter-spacing:.02em;align-items:baseline;gap:.6rem;font-size:.92rem;font-weight:600;display:flex}.brand-mark{font-family:var(--font-jp);color:var(--accent);font-size:1.2rem;font-weight:700}.brand:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.site-nav{font-family:var(--font-en);color:var(--ink-dim);-webkit-user-select:none;user-select:none;align-items:center;gap:clamp(1rem,2.5vw,2rem);font-size:.85rem;display:flex}.site-nav a{padding-bottom:3px;position:relative}.site-nav a:after{content:"";background:var(--ink);transform-origin:100%;width:100%;height:1px;transition:transform .32s var(--ease);position:absolute;bottom:0;left:0;transform:scaleX(0)}.site-nav a:hover{color:var(--ink)}.site-nav a:hover:after{transform-origin:0;transform:scaleX(1)}.site-nav a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.social-links{align-items:center;gap:.9rem;display:flex}.social-links a{color:var(--ink-dim);transition:color .25s var(--ease);display:flex}.social-links a:hover{color:var(--ink)}.social-links a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.social-links svg{width:16px;height:16px}.lang-toggle{appearance:none;font-family:var(--font-en);letter-spacing:.04em;border:1px solid var(--line);color:var(--ink-dim);cursor:pointer;transition:border-color .25s var(--ease), color .25s var(--ease);background:0 0;padding:.3rem .65rem;font-size:.78rem}.lang-toggle:hover{border-color:var(--ink);color:var(--ink)}.lang-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hero{min-height:100dvh;padding:clamp(2.5rem, 8vh, 5rem) var(--edge);max-width:var(--max);flex-direction:column;justify-content:center;margin:0 auto;display:flex;position:relative;overflow:hidden}.hero-3d{z-index:0;pointer-events:none;position:absolute;inset:0 0 0 58%}.hero-3d canvas{width:100%;height:100%;display:block}.hero-copy{z-index:1;max-width:min(38rem,52%);position:relative}.hero h1{font-family:var(--font-jp);letter-spacing:-.01em;opacity:0;font-size:clamp(2rem,4.6vw,3.6rem);font-weight:700;line-height:1.4}.hero h1.is-ready{opacity:1}.hero h1 .word{white-space:nowrap;display:inline-block}.hero h1 .char{vertical-align:bottom;display:inline-block;overflow:hidden}.hero h1 .char-inner{display:inline-block;transform:translateY(110%)}.hero p{color:var(--ink-dim);max-width:32em;margin-top:1.4rem;font-size:clamp(1rem,1.3vw,1.15rem)}.hero-scroll-cue{z-index:1;font-family:var(--font-en);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim);align-items:center;gap:.6rem;margin-top:clamp(2.5rem,8vh,4rem);font-size:.72rem;display:flex;position:relative}.hero-scroll-cue:before{content:"";background:var(--ink-faint);width:22px;height:1px}section{border-top:1px solid var(--line);padding-top:clamp(3rem,7vw,5rem);padding-bottom:clamp(3rem,7vw,5rem)}.section-label{font-family:var(--font-en);letter-spacing:.1em;color:var(--ink-dim);margin-bottom:clamp(2rem,5vw,3rem);font-size:.78rem;font-weight:600;display:block}.work-head{justify-content:space-between;align-items:baseline;margin-bottom:clamp(2rem,5vw,3rem);display:flex}.work-head .section-label{margin-bottom:0}.work-count{font-family:var(--font-en);color:var(--ink-dim);font-variant-numeric:tabular-nums;font-size:.78rem}.work-list{grid-template-columns:1fr 1fr;gap:clamp(1.5rem,3vw,2.5rem);display:grid}.work-item{cursor:pointer}.badge{font-family:var(--font-en);letter-spacing:.04em;color:var(--paper);margin-bottom:.6rem;padding:.3rem .6rem;font-size:.68rem;display:inline-block}.badge-indigo{background:#3b3696}.badge-clay{background:#a8674b}.badge-forest{background:#3b5d42}.work-thumb{border:1px solid var(--line);aspect-ratio:3/2;background:var(--paper-2);position:relative;overflow:hidden}.work-thumb img{object-fit:cover;width:100%;height:100%;transition:transform .9s var(--ease);transform:scale(1.08)}.work-item:hover .work-thumb img{transform:scale(1)}.work-meta{margin-top:1rem}.work-meta h3{font-family:var(--font-jp);transition:color .25s var(--ease);font-size:1.1rem;font-weight:700}.work-item:hover .work-meta h3{color:var(--accent)}.work-item:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.work-item:focus-visible .work-thumb img{transform:scale(1)}.work-item:focus-visible .work-meta h3{color:var(--accent)}.work-meta h3 .en{font-family:var(--font-en);color:var(--ink-dim);margin-left:.5rem;font-size:.82em;font-weight:500}.work-meta p{color:var(--ink-dim);margin-top:.35rem;font-size:.9rem}.why{border-top:none;padding-top:0}.why-list{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:clamp(1.5rem,3vw,2.5rem);padding-top:clamp(1.5rem,3vw,2rem);display:grid}.why-t{font-family:var(--font-jp);margin:0 0 .6rem;font-size:1.05rem;font-weight:700}.why-d{color:var(--ink-dim);margin:0;font-size:.9rem}.transform-intro{color:var(--ink-dim);max-width:30em;margin:-1rem 0 2rem;font-size:1rem}.ba-slider{max-width:62rem}.ba-frame{aspect-ratio:1400/875;border:1px solid var(--line);cursor:ew-resize;-webkit-user-select:none;user-select:none;--pos:50;position:relative;overflow:hidden}.ba-frame:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.ba-img{object-fit:cover;pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.ba-before{clip-path:inset(0 calc(100% - var(--pos) * 1%) 0 0)}.ba-tag{font-family:var(--font-en);letter-spacing:.1em;color:var(--paper);pointer-events:none;background:#17140fb8;padding:.35rem .6rem;font-size:.68rem;position:absolute;top:1rem}.ba-tag-before{left:1rem}.ba-tag-after{right:1rem}.ba-handle{top:0;bottom:0;left:calc(var(--pos) * 1%);background:var(--accent);pointer-events:none;width:2px;position:absolute;transform:translate(-1px)}.ba-handle-grip{background:var(--paper);border:1px solid var(--accent);width:2.75rem;height:2.75rem;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;font-size:1rem;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ba-caption{color:var(--ink-dim);margin-top:1rem;font-size:.8rem}.process-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.process-list li{border-bottom:1px solid var(--line);grid-template-columns:3rem 12rem 1fr;align-items:baseline;gap:1.5rem;padding:1.4rem 0;display:grid}.process-num{font-family:var(--font-en);color:var(--accent);font-size:.85rem}.process-t{font-family:var(--font-jp);margin:0;font-size:1.05rem;font-weight:700}.process-d{color:var(--ink-dim);margin:0;font-size:.9rem}.pricing-head{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:clamp(2rem,5vw,3rem);display:flex}.pricing-head .section-label{margin-bottom:0}.currency-switch{gap:.4rem;display:inline-flex}.currency-switch button{appearance:none;font-family:var(--font-en);letter-spacing:.04em;border:1px solid var(--line);color:var(--ink-dim);cursor:pointer;transition:border-color .25s var(--ease), color .25s var(--ease), background .25s var(--ease);background:0 0;padding:.25rem .55rem;font-size:.72rem}.currency-switch button:hover{border-color:var(--ink);color:var(--ink)}.currency-switch button.is-active{background:var(--ink);border-color:var(--ink);color:var(--paper)}.currency-switch button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pricing-intro{color:var(--ink-dim);max-width:34em;margin:-1rem 0 2rem;font-size:1rem}.pricing-rows{border-top:1px solid var(--line)}.pricing-row{appearance:none;text-align:left;width:100%;font:inherit;color:inherit;border:none;border-bottom:1px solid var(--line);transition:transform .3s var(--ease), color .25s var(--ease);background:0 0;border-radius:0;grid-template-columns:9rem 8rem 1fr 1.5rem;align-items:center;gap:1rem;padding:1.3rem 0;display:grid;transform:translate(0)}.pricing-row:hover{color:var(--accent);transform:translate(.9rem)}.pricing-row:focus-visible{color:var(--accent);outline:2px solid var(--accent);outline-offset:-4px;transform:translate(.9rem)}.pricing-row .tier{font-family:var(--font-jp);font-size:1.05rem;font-weight:700}.tier-badge{font-family:var(--font-en);letter-spacing:.05em;color:var(--accent);border:1px solid var(--accent);width:fit-content;margin-top:.35rem;padding:.1rem .4rem;font-size:.6rem;display:block}.pricing-row .price{font-family:var(--font-en);font-variant-numeric:tabular-nums;color:var(--ink-dim)}.pricing-row:hover .price,.pricing-row:focus-visible .price{color:var(--accent)}.pricing-row .desc{flex-direction:column;gap:.25rem;display:flex}.pricing-row .desc-main{color:var(--ink-dim);font-size:.88rem}.pricing-row .desc-for{color:var(--ink-dim);font-size:.8rem}.pricing-row:hover .desc-for,.pricing-row:focus-visible .desc-for{color:var(--accent);opacity:.75}.pricing-row .arrow{opacity:0;transition:opacity .25s var(--ease), transform .25s var(--ease);justify-self:end;transform:translate(-6px)}.pricing-row:hover .arrow,.pricing-row:focus-visible .arrow{opacity:1;transform:translate(0)}.pricing-note{color:var(--ink-dim);margin-top:1.5rem;font-size:.82rem;line-height:1.9}.pricing-modal{background:var(--paper);width:min(640px,92vw);max-height:86vh;color:var(--ink);opacity:0;transition:opacity .22s var(--ease), transform .22s var(--ease), overlay .22s allow-discrete, display .22s allow-discrete;border:none;padding:0;transform:translateY(12px)scale(.98);box-shadow:0 24px 60px #17140f38}.pricing-modal[open]{opacity:1;transform:translateY(0)scale(1)}@starting-style{.pricing-modal[open]{opacity:0;transform:translateY(12px)scale(.98)}}.pricing-modal::backdrop{transition:background .22s var(--ease), overlay .22s allow-discrete, display .22s allow-discrete;background:#17140f00}.pricing-modal[open]::backdrop{background:#17140f8c}@starting-style{.pricing-modal[open]::backdrop{background:#17140f00}}.pricing-modal-close{appearance:none;border:1px solid var(--line);width:2rem;height:2rem;color:var(--ink-dim);cursor:pointer;transition:border-color .25s var(--ease), color .25s var(--ease);background:0 0;font-size:1.1rem;line-height:1;position:absolute;top:1rem;right:1rem}.pricing-modal-close:hover{border-color:var(--ink);color:var(--ink)}.pricing-modal-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pricing-modal-tabs{border-bottom:1px solid var(--line);padding:0 1.75rem;display:flex}.pricing-modal-tabs button{appearance:none;font-family:var(--font-jp);color:var(--ink-dim);cursor:pointer;transition:color .25s var(--ease), border-color .25s var(--ease);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:1.1rem .9rem;font-size:.92rem;font-weight:700}.pricing-modal-tabs button:hover{color:var(--ink)}.pricing-modal-tabs button.is-active{color:var(--ink);border-bottom-color:var(--accent)}.pricing-modal-tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pricing-modal-body{max-height:calc(86vh - 3.6rem);padding:1.75rem;overflow-y:auto}.pricing-modal-head{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1.4rem;display:flex}.pricing-modal-head h3{font-family:var(--font-jp);font-size:1.3rem;font-weight:700}.pricing-modal-head .price{font-family:var(--font-en);font-variant-numeric:tabular-nums;color:var(--accent);font-size:1.1rem}.pricing-modal-table{border-top:1px solid var(--line)}.pricing-modal-table>div{border-bottom:1px solid var(--line);grid-template-columns:6.5rem 1fr;gap:1rem;padding:.8rem 0;font-size:.88rem;display:grid}.pricing-modal-table dt{color:var(--ink-dim)}.pricing-modal-table dd{margin:0;line-height:1.6}.pricing-modal-body h4{font-family:var(--font-en);letter-spacing:.08em;color:var(--ink-dim);margin-top:1.6rem;margin-bottom:.7rem;font-size:.72rem;font-weight:600}.pricing-modal-excluded{color:var(--ink-dim);flex-direction:column;gap:.5rem;font-size:.88rem;list-style:none;display:flex}.pricing-modal-excluded li{padding-left:1.1em;position:relative}.pricing-modal-excluded li:before{content:"−";color:var(--ink-faint);position:absolute;left:0}.pricing-modal-compare{color:var(--ink-dim);max-width:34em;font-size:.88rem;line-height:1.7}.pricing-modal-cta{border-top:1px solid var(--line);text-align:center;padding:1.75rem}.pricing-modal-cta p:first-child{font-family:var(--font-jp);margin-bottom:1rem;font-size:1.05rem;font-weight:700}.pricing-modal-cta .contact-cta{margin-top:0}.pricing-modal-cta .contact-risk{margin-top:.9rem}@media (width<=640px){.pricing-modal{width:100vw;max-width:100vw;height:100%;max-height:100%;transform:translateY(24px)}.pricing-modal[open]{transform:translateY(0)}@starting-style{.pricing-modal[open]{transform:translateY(24px)}}.pricing-modal-body{max-height:none}.pricing-modal-table>div{grid-template-columns:1fr;gap:.3rem}}.faq-list{border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-item summary{cursor:pointer;font-family:var(--font-jp);transition:color .25s var(--ease);justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 0;font-size:1rem;font-weight:700;list-style:none;display:flex}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";font-family:var(--font-en);color:var(--ink-dim);transition:transform .25s var(--ease);flex-shrink:0;font-size:1.3rem;font-weight:400}.faq-item[open] summary:after{transform:rotate(45deg)}.faq-item summary:hover{color:var(--accent)}.faq-item summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.faq-item p{max-width:38em;color:var(--ink-dim);margin:-.4rem 0 1.2rem;font-size:.92rem}.testimonials-body{max-width:40em;color:var(--ink-dim);font-size:1rem}.about-body{max-width:40em;font-size:1rem}.about-body p{margin-bottom:1.1rem}.profile-table{border-top:1px solid var(--line);max-width:34rem;margin-top:clamp(2rem,5vw,3rem)}.profile-table>div{border-bottom:1px solid var(--line);grid-template-columns:7rem 1fr;gap:1rem;padding:.9rem 0;font-size:.9rem;display:grid}.profile-table dt{color:var(--ink-dim)}.profile-table dd{font-family:var(--font-en);margin:0}.contact h2{font-family:var(--font-jp);max-width:16em;font-size:clamp(1.8rem,4.4vw,2.8rem);font-weight:700}.contact-sub{color:var(--ink-dim);margin-top:.8rem;font-size:.98rem}.contact-cta{background:var(--ink);color:var(--paper);font-family:var(--font-en);transition:background .28s var(--ease), transform .28s var(--ease);margin-top:1.6rem;padding:1rem 1.8rem;font-size:1rem;display:inline-block}.contact-cta:hover{background:var(--accent);transform:translateY(-2px)}.contact-cta:focus-visible{background:var(--accent);outline:2px solid var(--paper);outline-offset:3px;transform:translateY(-2px)}.contact-risk{color:var(--ink-dim);margin-top:.9rem;font-size:.82rem}.contact-capacity{color:var(--ink-faint);margin-top:.4rem;font-size:.82rem}.social-links-contact{margin-top:1.4rem}.site-footer{padding:1.5rem var(--edge);font-family:var(--font-en);color:var(--ink-dim);border-top:1px solid var(--line);justify-content:space-between;font-size:.75rem;display:flex}#jst-clock{font-variant-numeric:tabular-nums}[data-reveal]{opacity:0;transform:translateY(20px)}[data-reveal].is-visible{opacity:1;transition:opacity .8s var(--ease), transform .8s var(--ease);transform:translateY(0)}@media (width<=780px){.site-header{flex-wrap:wrap;row-gap:.9rem}.site-nav{order:3;justify-content:space-between;gap:.5rem;width:100%;font-size:.72rem}.site-nav a{white-space:nowrap}.work-list{grid-template-columns:1fr}.why-list{grid-template-columns:1fr;gap:1.5rem}.process-list li{grid-template-columns:1fr;gap:.4rem}.ba-handle-grip{width:2.3rem;height:2.3rem;font-size:.85rem}.ba-tag{padding:.28rem .5rem;font-size:.6rem}.pricing-row{grid-template-columns:1fr auto;grid-template-areas:"tier price""desc desc";row-gap:.3rem}.pricing-row .tier{grid-area:tier}.pricing-row .price{grid-area:price;justify-self:end}.pricing-row .desc{grid-area:desc}.pricing-row .arrow{display:none}.profile-table>div{grid-template-columns:5.5rem 1fr}}
