/**
Theme Name: Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/


/* スマホだけ改行 */
/* PCでは非表示 */
.sp-br {
    display: none;
}

/* スマホ（画面幅767px以下）の時だけ表示 */
@media screen and (max-width: 767px) {
    .sp-br {
        display: inline;
    }
}

/* PCのみ改行スマホ・タブレットでは非表示 */
.pc-br {
    display: none;
}

/* PC（画面幅1024px以上など）の時だけ表示 */
@media screen and (min-width: 1025px) {
    .pc-br {
        display: inline;
    }
}


/* =========================
   無料整理：共通カード
========================= */
.freecheck-card{
  box-sizing: border-box;
  max-width: 960px;
  margin: 40px auto;
  padding: 28px 22px;

  border-radius: 16px;
  box-shadow: 0 10px 24px rgba(0,0,0,.08);
  border: 1px solid rgba(0,0,0,.06);
}

@media (min-width: 768px){
  .freecheck-card{ padding: 36px 34px; }
}

/* 色テーマ（背景＋枠色） */
.card--mint{
  border-color: rgba(111,214,194,.65);
  background: rgba(111,214,194,.08);
}
.card--blue{
  border-color: rgba(80,140,220,.50);
  background: rgba(80,140,220,.08);
}
.card--lavender{
  border-color: rgba(170,120,210,.45);
  background: rgba(170,120,210,.08);
}
.card--sand{
  border-color: rgba(190,160,120,.55);
  background: rgba(190,160,120,.10);
}

/* =========================
   カード見出し（ヘッダー）
========================= */
.freecheck-card .freecheck-h2line{
  display: flex;
  align-items: center;
  gap: 14px;

  padding: 18px 22px;
  margin: -36px -34px 28px;
  border-radius: 16px 16px 0 0;

  background: rgba(111,214,194,.32);
}

.freecheck-card .freecheck-num{
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-width: 38px;
  height: 38px;
  border-radius: 999px;

  background: #2fbfa5;
  color: #fff;
  font-weight: 700;
  line-height: 1;
}

.freecheck-card .freecheck-h2{
  margin: 0;
  font-weight: 700;
  line-height: 1.3;
}

/* 説明文（ピル） */
.freecheck-h2desc{
  background: #2fb7a3 !important;
  color: #fff !important;
  border-radius: 12px !important;
  padding: 12px 16px !important;
  margin: 12px 0 0 !important;
  display: block !important;
  width: fit-content; /* 帯を短めにしたいなら残す */
  line-height: 1.6 !important;
}

/* スマホ文字サイズ調整（全体） */
@media (max-width: 767px){

  /* 無料整理の緑のピル */
  .freecheck-h2desc{
    font-size: 1.05rem;
  }

  /* 全ページ本文 */
  main p,
  main li{
    font-size: 1.05rem;
    line-height: 1.75;
  }
}

@media (max-width: 767px){
  .freecheck-card h3{
    font-size: 1.15rem;
  }
}

 /* 診断シュミレーション */
.freecheck-weakpoint{
  margin:10px 0 0;
  font-weight:800;
  line-height:1.7;
}
.freecheck-weakpoint strong{
  text-decoration: underline;
  text-underline-offset: 3px;
}

.freecheck-firstaction{
  margin:14px 0 6px;
  font-size:15px;
  font-weight:700;
  color:#0f766e;
}


.freecheck-headcard{
  display:flex;
  align-items:center;
  gap:14px;
  background:#d9f4ef;
  border-radius:14px;
  padding:18px 20px;
  margin:20px 0 24px;
}

.freecheck-badge{
  width:38px;
  height:38px;
  border-radius:50%;
  background:#14b8a6;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:800;
  font-size:18px;
  flex-shrink:0;
}

.freecheck-headtext h2{
  margin:0;
  font-size:22px;
  font-weight:800;
}

.freecheck-headtext p{
  margin:4px 0 0;
  font-size:14px;
  color:#0f766e;
}

.freecheck-q-title{
  color:#0f766e;                 /* 濃いペパーミント */
  font-weight:800;
  padding-left:10px;
  border-left:4px solid #14b8a6; /* 少し明るいミント */
  line-height:1.3;
  margin:0 0 12px;
}

/* PCのみ：子メニューの縦の余裕 & 文字色（スクロール前） */
@media (min-width: 921px) {

  /* 子メニューの箱（縦が狭い問題の本体） */
  .main-header-menu .sub-menu {
    padding: 10px 0 !important;  /* 上下の余白を確保 */
  }

  /* 1行（クリック領域）を縦に広げる */
  .main-header-menu .sub-menu .menu-link,
  .main-header-menu .sub-menu a {
    padding: 12px 18px !important; /* 縦の高さを作る */
    line-height: 1.4 !important;
  }

 /* 子メニューの文字色をペパーミントに（スクロール前）
.main-header-menu .sub-menu .menu-link,
.main-header-menu .sub-menu a {
  color: #2A9D8F  !important;
}
 */

 
  /* ホバー時（読みやすさ確保。色は好みで調整OK） */
  .main-header-menu .sub-menu .menu-link:hover,
  .main-header-menu .sub-menu a:hover {
    opacity: .85;
  }
}

/* メニューのHTML化） */
/* PCのみ：中枢構造メニューを2行にする */
@media (min-width: 921px) {

  #menu-item-688 > a {
    display: flex;
    flex-direction: column;
    align-items: center;
    line-height: 1.1;
    padding-top: 12px;
    padding-bottom: 12px;
  }

  /* 元のメニュー文字 */
  #menu-item-688 > a .menu-text {
    white-space: normal;
    font-weight: 600;
  }

  /* 2行目（説明文） */
  #menu-item-688 > a .menu-text::after {
    content: "実績・無料診断・有料診断";
    display: block;
    font-size: 11px;
    font-weight: 400;
    opacity: 0.75;
    margin-top: 5px;
    line-height: 1.3;
  }
}

/* ===============================
WooCommerc 全体をヘッダの下に下げる
=============================== */

/* WooCommerce関連ページだけ：ヘッダー右上のCTAボタンを非表示 */
body.woocommerce .ast-builder-button-wrap,
body.woocommerce-cart .ast-builder-button-wrap,
body.woocommerce-checkout .ast-builder-button-wrap,
body.woocommerce-account .ast-builder-button-wrap {
  display: none !important;
}

/* WooCommerce関連ページだけ：ヘッダー下に余白 */
body.woocommerce .site-content,
body.woocommerce-page .site-content {
  padding-top: 28px !important;  /* 24〜40pxで調整 */
}

/* 商品詳細（single-product）だけ：ヘッダー直下の詰まりを確実に解消 */
body.single-product #content,
body.single-product #primary,
body.single-product .ast-woocommerce-container,
body.single-product .site-content {
  padding-top: 40px !important; /* 40〜64pxで調整 */
}

/* もし「カートに追加しました」等の通知がヘッダー直下で詰まる場合 */
body.single-product .woocommerce-notices-wrapper {
  margin-top: 16px !important;
}

/* ===============================
Tutor LMS 全体をヘッダの下に下げる
（レッスン画面 ＋ コース画面 両対応）
=============================== */

/* レッスン画面 */
body.single-lesson .tutor-wrap,
body.single-lesson .tutor-course-single-content-wrapper,
body.single-lesson .tutor-lesson-content-area,
body.single-lesson .tutor-lesson-sidebar {
  padding-top: 90px !important;
}

/* コース詳細ページ */
body.single-courses .tutor-wrap,
body.single-courses .tutor-course-single-content-wrapper,
body.single-courses .tutor-course-header,
body.single-courses .tutor-course-details {
  padding-top: 100px !important;
}

/* Tutor 上部の青いバー（完了・戻る）も下げる */
body.single-lesson .tutor-lesson-top-bar,
body.single-courses .tutor-course-header {
  top: 90px !important;
}

/* スマホ用微調整 */
@media (max-width: 768px) {
  body.single-lesson .tutor-wrap,
  body.single-courses .tutor-wrap {
    padding-top: 80px !important;
  }

  body.single-lesson .tutor-lesson-top-bar,
  body.single-courses .tutor-course-header {
    top: 80px !important;
  }
}

