@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;700;900&family=Zen+Kaku+Gothic+New:wght@400;700;900&display=swap";:root{--primary-color:#76e542;--bg-dark:#191919;--bg-white:#fff;--bg-alt:#f0f4f4;--accent-red:#e60012;--text-main:#191919;--text-white:#fff;--font-heading:"Inter", "Zen Kaku Gothic New", sans-serif;--font-body:"Zen Kaku Gothic New", sans-serif;--transition-smooth:all .6s cubic-bezier(.16, 1, .3, 1);--cursor-size:10px;--cursor-follower-size:40px}*{box-sizing:border-box;margin:0;padding:0;cursor:none!important}html.lenis,html.lenis body{height:auto}html{width:100vw;max-width:100%;overflow-x:hidden}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}.lenis.lenis-smooth iframe{pointer-events:none}body{font-family:var(--font-body);background-color:var(--bg-white);color:var(--text-main);background-image:linear-gradient(#1919190d 1px,#0000 1px),linear-gradient(90deg,#1919190d 1px,#0000 1px);background-position:top;background-size:40px 40px;line-height:1.8;overflow-x:hidden}.no-js *{cursor:auto!important}a,button{color:inherit;text-decoration:none}ul{list-style:none}img{max-width:100%;height:auto;display:block}.cursor{width:var(--cursor-size);height:var(--cursor-size);background-color:var(--accent-red);pointer-events:none;z-index:99999;border-radius:50%;transition:opacity .3s,transform .3s cubic-bezier(.16,1,.3,1);position:fixed;top:0;left:0;transform:translate(-50%,-50%)scale(1)}.cursor.is-hover{transform:translate(-50%,-50%)scale(0)}.cursor-follower{width:var(--cursor-follower-size);height:var(--cursor-follower-size);pointer-events:none;z-index:99998;box-sizing:border-box;border:1px solid #19191966;border-radius:50%;transition:width .3s,height .3s,background-color .3s,border-color .3s;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}.cursor-follower.is-hover{border-color:var(--primary-color);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#76e5421a;width:60px;height:60px}.loading-screen{z-index:99997;pointer-events:none;width:100%;height:100vh;display:flex;position:fixed;top:0;left:0}.shutter-panel{background-color:var(--bg-dark);transform-origin:top;flex:1;height:100%}.shutter-panel:nth-child(2){background-color:var(--primary-color);transform-origin:bottom}.loading-logo-wrap{z-index:99998;width:150px;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.loading-logo{filter:invert();width:100%;transform:translateY(100%)}body.is-loading{overflow:hidden}.outline-bg-text{font-family:var(--font-heading);-webkit-text-stroke:2px #1919190d;color:#0000;white-space:nowrap;pointer-events:none;z-index:1;text-transform:uppercase;-webkit-user-select:none;user-select:none;font-size:clamp(4rem,10vw,20rem);font-weight:900;line-height:1;position:absolute;top:10%;left:-5%}.marquee-band{background-color:var(--primary-color);width:100vw;color:var(--bg-dark);white-space:nowrap;border-top:2px solid var(--bg-dark);border-bottom:2px solid var(--bg-dark);z-index:5;margin:-1px 0;padding:20px 0;display:flex;position:relative;overflow:hidden;transform:rotate(-2deg)scale(1.1)}.marquee-content{font-family:var(--font-heading);text-transform:uppercase;gap:50px;font-size:2rem;font-weight:900;animation:20s linear infinite marqueeScroll;display:flex}.marquee-content span{align-items:center;gap:50px;display:flex}.marquee-content span:after{content:"✦";font-size:1.5rem}@keyframes marqueeScroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.js-fade-up{opacity:0;transform:translateY(50px)}.line{margin-bottom:-.2em;padding-bottom:.2em;overflow:hidden}.word,.char{display:inline-block}.container{max-width:1400px;margin:0 auto;padding:0 40px}@media (width<=768px){.container{padding:0 20px}.cursor,.cursor-follower{display:none}body,a,button{cursor:auto}}h1,h2,h3{font-family:var(--font-heading);letter-spacing:-.04em;font-weight:900;line-height:1.2}.massive-text{text-transform:uppercase;letter-spacing:-.08em;font-feature-settings:"palt";margin:20px 0;font-size:clamp(4rem,8vw,7rem);display:inline-block;position:relative}.massive-text:before{content:"";pointer-events:none;z-index:-1;mix-blend-mode:screen;opacity:.9;background-image:url(/assets/hero_brush-CJNR6hDU.png);background-position:50%;background-repeat:no-repeat;background-size:contain;width:140%;height:480px;position:absolute;top:50%;left:-22%;transform:translateY(-50%)rotate(-1deg)}.massive-heading{margin-bottom:60px;font-size:clamp(3rem,6vw,5rem)}.sub-heading{letter-spacing:.1em;color:var(--bg-dark);font-size:clamp(1rem,2vw,1.25rem);font-weight:900}header{z-index:1000;width:100%;transition:var(--transition-smooth);padding:30px 0;position:fixed;top:0;left:0}header.scrolled{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#fffffff2;padding:15px 0;box-shadow:0 5px 20px #0000000d}header .container{justify-content:space-between;align-items:center;display:flex}.logo{height:40px;overflow:hidden}.logo img{height:100%}.nav-links{align-items:center;gap:40px;display:flex}@media (width<=1024px){.nav-links{display:none}}.nav-link{text-align:center;font-size:.85rem;font-weight:700;line-height:1.4;position:relative}.nav-link:after{content:"";background-color:var(--primary-color);width:0%;height:2px;transition:width .3s;position:absolute;bottom:-5px;left:0}.nav-link:hover:after{width:100%}.nav-link span{opacity:.6;font-size:.65rem;font-weight:400;display:block}.btn-pill{transition:var(--transition-smooth);border:none;border-radius:999px;align-items:center;gap:15px;padding:14px 36px;font-size:.9rem;font-weight:700;display:inline-flex;position:relative;overflow:hidden}.btn-black{background-color:var(--bg-dark);color:var(--text-white)}.btn-red{background-color:var(--accent-red);color:var(--text-white)}.btn-pill:before{content:"";background:#ffffff1a;width:100%;height:100%;transition:transform .4s;position:absolute;top:0;left:0;transform:translate(-100%)}.btn-pill:hover:before{transform:translate(0)}.btn-pill .arrow{width:24px;height:24px;transition:var(--transition-smooth);border:1px solid #ffffff80;border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative}.btn-pill:hover .arrow{border-color:#fff;transform:translate(5px)}.btn-pill .arrow:after{content:"→";font-size:10px}section{padding:160px 0}.hero{background-color:var(--primary-color);align-items:center;min-height:100vh;padding:0;display:flex;position:relative;overflow:hidden}.hero-content{z-index:20;width:100%;padding-top:40px;position:relative}.hero-text-area{z-index:15;padding-left:0;position:relative}.hero-desc{max-width:500px;margin-top:40px;font-size:1.1rem;font-weight:700}.hero-watermark{opacity:.05;z-index:1;pointer-events:none;width:50%;position:absolute;top:50%;left:10%}.scroll-indicator{writing-mode:vertical-rl;letter-spacing:.3em;z-index:20;align-items:center;gap:30px;font-size:.9rem;font-weight:900;display:flex;position:absolute;bottom:80px;right:60px}.scroll-indicator:after{content:"";background-color:var(--bg-dark);transform-origin:top;width:1px;height:80px;animation:2s cubic-bezier(.16,1,.3,1) infinite scrollLine}@keyframes scrollLine{0%{transform-origin:top;transform:scaleY(0)}50%{transform-origin:top;transform:scaleY(1)}50.1%{transform-origin:bottom;transform:scaleY(1)}to{transform-origin:bottom;transform:scaleY(0)}}.home-image-box{z-index:5;width:45%;position:absolute;top:60%;right:5%}.image-inner{overflow:visible}.image-inner img{object-fit:contain;filter:drop-shadow(0 20px 40px #00000040);width:100%;height:auto}.home-image-text{background-color:var(--bg-white);z-index:20;white-space:nowrap;padding:15px 30px;font-size:1.25rem;font-weight:900;position:absolute;top:-40px;right:0}@media (width<=1024px){.hero{flex-direction:column;padding-top:160px}.hero-text-area{padding-left:0}.home-image-box{width:90%;margin:80px auto;position:relative;top:auto;right:auto}.home-image-text{padding:20px 30px;font-size:1.4rem;bottom:-30px;right:0}}.services-wrapper{color:var(--bg-dark);padding-bottom:20px}.section-header{margin-bottom:20px}.services-grid{grid-template-columns:repeat(3,1fr);gap:30px;display:grid}.service-card{display:block}.service-img-wrap{aspect-ratio:21/9;border-radius:4px;margin-bottom:15px;overflow:hidden}.service-img{object-fit:cover;width:100%;height:100%;transition:transform .8s cubic-bezier(.16,1,.3,1)}.service-card:hover .service-img{transform:scale(1.05)}.service-title{margin-bottom:15px;font-size:1.8rem}.service-desc{opacity:.8;margin-bottom:25px;font-size:1rem}.service-link{border-bottom:2px solid var(--primary-color);transition:var(--transition-smooth);padding-bottom:5px;font-size:.9rem;font-weight:900;display:inline-block}.service-card:hover .service-link{color:var(--primary-color);border-color:var(--bg-dark)}.service-row{border-bottom:1px solid #1919191a;align-items:center;gap:80px;padding:120px 0;display:flex}.service-row:last-child{border-bottom:none}.service-row.row-reverse{flex-direction:row-reverse}.service-info{flex:1}.service-num{font-family:var(--font-heading);color:#0000;-webkit-text-stroke:2px var(--bg-dark);margin-bottom:20px;font-size:4rem;font-weight:900;line-height:1}.service-info h2{margin-bottom:40px;font-size:2.5rem}.service-info p{opacity:.9;margin-bottom:25px;font-size:1.05rem;line-height:2}.service-visual{box-shadow:20px 20px 0 var(--bg-dark);border-radius:8px;flex:1;overflow:hidden}.service-visual img{aspect-ratio:3/4;object-fit:cover;width:100%;display:block}.service-detail-block{border-left:4px solid var(--primary-color);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#ffffff08;border-radius:12px;margin-top:30px;padding:30px;position:relative;overflow:hidden}.service-detail-block:before{content:"";pointer-events:none;background:linear-gradient(135deg,#ffffff0d 0%,#0000 100%);width:100%;height:100%;position:absolute;top:0;left:0}.service-detail-block h3{color:var(--primary-color);margin-bottom:15px;font-size:1.3rem}.dark-section{color:var(--text-white);width:100%;padding-top:60px;background-color:var(--bg-dark)!important}.dark-section .service-row{border-bottom:1px solid #ffffff1a;position:relative;background-color:#0000!important}.dark-section p{color:#ffffffd9}.bg-num{font-size:clamp(15rem,25vw,35rem);font-family:var(--font-heading);color:#0000;-webkit-text-stroke:1px #ffffff0d;z-index:0;pointer-events:none;font-weight:900;line-height:1;position:absolute;top:10%;right:5%}.service-info{z-index:1;flex:1}.service-visual{box-shadow:20px 20px 0 var(--primary-color);z-index:1;border-radius:8px;flex:1;overflow:hidden}@media (width<=1024px){.services-grid{grid-template-columns:1fr;gap:80px}.service-img-wrap{aspect-ratio:16/9}.service-row,.service-row.row-reverse{flex-direction:column;gap:50px;padding:80px 0}.service-info{width:100%}.service-visual img{aspect-ratio:16/9}.service-visual{width:100%;box-shadow:10px 10px 0 var(--bg-dark)}}footer{background-color:var(--bg-dark);color:var(--text-white);z-index:10;padding:120px 0 60px;position:relative}footer .container{grid-template-columns:2fr 1fr 1fr 1fr;gap:60px;display:grid}@media (width<=768px){footer .container{grid-template-columns:1fr}}.footer-logo{filter:invert();height:35px;margin-bottom:30px}.footer-desc{opacity:.6;font-size:.9rem;line-height:1.8}.footer-links h4{letter-spacing:.1em;margin-bottom:30px;font-size:1.1rem}.footer-links li{margin-bottom:15px}.footer-links a{opacity:.7;font-size:.95rem;transition:opacity .3s}.footer-links a:hover{opacity:1;color:var(--primary-color)}.copyright{text-align:center;opacity:.4;margin-top:100px;font-size:.8rem}.social-links{align-items:center;gap:15px;margin-left:20px;display:flex}.social-icon{width:44px;height:44px;transition:var(--transition-smooth);background-color:var(--bg-white);border:1px solid #1919191a;border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative}.social-icon:hover{background-color:var(--primary-color);border-color:var(--bg-dark)}.social-icon svg{width:20px;height:20px;fill:var(--bg-dark)}.tooltip{background:var(--bg-dark);color:var(--text-white);white-space:nowrap;opacity:0;pointer-events:none;transition:var(--transition-smooth);z-index:100;border-radius:4px;padding:6px 12px;font-size:.7rem;font-weight:700;position:absolute;bottom:120%;left:50%;transform:translate(-50%)translateY(10px)}.tooltip:after{content:"";border-style:solid;border-width:5px;border-color:var(--bg-dark) transparent transparent transparent;margin-left:-5px;position:absolute;top:100%;left:50%}.social-icon:hover .tooltip{opacity:1;transform:translate(-50%)translateY(0)}.x-feed-section{background-color:#76e5420d;border-top:1px solid #1919190d;border-bottom:1px solid #1919190d;padding:120px 0;position:relative}.x-feed-container{border:4px solid var(--bg-dark);background:var(--bg-white);z-index:10;max-width:600px;min-height:400px;box-shadow:15px 15px 0 var(--bg-dark);border-radius:8px;margin:0 auto;padding:2px;position:relative;overflow:hidden}.x-feed-title{text-align:center;margin-bottom:60px}@media (width<=1024px){.social-links{justify-content:center;margin-top:20px;margin-left:0}}.contact-form-wrap{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:left;background:#19191966;border:1px solid #ffffff1a;border-radius:12px;width:100%;max-width:800px;margin:0 auto;padding:40px}.form-group{margin-bottom:25px}.form-group label{opacity:1;color:#fff;margin-bottom:8px;font-size:.95rem;font-weight:500;display:block}.form-group input,.form-group textarea{box-sizing:border-box;background:#ffffff1a;border:1px solid #ffffff4d;border-radius:8px;width:100%;padding:18px;font-family:inherit;font-size:1rem;transition:border-color .3s,box-shadow .3s;color:#fff!important}.form-group input::placeholder,.form-group textarea::placeholder{color:#ffffff80}.form-group input:focus,.form-group textarea:focus{background:#ffffff26;border-color:#fff;outline:none;box-shadow:0 0 15px #ffffff1a}.form-group textarea{resize:vertical}.submit-btn-wrap{text-align:center;margin-top:30px}.horizontal-scroll-container{background-color:var(--primary-color);width:100%;position:relative;overflow:hidden}.horizontal-scroll-inner{will-change:transform;width:200vw;height:100vh;display:flex}.horizontal-section{flex-shrink:0;justify-content:center;align-items:center;width:100vw;height:100vh;padding:0;display:flex;position:relative;overflow:hidden}.horizontal-section .container{width:100%;max-width:1400px}.latest-works-horizontal,.services-horizontal{background-color:var(--primary-color);color:var(--bg-dark)}.horizontal-section .outline-bg-text{opacity:.1;top:50%;transform:translateY(-50%)}@media (width<=1024px){.horizontal-scroll-inner{width:100%;height:auto;display:block}.horizontal-section{width:100%;height:auto;padding:100px 0}}.page-hero{background-color:var(--primary-color);align-items:center;min-height:40vh;padding:140px 0 60px;display:flex;position:relative;overflow:hidden}.page-hero .container{z-index:10;position:relative}.is-loading~main{background-color:var(--primary-color)}main:not(:has(.horizontal-scroll-container)){background-color:var(--primary-color)}.service-row,.company-section,.portfolio-grid,.works-grid{background-color:var(--primary-color)!important}.page-hero+.marquee-band{margin:0}.menu-toggle{cursor:pointer;z-index:2000;flex-direction:column;justify-content:space-between;width:30px;height:20px;display:none;position:relative}.menu-toggle span{background-color:var(--bg-dark);width:100%;height:2px;transition:var(--transition-smooth);display:block}.mobile-nav{background-color:var(--primary-color);z-index:1500;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100vh;transition:transform .6s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;top:0;left:0;transform:translateY(-100%)}.mobile-nav.active{transform:translateY(0)}.mobile-nav-links{text-align:center;flex-direction:column;gap:30px;display:flex}.mobile-nav-link{font-family:var(--font-heading);text-transform:uppercase;color:var(--bg-dark);font-size:2rem;font-weight:900}.mobile-nav-link span{opacity:.6;margin-bottom:5px;font-size:.8rem;display:block}.responsive-grid-2{grid-template-columns:repeat(2,1fr);gap:40px;display:grid}.br-pc-only{display:block}.br-sp-only{display:none}@media (width<=768px){.br-pc-only{display:none!important}.br-sp-only{display:block!important}.responsive-grid-2{grid-template-columns:1fr!important;gap:30px!important}.menu-toggle{display:flex}.nav-links{display:none}header{padding:20px 0}.container{padding:0 24px}.hero{min-height:auto;padding-top:120px;padding-bottom:60px;display:block}.hero-content{text-align:left;padding-top:0}.massive-text{letter-spacing:-.06em;font-feature-settings:"palt";margin-bottom:30px;font-size:3rem;line-height:1.2}.massive-text:before{width:140%;height:350px;left:-20%}.hero-desc{font-size:1rem;line-height:1.6}.home-image-box{width:100%;margin-top:60px;position:relative;top:0;right:0}.home-image-text{width:fit-content;margin:0 auto;padding:15px 25px;font-size:1rem;position:relative;top:-20px;left:0;right:0}.horizontal-scroll-section,.horizontal-scroll-inner{width:100%;height:auto;display:block}.horizontal-panel,.horizontal-section{width:100%;height:auto;padding:80px 0;display:block}.services-grid{grid-template-columns:1fr;gap:40px}.page-hero{min-height:auto;padding:120px 0 60px}footer .container{text-align:center;flex-direction:column;gap:60px}.footer-info,.footer-links{align-items:center}}.menu-toggle.active span:first-child{transform:translateY(9px)rotate(45deg)}.menu-toggle.active span:nth-child(2){opacity:0}.menu-toggle.active span:nth-child(3){transform:translateY(-9px)rotate(-45deg)}@media (width<=768px){.company-table,.company-table tbody,.company-table tr,.company-table th,.company-table td{display:block;width:100%!important}.company-table td{padding:0 0 20px!important}.company-table th{opacity:.6;font-size:.8rem;border-bottom:none!important;padding-bottom:5px!important}.company-table-wrap{padding:60px 0!important}.works-grid{grid-template-columns:1fr!important;gap:30px!important}.works-item{flex-direction:column!important;display:block!important}.works-item div[style*="flex: 1"]{width:100%!important;height:auto!important}.works-item div[style*="height: 350px"]{height:250px!important}.marquee-band{padding:15px 0!important}.marquee-content span{font-size:1.5rem!important}section{padding:60px 0!important}.contact-grid{grid-template-columns:1fr!important}}body.no-scroll{overflow:hidden}
