:root{--container: min(1080px, 95vw);--brand-bg: #1f2a44;--brand-text: #ffffff;--accent: #062b5b;--muted-bg: #fafafa;--muted-border: #eeeeee;--muted-text: #555555}html{scroll-behavior:smooth}body{font-family:Noto Sans JP,-apple-system,BlinkMacSystemFont,Segoe UI,Hiragino Kaku Gothic ProN,Hiragino Sans,Noto Sans,Arial,Meiryo,sans-serif;margin:0;padding:0;line-height:1.6;color:#333}*,*:before,*:after{box-sizing:border-box}header{position:fixed;top:0;width:100%;background:var(--brand-bg);color:var(--brand-text);z-index:1000}.navbar{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;max-width:var(--container);margin:0 auto}.logo{color:var(--brand-text);text-decoration:none;font-weight:700;font-size:1.2rem}.nav-links{display:flex;list-style:none;margin:0;padding:0;gap:.5rem}.nav-links a{color:var(--brand-text);text-decoration:none;padding:.25rem .75rem;border-bottom:2px solid transparent;transition:border-color .2s}.nav-links a.active,.nav-links a:hover{border-bottom-color:var(--brand-text)}.hamburger{display:none;cursor:pointer;font-size:1.5rem;background:none;border:none;color:var(--brand-text);padding:.25rem}.hero{margin-top:56px;position:relative;text-align:center;height:clamp(300px,50vh,500px);display:flex;align-items:center;justify-content:center;overflow:hidden}.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero-text{position:relative;z-index:2;color:#fff;background:#000000bf;padding:2rem 2.5rem;border-radius:12px;box-shadow:0 8px 32px #0006;text-align:center;max-width:800px;width:90%}.hero-text h2{margin:0 0 1rem;line-height:1.4;font-size:clamp(1.25rem,3vw,2rem);font-weight:600}.hero-text p{margin:0;font-size:clamp(.9rem,2vw,1.1rem);line-height:1.5;opacity:.95}footer{text-align:center;padding:1.5rem 1rem;background:#f4f4f4;margin-top:2rem;font-size:.9rem;color:var(--muted-text)}main>section:not(.hero){max-width:var(--container);margin:0 auto;padding:4rem 1rem;text-align:center}main>section:not(.hero):not(:last-child){border-bottom:1px solid var(--muted-border)}.page-header{margin-top:56px;padding:3rem 1rem 2rem;background:var(--muted-bg);text-align:center}.page-header h1{color:var(--brand-bg);margin:0;font-size:2rem}.vision{background:var(--brand-bg);color:var(--brand-text);border-radius:12px;padding:3rem 2rem}.vision h2{margin-bottom:1.5rem;font-size:1.8rem}.vision p{max-width:700px;margin:0 auto;line-height:1.8;font-size:1.05rem}.trust{background:var(--muted-bg);border-radius:12px;box-shadow:0 4px 12px #0000000d}.trust h2{color:var(--brand-bg);font-size:1.8rem;margin-bottom:1rem}.proof{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;margin:2rem 0}.card{background:#fff;padding:1.5rem;border-radius:8px;border:1px solid var(--muted-border);box-shadow:0 2px 8px #0000000d}.card strong{display:block;color:var(--brand-bg);margin-bottom:.5rem;font-size:1.05rem}.muted{color:var(--muted-text);font-size:.9rem}.about h2{color:var(--brand-bg);margin-bottom:1.5rem;font-size:1.8rem}.about h3{color:var(--accent);margin:2rem 0 1rem;font-size:1.3rem}.about-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2rem;margin:2rem 0;text-align:left}.about-card{background:var(--muted-bg);padding:2rem;border-radius:12px;border:1px solid var(--muted-border)}.about-card h4{color:var(--brand-bg);margin:0 0 1rem;font-size:1.1rem}.about-card ul{list-style:none;padding:0;margin:0}.about-card li{padding:.5rem 0 .5rem 1.5rem;border-bottom:1px solid var(--muted-border);position:relative}.about-card li:before{content:"✓";position:absolute;left:0;color:var(--brand-bg);font-weight:700}.services h2{color:var(--brand-bg);margin-bottom:1.5rem;font-size:1.8rem}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin:2rem 0;text-align:left}.service-card{background:#fff;padding:2rem;border-radius:12px;border:1px solid var(--muted-border);box-shadow:0 4px 12px #0000000d;transition:transform .2s,box-shadow .2s}.service-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #0000001a}.service-card h3{color:var(--brand-bg);margin:0 0 1rem;font-size:1.3rem}.service-card p{margin-bottom:1rem;line-height:1.6}.service-card ul{list-style:none;padding:0;margin:0}.service-card li{padding:.4rem 0 .4rem 1.5rem;border-bottom:1px solid var(--muted-border);position:relative}.service-card li:before{content:"→";position:absolute;left:0;color:var(--brand-bg)}.works-section h2{color:var(--brand-bg);margin-bottom:1.5rem;font-size:1.8rem}.case-studies{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin:2rem 0;text-align:left}.case-card{background:#fff;padding:2rem;border-radius:12px;border:1px solid var(--muted-border);box-shadow:0 4px 12px #0000000d;transition:transform .2s,box-shadow .2s}.case-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #0000001a}.case-card h3{color:var(--brand-bg);margin:0 0 1rem;font-size:1.3rem}.case-card p{margin-bottom:1rem;line-height:1.6}.case-details h4{color:var(--accent);margin:1.5rem 0 .75rem;font-size:1rem;border-bottom:2px solid var(--accent);padding-bottom:.4rem}.case-details ul{list-style:none;padding:0;margin:0 0 1rem}.case-details li{padding:.4rem 0 .4rem 1.5rem;border-bottom:1px solid var(--muted-border);position:relative}.case-details li:before{content:"•";position:absolute;left:0;color:var(--brand-bg);font-weight:700}.case-study-detail{text-align:left}.case-study-detail h2{color:var(--brand-bg);margin:2rem 0 1rem;font-size:1.5rem}.case-study-detail ul{padding-left:1.5rem;margin:1rem 0}.case-study-detail li{padding:.3rem 0}.contact h2{color:var(--brand-bg);margin-bottom:1.5rem;font-size:1.8rem}.contact-content{display:flex;justify-content:center;margin:2rem auto;max-width:600px}.contact-form{background:var(--muted-bg);padding:2rem;border-radius:12px;border:1px solid var(--muted-border);width:100%;text-align:left}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--brand-bg)}.required{color:#e74c3c}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem;border:1px solid var(--muted-border);border-radius:6px;font-size:1rem;font-family:inherit;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--brand-bg);box-shadow:0 0 0 3px #1f2a441a}.error-page{margin-top:56px;padding:6rem 1rem;text-align:center}.error-page h1{color:var(--brand-bg);margin-bottom:1rem}.btn{display:inline-block;padding:.75rem 1.5rem;background:var(--brand-bg);color:#fff;text-decoration:none;border-radius:6px;border:none;font-size:1rem;font-family:inherit;cursor:pointer;transition:background .2s,transform .2s}.btn:hover{background:var(--accent);transform:translateY(-1px)}.btn-link{color:var(--brand-bg);text-decoration:none;font-weight:600;transition:color .2s}.btn-link:hover{color:var(--accent);text-decoration:underline}@media(max-width:768px){.nav-links{display:none;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:var(--brand-bg);padding:1rem;gap:0}.nav-links.active{display:flex}.nav-links li{margin:0}.nav-links a{display:block;padding:.75rem 1rem;border-bottom:none}.nav-links a.active,.nav-links a:hover{background:#ffffff1a;border-bottom:none}.hamburger{display:block}main>section:not(.hero){padding:3rem 1rem}.about-content,.services-grid,.case-studies{grid-template-columns:1fr}.hero-text{padding:1.5rem}}@media(max-width:480px){.hero-text{padding:1rem;width:95%}.proof{grid-template-columns:1fr}main>section:not(.hero){padding:2rem .75rem}}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px}.navbar .nav-links a:focus-visible,.hamburger:focus-visible{outline-color:var(--brand-text);outline-offset:3px}
