/*
 * Kato Oil | 2026-10-29 | Typography/readability refinement, pass 2.
 * Applied after page-specific styles. The display headings, numeric hero figures,
 * pricing hierarchy, pictograms and decorative English eyebrows are unchanged.
 *
 * Scale: desktop prose 18px, primary Japanese UI text 16px, auxiliary text
 * 14-16px; mobile prose 16px (17px for the TOP introduction), actions 15-16px.
 * Avoid scaling entire components: this is a type-only readability pass.
 */

/* ==============================================================
   TOP: Business, service, NEWS and vehicle descriptions
   ============================================================== */
body.kt-top-preview-page .kt-business__copy,
body.kt-top-preview-page .kt-business__intro,
body.kt-top-preview-page .kt-service__intro {
  min-width: 0;
}
body.kt-top-preview-page .kt-business__body,
body.kt-top-preview-page .kt-business__lead,
body.kt-top-preview-page .kt-service__body,
body.kt-top-preview-page .kt-service__lead {
  width: 100%;
  max-width: none;
}
body.kt-top-preview-page .kt-business__body,
body.kt-top-preview-page .kt-service__body {
  font-size: 18px;
  line-height: 2;
  font-weight: 400;
  overflow-wrap: anywhere;
}
body.kt-top-preview-page .kt-service__tab strong {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.55;
  overflow-wrap: anywhere;
}
body.kt-top-preview-page .kt-business__ja {
  font-size: 16px;
  font-weight: 500;
  overflow-wrap: anywhere;
}
body.kt-top-preview-page .kt-stock__head p {
  font-size: 18px;
  line-height: 1.9;
  max-width: none;
  width: 100%;
}
body.kt-top-preview-page .kt-news__more,
body.kt-top-preview-page .kt-news__video-link {
  font-size: 16px;
}
/* The site-wide small English labels and numerical service indices stay small. */
@media (min-width: 1024px) and (max-width: 1279px) {
  body.kt-top-preview-page .kt-business__copy,
  body.kt-top-preview-page .kt-service__intro {
    width: 100%;
    max-width: none;
  }
}
@media (min-width: 600px) and (max-width: 1023px) {
  /* Avoid a hard line break that makes a wider text column appear half-empty. */
  body.kt-top-preview-page .kt-business__body-break { display: none; }
}
@media (max-width: 1023px) {
  body.kt-top-preview-page .kt-business__body,
  body.kt-top-preview-page .kt-service-sp__body {
    width: 100%;
    max-width: none;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.9;
  }
  body.kt-top-preview-page .kt-service-sp__intro { max-width: none; }
  body.kt-top-preview-page .kt-business__ja { font-size: 17px; font-weight: 600; }
  body.kt-top-preview-page .kt-service-sp__content strong { font-weight: 600; }
  body.kt-top-preview-page .kt-news__more,
  body.kt-top-preview-page .kt-news__video-link { font-size: 16px; }
  body.kt-top-preview-page .kt-stock__head p { font-size: 16px; }
}

/* ==============================================================
   General site: navigation, footer and company information
   ============================================================== */
.kt-lower-header__nav-link strong { font-size: 14px; }
.kt-lower-header__action strong { font-size: 16px; }
@media (min-width: 1280px) {
  /* The already-large header CTA must not be reduced. */
  .kt-lower-header__action strong { font-size: 18px; }
}
.kt-breadcrumb { font-size: 13px; }
.kt-footer__group .kt-footer__group-title { font-size: 16px; }
.kt-footer__nav-link { font-size: 16px; }
.kt-footer__utility a { font-size: 14px; }
.kt-footer__address { font-size: 16px; }
.kt-company-about__copy,
.kt-company-group__intro,
.kt-company-group-card__head p,
.kt-company-tabs__copy p,
.kt-company-tabs__secondary-copy p,
.kt-company-auto-card__body p { font-size: 18px; font-weight: 400; line-height: 1.9; }
.kt-company-profile__row dd { font-size: 18px; font-weight: 400; }
.kt-company-profile__row dt { font-size: 14px; }
.kt-company-tabs__tab strong { font-size: 16px; font-weight: 500; }
.kt-company-tabs__cta,
.kt-company-tabs__secondary-cta,
.kt-company-auto-card__link,
.kt-company-business-accordion__cta { font-size: 16px; }
.kt-company-auto__heading strong,
.kt-company-auto-card__label strong,
.kt-company-group__meta-row strong { font-size: 16px; }
.kt-company-partners__name,
.kt-company-partners__external { font-size: 16px; }

/* ==============================================================
   News and YouTube video gallery
   ============================================================== */
