:root{color:#101010;font-synthesis:none;--orange:#ff540b;--line:#d6d6d6;--rail:8.3vw;--display:"Anton","Arial Narrow",Impact,sans-serif;background:#fff;font-family:Noto Sans JP,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{-webkit-font-smoothing:antialiased;margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;text-align:left;background:0 0;border:0}a{color:inherit;text-decoration:none}img{object-fit:cover;width:100%;display:block}button:focus-visible,a:focus-visible{outline:2px solid var(--orange);outline-offset:6px}h1,h2,h3,p{margin:0}svg{flex-shrink:0}::selection{background:#ffdecf}.skip-link{z-index:20;background:#fff;padding:15px;position:fixed;top:-100px;left:140px}.skip-link:focus{top:10px}.display,.display-number,.eyebrow,.view-link,.values,.sidebar nav{font-family:var(--display);font-weight:400}.display{letter-spacing:-.035em;line-height:1.08}.eyebrow{letter-spacing:.015em;font-size:17px;line-height:1.2}.orange{color:var(--orange)}.brand{letter-spacing:-1.4px;align-items:center;gap:7px;font-family:Arial,sans-serif;font-size:32px;font-weight:400;line-height:1;display:inline-flex}.brand-mark,.rail-foot{background:var(--orange);flex:none;width:17px;height:17px;display:inline-block}.sidebar{width:var(--rail);border-right:1px solid var(--line);z-index:5;background:#fff;flex-direction:column;align-items:center;display:flex;position:fixed;inset:0 auto 0 0}.side-brand{writing-mode:vertical-rl;position:absolute;top:33px;left:50%;transform:translate(-50%)}.side-brand .brand{gap:9px;font-size:34px}.side-brand .brand-mark{margin-top:2px}.icon-button{justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:7px;display:inline-flex}.menu-button{margin-top:255px}.menu-button svg{stroke-width:1px;width:42px;height:42px}.sidebar nav{letter-spacing:.045em;flex-direction:column;align-items:center;gap:56px;margin-top:63px;font-size:17px;display:flex}.sidebar nav a{writing-mode:vertical-rl;transition:color .2s}.sidebar nav a:hover{color:var(--orange)}.rail-foot{position:absolute;bottom:30px}.sidebar a,.menu-button{transition:opacity .2s}.sidebar a:hover,.menu-button:hover{opacity:.7}main{margin-left:var(--rail);max-width:2400px;padding:16px 1.4vw 0 2.4vw}.hero{aspect-ratio:1.805;background:#f2f3f2;width:100%;position:relative;overflow:hidden}.hero-video{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.hero-copy{max-width:76%;position:absolute;bottom:15%;right:2.2%}.hero-copy h1{font-family:var(--display);letter-spacing:-.035em;font-size:clamp(32px,4.72vw,95px);font-weight:400;line-height:1.23}.hero-copy h1 span{background:#fff;padding:0 .16em .035em;display:inline-block}.hero-copy p{letter-spacing:-.045em;margin-top:8px;font-size:clamp(13px,1.72vw,30px);font-weight:800}.hero-copy p span{background:#fff;padding:4px 12px;display:inline-block}.video-controls{color:#fff;align-items:center;gap:1px;display:flex;position:absolute;bottom:13px;right:18px}.video-controls .icon-button{background:#0000002e;width:40px;min-width:40px;min-height:40px;transition:background .2s}.video-controls .icon-button:hover{background:#00000080}.video-controls svg{stroke-width:2px;width:25px;height:25px}.video-fallback{color:#111;background:#fff;padding:5px;font-size:11px}.values{border-bottom:1px solid var(--line);letter-spacing:.12em;justify-content:center;align-items:center;gap:40px;height:76px;font-size:16px;display:flex}.values i{background:var(--orange);width:11px;height:11px;position:relative}.values i:before,.values i:after{content:"";background:var(--line);width:1px;height:22px;position:absolute;top:-5px}.values i:before{left:-20px}.values i:after{right:-20px}.purpose{grid-template-columns:62% 38%;gap:0;padding:48px 0 44px;display:grid}.purpose h2{letter-spacing:-.075em;font-size:clamp(40px,7.25vw,140px);font-weight:900;line-height:1.26}.purpose-body{padding:4px 4% 0 6%}.purpose-label{align-items:center;gap:32px;margin-bottom:18px;display:flex}.display-number{color:var(--orange);font-size:clamp(70px,7.5vw,140px);line-height:1}.purpose-label .eyebrow{border-left:1px solid var(--line);padding-left:22px}.purpose-body p{letter-spacing:-.02em;font-size:clamp(12px,1.35vw,20px);line-height:1.9}.section-label{align-items:center;gap:30px;padding:0 0 15px;display:flex}.section-label:after{content:"";background:var(--line);flex:1;height:1px}.service-row{border-bottom:1px solid var(--line);grid-template-columns:34% 28% 38%;align-items:center;gap:0;width:100%;padding:24px 0;display:grid}.service-row h3{font-size:clamp(30px,4.35vw,82px)}.service-description{padding:0 15px 0 0}.service-description p{letter-spacing:-.025em;font-size:clamp(12px,1.25vw,19px);line-height:1.9}.view-link{letter-spacing:.03em;align-items:center;gap:21px;font-size:14px;display:inline-flex}.view-link svg{color:var(--orange);width:23px;transition:transform .2s}.service-description .view-link{margin-top:23px}.image-frame{overflow:hidden}.image-frame img{height:100%;transition:transform .65s cubic-bezier(.2,.7,.2,1)}.service-row .image-frame{height:10.5vw;min-height:110px;max-height:210px}.service-row:hover img,.project:hover img{transform:scale(1.045)}.service-row:hover .view-link svg,.text-button:hover svg,.news-row:hover svg{transform:translate(5px)}.projects{padding-top:46px}.section-heading{justify-content:space-between;align-items:center;gap:25px;margin-bottom:18px;display:flex}.section-heading h2{font-size:clamp(38px,5.95vw,114px)}.text-button{white-space:nowrap;align-items:center;gap:20px;padding:8px 0;font-size:13px;line-height:1.5;display:inline-flex}.text-button svg{color:var(--orange);width:22px;transition:transform .2s}.project-grid{grid-template-columns:62% 38%;align-items:start;display:grid}.project{width:100%;min-width:0;padding:0;position:relative}.project-0{z-index:1;padding-top:32px}.project-0 .image-frame{aspect-ratio:2.06;outline:6px solid #fff}.project-1{width:calc(100% + 8px);margin-left:-8px}.project-1 .image-frame{aspect-ratio:1.61}.project h3{margin-top:13px;font-size:17px;font-weight:700;line-height:1.7}.project p{max-width:95%;margin-top:6px;font-size:13px;line-height:1.9}.project-1 h3,.project-1 p{padding-left:15px}.project-open{opacity:0;background:#fff;padding:9px;transition:all .2s;display:flex;position:absolute;top:12px;right:12px;transform:translateY(5px)}.project .image-frame{position:relative}.project:hover .project-open,.project:focus-visible .project-open{opacity:1;transform:none}.project-grid.expanded{grid-template-columns:repeat(3,1fr);gap:24px}.expanded .project{width:100%;margin:0;padding:0}.expanded .project .image-frame{aspect-ratio:1.5;outline:0}.expanded .project h3,.expanded .project p{padding-left:0}.news{border-bottom:1px solid var(--line);grid-template-columns:15% 85%;align-items:start;margin-top:56px;padding:0 0 24px;display:grid}.news h2{padding-top:13px}.news-row{border-top:1px solid var(--line);grid-template-columns:16% 1fr auto;align-items:center;gap:20px;width:100%;padding:15px 0 8px;font-size:13px;display:grid}.news-row strong{font-weight:600}.news-row>span:nth-child(2){color:#636363}.contact{grid-template-columns:64% 36%;align-items:end;gap:0;padding:25px 0 20px;display:grid}.contact h2{letter-spacing:-.055em;font-size:clamp(62px,12.45vw,240px);line-height:.98}.contact-right{padding:15px 0 0 20px}.contact-right>p:first-child{margin-bottom:16px;font-size:clamp(14px,1.75vw,26px);line-height:1.7}.outline-button{border:1px solid var(--orange);color:#dc4000;justify-content:center;align-items:center;gap:25px;width:100%;min-height:54px;padding:16px 24px;font-size:15px;font-weight:500;transition:background .2s,color .2s;display:flex}.outline-button:hover{background:var(--orange);color:#fff}.outline-button svg{width:22px}.contact footer{flex-wrap:wrap;align-items:center;gap:14px;margin-top:58px;display:flex}.contact footer .brand{font-size:24px}.contact footer .brand-mark{gap:4px;width:10px;height:10px}.contact footer nav{flex-wrap:wrap;gap:12px;font-size:9px;display:flex}.contact footer nav button{padding:0;font-size:9px}.contact footer nav a:hover,.contact footer nav button:hover{color:var(--orange)}.demo-note{letter-spacing:.06em;color:#727272;margin-top:14px;font-family:Arial,sans-serif;font-size:9px}.modal{color:#111;background:#fff;border:0;width:min(860px,100vw - 64px);max-height:90dvh;padding:60px;overflow:auto}.modal::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0f141485}.modal-close{float:right;z-index:2;background:#fff;margin:-35px -35px 0 0;position:sticky;top:-45px}.modal-close:hover{color:var(--orange)}.dialog-heading{letter-spacing:-.035em;outline:none;margin:22px 0;font-size:clamp(23px,3vw,38px);font-weight:800;line-height:1.55}.form-notice{color:#676767;margin:12px 0 26px;font-size:12px;line-height:1.9}.contact-form{gap:22px;display:grid}.contact-form label{gap:9px;font-size:13px;font-weight:600;display:grid}.contact-form input,.contact-form select,.contact-form textarea{color:#111;background:#fafafa;border:1px solid #ccc;border-radius:0;outline:none;width:100%;padding:13px;font-size:15px}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:var(--orange);box-shadow:0 0 0 1px var(--orange)}.contact-form textarea{resize:vertical}.form-two{grid-template-columns:1fr 1fr;gap:20px;display:grid}.form-actions{align-items:center;gap:30px;margin-top:25px;display:flex}.form-actions .outline-button{flex:1;width:auto}.confirmation dl>div{border-bottom:1px solid var(--line);grid-template-columns:140px 1fr;gap:16px;padding:16px 0;display:grid}.confirmation dt{color:#666;font-size:12px}.confirmation dd{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:15px}.form-done>svg{width:48px;height:48px;color:var(--orange);margin:15px 0}.form-done>p{margin-bottom:30px;line-height:2}.detail-display{margin-top:20px;font-size:clamp(35px,4vw,64px)}.detail-subtitle{margin-top:12px;font-size:16px}.detail-image{aspect-ratio:2;object-fit:cover;margin-top:28px}.detail-copy{margin:25px 0;font-size:15px;line-height:2.2}.detail-list{margin:24px 0;padding:0;list-style:none}.detail-list li{border-bottom:1px solid var(--line);padding:14px 0;font-size:14px}.tags{flex-wrap:wrap;gap:10px;margin:20px 0;display:flex}.tags span{border:1px solid #ddd;padding:6px 12px;font-size:12px}.menu-modal{width:min(1080px,100vw - 60px);padding:65px 70px}.menu-links{margin:45px 0}.menu-links button{border-bottom:1px solid var(--line);grid-template-columns:45px 1fr 160px 25px;align-items:center;gap:20px;width:100%;padding:20px 0;display:grid}.menu-links small{color:var(--orange);font-size:13px}.menu-links .display{font-size:58px}.menu-links button>span:nth-of-type(2){font-size:13px}.menu-links svg,.menu-links button:hover .display{color:var(--orange)}.menu-message{font-size:16px;font-weight:700}@media (width>=1800px){:root{--rail:145px}main{padding-left:44px;padding-right:30px}.hero-copy h1{font-size:90px}.hero-copy p{font-size:29px}.purpose h2{font-size:132px}.purpose-body p{font-size:20px}.service-row h3{font-size:78px}.service-description p{font-size:19px}.contact h2{font-size:220px}}@media (width<=1050px) and (width>=701px){.side-brand .brand{font-size:25px}.brand-mark{width:12px;height:12px}.menu-button{margin-top:190px}.menu-button svg{width:32px;height:32px}.sidebar nav{gap:45px;margin-top:40px;font-size:13px}.rail-foot{width:12px;height:12px}.values{gap:30px;height:52px;font-size:12px}.values i{width:8px;height:8px}.values i:before{left:-15px}.values i:after{right:-15px}.purpose{padding:34px 0 30px}.purpose-label{gap:20px;margin-bottom:12px}.purpose-label .eyebrow{padding-left:17px;font-size:12px}.purpose-body p+p{margin-top:14px}.eyebrow{font-size:13px}.service-row{padding:16px 0}.service-row .image-frame{min-height:85px}.service-description .view-link{margin-top:16px}.view-link{gap:15px;font-size:11px}.projects{padding-top:30px}.text-button{gap:12px;font-size:10px}.project h3{margin-top:9px;font-size:13px}.project p{font-size:11px}.project-0{padding-top:24px}.news{margin-top:40px;padding-bottom:16px}.news-row{gap:12px;font-size:10px}.contact-right{padding-left:12px}.outline-button{min-height:44px;padding:12px;font-size:12px}.contact footer{gap:10px;margin-top:33px}.contact footer .brand{font-size:18px}.contact footer nav{gap:8px}.contact footer nav,.contact footer nav button{font-size:8px}.video-controls{bottom:8px;right:9px}.video-controls .icon-button{width:32px;min-width:32px;min-height:32px}.video-controls svg{width:20px;height:20px}}@media (width<=700px){:root{--rail:0px}html{scroll-padding-top:84px}.sidebar{border-right:0;border-bottom:1px solid var(--line);flex-direction:row;justify-content:space-between;width:100%;height:68px;padding:0 20px;bottom:auto}.side-brand{writing-mode:horizontal-tb;position:static;transform:none}.side-brand .brand{font-size:28px}.side-brand .brand-mark{width:13px;height:13px;margin-top:0}.menu-button{margin:0;padding:5px}.menu-button svg{width:34px;height:34px}.sidebar nav,.rail-foot{display:none}main{margin:0;padding:80px 16px 0}.hero{aspect-ratio:auto;height:570px;min-height:440px;max-height:calc(100svh - 100px)}.hero-video{object-position:22% center}.hero-copy{max-width:none;bottom:20%;left:10px;right:10px}.hero-copy h1{letter-spacing:-.04em;font-size:clamp(27px,7.45vw,49px);line-height:1.3}.hero-copy p{margin-top:7px;font-size:12px}.hero-copy p span{padding:6px 9px}.video-controls{bottom:12px;right:12px}.video-controls .icon-button{width:36px;min-width:36px;min-height:36px}.values{gap:28px;height:66px;font-size:12px}.values i{width:8px;height:8px}.values i:before{left:-14px}.values i:after{right:-14px}.purpose{grid-template-columns:1fr;padding:39px 0 36px}.purpose h2{letter-spacing:-.075em;font-size:clamp(43px,12.5vw,75px);line-height:1.35}.purpose-body{grid-template-columns:90px 1fr;column-gap:16px;padding:30px 0 0;display:grid}.purpose-label{grid-row:span 2;margin:0;display:block}.display-number{font-size:62px}.purpose-label .eyebrow{border:0;border-top:1px solid var(--line);width:65px;margin-top:12px;padding:10px 0 0;font-size:12px;display:block}.purpose-body p{font-size:12px;line-height:2}.purpose-body p+p{margin-top:13px}.desktop-br{display:none}.eyebrow{font-size:14px}.section-label{gap:20px;padding-bottom:8px}.service-row{grid-template-columns:1fr 41%;align-items:start;gap:13px;padding:24px 0}.service-row h3{grid-area:1/1;font-size:35px}.service-description{grid-area:2/1;padding:0}.service-description p{font-size:11px;line-height:1.9}.service-description .view-link{margin-top:12px}.service-row .image-frame{grid-area:1/2/span 2;width:100%;height:155px;min-height:0}.view-link{gap:13px;font-size:12px}.view-link svg{width:20px}.projects{padding-top:36px}.section-heading{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:24px}.section-heading h2{font-size:43px}.text-button{gap:16px;font-size:11px}.section-heading .text-button{align-self:flex-end}.project-grid,.project-grid.expanded{grid-template-columns:1fr;gap:32px}.project-0,.project-1,.project-2,.expanded .project{width:100%;margin:0;padding:0}.project-0 .image-frame,.project-1 .image-frame,.expanded .project .image-frame{aspect-ratio:1.55;outline:0}.project h3{margin-top:13px;font-size:15px}.project p{max-width:100%;margin-top:7px;font-size:12px;line-height:1.9}.project-1 h3,.project-1 p{padding-left:0}.news{grid-template-columns:1fr;gap:20px;margin-top:40px;padding-bottom:25px}.news h2{padding-top:0}.news-row{grid-template-columns:1fr auto;gap:14px;padding-top:20px;font-size:12px}.news-row>span:nth-child(2){grid-area:2/1}.news-row .view-link{grid-area:1/2/span 2;gap:0;font-size:0}.contact{grid-template-columns:1fr;padding:32px 0 24px}.contact h2{letter-spacing:-.045em;font-size:clamp(76px,21vw,140px);line-height:1.02}.contact-right{padding:28px 0 0}.contact-right>p:first-child{margin-bottom:20px;font-size:17px;line-height:1.9}.outline-button{min-height:54px;font-size:14px}.contact footer{justify-content:space-between;align-items:flex-start;gap:20px;margin-top:40px}.contact footer nav{gap:12px;max-width:190px;font-size:10px}.contact footer nav button{font-size:10px}.demo-note{margin-top:25px;font-size:8px}.modal{width:calc(100vw - 24px);max-height:90dvh;padding:38px 24px}.modal-close{margin:-26px -14px 0 0;top:-25px}.dialog-heading{margin:24px 0 18px;font-size:23px}.form-two{grid-template-columns:1fr;gap:22px}.contact-form input,.contact-form select,.contact-form textarea{font-size:16px}.form-notice{font-size:11px}.confirmation dl>div{grid-template-columns:1fr;gap:7px}.form-actions{flex-direction:column-reverse;gap:18px}.form-actions .outline-button{width:100%}.detail-display{font-size:39px}.detail-image{aspect-ratio:1.5}.detail-copy{font-size:13px}.menu-modal{padding:36px 25px}.menu-links{margin:30px 0}.menu-links button{grid-template-columns:24px 1fr 20px;gap:10px;padding:19px 0}.menu-links .display{font-size:37px}.menu-links button>span:nth-of-type(2){grid-area:2/2;font-size:11px}.menu-links button svg{grid-area:1/3/span 2}.menu-message{font-size:13px}.skip-link{left:12px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}@media (width>=701px){.hero-copy h1{font-size:clamp(42px,5.65vw,104px);line-height:1.1}.hero-copy{bottom:15%}.hero-copy p{margin-top:7px}.purpose{padding-bottom:35px}.purpose h2{font-size:clamp(60px,8.6vw,150px)}.purpose-body{padding-left:0;padding-right:0}.service-row h3{font-size:clamp(40px,5.05vw,90px)}.service-row .image-frame{height:10.3vw}.section-heading h2{font-size:clamp(46px,6.95vw,120px)}.project-0 .image-frame{aspect-ratio:2.35}.project-1 .image-frame{aspect-ratio:1.58}.contact h2{letter-spacing:-.035em;font-size:clamp(95px,14.2vw,250px)}.contact{grid-template-columns:64% 36%}.purpose-body p{font-size:clamp(12px,1.22vw,19px)}.purpose{padding-top:42px;padding-bottom:28px}.service-row{padding-top:13px;padding-bottom:13px}.projects{padding-top:36px}.section-heading h2,.service-row h3{letter-spacing:0}.contact h2{transform-origin:0 100%;letter-spacing:-.025em;font-size:clamp(95px,12.6vw,235px);transform:scaleX(1.16)}.contact-right{flex-direction:column;justify-content:flex-end;align-self:stretch;display:flex}.contact-right>p:first-child{font-size:clamp(14px,1.65vw,24px)}.contact footer{margin-top:42px}}@media (width<=700px){.hero-copy h1{font-size:clamp(27px,9.2vw,56px)}}.menu-modal{inset:0 auto 0 var(--rail);width:min(690px,calc(100vw - var(--rail)));border:0;border-left:1px solid var(--line);border-radius:0;max-width:none;height:100dvh;max-height:100dvh;margin:0;padding:48px 48px 36px;animation:.38s cubic-bezier(.22,1,.36,1) both drawer-in;position:fixed;overflow-y:auto}.menu-modal::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1419163d;animation:.3s both veil-in}.menu-modal.is-closing{animation:.26s ease-in both drawer-out}.menu-modal.is-closing::backdrop{animation:.26s ease-in both veil-out}.menu-modal .modal-close{margin:0;position:absolute;top:24px;right:24px}.menu-modal>.brand{margin:16px 0 36px}.menu-modal .menu-links{margin:20px 0 40px}.menu-modal .menu-links button{background:0 0;transition:color .2s,padding .25s}.menu-modal .menu-links button:hover{color:var(--orange);padding-left:10px}.menu-modal .menu-message{border-top:1px solid var(--line);padding-top:24px}@keyframes drawer-in{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}@keyframes drawer-out{to{opacity:0;transform:translate(-40px)}}@keyframes veil-in{0%{opacity:0}to{opacity:1}}@keyframes veil-out{to{opacity:0}}@media (width<=700px){.menu-modal{width:100%;padding:30px 26px;animation-name:drawer-in;inset:0 0 0 auto}.menu-modal .menu-links button{padding-top:22px;padding-bottom:22px}.menu-modal>.brand{margin-top:0}.menu-modal .modal-close{top:15px;right:15px}}.purpose{grid-template-columns:58% 42%;align-items:center;padding:clamp(72px,8vw,144px) 3% clamp(90px,10vw,160px)}.purpose h2{letter-spacing:-.065em;font-size:clamp(54px,6.4vw,112px);line-height:1.55}.purpose-body{max-width:520px;padding-left:12%}.purpose-label{gap:24px;margin-bottom:32px}.purpose-label .display-number{font-size:64px}.purpose-label .eyebrow{letter-spacing:.08em;font-family:Noto Sans JP,sans-serif;font-size:11px;line-height:1.5}.purpose-body p{font-size:14px;line-height:2.25}.purpose-body p+p{margin-top:24px}.business{padding:0 3% 100px}.business .section-label{align-items:center;gap:30px;padding-bottom:32px}.business .section-label:after{display:none}.business .eyebrow{letter-spacing:.03em;font-size:18px}.business-intro{letter-spacing:.06em;margin-left:auto;font-size:15px}.service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:4.5%;display:grid}.service-row{border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;padding:0 0 28px;display:flex;position:relative}.service-row .image-frame{aspect-ratio:4/5;order:-2;width:100%;height:auto;min-height:0;max-height:none;margin-bottom:27px}.service-number{color:var(--orange);letter-spacing:.12em;order:-1;margin-bottom:15px;font-size:12px}.service-row h3{letter-spacing:0;margin-bottom:22px;font-size:clamp(30px,3.5vw,58px);line-height:1.15}.service-description{flex-direction:column;flex:1;padding:0;display:flex}.service-description p{font-size:14px;line-height:2}.service-description .view-link{justify-content:space-between;margin-top:28px;font-size:12px;display:flex}.service-description .view-link svg{border:1px solid #dedede;border-radius:50%;width:38px;height:38px;padding:9px}.service-row:nth-child(2){margin-top:55px}.service-row:nth-child(3){margin-top:110px}@media (width<=1000px) and (width>=701px){.purpose-body{padding-left:5%}.purpose-body p{font-size:13px}.service-grid{gap:24px}.service-description p{font-size:12px}.business-intro{font-size:13px}.service-row h3{font-size:30px}}@media (width<=700px){.purpose{padding:64px 4px 80px;display:block}.purpose h2{font-size:clamp(40px,11.4vw,72px);line-height:1.5}.purpose-body{max-width:none;padding:38px 0 0 18%;display:block}.purpose-label{margin-bottom:25px;display:flex}.purpose-label .eyebrow{border:0;width:auto;margin:0;padding:0}.purpose-body p{font-size:13px}.business{padding:0 4px 55px}.business .section-label{padding-bottom:30px;display:block}.business-intro{margin:14px 0 0;font-size:13px}.service-grid{grid-template-columns:1fr;gap:48px}.service-row:nth-child(2),.service-row:nth-child(3){margin-top:0}.service-row .image-frame{aspect-ratio:5/4;width:100%;height:auto;margin-bottom:22px}.service-row h3{margin-bottom:18px;font-size:40px}.service-description p{font-size:14px}.service-description .view-link{margin-top:20px}}.projects{border-top:1px solid var(--line);padding:70px 3% 80px}.projects .section-heading{align-items:center;margin-bottom:64px}.projects .section-heading h2{letter-spacing:-.01em;font-size:clamp(42px,4.8vw,78px)}.projects .section-heading .text-button{border-bottom:1px solid #aaa;padding:14px 0;font-size:12px}.project-grid,.project-grid.expanded{grid-template-columns:1fr;gap:90px;display:grid}.project-grid .project,.project-grid.expanded .project{grid-template-columns:58% 1fr;align-items:center;gap:7%;width:100%;margin:0;padding:0;display:grid}.project-grid .project .image-frame,.project-grid.expanded .project .image-frame{aspect-ratio:1.5;outline:none;width:100%;position:relative}.project-grid .project:nth-child(2n){grid-template-columns:1fr 58%}.project-grid .project:nth-child(2n) .image-frame{grid-area:1/2}.project-grid .project:nth-child(2n) .project-story{grid-area:1/1;padding-left:5%}.project-story{padding-right:5%}.project-meta{letter-spacing:.08em;color:#777;margin-bottom:28px;font-size:11px;display:block}.project-grid .project h3{letter-spacing:.025em;margin:0 0 22px;padding:0;font-size:clamp(21px,2vw,32px);font-weight:700;line-height:1.7}.project-grid .project p{color:#666;max-width:32em;margin:0;padding:0;font-size:14px;line-height:2.1}.project-open{display:none}.project-read{align-items:center;gap:24px;margin-top:36px;font-size:12px;display:flex}.project-read svg{color:var(--orange);border:1px solid #ddd;border-radius:50%;width:42px;height:42px;padding:11px;transition:transform .2s}.project:hover .project-read svg{transform:translate(5px)}@media (width<=700px){.projects{padding:45px 4px 60px}.projects .section-heading{align-items:flex-start;gap:18px;margin-bottom:38px}.projects .section-heading h2{font-size:42px}.project-grid,.project-grid.expanded{gap:56px}.project-grid .project,.project-grid.expanded .project,.project-grid .project:nth-child(2n){flex-direction:column;align-items:stretch;gap:25px;display:flex}.project-grid .project:nth-child(2n) .project-story,.project-story{padding:0}.project-meta{margin-bottom:15px;font-size:10px}.project-grid .project h3{margin-bottom:13px;font-size:21px}.project-grid .project p{font-size:13px}.project-read{margin-top:20px}}.project-story h3{text-wrap:balance;word-break:normal;overflow-wrap:anywhere}.news{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:30% 1fr;align-items:start;gap:6%;margin:35px 3% 100px;padding:64px 0;display:grid}.news-heading{padding-left:24px;position:relative}.news-marker{background:var(--orange);width:8px;height:8px;position:absolute;top:15px;left:0}.news .news-heading h2{letter-spacing:0;padding:0;font-size:clamp(42px,4.3vw,66px);line-height:1.1}.news .news-heading h2:after{display:none}.news-heading p{letter-spacing:.15em;color:#666;margin-top:18px;font-size:12px}.news .news-row{border:0;grid-template-columns:1fr auto;align-items:center;gap:22px 40px;min-height:150px;padding:0;display:grid}.news .news-meta{color:#777;letter-spacing:.05em;grid-area:1/1;align-items:center;gap:23px;font-size:11px;display:flex}.news-meta>span{letter-spacing:.1em;border-left:1px solid #ccc;padding-left:23px;font-size:10px}.news .news-headline{letter-spacing:.025em;grid-area:2/1;font-size:clamp(18px,1.6vw,25px);font-weight:500;line-height:1.9}.news .news-read{white-space:nowrap;color:#666;flex-direction:column-reverse;grid-area:1/2/span 2;align-items:center;gap:13px;font-size:10px;display:flex}.news-read svg{width:52px;height:52px;color:var(--orange);border:1px solid #ddd;border-radius:50%;padding:15px;transition:background .2s,transform .2s}.news-row:hover .news-read svg{background:#fff1ea;transform:translate(4px)}@media (width<=700px){.news{grid-template-columns:1fr;gap:36px;margin:0 4px 45px;padding:42px 0}.news-heading{padding-left:22px}.news .news-heading h2{font-size:44px}.news-heading p{margin-top:10px}.news .news-row{gap:20px 15px;min-height:0}.news .news-meta{gap:14px;font-size:10px}.news-meta>span{padding-left:14px;font-size:9px}.news .news-headline{font-size:17px}.news-break{display:none}.news-read svg{width:42px;height:42px;padding:11px}.news .news-read{font-size:9px}}.news-list{min-width:0}.news-list .news-row{border-bottom:1px solid var(--line);gap:18px 30px;width:100%;min-height:0;padding:30px 0}.news-list .news-row:first-child{padding-top:0}.news-list .news-row:last-child{border-bottom:0;padding-bottom:0}.news-detail-date{color:#777;margin-top:20px;font-size:12px}.news-list .news-headline{font-size:clamp(17px,1.35vw,22px)}@media (width<=700px){.news-list .news-row{gap:16px 15px}.news-list .news-headline{font-size:16px}}.news{grid-template-columns:170px minmax(0,1fr);gap:48px;width:94%;max-width:1120px;margin:20px auto 72px;padding:42px 0}.news .news-heading h2{font-size:48px}.news-heading p{margin-top:12px}.news-list .news-row{gap:10px 22px;padding:20px 0}.news-list .news-headline{font-size:16px;line-height:1.85}.news .news-meta{font-size:10px}.news-read svg{width:36px;height:36px;padding:9px}.news .news-read{gap:8px;font-size:9px}@media (width<=1000px) and (width>=701px){.news{grid-template-columns:125px minmax(0,1fr);gap:30px}.news .news-heading h2{font-size:40px}}@media (width<=700px){.news{grid-template-columns:1fr;gap:26px;width:calc(100% - 8px);margin:0 auto 40px;padding:32px 0}.news .news-heading h2{font-size:38px}.news-list .news-row{gap:10px 14px;padding:18px 0}.news-list .news-headline{font-size:15px}}.closing-contact{margin:0;padding:34px 6% 0;display:block;overflow:hidden}.closing-kicker{letter-spacing:.08em;align-items:center;gap:26px;font-size:11px;display:flex}.closing-kicker>span:first-child{align-items:center;gap:12px;font-weight:700;display:flex}.closing-kicker>span:first-child:before{content:"";background:var(--orange);width:7px;height:7px}.closing-kicker>span:last-child{color:#777;font-size:11px}.closing-main{justify-content:space-between;align-items:center;gap:50px;padding:48px 0 58px;display:flex}.closing-contact h2{letter-spacing:.055em;margin:0;font-family:inherit;font-size:clamp(30px,3.3vw,54px);font-weight:600;line-height:1.7}.closing-description{color:#666;margin-top:24px;font-size:13px;line-height:2.1}.contact-circle{background:var(--orange);color:#111;border:1px solid var(--orange);border-radius:50%;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:20px;width:168px;height:168px;margin-right:3%;transition:background .25s,transform .25s;display:flex}.contact-circle svg{stroke-width:1px;width:42px;height:42px}.contact-circle span{font-size:13px;font-weight:600}.contact-circle:hover{background:#fff;transform:translate(4px)}.closing-english{letter-spacing:-.01em;white-space:nowrap;margin:0 0 24px;font-size:clamp(64px,11vw,176px);line-height:1.05}.closing-english span{color:var(--orange)}.site-footer{border-top:1px solid var(--line);margin:0 6%;padding:30px 0 26px;display:block}.footer-main{align-items:center;gap:36px;display:flex}.site-footer .brand{font-size:30px}.site-footer nav{flex-wrap:wrap;gap:26px;margin-left:auto;font-size:11px;display:flex}.site-footer nav a,.site-footer nav button{padding:8px 0}.site-footer nav a:hover,.site-footer nav button:hover{color:var(--orange)}.back-top{border:1px solid #ddd;border-radius:50%;flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}.back-top svg{width:18px;transform:rotate(-90deg)}.footer-bottom{color:#777;letter-spacing:.04em;justify-content:space-between;gap:20px;margin-top:30px;font-size:10px;display:flex}.footer-bottom small{font-size:9px}@media (width<=700px){.closing-contact{padding:28px 4px 0}.closing-kicker{gap:20px}.closing-main{flex-direction:column;align-items:flex-start;gap:30px;padding:32px 0 40px}.closing-contact h2{letter-spacing:.02em;font-size:clamp(24px,6.4vw,42px);line-height:1.8}.closing-description{margin-top:18px;font-size:12px}.contact-circle{align-self:flex-end;gap:9px;width:114px;height:114px;margin:0 12px 0 0}.contact-circle svg{width:30px;height:30px}.contact-circle span{font-size:11px}.closing-english{margin-bottom:23px;font-size:clamp(48px,12.4vw,84px)}.site-footer{margin:0 4px;padding-top:26px}.footer-main{flex-wrap:wrap;gap:22px}.site-footer nav{order:3;gap:12px 23px;width:100%;margin:0;font-size:10px}.back-top{margin-left:auto}.footer-bottom{flex-direction:column;gap:12px;margin-top:23px}}@media (prefers-reduced-motion:reduce){.contact-circle{transition:none}}.site-footer nav a,.site-footer nav button{isolation:isolate;align-items:center;min-height:44px;transition:color .22s;display:inline-flex;position:relative}.site-footer nav a:after,.site-footer nav button:after{content:"";background:var(--orange);transform-origin:100%;height:1px;transition:transform .28s cubic-bezier(.22,1,.36,1);position:absolute;bottom:5px;left:0;right:0;transform:scaleX(0)}.site-footer nav a:focus-visible:after,.site-footer nav button:focus-visible:after{transform-origin:0;transform:scaleX(1)}.site-footer nav a:focus-visible,.site-footer nav button:focus-visible,.back-top:focus-visible{outline:2px solid var(--orange);outline-offset:5px}.back-top{color:#222;width:44px;height:44px;transition:background .22s,border-color .22s;overflow:hidden}.back-top svg{transition:transform .28s cubic-bezier(.22,1,.36,1)}@media (hover:hover){.site-footer nav a:hover:after,.site-footer nav button:hover:after{transform-origin:0;transform:scaleX(1)}.back-top:hover{border-color:var(--orange);background:#fff1ea}.back-top:hover svg{color:var(--orange);transform:translateY(-4px)rotate(-90deg)}}.site-footer nav a:active,.site-footer nav button:active{color:var(--orange)}.back-top:active{background:#ffe0ce}:root{--motion-ease:cubic-bezier(.22,1,.36,1)}.motion-item{opacity:1;transition:opacity .65s var(--motion-ease),translate .65s var(--motion-ease);translate:0}.motion-item.motion-pending{opacity:0;translate:0 22px}.hero-copy h1 span{animation:copy-arrive .8s var(--motion-ease) both}.hero-copy h1 span:last-child{animation-delay:.12s}.hero-copy p{animation:copy-arrive .7s .24s var(--motion-ease) both}@keyframes copy-arrive{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.service-row .image-frame,.project .image-frame{overflow:hidden}.service-row img,.project img{transition:transform .65s var(--motion-ease)}.service-description .view-link svg,.project-read svg,.news-read svg,.outline-button svg,.text-button svg{transition:transform .3s var(--motion-ease),background .3s,border-color .3s}.outline-button,.text-button,.news-headline{transition:color .25s,background .25s}.modal:not(.menu-modal)[open]{animation:dialog-arrive .3s var(--motion-ease)}.modal:not(.menu-modal)[open]::backdrop{animation:.25s backdrop-arrive}@keyframes dialog-arrive{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes backdrop-arrive{0%{opacity:0}to{opacity:1}}@media (hover:hover){.service-row:hover img,.project:hover img{transform:scale(1.025)}.service-row:hover .view-link svg,.project:hover .project-read svg,.news-row:hover .news-read svg{border-color:var(--orange);background:#fff1ea;transform:translate(3px)}.outline-button:hover svg,.text-button:hover svg{transform:translate(4px)}.news-row:hover .news-headline{color:#bd3a00}}@media (width<=700px){.motion-item.motion-pending{translate:0 14px}.motion-item{transition-duration:.5s}}@media (prefers-reduced-motion:reduce){.motion-item.motion-pending{opacity:1;translate:none}.hero-copy h1 span,.hero-copy p{opacity:1;transform:none}.service-row:hover img,.project:hover img{transform:none}}.service-grid{gap:4%}.service-row,.service-row:nth-child(2),.service-row:nth-child(3){border-top:1px solid var(--line);border-bottom:0;margin-top:0;padding:30px 0}.service-row h3{margin-bottom:22px;font-size:clamp(28px,3vw,48px)}.service-description .service-jp{color:#777;margin-bottom:18px;font-size:12px}.service-scope{margin:26px 0 0;padding:0;font-size:12px;line-height:1.9;list-style:none}.service-scope li{border-top:1px solid #e9e9e9;padding:9px 0}.service-description .view-link{margin-top:auto;padding-top:28px;font-family:inherit;font-size:11px}.work-disclaimer{color:#666;margin-top:18px;font-size:12px;line-height:1.9}.case-summary{margin:24px 0 0}.case-summary>div{grid-template-columns:50px 1fr;gap:15px;margin-top:17px;display:grid}.case-summary dt{color:#777;padding-top:2px;font-size:10px;line-height:2.1}.case-summary dd{color:#444;margin:0;font-size:13px;line-height:2}.case-detail>div{border-bottom:1px solid var(--line);grid-template-columns:80px 1fr;padding:16px 0}.case-detail dd{font-size:14px}@media (width<=700px){.service-grid{gap:18px}.service-row,.service-row:nth-child(2),.service-row:nth-child(3){margin:0;padding:28px 0}.service-row h3{font-size:36px}.service-description .service-jp{margin-bottom:12px}.work-disclaimer{max-width:28em;font-size:11px}.case-summary>div{gap:12px;margin-top:13px}.case-summary dd{font-size:12px}.case-detail>div{grid-template-columns:1fr;gap:5px}}.business-editorial{padding:20px 3% 90px}.business-heading{justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:54px;display:flex}.business-heading .eyebrow{letter-spacing:.08em;margin-bottom:25px;font-size:13px}.business-heading h2{letter-spacing:.03em;font-size:clamp(28px,3vw,48px);font-weight:600;line-height:1.6}.business-heading>p{color:#666;padding-bottom:8px;font-size:12px;line-height:2.2}.business-editorial .service-grid{display:block}.business-editorial .service-row{border-top:1px solid var(--line);grid-template-columns:110px minmax(0,1.3fr) minmax(0,1fr) 64px;align-items:center;gap:4%;width:100%;margin:0;padding:42px 0;display:grid}.business-editorial .service-row:last-child{border-bottom:1px solid var(--line)}.business-editorial .service-number{letter-spacing:.06em;color:#777;margin-bottom:16px;font-size:10px;display:block}.business-editorial .service-name h3{letter-spacing:.015em;margin:0 0 14px;font-family:inherit;font-size:clamp(18px,1.7vw,27px);font-weight:600;line-height:1.6}.service-name>p{color:#666;font-size:12px;line-height:2}.offer-label{color:#888;font-size:10px}.business-editorial .service-scope{margin:13px 0 0;font-size:11px;line-height:2.1}.business-editorial .service-scope li{border:0;padding:2px 0}.service-go{white-space:nowrap;flex-direction:column;align-items:center;gap:12px;font-size:9px;display:flex}.service-go svg{width:44px;height:44px;color:var(--orange);border:1px solid #ddd;border-radius:50%;padding:11px;transition:transform .25s,background .25s}.service-symbol{width:90px;height:90px;color:var(--orange);position:relative}.service-symbol i{transition:transform .5s var(--motion-ease);border:1px solid;display:block;position:absolute}.symbol-0 i{width:49px;height:49px;top:20px;left:5px;transform:skewY(-25deg)}.symbol-0 i:nth-child(2){top:12px;left:23px}.symbol-0 i:nth-child(3){top:4px;left:41px}.symbol-1 i{border-radius:50%;width:58px;height:58px;top:16px;left:0}.symbol-1 i:nth-child(2){left:28px}.symbol-1 i:nth-child(3){background:currentColor;width:10px;height:10px;top:40px;left:39px}.symbol-2 i{border-radius:18px;width:52px;height:35px;top:13px;left:0;transform:rotate(-40deg)}.symbol-2 i:nth-child(2){top:38px;left:29px}.symbol-2 i:nth-child(3){background:currentColor;border:0;width:22px;height:1px;top:43px;left:32px;transform:rotate(40deg)}@media (hover:hover){.business-editorial .service-row:hover .service-go svg{background:#fff1ea;transform:translate(4px)}.business-editorial .service-row:hover .service-symbol{color:#bd3a00}}@media (width<=1000px) and (width>=701px){.business-editorial .service-row{grid-template-columns:70px 1.2fr 1fr 50px;gap:3%}.service-symbol{transform-origin:0;transform:scale(.7)}}@media (width<=700px){.business-editorial{padding:0 4px 60px}.business-heading{margin-bottom:32px;display:block}.business-heading h2{font-size:30px}.business-heading>p{margin-top:23px;font-size:11px}.business-editorial .service-row{grid-template-columns:minmax(0,1fr) 55px;gap:24px 16px;padding:28px 0}.service-symbol{transform-origin:0;grid-area:1/2;width:55px;height:60px;transform:scale(.55)}.service-name{grid-area:1/1}.business-editorial .service-name h3{font-size:18px}.business-editorial .service-number{margin-bottom:12px;font-size:8px}.service-name>p{font-size:11px}.service-offer{grid-area:2/1}.service-go{grid-area:2/2;align-self:end}.business-editorial .service-scope{margin-top:8px;font-size:11px}}
