/*全ページ共通*/
* {
  text-decoration: none;
}
.underline {
  text-decoration: underline;
}
.background-color-white {background-color: white;}

/* title-band を h1 で使う場合のデフォルト打ち消し */
h1.title-band {
  font-weight: inherit;
}

/* === ヘッダー === */
.header {
  font-family: "Hiragino Mincho ProN", "MS PMincho", "Noto Serif JP", "Yu Mincho", serif;
  background-color: #1a1517;
  color: #fff;
  font-size: 1.6rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 12px;
  position: relative;
}
.header span {
  color: #e6005a;
}
.header a {
  color: inherit;
  display: inline-block;
  font-weight: bold;
}
.menu-toggle {
  width: 24px;
  height: 24px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  cursor: pointer;
  padding: 0;
  margin-left: auto;
}
.menu-toggle span {
  display: block;
  height: 2px;
  background-color: #fff;
  border-radius: 2px;
}
.popup-menu {
  list-style: none;
  margin: 0;
  padding: 8px 0;
  display: none;
  position: absolute;
  top: 100%;
  right: 20px;
  background-color: #1a1517;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
  z-index: 1000;
  min-width: 180px;
  border-radius: 2px;
  font-family: "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

.popup-menu li {
  margin: 0;
  list-style:none;
}
.popup-menu li a {
  display: block;
  padding: 10px 16px;
  color: #fff;
  font-size: 0.85rem;
  transition: background-color 0.2s ease;
  font-weight: normal;
}

.popup-menu li a:hover {
  background-color: #37223a;
}

/* === フッター === */
footer {
  background-color: #000;
  color: #fff;
  padding: 20px;
  text-align: center;
  font-size: 0.9rem;
}
.footer-links {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}
.footer-links a {
  color: #fff;
}
.footer-links a::after {
  content: " ＞";
}

/* === ボディ(共通) === */
body {
  font-family: "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  margin: 0;
  padding: 0;
  background-color: #f8f8f8;
  overflow-x: hidden;
}
.container {
  background-color: #f8f8f8;
  padding: 20px;
  box-sizing: border-box;
  width: 100%;
  min-height: 50vh;
  justify-content: center; 
}
.title-band,.section-title {
  font-size: 1.2rem;
  text-align: center;
  padding: 8px;
  margin-top: 30px;
  margin-bottom: 10px;
  position: relative;
}
.title-band::after,.section-title::after{
  content: "";
  display: block;
  height: 2px;
  background-color: #fff;
  width: 90%;
  margin: 8px auto 0;
}
.search-request-byname{
  font-size: 0.8em;
}
.back-link-fixed,.member-back {
  position: fixed;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  padding: 8px 10px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
  transition: background-color 0.2s ease;
  z-index: 9999;
}
@media (min-width: 768px) {
  .container {
    max-width: 60%;
    margin: 8px auto 0;
  }
  body.wide .container {
    max-width: 90%;
  }

  body.narrow .container {
    max-width: 30%;
  }

  body.default .container {
    max-width: 45%;
  }
}

/* === 個別ページ別デザイン === */
/*index.php*/
.icon-menu {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 30px;
  padding: 20px 0;
}
.icon-menu a {
  display: flex;
  align-items: center;
  gap: 16px;
  font-size: 1.2rem;
  font-weight: bold;
  color: #000;
}
.icon-menu img {
  width: 40px;
  height: 40px;
}
.today, .updates {
  padding: 0 20px;
  font-size: 0.95rem;
  line-height: 1.6;
}
.view-more {
  display: block;
  text-align: center;
  margin: 20px auto;
  padding: 12px 24px;
  background-color: #ddd;
  border-radius: 8px;
  color: #333;
  font-weight: bold;
}

/*検索画面*/
.form-box {
  max-width: 80%;
  margin: 30px auto;
}
.section-label {
  font-weight: bold;
  margin: 20px 0 8px;
  position: relative;
  padding-left: 0.2em;
}
.section-label::before {
  position: absolute;
  left: 0;
  top: 0;
}
select, input[type="text"] {
  width: 80%;
  padding: 10px;
  margin-top: 6px;
  border: 1px solid #ccc;
  border-radius: 8px;
  font-size: 1rem;
}
.radio-group label,
.checkbox-row label {
  font-size: 0.95rem;
}
.radio-group {
  display: flex;
  flex-direction: column;
  gap: 3px;
  margin-top: 10px;
}
.checkbox-row {
  flex-direction: column;
  gap: 6px;
  margin-top: 10px;
}
input[type="radio"],
input[type="checkbox"] {
  margin-right: 6px;
}
button[type="submit"] {
  padding: 8px 12px;
  border: none;
  font-size: 1rem;
  width: 60%;
  margin-top: 30px;
  cursor: pointer;
  transition: 0.3s;
  display: block;            
  margin: 30px auto 0;   
}

/*楽曲検索*/
.member-group-block {
  margin-bottom: 1.5em;
  padding-bottom: 0.5em;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}
.generation-label {
  margin-top: 0.5em;
  font-weight: bold;
  color: #555;
}
.toggle-button {
  background-color: transparent;
  border: none;
  font-weight: bold;
  font-size: 1em;
  cursor: pointer;
  margin-top: 0.5em;
}
.toggle-button.small {
  font-size: 0.95em;
  margin-left: 1em;
}
.group-content {
  display: none;
  padding-left: 1em;
}
.generation-content {
  display: none;
}
#search_songs .table-container {
  width: 100%;
  margin-top: 20px;
  /* overflow-x: auto; は削除 */
}