.kt-news-archive__sub,
.kt-news-archive__empty,
.kt-news-detail__body,
.kt-news-detail__body table { font-size: 18px; }
.kt-news-list__title { font-size: 18px; }
.kt-news-list__category,
.kt-news-detail__category { font-size: 14px; }
.kt-news-list__date,
.kt-news-detail__meta time { font-size: 14px; }
.kt-news-archive__filter,
.kt-news-month-mobile summary,
.kt-news-month-nav__month { font-size: 16px; }
.kt-news-month-sidebar__heading,
.kt-news-month-nav__all { font-size: 15px; }
.kt-news-detail__back,
.kt-news-detail__nav-title,
.kt-news-video__subtitle,
.kt-news-video__play,
.kt-news-video-modal__links a { font-size: 15px; }
.kt-news-detail__body figcaption { font-size: 14px; }

/* ==============================================================
   Stores, reservations and inquiry forms
   ============================================================== */
.kt-shop-pane__intro,
.kt-shop-offerings__intro,
.kt-shop-payment-note { font-size: 18px; }
.kt-shop-row__info dt,
.kt-shop-info-list dt,
.kt-shop-payment-grid dt,
.kt-shop-payment-method__name { font-size: 14px; }
.kt-shop-row__info dd,
.kt-shop-info-list dd,
.kt-shop-payment-grid dd { font-size: 16px; }
.kt-shop-row__actions a,
.kt-shop-filter-row__buttons button,
.kt-shop-filter-box__footer,
.kt-shop-detail-button,
.kt-shop-text-link,
.kt-shop-detail-back a,
.kt-shop-offering-card__link,
.kt-shop-offerings__other-links a { font-size: 16px; }
.kt-shop-service-item span,
.kt-shop-offerings__other-item>strong,
.kt-shop-current strong { font-size: 16px; }
.kt-shop-row__tags .kt-shop-row__tag,
.kt-shop-payment-method__note,
.kt-shop-payment-note { font-weight: 400; }
.kt-reservation-content__editor,
.kt-reservation-empty p { font-size: 18px; }
.kt-reservation-row__detail,
.kt-reservation-row__book,
.kt-reservation-empty a { font-size: 16px; }
.kt-reservation-row__unavailable,
.kt-reservation-disclaimer { font-size: 15px; }
.kt-contact-card p,
.kt-contact-phone p { font-size: 18px; }
.kt-contact-phone__schedule>div,
.kt-contact-form-guide li,
.kt-contact-form-guide>a,
.kt-contact-form__field>label,
.kt-contact-form__label,
.kt-contact-form__consent { font-size: 16px; }
.kt-contact-form__vehicle-hint,
.kt-contact-form__admin-note,
.kt-contact-form-panel .wpcf7-not-valid-tip,
.kt-contact-form-panel .wpcf7-response-output { font-size: 14px; }

/* ==============================================================
   Vehicle stock: card details, captions and inquiry form
   ============================================================== */
.kt-stock-detail__content,
.kt-stock-inquiry__head p,
.kt-stock-features li { font-size: 18px; }
.kt-stock-info-grid dt,
.kt-stock-summary__breakdown dt,
.kt-stock-summary__quick dt,
.kt-stock-list-card__breakdown dt,
.kt-stock-list-card__spec-grid dt,
.kt-stock-list-card__evaluation dt { font-size: 14px; }
.kt-stock-info-grid dd,
.kt-stock-summary__breakdown dd,
.kt-stock-summary__quick dd,
.kt-stock-list-card__specs dd,
.kt-stock-list-card__spec-grid dd { font-size: 16px; }
.kt-stock-list-card__store,
.kt-stock-list-card__warranty,
.kt-stock-list-card__price span { font-size: 15px; }
.kt-stock-list-card__action--secondary,
.kt-stock-list-card__action--primary.kt-lower-primary-cta strong,
.kt-stock-list-card__detail,
.kt-stock-related__all,
.kt-stock-summary__store a { font-size: 16px; }
.kt-stock-inquiry__note,
.kt-stock-inquiry__form .kt-contact-form__vehicle-hint,
.kt-stock-inquiry__form .wpcf7-not-valid-tip { font-size: 14px; }

/* ==============================================================
   Company characters, goods and supporting content
   ============================================================== */
.kt-character-card__description,
.kt-goods-card__description { font-size: 18px; font-weight: 400; }
.kt-character-card__role,
.kt-character-card__reading { font-size: 14px; }
.kt-character-card__points,
.kt-goods-hero__caption p { font-size: 16px; }
.kt-goods-section__note,
.kt-goods-image-placeholder { font-size: 15px; }
.kt-goods-card__buy,
.kt-goods-back a { font-size: 16px; }
.kt-goods-carousel__pause,
.kt-goods-gallery__toggle { font-size: 14px; }