/* ===============================
ヘッダ被り対策：共通オフセット
（必要なら数値だけ調整）
=============================== */
body{
  --luceo-header-offset: 90px;  /* PC */
}
@media (max-width: 768px){
  body{
    --luceo-header-offset: 80px; /* スマホ */
  }
}

/* ===============================
① PMPro：会員レベル一覧（/levels/ など）
=============================== */
/* PMProのレベル一覧ページに body.pmpro-levels が付くことが多い */
body.pmpro-levels #content,
body.pmpro-levels .site-content,
body.pmpro-levels #primary{
  padding-top: var(--luceo-header-offset) !important;
}

/* ↑が効かない場合の保険（PMProページ全般に適用したい時だけ使う） */
/*
body.pmpro-page #content,
body.pmpro-page .site-content,
body.pmpro-page #primary{
  padding-top: var(--luceo-header-offset) !important;
}
*/

/* ===============================
② Woo：マイアカウント
=============================== */
body.woocommerce-account #content,
body.woocommerce-account .site-content,
body.woocommerce-account #primary{
  padding-top: var(--luceo-header-offset) !important;
}

/* ===============================
③ Woo：商品リスト（ショップ/カテゴリ/タグ）
=============================== */
body.post-type-archive-product #content,
body.post-type-archive-product .site-content,
body.post-type-archive-product #primary,
body.tax-product_cat #content,
body.tax-product_cat .site-content,
body.tax-product_cat #primary,
body.tax-product_tag #content,
body.tax-product_tag .site-content,
body.tax-product_tag #primary{
  padding-top: var(--luceo-header-offset) !important;
}

/* ===============================
Woo 被り＆位置調整（ページ別）
=============================== */

/* A) 商品リスト（ショップ/カテゴリ/タグ）
   - PCは現状維持
   - スマホだけ今より上（= padding-top を小さく）
*/
body.post-type-archive-product,
body.tax-product_cat,
body.tax-product_tag{
  --luceo-woo-archive-offset: 90px; /* PC：現状値に合わせてください */
}
@media (max-width: 768px){
  body.post-type-archive-product,
  body.tax-product_cat,
  body.tax-product_tag{
    --luceo-woo-archive-offset: 5px; /* スマホ：小さくして上げる（例） */
  }
}
body.post-type-archive-product #primary,
body.tax-product_cat #primary,
body.tax-product_tag #primary{
  padding-top: var(--luceo-woo-archive-offset) !important;
}

/* B) カート（PC/スマホとも今より下）
   = padding-top を大きく
*/
body.woocommerce-cart{
  --luceo-cart-offset: 110px; /* PC：下げたい分だけ増やす */
}
@media (max-width: 768px){
  body.woocommerce-cart{
    --luceo-cart-offset: 100px; /* スマホも下げる */
  }
}
body.woocommerce-cart #primary{
  padding-top: var(--luceo-cart-offset) !important;
}

 /*ログイン画面 */
.luceo-login-wrap {
  max-width: 900px;
  margin: 80px auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
}

.luceo-login-box {
  background: #ffffff;
  padding: 40px;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.05);
}

.luceo-login-box h2 {
  margin-bottom: 10px;
  font-size: 22px;
}

.luceo-login-box p {
  color: #555;
  margin-bottom: 20px;
}

.luceo-btn {
  display: inline-block;
  padding: 14px 28px;
  border-radius: 6px;
  text-decoration: none;
  font-weight: 600;
}

.luceo-primary {
  background: #2A9D8F;
  color: white;
}

.luceo-primary:hover {
  background: #21867a;
}

/* スマホ */
@media (max-width: 768px) {
  .luceo-login-wrap {
    grid-template-columns: 1fr;
  }
}



/* 最新の投稿（Latest Posts）をPCで3列に固定 */
ul.wp-block-latest-posts__list {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 32px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Astraの邪魔指定を無効化 */
ul.wp-block-latest-posts__list > li {
  clear: none !important;
  float: none !important;
  width: auto !important;
}

/* 画像をカード幅いっぱいに */
.wp-block-latest-posts__featured-image img {
  width: 100% !important;
  height: auto !important;
  display: block;
  border-radius: 10px;
}

/* タブレット2列 */
@media (max-width: 1024px) {
  ul.wp-block-latest-posts__list {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* スマホ1列 */
@media (max-width: 640px) {
  ul.wp-block-latest-posts__list {
    grid-template-columns: 1fr !important;
  }
}
/* TOPの最新記事：3列をコンパクトに */
ul.wp-block-latest-posts__list{
  gap: 18px !important;                 /* 余白を縮める（32→18） */
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

/* 画像を小さめ＆高さを揃える（カードが巨大になりにくい） */
.wp-block-latest-posts__featured-image img{
  width: 100% !important;
  aspect-ratio: 16 / 10;                /* 比率固定で高さを抑える */
  height: auto !important;
  object-fit: cover;
  border-radius: 10px;
}

/* タイトル＆本文を小さめに */
.wp-block-latest-posts__post-title{
  font-size: 16px !important;           /* 16〜18で調整 */
  line-height: 1.35 !important;
  margin-top: 10px !important;
}
.wp-block-latest-posts__post-excerpt{
  font-size: 13px !important;           /* 12〜14で調整 */
  line-height: 1.6 !important;
  margin-top: 6px !important;
}

/* 各カードの上下余白を詰める */
ul.wp-block-latest-posts__list > li{
  margin: 0 !important;
}
/* 最新記事（TOP下部）を3列＋余白ありで整える */
.wp-block-latest-posts {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  
  max-width: 1200px;   /* ← 全体の横幅（好みで1100〜1280） */
  margin: 0 auto;      /* ← 左右中央寄せ */
  padding: 0 24px;     /* ← 左右余白 */
}
/* 最新の投稿：3列 + 左右余白を強制（alignfull対策） */
.entry-content ul.wp-block-latest-posts__list.wp-block-latest-posts{
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;

  max-width: 1200px !important;
  width: min(1200px, calc(100% - 48px)) !important; /* ← ここが肝：左右24pxを確保 */
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 !important; /* ulの標準余白消し */
  box-sizing: border-box !important;
}

/* 画像をカード幅にフィット */
.entry-content .wp-block-latest-posts__featured-image img{
  width: 100% !important;
  height: auto !important;
  border-radius: 10px;
  display: block;
}

/* スマホは1列 */
@media (max-width: 768px){
  .entry-content ul.wp-block-latest-posts__list.wp-block-latest-posts{
    grid-template-columns: 1fr !important;
    width: calc(100% - 32px) !important; /* 左右16px */
  }
}
/* 最新記事ブロック：上の余白 */
.entry-content ul.wp-block-latest-posts__list.wp-block-latest-posts{
  margin-top: 32px !important;   /* ←上の余白（好みで24〜48） */
  padding-top: 0 !important;
}

/* 下層ページの本文H2をスマホで読みやすく */
/* 「作業の仕組み」固定ページ：H2をスマホで大きく（強制） */
/* ブロック調整の方が楽だから一旦コメントアウト */

 /*
@media (max-width: 768px) {
  body.page .entry-content h2,
  body.page .wp-block-spectra-content h2,
  body.page h2.wp-block-spectra-content,
  body.page h2.has-text-color.spectra-text-color {
    font-size: 2.5rem !important;
    line-height: 1.4 !important;
  }
}
*/


/* スマホ左右余白 */
@media (max-width: 768px) {
  .wp-block-spectra-container,
  .wp-block-spectra-content {
    padding-left: 0.3rem !important;
    padding-right: 0.3rem !important;
  }
}
/* スマホの文字重なり・上ブロック */
@media (max-width: 768px){
  p[data-spectra-id="spectra-15bf6267-title"]{
    line-height: 1.5 !important;
    letter-spacing: 0.01em !important;
    white-space: normal !important;
    transform: none !important;
    -webkit-text-size-adjust: 100%;
  }
}
/* スマホの文字重なり・下ブロック */
@media (max-width: 768px){
  p[data-spectra-id="spectra-eee1468e-ce04-4aae-9d2a-d7de2bb3ac97"]{
    line-height: 1.5 !important;
    white-space: normal !important;
    transform: none !important;
  }
}

/* 作業の仕組み目次ボックス */
.page-toc{
  max-width: 820px;
  margin: 24px auto 28px;
  padding: 18px 18px;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 12px;
  background: rgba(255,255,255,.65);
  backdrop-filter: blur(6px);
}
/* TOCだけ狭くする（Astra/Spectra上書き対策） */
.entry-content nav.page-toc{
  width: 100%;
  max-width: 820px !important;   /* 760〜880で調整 */
  margin-left: auto !important;
  margin-right: auto !important;
}

/* スマホ：左右に余白を作って“狭く”見せる */
@media (max-width: 768px){
  .entry-content nav.page-toc{
    width: min(92vw, 640px) !important; /* ← 92vwを88〜94で調整OK */
    max-width: none !important;         /* スマホはvw優先 */
    margin: 16px auto 20px !important;
    padding: 14px 14px !important;      /* 箱の内側余白も少し */
  }

  .page-toc__list{
    padding-left: 1.1em; /* 箇条書きの左余白を微調整（任意） */
  }
}
.page-toc__title{
  font-weight: 700;
  font-size: 1rem;
  margin-bottom: 10px;
}

.page-toc__list{
  margin: 0;
  padding-left: 1.2em;
  line-height: 1.8;
}

.page-toc__list a{
  text-decoration: none;
}

.page-toc__list a:hover{
  text-decoration: underline;
}

/* スマホ時：ページ内の図解画像を抑制 */
@media (max-width: 768px){
  .entry-content img{
    max-width: 100%;
    height: auto;
  }
}
  /* 図解が大きすぎる場合の保険 */
 /* 図解：スマホだけ縮小 */
/* 図解：スマホでは必ず縮める（WordPress幅指定を無効化） */
@media (max-width: 768px){
  .work-structure-figure img{
    width: 90% !important;
    max-width: 90% !important;
    height: auto !important;
  }
}

/* 無料チェックページ専用：スマホ余白調整 */
@media (max-width: 767px) {
  .freecheck {
    padding-left: 16px;
    padding-right: 16px;
  }
}


	/* 1. 無料整理・作業の仕組み だけ強調（枠：ペパーミント＋角丸＋背景少し濃く） */
#work-system.freecheck-card{
  border: 2px solid #6fd6c2;          /* ペパーミント */
  border-radius: 14px;                /* 角を少し丸く */
  background: rgba(111, 214, 194, .08);/* 背景を少し濃く（うっすら色味） */
  padding: 28px 22px;                 /* 内側余白（枠に近づきすぎない） */
  box-shadow: 0 10px 24px rgba(0,0,0,.08); /* ほんのり浮かせる */
}

/* 画面が広い時は少しゆったり */
@media (min-width: 768px){
  #work-system.freecheck-card{
    padding: 36px 34px;
    border-radius: 16px;
  }
}

/* 無料整理・作業の仕組み　見出し行にうっすら帯 */
#work-system .freecheck-h2line{
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(111, 214, 194, .10);
}


/* ❶  無料整理スマホはみ出しの主犯（table）を親で横スクロール化して、ページ幅を広げない */
#work-system table{
  display: block;                 /* これで overflow が効く */
  max-width: 100%;
  overflow-x: auto;               /* はみ出したら table 内だけ横スクロール */
  -webkit-overflow-scrolling: touch;
}