#search_songs .table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed; /* 固定幅で折り返し対応 */
}

#search_songs .table th,
#search_songs .table td {
  padding: 8px;
  text-align: left;
  border: 1px solid #ccc;
  word-break: break-word; /* セル内折り返し */
  white-space: normal;  /* ← 明示的に追加 */
}

/*検索結果テーブル*/
.table-container {
  max-height: 500px;
  overflow-x: auto;
  overflow-y: auto;
  padding: 0 10px;
  margin: 30px auto;
}
.table-container.noYscroll {
  overflow-y: visible; /* ← 縦スクロール無効 */
  max-height: none;    /* ← 高さ制限を解除 */
}
.table-container table {
  width: max-content;
  min-width: 100%;   
  table-layout: auto;
  border-collapse: separate;
  border-spacing: 0;
  background-color: #fff;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}
.table-container th {
  position: sticky;
  top: 0;
  left: 0;
}
th, td {
  padding: 10px 12px;
  text-align: left;
  border-bottom: 1px solid #ddd;
  border-right: 1px solid #ddd;
  font-size: 0.8rem;
  word-break: break-word;
  white-space: nowrap;
}
th:last-child,
td:last-child {
  border-right: none;
}
th {
  color: #333;
  font-weight: bold;
}
.table-container th:first-child,
.table-container td:first-child {
  position: sticky;
  left: 0;
  z-index: 1;
}
.table-container th:first-child {
  z-index: 2;
}
.song-title-cell {
  max-width: 160px;   
  white-space: normal;
  word-break: break-word;
  background-color: white;
}
.live-date-cell {
  background-color: white;
}
.member-name-cell {
  white-space: normal;
  word-break: break-word;
}
tr:hover td {
  background-color: #e4eaef;
  transition: background-color 0.2s ease;
}
@media (max-width: 767px) {
  .container {
    justify-content: flex-start;
  }
  
  .table-container {   
    overflow-x: auto;               /* 横スクロール有効 */
    padding: 0;
    margin: 0 auto;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
    background-color: #fff;
  }
  
  .table-container table {
    width: max-content;            /* 中身に応じて幅が決まる（＝スクロール発動） */
    min-width: 100%; 
    margin: 0 ;
    border-collapse: collapse;
    font-size: 0.9rem;
  }
  
  .song-title-cell {
    max-width: 110px;   
  }
  .member-name-cell {
    max-width: 60px; 
  }
}

/* === 楽曲詳細・アルバム詳細用 ジャケット新デザイン（130px版） === */
.song-jacket-wrapper {
  width: 140px;  /* ジャケット130px + 少し余裕 */
  display: flex;
  justify-content: center;
  align-items: center;
}
.song-jacket-box {
  width: 130px;        /* ★ サイズを130pxに変更 ★ */
  aspect-ratio: 1 / 1;
  border-radius: 10px; /* 角丸少し強めでカード感UP */
  overflow: hidden;
  position: relative;
  box-shadow:
      0 8px 18px rgba(0,0,0,0.25),
      0 3px 8px rgba(0,0,0,0.15);
  display: flex;
  justify-content: center;
  align-items: center;
}
.song-jacket-box img.song-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.song-jacket-box .dummy-content {
  width: 100%;
  height: 100%;
  padding: 12px;     /* 130pxに最適化 */
  color: white;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.song-jacket-box .dj-artist {
  font-size: 14px;   /* ← 小さめでバランス調整 */
  font-weight: bold;
  margin-bottom: 6px;
}
.song-jacket-box .dj-title {
  font-size: 11px;   /* ← 長いタイトルでも収まりやすい */
  opacity: 0.95;
  line-height: 1.25em;
}
.dj-disc {
  font-size: 10px;
  opacity: 0.9;
  margin-top: 4px;
  line-height: 1.2em;
}
/* === グループ別 3色ダイナミックグラデーション（方向性①） === */
.song-jacket-box.nogizaka {
  background: linear-gradient(
    135deg,
    #6c347f 0%,   /* 少し濃い紫 */
    #a36ac7 45%, /* 中間も濃度UP */
    #c7a5e6 100% /* 端だけ軽く濃化 */
  );
}
.song-jacket-box.sakurazaka {
  background: linear-gradient(
    135deg,
    #e68fdc 0%,   /* ほんの少し暗めピンク */
    #f5bce9 45%,
    #f7d5f0 100%
  );
}
.song-jacket-box.hinatazaka {
  background: linear-gradient(
    135deg,
    #58afd0 0%,   /* 濃い空色寄り */
    #8ccce7 45%,
    #c6eaf8 100%
  );
}
.song-jacket-box.keyakizaka {
  background: linear-gradient(
    135deg,
    #79b678 0%,   /* 緑の濃度を少し増す */
    #9fd8a0 45%,
    #c9edc9 100%
  );
}
.song-jacket-box.default-group {
  background: linear-gradient(
    135deg,
    #39293f 0%,   /* ダークパープル寄りへ */
    #604360 45%,
    #8c6a90 100%
  );
}

/*楽曲詳細(フォーメーション)*/
.formation-block {
  text-align: center;
  margin-top: 10px;
  padding: 10px;
}
.formation-row {
  display: flex;
  justify-content: center;
  margin-bottom: 15px;
}
.formation-member {
  border-radius: 50%;
  width: 60px;
  height: 60px;
  line-height: 60px;
  margin: 0 5px;
  text-align: center;
  font-weight: bold;
  font-size: 14px;
  box-shadow: 2px 2px 5px rgba(0,0,0,0.2); /* 立体感 */
  transition: transform 0.2s ease;
}
.formation-member:hover {
  transform: scale(1.1);
  cursor: default;
}
@media (max-width: 768px) {
/* 大サイズ (5人以下)*/
.formation-row.large .formation-member {
  width: min(14vw, 70px);
  height: min(14vw, 70px);
  line-height: min(14vw, 70px);
  font-size: 12px;
  margin: 0 4px;
}
/* 通常サイズ (6-人)*/
.formation-row.normal .formation-member {
  width: min(11vw, 50px);
  height: min(11vw, 50px);
  line-height: min(11vw, 50px);
  font-size: 10px;
  margin: 0 3px;
}
/* 人数が多いとき（6人以上） */
.formation-row.small .formation-member {
  width: min(9vw, 40px);
  height: min(9vw, 40px);
  line-height: min(9vw, 40px);
  font-size: 9px;
  margin: 0 2px;
}
}

/*楽曲詳細(披露ライブ)*/
/* 楽曲別ライブ一覧ページ専用（幅調整など） */
.song-live-list .live-table .col-date {
  width: 10% !important;
}
.song-live-list .live-table .col-tour-name {
  width: 30% !important;
}
.song-live-list .live-table .col-live-name {
  width: 15% !important;
}
.song-live-list .live-table .col-venue {
  width: 25% !important;
}

/*アルバム詳細*/
.album-youtube {
  width: 100%;
  max-width: 720px; /* 大画面では横幅制限 */
  aspect-ratio: 16 / 9; /* 比率を保つなら */
  position: relative;
}
.album-youtube iframe {
  width: 100%;
  height: 100%;
  border: none;
  display: block;
  border-radius: 8px; /* オプション：角丸 */
}
.formation-title {
  display: block;
  width: 80%;
  margin: 24px auto 0;
  text-align: center;
  padding-bottom: 0;
  color: #433046;
}
.hyoudai_under{
  font-size: 80%;
}

/*検索画面*/
#search_members .radio-group,#search_songs .radio-group,#search_lives .radio-group,#search_albums .radio-group,#group-members .radio-group,#members-age-list .radio-group,#songs-bpm-list .radio-group,#songs-livecount-list .radio-group{
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  /*gap: 16px;*/
  margin-top: 0;
}
#search_members .radio-group label,#search_songs .radio-group label,#search_lives .radio-group label,#search_albums .radio-group label  {
  display: inline-flex;
  align-items: center;
}
#search_members input[type="text"],#search_songs input[type="text"],#search_albums input[type="text"] {
  display: block;
  margin: 0 auto;
}
#search_members .radio-group,
#search_members #active-only,#search_songs .radio-group,#search_songs #active-only,#search_lives .radio-group
#search_lives #active-only {
  margin-bottom: 0;
}
#search_members #active-only:checked,#search_songs #active-only:checked {
  margin-bottom: 0;
}
#search_members #group-select + div,#search_songs #group-select + div {
  margin-bottom: 0;
}
#search_members .table-container,#search_songs .table-container,#search_lives .table-container,#search_albums .table-container {
  margin-top: 0;
  padding: 0;
}
#search_members .list-in-searchpage,#search_songs .list-in-searchpage,#search_lives .list-in-searchpage {
  margin: 30px;
}
@media (max-width: 767px) {
  #search_members .list-in-searchpage,
  #search_songs .list-in-searchpage,
  #search_lives .list-in-searchpage {
    margin-left: 0;
    margin-right: 0;
  }
}
#search_lives .radio-group {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
#search_lives .year-filter-row {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: nowrap;
}
#search_lives .filter-label {
  white-space: nowrap;
}
.song-table, .member-table, .live-table{
  margin-top: 5px;
}
#year-filter {
  font-size: 14px;     /* 文字サイズを小さくする */
  padding: 4px 8px;     /* 内側の余白を調整 */
  height: 32px;         /* 高さを直接指定（必要なら） */
  width: auto;          /* 幅を自動調整または指定 */
}
@media (max-width: 767px) {
  #search_lives .year-filter-row {
    flex-direction: row;
    margin-bottom: 8px; /* ← これが余白の鍵！ */
  }
  #search_lives #year-filter {
    width: 100%;
    max-width: 150px;
    font-size: 14px;
    padding: 6px 10px;
  }
  #search_lives .table-container {
    margin-top: 0; /* 明示的に指定（必要なら） */
  }
}
/*メンバー詳細(共通・プロフ)*/
.member-tabs .active {
  font-weight: bold;
}
.coming-soon{
  text-align: center;
  padding: 30px 5px;
}
.member-summary table {
  width: 100%;
  border-collapse: collapse;
  background-color: white;
  font-size: 0.95rem;
  margin-bottom: 30px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}
