@charset "UTF-8";

/*PC設定*/
/*-----------------------------------------------------------*/
/*PS/SP表示・非表示*/
.pc {
  display: block;
}

.sp {
  display: none;
}

/*-----------------------------------------------------------*/
/*画像基本*/
img {
  display: inline-block;
  max-width: 100%;
  height: auto;
}

/*注意書き*/
small {
  line-height: 1.4;
}

/*現在のページのハイライト処理*/
.current {
  opacity: .5;
}

/*-----------------------------------------------------------*/
/*ダーシ・…の隙間消去*/
em.dash {
  display: inline-block;
  font-style: italic;
  letter-spacing: -0.08em;
  margin-right: 4px;
}

i {
  font-style: normal;
}

/*-----------------------------------------------------------*/
/*リンク画像オンマウス*/
a:hover,
a:hover img {
  opacity: 0.8;
  filter: alpha(opacity=80);
  -ms-filter: "alpha(opacity=80)";
}


/*-----------------------------------------------------------*/
/*body*/
/*-----------------------------------------------------------*/
body {
  background: #000;
  font-size: clamp(0.813rem, 0.744rem + 0.34vw, 1rem);
  line-height: 1.4em;
  letter-spacing: 0.1em;
  color: #ebebeb;
  font-family: "Sawarabi Mincho";
  text-align: center;
  animation: bodyFadeIn 4s ease-out 0s 1 normal;
  -webkit-animation: bodyFadeIn 5s ease 0s 1 normal;
}





/*-----------------------------------------*/
/*fade-in設定*/
@keyframes bodyFadeIn {
  0% {
    visibility: hidden;
    opacity: 0;
  }

  100% {
    visibility: visible;
    opacity: 1;
  }
}

/*-----------------------------------------------------------*/
/*コンテンツ背景*/
/*-----------------------------------------------------------*/
#wrapper {
  overflow-x: hidden;
  width: 100%;
  height: 100%;

  background: url("../../_image/bg_contents.png")fixed center top/100% auto;

}

main {
  position: relative;
  aspect-ratio: 1 / 1;
  width: 100%;
  overflow: hidden;

}

main img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  /* 必要に応じて contain や none に変更 */
  display: block;
}

.catch_logo {
  position: absolute;
  width: 32%;
  background: url("../../_image/catch_logo.webp") no-repeat center top / 100% auto;
  padding-top: calc(230 / 1000 * 100%);
  z-index: 11;
  left: 50%;
  top: 85%;
  /* 全体の中での高さ位置を固定 */
  transform: translate(-50%, -50%);
}

.catch {
  position: absolute;
  width: 16%;
  /* 縦長なので縮小 */
  background: url("../../_image/catch@2x.webp") no-repeat center top / 100% auto;
  padding-top: calc(630 / 1000 * 100%);
  /* 実寸に合わせる（旧1282/353→1279/349） */
  z-index: 11;
  right: 1%;
  top: 1.5%;
}

.catch_cast {
  position: absolute;
  width: 3.43%;
  background: url("../../_image/catch_cast@2x.webp") no-repeat center top / 100% auto;
  padding-top: calc(541 / 1000 * 100%);
  /* 高さ抑える */
  z-index: 11;
  left: 11%;
  top: 10%;
  /* はみ出し防止の位置に調整 */
}

@media (max-width: 1160px) {
  .catch_cast {
    left: clamp(13%, 50vw - 390px, 11%);
    transition: all .2s;
  }
}

@media (max-width: 924px) {
  .catch_cast {
    left: clamp(14%, 50vw - 390px, 11%);
    transition: all .2s;
  }
}

@media (max-width: 860px) {
  .catch_cast {
    left: clamp(16%, 50vw - 390px, 11%);
    transition: all .2s;
  }
}

@media (max-width: 780px) {
  .catch_cast {
    left: clamp(18%, 50vw - 390px, 11%);
    transition: all .2s;
  }
}


.keyvisual05_01 {
  position: absolute;
  width: 100%;
  background: url("../../_image/keyvisual05_01.webp")no-repeat center top/100% auto;
  padding-top: calc(100% * 1400/1400);
  z-index: 10;
}

.keyvisual05_02 {
  position: absolute;
  width: 100%;
  background: url("../../_image/keyvisual05_02.webp")no-repeat center top/100% auto;
  padding-top: calc(100% * 1400/1400);
  z-index: 9;
}

.keyvisual05_03 {
  position: absolute;
  width: 100%;
  background: url("../../_image/keyvisual05_03.webp")no-repeat center top/100% auto;
  padding-top: calc(100% * 1400/1400);
  z-index: 8;
}

