



body {
  background-color: white;
  padding:3px;
  /*height: 1850px;*/
}

.houte{
    background-color: #2f4f4e;
    color:white;
    width: 100%;
    height: 27px;
    font-size: 20px;
    text-align: right;
    font-weight: bold;
}

.head1{
  background: #2f4f4f;
  width: 100%;
  height:80px;
}
.watanielk2{
  background-color: #2f4f4f;
  width: 250px;
  height: 75px;
  font-size: 50px;
  text-align: center;
  font-weight: bold;
}
.watanielk2 a{
  color: white;
  padding-left: 10px;
  text-decoration: none;
}

.watanielk1{
  background: white;
  width: 100%;
  height:30px;
}
  .watanielk1 ul{
            margin:0;
            padding-left: 10px;
            list-style: none;
  }
  .watanielk1 li a{
            display: block;
            padding: 5px;
            color: #2f4f4f;
            font-size: 15px;
            padding-right: 20px;
            text-decoration: none;
  }
  .watanielk1 li a:hover{
            background-color: grey;
            color: white;
  }
  .watanielk1 ul:after{
            content: "";
            display: block;
            color: both;
  }
  .watanielk1 li{
            float: left;
            width: auto;
  }
  .tcht_00{
    height: 5px;
  }



  .tchr_03_001{
    float: left;
    background-color: white;
    margin: 0px;
    width: 100%;
    height: 50%;
  }
  .tchr_03_002{
    float: left;
    background-color: white;
    margin: 0px;
    width: 100%;
    height: 300px;
  }
  .tchr_03_005{
    float: left;
    background-color: white;
    margin: 0px;
    width: 100%;
    height: 550px;
  }

  .tchr_03_001_a{
    float: left;
    background-color: #FC387C;
    margin: 0px;
    width: 100%;
    height: 50px;
  }
  .tchr_03_001_a1{
    color: #3A95FC;
    font-size: 35px;
    padding-left: 30px;
    margin: 0px;
    /* width: 100%; */
  }
  .tchr_03_001_ab{
    float: left;
    background-color: #2f4f4f;
    margin: 0px;
    width: 100%;
    height: 50px;
  }
  .tchr_03_001_a2{
    width: 100%;
    height: 20px;
  }
  .cell_T2{
      color: red;
      font-weight: bold;
  }


  th{
    text-align: left;
    border:solid 1px black;
    padding: 5px 10px;
    font-size: 23px;
}
  td{
    text-align: left;
    border:solid 1px black;
    padding: 5px 15px;
}
  .tchr_03_002_b {
    display:table;
    width:100%;
}

  .tchr_03_002_b div.row{
    display:table-row;

}

  .tchr_03_002_b div.cell{
    display:table-cell;
    border: 1px solid #2f4f4f;

}
  .tchr_03_002_b div.cell_2{
    display:table-cell;
    border: 1px solid #2f4f4f;
}
.tchr_03_002_b div.cell_TZ2_a{
display:table-cell;
border-top: 1px solid #2f4f4f;
border-left: 1px solid #2f4f4f;
border-bottom: 1px solid #2f4f4f;

}
.tchr_03_002_b div.cell_TZ2_b{
display:table-cell;
border-top: 1px solid #2f4f4f;
border-left: 1px solid #2f4f4f;
border-right: 1px solid #2f4f4f;
border-bottom: 1px solid #2f4f4f;
}
.tchr_03_002_b div.cell_TZ2_c{
display:table-cell;
border-left: 1px solid #2f4f4f;
border-bottom: 1px solid #2f4f4f;
}
.tchr_03_002_b div.cell_TZ2_d{
display:table-cell;
border-top: 1px solid #2f4f4f;
border-left: 1px solid #2f4f4f;
/* border-right: 1px solid #2f4f4f; */
border-bottom: 1px solid #2f4f4f;
}
.tchr_03_002_ca{
font-size: 18px;
padding-left: 10px;
padding-bottom: 30px;
}


