/*
Theme Name:umemuramizuho-c
Theme URI:
Description:梅村みずほ事務所の子テーマ
Template:umemuramizuho
Author:
Version:2.15.2
*/

/* =====================================================
   プライバシーポリシー（/privacypolicy/）
   ===================================================== */
.page-id-177 #main_col {
  max-width: 800px;
  margin: 0 auto;
}

.page-id-177 .post_content h3 {
  font-size: 16px;
  font-weight: 700;
  color: #333;
  border-left: 4px solid #ee7300;
  padding: 6px 0 6px 14px;
  margin: 40px 0 12px;
  line-height: 1.5;
}

.page-id-177 .post_content h3:first-child {
  margin-top: 0;
}

.page-id-177 .post_content p {
  font-size: 15px;
  line-height: 1.9;
  color: #444;
  margin: 0 0 12px;
}

.page-id-177 .post_content ul {
  margin: 0 0 16px 0;
  padding-left: 1.5em;
}

.page-id-177 .post_content ul li {
  font-size: 15px;
  line-height: 1.9;
  color: #444;
  list-style: disc;
  margin-bottom: 4px;
}

/* =====================================================
   令月会 入会ボタン
   ===================================================== */
.reigetsukai-join-wrap {
  text-align: center;
  margin: 80px 0 60px;
}

.reigetsukai-join-btn {
  display: inline-block;
  background: #ee7300;
  color: #fff !important;
  font-size: 24px;
  font-weight: 700;
  text-decoration: none !important;
  padding: 26px 100px;
  border-radius: 4px;
  letter-spacing: 0.1em;
  transition: background 0.2s, opacity 0.2s;
}

.reigetsukai-join-btn::after {
  content: " →";
  margin-left: 8px;
}

.reigetsukai-join-btn:hover {
  background: #d46200;
  opacity: 1;
}

@media screen and (max-width: 750px) {
  .reigetsukai-join-btn {
    font-size: 16px;
    padding: 24px 30px;
    width: 100%;
    box-sizing: border-box;
  }
}

/* =====================================================
   フッター プライバシーポリシーリンク
   ===================================================== */
.footer_privacy_link {
  text-align: center;
  margin: 40px 0 0;
  font-size: 12px;
}
.footer_privacy_link a {
  color: #333;
  text-decoration: none;
}
.footer_privacy_link a:hover {
  color: #000;
}

/* =====================================================
   汎用
   ===================================================== */
.tab_content_bottom .desc {
  line-height: 1.9;
}

.post_content p {
    line-height: 1.9!important;
}

#global_menu > ul {
    text-align: right;
    right: 170px;
}

#global_menu > ul > li > a {
    padding: 0 10px;
}

/* =====================================================
   ヘッダー SNS アイコン（X・Instagram）
   ===================================================== */
#header_sns {
  position: absolute;
  right: 88px; /* 検索ボタン(80px) + 8px 余白 */
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  gap: 4px;
  z-index: 3;
}

.header-sns-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  text-decoration: none !important;
  opacity: 0.9;
  transition: opacity 0.2s;
}

.header-sns-link:hover {
  opacity: 1;
}

.header-sns-link::before {
  font-size: 18px;
  display: block;
  color: #fff;
  transition: color 0.3s;
  line-height: 1;
}

/* X (Twitter) */
.header-sns-x::before {
  font-family: 'tiktok_x_icon';
  content: "\e901";
  font-size: 17px;
}

/* Instagram */
.header-sns-instagram::before {
  font-family: 'footer_bar';
  content: "\ea92";
  font-size: 20px;
}

/* スクロール後・内部ページではダークカラーに切り替え（ナビリンクと同じ条件） */
#header.active .header-sns-link::before,
body.header_fix .header-sns-link::before,
body.single .header-sns-link::before,
body.hide_header_image .header-sns-link::before,
body.no_index_header_content .header-sns-link::before {
  color: #000;
}

/* スマホでは非表示（ハンバーガーメニューとスペース競合を避ける） */
.mobile #header_sns {
  display: none;
}

/* =====================================================
   スマホヘッダー：ロゴ背景拡張 + ハンバーガー正方形背景
   ===================================================== */

/* ロゴ背景をハンバーガー左端まで延長 */
.mobile #header_logo a {
  padding: 0 20px !important;
  right: 60px;
}

/* ハンバーガーボタン：60×60 正方形（背景は透明、スクロール後は header:after の白が入る） */
.mobile #global_menu_button {
  width: 60px !important;
  height: 60px !important;
}

