/*-------------------
 ------共通パーツ-----
 --------------------*/
.under-section {
  width: 800px;
  margin-right: auto;
  margin-bottom: 50px;
  margin-left: auto;
  background-color: #fffef0;
  text-align: left;
  padding: 30px;
  border-radius: 8px;
}

.under-title {
  width: 400px;
  margin: 0 auto;
}

.under-title img {
  width: 100%;
}

.under-summary {
  line-height: 1.8em;
  color: #fffef0;
  text-align: center;
  margin-bottom: 30px;
}

.container-title {
  font-size: 16px;
  color: #ab4747;
  text-align: center;
}

.container-copy {
  font-size: 20px;
  font-weight: bold;
  color: #ab4747;
  text-align: center;
  margin-bottom: 30px;
}

.container-sublabel {
  font-size: 16px;
  color: #544d42;
  margin-bottom: 10px;
  margin-left: 1.6em;
}

.text {
  color: #544d42;
  font-size: 14px;
  line-height: 2em;
  margin-bottom: 40px;
  margin-left: 2em;
}

.recommend {
  color: #ab4747;
  text-align: center;
  background-color: #ebd4c3;
  padding: 50px 10px 50px 10px;
}

.recommend dt {
  font-size: 20px;
  text-align: center;
}

.recommend dd {
  font-size: 16px;
  text-align: center;
  margin-left: 0;
}

.under-section a {
  color: #544d42;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.background {
  background-image: url(../images/background_sarch.svg);
  background-repeat: no-repeat;
  background-size: cover;
  padding: 5px 40px;
}

.twitter-tweet {
  width: 200px;
  margin-right: auto;
  margin-left: auto;
}

/*-------------------
 ------streaming-----
 --------------------*/
/*
ここからパネルのCSS
*/
.wrap {
  width: 860px;
  margin-right: auto;
  margin-bottom: 50px;
  margin-left: auto;
}

.container-label {
  font-size: 18px;
  margin-bottom: 10px;
  color: #544d42;
}

.container-label::before {
  content: "●";
  color: #d1a352;
  margin-right: 5px;
}

.tab-group {
  display: flex;
  gap: 5px;
}

.tab:hover {
  background-color: #fffef0;
}

.panel-group {
  background: #fffef0;
  padding: 60px 30px 30px 30px;
  text-align: left;
  border-bottom-right-radius: 8px;
  border-bottom-left-radius: 8px;
}

/* ------------------------
タブボタン 非アクティブ状態
------------------------ */
.tab {
  list-style: none;
  flex-grow: 1;
  padding: 8px 0 5px 0;

  text-align: center;
  cursor: pointer;
  border-radius: 8px 8px 0 0;
  background-color: #ebd4ad;
  color: #ab4747;
}

/* ------------------------
タブボタン アクティブ状態
------------------------ */
.tab.active {
  background-color: #fffef0;
  color: #544d42;
}

/* ------------------------
パネル部分 非アクティブ状態
------------------------ */
.panel {
  display: none;
}

/* ------------------------
パネル部分 アクティブ状態
------------------------ */
.panel.active {
  display: block;
  animation-name: panel-animation;
  animation-duration: 0.3s;
}

/* アニメーションの動き */
@keyframes panel-animation {
  0% {
    opacity: 0;
    transform: translateY(5px);
  }

  100% {
    opacity: 1;
    transform: none;
  }
}


table {
  color: #d1a352;
  text-align: center;
  border-collapse: collapse;
  margin-bottom: 70px;
  margin-left: 1rem;
}

th,
td {
  border: solid 1px;
  padding: 10px;
}

th {
  background-color: #ebd4ad;
}

/*-------------------
 --------radio-------
 --------------------*/
.link-text {
  font-size: 14px;
  line-height: 2em;
  margin-bottom: 40px;
  margin-left: 2em;
}

/*-------------------
 ------comeback------
 --------------------*/
.calendar-img {
  display: block;
  width: 680px;
  margin: 0 auto 20px auto;
}

/*-------------------
 -----top-article----
 --------------------*/
#top-article .section-title,
#top-article .section-subtitle {
  color: var(--main-color2);
}

.article_list {
  width: 100%;
  margin: 50px auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 80px 40px;
  margin-bottom: 80px;
}

