:root{--s:min(1px,.0520833333vw);--ink:#090a0a;--pale:#e2ebed;--line:#c8c8c8;--en:"Avenir Next","Century Gothic",Arial,sans-serif;--jp:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;font-family:var(--jp);font-size:calc(20 * var(--s));line-height:1.9;color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased}body>main,body>.breadcrumb,body>.site-footer{max-width:1920px;margin-left:auto;margin-right:auto}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button,a,input,select,textarea{outline-offset:5px}a:focus-visible,button:focus-visible{outline:2px solid #327c9e}button{border:0;background:transparent}h1,h2,h3,p,figure,ul,dl,dd{margin:0}h1,h2,h3{font-weight:600;line-height:1.6;letter-spacing:.05em}ul{padding:0;list-style:none}img{display:block;max-width:100%;height:auto}svg{display:block}small{font-size:inherit}a,button{touch-action:manipulation}[hidden]{display:none!important}.skip-link{position:fixed;left:15px;top:-100px;z-index:1000;background:white;padding:10px;font-size:14px}.skip-link:focus{top:10px}.desktop-only{display:initial}
.site-header{position:absolute;z-index:40;top:0;left:50%;transform:translateX(-50%);width:100%;max-width:1920px;height:calc(165 * var(--s));display:flex;align-items:flex-start;justify-content:space-between;padding:calc(45 * var(--s)) calc(50 * var(--s)) 0 calc(35 * var(--s));transition:background .25s,color .25s}.brand{display:flex;align-items:center;flex-direction:column;width:calc(155 * var(--s));font-family:var(--en);line-height:1;flex:none}.brand svg{width:calc(68 * var(--s));height:calc(65 * var(--s));margin:0 0 calc(36 * var(--s))}.brand span{font-size:calc(24 * var(--s));font-weight:600;letter-spacing:-.07em;transform:scaleY(.75);white-space:nowrap}.site-header nav{display:flex;align-items:flex-start;gap:calc(58 * var(--s));padding-top:calc(0 * var(--s));font-family:var(--en);font-size:calc(16 * var(--s));font-weight:700;letter-spacing:.065em;line-height:1.6}.site-header nav>a,.nav-faq,.contact-menu summary{white-space:nowrap;padding:0 0 calc(8 * var(--s));font-size:inherit;line-height:1.6;letter-spacing:inherit;font-weight:inherit}.site-header nav>a:hover,.nav-faq:hover{text-decoration:underline;text-underline-offset:6px}.site-header .header-phone{font-size:calc(18 * var(--s));letter-spacing:.03em;margin-left:calc(-10 * var(--s))}.contact-menu{position:relative}.contact-menu summary{cursor:pointer;list-style:none}.contact-menu summary::-webkit-details-marker{display:none}.contact-menu>div{position:absolute;right:0;top:100%;background:#fff;color:#111;padding:20px;min-width:220px;box-shadow:0 4px 25px #0002;font-size:12px;line-height:2.8;letter-spacing:0;display:grid}.page-concept .site-header{color:white}.site-header.scrolled{position:fixed;background:#fffffff5;color:#111;height:76px;padding:14px 28px;box-shadow:0 1px 0 #ddd;align-items:center}.site-header.scrolled .brand{width:110px;flex-direction:row;gap:8px}.site-header.scrolled .brand svg{width:28px;height:28px;margin:0}.site-header.scrolled .brand span{font-size:13px}.site-header.scrolled nav{font-size:10px;gap:26px;padding:0;align-items:center}.site-header.scrolled .header-phone{font-size:11px}.menu-toggle{display:none}
.eyebrow{font-family:var(--en);font-size:calc(42 * var(--s));font-weight:600;letter-spacing:.06em;line-height:1.4}.english-caption{font-family:var(--en);font-weight:700;font-size:calc(15 * var(--s));line-height:1.7;letter-spacing:0}.body-copy{font-size:calc(19 * var(--s));line-height:2.15;letter-spacing:.03em}
.concept-hero{height:calc(946 * var(--s));position:relative;overflow:hidden;background:#3b382f;color:#fff}.concept-hero-photo{position:absolute;inset:0;background:url(assets/concept-cafe.webp) center/100% 100% no-repeat}.concept-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0007,transparent 70%)}.hero-copy{position:relative;z-index:1;padding-top:calc(305 * var(--s));padding-left:calc(90 * var(--s))}.hero-copy .eyebrow{font-size:calc(54 * var(--s));margin-bottom:calc(24 * var(--s))}.hero-copy h1{font-size:calc(82 * var(--s));line-height:1.48;letter-spacing:.04em;font-weight:600}.hero-copy .english-caption{margin-top:calc(18 * var(--s))}
.concept-features{padding:calc(250 * var(--s)) 0 calc(500 * var(--s));position:relative;overflow:hidden}.feature{position:relative;z-index:1;width:80.3%;margin:auto;display:grid;grid-template-columns:42.2% 57.8%;min-height:calc(780 * var(--s));align-items:start}.feature-copy{position:relative;z-index:2}.feature-one .feature-copy{padding-top:calc(15 * var(--s))}.feature-number{display:block;font-family:var(--en);font-size:calc(130 * var(--s));font-weight:500;line-height:1.3;letter-spacing:-.07em;margin-bottom:calc(55 * var(--s))}.feature h2{font-size:calc(62 * var(--s));line-height:1.97;letter-spacing:.04em;white-space:nowrap}.feature h2 span{border-bottom:calc(3 * var(--s)) solid;padding-bottom:calc(7 * var(--s))}.feature .english-caption{margin-top:calc(32 * var(--s));font-size:calc(14 * var(--s));white-space:nowrap}.feature .body-copy{margin-top:calc(80 * var(--s));font-size:calc(18 * var(--s))}.feature-photo{width:100%;height:calc(775 * var(--s));object-fit:cover}.feature-one .feature-photo{object-position:center}.feature-two{grid-template-columns:57.5% 32.5%;gap:10%;margin-top:calc(214 * var(--s))}.feature-two .feature-copy{padding-top:0}.feature-two .feature-number{margin-bottom:calc(50 * var(--s))}.feature-two .body-copy{margin-top:calc(88 * var(--s));width:calc(550 * var(--s))}.network{position:absolute;pointer-events:none;width:calc(900 * var(--s));opacity:.7}.network-one{right:calc(-180 * var(--s));top:0}.network-two{left:calc(-80 * var(--s));bottom:calc(40 * var(--s));width:calc(1150 * var(--s));transform:rotate(-12deg)}.ruler{width:100%;height:calc(600 * var(--s));object-fit:cover}
.principle{position:relative;background:linear-gradient(#575754 0%,#231914 75%);color:#fff;min-height:calc(1550 * var(--s));padding-top:calc(255 * var(--s));overflow:hidden}.principle>h2{position:relative;z-index:2;text-align:center;font-size:calc(82 * var(--s));line-height:1.5;letter-spacing:.025em}.principle>.english-caption{text-align:center;position:relative;z-index:2;font-size:calc(14 * var(--s));margin-top:calc(12 * var(--s))}.vertical-label{position:absolute;left:calc(80 * var(--s));top:calc(265 * var(--s));writing-mode:vertical-rl;font-family:var(--en);font-size:calc(50 * var(--s));letter-spacing:.07em;line-height:1}.principle-grid{display:grid;grid-template-columns:50% 40%;gap:10%;width:75%;margin:calc(-90 * var(--s)) auto 0}.principle-grid>img{width:100%;height:calc(1000 * var(--s));object-fit:cover}.principle-copy{padding-top:calc(390 * var(--s))}.principle-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:calc(50 * var(--s))}.principle-label h3{font-family:var(--en);font-size:calc(76 * var(--s));line-height:1.4;font-weight:500;letter-spacing:.015em}.next-principle{font-size:0;width:calc(65 * var(--s));height:calc(80 * var(--s));display:grid;place-items:center;flex:none}.next-principle svg{width:calc(32 * var(--s));height:calc(72 * var(--s));overflow:visible}.next-principle:hover{transform:translateX(5px)}.principle-copy>p{font-size:calc(17 * var(--s));font-weight:400;line-height:2.05;letter-spacing:.01em}.principle-peek{position:absolute;left:95.7%;top:calc(325 * var(--s));height:calc(1000 * var(--s));width:calc(720 * var(--s));background:#676767}.concept-bottom{padding:calc(140 * var(--s)) calc(90 * var(--s)) 0}.square-contacts{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(60 * var(--s))}.square-contacts a{border:1px solid var(--line);min-height:calc(220 * var(--s));display:flex;align-items:center;justify-content:center;flex-direction:column;transition:background .2s}.square-contacts a:hover{background:#f1f4f4}.square-contacts strong{font-family:var(--en);font-size:calc(48 * var(--s));font-weight:600;letter-spacing:.05em;line-height:1.5}.square-contacts small{font-size:calc(15 * var(--s));font-weight:600}.concept-bottom .related{width:100%;padding:calc(65 * var(--s)) 0 0;gap:calc(60 * var(--s))}
.related{width:80.3%;margin:0 auto;display:grid;grid-auto-columns:1fr;grid-auto-flow:column;gap:calc(100 * var(--s));padding-top:calc(110 * var(--s));padding-bottom:calc(100 * var(--s))}.related>a{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:calc(52 * var(--s)) 0;line-height:1.5;min-width:0}.related>a:hover .view-more{transform:translateX(4px)}.related strong{font-family:var(--en);font-size:calc(48 * var(--s));font-weight:600;letter-spacing:.06em;display:block}.related small{font-size:calc(16 * var(--s));font-weight:600;display:block;margin-top:calc(5 * var(--s))}.view-more{display:flex;align-items:center;gap:calc(9 * var(--s));font-family:var(--en);font-weight:700;font-size:calc(15 * var(--s));transition:transform .2s;align-self:flex-end;padding-bottom:calc(6 * var(--s));white-space:nowrap}.view-more svg{width:calc(28 * var(--s));height:calc(30 * var(--s));flex:none}
.business-hero{position:relative;display:flex;justify-content:space-between;gap:7.3%;padding:calc(84 * var(--s)) calc(90 * var(--s)) 0;height:calc(1175 * var(--s))}.business-hero>img{width:46.4%;height:100%;object-fit:cover}.business-hero-left{clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}.business-hero-right{clip-path:polygon(0 11%,100% 0,100% 100%,0 89%)}.business-hero h1{position:absolute;left:50%;top:45%;transform:translate(-50%,-0%);text-align:center;background:#fff;padding:calc(25 * var(--s)) calc(24 * var(--s));white-space:nowrap;font-size:calc(88 * var(--s));line-height:1.3}.business-hero h1 small{display:block;font-family:var(--en);font-size:calc(40 * var(--s));margin-top:calc(10 * var(--s));letter-spacing:.07em}.business-intro{text-align:center;font-size:calc(20 * var(--s));line-height:2.1;letter-spacing:.08em;padding:calc(130 * var(--s)) 0 calc(150 * var(--s))}.service{display:grid;grid-template-columns:51% 41%;gap:8%;position:relative;padding-bottom:calc(160 * var(--s))}.service-photo>img{height:calc(805 * var(--s));width:100%;object-fit:cover}.service-caption{display:grid;grid-template-columns:58% 42%;padding:calc(55 * var(--s)) calc(60 * var(--s)) 0 calc(90 * var(--s));gap:calc(15 * var(--s))}.service-caption h3{font-family:var(--en);font-size:calc(48 * var(--s));font-weight:600;line-height:1.35;letter-spacing:.03em}.service-caption ul{font-size:calc(20 * var(--s));font-weight:600;line-height:1.85;white-space:nowrap}.service-caption li:before{content:"□";margin-right:calc(12 * var(--s))}.service-copy{position:relative;padding-right:calc(90 * var(--s))}.service-heading{padding-left:calc(105 * var(--s))}.service-heading>span{font-family:var(--en);font-size:calc(80 * var(--s));line-height:1.2;font-weight:500}.service-heading h2{font-size:calc(68 * var(--s));line-height:1.4;margin-top:calc(15 * var(--s))}.service-heading i{display:block;width:calc(190 * var(--s));height:1px;background:#888;margin:calc(40 * var(--s)) 0 calc(50 * var(--s))}.service-heading p{font-size:calc(20 * var(--s));line-height:1.8}.service-vertical{position:absolute;left:0;top:0;writing-mode:vertical-rl;font-family:var(--en);font-size:calc(24 * var(--s));font-weight:600;letter-spacing:.04em}.mosaic{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(12 * var(--s));margin-top:calc(120 * var(--s))}.mosaic>div{display:flex;flex-direction:column;gap:calc(12 * var(--s))}.mosaic>div:nth-child(2){padding-top:calc(145 * var(--s))}.mosaic>div:nth-child(3){padding-top:calc(80 * var(--s))}.mosaic img{width:100%;object-fit:cover}.service-building{grid-template-columns:41% 51%;padding-top:calc(260 * var(--s));padding-bottom:calc(100 * var(--s))}.service-building:before{content:"";position:absolute;width:100%;height:1px;background:#777;top:calc(60 * var(--s));left:0;transform:rotate(16.7deg);transform-origin:60% 0}.service-building .service-copy{padding:0 0 0 calc(90 * var(--s))}.service-building .service-vertical{left:calc(90 * var(--s))}.service-building .service-heading{padding-left:calc(110 * var(--s));padding-right:calc(40 * var(--s))}.service-building .mosaic{margin-top:calc(60 * var(--s))}.service-building .service-caption{padding-left:0;grid-template-columns:35% 65%;gap:calc(25 * var(--s))}.service-building .service-photo{align-self:start}.apply{padding:calc(200 * var(--s)) 0 calc(140 * var(--s))}.centered{text-align:center}.apply h2{font-size:calc(56 * var(--s));letter-spacing:.1em;line-height:1.5}.apply>p{font-size:calc(19 * var(--s));font-weight:600;margin-top:calc(18 * var(--s));letter-spacing:.04em}.contact-cards{display:flex;justify-content:center;gap:calc(60 * var(--s));margin-top:calc(65 * var(--s))}.contact-cards>a{border:1px solid var(--line);border-radius:calc(20 * var(--s));width:calc(515 * var(--s));min-height:calc(190 * var(--s));display:flex;align-items:center;justify-content:center;flex-direction:column;transition:background .2s}.contact-cards>a:hover{background:#e9eeee}.contact-cards small{font-size:calc(17 * var(--s));font-weight:600;letter-spacing:.05em}.contact-cards strong{font-family:var(--en);font-size:calc(40 * var(--s));font-weight:600;letter-spacing:.06em;line-height:1.6}
.partner-hero{height:calc(1175 * var(--s));position:relative;background:#71acd4}.partner-background{position:absolute;inset:0;background:url(assets/partner-background.webp) center/cover no-repeat}.partner-hero-content{position:relative;text-align:center;padding-top:calc(265 * var(--s))}.partner-hero h1{font-family:var(--en);font-size:calc(180 * var(--s));line-height:1.3;letter-spacing:.06em;font-weight:600}.partner-subtitle{font-size:calc(30 * var(--s));font-weight:600;letter-spacing:.12em}.partner-hero h2{font-size:calc(48 * var(--s));line-height:1.7;margin:calc(60 * var(--s)) auto calc(125 * var(--s));letter-spacing:.05em}.black-pill{background:#000;color:white;display:inline-flex;justify-content:center;align-items:center;min-height:calc(115 * var(--s));padding:0 calc(65 * var(--s));border-radius:100px;gap:calc(45 * var(--s));transition:background .2s}.black-pill:hover{background:#333}.black-pill strong{font-family:var(--en);font-size:calc(30 * var(--s));letter-spacing:.04em}.black-pill>span{font-size:calc(20 * var(--s));font-weight:600;border-left:1px solid;padding-left:calc(45 * var(--s))}.trades>h2{text-align:left;width:max-content;max-width:90%;margin:calc(205 * var(--s)) auto calc(95 * var(--s));font-size:calc(40 * var(--s));line-height:1.7;letter-spacing:.04em}.trade-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #888}.trade-card{padding:calc(70 * var(--s)) calc(54 * var(--s)) calc(60 * var(--s));border-right:1px solid #888;border-bottom:1px solid #888;display:block}.trade-card:nth-child(4n){border-right:0}.trade-card img{aspect-ratio:1;object-fit:cover;width:100%;transition:opacity .2s}.trade-card:hover img{opacity:.75}.trade-card h3{text-align:center;font-size:calc(28 * var(--s));margin-top:calc(35 * var(--s));letter-spacing:.09em;white-space:nowrap}.trade-empty{background:#ddd;border-bottom:1px solid #888}
.recruit-hero{height:calc(1175 * var(--s));position:relative;background:#e2edf0}.recruit-background{position:absolute;inset:0;background:url(assets/recruit-background.webp) center/cover no-repeat}.recruit-hero-copy{position:relative;margin-left:55.4%;padding-top:calc(275 * var(--s));width:39%}.recruit-hero h1{font-size:calc(64 * var(--s));line-height:1.6;letter-spacing:.045em;white-space:nowrap}.recruit-hero .english-caption{margin-top:calc(30 * var(--s));font-size:calc(16 * var(--s));line-height:1.6}.recruit-hero-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:calc(45 * var(--s));padding-right:calc(80 * var(--s))}.recruit-hero-bottom>p{font-family:var(--en);font-size:calc(54 * var(--s));font-weight:600;letter-spacing:.03em}.entry-circle{border:1px solid;width:calc(228 * var(--s));height:calc(228 * var(--s));border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;transition:background .2s}.entry-circle:hover{background:#ffffff70}.entry-circle strong{font-family:var(--en);font-size:calc(30 * var(--s));font-weight:600;line-height:1.5}.entry-circle span{font-size:calc(18 * var(--s));font-weight:600}.entry-circle svg{width:calc(35 * var(--s));height:calc(35 * var(--s));margin-top:calc(15 * var(--s))}.recruit-information,.recruit-entry{display:grid;grid-template-columns:25% 69%;gap:6%;margin:0 auto;width:80.3%;padding-top:calc(215 * var(--s));align-items:start}.vertical-heading{border-top:calc(9 * var(--s)) solid;width:calc(150 * var(--s));padding-top:calc(70 * var(--s));position:sticky;top:110px;display:flex;flex-direction:row;gap:calc(25 * var(--s));align-items:flex-start}.vertical-heading span{font-family:var(--en);writing-mode:vertical-rl;font-size:calc(28 * var(--s));font-weight:600;letter-spacing:.08em;line-height:1.4}.vertical-heading h2{writing-mode:vertical-rl;font-size:calc(76 * var(--s));letter-spacing:.15em;line-height:1.3}.requirements{display:grid;grid-template-columns:1fr 1fr;column-gap:calc(95 * var(--s));row-gap:calc(95 * var(--s))}.requirement.full{grid-column:1/-1}.requirement h3{font-size:calc(48 * var(--s));letter-spacing:.09em;margin-bottom:calc(35 * var(--s));line-height:1.4}.requirement>p,.requirement>ul{border-left:1px solid #777;padding:calc(20 * var(--s)) 0 calc(20 * var(--s)) calc(77 * var(--s));font-size:calc(20 * var(--s));font-weight:500;line-height:1.8;min-height:calc(165 * var(--s));letter-spacing:.04em}.requirement>ul{min-height:calc(200 * var(--s))}.requirement li:before{content:"□";margin-right:calc(15 * var(--s))}.recruit-entry{padding-top:calc(340 * var(--s));padding-bottom:calc(270 * var(--s))}.recruit-entry>div{padding-top:calc(75 * var(--s));font-size:calc(20 * var(--s));font-weight:500;line-height:1.8}.recruit-entry .contact-cards{gap:calc(25 * var(--s));margin-top:calc(50 * var(--s))}.recruit-entry .contact-cards>a{width:33.333%;min-height:calc(190 * var(--s));border-radius:calc(20 * var(--s))}.recruit-entry .contact-cards small{font-size:calc(15 * var(--s));white-space:nowrap;letter-spacing:0}.recruit-entry .contact-cards strong{font-size:calc(36 * var(--s));white-space:nowrap}.recruit-entry+.related{padding-top:0}
.page-works{background:var(--pale)}.works-heading{text-align:center;padding-top:calc(245 * var(--s));padding-bottom:calc(120 * var(--s))}.works-heading h1{font-family:var(--en);font-size:calc(80 * var(--s));font-weight:600;letter-spacing:.09em;line-height:1.4}.works-heading p{font-family:var(--en);font-size:calc(21 * var(--s));font-weight:600;letter-spacing:.06em}.works-grid{display:grid;grid-template-columns:repeat(4,1fr);column-gap:calc(45 * var(--s));row-gap:calc(80 * var(--s));padding:0 calc(90 * var(--s))}.work-card{border-left:calc(3 * var(--s)) solid #111;display:block;padding:calc(22 * var(--s)) calc(18 * var(--s));min-height:calc(185 * var(--s));transition:background .2s}.work-card:hover{background:#ffffff70}.work-card>div{display:flex;align-items:center;gap:calc(15 * var(--s));font-size:calc(16 * var(--s));font-family:var(--en);letter-spacing:.15em;font-weight:600;line-height:1.5}.status{background:#111;color:white;border-radius:100px;padding:calc(2 * var(--s)) calc(12 * var(--s));font-size:calc(12 * var(--s));letter-spacing:.05em;white-space:nowrap}.work-card h2{font-size:calc(21 * var(--s));font-weight:600;line-height:1.55;letter-spacing:.09em;margin-top:calc(15 * var(--s));min-height:calc(62 * var(--s))}.work-card>p{font-size:calc(17 * var(--s));color:#666;letter-spacing:.1em;margin-top:calc(15 * var(--s))}.pagination{display:flex;justify-content:center;gap:calc(30 * var(--s));align-items:center;padding-top:calc(140 * var(--s));font-size:calc(16 * var(--s));font-family:var(--en);font-weight:600;letter-spacing:.05em}.pagination>a{min-width:calc(24 * var(--s));height:calc(65 * var(--s));display:grid;place-items:center;border-bottom:1px solid transparent}.pagination>a:hover,.pagination>a[aria-current=page]{border-bottom-color:#111}.pagination .pagination-prev,.pagination .pagination-next{margin:0 calc(20 * var(--s));border-bottom:1px solid #777;min-width:calc(60 * var(--s));position:relative}.pagination-prev:after,.pagination-next:after{content:"";position:absolute;width:calc(10 * var(--s));height:1px;background:#777;bottom:calc(2 * var(--s))}.pagination-prev:after{left:0;transform:rotate(-35deg)}.pagination-next:after{right:0;transform:rotate(35deg)}.pagination-note{text-align:center;font-size:12px;margin:20px auto;max-width:800px;min-height:20px}
.breadcrumb{padding:calc(80 * var(--s)) calc(90 * var(--s)) calc(25 * var(--s));font-size:calc(16 * var(--s));color:#666;letter-spacing:.12em;line-height:1.6}.breadcrumb a:hover{text-decoration:underline}.site-footer{background:var(--pale);padding:calc(145 * var(--s)) calc(90 * var(--s)) calc(60 * var(--s));min-height:calc(850 * var(--s))}.footer-contact{display:grid;grid-template-columns:56% 44%;align-items:end}.footer-tagline{border-left:1px solid #888;padding-left:calc(65 * var(--s))}.footer-tagline .eyebrow{font-size:calc(40 * var(--s));margin-bottom:calc(65 * var(--s))}.footer-tagline h2{font-family:var(--en);font-size:calc(88 * var(--s));line-height:1.03;font-weight:600;letter-spacing:-.025em}.footer-subtitle{font-family:var(--en);font-size:calc(40 * var(--s));font-weight:700;letter-spacing:.015em;line-height:1.3;margin-top:calc(18 * var(--s))}.footer-actions{padding:0 calc(95 * var(--s)) 0 calc(10 * var(--s))}.footer-actions>p{font-size:calc(20 * var(--s));font-weight:600;line-height:1.6;letter-spacing:.02em;margin-bottom:calc(70 * var(--s))}.footer-actions>div{display:flex;gap:calc(30 * var(--s))}.pill{border:1px solid #888;border-radius:100px;display:inline-flex;align-items:center;justify-content:center;padding:calc(18 * var(--s)) calc(25 * var(--s));font-size:calc(17 * var(--s));font-weight:600;line-height:1.5;min-height:calc(72 * var(--s));white-space:nowrap;transition:background .2s}.pill:hover{background:#fff}.footer-actions .pill{flex:1}.footer-bottom{display:flex;justify-content:space-between;align-items:flex-start;margin-top:calc(145 * var(--s))}.footer-social{display:flex;align-items:center;gap:calc(18 * var(--s));margin-bottom:calc(20 * var(--s));font-family:var(--en);font-size:calc(17 * var(--s));font-weight:600;line-height:1;letter-spacing:.04em}.footer-social button{font:inherit;letter-spacing:inherit;padding:0}.footer-social button:hover{text-decoration:underline}.footer-social svg{width:calc(24 * var(--s));height:calc(24 * var(--s));fill:none;stroke:currentColor;stroke-width:1.7}.footer-social .facebook{display:grid;place-items:center;color:var(--pale);background:#111;width:calc(22 * var(--s));height:calc(22 * var(--s));border-radius:50%;font-size:calc(21 * var(--s));font-weight:700}.footer-social button:nth-child(3){margin-right:calc(25 * var(--s))}address{font-style:normal;font-size:calc(15 * var(--s));line-height:1.6;letter-spacing:.03em}address a{font-family:var(--en);font-size:calc(18 * var(--s));font-weight:600}address strong{font-weight:600}.footer-copyright{text-align:right}.brand.horizontal{flex-direction:row;gap:calc(15 * var(--s));width:auto;justify-content:flex-end}.brand.horizontal svg{width:calc(54 * var(--s));height:calc(54 * var(--s));margin:0}.brand.horizontal span{font-size:calc(35 * var(--s));letter-spacing:-.06em}.footer-copyright small{display:block;font-size:calc(14 * var(--s));font-family:var(--en);letter-spacing:.02em;font-weight:600;margin-top:calc(95 * var(--s))}
.standard-heading{padding:180px 24px 80px;text-align:center}.standard-heading h1{font-family:var(--en);font-size:52px;letter-spacing:.08em;line-height:1.4}.standard-heading p{font-size:15px;letter-spacing:.1em;margin-top:12px}.contact-content,.company-content,.work-detail{max-width:820px;width:calc(100% - 48px);margin:0 auto 100px;font-size:14px}.contact-intro{text-align:center;line-height:2.1;margin-bottom:35px}.demo-note{font-size:12px;line-height:1.8;color:#707777;margin:24px 0}.form-field{display:grid;grid-template-columns:220px 1fr;gap:20px;border-top:1px solid #ddd;padding:25px 0;align-items:start}.form-field label{font-size:14px;font-weight:600;padding-top:11px}.form-field label>span{font-size:10px;background:#111;color:#fff;padding:3px 6px;margin-left:10px;font-weight:400}.form-field input,.form-field textarea,.form-field select{width:100%;padding:12px;border:1px solid #bbb;border-radius:0;background:#fff;font-size:14px;line-height:1.7}.form-field textarea{min-height:180px;resize:vertical}.form-submit{display:flex;justify-content:space-between;align-items:center;width:320px;margin:30px auto 0;background:#111;color:#fff;padding:18px 25px;font-size:14px}.form-submit.secondary{background:#fff;color:#111;border:1px solid}.confirm-list>div,.company-content dl>div{display:grid;grid-template-columns:180px 1fr;padding:25px 0;border-top:1px solid #ddd;gap:20px}.confirm-list dt,.company-content dt{font-weight:600}.confirm-list dd{white-space:pre-wrap;overflow-wrap:anywhere}.confirmation-actions{display:flex;gap:20px}.confirmation-actions .form-submit{margin:30px 0}.contact-complete{text-align:center;padding:70px 0}.contact-complete h2{font-size:26px;margin-bottom:25px}.company-content h2{font-size:25px;margin-bottom:40px}.work-detail-title{font-family:var(--jp)!important;font-size:36px!important;max-width:900px;margin:auto}.work-detail dl>div{border-bottom:1px solid #ddd;padding:25px 0;display:grid;grid-template-columns:150px 1fr;gap:20px}.work-detail-actions{display:flex;gap:25px;align-items:center;flex-wrap:wrap;margin-top:45px}.work-detail .pill{font-size:14px;padding:15px 25px;min-height:50px}.text-link{font-size:14px;border-bottom:1px solid #777}.info-page-links{display:grid;gap:15px}.info-page-links a{border-bottom:1px solid #ddd;padding:10px 0}.info-page-links a:hover{opacity:.6}dialog{position:fixed;width:min(600px,calc(100% - 32px));max-height:85dvh;padding:65px 40px 40px;border:0;color:#111;box-shadow:0 10px 80px #0003;background:#fff;font-size:14px;line-height:1.9}dialog::backdrop{background:#0007;backdrop-filter:blur(4px)}.dialog-close{position:absolute;right:15px;top:10px;font-size:30px;line-height:1.5}.dialog-close:hover{opacity:.5}dialog h2{font-size:24px;margin-bottom:20px}dialog p{margin:15px 0}
@media(min-width:1921px){.site-header.scrolled{left:50%}}
@media(max-width:767px){:root{--s:1px}body{font-size:14px;line-height:1.9}.desktop-only{display:none}.site-header{height:85px;padding:20px 22px;align-items:flex-start;position:absolute}.brand{width:90px}.brand svg{width:32px;height:32px;margin-bottom:10px}.brand span{font-size:14px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:7px;width:42px;height:42px;padding:7px;z-index:2;color:inherit}.menu-toggle span{height:1px;background:currentColor;width:100%;transition:transform .2s}.site-header nav{display:none;position:absolute;top:0;right:0;width:min(360px,100vw);background:#fff;color:#111;padding:95px 30px 40px;gap:22px;font-size:13px;box-shadow:0 6px 30px #0002;max-height:100dvh;overflow:auto}.site-header.menu-open nav{display:flex;flex-direction:column}.site-header.menu-open{color:#111}.menu-open .menu-toggle span:first-child{transform:translateY(4px) rotate(45deg)}.menu-open .menu-toggle span:last-child{transform:translateY(-4px) rotate(-45deg)}.site-header .header-phone{font-size:15px;margin:0}.contact-menu>div{position:static;box-shadow:none;padding:12px 0 0 15px;line-height:2.5;font-size:12px}.site-header.scrolled{height:72px;padding:14px 20px}.site-header.scrolled .brand{width:90px}.site-header.scrolled nav{padding:90px 30px 40px;font-size:13px;gap:22px;align-items:flex-start}.site-header.scrolled .header-phone{font-size:15px}.site-header.scrolled .brand span{font-size:12px}.eyebrow{font-size:22px}.english-caption{font-size:10px}.concept-hero{height:680px}.concept-hero-photo{background-size:auto 100%;background-position:58% center}.concept-hero:after{background:linear-gradient(90deg,#0009,#0002)}.hero-copy{padding:220px 25px 0}.hero-copy .eyebrow{font-size:25px;margin-bottom:25px}.hero-copy h1{font-size:clamp(29px,7.6vw,50px);line-height:1.65;letter-spacing:.02em}.hero-copy .english-caption{font-size:9px;max-width:285px;margin-top:25px;line-height:1.7}.concept-features{padding:90px 0 110px}.feature{display:flex;flex-direction:column;width:calc(100% - 48px);min-height:0}.feature-one .feature-copy{padding:0}.feature-number{font-size:66px;margin-bottom:25px;line-height:1.2}.feature h2{font-size:clamp(22px,5.7vw,36px);line-height:2;white-space:normal;letter-spacing:0}.feature h2 span{border-bottom-width:1px;padding-bottom:4px}.feature .english-caption{font-size:9px;white-space:normal;margin-top:20px}.feature .body-copy{font-size:12px;margin-top:30px;line-height:2;max-width:100%}.feature-photo{height:330px;margin-top:35px;object-fit:cover}.feature-two{margin-top:90px;gap:0;flex-direction:column-reverse}.feature-two .feature-number{margin-bottom:25px}.feature-two .body-copy{width:auto;margin-top:30px}.network-one{width:400px;right:-180px;top:0}.network-two{width:550px;left:-240px;bottom:0}.ruler{height:200px}.principle{padding:70px 24px 80px;min-height:0}.principle>h2{font-size:clamp(22px,6vw,38px);letter-spacing:.02em;line-height:1.7}.principle>.english-caption{font-size:9px;margin-top:15px}.vertical-label{left:9px;top:190px;font-size:15px;letter-spacing:.1em}.principle-grid{display:flex;flex-direction:column;width:100%;margin:35px 0 0;gap:0}.principle-grid>img{height:360px;width:80%;margin:0 auto;object-position:center}.principle-copy{padding:35px 12px 0}.principle-label{margin-bottom:25px}.principle-label h3{font-size:35px}.principle-copy>p{font-size:12px;line-height:2.1}.next-principle{width:40px;height:40px}.next-principle svg{width:16px;height:36px}.principle-peek{display:none}.concept-bottom{padding:50px 24px 0}.square-contacts{grid-template-columns:1fr;gap:15px}.square-contacts a{min-height:110px}.square-contacts strong{font-size:26px}.square-contacts small{font-size:11px}.related{width:calc(100% - 48px);grid-auto-flow:row;grid-template-columns:1fr;gap:0;padding:55px 0}.related>a{padding:28px 0;border-bottom:0}.related>a:last-child{border-bottom:1px solid var(--line)}.related strong{font-size:27px}.related small{font-size:11px;margin-top:5px}.view-more{font-size:10px;gap:5px;padding-bottom:3px;align-self:center}.view-more svg{width:18px;height:20px}.concept-bottom .related{gap:0;padding-top:35px}.business-hero{height:510px;gap:25px;padding:100px 20px 0}.business-hero>img{width:calc(50% - 12px)}.business-hero h1{font-size:32px;top:47%;padding:14px 10px}.business-hero h1 small{font-size:16px;margin-top:5px}.business-intro{padding:50px 20px 65px;font-size:11px;letter-spacing:.015em}.service{display:flex;flex-direction:column;padding-bottom:60px;gap:45px}.service-photo>img{height:340px}.service-caption{padding:25px 24px 0;grid-template-columns:1fr;gap:20px}.service-caption h3{font-size:27px}.service-caption ul{font-size:12px;white-space:normal}.service-caption li:before{margin-right:8px}.service-copy{padding:0 24px}.service-heading{padding-left:35px}.service-heading>span{font-size:48px}.service-heading h2{font-size:32px;margin-top:7px}.service-heading i{width:90px;margin:20px 0 25px}.service-heading p{font-size:12px;line-height:2}.service-vertical{left:24px;font-size:12px}.mosaic{max-width:480px;margin:35px auto 0;gap:7px}.mosaic>div{gap:7px}.mosaic>div:nth-child(2){padding-top:65px}.mosaic>div:nth-child(3){padding-top:35px}.service-building{padding-top:80px;padding-bottom:30px;flex-direction:column-reverse}.service-building:before{top:20px;transform:rotate(12deg)}.service-building .service-copy{padding:0 24px}.service-building .service-vertical{left:24px}.service-building .service-heading{padding-left:35px;padding-right:0}.service-building .mosaic{margin-top:35px}.service-building .service-caption{padding:25px 24px 0;grid-template-columns:1fr;gap:20px}.apply{padding:75px 24px 40px}.apply h2{font-size:30px}.apply>p{font-size:11px;margin-top:15px}.contact-cards{margin-top:30px;gap:15px;flex-direction:column;align-items:stretch}.contact-cards>a{width:100%;min-height:110px;border-radius:10px}.contact-cards small{font-size:11px}.contact-cards strong{font-size:27px}.partner-hero{height:680px}.partner-background{background-position:center;background-size:auto 100%}.partner-hero-content{padding:170px 20px 0}.partner-hero h1{font-size:clamp(48px,12vw,80px);letter-spacing:.05em}.partner-subtitle{font-size:15px;letter-spacing:.1em}.partner-hero h2{font-size:17px;line-height:2;margin:40px auto 65px}.partner-hero h2 br{display:none}.black-pill{min-height:60px;padding:0 30px;gap:20px}.black-pill strong{font-size:17px}.black-pill>span{font-size:11px;padding-left:20px}.trades>h2{margin:65px auto 45px;font-size:20px;line-height:1.8}.trade-grid{grid-template-columns:repeat(2,1fr)}.trade-card{padding:25px 18px 24px}.trade-card:nth-child(2n){border-right:0}.trade-card h3{font-size:13px;margin-top:15px;letter-spacing:.03em}.recruit-hero{height:780px}.recruit-background{background-size:auto 100%;background-position:37% center}.recruit-hero-copy{margin-left:0;width:auto;padding:170px 24px 0}.recruit-hero h1{font-size:clamp(23px,5.8vw,36px);line-height:1.8;text-shadow:0 0 18px #fff;white-space:normal}.recruit-hero .english-caption{font-size:9px;max-width:280px;margin-top:20px;text-shadow:0 0 9px white}.recruit-hero-bottom{margin-top:45px;padding:0;align-items:end}.recruit-hero-bottom>p{font-size:27px;background:#e2edf0c9;padding:5px 10px}.entry-circle{width:125px;height:125px;background:#e2edf0b5}.entry-circle strong{font-size:21px}.entry-circle span{font-size:10px}.entry-circle svg{width:22px;height:22px;margin-top:7px}.recruit-information,.recruit-entry{width:calc(100% - 48px);grid-template-columns:1fr;gap:40px;padding-top:70px}.vertical-heading{width:auto;position:static;padding-top:20px;border-top-width:4px;gap:15px;align-items:center}.vertical-heading span{writing-mode:horizontal-tb;font-size:12px;order:2}.vertical-heading h2{writing-mode:horizontal-tb;font-size:30px;letter-spacing:.08em}.requirements{grid-template-columns:1fr;gap:40px}.requirement.full{grid-column:auto}.requirement h3{font-size:23px;margin-bottom:18px}.requirement>p,.requirement>ul{font-size:12px;line-height:2;padding:10px 0 10px 20px;min-height:0}.requirement li:before{margin-right:8px}.recruit-entry{padding-top:90px;padding-bottom:60px}.recruit-entry>div{padding-top:0;font-size:12px}.recruit-entry .contact-cards{margin-top:30px;gap:15px}.recruit-entry .contact-cards>a{width:100%;min-height:110px;border-radius:10px}.recruit-entry .contact-cards small{font-size:11px}.recruit-entry .contact-cards strong{font-size:27px}.works-heading{padding:150px 20px 60px}.works-heading h1{font-size:43px}.works-heading p{font-size:11px}.works-grid{grid-template-columns:1fr 1fr;gap:35px 20px;padding:0 24px}.work-card{border-left-width:2px;padding:10px 0 10px 12px;min-height:150px}.work-card>div{font-size:9px;gap:7px;letter-spacing:.05em}.status{font-size:8px;padding:1px 6px}.work-card h2{font-size:12px;line-height:1.7;min-height:62px;margin-top:12px;letter-spacing:.03em}.work-card>p{font-size:10px;margin-top:10px;letter-spacing:.03em}.pagination{padding-top:60px;gap:10px;font-size:11px}.pagination>a{height:40px;min-width:20px}.pagination .pagination-prev,.pagination .pagination-next{min-width:42px;margin:0 3px}.pagination-note{font-size:10px;margin:20px 24px}.breadcrumb{padding:25px 24px 15px;font-size:10px;letter-spacing:.05em}.site-footer{padding:55px 24px 30px;min-height:0}.footer-contact{grid-template-columns:1fr;gap:40px}.footer-tagline{padding-left:20px}.footer-tagline .eyebrow{font-size:19px;margin-bottom:30px}.footer-tagline h2{font-size:39px;line-height:1.06;letter-spacing:-.025em}.footer-subtitle{font-size:19px;margin-top:12px}.footer-actions{padding:0}.footer-actions>p{font-size:11px;line-height:1.9;margin-bottom:25px}.footer-actions>div{gap:10px}.pill{font-size:10px;padding:13px 12px;min-height:45px}.footer-bottom{margin-top:55px;gap:40px;flex-direction:column}.footer-social{gap:10px;font-size:10px;margin-bottom:20px}.footer-social svg{width:17px;height:17px}.footer-social .facebook{width:15px;height:15px;font-size:15px}.footer-social button:nth-child(3){margin-right:5px}address{font-size:10px}address a{font-size:13px}.footer-copyright{align-self:flex-end}.brand.horizontal{gap:8px}.brand.horizontal svg{width:35px;height:35px}.brand.horizontal span{font-size:22px}.footer-copyright small{font-size:9px;margin-top:25px}.standard-heading{padding:140px 24px 60px}.standard-heading h1{font-size:35px}.standard-heading p{font-size:12px}.contact-intro{font-size:12px}.form-field{grid-template-columns:1fr;gap:12px;padding:20px 0}.form-field label{padding:0;font-size:13px}.form-submit{width:100%;max-width:320px}.confirm-list>div,.company-content dl>div{grid-template-columns:1fr;gap:10px}.confirmation-actions{flex-direction:column;gap:0}.confirmation-actions .form-submit{margin:20px auto 0}.work-detail-title{font-size:26px!important}.work-detail dl>div{grid-template-columns:90px 1fr;font-size:12px}.company-content h2{font-size:20px}dialog{padding:60px 24px 30px;font-size:13px}dialog h2{font-size:22px}
}
.recruit-background{filter:saturate(.45) brightness(1.12)}
.site-header nav>a[aria-current],.contact-menu>summary[aria-current]{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.6em}
.contact-menu>div>a[aria-current="page"]{text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:.35em}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
