html[lang=ja][data-lang=ja] body#ja-site-page{font-family:"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",Meiryo,sans-serif!important}
html[lang=ja][data-lang=ja] body#ja-site-page main :is(h1,h2,h3,h4,p,li,a,span,strong,label,summary){word-break:normal;overflow-wrap:break-word;white-space:normal;letter-spacing:normal}
html[lang=ja][data-lang=ja] body#ja-site-page main :is(h1,h2,h3,h4){hyphens:none;text-wrap:balance;line-height:1.45!important}
html[lang=ja][data-lang=ja] body#ja-site-page main h1{font-size:clamp(32px,3.6vw,54px)!important;max-width:100%!important}
html[lang=ja][data-lang=ja] body#ja-site-page main h2{font-size:clamp(25px,2.4vw,36px)!important}
html[lang=ja][data-lang=ja] body#ja-site-page main h3{font-size:clamp(20px,1.7vw,26px)!important}
html[lang=ja][data-lang=ja] body#ja-site-page main :is(p,li){line-height:1.75!important;max-height:none!important;-webkit-line-clamp:unset!important}
html[lang=ja][data-lang=ja] body#ja-site-page main :is(article,section,div,aside){min-width:0}
html[lang=ja][data-lang=ja] body#ja-site-page :is([data-reveal],[data-bp7140-reveal],.reveal){opacity:1!important;transform:none!important;visibility:visible!important}
html[lang=ja][data-lang=ja] body#ja-site-page main [hidden]{display:none!important}
html[lang=ja][data-lang=ja] body#ja-site-page main :is(.button,button){white-space:normal!important;height:auto;min-height:44px;line-height:1.4!important}
html[lang=ja][data-lang=ja] body#ja-site-page main :is(input,textarea,select){font-size:16px;max-width:100%}
html[lang=ja][data-lang=ja] body#ja-site-page main img{max-width:100%}
html[lang=ja][data-lang=ja] body#ja-site-page main :is(.news-body,.observer-article-body){font-size:17px;line-height:1.85;hyphens:none}
html[lang=ja][data-lang=ja] body#ja-site-page main :is(.news-body,.observer-article-body) p{margin-block:1em;overflow:visible!important}
html[lang=ja][data-lang=ja] body#ja-site-page main :is(.bp7140-card,.bp7140-route-card,.dv2-card,.resource-card){height:auto!important;max-height:none!important}
html[lang=ja][data-lang=ja] body#ja-site-page main :is(.bp7140-card,.bp7140-route-card,.dv2-card,.resource-card) :is(h2,h3,p){display:block!important;overflow:visible!important;-webkit-line-clamp:unset!important}
html[lang=ja][data-lang=ja] body#ja-site-page main :is(h1,h2) em{display:inline!important;font-size:inherit!important}
html[lang=ja][data-lang=ja] body#ja-site-page [id]{scroll-margin-top:104px}
@media(max-width:800px){
html[lang=ja][data-lang=ja] body#ja-site-page main h1{font-size:clamp(29px,6.8vw,40px)!important;line-height:1.45!important}
html[lang=ja][data-lang=ja] body#ja-site-page main h2{font-size:27px!important}
html[lang=ja][data-lang=ja] body#ja-site-page main h3{font-size:21px!important}
html[lang=ja][data-lang=ja] body#ja-site-page main :is(.bp7140-hero__grid,.bp7140-section-head){grid-template-columns:minmax(0,1fr)!important;gap:24px!important}
html[lang=ja][data-lang=ja] body#ja-site-page main :is(table){display:block;overflow-x:auto;max-width:100%}
html[lang=ja][data-lang=ja] body#ja-site-page main :is(.news-body,.observer-article-body){font-size:16px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*{animation-duration:.01ms!important;transition-duration:.01ms!important}}

html[lang=ja] body#ja-site-page footer img{filter:none!important}

html[lang=ja][data-lang=ja] body#ja-site-page main .observer-publication-card p{height:auto!important;display:block!important;overflow:visible!important;-webkit-line-clamp:unset!important}
html[lang=ja][data-lang=ja] body#ja-site-page main :is(h1,h2,h3,h4,p){font-family:inherit!important;height:auto!important;max-height:none!important;-webkit-line-clamp:unset!important;overflow:visible!important}
html[lang=ja][data-lang=ja] body#ja-site-page .news-wechat-layout section{width:auto!important;max-width:100%!important}
html[lang=ja][data-lang=ja] body#ja-site-page .ja-table-scroll{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;margin-block:16px}
html[lang=ja][data-lang=ja] body#ja-site-page .ja-table-scroll table{max-width:none!important}

/* Compact map markers; full market names remain in adjacent controls. */
html[lang=ja][data-lang=ja] body#ja-site-page .dog-marker{width:36px!important;min-width:36px!important;height:36px!important;min-height:36px!important;padding:0!important;}
html[lang=ja][data-lang=ja] body#ja-site-page .dog-marker>span:not(.dog){display:none!important;}
html[lang=ja][data-lang=ja] body#ja-site-page .agreement-check input[type=checkbox]{position:static!important;opacity:1!important;width:18px!important;height:18px!important;min-width:18px!important;flex-shrink:0;appearance:auto!important;}

/* Japanese typesetting: natural breaks, stable punctuation and readable line spacing. */
html[lang=ja] body#ja-site-page main :is(p,li,dd){text-wrap:pretty;}
html[lang=ja] body#ja-site-page :is(h1,h2,h3,h4){text-transform:none;}
html[lang=ja] body#ja-site-page .ja-language-options{hyphens:none;}

/* JA_RUNTIME_AUDIT_EXTENSIONS */
/* Japanese text can have a wider intrinsic width in column-oriented title rows. */
html[lang=ja] body#ja-site-page main .section-title-row > div {
  min-width: 0;
  max-width: 100%;
  flex-shrink: 1;
}

