/* Company headings: a single Japanese heading for each section. */
html body.client-redline-v07.client-redline-v07.page-company .company-greeting__heading {
 display: block !important;
}
html body.client-redline-v07.client-redline-v07.page-company .company-greeting::before {
 top: 40px !important;
 right: clamp(24px, 4vw, 64px) !important;
 font-size: clamp(72px, 10vw, 144px) !important;
 color: #d7e1e7 !important;
 opacity: 1 !important;
 max-width: calc(100% - 48px);
}
@media(max-width:767px) {
 html body.client-redline-v07.client-redline-v07.page-company .company-greeting::before {
  top: 36px !important; right: 24px !important;
  font-size: clamp(40px, 11vw, 76px) !important;
 }
}
/* Direct contact remains reachable at the bottom-left on every page. */
html body .contact-fab-v41 {
 left: 12px; right: auto; width: 430px;
 animation: contact-enter-v42 .6s ease-out .2s both;
}
html body .contact-fab-v41 img { animation: contact-float-v42 5s ease-in-out 1s infinite; }
html body .contact-fab-v41:hover img,
html body .contact-fab-v41:focus-visible img { animation-play-state: paused; }
@keyframes contact-enter-v42 { from { opacity: 0; translate: 0 10px; } to { opacity: 1; translate: 0 0; } }
@keyframes contact-float-v42 { 0%, 65%, 100% { translate: 0 0; } 80% { translate: 0 -5px; } }
@media(max-width:767px) { html body .contact-fab-v41 { left: 4px; right: auto; width: 310px; max-width: calc(100vw - 16px); } }
@media(prefers-reduced-motion:reduce) {
 html body .contact-fab-v41, html body .contact-fab-v41 img { animation: none; }
}
