/* ==========================================================================
   Google翻訳で英語表示になったとき (html.translated-ltr) だけ効く調整
   - 英語は日本語より 1.5〜2倍長くなるため、固定高さ・折り返し禁止・固定幅を緩める
   - 日本語表示には一切影響しない (Figma のピクセル配置はそのまま)
   ========================================================================== */
html.translated-ltr {
  /* 折り返し禁止を解除 (ボタン・ナビなど一部は下で個別に維持) */
}
html.translated-ltr :where(body *) { white-space: normal; }   /* :where で優先度を下げ、下の個別指定が勝つようにする */
html.translated-ltr .btn, html.translated-ltr .btn-lang, html.translated-ltr .global-nav__item > a, html.translated-ltr .breadcrumb__list *,
html.translated-ltr .catalog-tab, html.translated-ltr .filter-pill, html.translated-ltr .text-link { white-space: nowrap; }
html.translated-ltr .breadcrumb__list { flex-wrap: wrap; }
html.translated-ltr .text-link { width: auto; }
html.translated-ltr .global-nav__item a::after { width: 100%; }
html.translated-ltr .global-nav__list { gap: 4px; }
html.translated-ltr .global-nav__item > a { font-size: 14px; letter-spacing: 0; padding-left: 8px; padding-right: 8px; white-space: nowrap; }
html.translated-ltr .site-header__controls { gap: 16px; }
html.translated-ltr .btn, html.translated-ltr .text-link { white-space: nowrap; }
html.translated-ltr .btn { padding-left: 20px; padding-right: 20px; min-width: 0; }


/* 日本語用の折り返し禁止 (white-space: nowrap) を英語時はすべて解除 — 個別指定より強い優先度で上書き */
html.translated-ltr .brand-feature__title,
html.translated-ltr .brand-feature__watermark,
html.translated-ltr .business-item__watermark,
html.translated-ltr .category-card__name,
html.translated-ltr .contact-phone__hours,
html.translated-ltr .cta-card__title,
html.translated-ltr .footer-cta__btn,
html.translated-ltr .footer-cta__text,
html.translated-ltr .footer-nav__col a > span:first-child,
html.translated-ltr .hero__title,
html.translated-ltr .lp-about__desc,
html.translated-ltr .lp-award__text,
html.translated-ltr .lp-heading--points,
html.translated-ltr .lp-hero__award,
html.translated-ltr .lp-hero__award-main,
html.translated-ltr .lp-hero__sub,
html.translated-ltr .lp-hero__title,
html.translated-ltr .lp-message__desc,
html.translated-ltr .lp-message__title,
html.translated-ltr .lp-point__text,
html.translated-ltr .lp-point__text--w,
html.translated-ltr .lp-point__title,
html.translated-ltr .news-item__cat,
html.translated-ltr .news-item__meta time,
html.translated-ltr .news-list--archive .news-item__title,
html.translated-ltr .news__heading,
html.translated-ltr .page-nav__item,
html.translated-ltr .page-title--news .page-title__lead,
html.translated-ltr .philosophy__watermark,
html.translated-ltr .product-card__desc,
html.translated-ltr .product-card__name,
html.translated-ltr .product-card__tag,
html.translated-ltr .site-footer__bottom > *,
html.translated-ltr .value-circle__label { white-space: normal; }

/* ---- TOP ---- */
html.translated-ltr .hero__title { height: auto; min-height: 180px; font-size: 44px; }
html.translated-ltr .hero__lead { width: 760px; max-width: 100%; }
html.translated-ltr .product-card a { height: auto; min-height: 361px; }
html.translated-ltr .product-card__name, html.translated-ltr .product-card__desc, html.translated-ltr .product-card__tag { white-space: normal; }
html.translated-ltr .category__list { height: auto; }
html.translated-ltr .category-card__name { white-space: normal; max-width: 180px; }
html.translated-ltr .brand-feature, html.translated-ltr .brand-feature__story { height: auto; min-height: 300px; }
html.translated-ltr .brand-feature__title { white-space: normal; }
html.translated-ltr .cta-card__body { white-space: normal; }
html.translated-ltr .footer-cta__text { white-space: normal; }

/* ---- フッター ---- */
html.translated-ltr .footer-nav { width: auto; gap: 32px; }
html.translated-ltr .footer-nav__col a > span:first-child { white-space: normal; }
html.translated-ltr .site-footer__right { max-width: 520px; }
html.translated-ltr .footer-sns__list { column-gap: 40px; }
html.translated-ltr .footer-sns__list a { white-space: nowrap; }

