@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************


/* ===== 本日の出勤：名前＆詳細 ===== */
.girl-item .girl-name {
  margin: 8px 0 4px;
  font-size: 16px;
  font-weight: 600;
  color: #111; /* 黒背景なら #fff に変更 */
  text-align: center;
  letter-spacing: 0.04em;
}

/* 身長・BWH */
.girl-item .girl-spec {
  margin: 0;
  font-size: 13px;
  color: #555;
  text-align: center;
  letter-spacing: 0.08em;
}

/* 年齢を少し淡く */
.girl-item .girl-name span.age {
  color: #888;
  font-size: 13px;
  margin-left: 4px;
}





/* =========================
   週間スケジュール 表示制御【完成版】
   ========================= */

/* すべて非表示 */
.schedule-panel {
  display: none;
}

/* ★ 初期表示（URLに # が無い時）＝ 今日 */
body:not(:has(:target)) #day-0 {
  display: block;
}

/* タブを押したとき＝ target を表示 */
.schedule-panel:target {
  display: block;
}





/* =========================
   スケジュール：タブ全体
========================= */
.schedule-tabs {
  display: flex;
  gap: 10px;
  margin-bottom: 18px;
  overflow-x: auto;
  padding-bottom: 6px;
}

/* =========================
   タブ（カプセル・高級感）
========================= */
.schedule-tab {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  min-width: 68px;
  padding: 8px 14px;

  border-radius: 999px; /* カプセル型 */
  background: linear-gradient(135deg, #f5f5f5, #e6e6e6);
  color: #222;
  text-decoration: none;

  font-size: 13px;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;

  transition: all 0.25s ease;
}



/* ホバー */
.schedule-tab:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(0,0,0,0.18);
}

/* =========================
   パネル切り替え
========================= */
.schedule-panel {
  display: none;
}

/* ★ デフォルトで最初（＝今日）を表示 */
.schedule-panel:first-of-type {
  display: block;
}

/* タブクリック時 */
.schedule-panel:target {
  display: block;
}

/* =========================
   日付見出し（派手・中央）
========================= */
.schedule-day {
  text-align: center;
  margin: 22px 0 16px;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #111;
  position: relative;
}

