/* Phone typography and spacing. */
.lcl-hero .lcl-hero-txtarea { left:50%; transform:translateX(-50%); top:calc(100% + 2.7rem); width:min(82vw, 28rem); text-align:center; }
.lcl-hero .lcl-hero-txtarea__item { width:100%; }
.lcl-hero .lcl-hero-txtarea__txt { font-size:clamp(12px, 3.3vw, 15px); line-height:1.65; letter-spacing:.04em; }
.lcl-hero .lcl-hero-imgarea { height:min(39.1rem, 52svh); }
.lcl-hero .lcl-hero__txt { padding-inline:16px; font-size:clamp(16px,4.4vw,22px); letter-spacing:.04em; line-height:1.85; }
#approach .lcl-lead-main__box { left:3.5rem; width:calc(100% - 2rem); padding:1.3rem 1rem 0 1.4rem; }
#approach .lcl-lead-main__ttl { letter-spacing:.02em; line-height:1.6; font-size:clamp(15px,4.1vw,19px); }
#approach .lcl-lead-main__txt { font-size:clamp(13px,3.4vw,16px); line-height:1.8; letter-spacing:.025em; }
#business .lcl-business-main-txtarea { display:grid; width:auto; margin-inline:clamp(48px,17vw,100px) 20px; padding-top:4.8rem; }
#business .lcl-business-txtarea__item { position:relative; inset:auto; grid-area:1 / 1; min-width:0; align-self:start; }
#business .lcl-business-main__num { left:clamp(48px,17vw,100px); top:1rem; }
#business .lcl-business-btnarea { top:-.5rem; right:20px; }
#business .lcl-business-main__ttl { line-height:1.45; letter-spacing:.015em; font-size:clamp(19px,5vw,25px); }
#business .lcl-business-main__txt, #business .lcl-business__txt,
.lcl-actions .lcl-actions-cnt__txt, #outline > .txt-basic--lh {
  font-size:clamp(14px,3.65vw,16px); line-height:1.85; letter-spacing:.035em; line-break:strict;
}
#business .lcl-business-main-imgarea { margin-top:3.5rem; }
.lcl-works .lcl-works-link__ttl { text-align:center; font-size:clamp(19px,5.25vw,26px); line-height:1.55; letter-spacing:.05em; }
.lcl-works .lcl-works-link-txt__in { font-size:clamp(14px,3.6vw,16px); line-height:1.9; letter-spacing:.035em; line-break:strict; }
.lcl-outline-table .lcl-outline-table__ttl { width:44%; padding-right:1em; font-size:14px; white-space:normal; letter-spacing:.025em; }
.lcl-outline-table .lcl-outline-table__data { width:auto; font-size:14px; letter-spacing:.025em; line-height:1.7; }
.zt-dialog h2 { font-size:clamp(20px,5.5vw,26px); line-height:1.5; }
.zt-dialog p { letter-spacing:.025em; line-break:strict; }
/* Leave room for the fixed header when opening Business from the menu. */
#business { scroll-margin-top:max(88px, 10.5rem); }

.lcl-hero .lcl-hero-txtarea__txt { letter-spacing: .015em; text-wrap: balance; }
.lcl-hero .lcl-hero__txt { max-width: 36ch; margin-inline: auto; text-wrap: balance; line-height: 1.55; }
#approach .lcl-lead-main__txt, #business .lcl-business-main__txt, #business .lcl-business__txt,
.lcl-works .lcl-works-link-txt__in { letter-spacing: .01em; line-height: 1.68; }
#approach .lcl-lead-main__ttl, #business .lcl-business-main__ttl { text-wrap: balance; }
#business .lcl-business__in { margin-top: 4.8rem; }
.lcl-works .lcl-works-link__txtarea { width: min(100% - 40px, 39ch); }
#outline .lcl-outline-table { table-layout: fixed; }
#outline .lcl-outline-table__ttl { width: 49%; padding-right: .9em; letter-spacing: 0; }
#outline .lcl-outline-table__data { letter-spacing: .01em; }
#footer .zt-footer-row nav { display: grid; grid-template-columns: repeat(2, auto); gap: 10px 22px; }
