/* JML header color only: preserve the original navigation and flag design. */
#masthead #tm-stickable-header-w,
#masthead #site-header,
#masthead #site-header.is_stuck,
#masthead #site-header.tm-sticky-bgcolor-white {
 background-color:#fff!important;
}

/* JML mobile homepage: centered equipment, restrained typography, consistent controls. */
.jml-language-name { display:none; }
.jml-line-icon { display:inline-block; width:21px; height:21px; vertical-align:middle; flex:none; fill:none; stroke:currentColor; stroke-width:1.75; stroke-linecap:round; stroke-linejoin:round; }
#jml-home-v3 .jh-picture { position:absolute; inset:0; z-index:-3; display:block; }
#jml-home-v3 .jh-picture .jh-photo { z-index:0; }
@media(max-width:767px) {
 html body.jml-phone-layout #jml-home-v3 .jh-stage { display:flex; flex-direction:column; align-items:center; gap:0; height:auto; min-height:0; max-height:none; padding:28px 0 26px; background:#fff; }
 html body.jml-phone-layout #jml-home-v3 .jh-copy { display:contents; }
 html body.jml-phone-layout #jml-home-v3 .jh-eyebrow { order:0; justify-content:center; gap:8px; width:calc(100% - 40px); margin:0 20px 15px; font-size:10px; line-height:1.6; text-align:center; color:#59636d; }
 html body.jml-phone-layout #jml-home-v3 .jh-eyebrow:before { width:18px; }
 html body.jml-phone-layout #jml-home-v3 h1 { order:1; width:calc(100% - 40px); margin:0 20px 16px!important; font-size:clamp(34px,9.5vw,52px)!important; line-height:1.08!important; letter-spacing:-1.2px!important; text-align:center!important; color:#17232d!important; }
 html body.jml-phone-layout #jml-home-v3 h1 span { display:inline; }
 html body.jml-phone-layout #jml-home-v3 h1 span+span:before { content:" "; }
 html body.jml-phone-layout #jml-home-v3 h1 .jh-last { padding:0; border:0; width:auto; color:#d83b25!important; }
 html[lang^="ja"] body.jml-phone-layout #jml-home-v3 h1,html[lang^="zh"] body.jml-phone-layout #jml-home-v3 h1 { font-size:clamp(29px,8.2vw,42px)!important; line-height:1.4!important; letter-spacing:0!important; max-width:420px; }
 html[lang^="ja"] body.jml-phone-layout #jml-home-v3 h1 span+span:before,html[lang^="zh"] body.jml-phone-layout #jml-home-v3 h1 span+span:before { content:""; }
 html[lang^="ja"] body.jml-phone-layout #jml-home-v3 h1 span { display:inline-block; white-space:nowrap; }
 html body.jml-phone-layout #jml-home-v3 .jh-desc { order:2; width:calc(100% - 40px); max-width:420px; margin:0 20px 12px; font-size:13px; line-height:1.8; text-align:center!important; color:#59636d; }
 html body.jml-phone-layout #jml-home-v3 .jh-picture { order:3; position:relative; inset:auto; z-index:0; flex:none; width:100%; max-width:580px; height:auto; aspect-ratio:4/3; margin:0 0 18px; overflow:hidden; }
 html body.jml-phone-layout #jml-home-v3 .jh-picture .jh-photo { display:block; position:absolute; inset:0; width:100%; height:100%; max-width:none; margin:0; aspect-ratio:auto; object-fit:cover; object-position:left center; }
 html body.jml-phone-layout #jml-home-v3 .jh-stage:after { display:none; }
 html body.jml-phone-layout #jml-home-v3 .jh-actions { order:4; display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:12px; width:calc(100% - 40px); max-width:440px; margin:0 20px; }
 html body.jml-phone-layout #jml-home-v3 .jh-button,html body.jml-phone-layout #jml-home-v3 .jh-about { justify-content:center; gap:10px; min-height:52px; padding:12px 10px; border-radius:3px; font-size:11px; line-height:1.5; text-align:center; }
 html body.jml-phone-layout #jml-home-v3 .jh-about { border:1px solid #dce1e4; background:#fff; color:#17232d; }
 html body.jml-phone-layout #jml-home-v3 .jh-arrow { display:flex; align-items:center; }
 html body.jml-phone-layout #jml-home-v3 .jh-experience { order:5; justify-content:center; align-items:center; gap:16px; width:calc(100% - 40px); max-width:440px; margin:22px 20px 0; padding:19px 0 0; border-top:1px solid #e6e8eb; }
 html body.jml-phone-layout #jml-home-v3 .jh-years { gap:5px; padding-right:16px; }
 html body.jml-phone-layout #jml-home-v3 .jh-years strong { font-size:34px; letter-spacing:-1px; }
 html body.jml-phone-layout #jml-home-v3 .jh-years span { font-size:10px; }
 html body.jml-phone-layout #jml-home-v3 .jh-experience p { font-size:11px; line-height:1.65; }
 html body.jml-phone-layout #jml-equipment-home { padding:34px 0; border-top:1px solid #edf0f2; }
 html body.jml-phone-layout #jml-equipment-home .jml-equipment-wrap { width:calc(100% - 40px); }
 html body.jml-phone-layout #jml-equipment-home .jml-equipment-intro { margin-bottom:24px; }
 html body.jml-phone-layout #jml-equipment-home .jml-equipment-intro h2 { font-size:28px!important; line-height:1.25!important; letter-spacing:-.7px!important; }
 html body.jml-phone-layout #jml-equipment-home .jml-equipment-intro>p { margin-top:14px; font-size:13px; }
 html body.jml-phone-layout #jml-equipment-home .jml-equipment-grid { gap:14px 12px; }
 html body.jml-phone-layout #jml-equipment-home .jml-category-card { min-height:238px; box-shadow:none; }
 html body.jml-phone-layout #jml-equipment-home .jml-card-top h3 { font-size:14px!important; line-height:1.45!important; min-height:42px; overflow-wrap:anywhere; }
 html body.jml-phone-layout #jml-equipment-home .jml-card-photo { height:118px; margin:4px 0 0; }
 html body.jml-phone-layout #jml-equipment-home .featured .jml-card-photo { height:109px; }
 html body.jml-phone-layout #jml-equipment-home .jml-card-bottom { min-height:46px; font-size:10px; }
 html body.jml-phone-layout #jml-equipment-home .jml-card-arrow .jml-line-icon { width:18px; height:18px; }
 #site-navigation ul.nav-menu { line-height:1.5!important; padding-bottom:12px!important; }
 #site-navigation ul.nav-menu>li:not(.lang-item)>a { min-height:52px!important; height:auto!important; line-height:1.5!important; padding:17px 14px!important; }
 #site-navigation .lang-item { display:inline-block!important; width:calc(50% - 8px)!important; margin:4px 2px!important; border:0!important; vertical-align:top; }
 #site-navigation .lang-item>a { display:flex!important; align-items:center; justify-content:center; min-height:44px!important; height:auto!important; padding:10px 5px!important; border:1px solid #dce1e4!important; border-radius:3px; line-height:1.5!important; font-size:12px!important; text-align:center!important; }
 #site-navigation .lang-item img { display:none!important; }
 #site-navigation .jml-language-name { display:inline!important; }
 #site-navigation .lang-item.current-lang>a { color:#c8321e!important; border-color:#c8321e!important; background:#fff8f6; }
 #site-navigation .lang-item>a:after { display:none!important; }
}
/* Keep animated statistics in a stable two-by-two grid on phones. */
@media(max-width:767px) {
 body.jml-phone-layout #content-inner .elementor-element-ba377a7 {
  display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:24px 12px!important; align-items:stretch!important; justify-content:normal!important;
  width:100%!important; padding:28px 20px!important;
 }
 body.jml-phone-layout #content-inner .elementor-element-ba377a7 > .elementor-widget-counter {
  width:100%!important; max-width:100%!important; min-width:0!important; margin:0!important; padding:0!important;
 }
 body.jml-phone-layout #content-inner .elementor-element-ba377a7 .elementor-counter-number-wrapper {
  display:flex!important; justify-content:center!important; align-items:baseline!important; flex-wrap:nowrap!important;
  gap:0!important; min-height:54px; font-size:clamp(36px,10vw,44px)!important; line-height:1.2!important;
  font-variant-numeric:tabular-nums; white-space:nowrap;
 }
 body.jml-phone-layout #content-inner .elementor-element-ba377a7 .elementor-counter-number,
 body.jml-phone-layout #content-inner .elementor-element-ba377a7 .elementor-counter-number-prefix,
 body.jml-phone-layout #content-inner .elementor-element-ba377a7 .elementor-counter-number-suffix { flex:0 0 auto!important; }
 body.jml-phone-layout #content-inner .elementor-element-ba377a7 .elementor-counter-number-prefix:empty { display:none; }
 body.jml-phone-layout #content-inner .elementor-element-ba377a7 .elementor-counter-title {
  min-height:3em; margin-top:6px!important; font-size:13px!important; line-height:1.5!important; text-align:center!important;
 }
}
@media(max-width:359px) {
 html body.jml-phone-layout #jml-home-v3 .jh-actions { grid-template-columns:1fr; gap:8px; }
 html body.jml-phone-layout #jml-home-v3 .jh-about { min-height:44px; }
 html body.jml-phone-layout #jml-home-v3 .jh-eyebrow { font-size:9px; }
}
