:root{--color-white:#ffffff;--color-gray-light:#f8fafc;--color-gray:#e2e8f0;--color-charcoal:#334155;--color-navy:#0f172a;--color-orange:#ea580c}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Noto Sans JP,sans-serif;font-size:17px;color:var(--color-charcoal);background-color:var(--color-white);line-height:1.7;-webkit-font-smoothing:antialiased}a{text-decoration:none;color:inherit}img{max-width:100%;height:auto;display:block}.container{max-width:1200px;margin:0 auto;padding:0 5%}.bg-light{background-color:var(--color-gray-light)}.bg-navy{background-color:var(--color-navy)}.bg-navy,.light-text{color:var(--color-white)}.sub-title{display:block;font-size:.85rem;font-weight:700;color:var(--color-orange);letter-spacing:.1em;margin-bottom:.5rem}h2{font-size:2.2rem;font-weight:300;color:var(--color-navy);line-height:1.3;margin-bottom:1rem}.bg-navy .sub-title,.bg-navy h2,.light-text h2{color:var(--color-white)}.section-lead{font-size:1.1rem;color:#475569}.section-header{margin-bottom:4rem}.btn-primary,.section-header.center{text-align:center}.btn-primary{display:inline-block;background:var(--color-orange);color:var(--color-white);padding:.8rem 2rem;border-radius:4px;font-weight:700;transition:opacity .3s}.btn-primary:hover{opacity:.9}.btn-primary.large{padding:1rem 3rem;font-size:1.1rem}.text-link{display:inline-block;color:var(--color-orange);font-weight:500;margin-top:1.5rem;transition:transform .3s}.text-link:hover{transform:translateX(5px)}.site-header{background:var(--color-white);padding:1.5rem 5%;border-bottom:1px solid var(--color-gray);position:-webkit-sticky;position:sticky;top:0;z-index:100}.header-container{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto}.logo{font-size:1.5rem;font-weight:700;color:var(--color-navy);letter-spacing:1px}.logo-sub{font-size:.85rem;font-weight:400;margin-left:.5rem}.global-nav ul{display:flex;gap:2rem;list-style:none}.global-nav a{font-size:.95rem;font-weight:500}.hamburger-menu{display:none;background:none;border:none;font-size:1.5rem;color:var(--color-navy);cursor:pointer}.hero{position:relative;height:700px;width:100%;display:flex;align-items:center;background:var(--color-gray-light)}.hero-bg{position:absolute;top:0;left:0;z-index:1}.hero-bg,.hero-bg img{width:100%;height:100%}.hero-bg img{object-fit:cover}.hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,rgba(15,23,42,.8),rgba(15,23,42,.4) 50%,rgba(15,23,42,.1));z-index:2}.hero-content{position:relative;z-index:3;padding:0 5%;max-width:1200px;margin:0 auto;width:100%;color:var(--color-white)}.badge-outline{display:inline-block;font-size:.9rem;font-weight:500;letter-spacing:.05em;margin-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.5);padding-bottom:.3rem}.hero-title{font-size:3.8rem;font-weight:300;line-height:1.25;margin-bottom:1.5rem;letter-spacing:-.02em;color:var(--color-white)}.inline-wrap{display:inline-block;font-weight:700}.hero-desc{font-size:1.1rem;font-weight:400;line-height:1.8;margin-bottom:3rem;max-width:550px;color:#f1f5f9}.hero-actions{display:flex;align-items:center;gap:2rem}.btn-secondary{color:var(--color-white);text-decoration:none;font-weight:500;font-size:1.1rem;border-bottom:1px solid transparent;transition:border-color .3s}.btn-secondary:hover{border-color:var(--color-white)}.section-services{padding:6rem 0}.service-row{display:flex;align-items:center;gap:4rem;padding:4rem 5%;max-width:1200px;margin:0 auto}.service-row.reverse{flex-direction:row-reverse}.service-row-img{flex:1 1;border-radius:8px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.05)}.service-row-content{flex:1 1}.service-icon{font-size:2.5rem;color:var(--color-orange);margin-bottom:1.5rem}.service-row-content h3{font-size:1.8rem;font-weight:500;color:var(--color-navy);margin-bottom:1rem}.bg-navy .service-row-content h3{color:var(--color-white)}.section-large-project{position:relative;padding:6rem 0}.lp-bg{position:absolute;top:0;left:0;z-index:1}.lp-bg,.lp-bg img{width:100%;height:100%}.lp-bg img{object-fit:cover}.lp-bg .overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(15,23,42,.85)}.lp-container{position:relative;z-index:2;display:flex;justify-content:flex-end}.lp-content-box{background:transparent;max-width:500px}.lp-content-box,.lp-content-box h2{color:var(--color-white)}.lp-content-box p{margin-bottom:2rem;color:#cbd5e1}.clean-list{list-style:none;margin-bottom:2.5rem}.clean-list li{margin-bottom:1rem;font-weight:500;display:flex;align-items:center;gap:.8rem}.clean-list i{color:var(--color-orange)}.section-merits{padding:6rem 0}.merit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));grid-gap:4rem 3rem;gap:4rem 3rem}.merit-item{position:relative;padding-top:1.5rem}.merit-number{position:absolute;top:-1.5rem;left:-1rem;font-size:6rem;font-weight:900;color:var(--color-orange);opacity:.12;line-height:1;z-index:1}.merit-item h3{position:relative;z-index:2;font-size:1.3rem;font-weight:700;color:var(--color-navy);margin-bottom:1rem;border-bottom:2px solid var(--color-orange);padding-bottom:.5rem;display:inline-block}.merit-item p{position:relative;z-index:2;font-size:1rem}.section-info{padding:6rem 0}.info-split{display:flex;gap:4rem;align-items:flex-start}.info-block{flex:1 1}.bg-white-box{background:var(--color-white);padding:3.5rem 3rem;border-radius:8px;box-shadow:0 10px 40px rgba(0,0,0,.06);border:1px solid var(--color-gray)}.icon-list-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));grid-gap:2rem 1.5rem;gap:2rem 1.5rem;margin-top:3rem}.icon-list-item{text-align:center}.icon-list-item i{font-size:2rem;color:var(--color-navy);margin-bottom:.8rem}.icon-list-item span{display:block;font-weight:500;font-size:.95rem}.prep-list{list-style:none;margin-top:2.5rem}.prep-list li{margin-bottom:1.5rem;display:flex;align-items:center;gap:1rem;border-bottom:1px solid var(--color-gray);padding-bottom:1.5rem}.prep-list li:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.prep-list i{font-size:1.5rem;color:var(--color-orange);width:30px;text-align:center}.section-flow{padding:6rem 0}.clean-steps{display:flex;justify-content:space-between;position:relative}.step-item{flex:1 1;text-align:center;position:relative;z-index:2;padding:0 1rem}.step-circle{width:60px;height:60px;background:var(--color-white);border:2px solid var(--color-navy);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:700;color:var(--color-navy);margin:0 auto 1.5rem}.step-item h4{font-size:1.1rem;color:var(--color-navy);margin-bottom:.8rem}.step-item p{font-size:.9rem;color:#475569}.step-line{flex:1 1;height:2px;background:var(--color-gray);margin-top:30px;position:relative;z-index:1}.section-faq{padding:6rem 0}.faq-accordion{max-width:800px;margin:0 auto}.faq-item{border-bottom:1px solid var(--color-gray)}.faq-q{display:flex;gap:1.5rem;align-items:flex-start;padding:2rem 0;cursor:pointer;list-style:none;position:relative}.faq-q::-webkit-details-marker{display:none}.badge-q{background:var(--color-navy);color:var(--color-white);width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:4px;font-weight:700;flex-shrink:0}.faq-q h4{font-size:1.15rem;color:var(--color-navy);margin-top:.1rem;flex:1 1}.faq-icon{color:var(--color-orange);transition:transform .3s;margin-top:.3rem}details[open] .faq-icon{transform:rotate(180deg)}.faq-a{padding:0 0 2rem calc(30px + 1.5rem);color:#475569}.faq-a p{font-size:1.05rem}.section-related{padding:6rem 0}.related-list{display:flex;flex-direction:column;gap:1rem;max-width:800px;margin:0 auto}.related-item{display:flex;justify-content:space-between;align-items:center;background:var(--color-white);padding:1.5rem 2rem;border-radius:4px;font-weight:500;transition:box-shadow .3s;border:1px solid var(--color-gray)}.related-item:hover{box-shadow:0 4px 15px rgba(0,0,0,.05)}.site-cta{background:var(--color-navy);padding:6rem 0;text-align:center}.site-cta,.site-cta h2{color:var(--color-white)}.site-cta h2{margin-bottom:1rem}.site-cta p{margin-bottom:3rem;color:#cbd5e1}.site-footer{background:var(--color-white);padding:4rem 0 2rem;border-top:1px solid var(--color-gray)}.footer-top{display:flex;justify-content:space-between;margin-bottom:3rem}.footer-brand h3{font-size:1.5rem;color:var(--color-navy);margin-bottom:.5rem}.footer-nav{display:flex;gap:2rem}.footer-nav a{font-weight:500}.footer-bottom{text-align:center;color:#64748b;font-size:.9rem;padding-top:2rem;border-top:1px solid var(--color-gray)}@media (max-width:768px){.global-nav,.header-cta{display:none}.hamburger-menu{display:block}.section-faq,.section-flow,.section-info,.section-large-project,.section-merits,.section-related,.section-services,.site-cta{padding:4rem 0}.hero{height:auto;min-height:85vh;padding:5rem 0 3rem;align-items:center}.hero-overlay{background:linear-gradient(180deg,rgba(15,23,42,.4),rgba(15,23,42,.8))}.hero-content{text-align:left;margin-top:auto;padding:10vh 5% 0}.hero-title{font-size:1.8rem;margin-bottom:1.2rem;letter-spacing:-.04em}.inline-wrap{display:inline-block;white-space:nowrap}.hero-desc{font-size:1rem;margin-bottom:2.5rem}.hero-actions{flex-direction:column;align-items:flex-start;gap:1.5rem}.btn-primary{width:100%;text-align:center}.service-row{gap:1.5rem;padding:2rem 5%}.info-split,.service-row,.service-row.reverse{flex-direction:column}.info-split{gap:3rem}.bg-white-box{padding:2.5rem 1.5rem}.merit-grid{gap:3rem 1.5rem}.clean-steps{flex-direction:column;gap:2rem}.step-line{display:none}.step-item{display:flex;flex-direction:column;align-items:center}.footer-top{flex-direction:column;gap:2rem}.footer-nav{flex-direction:column;gap:1rem}.logo{font-size:1.2rem}.logo-sub{display:block;font-size:.75rem;margin-left:0;margin-top:2px}}.btn-cta{display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%;border-radius:6px;font-weight:700;text-decoration:none;line-height:1.4;transition:opacity .3s,transform .2s;border:none;box-sizing:border-box;padding:16px 20px;min-height:72px}.btn-cta:hover{opacity:.9;transform:translateY(-2px)}.btn-cta svg{flex-shrink:0}.btn-phone{background:var(--color-navy);color:var(--color-white)}.btn-estimate{background:var(--color-orange)}.btn-estimate,.btn-line{color:var(--color-white)}.btn-line{background:#06C755}.cta-text{display:flex;flex-direction:column;align-items:center;text-align:center}.cta-text-main{font-size:1.15rem}.cta-text-sub{font-size:.85rem;font-weight:500;margin-top:2px}@media (max-width:768px){.btn-cta{width:100%}}