h4.niju-line {
    position: relative;
    border-bottom: 3px solid #ddd;
    padding: 10px 0!important;
    }
h4.niju-line:before {
    position: absolute;
    left: 0;
    bottom: -3px;
    width: 20%;
    height: 3px;
    content: '';
    background: #EE7300;
    }

    .tab_content_top .tab .item {
min-width: 160px;
}

#page_header {
    width: 100%;
    height: 300px;
    position: relative;
    overflow: hidden;
    background: #000;
}

#archive_square_headline {
    z-index: 1000;
    width: 200px;
    height: 100px;
    color: #fff;
    position: relative;
    margin: 0 auto;
    top: -50px;
}

@media screen and (max-width: 1201px) {
        #page_header {
            height: 300px!important;
        }

    }



    @media screen and (max-width: 550px) {
        #page_header {
            height: 250px;
        }

    }

        @media screen and (max-width: 750px) {

        /* 令月会 プランカード：スマホ縦積み */
        .plan-cards {
            flex-direction: column;
            gap: 40px;
        }

        #archive_square_headline {
            width: 120px;
            height: 60px!important;
            top: -30px!important;
            margin-bottom: -20px;
        }

        .cb_service_item_list .desc {
            font-size: 12px;
        }

    }

/* =====================================================
   令月会 会費プランカード（cryptact.com/pricing スタイル）
   ===================================================== */

.plan-cards {
  display: flex;
  gap: 28px;
  margin: 48px 0;
  align-items: stretch;
}

/* --- 共通カード --- */
.plan-card {
  flex: 1;
  display: flex;
  flex-direction: column;
  border: 2px solid #e0e8f0;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 2px 16px rgba(0,0,0,0.06);
  position: relative;
  overflow: visible;
}

/* --- おすすめカード --- */
.plan-card--featured {
  border-color: #1a3a6b;
  box-shadow: 0 8px 40px rgba(26,58,107,0.18);
}

/* バッジ共通 */
.plan-badge {
  position: absolute;
  top: -15px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 12px;
  font-weight: 700;
  padding: 5px 20px;
  border-radius: 20px;
  letter-spacing: 0.12em;
  white-space: nowrap;
  background: #1a3a6b;
  color: #fff;
}

/* REGULARバッジ（一般会員） */
.plan-badge--regular {
  background: #fff;
  color: #1a3a6b;
  border: 2px solid #1a3a6b;
}

/* --- ヘッダー部 --- */
.plan-header {
  padding: 36px 32px 28px;
  border-bottom: 1px solid #eef0f4;
}

.plan-tier {
  font-size: 16px;
  font-weight: 700;
  color: #555;
  margin: 0 0 20px;
  letter-spacing: 0.05em;
}

.plan-card--featured .plan-tier {
  color: #1a3a6b;
}

.plan-price-wrap {
  display: flex;
  align-items: baseline;
  gap: 4px;
  line-height: 1;
  margin-bottom: 10px;
}

.plan-price {
  font-size: 48px;
  font-weight: 800;
  color: #1a1a1a;
  letter-spacing: -0.02em;
}

.plan-unit {
  font-size: 16px;
  color: #888;
  font-weight: 400;
}

/* --- ボディ部 --- */
.plan-body {
  padding: 28px 32px 32px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

/* 特典リスト */
.plan-features {
  list-style: none;
  padding: 0;
  margin: 0 0 32px;
  flex: 1;
}

.plan-features li {
  padding: 11px 0 11px 28px;
  position: relative;
  font-size: 14px;
  color: #444;
  border-bottom: 1px solid #f2f4f7;
  line-height: 1.6;
}

.plan-features li:last-child {
  border-bottom: none;
}

.plan-note {
  display: block;
  margin-top: 5px;
  font-size: 11px;
  color: #888;
  line-height: 1.7;
}

.plan-features li::before {
  content: '✓';
  position: absolute;
  left: 0;
  top: 11px;
  color: #1a3a6b;
  font-weight: 800;
  font-size: 14px;
}

/* ボタン */
.plan-btn {
  display: block;
  text-align: center;
  padding: 15px 20px;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-decoration: none !important;
  transition: opacity 0.2s, transform 0.15s;
  background: #e8edf5;
  color: #1a3a6b !important;
}

.plan-btn:hover {
  opacity: 0.8;
  transform: translateY(-1px);
}

.plan-card--featured .plan-btn {
  background: #1a3a6b;
  color: #fff !important;
}

/* =====================================================
   プロフィールページ タイムライン（/profile/）
   ===================================================== */

/* PC: ヘッダーをrelativeにして通常ページと同じ表示にする（ヒーロー画像なし） */
.pc body.page-id-46 #header {
  position: relative;
  background: #fff;
  border-bottom: 1px solid #ddd;
}
/* スクロール追従時はfixedに戻す */
.pc body.page-id-46.header_fix #header {
  position: fixed;
  border: none;
}
.pc body.page-id-46.header_fix #container {
  padding-top: 80px;
}
.pc body.page-id-46 #global_menu > ul > li > a { color: #000; }
.pc body.page-id-46 #header_search_button:before { color: #000; }
.pc body.page-id-46 .header-sns-link::before { color: #000; }

/* モバイル: ヘッダーはabsoluteのまま、コンテナを60px下げてハンバーガーを黒表示 */
.mobile body.page-id-46 #container {
  padding-top: 60px;
}
.mobile body.page-id-46 #global_menu_button span {
  background: #000 !important;
}