/* Keep the context brand in its own column; translated links may wrap. */
@media (min-width: 861px) {
  html[lang=ja] body#ja-site-page .v270-context__inner {
    grid-template-columns: max-content minmax(0, 1fr) auto !important;
    column-gap: 20px !important;
  }
  html[lang=ja] body#ja-site-page .v270-context__identity {
    max-inline-size: 19rem;
    white-space: normal !important;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
  }
  html[lang=ja] body#ja-site-page .v270-context__links {
    min-width: 0;
  }
}

/* Whole Japanese words make headings easier to scan; prose can still hyphenate. */
html[lang=ja][data-lang=ja] body#ja-site-page main :is(h1,h2,h3,h4) {
  hyphens: none !important;
}
@media (max-width: 860px) {
  html[lang=ja] body#ja-site-page .v270-context__identity,
  html[lang=ja] body#ja-site-page .v270-context__action {
    display: none !important;
  }
  html[lang=ja] body#ja-site-page .v270-context__inner {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  html[lang=ja] body#ja-site-page #v287-packaging-title .v716-packaging-title__system,
  html[lang=ja] body#ja-site-page #v287-packaging-title .v716-packaging-title__system > span {
    min-width: 0;
    max-width: 100%;
    white-space: normal !important;
    text-wrap: balance;
  }
}

/* The document summary needs a full reading column before the phone breakpoint. */
@media (max-width: 980px) {
  html[lang=ja][data-lang=ja] body#ja-site-page.resources-page main > .resource-center-hero {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 32px !important;
  }
}
@media (max-width: 600px) {
  html[lang=ja] body#ja-site-page.resources-page .resource-doc-preview {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  html[lang=ja] body#ja-site-page.resources-page .resource-doc-preview img {
    width: min(180px, 100%) !important;
    justify-self: center;
  }
}
/* Japanese application names need several lines inside the home image cards. */
html[lang=ja] body#ja-site-page #main-content #bioten .v311-domain__link h3 {
  white-space: normal !important;
  max-width: 100% !important;
  height: auto !important;
  flex-shrink: 0;
  text-wrap: balance;
}
html[lang=ja] body#ja-site-page #main-content #bioten .v703-domain-group__label,
html[lang=ja] body#ja-site-page #main-content #bioten .v703-domain-group__label strong {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip;
  height: auto !important;
  max-width: 100%;
}