.article_item {
  width: calc((100% - 40px) / 2);
  display: flex;
  flex-direction: column;
  gap: 8px;
  /* opacity: 0; */
  transform: translateY(50px);
}

.article_item.show {
  opacity: 1;
  transform: none;
  transition: all 0.4s ease-in;
}

.article_list_img-wrap {
  aspect-ratio: 4 / 3 !important;
  width: 100% !important;
  overflow: hidden !important;
}

.article_list_img {
  border-radius: 40px 0 40px 0;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block;
  transition: all 0.3s ease;
}

.article_list_img:hover {
  transform: scale(0.92);
  opacity: 0.8;
}

.article_list_date {
  color: var(--sub-color4) !important;
  text-align: left;
}

.article_list_title {
  text-align: left;
}

.article_list_title a {
  text-decoration: none;
  font-size: var(--fs16);
  color: var(--sub-color3) !important;
  font-weight: 400;
  display: inline-block;

}

.article_list_title a:hover {
  text-decoration: underline;
}

.article_list_category {
  display: flex;
  width: 100%;
  flex-wrap: wrap;
  gap: 0.6em;
}

.article_list_category_item {
  font-size: var(--fs10);
  background-color: var(--sub-color4);
  color: var(--sub-color1) !important;
  border-radius: 20px;
  padding: 0.5em 1em;
  box-sizing: border-box;
  text-decoration: none !important;
  border: solid 1px var(--sub-color4);
}

.article_list_category_item:hover {
  background-color: var(--sub-color1);
  color: var(--sub-color4) !important;
  border: solid 1px var(--sub-color4);
}

/* pagination */
/* WP-PageNavi 全体のスタイル */
.wp-pagenavi {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin: 50px 0;
  clear: both;
}

/* 各数字・ボタン共通 */
.wp-pagenavi a,
.wp-pagenavi span {
  display: inline-block;
  padding: 8px 16px 10px 16px;
  color: var(--main-color1);
  transition: 0.3s;
  background-color: var(--sub-color1);
  border: 1px solid var(--main-color1);
}

/* 現在のページの数字（色を反転させるなど） */
.wp-pagenavi span.current {
  color: var(--sub-color1);
  font-weight: bold;
  text-decoration: none;
  background-color: var(--main-color1);
}

/* ホバー時 */
.wp-pagenavi a:hover {
  background-color: var(--main-color1);
  color: var(--sub-color1);
}

.category_area {
  width: 800px;
  margin: 0 auto;
  display: flex;
  gap: 1em;
  flex-wrap: wrap;
  margin-bottom: 100px;
}


/* カテゴリーエリア全体の余白 */
.category_area {
  margin-top: 60px;
  padding-top: 40px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  display: flex;
  flex-direction: column;
  /* 境界線を入れる場合 */
}

/* 各ブロック（ジャンル等）のまとまり */
.category_block {
  margin-bottom: 30px;
}

/* 「出演作品」などの見出し */
.category_block_title {
  color: var(--sub-color1);
  font-size: var(--fs16);
  margin-bottom: 15px;
  letter-spacing: 0.1em;
  font-weight: 400;
}