/* ==============================================================
   Service details and price pages (numeric prices and units untouched)
   ============================================================== */
body.kt-service-detail-page .sdf-ds,
body.kt-service-detail-page .notes li,
body.kt-service-detail--shaken .ig-row p,
body.kt-service-detail--shaken .vc-bd li { font-size: 18px; }
body.kt-service-detail-page .sdf-st,
body.kt-service-detail-page .pfoot,
body.kt-service-detail--oil .sup-row .s { font-size: 15px; }
body.kt-service-price-board-page .lf .notes li { font-size: 16px; }
body.kt-service-price-board-page .lc-more { font-size: 16px; }

/* ==============================================================
   Recruitment: body copy, work, careers, environment and FAQ
   ============================================================== */
.krt .krt-section__title p:not(.krt-kicker),
.krt .krt-message__copy>p:not(.krt-kicker),
.krt .krt-career__detail p,
.krt .krt-career5__description,
.krt .krt-environment__item p,
.krt .krt-faq__item>div p,
.krt .krt-visit__body p,
.krw .krw-job__bodytext,
.krw .krw-job__benefit p,
.krw .krw-job__extra-item p,
.kre .kre-feature p,
.krh .krh-step__description,
.krh .krh-intro__content>p,
.krh .krh-application__text p { font-size: 18px; font-weight: 400; line-height: 1.85; }
.krt .krt-career__subtitle,
.krt .krt-career__note,
.krt .krt-career5__keywords,
.krt .krt-career5__note,
.krt .krt-numbers__item>p,
.krt .krt-entry__requirement,
.krt .krt-entry__highschool,
.krt .krt-footer__company address,
.krt .krt-footer__links a,
.krw .krw-navigation__desc,
.krw .krw-job__cta>div>p:last-child,
.kre .kre-index__head>p { font-size: 16px; }
.krt .krt-header__nav-item>a,
.krt .krt-header__submenu a,
.krt .krt-header__actions a,
.krt .krt-header__documents-toggle,
.krt .krt-header__documents-panel a,
.krt .krt-drawer__documents-links a,
.krw .krw-job__cta-link { font-size: 15px; }
.krt .krp--reference .krp__card-detail,
.krt .krp--reference .krp__card-meta,
.krt .krp--reference .krp__card-link,
.krt .krp__dialog-meta { font-size: 15px; }

/* ==============================================================
   Small screens: preserve hierarchy and prevent card overflow.
   ============================================================== */
