*{margin:0;padding:0;box-sizing:border-box}body{font-family:"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",sans-serif;line-height:1.6;color:#333;overflow-x:hidden}.container{width:92%;max-width:1200px;margin:0 auto}.header-container{width:100%;max-width:none;padding:0 2%;margin:0}header{background:rgba(34,34,34,.95);color:#fff;padding:1.2rem 0;position:sticky;top:0;z-index:100}.header-inner{display:flex;justify-content:space-between;align-items:center}.menu-icon{display:none}header h1{font-size:1.4rem;font-weight:400;letter-spacing:.1em}header h1 a{color:#fff;text-decoration:none}nav ul{display:flex;list-style:none;align-items:center}nav ul li{margin-left:35px}nav ul li a{color:#fff;text-decoration:none;font-size:1rem;transition:.3s}nav ul li a:hover{color:#d1286a}.search-icon{cursor:pointer;font-size:1.2rem}.hero{background-color:#050a15;height:30vh;min-height:350px;display:flex;align-items:center;justify-content:center;background-image:url('../images/circuit.jpg');background-size:cover;background-position:center;color:#fff;position:relative;overflow:hidden}.hero::before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,rgba(4,15,35,.8) 0,rgba(0,0,0,.4) 50%,rgba(20,5,25,.7) 100%);z-index:1}.hero::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:linear-gradient(rgba(0,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(0,255,255,.04) 1px,transparent 1px);background-size:30px 30px;z-index:1}.hero-content{position:relative;z-index:2;width:100%;height:100%;max-width:1200px;margin:0 auto;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:0 2%}.hero-content h2{font-size:clamp(3rem, 6vw, 5.5rem);font-weight:800;line-height:1.1;text-align:center;color:#fff;text-shadow:0 0 6px rgba(0,220,255,.4),0 0 16px rgba(0,220,255,.25),0 0 30px rgba(0,220,255,.1),2px 3px 8px rgba(0,0,0,.9);font-family:"Noto Sans JP","Bank Gothic","Helvetica Neue",Arial,sans-serif;letter-spacing:.02em;margin-top:-20px}.hero-content p{position:absolute;bottom:30px;right:2%;font-size:clamp(.65rem, 2.8vw, 1.1rem);text-align:right;font-weight:300;color:#e0f7fa;text-shadow:0 0 10px rgba(0,0,0,.9),2px 2px 4px rgba(0,0,0,.9);letter-spacing:.3em;line-height:1.5;white-space:nowrap;font-family:"Shippori Mincho","Noto Serif JP","Yu Mincho","Hiragino Mincho ProN","MS PMincho",serif;opacity:.85}.scroll-indicator{position:absolute;bottom:0;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;z-index:10}.scroll-indicator span{color:rgba(255,255,255,.6);font-size:.65rem;letter-spacing:.2em;writing-mode:vertical-rl;margin-bottom:10px;font-family:"Helvetica Neue",Arial,sans-serif}.scroll-indicator::after{content:'';width:1px;height:50px;background:linear-gradient(to bottom,rgba(255,255,255,.8) 0,rgba(255,255,255,0) 100%);animation:scrollDown 2s cubic-bezier(.77,0,.175,1) infinite}@keyframes scrollDown{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}50.1%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}.content{padding:120px 0 80px}.section-title{text-align:center;font-size:1.8rem;font-weight:400;color:#d1286a;margin-bottom:60px;letter-spacing:.1em;position:relative}.section-title::after{content:'';display:block;width:40px;height:2px;background-color:#d1286a;margin:20px auto 0;opacity:.5}.service-flex-container{display:flex;justify-content:space-between;gap:30px;margin-bottom:60px}.service-col{flex:1;text-align:center;transition:transform .3s ease}.service-col:hover{transform:translateY(-5px)}.service-col img{width:100%;height:240px;object-fit:cover;margin-bottom:20px;border:1px solid #eee;border-radius:4px;box-shadow:0 4px 15px rgba(0,0,0,.05)}.service-col p{color:#d1286a;font-weight:700;font-size:1.05rem;letter-spacing:.05em}.service-description{font-size:1rem;text-align:center;max-width:800px;margin:0 auto;line-height:2;color:#555}.company-table{width:100%;border-collapse:collapse;margin-top:20px}.company-table th{background:#fce8f0;color:#d1286a;width:30%;padding:15px;border:1px solid #eee;text-align:left}.company-table td{padding:15px;border:1px solid #eee}.company-intro{margin-bottom:40px;line-height:1.8;color:#333}.company-intro p{margin-bottom:1.5rem}.partner-list{list-style:none;padding:0;margin-top:20px}.partner-list li{padding:10px 0;border-bottom:1px solid #eee;color:#333}.partner-list li:last-child{border-bottom:none}.sub-hero{height:25vh;min-height:250px}.sub-hero .hero-content h2{font-size:clamp(2.5rem, 5vw, 4rem);margin-top:0}.sub-hero .hero-content p{position:static;text-align:center;letter-spacing:.2em;font-size:1.1rem;margin-top:10px;white-space:normal;opacity:.9}.service-details{display:flex;flex-direction:column;gap:30px;max-width:800px;margin:0 auto}.service-detail-item{background:0 0;border-radius:0;padding:0;box-shadow:none;border-left:none;transition:none;overflow:visible;margin-bottom:20px}.service-detail-item:hover{transform:none;box-shadow:none}.service-detail-item summary{padding:15px 0;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;outline:0;border-bottom:1px solid #777}.service-detail-item summary::-webkit-details-marker{display:none}.service-detail-item summary h3{color:#d1286a;font-size:1.6rem;font-weight:400;margin-bottom:0;letter-spacing:.05em;border-bottom:none;padding-bottom:0;display:inline-block}.icon-chevron{width:24px;height:24px;position:relative;transition:transform .3s ease}.icon-chevron::before{content:'';position:absolute;top:50%;left:50%;width:10px;height:10px;border-right:2px solid #777;border-bottom:2px solid #777;transform:translate(-50%,-70%) rotate(45deg)}.service-detail-item[open] .icon-chevron{transform:rotate(180deg)}.details-content{padding:30px 10px 40px;animation:fadeIn .4s ease}@keyframes fadeIn{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.service-sub-section{margin-bottom:35px}.service-sub-section:last-child{margin-bottom:0}.service-sub-section h4{font-size:1.25rem;font-weight:400;font-style:italic;color:#333;margin-bottom:15px}.service-detail-item ul{list-style:none;padding-left:0;border-top:none;padding-top:0}.service-detail-item ul li{position:relative;padding-left:1.5em;margin-bottom:10px;color:#333;line-height:1.6;font-size:1rem}.service-detail-item ul li::before{content:'■';position:absolute;left:0;top:0;font-size:.8rem;color:#333;background-color:transparent;border-radius:0;opacity:1}.sp-only{display:none}footer{background:#d1286a;color:#fff;text-align:center;padding:2.5rem 1.5rem;font-size:clamp(.8rem, 3.5vw, 1.25rem);letter-spacing:.05em;overflow-wrap:break-word}footer p{margin:0}@media (max-width:768px){.menu-icon{display:block;width:30px;height:20px;position:relative;cursor:pointer}.menu-icon span{display:block;width:100%;height:2px;background:#fff;position:absolute;top:50%;transform:translateY(-50%)}.menu-icon::after,.menu-icon::before{content:"";display:block;width:100%;height:2px;background:#fff;position:absolute}.menu-icon::before{top:0}.menu-icon::after{bottom:0}.header-inner{flex-direction:row;justify-content:space-between}nav{display:none}nav ul{flex-direction:column;position:absolute;top:100%;right:0;background:rgba(34,34,34,.95);width:100%;padding:20px;gap:15px}nav ul li{margin-left:0;text-align:center}.hero-content h2{font-size:2.8rem;margin-top:0}.service-flex-container{flex-direction:column}.service-col img{height:auto}.content{padding:80px 0 60px}.sp-only{display:block}.service-detail-item summary{padding:15px 0}.details-content{padding:20px 0 30px}}