:root{--green:#0b5d4c;--orange:#ff6c27;--ink:#07394a;font-family:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#eef3ef;color:var(--ink)}button,a,input,textarea{font:inherit}.skip{position:fixed;left:-9999px}.skip:focus{left:1rem;top:1rem;z-index:999;background:#fff;padding:.7rem}.mobile-header{position:sticky;top:0;z-index:40;background:#fff;line-height:0}.mobile-header img{display:block;width:100%;height:auto}.hotspot{position:absolute;border:0;background:transparent;cursor:pointer;padding:0}.header-phone{left:75%;top:4%;width:10%;height:90%}.header-menu{right:2%;top:2%;width:11%;height:94%}.desktop-header{display:none}.visual-shell{max-width:565px;margin:auto;background:#fff;overflow:hidden}.visual-stage{position:relative;line-height:0}.visual-stage>img{display:block;width:100%;height:auto}.front-contact{left:18%;top:43.5%;width:65%;height:4.2%}.front-works{left:18%;top:48.5%;width:65%;height:4%}.back-phone{left:13%;bottom:1.2%;width:38%;height:5.2%}.back-contact{right:12%;bottom:1.2%;width:42%;height:5.2%}.anchor{position:absolute;width:1px;height:1px}.anchor-services{top:72%}.anchor-works{top:1%}.anchor-flow{top:21%}.anchor-company{top:75%}footer{background:#0d4f43;color:#fff;text-align:center;padding:1.2rem 1rem 1.6rem;font-size:.72rem;line-height:1.6}footer p{margin:.2rem}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.menu-drawer{position:fixed;inset:0;z-index:100;background:rgba(3,45,38,.97);padding:5rem 2rem 2rem;color:#fff}.menu-drawer nav{display:grid;gap:1rem;max-width:28rem;margin:auto}.menu-drawer a,.menu-drawer nav button{color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.45);background:transparent;padding:1rem;border-radius:999px;text-align:center}.drawer-close{position:absolute;right:1rem;top:1rem;background:none;border:0;color:#fff;font-size:2.4rem}.contact-dialog{border:0;border-radius:1rem;padding:0;width:min(92vw,34rem);box-shadow:0 1rem 4rem #0004}.contact-dialog::backdrop{background:#02251dbb}.dialog-card{padding:2rem;display:grid;gap:1rem;position:relative;background:#fff}.dialog-close{position:absolute;right:.8rem;top:.5rem;border:0;background:none;font-size:2rem}.eyebrow{color:var(--green);font-weight:800}.dialog-card label{display:grid;gap:.3rem;font-weight:700}.dialog-card input,.dialog-card textarea{padding:.8rem;border:1px solid #ccd8d3;border-radius:.6rem}.submit-demo{border:0;border-radius:999px;background:var(--orange);color:#fff;padding:.9rem;font-weight:800}.phone-card{text-align:center}.phone-number{font-size:1.8rem;font-weight:900;color:var(--green);text-decoration:none}
@media(min-width:641px){body{padding-bottom:2.5rem;background:linear-gradient(180deg,#eef5f2,#f8f3e8)}.mobile-header{display:none}.desktop-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:1rem;max-width:900px;margin:auto;background:#fff;padding:.7rem 1rem;box-shadow:0 1px 0 #0001}.brand{display:flex;align-items:center;gap:.6rem;margin-right:auto}.mark{font-size:1.8rem;color:var(--green)}.brand b{display:block}.brand small{display:block;color:#6e7f79;font-size:.68rem}.desktop-header nav{display:flex;gap:.9rem}.desktop-header nav a{font-size:.78rem;font-weight:700;color:#153f36;text-decoration:none}.desktop-phone{font-size:.8rem;font-weight:900;color:var(--green);text-decoration:none}.desktop-cta{border:0;border-radius:999px;background:var(--orange);color:#fff;padding:.65rem 1rem;font-weight:800}.visual-shell{max-width:700px;box-shadow:0 18px 60px #0e43371f}}
@media(min-width:1100px){.desktop-header{max-width:980px}.visual-shell{max-width:760px}}