.schedule-day::after {
  content: "";
  display: block;
  width: 60px;
  height: 2px;
  background: linear-gradient(90deg, #c9a24d, #f5e6a8, #c9a24d);
  margin: 10px auto 0;
}

/* =========================
   出勤なし表示
========================= */
.no-girl {
  text-align: center;
  color: #666;
  font-size: 14px;
  margin: 30px 0;
}






/* =========================
   女の子カード：文字 色＋サイズ 最終上書き
========================= */

/* カード自体を白に固定 */
.entry-content .girl-item {
  background: #ffffff !important;
  color: #111 !important;
}

/* 名前 */
.entry-content .girl-item .girl-name {
  font-size: 13px !important;
  line-height: 1.4 !important;
  color: #000 !important;
}


/* 時間 */
.entry-content .girl-item .girl-time {
  font-size: 11px !important;
  line-height: 1.3 !important;
  color: #555 !important;
}

/* 念のため：p / h3 全体 */
.entry-content .girl-item p,
.entry-content .girl-item h3 {
  color: inherit !important;
  background: transparent !important;
}





/* =========================
   週間スケジュール：スペック〜時間 完全密着
========================= */

/* pタグ由来の余白を完全無効化 */
.entry-content .schedule-panel .girl-item p {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.2 !important;
}

/* 念押し：個別指定 */
.entry-content .schedule-panel .girl-spec {
  margin: 0 !important;
  padding: 0 !important;
}

.entry-content .schedule-panel .girl-time {
  margin: 0 !important;
  padding: 0 !important;
}


/* =========================
   TBWH（スペック）だけサイズダウン
========================= */

.entry-content .girl-item .girl-spec {
  font-size: 5px !important;      /* ← ここだけ小さく */
  line-height: 1.15 !important;   /* 行間も詰める */
  letter-spacing: 0.03em !important;
  font-weight: 400 !important;
}





/* ===== セラピスト一覧 全体 ===== */
.therapist-list {
  background: #000;
  padding: 16px 10px;
}

/* ===== カード ===== */
.therapist-item {
  background: linear-gradient(180deg, #111 0%, #000 100%);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0,0,0,0.6);
}

/* ===== 名前 ===== */
.therapist-name {
  color: #f5f5f5;              /* 白系で強制 */
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.08em;
  margin: 10px 0 4px;
  text-align: center;
}

/* ===== プロフィール枠 ===== */
.therapist-profile {
  background: rgba(255,255,255,0.04);
  margin: 0 10px 12px;
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px solid rgba(212,175,55,0.25); /* ゴールド */
}

/* ===== 身長 ===== */
.therapist-height {
  color: #e0e0e0;
  font-size: 12px;
  text-align: center;
  margin: 0 0 4px;
}

/* ===== BHW ===== */
.therapist-bhw {
  color: #d4af37;              /* ゴールドで目立たせる */
  font-size: 12px;
  font-weight: 600;
  text-align: center;
  letter-spacing: 0.08em;
  margin: 0;
}

/* ===== 画像 ===== */
.therapist-item img {
  width: 100%;
  display: block;
  border-bottom: 1px solid rgba(212,175,55,0.3);
}

/* ===== スマホ2列 ===== */
@media screen and (max-width: 767px) {
  .therapist-item {
    width: calc(50% - 6px);
  }
}


/* セラピスト一覧 専用 */
.therapist-list .girl-item h3 {
  margin: 10px 0 4px;
  font-size: 14px;
  font-weight: 600;
  color: #111;
  text-align: center;
}

.therapist-list .girl-item .spec {
  margin: 0 0 10px;
  font-size: 12px;
  color: #444;
  text-align: center;
  letter-spacing: 0.04em;
  line-height: 1.4;
}

















/* ==== Cocoon 左上に出るスラッグ・ラベル完全削除 ==== */

/* パンくず */
.breadcrumb,
.breadcrumbs,
.breadcrumbs-container {
  display: none !important;
}

/* カテゴリ・ページラベル */
.entry-categories,
.cat-label,
.cat-labels,
.entry-category,
.entry-category-item {
  display: none !important;
}

/* ページタイトル・投稿タイトル */
.page-title,
.entry-title,
.post-title,
.archive-title {
  display: none !important;
}

/* Cocoon独自のラベル */
.eye-catch-label,
.eye-catch-cat,
.label-box,
.label {
  display: none !important;
}

/* 固定ページ上部の余白ごと消す */
.home .entry-header,
.home .page-header {
  display: none !important;
}




















/* =========================
   週間スケジュール：アクティブタブ保持
========================= */

/* すべてのタブを通常状態に戻す */
.schedule-tab {
  opacity: 0.65;
  transform: translateY(0);
  box-shadow: none;
}

/* 初期表示（URLに # が無い＝今日） */
body:not(:has(:target)) .schedule-tab.is-active {
  opacity: 1;
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(0,0,0,0.25);
}

/* 押されたタブ（targetと連動） */
#day-0:target ~ .schedule-tabs a[href="#day-0"],
#day-1:target ~ .schedule-tabs a[href="#day-1"],
#day-2:target ~ .schedule-tabs a[href="#day-2"],
#day-3:target ~ .schedule-tabs a[href="#day-3"],
#day-4:target ~ .schedule-tabs a[href="#day-4"],
#day-5:target ~ .schedule-tabs a[href="#day-5"],
#day-6:target ~ .schedule-tabs a[href="#day-6"] {
  opacity: 1;
  transform: translateY(-3px);
  box-shadow: 0 8px 20px rgba(0,0,0,0.35);
}

/* アクティブ時に縁をゴールド */
#day-0:target ~ .schedule-tabs a[href="#day-0"],
#day-1:target ~ .schedule-tabs a[href="#day-1"],
#day-2:target ~ .schedule-tabs a[href="#day-2"],
#day-3:target ~ .schedule-tabs a[href="#day-3"],
#day-4:target ~ .schedule-tabs a[href="#day-4"],
#day-5:target ~ .schedule-tabs a[href="#day-5"],
#day-6:target ~ .schedule-tabs a[href="#day-6"] {
  border: 1px solid rgba(212,175,55,0.8);
  background: linear-gradient(135deg, #1a1a1a, #000);
  color: #f5e6a8;
}












/* =========================
   高級店 予約フォーム FINAL
========================= */

/* フォーム全体 */
.wpcf7 {
  max-width: 720px;
  margin: 80px auto;
  padding: 48px 42px;

  background: linear-gradient(180deg, #050505 0%, #000 100%);
  border: 1px solid rgba(212,175,55,0.35); /* ゴールド */
  box-shadow:
    0 20px 50px rgba(0,0,0,0.85),
    inset 0 0 0 1px rgba(255,255,255,0.03);
}

/* ラベル */
.wpcf7-form label {
  display: block;
  margin-bottom: 26px;

  font-size: 13px;
  letter-spacing: 0.18em;
  color: #c9a24d; /* ゴールド寄り */
  text-transform: uppercase;
}

/* 入力欄 完全統一 */
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="date"],
.wpcf7-form select,
.wpcf7-form textarea {

  width: 100%;
  box-sizing: border-box;

  height: 48px;
  line-height: 48px;

  padding: 0 16px;

  font-size: 15px;
  letter-spacing: 0.06em;
  color: #f2f2f2;

  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(212,175,55,0.25);
  border-radius: 2px;

  transition: all 0.25s ease;
}

/* textarea 例外 */
.wpcf7-form textarea {
  height: auto;
  min-height: 130px;
  line-height: 1.7;
  padding: 14px 16px;
}

/* フォーカス時（高級感の核） */
.wpcf7-form input:focus,
.wpcf7-form select:focus,
.wpcf7-form textarea:focus {
  outline: none;
  background: rgba(255,255,255,0.07);
  border-color: #d4af37;
  box-shadow: 0 0 0 1px rgba(212,175,55,0.6);
}

/* date / select のOS装飾削除 */
.wpcf7-form input[type="date"],
.wpcf7-form select {
  -webkit-appearance: none;
  appearance: none;
}

/* select 矢印（ゴールド） */
.wpcf7-form select {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='7'><path fill='%23d4af37' d='M0 0l6 7 6-7z'/></svg>");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 12px;
}

/* 送信ボタン */
.wpcf7-form .button {
  margin-top: 42px;
  height: 52px;

  background: linear-gradient(135deg, #c9a24d, #f5e6a8, #c9a24d);
  color: #000;

  font-size: 15px;
  letter-spacing: 0.25em;
  font-weight: 700;

  border: none;
  cursor: pointer;

  transition: all 0.35s ease;
}

/* ホバー */
.wpcf7-form .button:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 30px rgba(212,175,55,0.5);
}

/* 必須マーク */
.wpcf7-form .required {
  color: #bfa34a;
}

/* エラー */
.wpcf7-not-valid-tip {
  color: #d6b27c;
  font-size: 12px;
  letter-spacing: 0.06em;
  margin-top: 6px;
}

/* 送信後メッセージ */
.wpcf7-response-output {
  margin-top: 36px;
  padding: 18px;

  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(212,175,55,0.35);
  color: #f0e6c8;

  font-size: 14px;
  letter-spacing: 0.08em;
}

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

  .wpcf7 {
    margin: 50px 14px;
    padding: 34px 22px;
  }

  .wpcf7-form input,
  .wpcf7-form select,
  .wpcf7-form textarea {
    height: 46px;
    line-height: 46px;
    font-size: 14px;
  }

  .wpcf7-form textarea {
    line-height: 1.6;
  }
}


