:root{--bg: #ffffff;--bg-alt: #fafbfc;--surface: #ffffff;--text: #1a2b4a;--text-light: #2c3e5d;--muted: #5a6c7d;--accent: #0066cc;--accent-hover: #0052a3;--navy: #1a2b4a;--navy-dark: #0f1a2e;--border: #e8ebed;--border-light: #f0f2f4;--shadow: rgba(0, 0, 0, .08);--shadow-hover: rgba(0, 0, 0, .15);--focus: #0066cc}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);background:var(--bg);font-family:Noto Sans JP,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.8;font-size:16px;letter-spacing:.01em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}.container{max-width:1200px;margin:0 auto;padding:0 32px}header.site-header{position:sticky;top:0;z-index:100;background:#fffffffa;backdrop-filter:blur(8px);border-bottom:1px solid var(--border-light);box-shadow:0 1px 3px #0000000a;padding:24px 0;transition:all .3s ease}.brand{display:flex;align-items:center;gap:12px;font-weight:700;font-size:23px;color:var(--navy);letter-spacing:-.025em;transition:color .2s ease}.brand-icon{width:32px;height:32px;flex-shrink:0}.nav{display:flex;gap:32px;align-items:center}.nav a{color:var(--text-light);text-decoration:none;padding:8px 0;font-weight:500;font-size:15px;letter-spacing:.005em;transition:color .25s ease;position:relative}.nav a:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.nav a:hover,.nav a:focus{outline:none;color:var(--accent);text-decoration:none}.nav a:hover:after,.nav a:focus:after{transform:scaleX(1)}.hero{padding:100px 0 120px;background:linear-gradient(135deg,#f5f9ff,#eaf4ff,#e6f2ff);position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 50%,rgba(0,102,204,.03) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(26,43,74,.02) 0%,transparent 50%);pointer-events:none}.hero .container{padding-top:48px;padding-bottom:48px;position:relative;z-index:1}.hero h1{margin:0 0 28px;font-size:clamp(38px,5vw,58px);font-weight:700;color:#e6f2ff;line-height:1.25;letter-spacing:-.03em}.hero p{color:#ccc;margin:0 0 32px;font-size:18px;line-height:1.85;max-width:720px;letter-spacing:.01em}.cta{display:inline-block;background:var(--accent);color:#fff;padding:16px 40px;border-radius:8px;text-decoration:none;font-weight:600;font-size:16px;transition:all .3s ease;box-shadow:0 4px 12px #06c3}.cta:hover,.cta:focus{background:var(--accent-hover);transform:translateY(-2px);box-shadow:0 6px 20px #0066cc4d}section{padding:100px 0;position:relative}section h2{margin:0 0 32px;font-size:38px;font-weight:700;color:var(--navy);letter-spacing:-.025em;line-height:1.3}section p{margin:0 0 20px;font-size:16px;line-height:1.85;color:var(--text-light);letter-spacing:.01em}section:nth-of-type(2n){background:var(--bg-alt)}section#about{background:#fff}section#about:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:60px;height:1px;background:linear-gradient(90deg,transparent,var(--border),transparent)}section#services{background:var(--bg-alt)}section#features{background:#fff}section#features:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:60px;height:1px;background:linear-gradient(90deg,transparent,var(--border),transparent)}section#company{background:var(--bg-alt)}section#contact{background:#fff}.card{border:1px solid var(--border);border-radius:16px;background:var(--surface);padding:36px;box-shadow:0 2px 12px var(--shadow),0 1px 3px #0000000a;transition:all .35s cubic-bezier(.4,0,.2,1);position:relative}.card:before{content:"";position:absolute;inset:0;border-radius:16px;padding:1px;background:linear-gradient(135deg,rgba(0,102,204,.1),transparent 50%,rgba(26,43,74,.05));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;opacity:0;transition:opacity .35s ease}.card:hover{box-shadow:0 12px 32px var(--shadow-hover),0 4px 8px #00000014;transform:translateY(-6px);border-color:#0066cc26}.card:hover:before{opacity:1}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:36px}.grid .card h3{color:var(--navy);font-size:22px;font-weight:600;letter-spacing:-.015em;line-height:1.4}.muted{color:var(--muted)}.list{display:grid;gap:0}.list-row{display:grid;grid-template-columns:180px 1fr;gap:32px;padding:24px 0;border-bottom:1px solid var(--border-light);transition:background-color .2s ease}.list-row:first-child{padding-top:0}.list-row:last-child{border-bottom:none;padding-bottom:0}.list-row>div:first-child{font-weight:600;font-size:15px;color:var(--navy);letter-spacing:.005em}.list-row>div:last-child{color:var(--text-light);line-height:1.75}.copy-wrap{display:flex;gap:12px;align-items:center;margin-top:16px}.btn-copy{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:10px 20px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-copy:hover,.btn-copy:focus{background:var(--accent-hover);outline:none;transform:translateY(-1px)}footer{background:linear-gradient(180deg,var(--navy-dark) 0%,#0a1220 100%);color:#ffffffbf;padding:56px 0;border-top:1px solid rgba(255,255,255,.08);position:relative}footer:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:80px;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent)}footer small{font-size:14px;letter-spacing:.02em}a{color:var(--accent);text-decoration:none;transition:all .25s ease;position:relative}a:hover{color:var(--accent-hover)}a.external{color:var(--accent);display:inline-flex;align-items:center;gap:4px}a.external:after{content:"↗";font-size:.9em;opacity:.7;transition:all .25s ease}a.external:hover:after{opacity:1;transform:translate(2px,-2px)}:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:4px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.rgg-images{display:flex;gap:20px;margin:20px 0;align-items:flex-start}.rgg-img-pc,.rgg-img-mobile,.rgg-img-game,.rgg-img-collection{border-radius:8px;box-shadow:0 2px 8px #0000001a;transition:all .3s ease}.rgg-img-pc:hover,.rgg-img-mobile:hover,.rgg-img-game:hover,.rgg-img-collection:hover{transform:translateY(-4px);box-shadow:0 6px 16px #00000026}.rgg-img-pc{width:50%;height:auto;object-fit:contain;display:block}.rgg-images-vertical{display:flex;flex-direction:row;gap:12px;width:50%}.rgg-img-mobile,.rgg-img-game,.rgg-img-collection{flex:1;width:calc(33.333% - 8px);height:auto;object-fit:contain}@media(max-width:768px){.container{padding:0 24px}header.site-header{padding:20px 0}header.site-header .container{flex-direction:column;align-items:flex-start;gap:16px}.brand{font-size:21px}.brand-icon{width:28px;height:28px}.nav{gap:16px;width:100%;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.nav::-webkit-scrollbar{display:none}.nav a{font-size:13px;white-space:nowrap;padding:8px 4px}.hero{padding:72px 0 88px}.hero .container{padding-top:24px;padding-bottom:24px}.hero h1{font-size:clamp(30px,8vw,38px);margin-bottom:20px;letter-spacing:-.025em}.hero p{font-size:17px;margin-bottom:28px;line-height:1.75}.cta{padding:14px 32px;font-size:15px}section{padding:72px 0}section h2{font-size:30px;margin-bottom:24px;letter-spacing:-.02em}section p{font-size:15px;line-height:1.8}.card{padding:28px;border-radius:14px}.card:before{border-radius:14px}.grid{grid-template-columns:1fr;gap:28px}.grid .card h3{font-size:20px}.list-row{grid-template-columns:1fr;gap:10px;padding:20px 0}.list-row:first-child{padding-top:0}.list-row:last-child{padding-bottom:0}.list-row>div:first-child{font-size:14px}footer{padding:40px 0}.rgg-images{flex-direction:column;gap:16px}.rgg-img-pc{width:100%}.rgg-images-vertical{flex-direction:row;width:100%;gap:12px}.rgg-img-mobile,.rgg-img-game,.rgg-img-collection{flex:1;width:calc(33.333% - 8px)}}