.member-summary th,
.member-summary td {
  padding: 12px 16px;
  border: 1px solid #ddd;
  text-align: left;
}
.member-summary th {
  background-color: #f3edf5;
  width: 40%;
}
.call-name-row {
  display: flex;
  align-items: center;
}
.psyllium-color {
  width: 24px;
  height: 12px;
  display: inline-block;
  border: 1px solid #ccc;
  margin-left: 4px; /* call_nameとの間隔だけ設定 */
}
.member-profile {
  display: flex;
  gap: 16px;
  align-items: stretch;
  padding: 0 10px;
}
.member-photo {
  width: 120px;
  height: auto;
  max-height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.9rem;
  border-radius: 8px;
}
.member-photo img {
  max-height: 140px;
  height: auto;
  width: auto;
  max-width: 100%;
  object-fit: contain;
  display: block;
  box-shadow: 0 2px 12px rgba(0, 0, 0.1, 0.2); /* ← ここで影を追加 */
}
.member-photo span {
  background-color: #ddd;
  width: 120px;
  height: 140px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #888;
  font-size: 0.9rem;
  border-radius: 8px;
}
/* カード全体 */
.member-photo.group-card {
  width: 120px;
  height: 140px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  text-align: center;
  padding: 8px;
  box-sizing: border-box;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.2);
}