.tchr_03_002_b div.cell_TL{
display:table-cell;
border-top: 2px solid #2f4f4f;
border-left: 2px solid #2f4f4f;
border-right: 1px solid #2f4f4f;
border-bottom: 1px solid #2f4f4f;
}
.tchr_03_002_b div.cell_TZL_a{
display:table-cell;
border-top: 2px solid #2f4f4f;
border-left: 2px solid #2f4f4f;
}
.tchr_03_002_b div.cell_TZL_b{
display:table-cell;
border-left: 2px solid #2f4f4f;
border-bottom: 1px solid #2f4f4f;
}
.tchr_03_002_b div.cell_L1{
display:table-cell;
border-top: 1px solid #2f4f4f;
border-left: 2px solid #2f4f4f;
border-right: 1px solid #2f4f4f;
border-bottom: 1px solid #2f4f4f;
}
.tchr_03_002_b div.cell_L2{
display:table-cell;
border-top: 1px solid #2f4f4f;
border-left: 2px solid #2f4f4f;
border-right: 1px solid #2f4f4f;
border-bottom: 1px solid #2f4f4f;
}
.tchr_03_002_b div.cell_L3{
display:table-cell;
border-left: 2px solid #2f4f4f;
border-right: 1px solid #2f4f4f;
border-bottom: 1px solid #2f4f4f;
}
.tchr_03_002_b div.cell_L4{
display:table-cell;
border-top: 1px solid #2f4f4f;
border-left: 2px solid #2f4f4f;
border-right: 1px solid #2f4f4f;
border-bottom: 2px solid #2f4f4f;
}
.tchr_03_002_b div.cell_L5{
display:table-cell;
border-top: 1px solid #2f4f4f;
border-left: 2px solid #2f4f4f;
border-right: 1px solid #2f4f4f;
border-bottom: 2px solid #2f4f4f;
}
.tchr_03_002_b div.cell_T{
display:table-cell;
border-top: 2px solid #2f4f4f;
border-left: 1px solid #2f4f4f;
border-right: 1px solid #2f4f4f;
border-bottom: 1px solid #2f4f4f;
}
.tchr_03_002_b div.cell_TZ_a{
display:table-cell;
border-top: 2px solid #2f4f4f;
}
.tchr_03_002_b div.cell_TZ_b{
display:table-cell;
border-top: 2px solid #2f4f4f;
border-right: 1px solid #2f4f4f;
}
.tchr_03_002_b div.cell_TZ_bE{
  display:table-cell;
  border-top: 2px solid #2f4f4f;
  border-right: 1px solid #2f4f4f;
  }