/* Japanese script uses normal character wrapping and kinsoku punctuation rules. */
html[lang=ja] body#ja-site-page { font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif !important; }
html[lang=ja] body#ja-site-page :is(h1,h2,h3,h4,p,li,dd,dt,a,label,summary,button) { line-break: strict; word-break: normal; overflow-wrap: anywhere; letter-spacing: .025em; }
html[lang=ja] body#ja-site-page main :is(h1,h2,h3,h4) { line-height: 1.5 !important; text-wrap: pretty; }
html[lang=ja] body#ja-site-page main :is(p,li,dd) { line-height: 1.9 !important; }
html[lang=ja] body#ja-site-page main :is(code,kbd,pre) { letter-spacing: normal; line-break: auto; }
html[lang=ja] body#ja-site-page main :is(input,textarea,select) { font-family: inherit; }
html[lang=ja] body#ja-site-page .ja-language-options { font-family: "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif; }
html[lang=ja] body#ja-site-page :is(.dbc-desktop-mega__eyebrow,.v241-kicker-line,.v240-brandline) { letter-spacing: .04em !important; }
html[lang=ja] body#ja-site-page .v311-domain__link :is(h3,p) { overflow-wrap: anywhere; line-break: strict; }
@media(max-width:800px) {
 html[lang=ja][data-lang=ja] body#ja-site-page main h1 { font-size: clamp(28px,7vw,38px) !important; line-height: 1.5 !important; }
 html[lang=ja][data-lang=ja] body#ja-site-page main h2 { font-size: clamp(24px,6vw,29px) !important; }
 html[lang=ja] body#ja-site-page main :is(p,li) { text-align: start; }
}

/* Match the inherited font-lock variable only inside JA. */
html[lang=ja] { --dbc-zh-ui-font: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif !important; }

/* Override the source heading font token as well as its body font token. */
html[lang=ja] { --dbc-heading-ui-font: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif !important; }

/* The Chinese hero fixed a 19rem title; Japanese needs the full content width. */
html[lang=ja] body#ja-site-page #home-title {
  width: 100% !important;
  max-width: min(1040px, 100%) !important;
  font-size: clamp(32px, 3.6vw, 54px) !important;
  line-height: 1.5 !important;
  letter-spacing: .025em !important;
  text-wrap: pretty !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  line-break: strict;
}
@media(max-width:760px) {
  html[lang=ja] body#ja-site-page #home-title {
    font-size: clamp(27px, 7vw, 34px) !important;
    line-height: 1.55 !important;
  }
}

/* Match the legacy eight-ID H2 lock, scoped to JA, to release its fixed logical height. */
html[lang=ja]:not(#dbc-content-h2-size-lock-a):not(#dbc-content-h2-size-lock-b):not(#dbc-content-h2-size-lock-c):not(#dbc-content-h2-size-lock-d):not(#dbc-content-h2-size-lock-e):not(#dbc-content-h2-size-lock-f):not(#dbc-content-h2-size-lock-g):not(#dbc-content-h2-size-lock-h) body#ja-site-page main#main-content .observer-publication-card :is(h2,h3) {
  display: block !important;
  height: auto !important;
  max-height: none !important;
  min-block-size: 0 !important;
  max-block-size: none !important;
  block-size: auto !important;
  -webkit-line-clamp: unset !important;
  overflow: visible !important;
  text-overflow: clip !important;
  font-size: 18px !important;
  line-height: 1.6 !important;
  white-space: normal !important;
}
html[lang=ja] body#ja-site-page .observer-publication-card :is(h2,h3) a {
  display: block !important;
  font-size: inherit !important;
  line-height: inherit !important;
}
html[lang=ja] body#ja-site-page .observer-publication-card,
html[lang=ja] body#ja-site-page .observer-publication-card__body {
  height: auto !important;
  max-height: none !important;
}

html[lang=ja] body#ja-site-page #home-title .ja-title-word { white-space: nowrap !important; display: inline !important; }

/* Privacy consent: one native, keyboard-focusable checkbox; the label remains the full click target. */
body .agreement-check::before, body .agreement-check::after { content: none !important; display: none !important; }
body .agreement-check { padding-left: 18px !important; }
body .agreement-check input[type="checkbox"] { min-height: 0 !important; height: 18px !important; vertical-align: -3px; margin: 0 8px 0 0 !important; }

/* Counteract the global mobile text-input minimum; the consent label remains the touch target. */
html[data-v560-release] body form .agreement-check input[type="checkbox"] { min-height: 18px !important; max-height: 18px !important; height: 18px !important; }

/* Keep the Japanese menu label and icon legible at narrow widths. */
@media (max-width: 1023px) {
  html[lang="ja"] body .dbc-nav-trigger { min-height: 44px !important; justify-content: center !important; }
  html[lang="ja"] body .dbc-nav-trigger > span:first-child { white-space: nowrap !important; flex: 0 0 auto !important; }
  html[lang="ja"] body .dbc-nav-trigger .dbc-nav-trigger__icon { flex: 0 0 14px !important; }
}

/* Preserve horizontal keyboard scrolling on pre-existing editorial table regions, including without JavaScript. */
body[data-article-prototype="editorial-content-r2"].ja-full-page .observer-table-wrap[tabindex] { overflow-x:auto !important; }