/* ❷ 文字が折り返されず横に伸びるのを抑制（セル内折り返し） */
#work-system th,
#work-system td{
  white-space: normal;
  word-break: break-word;
}

/* ❸ 枠やpaddingで+αの横幅が出ないように（超重要） */
#work-system,
#work-system *{
  box-sizing: border-box;
}




/* ===============================
 Tutor LMS：受講者ダッシュボード左メニュー
 「liごと」非表示（・残り対策）
 =============================== */

.tutor-dashboard-left-menu .tutor-dashboard-permalinks{
  list-style: none !important;   /* 予防：マーカーを殺す */
  padding-left: 0 !important;
  margin-left: 0 !important;
}

/* 個別に消す：li単位 */
.tutor-dashboard-left-menu li.tutor-dashboard-menu-reviews,
.tutor-dashboard-left-menu li.tutor-dashboard-menu-quiz-attempts,
.tutor-dashboard-left-menu li.tutor-dashboard-menu-purchase_history,
.tutor-dashboard-left-menu li.tutor-dashboard-menu-question-answer,
.tutor-dashboard-left-menu li.tutor-dashboard-menu-settings,
.tutor-dashboard-left-menu li.tutor-dashboard-menu-logout{
  display: none !important;
}
/* Tutor：私のクイズ回答履歴（クイズ試行/履歴）を確実に消す */
.tutor-dashboard-left-menu li.tutor-dashboard-menu-my-quiz-attempts,
.tutor-dashboard-left-menu li.tutor-dashboard-menu-quiz-attempts,
.tutor-dashboard-left-menu li[class*="tutor-dashboard-menu-quiz"]{
  display:none !important;
}

/* Tutor ダッシュボード下部：生徒のクイズ回答履歴 を非表示 */
#tutor-dashboard-footer-mobile a[href*="my-quiz-attempts"]{
  display: none !important;
}

/* Tutor 下部ナビ：ラベル差し替え（例） */
/* 下部ナビ：メニュー（href="#"）のラベルを差し替え */
#tutor-dashboard-footer-mobile .tutor-row > a[href="#"] span{
  display: none !important;
}
#tutor-dashboard-footer-mobile .tutor-row > a[href="#"]::after{
  content: "マイアカウント";
  font-size: 12px !important;
  display: block;
  line-height: 1;
}

/* 下部ナビ：ダッシュボード（家アイコン）側のラベルを差し替え */
#tutor-dashboard-footer-mobile .tutor-row > a:has(i.tutor-icon-dashboard) span{
  display: none !important;
}
#tutor-dashboard-footer-mobile .tutor-row > a:has(i.tutor-icon-dashboard)::after{
  content: "学習ホーム";
  font-size: 12px !important;
  display: block;
  line-height: 1;
}

/* ===============================
 Tutor 下部ナビに「サイトTOP」ボタンを追加 動きはfunctionで作成
 =============================== */
/* 下部ナビの基準を作る */
#tutor-dashboard-footer-mobile{
  position: relative;
}

/* JSで追加した「サイトTOP」ボタンを右下に固定 */
#tutor-dashboard-footer-mobile{ position: relative; }

#tutor-dashboard-footer-mobile a.tutor-top-link{
  position: absolute;
  right: 12px;
  bottom: 8px; /* ←下げたいならここを小さく */
  z-index: 999;
  font-size: 12px;
  color: #2A9D8F;
  background: #fff;
  border: 1px solid #2A9D8F;
  border-radius: 16px;
  padding: 6px 12px;
  text-decoration: none;
  line-height: 1;
}

/* Tutor 左メニュー：ダッシュボード（index）だけを「学習ホーム」に置換 */
.tutor-dashboard-permalinks
  li.tutor-dashboard-menu-index
  a
  span.tutor-dashboard-menu-item-text{
  font-size: 0 !important;   /* 元の「ダッシュボード」を消す */
}

/* 置換テキスト */
.tutor-dashboard-permalinks
  li.tutor-dashboard-menu-index
  a
  span.tutor-dashboard-menu-item-text::after{
  content: "学習ホーム";
  font-size: 14px !important;   /* 見やすい値に調整OK */
}

/* Tutor 左メニュー（PC側）に「サイトTOP」「マイアカウント」追加リンクを“普通のメニューっぽく”整形 */
.luceo-tutor-extra-links a{
  display:block;
  padding: 10px 0;
}
.luceo-tutor-extra-links a + a{
  border-top: 1px solid rgba(0,0,0,.08);
}


/* Tutor系ページ全般（ダッシュボード含む）でCTAを消す */
body.tutor-frontend .ast-builder-button-wrap,
body.tutor-screen-frontend-dashboard .ast-builder-button-wrap{
  display:none !important;
}

/* 「講座情報 / お知らせ」の横に置く “タブ風リンク” */
.luceo-tab-dashboard{
  display: inline-flex;
  align-items: center;
  gap: 6px;

  padding: 10px 14px;
  margin-left: 10px;

  font-size: 14px;
  line-height: 1;

  color: #2A9D8F;
  border: 1px solid #2A9D8F;
  border-radius: 999px;
  text-decoration: none;
  background: #fff;
  white-space: nowrap;
}

.luceo-tab-dashboard:hover{
  opacity: .9;
}

