@charset "utf-8";
/* CSS Document */
.tss_comprehensiveHead,
#adminBox, .acms-admin-box,
.tss_footer{
 position: relative;
 z-index: 100;
 margin-bottom: 0;
}
img{
  max-width: 100%;
}
.tss_footer{
  background-color: #B10B15;
}

.tss_body{
  padding: clamp(0.875rem, 0.149rem + 2.7vw, 1.5rem) 8px; /* 14 -24 430-800 */
  background-color: #B10B15;
  background-image: url(../img/bg.webp);
  background-position: center bottom;
  background-size: contain;
  background-repeat: no-repeat;
}
span.spk_pcbr{
  display: inline-block;
}

/* logo */
.spk_logo{
  max-width: 1158px;
  width: 98%;
  aspect-ratio: 579/146;
  margin-inline: auto;
}
.spk_logo img{
  width: 100%;
  height: 100%;
}

.spk_bggra{
  max-width: 1260px;
  margin-inline: auto;
  margin-top: 40px;
  padding: 20px clamp(0.5rem, -2.405rem + 10.81vw, 3rem) 40px;/* 8-48 430-800 */
  border-radius: clamp(0.625rem, -0.973rem + 5.95vw, 2rem);/* 10-32 430-800 */
  background-image: linear-gradient(180deg, rgba(255, 255, 255, 1) 80%, rgba(255, 218, 94, 1));
}
.spk_bggra.first{
  margin-top: clamp(-172px, calc(-83px + (-89) * ((100vw - 430px) / 370)), -83px);/* -83 -172 430-800 */
  padding: clamp(5.188rem, -1.277rem + 24.05vw, 10.75rem) clamp(0.5rem, -2.986rem + 12.97vw, 3.5rem) clamp(2.5rem, 0.757rem + 6.49vw, 4rem);/* 83-172 430-800 *//* 8-56 430-800 *//* 40-64 430-800 */
}
.spk_subTtl{
  max-width: 812px;
  margin-inline: auto;
  aspect-ratio: 829/91;
}
.spk_subTtl img{
  width: 100%;
  height: 100%;
}


