/* === 共通: ベース === */
body {
  margin: 0;
  font-family: "ヒラギノ角ゴ ProN","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",sans-serif;
  background-color: #fff;
  color: #000;
  font-size: 14px;
}

/* === 共通: ヘッダー === */
#header { background-color: #fff; border-bottom: 1px solid #ccc; }

.account-nav {
  display: flex; align-items: center; justify-content: space-between;
  padding: 10px 40px;
}
.account-nav h1 { margin: 0; font-size: 20px; font-weight: 700; }
.account-nav .site-title a {
  color: #000; text-decoration: none; display: flex; align-items: center; gap: 8px;
}

.account-nav ul { display:flex; list-style:none; margin:0; padding:0; }
.account-nav li { margin-left:20px; }
.account-nav a {
  color:#000; text-decoration:none; font-size:14px; display:flex; flex-direction:column; align-items:center;
}
.account-nav a p { margin:4px 0 0; font-size:12px; }

/* ナビ下の罫線（共通） */
.nav-divider { height:1px; background-color:#ccc; margin:0 40px; }

/* === 共通: フッター === */
#footer2 {
  background:#f6f6f6; padding:40px 20px; display:flex; flex-wrap:wrap; justify-content:space-between;
  border-top:1px solid #ccc; font-size:13px;
}
.footernavi2 { list-style:none; padding:0; margin:0 20px 20px 0; min-width:180px; }
.footernavi2 li { margin:6px 0; }
.footernavi2 a { text-decoration:none; color:#333; transition:color .2s ease; }
.footernavi2 a:hover { color:#000; }
.footer_title { font-weight:700; margin-top:10px; }
.footernavi2:last-child {
  display:flex; flex-direction:row; flex-wrap:wrap; gap:16px; min-width:100%; margin-top:20px; justify-content:center;
}
.footernavi2:last-child .footer_title a {
  color:#333; font-weight:600; padding:0; background:none; border:none; font-size:14px; text-align:center; letter-spacing:.4px; transition:color .3s ease;
}
.footernavi2:last-child .footer_title a:hover { color:#000; text-decoration:underline; }
#copyright {
  text-align:center; font-size:12px; color:#777; padding:20px 0; border-top:1px solid #ddd; background:#fafafa;
}
#pagetop { position:fixed; bottom:20px; right:20px; cursor:pointer; z-index:1000; }

/* === 共通: レイアウト（検索UIの土台など） === */
.main-content {
  display:flex; max-width:1200px; margin:40px auto; gap:30px; padding:0 20px;
}
.sidebar {
  width:250px; background:linear-gradient(to bottom,#f2f2f2,#e0ddd9);
  padding:20px; border-radius:3px; box-shadow:0 2px 6px rgba(0,0,0,.1); font-size:14px;
}
.sidebar h3 { font-size:18px; margin-bottom:15px; color:#333; }
.filter-section { margin-bottom:20px; }
.filter-section label { display:block; font-weight:700; margin-bottom:6px; color:#444; }
.filter-section input[type="text"],
.filter-section select {
  width:90%; padding:6px 10px; border:1px solid #bbb; border-radius:4px; font-size:14px;
}
.checkbox-list { display:flex; flex-direction:column; }
.checkbox-item { display:flex; align-items:center; gap:8px; font-size:14px; color:#333; }
.checkbox-item input[type="checkbox"] { margin-top:2px; flex-shrink:0; }
.checkbox-text { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.checkbox-label { font-weight:700; margin-bottom:2px; }
.checkbox-desc { font-size:13px; color:#666; }
.main-area { flex:1; }
.slider-values { margin-top:8px; font-size:13px; color:#444; }

/* 幅広時の中央寄せ（共通コンテナ化） */
@media (min-width:1024px){
  .account-nav,.nav-divider,#footer2,.main-content{
    max-width:1120px !important; margin-inline:auto !important;
  }
  .main-content{ padding-inline:16px !important; gap:16px !important; }
  .sidebar{ width:240px !important; }
}

/* モバイル共通 */
@media (max-width:799px){
  .main-content{ flex-direction:column; flex-wrap:nowrap; }
  .sidebar{ width:100%; margin-bottom:20px; }
}

html, body { overflow-x: hidden; }