/* タイトル「Abandon Quiz?」→「テストを中断しますか？」モーダルタイトル差し替え（見た目だけ） */
.tutor-modal-actions button#tutor-popup-leave::before{ content:"中断する"; font-size:16px; }
.tutor-modal-actions button#tutor-popup-reset::before{ content:"続ける"; font-size:16px; }

/* 離脱確認モーダル内だけ：ボタン文言を強制上書き */
.tutor-modal.tutor-is-active .tutor-modal-actions #tutor-popup-leave,
.tutor-modal.tutor-is-active .tutor-modal-actions #tutor-popup-reset{
  font-size: 0 !important;               /* 元の文字を消す */
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.tutor-modal-content-container .tutor-fs-3.tutor-fw-medium.tutor-color-black.tutor-mb-12{
  position: relative;
  color: transparent !important;   /* 元の文字を見えなくする */
}

.tutor-modal-content-container .tutor-fs-3.tutor-fw-medium.tutor-color-black.tutor-mb-12::after{
  content: "テストを中断しますか？";
  position: absolute;
  left: 0;
  top: 0;
  color: #111; /* ここはお好みで。色指定不要なら消してOK */
}

/* 説明文差し替え（見た目だけ） */
.tutor-modal-content-container .tutor-fs-6.tutor-color-muted{
  position: relative;
  color: transparent !important;
}

.tutor-modal-content-container .tutor-fs-6.tutor-color-muted::after{
  content: "このページを離れると、ここまでの回答内容でテストを一旦終了します。よろしいですか？";
  position: absolute;
  left: 0;
  top: 0;
  color: #6b7280; /* muted相当。不要なら消してOK */
  width: 100%;
}

/* 未ログインのとき、ログイン配下の子（マイアカウント/ログアウト）を隠す */
.luceo-hide-when-loggedout { display:none !important; }


/* 会員購入手続きページでは右上の無料ボタンを非表示 */
/* PMPro 会員購入手続きページでは
   ヘッダ右の「無料で現状を整理してみる」ボタンを非表示 */
body.pmpro-checkout .ast-header-button-1,
body.pmpro-checkout .ast-custom-button,
body.pmpro-checkout .ast-custom-button-link {
  display: none !important;
}

/* PMPro 会員購入手続きページ：コンテンツを少し下に下げる */
body.pmpro-checkout #content,
body.pmpro-checkout .site-content {
  padding-top: 125px;
}


/* 会員レベル表：見出し差し替え */
.pmpro_levels_table thead th:first-child {
  font-size: 0;
}
.pmpro_levels_table thead th:first-child::after {
  content: "受講プラン";
  font-size: 16px;
  font-weight: 600;
}


/* PMPro：スマホのラベル（data-title由来）を差し替え */
/* PMPro：スマホ表示の「レベル」ラベルを強制的に「受講プラン」に */
@media (max-width: 767.98px){

  /* data-title が「レベル」「レベル:」「Level」などでも拾う */
  body[class*="pmpro"] #pmpro_levels :is(td,th)[data-title*="レベル"]::before,
  body[class*="pmpro"] #pmpro_levels :is(td,th)[data-title*="Level"]::before{
    content: "受講プラン:" !important;
  }

  /* ついでに「金額」も変えるなら（任意） */
  /*
  body[class*="pmpro"] #pmpro_levels :is(td,th)[data-title*="金額"]::before,
  body[class*="pmpro"] #pmpro_levels :is(td,th)[data-title*="Price"]::before{
    content: "受講料:" !important;
  }
  */
}

/* 診断結果後の補足ブロック（挿入1・2 共通） */
/* 強制：診断結果後の補足ブロック（挿入1/2） */
.diag-insert{
  width: min(980px, calc(100% - 32px)) !important; /* 画面端に貼り付かせない */
  margin: 32px auto 40px !important;               /* 中央寄せ + 余白 */
  padding: 22px 26px !important;
  border-left: 6px solid #2A9D8F !important;
  background: rgba(42,157,143,.04) !important;
  border-radius: 12px !important;
  box-sizing: border-box !important;
  display: block !important;
}

/* タイトルを“少し強いH3”へ */
.diag-insert .diag-insert__title{
  margin: 0 0 12px !important;
  font-weight: 800 !important;
  font-size: 1.25rem !important;
  line-height: 1.35 !important;
}

/* 本文 */
.diag-insert .diag-insert__text{
  margin: 0 0 10px !important;
  line-height: 1.75 !important;
}
.diag-insert .diag-insert__text:last-child{ margin-bottom: 0 !important; }

/* スマホ */
@media (max-width: 767px){
  .diag-insert{
    width: calc(100% - 24px) !important;
    margin: 18px auto 26px !important;
    padding: 18px 18px !important;
    border-left-width: 5px !important;
  }
  .diag-insert .diag-insert__title{
    font-size: 1.15rem !important;
  }
}

/* 儲かる会社の「中枢構造」構造の仕組みは、こうして作りますの配置 */
/* 上寄せ */
.step-flex-wrap{
  display: flex !important;
  align-items: flex-start !important;
}

