:root{--color-bg-dark: #0a0a0a;--color-bg-darker: #050505;--color-bg-lighter: #1a1a1a;--color-text-light: #f5f5f5;--color-text-gray: #a0a0a0;--color-text-dark: #666666;--color-accent-green: #00ff88;--color-accent-green-dark: #00cc6a;--color-accent-glow: rgba(0, 255, 136, .3);--gradient-dark: linear-gradient(180deg, var(--color-bg-dark) 0%, var(--color-bg-lighter) 100%);--gradient-overlay: linear-gradient(180deg, rgba(10, 10, 10, .7) 0%, rgba(10, 10, 10, .4) 100%);--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 2rem;--spacing-lg: 4rem;--spacing-xl: 6rem;--spacing-xxl: 8rem;--container-max-width: 1400px;--container-padding: 2rem;--font-primary: "Meiryo", "メイリオ", "Hiragino Sans", "ヒラギノ角ゴ ProN", "Yu Gothic", "游ゴシック", sans-serif;--font-mono: "Courier New", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.5rem;--font-size-2xl: 2rem;--font-size-3xl: 3rem;--font-size-4xl: 4rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-normal: 1.5;--line-height-relaxed: 1.8;--transition-fast: .2s ease;--transition-base: .3s ease;--transition-slow: .5s ease;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5);--shadow-glow: 0 0 20px var(--color-accent-glow);--z-header: 100;--z-overlay: 50;--z-modal: 200}@media(max-width:768px){:root{--font-size-3xl: 2rem;--font-size-4xl: 2.5rem;--spacing-lg: 3rem;--spacing-xl: 4rem;--spacing-xxl: 5rem;--container-padding: 1rem}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{margin:0;padding:0;min-height:100vh;line-height:var(--line-height-normal)}img,picture,video,canvas,svg{display:block;max-width:100%;height:auto}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}a{text-decoration:none;color:inherit}ul,ol{list-style:none}button{border:none;background:none;cursor:pointer}body{font-family:var(--font-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);color:var(--color-text-light);background-color:var(--color-bg-dark);overflow-x:hidden}.container{max-width:var(--container-max-width);margin:0 auto;padding:0 var(--container-padding)}.section{padding:var(--spacing-xxl) 0;position:relative}.section-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);text-align:center;margin-bottom:var(--spacing-lg);color:var(--color-text-light);position:relative}.section-title:after{content:"";display:block;width:60px;height:3px;background:var(--color-accent-green);margin:var(--spacing-md) auto 0}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-text-light)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}p{line-height:var(--line-height-relaxed);color:var(--color-text-gray)}a{transition:color var(--transition-base)}a:hover{color:var(--color-accent-green)}.link-primary{color:var(--color-accent-green);text-decoration:underline;text-decoration-color:var(--color-accent-green);text-underline-offset:2px;transition:all var(--transition-base)}.link-primary:hover{color:var(--color-text-light);text-decoration-color:var(--color-text-light);text-shadow:0 0 8px rgba(0,255,136,.5)}.text-center{text-align:center}.text-accent{color:var(--color-accent-green)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.fade-in{opacity:0;transform:translateY(30px)}.fade-in.active{opacity:1;transform:translateY(0);transition:opacity .8s ease,transform .8s ease}.header{position:fixed;top:0;left:0;right:0;z-index:var(--z-header);padding:var(--spacing-sm) 0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom:1px solid rgba(255,255,255,.2);transition:all var(--transition-base)}.header.scrolled{background:#0a0a0af2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.2);box-shadow:var(--shadow-sm)}.header-content{display:flex;justify-content:space-between;align-items:center}.logo{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-light);letter-spacing:.05em}.logo-image{height:40px;width:auto;display:block}.nav-list{display:flex;gap:var(--spacing-md);align-items:center}.nav-link{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-gray);transition:color var(--transition-base);padding:var(--spacing-xs) var(--spacing-sm)}.nav-link:hover,.nav-link.active{color:var(--color-accent-green)}.menu-toggle{display:none;flex-direction:column;gap:6px;cursor:pointer}.menu-toggle span{display:block;width:25px;height:2px;background:var(--color-text-light);transition:all var(--transition-base)}.hero{position:relative;height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero-video{position:absolute;top:50%;left:50%;min-width:100%;min-height:100%;width:auto;height:auto;transform:translate(-50%,-50%);z-index:-2;object-fit:cover}.hero-overlay{position:absolute;inset:0;background:var(--gradient-overlay);z-index:-1}.hero-content{position:relative;width:100%;height:100vh;z-index:1;padding:var(--spacing-md)}.hero-catchcopy{z-index:10}.hero-catchcopy-desktop{position:absolute;top:45%;left:2%;transform:translateY(-50%);max-width:min(1280px,85vw);animation:fadeInLeft 1.2s ease-out}.hero-catchcopy-mobile{display:none}.catchcopy-svg{width:100%;height:auto;filter:drop-shadow(0 0 20px rgba(252,50,134,.6))}@keyframes fadeInLeft{0%{opacity:0;transform:translateY(-50%) translate(-30px)}to{opacity:1;transform:translateY(-50%) translate(0)}}.scroll-indicator{position:absolute;bottom:var(--spacing-lg);left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);color:var(--color-text-gray);cursor:pointer;animation:bounce 2s infinite;transition:color var(--transition-base);z-index:20;-webkit-user-select:none;user-select:none}.scroll-indicator:active{color:var(--color-accent-green-dark)}.scroll-indicator:hover{color:var(--color-accent-green)}@keyframes bounce{0%,20%,50%,80%,to{transform:translate(-50%) translateY(0)}40%{transform:translate(-50%) translateY(-10px)}60%{transform:translate(-50%) translateY(-5px)}}.scroll-indicator svg{width:24px;height:24px}.products-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-lg)}.product-card{background:var(--color-bg-lighter);border-radius:var(--radius-lg);overflow:hidden;transition:transform var(--transition-base),box-shadow var(--transition-base);cursor:pointer;display:flex;flex-direction:column;height:100%}.product-card:hover{transform:translateY(-10px)}.product-thumbnail{width:100%;aspect-ratio:16 / 9;object-fit:cover;background:var(--color-bg-darker)}.product-content{padding:var(--spacing-md);display:flex;flex-direction:column;flex-grow:1}.product-type{font-size:var(--font-size-xs);text-transform:uppercase;color:var(--color-accent-green);letter-spacing:.1em;margin-bottom:var(--spacing-xs)}.product-name{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-sm)}.product-description{font-size:var(--font-size-base);color:var(--color-text-gray);margin-bottom:var(--spacing-md);line-height:var(--line-height-relaxed);flex-grow:1}.product-link{display:none}.product-link:hover{gap:var(--spacing-sm)}.product-card-link{display:block;text-decoration:none;color:inherit}.btn{display:inline-block;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);text-align:center;border-radius:var(--radius-md);transition:all var(--transition-base);cursor:pointer}.btn-primary{background:var(--color-accent-green);color:var(--color-bg-dark)}.btn-primary:hover{background:var(--color-accent-green-dark);box-shadow:var(--shadow-glow);transform:translateY(-2px)}.btn-outline{border:2px solid var(--color-accent-green);color:var(--color-accent-green)}.btn-outline:hover{background:var(--color-accent-green);color:var(--color-bg-dark)}.social-links{display:flex;justify-content:center;gap:var(--spacing-md)}.social-link{display:flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:50%;background:var(--color-bg-lighter);color:var(--color-text-light);transition:all var(--transition-base)}.social-link:hover{background:var(--color-accent-green);color:var(--color-bg-dark);transform:translateY(-5px);box-shadow:var(--shadow-glow)}.social-link svg{width:28px;height:28px}.footer{padding:var(--spacing-lg) 0;background:#1a1a1a;text-align:center;color:var(--color-text-gray);border-top:1px solid rgba(255,255,255,.1)}.footer .container{display:flex;flex-direction:column;gap:var(--spacing-md)}.footer-content{display:flex;flex-direction:column;gap:var(--spacing-sm);align-items:center}.footer-social{display:flex;justify-content:center;gap:var(--spacing-md);margin-bottom:var(--spacing-sm)}.footer-social-link{display:flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:50%;background:var(--color-bg-lighter);color:var(--color-text-light);transition:all var(--transition-base)}.footer-social-link:hover{background:var(--color-accent-green);color:var(--color-bg-dark);transform:translateY(-3px);box-shadow:var(--shadow-glow)}.footer-social-link svg{width:24px;height:24px}.footer-copyright{font-size:var(--font-size-sm);color:var(--color-text-dark)}@media(max-width:768px){.footer{padding:var(--spacing-md) 0}}@media(max-width:1600px){.hero-catchcopy-desktop{width:80vw;max-width:1280px}}@media(max-width:1024px){.products-grid{grid-template-columns:repeat(2,1fr)}.hero-catchcopy-desktop{max-width:75vw;left:3%}}@media(max-width:768px){.menu-toggle{display:flex}.nav-list{position:fixed;top:0;right:-100%;width:70%;height:100vh;background:var(--color-bg-darker);flex-direction:column;justify-content:center;transition:right var(--transition-base)}.nav-list.active{right:0}.products-grid{grid-template-columns:1fr}.hero-catchcopy-desktop{display:none}.hero-catchcopy-mobile{display:block;position:static;transform:none;max-width:100%;margin:0 auto var(--spacing-xl);animation:fadeIn 1.2s ease-out;margin-top:80px}@keyframes fadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}}
