/* ヘッダー背景 */
.main-header-bar,
.ast-primary-header-bar,
.ast-site-identity {
  background: linear-gradient(90deg, #f5f5f5, #ffe4f0) !important;
}

/* サイトタイトル */
.site-title a {
  color: #333333 !important;
  font-weight: bold;
  letter-spacing: 1px;
}

/* サイト説明文 */
.site-description {
  color: #666666 !important;
  font-size: 14px;
  opacity: 0.9;
}

/* 全体フォント */
body {
  background-color: #fffafd;
  font-family: 'Zen Maru Gothic', sans-serif;
}



details p{
	padding-left: 2em;
	line-height: 1.8;
}

.member-all{
	 max-width: 85%;
	line-height: 1.2;
}




h3 {
  background: linear-gradient(90deg, #ffb6d9, #ffddee);
  padding: 6px 12px; /* ← 少し小さく */
  border-radius: 12px;
  border-left: 5px solid #ff69b4;
  margin: 16px 0;
}

h1 {
  background: linear-gradient(90deg, #ffb6d9, #ffddee);
  padding: 12px 18px;
  border-radius: 12px;
  border-left: 5px solid #ff69b4;
}

.wp-block-details {
  background: #fff5fa;
  border: 2px solid #ffcce5;
  border-radius: 12px;
  padding: 12px;
}

.lovekasi {
	padding-left: 1em;
	line-height: 1.8;
}






.section-box {
  background: #fff;
  border: 2px solid #ffcce5;
  border-radius: 16px;
  padding: 20px;
  margin: 20px 0;
  transition: 0.3s;
}

.section-box:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 15px rgba(0,0,0,0.1);
}


/*topボタン*/
.top-button {
  position: fixed;
  bottom: 20px;
  left: 20px;
  background-color: #7c4dff;
  color: white;
  padding: 12px 16px;
  border-radius: 50px;
  font-size: 14px;
  text-decoration: none;
  z-index: 99999;
  display: inline-block;
}

/* コール表：時間ボタン */
.call-list button {
  background: #f7c04a;
  border: none;
  border-radius: 20px;
  padding: 4px 12px;
  font-size: 12px;
  font-weight: bold;
  cursor: pointer;
}

/* コール表：1行ごとの余白 */
.call-list p {
  margin: 6px 0;
  display: flex;
  align-items: center;
  gap: 10px;
}

/* コール表：パート見出し */
.call-list h4 {
  display: inline-block;
  background: #ff9ecf;
  color: #fff;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 12px;
  margin: 12px 0 6px;
  border-left: none;
}

.call-list h3 {
  margin-left: 1.5em;
}

.call-list h4 {
  margin-left: 3em;
}


/*日付更新*/
.wplmi-date {
  font-size: 14px;
  color: #666;
  margin-bottom: 10px;
}
.post-modified-info {
  color: #666;
  font-size: 13px;
  margin-bottom: 8px;
}


/* 楽曲横のアイコン */
.song-list {
  margin: 20px 0;
}

/* 通常曲 */
.song-item {
  background: #fff8fc;
  border: 2px solid #ffb3d9;
  border-radius: 10px;
  margin-bottom: 4px;
  overflow: hidden;
}

.song-item summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  cursor: pointer;
  color: #5f6f89;
  font-size: 17px;
  list-style: none;
}

.song-item summary::-webkit-details-marker {
  display: none;
}

.song-item summary::before {
  content: "▶";
  margin-right: 8px;
  color: #6b7c93;
}

.song-item[open] summary::before {
  content: "▼";
}

.song-title {
  flex: 1;
}

.song-content {
  padding: 6px 20px 12px 42px;
}



.detail-button:hover {
  opacity: 0.85;
}

/* コールなし曲 */
.song-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px;
  color: #5f6f89;
  font-size: 17px;
}

.no-call {
  background: #fffafd;
  border: 2px dashed #ffcce5;
  border-radius: 10px;
  margin-bottom: 4px;
  cursor: default;
}

.no-call .song-row {
  padding-left: 52px;
}

.no-call .song-title {
  flex: 1;
  color: #aaa;
}


/*曲検索*/
.song-search {
  width: 100%;
  padding: 12px 16px;
  border: 2px solid #ffcce5;
  border-radius: 12px;
  margin: 20px 0 12px;
  font-size: 16px;
  background: #fff;
}

.category-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 20px;
}

.category-buttons button {
  background: #fff8fc;
  border: 2px solid #ffcce5;
  border-radius: 999px;
  padding: 8px 14px;
  color: #5f6f89;
  font-weight: bold;
  cursor: pointer;
}

.category-buttons button.active,
.category-buttons button:hover {
  background: #ff9ecf;
  color: #fff;
}


.category-buttons button.active {
  background: #ff69b4;
  color: #fff;
  border-color: #ff69b4;
}

/*アイコン列統一のため*/
.song-icons {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  width: 90px;
  text-align: center;
  letter-spacing: 0; /* ←リセット */
}

/*－の枠線*/
.song-icons .icon {
  font-size: 20px;
  border: none !important;
  background: none !important;
  box-shadow: none !important;
}

/* コールなしを少し弱く */
.icon.no-call {
  opacity: 0.5;
}


/*特徴改行の件（空白保持）*/
.feature-text {
  text-indent: -3em;
  padding-left: 3em;
}

/*MIXの注意書きの文に適応*/
.note {
  font-size: 14px;
  color: #666;
  background: #f8f8f8;
  padding: 10px;
  border-left: 4px solid #ff69b4;
  border-radius: 4px;
}