/* 左の画像ブロックが中央寄りになる犯人（margin:auto）を潰す */
.step-flex-wrap > *{
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.step-flex-wrap figure{
  margin: 0 !important;
}

/* 儲かる会社の「中枢構造」のヘッダスマホ用ジャンプブロック */
/* スマホだけ表示 */
.sp-jump { display: none; }

@media (max-width: 767px){
  .sp-jump { display: block; }
}
/* スマホ用ジャンプ案内ブロック */
.sp-jump {
  background: rgba(0,0,0,0.45);
  border-radius: 14px;
  padding: 14px 16px;
  margin: 16px auto 0;
  max-width: 92%;
}

/* 文字色 */
.sp-jump,
.sp-jump p,
.sp-jump ul,
.sp-jump li,
.sp-jump a {
  color: #ffffff !important;
}

/* リスト左寄せ */
.sp-jump ul {
  text-align: left;
  padding-left: 1.2em;
  margin: 8px 0;
}

/* リンクを少し強調 */
.sp-jump a {
  font-weight: 600;
  text-decoration: underline;
}

/* =========================
   共通カード（診断ページ用）
========================= */
.card-box {
  background: #ffffff;
  border-radius: 6px;
  padding: 24px 26px;          /* ← 圧縮 */
  margin: 32px 0;              /* ← 圧縮 */
  box-shadow: 0 4px 16px rgba(0,0,0,0.04);
}

/* 左帯（判断材料マーカー） */
.left-accent {
  border-left: 6px solid #2aa198;
  padding-left: 22px;
}

/* =========================
   価格下（summary）
========================= */
.summary-box {
  background: #f4faf9;
  border-left: 6px solid #2aa198;
  padding: 20px 22px;          /* ← 大幅圧縮 */
  margin: 24px 0;
}

/* =========================
   診断の流れ
========================= */
.process-box {
  border: 1px solid #dfeeee;
}

.process-box h2 {
  font-size: 1.4rem;
  margin-bottom: 16px;
  border-bottom: 2px solid #2aa198;
  display: inline-block;
  padding-bottom: 6px;
}

/* =========================
   診断の特徴
========================= */
.feature-box {
  background: #f9fcfc;
  border: 1px solid #dfeeee;
}

.feature-box h2 {
  font-size: 1.4rem;
  margin-bottom: 16px;
  border-bottom: 2px solid #2aa198;
  display: inline-block;
  padding-bottom: 6px;
}

/* =========================
   Q&A
========================= */
.product-qa-section {
  margin: 32px 0 48px;         /* ← 関連商品と詰まらない */
}

.product-qa-section h2 {
  font-size: 1.4rem;
  margin-bottom: 16px;
  border-bottom: 2px solid #2aa198;
  display: inline-block;
  padding-bottom: 6px;
}

.product-qa h3 {
  font-size: 1.05rem;
  margin-top: 20px;
}

.product-qa p {
  line-height: 1.75;
  margin-bottom: 12px;
}

/* =========================
   関連商品
========================= */
.related.products {
  margin-top: 64px;            /* ← 120px → 64px */
}

/* =========================
   Woo タブ非表示
========================= */
.woocommerce-tabs ul.tabs {
  display: none;
}


/* 共通カード */
.card-box {
  padding: 32px 40px;
  background: #ffffff;
  border-radius: 8px;
  box-shadow: 0 6px 24px rgba(0,0,0,0.04);
  margin: 48px auto;
}

/* 左アクセント（最優先） */
.card-box.left-accent {
  border-left: 6px solid #2aa198;
  padding-left: 34px; /* 帯分を考慮 */
}

/* 診断の流れ */
.product-qa-section {
  max-width: 980px;
}

/* この診断の特徴 */
.feature-box {
  max-width: 980px;
}

/* 注意文 */
.card-box .note {
  margin-top: 16px;
  font-size: 0.95rem;
  color: #555;
  background: #f5fbfb;
  padding: 12px 16px;
  border-radius: 4px;
}
/* ===== MasterSlider 矢印 強制常時表示 ===== */

.master-slider .ms-nav-next,
.master-slider .ms-nav-prev{

    opacity:1 !important;
    visibility:visible !important;
    display:block !important;

}

/* ===== 矢印埋もれ防止 ===== */

.master-slider .ms-nav-next,
.master-slider .ms-nav-prev{
    z-index:9999 !important;
}

/* =========================
   MasterSlider 完全スマホ最適化
========================= */
/* スマホ表示の時にスライダーを画面幅に強制フィットさせる */
@media screen and (max-width: 768px) {
    .master-slider {
        width: 100% !important;
        max-width: 100vw !important; /* 画面幅いっぱいに制限 */
        height: auto !important;     /* 高さを自動計算にする */
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .ms-slide-bgcont img {
        width: 100% !important;
        height: auto !important; /* 画像の比率を維持 */
        left: 0 !important;      /* ズレを補正 */
    }
}

/* スマホ（768px以下）でサムネイルを表示・調整 */
@media screen and (max-width: 768px) {
    /* 全体コンテナの非表示を防ぐ */
    .ms-thumb-list, .ms-thumbs-cont {
        width: 100% !important;
        height: auto !important;
        min-height: 60px !important; /* 消えるのを防ぐための最小の高さ */
        display: block !important;
    }

    /* 各サムネイル枠の調整 */
    .ms-thumb-frame {
        width: 18% !important; /* 5枚並ぶように調整 */
        min-width: 50px !important; 
        height: auto !important;
        margin: 1% !important;
        float: left !important; /* 横に並べる */
    }

    /* 画像そのものの調整 */
    .ms-thumb-frame img {
        width: 100% !important;
        height: auto !important;
        position: relative !important; /* 位置固定を解除 */
    }
}

@media screen and (max-width: 768px) {
    /* スライダー全体の高さを中身に合わせる */
    .master-slider {/* ===== 固定ページのみ：スクロール後ヘッダ ===== */
body.page.header-scrolled #masthead {

  background: rgba(255, 255, 255, 0.92) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;

  box-shadow: 0 2px 6px rgba(0,0,0,0.06);
  transition: background 0.25s ease, box-shadow 0.25s ease;
}
		
		
/* スクロール後：透明ロゴ（白）を隠す */
body.page.ast-logo-transparent.header-scrolled .custom-logo-link img {
  filter: brightness(0);
}

/* ================================
固定ページのみ
スクロール後にロゴを差し替える
================================ */

/* ロゴを重ねる準備 */
body.page.ast-logo-transparent .custom-logo-link{
  position: relative;
  display:inline-block;
}

/* ペパーミントロゴ（最初は非表示） */
body.page.ast-logo-transparent .custom-logo-link::after{
  content:"";
  position:absolute;
  inset:0;

  background-image:url("http://luceo.xsrv.jp/wp-content/uploads/2026/02/logo2dan-green2.png"); /* ←ここ変更 */
  background-size:contain;
  background-repeat:no-repeat;
  background-position:left center;

  opacity:0;
  transition:opacity .25s ease;
}

/* スクロール後 */
body.page.ast-logo-transparent.header-scrolled .custom-logo-link img{
  opacity:0;
}

body.page.ast-logo-transparent.header-scrolled .custom-logo-link::after{
  opacity:1;
}

/* ===============================
スクロール後：ヘッダを面化（高さ縮小仕様）
=============================== */

body.page.header-scrolled #masthead{

  background:rgba(255,255,255,0.96) !important;

  box-shadow:
    0 1px 0 rgba(0,0,0,0.04),
    0 6px 18px rgba(0,0,0,0.04);

  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

/* =========================================
   PCサブメニュー & スマホ（ドロワー）共通色設計
   背景：
     PCサブメニュー  #F3FAF8
     スマホドロワー  #CFEDEA
   テキスト：
     default         #1F7F74
     hover/tap       #145E55
     active/current  #0E4F49 (font-weight:600)
     visited         default と同じ
   区切り線          #2A9D8F26
========================================= */

/* ---------- PC：サブメニュー ---------- */
@media (min-width: 921px) {
  /* サブメニュー背景 */
  .main-header-menu .sub-menu {
    background: #F3FAF8 !important;
  }

  /* サブメニュー区切り線 */
  .main-header-menu .sub-menu li + li {
    border-top: 1px solid #2A9D8F26 !important;
  }

  /* サブメニュー文字（default/visited） */
  .main-header-menu .sub-menu .menu-link,
  .main-header-menu .sub-menu .menu-link:visited {
    color: #1F7F74 !important;
  }

  /* ホバー */
  .main-header-menu .sub-menu .menu-link:hover,
  .main-header-menu .sub-menu .menu-link:focus {
    color: #145E55 !important;
  }

  /* 現在地（active/current） */
  .main-header-menu .sub-menu .current-menu-item > .menu-link,
  .main-header-menu .sub-menu .current-menu-ancestor > .menu-link,
  .main-header-menu .sub-menu .current_page_item > .menu-link,
  .main-header-menu .sub-menu .current_page_ancestor > .menu-link {
    color: #0E4F49 !important;
    font-weight: 600 !important;
  }
}

/* ---------- スマホ：ドロワー（オフキャンバス） ---------- */
@media (max-width: 920px) {
  /* ドロワー背景（Astra） */
  .ast-mobile-popup-drawer .ast-mobile-popup-inner,
  .ast-mobile-popup-drawer .ast-mobile-popup-content {
    background: #CFEDEA !important;
  }

  /* 区切り線 */
  .ast-mobile-popup-drawer .main-header-menu li + li {
    border-top: 1px solid #2A9D8F26 !important;
  }

  /* 文字（default/visited） */
  .ast-mobile-popup-drawer .main-header-menu .menu-link,
  .ast-mobile-popup-drawer .main-header-menu .menu-link:visited {
    color: #1F7F74 !important;
  }

  /* タップ時相当（hover/focus） */
  .ast-mobile-popup-drawer .main-header-menu .menu-link:hover,
  .ast-mobile-popup-drawer .main-header-menu .menu-link:focus {
    color: #145E55 !important;
  }

  /* 現在地（active/current） */
  .ast-mobile-popup-drawer .main-header-menu .current-menu-item > .menu-link,
  .ast-mobile-popup-drawer .main-header-menu .current-menu-ancestor > .menu-link,
  .ast-mobile-popup-drawer .main-header-menu .current_page_item > .menu-link,
  .ast-mobile-popup-drawer .main-header-menu .current_page_ancestor > .menu-link {
    color: #0E4F49 !important;
    font-weight: 600 !important;
  }
}
/* ================================
スクロール後のPCメニュー文字色
================================ */

.ast-transparent-header.header-scrolled .main-header-menu .menu-link,
.ast-transparent-header.header-scrolled .main-header-menu .menu-link:visited{
  color:#1F7F74 !important;
}

/* hover */
.ast-transparent-header.header-scrolled .main-header-menu .menu-link:hover{
  color:#145E55 !important;
}

/* current */
.ast-transparent-header.header-scrolled .main-header-menu .current-menu-item > .menu-link{
  color:#0E4F49 !important;
}

/* ================================
スクロール後：モバイル三本線
完全対応版
================================ */

/* ボタン本体 */
.ast-transparent-header.header-scrolled #ast-mobile-header .menu-toggle{
    color:#2A9D8F !important;
    border-color:#2A9D8F !important;
}

/* SVG */
.ast-transparent-header.header-scrolled #ast-mobile-header .menu-toggle svg{
    fill:#2A9D8F !important;
}

        height: auto !important;
        margin-bottom: 5px !important; /* 下との隙間を最小限に */
    }

    /* サムネイルリストをメイン画像に近づける */
    .ms-thumb-list {
        margin-top: -80px !important; /* マイナス指定で上に持ち上げる */
        min-height: auto !important;  /* 先ほどのmin-heightを解除または縮小 */
    }

    /* スライダーのコンテナ自体の余白を削る */
    .ms-container {
        padding-bottom: 0 !important;
    }
}

