@charset "utf-8";
/* 2026-09-17 スマホ幅で共通ヘッダー・フッターを崩さないための上書き
   base.css の body{min-width:1000px} と固定幅レイアウトを767px以下だけ解除する。
   読み込みは viewport 指定のあるページのみ（/salon/ 配下、/product/hyperknife/faq/ など） */
@media (max-width: 767px) {
  body { min-width: 0 !important; }
  .base_box { width: auto !important; }
  img { max-width: 100%; height: auto; }

  /* ヘッダー */
  header .base_box { display: flex; align-items: center; justify-content: space-between; padding: 8px 12px; }
  header .h_logo { float: none !important; margin: 0 !important; width: 72px; }
  header .h_logo img { width: 72px; }
  header .h_info { float: none !important; width: auto !important; margin: 0 !important; }
  header .hnavi_list, header .hsns_list { display: none !important; }
  header .hinfo_list { display: flex; align-items: center; gap: 8px; margin: 0; }
  header .hinfo_list li { float: none !important; margin: 0 !important; padding: 0 !important; }
  header .hinfo_list li:nth-child(2) { display: none; }
  header .hinfo_list li span { display: none !important; }
  header .hinfo_list li:first-child img { width: 150px; }
  header .hinfo_list li:last-child img { width: 96px; }

  /* グローバルナビ（5項目を横並びで縮小） */
  #gnavi_list ul { display: flex; }
  #gnavi_list li { float: none !important; flex: 1 1 20%; width: auto !important; }
  #gnavi_list li img { width: 100%; }

  /* 右側の固定ボタンは本文と重なるので隠す（各ページ内にCTAあり） */
  #slink_list { display: none !important; }

  /* フッター */
  footer > .inner { padding: 24px 16px !important; }
  footer .base_box > div, .f_info, .fnavi, .fnavi_list,
  .fnavi_list:first-child, .fnavi_list:last-child {
    float: none !important; width: auto !important; margin-left: 0 !important; margin-right: 0 !important;
  }
  .f_info { margin-bottom: 24px !important; }
  .f_info .fb-page { display: none !important; }
  .fnavi_list { margin-bottom: 16px !important; }
  .attent_txt, .copy_txt { width: auto !important; font-size: 11px; margin: 0 !important; padding-left: 0 !important; padding-right: 0 !important; background-position: -999px 0; }
  .copy_txt { padding: 8px !important; margin-top: 16px !important; text-align: center; }
  .f_info ul.mb10 li { float: none !important; margin-bottom: 8px; }
}