/* 内側コンテナ */
.member-photo .card-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
}
/* ◢ の部分 */
.card-symbol {
  font-size: 40px;   /* ←大きさは自由に調整OK */
  line-height: 1;
  margin-bottom: 6px;
}
/* グループ名 + 期生 */
.card-label {
  font-size: 14px;
  line-height: 1.3;
}

/* ▼ グループ別カラー（必要なら好きな色に変更OK） */
.member-photo.nogizaka {
  background-color: #7e3f98;
}
.member-photo.sakurazaka {
  background-color: #f9a7ef;
}
.member-photo.hinatazaka {
  background-color: #68c5e9;
}
.member-photo.keyakizaka {
  background-color: #8ECE87;
}
.member-photo.default-group {
  background-color: #433046;
}
.member-info p {
  margin: 4px 0;
  font-size: 0.9rem;
}
.sns-icon {
  width: 20px;
  height: 20px;
}
.sns-icon_yt {
  height: 17px;
  width: auto;
}
.member-tabs {
  display: flex;
  width: 100%;
  justify-content: space-between; 
  flex-wrap: nowrap;
  margin: 10px 0;
  padding: 0;
}
.member-tabs a {
  flex: 1;
  text-align: center;
  padding: 8px 0;
  font-size: 0.85rem;
  border-right: 1px solid #fff;
  box-sizing: border-box;
  cursor: pointer;
  color: inherit; /* 親の色を引き継ぐ（暗い背景の上なら白） */
}

