:root{--navy:#071c32;--blue:#007dc3;--sky:#56c5f1;--ink:#173047}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);font-family:'Noto Sans JP','Hiragino Kaku Gothic ProN',Meiryo,sans-serif;line-height:1.9}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid var(--sky);outline-offset:5px}.skip{position:fixed;top:-80px;background:white;z-index:20}.skip:focus{top:0}header{position:absolute;top:0;left:0;width:100%;z-index:10;padding:22px 4vw;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(#06172be0,transparent);color:white}.brand img{width:225px;height:65px;object-fit:contain}nav{display:flex;gap:24px;font-size:14px}nav a:hover{color:var(--sky)}#menu{display:none}.hero{height:100svh;min-height:660px;position:relative;overflow:hidden;background:var(--navy);color:white}.slides,.slide,.shade{position:absolute;inset:0;width:100%;height:100%}.slide{object-fit:cover;object-position:center 58%;opacity:0;transition:opacity 1.5s,transform 7s;transform:scale(1.04)}.slide.active{opacity:1;transform:scale(1.10)}.shade{background:linear-gradient(90deg,#06152bbc 0%,#06152b30 70%),linear-gradient(0deg,#06152b99,transparent 40%)}.hero-copy{position:relative;padding:0 8vw;top:34%;max-width:850px}.eyebrow{font-size:14px;font-weight:700;letter-spacing:.16em;color:var(--blue);margin:0 0 26px}.hero .eyebrow{color:var(--sky)}h1{font-size:clamp(40px,5.5vw,78px);letter-spacing:.035em;line-height:1.45;margin:0 0 24px;font-weight:800}.hero-copy>p:not(.eyebrow){font-size:18px;line-height:1.8}.button{display:inline-block;border:1px solid currentColor;padding:13px 30px;margin-top:22px;min-height:48px;font-size:15px;transition:background .2s,color .2s}.button:hover{background:white;color:var(--navy)}.hero-bottom{position:absolute;bottom:35px;left:8vw;right:5vw;display:flex;justify-content:space-between;align-items:end}.scroll{font-size:12px;letter-spacing:.18em;display:flex;gap:15px;align-items:center}.scroll span{width:1px;height:40px;background:#ffffff8a}.controls{display:flex;gap:25px;align-items:center}.dots{display:flex;gap:16px}.controls button{color:white;background:transparent;border:0;padding:6px;font-size:14px;min-height:44px}.dots button{border-bottom:2px solid #ffffff50}.dots .selected{border-color:var(--sky);color:var(--sky)}#pause{border:1px solid #ffffff60;padding:6px 12px}.section{padding:110px 8vw;max-width:1600px;margin:auto}h2{font-size:clamp(30px,3.5vw,50px);line-height:1.6;margin:0 0 28px;letter-spacing:.03em}em{font-style:normal;color:var(--blue)}.two{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.two p{max-width:600px}.lead{font-size:25px;font-weight:700;line-height:1.7}.values{display:grid;grid-template-columns:repeat(3,1fr);margin-top:60px;border-top:1px solid #ccd5df;padding-top:35px;gap:25px}.values b{display:block;font-size:26px;color:var(--blue)}.values span{font-size:15px}.photo-band{height:500px;position:relative;overflow:hidden;color:white;background:var(--navy)}.photo-band img{width:100%;height:100%;object-fit:cover;object-position:50% 42%;opacity:.65}.photo-band p{position:absolute;left:8vw;bottom:40px;font-size:clamp(32px,4vw,60px);font-weight:800;line-height:1.5}.services{background:#f1f6fb;max-width:none}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px 70px;margin-top:45px}.service-grid article{border-top:1px solid #b5c5d5;padding:25px 0}.service-grid span{color:var(--blue);font-size:15px}.service-grid h3{font-size:24px;margin:10px 0}.service-grid p{max-width:530px}.section-head{display:flex;justify-content:space-between;align-items:center}.gallery{display:grid;grid-template-columns:1.15fr 1fr;gap:30px}.gallery figure{margin:0}.gallery img{width:100%;height:440px;object-fit:cover;object-position:center 40%}.gallery figcaption{font-size:17px;padding:14px 0}.recruit{background:var(--navy);color:white;max-width:none;display:grid;grid-template-columns:1.2fr 1fr;gap:8vw;align-items:center}.recruit .eyebrow{color:var(--sky)}.recruit p{max-width:600px}.mascot{width:100%;max-width:360px;justify-self:center;border-radius:4px}.mascot-label{font-size:14px;opacity:.75;margin-top:28px}.company-logo{width:230px;max-width:100%}dl{margin:0}dl>div{display:grid;grid-template-columns:100px 1fr;gap:20px;padding:24px 0;border-bottom:1px solid #ccd5df;font-size:16px}dt{font-weight:700}dd{margin:0;overflow-wrap:anywhere}dd a{border-bottom:1px solid var(--blue)}.contact{background:#005c9f;max-width:none;color:white}.contact .eyebrow{color:#9ce1ff}.contact h2{font-size:clamp(30px,4vw,56px)}footer{background:#041323;color:white;padding:50px 8vw;display:flex;gap:40px;align-items:center;flex-wrap:wrap}footer img{width:200px}footer small{margin-left:auto;color:#aab9c8;font-size:12px}.reveal{transition:opacity .7s,transform .7s}.js .reveal{opacity:0;transform:translateY(24px)}.js .reveal.visible{opacity:1;transform:none}@media(max-width:1000px){nav{gap:14px;font-size:13px}.brand img{width:185px}}@media(max-width:800px){header{padding:15px 6vw}.brand img{width:170px;height:48px}#menu{display:block;color:white;border:1px solid #ffffff80;background:#071c3280;padding:8px 12px;font-size:14px}nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--navy);padding:25px 8vw;flex-direction:column;font-size:16px}nav.open{display:flex}.hero{min-height:700px}.hero-copy{top:30%;padding:0 7vw}.hero-copy>p:not(.eyebrow){font-size:16px}.hero-bottom{left:7vw;right:7vw;bottom:28px}.controls{gap:10px;flex-direction:column;align-items:end}.dots{gap:13px}.section{padding:70px 7vw}.two,.recruit{grid-template-columns:1fr;gap:25px}.values{grid-template-columns:1fr;gap:20px;margin-top:35px}.values>div{display:flex;align-items:center;gap:30px}.values b{font-size:23px}.service-grid{grid-template-columns:1fr;gap:5px}.service-grid h3{font-size:22px}.photo-band{height:390px}.section-head{display:block}.gallery{grid-template-columns:1fr;gap:30px}.gallery img{height:350px}.mascot{max-width:270px}.company-logo{width:180px}dl>div{grid-template-columns:85px 1fr;gap:10px;font-size:15px}footer{padding:40px 7vw;gap:22px}footer small{width:100%;margin:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.slide{transition:none;transform:none!important}.reveal{transition:none}.js .reveal{opacity:1;transform:none}}

.group{background:#eef5fb;max-width:none}.group-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}.group-grid article{padding:35px;background:white;border-top:4px solid var(--blue)}.group-grid article>span{font-size:13px;letter-spacing:.1em;color:var(--blue)}.group-grid h3{font-size:25px;line-height:1.6}.group-grid .button:hover{background:var(--blue);color:white}@media(max-width:1100px){nav{gap:12px;font-size:12px}.brand img{width:170px}}@media(max-width:800px){nav{font-size:16px}.group-grid{grid-template-columns:1fr}.group-grid article{padding:25px}.group-grid h3{font-size:23px}}

.recruitment-details{background:#f4f7fa;max-width:none}.wide-dl{max-width:1000px}.wide-dl>div{grid-template-columns:180px 1fr}.wide-dl small{font-size:14px}.recruit .button{margin-right:12px}.instagram{background:var(--navy);max-width:none;color:white}.instagram .eyebrow{color:var(--sky)}.handle{font-size:16px;color:#9cdcf8}.contact-options{display:flex;gap:15px;flex-wrap:wrap}.group-grid{align-items:start}.group-grid h3{overflow-wrap:anywhere}.group-grid dl>div{grid-template-columns:85px 1fr}.group-grid dd{font-size:15px}header nav{gap:14px;font-size:13px}.brand img{width:185px}@media(min-width:801px) and (max-width:1200px){header{flex-wrap:wrap;gap:10px}header nav{width:100%;justify-content:space-between;font-size:13px}.hero-copy{top:34%}}@media(min-width:1000px){.photo-band img{object-position:center 40%}.photo-band{height:65vh}}@media(max-width:800px){.wide-dl>div{grid-template-columns:90px 1fr}.contact-options{display:block}.contact-options .button{margin-right:8px}.recruit .button{display:block;text-align:center}header nav{font-size:16px}.hero-copy{top:29%}}

/* Keep the reading surface explicit in embedded tablet previews. */
:root{color-scheme:light}html,body{background:#ffffff;color:#173047}.about,.works,.company{background:#ffffff;color:#173047}.about p,.about h2,.about .values span{color:#173047}.about em,.about .values b{color:#0073b5}.shade{background:linear-gradient(90deg,rgba(3,20,38,.45),rgba(3,20,38,.03) 75%),linear-gradient(0deg,rgba(3,20,38,.3),transparent 35%)}.hero-copy h1,.hero-copy>p:not(.eyebrow){color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.55)}.photo-band img{opacity:1}.photo-band p{color:#fff;text-shadow:0 2px 10px #071c32,0 1px 3px #071c32}.hero .eyebrow,.recruit .eyebrow,.instagram .eyebrow{color:#8ee0ff}.mascot-label{opacity:1;color:#d6e7f5}.contact-email{font-size:17px;overflow-wrap:anywhere;align-self:center;margin:22px 0 0}.js .reveal{opacity:1;transform:none}.reveal{transition:none}

.group-grid{grid-template-columns:1fr}.group-grid article>dl{display:grid;grid-template-columns:1fr 1fr;column-gap:35px}.group-grid dd ul{padding-left:1.2em;margin:0}.group-grid li+li{margin-top:8px}.group-grid article>p{max-width:900px}.contact-header{position:relative;background:#071c32;padding:15px 6vw;gap:20px;flex-wrap:wrap}.contact-header>a:last-child{font-size:14px}.contact-main{max-width:970px;margin:0 auto;padding:55px 24px 80px}.contact-main h1{font-size:clamp(28px,5vw,44px);line-height:1.6}.contact-main h2{font-size:22px}.mail-card{margin-top:35px;padding:32px;background:#f0f6fb;border-top:4px solid #007dc3}.copy-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:12px}.copy-row input{background:#fff;color:#173047;border:1px solid #b5c5d5;border-radius:0;padding:14px 12px;font:inherit;font-size:17px;flex:1;min-width:0;max-width:100%;width:100%}.copy-row .button{margin:0}.button.solid{background:#0069ad;border-color:#0069ad;color:white}.button.solid:hover{background:#004d83}.mail-choices{display:flex;flex-wrap:wrap;gap:15px}.mail-choices .button:not(.solid):hover{background:#dcecf7}.mail-help{font-size:15px;line-height:1.9}.phone-card{margin:30px 0;padding:10px 0}.phone-card a,.return-link{color:#0069ad;text-decoration:underline;text-underline-offset:4px}#copy-status{font-size:15px;color:#174b71;min-height:1.8em;margin:8px 0 0}@media(max-width:800px){.group-grid article>dl{grid-template-columns:1fr}.mail-card{padding:22px 18px}.copy-row{display:block}.copy-row .button{margin-top:12px;width:100%}.copy-row input{font-size:16px}.mail-choices{display:block}.mail-choices a{display:block;text-align:center}.contact-main{padding-left:18px;padding-right:18px}}

.mascot-scene{width:100%;max-width:380px;justify-self:center;display:flex;flex-direction:column;align-items:center;padding-top:15px}.mascot-scene .mascot{display:block;width:100%;height:auto;background:transparent;border-radius:0;transform-origin:50% 85%;animation:tobizaru-float 4.8s ease-in-out infinite;filter:drop-shadow(0 14px 12px rgba(0,0,0,.16))}.mascot-scene .mascot.is-paused{animation-play-state:paused}#mascot-motion{background:transparent;color:#d8eefc;border:1px solid #89bbd8;border-radius:3px;padding:8px 18px;min-height:44px;font-size:14px;margin-top:15px}#mascot-motion:hover{background:#ffffff16}@keyframes tobizaru-float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-12px) rotate(1deg)}}@media(max-width:800px){.mascot-scene{max-width:280px}}@media(prefers-reduced-motion:reduce){.mascot-scene .mascot{animation:none}}

/* Contact details sit below the action row; enlarge the header wordmark. */
.contact-options{align-items:stretch;gap:14px}.contact-options .button{display:inline-flex;align-items:center;justify-content:center;text-align:center;min-width:200px;margin:0}.contact-options{margin-top:28px}.contact-email{display:block;margin:16px 0 22px;line-height:1.7;font-size:17px;overflow-wrap:anywhere}.contact-email+p{margin-top:0}body>header .brand{flex-shrink:0}body>header .brand img{width:280px;height:auto;display:block}body>header{column-gap:24px}@media(max-width:800px){body>header .brand img{width:220px}.contact-options{display:flex;flex-direction:column;align-items:flex-start}.contact-options .button{width:100%;max-width:360px;margin:0}.contact-email{font-size:16px}}@media(max-width:380px){body>header .brand img{width:185px}}

.kenkan-photo{margin:30px 0 35px}.kenkan-photo img{display:block;width:100%;height:auto;object-fit:contain}.kenkan-photo figcaption{font-size:15px;color:#34516b;margin-top:10px;line-height:1.7}

.photo-band.marine-work img{object-position:center 46%}.photo-band.marine-work p{top:28px;bottom:auto;margin:0;font-size:clamp(30px,3.6vw,50px)}@media(max-width:800px){.photo-band.marine-work img{object-position:center 48%}.photo-band.marine-work p{top:24px;font-size:30px}}

.kogyo-photo{margin:30px 0 35px}.kogyo-photo img{display:block;width:100%;height:auto}.kogyo-photo figcaption{font-size:15px;color:#34516b;margin-top:10px;line-height:1.7}

/* Keep team photos uncropped and clear of the header and controls. */
.slide.people-slide,.slide.people-slide.active{object-fit:contain;inset:110px 0 115px;height:calc(100% - 225px);transform:none;background:var(--navy)}
.hero-copy{transition:opacity .5s,visibility .5s}.hero.people-active .hero-copy{opacity:0;visibility:hidden}.hero.people-active .shade{opacity:0}.shade{transition:opacity .5s}
@media(max-width:800px){.slide.people-slide,.slide.people-slide.active{inset:100px 0 145px;height:calc(100% - 245px)}.dots{gap:9px}}

.people-caption{position:absolute;left:8vw;right:5vw;bottom:135px;margin:0;color:#fff;font-size:clamp(40px,5.5vw,78px);font-weight:800;letter-spacing:.035em;line-height:1.45;text-shadow:0 2px 10px #071c32,0 1px 3px #071c32;opacity:0;visibility:hidden;transition:opacity 1s,visibility 1s;pointer-events:none}.people-caption.active{opacity:1;visibility:visible}@media(max-width:800px){.people-caption{left:7vw;right:7vw;bottom:155px;font-size:clamp(28px,5.5vw,44px)}}@media(prefers-reduced-motion:reduce){.people-caption{transition:none}}

.cleaning-scenes{margin:30px 0 35px}.cleaning-scenes h4{font-size:20px;margin:0 0 18px}.cleaning-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.cleaning-gallery figure{margin:0;min-width:0}.cleaning-frame{position:relative;aspect-ratio:3/4;overflow:hidden;background:#edf2f6}.cleaning-frame img{display:block;width:100%;height:100%;object-fit:cover}.cleaning-team-frame img{position:absolute;top:0;left:0;width:100%;max-width:none;height:auto;transform:translateY(-13.2104%)}.cleaning-gallery figcaption{font-size:14px;color:#34516b;margin-top:10px;line-height:1.7}@media(max-width:480px){.cleaning-gallery{gap:12px}.cleaning-gallery figcaption{font-size:13px}}


.cleaning-originals img{display:block;width:100%;height:auto}.crew-photo{grid-column:1/-1;max-width:680px;width:100%;margin:12px auto 0}.gallery .crew-photo img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain}


/* Uniform four-photo grid. */
.cleaning-originals{gap:24px 18px}
.cleaning-originals figure{width:100%;min-width:0;margin:0}
.cleaning-originals img{display:block;width:100%;height:auto;aspect-ratio:43/50;object-fit:cover;object-position:center}
.cleaning-originals figcaption{margin:10px 0 0;text-align:left}
@media(max-width:480px){.cleaning-originals{gap:20px 12px}}
