:root{
  --colorBrand:#292E72; --colorAccent:#bd9c69; --colorText:#222; --colorPaper:#fff;
  --spaceSm:.75rem; --spaceMd:1.25rem; --spaceLg:2rem;
}
.inContainer{margin:0 auto;}
.u_mtSm{margin-top:var(--spaceSm)} .u_mtMd{margin-top:var(--spaceMd)} .u_mtLg{margin-top:var(--spaceLg)}

.mainHeader_wrap{position:fixed;top:0;z-index:100;width: 100%;padding: 20px;}
.mainHeader_inner{align-items:center;justify-content:space-between;padding:10px 0}
.mainHeader_brandLink{font-weight:700;color:var(--colorBrand);text-decoration:none}
.mainHeader_navList{list-style:none;display:flex;gap:16px;margin:0;padding:0}

.neckArea_wrap{}
.neckBreadcrumbs_list{display:flex;gap:.5rem;list-style:none;margin:0;padding:6px 0;font-size:.9rem}
.neckBreadcrumbs_item a{text-decoration:none;color:#555}
.neckBreadcrumbs_item.is_current{color:#888}

.mainFooter_wrap{}
.widget_titleText{margin:0 0 .5rem;color:#555}

.postItem_titleText,.singleItem_titleText,.pageItem_titleText{margin:0}


/* -----------------------------
   Modern CSS Reset for Theme
   ----------------------------- */

/* 全要素の余白とボックスモデル */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/* デフォルトフォント設定を自然に */
html {
  -webkit-text-size-adjust: 100%;
  font-family: system-ui, -apple-system, BlinkMacSystemFont,
               "Segoe UI", Roboto, "Hiragino Kaku Gothic ProN",
               "Noto Sans JP", sans-serif;
  line-height: 1.5;
  scroll-behavior: smooth;
}

html, body {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
}

/* body のベース設定 */
body {
  min-height: 100vh;
  background-color: #fff;
  color: #222;
  font-size: 16px;
  font-weight: 400;
  text-rendering: optimizeLegibility;
}

/* aタグのリセット */
a {
  color: inherit;
  text-decoration: none;
}
a:hover,
a:focus {
  text-decoration: underline;
}

/* 画像・動画のスケールと表示 */
img,
svg,
video,
canvas {
  display: block;
  max-width: 100%;
  height: auto;
}

/* ul/ol の余白リセット */
ul,
ol {
  list-style: none;
}

/* 見出しの調整 */
h1,h2,h3,h4,h5,h6 {
  font-size: inherit;
  font-weight: inherit;
}

/* テーブル系 */
table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}

/* フォーム要素 */
button,
input,
select,
textarea {
  font: inherit;
  color: inherit;
  border: none;
  background: none;
  appearance: none;
}

/* buttonのクリックカーソル */
button {
  cursor: pointer;
}

/* スクロールバーを整える（Macでも違和感なし） */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
::-webkit-scrollbar-thumb {
  background: rgba(0,0,0,0.25);
  border-radius: 4px;
}

/* strong, b はより太く */
b, strong {
  font-weight: 600;
}

/* small, sub, sup のサイズ調整 */
small {
  font-size: 0.875em;
}
sub, sup {
  font-size: 0.75em;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sub { bottom: -0.25em; }
sup { top: -0.5em; }


/* ===============================
   FLEX
=============================== */
.u_flex { display: flex; }
.u_flex_between { display: flex; justify-content: space-between; align-items: center; }
.u_flex_center { display: flex; justify-content: center; align-items: center; }
.u_flex_wrap { display: flex; flex-wrap: wrap; }
.u_flex_col { display: flex; flex-direction: column; }
.flex_bl {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.flex_bl_between {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
}

@media screen and (max-width: 768px) {
    .u_flex,.u_flex_between,.u_flex_center,.u_flex_wrap,.u_flex_col,.flex_bl,.flex_bl_between  {display: block;}
}

/* ===============================
   GRID（よく使う2～3列だけ）
=============================== */
.u_grid { display: grid; gap: 1rem; }
@media (min-width: 768px) {
  .u_grid_tb2 { grid-template-columns: repeat(2, 1fr); }
  .u_grid_tb3 { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 1024px) {
  .u_grid_pc2 { grid-template-columns: repeat(2, 1fr); }
  .u_grid_pc3 { grid-template-columns: repeat(3, 1fr); }
}

/* ===============================
   TEXT / DISPLAY
=============================== */
.u_textCenter { text-align: center; }
.u_hidden { display: none !important; }
.u_block { display: block; }

/* ===============================
   COMMON WRAPPER
=============================== */
.u_container {
  width: min(92%, 1280px);
  margin-inline: auto;
}