/*メンバー詳細(選抜歴)*/
.row-senbatsu {
  color: red;
  font-weight: bold;
}
.row-under{
  color: deepskyblue;
  font-weight: bold;
}
.row-center{
  color: #c4a500;
  font-weight: bold;
}
.row-fukujin{
  color: green;
  font-weight: bold;
}
.member-tabs a:last-child {
  border-right: none;
}

/*ライブ検索*/
.table-container .live-table {
  table-layout: fixed;
  width: 100%;
}

.live-table th,
.live-table td {
  white-space: normal;
  word-break: break-word;
  vertical-align: top;
}

.live-table .col-date {
  width: 15%;
}
.live-table .col-group {
  width: 15%;
}

.live-table .col-tour-name {
  width: 25%;
}
.live-table .col-live-name {
  width: 15%;
}
.live-table .col-venue {
  width: 20%;
}

/*FAQページ*/
.faq-section {
  margin-top: 1em;
}
.faq-item {
  margin-bottom: 1em;
  padding: 0.5em;
  border-bottom: 1px solid #ccc;
}
.faq-question {
  font-weight: bold;
}
.faq-answer {
  margin-left: 1em;
  margin-top: 0.3em;
}

/*Inquiryページ*/
.inquiry-section form {
  max-width: 600px;
  margin: 0 auto;
  padding: 30px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
}
.inquiry-section label {
  display: block;
  margin-bottom: 4px; /* ← 以前より小さく */
  font-weight: bold;
  color: #333;
}
.inquiry-section input[type="text"],
.inquiry-section input[type="email"],
.inquiry-section select,
.inquiry-section textarea {
  width: 100%;
  padding: 8px 10px;
  border: 1px solid #ccc;
  border-radius: 6px;
  margin-bottom: 14px; /* ← 各項目の間の余白も少し詰める */
  font-size: 16px;
  box-sizing: border-box;
  transition: border-color 0.3s;
}
.inquiry-section input:focus,
.inquiry-section textarea:focus,
.inquiry-section select:focus {
  border-color: #888;
  outline: none;
}
.inquiry-section input[type="submit"] {
  background-color: #433046;
  color: white;
  border: none;
  padding: 8px 16px;
  font-size: 16px;

  cursor: pointer;
  transition: background-color 0.3s;
}
.inquiry-section input[type="submit"]:hover {
  background-color: #45a049;
}
.inquiry-section .form-submit {
  text-align: left;
}
.inquiry-section .form-submit input[type="submit"] {
  padding: 10px 20px;
}
.inquiry-section .radio-group label {
  display: inline-block;
  margin-right: 20px;
  font-weight: normal;
  color: #333;
}