/* ---- サブページ共通 ---- */
html.translated-ltr .sub-hero__inner { height: auto !important; min-height: 385px; }
html.translated-ltr .sub-hero--recruit .sub-hero__inner { min-height: 388px; }
html.translated-ltr .sub-hero__title, html.translated-ltr .sub-hero__ja { white-space: normal; width: auto; max-width: 560px; }
html.translated-ltr .sub-hero__ja { font-size: 48px; line-height: 1.3; }   /* 英語は2語以上になるので縮小 */
html.translated-ltr .sub-hero--recruit .sub-hero__title { top: 190px; max-width: 700px; }   /* 日本語と同じく写真の下寄せ (写真下端300) */
html.translated-ltr .sub-hero--recruit .sub-hero__ja { white-space: nowrap; }   /* 写真(高さ300)の中に1行で収める */
html.translated-ltr .page-nav { height: auto; min-height: 104px; padding: 16px 40px; }
html.translated-ltr .page-nav__list { flex-wrap: wrap; justify-content: center; gap: 12px 16px; }
html.translated-ltr .page-nav__item { min-width: 0; font-size: 16px; padding: 6px 14px; }

/* ---- 会社情報 ---- */
html.translated-ltr .business-item { height: auto; min-height: 530px; width: auto; max-width: 1183px; }
html.translated-ltr .business-item { align-items: flex-start; }
html.translated-ltr .business-item__body { height: auto !important; margin-top: 125px; padding-bottom: 48px; }   /* カード上端83 + 内側余白42 */
html.translated-ltr .business-item::before { height: auto; bottom: 0; }   /* 白カードを中身の高さに追従 */
html.translated-ltr .philosophy__inner { height: auto; min-height: 660px; padding-top: 60px; padding-bottom: 60px; }
html.translated-ltr .philosophy__panel { width: auto; max-width: 560px; }
html.translated-ltr .philosophy__image { flex-basis: 800px; width: 800px; }
html.translated-ltr .philosophy__title, html.translated-ltr .philosophy__catch { white-space: normal; height: auto; }
html.translated-ltr .about__content { width: 600px; }
html.translated-ltr .about__values { gap: 12px; }
html.translated-ltr .value-circle { padding: 12px 8px 0; }
html.translated-ltr .value-circle__label { white-space: normal; font-size: 16px; line-height: 22px; }
html.translated-ltr .message__text { width: auto; max-width: 100%; }
html.translated-ltr .csr-list--center { height: auto; min-height: 384px; }
html.translated-ltr .csr-card { min-height: 0; }
html.translated-ltr .strength-card { min-height: 228px; height: auto; }

/* ---- 商品一覧 / 詳細 ---- */
html.translated-ltr .ingredients { height: auto; }
html.translated-ltr .flow-step { width: auto; }
html.translated-ltr .catalog-tab { white-space: nowrap; }
html.translated-ltr .filter-pill { white-space: nowrap; }

/* ---- お知らせ ---- */
html.translated-ltr .news-list--archive .news-item__title { white-space: normal; }

/* ---- お問い合わせ ---- */
html.translated-ltr .contact-phone__hours { white-space: normal; }

/* ---- なた豆LP (ほぼ絶対配置のため、文字は折り返しを許可し幅を広げる) ---- */
html.translated-ltr .lp-hero__award, html.translated-ltr .lp-hero__award-main,
html.translated-ltr .lp-heading--points, html.translated-ltr .lp-point__text, html.translated-ltr .lp-point__title,
html.translated-ltr .lp-about__desc, html.translated-ltr .lp-award__text,
html.translated-ltr .lp-message__title, html.translated-ltr .lp-message__desc { white-space: normal; }
html.translated-ltr .lp-award__text { font-size: 30px; line-height: 1.5; }
html.translated-ltr .lp-message__title { font-size: 32px; line-height: 1.5; }
html.translated-ltr .lp-message__desc { font-size: 16px; }

