:root{--primary-color:#00b8d4;--primary-dark:#0097a7;--primary-light:#4dd0e1;--gray-50:#fafafa;--gray-100:#f5f5f5;--gray-200:#eee;--gray-300:#e0e0e0;--gray-400:#bdbdbd;--gray-500:#9e9e9e;--gray-600:#757575;--gray-700:#616161;--gray-800:#424242;--gray-900:#212121;--white:#fff;--max-width:1100px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Noto Sans JP,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.8;color:var(--gray-800);background:var(--white);-webkit-font-smoothing:antialiased}.pc-only{display:inline}.tech-header{position:fixed;top:0;left:0;right:0;background:var(--white);z-index:1000;padding:1rem 0;border-bottom:1px solid var(--gray-200)}.tech-nav{max-width:var(--max-width);margin:0 auto;padding:0 2rem;justify-content:space-between}.tech-logo,.tech-nav{display:flex;align-items:center}.tech-logo{gap:.75rem;font-size:1.25rem;font-weight:700;color:var(--gray-900);text-decoration:none}.logo-image{height:40px;width:auto}.tech-nav-links{display:flex;gap:2.5rem;list-style:none}.tech-nav-links a{color:var(--gray-700);text-decoration:none;font-size:.875rem;font-weight:500;transition:color .2s;position:relative}.tech-nav-links a.active,.tech-nav-links a:hover{color:var(--primary-color)}.tech-nav-links a.active:after{content:"";position:absolute;bottom:-6px;left:0;right:0;height:2px;background:var(--primary-color);border-radius:1px}.mobile-menu-button{display:none;background:none;border:none;font-size:1.25rem;color:var(--gray-700);cursor:pointer;padding:.5rem}.mobile-menu-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:999}.hero-section{margin-top:60px;padding:6rem 2rem 5rem;background:var(--white);text-align:center}.hero-container{max-width:800px;margin:0 auto}.hero-lead{font-size:.875rem;color:var(--primary-color);font-weight:600;letter-spacing:.1em;margin-bottom:1.5rem}.hero-title{font-size:2.5rem;font-weight:700;line-height:1.5;color:var(--gray-900);margin-bottom:2rem;letter-spacing:.02em}.hero-description{font-size:1rem;color:var(--gray-600);line-height:2;margin-bottom:3rem}.hero-cta{display:flex;justify-content:center}.page-hero{margin-top:60px;padding:4rem 2rem;background:var(--gray-50);text-align:center;border-bottom:1px solid var(--gray-200)}.page-hero-content{max-width:var(--max-width);margin:0 auto}.page-hero-title{font-size:2rem;font-weight:700;color:var(--gray-900);margin-bottom:1rem}.page-hero-subtitle{font-size:1rem;color:var(--gray-600);line-height:1.8}.btn-primary{display:inline-flex;align-items:center;gap:.5rem;background:var(--primary-color);color:var(--white);padding:1rem 2.5rem;border-radius:4px;text-decoration:none;font-size:.9375rem;font-weight:600;transition:background-color .2s}.btn-primary:hover{background:var(--primary-dark)}.btn-arrow{transition:transform .2s}.btn-primary:hover .btn-arrow{transform:translateX(4px)}.btn-secondary{display:inline-flex;align-items:center;gap:.5rem;background:transparent;color:var(--gray-800);padding:.875rem 1.5rem;border:1px solid var(--gray-300);border-radius:4px;text-decoration:none;font-size:.875rem;font-weight:500;transition:all .2s}.btn-secondary:hover{border-color:var(--primary-color);color:var(--primary-color)}.section{max-width:var(--max-width);margin:0 auto;padding:5rem 2rem}.section-header{text-align:center;margin-bottom:3.5rem}.section-label{font-size:.75rem;color:var(--primary-color);font-weight:600;letter-spacing:.15em;text-transform:uppercase;margin-bottom:1rem}.section-title{font-size:1.75rem;font-weight:700;color:var(--gray-900);letter-spacing:.02em}.section-description{font-size:.9375rem;color:var(--gray-600);margin-top:1rem;line-height:1.8}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:2rem;gap:2rem}.services-grid-2{grid-template-columns:repeat(2,1fr);max-width:800px;margin:0 auto}.service-card{background:var(--white);border:1px solid var(--gray-200);border-radius:8px;padding:2rem;text-decoration:none;color:inherit;transition:all .2s}.service-card:hover{border-color:var(--primary-color);box-shadow:0 4px 20px rgba(0,0,0,.06)}.service-icon{width:48px;height:48px;background:var(--gray-50);border-radius:8px;display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem;color:var(--primary-color);font-size:1.25rem}.service-card h3{font-size:1.125rem;font-weight:600;color:var(--gray-900);margin-bottom:.75rem}.service-card p{font-size:.875rem;color:var(--gray-600);line-height:1.7;margin-bottom:1.25rem}.service-link{display:inline-flex;align-items:center;gap:.375rem;font-size:.8125rem;color:var(--primary-color);font-weight:500}.service-link .arrow{transition:transform .2s}.service-card:hover .service-link .arrow{transform:translateX(4px)}.service-card-simple{display:flex;gap:1.5rem;background:var(--white);border:1px solid var(--gray-200);border-radius:8px;padding:2rem;text-decoration:none;color:inherit;transition:all .2s}.service-card-simple:hover{border-color:var(--primary-color);box-shadow:0 4px 20px rgba(0,0,0,.06)}.service-card-number{font-size:2.5rem;font-weight:700;color:var(--primary-color);line-height:1;opacity:.3;flex-shrink:0}.service-card-body h3{font-size:1.25rem;font-weight:600;color:var(--gray-900);margin-bottom:.75rem}.service-card-body p{font-size:.9375rem;color:var(--gray-600);line-height:1.7;margin-bottom:1.25rem}.service-card-simple:hover .service-link .arrow{transform:translateX(4px)}.features-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:3rem;gap:3rem}.feature-item{text-align:center}.feature-number{font-size:3rem;font-weight:700;color:var(--primary-color);line-height:1;margin-bottom:1rem}.feature-item h3{font-size:1.125rem;font-weight:600;color:var(--gray-900);margin-bottom:.75rem}.feature-item p{font-size:.875rem;color:var(--gray-600);line-height:1.7}.clients-section{background:var(--gray-50);padding:4rem 0;overflow:hidden}.clients-container{max-width:var(--max-width);margin:0 auto}.clients-title{text-align:center;font-size:1.5rem;color:var(--gray-800);font-weight:700;margin-bottom:2.5rem;letter-spacing:.02em}.clients-marquee{overflow:hidden;position:relative}.clients-marquee:after,.clients-marquee:before{content:"";position:absolute;top:0;bottom:0;width:100px;z-index:2;pointer-events:none}.clients-marquee:before{left:0;background:linear-gradient(to right,var(--gray-50),transparent)}.clients-marquee:after{right:0;background:linear-gradient(to left,var(--gray-50),transparent)}.clients-track{display:flex;align-items:center;gap:4rem;animation:marquee 20s linear infinite;width:max-content}.clients-track:hover{animation-play-state:paused}@keyframes marquee{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.client-item{flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:1.5rem 2.5rem;background:#fff;border-radius:8px;border:1px solid var(--gray-200)}.client-logo{height:50px;width:auto;max-width:180px;object-fit:contain}.stats-section{background:var(--white);padding:4rem 2rem;border-top:1px solid var(--gray-200);border-bottom:1px solid var(--gray-200)}.stats-container{max-width:var(--max-width);margin:0 auto}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:2rem;gap:2rem;text-align:center}.stat-item{padding:1rem}.stat-number{font-size:3rem;font-weight:700;color:var(--primary-color);line-height:1;margin-bottom:.5rem}.stat-unit{font-size:1.25rem}.stat-label{font-size:.875rem;color:var(--gray-600)}.cta-section{background:var(--gray-900);padding:5rem 2rem;text-align:center}.cta-container{max-width:600px;margin:0 auto}.cta-title{font-size:1.5rem;font-weight:700;color:var(--white);margin-bottom:1rem}.cta-description{font-size:.9375rem;color:var(--gray-400);margin-bottom:2rem;line-height:1.8}.cta-section .btn-primary{background:var(--primary-color)}.cta-section .btn-primary:hover{background:var(--primary-light)}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:2rem;gap:2rem}.tech-card{background:var(--white);border:1px solid var(--gray-200);border-radius:8px;padding:2rem;transition:border-color .2s}.tech-card:hover{border-color:var(--gray-300)}.tech-card h3{font-size:1.125rem;font-weight:600;color:var(--gray-900);margin-bottom:.75rem}.tech-card p{font-size:.875rem;color:var(--gray-600);line-height:1.7}.feature-icon{width:48px;height:48px;background:var(--gray-50);border-radius:8px;display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem;color:var(--primary-color);font-size:1.25rem}.mission-vision-container{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:3rem;gap:3rem;max-width:900px;margin:0 auto}.mission-vision-item{padding:2rem;border-left:3px solid var(--primary-color)}.mission-vision-item h3{font-size:.75rem;font-weight:600;color:var(--primary-color);letter-spacing:.1em;text-transform:uppercase;margin-bottom:1rem}.mission-vision-title{font-size:1.25rem;font-weight:700;color:var(--gray-900);margin-bottom:1rem;line-height:1.5}.mission-vision-text{font-size:.9375rem;color:var(--gray-600);line-height:1.8}.service-detail-intro{max-width:700px;margin:0 auto;text-align:center}.service-detail-intro p{font-size:1.0625rem;color:var(--gray-700);line-height:2}.case-studies-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:2rem;gap:2rem;max-width:900px;margin:0 auto}.case-study-card{background:var(--white);border:1px solid var(--gray-200);border-radius:8px;overflow:hidden}.case-study-header{padding:1.25rem 1.5rem;background:var(--gray-50);border-bottom:1px solid var(--gray-200)}.case-study-header h3{font-size:1.125rem;font-weight:600;color:var(--gray-900);margin-bottom:.25rem}.case-study-industry{font-size:.8125rem;color:var(--gray-500)}.case-study-content{padding:1.5rem}.case-study-item{margin-bottom:1rem}.case-study-item:last-child{margin-bottom:0}.case-study-label{display:inline-block;font-size:.75rem;font-weight:600;color:var(--primary-color);background:rgba(0,184,212,.1);padding:.25rem .5rem;border-radius:4px;margin-bottom:.5rem}.case-study-item p{font-size:.9375rem;color:var(--gray-700);line-height:1.6}.case-study-result{font-weight:600;color:var(--gray-900)!important}.contact-info-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:2rem;gap:2rem;max-width:800px;margin:0 auto}.contact-info-card{display:flex;align-items:flex-start;gap:1rem;padding:1.5rem;background:var(--gray-50);border-radius:8px}.contact-info-icon{width:48px;height:48px;background:var(--white);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--primary-color);font-size:1.25rem;flex-shrink:0}.contact-info-card h3{font-size:.875rem;font-weight:600;color:var(--gray-600);margin-bottom:.25rem}.contact-info-main{font-size:1rem;font-weight:600;color:var(--gray-900);margin-bottom:.25rem}.contact-info-sub{font-size:.8125rem;color:var(--gray-500)}.company-info-section table{width:100%;border-collapse:collapse}.company-info-section tr{border-bottom:1px solid var(--gray-200)}.company-info-section td{padding:1rem 0;font-size:.9375rem}.form-group{margin-bottom:1.5rem}.form-label{display:block;font-size:.875rem;font-weight:600;color:var(--gray-700);margin-bottom:.5rem}.form-input{width:100%;padding:.875rem 1rem;border:1px solid var(--gray-300);border-radius:4px;font-size:1rem;font-family:inherit;transition:border-color .2s}.form-input:focus{outline:none;border-color:var(--primary-color)}.form-textarea{min-height:150px;resize:vertical}.tech-footer{background:var(--gray-900);color:var(--white);padding:4rem 2rem 2rem}.footer-content{max-width:var(--max-width);display:grid;grid-template-columns:2fr 1fr 1fr 1fr;grid-gap:3rem;gap:3rem;margin:0 auto 3rem}.footer-brand{font-size:1rem;font-weight:600;margin-bottom:1rem}.footer-description{font-size:.8125rem;color:var(--gray-400);line-height:1.7}.footer-section h3{font-size:.75rem;font-weight:600;color:var(--gray-400);letter-spacing:.1em;text-transform:uppercase;margin-bottom:1rem}.footer-section ul{list-style:none}.footer-section li{margin-bottom:.5rem}.footer-section a{color:var(--gray-300);text-decoration:none;font-size:.875rem;transition:color .2s}.footer-section a:hover{color:var(--white)}.footer-bottom{max-width:var(--max-width);margin:0 auto;padding-top:2rem;border-top:1px solid var(--gray-700);text-align:center;font-size:.75rem;color:var(--gray-500)}@media (max-width:768px){.pc-only{display:none}.mobile-menu-button{display:block}.tech-nav-links{position:fixed;top:0;right:-100%;height:100vh;width:80%;max-width:300px;background:var(--white);flex-direction:column;gap:0;padding:5rem 0 2rem;box-shadow:-4px 0 20px rgba(0,0,0,.1);transition:right .3s;z-index:1000}.tech-nav-links.mobile-menu-open{right:0}.tech-nav-links li{border-bottom:1px solid var(--gray-200)}.tech-nav-links a{display:block;padding:1rem 2rem;font-size:1rem}.tech-nav-links a.active:after{display:none}.tech-nav-links a.active{background:var(--gray-50);color:var(--primary-color)}.hero-section{padding:4rem 1.5rem 3rem}.hero-title{font-size:1.75rem}.hero-title br{display:none}.hero-description{font-size:.9375rem}.section{padding:4rem 1.5rem}.section-title{font-size:1.5rem}.features-grid,.services-grid,.stats-grid{grid-template-columns:1fr}.feature-item{text-align:left;display:grid;grid-template-columns:auto 1fr;grid-gap:1rem;gap:1rem;align-items:start}.feature-number{font-size:2rem;margin-bottom:0}.footer-content{grid-template-columns:1fr;gap:2rem}.clients-track{gap:2rem}.client-item{padding:.75rem 1.5rem}.client-logo{height:32px}.clients-marquee:after,.clients-marquee:before{width:50px}.contact-info-grid{grid-template-columns:1fr}.page-hero-title{font-size:1.5rem}.case-studies-grid,.services-grid-2{grid-template-columns:1fr}.service-card-simple{flex-direction:column;gap:1rem}.service-card-number{font-size:2rem}.mission-vision-container{grid-template-columns:1fr;gap:2rem}}@media (max-width:480px){.hero-title{font-size:1.5rem}.btn-primary{width:100%;justify-content:center}.stat-number{font-size:2.5rem}}