/* ==========================================================================
   wp.css — WordPress固有のスタイル上書き
   style.cssは編集せず、WP/CF7等の差異はここで吸収する
   ========================================================================== */

/* --------------------------------------------------
   Contact Form 7: 送信ボタンのスタイルリセット
   .p-contact-form input が input[type=submit] にも当たるため上書き
   -------------------------------------------------- */
.p-contact-form input[type=submit] {
  width: min(270px, 270 / var(--w) * 100vw);
  background: #D32F2F;
  height: min(64px, 64 / var(--w) * 100vw);
  font-size: min(24px, 24 / var(--w) * 100vw);
  line-height: 1.25;
  letter-spacing: 0.2em;
  font-weight: bold;
  color: #fff;
  border: none;
  cursor: pointer;
  padding: 0;
}

.p-contact-form input[type=submit]:hover {
  opacity: 0.85;
}

/* CF7 エラー・成功メッセージ */
.wpcf7-response-output {
  margin: 1em 0 0;
  padding: 0.5em 1em;
  font-size: min(14px, 14 / var(--w) * 100vw);
  text-align: center;
}

/* バリデーションエラー時の枠線 */
.wpcf7-not-valid {
  border: 2px solid #D32F2F !important;
}

.wpcf7-not-valid-tip {
  font-size: min(13px, 13 / var(--w) * 100vw);
  color: #D32F2F;
}

/* --------------------------------------------------
   NEWSページ: ヘッダーにドロップシャドウ
   静的サイトは body.page-news だが WP は body.is-news クラスを使用
   -------------------------------------------------- */
body.is-news .l-header {
  box-shadow: 0 calc(2 / var(--w) * 100vw) calc(8 / var(--w) * 100vw) rgba(0, 0, 0, 0.1);
}

/* --------------------------------------------------
   ARTISTS: 紹介文下のファンクラブ導線ボタン（追加コンポーネント）
   .p-index-artists 配下にスコープして a の color:inherit を上書きする
   -------------------------------------------------- */
.p-index-artists ._col-texts ._fanclub {
  margin-top: min(40px, 40 / var(--w) * 100vw);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: min(15px, 15 / var(--w) * 100vw);
}

.p-index-artists ._col-texts ._fanclub-label {
  font-size: min(20px, 20 / var(--w) * 100vw);
  line-height: 1.4;
  font-weight: bold;
  letter-spacing: 0.05em;
  color: #488396;
}

.p-index-artists ._col-texts .c-btn-fanclub {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: min(16px, 16 / var(--w) * 100vw);
  width: min(240px, 240 / var(--w) * 100vw);
  height: min(64px, 64 / var(--w) * 100vw);
  border-radius: 9999px;
  background: linear-gradient(90deg, #7CD2EA 0%, #93B6E8 100%);
  box-shadow: 0 min(8px, 8 / var(--w) * 100vw) min(18px, 18 / var(--w) * 100vw) rgba(109, 193, 221, 0.45);
  color: #fff;
  font-size: min(22px, 22 / var(--w) * 100vw);
  line-height: 1;
  font-weight: bold;
  letter-spacing: 0.1em;
  text-decoration: none;
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.p-index-artists ._col-texts .c-btn-fanclub:hover {
  opacity: 0.9;
  transform: translateY(min(-2px, -2 / var(--w) * 100vw));
}

.p-index-artists ._col-texts .c-btn-fanclub ._arrow {
  position: relative;
  width: min(20px, 20 / var(--w) * 100vw);
  height: min(10px, 10 / var(--w) * 100vw);
}

/* 矢印（→）を疑似要素で描画 */
.p-index-artists ._col-texts .c-btn-fanclub ._arrow::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: min(2px, 2 / var(--w) * 100vw);
  background: #fff;
  transform: translateY(-50%);
}

.p-index-artists ._col-texts .c-btn-fanclub ._arrow::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: min(9px, 9 / var(--w) * 100vw);
  height: min(9px, 9 / var(--w) * 100vw);
  border-top: min(2px, 2 / var(--w) * 100vw) solid #fff;
  border-right: min(2px, 2 / var(--w) * 100vw) solid #fff;
  transform: translateY(-50%) rotate(45deg);
}