.wp-block-details summary {
  margin-bottom: 8px;
}

.wp-block-details + .detail-button,
.wp-block-details + p .detail-button,
.detail-button {
  margin-top: 6px !important;
}



/* 詳しいコールを見るボタンの上に余白 */
a[href*="call"],
a[href*="ikorabu"],
a[href*="equal-love"] {
  margin-top: 20px !important;
  /*display: inline-block !important;*/
}


/*タイムスタンプの文字　予期せぬ改行対策*/
.call-line {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.call-line button {
  flex-shrink: 0;
}

.call-line span {
  line-height: 1.8;
}


.entry-content h2 {
  background: linear-gradient(90deg, #ffb6d9, #ffddee);
  padding: 12px 18px;
  border-radius: 12px;
  border-left: 5px solid #ff69b4;
  color: #333;
  font-weight: bold;
  font-size: 24px;
  margin: 28px 0 18px;
}

.detail-button {
  display: inline-block;
  background: #7c4dff;
  color: #fff;
  padding: 10px 18px;
  border-radius: 8px;
  text-decoration: none;
  font-weight: bold;
  margin-top: 10px;
  box-shadow:0 4px 10px rgba(124,77,255,0.25);
}

/*コール文字幅*/
.call-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  align-items: center;
  line-height: 1.8;
}

.call-legend span {
  white-space: nowrap;
}

/*日付文字幅統一*/
.date-label {
  display: inline-block;
  width: 6em;
}

/* ファンカム動画 */
.fancam-box {
  margin-top: 12px;
}

.fancam-box iframe {
  width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;
  border-radius: 12px;
}


/*メンバーファンカム*/
.fancam-title {
  font-family:
    "Hiragino Maru Gothic ProN",
    "Arial Rounded MT Bold",
    "Zen Maru Gothic",
    sans-serif;

  font-weight: 900;
  letter-spacing: 2px;
  color: #ff5cab;

  text-shadow:
    0 0 2px #fff,
    1px 1px 0 #fff,
    -1px 1px 0 #fff,
    1px -1px 0 #fff,
    -1px -1px 0 #fff,
    0 2px 0 #fff,
    0 -2px 0 #fff,
    2px 0 0 #fff,
    -2px 0 0 #fff,
    3px 3px 0 #ffb6d9;
}

.entry-content h2.fancam-title {
  color: #ff5cab;
}

/* ファンカム一覧 */
.fancam-member {
  margin-bottom: 14px;
  border: 2px solid #ffd3e8;
  border-radius: 12px;
  background: #fffafd;
  overflow: hidden;
}

/* 開く部分 */
.fancam-member summary {
  padding: 12px 16px;
  cursor: pointer;
  font-weight: bold;
}

/* 開いた中 */
.fancam-member .fancam-box {
  padding: 0 12px 12px;
}


.member-list p {
  margin: 14px 0;
  line-height: 1.8;
}

/*メンバーリスト*/
.member-list summary {
  color:#7c4dff;
}
.member-list + h3 {
  margin-top: 32px;
}

/* ===== スマホ調整 ===== */
@media screen and (max-width:768px){

  .song-item summary,
  .song-row{
    font-size:13px !important;
    line-height:1.4;
  }

  .entry-content h2{
    font-size:20px !important;
  }

  .entry-content h3{
    font-size:15px !important;
    line-height:1.6 !important;
  }

  h3{
    padding:10px 12px !important;
  }

  h3 br{
    display:none;
  }

  .special-title{
    font-size:18px !important;
    padding:8px 14px !important;
  }

  .comment-reply-title{
    font-size:14px !important;
    font-weight:800 !important;
    padding:8px 10px !important;
    border-width:2px !important;
    letter-spacing:0 !important;
    line-height:1.5 !important;
    transform:none !important;
    max-width:100%;
    white-space:normal !important;
    word-break:break-word !important;
  }

  .call-video-box{
    display:block !important;
  }
}

/**/
.divider-love {
  text-align: center;
  position: relative;
  margin: 24px 0;
  color: #ff69b4;
}

.divider-love::before,
.divider-love::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 40%;
  border-top: 2px dashed #ffb6d9;
}

.divider-love::before {
  left: 0;
}

.divider-love::after {
  right: 0;
}



/* アイコンを横並びに戻す */
.song-icons {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  width: 90px;
  align-items: center;
  text-align: center;
  flex-shrink: 0;
}

/* 曲名とアイコンを横並びに戻す */
.song-item summary,
.song-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}
/* WordPressが勝手に入れるbr対策 */
.song-list summary br,
.song-list .song-row br,
.song-list .song-icons br {
 display:none!important;
}

/*各ページのボタン下幅*/
a[href*="ikorabu-call-list"]{
  margin:15px 0 !important;
}



/* =========================
ライブ前にまず抑えたい5曲
========================= */

.live-pick-section {
  background: #fff8fc;
  border: 2px solid #ffcce5;
  border-radius: 14px;
  padding: 16px;
  margin: 24px 0;
}

.live-pick-heading{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;

  margin-bottom:14px;
}

.live-pick-heading p{
  margin:8px 0 0 6px;

  font-size:14px;
  line-height:1.7;
  color:#5f6f89;
}


/* h3競合防止 */
.live-pick-heading h3 {
  background:none !important;
  border:none !important;
  padding:0 !important;
  margin:0 0 6px !important;

  color:#ff2f92;
  font-size:21px;

  font-weight:900 !important;
  letter-spacing:1.5px;

  text-shadow:
  0 0 1px #fff,
  1px 1px 0 #fff;

  border-radius:0 !important;

  display:block !important;
  width:100%;
}


