/* Responsive corrections for the corporate pages, after legacy styles. */
@media (max-width: 1199px) {
  html, body { overflow-x: clip; }
  #l-root { overflow-x: clip; }
  #top .p-section { width: 84%; margin-inline: auto; }
  #top .p-section__inner,
  #about #p-howtouse .p-section__inner { width: 100%; max-width: 100%; }
  #l-lowlayer-body-contents,
  #l-lowlayer-header-contents { width: 84%; max-width: 1080px; margin-inline: auto; }
  #l-lowlayer-body-contents { box-sizing: border-box; }
  .js__tsc-show, .js__tsc-splittext, .js__tsc-splittext * {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }
  #top .p-section-title-textbox .en,
  #about #p-howtouse .p-section-title-textbox .en { font-size: clamp(32px, 5.6vw, 60px); }
  #top .p-section-title-textbox .en *,
  #about #p-howtouse .p-section-title-textbox .en * { letter-spacing: .03em; }
  #top .p-section-title .no,
  #about #p-howtouse .p-section-title .no { display: none; }
  #l-lowlayer-header-contents-title .en { font-size: clamp(32px, 7vw, 72px); }
  #l-lowlayer-header-contents-title .en * { letter-spacing: .03em; }
  #top #p-about .p-section__inner { gap: 28px; }
  #top #p-networks .company-layout { grid-template-columns: 1fr; }
  #top #p-business .p-section__inner { gap: 28px; }
  .c-download { width: 100%; left: 0; box-sizing: border-box; }
  .c-download__inner { width: 84%; display: flex; flex-direction: column; gap: 32px; }
  .c-download-content { width: 100%; max-width: 460px; margin: 0 auto; }
  .c-download-content > .title .en { font-size: clamp(32px, 6vw, 54px); }
  .c-download-illust { width: min(100%, 360px); margin: 0 auto; }
  .c-download-illust > img { width: 100%; height: auto; }
  #top .contact-card__button, #about .contact-card__button { max-width: 100%; box-sizing: border-box; }
  .company-overview { grid-template-columns: 1fr; gap: 36px; }
  .inquiry-row { grid-template-columns: 1fr; gap: 16px; }
  #top #p-howtouse-list li .illust { max-width: 100%; }
  #l-lowlayer-body-contents .l-tab-content-column { gap: 32px; }
  #l-lowlayer-body-contents .l-tab-content-column-textbox { min-width: 0; }
}
@media (min-width: 751px) and (max-width: 1199px) {
  #top #p-howtouse-list { display: flex; gap: 20px; }
  #top #p-howtouse-list li { width: calc((100% - 40px) / 3); }
  #top #p-business .p-section__inner { grid-template-columns: 1fr; }
  #top #p-business-illust { max-width: 600px; margin-inline: auto; }
  #l-lowlayer-body-contents .l-tab-content-column { flex-direction: column; }
  #l-lowlayer-body-contents .l-tab-content-column-textbox { width: 100%; }
  #l-lowlayer-body-contents .l-tab-content-column-illust { max-width: 360px; margin: auto; }
}
@media (max-width: 750px) {
  #top .p-section-title-textbox .en,
  #about #p-howtouse .p-section-title-textbox .en { font-size: clamp(30px, 8vw, 48px); }
  #l-lowlayer-header-contents-title .en { font-size: clamp(30px, 8vw, 52px); }
  #top .p-section-title-textbox .jp,
  #about #p-howtouse .p-section-title-textbox .jp { font-size: 14px; }
  #top #p-business-illust { position: relative; top: auto; right: auto; left: auto; }
  #top #p-business-illust .recruit-center-button { width: 44%; font-size: 12px; padding: 10px 5px; gap: 4px; }
  #top .p-section-lead, #top #p-howtouse-list li dl dd { font-size: 14px; line-height: 1.9; }
  #l-lowlayer-header-contents-lead .jp { font-size: 14px; line-height: 1.9; }
  #l-lowlayer-header-contents { margin-top: 112px; height: auto; }
  #l-lowlayer-header { height: calc(440px + 90vw); align-items: flex-start; }
  #about #l-kv #p-about-stage.is-show { top: calc(370px + 12vw); }
  #l-lowlayer-body-contents .l-tab-content-column-illust { max-width: 100%; }
  #l-lowlayer-body-contents .l-tab-content-column-textbox { width: 100%; }
  .c-download-content > .text { font-size: 14px; letter-spacing: 0; }
  .c-download-content > .title .jp { font-size: 14px; }
  #top .care-hero img { transform: scale(1.04); }
}
@media (max-width: 1199px) {
  #l-header, #l-kv { width: 100vw; max-width: 100vw; }
  #l-kv { overflow: hidden; }
  #l-root #l-body, #l-lowlayer-body, #l-lowlayer-body__inner { width: 100%; min-width: 0; }
  #l-lowlayer-header-contents .js__splash-splittext,
  #l-lowlayer-header-contents .js__splash-splittext * { opacity: 1 !important; transform: none !important; }
  #top #p-about .p-section-title-textbox .en { font-size: clamp(32px, 5.6vw, 60px); }
}
@media (max-width: 750px) {
  #top #p-about .p-section-title-textbox .en { font-size: clamp(30px, 8vw, 48px); }
}
@media (max-width: 750px) {
  #about #l-kv { height: calc(440px + 90vw); }
}
@media (min-width: 751px) and (max-width: 1199px) {
  #about #p-howtouse #p-howtouse-list { display: flex; gap: 20px; }
  #about #p-howtouse #p-howtouse-list li { width: calc((100% - 40px) / 3); }
  #about #p-howtouse #p-howtouse-list li .illust { max-width: 100%; left: 0; }
}

