:root{--paper:#f5f6f9;--ink:#282c34;--muted:#717977;--green:#64b05c;--blue:#2255a5;--sky:#8bc3eb;--pale-green:#dcebcf;--pale-blue:#e6edf5;--line:#a5bab2;--jp:'Zen Kaku Gothic New','Hiragino Kaku Gothic ProN',sans-serif;--en:'Quicksand',sans-serif;--wave:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 126 24'%3E%3Cpath fill='%23bfeaff' d='M0 12C5 27 15 27 20 12S35-3 40 12S55 27 60 12S75-3 80 12S95 27 100 12S115-3 120 12H0Z'/%3E%3C/svg%3E");--cloud:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 280 270' preserveAspectRatio='none'%3E%3Cpath fill='white' d='M27 247C-9 234-8 188 18 171C-1 137 16 100 48 94C41 59 72 31 105 39C120 3 168-1 189 31C225 13 262 38 257 73C288 88 289 123 267 144C291 172 283 215 254 225C255 251 226 269 203 261H63C50 267 35 259 27 247Z'/%3E%3C/svg%3E")}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:44px;overflow-x:clip}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--jp);font-weight:500;font-size:16px;letter-spacing:.085em;-webkit-font-smoothing:antialiased;overflow-x:clip}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:700}p{line-height:2.2}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}button{font:inherit;color:inherit;cursor:pointer}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--blue);outline-offset:6px}section:focus{outline:none}summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.page-width{width:min(1380px,90%);margin-inline:auto}.narrow-width{width:min(1000px,80%);margin-inline:auto}.section-space{padding-block:125px}.mobile-only{display:none}.skip-link{position:fixed;left:20px;top:-90px;background:#fff;padding:14px 20px;z-index:100}.skip-link:focus{top:16px}.short-wave{display:block;width:126px;height:24px;background:var(--wave) center/contain no-repeat}.english-label{font-family:var(--en);font-size:44px;font-weight:600;line-height:1.4;letter-spacing:.095em}.jp-label{font-size:15px;font-weight:700;letter-spacing:.1em;margin-left:22px}.english-note{font-family:var(--en);font-size:14px;letter-spacing:.065em;line-height:1.6}.text-arrow{display:flex;align-items:center;justify-content:space-between;gap:18px;width:max-content;max-width:100%;padding:10px 0;border-bottom:1px solid #85a89b;font-size:14px;font-weight:700;letter-spacing:.06em}.text-arrow span{font-family:var(--en);font-size:24px;color:var(--blue);transition:transform .2s}.text-arrow:hover span{transform:translateX(3px)}
@media(min-width:1001px) and (max-width:1250px){}
@media(max-width:1000px){}
@media(max-width:600px){}
@media(max-width:360px){}


/* The company lockup belongs to the document; only the menu follows the viewport. */
.site-brand{position:absolute;top:16px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;text-align:center;width:320px;max-width:calc(100% - 24px);padding:0;background:transparent;mix-blend-mode:multiply;z-index:49}
.brand-image{width:148px;mix-blend-mode:multiply}.brand-image img{width:100%;height:auto;mix-blend-mode:multiply}.brand-name{display:block;font-size:24px;font-weight:700;line-height:1.8;letter-spacing:.055em;white-space:nowrap}
.site-header{position:fixed;top:16px;left:0;right:0;width:100%;height:0;z-index:50;pointer-events:none}
.nav-shell{position:absolute;top:0;right:24px;width:280px;visibility:visible;opacity:1;pointer-events:auto;transition:opacity .2s,transform .2s,visibility .2s;z-index:3}
.cloud-nav{width:100%;padding:64px 48px 60px;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20320%20350%27%20preserveAspectRatio%3D%27none%27%3E%3Cpath%20fill%3D%27white%27%20d%3D%27M64%20332C29%20335%207%20311%2017%20279C-4%20257%201%20218%2023%20201C4%20172%2015%20136%2041%20123C27%2090%2047%2055%2080%2054C93%2018%20132%203%20161%2023C193%203%20234%2019%20246%2050C282%2042%20313%2069%20308%20101C333%20121%20331%20158%20310%20179C331%20208%20322%20246%20299%20260C311%20293%20290%20321%20261%20322C248%20348%20218%20354%20195%20338H88C80%20339%2070%20338%2064%20332Z%27%2F%3E%3C%2Fsvg%3E") center/100% 100% no-repeat;display:flex;flex-direction:column;gap:22px}
.cloud-nav a{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px;font-weight:700;line-height:1.5;letter-spacing:.065em;min-height:24px;white-space:nowrap}.cloud-nav a span{color:var(--green);font-family:var(--en);font-size:19px;font-weight:500}.cloud-nav a:nth-child(2) span{color:var(--blue)}.cloud-nav a:nth-child(3) span{color:var(--sky)}.cloud-nav a:hover{color:var(--blue)}
.menu-toggle{position:absolute;top:0;right:28px;display:none;align-items:center;justify-content:space-between;gap:20px;background:#fff;border:1px solid #9db8b0;padding:13px 19px;min-height:46px;font-family:var(--en);font-size:13px;font-weight:600;letter-spacing:.08em;pointer-events:auto;z-index:4}.menu-toggle b{font-size:20px;font-weight:400;line-height:1;transition:transform .2s}.menu-toggle[aria-expanded=true] b{transform:rotate(45deg)}
.site-header.is-compact .menu-toggle{display:flex}.site-header.is-compact .nav-shell{top:58px;visibility:hidden;opacity:0;transform:translateY(-7px);pointer-events:none}.site-header.is-compact.is-open .nav-shell{visibility:visible;opacity:1;transform:none;pointer-events:auto}.site-header.is-scrolled{top:12px}
.contact-float{position:fixed;right:max(24px,env(safe-area-inset-right));bottom:calc(24px + env(safe-area-inset-bottom));z-index:40;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;width:112px;height:112px;border:1px solid #ffffffed;border-radius:50%;background:linear-gradient(145deg,#e1f3e9eb,#d6edf9e8);box-shadow:0 5px 20px #28596118;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#22578b;transition:transform .2s,box-shadow .2s}.contact-float svg{width:29px;height:29px}.contact-float>span{font-size:12px;font-weight:700;line-height:1.4;letter-spacing:.025em;white-space:nowrap}.contact-float:hover{transform:translateY(-3px);box-shadow:0 8px 24px #28596125}.contact-float:focus-visible{outline:3px solid var(--blue);outline-offset:5px}
@media(min-width:1001px) and (max-width:1250px){.nav-shell{right:20px;width:250px}.cloud-nav{padding:59px 40px 54px;gap:20px}.cloud-nav a{font-size:13px;letter-spacing:.05em}}
@media(max-width:1000px){.brand-image{width:128px}.brand-name{font-size:22px}.menu-toggle{display:flex;right:5%}.nav-shell{top:58px;right:5%;width:280px;visibility:hidden;opacity:0;transform:translateY(-7px);pointer-events:none}.site-header.is-open .nav-shell{visibility:visible;opacity:1;transform:none;pointer-events:auto}}
@media(max-width:600px){.site-brand{top:14px;width:290px}.brand-image{width:104px}.brand-name{font-size:18px;line-height:1.8;letter-spacing:.035em}.site-header{top:14px}.menu-toggle{top:0;right:5%;padding:10px 11px;gap:10px;min-height:43px;font-size:10px}.menu-toggle b{font-size:18px}.nav-shell,.site-header.is-compact .nav-shell{top:116px;right:5%;width:280px}.cloud-nav{padding:64px 48px 60px;gap:22px}.cloud-nav a{font-size:14px}.site-header.is-scrolled{top:8px}.site-header.is-scrolled .nav-shell{top:58px}.contact-float{width:88px;height:88px;gap:7px;right:max(12px,env(safe-area-inset-right));bottom:calc(12px + env(safe-area-inset-bottom))}.contact-float svg{width:24px;height:24px}.contact-float>span{font-size:10px;letter-spacing:.01em}}
@media(max-width:360px){.brand-image{width:96px}.brand-name{font-size:16px;letter-spacing:.02em}.menu-toggle{padding:10px;gap:8px;font-size:9px}}

/* The entire community is one illustration. No object buttons or circle CTAs. */
.hero{position:relative;isolation:isolate;height:100svh;min-height:720px;max-height:1040px;overflow:visible}.hero-dotted-field{position:absolute;inset:8% 0 0;z-index:-1;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 900' preserveAspectRatio='none'%3E%3Cdefs%3E%3Cpattern id='p' width='18' height='18' patternUnits='userSpaceOnUse'%3E%3Cpath d='M9 6v6M6 9h6' fill='none' stroke='white' stroke-width='3' opacity='.38'/%3E%3C/pattern%3E%3C/defs%3E%3Cpath id='s' d='M-80 25C180-40 360 95 480 265S930 590 1520 525V880C1020 825 800 720 565 600S165 625-80 555Z' fill='%23d5e7c2'/%3E%3Cpath d='M-80 25C180-40 360 95 480 265S930 590 1520 525V880C1020 825 800 720 565 600S165 625-80 555Z' fill='url(%23p)'/%3E%3C/svg%3E") center/100% 100% no-repeat}.hero-headline{position:relative;z-index:4;padding-top:clamp(68px,calc(10.8vw - 40px),116px);margin-left:34%;width:48%;font-size:clamp(35px,3.3vw,49px);font-weight:700;line-height:1.78;letter-spacing:.18em}.hero-headline span{display:block;width:max-content;max-width:100%;background:linear-gradient(105deg,#428b43,#2255a5);background-clip:text;-webkit-background-clip:text;color:transparent}.hero-headline span+span{margin-left:3em}.hero-visual{position:absolute;z-index:2;left:5%;bottom:-2%;width:87%;height:83%;pointer-events:none}.hero-visual picture{display:block;width:100%;height:100%}.hero-town{width:100%;height:100%;object-fit:contain;object-position:center bottom}.float-cloud{position:absolute;z-index:1;height:auto;pointer-events:none;animation:cloud-float 7s ease-in-out infinite}.cloud-left{width:17%;left:3.5%;top:21%}.cloud-right{width:11%;right:26%;top:8%;animation-duration:8.2s;animation-delay:-3s}.js .hero-headline,.js .hero-visual{opacity:0}.js .town-ready .hero-visual{animation:town-dissolve 1.8s ease-out both}.js .town-ready .hero-headline{animation:town-dissolve 1.8s ease-out .15s both}@keyframes town-dissolve{from{opacity:0}to{opacity:1}}@keyframes cloud-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
/* Large left-hand thought, a narrow right-hand explanation, and a cloud of air. */
.about{position:relative;padding-top:135px}.about-intro{position:relative;display:grid;grid-template-columns:56% 39%;gap:5%;padding-top:40px;isolation:isolate}.intro-title{position:relative;isolation:isolate;padding-top:22px}.section-name{display:block;font-size:13px;font-weight:700;letter-spacing:.17em;margin-bottom:27px}.intro-title h2{font-size:clamp(39px,4.05vw,62px);font-weight:700;line-height:1.95;letter-spacing:.15em}.intro-title .short-wave{margin-top:36px}.intro-copy{padding-top:28px}.intro-copy h3{font-size:24px;font-weight:700;line-height:1.9;letter-spacing:.12em}.intro-copy .intro-statement strong{font-weight:700}.intro-copy .english-note{margin:17px 0 34px}.intro-copy>p:not(.english-note){font-size:16px;letter-spacing:.075em;line-height:2.35;margin-bottom:29px}
/* A thin ruled grid follows the reference activity structure. */
.services{padding-top:174px}.service-grid{display:grid;grid-template-columns:25% repeat(3,minmax(0,1fr));border-top:1px solid #6f8a82;border-bottom:1px solid #6f8a82}.service-heading{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;min-height:560px;isolation:isolate;padding-bottom:190px;overflow:hidden}.service-heading h2{font-size:28px;line-height:1.7;letter-spacing:.15em;writing-mode:horizontal-tb;white-space:nowrap}.pale-english{position:static;z-index:auto;transform:none;font-family:var(--en);font-size:55px;font-weight:500;letter-spacing:.065em;color:#bad5b0;white-space:nowrap}.service-card{min-width:0;border-left:1px solid #87a99d;padding:24px 24px 31px}.service-image{position:relative;aspect-ratio:1.5;overflow:hidden;border-radius:12px;background:#e4eddf;margin-bottom:28px}.service-image>img{width:100%;height:100%;object-fit:cover}.service-image--cleaning>img{position:static;width:100%;max-width:100%;height:100%;object-fit:contain}.service-image--art>img{position:absolute;max-width:none;height:auto;object-fit:initial}.service-image--maintenance>img{width:280%;left:-4%;top:-30%}.service-image--collection>img{width:248%;left:-146%;top:-155%}.service-tag{display:inline-block;background:#d4e6c4;padding:4px 8px;font-family:var(--en);font-size:9px;font-weight:600;letter-spacing:.08em;line-height:1.6}.service-card h3{font-size:22px;line-height:1.75;letter-spacing:.09em;margin:13px 0 16px}.service-card p{font-size:15px;line-height:2.12;letter-spacing:.065em}.service-card .text-arrow{font-size:12px;gap:12px;margin-top:19px;letter-spacing:.035em}.service-card .text-arrow span{font-size:21px}.work-movie{margin-top:125px}.movie-heading{margin-bottom:33px}.movie-heading .short-wave{margin-bottom:16px}.movie-heading .english-label{display:inline-block;font-size:36px;margin-right:25px}.movie-heading h3{display:inline-block;font-size:22px;letter-spacing:.1em}.video-frame{width:100%;aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:#e0e9e2}.video-frame iframe{display:block;width:100%;height:100%;border:0}.video-external{margin:17px 0 0 auto}.service-note{font-size:17px;letter-spacing:.1em;text-align:center;margin-top:55px;line-height:2.3}
/* A photograph behind a pale rectangular editorial field. */
.recruit{position:relative;padding-top:160px;isolation:isolate}.recruit-landscape{position:absolute;left:0;right:0;top:0;height:600px;z-index:-2;overflow:hidden;background:linear-gradient(145deg,#e2ecdf,#eff4e9 45%,#dceef2)}.recruit-landscape::before{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%201440%20600%27%20preserveAspectRatio%3D%27none%27%3E%3Cpath%20d%3D%27M-80%20100C180-20%20330%2035%20480%20130S790%20270%201050%20110S1360%2040%201510%20140V0H-80Z%27%20fill%3D%27%23d2e3cd%27%2F%3E%3Cpath%20d%3D%27M-80%20590C130%20450%20230%20260%20500%20320S830%20580%201100%20380S1340%20140%201510%20240V415C1330%20315%201260%20450%201105%20550S790%20685%20545%20505S240%20490%2040%20680Z%27%20fill%3D%27%23c5e3e8%27%2F%3E%3Cpath%20d%3D%27M-60%20575C175%20410%20290%20285%20510%20350S850%20580%201105%20405S1340%20180%201480%20255%27%20fill%3D%27none%27%20stroke%3D%27%23e9f4f1%27%20stroke-width%3D%274%27%2F%3E%3Cg%20fill%3D%27none%27%20stroke%3D%27%2394b59d%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%3E%3Cpath%20d%3D%27M120%20182V64M120%20127%2086%20103M120%20105%20148%2080M1287%20199V72M1287%20140%201255%20111M1287%20115%201318%2086%27%2F%3E%3C%2Fg%3E%3Cg%20fill%3D%27%23b8d1bd%27%3E%3Cpath%20d%3D%27M120%20132C81%20129%2075%20105%2079%2091C104%2090%20121%20107%20120%20132ZM120%20111C120%2086%20139%2071%20157%2073C158%2093%20144%20110%20120%20111ZM1287%20145C1250%20142%201242%20119%201247%20101C1270%20102%201287%20122%201287%20145ZM1287%20122C1288%2094%201307%2079%201328%2078C1329%20100%201311%20119%201287%20122Z%27%2F%3E%3C%2Fg%3E%3Cg%20fill%3D%27%23b1cbb4%27%3E%3Ccircle%20cx%3D%27240%27%20cy%3D%2775%27%20r%3D%2717%27%2F%3E%3Ccircle%20cx%3D%271187%27%20cy%3D%2762%27%20r%3D%2724%27%2F%3E%3Ccircle%20cx%3D%271370%27%20cy%3D%27256%27%20r%3D%279%27%2F%3E%3C%2Fg%3E%3Cg%20fill%3D%27%23f8fbf7%27%3E%3Ccircle%20cx%3D%27300%27%20cy%3D%2792%27%20r%3D%273%27%2F%3E%3Ccircle%20cx%3D%27322%27%20cy%3D%2792%27%20r%3D%273%27%2F%3E%3Ccircle%20cx%3D%27344%27%20cy%3D%2792%27%20r%3D%273%27%2F%3E%3Ccircle%20cx%3D%27300%27%20cy%3D%27114%27%20r%3D%273%27%2F%3E%3Ccircle%20cx%3D%27322%27%20cy%3D%27114%27%20r%3D%273%27%2F%3E%3Ccircle%20cx%3D%27344%27%20cy%3D%27114%27%20r%3D%273%27%2F%3E%3Ccircle%20cx%3D%271100%27%20cy%3D%27154%27%20r%3D%273%27%2F%3E%3Ccircle%20cx%3D%271122%27%20cy%3D%27154%27%20r%3D%273%27%2F%3E%3Ccircle%20cx%3D%271144%27%20cy%3D%27154%27%20r%3D%273%27%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") center/100% 100% no-repeat}.recruit-landscape::after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 50%,var(--paper) 100%)}.recruit-panel{position:relative;padding:75px 8% 65px;display:grid;grid-template-columns:54% 40%;gap:0 6%;background:#f5f8f9e8;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:18px}.section-heading .short-wave{margin-bottom:18px}.section-heading>div{display:flex;align-items:baseline;gap:0}.recruit-editorial h2{font-size:29px;letter-spacing:.12em;line-height:1.9;margin-top:36px}.recruit-editorial .english-note{margin-top:15px}.work-benefits{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:70px;padding-top:35px;border-top:1px solid #b5c9bd}.work-benefits>div>span{font-family:var(--en);font-size:11px;font-weight:600;letter-spacing:.13em;color:var(--blue)}.work-benefits h3{font-size:21px;letter-spacing:.08em;line-height:1.8;margin:13px 0 15px}.work-benefits p{font-size:16px;line-height:2.1;letter-spacing:.055em}.faq{margin-top:100px}.faq>h3{font-size:27px;letter-spacing:.11em;margin-bottom:33px}.faq details{padding:26px 0;border-top:1px solid #a4bbb1}.faq details:last-of-type{border-bottom:1px solid #a4bbb1}.faq summary{display:flex;align-items:baseline;justify-content:space-between;gap:25px;font-size:17px;font-weight:700;line-height:1.9;letter-spacing:.08em}.faq summary span{font-family:var(--en);font-size:24px;font-weight:500;color:var(--blue)}.faq details[open] summary span{transform:rotate(45deg)}.faq details>p{font-size:16px;line-height:2.25;letter-spacing:.065em;padding:22px 45px 4px 0}.recruit-note{font-size:13px;letter-spacing:.065em;color:#657469;margin-top:28px;line-height:2}
/* Illustration and facts meet in one quiet split card. */
.company{display:block;position:relative;isolation:isolate}.company::before{content:'Ochi-gun';position:absolute;left:0;top:24%;font-family:var(--en);font-size:95px;letter-spacing:.15em;color:#d9e1df85;transform:rotate(-24deg);z-index:-1;white-space:nowrap}.company-heading .english-label{font-size:37px;display:block}.company-heading h2{font-size:17px;letter-spacing:.13em;line-height:1.9;margin-top:8px}.company-card{display:grid;grid-template-columns:44% minmax(0,1fr);border:1px solid #8ba89e;border-radius:19px;overflow:hidden;background:#fff}.company-art{position:relative;min-height:620px;overflow:hidden;background:#dbe8d1}.company-art img{position:absolute;inset:24px;width:calc(100% - 48px);max-width:none;height:calc(100% - 48px);object-fit:contain;object-position:center}.company-information{padding:39px 30px;background:#f1f5f9}.company-information>h3{font-size:22px;letter-spacing:.11em;line-height:1.8;margin-bottom:21px}.company-table{margin:0 0 23px}.company-table>div{display:grid;grid-template-columns:70px minmax(0,1fr);gap:12px;padding:18px 0;border-bottom:1px solid #c3d1cb;line-height:2}.company-table dt{font-size:12px;letter-spacing:.06em}.company-table dd{margin:0;font-size:14px;letter-spacing:.055em;overflow-wrap:anywhere}.company-table a[href^="tel:"]{font-family:var(--en);font-size:17px;font-weight:600;letter-spacing:.025em;color:var(--blue);white-space:nowrap}.company-information>.text-arrow{font-size:12px;gap:12px}
.site-footer{position:relative;padding:60px 0 42px}.footer-brand{display:flex;align-items:center;gap:15px;width:max-content;max-width:100%;font-size:14px;font-weight:700;letter-spacing:.07em}.footer-brand img{width:125px;mix-blend-mode:multiply}.footer-nav{display:flex;flex-wrap:wrap;gap:20px 36px;margin-top:35px;font-size:13px;font-weight:700;letter-spacing:.07em}.footer-nav a:hover{text-decoration:underline;text-underline-offset:5px}.page-top{position:absolute;right:0;top:58px;display:flex;align-items:center;gap:18px;font-family:var(--en);font-size:11px;font-weight:600;letter-spacing:.12em}.page-top span{font-family:var(--jp);font-size:27px;font-weight:400}.footer-bottom{border-top:1px solid #c7d1c8;margin-top:37px;padding-top:22px;display:flex;justify-content:space-between;gap:25px;font-size:11px;letter-spacing:.04em}.footer-bottom small{font-family:var(--en);font-size:11px}.reveal{opacity:1}.js .reveal{opacity:0;transform:translateY(20px);transition:opacity .9s ease,transform .9s ease}.js .reveal.is-visible{opacity:1;transform:none}
@media(min-width:1001px) and (max-width:1250px){.hero-headline{margin-left:32%;font-size:37px;letter-spacing:.15em}.hero-headline span+span{margin-left:2.6em}.hero-visual{width:90%;left:2%;height:82%}.service-card{padding-inline:19px}.service-card h3{font-size:19px}.service-card p{font-size:14px}.service-card .text-arrow{font-size:11px}.pale-english{font-size:46px}.company{grid-template-columns:22% minmax(0,1fr);gap:3%}.company-heading .english-label{font-size:30px}.company-information{padding-inline:24px}.company-table>div{grid-template-columns:62px minmax(0,1fr);gap:9px}.recruit-panel{padding-inline:6%}}
@media(max-width:1000px){.hero{min-height:680px;max-height:900px}.hero-headline{padding-top:90px;margin-left:26%;width:62%;font-size:38px;letter-spacing:.16em}.hero-headline span+span{margin-left:2.4em}.hero-visual{width:98%;left:0;height:76%;bottom:-2%}.cloud-left{width:20%;left:3%;top:24%}.cloud-right{width:12%;right:19%;top:8%}.about{padding-top:90px}.about-intro{grid-template-columns:52% 43%;gap:5%;padding-top:20px}.intro-title h2{font-size:38px;letter-spacing:.11em}.intro-copy h3{font-size:22px}.intro-copy>p:not(.english-note){font-size:15px;letter-spacing:.055em}.service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.service-heading{grid-column:1/-1;min-height:160px;justify-content:center;gap:10px;padding:10px 0;overflow:visible}.service-heading h2{writing-mode:horizontal-tb;font-size:27px;letter-spacing:.14em}.pale-english{font-size:65px}.service-card{border-top:1px solid #87a99d;padding-inline:20px}.service-card:nth-child(2){border-left:0}.service-card h3{font-size:20px}.service-card p{font-size:15px}.work-movie{margin-top:100px}.movie-heading h3{font-size:20px}.recruit-panel{padding:58px 6% 48px;grid-template-columns:52% 43%;gap:0 5%}.recruit-editorial h2{font-size:25px;letter-spacing:.085em}.english-label{font-size:37px}.jp-label{font-size:13px;margin-left:15px}.work-benefits{gap:22px}.work-benefits h3{font-size:20px}.work-benefits p{font-size:15px}.company{display:block}.company-heading{margin-bottom:40px;display:flex;align-items:baseline;gap:20px;flex-wrap:wrap}.company-heading .short-wave{width:100%;background-position:left center;margin-bottom:0}.company-heading h2{margin-top:0}.company-heading .english-label{font-size:38px}.company-card{grid-template-columns:44% minmax(0,1fr)}.company-art{min-height:580px}.company-information{padding:37px}.company-table>div{grid-template-columns:80px minmax(0,1fr)}
}
@media(min-width:601px) and (max-width:1000px){
}
@media(max-width:600px){
  html{scroll-padding-top:90px}body{font-size:15px;letter-spacing:.055em}.page-width{width:88%}.narrow-width{width:88%}.section-space{padding-block:80px}.mobile-only{display:block}.short-wave{width:100px;height:20px}.english-label{font-size:33px;letter-spacing:.085em}.jp-label{font-size:12px;margin-left:16px}.hero{height:auto;min-height:0;max-height:none;padding-top:126px;padding-bottom:10px}.hero-dotted-field{inset:12% 0 0;background-size:180% 100%;background-position:42% center}.hero-headline{padding-top:0;margin-left:8%;width:84%;font-size:clamp(29px,7.7vw,40px);line-height:1.85;letter-spacing:.13em}.hero-headline span+span{margin-left:2.3em}.hero-visual{position:relative;left:0;bottom:auto;width:100%;height:auto;margin-top:-15px}.hero-visual picture{height:auto}.hero-town{width:100%;height:auto;object-fit:contain}.cloud-left{width:25%;left:0;top:29%}.cloud-right{width:19%;right:4%;top:19%;z-index:0}.about{padding-top:85px}.about-intro{display:block;padding-top:0}.intro-title{padding-top:5px}.section-name{font-size:11px;letter-spacing:.14em;margin-bottom:23px}.intro-title h2{font-size:clamp(30px,7.7vw,39px);line-height:1.85;letter-spacing:.11em}.intro-title .short-wave{margin-top:24px}.intro-copy{width:90%;margin:55px 0 0 10%;padding-top:0}.intro-copy h3{font-size:20px;letter-spacing:.09em;line-height:1.9}.intro-copy .english-note{font-size:12px;letter-spacing:.035em;margin:16px 0 26px}.intro-copy>p:not(.english-note){font-size:15px;line-height:2.25;letter-spacing:.045em;margin-bottom:23px}.services{padding-top:104px}.service-grid{display:block}.service-heading{min-height:130px;gap:8px;padding:10px 0}.service-heading h2{font-size:24px}.pale-english{font-size:50px;color:#c5dbbd}.service-card{border-left:0;border-top:1px solid #87a99d;padding:27px 0 32px;display:grid;grid-template-columns:43% minmax(0,1fr);gap:0 20px;align-items:start}.service-image{grid-column:1;grid-row:1/4;margin-bottom:0;border-radius:8px;aspect-ratio:1.5}.service-tag{grid-column:2;width:max-content;max-width:100%;font-size:8px;letter-spacing:.05em;padding:3px 6px;margin-top:2px}.service-card h3{grid-column:2;font-size:20px;line-height:1.75;letter-spacing:.075em;margin:11px 0 16px}.service-card p{grid-column:1/-1;font-size:15px;line-height:2.15;letter-spacing:.055em;margin-top:23px}.service-card .text-arrow{grid-column:1/-1;justify-self:end;font-size:13px;margin-top:17px;gap:25px}.service-image--maintenance>img{width:280%;left:-4%;top:-30%}.service-image--collection>img{width:248%;left:-146%;top:-155%}.work-movie{margin-top:75px}.movie-heading{margin-bottom:25px}.movie-heading .short-wave{margin-bottom:14px}.movie-heading .english-label{display:block;font-size:31px;line-height:1.4;margin:0 0 9px}.movie-heading h3{display:block;font-size:19px;letter-spacing:.075em;line-height:1.8}.video-frame{border-radius:10px}.video-external{font-size:12px;gap:20px}.service-note{font-size:15px;line-height:2.2;letter-spacing:.07em;margin-top:33px}.recruit{padding-top:90px}.recruit-landscape{height:390px}.recruit-panel{display:block;padding:38px 7% 37px;border-radius:13px;background:#f5f8f9e8;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.section-heading .short-wave{margin-bottom:15px}.recruit-editorial h2{font-size:23px;line-height:1.9;letter-spacing:.085em;margin-top:27px}.recruit-editorial .english-note{font-size:12px;margin-top:14px}.work-benefits{display:block;margin-top:40px;padding-top:7px;border-top:0}.work-benefits>div{padding:26px 0 23px;border-top:1px solid #b5c9bd}.work-benefits>div>span{font-size:11px;letter-spacing:.1em}.work-benefits h3{font-size:21px;letter-spacing:.065em;margin:10px 0 12px}.work-benefits p{font-size:16px;line-height:2.05;letter-spacing:.045em}.faq{margin-top:65px}.faq>h3{font-size:21px;line-height:1.9;letter-spacing:.075em;margin-bottom:26px}.faq details{padding:23px 0}.faq summary{font-size:15px;line-height:1.9;letter-spacing:.045em;gap:18px}.faq summary span{font-size:22px}.faq details>p{font-size:14px;line-height:2.15;letter-spacing:.045em;padding:18px 0 2px}.recruit-note{font-size:12px;letter-spacing:.045em;line-height:2}.company{display:block}.company::before{font-size:65px;top:4%;left:-10%;letter-spacing:.11em;transform:rotate(-20deg)}.company-heading{gap:15px;margin-bottom:28px}.company-heading .english-label{font-size:33px}.company-heading h2{font-size:14px;letter-spacing:.095em}.company-card{display:block;border-radius:13px}.company-art{min-height:0;height:320px}.company-art img{inset:18px;width:calc(100% - 36px);height:calc(100% - 36px);object-fit:contain}.company-information{padding:28px 21px 31px}.company-information>h3{font-size:21px;line-height:1.9;letter-spacing:.085em;margin-bottom:17px}.company-table>div{grid-template-columns:62px minmax(0,1fr);gap:10px;padding:17px 0}.company-table dt{font-size:12px;letter-spacing:.035em}.company-table dd{font-size:13px;line-height:2;letter-spacing:.04em}.company-table a[href^="tel:"]{font-size:16px}.company-information>.text-arrow{font-size:12px;letter-spacing:.035em}.site-footer{padding-top:12px}.footer-brand{gap:9px;font-size:11px;letter-spacing:.035em}.footer-brand img{width:92px}.footer-nav{gap:14px 24px;font-size:12px;letter-spacing:.045em;margin-top:28px}.page-top{position:static;justify-content:flex-end;margin-top:27px;gap:12px;font-size:10px}.page-top span{font-size:24px}.footer-bottom{display:block;margin-top:28px;padding-top:20px;font-size:10px;line-height:2}.footer-bottom small{display:block;font-size:10px;margin-bottom:10px}
}
@media(max-width:360px){.hero{padding-top:118px}.hero-headline{font-size:27px;letter-spacing:.12em}.hero-headline span+span{margin-left:2em}.intro-title h2{font-size:29px;letter-spacing:.1em}.intro-copy h3{font-size:18px}.service-card{gap:0 16px}.service-card h3{font-size:18px;letter-spacing:.055em}.service-tag{font-size:7px;letter-spacing:.025em}.recruit-editorial h2{font-size:21px;letter-spacing:.07em}.company-table>div{grid-template-columns:56px minmax(0,1fr);gap:8px}.footer-brand{font-size:10px}.footer-brand img{width:77px}}

/* The cleared upper part of the town is the headline's own quiet space. */
.hero-headline{position:absolute;top:26%;left:42.5%;z-index:4;padding:0;margin:0;width:47%;font-size:clamp(44px,4.25vw,69px);line-height:1.45;letter-spacing:.13em}
.hero-headline span+span{margin-left:1.2em}.hero-visual{left:2%;bottom:-2%;width:92%;height:84%}
@media(min-width:1001px) and (max-width:1250px){.hero-headline{top:27%;left:43%;width:52%;font-size:clamp(41px,4.2vw,54px);letter-spacing:.13em}.hero-visual{left:0;width:95%;height:83%}}
@media(min-width:601px) and (max-width:1000px){.hero-headline{top:25%;left:48%;width:50%;font-size:clamp(33px,4.8vw,48px);letter-spacing:.13em}.hero-headline span+span{margin-left:1.1em}.hero-visual{left:0;width:100%;height:81%}}
@media(max-width:600px){.hero{height:auto;min-height:0;max-height:none;padding-top:180px;padding-bottom:10px}.hero-headline{position:absolute;top:130px;left:14%;width:80%;margin:0;padding:0;font-size:clamp(27px,8.6vw,44px);line-height:1.45;letter-spacing:.13em}.hero-headline span+span{margin-left:1.45em}.hero-visual{position:relative;left:0;bottom:auto;width:100%;height:auto;margin-top:0}.hero-visual picture{height:auto}.hero-town{width:100%;height:auto;object-fit:contain}.cloud-left{top:34%;width:22%}.cloud-right{top:21%;right:2%;width:17%}}
@media(max-width:360px){.hero{padding-top:175px}.hero-headline{top:126px;font-size:27px;letter-spacing:.13em}.hero-headline span+span{margin-left:1.35em}}


:root{--water-gradient:linear-gradient(110deg,#78c3a4,#71c4d2 60%,#83bae3)}
.hero-headline{display:flex;flex-direction:column;gap:8px;font-family:'M PLUS Rounded 1c',sans-serif;font-weight:800}
.hero-headline span{background-image:var(--water-gradient)}
.site-footer .page-top{right:130px}.site-footer .footer-bottom{padding-right:130px}
@media(max-width:600px){.site-footer .page-top{margin-right:98px}.site-footer .footer-bottom{padding-right:98px}}
.company-information .company-heading{display:block;margin:0 0 26px;text-align:center}
.company-information .company-heading .short-wave{width:100px;height:20px;margin:0 auto 14px;background-position:center}
.company-information .company-heading .english-label{display:block;font-size:34px;line-height:1.3}
.company-information .company-heading h2{font-size:23px;line-height:1.7;margin-top:8px}
@media(max-width:600px){.company-information .company-heading{margin-bottom:22px}.company-information .company-heading .english-label{font-size:31px}.company-information .company-heading h2{font-size:21px}}


/* Full staff photograph sits above the decorative art in its exact 2:1 opening. */
.team-feature{position:relative;isolation:isolate;margin-block:0 56px}
.team-photo-frame{position:relative;width:min(760px,56vw);max-width:100%;aspect-ratio:3/2;margin-inline:auto}
.team-photo{position:absolute;left:8.333333%;top:18.75%;width:83.333333%;height:62.5%;object-fit:contain;z-index:2}
.feature-caption{position:relative;width:100%;min-width:0;margin:0;padding:24px 0 0;background:transparent;border-radius:0;text-align:center}
.feature-caption .short-wave{margin:0 auto 16px}
.feature-caption strong{display:block;font-family:var(--en);font-size:43px;font-weight:600;line-height:1.4;letter-spacing:.09em}
.feature-caption>span:last-child{display:block;font-size:13px;letter-spacing:.075em;margin-top:6px;line-height:1.9}
@media(min-width:1001px) and (max-width:1100px){.hero-headline{left:40%}}
@media(max-width:1000px){.feature-caption strong{font-size:36px}}
@media(max-width:600px){.team-feature{width:94%;margin-bottom:44px}.team-photo-frame{width:90vw}.feature-caption{padding-top:18px}.feature-caption .short-wave{margin-bottom:12px}.feature-caption strong{font-size:32px;letter-spacing:.075em}.feature-caption>span:last-child{font-size:11px;letter-spacing:.04em;line-height:1.9}}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.js .hero-headline,.js .hero-visual,.js .reveal{opacity:1;transform:none}}

.company-phone-row{scroll-margin-top:110px}.company-table .company-phone-row a[href^="tel:"]{font-size:22px}
@media(max-width:600px){.company-table .company-phone-row a[href^="tel:"]{font-size:20px}}


/* The title follows the actual bridge pixels, not a percentage of the page. */
.hero{--bridge-title-preferred-y:26%}
.hero-headline{left:var(--bridge-title-x,50%);top:var(--bridge-title-y,var(--bridge-title-preferred-y));width:max-content;max-width:calc(100% - 24px);align-items:center;text-align:center;transform:translateX(-50%)}
.hero-headline span+span{margin-left:0}
.movie-heading{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px}
.movie-heading .short-wave{margin:0 auto 10px}
.movie-heading .english-label,.movie-heading h3{display:block;margin:0}
.work-movie,.team-feature{width:min(1000px,80%)}
.team-photo-frame{width:100%;max-width:none;aspect-ratio:auto;padding:clamp(10px,1.2vw,18px);border:1px solid #b8d0c4;border-radius:12px;background:#f7faf6}
.team-photo{position:static;inset:auto;display:block;width:100%;height:auto;object-fit:contain;border-radius:4px}
.feature-caption{padding:0 0 30px}
.recruit-panel{display:block}
.recruit-editorial{width:100%;margin-inline:auto;text-align:center}
.recruit-editorial .section-heading{display:flex;flex-direction:column;align-items:center;text-align:center}
.recruit-editorial .section-heading>div{justify-content:center}
.recruit-editorial .section-heading .short-wave{margin-inline:auto}
@media(min-width:1001px) and (max-width:1250px){.hero{--bridge-title-preferred-y:27%}}
@media(min-width:601px) and (max-width:1000px){.hero{--bridge-title-preferred-y:25%}}
@media(max-width:600px){.hero{--bridge-title-preferred-y:130px}.work-movie,.team-feature{width:90%}.team-photo-frame{width:100%}.feature-caption{padding:0 0 24px}}
@media(max-width:360px){.hero{--bridge-title-preferred-y:126px}}
@media(prefers-reduced-motion:reduce){.js .hero-headline{transform:translateX(-50%)}}

@media(max-width:600px){.intro-copy .intro-heading{font-size:clamp(16px,4.6vw,20px);letter-spacing:.04em}}

/* The original tilted water drop follows the complete copy height with generous outer room. */
.intro-copy{position:relative;isolation:auto;display:flow-root}
.intro-copy::before{content:"";position:absolute;z-index:-1;inset:-110px clamp(-60px,-4.7vw,-38px) -130px clamp(-110px,-8.6vw,-70px);border-radius:50% 0 48% 45%;background-color:#bfeaff;background-image:radial-gradient(#fff8 2px,transparent 2.6px);background-size:17px 17px;transform:rotate(-7deg);pointer-events:none}
@media(max-width:600px){.about{padding-bottom:90px}.intro-copy::before{inset:-110px -40px -140px -64px;opacity:.75}}

/* Give the menu cloud more room on its left while the links stay in place. */
.cloud-nav{width:calc(100% + 16px);margin-left:-16px;padding-left:64px}
@media(min-width:1001px) and (max-width:1250px){.cloud-nav{padding-left:56px}}

/* Match the brand and navigation to the rounded bold hero type. */
.brand-name,.cloud-nav a{font-family:"M PLUS Rounded 1c",sans-serif;font-weight:800}

/* A shared three-part heading follows the approved Company proportions. */
.section-title-stack,.company-information .section-title-stack{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;text-align:center;min-width:0}
.section-title-stack>.section-title-stack__labels{display:contents}
.section-title-stack .short-wave{display:block;flex:0 0 20px;width:100px;height:20px;margin:0 auto 14px;background-position:center}
.section-title-stack .section-title-stack__en,.company-information .section-title-stack .section-title-stack__en{display:block;position:static;width:auto;max-width:100%;margin:0;transform:none;font-family:var(--en);font-size:34px;font-weight:600;line-height:1.3;letter-spacing:.095em;color:var(--ink);white-space:nowrap}
.section-title-stack .section-title-stack__jp,.feature-caption.section-title-stack .section-title-stack__jp,.company-information .section-title-stack .section-title-stack__jp{display:block;width:fit-content;max-width:100%;margin:8px 0 0;font-family:var(--jp);font-size:23px;font-weight:700;line-height:1.7;letter-spacing:.1em;text-align:center;writing-mode:horizontal-tb;white-space:normal;overflow-wrap:anywhere;text-wrap:balance}
@media(max-width:600px){.section-title-stack .section-title-stack__en,.company-information .section-title-stack .section-title-stack__en{font-size:31px}.section-title-stack .section-title-stack__jp,.feature-caption.section-title-stack .section-title-stack__jp,.company-information .section-title-stack .section-title-stack__jp{font-size:21px}}

/* Tighten the requested work and company heading whitespace. */
.work-movie{margin-top:92px}
.movie-heading{margin-bottom:22px}
.company.section-space{padding-block:90px}
.company-information{padding-top:28px}
.company-information .company-heading{margin-bottom:18px}
@media(max-width:1000px){.work-movie{margin-top:80px}}
@media(max-width:600px){.work-movie{margin-top:58px}.movie-heading{margin-bottom:18px}.company.section-space{padding-block:60px}.company-information{padding-top:22px}.company-information .company-heading{margin-bottom:16px}}

/* Keep long Japanese titles together at natural phrase boundaries. */
.section-title-stack__jp .title-phrase{display:inline-block;white-space:nowrap}

/* Preserve every illustration shape; gently restore the reference palette. */
.hero-town{filter:saturate(.74) contrast(.97) brightness(1.015)}

/* Carry the hero hill's pale green and white dots into Company. */
.company-art{background-color:#d5e7c2;background-image:radial-gradient(circle,#ffffff70 1.6px,transparent 1.9px);background-size:18px 18px}

/* Give the About body the removed heading's readable type scale. */
.intro-copy>p:not(.english-note){font-size:20px;font-weight:700;line-height:1.9;letter-spacing:.12em}
.intro-copy>p strong{font-weight:700}
/* Bring Our team and Company closer to their preceding content. */
.services{padding-bottom:64px}
.company.section-space{padding-block:68px}
.company-information{padding-top:20px}
.company-information .company-heading{margin-bottom:12px}
@media(max-width:1000px){.intro-copy>p:not(.english-note){font-size:18px}}
@media(max-width:600px){.intro-copy>p:not(.english-note){font-size:clamp(14px,4vw,17px);letter-spacing:.04em}.services{padding-bottom:40px}.company.section-space{padding-block:44px}.company-information{padding-top:18px}}

/* Keep the three service consultation links on a shared lower baseline. */
@media(min-width:601px){.service-card{display:flex;flex-direction:column;align-items:flex-start}.service-card>.service-image{width:100%;flex:none}.service-card>p{margin-bottom:19px}.service-card>.text-arrow{margin-top:auto}}

/* Further tighten Work and Company, and center the closing copyright. */
.work-movie{margin-top:72px}
.movie-heading{margin-bottom:16px}
.recruit{padding-bottom:64px}
.company.section-space{padding-block:44px}
.site-footer .footer-bottom{justify-content:center;text-align:center;padding-right:0}
@media(max-width:1000px){.work-movie{margin-top:64px}}
@media(max-width:600px){.work-movie{margin-top:44px}.movie-heading{margin-bottom:14px}.recruit{padding-bottom:48px}.company.section-space{padding-block:32px}}

/* Keep the centered copyright above the fixed mobile contact button. */
@media(max-width:600px){.site-footer{padding-bottom:calc(110px + env(safe-area-inset-bottom))}}

/* Official social links sit together beneath the menu cloud. */
.nav-social{display:flex;align-items:center;justify-content:center;gap:12px;width:calc(100% + 16px);margin:8px 0 0 -16px}
.nav-social a{flex:none;display:flex;align-items:center;justify-content:center;width:44px;height:44px;color:var(--blue);background:var(--paper);border-radius:8px;transition:color .2s,transform .2s}
.nav-social svg{display:block;width:26px;height:26px}
.nav-social a:hover{color:var(--green);transform:translateY(-2px)}

/* A rounded water word stays in the outer right gutter as the page scrolls. */

/* Keep official social links below the larger compact MENU, including when it is closed. */
.nav-rail{position:absolute;top:0;right:24px;width:280px;pointer-events:none}
.nav-rail>.nav-shell{position:static;top:auto;right:auto;width:100%;transform:none}
.nav-rail>.menu-toggle{position:static;top:auto;right:auto;width:100%;min-height:58px;padding:15px 22px;font-size:16px;gap:20px}
.nav-rail>.menu-toggle b{font-size:24px}
.nav-rail>.nav-social{pointer-events:auto}
.site-header.is-compact .nav-rail{right:28px;width:148px}
.site-header.is-compact .nav-rail>.nav-shell{position:absolute;top:132px;right:0;width:280px;transform:translateY(-7px)}
.site-header.is-compact.is-open .nav-rail>.nav-shell{transform:none}
.site-header.is-compact .nav-rail>.nav-social{width:100%;margin-left:0}
@media(min-width:1001px) and (max-width:1250px){.nav-rail{right:20px;width:250px}}
@media(max-width:1000px){.nav-rail,.site-header.is-compact .nav-rail{right:5%;width:148px}.nav-rail>.nav-shell{position:absolute;top:132px;right:0;width:280px}.nav-rail>.nav-social{width:100%;margin-left:0}}
@media(max-width:600px){.nav-rail,.site-header.is-compact .nav-rail{width:104px}.nav-rail>.menu-toggle{min-height:48px;padding:10px 13px;font-size:12px;gap:12px}.nav-rail>.menu-toggle b{font-size:21px}.nav-rail>.nav-shell,.site-header.is-compact .nav-rail>.nav-shell{top:116px}.site-header:not(.is-scrolled) .nav-rail>.nav-social{position:absolute;top:calc(116px + var(--menu-cloud-height,304px) + 8px);right:0;width:296px;margin:0;visibility:hidden;opacity:0;pointer-events:none}.site-header:not(.is-scrolled).is-open .nav-rail>.nav-social{visibility:visible;opacity:1;pointer-events:auto}}
@media(max-width:360px){.nav-rail,.site-header.is-compact .nav-rail{width:92px}.nav-rail>.menu-toggle{min-height:46px;padding:10px 12px;font-size:11px;gap:10px}.nav-rail>.menu-toggle b{font-size:18px}}

/* Real people and their truck emerge as a softly raised photographic cutout. */
.team-photo-frame.team-cutout-scene{position:relative;isolation:isolate;display:flow-root;padding:24px 0;border:0;border-radius:0;background:transparent;overflow:visible}
.team-cutout-scene::before{--team-field-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%201440%20600'%20preserveAspectRatio%3D'none'%3E%3Cpath%20d%3D'M0%2090C160%2090%20200%2030%20360%2038S620%20108%20800%2060S1120%2012%201280%2048S1390%2090%201440%2070V520C1260%20580%201070%20530%20900%20548S600%20600%20410%20552S130%20515%200%20570Z'%20fill%3D'white'%2F%3E%3C%2Fsvg%3E");content:"";position:absolute;z-index:0;left:50%;top:-4%;bottom:-5%;width:100vw;background-color:#bfeaff;background-image:radial-gradient(#fff8 2px,transparent 2.6px);background-size:17px 17px;transform:translateX(-50%);-webkit-mask:var(--team-field-mask) center/100% 100% no-repeat;mask:var(--team-field-mask) center/100% 100% no-repeat;pointer-events:none}
.team-photo.team-photo--cutout{position:relative;z-index:1;margin-top:-9.5%;margin-bottom:-3.5%;border-radius:0;filter:contrast(.94) saturate(.94) brightness(1.035) blur(.18px) drop-shadow(0 14px 18px #1e515429) drop-shadow(0 3px 3px #1e51541c)}
.js .reveal{transform:none;transition:opacity .95s ease}
.js .reveal.is-visible{transition-delay:var(--reveal-delay,0ms)}
.js .reveal:focus-within{opacity:1;transition-duration:0s;transition-delay:0s}
.js .team-cutout-scene.reveal{transform:none;transition:opacity 1.4s ease}
@media(min-width:601px){.service-card:nth-of-type(2),.work-benefits>.reveal:nth-child(2){--reveal-delay:80ms}.service-card:nth-of-type(3),.work-benefits>.reveal:nth-child(3){--reveal-delay:160ms}}
@media(max-width:600px){.team-photo-frame.team-cutout-scene{padding-bottom:18px}.team-photo.team-photo--cutout{filter:contrast(.94) saturate(.94) brightness(1.035) blur(.12px) drop-shadow(0 8px 11px #1e515429) drop-shadow(0 2px 2px #1e51541c)}}

/* A larger matte water-and-leaf contact badge follows the town illustration palette. */
.contact-float{width:128px;height:128px;gap:10px;border:1px solid #c1ddeb;border-radius:50%;background:#e6f4fb;box-shadow:0 4px 14px #2255a514;backdrop-filter:none;-webkit-backdrop-filter:none}
.contact-float svg{width:32px;height:32px}
.contact-float>span{font-family:"M PLUS Rounded 1c",sans-serif;font-size:14px;font-weight:700;letter-spacing:.02em}
@media(max-width:600px){.contact-float{width:104px;height:104px;gap:8px}.contact-float svg{width:28px;height:28px}.contact-float>span{font-size:12px}.site-footer{padding-bottom:calc(126px + env(safe-area-inset-bottom))}}

/* v97: five cloud links, a clear recruitment entrance, and an illustrated recruitment badge. */
.reference-layout .cloud-nav{padding-top:58px;padding-bottom:58px;gap:18px}
.recruit-site-link{margin-top:40px}
.recruit-site-cta.text-arrow{width:min(480px,100%);min-height:96px;margin-inline:auto;padding:22px 34px;gap:32px;border:1px solid #c1ddeb;border-radius:999px;background:linear-gradient(125deg,#e7f4fb,#edf5df);box-shadow:0 4px 14px #2255a512;color:#22578b;font-family:"M PLUS Rounded 1c",sans-serif;font-size:24px;font-weight:800;line-height:1.5;letter-spacing:.055em;transition:transform .2s,box-shadow .2s}
.recruit-site-cta.text-arrow>span{flex:none;font-size:30px}
.recruit-site-cta:hover{transform:translateY(-2px);box-shadow:0 7px 20px #2255a51c}
.recruit-site-cta:focus-visible{outline:3px solid var(--blue);outline-offset:5px}
.contact-float.recruit-float{right:calc(22px + env(safe-area-inset-right));bottom:calc(22px + env(safe-area-inset-bottom));width:144px;height:144px;padding:11px 14px 13px;gap:1px;border:1px solid #c1ddeb;background:linear-gradient(145deg,#e7f4fb 35%,#edf5df);box-shadow:0 5px 18px #2255a51a}
.recruit-float__art{display:block;flex:none;width:94px;height:68px;object-fit:contain;pointer-events:none}
.contact-float.recruit-float>.recruit-float__label{display:block;font-family:"M PLUS Rounded 1c",sans-serif;font-size:20px;font-weight:800;line-height:1.15;letter-spacing:.04em;text-align:center;white-space:normal}
.recruit-float__label>span{display:block}
.contact-float.recruit-float:focus-visible{outline:3px solid var(--blue);outline-offset:5px}
@media(max-width:600px){
  .recruit-site-link{margin-top:28px}
  .recruit-site-cta.text-arrow{min-height:84px;padding:18px 24px;gap:22px;font-size:21px;letter-spacing:.03em}
  .recruit-site-cta.text-arrow>span{font-size:28px}
  .contact-float.recruit-float{right:calc(12px + env(safe-area-inset-right));bottom:calc(12px + env(safe-area-inset-bottom));width:116px;height:116px;padding:8px 10px 10px;gap:1px}
  .recruit-float__art{width:72px;height:52px}
  .contact-float.recruit-float>.recruit-float__label{font-size:17px;line-height:1.15}
  .site-footer{padding-bottom:calc(140px + env(safe-area-inset-bottom))}
}
@media(prefers-reduced-motion:reduce){.recruit-site-cta.text-arrow,.contact-float.recruit-float{transition:none}}

/* v98: center the recruitment label independently of its right-hand arrow. */
.recruit-site-cta.text-arrow{position:relative;justify-content:center;padding-inline:70px;text-align:center}
.recruit-site-cta.text-arrow>.recruit-site-cta__label{display:block;font:inherit;color:inherit;white-space:nowrap;text-indent:.055em;transform:none;transition:none}
.recruit-site-cta.text-arrow>.recruit-site-cta__arrow{position:absolute;right:34px;top:50%;font-size:30px;transform:translateY(-50%)}
.recruit-site-cta.text-arrow:hover>.recruit-site-cta__arrow{transform:translate(3px,-50%)}
@media(max-width:600px){.recruit-site-cta.text-arrow{padding-inline:52px}.recruit-site-cta.text-arrow>.recruit-site-cta__label{text-indent:.03em}.recruit-site-cta.text-arrow>.recruit-site-cta__arrow{right:22px;font-size:28px}}
@media(max-width:360px){.recruit-site-cta.text-arrow{font-size:20px}}
