@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;800;900&family=Inter:wght@400;500;600;700;800;900&display=swap');
:root{--orange:#f47a13;--ink:#181818;--muted:#676767;--rail:216px;--line:#dedede;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:#fff;color:var(--ink);font-family:Inter,'Noto Sans JP',sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--orange);outline-offset:6px}::selection{background:var(--orange);color:white}.skip{position:fixed;z-index:100;top:-80px;left:20px;background:white;padding:16px}.skip:focus{top:12px}
.sidebar{position:fixed;z-index:20;inset:0 auto 0 0;width:var(--rail);background:#fff;border-right:1px solid var(--line);padding:35px 28px 24px;display:flex;flex-direction:column}.brand{display:block;width:fit-content}.brand-main{font-size:42px;font-weight:900;letter-spacing:-2px;display:flex;align-items:center;line-height:1}.brand-main i{display:block;width:12px;height:30px;margin-right:9px;background:var(--orange)}.brand-sub{display:block;font-size:15px;font-weight:700;letter-spacing:4px;margin:2px 0 10px 22px}.brand-ja{display:block;font-size:9px;font-weight:700;letter-spacing:-.4px;white-space:nowrap}.sidebar nav{display:flex;flex-direction:column;gap:33px;margin-top:78px}.sidebar nav>a:not(.nav-contact){position:relative}.sidebar nav strong{font-size:13px;letter-spacing:.09em;display:block}.sidebar nav>a>span:not(.nav-contact span){display:block;font-size:12px;color:#555;margin-top:7px}.sidebar nav>a:not(.nav-contact):before{content:'';position:absolute;left:-15px;top:4px;background:var(--orange);width:4px;height:12px;transform:scaleY(0);transition:transform .3s}.sidebar nav>a:hover:before,.sidebar nav>a.active:before{transform:scaleY(1)}.nav-contact{background:var(--orange);color:white;padding:17px 15px;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:space-between;margin-top:5px}.nav-contact span{font-size:20px}.sidebar-bottom{margin-top:auto;padding-top:24px}.sidebar-bottom small{display:block;font-size:9px;letter-spacing:.1em;color:#888;margin-top:20px}.motion-toggle{border:0;background:none;padding:4px 0;font-size:10px;letter-spacing:.1em;color:#666}.motion-symbol{display:inline-block;color:var(--orange);font-size:14px;margin-right:8px;width:12px}.motion-status{margin-left:5px}.menu-toggle{display:none}main{margin-left:var(--rail)}.hero{position:relative;min-height:960px;height:calc(100svh + 130px);max-height:1120px;overflow:hidden}.hero-topline{position:relative;z-index:2;display:flex;justify-content:space-between;padding:34px 44px;font-size:10px;letter-spacing:.2em}.hero-topline span:last-child{font-size:12px;letter-spacing:.1em}.hero-background{position:absolute;inset:0 0 auto;height:75%;overflow:hidden}.hero-d{position:absolute;right:-20px;top:10px;font-size:600px;line-height:1;font-weight:900;color:#f4f4f4;letter-spacing:-.1em;animation:d-drift 12s ease-in-out infinite alternate}.hero-copy{position:relative;z-index:3;padding:74px 40px 0;pointer-events:none}.hero-copy a{pointer-events:auto}h1{font-size:clamp(60px,6.65vw,108px);line-height:1.27;letter-spacing:-.075em;font-weight:900;margin:0}.line{display:block;overflow:hidden;padding-bottom:7px}.line>span{display:block;animation:title-in 1.15s var(--ease) both}.line:nth-child(2)>span{animation-delay:.13s}.orange{color:var(--orange)}.hero-description{font-size:18px;line-height:1.95;font-weight:500;margin:23px 0 26px;animation:fade-up .9s .35s var(--ease) both}.hero-actions{display:flex;gap:16px;animation:fade-up .9s .48s var(--ease) both}.button{display:inline-flex;gap:24px;align-items:center;justify-content:space-between;padding:20px 24px;font-size:13px;font-weight:700;min-height:60px;border:1px solid var(--ink);transition:background .3s,color .3s,transform .3s}.button span{font-size:21px;transition:transform .3s}.button:hover span{transform:translate(3px,-3px)}.button.primary{background:var(--orange);color:white;border-color:var(--orange)}.button.primary:hover{background:#d96507}.button.secondary{background:white}.button.secondary:hover{background:var(--ink);color:white}.hero-photo{position:absolute;left:0;right:0;bottom:0;height:50%;clip-path:polygon(0 28%,100% 0,100% 100%,0 100%);background:#eef0eb;animation:photo-reveal 1.7s .25s var(--ease) both;overflow:hidden}.hero-photo img{width:100%;height:120%;object-fit:cover;object-position:center 50%;transform:translateY(calc(var(--photo-shift,0px) - 5%));will-change:transform}.photo-wash{position:absolute;inset:0;background:linear-gradient(110deg,#e4e9e3,#d7dfd6 35%,#f8faf7);opacity:.5}.photo-caption{position:absolute;right:35px;bottom:28px;color:white;text-shadow:0 1px 10px #0009;font-size:12px;letter-spacing:.15em}.scroll-cue{position:absolute;z-index:5;left:40px;bottom:34px;font-size:9px;letter-spacing:.15em;display:flex;flex-direction:column;gap:15px}.scroll-cue span{height:60px;width:1px;background:#ddd;overflow:hidden}.scroll-cue span:after{content:'';display:block;width:100%;height:100%;background:var(--orange);animation:scroll-line 2s var(--ease) infinite}.section{padding:104px 50px}.section-number{font-size:12px;font-weight:600;color:var(--orange);letter-spacing:.15em;margin-bottom:27px}.about{border-top:1px solid var(--line)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px}.about h2{font-size:clamp(29px,3.3vw,52px);line-height:1.6;letter-spacing:-.055em;margin:0;font-weight:900}.about-text{padding-left:36px;border-left:1px solid var(--line)}.about-text p{font-size:15px;line-height:2.2;margin:0 0 21px}.text-link{display:inline-flex;align-items:center;gap:24px;font-size:12px;font-weight:600;margin-top:16px}.text-link span,.round-arrow{display:grid;place-items:center;border-radius:50%;background:var(--orange);color:white;width:33px;height:33px;font-size:18px;transition:transform .3s}.text-link:hover span{transform:rotate(45deg)}.reveal{opacity:1;transform:none}.js-motion .reveal{opacity:0;transform:translateY(32px);transition:opacity .9s var(--ease),transform .9s var(--ease)}.js-motion .reveal.visible{opacity:1;transform:none}
@keyframes title-in{from{transform:translateY(120%) rotate(2deg)}to{transform:translateY(0) rotate(0)}}@keyframes fade-up{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@keyframes photo-reveal{from{clip-path:polygon(0 100%,100% 85%,100% 100%,0 100%);transform:scale(1.03)}to{clip-path:polygon(0 28%,100% 0,100% 100%,0 100%);transform:scale(1)}}@keyframes d-drift{to{transform:translate(-18px,15px) rotate(3deg)}}@keyframes scroll-line{from{transform:translateY(-100%)}to{transform:translateY(100%)}}
@media(min-width:1600px){.hero-copy{padding-top:100px}.hero{min-height:1080px}.hero-photo{height:52%}}
@media(max-width:1150px){:root{--rail:180px}.sidebar{padding:27px 22px}.brand-main{font-size:35px}.brand-sub{font-size:12px}.brand-ja{font-size:8px}.sidebar nav{margin-top:58px;gap:29px}.hero{min-height:850px}.hero-copy{padding:65px 32px 0}h1{font-size:7.1vw}.hero-topline{padding:28px 32px}.hero-topline span:last-child{display:none}.hero-description{font-size:16px}.button{padding:17px 18px;font-size:12px;gap:15px}.section{padding:80px 34px}.about-grid{gap:25px}.about-text{padding-left:25px}.about-text p{font-size:14px}}
@media(max-width:760px){:root{--rail:0px}html{scroll-padding-top:94px}.sidebar{position:fixed;inset:0 0 auto;width:auto;height:78px;padding:17px 22px;border-right:0;border-bottom:1px solid #eee;display:block}.brand-main{font-size:27px;letter-spacing:-1px}.brand-main i{width:7px;height:20px;margin-right:6px}.brand-sub{font-size:8px;margin:1px 0 0 14px;letter-spacing:3px}.brand-ja{display:none}.menu-toggle{display:block;position:absolute;right:20px;top:25px;width:64px;padding:0;border:0;background:none;text-align:left;font-size:9px;letter-spacing:.1em}.menu-toggle i{position:absolute;right:0;top:2px;width:15px;height:1px;background:var(--ink)}.menu-toggle i:last-child{top:9px}.menu-toggle[aria-expanded=true] i{top:5px;transform:rotate(45deg)}.menu-toggle[aria-expanded=true] i:last-child{transform:rotate(-45deg)}.sidebar nav{display:none;position:absolute;top:77px;left:0;right:0;margin:0;padding:30px 28px;background:white;gap:25px;border-bottom:1px solid var(--line)}.sidebar nav.open{display:flex}.sidebar nav>a>span:not(.nav-contact span){font-size:12px}.nav-contact{max-width:300px}.sidebar-bottom{position:absolute;right:108px;top:23px;padding:0}.sidebar-bottom small{display:none}.motion-toggle{font-size:9px}.motion-symbol{margin-right:4px}main{margin-top:78px}.hero{min-height:820px;height:calc(100svh + 100px);max-height:960px}.hero-topline{padding:28px 23px;font-size:8px;letter-spacing:.17em}.hero-copy{padding:45px 22px 0}h1{font-size:clamp(39px,10.7vw,73px);letter-spacing:-.065em;line-height:1.32}.hero-description{font-size:14px;margin:20px 0 22px;line-height:2}.hero-actions{gap:9px;flex-wrap:wrap}.button{font-size:11px;padding:15px 12px;gap:10px;min-height:53px}.button span{font-size:18px}.hero-d{top:15px;right:-25px;font-size:400px}.hero-photo{height:43%;clip-path:polygon(0 17%,100% 0,100% 100%,0 100%)}.hero-photo img{object-position:65% center}.scroll-cue{left:22px;bottom:20px;background:#fffd;padding:9px 8px;font-size:8px}.scroll-cue span{height:32px}.photo-caption{font-size:9px;right:16px;bottom:22px}.section{padding:65px 24px}.section-number{font-size:10px}.about-grid{grid-template-columns:1fr;gap:26px}.about h2{font-size:33px;line-height:1.6}.about-text{padding-left:0;border-left:0}.about-text p{font-size:14px}.text-link{font-size:12px}@keyframes photo-reveal{from{clip-path:polygon(0 100%,100% 85%,100% 100%,0 100%)}to{clip-path:polygon(0 17%,100% 0,100% 100%,0 100%)}}}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.services{background:#f5f5f4}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:64px}.section-heading h2{font-size:clamp(48px,6vw,86px);letter-spacing:-.065em;line-height:1;margin:0;font-weight:800}.section-heading p{font-size:15px;margin:20px 0 0}.heading-note{font-size:10px;font-weight:600;letter-spacing:.12em;line-height:1.7;color:#777}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px}.service-card{scroll-margin-top:50px}.service-card:nth-child(2){transition-delay:.15s}.service-eyebrow{display:flex;gap:15px;align-items:center;font-size:10px;letter-spacing:.13em;color:#b65000}.service-eyebrow i{height:1px;background:#bbb;flex:1}.service-card h3{font-size:28px;font-weight:800;margin:26px 0 14px;letter-spacing:-.035em}.service-card>p{font-size:16px;line-height:1.9;margin:0}.service-card .text-link{margin-bottom:32px}.service-photo{height:230px;overflow:hidden;background:#ddd}.service-photo img{width:100%;height:100%;object-fit:cover;object-position:80% center;transition:transform 1s var(--ease)}.service-card:hover .service-photo img{transform:scale(1.035)}.business-visual{height:230px;display:flex;flex-direction:column;justify-content:center;padding:25px;background:#202020;color:white;position:relative;overflow:hidden}.business-visual>span{font-size:clamp(25px,2.7vw,44px);font-weight:800;letter-spacing:-.04em;position:relative;z-index:1}.business-visual>span:nth-of-type(2){color:var(--orange)}.business-visual>i{font-size:24px;font-style:normal;color:#999;margin:2px 0}.business-rule{position:absolute;right:0;top:25px;width:140px;height:280px;transform:rotate(25deg);border-left:1px solid #ffffff18;border-right:1px solid #ffffff18}.service-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:21px}.service-tags span{font-size:10px;padding:7px 9px;border:1px solid #d5d5d5;color:#666}.statement{padding:100px 50px;background:white;overflow:hidden}.statement-inner{position:relative;border-block:1px solid #ddd;padding:60px 0}.statement p{font-size:clamp(37px,4.5vw,67px);line-height:1.6;font-weight:900;letter-spacing:-.05em;margin:22px 0 0}.statement p span{color:var(--orange)}.statement-line{position:absolute;right:10%;top:-30%;height:160%;width:1px;background:var(--orange);transform:rotate(32deg);opacity:.35}.company{padding-top:20px}.company-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px}.company-message h3{font-size:34px;line-height:1.6;letter-spacing:-.05em;margin:0 0 26px}.company-message p{font-size:14px;line-height:2.1}.company-facts{margin:0}.company-facts>div{display:grid;grid-template-columns:95px 1fr;gap:14px;padding:25px 0;border-bottom:1px solid #dedede}.company-facts>div:first-child{border-top:1px solid #dedede}.company-facts dt{font-size:12px;color:#777}.company-facts dd{font-size:14px;line-height:1.9;margin:0}.recruit{position:relative;overflow:hidden;background:var(--orange);color:white;padding:85px 50px}.recruit-inner{position:relative;z-index:1}.recruit .section-number{color:white}.recruit h2{font-size:clamp(38px,4vw,60px);font-weight:900;line-height:1.5;letter-spacing:-.055em;margin:0}.recruit p{font-size:15px;line-height:2;margin:22px 0 32px}.button.light{border-color:white;background:white;color:var(--ink);min-width:210px}.button.light:hover{background:var(--ink);border-color:var(--ink);color:white}.recruit-type{position:absolute;right:-6px;top:50px;line-height:.9;font-size:clamp(100px,15vw,220px);letter-spacing:-.07em;font-weight:900;color:#ffffff1c;transform:rotate(-6deg)}.contact{display:grid;grid-template-columns:1fr .8fr;gap:50px;align-items:center;padding-block:110px}.contact h2{font-size:clamp(26px,2.7vw,43px);letter-spacing:-.05em;margin:0 0 25px;font-weight:900}.contact p{font-size:14px;line-height:2}.contact-link{display:flex;justify-content:space-between;align-items:center;padding:24px 0;border-bottom:1px solid var(--ink);font-size:23px;font-weight:700}.contact-en{display:block;font-size:10px;letter-spacing:.15em;color:#777;margin-top:12px}.contact-arrow{display:grid;place-items:center;font-size:32px;background:var(--orange);color:white;width:64px;height:64px;border-radius:50%;transition:transform .4s}.contact-link:hover .contact-arrow{transform:rotate(45deg)}footer{border-top:1px solid var(--line);padding:45px 50px 25px;display:flex;justify-content:space-between;gap:25px;align-items:flex-start;flex-wrap:wrap}footer strong{font-size:21px;letter-spacing:-.04em}footer>div>span{display:block;font-size:10px;margin-top:8px}.footer-links{display:flex;gap:24px;font-size:10px;color:#666}footer p{font-size:9px;color:#777;margin:6px 0}.mock-note{flex-basis:100%;font-size:10px!important;border-top:1px solid #eee;padding-top:22px;line-height:1.8}.hero-background video{width:100%;height:100%;object-fit:cover;object-position:center}.hero-photo video{position:absolute;inset:0;width:100%;height:120%;object-fit:cover;object-position:center 50%;transform:translateY(calc(var(--photo-shift,0px) - 5%))}.motion-off .hero-photo video{transform:translateY(-5%)}
@media(max-width:1150px){.service-grid{gap:30px}.service-card h3{font-size:25px}.company-grid{gap:30px}.company-facts>div{grid-template-columns:75px 1fr}.company-facts dd{font-size:12px}.service-photo,.business-visual{height:200px}.recruit{padding:75px 34px}.contact{gap:30px}.contact-link{font-size:20px}.contact-arrow{width:50px;height:50px}.heading-note{display:none}footer{padding-inline:34px}}
@media(max-width:760px){.section-heading{margin-bottom:42px}.section-heading h2{font-size:56px}.section-heading p{font-size:14px}.service-grid{grid-template-columns:1fr;gap:55px}.service-card h3{font-size:27px}.service-card>p{font-size:15px}.service-photo,.business-visual{height:220px}.business-visual>span{font-size:38px}.statement{padding:65px 24px}.statement-inner{padding:38px 0}.statement p{font-size:31px}.statement-line{right:14%;opacity:.17}.company{padding-top:0}.company-grid{grid-template-columns:1fr;gap:40px}.company-message h3{font-size:31px}.company-facts dd{font-size:12px}.company-facts>div{padding:20px 0}.recruit{padding:65px 24px}.recruit h2{font-size:36px}.recruit p{font-size:14px}.recruit-type{top:80px;right:-15px;font-size:120px}.contact{grid-template-columns:1fr;gap:25px;padding-block:70px}.contact h2{font-size:29px}.contact-link{max-width:400px;font-size:24px}footer{padding:35px 24px 22px;gap:25px}.footer-links{flex-basis:100%;justify-content:space-between}.hero-photo video{object-position:65% center}}
html.motion-off{scroll-behavior:auto}.motion-off *, .motion-off *:before,.motion-off *:after{animation:none!important;transition:none!important}.motion-off .reveal{opacity:1;transform:none}.motion-off .hero-photo img{transform:translateY(-5%)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js-motion .reveal{opacity:1;transform:none}}
.hero-background video{position:absolute;inset:0;opacity:0;transition:opacity .65s}.hero-background video.is-ready{opacity:1}.hero-photo video{opacity:0;transition:opacity .65s}.hero-photo video.is-ready{opacity:1}.hero-photo .photo-caption{z-index:2}@media(max-width:760px){.brand-video{display:none}}@media(prefers-reduced-motion:reduce){.hero-photo img,.hero-photo video{transform:translateY(-5%)!important}}
.about-text p,.company-message p,.company-facts dd,.contact p{font-size:16px}.sidebar nav strong{font-size:14px}.text-link{font-size:14px}.button{font-size:14px}.section-heading p{font-size:16px}.service-tags span{font-size:12px}.footer-links{font-size:12px}
@media(max-width:1150px){.button{font-size:12px}.text-link{font-size:13px}.company-facts dd{font-size:14px}.about-text p{font-size:15px}}
@media(max-width:760px){.hero{height:calc(100svh - 78px);min-height:740px;max-height:900px}.hero-photo{height:42%}.hero-description{font-size:15px}.button{font-size:12px}.about-text p,.company-message p,.contact p,.recruit p{font-size:16px}.motion-toggle,.menu-toggle{min-height:30px}.sidebar-bottom{top:18px}.menu-toggle{top:20px}.menu-toggle i{top:10px}.menu-toggle i:last-child{top:17px}.menu-toggle[aria-expanded=true] i,.menu-toggle[aria-expanded=true] i:last-child{top:14px}}
@media(min-width:361px) and (max-width:760px){.hero-actions{display:grid;grid-template-columns:1fr 1.15fr;gap:8px}.hero-actions .button{font-size:11px;padding:15px 10px;gap:7px;white-space:nowrap;min-width:0}.hero-actions .button span{font-size:17px}}
@media(max-width:360px){.hero-actions{display:grid;grid-template-columns:1fr;max-width:290px}.hero-actions .button{width:100%}.hero{min-height:800px}}
