/* 夏期講習開講講座用 */
.usrlocal-sumc-table {
  table-layout: fixed;
  width: auto;
  border-collapse:  collapse;
}
.usrlocal-sumc-table td {
  vertical-align: middle;
  text-align:  left;
}
.usrlocal-sumc-table th {
  vertical-align: middle;
  text-align:  center;
  background-color:  RGBA(0, 191, 255, 0.2);    /* 背景色指定 */
}
.usrlocal-sumc-table tr:nth-child(even) {
    background-color:  RGBA(255, 255, 255, 1);    /* 背景色指定 */
}

/* tbody の1列目だけ（教室名など）を固定幅に */
.usrlocal-sumc-table tbody th:first-child {
  width: 140px;
  min-width: 140px;
  max-width: 140px;
  text-align: left;
  padding: 4px;
}
/* tbody の16列目だけ（教室名など）を固定幅に */
.usrlocal-sumc-table tbody th:nth-child(16) {
  width: 140px;
  min-width: 140px;
  max-width: 140px;
  text-align: left;
  padding: 4px;
}

/* thead の日付セル（2列目以降）を狭くする */
.usrlocal-sumc-table thead th:not(:first-child) {
  width: 120px;
  min-width: 120px;
  max-width: 120px;
  text-align: center;
  padding: 0;
}

/* tbody の日付データセル（2列目以降）を狭くする */
.usrlocal-sumc-table tbody td {
  width: 120px;
  min-width: 120px;
  max-width: 120px;
  text-align: center;
  padding: 0;
}
.usrlocal-sumc-table thead tr:nth-child(1) {
  height: 30px; /* 1行目の高さ */
  background-color: aquamarine
}
.usrlocal-sumc-table thead tr:nth-child(2) {
  height: 20px; /* 2行目の高さ */
}
/* 夏期講習日程用 */
.usrlocal-sum-table {
  table-layout: fixed;
  width: auto;
  border-collapse:  collapse;
}
.usrlocal-sum-table td {
  vertical-align: middle;
  text-align:  left;
}
.usrlocal-sum-table th {
  vertical-align: middle;
  text-align:  center;
  background-color:  RGBA(0, 191, 255, 0.2);    /* 背景色指定 */
}
.usrlocal-sum-table tr:nth-child(even) {
    background-color:  RGBA(255, 255, 255, 1);    /* 背景色指定 */
}

/* tbody の1列目だけ（教室名など）を固定幅に */
.usrlocal-sum-table tbody th:first-child {
  width: 140px;
  min-width: 140px;
  max-width: 140px;
  text-align: left;
  padding: 4px;
}

/* thead の日付セル（2列目以降）を狭くする */
.usrlocal-sum-table thead th:not(:first-child) {
  width: 30px;
  min-width: 30px;
  max-width: 30px;
  text-align: center;
  padding: 0;
}