.keyvisual05_04 {
  position: absolute;
  width: 100%;
  background: url("../../_image/keyvisual05_04.webp")no-repeat center top/100% auto;
  padding-top: calc(100% * 1400/1400);
  z-index: 7;
}

.keyvisual05_05 {
  position: absolute;
  width: 100%;
  background: url("../../_image/keyvisual05_05.webp")no-repeat center top/100% auto;
  padding-top: calc(100% * 1400/1400);
  z-index: 6;
}

.keyvisual05_06 {
  position: absolute;
  width: 100%;
  background: url("../../_image/keyvisual05_06.webp")no-repeat center top/100% auto;
  padding-top: calc(100% * 1400/1400);
  z-index: 5;
}

/*
main .keyvisual05_01,
main .keyvisual05_02,
main .keyvisual05_03,
main .keyvisual05_04,
main .keyvisual05_05,
main .keyvisual05_01,
.catch_logo,
.catch,
.catch_cast {
  visibility: hidden;
  will-change: transform;
  backface-visibility: hidden;
}
  */

/*-----------------------------------------------------------*/
/*岩山背景*/
/*-----------------------------------------------------------*/
article {
  position: relative;
  max-width: 1240px;
  /*この一行を追加*/
  margin: 0 auto;
  padding: 0 0 0 140px;
  z-index: 10;
}

section {
  text-align: center;
}



footer {
  width: 100%;
  padding: 120px 0 0 0;

}

footer.ph {
  overflow: hidden;
  position: relative;
  width: 100%;
  padding: 0 0 0 0;
}



/*-----------------------------------------------------------*/
/*外部サイトバナー*/
.fImg {
  z-index: 2;
}

.footerBnr li {
  margin: 0 10px 0;
}

/*外部サイトバナー*/
.footerBnr {
  position: relative;
  display: flex;
  flex-wrap: no-wrap;
  justify-content: center;
  margin: -10% auto 24px;
  z-index: 4;
}

.footerBnr li {
  margin: 0 10px 0;
}


.fontS {
  font-size: clamp(0.625rem, 0.58rem + 0.23vw, 0.75rem);
}

.fontM {
  font-size: clamp(0.813rem, 0.699rem + 0.57vw, 1.125rem);
}

.fontL {
  font-size: clamp(0.813rem, 0.699rem + 0.57vw, 1.125rem);
}


/*-----------------------------------------------------------*/
/*ヘッダー*/
/*-----------------------------------------------------------*/
header {
  width: 100%;
  text-align: right;

}

header img {
  margin: 4px;
}

header ul {
  width: 100%;
  background: url(../../_image/headerLine.png) no-repeat right top;
  display: flex;
  flex-wrap: wrap;
  flex-direction: row-reverse;

}

header ul li {
  margin: 1px 0 0 0;
  padding: 4px 12px;
  border-left: 1px solid rgba(255, 255, 255, .3);
}

header ul li:last-child {
  padding: 4px 12px;
  border-left: none;
}

/*ニュース*/
.newsList {
  max-width: 1024px;
  margin: 0 auto 96px;
}

.newsList li {
  max-width: 1024px;
  border-bottom: 1px solid rgba(255, 255, 255, .3);
  margin: 0 auto 24px;
  text-align: left;
  padding: 28px;
}

.newsList li:last-child {
  border: none;
}

.newsList li i {
  min-width: 8em;
  display: inline-block;
  font-size: clamp(1.125rem, 0.989rem + 0.68vw, 1.5rem)
}

.newsList li a {
  display: flex;
  flex-wrap: nowrap;
}

/*ニュースページネーション*/
.pagination {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.pagination a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 35px;
  height: 39px;
  background: url(../../_image/newsPN@2x.png) no-repeat center top/100% auto;
  padding-top: 2px;
  margin: 0 3px;
  font-size: 15px;
  color: #333;
}

.pagination a.current {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 35px;
  height: 39px;
  background: url(../../_image/newsPN_on@2x.png) no-repeat center top/100% auto;
  padding-top: 2px;
  margin: 0 3px;
  font-size: 15px;
  color: #FFF;
  opacity: 1;
}


.link {
  display: block;
  max-width: 460px;
  margin: 42px auto;
  padding: 12px;
  font-size: clamp(0.813rem, 0.699rem + 0.57vw, 1.125rem);
  border: 1px solid #FFF;
  text-align: center;
}






/*-------*/
.staffList {
  display: flex;
  flex-wrap: wrap;
  justify-content: left;
  max-width: 1024px;
  margin: 0 auto;
}

.staffList li {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 50%;
  border-bottom: 1px solid rgba(255, 255, 255, .3);
  margin: 0 auto;
  text-align: left;
  padding: 28px;
  font-size: clamp(1.125rem, 0.898rem + 1.14vw, 1.75rem);
}