.page-id-XX .entry-content {
  line-height: 2;
  letter-spacing: 0.06em;
}

.page-id-XX h2,
.page-id-XX h3 {
  margin-top: 40px;
  text-align: center;
  letter-spacing: 0.2em;
  color: #d4af37;
}

.page-id-XX ul,
.page-id-XX p {
  max-width: 720px;
  margin: 0 auto 20px;
}

.page-id-XX strong {
  color: #f5e6a8;
}


.girls-list a {
  pointer-events: none;
  cursor: default;
}






/* =========================
   ヘッダー電話番号 高級感版
   ========================= */

/* PC */
.header-tel {
  position: absolute;
  top: 50%;
  right: 16px;
  transform: translateY(-50%);
  text-align: right;
  line-height: 1.1;
  z-index: 100;
  white-space: nowrap;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.header-tel-label {
  display: block;
  font-size: 11px;
  letter-spacing: 0.18em;
  margin-bottom: 1px;
  color: #bbb;
  text-transform: uppercase; /* 高級感演出 */
  font-weight: 400;
}

.header-tel-number {
  font-size: 18px;
  letter-spacing: 0.12em;
  color: #fff;
  font-weight: 500;
  text-decoration: none;
}

.header-tel-number:hover {
  color: #f0e6d2; /* 薄いゴールド風 */
  transition: color 0.3s ease;
}

/* スマホ：1行表示＋高級感 */
@media screen and (max-width: 768px) {
  .header-tel {
    position: static;
    transform: none;
    margin: 6px 0 4px;
    text-align: center;
    line-height: 1.2;
  }

  .header-tel-label {
    display: inline;
    margin-right: 6px;
    font-size: 12px;
    letter-spacing: 0.15em;
    color: #ccc;
    text-transform: uppercase;
  }

  .header-tel-number {
    font-size: 16px;
    letter-spacing: 0.08em;
    font-weight: 500;
    color: #fff;
  }
}

/* ヘッダー全体の上下余白調整 */
#header {
  padding-top: 6px;
  padding-bottom: 6px;
}