/* tbody の日付データセル（2列目以降）を狭くする */
.usrlocal-sum-table tbody td {
  width: 30px;
  min-width: 30px;
  max-width: 30px;
  text-align: center;
  padding: 0;
}
.usrlocal-sum-table thead tr:nth-child(1) {
  height: 30px; /* 1行目の高さ */
  background-color: aquamarine
}
.usrlocal-sum-table thead tr:nth-child(2) {
  height: 20px; /* 2行目の高さ */
}
.usrlocal-sum-table thead tr:nth-child(3) {
  height: 20px; /* 3行目の高さ */
}
.usrlocal-sum-table thead tr:nth-child(3) th {
  height: 20px;
  line-height: 20px;
  padding: 0; /* または padding: 2px; など小さめに */
}
.vertical-spc {
    height: 20px; /* 空白行の高さを指定 */
}
    /* 色のクラス定義 (より元画像に近い色に調整) */
    .usrlocal-bg-blue   { background-color: #d1e7ff; }
    .usrlocal-bg-green  { background-color: #d1f2e1; }
    .usrlocal-bg-yellow { background-color: #fff3cd; }
    .usrlocal-bg-orange { background-color: #ffe5d9; }

    /* 曜日ごとの色付け */
    .usrlocal-sun { color: #e74c3c; font-weight: bold; } /* 日曜日 */
    .usrlocal-sat { color: #3498db; font-weight: bold; } /* 土曜日 */

.usrlocal-hokoku-table {
  width: auto;
  border-collapse:  collapse;
}
/*
.usrlocal-hokoku-table td:first-child {
  background-color:  RGBA(0, 191, 255, 0.2);    /* 背景色指定 */
}
*/
.usrlocal-hokoku-table td {
  vertical-align: middle;
  text-align:  left;
}
.usrlocal-hokoku-table th {
  vertical-align: middle;
  text-align:  center;
  background-color:  RGBA(0, 191, 255, 0.2);    /* 背景色指定 */
}
.usrlocal-hokoku-table tr:nth-child(even) {
    background-color:  RGBA(255, 255, 0, 0.1);    /* 背景色指定 */
}

.usrlocal-button-litepink a {
    background: lightpink;
    border-radius: 9999px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center; 
    margin: 0 auto;
    max-width: 80px;
    padding: 0px 10px;
    /* font-family: "Noto Sans Japanese"; */
    line-height: 1.8;
    text-decoration: none;
    color: black;
    font-size: 90%;
    font-weight: 600;
    border-bottom: solid 5px salmon;
    transition: 0.3s ease-in-out;
}
.usrlocal-button-litepink a:hover {
  background: salmon;
  color: white;
  border-bottom: solid 2px #999;
  transform: translateY(3px);
}
.usrlocal-button-litepink a:hover:before {
    color: white;
}
.usrlocal-button-litepink a:hover:after {
  right: 1.4rem;
}

.usrlocal-button-cena a {
    background: Gold;
    border-radius: 10px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center; 
    margin: 0 auto;
    max-width: 400px;
    padding: 0px 20px;
    /* font-family: "Noto Sans Japanese"; */
    line-height: 1.8;
    text-decoration: none;
    color: darkolivegreen;
    font-size: 90%;
    font-weight: 600;
    border-bottom: solid 5px orange;
    transition: 0.3s ease-in-out;
}
.usrlocal-button-cena a:hover {
  background: orange;
  color: black;
  border-bottom: solid 2px #999;
  transform: translateY(3px);
}
.usrlocal-button-cena a:hover:before {
    color: white;
}
.usrlocal-button-cena a:hover:after {
  right: 1.4rem;
}

.button-horizontal {
  display: flex;
  gap: 20px; /* ボタン同士の間隔 */
  justify-content: left; /* 中央揃え */
  flex-wrap: wrap; /* 画面が狭いときは折り返し */
}

.usrlocal-centered {
  display: flex;
  /* flex-direction: column; */
  align-items: flex-start;
  justify-content: center;
  text-align: left;
  /* height: 100vh; */
  /* margin: 0; */
}
.usrlocal-list-center {
  list-style: none; /* マーカーを非表示 */
  padding: 0; /* デフォルトの余白を削除 */
  text-align: center; /* 全体を中央揃え */
}

.usrlocal-list-center li {
  display: inline-block; /* 各項目をインラインブロックにする */
  margin: 0 10px; /* 項目間の余白 */
  text-align: left; /* 項目内テキストは左揃え */
}
.usrlocal-msche-table {
  width: auto;
  border-collapse:  collapse;
}
.usrlocal-msche-table td {
  vertical-align: middle;
  text-align:  left;
}
.usrlocal-msche-table th {
  vertical-align: middle;
  text-align:  center;
  background-color:  RGBA(0, 191, 255, 0.2);    /* 背景色指定 */
}
.usrlocal-msche-table tr:nth-child(even) {
    background-color:  RGBA(255, 255, 0, 0.1);    /* 背景色指定 */
}

.usrlocal-mcurr-table {
  width: auto;
  border-collapse:  collapse;
}
.usrlocal-mcurr-table td:nth-child(1), td:nth-child(2) {
  vertical-align: middle;
}
.usrlocal-mcurr-table tr:nth-child(even) {
    background-color:  RGBA(255, 255, 0, 0.1);    /* 背景色指定 */
}
.usrlocal-mcurr-table th {
  text-align:  center;
  background-color:  RGBA(0, 191, 255, 0.2);    /* 背景色指定 */
}
.usrlocal-mcurr-table td {
  text-align:  left;
}

.usrlocal-button-gr a {
    background: palegreen;
    border-radius: 9999px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center; 
    margin: 0 auto;
    max-width: 300px;
    padding: 10px 30px;
    /* font-family: "Noto Sans Japanese"; */
    line-height: 1.8;
    text-decoration: none;
    color: black;
    font-size: 120%;
    font-weight: 600;
    border-bottom: solid 5px mediumseagreen;
    transition: 0.3s ease-in-out;
}
.usrlocal-button-gr a:hover {
  background: limegreen;
  color: black;
  border-bottom: solid 2px #999;
  transform: translateY(3px);
}
.usrlocal-button-gr a:hover:before {
    color: black;
}
.usrlocal-button-gr a:hover:after {
  right: 1.4rem;
}

.usrlocal-button-bl a {
    background: paleturquoise;
    border-radius: 9999px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    max-width: 300px;
    padding: 10px 30px;
    /* font-family: "Noto Sans Japanese"; */
    line-height: 1.8;
    text-decoration: none;
    color: black;
    font-size: 120%;
    font-weight: 600;
    border-bottom: solid 5px turquoise;
    transition: 0.3s ease-in-out;
}
.usrlocal-button-bl a:hover {
  background: mediumturquoise;
  color: black;
  border-bottom: solid 2px #999;
  transform: translateY(3px);
}
.usrlocal-button-bl a:hover:before {
    color: black;
}
.usrlocal-button-bl a:hover:after {
  right: 1.4rem;
}

.usrlocal-button-gr-long a {
    background: palegreen;
    border-radius: 9999px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center; 
    margin: 0 auto;
    max-width: 500px;
    padding: 10px 30px;
    /* font-family: "Noto Sans Japanese"; */
    line-height: 1.8;
    text-decoration: none;
    color: black;
    font-size: 120%;
    font-weight: 600;
    border-bottom: solid 5px mediumseagreen;
    transition: 0.3s ease-in-out;
}
.usrlocal-button-gr-long a:hover {
  background: limegreen;
  color: black;
  border-bottom: solid 2px #999;
  transform: translateY(3px);
}
.usrlocal-button-gr-long a:hover:before {
    color: black;
}
.usrlocal-button-gr-long a:hover:after {
  right: 1.4rem;
}

.usrlocal-button-bl-long a {
    background: paleturquoise;
    border-radius: 9999px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    max-width: 500px;
    padding: 10px 30px;
    /* font-family: "Noto Sans Japanese"; */
    line-height: 1.8;
    text-decoration: none;
    color: black;
    font-size: 120%;
    font-weight: 600;
    border-bottom: solid 5px turquoise;
    transition: 0.3s ease-in-out;
}
.usrlocal-button-bl-long a:hover {
  background: mediumturquoise;
  color: black;
  border-bottom: solid 2px #999;
  transform: translateY(3px);
}
.usrlocal-button-bl-long a:hover:before {
    color: black;
}
.usrlocal-button-bl-long a:hover:after {
  right: 1.4rem;
}


.width-short {
  max-width: 200px;
}

.width-long {
  max-width: 800px;
}
