
:root{--blue:#005bac;--blue2:#0086d1;--deep:#061a33;--navy:#0a2545;--sky:#eef8ff;--gold:#f7b731;--ink:#172033;--muted:#617086;--line:#d9e9f6;--radius:18px;--shadow:0 18px 52px rgba(0,35,70,.16)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;color:var(--ink);line-height:1.8;background:#fff}a{text-decoration:none;color:inherit}img{display:block;max-width:100%}.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:#fff;padding:10px;z-index:9999}.loader{position:fixed;inset:0;background:#fff;z-index:9998;display:grid;place-items:center;color:var(--blue);transition:.45s}.loader.hide{opacity:0;visibility:hidden}.loader-mark{width:92px;height:92px;border:5px solid #dcecf8;border-top-color:var(--blue);border-radius:50%;display:grid;place-items:center;font-weight:900;animation:spin 1s linear infinite}.loader-mark span{animation:spinReverse 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes spinReverse{to{transform:rotate(-360deg)}}.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);box-shadow:0 6px 24px rgba(0,30,70,.05)}.head-inner{max-width:1240px;margin:auto;display:flex;align-items:center;gap:24px;padding:13px 22px}.brand{display:flex;align-items:center;gap:12px;font-weight:900;color:var(--deep)}.brand-mark{width:52px;height:52px;background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;border-radius:6px 18px 6px 18px;display:grid;place-items:center;font-size:24px}.brand small{display:block;color:var(--muted);font-size:12px;letter-spacing:.08em}.nav{margin-left:auto;display:flex;align-items:center;gap:18px;font-size:14px;font-weight:800}.nav a{position:relative}.nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:3px;background:var(--blue);transition:.25s}.nav a:hover:after{right:0}.head-actions{display:flex;gap:10px;align-items:center}.tel{font-weight:900;color:var(--blue);line-height:1.1}.tel small{display:block;color:var(--muted);font-size:11px}.cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;border-radius:999px;background:var(--blue);color:#fff;font-weight:900;box-shadow:0 10px 24px rgba(0,91,172,.25)}.cta.gold{background:var(--gold);color:#172033}.menu-btn{display:none;margin-left:auto;border:0;background:var(--deep);color:#fff;border-radius:10px;padding:10px 12px}.hero{position:relative;min-height:760px;overflow:hidden;background:var(--deep);color:#fff}.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.1s ease}.hero-slide.active{opacity:1}.hero-slide img{width:100%;height:100%;object-fit:cover}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,20,45,.78) 0%,rgba(4,20,45,.38) 48%,rgba(0,91,172,.02) 100%)}.hero-copy{position:relative;z-index:2;max-width:1240px;margin:auto;padding:128px 22px 78px}.hero-en{font-size:clamp(52px,9vw,126px);line-height:.9;font-weight:1000;letter-spacing:.01em;color:rgba(255,255,255,.24);margin-bottom:-10px}.eyebrow{letter-spacing:.18em;color:#9de0ff;text-transform:uppercase;font-weight:1000}.hero h1{font-size:clamp(39px,6vw,82px);line-height:1.13;margin:16px 0 20px;text-shadow:0 3px 18px rgba(0,0,0,.28)}.lead{font-size:clamp(17px,2vw,22px);max-width:760px}.hero-badges{display:flex;flex-wrap:wrap;gap:12px;margin:30px 0}.badge{border:1px solid rgba(255,255,255,.42);background:rgba(255,255,255,.13);border-radius:999px;padding:8px 15px;font-weight:800}.hero-panel{position:absolute;right:6vw;bottom:42px;z-index:3;background:#fff;color:var(--deep);border-radius:0 28px 0 28px;padding:22px 24px;width:min(410px,86vw);box-shadow:var(--shadow)}.hero-panel:before{content:"";position:absolute;inset:-12px 16px auto auto;width:120px;height:120px;background:var(--gold);opacity:.25;z-index:-1;border-radius:26px}.topics{position:relative;z-index:5;max-width:1120px;margin:-42px auto 0;background:#fff;box-shadow:var(--shadow);border-radius:0 24px 0 24px;display:grid;grid-template-columns:170px 1fr;overflow:hidden}.topics b{background:var(--blue);color:#fff;padding:22px}.topics p{margin:0;padding:20px 24px;font-weight:800}.section{padding:92px 22px}.wrap{max-width:1180px;margin:auto}.sec-head{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:32px}.sec-title{font-size:clamp(30px,4.5vw,54px);line-height:1.2;margin:0}.sec-title span{display:block;color:var(--blue);font-size:14px;letter-spacing:.2em;text-transform:uppercase;margin-bottom:8px}.message-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:44px;align-items:center}.message-photos{display:grid;grid-template-columns:1fr 1fr;gap:18px}.message-photos img{height:260px;width:100%;object-fit:cover;border-radius:0 28px 0 28px;box-shadow:var(--shadow)}.message-photos img:first-child{grid-row:span 2;height:540px}.service-block{background:linear-gradient(180deg,#f4faff,#fff);position:relative;overflow:hidden}.service-block:before{content:"ELECTRIC WORKS";position:absolute;left:-20px;top:18px;font-size:120px;font-weight:1000;color:rgba(0,91,172,.055);white-space:nowrap}.service-list{display:grid;gap:28px}.service-row{display:grid;grid-template-columns:45% 1fr;gap:0;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:0 30px 0 30px;overflow:hidden}.service-row:nth-child(even){grid-template-columns:1fr 45%}.service-row:nth-child(even) img{order:2}.service-row img{height:330px;width:100%;object-fit:cover;background:#e8f2fb}.service-copy{padding:34px}.num{color:var(--blue);letter-spacing:.18em;font-weight:1000}.service-copy h3{font-size:31px;margin:8px 0 12px}.carousel{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.track{display:flex;width:max-content;animation:marquee 28s linear infinite}.track span{font-size:clamp(42px,7vw,90px);font-weight:1000;color:transparent;-webkit-text-stroke:1px rgba(0,91,172,.34);padding:22px 34px;white-space:nowrap}@keyframes marquee{to{transform:translateX(-50%)}}.parallax{background-color:#071a33;background-image:linear-gradient(rgba(7,26,51,.72),rgba(7,26,51,.65)),url('../img/sandai-works-01.jpg');background-attachment:fixed;background-size:cover;background-position:center;color:#fff}.parallax .wrap{background:rgba(7,26,51,.68);border:1px solid rgba(255,255,255,.18);border-radius:0 30px 0 30px;padding:45px;box-shadow:0 20px 60px rgba(0,0,0,.18)}.works-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.work-card{background:#fff;border:1px solid var(--line);border-radius:0 24px 0 24px;overflow:hidden;box-shadow:var(--shadow)}.work-card img{height:210px;width:100%;object-fit:cover}.work-card .body{padding:21px}.work-tag{display:inline-flex;background:#e8f5ff;color:var(--blue);font-weight:900;border-radius:999px;padding:5px 12px;font-size:12px}.recruit-band{background:linear-gradient(90deg,rgba(5,24,48,.9),rgba(0,91,172,.72)),url('../img/photo-recruit-worker.jpg');background-size:cover;background-position:center;color:#fff}.banner-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.mini-banner{position:relative;min-height:210px;border-radius:0 26px 0 26px;overflow:hidden;color:#fff;padding:28px;display:flex;flex-direction:column;justify-content:end;background:var(--deep);box-shadow:var(--shadow)}.mini-banner:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,24,48,.78),rgba(5,24,48,.2)),var(--bg);background-size:cover;background-position:center}.mini-banner>*{position:relative}.company-table{width:100%;border-collapse:collapse;background:#fff;border-radius:0 26px 0 26px;overflow:hidden;box-shadow:var(--shadow)}.company-table th,.company-table td{padding:18px;border-bottom:1px solid var(--line);text-align:left}.company-table th{width:220px;background:#f3f9ff}.form{display:grid;gap:14px}.form input,.form textarea,.form select{width:100%;border:1px solid var(--line);border-radius:12px;padding:13px;font:inherit}.card{background:#fff;border:1px solid var(--line);border-radius:0 26px 0 26px;overflow:hidden;box-shadow:var(--shadow)}.card img{width:100%;height:250px;object-fit:cover}.card-body{padding:24px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.footer{background:#05152a;color:#d9e8f7;padding:48px 22px}.footer .wrap{display:grid;grid-template-columns:1.2fr 1fr;gap:28px}.reveal{opacity:1;transform:translateY(0)}.js .reveal{transition:transform .7s ease,box-shadow .7s ease}.js .reveal:not(.is-visible){opacity:1;transform:translateY(14px)}.fixed-cta{position:fixed;right:18px;bottom:18px;z-index:900;display:flex;gap:10px}.page-hero{padding:105px 22px;background:linear-gradient(135deg,#071a33,#005bac);color:#fff}.breadcrumbs{font-size:13px;opacity:.85}.tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}.tab{border:1px solid var(--line);border-radius:999px;padding:9px 14px;background:#fff;font-weight:800}.note{background:#fff9e8;border-left:5px solid var(--gold);padding:18px;border-radius:14px}.map{min-height:360px;border:0;border-radius:0 26px 0 26px;width:100%;filter:saturate(.9)}@media(max-width:920px){.nav,.head-actions{display:none}.menu-btn{display:block}.nav{position:absolute;left:16px;right:16px;top:72px;flex-direction:column;background:#fff;padding:18px;border-radius:18px;box-shadow:var(--shadow)}.nav.open{display:flex}.hero{min-height:690px}.hero-copy{padding-top:108px}.hero-en{font-size:54px}.hero-panel{position:relative;right:auto;bottom:auto;margin:0 22px 28px}.topics{grid-template-columns:1fr;margin:0 18px}.message-grid,.service-row,.service-row:nth-child(even),.works-grid,.banner-grid,.grid,.footer .wrap{grid-template-columns:1fr}.service-row:nth-child(even) img{order:0}.message-photos img,.message-photos img:first-child{height:230px}.section{padding:64px 18px}.sec-head{display:block}.company-table th,.company-table td{display:block;width:100%}.fixed-cta{left:12px;right:12px}.fixed-cta .cta{flex:1;padding:10px 8px;font-size:13px}.parallax{background-attachment:scroll}}