.live-pick-list {
  display:grid;
  gap:10px;
}

.live-pick-card {
  display:flex;
  gap:12px;
  align-items:flex-start;

  background:#fff;
  border:1.5px solid #ffd6ea;
  border-radius:12px;

  padding:12px;

  text-decoration:none;
  color:#444;

  transition:.25s;
}

.live-pick-card:hover {
  transform:translateY(-2px);
  box-shadow:0 4px 10px rgba(0,0,0,.08);
}

.pick-number {
  background:#ff69b4;
  color:#fff;

  width:28px;
  height:28px;

  border-radius:999px;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  font-weight:bold;

  flex-shrink:0;
}

.live-pick-card strong {
  color:#7c4dff;
  font-size:16px;
}

.live-pick-card p {
  margin:4px 0 0;
  font-size:13px;
  line-height:1.6;
}


/* スマホ */
@media screen and (max-width:768px){

.live-pick-section{
padding:14px;
}

.live-pick-heading h3{
font-size:18px;
}

.live-pick-card{
padding:11px;
}

}

/*ページ作成中*/
.preparing{
opacity:.8;
}

.coming-tag{
font-size:11px;
background:#ff9ecf;
color:white;

padding:2px 8px;
border-radius:999px;

margin-left:8px;
vertical-align:middle;
}

.coming-text{
font-size:12px;
color:#888;
margin-top:6px;
}

/* =========================
メンバー考案・発信コール
========================= */

.member-call-section{
  background:#fff8fc;
  border:2px solid #e7d7ff;
  border-radius:14px;
  padding:16px;
  margin:24px 0;
}

.member-call-text{
  margin:10px 0 14px;
  line-height:1.8;
  color:#5f6f89;
  font-size:14px;
}

.member-call-list{
  display:grid;
  gap:2px;
}

.member-call-item{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;

  background:#fff;
  border:1.5px solid #e9d8ff;
  border-radius:12px;

  padding:12px 14px;
}

.call-name{
  font-weight:bold;
  color:#444;
  line-height:1.6;
}

.call-member{
  background:#f4ebff;
  color:#7c4dff;

  padding:5px 10px;
  border-radius:999px;

  font-size:12px;
  font-weight:bold;
  white-space:nowrap;
}

/* 作成中系 */
.member-call-item.preparing{
  opacity:.8;
}

.coming-tag{
  margin-left:8px;

  background:#ffd9ec;
  color:#ff4da6;

  padding:2px 8px;

  border-radius:999px;

  font-size:11px;
  font-weight:bold;

  vertical-align:middle;
}
.member-call-note{
  margin:12px 0 0;
  font-size:12px;
  color:#888;
}

/* スマホ */
@media screen and (max-width:768px){

  .member-call-section{
    padding:14px;
  }

  .member-call-item{
    align-items:flex-start;
    padding:11px;
  }

  .call-member{
    font-size:11px;
    padding:4px 8px;
  }

}

/*未作成*/
.call-right{
display:flex;
align-items:center;
gap:6px;

flex-wrap:wrap;
justify-content:flex-end;
}

.not-ready{

background:#ffe6ef;
color:#ff4da6;

padding:4px 8px;

border-radius:999px;

font-size:11px;
font-weight:bold;

white-space:nowrap;
}


/*更新履歴*/
.update-box{
background:#fffafd;
border:1px solid #ffd6eb;
border-radius:12px;
padding:12px 16px;
margin:20px 0;
}

.update-box summary{
font-weight:bold;
cursor:pointer;
}

.update-content{
margin-top:10px;
}

.update-box ul{
padding-left:20px;
}

/* 外側グループ */
.more-video-group{
  margin:20px 0;
  padding:12px;
  border:1px solid #f3d8e5;
  border-radius:12px;
  background:#fffafd;
  box-shadow:0 2px 8px rgba(0,0,0,.04);
}

/* 外側タイトル */
.more-video-group > summary{
  font-weight:bold;
  padding:12px 15px;
  background:#fff;
  border-radius:8px;
  cursor:pointer;
  list-style:none;
}

/* 矢印余白 */
.more-video-group > summary::-webkit-details-marker{
  margin-right:8px;
}

.more-video-group > p{
  margin:12px 15px;
}

/* ファンカム・MV系 details に矢印追加 */
.more-video-group summary,
.fancam-member summary{
  list-style:none;
  cursor:pointer;
}

.more-video-group summary::before,
.fancam-member summary::before{
  content:"▶ ";
  color:#6b7c93;
  margin-right:6px;
}

.more-video-group[open] summary::before,
.fancam-member[open] summary::before{
  content:"▼ ";
}