@media (max-width: 1023px) {
  .kt-lower-header__nav-link strong { font-size: 14px; }
  .kt-company-about__copy,
  .kt-company-group__intro,
  .kt-company-group-card__head p,
  .kt-company-tabs__copy p,
  .kt-company-tabs__secondary-copy p,
  .kt-company-business-accordion__panel p,
  .kt-company-auto-card__body p,
  .kt-contact-card p,
  .kt-contact-phone p { font-size: 16px; line-height: 1.85; }
  .kt-company-profile__row dd { font-size: 16px; }
  .kt-company-tabs__tab strong { font-size: 16px; }
  .kt-company-auto-card__label strong,
  .kt-company-group__meta-row strong,
  .kt-company-auto__heading strong { font-size: 16px; }
  .kt-company-partners__name,
  .kt-company-partners__external { font-size: 16px; }
  .kt-shop-pane__intro,
  .kt-shop-offerings__intro,
  .kt-shop-payment-note,
  .kt-reservation-content__editor,
  .kt-reservation-empty p { font-size: 16px; }
  .kt-stock-detail__content,
  .kt-stock-inquiry__head p,
  .kt-stock-features li,
  .kt-character-card__description,
  .kt-goods-card__description { font-size: 16px; }
  body.kt-service-detail-page .sdf-ds,
  body.kt-service-detail-page .notes li,
  body.kt-service-detail--shaken .ig-row p,
  body.kt-service-detail--shaken .vc-bd li { font-size: 16px; }
  .krt .krt-section__title p:not(.krt-kicker),
  .krt .krt-message__copy>p:not(.krt-kicker),
  .krt .krt-career__detail p,
  .krt .krt-career5__description,
    .krt .krt-environment__item p,
  .krt .krt-faq__item>div p,
  .krt .krt-visit__body p,
  .krw .krw-job__bodytext,
  .krw .krw-job__benefit p,
  .krw .krw-job__extra-item p,
  .kre .kre-feature p,
  .krh .krh-step__description,
  .krh .krh-intro__content>p,
  .krh .krh-application__text p { font-size: 16px; line-height: 1.85; }
  .krt .krt-career__subtitle,
  .krt .krt-career__note,
  .krt .krt-career5__keywords,
  .krt .krt-career5__note,
  .krt .krt-numbers__item>p,
  .krt .krt-entry__requirement,
  .krt .krt-entry__highschool,
  .krt .krt-footer__company address,
  .krt .krt-footer__links a,
  .krw .krw-navigation__desc,
  .krw .krw-job__cta>div>p:last-child,
  .kre .kre-index__head>p { font-size: 15px; }
  .krt .krt-header__nav-item>a,
  .krt .krt-header__submenu a,
  .krt .krt-header__actions a,
  .krt .krt-header__documents-toggle,
  .krt .krt-header__documents-panel a,
  .krt .krt-drawer__documents-links a,
  .krw .krw-job__cta-link { font-size: 15px; }
}
@media (max-width: 767px) {
  .kt-news-detail__body,
  .kt-news-archive__sub,
  .kt-news-archive__empty { font-size: 16px; }
  .kt-news-list__title { font-size: 18px; }
  .kt-news-list__category,
  .kt-news-detail__category { font-size: 13px; }
  .kt-news-list__date { font-size: 14px; }
  .kt-news-archive__filter { font-size: 15px; }
  .kt-news-video-modal__links a { font-size: 14px; }
  .kt-shop-row__actions a,
  .kt-shop-offering-card__link,
  .kt-shop-text-link,
  .kt-shop-filter-row__buttons button,
  .kt-reservation-row__detail,
  .kt-reservation-row__book { font-size: 15px; }
  .kt-reservation-disclaimer { font-size: 14px; }
  .kt-contact-form-guide li,
  .kt-contact-phone__schedule>div,
  .kt-contact-form__field>label,
  .kt-contact-form__label,
  .kt-contact-form__consent { font-size: 15px; }
  .kt-character-card__role,
  .kt-character-card__reading { font-size: 13px; }
  .kt-goods-hero__caption p,
  .kt-goods-section__note { font-size: 15px; }
  .kt-stock-info-grid dt,
  .kt-stock-summary__breakdown dt,
  .kt-stock-summary__quick dt,
  .kt-stock-list-card__spec-grid dt { font-size: 13px; }
  .kt-stock-info-grid dd,
  .kt-stock-summary__breakdown dd,
  .kt-stock-summary__quick dd { font-size: 16px; }
}

/* Company page ships higher-specificity legacy responsive rules. Keep the
 * readability scale explicit so those old 12-13px values cannot win. */
body.kt-company-preview-page .kt-company-profile__row dt {
  font-size: 14px;
  font-weight: 500;
}
body.kt-company-preview-page .kt-company-profile__row dd { font-size: 18px; }
body.kt-company-preview-page .kt-company-about__copy,
body.kt-company-preview-page .kt-company-group__intro,
body.kt-company-preview-page .kt-company-group-card__head p,
body.kt-company-preview-page .kt-company-auto-card__body p { font-size: 18px; }
body.kt-company-preview-page .kt-company-auto-card__link,
body.kt-company-preview-page .kt-company-business-accordion__cta { font-size: 16px; }
@media (max-width: 1023px) {
  body.kt-company-preview-page .kt-company-about__copy,
  body.kt-company-preview-page .kt-company-group__intro,
  body.kt-company-preview-page .kt-company-group-card__head p,
  body.kt-company-preview-page .kt-company-auto-card__body p { font-size: 16px; }
  body.kt-company-preview-page .kt-company-profile__row dd { font-size: 16px; }
  body.kt-company-preview-page .kt-company-auto-card__link { font-size: 15px; }
}
/* Consent and helper labels on the vehicle inquiry form had separate, more
 * specific mobile font rules; treat them as readable form controls. */
.kt-stock-inquiry__form label,
.kt-stock-inquiry__form .kt-contact-form__consent .wpcf7-list-item label {
  font-size: 16px;
}
@media (max-width: 767px) {
  .kt-stock-inquiry__form label,
  .kt-stock-inquiry__form .kt-contact-form__consent .wpcf7-list-item label {
    font-size: 15px;
  }
}

/* Preserve the full-size desktop automotive-division heading. */
@media (min-width: 1280px) {
  .kt-company-auto__heading strong { font-size: 18px; }
}

/* 2026-10-29 | Company section text width and long business-tab labels.
 * Keep the increased readable type scale and avoid forced mid-word tab wraps.
 * This is intentionally scoped to the company page only.
 */
