/* ======================================
LP / 固定ページ 共通レイアウト土台（復旧）
====================================== */

.lp-inner {
  max-width: 960px;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
}

.lp-inner * {
  box-sizing: border-box;
}

/* 画像の崩壊防止（最重要） */
.lp-inner img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* figure 初期化 */
.lp-inner figure {
  margin: 0;
}

/* ======================================
COMMON.css（LP共通・安全版）
====================================== */

/* 横スクロール完全防止（iOS含む） */
html, body {
  max-width: 100%;
  overflow-x: hidden;
}

/* セクション共通余白 */
.lp-section {
  padding: 120px 20px;
}
/Users/mikihirrosunayama/Desktop/page-price.php
@media (max-width: 768px) {
  .lp-section {
    padding: 80px 16px;
  }
}

/* セクション内コンテンツ幅 */
.lp-inner {
  max-width: 960px;
  margin: 0 auto;
  width: 100%;
}

/* 見出し構成 */
.lp-sec-kicker {
  display: block;
  text-align: center;
  font-size: 13px;
  letter-spacing: 0.3em;
  color: #0099cc;
  margin-bottom: 16px;
}

.lp-section-title {
  text-align: center;
  font-size: 32px;
  line-height: 1.4;
  margin-bottom: 40px;
}

@media (max-width: 768px) {
  .lp-section-title {
    font-size: 26px;
  }
}

/* リード文：中央寄せ・中身は左揃え */
.lp-lead,
.lp-contact-text {
  max-width: 720px;
  margin: 0 auto 48px;
  text-align: left;
  line-height: 2;
}

/* ボタン共通 */
.btn,
.wpcf7-submit {
  display: inline-block;
  padding: 14px 32px;
  border-radius: 999px;
  background: #0099cc;
  color: #fff;
  font-size: 15px;
  border: none;
  cursor: pointer;
}

.btn:hover,
.wpcf7-submit:hover {
  opacity: 0.9;
}


/* 管理者ログイン時の編集用余白を消す */
body.logged-in footer,
body.logged-in .l-footer {
  margin-top: 0 !important;
  padding-top: 0 !important;
}


/* ======================================
FIXED PAGES : 基本土台の復活
目的：LP改修中に失われた固定ページの余白・幅を戻す
影響範囲：page-id 指定ページのみ（LP完全非対象）
====================================== */

/* Concept / About（必要に応じて追加） */
body.page-id-973,
body.page-id-6 {
  overflow-x: hidden;
}

/* Emanon由来の横幅制限で左寄りになる問題を解消 */
body.page-id-973 .l-content,
body.page-id-973 .l-main,
body.page-id-973 .wrap,
body.page-id-973 .container,
body.page-id-6 .l-content,
body.page-id-6 .l-main,
body.page-id-6 .wrap,
body.page-id-6 .container {
  width: 100%;
}

/* entry-content の最大幅・左右余白の影響を無効化 */
body.page-id-973 .entry-content,
body.page-id-6 .entry-content {
  max-width: none;
}

/* セクション余白（以前完成していた固定ページ基準） */
body.page-id-973 .lp-section,
body.page-id-6 .lp-section {
  padding: 120px 20px;
}

@media (max-width: 768px) {
  body.page-id-973 .lp-section,
  body.page-id-6 .lp-section {
    padding: 80px 16px;
  }
}

/* 中央本文幅（LP用 lp-inner と思想を揃える） */
body.page-id-973 .lp-inner,
body.page-id-6 .lp-inner {
  max-width: 960px;
  margin: 0 auto;
  width: 100%;
}

/* 見出し・英字ラベル・リードの間隔 */
body.page-id-973 .lp-sec-kicker,
body.page-id-6 .lp-sec-kicker {
  display: block;
  text-align: center;
  margin: 0 0 16px;
}

body.page-id-973 .lp-section-title,
body.page-id-6 .lp-section-title {
  text-align: center;
  margin: 0 0 40px;
}

/* entry-content 内ブロックの詰まり・空きすぎを是正 */
body.page-id-973 .entry-content > * + *,
body.page-id-6 .entry-content > * + * {
  margin-top: 24px;
}

/* WPブロック由来の不要マージンを抑制 */
body.page-id-973 .wp-block-group,
body.page-id-6 .wp-block-group,
body.page-id-973 .wp-block-columns,
body.page-id-6 .wp-block-columns {
  margin: 0;
}
/* ======================================
FIXED PAGE HERO（唯一の正解）
====================================== */
.fixed-page-hero {
  position: relative;

  /* 全幅 */
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);

  min-height: 360px;
  display: flex;
  align-items: center;
  justify-content: center;

  padding: 80px 24px;

  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.fixed-page-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.35);
}