/* 番組時間 */
.spk_pro-detailsFlx{
  display: flex;
  gap: clamp(1.5rem, -0.243rem + 6.49vw, 3rem) 6px;/* 24-48 430-800 */
  margin-top: clamp(0.5rem, 1.75vw, 0.875rem);/* 8-14 */
}
.spk_pro-detailsFlx>*{
  width: 560px;
  border-radius: 24px;
  box-shadow: 0 10px 3px rgba(0, 0, 0, 0.16);
  transition: all 0.1s linear;
}
.spk_pro-splv{
  background-image: linear-gradient(90deg, #FFAA00, #ffffff 30% 70%, #FFAA00);
  background-position: center;
  animation: bgsplv 2s ease infinite;
}
.spk_pro-carp{
  background-image: linear-gradient(106deg, rgba(223, 0, 13, 1), rgba(235, 94, 103, 1) 30%, rgba(255, 255, 255, 1) 45% 55%, rgba(195, 219, 75, 1) 70%, rgba(171, 205, 5, 1));
  background-position: center;
  animation: bgcarp 2s ease infinite;
}
@keyframes bgsplv{
  0%{
    background-size: 100%;
  }
  50%{
    background-size: 160%;
  }
  100%{
    background-size: 100%;
  }
}
@keyframes bgcarp{
  0%{
    background-size: 100%;
  }
  50%{
    background-size: 200%;
  }
  100%{
    background-size: 100%;
  }
}
.spk_pro-detailsFlx a{
  display: block;
}


/* ゲスト */
.spk_guestWrap{
  display: grid;
  grid-template-columns: repeat(2, auto);
  grid-template-rows: repeat(2, auto);
  gap: 0 20px;
  margin-top: 40px;
}
.spk_guest{
  grid-column: 1/2;
  grid-row: 1/-1;
  max-width: clamp(13.625rem, 0.405rem + 49.19vw, 25rem);/* 218-400 430-800 */
  height: fit-content;
  margin-inline: auto;
  box-shadow: 0px 3px 8px 0px rgba(0, 0, 0, 0.4);
}
.spk_guestTtl{
  grid-column: 2 / 3;
  max-width: 478px;
  height: fit-content;
  margin-inline-start: -80px;
}
.spk_guestTxt p{
  font-size: clamp(1rem, 0.709rem + 1.08vw, 1.25rem);/* 16-20 430-800 */ 
  color: #720051;
  line-height: calc(42/26);
  text-shadow: 0px 3px 0px rgba(255, 255, 255, 1);
}


/* バナー */
.spk_bnrWrap{
  margin-top: clamp(3rem, 0.966rem + 7.57vw, 4.75rem);/* 48-76 430-800 */
}
.spk_bnr_anno{
  max-width: 750px;
  width: 90%;
  margin-inline: auto;
}
.spk_bnr_anno a{
  display: block;
  transition: opacity 0.2s ease;
}



.spk_map{
  aspect-ratio: 81/44;
}
.spk_map img{
  width: 100%;
  height: 100%;
}
.spk_mapdetail{
  text-align: center;
  aspect-ratio: 367/512;
}
.spk_mapdetail{
  width: 100%;
  height: 100%;
}



.spk_specialttl{
  text-align: center;
  background: linear-gradient(transparent 0%, transparent 45%, #DF000D 45%, #DF000D 72%, transparent 72%, transparent 100%);
}
.spk_specialpgm{
  display: flex;
  flex-wrap: wrap;
  gap: 24px 30px;
}
.spk_specialpgm > *{
  width: calc(32% - 15px);
}
.spk_specialpgm picture{
  display: block;
  aspect-ratio: 16/9;
  margin-bottom: 10px;
}
.spk_specialpgm h3{
  margin-bottom: 8px;
  font-weight: bold;
  line-height:1.375;
}
.spk_specialpgm p{
  font-size: 0.875rem;
  line-height: 1.75;
}



@media screen and (min-width:821px){
  .spk_pro-detailsFlx > div:hover{
    box-shadow: 0 5px 3px rgba(0, 0, 0, 0.16);
    transform: translateY(3px);
  }


  .spk_bnr_anno a:hover{
    opacity: 0.7;
  }



  .spk_mapdetail{display: none;}
}
@media screen and (max-width:960px){
  /* 番組時間 */
  .spk_pro-detailsFlx{
    flex-wrap: wrap;
    justify-content: center;
  }

  /* ゲスト */
  .spk_guest{
    grid-row: 2 / 3;
  }
  .spk_guestTtl{
    grid-column: 1 / 2;
    margin-inline-start: 0;
    margin-block-end: -24px;
  }
  .spk_guestTxt{
    grid-row: 1 / -1;
  }
}
@media screen and (max-width:800px){
  .tss_body{padding-bottom: calc(17.5vw + 120px);}
  span.spk_spbr{
    display: block;
  }

  /* logo */
  .spk_logo{
    aspect-ratio: 353/103;
  }

  .spk_bggra{
    background-image: linear-gradient(180deg, rgba(255, 255, 255, 1) 80%, rgb(255 241 195));
  }

  /* ゲスト */
  .spk_guestWrap{
    grid-template-columns: repeat(1, auto);
    grid-template-rows: repeat(3, auto);
  }
  .spk_guestTtl{
    width: 80%;
    margin-inline: auto;
  }
  .spk_guestTxt{
    grid-column: 1/2;
    grid-row: 3/-1;
    margin-top: 16px;
  }
  .spk_guestTxt p{
    text-align: center;
    text-wrap: balance;
  }


  .spk_map{
    aspect-ratio: 36/29;
  }


  .spk_specialttl{
    background: none;
  }
  .spk_specialpgm{
    gap: 32px 30px;
    padding: 0 16px;
  }
  .spk_specialpgm > *{
    width: 100%;
  }
  .spk_specialpgm picture{
    margin-bottom: 16px;
  }
  .spk_specialpgm h3{
    text-align: center;
    margin-bottom: 12px;
  }
}