@media (min-width: 1024px) {
  body.kt-company-preview-page .kt-company-group__intro,
  body.kt-company-preview-page .kt-company-group-card__head p,
  body.kt-company-preview-page .kt-company-tabs__copy p,
  body.kt-company-preview-page .kt-company-auto-card__body p {
    width: 100%;
    max-width: none;
  }
  body.kt-company-preview-page .kt-company-tabs__tab {
    padding-left: 8px;
    padding-right: 8px;
  }
  body.kt-company-preview-page .kt-company-tabs__tab strong {
    font-size: 16px;
    line-height: 1.5;
    font-weight: 500;
    letter-spacing: .01em;
    white-space: nowrap;
    word-break: keep-all;
  }
}
/* Give the longer first and last tabs their natural width while keeping the
 * other three tabs equally sized; no labels are truncated or shrunk. */
@media (min-width: 1120px) {
  body.kt-company-preview-page .kt-company-tabs__list {
    display: grid;
    grid-template-columns: max-content repeat(3, minmax(max-content, 1fr)) max-content;
    width: 100%;
    overflow: visible;
  }
}
/* On narrow desktop widths 5 full-size names do not physically fit in a
 * single row. Use a 3+2 tab layout rather than breaking the names in half. */
@media (min-width: 1024px) and (max-width: 1119px) {
  body.kt-company-preview-page .kt-company-tabs__list {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    width: 100%;
    overflow: visible;
  }
  body.kt-company-preview-page .kt-company-tabs__tab:nth-child(-n+3) {
    grid-column: span 2;
  }
  body.kt-company-preview-page .kt-company-tabs__tab:nth-child(n+4) {
    grid-column: span 3;
  }
}


/* 2026-10-29 | TOP: avoid extra line wraps in STOCK CARS and use the
 * available RENT A CAR copy column. Keep approved heading font sizes,
 * authored line breaks, and the responsive single-column layout. */
@media (min-width: 1280px) {
  body.kt-top-preview-page .kt-stock__head {
    display: grid;
    grid-template-columns: minmax(500px, 1fr) minmax(0, 1fr);
    column-gap: clamp(28px, 3.3vw, 64px);
    align-items: end;
  }
  body.kt-top-preview-page .kt-stock__head > div {
    min-width: 0;
  }
  body.kt-top-preview-page .kt-stock__head h2 {
    width: 100%;
    max-width: none;
  }
  body.kt-top-preview-page .kt-stock__head p {
    width: auto;
    min-width: 0;
    max-width: none;
    margin: 0;
  }
}

@media (min-width: 1024px) {
  body.kt-top-preview-page .kt-rentacar {
    grid-template-columns: minmax(0, 54%) minmax(0, 46%);
  }
  body.kt-top-preview-page .kt-rentacar__inner {
    min-width: 0;
    padding-right: 24px;
  }
  body.kt-top-preview-page .kt-rentacar__inner > p {
    width: 100%;
    max-width: none;
    text-wrap: balance;
  }
}
@media (min-width: 1024px) and (max-width: 1279px) {
  body.kt-top-preview-page .kt-rentacar {
    grid-template-columns: minmax(0, 1fr) minmax(360px, 46%);
  }
  body.kt-top-preview-page .kt-rentacar__inner {
    padding-right: 16px;
  }
}


/* 2026-10-29 | Smaller utility CTAs / single-line vehicle inquiry.
 * Keep the previously enlarged article/body typography unchanged.
 * Store listing buttons should stay legible without competing with headings.
 */
body.kt-shops-page .kt-shop-row__actions a {
  font-size: 14px;
  line-height: 1.45;
  font-weight: 600;
}
body.kt-shops-page .kt-shop-filter-row__buttons button,
body.kt-shop-detail-page .kt-shop-detail-button {
  font-size: 15px;
}

/* The inquiry CTA gets more of the available width. Both actions retain
 * their click/tap targets, but the inquiry label now stays on one line. */
body.kt-stock-archive-page .kt-stock-list-card__actions {
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  gap: 8px;
}
body.kt-stock-archive-page .kt-stock-list-card__action--secondary {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0;
  gap: 4px;
  padding-inline: 8px;
  white-space: nowrap;
}
body.kt-stock-archive-page .kt-stock-list-card__action--secondary i {
  flex: 0 0 16px;
  width: 16px;
}
body.kt-stock-archive-page .kt-stock-list-card__action--primary.kt-lower-primary-cta {
  gap: 6px;
  padding-inline: 10px;
}
body.kt-stock-archive-page .kt-stock-list-card__action--primary.kt-lower-primary-cta strong {
  font-size: 14px;
  letter-spacing: 0;
  white-space: nowrap;
}
body.kt-stock-archive-page .kt-stock-list-card__action--primary.kt-lower-primary-cta i {
  flex: 0 0 18px;
  width: 18px;
}
@media (max-width: 767px) {
  /* Preserve the existing vertically stacked mobile actions. */
  body.kt-stock-archive-page .kt-stock-list-card__actions {
    grid-template-columns: minmax(0, 1fr);
  }
}