.fixed-page-hero-inner {
  position: relative;
  z-index: 1;
  text-align: center;
  color: #fff;
}

.fixed-page-hero-title {
  font-size: 36px;
  line-height: 1.4;
  font-weight: 700;
}

@media (max-width: 768px) {
  .fixed-page-hero {
    min-height: 240px;
    padding: 64px 20px;
  }
  .fixed-page-hero-title {
    font-size: 26px;
  }
}
/* ======================================
FIXED PAGE : HERO 内テキスト統一
====================================== */

.fixed-page-hero {
  text-align: center;
}

.fixed-page-hero-inner {
  max-width: 960px;
  margin: 0 auto;
}

.fixed-page-hero-title {
  font-size: 36px;
  line-height: 1.4;
  font-weight: 700;
  margin: 0;
}

@media (max-width: 768px) {
  .fixed-page-hero-title {
    font-size: 26px;
  }
}

/* ======================================
FIXED PAGE : HERO直下 見出し＋リード（統一）
====================================== */

/* 見出し */
.page .lp-section-title {
  text-align: center;
  font-size: 32px;
  margin-bottom: 32px;
}

@media (max-width: 768px) {
  .page .lp-section-title {
    font-size: 24px;
  }
}

/* リード文（中央揃えに統一） */
.page .lp-lead {
  max-width: 720px;
  margin: 0 auto 64px;
  text-align: center; /* ← 左揃えをやめる */
  line-height: 2;
}
/* ======================================
FIXED PAGE HERO（統一・最終確定）
対象：fixed-page-hero
====================================== */

.page .fixed-page-hero {
  position: relative;

  /* 全幅 */
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);

  /* 高さ・配置 */
  min-height: 360px;
  display: flex;
  align-items: center;
  justify-content: center;

  padding: 80px 24px;

  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* 黒オーバーレイ */
.page .fixed-page-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.35);
}

/* 中身 */
.page .fixed-page-hero-inner {
  position: relative;
  z-index: 1;
  text-align: center;
  color: #fff;
  padding: 0 24px;
}

/* 小さいリード（kicker） */
.page .fixed-page-hero-kicker {
  font-size: 14px;
  letter-spacing: .2em;
  color: rgba(255,255,255,.85);
  margin-bottom: 12px;
}

/* 大きなタイトル */
.page .fixed-page-hero-title {
  font-size: 36px;
  line-height: 1.4;
  font-weight: 700;
  margin: 0;
}

/* SP */
@media (max-width: 768px) {
  .page .fixed-page-hero {
    min-height: 240px;
    padding: 64px 20px;
  }

  .page .fixed-page-hero-title {
    font-size: 26px;
  }
}
/* ======================================
PRICE PAGE HERO：文字ルール固定
====================================== */
.fixed-page-hero-inner {
  display: flex;
  flex-direction: column;
  align-items: center;   /* 横方向：中央 */
  justify-content: center;
  text-align: center;
  gap: 16px;             /* kicker と title の距離 */
  padding: 0 24px;
}

.fixed-page-hero-kicker {
  color: #fff;           /* ← 小さい文字を白に */
  font-size: 14px;
  letter-spacing: 0.15em;
  margin: 0;
  opacity: 0.9;
}

.fixed-page-hero-title {
  color: #fff;
  font-size: 36px;
  line-height: 1.35;
  margin: 0;
}

@media (max-width: 768px) {
  .fixed-page-hero-title {
    font-size: 24px;
  }
}
/* ======================================
PRICE PAGE HERO：文字色を強制固定
====================================== */

/* 小さい見出し（kicker） */
.fixed-page-hero .fixed-page-hero-kicker {
  color: #ffffff !important;
  opacity: 0.9;
}

/* 大きなタイトル */
.fixed-page-hero .fixed-page-hero-title {
  color: #ffffff !important;
}
/* ======================================
FIXED PAGE HERO：文字サイズ・間隔を完全統一
====================================== */

/* HERO内 全体の基準 */
.fixed-page-hero {
  text-align: center;
}

/* 小見出し（kicker） */
.fixed-page-hero-kicker {
  font-size: 14px;
  letter-spacing: 0.2em;
  margin-bottom: 16px;   /* タイトルとの距離を統一 */
  line-height: 1.4;
  color: #fff !important;
}

/* メインタイトル */
.fixed-page-hero-title {
  font-size: 36px;       /* ← ここが基準サイズ */
  line-height: 1.35;
  font-weight: 700;
  margin: 0;             /* 余計なズレを完全排除 */
  color: #fff !important;
}

/* SP */
@media (max-width: 768px) {
  .fixed-page-hero-kicker {
    font-size: 12px;
    margin-bottom: 12px;
  }

  .fixed-page-hero-title {
    font-size: 26px;
  }
}
/* ======================================
SITE HERO：文字サイズ・位置 完全統一
====================================== */

