/* Editorial project index, company record, and regional outlook */
.zt-wrap { width:min(1070px, calc(100% - 24rem)); margin-inline:auto; }
.zt-kicker,.zt-case-label,.zt-folio,.zt-region small { font:600 11px/1.6 ui-monospace,Menlo,monospace; letter-spacing:.11em; }
.zt-works { position:relative; margin-top:clamp(80px,9vw,150px); padding:clamp(48px,6vw,96px) 0; background:#142638; color:#fff; }
.zt-spread-head { display:flex; align-items:flex-end; justify-content:space-between; border-bottom:1px solid #61717c; padding-bottom:18px; margin-bottom:28px; }
.zt-spread-head h2 { font:400 clamp(60px,7.8vw,108px)/.97 "Bebas Neue","Arial Narrow",sans-serif; letter-spacing:.035em; text-transform:uppercase; margin-top:6px; }
.zt-spread-head .zt-kicker { color:#d8e1eb; letter-spacing:.1em; }
.zt-folio { margin-bottom:5px; color:#d8e1eb; }
.zt-folio span { margin:0 .75em; }
.zt-projects { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(22px,3.4vw,52px); }
.zt-projects article { display:flex; flex-direction:column; align-items:flex-start; }
.zt-projects figure { overflow:hidden; width:100%; }
.zt-projects img { display:block; width:100%; aspect-ratio:3/2; object-fit:cover; height:auto; }
.zt-case-label { display:flex; align-items:center; margin:22px 0 12px; color:#c2d4df; }
.zt-case-label span { color:white; padding-right:14px; margin-right:14px; border-right:1px solid #6b8293; }
.zt-projects h3,.zt-info h2,.zt-region h3 { font-family:"Noto Sans JP",sans-serif; font-weight:700; line-break:strict; }
.zt-projects h3 { font-size:clamp(21px,1.9vw,30px); line-height:1.5; letter-spacing:.035em; color:white; }
.zt-case-tag { display:inline-block; vertical-align:middle; font:700 12px/1.6 "Noto Sans JP",sans-serif; border:1px solid #8192a0; padding:2px 9px; margin-left:13px; }
.zt-copy,.zt-region p,.zt-intro { margin:12px 0 0; font:400 15px/1.96 "Noto Sans JP",sans-serif; letter-spacing:.025em; }
.zt-copy { color:#e5ebf0; padding-bottom:22px; }
.zt-inline { display:inline-flex; align-items:center; gap:16px; margin-top:auto; color:white; padding:5px 0; border-bottom:1px solid #9cabb6; cursor:pointer; font:700 14px/1.7 "Noto Sans JP",sans-serif; }
.zt-inline:hover { border-color:white; color:#d9eaff; }
.zt-inline span { font-size:18px; line-height:1; }
.zt-info { display:grid; grid-template-columns: minmax(175px,.75fr) minmax(0,1.6fr); gap:5%; padding-block:clamp(50px,6.5vw,100px); color:#182e47; }
.zt-info h2 { font-size:clamp(27px,3vw,46px); line-height:1.45; margin-top:12px; letter-spacing:.03em; }
.zt-info .zt-kicker,.zt-region small { color:#415e78; }
.zt-intro { margin:0 0 24px; }
.zt-facts { font:400 15px/1.7 "Noto Sans JP",sans-serif; }
.zt-facts div { display:grid; grid-template-columns:32% 1fr; gap:12px; padding:12px 0; border-top:1px solid #c6d1d8; }
.zt-facts div:last-child { border-bottom:1px solid #c6d1d8; }
.zt-facts dt { color:#486178; }
.zt-facts dd { margin:0; overflow-wrap:anywhere; }
.zt-outlook { border-top:1px solid #a6b7c4; }
.zt-region + .zt-region { margin-top:28px; padding-top:24px; border-top:1px solid #c6d1d8; }
.zt-region h3 { margin-top:6px; font-size:clamp(21px,2vw,28px); line-height:1.5; }
.zt-region p { margin-top:8px; }
#footer.zt-footer { padding:45px 0 25px; background:#132539; color:white; }
.zt-footer-row { display:flex; align-items:center; justify-content:space-between; gap:28px; }
.zt-footer-row img { display:block; width:108px; height:auto; filter:brightness(0) invert(1); }
.zt-footer nav { display:flex; flex-wrap:wrap; gap:10px 26px; }
.zt-footer nav a { color:white; font:500 14px/1.7 "Noto Sans JP",sans-serif; }
.zt-footer a:hover { text-decoration:underline; }
.zt-footer p { padding-top:22px; margin-top:26px; border-top:1px solid #506274; font:400 11px/1.6 sans-serif; letter-spacing:.06em; }
#header .zt-menubox { width:min(760px,72%); margin:auto; padding:48px 0; color:#152a43; }
#header .nav { overflow-y:auto; }
#header .zt-menubox ul { margin-top:20px; }
#header .zt-menubox a { display:flex; gap:22px; align-items:center; padding:11px 8px; border-top:1px solid #c2ceda; color:#142e49; text-decoration:none; }
#header .zt-menubox li:last-child a { border-bottom:1px solid #c2ceda; }
#header .zt-menubox a:hover { background:#eaf0f5; }
#header .zt-menubox a span { min-width:4.5em; font:400 clamp(25px,3.3vw,48px)/1.15 "Bebas Neue",sans-serif; letter-spacing:.035em; }
#header .zt-menubox a b { font:700 15px/1.6 "Noto Sans JP",sans-serif; }
@media(max-width:767px){
.zt-wrap { width:calc(100% - 44px); }
.zt-projects,.zt-info { grid-template-columns:minmax(0,1fr); }
.zt-projects { gap:38px; }
.zt-spread-head { margin-bottom:20px; }
.zt-folio { font-size:9px; letter-spacing:.03em; }
.zt-case-label { margin-top:15px; }
.zt-info { gap:20px; }
.zt-info h2 { margin-top:6px; }
.zt-facts div { grid-template-columns:35% 1fr; }
.zt-footer-row { align-items:flex-start; flex-direction:column; }
.zt-footer nav { gap:10px 20px; }
#header .zt-menubox { width:calc(100% - 52px); padding:72px 0 28px; }
#header .zt-menubox a { padding:13px 0; gap:10px; }
}
#header .nav { background:#fafcfd; }
#header .zt-menubox { min-height:100%; box-sizing:border-box; display:flex; flex-direction:column; justify-content:center; }
.header-side__logo { position:relative; padding:3px; }
.header-side__logo .zt-logo-white { position:absolute; inset:3px; width:calc(100% - 6px); visibility:hidden; }
.header-side__logo.is-on-dark img:first-child { opacity:0; }
.header-side__logo.is-on-dark .zt-logo-white { visibility:visible; }
.header-side__copy { padding:4px 2px; }
@media(max-width:767px){
  #works,#company,#outlook { scroll-margin-top:5rem; }
}

/* Typeset the longer English field names and project descriptions. */
.lcl-outline-table .lcl-outline-table__ttl { letter-spacing:.025em; }
@media (min-width:768px) {
  .lcl-outline-table .lcl-outline-table__ttl { width:43%; padding-right:1em; }
  .lcl-outline-table .lcl-outline-table__data { width:auto; }
}
.lcl-works .lcl-works-link-txt__in { letter-spacing:.025em; line-height:1.75; }

/* Give English headings and paragraphs their own reading measure. */
.hero02 .hero02__txt, .hero01 .ttl01__txt,
.ttl03 .ttl03__ttl, .lcl-actions .lcl-actions-cnt__ttl,
.lcl-works .lcl-works-link__ttl {
  letter-spacing: .025em;
  text-wrap: balance;
  line-height: 1.3;
}
.lcl-works .lcl-works-link__ttl { text-align: center; }
#outline > .txt-basic--lh { max-width: 68ch; }
#outline > .txt-basic--lh, .lcl-actions .lcl-actions-cnt__txt {
  letter-spacing: .015em; line-height: 1.72;
}
.lcl-outline-table td { vertical-align: top; }
@media (min-width: 768px) {
  .lcl-hero .lcl-hero__txt {
    max-width: 54ch; margin-inline: auto;
    letter-spacing: .035em; line-height: 1.55; text-wrap: balance;
  }
  .lcl-hero .lcl-hero-txtarea { width: min(22vw, 32ch); }
  .lcl-hero .lcl-hero-txtarea__txt { font-size: clamp(13px, 1.05vw, 17px); letter-spacing: .015em; line-height: 1.55; }
  #business { scroll-margin-top: 4rem; }
  #business .lcl-business__txt { width: min(62ch, 68%); }
  #business .lcl-business__txt, #business .lcl-business-main__txt, #approach .lcl-lead-main__txt {
    letter-spacing: .015em; line-height: 1.7;
  }
  #business .lcl-business-main__ttl, #approach .lcl-lead-main__ttl {
    letter-spacing: .015em; line-height: 1.3; text-wrap: balance;
  }
  #outline .lcl-outline__tablearea { gap: 3rem; }
  #outline .lcl-outline-table { width: calc(50% - 1.5rem); table-layout: fixed; }
  #outline .lcl-outline-table__data { letter-spacing: .015em; }
}