/* お名前コール動画ボタン */
.call-line{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:12px;
}
/* お名前コール動画ボタンだけ */
.audio-timestamp-box .call-line button{
  background: linear-gradient(135deg,#7c4dff,#9c6bff);
  color:#fff;
  border:none;
  border-radius:999px;
  padding:8px 14px;
  font-size:14px;
  font-weight:bold;
  cursor:pointer;
  margin-right:10px;

  box-shadow:0 4px 10px rgba(124,77,255,.25);
  transition:.2s;
}

.audio-timestamp-box .call-line button:hover{
  transform:translateY(-2px);
}

/* 音声動画のタイムスタンプ */
.audio-timestamp-box{
  margin:14px 0 0;
  padding:10px 12px;
  background:#fff8fc;
  border:2px solid #ffcce5;
  border-radius:12px;
}

.audio-timestamp-box summary{
  font-weight:bold;
  color:#7c4dff;
  cursor:pointer;
  list-style:none;
}

.audio-timestamp-box summary::-webkit-details-marker{
  display:none;
}

.audio-timestamp-box summary::before{
  content:"▶ ";
  color:#6b7c93;
}

.audio-timestamp-box[open] summary::before{
  content:"▼ ";
}




/*コール見るのデザイン*/
.call-timestamp-box{
  margin-top:12px;
  border:2px solid #ffd6eb;
  border-radius:12px;
  background:#fffafd;
  overflow:hidden;
}

.call-timestamp-box summary{
  padding:12px 14px;
  font-weight:bold;
  color:#7c4dff;
  cursor:pointer;
  list-style:none;
}

.call-timestamp-box summary::-webkit-details-marker{
  display:none;
}

.call-timestamp-box summary::before{
  content:"▶ ";
  color:#6b7c93;
}

.call-timestamp-box[open] summary::before{
  content:"▼ ";
}

/* メンバーによるコール解説 */
.member-call-guide{
  margin:40px 0;
}

.member-timestamp li{
  margin:12px 0;
}

.member-timestamp ul{
  list-style:none;
  padding-left:0;
}

.member-timestamp button{
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;

  padding:14px 22px;
  border-radius:999px;

  text-align:left;
  white-space:nowrap;
  line-height:1.5;
}


.member-timestamp ul{
  list-style:none;
  padding-left:0;
}

.member-call-guide h3{
  margin-bottom:10px;
}

.member-guide-text{
  margin-bottom:15px;
  line-height:1.8;
}

.member-guide-box{
  background:#fffafd;
  border-left:5px solid #ff8fd2;
  padding:15px;
  border-radius:10px;
  box-shadow:0 2px 8px rgba(0,0,0,0.05);
}

.member-guide-box p{
  margin:0;
  line-height:1.8;
}

.member-video{
margin-top:15px;
border-radius:12px;
overflow:hidden;
}

/* メンバーによるコール解説 動画サイズ調整 */
.member-guide-box{
  max-width:900px;
  margin:0 auto;
}

.member-video iframe{
  width:100%;
  aspect-ratio:16 / 9;
  height:auto;
  display:block;
}

/*いいねボタン*/
.wpulike {
  margin-top: 16px;
  margin-bottom: 16px;
}

.wpulike button,
.wpulike .wp_ulike_btn {
  transform: none !important;
}


/*メンバー考案タイムスタンプ*/
.member-timestamp h4{
  display:inline-block;
  margin:0 0 14px;

  color:#ff2f92;
  font-size:18px;
  font-weight:900;

  background:#fff5fa;
  border:2px solid #ffd6eb;
  border-radius:999px;

  padding:6px 14px;
}


/*メンバー考案曲リンク*/
a.member-call-item{
  text-decoration:none;
  color:inherit;
  transition:.2s;
}

a.member-call-item:hover{
  transform:translateY(-2px);
  box-shadow:0 4px 10px rgba(0,0,0,.08);
}

/*三大舞香コール*/
.maika-call-links{
display:flex;
gap:10px;
flex-wrap:wrap;
margin-top:15px;
}

.maika-btn{
display:inline-block;
padding:10px 16px;
background:#fffafd;
border:2px solid #ff8dc7;
border-radius:999px;
text-decoration:none;
font-weight:bold;
color:#444;
transition:.2s;
}

.maika-btn:hover{
transform:translateY(-2px);
}

/* コメントタイトルだけ可愛く */
.comment-reply-title{
  display:inline-block !important;

  background:linear-gradient(90deg,#ffb7da,#ffeaf5) !important;

  color:#ff2f92 !important;

  font-family:
  "Arial Rounded MT Bold",
  "Zen Maru Gothic",
  sans-serif !important;

  font-size:22px !important;
  font-weight:900 !important;

  letter-spacing:1px;

  padding:10px 18px !important;

  border-radius:999px !important;

  border:3px solid #ff8dc7 !important;

  box-shadow:
    0 0 0 4px #fff,
    0 5px 12px rgba(255,105,180,.25);

  transform:rotate(-1deg);

  border-left:none !important;
}


/* 一覧ページ用 共通見出し */
.list-title{
  display:inline-flex !important;
  align-items:center;
  gap:6px;

  background:#fff5fa !important;

  color:#333 !important;

  font-family:
  "Zen Maru Gothic",
  sans-serif;

  font-size:24px;
  font-weight:900;

  padding:8px 14px !important;

  border:none !important;

  border-left:5px solid #ff69b4 !important;

  border-radius:10px !important;

  box-shadow:none !important;

  margin-bottom:14px;
}

/* 特別枠 共通見出し */
.special-title{
  display:inline-block !important;

  background:linear-gradient(90deg,#ffb7da,#ffeaf5);

  color:#ff2f92 !important;

  font-family:
  "Arial Rounded MT Bold",
  "Zen Maru Gothic",
  sans-serif;

  font-size:22px;
  font-weight:900;

  letter-spacing:1px;

  padding:10px 18px;

  border-radius:999px;

  border:3px solid #ff8dc7;

  box-shadow:
    0 0 0 4px #fff,
    0 5px 12px rgba(255,105,180,.18);

  border-left:none !important;

  margin-bottom:14px;
	width:auto !important;
}

.list-title.pink{
  color:#ff4da6 !important;

  text-shadow:
    0 0 1px #fff,
    1px 1px 0 #fff;
}
/*メンバーリスト*/
.member-list{
  font-size:16px;
}

.member-miri{
 color:#a855f7;
}

.member-hana{
 color:#ff8c42;
}

.member-risa{
 color:#63b3ff;
}

.member-kiara{
 color:#ff86c8;
}

.member-maika{
 color:#666;
}

.member-hitomi{
 color:#ff4d4d;
}

.member-iori{
 color:#a855f7;
}

.member-shoko{
 color:#facc15;
}

.member-sana{
 color:#12c98a;
}

.member-anna{
 color:#3b82f6;
}

/* お問い合わせフォーム調整 */
.contact-form,
form.contact-form{
  width:100% !important;
  max-width:680px !important;
}

/* 入力欄の外枠 */
.contact-form > div,
.grunion-field-wrap{
  width:100% !important;
  max-width:680px !important;
}

/* 入力欄 */
.contact-form input:not([type="submit"]),
.contact-form textarea{
  width:100% !important;
  max-width:680px !important;
  box-sizing:border-box !important;
  display:block !important;
}

/* メッセージ欄 */
.contact-form textarea{
  min-height:100px !important;
  height:100px !important;
}

/* 送信ボタン */
.contact-form input[type="submit"],
.contact-form button[type="submit"]{
  margin-top:10px !important;
}

/* サイト情報リンク全体 */
.site-links{
  display:flex;
  flex-wrap:wrap;
  gap:14px;

  margin:14px 0 24px;
  padding:18px;

  background:#fffafd;
  border:2px solid #ffd4ea;
  border-radius:18px;
}

/* ボタン */
.site-links a{
  width:calc(50% - 8px);

  text-align:center;

  background:#fff;
  padding:10px 12px;

  border-radius:999px;
  text-decoration:none;

  font-weight:700;
  font-size:14px;

  color:#444;
  border:2px solid #ffd4ea;

  transition:.2s;
  box-sizing:border-box;
}

.site-links a:hover{
  transform:translateY(-2px);

  background:#fff0f8;

  box-shadow:0 4px 10px rgba(255,105,180,.15);
}

/* 一覧へ戻るボタン */
.back-list-btn{
display:inline-block;

padding:10px 18px;
background:#fffafd;

border:2px solid #ffd4ea;
border-radius:999px;

text-decoration:none;
font-weight:700;
color:#444;

transition:.2s;
}

.back-list-btn:hover{
background:#fff0f8;
transform:translateY(-2px);

box-shadow:0 4px 10px rgba(255,105,180,.15);
}
/*ペンライト：の幅統一*/
.penlight-name{
  display:inline-block;
  width:10em;
}
/*改行時*/
.penlight-sub{
  display:inline-block;
  margin-left:11em;
}

/* =========================
コメント欄 見た目調整
========================= */


.comments-title{
  font-size:0 !important;
  margin:24px 0 14px !important;
  padding:0 !important;
  background:none !important;
  border:none !important;
}

.comments-title::before{
  content:"💬 コメント" !important;
  font-size:18px !important;
  font-weight:900 !important;
  color:#ff2f92 !important;
}

/* コメント全体の余白 */
.comment-list .comment,
.ast-comment-list .comment{
  margin-bottom:24px !important;
}

/* アイコン */
.comment-author .avatar,
.comment-author img.avatar{
  width:36px !important;
  height:36px !important;
  border-radius:50% !important;
}

/* 名前 */
.comment-author,
.comment-author .fn,
.comment-author .fn a,
.comment-author b,
.comment-author cite{
  font-size:16px !important;
  line-height:1.4 !important;
  font-weight:800 !important;
}

/* 日付 */
.comment-metadata,
.comment-metadata a,
.comment-meta,
.comment-meta a{
  font-size:13px !important;
  line-height:1.4 !important;
  color:#666 !important;
}

/* コメント本文 */
.comment-content,
.comment-content p{
  font-size:15px !important;
  line-height:1.8 !important;
  color:#5f6f89 !important;
}

/* 返信ボタン */
.reply a{
  font-size:13px !important;
  font-weight:700 !important;
}

/* スマホではさらに少し詰める */
@media screen and (max-width:768px){

  .comment-author,
  .comment-author .fn,
  .comment-author .fn a,
  .comment-author b,
  .comment-author cite{
    font-size:15px !important;
  }

  .comment-metadata,
  .comment-metadata a,
  .comment-meta,
  .comment-meta a{
    font-size:12px !important;
  }

  .comment-content,
  .comment-content p{
    font-size:14px !important;
  }
}

/* Astraコメントの名前・日付を強制縮小 */
.ast-comment-cite-wrap,
.ast-comment-cite-wrap cite,
.ast-comment-cite-wrap a,
.ast-comment-time,
.ast-comment-time a{
  font-size:14px !important;
  line-height:1.4 !important;
}

.ast-comment-cite-wrap cite{
  font-weight:800 !important;
}

.ast-comment-avatar-wrap img,
.ast-comment-avatar-wrap .avatar{
  width:34px !important;
  height:34px !important;
}

/* コメント入力欄をコメント一覧の上に移動 */
.comments-area.comment-form-position-below{
  display:flex !important;
  flex-direction:column !important;
}

.comments-area.comment-form-position-below .comment-respond{
  order:1 !important;
}

.comments-area.comment-form-position-below .comments-title{
  order:2 !important;
}

.comments-area.comment-form-position-below .ast-comment-list{
  order:3 !important;
}
/* コメントフォームとコメント一覧の余白調整 */
.comments-area .comment-respond{
  margin-bottom:20px !important;
}

.comments-area .comments-title{
  margin-top:0 !important;
}
/* スマホ：コメント本文との距離を詰める */
@media screen and (max-width:768px){

  .ast-comment-meta{
    margin-bottom:6px !important;
    padding-bottom:0 !important;
  }

  .ast-comment-content,
  .comment-content{
    margin-top:4px !important;
    padding-top:0 !important;
  }

  .comment-content p{
    margin-top:0 !important;
  }
}
/* 返信コメントを親コメントの返信っぽく見せる */
.ast-comment-list .children{
  margin-left:20px !important;
  padding-left:12px !important;
  border-left:3px solid #ffd6eb !important;
}

.ast-comment-list .children .comment{
  margin-top:18px !important;
  padding-top:12px !important;
}

/* 返信コメントを親コメントの返信っぽく見せる */
.ast-comment-list .children{
  margin-left:42px !important;
  padding-left:16px !important;
  border-left:3px solid #ffd6eb !important;
  margin-top:0 !important;
}

.ast-comment-list .children .comment{
  margin-top:0 !important;
  padding-top:0 !important;
}

/* スマホでは返信のズレを控えめに */
@media screen and (max-width:768px){
  .ast-comment-list .children{
    margin-left:20px !important;
    padding-left:12px !important;
  }
}

/* MIXの漢字ふりがな */
ruby rt {
  font-size: 0.6em;
  color: #888;
  font-weight: normal;
}

ruby {
  word-break: keep-all;
}

.mix-word {
  display: inline-block;
  white-space: nowrap;
}

/*いいね数、訪問数*/
.site-stats-box{
  background:#fff8fb;
  border:2px solid #ffcce0;
  border-radius:16px;
  padding:16px;
  margin:24px 0;
  text-align:center;
}

/* =========================
セトリ一覧ページ
========================= */

.setlist-live{
  background:#fff8fc;
  border:2px solid #ffcce5;
  border-radius:18px;
  padding:12px;
  margin:24px 0;
}

.setlist-live-title{
  display:block;
  background:linear-gradient(90deg,#ffb6d9,#ffddee) !important;
  border-left:6px solid #ff69b4 !important;
  border-radius:14px !important;
  padding:12px 16px !important;
  margin:0 !important;
  font-size:22px !important;
  font-weight:900 !important;
  color:#333 !important;
  list-style:none;
}

.setlist-live > summary.setlist-live-title::-webkit-details-marker{
  display:none;
}

.setlist-live > summary.setlist-live-title::before{
  content:"▶ ";
  color:#7c4dff;
}

.setlist-live[open] > summary.setlist-live-title::before{
  content:"▼ ";
}

.setlist-day{
  background:#fff;
  border:1.5px solid #ffd6eb;
  border-radius:14px;
  margin:12px 0;
  overflow:hidden;
}

.setlist-day summary{
  list-style:none;
  cursor:pointer;
  padding:13px 16px;
  font-weight:800;
  font-size:17px;
  color:#5f6f89;
  background:#fffafd;
}

.setlist-day summary::-webkit-details-marker{
  display:none;
}

.setlist-day summary::before{
  content:"▶";
  color:#7c4dff;
  margin-right:8px;
}

.setlist-day[open] summary::before{
  content:"▼";
}

.setlist-day ol{
  margin:0;
  padding:12px 18px 16px 28px;
  background:#fff;
  line-height:1.8;
}

.setlist-day li a{
  font-weight:700;
  text-decoration:none;
}

.setlist-day li a:hover{
  text-decoration:underline;
}

.setlist-place{
  margin:12px 0 10px;
  padding:8px 14px;
  background:#fff8fc;
  border-left:4px solid #ff9ecf;
  border-radius:8px;
  color:#666;
  font-size:14px;
  line-height:1.8;
}

.setlist-special,
.setlist-encore{
  margin:20px 0 12px;
  padding-left:0;
  font-weight:700;
  color:#555;
}

/* スマホ */
@media screen and (max-width:768px){
  .setlist-live{
    padding:10px;
  }

  .setlist-live-title{
    font-size:18px !important;
    padding:10px 12px !important;
  }

  .setlist-day summary{
    font-size:15px;
    padding:12px;
  }

  .setlist-day ol{
    padding-left:28px;
  }
}
/* ライブタイトル */
.setlist-live-title{
  background:none !important;
  border:none !important;

  margin:0 0 4px !important;
  padding:0 !important;

  color:#333 !important;
  font-size:28px !important;
  font-weight:900 !important;

  box-shadow:none !important;
  border-radius:0 !important;
}

/* 英語タイトル */
.setlist-subtitle{
  margin:0 0 16px;
  padding-left:4px;

  color:#777;
  font-size:15px;
  font-style:italic;
  line-height:1.7;

  letter-spacing:.5px;
}
/*セトリ＿公開曲の縦幅*/
.official-movie-list li {
    margin-bottom: 10px;
}
/*メンバー発信コール、振り付けの文字幅*/
.member-sub-title{
  font-weight:bold;
  font-size:20px;
}

.member-sub-title:first-of-type{
  margin-top:20px;
  margin-bottom:5px;
}

.member-sub-title:not(:first-of-type){
  margin-top:50px;
  margin-bottom:5px;
}
/* =========================
   曲ページ：披露されたライブ全体
========================= */
.performed-live-section {
  margin-top: 28px;
  padding: 18px;
  background: #fff7fb;
  border-radius: 14px;
}


/* =========================
   開閉タイトル
========================= */
.performed-live-section summary {
  list-style: none;
  cursor: pointer;
  font-size: 17px;
  font-weight: bold;
  padding: 10px 14px;
  background: #ffc1dc;
  border-radius: 10px;

  /* タイトルと▼を左右に配置 */
  display: flex;
  justify-content: space-between;
  align-items: center;
}


/* Safari用のデフォルト矢印を非表示 */
.performed-live-section summary::-webkit-details-marker {
  display: none;
}


/* =========================
   開閉用の▼マーク
========================= */
.performed-live-section summary::after {
  content: "▼";
  transition: transform .2s;
}


/* 開いた時は▲にする */
.performed-live-section[open] summary::after {
  transform: rotate(180deg);
}


/* =========================
   ライブ一覧
========================= */
.performed-live-section ul {
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
}


/* =========================
   ライブ1件ごとのカード
========================= */
.performed-live-section li {
  margin-bottom: 8px;
  padding: 10px 12px;
  background: #fff;
  border-radius: 10px;
  line-height: 1.5;
  font-size: 14px;
}


/* =========================
   セットリスト一覧リンク
========================= */
.performed-live-link {
  text-align: center;
  margin-top: 18px;
}


/* リンクの色と太さ */
.performed-live-link a {
  color: #7c4dff;
  font-weight: bold;
  text-decoration: none;
}


/* ホバー時のみ下線 */
.performed-live-link a:hover {
  text-decoration: underline;
}
/* ライブ一覧を閉じる */
.performed-live-close {
  text-align: center;
  margin-top: 16px;
  color: #7c4dff;
  font-weight: bold;
  cursor: pointer;
}

/*このサイトでできることの・を削除*/
.site-feature-list {
  list-style: none;
  padding-left: 0;
  margin-left: 0;
}

.site-feature-list li {
  margin-bottom: 8px;
}

/*曲説明の空白*/
.song-intro {
  margin-top: 28px;
}

/*ライブチェックリスト（一覧側の修正）*/
.live-checklist-link-section {
  margin: 20px 15px 32px;
  padding: 18px;
  background: #fff8fc;
  border: 1px solid #ffb7d8;
  border-radius: 14px;
}

.live-checklist-link-section h2 {
  margin-top: 0;
}

.live-checklist-button-area {
  text-align: center;
  margin-top: 20px;
}

.live-checklist-button {
  display: inline-block;
  padding: 9px 22px;
  background: #ff83b8;
  color: #fff;
  font-weight: bold;
  text-decoration: none;
  border-radius: 999px;
}

.live-checklist-button:hover {
  opacity: 0.85;
}
/*初心者ガイドのh3*/
.tips-title {
  font-size: 18px;
  font-weight: 700;
  color: #555;
  margin: 24px 0 10px;
}
/*関連の・消し*/
.related-links {
  list-style: none;
  padding-left: 0;
  margin: 12px 0;
}

.related-links li {
  margin: 8px 0;
}
/*一覧に追加する初心者ガイドのCSS*/
.beginner-guide-box {
  margin: 20px 15px 32px;
  padding: 18px;
  background: #fff8fc;
  border: 1px solid #ffb7d8;
  border-radius: 14px;
}

.beginner-guide-box h2 {
  margin-top: 0;
}

.beginner-guide-button {
  text-align: center;
  margin-top: 20px;
}

.beginner-guide-button a {
  display: inline-block;
  padding: 9px 22px;
  background: #ff83b8;
  color: #fff;
  font-weight: bold;
  text-decoration: none;
  border-radius: 999px;
}

.beginner-guide-button a:hover {
  opacity: 0.85;
}

/*タイトルのサイズ変更*/
@media (max-width: 768px) {
    header.entry-header .entry-title {
        font-size: 25px !important;
        line-height: 1.3;
    }
}
/* 10曲ページのH3 */
.entry-content h3.beginner-song-title {
    margin: 24px 0 16px !important;
    padding: 8px 14px !important;

    background: #fff8fc !important;
    border: 1px solid #ffd6eb !important;
    border-left: 6px solid #ff6fb3 !important;
    border-radius: 10px !important;
    box-shadow: none !important;

    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    color: #333 !important;
}


/* Episode全体のカード */
.documentary-item {
  position: relative;
  margin: 64px 0 48px;
  padding: 64px 24px 28px;
  background: #fff8fc;
  border: 1px solid #ffd5e5;
  border-radius: 16px;
  box-shadow: 0 3px 10px rgba(226, 106, 157, 0.05);
}

/* カード上部のタイトル */
.documentary-item .documentary-title {
  position: absolute;
  top: -22px;
  left: 20px;
  right: 20px;
  margin: 0;
  padding: 10px 16px;
  background: linear-gradient(90deg, #f59bc0, #f9c7dc);
  color: #fff;
  border-radius: 12px;
  font-size: 18px;
  line-height: 1.45;
  box-shadow: 0 4px 10px rgba(226, 106, 157, 0.16);
}

/* カード内の小見出し */
.documentary-item h3 {
  margin: 32px 0 16px;
  padding-left: 12px;
  background: transparent;
  border: none;
  border-left: 5px solid #f07dac;
  border-radius: 0;
  box-shadow: none;
  font-size: 20px;
  font-weight: 700;
  color: #444;
}

/* YouTube */
.documentary-item iframe {
  display: block;
  width: 100%;
  max-width: 560px;
  aspect-ratio: 16 / 9;
  height: auto;
  border-radius: 10px;
}

/* YouTubeリンク */
.documentary-item .watch-youtube {
  margin: 8px 0 0;
}

/* 公開日 */
.documentary-item .documentary-date {
  margin-top: 6px;
  color: #777;
  font-size: 14px;
}

/* 見どころ一覧 */
.documentary-item ul {
  padding-left: 1.5em;
}

.documentary-item li {
  margin-bottom: 6px;
}

@media (max-width: 600px) {
  .documentary-item {
    margin: 64px 0 48px;
    padding: 64px 18px 26px;
  }

  .documentary-item .documentary-title {
    top: -22px;
    left: 14px;
    right: 14px;
    padding: 10px 14px;
    font-size: 17px;
    line-height: 1.45;
  }

  .documentary-item .documentary-title-long {
    font-size: 15px !important;
    line-height: 1.4;
    padding-left: 12px;
    padding-right: 12px;
  }
}

/*王企画*/
.youtube-card {
  margin: 32px 0;
  padding: 24px;
  background: #fffafd;
  border: 1px solid #ffd1e4;
  border-radius: 16px;
}

.youtube-card h3 {
  margin: -24px -24px 20px;
  padding: 14px 20px;
  background: linear-gradient(90deg, #ffb0d2, #ffd4e6);
  border-left: 6px solid #ff5ba7;
  border-radius: 16px 16px 0 0;
  font-size: 22px;
}

.youtube-order-title {
  margin: 24px 0 12px;
  padding-bottom: 7px;
  border-bottom: 2px solid #ffc5dc;
  font-size: 18px;
}

.youtube-order {
  margin: 0;
  padding-left: 0;
  list-style: none;
  counter-reset: youtube-number;
}

.youtube-order li {
  counter-increment: youtube-number;
  margin-bottom: 10px;
}

.youtube-order li a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 13px 16px 13px 52px;
  background: #fff;
  border: 1px solid #ffd6e6;
  border-radius: 10px;
  color: #333;
  text-decoration: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.youtube-order li a::before {
  content: counter(youtube-number);
  position: absolute;
  left: 14px;
  display: grid;
  place-items: center;
  width: 27px;
  height: 27px;
  background: #ff9fc8;
  color: #fff;
  border-radius: 50%;
  font-size: 14px;
  font-weight: bold;
}

.youtube-order li a:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(225, 94, 150, 0.12);
}

.youtube-name {
  font-weight: bold;
}

.youtube-watch {
  flex-shrink: 0;
  color: #d94d8c;
  font-size: 13px;
}

.youtube-stream-note {
  margin-top: 20px;
  padding: 12px 14px;
  background: #fff3f8;
  border-radius: 8px;
  font-size: 14px;
  line-height: 1.7;
}

@media (max-width: 600px) {
  .youtube-card {
    padding: 18px 14px;
  }

  .youtube-card h3 {
    margin: -18px -14px 18px;
    padding: 13px 15px;
    font-size: 20px;
  }

  .youtube-order li a {
    align-items: flex-start;
    flex-direction: column;
    padding: 12px 12px 12px 48px;
  }

  .youtube-watch {
    font-size: 12px;
  }
}

/*ポジションシャッフル*/
.position-shuffle-list {
  margin-top: 22px;
}

.position-shuffle-item {
  padding: 18px;
  background: #fff;
  border: 1px solid #ffd6e6;
  border-radius: 12px;
}

.position-shuffle-song {
  margin: 0 0 14px;
  padding-bottom: 9px;
  border-bottom: 2px solid #ffc5dc;
  font-size: 18px;
}

.position-shuffle-links {
  display: grid;
  gap: 10px;
}

.position-shuffle-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 13px 15px;
  background: #fff8fc;
  border: 1px solid #ffd8e8;
  border-radius: 9px;
  color: #333;
  text-decoration: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.position-shuffle-link:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(225, 94, 150, 0.12);
}

.position-shuffle-type {
  font-weight: bold;
}

.position-shuffle-watch {
  flex-shrink: 0;
  color: #d94d8c;
  font-size: 13px;
}

@media (max-width: 600px) {
  .position-shuffle-item {
    padding: 14px;
  }

  .position-shuffle-link {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
    padding: 12px 13px;
  }

  .position-shuffle-watch {
    font-size: 12px;
  }
}

/*メンバー動画誘導*/
.member-recommend-guide {
  margin: 40px 0 30px;
  padding: 24px 20px;
  background: #fff7fb;
  border: 1px solid #ffc8dd;
  border-radius: 16px;
  text-align: center;
}

.member-recommend-label {
  display: inline-block;
  margin: 0 0 10px;
  padding: 5px 12px;
  background: #f59bc0;
  color: #fff;
  border-radius: 999px;
  font-size: 14px;
  font-weight: bold;
}

.member-recommend-guide h4 {
  margin: 0 0 12px;
  font-size: 22px;
}

.member-recommend-guide p {
  margin: 0 0 18px;
  line-height: 1.8;
}

.member-recommend-button {
  display: inline-block;
  padding: 11px 20px;
  color: #e85c97;
  background: #fff;
  border: 1px solid #f59bc0;
  border-radius: 999px;
  font-weight: bold;
  text-decoration: none;
}

.member-recommend-button:hover {
  background: #fff0f6;
}

/*サイト上部文の枠*/
.site-intro {
  margin: 20px 0;
  padding: 18px;
  background: #fffafc;
  border: 2px solid #ffd6e6;
  border-radius: 14px;
}

/*広告空白*/
.manual-adsense {
  margin: 30px 0 24px;
}

/*下記の自動スライド*/