/* ---- SP ---- */
@media (max-width: 767px) {
  html.translated-ltr .hero { height: auto; min-height: 683.5px; }
  html.translated-ltr .hero__title { font-size: 26px; line-height: 1.35; min-height: 0; }
  html.translated-ltr .hero__lead { margin-top: 12px; font-size: 13px; line-height: 1.55; letter-spacing: 0; }
  /* ブランド紹介: SPは絶対配置(高さ300固定)のため、英語時は文章量に合わせて伸ばす */
  html.translated-ltr .brand-feature, html.translated-ltr .brand-feature--reverse { height: auto; min-height: 300px; }
  html.translated-ltr .brand-feature__story { position: relative; height: auto; min-height: 300px; padding-bottom: 64px; }
  html.translated-ltr .brand-feature--reverse .brand-feature__story { margin-left: auto; }   /* 元の right:0 相当 */
  html.translated-ltr .brand-feature__title { width: 200px; }
  html.translated-ltr .brand-feature__text { font-size: 13px; line-height: 1.6; letter-spacing: 0; }
  html.translated-ltr .brand-feature__watermark, html.translated-ltr .brand-feature__watermark--mint, html.translated-ltr .brand-feature__watermark--oral2 { top: auto; bottom: 6px; }
  html.translated-ltr .product-card a { min-height: 264.5px; }
  html.translated-ltr .about__content, html.translated-ltr .philosophy__panel, html.translated-ltr .hero__lead, html.translated-ltr .philosophy__image { width: 100%; max-width: 100%; flex-basis: auto; }
  html.translated-ltr .about__values { flex-wrap: wrap; justify-content: center; }
  html.translated-ltr .value-circle { width: 100px; height: 100px; padding: 14px 4px 0; }
  html.translated-ltr .value-circle__label { font-size: 11px; line-height: 14px; }
  html.translated-ltr .message__card, html.translated-ltr .message__body, html.translated-ltr .message__text { width: 100%; max-width: 100%; flex-basis: auto; }
  html.translated-ltr .page-nav { padding: 12px 16px; }
  html.translated-ltr .sub-hero__inner, html.translated-ltr .sub-hero--recruit .sub-hero__inner { height: 240px !important; min-height: 0; }   /* SPは写真の高さ(240)に固定。PC用の最小高さが効いて余白が出ていた */
  html.translated-ltr .sub-hero__ja { font-size: 28px; line-height: 1.3; text-align: center; padding: 0 16px; }
  html.translated-ltr .sub-hero__title { left: 0; top: 50%; width: 100%; max-width: none; align-items: center; text-align: center; transform: translateY(-50%); }
  html.translated-ltr .sub-hero__en { width: auto; align-self: center; text-align: center; }
  html.translated-ltr .sub-hero__ja { width: 100%; max-width: none; }
  html.translated-ltr .catalog-tab { font-size: 11px; letter-spacing: 0; min-width: 0; padding: 0 2px; }
  html.translated-ltr .csr-list, html.translated-ltr .csr-list--center { grid-template-rows: auto; }
  html.translated-ltr .csr-card { overflow: visible; }
  html.translated-ltr .message__sign { flex-wrap: wrap; justify-content: flex-end; }
  html.translated-ltr .business-item__body { margin-top: 0; padding: 20px; }
  html.translated-ltr .page-nav__item { font-size: 14px; }
}

