@media (max-width:960px),
      screen and (max-device-width:960px) {
  body{padding-top:unset;}
  .header-wrapper .header-inner, .header-wrapper .mobile-search-bar, .header-wrapper .mobile-nav {
    zoom: 1.0;
    width: 100vw;
  }
  .header-wrapper header {
    width: 100vw;
  }
}

@media (max-width:960px){
  .header-wrapper {
    padding-top: 52px;
  }
  .header-wrapper .header-inner {
    height: 52px;
    padding: 0 20px;
  }
  .header-wrapper .topline {
    height: 2px;
  }

  .header-wrapper header{position:fixed;top:0;left:0;right:0;z-index:40;}
  .header-wrapper nav.main-nav{display:none;}
  .header-wrapper .page-overlay{display:none !important;}
  .header-wrapper .lang{display:none;}
  .header-wrapper .contact-link{display:none;}
  .header-wrapper .header-right{display:none;}
  .header-wrapper .pc-search-drawer{display:none !important;}
  .header-wrapper .mobile-actions{display:flex;}

  .header-wrapper .header-inner{position:relative;}
  .header-wrapper .mobile-menu-toggle{order:1;}

  .header-wrapper .logo img {
    width: 150px;
  }

  .header-wrapper .anniversary-logo {
    margin-left: 7px;
    padding-left: 7px;
  }
  .header-wrapper .anniversary-logo img {
    width: 80px;
  }

  .header-wrapper .icon-btn-lg{
    width:33px;height:33px;
  }
  .header-wrapper .mobile-menu-toggle,
  .header-wrapper .mobile-search-toggle{width:33px;height:33px;}

  .header-wrapper .header-left{order:2;text-align:center;align-items:center;}
  .header-wrapper .mobile-search-toggle{order:3;}

  .header-wrapper .mobile-search-bar{
    position:fixed;top:0;left:0;right:0;z-index:50;
    display:flex;align-items:center;gap:10px;
    padding:15px 17px;background:#fff;
    box-shadow:0 8px 20px rgba(20,40,60,0.15);
    transform:translateY(-100%);transition:transform .25s ease;
  }
  .header-wrapper .mobile-search-bar .drawer-close{
    width:27px;height:27px;border-radius:50%;background:#F3F9FE;
    display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;
  }
  .header-wrapper .mobile-search-submit{
    width:32px;height:32px;border-radius:50%;background:var(--blue);border:none;
    display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;
  }
  .header-wrapper #mobile-panel-search:checked ~ .mobile-search-bar{transform:translateY(0);}

  .header-wrapper .mobile-nav{
    display:block;
    position:fixed;top:52px;left:0;right:0;bottom:0;
    background:#fff;overflow-y:auto;z-index:30;
    opacity:0;visibility:hidden;transform:translateY(-12px);
    transition:opacity .25s ease,transform .25s ease,visibility .25s ease;
    border-top:1px solid var(--line);
  }
  .header-wrapper #mobile-panel-menu:checked ~ .mobile-nav{opacity:1;visibility:visible;transform:translateY(0);letter-spacing: -0.9px;}

  .header-wrapper #mobile-panel-menu:checked ~ .header-inner .mobile-menu-toggle .toggle-open{display:none;}
  .header-wrapper #mobile-panel-menu:checked ~ .header-inner .mobile-menu-toggle .toggle-close{display:flex;background:#F3F9FE;}

  /* ハンバーガーメニュー表示中は背景ページをスクロールさせない */
  body:has(#mobile-panel-menu:checked) {
    overflow: hidden;
  }

  .header-wrapper #mobile-panel-search:checked ~ .header-inner .mobile-search-toggle .toggle-open{display:none;}
  .header-wrapper #mobile-panel-search:checked ~ .header-inner .mobile-search-toggle .toggle-close{display:flex;background:#F3F9FE;}

  .header-wrapper .mobile-nav > ul{list-style:none;}
  .header-wrapper .mobile-nav > ul > li{border-bottom:1px solid var(--line);}
  .header-wrapper .mobile-nav details summary{
    list-style:none;cursor:pointer;
    display:flex;align-items:center;justify-content:space-between;
    padding:12px 16px;font-size:13px;font-weight:700;color:var(--ink);
  }
  .header-wrapper .mobile-nav details summary::-webkit-details-marker{display:none;}
  .header-wrapper .mobile-nav details summary::after{
    content:"+";font-size:17px;font-weight:400;color:var(--blue);
  }
  .header-wrapper .mobile-nav details[open] summary::after{content:"−";}
  .header-wrapper .mobile-nav .m-section{padding:3px 16px 15px;background:#FAFBFC;}
  .header-wrapper .mobile-nav .m-section h6{
    font-size:11px;color:var(--ink-sub);font-weight:700;margin:12px 0 7px;
  }
  .header-wrapper .mobile-nav .m-section h6.cat-top{
    font-size:13px;color:var(--ink);border-bottom:2px solid var(--blue);
    padding-bottom:7px;margin:14px 0 7px;
  }
  .header-wrapper .mobile-nav .m-section h6.cat-top a{color:inherit;text-decoration:none;display:block;}
  .header-wrapper .mobile-nav .m-section ul{list-style:none;}
  .header-wrapper .mobile-nav .m-section li{margin-bottom:2px;}
  .header-wrapper .mobile-nav .m-section a{
    display:block;padding:7px 0;font-size:12px;color:var(--ink);text-decoration:none;
  }
  .header-wrapper .mobile-nav .plain-link{
    display:block;padding:13px 16px;font-size:13px;font-weight:700;color:var(--ink);text-decoration:none;
  }

  /* ===== brand/customer group, visually separated from corporate-info rows ===== */
  .header-wrapper .mobile-nav .m-group-divider{
    height:8px;background:var(--paper);border-bottom:none;
  }
  .header-wrapper .mobile-nav li.m-pill-item{
    background:#EAF3FB;border-bottom:1px solid #DCEBF7;
  }
  .header-wrapper .mobile-nav li.m-pill-item details summary{
    color:var(--blue-dark);font-weight:700;
  }
  .header-wrapper .mobile-nav li.m-pill-item details summary::after{color:var(--blue-dark);}
  .header-wrapper .mobile-nav li.m-pill-item .m-section{background:#F3F9FE;}

  .header-wrapper .mobile-nav .m-tech-list li{margin-bottom:13px;}
  .header-wrapper .mobile-nav .m-tech-desc{
    font-size:11px;color:var(--ink-sub);line-height:1.6;margin-top:2px;
  }
  .header-wrapper .mf_finder_header .mf_finder_searchBox_items_wrapper {
    width: 100%;
  }
  .header-wrapper .mf_finder_header .mf_finder_searchBox_items {
    gap: 10px;
    box-shadow: unset;
    border: unset;
    padding: unset;
    align-items: center;
  }
  .header-wrapper .mf_finder_header .mf_finder_searchBox_query_input {
    flex: 1;
    border: 1px solid var(--line-strong);
    border-radius: 17px;
    padding: 7px 12px;
    font-size: 12px;
    outline: none;
    color: var(--ink);
    display: block;
  }
  .header-wrapper .mf_finder_header .mf_finder_searchBox_submit {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--blue);
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    cursor: pointer;
  }
  .header-wrapper .mf_finder_header .mf_finder_searchBox {
    width: 96%;
  }
}