/* === リスト系ページ共通: ページ全体スクロールにする === */
body.list-page .table-container {
  max-height: none;      /* 高さ上限解除 */
  overflow-y: visible;   /* 縦スクロールはページ側に任せる */
}
@media (max-width: 767px) {
  body.list-page .table-container {
    max-height: none;
    overflow-y: visible;
  }
}
/*リストページテーブルヘッダ色*/
.list-page table.nogizaka th {
  background-color: #C49BCB;
}
.list-page table.keyakizaka th {
  background-color: #cdeeca;
}
.list-page table.sakurazaka th {
  background-color: #ffe0fb;
}
.list-page table.hinatazaka th {
  background-color: #a0dff7;
}
/*コール名リスト用*/
#member-call-psyllium .table-container {
  max-width: 100%;
}

#member-call-psyllium table.member-call-table {
  table-layout: fixed;   /* ← 重要 */
  width: 100%;
}

/* 列比率 */
#member-call-psyllium col.col-name  { width: 20%; }
#member-call-psyllium col.col-gen   { width: 14%; }
#member-call-psyllium col.col-call  { width: 30%; }
#member-call-psyllium col.col-color { width: 20%; }

/* 折り返し許可 */
#member-call-psyllium th,
#member-call-psyllium td {
  white-space: normal;
  word-break: break-word;
}
/*BPMページテーブル用*/
/*.list page .song-title-cell {white-space: normal}*/
/* 年齢順メンバー一覧：氏名を折り返し可にする */
@media (max-width: 767px) {
  #members-age-list th:first-child,
  #members-age-list td.song-title-cell {
    width: 5.5em;
    max-width: 6em;
  }
}
/* === 共通色 === */
#index .section-title,
.title-band.default-group,.member-back.default-group,.member-tabs.default-group .active,.formation-member.default-group,
#search_composers .title-band,#search_composers .title-band,
#search_composers button,#search_composers button,
#search_composers .back-link-fixed,#composer_detail .back-link-fixed,
#search_albums .title-band,#search_albums .title-band,
#search_albums button,#search_albums button,
#search_albums .back-link-fixed,
#update_history .section-title,
.list-page .title-band,.list-page .back-link-fixed,#venue-detail .back-link-fixed
{
  background-color: #37223a;
  color: white;
}

#search_members .title-band,#member-result .title-band,
#search_members .button,#member-result .button,#search_members button,#member-result button,
#member-result .back-link-fixed,
.title-band.nogizaka,.member-back.nogizaka,.member-tabs.nogizaka .active,.formation-member.nogizaka
{
  background-color: #7e3f98;
  color:white;
}

#search_songs .title-band,#song-result .title-band,
#search_songs button[type="submit"],#song-result button,
#search_songs button[type="submit"],#song-result button,
#song-result .back-link-fixed,
.title-band.hinatazaka,.member-back.hinatazaka,.member-tabs.hinatazaka .active,.formation-member.hinatazaka{
  background-color: #68c5e9;
  color:white;
}

#search_lives .title-band,#live-result .title-band,
#search_lives button[type="submit"],#live-result button,
#live-result .back-link-fixed,
.title-band.sakurazaka,.member-back.sakurazaka,.member-tabs.sakurazaka .active,.formation-member.sakurazaka {
  background-color: #f9a7ef;
  color:#fff;
}


.title-band.keyakizaka,.member-back.keyakizaka,.member-tabs.keyakizaka .active,.formation-member.keyakizaka {
  background-color: #8ECE87;
  color:#fff;
}

.member-tabs.nogizaka a{
  background-color: #e2d3ea;
  color: #9a87a4;
}
.member-tabs.sakurazaka a{
  background-color: #fde8fb;
  color:#bca9ba;
}
.member-tabs.hinatazaka a{
  background-color: #dbf5ff;
  color:#a6bac2;
}
.member-tabs.keyakizaka a{
  background-color: #cdeeca;
  color:#a4bdab;
}
.member-tabs.default-group a,#tour-detail .default-group th {
  background-color: #7e6881;
  color:#b8b8b8;
}

