

/* ---------- Base (all devices) ---------- */
table.membershipfee {
  width: 100%;
  height: auto;
  border-collapse: collapse;
  border-spacing: 0;
}

table.membershipfee th {
  padding: 8px;
  text-align: center;
  font-size: 14px;
  line-height: 1.4em;
  font-weight: bold;
  color: #fff;
  background-color: rgba(7, 16, 66, 1.00);
}

table.membershipfee td {
  border: 1px solid #e0e0e0;
  padding: 15px 10px;
  font-size: 13px;
  line-height: 1.4em;
  background-color: #fafafa;
}

/* =========================================================
   Style for PCs (>= 1025px)
   ========================================================= */
@media screen and (min-width: 1025px) {

  table.membershipfee {
    table-layout: fixed;
  }

  table.membershipfee th:nth-child(1),
  table.membershipfee td:nth-child(1) { width: 18%; }

  table.membershipfee th:nth-child(2),
  table.membershipfee td:nth-child(2) { width: 52%; }

  table.membershipfee th:nth-child(3),
  table.membershipfee td:nth-child(3),
  table.membershipfee th:nth-child(4),
  table.membershipfee td:nth-child(4) {
    width: 15%;
    text-align: center;
    white-space: nowrap;
  }

  table.membershipfee td:nth-child(2) {
    word-break: break-word;
    overflow-wrap: anywhere;
  }
}

/* =========================================================
   Style for iPad Pro (769px - 1024px)
   ========================================================= */
@media screen and (min-width: 769px) and (max-width: 1024px) {

  table.membershipfee {
    table-layout: fixed;
  }

  table.membershipfee th:nth-child(1),
  table.membershipfee td:nth-child(1) { width: 20%; }

  table.membershipfee th:nth-child(2),
  table.membershipfee td:nth-child(2) { width: 50%; }

  table.membershipfee th:nth-child(3),
  table.membershipfee td:nth-child(3),
  table.membershipfee th:nth-child(4),
  table.membershipfee td:nth-child(4) {
    width: 15%;
    text-align: center;
    white-space: nowrap;
  }

  table.membershipfee td:nth-child(2) {
    word-break: break-word;
    overflow-wrap: anywhere;
  }
}

/* =========================================================
   Style for iPad (481px - 768px)
   - Card layout
   ========================================================= */
@media screen and (min-width: 481px) and (max-width: 768px) {

  table.membershipfee,
  table.membershipfee tbody,
  table.membershipfee th,
  table.membershipfee td,
  table.membershipfee tr {
    display: block;
  }

  /* ★ theadが無い構造なので1行目を非表示 */
  table.membershipfee tr:first-child {
    display: none;
  }

  table.membershipfee tr {
    margin-bottom: 18px;
    border: 1px solid #ddd;
    padding: 12px 12px 6px;
    background: #fff;
  }

  table.membershipfee td {
    border: none;
    background: transparent;
    padding: 0 0 6px;
    font-size: 14px;
    line-height: 1.5em;
  }

  table.membershipfee td:nth-child(3),
  table.membershipfee td:nth-child(4) {
    white-space: nowrap;
  }

  table.membershipfee td:nth-child(1)::before { content: "会員区分："; font-weight: bold;  color: rgba(28, 29, 76, 1.00);}
  table.membershipfee td:nth-child(2)::before { content: "定義・対象："; font-weight: bold;  color: rgba(28, 29, 76, 1.00);}
  table.membershipfee td:nth-child(3)::before { content: "入会金："; font-weight: bold;  color: rgba(28, 29, 76, 1.00);}
  table.membershipfee td:nth-child(4)::before { content: "年会費："; font-weight: bold;  color: rgba(28, 29, 76, 1.00);}

  }
/* =========================================================
   Style for Smartphone (<= 480px)
   - Card layout compact
   ========================================================= */
@media screen and (max-width: 480px) {

  table.membershipfee,
  table.membershipfee tbody,
  table.membershipfee th,
  table.membershipfee td,
  table.membershipfee tr {
    display: block;
  }

  /* ★ thead無し対策 */
  table.membershipfee tr:first-child {
    display: none;
  }

  table.membershipfee tr {
    margin-bottom: 16px;
    border: 1px solid #ddd;
    padding: 12px 12px 6px;
    background: #fff;
  }

  table.membershipfee td {
    border: none;
    background: transparent;
    padding: 0 0 6px;
    font-size: 14px;
    line-height: 1.55em;
  }

  table.membershipfee td:nth-child(3),
  table.membershipfee td:nth-child(4) {
    white-space: nowrap;
  }

  table.membershipfee td:nth-child(1)::before { content: "会員区分："; font-weight: bold;  color: rgba(28, 29, 76, 1.00);}
  table.membershipfee td:nth-child(2)::before { content: "定義・対象："; font-weight: bold;  color: rgba(28, 29, 76, 1.00);
          display: block;}
  table.membershipfee td:nth-child(3)::before { content: "入会金："; font-weight: bold;  color: rgba(28, 29, 76, 1.00);}
  table.membershipfee td:nth-child(4)::before { content: "年会費："; font-weight: bold;  color: rgba(28, 29, 76, 1.00);}
  }