.chart {
    font-family: "Hiragino Kaku Gothic ProN", "Meiryo", "Yu Gothic", sans-serif;
    background: #fff;
    color: #1a1a1a;
    padding: 24px 0px;
    font-size: 13px;
  }
 
  .container {
    max-width: 970px;
    margin: 0 auto;
    background: #fff;
    overflow: hidden;
  }
 
  .table-wrapper {
    overflow-x: auto;
    overflow-y: scroll;
    max-height: 80vh;
    -webkit-overflow-scrolling: touch;
  }
 
  .table-wrapper::-webkit-scrollbar {
    width: 10px;
  }
 
  .table-wrapper::-webkit-scrollbar-track {
    background: #e0e0e0;
  }
 
  .table-wrapper::-webkit-scrollbar-thumb {
    background: #999;
  }
 
  .table-wrapper::-webkit-scrollbar-thumb:hover {
    background: #666;
  }
 
  /* コース表用：スクロールなし */
  .table-wrapper.no-scroll {
    overflow: visible;
    max-height: none;
  }
 
  .table-wrapper.no-scroll::-webkit-scrollbar {
    display: none;
  }
 
  table {
    width: 100%;
  /*    min-width: 700px;*/
    border-collapse: collapse;
    font-size: 13px;
    line-height: 1.45;
  }
 
  th, td {
    border: 1px solid #b0b0b0;
    padding: 5px 7px;
    text-align: center;
    vertical-align: middle;
  }
 
  thead th {
    position: sticky;
    top: 0;
    z-index: 2;
  }
 
  thead th::after {
    content: '';
    position: absolute;
    left: 0; right: 0; bottom: -1px;
    border-bottom: 1px solid #b0b0b0;
  }
 
  /* ===== Header ===== */
  .row-label th {
    background: #2e2e2e;
    color: #fff;
    font-weight: 700;
    font-size: 11.5px;
  }
 
  .row-cols th {
    background: #4a4a4a;
    color: #fff;
    font-weight: 600;
    font-size: 11px;
    white-space: pre-wrap;
  }
 
  .row-fee td {
    position: sticky;
    z-index: 2;
    background: #d8d8d8;
    font-weight: 700;
    font-size: 13px;
    color: #111;
  }
 
  /* ===== star pink ===== */
  .star { color: #e91e8c; font-weight: 700; }
 
  /* ===== Body ===== */
  .cat {
    background: #e8e8e8;
    font-weight: 600;
    font-size: 11.5px;
    white-space: nowrap;
  }
 
  .item {
    text-align: left;
    padding-left: 10px;
    color: #222;
  }
 
  .mark { font-size: 14px; }
  .tri  { font-size: 13px; color: #555; }
 
  tbody tr:nth-child(even) td:not(.cat) { background: #fafafa; }
 
  .scroll-hint {
    padding: 8px 14px;
    font-size: 14px;
    color: #2c7a91;
    font-weight: 700;
    border-bottom: 2px solid #2c7a91;
}

  @media (max-width: 780px) {
    .chart { padding: 0px 4px; }
    th, td { padding: 4px 3px;
		font-size:14px !important; }
    .item { padding-left: 5px; }
	.table-sp{
	overflow-x: scroll !important;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	}
	.table-sp table td,
	.row-cols th{
	white-space: nowrap;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	}
}

.course-th{
  background: #4a4a4a;
	color: #fff;
}

.h-course ul {
  list-style: none;   /* ← これで「・」を消す */
  padding-left: 0;    /* ← 左の余白もリセット（重要） */
}

.h-course li {
  margin-bottom: 12px;
  line-height: 1.6;
}

.h-course-title {
  color: #2c7a91;
	font-weight: bold;
	  margin-right: 10px;
}

td.content {
  text-align: left;
}
.note {
  display: block;
  text-align: left;
}



