@charset "UTF-8";:root{--paper:#f8f8f5;--ink:#252323;--line:#cdcdca;--muted:#72726e}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,'Helvetica Neue','Hiragino Kaku Gothic ProN','Noto Sans JP',sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}header{height:104px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;border-bottom:1px solid var(--line);background:var(--paper);position:relative;z-index:5}.brand img{width:180px;display:block;mix-blend-mode:multiply}nav{display:flex;gap:38px;font-size:12px}nav a{padding:12px 0}nav a:hover{opacity:.5}nav span{padding-left:20px}.menu{display:none}.hero{min-height:calc(100svh - 104px);height:790px;max-height:1000px;position:relative;overflow:hidden;padding:30px 5%}.hero-meta{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.4px;position:relative;z-index:2}.hero-copy{position:relative;z-index:2;padding-top:110px;pointer-events:none}h1{font-size:clamp(46px,5.6vw,86px);font-weight:600;line-height:1.5;letter-spacing:-.055em;margin:0}.outline{color:var(--paper);-webkit-text-stroke:1px var(--ink)}.hero-copy p{font-size:13px;line-height:2.1;margin-top:30px}.mosaic{position:absolute;right:-5%;top:90px;width:51%;aspect-ratio:1;display:grid;grid-template-columns:repeat(6,1fr);transform:rotate(-8deg);opacity:.93}.mosaic i{transition:background 1.5s,transform .8s}.mosaic i:hover{transform:scale(.85)}.hero-bottom{position:absolute;bottom:30px;left:5%;right:5%;display:flex;justify-content:space-between;align-items:end;font-size:10px;line-height:1.7;letter-spacing:.7px}.hero-bottom a span{margin-left:35px}.edition{font-size:18px;font-weight:bold}.section{padding:65px 5% 100px;border-top:1px solid var(--line)}.section-label{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1px;margin-bottom:85px}.section-label span:last-child{letter-spacing:.08em;color:var(--muted)}.philosophy{padding-bottom:120px}.statement{margin-left:25%}h2{font-size:clamp(34px,4.2vw,62px);font-weight:500;line-height:1.6;letter-spacing:-.04em;margin:0}.statement h2 span{color:#8c8c87}.statement-body{display:flex;gap:80px;margin-top:55px}.cross{font-size:80px;font-weight:200;line-height:1;color:#aaa}.statement-body p{font-size:14px;line-height:2.3;margin:0 0 26px}.identity{background:#eaeae6}.identity-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:65px}.identity-head p{font-size:13px;line-height:2.2;padding-right:5%}.identity-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%}.tile-art{display:grid;grid-template-columns:repeat(4,1fr);aspect-ratio:1}.identity-text{padding-top:15px}.eyebrow{font-size:10px;letter-spacing:1.5px}.identity-text article{border-bottom:1px solid #c5c5bf;padding:28px 0;display:flex;gap:28px}.identity-text article>span{font-size:10px;color:var(--muted);padding-top:10px}h3{font-size:31px;font-weight:400;letter-spacing:-1px;margin:0 0 13px}.identity-text p{font-size:12px;color:#666;margin:0;line-height:1.8}.conversation{background:#252323;color:#f5f5f0;padding-bottom:60px}.conversation .section-label{margin-bottom:100px}.conversation .section-label span:last-child{color:#999}.conversation>.eyebrow{color:#aaa;margin-bottom:25px}.conversation h2{font-size:clamp(45px,6vw,86px)}.contact-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:60px;padding-top:25px;border-top:1px solid #555}.contact-bottom p{font-size:13px}.contact-note{font-size:12px;color:#aaa}footer{display:flex;align-items:end;justify-content:space-between;padding:55px 5% 35px;font-size:9px;letter-spacing:.8px}.footer-logo{font-size:38px;font-weight:700;letter-spacing:-2px}.footer-logo small{display:block;font-size:12px;letter-spacing:0;margin-top:4px}a:focus-visible,button:focus-visible{outline:2px solid #777;outline-offset:6px}@media(min-width:1600px){.hero-copy{padding-top:150px}}@media(max-width:760px){header{height:85px}.brand img{width:145px}.menu{display:block;background:none;border:0;font-size:12px;padding:10px}nav{display:none;position:absolute;top:84px;background:var(--paper);left:0;right:0;padding:25px 5%;border-bottom:1px solid var(--line);gap:24px}nav.open{display:flex;justify-content:space-between}.hero{height:780px;min-height:calc(100svh - 85px);max-height:900px}.hero-meta{font-size:8px}.hero-copy{padding-top:75px}h1{font-size:clamp(36px,8vw,58px)}.hero-copy p{font-size:12px}.mosaic{width:70%;right:-13%;top:370px}.hero-bottom{font-size:8px}.hero-bottom .edition{display:none}.section{padding:35px 6% 65px}.section-label{margin-bottom:55px;font-size:9px}.statement{margin-left:0}h2{font-size:34px}.statement-body{gap:25px;margin-top:35px}.cross{font-size:55px}.statement-body p{font-size:12px}.identity-head{display:block;margin-bottom:35px}.identity-head p{font-size:12px;margin-top:25px}.identity-grid{grid-template-columns:1fr;gap:35px}.tile-art{max-width:480px}.identity-text article{padding:23px 0}.conversation .section-label{margin-bottom:65px}.conversation>.eyebrow{font-size:8px;line-height:1.8}.contact-bottom{display:block;margin-top:40px}.contact-note{display:block;margin-top:25px;font-size:11px}footer{flex-wrap:wrap;gap:35px}footer>span{width:100%;text-align:right}.footer-logo{font-size:30px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.mosaic i{transition:none}}
.contact-email{font-size:clamp(20px,3vw,40px);letter-spacing:-1px;padding:10px 0}.contact-email span{margin-left:30px}.contact-email:hover{color:#aaa}.process{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.process article{border-top:1px solid var(--line);padding-top:25px}.process article>span{font-size:10px;letter-spacing:1px;color:var(--muted)}.process h3{font-size:22px;letter-spacing:0;margin-top:28px}.process p{font-size:12px;line-height:2;color:#666}@media(max-width:760px){.process{grid-template-columns:1fr;gap:28px}.process h3{margin-top:20px}.contact-email{display:inline-block;margin-top:15px}}
.hero-bottom{z-index:3}.hero-bottom a{background:var(--paper);padding:8px 12px}

.business .section-label { margin-bottom: 42px; }
.business h2 { margin-bottom: 46px; }
.business-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.business-list li {
  display: grid;
  grid-template-columns: 44px minmax(165px, 1fr) minmax(0, 1.6fr);
  align-items: baseline;
  gap: 24px;
  padding: 36px 0;
  border-bottom: 1px solid var(--line);
}
.business-number { color: var(--muted); font-size: 10px; letter-spacing: .08em; }
.business-list h3 { margin: 0; font-size: clamp(24px, 3vw, 38px); font-weight: 600; }
.business-copy { margin: 0; font-size: clamp(17px, 2vw, 24px); line-height: 1.6; }
.business-description { margin: 10px 0 0; color: #555; font-size: 13px; line-height: 1.8; }
@media (max-width: 760px) {
  nav.open { flex-wrap: wrap; gap: 0 20px; }
  .business h2 { margin-bottom: 28px; }
  .business-list li { grid-template-columns: 24px 1fr; gap: 12px; padding: 25px 0; }
  .business-list li > div { grid-column: 2; }
}

.business-link { display: inline-flex; gap: .65em; margin-top: 14px; font-size: 13px; text-decoration: underline; text-underline-offset: 4px; }
.business-link:hover { color: #555; }

.hero { display: grid; grid-template-columns: 1.16fr 1fr; grid-template-rows: auto 1fr auto; column-gap: 5%; align-items: center; height: auto; min-height: min(745px, calc(100svh - 104px)); max-height: none; padding-bottom: 26px; }
.hero-meta, .hero-bottom { grid-column: 1 / -1; }
.hero-copy { padding: 45px 0; }
.hero h1 { font-size: clamp(37px, 5vw, 82px); line-height: 1.36; }
.hero-copy p { margin: 27px 0 0; }
.hero-art { margin: 36px 0; width: min(100%, 465px); justify-self: end; }
.hero-art .mosaic { position: static; width: 100%; transform: none; opacity: 1; gap: 2px; }
.hero-art figcaption { display: flex; justify-content: space-between; margin-top: 12px; color: #555; font-size: 9px; letter-spacing: .1em; }
.hero-bottom { position: static; border-top: 1px solid var(--line); padding-top: 16px; align-items: center; }
.hero-bottom a { border: 1px solid var(--ink); padding: 11px 14px; font-size: 12px; }
.hero-bottom a:hover { background: var(--ink); color: var(--paper); }
.hero-bottom a span { margin-left: 20px; }
.business { background: #efefeb; }
.business-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; margin-bottom: 34px; }
.business-heading h2 { margin: 0; }
.business-heading > span { font-size: 10px; letter-spacing: .12em; color: #555; }
.business-list li { grid-template-columns: minmax(160px, .85fr) minmax(140px, .8fr) minmax(0, 1.35fr); align-items: center; gap: clamp(24px, 4vw, 64px); }
.venture-visual { min-height: 150px; display: grid; align-content: space-between; gap: 10px; padding: 14px; font-size: 9px; letter-spacing: .12em; }
.venture-visual > span:last-child { justify-self: end; }
.venture-visual svg { width: 100%; height: 76px; stroke: currentColor; stroke-width: 1.2; }
.venture-food { color: #f7f7f3; background: #2b2929; }
.venture-figure { color: #242323; background: #deded9; }
.venture-mazemaze { color: #242323; background: #fff; }
.venture-mazemaze img { width: 100%; height: 76px; object-fit: contain; }
.venture-accent { opacity: .55; }
@media (max-width: 760px) {
  .hero { grid-template-columns: 1fr; grid-template-rows: auto auto auto auto; padding-top: 21px; min-height: auto; }
  .hero-copy { padding: 48px 0 0; }
  .hero h1 { font-size: clamp(33px, 8.3vw, 59px); }
  .hero-art { margin: 28px 0 24px; width: min(76%, 340px); }
  .hero-bottom { padding-top: 12px; }
  .business-heading { margin-bottom: 26px; }
  .business-heading > span { font-size: 8px; }
  .business-list li { grid-template-columns: 1fr; gap: 16px; }
  .business-list li > div { grid-column: auto; }
}

.venture-food { background: #fff7f2; color: #1b1511; }
.dokotabe-lockup { display: flex; justify-content: center; align-items: center; gap: 8px; min-height: 76px; }
.dokotabe-lockup svg { width: 44px; height: 44px; color: #f45031; stroke: none; }
.dokotabe-lockup > span { font-size: clamp(20px, 2.2vw, 30px); font-weight: 900; letter-spacing: -.05em; white-space: nowrap; }
.dokotabe-lockup > span span { color: #f45031; }

.site-nav { align-items: center; gap: clamp(16px, 2.6vw, 38px); }
.site-nav .nav-contact { border: 1px solid var(--ink); padding: 10px 14px; }
.site-nav .nav-contact span { padding-left: 6px; }
.site-nav [aria-current="page"]:not(.nav-contact) { text-decoration: underline; text-underline-offset: 5px; }
.site-nav .nav-contact[aria-current="page"] { background: var(--ink); color: var(--paper); }
.site-footer { align-items: center; }
.footer-links { display: flex; flex-wrap: wrap; gap: 15px 22px; font-size: 11px; }
.footer-links a:hover { text-decoration: underline; text-underline-offset: 4px; }

.corporate-section { background: #efefeb; }
.recruit-section { background: #e4e4df; }
.editorial-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1fr); gap: 35px clamp(36px, 9vw, 145px); }
.editorial-grid .eyebrow { margin: 0 0 14px; }
.section-copy { max-width: 38em; margin: 18px 0 0; font-size: 14px; line-height: 2.1; }
.recruit-intro { align-self: end; }
.recruit-intro .section-copy { margin: 0 0 22px; }
.action {
  display: inline-flex;
  justify-content: space-between;
  align-items: center;
  gap: 22px;
  min-height: 48px;
  padding: 10px 17px;
  border: 1px solid var(--ink);
  background: var(--ink);
  color: var(--paper);
  font: inherit;
  font-size: 13px;
  cursor: pointer;
}
.action:hover { background: transparent; color: var(--ink); }
.action:disabled { opacity: .65; cursor: wait; }
.conversation .action { background: var(--paper); border-color: var(--paper); color: var(--ink); }
.conversation .action:hover { background: transparent; color: var(--paper); }
.conversation .contact-bottom { gap: 16px; }
.conversation .contact-bottom p { margin: 0; line-height: 1.8; }

.facts { margin: 0; border-top: 1px solid var(--line); }
.facts > div { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1.4fr); gap: 10px 18px; padding: 17px 0; border-bottom: 1px solid var(--line); }
.facts dt { font-size: 12px; font-weight: 600; line-height: 2; }
.facts dd { margin: 0; font-size: 13px; line-height: 1.8; }
.facts a, .text-link { text-decoration: underline; text-underline-offset: 4px; }
.text-link { text-decoration-thickness: 1px; }
.text-link:hover, .facts a:hover { opacity: .7; }

.page-hero { padding: 38px 5% clamp(52px, 8vw, 108px); }
.page-hero .section-label { margin-bottom: clamp(44px, 7vw, 95px); }
.page-hero h1 { font-size: clamp(33px, 5vw, 74px); line-height: 1.35; }
.page-hero p { max-width: 38em; font-size: 14px; line-height: 2.1; }
.page-intro { align-self: end; }
.page-intro p { margin: 0 0 22px; }
.contact-hero p { margin: 18px 0 0; }

.role-list { list-style: none; margin: 25px 0 0; padding: 0; border-top: 1px solid var(--line); }
.role-list li {
  display: grid;
  grid-template-columns: 28px minmax(165px, .85fr) minmax(0, 1.5fr) auto;
  align-items: baseline;
  gap: 12px clamp(15px, 3vw, 45px);
  padding: 24px 0;
  border-bottom: 1px solid var(--line);
}
.role-list h3 { font-size: clamp(18px, 2.2vw, 26px); margin: 0; letter-spacing: -.035em; }
.role-list p { font-size: 13px; line-height: 1.9; margin: 0; }
.role-list .text-link { font-size: 12px; white-space: nowrap; padding: 8px 0; }

.contact-section .editorial-grid { grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); }
.contact-aside h2 { font-size: clamp(27px, 3.5vw, 48px); }
#contact-form { display: grid; gap: 20px; }
.field { min-width: 0; }
.field label { display: block; font-size: 13px; font-weight: 600; margin-bottom: 8px; }
.required, .optional { display: inline-block; margin-left: 5px; padding: 2px 5px; font-size: 10px; font-weight: 400; vertical-align: 1px; }
.required { background: var(--ink); color: var(--paper); }
.optional { border: 1px solid var(--line); }
.field :is(input, select, textarea) { width: 100%; min-height: 46px; border: 1px solid #a7a7a0; border-radius: 0; padding: 10px 12px; background: var(--paper); color: var(--ink); font: inherit; font-size: 16px; }
.field textarea { display: block; resize: vertical; }
.field :is(input, select, textarea):focus-visible, .consent input:focus-visible, .form-feedback:focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; }
.form-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
.form-help { margin: 0; color: #54544f; font-size: 12px; line-height: 1.7; }
.field .form-help { margin-top: 7px; }
.consent { display: flex; align-items: baseline; gap: 8px; font-size: 13px; line-height: 1.7; }
.consent input { accent-color: var(--ink); }
#contact-form .action { justify-self: start; }
.trap { position: absolute; clip-path: inset(50%); width: 1px; height: 1px; overflow: hidden; }
.form-feedback { margin: 0; padding: 14px; border: 1px solid var(--line); background: var(--paper); font-size: 13px; line-height: 1.7; }
.form-feedback[data-state="error"] { border-color: #aa5d53; color: #862f26; }
.form-feedback[data-state="success"] { border-color: #556e5d; color: #2b5138; }
.form-feedback:not([hidden]) + #contact-form { margin-top: 20px; }

.policy-content { max-width: 720px; margin-inline: auto; }
.policy-content section { padding: 22px 0; border-top: 1px solid var(--line); }
.policy-content h2 { font-size: 23px; }
.policy-content p { font-size: 14px; line-height: 2; margin: 10px 0 0; }
.policy-content .action { margin-top: 20px; }

@media (max-width: 760px) {
  .site-nav.open { display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; gap: 4px 20px; }
  .site-nav .nav-contact { grid-column: 1 / -1; justify-self: start; margin-top: 5px; }
  .site-footer { align-items: start; gap: 23px; }
  .footer-links { width: 100%; }
  .editorial-grid, .contact-section .editorial-grid { grid-template-columns: 1fr; }
  .page-hero { padding-inline: 6%; }
  .role-list li { grid-template-columns: 24px minmax(0, 1fr); }
  .role-list p, .role-list .text-link { grid-column: 2; }
  .role-list .text-link { justify-self: start; }
  .conversation .contact-bottom .action { margin-top: 16px; }
}

@media (max-width: 470px) {
  .form-columns { grid-template-columns: 1fr; gap: 20px; }
}
