
:root{--bg:#030303;--text:#f7f7f7;--muted:rgba(255,255,255,.62);--line:rgba(255,255,255,.12);--pad:clamp(20px,4vw,64px);--max:1280px;--ease:cubic-bezier(.16,1,.3,1)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;background:var(--bg)}body{min-height:100vh;background:radial-gradient(circle at 75% 18%,rgba(255,255,255,.08),transparent 24vw),radial-gradient(circle at 10% 35%,rgba(255,255,255,.045),transparent 30vw),linear-gradient(180deg,#020202,#070707 48%,#020202);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Noto Sans JP","Hiragino Sans","Yu Gothic",sans-serif;letter-spacing:.04em;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.32;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:120px 120px;mask-image:radial-gradient(circle at 50% 12%,black,transparent 68%)}body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:99;opacity:.14;background:repeating-linear-gradient(0deg,rgba(255,255,255,.03) 0,rgba(255,255,255,.03) 1px,transparent 1px,transparent 3px);mix-blend-mode:soft-light}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;border:0;background:0;cursor:pointer}.site{position:relative;z-index:1}.noise{position:fixed;inset:0;pointer-events:none;z-index:2;opacity:.055;background-image:radial-gradient(circle at 20% 30%,#fff 0 1px,transparent 1px),radial-gradient(circle at 80% 70%,#fff 0 1px,transparent 1px);background-size:67px 83px;mix-blend-mode:screen}.cursor-light{position:fixed;width:520px;height:520px;left:0;top:0;transform:translate(-50%,-50%);pointer-events:none;z-index:0;opacity:.16;background:radial-gradient(circle,rgba(255,255,255,.18),transparent 62%);filter:blur(10px)}.header{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;justify-content:center;padding:22px var(--pad);transition:.45s var(--ease)}.header.is-scrolled{padding-top:14px;padding-bottom:14px;background:rgba(3,3,3,.68);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(20px)}.header-inner{width:100%;max-width:var(--max);display:flex;align-items:center;justify-content:space-between;gap:28px}.logo{display:flex;flex-direction:column;line-height:1;gap:8px;min-width:120px}.logo-mark{font-size:34px;font-weight:300;letter-spacing:.18em}.logo-sub{font-size:10px;letter-spacing:.18em;color:rgba(255,255,255,.78)}.nav{display:flex;align-items:center;gap:clamp(18px,2vw,34px);font-size:11px;letter-spacing:.12em;color:rgba(255,255,255,.82)}.nav a{position:relative;padding:8px 0}.nav a:after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:rgba(255,255,255,.82);transition:.35s var(--ease)}.nav a:hover:after,.nav a.is-current:after{width:100%}.header-cta{display:inline-flex;align-items:center;gap:14px;padding:13px 20px;border:1px solid rgba(255,255,255,.28);border-radius:999px;font-size:11px;transition:.35s var(--ease);white-space:nowrap}.header-cta:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.52);transform:translateY(-1px)}.menu-btn{display:none;width:42px;height:42px;border:1px solid rgba(255,255,255,.18);border-radius:50%;align-items:center;justify-content:center}.menu-btn span,.menu-btn span:before,.menu-btn span:after{display:block;width:17px;height:1px;background:#fff;transition:.35s var(--ease)}.menu-btn span{position:relative}.menu-btn span:before,.menu-btn span:after{content:"";position:absolute}.menu-btn span:before{transform:translateY(-6px)}.menu-btn span:after{transform:translateY(6px)}.menu-open .menu-btn span{background:transparent}.menu-open .menu-btn span:before{transform:rotate(45deg)}.menu-open .menu-btn span:after{transform:rotate(-45deg)}.mobile-menu{position:fixed;inset:0;z-index:45;display:none;flex-direction:column;background:rgba(3,3,3,.92);backdrop-filter:blur(24px);padding:120px var(--pad) 40px;opacity:0;pointer-events:none;transition:.35s var(--ease)}.menu-open .mobile-menu{opacity:1;pointer-events:auto}.mobile-menu a{display:flex;justify-content:space-between;padding:22px 0;border-bottom:1px solid rgba(255,255,255,.1);font-size:22px;letter-spacing:.08em}.section{position:relative;border-top:1px solid rgba(255,255,255,.1);padding:clamp(82px,10vw,150px) var(--pad);overflow:hidden}.wrap{width:100%;max-width:var(--max);margin:0 auto;position:relative;z-index:2}.section-label{display:grid;gap:8px;margin-bottom:42px;font-size:11px;letter-spacing:.14em;color:rgba(255,255,255,.62);text-transform:uppercase}.jp-title{font-size:clamp(28px,4vw,54px);line-height:1.68;font-weight:300;letter-spacing:.08em}.en-title{font-size:clamp(40px,8vw,112px);line-height:1.05;font-weight:250;letter-spacing:.02em}.body-text{color:var(--muted);font-size:clamp(13px,1.2vw,15px);line-height:2.25;letter-spacing:.07em}.btn{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-width:178px;padding:17px 24px;border:1px solid rgba(255,255,255,.24);font-size:12px;letter-spacing:.1em;position:relative;overflow:hidden;transition:.35s var(--ease)}.btn:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent);transform:translateX(-120%);transition:.8s var(--ease)}.btn:hover{border-color:rgba(255,255,255,.62);background:rgba(255,255,255,.04);transform:translateY(-2px)}.btn:hover:before{transform:translateX(120%)}.btn.primary{background:rgba(255,255,255,.95);color:#030303;border-color:rgba(255,255,255,.95)}.arrow{display:inline-block;transition:.35s var(--ease)}.btn:hover .arrow,.header-cta:hover .arrow{transform:translateX(5px)}.reveal{opacity:0;transform:translateY(34px);transition:.9s var(--ease)}.reveal.is-visible{opacity:1;transform:translateY(0)}.page-hero{position:relative;min-height:62svh;display:flex;align-items:end;padding:150px var(--pad) 90px;border-bottom:1px solid rgba(255,255,255,.1);overflow:hidden}.page-hero:before{content:"";position:absolute;right:-20vw;bottom:-42vw;width:78vw;height:78vw;border:1px solid rgba(255,255,255,.13);border-radius:50%;opacity:.5}.page-hero:after{content:"";position:absolute;right:18%;bottom:28%;width:1px;height:180px;background:linear-gradient(to bottom,transparent,rgba(255,255,255,.9),transparent);filter:drop-shadow(0 0 14px rgba(255,255,255,.8))}.page-hero .body-text{max-width:760px;margin-top:34px}.hero{position:relative;min-height:100svh;display:flex;align-items:center;padding:120px var(--pad) 70px;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.1)}#networkCanvas{position:absolute;inset:0;width:100%;height:100%;opacity:.76;z-index:0}.hero:before{content:"";position:absolute;inset:0;z-index:1;background:radial-gradient(circle at 56% 46%,transparent 0 18%,rgba(3,3,3,.18) 37%,rgba(3,3,3,.78) 75%),linear-gradient(90deg,rgba(3,3,3,.92),rgba(3,3,3,.45) 52%,rgba(3,3,3,.86));pointer-events:none}.hero:after{content:"";position:absolute;right:-20vw;bottom:-42vw;width:78vw;height:78vw;border:1px solid rgba(255,255,255,.13);border-radius:50%;opacity:.5;z-index:1}.hero-inner{position:relative;z-index:3;width:100%;max-width:var(--max);margin:0 auto;padding-top:30px}.hero-copy{max-width:900px}.hero h1{font-size:clamp(34px,5.8vw,76px);line-height:1.56;font-weight:300;letter-spacing:.08em;text-wrap:balance}.hero p{margin-top:28px;color:rgba(255,255,255,.72);font-size:clamp(14px,1.5vw,18px);line-height:2.1;letter-spacing:.08em}.hero-actions{display:flex;gap:18px;margin-top:48px;flex-wrap:wrap}.scroll-sign{position:absolute;left:var(--pad);bottom:58px;z-index:5;display:grid;gap:16px;align-items:center;color:rgba(255,255,255,.55);font-size:10px;letter-spacing:.14em;writing-mode:vertical-rl}.scroll-sign:before{content:"";width:1px;height:70px;background:linear-gradient(to bottom,transparent,rgba(255,255,255,.75),transparent);animation:scrollLine 2.2s var(--ease) infinite}@keyframes scrollLine{0%{transform:scaleY(.2);opacity:.2}45%{transform:scaleY(1);opacity:1}100%{transform:scaleY(.2);opacity:.2}}.hero-light-line{position:absolute;left:50%;bottom:0;width:1px;height:160px;z-index:4;background:linear-gradient(to bottom,transparent,rgba(255,255,255,.9));filter:drop-shadow(0 0 10px rgba(255,255,255,.8))}.grid-2{display:grid;grid-template-columns:minmax(0,.85fr) minmax(420px,1.15fr);gap:clamp(54px,8vw,110px);align-items:start}.about-copy .body-text,.lead-copy .body-text{margin-top:34px;max-width:620px}.field-list{border-top:1px solid rgba(255,255,255,.13)}.field-item{display:grid;grid-template-columns:58px 1fr 1.4fr;gap:26px;padding:25px 0;border-bottom:1px solid rgba(255,255,255,.13);transform:translateX(24px);opacity:0;transition:.75s var(--ease)}.field-list.is-visible .field-item{transform:translateX(0);opacity:1}.field-list.is-visible .field-item:nth-child(1){transition-delay:.06s}.field-list.is-visible .field-item:nth-child(2){transition-delay:.12s}.field-list.is-visible .field-item:nth-child(3){transition-delay:.18s}.field-list.is-visible .field-item:nth-child(4){transition-delay:.24s}.field-list.is-visible .field-item:nth-child(5){transition-delay:.30s}.field-list.is-visible .field-item:nth-child(6){transition-delay:.36s}.field-item:hover{background:rgba(255,255,255,.035)}.field-no{color:rgba(255,255,255,.54);font-size:13px}.field-name{font-size:clamp(16px,1.6vw,20px);font-weight:400;letter-spacing:.04em}.field-desc{color:rgba(255,255,255,.58);font-size:13px;line-height:1.9}.arc{position:absolute;left:-16vw;bottom:-22vw;width:48vw;height:48vw;border:1px solid rgba(255,255,255,.11);border-radius:50%;pointer-events:none}.arc:after{content:"";position:absolute;right:12%;top:13%;width:5px;height:5px;border-radius:50%;background:#fff;box-shadow:0 0 24px 8px rgba(255,255,255,.42)}.process-grid{display:grid;grid-template-columns:.75fr 1.35fr;gap:clamp(50px,7vw,100px);align-items:center}.process-track{position:relative;padding:26px 0 12px;display:grid;grid-template-columns:repeat(4,1fr);gap:26px}.process-track:before{content:"";position:absolute;left:0;right:0;top:58px;height:1px;background:rgba(255,255,255,.15)}.process-progress{position:absolute;left:0;top:58px;height:1px;width:var(--progress,0%);background:linear-gradient(90deg,rgba(255,255,255,.1),rgba(255,255,255,.9));box-shadow:0 0 16px rgba(255,255,255,.55);transition:width .1s linear}.process-step{position:relative;padding-top:60px;opacity:.45;transform:translateY(16px);transition:.65s var(--ease)}.process-step.is-active{opacity:1;transform:translateY(0)}.process-dot{position:absolute;top:26px;left:0;width:9px;height:9px;border:1px solid rgba(255,255,255,.8);background:#050505;border-radius:50%;z-index:2;transition:.45s var(--ease)}.process-step.is-active .process-dot{background:#fff;box-shadow:0 0 18px rgba(255,255,255,.72)}.process-num{font-size:28px;font-weight:200;color:rgba(255,255,255,.78);margin-bottom:10px}.process-name{font-size:13px;letter-spacing:.1em;margin-bottom:14px}.process-text{color:rgba(255,255,255,.58);font-size:12px;line-height:2}.eco-grid{display:grid;grid-template-columns:.6fr 1.4fr;gap:clamp(44px,7vw,92px);align-items:center}.eco-copy .body-text{margin-top:28px;max-width:440px}.eco-stage{position:relative;min-height:520px;border:1px solid rgba(255,255,255,.11);background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.01));overflow:hidden}.eco-stage:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.10),transparent 3px),radial-gradient(circle at 22% 70%,rgba(255,255,255,.08),transparent 2px),radial-gradient(circle at 78% 34%,rgba(255,255,255,.08),transparent 2px);opacity:.4}.eco-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.eco-line{stroke:rgba(255,255,255,.18);stroke-width:1;vector-effect:non-scaling-stroke;stroke-dasharray:420;stroke-dashoffset:420;transition:stroke-dashoffset 1.2s var(--ease)}.eco-stage.is-visible .eco-line{stroke-dashoffset:0}.eco-stage.is-visible .eco-line:nth-child(2n){transition-delay:.12s}.eco-stage.is-visible .eco-line:nth-child(3n){transition-delay:.22s}.eco-stage.is-visible .eco-line:nth-child(4n){transition-delay:.34s}.eco-node{position:absolute;transform:translate(-50%,-50%) scale(.92);opacity:0;transition:.75s var(--ease);z-index:3;white-space:nowrap}.eco-stage.is-visible .eco-node{opacity:1;transform:translate(-50%,-50%) scale(1)}.eco-node:before{content:"";display:block;width:7px;height:7px;margin:0 auto 10px;border-radius:50%;background:#fff;box-shadow:0 0 18px rgba(255,255,255,.8)}.eco-node.company:before{width:8px;height:8px}.eco-name{display:block;text-align:center;font-size:clamp(11px,1vw,14px);letter-spacing:.04em}.eco-cat{display:block;text-align:center;margin-top:8px;color:rgba(255,255,255,.52);font-size:10px;letter-spacing:.08em}.eco-divider{position:absolute;left:8%;right:8%;top:41%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.16),transparent);z-index:1}.eco-label-company,.eco-label-brand{position:absolute;left:28px;color:rgba(255,255,255,.50);font-size:10px;letter-spacing:.16em;z-index:4}.eco-label-company{top:26px}.eco-label-brand{top:46%}.eco-node[data-node=cremarc]{left:18%;top:22%}.eco-node[data-node=takeroot]{left:42%;top:17%}.eco-node[data-node=halvina]{left:66%;top:22%}.eco-node[data-node=chura]{left:84%;top:30%}.eco-node[data-node=butajiru]{left:16%;top:72%}.eco-node[data-node=hakumai]{left:35%;top:63%}.eco-node[data-node=awanoma]{left:54%;top:74%}.eco-node[data-node=hako]{left:70%;top:63%}.eco-node[data-node=kyoto]{left:86%;top:76%}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.12)}.card{min-height:260px;padding:34px;background:rgba(3,3,3,.94);position:relative;overflow:hidden;transition:.35s var(--ease)}.card:after{content:"";position:absolute;right:-80px;bottom:-80px;width:170px;height:170px;border:1px solid rgba(255,255,255,.10);border-radius:50%}.card:hover{background:rgba(255,255,255,.035);transform:translateY(-2px)}.card-kicker{color:rgba(255,255,255,.42);font-size:11px;letter-spacing:.14em;margin-bottom:32px}.card h3{font-size:22px;font-weight:400;margin-bottom:18px;letter-spacing:.05em}.card p{color:rgba(255,255,255,.62);font-size:13px;line-height:2}.card a.more{display:inline-flex;gap:12px;margin-top:28px;font-size:12px;color:rgba(255,255,255,.88)}.info-list{border-top:1px solid rgba(255,255,255,.13)}.info-row{display:grid;grid-template-columns:220px 1fr;gap:32px;padding:24px 0;border-bottom:1px solid rgba(255,255,255,.13)}.info-row dt{color:rgba(255,255,255,.48);font-size:13px}.info-row dd{color:rgba(255,255,255,.82);font-size:15px;line-height:1.9}.news-list{border-top:1px solid rgba(255,255,255,.13)}.news-item{display:grid;grid-template-columns:170px 1fr auto;gap:28px;padding:34px 0;border-bottom:1px solid rgba(255,255,255,.13);align-items:center}.news-date{color:rgba(255,255,255,.42);font-size:13px}.news-title{font-size:clamp(18px,2vw,28px);font-weight:300;line-height:1.7}.news-tag{padding:8px 14px;border:1px solid rgba(255,255,255,.18);color:rgba(255,255,255,.58);font-size:11px}.job-box{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.025);padding:clamp(28px,4vw,50px);display:grid;grid-template-columns:.8fr 1.2fr;gap:46px}.job-box h3{font-size:clamp(24px,3vw,40px);font-weight:300;line-height:1.5}.job-meta{display:grid;gap:18px}.job-meta div{display:grid;grid-template-columns:120px 1fr;gap:18px;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:18px}.job-meta span:first-child{color:rgba(255,255,255,.45);font-size:12px}.job-meta span:last-child{color:rgba(255,255,255,.82);font-size:14px;line-height:1.8}.contact{padding-top:clamp(70px,9vw,130px);padding-bottom:clamp(70px,9vw,130px);background:radial-gradient(circle at 84% 100%,rgba(255,255,255,.13),transparent 28vw),linear-gradient(180deg,rgba(255,255,255,.02),transparent)}.contact-inner{display:grid;grid-template-columns:.25fr 1fr auto;gap:34px;align-items:center}.contact h2{font-size:clamp(34px,5vw,68px);font-weight:300;letter-spacing:.04em}.contact p{margin-top:14px;color:rgba(255,255,255,.62);font-size:14px;letter-spacing:.08em}.footer{border-top:1px solid rgba(255,255,255,.1);padding:42px var(--pad)}.footer-inner{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:200px 1fr auto;gap:40px;align-items:center}.footer-nav{display:flex;justify-content:center;gap:clamp(16px,2vw,34px);font-size:11px;color:rgba(255,255,255,.62);flex-wrap:wrap}.copy{font-size:10px;color:rgba(255,255,255,.44);letter-spacing:.08em}@media(max-width:980px){.nav,.header-cta{display:none}.menu-btn,.mobile-menu{display:flex}.hero{padding-top:118px}.hero h1{font-size:clamp(30px,9vw,54px);line-height:1.62}.hero-actions{flex-direction:column;align-items:flex-start}.grid-2,.process-grid,.eco-grid,.job-box{grid-template-columns:1fr}.field-item{grid-template-columns:42px 1fr;gap:16px}.field-desc{grid-column:2}.process-track{grid-template-columns:1fr;gap:0;padding-left:22px}.process-track:before{left:0;top:0;bottom:0;width:1px;height:auto}.process-progress{left:0;top:0;width:1px;height:var(--progress,0%)}.process-step{padding:0 0 42px 28px}.process-dot{top:9px;left:-26px}.eco-stage{min-height:640px}.eco-node[data-node=cremarc]{left:24%;top:17%}.eco-node[data-node=takeroot]{left:72%;top:19%}.eco-node[data-node=halvina]{left:28%;top:34%}.eco-node[data-node=chura]{left:74%;top:36%}.eco-node[data-node=butajiru]{left:24%;top:60%}.eco-node[data-node=hakumai]{left:72%;top:58%}.eco-node[data-node=awanoma]{left:24%;top:76%}.eco-node[data-node=hako]{left:70%;top:76%}.eco-node[data-node=kyoto]{left:48%;top:89%}.eco-divider{top:47%}.eco-label-brand{top:51%}.card-grid{grid-template-columns:1fr}.news-item{grid-template-columns:1fr;gap:16px}.contact-inner{grid-template-columns:1fr}.footer-inner{grid-template-columns:1fr;text-align:left}.footer-nav{justify-content:flex-start}}@media(max-width:560px){:root{--pad:20px}.logo-mark{font-size:28px}.logo-sub{font-size:9px}.section{padding-top:76px;padding-bottom:76px}.page-hero{min-height:58svh;padding-top:130px;padding-bottom:70px}.hero{min-height:100svh}.hero p{max-width:320px}.btn{width:100%}.scroll-sign{left:20px;bottom:36px}.field-list{margin-top:28px}.field-item{padding:20px 0}.eco-stage{margin-left:-8px;margin-right:-8px}.eco-name{font-size:10px}.eco-cat{display:none}.info-row{grid-template-columns:1fr;gap:8px}.job-meta div{grid-template-columns:1fr;gap:6px}}