.site-hero {
  text-align: center;
}

/* 小さな英字（kicker） */
.site-hero-kicker {
  font-size: 14px;
  letter-spacing: 0.2em;
  margin-bottom: 16px;
  line-height: 1.4;
  color: #fff !important;
}

/* 大きなタイトル */
.site-hero-title {
  font-size: 36px;
  line-height: 1.35;
  font-weight: 700;
  margin: 0;
  color: #fff !important;
}

/* SP */
@media (max-width: 768px) {
  .site-hero-kicker {
    font-size: 12px;
    margin-bottom: 12px;
  }

  .site-hero-title {
    font-size: 26px;
  }
}
/* ======================================
FIXED PAGE HERO：kicker最終強制統一
料金ページだけ大きくなる問題の止血
====================================== */

.page .fixed-page-hero-kicker,
.page .site-hero-kicker {
  font-size: 14px !important;
  letter-spacing: 0.2em !important;
  margin-bottom: 16px !important;
  line-height: 1.4 !important;
  color: #fff !important;
}

/* SP */
@media (max-width: 768px) {
  .page .fixed-page-hero-kicker,
  .page .site-hero-kicker {
    font-size: 12px !important;
    margin-bottom: 12px !important;
  }
}


/* ======================================
EPB（emanon premium blocks）
SP 横はみ出し強制防止
====================================== */
@media (max-width: 768px) {

  .epb-panel-number,
  .epb-panel-number__inner,
  .wp-block-emanon-premium-blocks-panel-number {
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box;
  }

}
/* ======================================
プライバシーポリシー：フォント統一
====================================== */
body.page-id-1221

  font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont,
               "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
}

body.page-id-1221 .entry-content * {
  font-family: inherit !important;
}

/* ======================================
LP MESSAGE：最終防御（common.css汚染対策）
影響範囲：LPページの MESSAGE のみ
====================================== */

body.page-id-4208 .lp-message .lp-message-profile {
  display: flex;
  align-items: flex-start;
  gap: 24px;
}

body.page-id-4208 .lp-message .lp-message-photo {
  flex: 0 0 96px;
}

body.page-id-4208 .lp-message .lp-message-photo img {
  width: 96px;
  height: auto;
  display: block;       /* inline に戻さない */
  max-width: none;      /* common.css の max-width:100% を無効化 */
  border-radius: 50%;
}

body.page-id-4208 .lp-message .lp-message-profile-text {
  flex: 1;
  min-width: 0;         /* flex 崩壊防止 */
}

/* SP：縦積み */
@media (max-width: 768px) {
  body.page-id-4208 .lp-message .lp-message-profile {
    display: block;
    text-align: center;
  }

  body.page-id-4208 .lp-message .lp-message-photo {
    margin-bottom: 12px;
  }

  body.page-id-4208 .lp-message .lp-message-photo img {
    margin: 0 auto;
    border-radius: 6px;
  }
}
/* ======================================
LP MESSAGE：文字組ルール最終調整
====================================== */

/* MESSAGE 本文：読み物用の行間・段落 */
body.page-id-4208 .lp-message-body {
  font-size: 15px;
  line-height: 2.1;
}

body.page-id-4208 .lp-message-body p {
  margin-bottom: 2em;
}

/* 「そのたびに感じてきたのは――」などの短文が詰まらないように */
body.page-id-4208 .lp-message-body p + p {
  margin-top: 0;
}

/* プロフィール文：本文より一段締める */
body.page-id-4208 .lp-message-profile p {
  line-height: 1.9;
  margin-bottom: 1.2em;
}

/* 名前まわりのリズム */
body.page-id-4208 .lp-message-author {
  margin-bottom: 2px;
}

body.page-id-4208 .lp-message-author-en {
  margin-bottom: 14px;
}
body.page-id-4208 .lp-message-body {
  max-width: 640px;
  margin: 0 auto;
  text-align: left;
  font-size: 15px;
  line-height: 2.1;
  color: #333;
}

body.page-id-4208 .lp-message-body p {
  margin: 0 0 1.9em;
}
/* MESSAGE：本文とプロフィールの左端を揃える */
body.page-id-4208 .lp-message-body,
body.page-id-4208 .lp-message-profile {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}
/* MESSAGE：区切り線も本文幅に揃える */
body.page-id-4208 .lp-message-divider {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}

/* ===== SPでヘッダーを必ず表示させる ===== */
@media (max-width: 768px) {
  header,
  .site-header,
  #site-header {
    display: block !important;
    visibility: visible !important;
    height: auto !important;
    opacity: 1 !important;
  }
}
/* ヘッダーを最前面に */
.site-header {
  position: relative;
  z-index: 1000;
}
