:root{--bg-primary:#151821;--bg-secondary:#2c303a;--text-primary:#e2e4e9;--text-secondary:#868c98;--accent-primary:#ca8a04;--accent-secondary:#6b442a;--accent-glow:#ca8a041f;--border-color:#ffffff0d;--glass-bg:#2c303aa6;--glass-border:#6b442a40;--font-sans:"Inter", "Noto Sans JP", system-ui, -apple-system, sans-serif;--font-display:"Outfit", var(--font-sans);--font-mono:"JetBrains Mono", ui-monospace, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text-primary);background-color:var(--bg-primary);font-size:16px;line-height:1.6;font-family:var(--font-sans);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:radial-gradient(circle at 50% 0%, #ca8a0414 0%, #15182100 60%), radial-gradient(circle at 0% 100%, #6b442a14 0%, #15182100 40%), var(--bg-primary);background-attachment:fixed;margin:0;padding:0;overflow-x:hidden}#root{flex-direction:column;min-height:100vh;display:flex}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.02em;color:#fff;margin:0;font-weight:700}a{color:var(--accent-primary);text-decoration:none;transition:color .3s}a:hover{color:var(--accent-secondary)}*{box-sizing:border-box}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 24px}header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:32px 0;display:flex}.logo-text{background:linear-gradient(135deg, #fff 0%, var(--text-secondary) 100%);-webkit-text-fill-color:transparent;font-size:24px;font-weight:800;font-family:var(--font-display);-webkit-background-clip:text}.status-badge{color:var(--accent-primary);letter-spacing:.05em;background:#ca8a040f;border:1px solid #ca8a0426;border-radius:100px;align-items:center;gap:8px;padding:6px 12px;font-size:13px;font-weight:600;display:inline-flex}.status-dot{background-color:var(--accent-secondary);width:8px;height:8px;box-shadow:0 0 8px var(--accent-secondary);border-radius:50%;animation:2s infinite pulse}@keyframes pulse{0%{opacity:.5;transform:scale(.95)}50%{opacity:1;box-shadow:0 0 12px var(--accent-secondary);transform:scale(1.1)}to{opacity:.5;transform:scale(.95)}}.hero-section{text-align:center;padding:100px 0 60px}.hero-title{background:linear-gradient(90deg,#fff 20%,#fed7aa 60%,#ca8a04 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:24px;font-size:32px;font-weight:800;line-height:1.6;animation:.8s ease-out fadeInDown}.hero-subtitle{color:var(--text-secondary);max-width:700px;margin:0 auto 40px;font-size:20px;line-height:1.6;animation:.8s ease-out .2s both fadeInUp}.section{padding:80px 0}.hero-section+.section{padding-top:32px}.section-title{text-align:center;margin-bottom:48px;font-size:32px;position:relative}.section-title:after{content:"";background:linear-gradient(90deg, var(--accent-primary), var(--accent-secondary));border-radius:2px;width:40px;height:3px;margin:12px auto 0;display:block}.grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:32px;display:grid}.card{background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(12px);text-align:left;border-radius:16px;padding:32px;transition:all .4s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.card:before{content:"";opacity:0;background:linear-gradient(135deg,#ca8a0408,#6b442a08);width:100%;height:100%;transition:opacity .4s;position:absolute;top:0;left:0}.card:hover{border-color:#ca8a0440;transform:translateY(-8px);box-shadow:0 20px 40px #00000080,0 0 25px #ca8a0414}.card:hover:before{opacity:1}.card-icon{width:48px;height:48px;color:var(--accent-primary);background:#6b442a26;border:1px solid #6b442a4d;border-radius:12px;justify-content:center;align-items:center;margin-bottom:24px;font-size:20px;display:flex}.card-title{color:#fff;margin-bottom:16px;font-size:20px}.card-description{color:var(--text-secondary);font-size:15px;line-height:1.6}.about-box{border:1px solid var(--border-color);text-align:center;background:linear-gradient(#ffffff05 0%,#fff0 100%);border-radius:24px;max-width:900px;margin:0 auto;padding:48px}.about-text{color:var(--text-primary);font-size:18px;line-height:1.8}.loop-section{background:radial-gradient(circle,#ca8a0405 0%,#15182100 70%);position:relative}.loop-container{justify-content:space-between;align-items:flex-start;gap:24px;margin-top:60px;display:flex;position:relative}.loop-container:after{content:"";z-index:1;background:linear-gradient(90deg,#ca8a041a 0%,#6b442a80 50%,#ca8a041a 100%) 0 0/200% 100%;height:2px;animation:8s linear infinite flowLine;position:absolute;top:45px;left:60px;right:60px}@keyframes flowLine{0%{background-position:200% 0}to{background-position:0 0}}.loop-step{text-align:center;z-index:2;flex-direction:column;flex:1;align-items:center;transition:transform .3s;display:flex;position:relative}.loop-step:hover{transform:translateY(-4px)}.loop-badge{background:var(--bg-secondary);border:2px solid var(--border-color);width:90px;height:90px;font-family:var(--font-display);color:#fff;border-radius:50%;justify-content:center;align-items:center;margin-bottom:20px;font-size:13px;font-weight:800;transition:all .3s;display:flex;box-shadow:0 4px 20px #0006}.loop-step:hover .loop-badge{border-color:var(--accent-primary);box-shadow:0 0 20px var(--accent-glow);transform:scale(1.05)}.loop-step:first-child .loop-badge,.loop-step:nth-child(2) .loop-badge,.loop-step:nth-child(3) .loop-badge,.loop-step:nth-child(4) .loop-badge{border-color:#ca8a04b3}.loop-step-title{color:#fff;margin-bottom:10px;font-size:17px;font-weight:700}.loop-step-desc{color:var(--text-secondary);padding:0 12px;font-size:13.5px;line-height:1.55}footer{border-top:1px solid var(--border-color);text-align:center;color:var(--text-secondary);width:100%;margin-top:auto;padding:40px 0;font-size:14px}.footer-links{justify-content:center;align-items:center;gap:16px;margin-bottom:16px;display:flex}.footer-link-btn{color:var(--text-secondary);cursor:pointer;font-size:14px;font-family:var(--font-sans);background:0 0;border:none;padding:4px 8px;transition:color .3s}.footer-link-btn:hover{color:var(--accent-primary)}.footer-divider{color:var(--border-color);font-size:12px}.company-card{background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(12px);text-align:left;border-radius:24px;width:100%;max-width:700px;padding:48px;box-shadow:0 20px 40px #0006}.company-title{text-align:center;background:linear-gradient(to right, #fff, var(--accent-secondary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:8px;font-size:32px;font-weight:800}.company-subtitle{color:var(--text-secondary);text-align:center;letter-spacing:.2em;text-transform:uppercase;margin-top:4px;margin-bottom:40px;font-size:14px}.company-table{flex-direction:column;gap:20px;display:flex}.company-row{border-bottom:1px solid var(--border-color);padding-bottom:20px;display:flex}.company-row:last-child{border-bottom:none;padding-bottom:0}.company-label{flex-shrink:0;width:120px;font-size:15px;font-weight:700}.company-value{color:var(--text-primary);font-size:15px;line-height:1.6}.back-btn{color:#fff;cursor:pointer;font-size:14px;font-weight:700;font-family:var(--font-sans);background:0 0;border:1px solid #fff;border-radius:100px;padding:12px 32px;transition:all .3s}.back-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary);background:#ca8a040f;transform:translateY(-2px);box-shadow:0 4px 15px #ca8a0433}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (width<=768px){.hero-title{font-size:40px}.hero-subtitle{font-size:16px}.about-box{padding:32px 24px}.about-text{font-size:15px}.section{padding:48px 0}.loop-container{flex-direction:column;align-items:center;gap:40px}.loop-container:after{width:2px;height:calc(100% - 100px);top:50px;bottom:50px;left:45px}.loop-step{text-align:left;flex-direction:row;align-items:center;width:100%;max-width:450px}.loop-badge{flex-shrink:0;margin-bottom:0;margin-right:20px}.loop-step-desc{padding:0}.company-card{padding:32px 20px}.company-row{flex-direction:column;gap:8px}.company-label{width:100%}}
