@charset "Shift_JIS";

/* =======================================================
   Common.css (Clean Base)  - 2025-08
   役割: サイト全体のベースのみ（レイアウト/色決めは head.css）
   ポリシー:
   - 旧2カラム/サイドバー系のfloat撤去
   - ヘッダー/ナビ/パンくず/フッターは head.css に委譲
   - 衝突を避けるため、詳細なコンポーネント指定は行わない
======================================================= */

/* 1) リセット補助（reset.css後の軽い整形） */
html { box-sizing: border-box; -webkit-text-size-adjust: 100%; }
*, *::before, *::after { box-sizing: inherit; }

/* 2) タイプグラフィ（ベース） */
body {
  background: #fff;
  color: #333;
  line-height: 1.7;
  font-family: "Noto Sans JP", system-ui, -apple-system, "Segoe UI", Roboto, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  font-size: 16px;
}
img, svg, video, canvas, audio, iframe, embed, object { display: block; max-width: 100%; }
img { height: auto; }

/* 3) 見出しの余白（色やサイズは head.css 側で） */
h1, h2, h3, h4, h5, h6 { margin: 0 0 .6em; line-height: 1.3; }
p { margin: 0 0 1em; }
ul, ol { margin: 0 0 1em 1.2em; padding: 0; }
li { margin: .2em 0; }

/* 4) リンク（色は head.css が上書き） */
a { color: inherit; text-decoration: underline; }
a:hover { text-decoration: none; }

/* 5) レイアウト用コンテナ（固定幅をやめ、head.cssと整合） */
#container,
#contents_cnt,
.container {
  max-width: 960px;
  width: 100%;
  margin: 0 auto;
  padding: 0 16px;
}

/* 本文領域：旧2カラムのfloatを完全無効化（右寄せ/固定幅の根絶） */
#contents {
  float: none !important;
  width: 100% !important;
  display: block;
}

/* 旧サイドバー要素をニュートラル化（存在しても崩さない） */
#side, #top-side-l, #top-side-r, .sidebar, .sidemenu {
  float: none !important;
  width: auto !important;
  display: block;
}

/* 6) テーブル共通 */
table { border-collapse: collapse; width: 100%; }
th, td { padding: .6em .8em; border: 1px solid #e2e6ea; vertical-align: top; }
th { background: #f7f9fb; text-align: left; }

/* 7) フォームの素朴な整形 */
input, select, textarea, button {
  font: inherit;
  color: inherit;
}
input, select, textarea { border: 1px solid #ccd5dd; border-radius: 4px; padding: .45em .6em; }
button, [type="button"], [type="submit"] {
  border: 0; border-radius: 6px; padding: .55em .9em; cursor: pointer;
  background: #005bab; color: #fff;
}
button:hover, [type="button"]:hover, [type="submit"]:hover { opacity: .9; }

/* 8) 汎用ユーティリティ（最小限） */
.u-center { text-align: center !important; }
.u-right  { text-align: right !important; }
.u-left   { text-align: left !important; }
.u-nowrap { white-space: nowrap !important; }
.u-hidden { display: none !important; }

/* アクセシビリティ：視覚的に非表示だがスクリーンリーダーには読ませる */
.visually-hidden {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0 0 1px 1px); clip-path: inset(50%);
  white-space: nowrap; border: 0;
}

/* 9) 画像のはみ出し/余白 */
figure { margin: 0; }
img.alignleft  { float: left;  margin: 0 1em 1em 0; }
img.alignright { float: right; margin: 0 0 1em 1em; }
img.aligncenter{ display: block; margin: 0 auto 1em; }

/* 10) お知らせ等のリストを読みやすく（必要に応じ head.css で上書き） */
.list-plain { list-style: none; margin: 0; padding: 0; }
.list-plain li { padding: .6em 0; border-bottom: 1px solid #eee; }

/* 11) 印刷の最適化（最低限） */
@media print {
  a { text-decoration: none; }
  #container, #contents_cnt, .container { padding: 0; }
}

/* 12) 旧サイト依存の指定を明示的に撤去
   - 右側縦ナビ化、画像スプライト由来の text-indent 大逃し 等は head.css 管轄に一本化
   - ここでは .gn や .header-*, #list_cnt, フッター等を一切触らない
*/

