/* ===== 全ページ共通：スマホ崩れ最終パッチ ===== */
@media screen and (max-width: 768px){

  body{ -webkit-text-size-adjust: 100%; }

  /* 固定幅900px系を解除 */
  #hpb-container,
  #hpb-inner,
  #hpb-wrapper,
  #hpb-main,
  #hpb-aside,
  #hpb-header,
  #hpb-footer{
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    float: none !important;
    box-sizing: border-box !important;
  }

  /* ヘッダー：固定高さ＋隠す を解除（切れる原因） */
  #hpb-header{
    height: auto !important;
    overflow: visible !important;
    padding: 14px 10px !important;
  }
  #hpb-headerMain,
  #hpb-headerLogo,
  #hpb-headerExtra1{
    position: static !important;
    float: none !important;
    width: 100% !important;
    height: auto !important;
    overflow: visible !important;
    text-align: center !important;
  }
  #hpb-headerMain h1{
    white-space: normal !important;
    word-break: break-word !important;
  }

  /* ナビ：固定高さ＋overflow:hidden を解除して2列折り返し */
  #hpb-nav{
    width: 100% !important;
    height: auto !important;
    overflow: visible !important;
  }
  #hpb-nav ul,
  #hpb-nav li{
    height: auto !important;
    overflow: visible !important;
  }
  #hpb-nav li{
    width: 50% !important;
    float: left !important;
  }
  #hpb-nav li a{
    height: auto !important;
    overflow: visible !important;
    display: block !important;
    padding: 12px 8px !important;
    box-sizing: border-box !important;
  }

  /* 料金表など：スマホで横スクロールできるように（安全策） */
  table{
    max-width: 100% !important;
  }
  .hpb-cnt-tb1{
    display: block !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  /* Googleマップiframeが大きすぎる時の保険 */
  iframe{
    max-width: 100% !important;
  }
}
