/* ヘッダー背景 */
.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-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;
}
/*いいねボタン*/
.wpulike {
  margin-top: 16px;
  margin-bottom: 16px;
}

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

/*メンバー考案曲リンク*/
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;
}
