@charset "UTF-8";
@font-face {
  font-family: "Noto Sans JP";
  src: url("../font/NotoSansJP-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap; }
@font-face {
  font-family: "Noto Sans JP";
  src: url("../font/NotoSansJP-Bold.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
  font-display: swap; }
/* ラジオNIKKEI　健康ネットワークneo『寺尾啓二の研究者コラム』
   ========================================================================== */
.podcast {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif; }
  .podcast .title-lv2 {
    font-family: Segoe UI, "メイリオ", Meiryo, Verdana, Arial, Helvetica, sans-serif; }
  .podcast .ttl-img {
    margin-top: 10px; }
  .podcast .lead {
    margin-top: 1em; }
    .podcast .lead p {
      line-height: 2; }
  .podcast .strong {
    font-weight: bold;
    font-size: 1.6rem; }
  .podcast .search-box {
    margin-top: 40px; }
  .podcast button {
    cursor: pointer; }
  @media (min-width: 768px) {
    .podcast .ttl-img {
      margin-top: 20px; }
    .podcast .strong {
      font-size: 2.0rem; }
    .podcast .search-box {
      margin-top: 80px; } }

/* タグリスト
   ====================================== */
ul.tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
  margin-top: 1em; }
  ul.tag-list li a {
    display: block;
    width: auto;
    background-color: #f6f6f6;
    font-size: 1.2rem;
    line-height: 1;
    text-align: left;
    padding: .5em 1em;
    border-radius: 9999px;
    transition: .2s; }
    ul.tag-list li a.active {
      background-color: #ccc;
      font-weight: bold;
      color: #fff; }
    @media (hover: hover) {
      ul.tag-list li a:hover {
        opacity: .6; } }
  @media (min-width: 768px) {
    ul.tag-list li a {
      font-size: 1.6rem;
      transition: .2s; } }

/* キーワードから探す
   ====================================== */
/*#podcast-category-filter {
}*/
/* シリーズで探す
   ====================================== */
ul.series-list li a {
  line-height: 1.4; }
ul.series-list > li {
  margin-top: 1em; }
  ul.series-list > li:first-child {
    margin-top: .5em; }
  ul.series-list > li > a {
    font-weight: bold; }
ul.series-list__sub {
  margin-left: 1em; }
@media (min-width: 768px) {
  ul.series-list li a {
    font-size: 1.8rem;
    line-height: 1; } }

/* フリーワード検索
   ====================================== */
.search-box .form-block {
  display: flex;
  align-items: center;
  margin-top: 20px; }
  .search-box .form-block #podcast-search-form-container {
    flex: 1; }
    .search-box .form-block #podcast-search-form-container div {
      display: flex;
      flex-wrap: nowrap; }
  .search-box .form-block input[type="text"] {
    flex: 1;
    height: 40px;
    font-size: 1.6rem;
    padding: 0 .5em;
    border: 1px solid #dedede;
    border-right: none;
    outline: none; }
    .search-box .form-block input[type="text"]:focus {
      outline: none; }
  @media (min-width: 768px) {
    .search-box .form-block {
      margin-top: 30px; } }

/* 共通ボタンデザイン */
button {
  background-color: #fff;
  border-radius: 0;
  width: 100px;
  height: 40px;
  color: #000;
  line-height: 1;
  padding: 0 20px;
  transition: .2s; }
  button.btn-search {
    background-color: #6ab638;
    color: #fff;
    font-weight: bold;
    border: 1px solid #6ab638; }
  button.btn-all {
    width: 60%;
    border: 1px solid #ccc; }
  @media (hover: hover) {
    button:hover {
      opacity: .6; } }
  @media (min-width: 768px) {
    button {
      width: 140px; }
      button.btn-search {
        margin-right: 30px; }
      button.btn-all {
        width: auto; } }

/* 結果表示
   ====================================== */
#podcast-results {
  margin-top: 1em; }
  #podcast-results .ttl {
    font-weight: bold;
    font-size: 1.6rem;
    margin-top: 2em; }
  #podcast-results ul.result-list {
    margin-top: 2em;
    border-top: 1px dotted #dedede; }
    #podcast-results ul.result-list > li {
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      gap: 20px;
      width: 100%;
      padding-bottom: 20px;
      margin-top: 20px;
      border-bottom: 1px dotted #dedede; }
      #podcast-results ul.result-list > li .txt {
        flex: 1; }
        #podcast-results ul.result-list > li .txt .date {
          display: block;
          font-size: 1.2rem;
          font-weight: normal; }
        #podcast-results ul.result-list > li .txt .series {
          font-size: 1.4rem;
          font-weight: bold; }
        #podcast-results ul.result-list > li .txt .overview {
          margin-top: .5em; }
        #podcast-results ul.result-list > li .txt .tag .tag-list {
          margin-top: .5em; }
      #podcast-results ul.result-list > li .btn a {
        display: block !important;
        width: 100% !important;
        transition: .2s; }
        @media (hover: hover) {
          #podcast-results ul.result-list > li .btn a:hover {
            opacity: .6; } }
  #podcast-results .no-results {
    margin-top: 30px; }
  @media (min-width: 768px) {
    #podcast-results .ttl {
      font-size: 1.8rem; }
    #podcast-results ul.result-list > li {
      flex-direction: row;
      align-items: center;
      gap: 30px;
      padding-bottom: 30px;
      margin-top: 30px; }
      #podcast-results ul.result-list > li .txt {
        flex: 1; }
        #podcast-results ul.result-list > li .txt .date {
          font-size: 1.4rem; }
        #podcast-results ul.result-list > li .txt .series {
          font-size: 1.6rem; }
        #podcast-results ul.result-list > li .txt .overview {
          font-size: 1.8rem; }
      #podcast-results ul.result-list > li .btn a.btn-white-external {
        font-size: 1.6rem; } }

/* スマホ用全件表示ボタン */
.show-all_sp {
  text-align: center;
  margin-top: 30px; }

/* 画面全体を覆うローディングオーバーレイ（検索中表示）
   ====================================== */
#podcast-loading-overlay {
  position: fixed;
  display: flex;
  justify-content: center;
  align-items: center;
  top: 0;
  left: 0;
  z-index: 99999;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.3);
  opacity: 0;
  visibility: hidden;
  transition: opacity .2s ease, visibility .2s ease; }
  #podcast-loading-overlay.is-active {
    opacity: 1;
    visibility: visible; }

/* 検索中アニメーション */
.podcast-loading-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  background: #fff;
  text-align: center;
  padding: 1.5em 2em;
  border-radius: 6px; }
  .podcast-loading-box .loading-spinner {
    width: 32px;
    height: 32px;
    border: 3px solid #dedede;
    border-top: 3px solid #6ab638;
    border-radius: 50%;
    animation: loading-spin .8s linear infinite; }
@keyframes loading-spin {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }
  .podcast-loading-box span {
    color: #333;
    font-weight: bold;
    line-height: 1; }
  @media (min-width: 768px) {
    .podcast-loading-box {
      gap: 18px;
      border-radius: 8px; } }