/* 2026-10-29 | TOP high-priority navigation legibility.
 * Explicitly scoped to TOP: page headings, other page templates, prices and
 * the decorative left-side navigation are intentionally left untouched.
 * Desktop Japanese link names ~22-24px; English labels are enlarged while
 * retaining their secondary hierarchy to avoid long-English overflow.
 */
@media (min-width:1024px) {
  body.kt-top-preview-page .kt-business__rows {
    align-self: stretch;
  }
  body.kt-top-preview-page .kt-business__row {
    min-height: 125px;
    padding-top: 14px;
    padding-bottom: 14px;
    align-content: center;
  }
  body.kt-top-preview-page .kt-business__en {
    font-size: 16px;
    font-weight: 500;
    letter-spacing: .05em;
    line-height: 1.35;
    overflow-wrap: anywhere;
  }
  body.kt-top-preview-page .kt-business__ja {
    font-size: 23px;
    font-weight: 600;
    letter-spacing: .01em;
    line-height: 1.4;
    overflow-wrap: anywhere;
    white-space: normal;
  }
  body.kt-top-preview-page .kt-business__more {font-size: 12px;}
  /* The photo occupies the same grid row as the now taller BUSINESS links. */
  body.kt-top-preview-page .kt-business__photo {
    min-height: 320px;
    height: 100%;
  }
  body.kt-top-preview-page .kt-service__tabs {
    grid-auto-rows: minmax(126px, auto);
  }
  body.kt-top-preview-page .kt-service__tab {
    min-height: 126px;
    padding-block: 18px;
  }
  body.kt-top-preview-page .kt-service__tab small {
    font-size: 14px;
    font-weight: 500;
  }
  body.kt-top-preview-page .kt-service__tab strong {
    font-size: 23px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: .015em;
    overflow-wrap: anywhere;
  }
  body.kt-top-preview-page .kt-service__tab-more {
    font-size: 11px;
  }
}
@media (min-width: 1024px) and (max-width: 1359px) {
  /* Prevent the longer service names from being forced into narrow thirds. */
  body.kt-top-preview-page .kt-service__tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 22px;
  }
  body.kt-top-preview-page .kt-service__actions .kt-btn {
    gap: 8px;
    padding-inline: 16px;
  }
  body.kt-top-preview-page .kt-service__actions .kt-btn:after {width: 20px;}
  body.kt-top-preview-page .kt-business__row {
    grid-template-columns: 32px minmax(0, 1fr);
    column-gap: 8px;
  }
  body.kt-top-preview-page .kt-business__en {font-size: 15px;}
  body.kt-top-preview-page .kt-business__ja {font-size: 22px;}
}
@media (min-width: 1600px) {
  body.kt-top-preview-page .kt-business__ja,
  body.kt-top-preview-page .kt-service__tab strong {font-size: 22px;}
}
@media (max-width: 1023px) {
  /* Mobile BUSINESS is a photo-card list, not the desktop 2-column meter list. */
  body.kt-top-preview-page .kt-business__en {
    font-size: 14px;
    font-weight: 500;
    letter-spacing: .1em;
    line-height: 1.4;
  }
  body.kt-top-preview-page .kt-business__ja {
    font-size: 22px;
    font-weight: 600;
    line-height: 1.45;
    letter-spacing: .015em;
    overflow-wrap: anywhere;
  }
  body.kt-top-preview-page .kt-business__more {font-size: 11px;}
  /* SP service cards should be as legible as the desktop navigation. */
  body.kt-top-preview-page .kt-service-sp__content > strong {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.45;
  }
  body.kt-top-preview-page .kt-service-sp__content > small {font-size: 13px;}
}
@media (max-width: 374px) {
  body.kt-top-preview-page .kt-business__ja {font-size: 20px;}
  body.kt-top-preview-page .kt-service-sp__content > strong {font-size: 21px;}
}

/* Primary TOP calls to action: larger, with enough room for their copy.
 * Do not enlarge the utility buttons on shop/stock subpages. */