/* リンクを並べるコンテナ */
.category_items {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

/* 個別のボタン（以前のスタイルを継承しつつ調整） */
.category_area_item {
  border: 1px solid var(--sub-color4);
  color: var(--sub-color4);
  padding: 0.8em 1em;
  font-size: var(--fs10);
  display: inline-block;
  transition: all 0.3s;
}

.category_area_item:hover {
  background: var(--sub-color1);
  border: 1px solid var(--sub-color1);
  transform: translateY(-2px);
}

/*-------------------
 ------playlist------
 --------------------*/
.spotify-container {
  width: 100%;
  padding: 8px;
  margin-bottom: 50px;
}
/*-------------------
 ------comeback------
 --------------------*/
 .summary-box {
  width: 400px;
  padding: 30px;
  border: 6px solid var(--main-color2);
  border-radius: 20px;
  margin: 0 auto;
  margin-bottom: 80px;
 }
.summary-text {
  color: var(--main-color2);
  text-align: center;
  line-height: 1.9em;
}

/*-------------------
 ---以下レスポンシブ--
 --------------------*/
@media (max-width: 767px) {
  .wrap {
    width: 90%;
    margin-right: auto;
    margin-bottom: 40px;
    margin-left: auto;
  }

  .container-title {
    font-size: var(--fs14);
    margin-bottom: 1%;
  }

  .container-copy {
    font-size: var(--fs16);
    margin-bottom: 20px;
  }

  .container-label {
    font-size: var(--fs14);
  }

  .container-sublabel {
    font-size: var(--fs12);
    margin-bottom: 10px;
  }

  .text {
    font-size: var(--fs10);
    line-height: 1.9em;
    margin-bottom: 20px;
  }

  .under-title {
    width: 70%;
  }

  .under-summary {
    font-size: var(--fs10);
    margin-bottom: 20px;
  }

  .tab {
    font-size: var(--fs10);
  }

  .panel-group {
    padding: 16px 8px;
  }

  .under-section {
    width: 90%;
    margin-right: auto;
    margin-bottom: 40px;
    margin-left: auto;
    padding: 10px;
    border-radius: 8px;
  }

  th,
  td {
    padding: 4px;
    font-size: var(--fs10);
  }

  .background {
    padding: 4px 35px;
  }

  .recommend dt {
    font-size: 16px;
  }

  .recommend dd {
    font-size: 12px;
  }

  .calendar-img {
    width: 300px;
  }

  .article_list {
        width: 280px;
        gap: 50px;
        margin: 30px auto;
    }

    .article_item {
        width: 100%;
        display: flex;
        flex-direction: column;
        gap: 5px;
    }

    .article_list_date {
        font-size: var(--fs12);
    }

    .article_list_title {
        font-size: var(--fs14);
    }

    .article_list_category {
        gap: 0.5em;
    }

    .article_list_category_item {
        padding: 0.3em 0.7em;
    }
    .category_area {
    width:300px;
    }
    .wp-pagenavi {
    gap: 9px;
  }

  .wp-pagenavi a,
  .wp-pagenavi span {
    padding: 8px 12px 10px 12px;
  }
   .summary-box {
  width: 300px;
  padding: 30px;
  border-radius: 20px;
  margin: 0 auto;
  margin-bottom: 30px;
 }
 .summary-text {
  font-size: var(--fs10);
 }
}

@media (max-width:425px) {
  .brsp::after {
    content: '\A';
    white-space: pre-line;
  }
}

/*-------------------
 ------appreach------
 --------------------*/
.appreach {
  text-align: left;
  padding: 10px;
  border: 1px solid #7C7C7C;
  overflow: hidden;
  color: #544d42;
}

.appreach:after {
  content: "";
  display: block;
  clear: both;
}

.appreach p {
  margin: 0;
}

.appreach a:after {
  display: none;
}

.appreach__icon {
  float: left;
  border-radius: 10%;
  overflow: hidden;
  margin: 0 3% 0 0 !important;
  width: 25% !important;
  height: auto !important;
  max-width: 120px !important;
}

.appreach__detail {
  display: inline-block;
  font-size: 20px;
  line-height: 1.5;
  width: 72%;
  max-width: 72%;
}

.appreach__detail:after {
  content: "";
  display: block;
  clear: both;
}

.appreach__name {
  font-size: 16px;
  line-height: 1.5em !important;
  max-height: 3em;
  overflow: hidden;
}

.appreach__info {
  font-size: 12px !important;
}

.appreach__developper,
.appreach__price {
  margin-right: 0.5em;
}

.appreach__posted a {
  margin-left: 0.5em;
}

.appreach__links {
  float: left;
  height: 40px;
  margin-top: 8px;
  white-space: nowrap;
}

.appreach__aslink img {
  margin-right: 10px;
  height: 40px;
  width: 135px;
}

.appreach__gplink img {
  height: 40px;
  width: 134.5px;
}

.appreach__star {
  position: relative;
  font-size: 14px !important;
  height: 1.5em;
  width: 5em;
}

.appreach__star__base {
  position: absolute;
  color: #737373;
}

.appreach__star__evaluate {
  position: absolute;
  color: #ffc107;
  overflow: hidden;
  white-space: nowrap;
}