/* 全体ラッパー */
.profile-wrap {
  display: flex;
  min-height: calc(100vh - 80px);
  max-width: 1150px;
  margin: 0 auto;
  background: #11171c;
  font-family: "Lato", Arial, sans-serif;
  font-size: 14px;
  line-height: 1.4;
}

/* ===== サイドバー ===== */
.profile-sidebar {
  width: 330px;
  min-width: 330px;
  background: #fff;
  color: #333;
  flex-shrink: 0;
}

.profile-my-info {
  text-align: center;
  padding: 60px 16px 30px;
  border-bottom: 1px solid #3a3a3a;
}

.profile-photo {
  border-radius: 50%;
  width: 180px;
  height: 180px;
  object-fit: cover;
  display: block;
  margin: 0 auto 14px;
}

.profile-my-info h1 {
  font-size: 15px;
  font-weight: 400;
  margin: 0 0 6px;
  color: #222;
}

.profile-my-info h2 {
  font-size: 12px;
  font-weight: 300;
  color: #aaa;
  margin: 0 0 16px;
}

/* SNS アイコン（既存フォントを流用） */
.profile-social {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 14px;
}

.psns-x,
.psns-instagram {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  opacity: 0.7;
  transition: opacity 0.2s;
  text-decoration: none;
}
.psns-x:hover,
.psns-instagram:hover { opacity: 1; }

.psns-x::before {
  font-family: 'tiktok_x_icon';
  content: "\e901";
  font-size: 16px;
  color: #333;
}
.psns-instagram::before {
  font-family: 'footer_bar';
  content: "\ea92";
  font-size: 18px;
  color: #333;
}

/* ナビゲーション */
.profile-nav {
  padding: 20px 20px 30px;
}