body.kt-top-preview-page .kt-two-line-cta strong {font-size: 20px;line-height: 1.45;}
body.kt-top-preview-page .kt-two-line-cta small {font-size: 12px;}
body.kt-top-preview-page .kt-service__actions .kt-btn,
body.kt-top-preview-page .kt-service-sp__actions .kt-btn {font-size: 20px;line-height: 1.45;}
body.kt-top-preview-page .kt-service__actions .kt-btn small,
body.kt-top-preview-page .kt-service-sp__actions .kt-btn small {font-size: 12px;}
body.kt-top-preview-page .kt-news__more,
body.kt-top-preview-page .kt-news__video-link {font-size: 18px;}
body.kt-top-preview-page .kt-contact__button {
  width: min(100%, 300px);
  min-height: 62px;
  font-size: 18px;
  letter-spacing: .03em;
  padding-inline: 24px;
}
@media (min-width: 1024px) {
  body.kt-top-preview-page .kt-pc-cta__link {width: 260px;}
  body.kt-top-preview-page .kt-pc-cta__text strong {font-size: 18px;line-height: 1.3;}
  body.kt-top-preview-page .kt-pc-cta__text small {font-size: 11px;letter-spacing: .18em;}
  body.kt-top-preview-page .kt-news__all {font-size: 15px;}
}
@media (min-width: 1024px) and (max-width: 1439px) {
  body.kt-top-preview-page .kt-service__actions .kt-btn {font-size: 18px;}
}
@media (max-width: 1023px) {
  body.kt-top-preview-page .kt-service-sp__actions .kt-btn,
  body.kt-top-preview-page .kt-service-sp__actions .kt-service__cta {font-size: 18px;}
  body.kt-top-preview-page .kt-two-line-cta strong {font-size: 19px;}
  body.kt-top-preview-page .kt-sp-cta a {font-size: 17px;}
}

/* Compact desktop: make BUSINESS options wide enough for the larger titles. */
@media (min-width: 1024px) and (max-width: 1119px) {
  body.kt-top-preview-page .kt-business__grid {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "copy" "meter" "photo" "rows";
    column-gap: 0;
    row-gap: 28px;
  }
  body.kt-top-preview-page .kt-business__copy { grid-area: copy; max-width: none; }
  body.kt-top-preview-page .kt-business-meter {
    grid-area: meter;
    width: min(100%, 620px);
    max-width: 620px;
    margin-inline: auto;
  }
  body.kt-top-preview-page .kt-business__photo {
    grid-area: photo;
    width: 100%;
    max-width: none;
    height: 300px;
    min-height: 300px;
    aspect-ratio: auto;
    margin: 0;
  }
  body.kt-top-preview-page .kt-business__rows {
    grid-area: rows;
    width: 100%;
    max-width: none;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 24px;
    margin: 0;
  }
}
/* Medium desktop service actions stack so the longer labels stay readable. */
@media (min-width: 1024px) and (max-width: 1359px) {
  body.kt-top-preview-page .kt-service__actions {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }
  body.kt-top-preview-page .kt-service__actions .kt-btn {
    flex: none;
    width: 100%;
    min-height: 78px;
  }
}
@media (min-width: 1360px) and (max-width: 1499px) {
  body.kt-top-preview-page .kt-service__actions .kt-btn {
    font-size: 19px;
    gap: 10px;
    padding-inline: 18px;
  }
  body.kt-top-preview-page .kt-service__actions .kt-btn:after { width: 24px; }
}


/* ==============================================================
   2026-10-29 | Approved pre-launch batch: targeted layout / line wrapping
   ============================================================== */

/* TOP SERVICE: keep labels on one line if room, otherwise wrap only at <wbr>. */
@media (min-width:1024px) {
  body.kt-top-preview-page .kt-service__tab strong {
    overflow-wrap: normal;
    word-break: keep-all;
    line-break: strict;
    text-wrap: wrap;
  }
}

/* TOP SERVICE + RECRUIT: editable prose flows automatically (not forced lines). */
body.kt-top-preview-page .kt-service__body,
body.kt-top-preview-page .kt-service-sp__body,
body.kt-top-preview-page .kt-recruit__copy > p {
  overflow-wrap: break-word;
  line-break: strict;
  text-wrap: pretty;
}
@supports (word-break: auto-phrase) {
  body.kt-top-preview-page .kt-service__body,
  body.kt-top-preview-page .kt-service-sp__body,
  body.kt-top-preview-page .kt-recruit__copy > p {
    word-break: auto-phrase;
  }
}
@media (min-width:1024px) {
  body.kt-top-preview-page .kt-recruit__copy { padding-right:clamp(20px,2.5vw,36px); }
}

/* TOP CONTACT: never leave the final one or two characters on a third line. */
body.kt-top-preview-page .kt-contact__heading-nowrap {
  display:inline-block;
  white-space:nowrap;
}
@media (max-width:1023px) {
  body.kt-top-preview-page .kt-contact__main h2 {
    font-size:clamp(22px,5.9vw,36px);
    letter-spacing:.015em;
  }
}

/* COMPANY ABOUT: photograph dissolves into the surrounding navy on its right;
 * give the adjacent text more room without touching the image source or mobile stack. */