.tchr_03_002_b div.cell_TZ_c{
display:table-cell;
border-top: 2px solid #2f4f4f;
border-left: 1px solid #2f4f4f;
}
.tchr_03_002_b div.cell_TZ_d{
display:table-cell;
border-top: 2px solid #2f4f4f;
border-right: 2px solid #2f4f4f;
}
.tchr_03_002_b div.cell_TR{
display:table-cell;
border-top: 2px solid #2f4f4f;
border-left: 1px solid #2f4f4f;
border-right: 2px solid #2f4f4f;
border-bottom: 1px solid #2f4f4f;
}
.tchr_03_002_b div.cell_TZR2{
display:table-cell;
border-top: 2px solid #2f4f4f;
/* border-right: 2px solid #2f4f4f; */
}
.tchr_03_002_b div.cell_TRs{
display:table-cell;
border-top: 2px solid #2f4f4f;
border-left: 1px solid #2f4f4f;
border-right: 2px solid #2f4f4f;
border-bottom: 1px solid #2f4f4f;
}
.tchr_03_002_b div.cell_TR2{
display:table-cell;
border-top: 2px solid #2f4f4f;
border-left: 1px solid #2f4f4f;
border-right: 2px solid #2f4f4f;
border-bottom: 1px solid #2f4f4f;
}
.tchr_03_002_b div.cell_B{
display:table-cell;
border-top: 1px solid #2f4f4f;
border-left: 1px solid #2f4f4f;
border-right: 1px solid #2f4f4f;
border-bottom: 2px solid #2f4f4f;
}
.tchr_03_002_b div.cell_B1{
display:table-cell;
border-top: 1px solid #2f4f4f;
border-left: 1px solid #2f4f4f;
border-right: 1px solid #2f4f4f;
border-bottom: 2px solid #2f4f4f;
}
.tchr_03_002_b div.cell_BR{
display:table-cell;
border-top: 1px solid #2f4f4f;
border-left: 1px solid #2f4f4f;
border-right: 2px solid #2f4f4f;
border-bottom: 2px solid #2f4f4f;
}
.tchr_03_002_b div.cell_3{
display:table-cell;
border-top: 1px solid #2f4f4f;
border-left: 1px solid #2f4f4f;
border-right: 2px solid #2f4f4f;
border-bottom: 2px solid #2f4f4f;
}
.tchr_03_002_b div.cell_BR1{
display:table-cell;
border-top: 1px solid #2f4f4f;
border-left: 1px solid #2f4f4f;
border-right: 2px solid #2f4f4f;
border-bottom: 1px solid #2f4f4f;
}
.tchr_03_002_b div.cell_BR2{
display:table-cell;
border-left: 1px solid #2f4f4f;
border-right: 2px solid #2f4f4f;
border-bottom: 1px solid #2f4f4f;
}
.tchr_03_002_b div.cell_BR3{
display:table-cell;
border-top: 1px solid #2f4f4f;
border-left: 1px solid #2f4f4f;
border-right: 2px solid #2f4f4f;
border-bottom: 2px solid #2f4f4f;
}
.tchr_03_002_b div.cell_BRT2{
display:table-cell;
border-top: 1px solid #2f4f4f;
border-left: 1px solid #2f4f4f;
border-right: 2px solid #2f4f4f;
border-bottom: 1px solid #2f4f4f;
}
.tchr_03_002_b div.cell_BRTZ3{
display:table-cell;
border-top: 1px solid #2f4f4f;
border-left: 1px solid #2f4f4f;
border-right: 2px solid #2f4f4f;
border-bottom: 1px solid #2f4f4f;
}
.tchr_03_002_b div.cell_BRT2s{
display:table-cell;
border-top: 1px solid #2f4f4f;
border-left: 1px solid #2f4f4f;
border-right: 2px solid #2f4f4f;
border-bottom: 1px solid #2f4f4f;
}
.tchr_03_002_b div.cell_BRT3{
display:table-cell;
border-top: 1px solid #2f4f4f;
border-left: 1px solid #2f4f4f;
border-right: 2px solid #2f4f4f;
border-bottom: 1px solid #2f4f4f;
}


  .cell{
    padding-right:  5px;
    font-size: 18px;
    text-align: right;
  }

  .cell_2{
    padding-right:  5px;
    font-size: 19px;
    text-align: right;
    vertical-align: middle;
  }
  .cell_TL{
    padding-right:  5px;
    font-size: 19px;
    text-align: right;
    vertical-align: middle;
  }
  .cell_T{
    padding-right:  5px;
    font-size: 19px;
    text-align: right;
    vertical-align: middle;
  }
  .cell_TR{
    padding-left:  5px;
    font-size: 19px;
    text-align: left;
    vertical-align: middle;
   }
  .cell_TRs{
    padding-left:  5px;
    font-size: 19px;
    text-align: right;
    vertical-align: middle;
  }
  .cell_TR2{
    padding-right:  5px;
    font-size: 19px;
    text-align: right;
    vertical-align: middle;
  }
  .cell_L1{
    padding-right:  5px;
    font-size: 19px;
    text-align: right;
    vertical-align: middle;
  }
  .cell_L2{
    padding-right:  5px;
    font-size: 19px;
    text-align: right;
    vertical-align: middle;
  }
  .cell_L{
    padding-right:  5px;
    font-size: 19px;
    text-align: right;
  }
  .cell_L4{
    padding-right:  5px;
    font-size: 19px;
    text-align: right;
    vertical-align: middle;
  }
  .cell_L5{
    padding-right:  5px;
    font-size: 19px;
    text-align: right;
  }
  .cell_B{
    padding-right:  5px;
    font-size: 19px;
    text-align: right;
    vertical-align: middle;
  }
  .cell_B1{
    padding-right:  5px;
    font-size: 19px;
    text-align: right;
    vertical-align: middle;
  }
  .cell_BR{
    padding-right:  5px;
    font-size: 19px;
    text-align: right;
    vertical-align: middle;
  }
  .cell_BR1{
    padding-left:  5px;
    font-size: 19px;
    text-align: left;
    vertical-align: middle;
  }
  .cell_BRT2{
    padding-left:  5px;
    font-size: 19px;
    text-align: left;
    vertical-align: middle;
  }
  .cell_BRT2s{
    padding-left:  5px;
    font-size: 19px;
    text-align: right;
    vertical-align: middle;
  }
  .cell_BRT3{
    padding-right:  5px;
    font-size: 19px;
    text-align: right;
    vertical-align: middle;
  }
  .cell_BR2{
    padding-right:  5px;
    font-size: 19px;
    text-align: right;
    vertical-align: top;
  }
  .cell_BR3{
    padding-left:  5px;
    font-size: 19px;
    text-align: left;
    vertical-align: middle;
  }
  .R3_IaK{
    font-size: 20px;
  }
  /* テーブル全体の基本設定 */
.schedule-table {
  width: 100%;
  border-collapse: collapse; /* 枠線を隙間なく密着させる */
  text-align: center;
}

/* すべてのセルに共通するスタイル */
.schedule-table th,
.schedule-table td {
  border: 1px solid #333;   /* 線の幅（太さ）を1pxに指定 */
  padding: 12px 8px;        /* 枠内の上下・左右の余白 */
  font-size: 14px;
}