#search_members button[type="submit"]:hover,#member-result button[type="submit"]:hover,#member-result .back-link-fixed:hover {
  background-color: #9b5cb2;
}
#search_songs button[type="submit"]:hover,#song-result button[type="submit"]:hover,#song-result .back-link-fixed:hover {
  background-color: #a4d5e8;
}
#composer_detail .back-link-fixed:hover {
  background-color: #433046;
}

#member-result th,#search_members th,#member-detail .nogizaka th,#tour-detail .nogizaka th,#live-detail .nogizaka th,#group-members .nogizaka th,#group-lives .nogizaka th,#group-songs .nogizaka th,#group-albums .nogizaka th  {
  background-color: #C49BCB;
}
#song-result th,#search_songs th,#member-detail .hinatazaka th,#tour-detail .hinatazaka th,#live-detail .hinatazaka th,#group-members .hinatazaka th,#group-lives .hinatazaka th,#group-songs .hinatazaka th,#group-albums .hinatazaka th,#group-members .hinatazaka th,#group-lives .hinatazaka th,#group-songs .hinatazaka th,#group-albums .hinatazaka th{
  background-color: #a0dff7;
}
#live-result th, #search_lives th,#member-detail .sakurazaka th,#tour-detail .sakurazaka th,#live-detail .sakurazaka th,#group-members .sakurazaka th,#group-lives .sakurazaka th,#group-songs .sakurazaka th,#group-albums .sakurazaka th  {
  background-color: #ffe0fb;
}
#member-detail .keyakizaka th,#tour-detail .keyakizaka th,#live-detail .keyakizaka th,#group-members .keyakizaka th,#group-lives .keyakizaka th,#group-songs .keyakizaka th,#group-albums .keyakizaka th{
  background-color: #cdeeca;
}
#member-detail .default-group th,#composer_detail th,#search_composers th,#search_albums th,.list-page th,#group-members .default-group th,#group-lives .default-group th,#group-songs .default-group th,#group-albums .default-group th,#venue-detail .default-group th{
  background-color: #ab8db0;
}

.back-link-fixed.nogizaka:hover {
  background-color: #9b5cb2;
}
.back-link-fixed.hinatazaka:hover {
  background-color: #79b3d0;
}
.back-link-fixed.sakurazaka:hover {
  background-color: #e1a4dd;
}
.back-link-fixed.keyakizaka:hover {
  background-color: #a5dd9f;
}
.back-link-fixed.default-group:hover {
  background-color: #433046;
}

/*サイリウムカラー*/
.color_1, .color_24 {
  background-color: #4CAF50; /* 緑 / グリーン */
}
.color_2 {
  background-color: #FFC0CB; /* ピンク */
}
.color_3, .color_19 {
  background-color: #FFEB3B; /* 黄色 / イエロー */
}
.color_4, .color_15 {
  background-color: #2196F3; /* 青 / ブルー */
}
.color_5, .color_14 {
  background-color: #FFFFFF; /* 白 / ホワイト */
}
.color_6, .color_17 {
  background-color: #F44336; /* 赤 / レッド */
}
.color_7, .color_21, .color_13 {
  background-color: #87CEEB; /* 水色 / ライトブルー */
}
.color_8 {
  background-color: #FF9800; /* オレンジ */
}
.color_9, .color_20 {
  background-color: #9C27B0; /* 紫 / パープル */
}
.color_10 {
  background-color: #40E0D0; /* ターコイズ */
}
.color_11 {
  background-color: #000000; /* 黒 */
}
.color_12 {
  background-color: #CDDC39; /* 黄緑 */
}
.color_16 {
  background-color: #FADADD; /* サクラピンク */
}
.color_18 {
  background-image: linear-gradient(90deg, red, orange, yellow, green, blue, indigo, violet); /* レインボー */
}
.color_23 {
  background-color: #FF69B4; /* ホットピンク */
}
.color_25 {
  background-color: #50C878; /* エメラルドグリーン */
}
.color_26 {
  background-color: #FF5A8D; /* パッションピンク */
}
.color_27 {
  background-color: #98FB98; /* パールグリーン */
}
.color_28 {
  background-color: #8A2BE2; /* バイオレット */
}
/* color_22（なし）は未指定 */