.staffList li:last-child {
  border: none;
  text-align: left;
}

.staffList li:nth-last-of-type(2) {
  border: none;
  text-align: left;
}




.staffList li i {
  display: inline-block;
  font-size: clamp(0.625rem, 0.58rem + 0.23vw, 0.75rem);
}

.staffList li a {
  display: flex;
  flex-wrap: nowrap;
}

/*-------*/






/*-------*/
/*****^^^^^^^^^^^^^^^^^^^^^^^^^^^^****/



h2 {
  position: relative;
  margin: 40px auto 48px;
  z-index: 5;
}

section.news {
  max-width: 1024px;
  margin: 0 auto;
}

section.news p {
  padding: 0 28px 28px;
  font-size: clamp(0.813rem, 0.744rem + 0.34vw, 1rem);
  line-height: 1.8;
  text-align: left;
}

section.news p strong {
  font-size: clamp(0.813rem, 0.699rem + 0.57vw, 1.125rem);

  color: #fff604;
}


.newsTtl {
  margin: 0 0 28px;
  padding: 0 28px 12px;
  border-bottom: 1px solid rgba(255, 255, 255, .3);
  font-size: clamp(1.125rem, 0.898rem + 1.14vw, 1.75rem);
  line-height: 1.2;
}

.newsTtl i {
  display: inline-block;
  margin-right: 12px;
  font-size: clamp(0.625rem, 0.58rem + 0.23vw, 0.75rem)
}

.imgBox {
  margin-bottom: 36px;
}

.imgBoxS {
  max-width: 300px;
  height: 533px;
  margin: 0 auto 36px;
}

.imgBoxM,
.txtBox {
  max-width: 640px;
  margin: 0 auto 36px;
}

.imgBoxL {
  max-width: 800px;
  margin: 0 auto 36px;
}

.imgBoxM strong {
  display: block;
  margin: 8px auto 0;
    font-size: 18px;
  color: #fff604;
}

.profile {
  display: flex;
  flex-wrap: wrap;
  text-align: left;
}

.profile .ph1 {
  display: inline-block;
  width: 30%;
}

.profile .tx1 {
  display: inline-block;

  width: 70%;
  padding-left: 12px;
  line-height: 1.8;
}

.profile .tx1 strong {
  display: inline-block;
  font-size: 18px;
  color: #fff604;
}

.mu {
  display: inline-block;
  margin: 0 auto;
  text-align: left;
}

.mu strong {
  display: inline-block;
  font-size: 18px;
  color: #fff604;
}




a.back {
  display: inline-block;
  margin: 80px auto;
  font-size: clamp(0.625rem, 0.58rem + 0.23vw, 0.75rem);
  text-decoration: underline;

}

.intro {
  position: relative;
  width: 98%;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  margin-top: -100px;
  z-index: 1;
}

.intro dt {
  width: 45%;

}

.intro dd {
  width: 55%;

  margin: 0 0 0 -6%;

}


/*-----------------------------------------------------------*/
/*-----------------------------------------------------------*/
h2 {
  position: relative;
  box-sizing: border-box;
}

h3 {
  margin: 0 auto 24px;
}

#onair h3 {
  max-width: 540px;
  margin: 0 auto 24px;
}






/*-----------------------------------------------------------*/
/*-----------------------------------------------------------*/
.youtube {
  position: relative;
  width: 100%;
  background: #000;
  padding-bottom: calc(100%* 340/560);
  box-sizing: border-box;
}

.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}



/*コミックス*/
.comicsList {
  max-width: 1024px;
  margin: 0 auto;
  text-align: center;
}

.comicsList li {
  max-width: 1024px;
  border-bottom: 1px solid rgba(255, 255, 255, .3);
  margin: 0 auto;
  padding: 28px;
}

.comicsList li:last-child {
  border: none;
}

.comicsList li strong {
  font-size: clamp(0.813rem, 0.699rem + 0.57vw, 1.125rem);
}

.comicsList li:first-child strong {
  font-size: clamp(1rem, 0.818rem + 0.91vw, 1.5rem)
}

.comicsList li cite {
  display: block;
  font-size: 14px;
  font-style: normal;
  margin-bottom: 24px;
}

.comicsList li p {}

.comicsList li dl {
  display: flex;
  flex-wrap: no-wrap;
  align-items: center;
}

.comicsList li dl dt {
  width: 20%;
}

.comicsList li dl dd {
  width: 80%;
  text-align: left;
  padding-left: 24px;
}



.comicsList li:first-child dl {
  width: 90%;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}

.comicsList li:first-child dl dt {
  width: 100%;
  padding-bottom: 28px;
}

.comicsList li:first-child dl dd {
  width: 100%;
  padding-left: 0;
}