/* Mobile header and dedicated portrait hero. */
#top .care-hero > .care-hero-mobile { display: none; }
@media (max-width: 750px) {
  #l-header__inner { flex-direction: row; align-items: center; }
  #l-header #l-header-logo { width: 180px; padding: 16px 0 0 20px; }
  #l-header #l-header-trigger {
    width: 48px;
    height: 48px;
    margin: 14px 20px 0 0;
    border-radius: 50%;
    flex-shrink: 0;
  }
  #l-header-trigger::after { display: none; }
  #l-header-trigger::before { width: 20px; background-size: 20px 2px; }
  #l-header-trigger[aria-expanded="true"]::before { background-size: auto; }
  #site-menu.site-menu { inset: 0; width: 100%; height: 100dvh; overflow-y: auto; overscroll-behavior: contain; }
  #site-menu .fv-nav__list { min-height: 100%; padding: 100px 28px 36px; gap: clamp(12px, 3vh, 28px); }
  #top .care-hero-part { display: none; }
  #top .care-hero { inset: 88px 12px 20px; }
  #top .care-hero > .care-hero-mobile {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    transform: none;
  }
  #top .care-float-layer { display: none; }
}
@media (max-width: 750px) {
  #site-menu.site-menu:not([hidden]) { display: block; }
}

/* Space inside the section that covers the mobile hero. */
@media (max-width: 750px) {
  #top #p-about .p-section-content { display: contents; }
  #top #p-about .p-section-title { grid-row: 1; margin-bottom: 0; }
  #top #p-about .about-care-visual { grid-row: 2; }
  #top #p-about .p-section-lead { grid-row: 3; margin: 0; }
  #top #p-about .read-more-button { grid-row: 4; margin-top: 0; }
  #top #p-about {
    padding-top: 48px;
    box-sizing: border-box;
  }
}

/* Move only the second edge decoration to the right on mobile. */
@media (max-width: 750px) {
  #top #p-networks .home-care-edge {
    left: auto;
    right: calc(-8vw - 1px);
    transform: scaleX(-1);
  }
}
