/* ============================================= */
/* base.css — CubeMagic モダン基盤CSS (2026)      */
/* ============================================= */

/* --- CSS リセット --- */
*, *::before, *::after {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  scroll-behavior: smooth;
}

body {
  margin: 0;
  padding: 0;
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN",
               "Hiragino Sans", Meiryo, sans-serif;
  font-size: 15px;
  line-height: 1.6;
  color: #333;
  background: #fff;
  overflow-wrap: break-word;
  word-break: break-word;
}

img {
  border: 0;
  max-width: 100%;
  height: auto;
}

a {
  color: #0056b3;
  text-decoration: none;
}
a:hover {
  color: #c71585;
  text-decoration: underline;
}

ul { margin: 0.5em 0; padding: 0 0 0 1.5em; list-style: disc; text-align: left; }

table { border-collapse: collapse; }

/* --- テーブルレイアウト用レスポンシブ基盤 --- */
/* 構造テーブルが幅を超えないようにする */
body > table,
body > table > tbody > tr > td > table {
  width: 100%;
  max-width: 100%;
  table-layout: auto;
}

/* --- ページネーション (旧XOOPS互換) --- */
.pagneutral { font-size: 10px; width: 16px; height: 19px; text-align: center; }
.pagact     { font-size: 10px; width: 16px; height: 19px; text-align: center; }
.paginact   { font-size: 10px; width: 16px; height: 19px; text-align: center; }

/* --- メインメニュー --- */
#mainmenu a       { text-align: left; display: block; margin: 0; padding: 6px 4px; }
#mainmenu a.menuTop  { padding-left: 3px; }
#mainmenu a.menuMain { padding-left: 3px; }
#mainmenu a.menuSub  { padding-left: 12px; }

/* --- ユーザーメニュー (旧互換) --- */
#usermenu a           { text-align: left; display: block; margin: 0; padding: 4px; }
#usermenu a.menuTop   { }
#usermenu a.highlight { color: #0056b3; background-color: #fcc; }

/* --- 非表示テキスト (旧XOOPS互換) --- */
#xoopsHiddenText {
  position: absolute;
  width: 1px; height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}
