    .tooltip {
      display: none;
      position: absolute;
      background: rgba(0,0,0,0.8);
      color: white;
      padding: 8px 12px;
      border-radius: 5px;
      white-space: pre-wrap;
      z-index: 999;
      /*お試し追加：fontsize*/
      font-size: clamp(9pt, 2.5vw, 12pt);
      transform: translateY(5px);
    }
    .filter{
      text-align: left;
      width: 50%;
      margin: 20px 0;
    }
    .download-buttons {
      text-align: right;
      width: 50%;
      margin: 10px 0;
    }
    .filter input[type="text"] {
/*      margin-left: 15px;*/
      padding: 6px 10px;
      border-radius: 6px;
      border: 1px solid #ccc;
/*      min-width: 200px;*/
      width:70%;
    }

    select {
      padding: 8px 12px;
      border-radius: 6px;
      border: 1px solid #ccc;
      font-size: 14px;
    }

    .table-container {
      overflow-x: auto;
      max-height: 500px;
      border: 1px solid #ddd;
      border-radius: 8px;
    }

    table {
      width: 100%;
      border-collapse: collapse;
/*      min-width: 600px;*/
/*      max-height: 330px;*/
/*      table-layout: fixed;  列幅を固定 */
      table-layout: auto;
    }

    th, td {
      padding: 12px 8px;
      border-bottom: 1px solid #ddd;
      text-align: left;
      white-space: nowrap;
      overflow: hidden;       /* はみ出しを隠す */
      text-overflow: ellipsis; /* ...で省略 */
/*      max-width: 200px;        必要に応じて調整 */
    }

    th {
      background-color: #f4f8fb;
      position: sticky;
      top: 0;
      z-index: 1;
    }
    .info40{
      width:40%;
    }
    .info30{
      width:30%;
    }
    .info20{
      width:20%;
    }
    .info10{
      width:10%;
    }
    .seigyo-line{
      display: flex;
    }
    .thumbnail{
      min-width: 125px;
    }

.play_column {
    display: flex
;
}
.img_middle {
    position: relative;
/*    top: 10%;*/
}
.play_info {
    display: flex;
    flex-direction: column;
/*    max-width: 500px;*/
    width: 100%;
    overflow-x: hidden;
}
.play_info input{
    font-size:100%;
    background: transparent;
    border: none;
    outline: none;
    box-shadow: none;
}
.img_middle{
    max-width:120px;
    max-height:90px;
    width:100%;
}
.search_go{
    cursor: pointer;
    border: none;
}
.search_go svg{
  width: 32px;
  height: 32px;
}
.serch_row{
  display: flex;
  flex-direction: row;
}
.q_types label{
    padding-right: 5px; 
    display: inline-block;
    overflow-wrap: anywhere;
    word-break: normal;
}