.schedule-panel {
  scroll-margin-top: 100px; /* ヘッダー高さに合わせて調整 */
}





















/* =================================
   週間スケジュール：先頭タブ色問題 完全解決
================================= */

/* すべてのタブ：完全に同一見た目 */
.schedule-tab {
  background: linear-gradient(135deg, #f5f5f5, #e6e6e6) !important;
  color: #222 !important;
  opacity: 0.7;
  border: none !important;
  transform: none;
  box-shadow: none;
}

/* 初期表示：色は変えない（表示だけ day-0） */
body:not(:has(:target)) #day-0 {
  display: block;
}

/* 押されたタブだけをアクティブ表示 */
#day-0:target ~ .schedule-tabs a[href="#day-0"],
#day-1:target ~ .schedule-tabs a[href="#day-1"],
#day-2:target ~ .schedule-tabs a[href="#day-2"],
#day-3:target ~ .schedule-tabs a[href="#day-3"],
#day-4:target ~ .schedule-tabs a[href="#day-4"],
#day-5:target ~ .schedule-tabs a[href="#day-5"],
#day-6:target ~ .schedule-tabs a[href="#day-6"] {
  opacity: 1;
  background: linear-gradient(135deg, #111, #000) !important;
  color: #f5e6a8 !important;
  border: 1px solid rgba(212,175,55,0.85);
  transform: translateY(-3px);
  box-shadow: 0 8px 20px rgba(0,0,0,0.35);
}







/* =================================
   週間スケジュール：アクティブタブ強調【確定版】
================================= */

/* 通常タブ */
.schedule-tab {
  background: #e5e5e5;
  color: #555;
  border: 1px solid #ccc;
  opacity: 0.6;
  box-shadow: none;
  transform: none;
  transition: all 0.25s ease;
}

