/*ロゴ横スクロール*/

.slider {
    display: flex;
    background-color: #ffffff;
    overflow: hidden;
}

.slider-list {
    display: flex;
    margin: 0;
    padding: 0;
    align-items: center;
    animation: slideShow 18s infinite linear;
    list-style: none;
}

.slider-item {
    width: 130px;
    height: auto;
    margin: 10px 10px;
}

@media screen and (max-width: 479px) {
 .slider-item {
    width: 80px;
    height: auto;
    margin: 0 10px;
}
}


.slider-item img {
    width: 100%;
    object-fit: contain;
}

@keyframes slideShow {
    0% {
        transform: translateX(0%);
    }

    100% {
        transform: translateX(-100%);
    }

}

/*ロゴ横スクロールここまで*/

/* タブ切り替えテーブル 基礎*/
.tab-wrap {
    display: flex;
    flex-wrap: wrap;
    margin:20px 0;
  }
  .tab-wrap:after {
    content: '';
    width: 100%;
    height: 3px;
    background: #e60012;
    display: block;
    order: -1;
  }
  .tab-label {
    font-size: 16px;
    color: White;
    background: LightGray;
    font-weight: bold;
    white-space: nowrap;
    text-align: center;
    padding: 10px .5em;
    order: -1;
    position: relative;
    z-index: 1;
    cursor: pointer;
    border-radius: 5px 5px 0 0;
    flex: 1;
  }
  
  .tab-label:not(:last-of-type) {
    margin-right: 5px;
  }

  @media screen and (max-width: 500px) {
    .tab-label{
        font-size: 10px;
    }
  }


  
  .tab-content {
    width: 100%;
    height: 0;
    overflow: hidden;
    opacity: 0;
  }
  
  .tab-switch:checked+.tab-label {
    background: #e60012;
  }
  
  .tab-switch:checked+.tab-label+.tab-content { 
    display: flex;
    height: auto;
    overflow: auto;
    padding: 15px;
    opacity: 1;
    transition: .5s opacity;
    box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);
  }
  
  .tab-switch {
    display: none;
  }
  
  /* ここからタブ内コンテンツ PC*/
  .tab-flexbox {
    display: flex;
    padding:2rem;
  }

  .tab-img{
    max-width: 100%;
    width: 300px;
    height: 300px;
    flex-shrink: 0;
    margin:2rem 4rem 2rem 0;
  }



  .tab-text .tab-text-ttl{
    font-size: 32px;
    font-weight: bold;
    color: #e60012;
    border-bottom: 1px solid #e60012;
  }

  .tab-text .tab-text-subttl{
    font-size: 24px;
    font-weight: bold;
    line-height: 26px;
  }

  .tab-text .tab-text-subttl p:first-child{
    margin-bottom: 5px;
  }

  .tab-text .tab-text-text{
    font-size: 16px;
  }

  .tab-text span.text-red{
    color: #e60012;
    font-weight: bold;
  }

  /* ここからタブ内コンテンツ SP*/
  
  @media screen and (max-width: 500px) {
    .tab-flexbox {
      flex-direction: column; /* デバイスが500px以下の時は並び順を逆順にする */
   justify-content: center;
      padding: 1rem;
     
    }

    .tab-img{
        width: 200px;
        height: 200px;
        flex-shrink: 0;
        margin: 0 auto 1.5rem;
      }

      .tab-text .tab-text-ttl{
        font-size: 20px;
      }

      .tab-text .tab-text-ttl br{
        display: none;
      }

      .tab-text .tab-text-subttl{
        font-size: 18px;
        line-height: 20px;
      }
      .tab-text .tab-text-text{
        font-size: 14px;
      }


  }
  
  /* タブ切り替えテーブル 基礎 ここまで*/


  /* タブ切り替えテーブル 装飾　*/
.tab-switch:checked+.tab-label:after {
    top: 100%;
    left: 50%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
    border-color: rgba(136, 183, 213, 0);
    border-top-color: #e60012;
    border-width: 14px;
    margin-left: -14px;
}
.tab-switch:checked+.tab-label {
    background: #e60012;
    position: relative;
}




/* タブ切り替えテーブル 装飾 ここまで*/