/* ---- 採用 ---- */
html.translated-ltr .job-table__row dt { white-space: normal; }
html.translated-ltr .flow-step__title, html.translated-ltr .flow-step__text { white-space: normal; }
/* ---- LP 見出し (葉っぱ付きの固定幅見出し): 英語は文字幅が変わるので、葉っぱは見出しの末尾基準に ---- */
@media (min-width: 768px) {
  html.translated-ltr .lp-heading { width: auto; height: auto; min-height: 0; margin-left: 0; white-space: nowrap; }
  html.translated-ltr .lp-heading .lp-heading__leaf { left: calc(100% - 16px); top: calc(50% - 80px); margin: 0; }
  html.translated-ltr .lp-heading--points { font-size: 32px; }
  html.translated-ltr .lp-heading__num { font-size: 48px; letter-spacing: 0; }
  html.translated-ltr .lp-heading__sub { font-size: 34px; letter-spacing: 0; }
  html.translated-ltr .lp-about__text { position: relative; }
  html.translated-ltr .lp-about__leaf { left: auto; right: -110px; top: -24px; }
  /* LP ヒーロー: 絶対配置 → 縦に流す (タイトル / サブ / 累計) */
  html.translated-ltr .lp-hero__inner { display: flex; flex-direction: column; align-items: flex-start; padding: 84px 0 0 194px; }
  html.translated-ltr .lp-hero__title, html.translated-ltr .lp-hero__sub, html.translated-ltr .lp-hero__award { position: relative; left: auto; top: auto; z-index: 1; white-space: normal; }
  html.translated-ltr .lp-hero__title { width: 584px; font-size: 60px; line-height: 1.2; letter-spacing: 1px; }
  html.translated-ltr .lp-hero__sub { width: 552px; margin: 24px 0 0 16px; font-size: 32px; line-height: 1.3; letter-spacing: .5px; }
  html.translated-ltr .lp-hero__award { margin: 36px 0 0 33px; height: 217px; }
  html.translated-ltr .lp-hero__award-top { left: 120px; width: 278px; font-size: 24px; line-height: 1.6; letter-spacing: 0; }
  html.translated-ltr .lp-hero__award-main { top: 44px; left: 100px; width: 318px; height: auto; font-size: 32px; line-height: 1.2; letter-spacing: 0; }
  html.translated-ltr .lp-hero__award-main em { font-size: 48px; }
  html.translated-ltr .lp-hero__award-bottom { left: 120px; top: 138px; width: 278px; font-size: 22px; line-height: 1.6; letter-spacing: 0; }
  html.translated-ltr .lp-hero__award-note { top: 178px; left: 100px; width: 318px; font-size: 13px; line-height: 1.5; letter-spacing: 0; }
  /* LP こだわり: 4項目を1行に収める */
  html.translated-ltr .lp-point-list { width: 100%; margin: 0; gap: 16px; }
  html.translated-ltr .lp-point { flex: 0 0 290px; width: 290px; }
  html.translated-ltr .lp-point:first-child .lp-point__title { width: auto; text-align: center; }
  html.translated-ltr .lp-point__title { font-size: 24px; line-height: 1.5; letter-spacing: 0; }
  html.translated-ltr .lp-point__text, html.translated-ltr .lp-point__text--w { width: 270px; font-size: 17px; letter-spacing: 0; }
}
@media (max-width: 767px) {
  html.translated-ltr .lp-heading--lineup, html.translated-ltr .lp-heading--voice { white-space: nowrap; width: auto; }
  /* 葉っぱは見出し末尾の右上に (日本語の固定座標をリセット) */
  html.translated-ltr .lp-heading .lp-heading__leaf { left: calc(100% - 22px); right: auto; top: -66px; }
  html.translated-ltr .lp-heading--voice { font-size: 18px; letter-spacing: 0; }
  html.translated-ltr .lp-heading--points { width: 100%; height: auto; font-size: 16px; line-height: 1.5; white-space: normal; }
  html.translated-ltr .lp-heading__num { font-size: 26px; line-height: 1; letter-spacing: 0; }
  html.translated-ltr .lp-heading__sub { font-size: 17px; line-height: 1.5; letter-spacing: 0; }
  html.translated-ltr .lp-heading--points .lp-heading__leaf { left: auto; right: -34px; top: calc(50% - 80px); }
  html.translated-ltr .lp-point:first-child .lp-point__title { width: auto; text-align: center; }
  html.translated-ltr .lp-point__title { font-size: 13px; line-height: 1.4; letter-spacing: 0; }
  html.translated-ltr .lp-point__text, html.translated-ltr .lp-point__text--w { width: 100%; font-size: 11px; letter-spacing: 0; }
  html.translated-ltr .lp-about__text { position: relative; width: 100%; }
  html.translated-ltr .lp-heading--about { font-size: 18px; line-height: 1.5; white-space: normal; width: auto; }
  html.translated-ltr .lp-about__leaf { left: auto; right: -40px; top: -40px; }
  html.translated-ltr .lp-about__desc { white-space: normal; font-size: 11px; line-height: 1.7; }
  html.translated-ltr .lp-hero__award { height: auto; }
  html.translated-ltr .lp-message { overflow: hidden; }
  html.translated-ltr .lp-hero__title { top: 36px; left: 48px; width: 280px; font-size: 22px; line-height: 1.3; letter-spacing: 0; }
  html.translated-ltr .lp-hero__sub { top: 100px; left: 48px; width: 280px; font-size: 13px; line-height: 1.4; letter-spacing: 0; }
  html.translated-ltr .lp-hero__award { top: 185px; }
  html.translated-ltr .lp-hero__award-top, html.translated-ltr .lp-hero__award-bottom { font-size: 11px; line-height: 1.3; width: 110px; left: 72px; }
  html.translated-ltr .lp-hero__award-main { top: 16px; left: 46px; width: 165px; font-size: 16px; line-height: 1.25; }
  html.translated-ltr .lp-hero__award-main em { font-size: 24px; }
  html.translated-ltr .lp-hero__award-bottom { top: 68px; }
  html.translated-ltr .lp-hero__award-note { top: 92px; }
}

/* ---- ナビの英語表記: Google翻訳が "top" "notice" のように小文字で返すので、各単語の頭を大文字に揃える ---- */
html.translated-ltr .global-nav__item a,
html.translated-ltr .sp-nav__list a span:first-child,
html.translated-ltr .footer-nav__col a span:first-child,
html.translated-ltr .page-nav__label,
html.translated-ltr .btn-contact span:not(.arrow):not(.btn-contact__icon) { text-transform: capitalize; }
