/* Corrections supported by local REFERENCE/TARGET rendered measurements. */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/plusjakartasans-semibold-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
body { line-height: 1.65; }
h1 { line-height: 1.4; }
h2, h3, h4, h5, h6 { line-height: 1.3; }
.home-section__header h2 { line-height: 1.3; }
.home-section__header p, .contact-page__label, .news-heading__subtitle { line-height: 1.3; }
.contact-page__title { line-height: 1.3; }
.news-heading__title { line-height: 1.4; }
.subpage-intro__title { line-height: 1.4; }
.subpage-intro__label { line-height: 1.3; }
.privacy-header .subpage-intro__title { line-height: 1.3; }
.privacy-header { max-width: 1260px; }
.privacy-content p { margin: 0 0 1.75em; }
.primary-navigation { padding-right: 10px; }
.home-pill { line-height: 1; }
.home-view-more { line-height: 1.3; }
.home-news-card { align-items: stretch; }
.home-news-card__more { display: block; height: 29.7px; padding-top: 7px; }
.home-recruit__body > .home-split__copy { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; }
.home-owner article { display: flex; flex-direction: column; align-items: flex-start; }
.home-owner h2 { width: 100%; padding: 0; margin-bottom: 15px; }
.home-owner p { width: 100%; padding: 0; margin-bottom: 1.75em; }
.home-owner .home-pill { margin-top: 5px; }
.error-404 h1 { color: #252525; }
/* EF-R2 A: actual CDP Poppins glyph identity and preserved local font resources. */
@font-face {
  font-family: 'Poppins'; font-style: normal; font-weight: 600; font-display: swap;
  src: url('../fonts/poppins-semibold-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: 'Poppins'; font-style: normal; font-weight: 500; font-display: swap;
  src: url('../fonts/poppins-medium-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
/* Matching fonts/line boxes; reference paragraph bottom margin accounts for drift. */
.service-intro__copy, .company-intro__copy { margin-bottom: 1.75em; }
.privacy-content p:last-child { margin-bottom: 1.75em; }
/* EF-R2 B: measured shared NEWS card structure, metadata and inline line box. */
.news-card__thumbnail { position: relative; display: block; align-self: flex-start; aspect-ratio: 10 / 7; }
.news-card__thumbnail img { position: absolute; inset: 0; height: 100%; min-height: 0; object-fit: cover; transform: scale(1.01); }
.news-card__content { display: flex; flex-direction: column; font: 400 18px/1.65 Inter, sans-serif; }
.news-card__title, .news-card__meta, .news-card__more { font-family: 'Noto Sans JP', sans-serif; }
.news-card__meta { margin: 0 0 15px; line-height: 1.3; color: #adadad; }
.news-card__more-wrapper { line-height: 1.65; }
.news-card__more { display: inline; text-align: left; }
.news-single__back a { line-height: 1; }
.news-post-nav { gap: 1px; }
.news-post-nav__title { font-size: 12.6px; font-weight: 500; line-height: 1.65; }
.news-post-nav__title { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
/* EF-R2 C: scoped paragraph metrics proven against paired rendered glyphs. */
.owner-lead p, .owner-list__item p, .owner-contact:not(.owner-contact--sell) p,
.owner-services p, .owner-flow li > p, .recruit-feature__body { margin-bottom: 1.75em; }
.contact-page__guidance { padding-inline: 0; line-height: 1.65; }
.contact-page__guidance p { margin-bottom: 1.75em; }
.contact-page__required-note { padding-top: 0; }
.mobile-navigation__menu a { line-height: 20px; }
.company-profile dt, .company-profile dd { line-height: 1.3; }
/* EF-R3 D: actual Noto glyph identity matches; reference note is 9px / 12px. */
.owner-flow li > .owner-flow__note { font-size: 9px; line-height: 12px; }
/* EF-R3 E: reference widget/P compound metrics; not downstream compensation. */
.service-store__name, .service-store__map { line-height: 1.3; }
.service-store__details { margin-bottom: 1.75em; }
.owner-list__item p { padding-bottom: 0; }
/* Actual pointer-hover trajectories: reference footer has color-only fade. */
.footer-navigation a { transition: color .3s ease; }
.footer-navigation a:hover, .footer-navigation a:focus-visible { color: #ccc; transform: none; }
.footer-navigation .current-menu-item > a,
.footer-navigation .current_page_item > a,
.footer-navigation .current-menu-ancestor > a,
.footer-navigation .current_page_ancestor > a { color: #ccc; }
.home-news-card__more { color: #54595f; }
.home-news .news-card__more { color: #54595f; }
.site-footer__external .brand-link:hover,
.site-footer__external .brand-link:focus-visible { opacity: 1; transform: none; }
.site-footer__external .brand-link__image { transition: transform .3s ease; }
.site-footer__external .brand-link:hover .brand-link__image,
.site-footer__external .brand-link:focus-visible .brand-link__image { transform: scale(.9); }
.social-links a { text-decoration: none; transition: opacity .3s ease; }
.social-links a:hover, .social-links a:focus-visible { opacity: .9; text-decoration: none; }
/* Native CF7 labels contain controls; reference has separate label/control rows.
   Keep all security/control DOM and settings; only measured presentation changes. */
.contact-page .wpcf7-form { display: block; }
.contact-page .contact-form__field { margin-bottom: 30px; }
.contact-page .contact-form__label { line-height: 20px; margin-bottom: 0; }
.contact-page label.contact-form__label > .wpcf7-form-control-wrap { margin-top: 10px; }
.contact-page .wpcf7-text, .contact-page .wpcf7-email, .contact-page .wpcf7-tel,
.contact-page .wpcf7-textarea { display: block; min-height: 47px; padding: 6px 16px; line-height: 24px; }
.contact-page .wpcf7-textarea { line-height: 1.4; }
.contact-page .contact-form__submit { position: relative; display: flex; justify-content: center; }
.contact-page .wpcf7-submit { width: auto; padding-inline: 100px; min-height: 47px; line-height: 1; background: #252525; color: #fff; border-color: #fff; }
.contact-page .wpcf7-spinner { position: absolute; right: 0; }
/* EF-R3 residual: matched form rows prove inline wrapped radios and retained
   final 30px group margin, rather than a six-row mobile grid / collapsed margin. */
.contact-page .wpcf7-form { display: flow-root; }
.contact-page fieldset.contact-form__field > p { margin: 0; }
.contact-page legend.contact-form__label { padding-bottom: 10px; }
.contact-page .wpcf7-radio { display: flex; flex-wrap: wrap; gap: 0 10px; font: 400 18px/1.65 Inter, sans-serif; }
.contact-page .wpcf7-list-item label { font: 500 16px/20px 'Noto Sans JP', sans-serif; }
.contact-page .wpcf7-list-item input[type=radio] { margin: 0 .28125em 0 0; font-size: 18px; }
.contact-page .contact-form__submit { margin: 0 0 30px; }
.contact-page__guidance br { display: none; }
@media (min-width: 1025px) {
  /* Actual reference background: cover with background-position 0% 0%. */
  .home-hero__image { object-position: 0% 0%; }
  /* Reference link is intrinsic 259px; its image is 40%, aligned to column edge.
     Native 40%-wide link plus shared external-column padding changed both geometry. */
  .site-footer__external { padding-right: 0; }
  .site-footer__external .brand-link { width: 259px; max-width: 100%; text-align: right; }
  .site-footer__external .brand-link__image { display: inline-block; width: 40%; }
  /* Post-D proof: PC reference note is 11px / 18.15px; 9px is responsive only. */
  .owner-flow li > .owner-flow__note { font-size: 11px; line-height: 1.65; }
  .owner-list__item h3 { margin-top: 0; }
  .company-makers__list img { width: 150px; max-width: 100%; }
  .company-makers__list img { margin-inline: auto; }
  /* Rendered probe: reference inner content is 1140px, not the 1260px shell. */
  .recruit-intro__lead { width: 1140px; margin-inline: auto; }
  .company-intro__lead, .company-intro__copy { width: 1140px; margin-inline: auto; }
  .recruit-intro .subpage-intro__title, .company-intro .subpage-intro__title,
  .recruit-intro .subpage-intro__label, .company-intro .subpage-intro__label { width: 1140px; margin-inline: auto; }
}
.owner-hero h1 { line-height: 1.4; }
.owner-hero h2 { line-height: 1.3; }
.home-about__copy { margin-bottom: 1.75em; }
.home-recruit__images figure:nth-child(1) { transition-delay: 500ms; }
.home-recruit__images figure:nth-child(2) { transition-delay: 800ms; }
.home-recruit__images figure:nth-child(3) { transition-delay: 1000ms; }
.site-branding__link { display: inline-block; width: 100%; max-width: 190px; font: 400 18px/1.65 Inter, sans-serif; }
.site-branding__logo { display: inline-block; vertical-align: middle; }
.site-footer__logo-link { height: 29.7px; font: 400 18px/1.65 Inter, sans-serif; }
.site-footer__logo { display: inline-block; height: 100%; vertical-align: middle; }
.site-footer__name { line-height: 1.2; }
.site-footer__telephone { line-height: 1.3; }
.footer-navigation a { display: block; }
.news-category-nav__link { font-size: 15px; }
.news-single__content p { margin: 0 0 1.75em; }
.news-single__content .wp-block-heading {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 600;
  line-height: 1.4;
  color: #1e293b;
  margin: 36px 0 17.2px;
}
@media (max-width: 1024px) {
  .news-card__content { font-size: 16.416px; }
  .news-card__title { margin-bottom: 3px; }
  .news-post-nav__title { font-size: 11.4912px; }
  .site-branding__link, .site-footer__logo-link { font-size: 16.416px; }
  .site-footer__logo-link { height: 27.0864px; }
  .home-hero { padding-bottom: 8.09375px; }
  .home-news { padding-top: 100px; padding-bottom: 100px; }
  .home-news-card__more { height: 27.0864px; padding-top: 6px; }
  .subpage-intro, .subpage-intro.recruit-intro, .subpage-intro.company-intro,
  .contact-page__inner, .privacy-page__inner { max-width: 640px; }
  .home-owner h2 { margin-bottom: 10px; }
  .home-owner .home-pill { margin-top: 0; }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .contact-page .wpcf7-text, .contact-page .wpcf7-email,
  .contact-page .wpcf7-tel, .contact-page .wpcf7-textarea { font-size: 16px; }
  .mobile-navigation__menu a { font-size: 16.416px; }
  .news-category-nav__link { font-size: 14px; }
  .home-recruit .home-section__header p { margin-block: 3px; }
}
@media (max-width: 767px) {
  .contact-page .wpcf7-radio { font-size: 16.416px; }
  .contact-page .wpcf7-list-item label { font-size: 14px; }
  .contact-page .wpcf7-list-item input[type=radio] { font-size: 16.416px; }
  .owner-list__item p { line-height: 18px; }
  /* Five matching text lines: reference 85px at 17px; native normal was 100px. */
  .service-intro__copy { line-height: 17px; }
  .news-card__meta { margin-bottom: 5px; }
  .news-card__more-wrapper { text-align: left; }
  .news-category-nav__link { font-size: 12px; }
  .home-wordmark-track > div { min-height: 27.0864px; }
  .home-news { padding-top: 50px; }
  .home-news__heading { display: block; }
  .home-news__heading .home-section__header { width: 100%; padding-bottom: 0; }
  .home-view-more { display: block; padding: 20px 0; text-align: right; }
  .home-recruit .home-section__header, .home-company .home-section__header { padding-bottom: 50px; }
  .home-company .home-split__copy h3 { line-height: 1.3; }
  .home-company .home-split__copy p { padding-right: 10px; line-height: 18px; }
  .home-owner h2 { margin-bottom: 15px; }
.home-hero__slide { padding: 200px 0 0 30px; }
  .home-hero__message { align-self: auto; padding: 0; }
}
/* EF-R5.1: measured Elementor hero caption paint and replayed fadeInUp trajectory. */
.js .home-hero__message {
  --home-caption-entry-distance: 160px;
  opacity: 1;
  transform: none;
  transition: none;
  text-shadow: 0 0 10px rgba(0, 0, 0, .3);
}
.home-hero__message.is-caption-entering { animation: home-caption-fade-in-up 1.25s ease; }
/* EF-R5.4: stage the server-rendered active caption before deferred HOME JS can run. */
body.home .home-hero .home-hero__slide.is-active .home-hero__message:not(.is-caption-entering) {
  opacity: 0;
  transform: translate3d(0, var(--home-caption-entry-distance), 0);
  animation: home-caption-pending-safety 0s linear 8s forwards;
}
.home-hero__message.is-caption-pending {
  opacity: 0;
  transform: translate3d(0, var(--home-caption-entry-distance), 0);
  animation: home-caption-pending-safety 0s linear 8s forwards;
}
@keyframes home-caption-fade-in-up {
  from { opacity: 0; transform: translate3d(0, var(--home-caption-entry-distance), 0); }
  to { opacity: 1; transform: none; }
}
@keyframes home-caption-pending-safety { to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
  body.home .home-hero .home-hero__slide.is-active .home-hero__message:not(.is-caption-entering),
  .home-hero__message.is-caption-entering,
  .home-hero__message.is-caption-pending { animation: none; opacity: 1; transform: none; }
}
@media (max-width: 1024px) {
  .js .home-hero__message { --home-caption-entry-distance: 76px; }
  .contact-page__guidance { line-height: 20px; }
}
@media (max-width: 767px) {
  .js .home-hero__message { --home-caption-entry-distance: 256px; }
}

/* EF-R5.3: the measured initial page fade belongs only to the WordPress HOME body. */
.site-header { animation: none; opacity: 1; }
body.home .site-header,
body.home .home-hero { animation: home-page-load-fade 2s ease 0s both; }
@keyframes home-page-load-fade { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  body.home .site-header,
  body.home .home-hero { animation: none; opacity: 1; }
}
/* EF-R4 F: first painted divergence, measured parent rules, not downstream offsets. */
.home-news .news-card__more:hover,
.home-news .news-card__more:focus-visible { color: #54595f; }
.service-video h2, .service-video p { text-align: center; }
.recruit-feature__number { line-height: 1.3; }
@media (min-width: 1025px) {
  .recruit-guideline-heading { max-width: 1140px; }
}
@media (min-width: 768px) and (max-width: 1024px) {
  /* The 600/500px values describe the inner content, not content minus padding. */
  .service-store { padding-inline: 0; }
  .recruit-features { padding-inline: 0; }
  .recruit-feature__card { grid-template-columns: 200px 60%; column-gap: 0; align-items: center; }
  .company-profile { padding-inline: 0; }
  .owner-list, .owner-flow { padding-inline: 0; }
  .home-news__heading .home-section__header { padding-bottom: 0; }
  .home-company .home-pill { padding-inline: 70px; }
}
@media (max-width: 767px) {
  .home-about__title-column { display: flex; flex-direction: column; align-items: center; }
  .recruit-intro__copy { line-height: 18px; }
  .recruit-feature__body { line-height: 20px; }
  .recruit-guideline__row > h3, .recruit-guideline__row > div { line-height: 20px; }
}
/* EF-R4 G: independently proven residual presentation rules. */
body { -webkit-font-smoothing: antialiased; }
/* Reference company wordmark slide width excludes its external inter-slide gap. */
.company-marquee { --company-gap: 120px; }
.company-marquee__track { width: calc(200% + var(--company-gap) * 2); }
.company-marquee__slide { flex: 0 0 calc(50% - var(--company-gap)); padding-right: 0; margin-right: var(--company-gap); }
.company-marquee__slide { font: 400 18px/1.65 Inter, sans-serif; }
.company-marquee__slide img { display: inline-block; vertical-align: middle; }
/* Reference three divider widgets are 15px + 1px line + 15px between content rows. */
.recruit-guideline { border-top: 0; }
.recruit-guideline__row { position: relative; padding-top: 31px; border: 0; }
.recruit-guideline__row:first-child { border-top: 0; }
.recruit-guideline__row::before { position: absolute; top: 15px; left: 0; right: 0; border-top: 1px solid var(--color-accent); content: ''; }
.recruit-guideline__row:last-child { padding-bottom: 31px; }
.recruit-guideline__row:last-child::after { position: absolute; bottom: 15px; left: 0; right: 0; border-top: 1px solid var(--color-accent); content: ''; }
.recruit-guideline__row > h3, .recruit-guideline__row > div { padding-block: 0; line-height: 1.3; }
.owner-contact a, .recruit-contact a { line-height: 1; }
.owner-list__item { display: flex; flex-direction: column; align-items: flex-start; }
.owner-list__item h3 { margin-top: 0; }
.owner-list__item p { width: 100%; }
.owner-flow__heading span { display: block; flex: none; font: 400 18px/1.65 Inter, sans-serif; }
.owner-flow__heading svg { display: inline-block; width: 35px; height: 35px; fill: currentColor; }
.owner-list__item, .owner-list__item:last-child,
.owner-flow li, .owner-flow li:last-child { border: 0; }
.owner-services .owner-services__note { padding-top: 0; line-height: 1.65; }
.owner-flow li > .owner-flow__note { padding: 0 10px 20px; }
.owner-flow li:nth-child(2) > p:not(.owner-flow__note) { padding-bottom: 0; }
@media (min-width: 1025px) {
  .owner-contact { padding-inline: 0; }
}
@media (max-width: 1024px) {
  .company-marquee { --company-gap: 50px; }
  .company-marquee__slide { font-size: 16.416px; }
  .recruit-guideline__row > h3, .recruit-guideline__row > div { line-height: 20px; }
  .owner-flow__heading span { font-size: 16.416px; }
  .owner-flow__heading svg { width: 25px; height: 25px; }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .recruit-feature:last-child { margin-bottom: 0; }
  .recruit-guideline-heading, .recruit-guideline { padding-inline: 0; }
  .owner-contact { padding-inline: 0; }
}
@media (max-width: 767px) {
  .company-marquee { --company-gap: 20px; }
  /* 20% is calculated from the 90%-wide inner content, not the viewport. */
  .site-footer { padding-top: 0; }
  .site-footer__inner { padding-top: 20%; }
  .site-footer__external { justify-content: flex-start; }
  .owner-list__item h3 { width: 100%; }
  .owner-flow__heading svg { width: 20px; height: 20px; }
  .owner-services article { display: flex; flex-direction: column; }
  .owner-services article + article { margin-top: 0; }
  .owner-services p { line-height: 20px; }
}
@media (max-width: 1024px) {
  .owner-flow li > .owner-flow__note { padding-bottom: 10px; }
}
/* EF-R4 G residual: profile uses the same measured 31px divider rhythm. */
.company-profile dl { border-top: 0; }
.company-profile__row { position: relative; padding-top: 31px; border: 0; }
.company-profile__row dt, .company-profile__row dd { padding-block: 0; }
.company-profile__row::before { position: absolute; top: 15px; left: 0; right: 0; border-top: 1px solid var(--color-accent); content: ''; }
.company-profile__row:last-child { padding-bottom: 31px; }
.company-profile__row:last-child::after { position: absolute; bottom: 15px; left: 0; right: 0; border-top: 1px solid var(--color-accent); content: ''; }
/* Reference maker widget has a second 20px container inset outside its border. */
.company-makers { display: flow-root; }
.company-makers > h2 { margin: 20px; }
@media (min-width: 768px) and (max-width: 1024px) {
  /* Body spans the complete row; the heading remains 60% of that row. */
  .recruit-feature__card { grid-template-columns: 200px 1fr; }
  .recruit-feature__heading { width: calc((100% + 200px) * .6); }
}
@media (max-width: 767px) {
  .company-intro__copy { line-height: 17px; }
  .owner-flow li > p:not(.owner-flow__note) { line-height: 18px; }
}
@media (max-width: 1024px) {
  .owner-flow li:nth-child(5) > p, .owner-flow li:nth-child(6) > p { line-height: 20px; }
}
/* Measured first hero photograph is centred only on responsive breakpoints. */
.home-hero__image { object-position: 0% 0%; }
.service-video h2 { line-height: 1.3; }
.service-video p { line-height: 1.2; }
.company-access { max-width: 1140px; margin-inline: auto; }
.company-access__details p { margin-bottom: 1.75em; }
/* Reference fields wrapper cancels the terminal group's 30px bottom margin. */
.contact-page .contact-form__submit { margin-bottom: 0; }
/* EF-R5.2: reference required marker is a generated baseline asterisk, not a star glyph. */
.contact-page .contact-form__required {
  margin-left: 0;
  font-size: 0;
  line-height: 0;
  vertical-align: baseline;
}
.contact-page .contact-form__required::after {
  color: #252525;
  content: "*";
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 20px;
  padding-left: 3.2px;
  vertical-align: baseline;
}
/* OWNER heading widgets use the shared one-shot observer and their rendered height as travel. */
.js .owner-hero [data-partner-reveal-direction="up"]:not(.is-visible) { transform: translate3d(0, 100%, 0); }
/* EF-R5 Batch H: repair shared first-divergence causes, not downstream offsets. */
.owner-hero { background-position: 0% 0%; }
.home-news-card__more:hover, .home-news-card__more:focus-visible { color: #54595f; }
.news-post-nav > div, .news-post-nav a { min-width: 0; }
.news-single__content figure { box-shadow: 0 0 30px rgba(0, 0, 0, .15); }
.news-single__content p a { color: #060097; text-decoration: none; }
.error-404__home { background-color: #252525; }
/* EF-R5 targeted Navigation: measured popup canvas, mask and identity wrapper. */
.mobile-navigation__overlay { background-color: rgba(0, 0, 0, .8); }
.mobile-navigation__panel { transition-timing-function: cubic-bezier(.75, 0, .75, .9); }
.mobile-navigation.is-open .mobile-navigation__panel { transition-timing-function: ease; }
.mobile-navigation__identity { font-size: 16.416px; line-height: 24.624px; }
.mobile-navigation__logo { display: inline-block; vertical-align: middle; }
.owner-link--mobile { width: auto; display: inline-block; padding: 12px 24px; border: 1px solid var(--color-primary); line-height: 1; letter-spacing: 0; }
.mobile-navigation__menu a { font-size: 16px; }
@media (min-width: 768px) and (max-width: 1024px) {
  .mobile-navigation__panel { width: min(640px, 100%); right: max(0px, calc((100% - 640px) / 2)); }
  .mobile-navigation__social .brand-link--mobile { margin-right: 15px; }
}
@media (max-width: 767px) {
  .mobile-navigation__identity { width: 220px; }
  .mobile-navigation__social .brand-link--mobile { margin-right: 10px; }
}
@media (min-width: 1025px) {
  .recruit-wide-image { max-width: none; }
  .recruit-intro__copy { width: 1140px; margin-inline: auto; }
  .recruit-feature { display: flex; }
  .recruit-feature__card { width: 100%; }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .owner-sell-lead { padding-inline: 0; }
}
@media (max-width: 767px) {
  .owner-contact--sell { padding-top: 20px; padding-bottom: 150px; }
  .owner-contact--sell h3 { padding-bottom: 40px; }
}
@media (min-width: 1025px) {
  .home-company .home-split__copy p { padding-right: 70px; }
}
@media (min-width: 768px) {
  .recruit-contact { padding-inline: 0; }
}
@media (max-width: 1024px) {
  /* Stable original-image identity survives the slider's DOM loop rotation. */
  .home-hero__image[fetchpriority="high"] { object-position: 50% 50%; }
  .service-video__inner { padding-bottom: 0; }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .service-video__inner { padding-inline: 0; }
  .company-access { max-width: 600px; padding-inline: 0; }
}
@media (max-width: 767px) {
  /* Reference wraps both full-width children, with map above the address. */
  .company-access { flex-direction: column-reverse; }
  .company-access__details, .company-access__map { width: 100%; }
  .company-access__details h3 { line-height: 1.3; }
  /* Reference mobile Posts frame is 35%-wide at 4:3, with no terminal list inset. */
  .news-card__thumbnail { aspect-ratio: 4 / 3; }
  .news-list { padding-bottom: 0; }
}