@media (min-width:1024px) {
  body.kt-company-preview-page .kt-company-about__main {
    grid-template-columns:minmax(0,1.18fr) minmax(0,1fr);
    gap:0;
    align-items:center;
  }
  body.kt-company-preview-page .kt-company-about__visual--main {
    position:relative;
    overflow:hidden;
  }
  body.kt-company-preview-page .kt-company-about__visual--main::after {
    content:"";
    position:absolute;
    inset:0 0 0 auto;
    width:38%;
    background:linear-gradient(90deg,rgba(12,18,25,0),rgba(12,18,25,.48) 52%,#0C1219 100%);
    pointer-events:none;
  }
  body.kt-company-preview-page .kt-company-about__text {
    position:relative;
    z-index:1;
    min-width:0;
    margin-left:-12px;
    padding-left:0;
  }
}

/* COMPANY K.S GROUP: restore natural wrapping without changing published copy. */
body.kt-company-preview-page .kt-company-about__copy p,
body.kt-company-preview-page .kt-company-group__intro,
body.kt-company-preview-page .kt-company-group-card__head p,
body.kt-company-preview-page .kt-company-tabs__copy p,
body.kt-company-preview-page .kt-company-business-accordion__panel p,
body.kt-company-preview-page .kt-company-auto-card__body p {
  overflow-wrap: break-word;
  line-break: strict;
  text-wrap: pretty;
}

/* COMPANY automotive division: narrower logo/link column, wider description. */
body.kt-company-preview-page .kt-company-auto-card__logo {
  width:178px;
  max-width:100%;
  height:auto;
}
body.kt-company-preview-page .kt-company-auto-card__link {
  font-size:14px;
  letter-spacing:.01em;
}
body.kt-company-preview-page .kt-company-auto-card__link-label { gap:8px; }
@media (min-width:1024px) {
  body.kt-company-preview-page .kt-company-auto-card {
    grid-template-columns:minmax(0,1fr) minmax(0,235px);
    gap:clamp(20px,2.4vw,30px);
  }
  body.kt-company-preview-page .kt-company-auto-card__link {width:100%;min-width:0;}
}
@media (min-width:1024px) and (max-width:1279px) {
  body.kt-company-preview-page .kt-company-auto-card__link {font-size:13px;}
}
@media (max-width:1023px) {
  body.kt-company-preview-page .kt-company-auto-card__logo {width:168px;}
  body.kt-company-preview-page .kt-company-auto-card__link {font-size:13px;}
}

/* SHOP LIST: map hyperlink + arrow is one non-splittable inline unit. */
body.kt-shops-page .kt-shop-row__map-link {
  display:inline-block;
  white-space:nowrap;
  overflow-wrap:normal;
  word-break:keep-all;
  vertical-align:baseline;
}
body.kt-shops-page .kt-shop-row__map-link a {white-space:nowrap;}
@media (max-width:479px) {
  body.kt-shops-page .kt-shop-row__map-link a {font-size:14px;}
}

/* SHOP DETAIL: the rental title and its booking button occupy separate rows. */
body.kt-shop-detail-page .kt-shop-offerings__other-item[data-service="rental"] {
  flex-direction:column;
  align-items:stretch;
  justify-content:center;
  gap:10px;
}
body.kt-shop-detail-page .kt-shop-offerings__other-item[data-service="rental"] > strong {
  flex:none;
  white-space:nowrap;
  overflow-wrap:normal;
  word-break:keep-all;
}
body.kt-shop-detail-page .kt-shop-offerings__other-item[data-service="rental"] .kt-shop-offerings__other-links {
  align-items:flex-start;
  width:100%;
}
body.kt-shop-detail-page .kt-shop-offerings__other-item[data-service="rental"] .kt-shop-offerings__other-links a {
  width:auto;
  max-width:100%;
  box-sizing:border-box;
  white-space:normal;
  overflow-wrap:break-word;
}

/* SHARED FOOTER: previous lower-page rules capped the whole desktop nav at
 * 520px even when the rest of the footer was wide. Remove that cap only on PC. */
@media (min-width:1024px) {
  .kt-footer .kt-footer__nav {
    max-width:none;
    min-width:0;
  }
  .kt-footer .kt-footer__group-title,
  .kt-footer .kt-footer__nav-link { white-space:nowrap; }
}
@media (min-width:1024px) and (max-width:1599px) {
  .kt-footer .kt-footer__nav {
    display:grid;
    grid-template-columns:repeat(4,minmax(max-content,1fr));
    flex:1 1 0;
    width:100%;
    gap:clamp(14px,1.7vw,26px);
    margin-left:0;
  }
}