/* ===== 固定ページのみ：スクロール後ヘッダ ===== */
body.page.header-scrolled #masthead {

  background: rgba(255, 255, 255, 0.92) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;

  box-shadow: 0 2px 6px rgba(0,0,0,0.06);
  transition: background 0.25s ease, box-shadow 0.25s ease;
}


/* ================================
固定ページのみ
スクロール後にロゴを差し替える
================================ */

/* ロゴを重ねる準備 */
body.page .custom-logo-link{
  position: relative;
  display:inline-block;
}

/* ペパーミントロゴ（最初は非表示） */
body.page .custom-logo-link::after{
  content:"";
  position:absolute;
  inset:0;

  background-image:url("http://luceo.xsrv.jp/wp-content/uploads/2026/02/logo2dan-green2.png"); /* ←ここ変更 */
  background-size:contain;
  background-repeat:no-repeat;
  background-position:left center;

  opacity:0;
  transition:opacity .25s ease;
}



/* ===============================
スクロール後：ヘッダを面化（高さ縮小仕様）
=============================== */

body.page.header-scrolled #masthead{

  background:rgba(255,255,255,0.96) !important;

  box-shadow:
    0 1px 0 rgba(0,0,0,0.04),
    0 6px 18px rgba(0,0,0,0.04);

  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

/* =========================================
   PCサブメニュー & スマホ（ドロワー）共通色設計
   背景：
     PCサブメニュー  #F3FAF8
     スマホドロワー  #CFEDEA
   テキスト：
     default         #1F7F74
     hover/tap       #145E55
     active/current  #0E4F49 (font-weight:600)
     visited         default と同じ
   区切り線          #2A9D8F26
========================================= */

/* ---------- PC：サブメニュー ---------- */
@media (min-width: 921px) {
  /* サブメニュー背景 */
  .main-header-menu .sub-menu {
    background: #F3FAF8 !important;
  }

  /* サブメニュー区切り線 */
  .main-header-menu .sub-menu li + li {
    border-top: 1px solid #2A9D8F26 !important;
  }

  /* サブメニュー文字（default/visited） */
  .main-header-menu .sub-menu .menu-link,
  .main-header-menu .sub-menu .menu-link:visited {
    color: #1F7F74 !important;
  }

  /* ホバー */
  .main-header-menu .sub-menu .menu-link:hover,
  .main-header-menu .sub-menu .menu-link:focus {
    color: #145E55 !important;
  }

  /* 現在地（active/current） */
  .main-header-menu .sub-menu .current-menu-item > .menu-link,
  .main-header-menu .sub-menu .current-menu-ancestor > .menu-link,
  .main-header-menu .sub-menu .current_page_item > .menu-link,
  .main-header-menu .sub-menu .current_page_ancestor > .menu-link {
    color: #0E4F49 !important;
    font-weight: 600 !important;
  }
}

/* ---------- スマホ：ドロワー（オフキャンバス） ---------- */
@media (max-width: 920px) {
  /* ドロワー背景（Astra） */
  .ast-mobile-popup-drawer .ast-mobile-popup-inner,
  .ast-mobile-popup-drawer .ast-mobile-popup-content {
    background: #CFEDEA !important;
  }

  /* 区切り線 */
  .ast-mobile-popup-drawer .main-header-menu li + li {
    border-top: 1px solid #2A9D8F26 !important;
  }

  /* 文字（default/visited） */
  .ast-mobile-popup-drawer .main-header-menu .menu-link,
  .ast-mobile-popup-drawer .main-header-menu .menu-link:visited {
    color: #1F7F74 !important;
  }

  /* タップ時相当（hover/focus） */
  .ast-mobile-popup-drawer .main-header-menu .menu-link:hover,
  .ast-mobile-popup-drawer .main-header-menu .menu-link:focus {
    color: #145E55 !important;
  }

  /* 現在地（active/current） */
  .ast-mobile-popup-drawer .main-header-menu .current-menu-item > .menu-link,
  .ast-mobile-popup-drawer .main-header-menu .current-menu-ancestor > .menu-link,
  .ast-mobile-popup-drawer .main-header-menu .current_page_item > .menu-link,
  .ast-mobile-popup-drawer .main-header-menu .current_page_ancestor > .menu-link {
    color: #0E4F49 !important;
    font-weight: 600 !important;
  }
}
/* ============================================================
   【透過ヘッダーページ限定】スクロール後の色制御
   ============================================================ */

/* ① 透過ヘッダーページで、スクロールした時だけ文字色を緑にする */
.ast-theme-transparent-header.header-scrolled .main-header-menu .menu-link,
.ast-theme-transparent-header.ast-header-sticky-active .main-header-menu .menu-link {
    color: #1F7F74 !important; /* 背景白で見える濃い色 */
}

/* ② 透過ヘッダーページで、スクロールした時のスマホ三本線と枠 */
.ast-theme-transparent-header.header-scrolled .ast-mobile-header-wrap .menu-toggle,
.ast-theme-transparent-header.ast-header-sticky-active .ast-mobile-header-wrap .menu-toggle {
    color: #1F7F74 !important;
    border: 1px solid #1F7F74 !important;
}

/* ③ 透過ヘッダーページで、スクロールした時の三本線(SVG)の色 */
.ast-theme-transparent-header.header-scrolled .ast-mobile-header-wrap .menu-toggle .ast-icon svg,
.ast-theme-transparent-header.ast-header-sticky-active .ast-mobile-header-wrap .menu-toggle .ast-icon svg {
    fill: #1F7F74 !important;
}

/* ④ 透過ヘッダーページで、スクロールした時のロゴ制御 */
.ast-theme-transparent-header.header-scrolled .custom-logo-link img,
.ast-theme-transparent-header.ast-header-sticky-active .custom-logo-link img {
    opacity: 0 !important;
}
.ast-theme-transparent-header.header-scrolled .custom-logo-link::after,
.ast-theme-transparent-header.ast-header-sticky-active .custom-logo-link::after {
    opacity: 1 !important;
    visibility: visible !important;
}

.top-core-card{
    padding:140px 0;
}

/* ============================================================
   【透過ヘッダーページ限定】スマホ三本線を確実に緑にする
   ============================================================ */

/* 1. ボタンの枠線とテキスト色の強制 */
.ast-theme-transparent-header.header-scrolled .ast-mobile-header-wrap .menu-toggle,
.ast-theme-transparent-header.ast-header-sticky-active .ast-mobile-header-wrap .menu-toggle {
    color: #1F7F74 !important;
    border: 1px solid #1F7F74 !important;
}

/* 2. 三本線（SVG）の線の色を強制塗りつぶし */
.ast-theme-transparent-header.header-scrolled .ast-mobile-header-wrap .menu-toggle .ast-icon svg,
.ast-theme-transparent-header.ast-header-sticky-active .ast-mobile-header-wrap .menu-toggle .ast-icon svg,
.ast-theme-transparent-header.header-scrolled .ast-mobile-header-wrap .menu-toggle .ast-mobile-svg,
.ast-theme-transparent-header.ast-header-sticky-active .ast-mobile-header-wrap .menu-toggle .ast-mobile-svg {
    fill: #1F7F74 !important;
}

/* 3. 万が一、三本線が背景画像(span等)で描画されている場合の予備 */
.ast-theme-transparent-header.header-scrolled .ast-mobile-header-wrap .menu-toggle .ast-icon span,
.ast-theme-transparent-header.ast-header-sticky-active .ast-mobile-header-wrap .menu-toggle .ast-icon span {
    background-color: #1F7F74 !important;
}

/* =====================================
TOP：思想 → 大型1カード
高級コンサル仕様
===================================== */

.top-core-card{
    padding:120px 20px;
    display:flex;
    justify-content:center;
}

.luceo-top-core__title{
font-size:32px;
margin-bottom:40px;
}