/* 1行目：期間セルのデザイン */
.period-header {
  background-color: #454545;   /* 背景色を濃いグレーに */
  color: #fff;              /* 文字色を白に */
  font-weight: bold;
}
/* 1行目：期間セルのデザイン２ */
.period-header2 {
  background-color: #09006a;   /* 背景色を濃いグレーに */
  color: #fff;              /* 文字色を白に */
  font-weight: bold;
}

/* 2行目：学年セルのデザイン */
.grade-cell {
  background-color: #f2f2f2; /* 薄いグレー */
  font-weight: bold;
}

/* 右側の期間だけの特別枠（色を変えて目立たせる場合） */
.highlight-grade {
  background-color: #e6f7ff; /* 薄い青 */
}

/* ################  1279pxより小さい場合に適用する ################ */

@media (max-width:1279px){

  .tchr_03_001{
    float: left;
    background-color: white;
    margin: 0px;
    width: 100%;
    /*height: 1750px;*/
  }
  .tchr_03_001_c{
    float: left;
    background-color: white;
    margin: 0px;
    width: 100%;
    height: 300px;
  }
  .tchr_03_001_a{
    float: left;
    background-color: white;
    margin: 0px;
    width: 100%;
    height: 100px;
  }
  .tchr_03_002{
    float: left;
    background-color: white;
    margin: 0px;
    width: 100%;
    height: 450px;
    }
  .tchr_03_001_ab{
    float: left;
    background-color: white;
    margin: 0px;
    width: 100%;
    height: 50px;
  }
  .tchr_03_001_br::before{
    content: "\A" ;
	   white-space: pre ;
  }
      .custom-table {
  width: 100%;
  border-collapse: collapse; /* 枠線の重複を防ぎ、すっきり見せる */
  text-align: center;       /* 文字を中央寄せにする */
}

/* すべてのセル（枠）に共通するスタイル */
.custom-table td {
  border: 1px solid #333;   /* 1pxの実線（濃いグレー） */
  padding: 15px;            /* 枠の中の余白（広めにして見やすく） */
}

/* 特定のセルに個別の背景色をつける場合（お好みで調整してください） */
.header-cell {
  background-color: #f2f2f2; /* 先頭の枠の背景を薄いグレーに */
  font-weight: bold;
}

.footer-cell {
  background-color: #e6f7ff; /* 下の合体した枠を薄い青に */
}

/* テーブル全体の基本設定 */
.schedule-table {
  width: 100%;
  border-collapse: collapse; /* 枠線を隙間なく密着させる */
  text-align: center;
}

/* すべてのセルに共通するスタイル */
.schedule-table th,
.schedule-table td {
  border: 1px solid #333;   /* 線の幅（太さ）を1pxに指定 */
  padding: 12px 8px;        /* 枠内の上下・左右の余白 */
  font-size: 14px;
}

/* 1行目：期間セルのデザイン */
.period-header {
  background-color: #454545;   /* 背景色を濃いグレーに */
  color: #fff;              /* 文字色を白に */
  font-weight: bold;
}
/* 1行目：期間セルのデザイン２ */
.period-header2 {
  background-color: #09006a;   /* 背景色を濃いグレーに */
  color: #fff;              /* 文字色を白に */
  font-weight: bold;
}

/* 2行目：学年セルのデザイン */
.grade-cell {
  background-color: #f2f2f2; /* 薄いグレー */
  font-weight: bold;
}

/* 右側の期間だけの特別枠（色を変えて目立たせる場合） */
.highlight-grade {
  background-color: #e6f7ff; /* 薄い青 */
}
}

