/*
Theme Name: gensen_tcd050_child
Template: gensen_tcd050
*/

/* 共通デザイン */
.member-only-badge {
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
}

/* ★ サムネイル用：絶対配置で左上に重ねる */
.badge-thumb {
  position: absolute;
  top: 8px;
  left: 8px;
  padding: 4px 8px;
  border-radius: 4px;
  z-index: 5;
}

/* ★ タイトル下用：普通のインライン表示 */
.badge-inline {
  position: static;      /* 重要：absolute を無効化 */
  display: inline-block;
  margin-left: 6px;
  padding: 2px 6px;
  border-radius: 4px;
}

/* ランク別の色（共通） */
.member-only-badge.badge-bronze   { background:#cd7f32; color:#fff; }
.member-only-badge.badge-silver   { background:#c0c0c0; color:#000; }
.member-only-badge.badge-gold     { background:#ffd700; color:#000; }
.member-only-badge.badge-platinum { background:#e5e4e2; color:#000; }
.member-only-badge.badge-black    { background:#000000; color:#fff; }

/* 会員限定メッセージをセンター寄せ */
.member-only-message {
  font-size: 20px;
  font-weight: 700;
  margin: 20px 0;
  color: #333;
  text-align: center; /* ←中央揃え */
}

/* ログインボタン（青色系 & センタリング） */
.login-button-wrapper {
  text-align: center; /* ←ボタンの中央寄せ */
  margin-top: 10px;
}

.login-button {
  display: inline-block;
  background: #007bff;
  color: #fff !important; /* ←これが重要 */
  padding: 12px 28px;
  border-radius: 6px;
  font-size: 18px;
  font-weight: 700;
  text-decoration: none !important; /* ←青色リンク下線を防ぐ */
}

.login-button:hover {
  background: #0066d4; /* 少し濃い青 */
}




/* ================================
   会員ランク説明ページ
   ================================ */

.membership-section {
  max-width: 1120px;
  margin: 0 auto;
  padding: 40px 16px 60px;
}

.membership-header {
  text-align: center;
  margin-bottom: 24px;
}

.membership-header h1 {
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 8px;
}

.membership-header p {
  color: #555;
  font-size: 1rem;
  line-height: 1.8;
}

.membership-note {
  background: #f5f8ff;
  border-left: 4px solid #007bff;
  padding: 14px 18px;
  margin-bottom: 24px;
  border-radius: 6px;
}

.membership-note p {
  margin: 0;
  font-size: 0.95rem;
  color: #333;
  line-height: 1.6;
}

/* =====================================
   カードデザイン
   ===================================== */
/* カードの共通デザイン */
.membership-card {
  background: #fff;
  padding: 20px 22px;
  border: 1px solid #eee;
  border-radius: 8px;
  box-shadow: 0 1px 4px rgba(0,0,0,0.06);
  box-sizing: border-box;
  margin: 0;                 /* 右寄せ防止 */
}

/* カード内の見出し */
.membership-card-header h2 {
  font-size: 1.2rem;
  margin: 4px 0 2px;
}

.membership-card-tagline {
  font-size: 0.9rem;
  color: #666;
  margin: 0;
}

/* 既存の .member-only-badge をそのまま利用 */
.membership-card-header .member-only-badge {
  margin-bottom: 6px;
}

/* リスト */
.membership-card-list {
  margin: 10px 0 0;
  padding-left: 1.2em;
  flex-grow: 1; /* 高さ揃え：下部でスペース調整 */
}

.membership-card-list li {
  font-size: 0.95rem;
  line-height: 1.6;
  margin-bottom: 4px;
}

/* 最上位ランクの強調（任意） */
.membership-card:nth-child(5) {
  border-color: #000;
}

/* ================================
   会員ランク説明ページ 共通
   ================================ */

.membership-section {
  max-width: 100%;
  margin: 0 auto;
  padding: 40px 16px 60px;
  box-sizing: border-box;
}

.membership-header {
  text-align: center;
  margin-bottom: 24px;
}

.membership-header h1 {
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 8px;
}

.membership-header p {
  color: #555;
  font-size: 1rem;
  line-height: 1.8;
}

.membership-note {
  background: #f5f8ff;
  border-left: 4px solid #007bff;
  padding: 14px 18px;
  margin-bottom: 24px;
  border-radius: 6px;
}

.membership-note p {
  margin: 0;
  font-size: 0.95rem;
  color: #333;
  line-height: 1.6;
}

.membership-cta {
  margin-top: 32px;
  text-align: center;
}

.membership-cta p {
  font-size: 1rem;
  line-height: 1.8;
}


/* ================================
   レイアウト（PC で 2 列固定）
   ================================ */

/* 親テーマの float / margin を念のため無効化 */
.membership-grid > .membership-card {
  float: none !important;
  clear: none !important;
  margin: 0 !important;
}

/* カードを横並びにするコンテナ */
.membership-grid {
  display: flex !important;
  flex-wrap: wrap;             /* 折り返し */
  justify-content: flex-start; /* 左から詰める */
  width: 100%;
}

/* PC 時：3 列 */
.membership-grid .membership-card {
  box-sizing: border-box;
  width: calc(33% - 10px);   /* 2 列ぶんの幅 */
}

/* スマホでは 1 列にする */
@media (max-width: 767px) {
  .membership-grid .membership-card {
    width: 100%;
  }
}


/* ================================
   カードデザイン
   ================================ */

.membership-card {
  background: #fff;
  padding: 20px 22px;
  border: 1px solid #eee;
  border-radius: 8px;
  box-shadow: 0 1px 4px rgba(0,0,0,0.06);
}

.membership-card-header {
  margin-bottom: 8px;
}

.membership-card-header h2 {
  font-size: 1.2rem;
  margin: 4px 0 2px;
}

.membership-card-tagline {
  font-size: 0.9rem;
  color: #666;
  margin: 0;
}

/* バッジ */
.membership-card-header .member-only-badge {
  display: inline-block;
  margin-bottom: 6px;
}

.membership-card-body ul {
  margin: 8px 0 0;
  padding-left: 1.2em;
}

.membership-card-body li {
  font-size: 0.95rem;
  line-height: 1.6;
  margin-bottom: 4px;
}
/* 投稿ページ */
.tcd-pb-widget.widget2.pb-widget-simple_table {
    line-height: 1.5;
}

p.p-btn {
    text-align: center;
	padding:20px 0;
}

table.anken_table {
    border-collapse:separate;
    border-spacing: 5px;
    width: 100%;
}
table.anken_table th, td{
	border-radius: 5px;
  text-align: center;
  padding: 10px 0;

}
table.anken_table th{
	background-color: #43abb1;
  color: white;
  
}
table.anken_table td{
  background-color: #f5f5f5;
  text-align:left;
	line-height:1.5;
}
a.btn-grad.btn-grad2 {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 250px;
    margin: 0 auto;
    padding: .9em 2em;
    border: 1px solid #ffa914;
    border-radius: 5px;
    background-color: #fff;
    color: #ffa914;
    font-size: 1em;
}
a.btn-grad.btn-grad2:hover {
    border: none;
    background-color: #ffa914;
    color: #fff;
    font-weight: 600;
}

/* Black だけ枠線を強調（任意） */
/*
.membership-card.rank-black {
  border-color: #000;
}
*/

