@charset "UTF-8";
:root{--ink:#151515;--paper:#f4f4f0;--green:#d7fa52;--muted:#888;--line:#d5d5cf;--ease:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,"Helvetica Neue","Noto Sans JP","Yu Gothic",Meiryo,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid #719500;outline-offset:6px}::selection{background:var(--green);color:var(--ink)}.skip{position:fixed;top:-80px;left:20px;z-index:100;padding:16px;background:var(--green)}.skip:focus{top:12px}.header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 4.5%;background:var(--paper);position:sticky;top:0;z-index:20;border-bottom:1px solid #1515150d}.brand{font-size:40px;font-weight:900;letter-spacing:-3px}.brand-dot{color:#779900}.header nav{display:flex;gap:40px;font-size:14px;font-weight:600}.header nav a{position:relative;padding:12px 0}.header nav a:after{content:"";position:absolute;bottom:4px;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}.header nav a:hover:after{transform:scaleX(1)}
.hero{min-height:650px;height:calc(100svh - 88px);max-height:1050px;position:relative;overflow:hidden;color:#fff;background:#333}.hero-image{width:100%;height:100%;position:absolute;object-fit:cover;object-position:center;animation:hero-zoom 1.8s var(--ease) both}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0008,transparent 85%),linear-gradient(0deg,#0006,transparent 40%)}.hero-top,.hero-bottom{position:absolute;left:4.5%;right:4.5%;display:flex;justify-content:space-between;align-items:center;font-size:12px;letter-spacing:.12em}.hero-top{top:30px}.hero-bottom{bottom:28px}.hero-copy{position:absolute;left:7.2%;right:4.5%;top:48%;transform:translateY(-50%)}.eyebrow{font-size:15px;letter-spacing:.2em;margin:0 0 28px}.hero h1{font-size:clamp(60px,8.7vw,144px);line-height:1.02;letter-spacing:-.065em;font-weight:500;margin:0}.line{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}.line>span{display:block;animation:title-in 1.15s var(--ease) both}.line:nth-child(2)>span{animation-delay:.13s}.hero-jp{font-size:19px;letter-spacing:.18em;margin-top:32px}.intro{animation:fade-in 1s .25s both}.scroll-link{display:flex;align-items:center;gap:28px;font-size:11px;min-height:44px}.scroll-link span{font-size:22px;transition:transform .3s}.scroll-link:hover span{transform:translateY(5px)}.image-note{font-size:10px;letter-spacing:.13em;color:#fffc}
.section-pad{padding:116px 7.2%}.section-label{font-size:12px;letter-spacing:.12em;display:flex;align-items:center;gap:12px;font-weight:600}.accent-square{height:8px;width:8px;background:#789800;display:inline-block}.about{display:grid;grid-template-columns:1fr 2fr;gap:50px}.about-content h2{font-size:clamp(34px,3.7vw,60px);line-height:1.6;letter-spacing:-.045em;font-weight:500;margin:-15px 0 38px}.muted{color:#90918a}.about-body{display:grid;grid-template-columns:1fr 1.5fr;gap:32px}.about-body p{font-size:15px;line-height:2.1;margin:0}.business{background:var(--ink);color:var(--paper)}.business .accent-square,.company .accent-square{background:var(--green)}.business-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:60px;gap:30px}.big-heading{font-size:clamp(38px,5.3vw,80px);font-weight:400;letter-spacing:-.055em;margin:24px 0 0;line-height:1.1}.green{color:var(--green)}.business-head>p{font-size:16px;line-height:1.9;margin-bottom:0}.service{display:grid;grid-template-columns:55px 1fr 1.12fr 35px;gap:25px;border-top:1px solid #ffffff30;padding:43px 0;position:relative;transition:background .4s}.service:last-child{border-bottom:1px solid #ffffff30}.service-number{font-size:13px;color:var(--green);padding-top:4px}.service-title>p{color:#a3a3a0;letter-spacing:.1em;font-size:11px;margin:0 0 16px}.service-title h3{font-size:clamp(22px,2.15vw,32px);font-weight:400;letter-spacing:.015em;margin:0}.service-description p{font-size:15px;line-height:1.9;margin:0;color:#c6c6c2;max-width:450px}.service-mark{font-size:26px;color:var(--green);transition:transform .45s var(--ease)}.service:hover .service-mark{transform:translate(4px,-4px)}.lumika{font-size:32px;letter-spacing:.18em;margin:0 0 18px;line-height:1.1}.lumika span{display:block;font-size:9px;letter-spacing:.28em;margin-top:8px}.tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:18px}.tags span{font-size:12px;color:#b7b7b1;border:1px solid #ffffff30;border-radius:20px;padding:5px 12px}.visual-break{height:520px;overflow:hidden;position:relative;background:#333;color:#fff}.visual-break>img{width:100%;height:100%;object-fit:cover;object-position:75% 64%;filter:brightness(.62);transform:scale(1.04)}.visual-copy{position:absolute;left:7.2%;top:24%}.visual-copy>span{font-size:12px;letter-spacing:.15em}.visual-copy>p{font-size:clamp(32px,4vw,58px);line-height:1.6;margin:24px 0 0;letter-spacing:.08em}.visual-break>.image-note{position:absolute;bottom:24px;right:4.5%}.company{display:grid;grid-template-columns:1fr 1.25fr;gap:70px}.company .accent-square{background:#789800}.company .green{color:#789800}.company .big-heading{font-size:clamp(38px,4.3vw,65px)}.company-details{margin:0}.company-details>div{display:grid;grid-template-columns:95px 1fr;border-top:1px solid var(--line);padding:27px 0;gap:16px;font-size:14px;line-height:2}.company-details>div:last-child{border-bottom:1px solid var(--line)}.company-details dt{color:#777}.company-details dd{margin:0}.company-details>div:first-child dd{font-size:19px}footer{background:var(--green);padding:58px 7.2% 24px}.footer-top{display:flex;align-items:center;gap:38px}.footer-logo{font-size:105px;font-weight:900;line-height:1;letter-spacing:-8px}.footer-top p{font-size:15px;letter-spacing:.07em}.back-top{margin-left:auto;font-size:11px;letter-spacing:.1em;display:flex;align-items:center;gap:28px;padding:16px 0}.back-top span{font-size:25px}.footer-bottom{border-top:1px solid #15151535;margin-top:45px;padding-top:24px;display:flex;justify-content:space-between;font-size:11px}
.js .reveal{opacity:0;transform:translateY(45px);transition:opacity .8s var(--ease),transform .85s var(--ease)}.js .reveal.visible{opacity:1;transform:translateY(0)}.js .service.reveal{transform:translateX(-35px)}.js .service.reveal.visible{transform:translateX(0)}@keyframes title-in{from{transform:translateY(115%)}to{transform:translateY(0)}}@keyframes fade-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-zoom{from{transform:scale(1.06)}to{transform:scale(1)}}
@media(min-width:1600px){.section-pad{padding-left:max(7.2%,calc((100vw - 1440px)/2));padding-right:max(7.2%,calc((100vw - 1440px)/2))}}
@media(max-width:900px){.header nav{gap:23px}.about{grid-template-columns:1fr;gap:55px}.about-content h2{margin-top:0}.about-body{grid-template-columns:1fr 1.5fr}.service{grid-template-columns:32px 1fr 1.2fr;gap:18px}.service-mark{display:none}.company{grid-template-columns:1fr;gap:44px}.section-pad{padding:85px 6%}.hero-copy{left:6%}.footer-logo{font-size:88px}.footer-top{gap:24px}.visual-break{height:430px}}
@media(max-width:600px){html{scroll-padding-top:72px}.header{height:72px;padding:0 6%}.brand{font-size:34px}.header nav{gap:19px;font-size:12px}.header nav a:first-child{display:none}.hero{height:calc(88svh - 72px);min-height:550px;max-height:850px}.hero-image{object-position:57% center}.hero-top{left:6%;right:6%;font-size:9px;letter-spacing:.1em}.hero-copy{top:47%;right:5%}.hero h1{font-size:clamp(46px,11.3vw,68px);letter-spacing:-.055em;line-height:1.08}.hero-jp{font-size:15px;letter-spacing:.1em;margin-top:25px}.eyebrow{font-size:13px;margin-bottom:25px}.hero-bottom{left:6%;right:6%}.scroll-link{font-size:9px;gap:15px}.image-note{font-size:8px}.section-pad{padding:70px 6%}.about{gap:40px}.about-content h2{font-size:32px;line-height:1.65;margin-bottom:28px}.about-body{grid-template-columns:1fr;gap:22px}.about-body p{font-size:15px}.desktop{display:none}.business-head{display:block;margin-bottom:38px}.business-head>p{font-size:14px;margin-top:24px}.big-heading{font-size:46px}.service{grid-template-columns:25px 1fr;padding:32px 0;gap:16px}.service-title h3{font-size:24px}.service-title>p{font-size:10px;margin-bottom:12px}.service-description{grid-column:2}.service-description p{font-size:14px;line-height:1.9}.lumika{font-size:26px;margin-top:8px}.tags span{font-size:11px}.visual-break{height:380px}.visual-copy{left:6%;top:24%}.visual-copy>p{font-size:33px}.company-details>div{grid-template-columns:1fr;gap:9px;padding:22px 0}.company-details dt{font-size:12px}.company-details dd{font-size:14px;line-height:2}footer{padding:44px 6% 22px}.footer-top{flex-wrap:wrap;gap:24px}.footer-logo{font-size:82px}.footer-top p{font-size:12px}.back-top{margin-left:0;flex-basis:100%;justify-content:space-between;padding:5px 0}.footer-bottom{margin-top:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js .reveal,.js .service.reveal{opacity:1;transform:none}}
