:root{color-scheme:dark;--brand-black: #0d0d0d;--panel: #14171d;--panel-soft: rgba(255, 255, 255, .05);--panel-strong: rgba(255, 255, 255, .08);--line: rgba(255, 255, 255, .14);--line-strong: rgba(13, 255, 146, .42);--text: #f7f9ff;--muted: #d7e0ea;--subtle: #aab8c7;--green: #5cb85c;--green-hover: #00d977;--green-active: #00c069;--bright-green: #0dff92;--green-text: #0dff92;--danger: #ff8b8b;--max-width: 1200px;--header-height: 64px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;padding-top:var(--header-height);background:var(--brand-black);color:var(--text);font-family:"Noto Serif JP",serif;font-weight:400;line-height:1.7}body:before{content:"";position:fixed;inset:0;z-index:-1;background:linear-gradient(120deg,rgba(13,255,146,.06),transparent 34%),linear-gradient(180deg,#0d0d0d,#070808)}a{color:inherit}img{max-width:100%;height:auto}.site-icon{display:inline-block;width:1em;height:1em;overflow:visible;vertical-align:-.125em;flex-shrink:0}button,input,select,textarea{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--bright-green);outline-offset:3px}.skip-link{position:absolute;left:-999px;top:auto;z-index:2000;width:1px;height:1px;overflow:hidden}.skip-link:focus{left:1rem;top:1rem;width:auto;height:auto;padding:.55rem .9rem;background:var(--bright-green);color:#00170d;border-radius:8px;text-decoration:none}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.site-header{position:fixed;inset:0 0 auto;z-index:1000;background:#0d0d0df5;border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(8px)}.header-inner,.footer-inner,.section-inner{width:min(var(--max-width),calc(100% - 32px));margin:0 auto}.section-inner.narrow-section,.section-inner.faq-width-section{max-width:880px}.header-inner{min-height:var(--header-height);display:flex;align-items:center;justify-content:space-between;gap:1.25rem}.brand-link{display:inline-flex;align-items:center;gap:.55rem;font-size:1.65rem;font-weight:700;color:#fff;text-decoration:none}.brand-link img{width:32px;height:32px}.site-nav{display:flex;align-items:center;gap:1rem;font-size:.95rem;margin-left:auto}.site-nav a,.footer-links a,.footer-social a{color:var(--muted);text-decoration:none}.site-nav a:hover,.footer-links a:hover,.footer-social a:hover{color:#fff}.site-nav .nav-cta{color:#fff;background:var(--green);border:1px solid var(--green);border-radius:999px;padding:.42rem .9rem;font-weight:700}.site-nav .nav-cta:hover,.button-primary:hover{background:var(--green-hover);border-color:var(--green-hover);color:#fff}.site-nav .nav-cta:active,.button-primary:active{background:var(--green-active);border-color:var(--green-active);color:#fff}.menu-button{display:none;width:44px;height:40px;border:1px solid var(--line);border-radius:8px;background:transparent;color:#fff}.menu-button-icon,.menu-button-icon:before,.menu-button-icon:after{display:block;width:18px;height:2px;margin:0 auto;background:#fff;content:""}.menu-button-icon:before{transform:translateY(-6px)}.menu-button-icon:after{transform:translateY(4px)}.site-footer{border-top:1px solid var(--line);padding:2rem 0;background:#090909}.footer-inner{display:grid;grid-template-columns:1.1fr 1.2fr 1fr;gap:2rem;align-items:start}.footer-brand{display:flex;gap:.9rem;align-items:flex-start}.footer-brand p,.footer-contact p{margin:0;color:var(--muted);font-size:.93rem}.footer-company{color:#fff!important;font-weight:700}.footer-links,.footer-social{display:flex;flex-wrap:wrap;gap:.85rem;font-size:.93rem}.footer-contact{text-align:right}.footer-social{justify-content:flex-end;margin-top:.5rem}.footer-copy{margin-top:.5rem!important;color:var(--subtle)!important}.page-section{scroll-margin-top:calc(var(--header-height) + 24px);padding:clamp(3.25rem,7vw,6rem) 0}.section-kicker{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .85rem;border:1px solid rgba(13,255,146,.28);border-radius:999px;background:#0dff9217;color:var(--green-text);font-size:.86rem;font-weight:700}.section-title{margin:0;color:#fff;font-size:clamp(2rem,5vw,3.5rem);line-height:1.25}.section-lead{color:var(--muted);max-width:720px;margin:1rem auto 0;font-size:1.05rem}.center{text-align:center}.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.9fr);gap:clamp(2rem,6vw,4.5rem);align-items:center}.hero-copy{display:grid;gap:1.25rem;align-items:start}.hero-title{margin:0;color:#fff;font-size:clamp(2.4rem,6vw,4.25rem);line-height:1.22}.hero-lead{margin:0;color:var(--muted);font-size:1.1rem}.button-row{display:flex;flex-wrap:wrap;gap:.9rem}.action-row{margin-top:clamp(1.25rem,3vw,2rem)}.media-action-row{margin-top:clamp(1rem,2vw,1.5rem)}.card-action{margin:auto 0 0;padding-top:1.25rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.62rem 1.2rem;border-radius:999px;font-weight:700;text-decoration:none;border:1px solid transparent}.button-primary{background:var(--green);border-color:var(--green);color:#fff}.button-secondary{color:#fff;border-color:#ffffffa6;background:#ffffff0a}.button-full{width:100%}.hero-bullets,.check-list{padding:0;margin:0;list-style:none;display:grid;gap:.55rem}.hero-bullets li,.check-list li{color:var(--muted);display:flex;align-items:flex-start;gap:.5rem}.hero-bullets li:before,.check-list li:before{content:"✓";color:var(--bright-green);font-weight:700;flex:0 0 auto}.hero-visual{position:relative;overflow:hidden;border-radius:16px;box-shadow:0 18px 50px #00000059;background:radial-gradient(circle at 20% 10%,rgba(45,206,137,.12),transparent 30%),radial-gradient(circle at 80% 0%,rgba(255,255,255,.08),transparent 22%),linear-gradient(135deg,#ffffff0d,#00000059)}.hero-visual img{display:block;width:100%;object-fit:contain}.mission-card{position:absolute;inset:auto 1rem 1rem;border:1px solid var(--line);border-radius:14px;background:#000000c7;padding:1rem;box-shadow:0 8px 24px #0006}.mission-card h2,.mission-card p{margin:0}.mission-card h2{font-size:1.05rem}.mission-card p{color:var(--muted);font-size:.93rem;margin-top:.3rem}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:2rem}.two-column-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:2rem}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.95fr);gap:2.5rem;align-items:center}.card,.business-card,.development-card,.contact-card,.faq-item,.news-archive,.thankyou-card{border:1px solid var(--line);background:var(--panel-soft);box-shadow:0 14px 34px #00000047}.card,.contact-card,.faq-item,.news-archive,.thankyou-card{border-radius:8px}.business-card{border-radius:12px;background-color:#ffffff0d;border-color:#ffffff1a;backdrop-filter:blur(10px);transition:background-color .3s ease,border-color .3s ease,box-shadow .3s ease,transform .3s ease}.development-card{border-radius:16px;background:linear-gradient(135deg,#ffffff14,#ffffff05);border-color:#ffffff26;backdrop-filter:blur(15px);box-shadow:0 8px 32px #1f268726;transition:background .4s ease,border-color .4s ease,box-shadow .4s ease,transform .4s ease}.business-card:hover{background-color:#ffffff14;border-color:#fff3;transform:translateY(-5px);box-shadow:0 10px 25px #0000004d}.development-card:hover{background:linear-gradient(135deg,#ffffff1f,#ffffff0d);border-color:#ffffff40;transform:translateY(-8px);box-shadow:0 16px 40px #1f268740}.business-card,.development-card,.contact-card,.thankyou-card{padding:clamp(1.25rem,3vw,2rem)}.business-card,.development-card{display:flex;flex-direction:column}.business-card h3,.development-card h3,.contact-card h3{margin:0 0 .8rem;color:#fff;font-size:1.35rem;line-height:1.35}.business-card h3,.development-card h3{text-align:center}.business-card p,.development-card p,.contact-card p{color:var(--muted)}.icon-title{color:var(--green-text);font-size:3rem;line-height:1;margin-bottom:.7rem;text-align:center}.card-icon{transition:transform .3s ease}.card-icon-large{font-size:1.25em}.business-card:hover .card-icon{transform:scale(1.1)}.development-card:hover .card-icon{transform:scale(1.15) rotate(5deg)}.client-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-top:2rem}.client-logo{display:flex;align-items:center;justify-content:center;min-height:150px;padding:2rem 1rem;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:#ffffff08;transition:background-color .3s ease,border-color .3s ease,box-shadow .3s ease,transform .3s ease}.client-logo:hover{background:#ffffff0f;border-color:#fff3;transform:translateY(-5px);box-shadow:0 8px 20px #0003}.client-logo img{max-height:100px;object-fit:contain;filter:brightness(.9) grayscale(.2);transition:filter .3s ease}.client-logo:hover img{filter:brightness(1) grayscale(0)}.product-image{border-radius:8px}.subsidy-band{margin-top:2rem}.news-list{max-width:880px;margin:2rem auto 0;text-align:left}.news-item{display:grid;grid-template-columns:120px minmax(0,1fr);gap:1rem;align-items:start;padding:.65rem 0;color:var(--muted)}.news-item time{display:inline-flex;justify-content:center;border-radius:999px;background:var(--green);color:#fff;font-size:.88rem;font-weight:700;padding:.1rem .5rem}.news-item a{color:#fff;text-decoration:none}.news-item a:hover{text-decoration:underline}.news-archive{margin-top:1rem;padding:1rem}.news-archive summary{cursor:pointer;color:#fff;font-weight:700}.archive-year h3{margin:1rem 0 .25rem;color:#fff}.news-item-compact time{background:#ffffff2e}.company-table{width:100%;margin-top:2rem;border-collapse:collapse}.company-table th,.company-table td{padding:.85rem 0;border-bottom:1px solid var(--line);text-align:left}.company-table th{width:34%;color:#fff}.company-table td{color:var(--muted)}.profile{display:grid;grid-template-columns:160px minmax(0,1fr);gap:1.5rem;margin-top:2.5rem;align-items:start}.profile img{border-radius:50%}.profile h3{margin:0 0 .65rem;color:#fff}.profile p{color:var(--muted)}.history-block{margin-top:3rem}.history-block h3{margin:0 0 1.5rem;color:#fff;font-size:1.75rem;line-height:1.2}.history-block p{color:var(--muted)}.social-row{display:flex;flex-wrap:wrap;gap:.6rem}.social-row a{border:1px solid var(--line);border-radius:999px;padding:.35rem .75rem;color:var(--muted);text-decoration:none}.faq-list{display:grid;gap:.75rem;max-width:880px;margin:2rem auto 0}.faq-item{padding:1rem}.faq-item summary{cursor:pointer;color:#fff;font-weight:700}.faq-item summary::marker{color:var(--bright-green)}.faq-item[open]{border-color:#0dff92bf;box-shadow:0 12px 30px #00000047}.faq-item p{margin:.7rem 0 0;color:var(--muted)}.contact-hero{display:grid;gap:1.05rem;border:1px solid var(--line);border-radius:8px;padding:clamp(1.25rem,4vw,3rem);background:linear-gradient(135deg,rgba(13,255,146,.13),transparent 45%),linear-gradient(180deg,#ffffff14,#ffffff08)}.contact-hero .section-kicker{justify-self:start}.tag-row,.chip-row{display:flex;flex-wrap:wrap;gap:.55rem}.tag,.contact-chip{display:inline-flex;align-items:center;gap:.35rem;border:1px solid var(--line);border-radius:999px;background:#ffffff14;color:#fff;padding:.35rem .75rem;font-size:.95rem;font-weight:700}.contact-chip{cursor:pointer}.contact-chip[aria-pressed=true]{border-color:var(--line-strong);background:#0dff9229}.tag-icon{width:1em;height:1em}.contact-meta-line{display:flex;align-items:flex-start;gap:.75rem}.icon-circle{width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#27ae6026;color:var(--bright-green);font-size:1.1rem;flex-shrink:0}.meta-icon{width:1em;height:1em}.form-note{display:inline-flex;align-items:center;gap:.4rem}.contact-layout{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr);gap:1rem;margin-top:1rem}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.form-grid-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.form-field{display:grid;gap:.35rem;margin-top:1rem}.form-field label{color:var(--muted);font-size:.92rem;font-weight:700}.form-field input,.form-field select,.form-field textarea{width:100%;border:1px solid rgba(255,255,255,.28);border-radius:8px;background:#ffffff1a;color:#fff;padding:.75rem .85rem}.form-field textarea{resize:vertical}.form-field input::placeholder,.form-field textarea::placeholder{color:#ffffffa3}.privacy-check{display:flex;gap:.75rem;align-items:flex-start;border:1px solid var(--line);border-radius:8px;padding:.8rem;margin-top:1rem;color:var(--muted)}.privacy-check input{width:1.25rem;height:1.25rem;margin-top:.2rem}.form-message{display:none;border:1px solid rgba(255,139,139,.42);border-radius:8px;background:#ff8b8b1a;color:#ffe3e3;padding:.85rem;margin-bottom:1rem}.form-message.is-visible{display:block}.turnstile-box{margin-top:1rem}.muted{color:var(--muted)}.small{font-size:.92rem}.thankyou-hero{min-height:70vh;display:grid;place-items:center}.thankyou-card{max-width:820px;margin:0 auto;padding:clamp(1.5rem,5vw,3rem);text-align:center}.thankyou-card h1{margin:0;font-size:clamp(2rem,5vw,3rem);line-height:1.3}.thankyou-card ul{max-width:660px;margin:1.5rem auto 0;text-align:left}.thankyou-card .section-kicker{white-space:nowrap}.thankyou-card .check-list li>span{min-width:0}.thankyou-card .action-row{justify-content:center}.privacy-page{max-width:880px;margin:0 auto}.privacy-page h1{color:#fff;font-size:clamp(2.25rem,5vw,3.5rem)}.privacy-page h2{color:#fff;font-size:1.25rem;margin-top:2rem}.privacy-page p,.privacy-page li{color:var(--muted)}@media(max-width:960px){.header-inner{justify-content:flex-start;gap:0}.menu-button{display:inline-flex;align-items:center;justify-content:center;width:56px;margin-left:1rem;border-radius:6px}.site-nav{position:absolute;left:0;right:0;top:var(--header-height);display:none;flex-direction:column;align-items:stretch;padding:1rem;background:#0d0d0dfa;border-bottom:1px solid var(--line)}.site-nav.is-open{display:flex}.site-nav a{padding:.55rem 0}.site-nav .nav-cta{text-align:center;padding:.65rem 1rem}.hero-grid,.content-grid,.contact-layout,.footer-inner{grid-template-columns:1fr}.footer-contact{text-align:left}.footer-social{justify-content:flex-start}.card-grid,.two-column-grid,.client-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.header-inner,.footer-inner,.section-inner{width:min(var(--max-width),calc(100% - 24px))}.brand-link{font-size:1.7rem}.page-section{padding:3.75rem 0 0}.section-inner{padding-inline:24px}.section-kicker{justify-self:start;font-size:1.1rem}.section-title{padding-top:.5rem;font-size:28px;line-height:1.25}#clients .section-title{font-size:1.2rem;line-height:1}.hero-title{padding-top:.5rem;font-size:28px;line-height:1.5}.hero-lead{font-size:1.25rem;line-height:1.7}.button{min-height:38px;padding:.375rem 1.5rem;line-height:1.5}.hero-bullets,.check-list{gap:.35rem}.hero-bullets li,.check-list li{line-height:1.5}.card-grid,.two-column-grid,.form-grid,.form-grid-two,.profile{grid-template-columns:1fr}.mission-card{position:absolute;inset:auto .75rem .75rem;margin:0}.business-card,.development-card{padding:1.75rem}.client-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;margin-top:1.5rem}.client-logo{min-height:110px;padding:1.25rem}.news-item{grid-template-columns:1fr;gap:.35rem}.news-item time{justify-self:start}}