/* ################  1280pxより大きい場合に適用する ################ */
@media (min-width:1280px){


  .tchr_03_001{
    float: left;
    background-color: white;
    margin: 0px;
    padding: 5px;
    width: 100%;
    height: 1550px;
  }
  .tchr_03_001_c{
    float: left;
    background-color: white;
    margin: 0px;
    width: 100%;
    height: 250px;
  }
  .tchr_03_001_a{
    float: left;
    background-color: white;
    margin: 0px;
    width: 100%;
    height: 50px;
  }
  .tchr_03_001_ab{
    float: left;
    background-color: white;
    margin: 0px;
    width: 100%;
    height: 50px;
  }
    .custom-table {
  width: 100%;
  border-collapse: collapse; /* 枠線の重複を防ぎ、すっきり見せる */
  text-align: center;       /* 文字を中央寄せにする */
}

/* すべてのセル（枠）に共通するスタイル */
.custom-table td {
  border: 1px solid #333;   /* 1pxの実線（濃いグレー） */
  padding: 15px;            /* 枠の中の余白（広めにして見やすく） */
}

/* 特定のセルに個別の背景色をつける場合（お好みで調整してください） */
.header-cell {
  background-color: #f2f2f2; /* 先頭の枠の背景を薄いグレーに */
  font-weight: bold;
}

.footer-cell {
  background-color: #e6f7ff; /* 下の合体した枠を薄い青に */
}

/* テーブル全体の基本設定 */
.schedule-table {
  width: 100%;
  border-collapse: collapse; /* 枠線を隙間なく密着させる */
  text-align: center;
}

/* すべてのセルに共通するスタイル */
.schedule-table th,
.schedule-table td {
  border: 1px solid #454545;   /* 線の幅（太さ）を1pxに指定 */
  padding: 12px 8px;        /* 枠内の上下・左右の余白 */
  font-size: 14px;
}

/* 1行目：期間セルのデザイン */
.period-header {
  background-color: #333;   /* 背景色を濃いグレーに */
  color: #fff;              /* 文字色を白に */
  font-weight: bold;
}
/* 1行目：期間セルのデザイン２ */
.period-header2 {
  background-color: #09006a;   /* 背景色を濃いグレーに */
  color: #fff;              /* 文字色を白に */
  font-weight: bold;
}

/* 2行目：学年セルのデザイン */
.grade-cell {
  background-color: #f2f2f2; /* 薄いグレー */
  font-weight: bold;
}

/* 右側の期間だけの特別枠（色を変えて目立たせる場合） */
.highlight-grade {
  background-color: #e6f7ff; /* 薄い青 */
}

}
/* ################  988pxより小さい場合に適用する ################ */

@media (max-width:988px){

  .tchr_03_001{
    float: left;
    background-color: white;
    margin: 0px;
    width: 100%;
    height: 65rem;
  }
  .tchr_03_001_c{
    float: left;
    background-color: white;
    margin: 0px;
    width: 100%;
    height: 500px;
  }
  .tchr_03_001_a{
    float: left;
    background-color: white;
    margin: 0px;
    width: 100%;
    height: 100px;
  }
  .tchr_03_002{
    float: left;
    background-color: white;
    margin: 0px;
    width: 100%;
    height: 650px;
    }
  .tchr_03_001_ab{
    float: left;
    background-color: white;
    margin: 0px;
    width: 100%;
    height: 50px;
  }
  .tchr_03_001_br::before{
    content: "\A" ;
	   white-space: pre ;
  }
  .tchr_03_005{
    float: left;
    background-color: white;
    margin: 0px;
    width: 100%;
    height: 950px;
  }
  .custom-table {
  width: 100%;
  border-collapse: collapse; /* 枠線の重複を防ぎ、すっきり見せる */
  text-align: center;       /* 文字を中央寄せにする */
}

/* すべてのセル（枠）に共通するスタイル */
.custom-table td {
  border: 1px solid #333;   /* 1pxの実線（濃いグレー） */
  padding: 15px;            /* 枠の中の余白（広めにして見やすく） */
}

/* 特定のセルに個別の背景色をつける場合（お好みで調整してください） */
.header-cell {
  background-color: #f2f2f2; /* 先頭の枠の背景を薄いグレーに */
  font-weight: bold;
}

.footer-cell {
  background-color: #e6f7ff; /* 下の合体した枠を薄い青に */
}
/* テーブル全体の基本設定 */
.schedule-table {
  width: 100%;
  border-collapse: collapse; /* 枠線を隙間なく密着させる */
  text-align: center;
}

/* すべてのセルに共通するスタイル */
.schedule-table th,
.schedule-table td {
  border: 1px solid #333;   /* 線の幅（太さ）を1pxに指定 */
  padding: 12px 8px;        /* 枠内の上下・左右の余白 */
  font-size: 14px;
}

/* 1行目：期間セルのデザイン */
.period-header {
  background-color: #454545;   /* 背景色を濃いグレーに */
  color: #fff;              /* 文字色を白に */
  font-weight: bold;
}
/* 1行目：期間セルのデザイン２ */
.period-header2 {
  background-color: #09006a;   /* 背景色を濃いグレーに */
  color: #fff;              /* 文字色を白に */
  font-weight: bold;
}

/* 2行目：学年セルのデザイン */
.grade-cell {
  background-color: #f2f2f2; /* 薄いグレー */
  font-weight: bold;
}

/* 右側の期間だけの特別枠（色を変えて目立たせる場合） */
.highlight-grade {
  background-color: #e6f7ff; /* 薄い青 */
}
}