/* カード本体 */
.top-core-card .luceo-top-core__card{
    max-width:1200px;
    width:100%;
    background:#ffffff;
    padding:80px 90px;
    border-radius:18px;
    box-shadow:0 40px 120px rgba(0,0,0,0.12);
    text-align:center;
}

/* CORE STRUCTUREラベル */
.luceo-top-core__label{
    letter-spacing:3px;
    font-size:12px;
    color:#6b7280;
    margin-bottom:18px;
}

/* サービス名 */
.luceo-top-core__service{
    font-size:34px;
    font-weight:700;
    margin-bottom:28px;
}

/* リード（最重要） */
.luceo-top-core__lead{
    font-size:22px;
    line-height:1.7;
    font-weight:600;
    margin-bottom:26px;
}

/* 説明 */
.luceo-top-core__desc{
    font-size:16px;
    line-height:1.9;
    color:#4b5563;
    margin-bottom:45px;
}

/* 導線ナビ */
.luceo-top-core__nav{
    display:flex;
    flex-wrap:wrap;
    gap:16px;
    justify-content:center;
}

/* ボタン化 */
.luceo-top-core__link{
    padding:14px 26px;
    border-radius:6px;
    background:#2A9D8F;
    color:#fff;
    text-decoration:none;
    font-weight:600;
    transition:0.25s;
}

/* hover */
.luceo-top-core__link:hover{
    background:#23867a;
    transform:translateY(-3px);
}

/* ===============================
スマホ最適化
=============================== */

@media (max-width:768px){

.top-core-card{
    padding:70px 20px;
}

.top-core-card .luceo-top-core__card{
    padding:45px 28px;
}

.luceo-top-core__service{
    font-size:26px;
}

.luceo-top-core__lead{
    font-size:18px;
}

.luceo-top-core__nav{
    flex-direction:column;
}

.luceo-top-core__link{
    width:100%;
}

}

/* スマホタイトル用 */
@media (max-width:768px){

.luceo-top-core__title{
    font-size:24px;
    margin-bottom:28px;
}

}

/* TOPのCTA用 */
.luceo-final-cta{
  text-align:center;
  padding:80px 20px;
}

.luceo-final-cta__wrap{
  display:flex;
  gap:40px;
  justify-content:center;
  margin-top:40px;
  flex-wrap:wrap;
}

.luceo-final-cta__card{
  background:#EEF7F6; /* ←超薄ミント */
  border:2px solid #2A9D8F;
  padding:40px;
  border-radius:12px;
  width:320px;
}

.luceo-final-cta__card--primary{
  background:#2A9D8F;
  color:#fff;
}

.luceo-final-cta__label{
  margin-bottom:20px;
  font-weight:600;
}

.luceo-final-cta__card--primary .luceo-btn{
  background:#fff;
  color:#2A9D8F;
}

.luceo-final-cta__card{
  transition:.3s;
}

.luceo-final-cta__card:hover{
  transform:translateY(-6px);
}


/* ===============================
判断とは思想ブロック
=============================== */

.luceo-philosophy{
  padding:120px 20px;
}

.luceo-philosophy__inner{
  max-width:1200px;
  margin:0 auto;
  display:flex;
  gap:80px;
  align-items:center;
}

.luceo-philosophy__text{
  flex:1;
}

.luceo-eyebrow{
  color:#2A9D8F;
  font-weight:600;
  margin-bottom:16px;
}

.luceo-philosophy__title{
  font-size:34px;
  line-height:1.4;
  margin-bottom:24px;
}

.luceo-philosophy__lead{
  font-size:18px;
  margin-bottom:16px;
}

.luceo-philosophy__body{
  color:#555;
  margin-bottom:32px;
}

.luceo-btn{
  display:inline-block;
  background:#2A9D8F;
  color:#fff;
  padding:14px 26px;
  border-radius:6px;
  text-decoration:none;
  font-weight:600;
}

.luceo-philosophy__image img{
  width:100%;
  height:auto;
  border-radius:6px;
}

/* ===== スマホ ===== */

@media (max-width:768px){

.luceo-philosophy{
  padding:60px 20px;
}

.luceo-philosophy__inner{
  flex-direction:column;
  gap:40px;
}

.luceo-philosophy__title{
  font-size:26px;
}

}

/* ========== Base ========== */
  .luceo-4systems{
    --ink:#0A192F;
    --muted:#5b6472;
    --accent:#2A9D8F;
    --bg:#eef3f1;
    --card:#ffffff;
    --radius:16px;
    --shadow:0 10px 28px rgba(10,25,47,.08);
    --shadowHover:0 18px 42px rgba(10,25,47,.14);

    background:var(--bg);
    padding:96px 20px;
  }
  .luceo-4systems__inner{
    max-width:1080px;
    margin:0 auto;
  }

  .luceo-eyebrow{
    margin:0 0 10px;
    letter-spacing:.12em;
    font-weight:600;
    font-size:12px;
    color:var(--accent);
    text-transform:uppercase;
  }
  .luceo-h2{
    margin:0 0 14px;
    font-size:40px;
    line-height:1.2;
    color:var(--ink);
    letter-spacing:.02em;
  }
  .luceo-h3{
    margin:0 0 10px;
    font-size:28px;
    line-height:1.35;
    color:var(--ink);
    letter-spacing:.02em;
  }
  .luceo-lead{
    margin:0 0 14px;
    font-size:16px;
    line-height:1.9;
    color:rgba(255,255,255,.92);
  }
  .luceo-heroNote{
    margin:0;
    font-size:14px;
    line-height:1.9;
    color:rgba(255,255,255,.82);
  }
  .luceo-body{
    margin:0;
    font-size:16px;
    line-height:1.9;
    color:var(--muted);
  }

  /* ========== Hero ========== */
  .luceo-4systems__hero{
    position:relative;
    border-radius:24px;
    overflow:hidden;
    box-shadow:var(--shadow);
    margin-bottom:38px;
    min-height:320px;
  }
  .luceo-4systems__heroBg{
    position:absolute;
    inset:0;
    background-image:url("/wp-content/uploads/hero-4systems.jpg"); /* ★差し替え */
    background-size:cover;
    background-position:center;
    transform:scale(1.02);
  }
  .luceo-4systems__heroOverlay{
    position:absolute;
    inset:0;
    background:rgba(10,25,47,0.72); /* 推奨オーバーレイ */
  }
  .luceo-4systems__heroContent{
    position:relative;
    padding:46px 42px;
    max-width:820px;
  }
  .luceo-4systems__heroContent .luceo-h2{
    color:#fff;
    margin-bottom:12px;
    font-size:38px;
  }
  .luceo-4systems__heroContent .luceo-eyebrow{
    color:rgba(42,157,143,.95);
  }

  /* ========== Grid ========== */
  .luceo-4systems__grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:18px;
    margin-bottom:36px;
  }
  .luceo-card{
    background:var(--card);
    border-radius:var(--radius);
    padding:34px 34px 30px;
    box-shadow:var(--shadow);
    transition:transform .18s ease, box-shadow .18s ease;
    position:relative;
  }
  .luceo-card:hover{
    transform:translateY(-6px);
    box-shadow:var(--shadowHover);
  }
  .luceo-card__no{
    margin:0 0 10px;
    color:var(--accent);
    font-weight:700;
    letter-spacing:.08em;
  }
  .luceo-card__title{
    margin:0 0 10px;
    color:var(--ink);
    font-size:22px;
    line-height:1.35;
  }
  .luceo-card__catch{
    margin:0 0 12px;
    color:var(--ink);
    font-weight:700;
    line-height:1.65;
  }
  .luceo-card__text{
    margin:0 0 16px;
    color:var(--muted);
    line-height:1.9;
    font-size:15px;
  }
  .luceo-link{
    color:var(--accent);
    text-decoration:none;
    font-weight:700;
  }
  .luceo-link:hover{ text-decoration:underline; }

  /* ========== Wrap + CTA ========== */
  .luceo-4systems__wrap{
    background:#ffffff;
    border-radius:24px;
    padding:34px 34px;
    box-shadow:var(--shadow);
    margin-bottom:24px;
  }

  .luceo-4systems__cta{
    background:#ffffff;
    border-radius:24px;
    padding:34px 34px 36px;
    box-shadow:var(--shadow);
  }
  .luceo-ctaBtns{
    display:flex;
    gap:12px;
    margin-top:16px;
    flex-wrap:wrap;
  }

  .luceo-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    padding:0 18px;
    border-radius:12px;
    background:var(--accent);
    color:#fff;
    text-decoration:none;
    font-weight:700;
    letter-spacing:.02em;
    border:1px solid var(--accent);
  }
  .luceo-btn:hover{ filter:brightness(.98); }
  .luceo-btn--ghost{
    background:transparent;
    color:var(--accent);
  }