.comicLink {
  display: inline-block;
  margin: 24px auto;
  padding: 6px 60px;
  font-size: 13px;
  border: 1px solid #ebebeb;
}


/*-------*/
.onairList {
  display: flex;
  flex-wrap: wrap;
  max-width: 1024px;
  margin: 0 auto;
}

.onairList li {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  border-bottom: 1px solid rgba(255, 255, 255, .3);
  margin: 0 auto;
  padding: 16px 12px;
  text-align: left;
  font-size: clamp(0.938rem, 0.872rem + 0.33vw, 1.125rem);
}

.onairList li.pb {
  padding: 16px 12px;
}

.onairList li.none {
  position: relative;
  padding: 8px 12px 0;
  border-bottom: none;
}




.onairList li.station {
  justify-content: space-between;
  width: 38%;
}

.onairList li.regular {
  width: 19%;
}


.onairList li.first {
  width: 43%;
}

.onairList li.regular.none {
  border-bottom: none;
}

.onairList li.first.none {
  border-bottom: none;
}







/*毎週水曜日*/
.onairList li i {
  display: inline-block;
  width: auto;
  font-size: clamp(0.813rem, 0.769rem + 0.22vw, 0.938rem);
}

.repeat {
  line-height: 1.4;
  font-size: clamp(0.813rem, 0.769rem + 0.22vw, 0.938rem);

}

.onairList li small {
  position: absolute;
  display: block;
  width: 400px;
  font-size: clamp(0.813rem, 0.769rem + 0.22vw, 0.938rem);
}




/*------------------------------------*/

/*-------*/
.broadcastTxt {
  max-width: 96%;
  margin: 0 auto;
  padding: 0 8px 8px;
  font-size: clamp(0.938rem, 0.872rem + 0.33vw, 1.125rem);
  text-align: center;
}

/*-------*/
.broadcastList {
  display: flex;
  flex-wrap: wrap;
  max-width: 96%;
  margin: 0 auto 36px;
}

.broadcastList li {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 48%;
  align-items: center;
  border: 1px solid rgba(255, 255, 255, .3);
  margin: 0 1% 1%;
  padding: 8px 8px;
  font-size: clamp(0.938rem, 0.872rem + 0.33vw, 1.125rem);

}

.broadcastList a {
  display: block;
  width: 100%;
}

.story {
  max-width: 1240px;
  margin: 0 auto;
}

.story .stNav {
  display: flex;
  flex-wrap: nowrap;
  max-width: 960px;
  margin: 0 auto 36px;
}

.story .stNav li {
  display: flex;
  width: 76px;
}

.story .ttl {
  background: url(/story/_image/line@2x.png)no-repeat center top/100% auto, url(/story/_image/line@2x.png) no-repeat center bottom/100% auto;
  margin: 12px auto 40px;
  padding: 20px;
}

.sliderBox {
  max-width: 960px;
  background: url(/story/_image/stBGtop@2x.png)no-repeat center bottom -28px/1542px auto;
  margin: 0 auto;
  padding-bottom: 24px;
}

.story .thumbnail {
  display: flex;
  max-width: 860px;
  margin: 0 auto;
}

.story .thumbnail li {
  margin: 0 2px;
}


.storytxt {
  background: url(/story/_image/stBGbtm@2x.png)no-repeat center top -60px/1542px auto;
  padding-top: 60px;
}

.storytxt p {
  max-width: 64%;
  margin: 0 auto;
  font-size: clamp(0.938rem, 0.872rem + 0.33vw, 1.125rem);
  line-height: 1.8;
  text-align: left;
  text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.8);
}

.storytxt p.author {
  max-width: 64%;
  margin: 24px auto 80px;
  font-size: clamp(0.813rem, 0.769rem + 0.22vw, 0.938rem);
  line-height: 1.6;
  text-align: left;
}

/*-----------------------------------------------------------*/
/*particles-js*/
/*-----------------------------------------------------------*/
/* ---- reset ---- */
canvas {
  display: block;
  vertical-align: bottom;
}

/* ---- particles.js container ---- */
#particles-js {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 3;
}

/* ---- stats.js ---- */
.count-particles {
  background: #000022;
  position: absolute;
  top: 48px;
  left: 0;
  width: 80px;
  text-align: left;
  text-indent: 4px;
  line-height: 14px;
  padding-bottom: 2px;
  font-family: Helvetica, Arial, sans-serif;
  font-weight: bold;
}

.js-count-particles {
  font-size: 1.1em;
}

#stats,
.count-particles {
  -webkit-user-select: none;
  margin-top: 5px;
  margin-left: 5px;
}

#stats {
  border-radius: 3px 3px 0 0;
  overflow: hidden;
}

.count-particles {
  border-radius: 0 0 3px 3px;
}