@charset "utf-8";
/* Keep the navigation usable when JavaScript cannot load. */
html:not(.js-enabled) .menu-toggle{display:none}
.privacy-link{font-size:10px;color:var(--muted);text-decoration:underline;text-underline-offset:4px}
.footer-controls{flex-wrap:wrap}
@media(max-width:620px){html:not(.js-enabled) .site-header{flex-wrap:wrap;padding-block:16px;gap:8px 15px}html:not(.js-enabled) .site-header nav{display:flex;position:static;flex-basis:100%;flex-direction:row;justify-content:space-between;gap:16px;border:0;border-radius:0;box-shadow:none;padding:0;background:transparent}.footer-controls{justify-content:flex-end;row-gap:12px}}
:root{--paper:#f5f5eb;--ink:#20382b;--muted:#677165;--line:#d6ddcf;--lime:#d3f085;--orange:#f69b6c;--dark:#173629;--radius:24px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Noto Sans JP",Meiryo,sans-serif;line-height:1.8;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%}[hidden]{display:none!important}::selection{background:var(--lime);color:var(--ink)}a:focus-visible,button:focus-visible{outline:3px solid var(--ink);outline-offset:6px}.apps-section a:focus-visible,.apps-section button:focus-visible{outline-color:var(--lime)}.wrap{width:min(1240px,calc(100% - 112px));margin-inline:auto}.section-pad{padding-block:112px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.13em;line-height:1.6;margin:0 0 23px}h1,h2,h3,p{margin-top:0}h2{font-size:clamp(34px,3.35vw,49px);line-height:1.55;font-weight:650;letter-spacing:-.025em;margin-bottom:28px}p{font-size:14px}.skip-link{position:fixed;left:16px;top:-80px;background:var(--ink);color:var(--paper);padding:8px 16px;z-index:70}.skip-link:focus{top:12px}
.scroll-progress{height:3px;position:fixed;inset:0 0 auto;z-index:60;pointer-events:none}.scroll-progress span{height:100%;display:block;background:#9ecb5f;transform:scaleX(0);transform-origin:left}.header-shell{position:sticky;top:0;z-index:50;background:rgba(245,245,235,.9);backdrop-filter:blur(18px);transition:box-shadow .25s,background .25s}.header-shell.scrolled{box-shadow:0 1px 0 #20382b15;background:rgba(245,245,235,.97)}.site-header{min-height:96px;display:flex;align-items:center;justify-content:space-between;gap:28px;border-bottom:1px solid var(--line)}.wordmark{display:flex;gap:11px;align-items:center;font-size:21px;letter-spacing:-.055em;font-weight:800;white-space:nowrap}.wordmark-light{font-weight:450}.site-header nav{display:flex;align-items:center;gap:34px;font-size:12px;font-weight:650}.site-header nav a{padding-block:12px;position:relative}.site-header nav a:not(.nav-contact):after{content:"";position:absolute;bottom:5px;left:0;right:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s}.site-header nav a:hover:after{transform:scaleX(1)}.nav-contact{border-bottom:1px solid var(--ink)}.nav-contact span{margin-left:15px;font-size:18px}.menu-toggle{display:none}
.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:0 38px;padding-top:42px}.hero-copy{padding:40px 0 45px;align-self:center}.hero-copy .eyebrow{display:flex;align-items:center;gap:9px;font-size:10px}.status-dot{width:6px;height:6px;background:#6c963f;border-radius:50%}h1{font-size:clamp(48px,5.2vw,74px);line-height:1.47;letter-spacing:-.045em;font-weight:650;margin-bottom:27px;white-space:nowrap}.underlined{position:relative;isolation:isolate}.underlined:after{content:"";position:absolute;background:var(--lime);height:13px;bottom:7px;left:-2px;right:-2px;z-index:-1;transform:rotate(-1deg)}.hero-description{font-size:14px;line-height:2.05;color:var(--muted);margin:0 0 30px}.hero-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:31px;font-size:12px;font-weight:650;border-radius:100px;padding:16px 24px;min-height:54px;transition:transform .25s,background .25s}.button-dark{background:var(--ink);color:var(--paper)}.button-dark:hover{background:#37503c;transform:translateY(-3px)}.button span{font-size:21px;font-weight:400;line-height:1}.hero-count{display:flex;align-items:center;gap:8px;max-width:125px;font-size:8px;line-height:1.6;letter-spacing:.07em;color:var(--muted)}.hero-count strong{font-family:Arial,sans-serif;font-size:36px;line-height:1;font-weight:400;letter-spacing:-.065em;color:var(--ink)}
.showcase-background{position:absolute;inset:0;overflow:hidden;z-index:-1;pointer-events:none}.hero-showcase{position:relative;min-height:510px;align-self:center;isolation:isolate}.showcase-background:before{content:"";position:absolute;inset:35px -18px 25px 20px;border-radius:46% 54% 47% 53%;background:#e4edcf;z-index:-3;transform:rotate(-12deg)}.showcase-letter{position:absolute;left:70px;top:30px;font:700 430px/.9 Arial,sans-serif;color:#b2c698;opacity:.24;transform:rotate(-12deg);z-index:-2}.showcase-orbit{position:absolute;inset:20px -10px 12px 10px;border:1px solid #b8cba2;border-radius:50%;transform:rotate(-28deg);z-index:-1}.showcase-spark{position:absolute;top:27px;right:-5px;color:var(--orange);font:400 80px/1 Arial,sans-serif;transform:rotate(12deg)}.showcase-small-dot{position:absolute;left:28px;bottom:60px;width:17px;height:17px;border-radius:50%;background:var(--orange)}.showcase-label{position:absolute;left:17px;top:40px;font-size:9px;letter-spacing:.09em;font-weight:700;transform:rotate(-8deg)}.showcase-note{position:absolute;bottom:4px;left:65px;font-size:9px;letter-spacing:.13em;line-height:1.7;font-weight:650}.showcase-stage{position:absolute;inset:0;transform:translate3d(var(--pointer-x,0px),var(--pointer-y,0px),0);transition:transform .4s cubic-bezier(.2,.8,.2,1)}.feature-tile{position:absolute;display:block;padding:15px 15px 14px;border-radius:22px;background:#fcfdf7;border:1px solid #d7dfcd;box-shadow:0 20px 50px #263c2820,0 3px 7px #263c2808;transform:translateY(0) rotate(var(--rotation));will-change:transform;transition:box-shadow .3s}.feature-tile:hover{box-shadow:0 25px 55px #263c2830;animation-play-state:paused!important}.feature-tile img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:14px;box-shadow:0 1px 1px #0001}.feature-tile strong{display:block;font-size:13px;font-weight:650;line-height:1.5;margin-top:10px;overflow-wrap:anywhere}.feature-tile small{display:block;font-size:9px;color:var(--muted);margin-top:3px}.feature-tile:nth-child(1){width:203px;top:20px;right:45px;--rotation:8deg;z-index:2;--float-duration:6.8s;--float-delay:-1.5s}.feature-tile:nth-child(2){width:185px;top:174px;left:3px;--rotation:-10deg;z-index:3;--float-duration:7.8s;--float-delay:-3s}.feature-tile:nth-child(3){width:172px;bottom:5px;right:21px;--rotation:5deg;z-index:4;--float-duration:7.2s;--float-delay:-.8s}.motion-enabled .feature-tile{animation:tile-float var(--float-duration) ease-in-out var(--float-delay) infinite alternate}.motion-enabled .showcase-spark{animation:spark-turn 18s linear infinite}.page-hidden .feature-tile,.page-hidden .showcase-spark{animation-play-state:paused!important}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:20px 0 23px;margin-top:27px;font-size:9px;letter-spacing:.1em;color:var(--muted)}.hero-bottom a{display:flex;gap:20px;align-items:center;font-size:9px}.hero-bottom a span{font-size:20px;transition:transform .25s}.hero-bottom a:hover span{transform:translateY(4px)}
.apps-section{background:var(--dark);color:#f4f7ee;position:relative;overflow:hidden}.apps-section:before{content:"PLAY";position:absolute;top:22px;right:20px;font:700 clamp(110px,19vw,280px)/1 Arial,sans-serif;letter-spacing:-.07em;color:transparent;-webkit-text-stroke:1px #e0efce0a;pointer-events:none}.section-heading{position:relative;display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:45px}.section-heading .eyebrow{color:#c8deac;margin-bottom:19px}.section-heading h2{margin-bottom:0}.section-total{display:inline-block;border:1px solid #c8deac45;border-radius:30px;padding:3px 9px;font-size:8px;letter-spacing:.08em;margin-left:15px;vertical-align:1px}.section-intro{color:#bbccb9;font-size:13px;line-height:2;margin-bottom:7px}.app-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:27px 22px}.app-item{height:100%}.app-card{display:flex;flex-direction:column;min-width:0;height:100%;border:1px solid #dce8d426;border-radius:21px;background:#254333;overflow:hidden;transition:transform .3s,box-shadow .3s,border-color .3s}.app-card:hover{transform:translateY(-7px);border-color:#d3f08588;box-shadow:0 18px 35px #081b1530}.app-art{height:207px;position:relative;display:grid;place-items:center;overflow:hidden;background:var(--card-color,#d9e4cb)}.app-art:before{content:"";position:absolute;inset:0;background-image:radial-gradient(#20382b22 .7px,transparent .7px);background-size:13px 13px}.app-art:after{content:"";position:absolute;left:50%;top:50%;width:165px;height:165px;transform:translate(-50%,-50%);border-radius:50%;border:1px solid #20382b20}.app-number{position:absolute;left:20px;top:14px;font-size:10px;letter-spacing:.08em;color:#34473599}.app-icon{position:relative;z-index:1;width:123px;height:123px;object-fit:cover;border-radius:27px;box-shadow:0 13px 24px #263c2830;border:1px solid #fff4;transform:rotate(-3deg);transition:transform .45s cubic-bezier(.2,.75,.2,1)}.app-card:hover .app-icon{transform:translateY(-3px) rotate(2deg) scale(1.035)}.app-art-arrow{position:absolute;right:20px;bottom:12px;font-size:26px;font-weight:300;color:#34473570}.app-card-body{display:flex;flex-direction:column;flex:1;padding:25px 25px 22px}.app-category{font-size:10px;letter-spacing:.03em;color:#bfda9c;margin-bottom:10px}.app-card h3{font-size:20px;line-height:1.65;font-weight:600;letter-spacing:-.02em;margin-bottom:11px;overflow-wrap:anywhere}.app-card-description{font-size:13px;line-height:1.95;color:#c5d2c2;margin-bottom:23px}.store-link{display:flex;justify-content:space-between;align-items:center;margin-top:auto;border-top:1px solid #dce8d426;padding-top:15px;gap:15px;font-size:11px;font-weight:600}.store-link span:last-child{font-size:22px;font-weight:400;transition:transform .25s}.store-link:hover span:last-child{transform:translate(3px,-3px)}.catalog-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:29px}.catalog-note{font-size:11px;color:#a8bea6;margin:0}.catalog-bottom>a{font-size:11px;white-space:nowrap;color:#d5e6c5;border-bottom:1px solid #799e7f;padding-bottom:5px}.catalog-bottom>a span{margin-left:15px;font-size:16px}

.contact-section{background:var(--lime);padding-block:76px;position:relative;overflow:hidden}.contact-section:before{content:"";position:absolute;width:480px;height:480px;right:-170px;top:-110px;border:1px solid #7ca34040;border-radius:50%;pointer-events:none}.contact-inner{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.contact-inner .eyebrow{margin-bottom:15px}.contact-inner h2{font-size:32px;letter-spacing:-.025em;margin-bottom:17px;white-space:nowrap}.contact-inner p:not(.eyebrow){font-size:13px;color:#465e32;line-height:2;margin-bottom:0}.contact-link{position:relative;display:block;border-top:1px solid #87a552;border-bottom:1px solid #87a552;padding:25px 53px 25px 0;transition:padding .25s}.contact-link:hover{padding-left:8px}.contact-link>span:first-child{display:block;font-size:11px;margin-bottom:7px}.contact-link strong{font-family:Arial,sans-serif;font-size:clamp(14px,1.48vw,21px);font-weight:500;letter-spacing:-.025em;overflow-wrap:anywhere}.contact-arrow{position:absolute;right:0;top:50%;transform:translateY(-50%);display:grid;place-items:center;height:42px;width:42px;border:1px solid #87a552;border-radius:50%;font-size:23px;transition:background .2s,color .2s}.contact-link:hover .contact-arrow{background:var(--ink);color:var(--lime)}.site-footer{padding-block:48px 28px}.footer-brand{display:flex;justify-content:space-between;align-items:center;font-family:Arial,sans-serif;font-size:clamp(38px,8vw,115px);line-height:1.2;font-weight:650;letter-spacing:-.07em;padding-bottom:38px;border-bottom:1px solid var(--line)}.footer-brand>span{font-weight:400;font-size:.7em;transition:transform .3s}.footer-brand:hover>span{transform:translate(5px,-5px)}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-top:23px}.footer-bottom p{font-size:9px;color:var(--muted);margin:0}.footer-location{margin-left:10px;letter-spacing:.06em}.footer-controls{display:flex;gap:25px;align-items:center}.back-top,.motion-toggle{font-size:10px;color:var(--muted)}.back-top span{margin-left:15px}.motion-toggle{border:0;border-bottom:1px solid var(--line);padding:3px 0;background:none;cursor:pointer}
.reveal{opacity:1;transform:none}.motion-enabled .reveal:not(.is-visible){opacity:0;transform:translateY(22px)}.motion-enabled .reveal{transition:opacity .7s cubic-bezier(.2,.65,.2,1) var(--reveal-delay,0s),transform .7s cubic-bezier(.2,.65,.2,1) var(--reveal-delay,0s)}
@keyframes tile-float{from{transform:translateY(-7px) rotate(var(--rotation))}to{transform:translateY(7px) rotate(calc(var(--rotation) + 2deg))}}
@keyframes spark-turn{from{transform:rotate(12deg)}to{transform:rotate(372deg)}}
@media(max-width:1100px){.wrap{width:calc(100% - 72px)}.hero{gap:22px}h1{font-size:58px}.hero-actions{gap:16px}.hero-count{max-width:110px;font-size:7px}.hero-count strong{font-size:31px}.hero-showcase{min-height:490px}.feature-tile:nth-child(1){width:182px;right:25px}.feature-tile:nth-child(2){width:168px;left:-3px;top:170px}.feature-tile:nth-child(3){width:157px;right:5px;bottom:12px}.showcase-label{font-size:8px}.showcase-letter{left:25px;font-size:390px}.contact-inner{gap:35px}.contact-inner h2{font-size:27px}.app-card-body{padding:22px}.app-art{height:190px}.app-card h3{font-size:18px}.section-pad{padding-block:90px}}
@media(max-width:860px){.hero{grid-template-columns:1fr 1fr}.hero-copy{padding-top:20px}.hero .eyebrow{font-size:8px}h1{font-size:49px}.hero-description{font-size:13px}.hero-count{display:none}.hero-showcase{min-height:445px}.feature-tile:nth-child(1){width:157px;right:2px;top:20px}.feature-tile:nth-child(2){width:146px;left:-4px;top:150px}.feature-tile:nth-child(3){width:137px;right:-5px;bottom:25px}.feature-tile{padding:11px;border-radius:18px}.feature-tile strong{font-size:11px}.feature-tile small{font-size:8px}.feature-tile img{border-radius:12px}.showcase-label{top:22px;left:0;font-size:7px}.showcase-spark{right:-15px;font-size:60px;top:2px}.showcase-note{left:25px;bottom:0;font-size:7px}.showcase-letter{font-size:330px;left:10px;top:65px}.app-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-inner{grid-template-columns:1fr}.contact-link{max-width:550px}.contact-link strong{font-size:23px}.footer-location{display:none}.section-heading{gap:25px}.section-intro{font-size:12px}.header-shell .site-header nav{gap:24px}}
@media(max-width:620px){html{scroll-padding-top:96px}.wrap{width:calc(100% - 40px)}.site-header{min-height:78px;position:relative;gap:15px}.wordmark{font-size:18px;gap:9px}.wordmark img{width:29px;height:29px}.menu-toggle{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:transparent;cursor:pointer}.menu-toggle span{width:15px;height:1px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3px) rotate(-45deg)}.site-header nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:12px 22px;z-index:10;box-shadow:0 14px 25px #20382b0c}.site-header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:2px}.nav-contact{border-bottom:0}.site-header nav a:not(.nav-contact):after{display:none}.hero{display:block;padding-top:25px}.hero-copy{padding:17px 0 0}.hero .eyebrow{font-size:8px;letter-spacing:.1em;margin-bottom:19px}h1{font-size:clamp(46px,12.2vw,67px);line-height:1.43;letter-spacing:-.045em;margin-bottom:22px}.underlined:after{height:10px;bottom:5px}.hero-description{font-size:12px;line-height:2;margin-bottom:24px}.hero-actions{gap:20px}.button{min-height:50px;padding:14px 21px;font-size:11px;gap:24px}.hero-count{display:flex;max-width:112px;font-size:7px;gap:7px}.hero-count strong{font-size:30px}.hero-showcase{min-height:405px;max-width:390px;margin:14px auto 0}.showcase-background:before{inset:26px 4px 30px 5px}.showcase-orbit{inset:20px 3px 15px 0}.showcase-letter{font-size:330px;left:30px;top:40px}.showcase-label{top:31px;left:4px;font-size:8px}.showcase-spark{top:0;right:1px;font-size:58px}.feature-tile:nth-child(1){width:157px;top:8px;right:22px}.feature-tile:nth-child(2){width:145px;left:3px;top:148px}.feature-tile:nth-child(3){width:135px;right:11px;bottom:0}.feature-tile strong{font-size:11px;margin-top:9px}.feature-tile small{font-size:8px}.showcase-note{left:36px;bottom:1px;font-size:7px}.showcase-small-dot{left:7px;bottom:54px;width:12px;height:12px}.hero-bottom{margin-top:18px;padding:18px 0 20px;font-size:7px;letter-spacing:.025em;gap:12px}.hero-bottom a{font-size:7px;gap:10px}.hero-bottom a span{font-size:17px}.section-pad{padding-block:61px}h2{font-size:32px;margin-bottom:22px}.eyebrow{font-size:9px;letter-spacing:.1em;margin-bottom:18px}.section-heading{display:block;margin-bottom:30px}.section-intro{font-size:12px;margin:19px 0 0}.section-total{font-size:7px;padding:2px 7px;margin-left:8px}.app-grid{grid-template-columns:1fr;gap:22px}.app-art{height:202px}.app-icon{width:124px;height:124px}.app-card-body{padding:24px}.app-card h3{font-size:21px;line-height:1.6}.app-card-description{font-size:13px;line-height:1.95}.app-category{font-size:10px}.store-link{font-size:12px;padding-top:16px}.catalog-bottom{display:block;margin-top:25px}.catalog-note{font-size:10px;line-height:1.9;margin-bottom:16px}.catalog-bottom>a{display:inline-block;font-size:10px}.contact-section{padding-block:54px}.contact-inner{gap:30px}.contact-inner h2{font-size:27px;white-space:normal}.contact-inner p:not(.eyebrow){font-size:12px}.contact-link{padding-block:21px;padding-right:46px;min-width:0}.contact-link strong{font-size:clamp(14px,4.25vw,22px)}.contact-arrow{height:35px;width:35px;font-size:21px}.contact-link>span:first-child{font-size:10px}.site-footer{padding-block:35px 25px}.footer-brand{font-size:clamp(29px,8.65vw,53px);padding-bottom:26px}.footer-bottom{align-items:start;gap:20px;padding-top:20px}.footer-bottom p{font-size:8px;white-space:nowrap}.footer-controls{gap:9px;align-items:end;flex-direction:column}.back-top,.motion-toggle{font-size:9px}.back-top span{margin-left:8px}.desktop-break{display:none}}
@media(max-width:359px){.wrap{width:calc(100% - 32px)}.hero-actions{gap:13px}.hero-count{max-width:91px;font-size:6px}.hero-count strong{font-size:27px}.hero-showcase{min-height:380px}.feature-tile:nth-child(1){width:143px;right:11px}.feature-tile:nth-child(2){width:134px;left:1px;top:142px}.feature-tile:nth-child(3){width:124px;right:3px;bottom:5px}.showcase-label{font-size:7px}.hero-bottom{font-size:6px}.hero-bottom a{font-size:6px}.contact-link strong{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.showcase-stage{transform:none!important}.reveal{opacity:1!important;transform:none!important}}
