/* Keep the original composition; refine legibility, image framing and controls. */
:root { --zt-copy-font: "Noto Sans JP", Arial, sans-serif; }
html:lang(zh-Hant) { --zt-copy-font: "PingFang TC", "Microsoft JhengHei", sans-serif; }
html:lang(ja) { --zt-copy-font: "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif; }
html:lang(ko) { --zt-copy-font: "Apple SD Gothic Neo", "Malgun Gothic", sans-serif; }
body, .zt-dialog p, .zt-dialog h2, .zt-dialog h3, .zt-dialog strong,
.zt-profile, #header .zt-menubox a b, .zt-footer nav a,
.lcl-lead-main__ttl, .lcl-lead-main__txt, .lcl-business-main__ttl,
.lcl-business-main__txt, .lcl-business__txt, .lcl-hero-txtarea__txt,
.lcl-hero__txt, .lcl-works-link__ttl, .lcl-works-link-txt__in,
.hero02__txt, .ttl01__txt, .ttl03__ttl, .lcl-actions-cnt__ttl,
.lcl-actions-cnt__txt, .lcl-outline-table, .txt-basic--lh {
  font-family: var(--zt-copy-font);
}
html:lang(ko) p, html:lang(ko) h1, html:lang(ko) h2, html:lang(ko) h3 { word-break:keep-all; overflow-wrap:break-word; }
html:not(:lang(en)) .lcl-lead-main__txt,
html:not(:lang(en)) .lcl-business-main__txt,
html:not(:lang(en)) .lcl-business__txt,
html:not(:lang(en)) .lcl-works-link-txt__in,
html:not(:lang(en)) .lcl-actions-cnt__txt { line-height:1.85; letter-spacing:.025em; }
a:focus-visible, button:focus-visible, select:focus-visible { outline:2px solid #285b94; outline-offset:5px; }
.zt-dialog .zt-close { min-height:44px; }
.zt-dialog { overscroll-behavior:contain; }
.zt-photo-credit { display:block; margin:16px auto 0; color:#cfdae5; font:400 11px/1.5 var(--zt-copy-font); text-decoration:underline; text-underline-offset:4px; cursor:pointer; padding:8px; }
.zt-credits { margin-top:24px; display:grid; gap:10px; font-size:14px; }
.zt-credits a { text-decoration:underline; text-underline-offset:4px; }
/* Photo strips retain the original angle, proportions, repetition and motion. */
.lcl-works-bg__item .zt-photo-strip { width:25%; flex-shrink:0; display:flex; aspect-ratio:8/1; animation:kf-worksAni 70s infinite paused forwards linear; }
.lcl-works-bg__item .zt-photo-strip img { width:calc(100% / 7); height:100%; object-fit:cover; flex-shrink:0; animation:none; }
.lcl-works-bg__in--active .zt-photo-strip { animation-play-state:running; }
.lcl-works-bg__item:nth-of-type(2) .zt-photo-strip { animation-name:kf-worksAni-rv; }
.lcl-works-bg__item:nth-of-type(3) .zt-photo-strip { animation-duration:60s; animation-delay:-20s; }
.lcl-works .lcl-works-bg::after { opacity:.67; }
/* Keep natural texture and colour; do not blur, recolour or beautify the photos. */
.lcl-hero .lcl-hero-imgarea img { object-fit:cover; object-position:50% 58%; }
#approach .lcl-lead-main__item:first-child .lcl-lead-main__img img { object-position:50% 65%; }
.lcl-works-link__bg img { object-fit:cover; object-position:50% 55%; }
.lcl-hero .lcl-hero-txtarea__txt { letter-spacing:.015em; }
.zt-footer nav a { text-underline-offset:5px; }
@media (min-width:768px) {
 html:not(:lang(en)) .lcl-hero-txtarea { width:min(23vw,30ch); }
 html:not(:lang(en)) .lcl-lead-main__ttl { font-size:clamp(24px,2.6vw,36px); }
 html:not(:lang(en)) .lcl-business-main__ttl { font-size:clamp(24px,2.5vw,34px); }
}
@media (max-width:767px) {
 .lcl-hero .lcl-hero-txtarea__txt { line-height:1.75; }
 html:not(:lang(en)) .lcl-hero .lcl-hero__txt { line-height:1.8; font-size:15px; }
 html:not(:lang(en)) .lcl-lead-main__ttl { font-size:clamp(20px,5.5vw,26px); line-height:1.5; }
 html:not(:lang(en)) .lcl-business-main__ttl { font-size:clamp(20px,5.3vw,26px); line-height:1.5; }
 .zt-dialog p { font-size:14px; line-height:1.85; }
}
@media (prefers-reduced-motion:reduce) {
 .zt-photo-strip { animation:none !important; }
}
#approach .lcl-lead-main__img img, #approach .lcl-lead-bg img,
#business .lcl-business-main-imgarea img, #business .lcl-business-sub img {
  aspect-ratio:1; height:auto; object-fit:cover;
}
#business .lcl-business-main-imgarea__item:first-child img { object-position:50% 65%; }
@media (min-width:768px) {
 #business .lcl-business-nav { right:calc(11.5rem + 24px); width:24rem; }
 #business .lcl-business-nav__btn { letter-spacing:.08em; }
}
.header-side__copy.is-on-dark { color:#fff; }
/* Source photographs carry no baked-in dimming: add contrast at presentation time. */
.lcl-works-link__bg::after { content:""; position:absolute; inset:0; background:rgba(8,18,28,.38); transition:background .3s ease; }
.lcl-works-link:hover .lcl-works-link__bg::after,
.lcl-works-link:focus-within .lcl-works-link__bg::after { background:rgba(8,18,28,.68); }
.lcl-works .lcl-works-link:focus-within .lcl-works-link-txt { opacity:1; height:var(--height); margin-bottom:3rem; }
.lcl-works-link:focus-visible { outline:2px solid #235799; outline-offset:5px; }
@media(max-width:767px) {
 .lcl-works-link__bg::after { background:rgba(8,18,28,.64); }
 .lcl-works .lcl-works-link-txt { height:auto; opacity:1; margin-top:16px; }
 .lcl-works .lcl-works-link:hover .lcl-works-link-txt { height:auto; margin-bottom:0; }
}
.lcl-actions-cnt-img__item img { width:100%; aspect-ratio:940 / 580; height:auto; object-fit:cover; object-position:50% 65%; }
/* Fit the existing desktop geometry on tablet widths without horizontal scroll. */
@media (min-width:768px) and (max-width:1099px) {
 :root { --fz:calc(100vw / 1300 * 10); font-size:var(--fz); }
 #wrapper, #header, #header .nav { min-width:0; }
 .lcl-hero .lcl-hero-enarea__item { font-size:7.2rem; }
 #business .lcl-business-main__ttl, #approach .lcl-lead-main__ttl { font-size:24px; }
 #business .lcl-business-nav { width:28rem; }
 #business .lcl-business-nav__btn { font-size:11px; }
 .lcl-business__txt { max-width:60%; }
 .lcl-works .lcl-works-link__ttl { font-size:21px; }
 .lcl-works .lcl-works-link__txtarea { width:calc(100% - 36px); }
 .lcl-outline-table { font-size:12px; }
 .lcl-hero .lcl-hero-txtarea__txt { font-size:12px; }
}
@media (min-width:768px) and (max-width:1099px) {
 :root { --min-width:768; }
}
@media (min-width:768px) and (max-width:1099px) {
 #business .lcl-business__txt, #business .lcl-business-main__txt,
 #approach .lcl-lead-main__txt, .lcl-actions-cnt__txt,
 .lcl-works-link-txt__in, #outline .txt-basic--lh,
 #outline .lcl-outline-table__ttl, #outline .lcl-outline-table__data { font-size:12px; line-height:1.7; }
}
/* Frame the photographed service robot above the central hero lettering. */
.lcl-hero-imgarea__item[data-panel="zt-physical"] .lcl-hero-imgarea__img { overflow:hidden; }
.lcl-hero .lcl-hero-imgarea__item[data-panel="zt-physical"] img { height:140%; max-width:none; object-fit:cover; object-position:42% 50%; transform:translateY(-28.5714%); }

/* Language choices stay on one row inside the main menu. */
#header .zt-language { display:flex; align-items:center; flex-wrap:nowrap; gap:24px; margin-top:28px; pointer-events:auto; }
#header .zt-menubox .zt-language a { display:inline-flex; justify-content:center; align-items:center; min-height:44px; padding:0 4px; border:0; color:#173455; font:400 15px/1.5 var(--zt-copy-font); letter-spacing:0; white-space:nowrap; pointer-events:auto; }
#header .zt-menubox .zt-language a[aria-current="true"] { font-weight:700; text-decoration:underline; text-underline-offset:7px; text-decoration-thickness:2px; }
@media (max-width:767px) {
 #header .zt-language { margin-top:24px; gap:0; justify-content:space-between; }
 #header .zt-menubox .zt-language a { padding:0 2px; font-size:13px; }
}