/* ★ 初期表示（今日） */
.schedule-tab.is-active {
  background: linear-gradient(135deg, #111, #000);
  color: #f5e6a8;
  border: 1px solid rgba(212,175,55,0.9);
  opacity: 1;
  box-shadow: 0 8px 22px rgba(0,0,0,0.55);
  transform: translateY(-2px);
}

/* hover（任意） */
.schedule-tab:hover {
  opacity: 1;
}








/* =========================
   先頭タブだけ白になる問題 完全封殺
   ========================= */

/* すべてのタブを完全に同一スタートにする */
.schedule-tabs .schedule-tab {
  background: #e5e5e5 !important;
  color: #555 !important;
  opacity: 0.6 !important;
  border: 1px solid #ccc !important;
  box-shadow: none !important;
  transform: none !important;
}

/* first-child / first-of-type を完全無効化 */
.schedule-tabs .schedule-tab:first-child,
.schedule-tabs .schedule-tab:first-of-type {
  background: #e5e5e5 !important;
  color: #555 !important;
  opacity: 0.6 !important;
  border: 1px solid #ccc !important;
  box-shadow: none !important;
  transform: none !important;
}

/* is-active が付いていても無効化（CSSのみ対策） */
.schedule-tabs .schedule-tab.is-active {
  background: #e5e5e5 !important;
  color: #555 !important;
  opacity: 0.6 !important;
  border: 1px solid #ccc !important;
  box-shadow: none !important;
  transform: none !important;
}

/* 押されたタブだけをアクティブ表示 */
#day-0:target ~ .schedule-tabs a[href="#day-0"],
#day-1:target ~ .schedule-tabs a[href="#day-1"],
#day-2:target ~ .schedule-tabs a[href="#day-2"],
#day-3:target ~ .schedule-tabs a[href="#day-3"],
#day-4:target ~ .schedule-tabs a[href="#day-4"],
#day-5:target ~ .schedule-tabs a[href="#day-5"],
#day-6:target ~ .schedule-tabs a[href="#day-6"] {
  background: linear-gradient(135deg, #111, #000) !important;
  color: #f5e6a8 !important;
  opacity: 1 !important;
  border: 1px solid rgba(212,175,55,0.9) !important;
  box-shadow: 0 8px 22px rgba(0,0,0,0.55) !important;
  transform: translateY(-2px) !important;
}











/* =================================
   選択中タブの色が変わらない問題【CSSのみ解決】
================================= */

/* 全タブ：通常状態 */
.schedule-tabs .schedule-tab {
  background: #e5e5e5 !important;
  color: #555 !important;
  opacity: 0.6 !important;
  border: 1px solid #ccc !important;
  box-shadow: none !important;
  transform: none !important;
}

/* ▼ 表示中パネルに対応するタブをアクティブ化 */
body:has(#day-0:target) .schedule-tabs a[href="#day-0"],
body:has(#day-1:target) .schedule-tabs a[href="#day-1"],
body:has(#day-2:target) .schedule-tabs a[href="#day-2"],
body:has(#day-3:target) .schedule-tabs a[href="#day-3"],
body:has(#day-4:target) .schedule-tabs a[href="#day-4"],
body:has(#day-5:target) .schedule-tabs a[href="#day-5"],
body:has(#day-6:target) .schedule-tabs a[href="#day-6"] {
  background: linear-gradient(135deg, #111, #000) !important;
  color: #f5e6a8 !important;
  opacity: 1 !important;
  border: 1px solid rgba(212,175,55,0.9) !important;
  box-shadow: 0 8px 22px rgba(0,0,0,0.55) !important;
  transform: translateY(-2px) !important;
}

/* ▼ 初期表示（#が無い＝今日） */
body:not(:has(:target)) .schedule-tabs a[href="#day-0"] {
  background: linear-gradient(135deg, #111, #000) !important;
  color: #f5e6a8 !important;
  opacity: 1 !important;
  border: 1px solid rgba(212,175,55,0.9) !important;
  box-shadow: 0 8px 22px rgba(0,0,0,0.55) !important;
}











/* ページ最上部の余白を完全削除 */ 
#header-container, #header, .site-header, .header-container, .header, #content, #main, .main, .content, #content-in, .main-inner, .container { margin-top: 0 !important; padding-top: 0 !important; } 

/* 最初のブロックの上余白削除 */ .entry-content > :first-child { margin-top: 0 !important; padding-top: 0 !important; } .logo-text { padding: 0px 0 0px; font-size: 1em; } body { font-family: var(--cocoon-default-font); font-size: var(--cocoon-default-text-size); color: var(--cocoon-text-color); line-height: 0; margin: 0; overflow-wrap: break-word; background-color: #f4f5f7; text-size-adjust: 100%; -webkit-text-size-adjust: 100%; -moz-text-size-adjust: 100%; background-attachment: fixed; } element.style {    margin-top: 0px; border-top-width: 0px; } .header-container, .main, .sidebar, .footer { background-color: #000000; } .girls-list { display: flex; gap: 20px; flex-wrap: wrap; } .girl-item { width: 200px; text-align: center; } .girl-item img { width: 100%; height: auto; border-radius: 10px; } 

/* 女の子一覧：スマホで2人並び */ .girls-list { display: flex; flex-wrap: wrap; gap: 12px; } /* 
 * 
 * ===== 女の子一覧 全体 ===== */ .entry-content .girls-list { display: flex; flex-wrap: wrap; gap: 12px; margin: 0; padding: 0; } 

/* ===== 1人分カード ===== */ .entry-content .girl-item { width: calc(50% - 6px); background: #fff; border-radius: 10px; overflow: hidden; box-shadow: 0 8px 24px rgba(0,0,0,0.08); box-sizing: border-box; } 

/* ===== 画像まわり（aタグ含む） ===== */ .entry-content .girl-item a { display: block; } .entry-content .girl-item img { display: block; width: 100%; height: auto; margin: 0; } 

/* ===== 名前＋時間エリア ===== */ .entry-content .girl-item h3 { margin: 0; padding: 8px 10px 4px; font-size: 14px; font-weight: 600; color: #111; letter-spacing: 0.06em; line-height: 1.4; } 

/* ===== 時間 ===== */ .entry-content .girl-item .time { margin: 0; padding: 0 10px 8px; font-size: 12px; color: #7a7a7a; display: flex; align-items: center; gap: 4px; line-height: 1.4; } /* ===== PC・タブレットは1列 ===== */ @media screen and (min-width: 768px) { .entry-content .girl-item { width: 100%; } } 

/* 出勤時間を中央寄せ */ .entry-content .girl-item .time { justify-content: center; text-align: center; }


.is-layout-flex {
    gap: 0rem;
}


.page-id-XX h3 {
  margin


	
	
	
	
	
	
.girl-image {
  position: relative;
}

.new-badge {
  position: absolute;
  top: 8px;
  left: 8px;
  background: #d40000;
  color: #fff;
  font-size: 12px;
  font-weight: bold;
  padding: 4px 8px;
  border-radius: 4px;
  z-index: 10;
  letter-spacing: 0.1em;
}	
	
	
	
	
	
	
