@charset "utf-8";
/* CSS Document */

/********************************
  共通設定
********************************/
.odd{
	background:#f8f8f8;
}


a:hover img{ 
opacity:0.6;
filter: alpha(opacity=60);
}

#header_second {
    position: relative;
    z-index: 19;
    -webkit-box-shadow: 0px 2px 4px -1px rgba(0,0,0,0.2);
            box-shadow: 0px 2px 4px -1px rgba(0,0,0,0.2);
}


/********************************
  メインビジュアル
********************************/
#page {
    font-family: 'メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ Ｐゴシック',Arial,sans-serif !important;
}

/********************************
  メインビジュアル
********************************/
.mainvisual-box2019 {
	background-color: #003149;
}


.mainvisual-box-in {
	width: 960px;
	min-width: 960px;
	margin: 0 auto;
	padding: 14px 0 14px 0;
}

.mainvisual-box-in img {
	display: block;
	margin: 0 auto;
}


/********************************
  メインコンテンツ
********************************/
.main-box {
	padding: 20px 0px 60px 0px;
	background: #333;
}

.main-box-in {
	width: 960px;
	min-width: 960px;
	margin: 0 auto;
}

.main-box p {
	font-size: 17px;
	color: #FFF;
	text-align: center;
}

.main-box p:nth-of-type(2) {
	font-size: 14px;
	margin: 5px 0 20px 0;
}

.main-box p:nth-of-type(4) {
	margin: 0 0 5px 0;
	font-size: 18px;
}

.main-box p:nth-of-type(4) span {
	background: #ff70ea;
	color: #FFF;
	font-size: 16px;
	margin-right: 5px;
	padding: 0px 5px;
}

/********************************
  テーブル
********************************/




/********************************
  リンク
********************************/

.pc {
	display: block !important;
}

.sp {
	display: none !important;
}


/********************************
  読み込み中メッセージ
********************************/
.artist-button {
  flex: 1;
  text-align: center;
  margin: 0 0 15px 0;
}

.artist-button a {
  display: block;  /* inline-block → block に変更 */
  background: #f47d41;
  color: #FFF;
  padding: 10px 20px;
  text-align: center;
  border-radius: 4px;
  font-size: 14px;
  font-weight: bold;
  position: relative;
}

.artist-button a:before {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    right: 5px;
    width: 0;
    height: 0;
    margin-top: -6px;
    border: 6px solid transparent;
    border-left: 8px solid #ffffff;
}

.artist-button a:hover {
	opacity: 0.7;
}

.artist-button-flexcontainer {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}

/********************************
  タブレット設定
********************************/
@media screen and (min-width: 721px) and (max-width: 959px) {
	body {
		width: 100%;
	}

	.mainvisual-box-in,
	.main-box-in {
		width: 97%;
		min-width: 97%;
	}

	.mainvisual-box-in img {
		width: 95%;
	}

	#header_second {
		padding: 5px 5px 5px 5px !important;
	}

	#topicpath{
		width:90%;
	}

	.main-box p {
		font-size: 2.2vw;
	}

	.main-box p:nth-of-type(2) {
		font-size: 1.9vw;
	}

	.main-box p:nth-of-type(4) {
		font-size: 2.2vw;
	}

	.main-box p:nth-of-type(4) span {
		font-size: 2vw;
	}


	#topicpath {
		width: 100%;
	}
	.artist-button a {
		font-size: 1.5vw;
	}
	.artist-button a:before {
		right: 2px;
		margin-top: -5px;
		border: 5px solid transparent;
		border-left: 7px solid #ffffff;
	}
}

/********************************
  スマホ設定
********************************/
@media screen and (max-width: 720px) {
	a {
		-webkit-tap-highlight-color:rgba(0, 0, 0, 0.4) !important;
	}
	.pc {
		display: none !important;
	}
	.sp {
		display: block !important;
	}
	#page {
		width: 100%;
	}
	#header_second {
		display: block;
		padding: 5px 5px 5px 5px !important;
	}
	.mainvisual-box-in {
		width: 95%;
		min-width: 95%;
		padding: 0;
	}
	.main-box-in {
		width: 96%;
		min-width: 96%;
	}
	.mainvisual-box-in img {
		width: 100%;
	}

	.main-box p:nth-of-type(1),
	.main-box p:nth-of-type(2) {
		font-size: 3.2vw;
		text-align: left;
		margin: 0 0px 8px 0px;
		color: #FFF;
	}
	
	.main-box p:nth-of-type(3) {
		font-size: 3.2vw;
		text-align: left;
		margin: 0 0px 20px 0px;
		color: #FFF;
	}

	.main-box p {
		color: #333;
		font-size: 3.2vw;
	}
	.main-box {
		padding: 10px 0px 100px 0px;
	}

	.main-box p:nth-of-type(4) {
		margin: 0 0 8px 0;
		font-size: 3.2vw;
	}

	.main-box p:nth-of-type(4) span {
		background: #ff70ea;
		color: #FFF;
		font-size: 3.2vw;
		margin-right: 5px;
		padding: 2px 5px;
	}
	#topicpath {
		width: 100%;
	}
	.artist-button {
		margin: 0 0 20px 0;
	}
	.artist-button a {
		width: 100%;
		font-size: 3.5vw;
	}
	.artist-button a:before {
		right: 2px;
		margin-top: -5px;
		border: 5px solid transparent;
		border-left: 7px solid #ffffff;
	}
  .artist-button-flexcontainer {
    flex-direction: column;
    gap: 0;
  }
}
    :root {
      --bg: #f7f8fc;
      --card: #ffffff;
      --line: #d9e0ea;
      --text: #1f2937;
      --muted: #6b7280;
      --odd-row: /*#f3f7ff*/ #faf9f2;
      --even-row: #fff7ed;
      --head-bg: /*#e8eef8*/ #c3cbd9;
      --head-text: #111827;
      --rank-bg: #eef2f7;
      --rank-1: /*#ffd86b*/ #FAE078;
      --rank-2: /*#d7dbe3*/ #b3b3b3;
      --rank-3: /*#ffccb0*/ #d9b38c;
      --rank-shadow: 0 2px 6px rgba(17, 24, 39, 0.12);
    }

    * {
      box-sizing: border-box;
    }
