:root{font-family:Manrope,Noto Sans JP,sans-serif;color:#4e6079;background:#f8f9fa;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ink: #4e6079;--paper: #f8f9fa;--gutter: clamp(24px, 3vw, 88px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:36px}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}img{display:block;max-width:100%}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:7px}main:focus{outline:none}::selection{color:var(--paper);background:var(--ink)}.skip-link{position:fixed;top:12px;left:12px;padding:12px 20px;background:var(--ink);color:var(--paper);z-index:20;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-header{position:absolute;inset:0 0 auto;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:40px;padding:29px var(--gutter);height:112px}.brand{flex-shrink:0}.brand img{width:clamp(154px,17vw,240px);height:auto}.site-navigation{display:flex;align-items:center;gap:clamp(24px,3vw,50px)}.site-navigation a{font-size:16px;font-weight:600;letter-spacing:.025em;padding:8px 0;transition:opacity .2s}.site-navigation a:hover{opacity:.6}.menu-button{display:none}.hero{position:relative;height:210svh}.hero-stage{isolation:isolate;z-index:1;position:sticky;top:0;height:100svh;overflow:clip;background:transparent}.hero-visual{display:none;z-index:-1;position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;clip-path:circle(calc(100% - var(--scroll, 0) * 77%) at 50% 60%)}.hero-art{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;object-position:center bottom;mix-blend-mode:multiply;transform:translate3d(calc(var(--scroll, 0) * -18vw),calc(var(--scroll, 0) * -14svh),0) scale(calc(1 + var(--scroll, 0) * .12));transform-origin:75% 75%}.hero-copy{position:relative;padding:max(130px,13svh) var(--gutter) 0;transform:translateY(calc(var(--scroll, 0) * -160px));opacity:clamp(0,calc(1 - var(--scroll, 0) * 2.4),1)}.scroll-cue{position:absolute;bottom:22px;left:var(--gutter);margin:0;font-size:11px;font-weight:600;letter-spacing:.16em;opacity:clamp(0,calc(1 - var(--scroll, 0) * 4),1)}h1{margin:0;font-size:min(15.5vw,22svh);font-weight:600;line-height:.99;letter-spacing:-.057em}h1 span{display:block;width:fit-content}.tagline{margin:clamp(24px,4svh,44px) 0 0;font-family:Noto Sans JP,sans-serif;font-size:clamp(25px,2.45vw,39px);font-weight:500;letter-spacing:.12em;line-height:1.6}.rope-journey{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}.rope-aperture{position:absolute;top:0;right:0;bottom:0;left:0;clip-path:circle(var(--rope-radius, 150vmax) at var(--rope-x, 50%) var(--rope-y, 60%))}.journey-image{position:absolute;left:0;top:0;width:1548px;height:1016px;max-width:none;transform-origin:0 0;transform:translate3d(var(--image-x, 0px),var(--image-y, 0px),0) scale(var(--image-scale, 1));opacity:calc(1 - var(--crop-opacity, 0))}.journey-circle{position:absolute;left:calc(var(--rope-x, 50%) - var(--rope-size, 306px) / 2);top:calc(var(--rope-y, 53%) - var(--rope-size, 306px) / 2);width:var(--rope-size, 306px);height:var(--rope-size, 306px);opacity:var(--crop-opacity, 0)}.content-panel{--rope-diameter: min(clamp(180px, 21.25vw, 612px), 60svh);--panel-height: min(110svh, clamp(720px, 76.38889vw, 1520px));--panel-padding: clamp(64px, 6.94444vw, 160px);position:relative;z-index:1;min-height:var(--panel-height);padding:var(--panel-padding) var(--gutter)}.panel-grid{display:grid;grid-template-columns:minmax(0,1fr) var(--rope-diameter) minmax(0,1fr);gap:clamp(20px,2.5vw,64px);align-items:center;min-height:calc(var(--panel-height) - 2 * var(--panel-padding));padding-top:clamp(32px,4.16667vw,100px)}.rope-slot{width:var(--rope-diameter);height:var(--rope-diameter)}.rope-slot img{visibility:hidden;width:100%;height:100%;object-fit:contain}.story h2{font-family:Noto Sans JP,sans-serif;font-size:clamp(38px,4.98056vw,144px);line-height:1.3688;letter-spacing:-.045em;font-weight:700;margin:0}.story h2 span{display:block}.story-description{font-family:Noto Sans JP,sans-serif;font-size:clamp(16px,1.38889vw,40px);line-height:clamp(32px,3.40278vw,72px);letter-spacing:.035em;margin:0}.service-copy{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(24px,2.63889vw,64px);min-width:0;min-height:clamp(360px,33.648vw,720px);padding:clamp(32px,3.81944vw,88px) clamp(16px,1.66667vw,48px) clamp(24px,2.43056vw,64px) var(--gutter)}.pet-copy{gap:clamp(24px,2.5vw,64px);padding-left:clamp(30px,4vw,112px);padding-right:var(--gutter)}.service-copy h2{font-size:clamp(44px,5vw,160px);line-height:1;letter-spacing:-.05em;font-weight:600;margin:0}.service-copy p{font-family:Noto Sans JP,sans-serif;font-size:clamp(17px,1.75vw,56px);line-height:1.85;letter-spacing:.025em;margin:0;overflow-wrap:anywhere}.site-footer{display:grid;grid-template-columns:26% 40% 34%;align-items:center;background:var(--ink);color:var(--paper);padding:clamp(40px,3.47222vw,88px) var(--gutter);gap:0;min-height:280px}.footer-brand{padding-right:42px}.footer-brand img{width:100%;max-width:clamp(250px,17.36111vw,420px);height:auto;filter:brightness(0) invert(1)}.company-info{border-inline:1px solid #f8f9fa66;padding:0 clamp(24px,2.77778vw,72px)}.company-info h2,.contact h2{font-family:Noto Sans JP,sans-serif;font-size:clamp(18px,1.66667vw,40px);font-weight:500;line-height:1.5;margin:0 0 clamp(18px,1.45833vw,32px)}.company-info dl{margin:0;font-family:Noto Sans JP,sans-serif;font-size:clamp(14px,1.38889vw,32px);line-height:1.8}.company-info dl div{display:grid;grid-template-columns:clamp(80px,5.55556vw,128px) 1fr;gap:clamp(14px,.97222vw,24px)}.company-info dd{margin:0}.contact{padding-left:clamp(24px,2.91667vw,74px)}.contact h2{font-size:clamp(14px,.97222vw,24px);opacity:.8;margin-bottom:14px}.contact-button{font-size:clamp(18px,1.85vw,48px);font-weight:500;letter-spacing:-.025em;text-underline-offset:7px}.contact-button:hover{text-decoration:underline}.site-footer{position:relative;z-index:2}[data-reveal]{opacity:1}@media (prefers-reduced-motion: no-preference){[data-reveal]:not(.is-visible){opacity:0;transform:translateY(24px)}[data-reveal]{transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.3,1)}}@media (min-width: 761px){h1{line-height:.88}}@media (min-width: 1101px){.site-navigation a{font-size:20px}}@media (max-width: 1100px){.site-header{height:92px;padding-block:22px;gap:22px}.site-navigation{gap:22px}.site-navigation a{font-size:13px}.site-footer{grid-template-columns:22% 43% 35%;padding-block:42px}.company-info{padding-inline:24px}.company-info dl{font-size:14px}.company-info dl div{grid-template-columns:50px 1fr;gap:8px}.company-info h2{font-size:18px}.contact{padding-left:24px}.service-copy{padding-left:0;padding-right:0}}@media (max-width: 760px){html{scroll-padding-top:22px}.site-header{height:82px;padding-block:23px}.brand img{width:154px}.menu-button{display:block;border:1px solid #4e607955;border-radius:24px;background:var(--paper);padding:9px 16px;font-family:Noto Sans JP,sans-serif;font-size:12px;cursor:pointer}.site-navigation{display:none;position:absolute;top:82px;left:0;right:0;padding:12px var(--gutter) 24px;background:var(--paper);border-bottom:1px solid #4e607933}.site-navigation.is-open{display:flex;flex-direction:column;align-items:stretch;gap:0}.site-navigation a{font-size:15px;padding:16px 0}.rope-journey{display:none}.hero{height:175svh}.hero-visual{display:block}.hero-copy{padding-top:130px}h1{font-size:min(15vw,14svh);line-height:1.07;letter-spacing:-.055em}.tagline{font-size:clamp(17px,4vw,26px);letter-spacing:.065em;margin-top:26px}.hero-art{inset:auto 0 0;height:75%;object-position:center bottom}.content-panel{--rope-diameter: min(220px, 60vw);min-height:100svh;padding:64px var(--gutter)}.panel-grid{grid-template-columns:minmax(0,1fr);min-height:auto;padding-top:0;gap:48px}.rope-slot{justify-self:center}.rope-slot img{visibility:visible}.story h2{font-size:clamp(28px,7.2vw,46px);line-height:1.6;font-weight:500}.story-description{font-size:15px;line-height:2;letter-spacing:.01em}.desktop-break{display:none}.service-copy{padding:0;min-height:0;gap:24px}.service-copy h2{font-size:clamp(46px,12vw,70px);line-height:1.04;letter-spacing:-.045em}.service-copy p{font-size:16px;line-height:1.95;letter-spacing:.02em}.site-footer{display:flex;flex-direction:column;align-items:stretch;gap:32px;padding:40px var(--gutter) 44px}.footer-brand{padding:0;width:160px}.company-info{padding:0;border:0}.company-info h2{font-size:17px;margin-bottom:18px}.company-info dl{font-size:14px}.company-info dl div{grid-template-columns:60px 1fr;gap:18px;padding-block:3px}.contact{padding:24px 0 0;border-top:1px solid #f8f9fa55}.contact h2{font-size:13px}.contact-button{display:inline-block;font-size:22px;padding-block:5px}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.rope-journey{display:none}.hero{height:auto}.hero-stage{position:relative;min-height:700px}.hero-visual{display:block;clip-path:none}.hero-art,.hero-copy,[data-reveal]{transform:none!important;opacity:1!important}.rope-slot img{visibility:visible}.scroll-cue{display:none}}@media (max-height: 650px) and (min-width: 761px){.hero-copy{padding-top:105px}h1{font-size:min(15.5vw,21svh)}.tagline{font-size:23px;margin-top:22px}}.contact-button{display:inline-block;border:0;border-bottom:1px solid currentColor;padding:0 0 8px;background:transparent;text-align:left;cursor:pointer;font-family:Noto Sans JP,sans-serif;font-size:clamp(16px,1.5vw,36px);line-height:1.6}.contact-help{font-family:Noto Sans JP,sans-serif;font-size:clamp(12px,.9vw,20px);line-height:1.8;margin:16px 0 0;overflow-wrap:anywhere}
