/* Global mobile responsive baseline, loaded after page-specific styles. */
@media (max-width: 900px), (pointer: coarse) {
  html {
    width: 100%; max-width: 100%; height: auto !important;
    overflow-x: hidden !important; overflow-y: auto !important;
    font-size: 100px !important;
    -webkit-text-size-adjust: 100%; text-size-adjust: 100%;
    touch-action: pan-y pinch-zoom;
  }
  body {
    position: static !important; width: 100%; max-width: 100%;
    height: auto !important; min-height: 100% !important;
    overflow-x: hidden !important; overflow-y: visible !important;
    overscroll-behavior-x: none; touch-action: pan-y pinch-zoom;
  }
  #bloc, #bloc > article.wrapper, article.wrapper {
    position: static !important; top: auto !important; right: auto !important;
    bottom: auto !important; left: auto !important;
    width: 100% !important; max-width: 100% !important;
    height: auto !important; min-height: 0 !important;
    overflow-x: clip !important; transform: none !important; will-change: auto !important;
  }
  .inner, .max-wid, .maxSize { max-width: 100%; min-width: 0; }
  .swiper-container { touch-action: pan-y pinch-zoom; overscroll-behavior-inline: contain; }
  img, svg, video, canvas, iframe { max-width: 100%; height: auto; }
  .f-80 { font-size: 40px !important; }
  .f-72 { font-size: 38px !important; }
  .f-60 { font-size: 34px !important; }
  .f-50, .f-48 { font-size: 32px !important; }
  .f-46, .f-44 { font-size: 30px !important; }
  .f-42, .f-40 { font-size: 28px !important; }
  .f-38, .f-36 { font-size: 26px !important; }
  .f-34, .f-32 { font-size: 24px !important; }
  .f-30, .f-28 { font-size: 22px !important; }
  .f-26, .f-24 { font-size: 20px !important; }
  .f-22 { font-size: 18px !important; }
  .f-20 { font-size: 17px !important; }
  .f-18 { font-size: 16px !important; }
  .f-16 { font-size: 15px !important; }
  .f-14 { font-size: 14px !important; }
  .f-12 { font-size: 13px !important; }
  #bloc article.wrapper p { font-size: clamp(14px, 3.75vw, 16px); line-height: 1.82; }
  #bloc article.wrapper small { font-size: max(12px, .12rem); }
  .scroll-animate { visibility: visible; }
  .method-table-scroll, .table-scroll, [class*="table-scroll"] {
    max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 767px) {
  .company-profile-page { padding: .72rem 0 .88rem !important; }
  .company-profile-inner {
    width: calc(100% - .32rem) !important;
    padding: .22rem .18rem .24rem !important; border-radius: .14rem;
  }
  .company-profile-reference-title span { font-size: .44rem !important; }
  .company-profile-reference-title b { font-size: .24rem !important; line-height: 1.4; }
  .company-profile-reference-content { padding: .18rem .04rem 0 !important; gap: .24rem !important; }
  .company-profile-reference-copy p {
    margin-bottom: .18rem !important; color: #425563 !important;
    font-size: 16px !important; line-height: 1.9 !important;
  }
  .company-profile-reference-photo img { height: 2.45rem !important; }
  .hon_name_box {
    display: block !important;
    position: absolute !important;
    top: 0 !important;
    left: -10000px !important;
    width: 320px !important;
    height: 100px !important;
    min-height: 100px !important;
    overflow: hidden !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
  .hon_name_box .swiper-container {
    width: 320px !important;
    height: 100px !important;
    min-height: 100px !important;
  }
  .hon_con_box {
    float: none !important;
    width: 100% !important;
    padding-right: .08rem !important;
    padding-left: .08rem !important;
  }
  .hon_con_box .swiper-container {
    height: auto !important;
    max-height: none !important;
    padding-bottom: .08rem !important;
  }
  .hon_tab_name { font-size: 16px !important; }
  .hon_name { font-size: 14px !important; line-height: 1.65 !important; }
  .un_r0 .tree, .un_r0 #treeName, .un_r0 .items li { font-size: 14px !important; }
}