/*
    body {
      margin: 0;
      padding: 0;
      background: var(--bg);
      color: var(--text);
      font-family: "Noto Sans JP", "Hiragino Sans", "Yu Gothic", sans-serif;
    }
*/
    .karaoke-card {
      max-width: 1100px;
      margin: 24px auto;
      /*padding: 22px;*/
      border-radius: 24px;
      background: var(--card);
      border: 1px solid var(--line);
      box-shadow: 0 12px 30px rgba(15, 23, 42, 0.08);
    }

    .karaoke-head {
      display: flex;
      justify-content: space-between;
      align-items: end;
      gap: 16px;
      margin-bottom: 18px;
      padding-bottom: 16px;
      border-bottom: 1px solid var(--line);
    }



    .table-shell {
      overflow: hidden;
      border-radius: 18px;
      border: 1px solid var(--line);
      background: #fff;
    }

    .karaoke-table {
      width: 100%;
      border-collapse: collapse;
      table-layout: fixed;
    }

    .karaoke-table thead th {
      padding: 14px 16px;
      text-align: left;
      font-size: 0.9rem;
      color: var(--head-text);
      background: var(--head-bg);
      border-bottom: 1px solid var(--line);
    }

    .karaoke-table tbody td {
      padding: 14px 16px;
      border-bottom: 1px solid var(--line);
      color: var(--text);
      word-break: break-word;
      vertical-align: top;
    }

    .karaoke-table tbody tr:nth-child(odd) td {
      background: var(--odd-row);
    }

    .karaoke-table tbody tr:nth-child(even) td {
      background: var(--even-row);
    }

    .rank-badge {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: 46px;
      padding: 8px 12px;
      border-radius: 999px;
      font-weight: 800;
      color: #111827;
      background: var(--rank-bg);
      border: 1px solid rgba(17, 24, 39, 0.12);
      box-shadow: var(--rank-shadow);
      transform: translateY(-1px);
    }

    .rank-1 .rank-badge {
      background: linear-gradient(180deg, #ffe58f 0%, #FAE078 100%);
      border-color: rgba(180, 130, 0, 0.18);
    }

    .rank-2 .rank-badge {
      background: linear-gradient(180deg, #eceff4 0%, #b3b3b3 100%);
      border-color: rgba(80, 90, 110, 0.15);
    }

    .rank-3 .rank-badge {
      background: linear-gradient(180deg, #ffe0cd 0%, #d9b38c 100%);
      border-color: rgba(180, 90, 40, 0.16);
    }

    .note {
      margin-top: 12px;
      font-size: 0.84rem;
      color: var(--muted);
    }

    @media (max-width: 640px) {
      .karaoke-card {
        margin: 12px;
        padding: 14px;
        border-radius: 18px;
      }

      .karaoke-head {
        display: block;
        margin-bottom: 14px;
      }


      .table-shell {
        background: transparent;
        border: 0;
      }

      .karaoke-table thead {
        display: none;
      }

      .karaoke-table,
      .karaoke-table tbody,
      .karaoke-table tr,
      .karaoke-table td {
        display: block;
        width: 100%;
      }

      .karaoke-table tr {
        margin-bottom: 12px;
        padding: 12px;
        border-radius: 16px;
        border: 1px solid var(--line);
        box-shadow: 0 8px 20px rgba(15, 23, 42, 0.06);
        overflow: hidden;
      }

      .karaoke-table tbody tr:nth-child(odd) {
        background: var(--odd-row);
      }

      .karaoke-table tbody tr:nth-child(even) {
        background: var(--even-row);
      }

      .karaoke-table td {
        display: flex;
        justify-content: space-between;
        gap: 12px;
        padding: 10px 0;
        border-bottom: 1px dashed rgba(17, 24, 39, 0.12);
        font-size: 0.92rem;
        color: var(--text);
      }

      .karaoke-table td:last-child {
        border-bottom: 0;
        padding-bottom: 0;
      }

      .karaoke-table td::before {
        content: attr(data-label);
        flex: 0 0 42%;
        color: var(--muted);
        font-weight: 700;
      }
    }

    .youtube-thumb{
          width: 120px;
    height: 68px;
    object-fit: cover;
    border-radius: 6px;
    display: block;
 display:block;
     }