.profile-nav h3 {
  font-size: 13px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin: 20px 0 8px;
  cursor: pointer;
}
.pnav-work    { color: #d35136; }
.pnav-about   { color: #27b599; }
.pnav-contact { color: #088ecc; }

.profile-nav ul {
  list-style: none;
  padding: 0;
  margin: 0 0 8px 12px;
}

.profile-nav ul li a {
  color: #5e5e5e;
  text-decoration: none;
  font-size: 13px;
  line-height: 2;
  transition: color 0.3s;
}
.profile-nav ul li a:hover,
.profile-nav ul li a.current { color: #fff; }

/* ===== タイムラインコンテンツ ===== */
.profile-content {
  flex: 1;
  background: #f7f7f7;
  min-height: 100%;
}

/* タイムライン見出し */
.profile-content-title {
  padding: 50px 30px 50px;
  margin: 0;
  background: #fff;
}
.profile-content-title img {
  display: block;
  width: 40%;
  height: auto;
}

/* 各アイテム */
.profile-item {
  display: flex;
  background: #f7f7f7;
  position: relative;
}

/* タイムライン縦線 */
.profile-item::before {
  content: "";
  position: absolute;
  width: 3px;
  background: #e0e0e0;
  top: 0;
  left: 34px;
  bottom: 0;
}
.profile-item--first::before {
  top: 30px;
}

/* 左パネル（日付・説明） */
.profile-info {
  width: 52%;
  min-width: 270px;
  padding: 20px 20px 20px 56px;
  color: #5e5e5e;
  box-sizing: border-box;
  flex-shrink: 0;
  background: #fff;
}

/* 日付とタイムラインドット */
.pitem-date {
  font-size: 24px;
  color: #111;
  margin-bottom: 10px;
  position: relative;
}
.pitem-date::before {
  content: "";
  position: absolute;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  border: 2px solid #f7f7f7;
  background: #ee7300;
  left: -28px;
  top: 10px;
}

.pitem-desc {
  font-size: 13px;
  line-height: 1.6;
  margin-bottom: 10px;
}


/* 右パネル（画像） */
.profile-img-wrap {
  flex: 1;
  padding: 20px;
  background: #fff;
  text-align: center;
}
.profile-img-wrap img {
  width: 100%;
  max-width: 600px;
  height: auto;
  display: block;
  margin: 0 auto;
}

/* ===== モバイル対応 ===== */
@media screen and (max-width: 750px) {
  .profile-wrap { flex-direction: column; }
  .profile-sidebar { width: 100%; min-width: 0; }
  .profile-item { flex-direction: column; }
  .profile-info { width: 100%; min-width: 0; }
  .profile-img-wrap { border-left: none; border-top: 1px solid #dedede; }
  .profile-content-title img { width: 70%; }

  .page-id-46 #container {
    padding-top: 60px; /* スマホヘッダー高さ */
  }
}

/* =====================================================
   PC サービスセクション: 各パネル独自背景＋inviewアニメーション
   ===================================================== */

/* 共有背景スイッチャーを非表示（各アイテムが独自背景を持つため不要） */
.pc .cb_service_image_list {
  display: none;
}

/* 各アイテムの image_wrap をパネル全体に広げる */
.pc .cb_service_item_list .image_wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  overflow: hidden;
}
.pc .cb_service_item_list .image {
  width: 100%;
  height: 100% !important;
  position: absolute;
  top: 0;
  left: 0;
  background-size: cover !important;
  background-position: center center !important;
  transition: transform 0.5s ease;
}
/* ホバー時に背景画像を微拡大（ズームエフェクト） */
.pc .cb_service_item_list .item.active .image {
  transform: scale(1.05);
}

/* コンテンツを常時表示（スマホ同様、ホバー待ちをやめる） */
.pc .cb_service_item_list .content {
  bottom: 0;
  z-index: 2;
}
.pc .cb_service_item_list .desc,
.pc .cb_service_item_list .bottom_title {
  opacity: 1;
  top: 0;
}

/* オーバーレイを薄く常時表示（文字の可読性確保）、ホバーで濃く */
.pc .cb_service_item_list .item a:after {
  opacity: 0.5;
  z-index: 1;
}
.pc .cb_service_item_list .item.active a:after {
  opacity: 0.75;
}

/* アイテムごとにスタガーフェードイン（スマホのスクロールエフェクトと同様） */
.pc .cb_service_item_list.inview .item {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 1.0s cubic-bezier(0.165, 0.84, 0.44, 1),
              transform 1.0s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.pc .cb_service_item_list.animate .item {
  opacity: 1;
  transform: translateY(0);
}
.pc .cb_service_item_list.animate .item:nth-child(1) { transition-delay: 0.1s; }
.pc .cb_service_item_list.animate .item:nth-child(2) { transition-delay: 0.3s; }
.pc .cb_service_item_list.animate .item:nth-child(3) { transition-delay: 0.5s; }
.pc .cb_service_item_list.animate .item:nth-child(4) { transition-delay: 0.7s; }
.pc .cb_service_item_list.animate .item:nth-child(5) { transition-delay: 0.9s; }

/* --- 続きを読む アコーディオン (.tab_content_bottom .desc) --- */
.tab_content_bottom .desc.desc-collapsed {
  max-height: 15em;
  overflow: hidden;
  position: relative;
}
.tab_content_bottom .desc.desc-collapsed::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3em;
  background: linear-gradient(to bottom, transparent, #fff);
  pointer-events: none;
}
.desc-read-more-btn {
  display: block;
  margin-top: 14px;
  background: #fff;
  border: 2px solid #ee7300;
  border-radius: 4px;
  color: #ee7300;
  cursor: pointer;
  font-size: 15px;
  font-weight: 700;
  padding: 10px 24px;
  line-height: 1;
  letter-spacing: 0.05em;
  text-align: center;
  width: 100%;
  transition: background 0.2s, color 0.2s;
}
.desc-read-more-btn:hover {
  background: #ee7300;
  color: #fff;
}
