:root{--primary: #0056b3;--primary-dark: #003d80;--accent: #f0ad4e;--dark: #1a1a1a;--light: #f8f9fa;--text: #333;--text-muted: #666;--white: #ffffff;--container-width: 1200px;--transition: all .3s ease}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Noto Sans JP,Inter,sans-serif;color:var(--text);background-color:var(--white);line-height:1.6}.container{max-width:var(--container-width);margin:0 auto;padding:0 1.5rem}.header{background-color:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:fixed;top:0;left:0;width:100%;z-index:1000;box-shadow:0 2px 10px #0000000d}.header .container{display:flex;justify-content:space-between;align-items:center;height:80px}.logo{font-size:1.5rem;font-weight:700;color:var(--primary);letter-spacing:-.5px}.nav ul{display:flex;list-style:none;gap:2rem}.nav a{text-decoration:none;color:var(--text);font-weight:500;transition:var(--transition)}.nav a:hover,.nav a.active{color:var(--primary)}.menu-toggle{display:none;background:none;border:none;cursor:pointer}.hero{padding:180px 0 120px;background-color:#000;position:relative;overflow:hidden;color:var(--white)}.hero:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:url(/assets/top_1-dXND0vOO.png) no-repeat center center / cover;opacity:.6;z-index:1}.hero:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,#001f3fcc,#001f3f33);z-index:2}.hero .container{position:relative;z-index:3}.hero-content{max-width:800px}.hero h1{font-size:4rem;font-weight:700;line-height:1.2;margin-bottom:1.5rem;color:var(--white);border-left:10px solid var(--accent);padding-left:2rem;text-shadow:0 4px 15px rgba(0,0,0,.5)}.hero p{font-size:1.4rem;margin-bottom:2.5rem;color:var(--white);text-shadow:0 2px 8px rgba(0,0,0,.5);font-weight:500}.hero-cta{display:flex;gap:1rem}.btn{display:inline-block;padding:.8rem 2rem;border-radius:8px;text-decoration:none;font-weight:600;transition:var(--transition);cursor:pointer}.btn-primary{background-color:var(--primary);color:var(--white);border:none}.btn-primary:hover{background-color:var(--primary-dark);transform:translateY(-2px);box-shadow:0 4px 12px #0056b34d}.btn-outline{background-color:transparent;color:var(--primary);border:2px solid var(--primary)}.btn-outline:hover{background-color:var(--primary);color:var(--white)}section{padding:100px 0}.section-title{text-align:center;font-size:2.5rem;margin-bottom:3rem;position:relative;padding-bottom:.5rem}.section-title:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:60px;height:4px;background-color:var(--accent);border-radius:2px}.services{background-color:var(--light)}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.service-card{background-color:var(--white);padding:3rem 2rem;border-radius:16px;box-shadow:0 10px 30px #0000000d;transition:var(--transition);text-align:center}.service-card:hover{transform:translateY(-10px);box-shadow:0 20px 40px #0000001a}.service-icon{font-size:3rem;margin-bottom:1.5rem}.service-card h3{margin-bottom:1rem;font-size:1.5rem}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.placeholder-img{width:100%;aspect-ratio:4/3;background:linear-gradient(135deg,#eee,#ddd);border-radius:24px;box-shadow:0 15px 40px #0000001a}.about-content p{margin-bottom:1.5rem}.about-features{list-style:none;margin-top:2rem}.about-features li{position:relative;padding-left:2rem;margin-bottom:1rem;font-weight:500}.about-features li:before{content:"✓";position:absolute;left:0;color:var(--primary);font-weight:700}.contact-box{max-width:800px;margin:0 auto;background-color:var(--white);padding:4rem;border-radius:24px;box-shadow:0 20px 60px #0000000d}.contact-form{margin-top:3rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500}.form-group input,.form-group textarea{width:100%;padding:1rem;border:1px solid #ddd;border-radius:8px;font-family:inherit;font-size:1rem;transition:var(--transition)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px #0056b31a}.footer{background-color:var(--dark);color:var(--white);padding:4rem 0;text-align:center}.footer-logo{font-size:1.8rem;font-weight:700;margin-bottom:1rem}.sub-page{padding-top:80px;background-color:var(--white)}.section-title-area{padding:100px 0 80px;text-align:center;position:relative;background:url(/assets/top_1-dXND0vOO.png) no-repeat center center / cover;color:var(--white);margin-bottom:60px;overflow:hidden}.section-title-area:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(#001f3fd9,#001f3fb3);z-index:1}.section-title-area .container{position:relative;z-index:2}.page-title{font-size:3.5rem;color:var(--white);margin-bottom:1.5rem;position:relative;display:inline-block;text-shadow:0 2px 10px rgba(0,0,0,.3)}.page-title:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:80px;height:4px;background-color:var(--accent);border-radius:2px}.page-lead{font-size:1.3rem;color:#ffffffe6;max-width:800px;margin:0 auto;text-shadow:0 2px 5px rgba(0,0,0,.2)}.page-header{background:linear-gradient(135deg,#001f3f,#004080);padding:140px 0 60px;color:var(--white);text-align:center}.page-header h1{font-size:3rem;margin-bottom:1rem}.service-categories{padding:60px 0;background-color:var(--light)}.service-category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}.category-card{background:var(--white);border-radius:16px;overflow:hidden;box-shadow:0 10px 30px #0000000d;transition:var(--transition);border:1px solid #eee;display:flex;flex-direction:column;text-decoration:none;color:inherit}.category-card:hover{transform:translateY(-10px);box-shadow:0 20px 40px #0000001a}.category-img{width:100%;aspect-ratio:16/9;background-color:#ddd;background-position:center;background-size:cover}.category-info{padding:1.5rem;text-align:center;background:var(--white);flex-grow:1;display:flex;align-items:center;justify-content:center}.category-info h3{font-size:1.25rem;color:var(--primary);margin:0}.service-details{padding:80px 0}.service-detail-item{margin-bottom:120px;scroll-margin-top:100px}.service-detail-content{width:100%}.service-detail-content h2{background-color:#f0f4f8;font-size:2rem;padding:1.5rem 0;margin:0 auto;width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;text-align:center;border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;box-sizing:border-box}.service-detail-image-wrapper{width:100vw;height:200px;margin:0 auto 2rem;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;border-radius:0;overflow:hidden;box-sizing:border-box}.service-detail-image-wrapper img{width:100%;height:100%;object-fit:cover}.detail-list{list-style:none;display:flex;flex-direction:column;gap:0;border-top:1px solid #eee}.detail-list li{padding:1.25rem 0;border-bottom:1px solid #eee;display:flex;justify-content:space-between;align-items:center;font-size:1.1rem}.detail-list li:before{display:none}.price{font-weight:700;color:var(--primary);background-color:var(--light);padding:.4rem 1rem;border-radius:4px;font-size:1rem}.service-remarks{margin-top:1.5rem;padding:1rem 1.5rem;background-color:#f8fafc}.service-remarks p{font-size:.95rem;color:var(--text-muted);margin:0;line-height:1.6}.service-cta{background-color:var(--light);text-align:center;padding:80px 0}.service-cta h2{margin-bottom:1rem}.service-cta p{margin-bottom:2rem;color:var(--text-muted)}@media (max-width: 768px){.header .container{height:70px}.nav{display:none;position:absolute;top:70px;left:0;width:100%;background-color:var(--white);padding:2rem;box-shadow:0 10px 20px #0000001a}.nav.active{display:block}.nav ul{flex-direction:column;gap:1.5rem;text-align:center}.menu-toggle{display:block;width:30px;height:20px;position:relative}.menu-toggle span{display:block;width:100%;height:2px;background-color:var(--text);position:absolute;transition:var(--transition)}.menu-toggle span:first-child{top:0}.menu-toggle span:last-child{bottom:0}.menu-toggle.active span:first-child{transform:translateY(9px) rotate(45deg)}.menu-toggle.active span:last-child{transform:translateY(-9px) rotate(-45deg)}.hero h1{font-size:2.5rem}.about-grid{grid-template-columns:1fr}.contact-box{padding:2rem}.service-detail-item,.service-detail-item:nth-child(2n){flex-direction:column;gap:1.5rem}.service-detail-icon{width:80px;height:80px;font-size:2.5rem}.detail-list{grid-template-columns:1fr}}