.luceo-card{
 box-shadow:0 18px 40px rgba(10,25,47,.10);
}


  /* ========== Responsive ========== */
  .sp-only{ display:none; }

  @media (max-width: 900px){
    .luceo-4systems__grid{
      grid-template-columns:1fr;
    }
  }
  @media (max-width: 640px){
    .luceo-4systems{ padding:70px 16px; }
    .luceo-4systems__heroContent{ padding:34px 20px; }
    .luceo-4systems__heroContent .luceo-h2{ font-size:30px; }
    .luceo-h3{ font-size:24px; }
    .luceo-card{ padding:28px 22px 24px; }
    .luceo-4systems__wrap,
    .luceo-4systems__cta{ padding:28px 20px; }
    .sp-only{ display:inline; }
    .luceo-ctaBtns{ gap:10px; }
    .luceo-btn{ width:100%; }
  }

 /* 対象者下のCTA */
.luceo-target{
  background:#f6f8fb;
  padding:80px 40px;
  border-radius:14px;
  margin-top:60px;
}

.luceo-target__inner{
  max-width:900px;
  margin:auto;
}

.luceo-section-title{
  font-size:28px;
  font-weight:700;
  margin-bottom:40px;
}

.luceo-target-list{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px 40px;
  list-style:none;
  padding:0;
}

.luceo-target-list li{
  position:relative;
  padding-left:28px;
}

.luceo-target-list li:before{
  content:"✓";
  position:absolute;
  left:0;
  color:#2A9D8F;
  font-weight:700;
}
@media(max-width:768px){
 .luceo-target-list{
   grid-template-columns:1fr;
 }
}

/* 全企業が対象ではない1 */
.luceo-filter-box{
    background:#ffffff;
    border:1px solid #E6ECEB;
    padding:38px;
    border-radius:12px;
    max-width:820px;
    margin:60px auto;
}

.luceo-filter-label{
    font-size:13px;
    letter-spacing:1.5px;
    color:#2A9D8F;
    font-weight:600;
    margin-bottom:14px;
}

/* 全企業が対象ではない2 */
 .luceo-cvboost{
    max-width:820px;
    margin:28px auto 0;
    padding:0 16px;
  }
  .luceo-cvboost__inner{
    background:#ffffff;
    border:1px solid #E6ECEB;
    border-radius:12px;
    padding:28px 30px;
  }
  .luceo-cvboost__strong{
    margin:0 0 12px;
    font-weight:700;
    font-size:18px;
    line-height:1.6;
    letter-spacing:0.02em;
  }
  .luceo-cvboost__em{
    color:#2A9D8F;
  }
  .luceo-cvboost__body{
    margin:0;
    font-size:14px;
    line-height:1.9;
    color:#111;
  }

  @media (max-width: 768px){
    .luceo-cvboost__inner{
      padding:22px 18px;
    }
    .luceo-cvboost__strong{
      font-size:16px;
    }
    .luceo-cvboost__body{
      font-size:14px;
    }
  }

/* 無料診断・通常・未クリック */

a.luceo-btn2:link{
 color:#2A9D8F;
 text-decoration:none;
 border-bottom:2px solid #2A9D8F;
 font-weight:600;

}

/* クリック後 */
a.luceo-btn2:visited{
 color:#2A9D8F;
}

/* ホバー */
a.luceo-btn2:hover{
 color:#1F7F73;
 border-bottom:1px solid #1F7F73;
}

/* 押した瞬間 */
a.luceo-btn2:active{
 color:#1F7F73;
}
/*  ====== 会社概要 ====== */

  .luceo-about-company{max-width:1000px;margin:0 auto;padding:24px;}
  .luceo-about-header h1{margin:0 0 8px;}
  .luceo-about-header p{margin:0;line-height:1.8;}
  .luceo-company-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px;}
  .luceo-company-card{border:1px solid rgba(0,0,0,.12);border-radius:14px;padding:18px;}
  .luceo-company-card h2{margin:0 0 12px;font-size:1.15rem;}
  .luceo-dl{margin:0;display:grid;gap:10px;}
  .luceo-dl > div{display:grid;grid-template-columns:120px 1fr;gap:10px;}
  .luceo-dl dt{font-weight:600;}
  .luceo-dl dd{margin:0;line-height:1.7;}
  .luceo-note{margin:12px 0 0;font-size:.92rem;opacity:.85;line-height:1.6;}
  .luceo-history{margin-top:18px;border:1px solid rgba(0,0,0,.12);border-radius:14px;padding:18px;}
  .luceo-history h2{margin:0 0 12px;font-size:1.15rem;}
  .luceo-timeline{list-style:none;margin:0;padding:0;display:grid;gap:10px;}
  .luceo-timeline li{display:grid;grid-template-columns:90px 1fr;gap:12px;align-items:start;}
  .luceo-timeline .year{font-weight:700;white-space:nowrap;}
  .luceo-timeline .text{line-height:1.7;}
  @media (max-width: 768px){
    .luceo-company-grid{grid-template-columns:1fr;}
    .luceo-dl > div{grid-template-columns:100px 1fr;}
    .luceo-timeline li{grid-template-columns:76px 1fr;}
  }
/* 代表メッセージ強化 */
.luceo-message{
  margin-top:40px;
}

.luceo-message-box{
  border:1px solid rgba(0,0,0,.08);
  padding:32px;
  border-radius:16px;
  background:#ffffff;
}

.luceo-message-box p{
  line-height:2;
  font-size:1.05rem;
}

.luceo-sign{
  margin-top:28px;
  text-align:right;
  font-size:1rem;
}

.luceo-sign strong{
  font-size:1.1rem;
}
.luceo-group-label{
    font-size:16px;
    letter-spacing:0.18em;
    text-transform:uppercase;
    color:#7a8a94;  /* 上品グレー */
    font-weight:600;
    margin-bottom:8px;
	letter-spacing:0.28em;
}

/* 電話・メール・住所の自動リンクを無効化 */

a[href^="tel:"],
a[href^="mailto:"],
a[href*="maps.google"],
a[href*="goo.gl/maps"]{
  pointer-events: none;
  cursor: default;
  color: inherit !important;
  text-decoration: none !important;
}

/* ===== 成長の仕組み：4ボックス ===== */

.growth-structure-section{
    margin:80px 0;
}

.growth-structure-head{
    text-align:center;
    max-width:820px;
    margin:0 auto 50px;
}

.growth-structure-head h2{
    font-size:32px;
    font-weight:700;
    letter-spacing:.05em;
    margin-bottom:18px;
    color:#1F3A5F; /* ネイビー */
}

.growth-structure-head p{
    font-size:16px;
    line-height:1.9;
    color:#444;
}

/* グリッド */

.growth-structure-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:28px;
}

/* カード */

.growth-card{
    background:#ffffff;
    border-radius:14px;
    padding:34px 30px;
    box-shadow:0 10px 30px rgba(0,0,0,0.05);
    transition:.35s;
    border-top:4px solid #2A9D8F; /* ミント */
}

.growth-card:hover{
    transform:translateY(-6px);
    box-shadow:0 18px 40px rgba(0,0,0,0.08);
}

/* 番号 */

.growth-num{
    font-size:13px;
    font-weight:700;
    letter-spacing:.18em;
    color:#2A9D8F;
    margin-bottom:10px;
}

/* H3 */

.growth-card h3{
    font-size:20px;
    margin-bottom:14px;
    color:#1F3A5F;
}

/* 本文 */

.growth-card p{
    font-size:15px;
    line-height:1.9;
    color:#555;
}

/* ===== スマホ ===== */

@media (max-width:768px){

.growth-structure-head h2{
    font-size:24px;
}

.growth-structure-grid{
    grid-template-columns:1fr;
    gap:20px;
}

.growth-card{
    padding:26px 22px;
}

}
