/* 全ページ共通：横はみ出し防止（2026-10-06）
 * 画面表示だけに効かせ、印刷（A4 書面）の版式には影響させない。 */
@media screen{
  img,video,canvas,svg{max-width:100%}
  input,select,textarea,button{max-width:100%}
  input,select,textarea{min-width:0}
  /* 長い URL・英数字の連続で行が折り返せず画面からはみ出すのを防ぐ（A4 書面の中は対象外）。
   * anywhere ではなく break-word：anywhere は最小幅を1文字まで縮めるため、金額（¥6,887,691）や
   * バッジ（PRO）が flex/table 内で途中改行していた。break-word は収まらない時だけ折る。 */
  :where(p,li,dd,dt,td,th,h1,h2,h3,h4,figcaption,blockquote,a,small,b,span,label):not(.sheet *){overflow-wrap:break-word}
  /* グリッド/フレックスの子要素が中身の最小幅（日付入力・A4 プレビュー等）で列を押し広げるのを防ぐ */
  :where(.layout,.panel,.panel-scroll,.group,.row,.row2,.row3,.grid,.field,.fld,.amt,.lic-row,.calc,.card,.res,.result,.bar,label,[style*="grid-template-columns"]) > *{min-width:0}
  /* 入力パネル内の長い文例ボタンは折り返す */
  :where(.panel,.group) button{white-space:normal}
}
@media screen and (max-width:560px){
  /* A4 プレビューは枠内で横スクロール（ページ全体をはみ出させない） */
  .preview-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
}
@media screen and (max-width:600px){
  /* コラム記事の表（5列・長い番号を含む等）は表の枠内で横スクロール。番号を途中で折らない */
  article table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
}
