@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
*/

/* =========================================================
   alth.jp スマホ版リニューアル 共通CSS（v1）
   ---------------------------------------------------------
   ・Cocoon子テーマ style.css の「いちばん最後」に貼り付けます
   ・alth- で始まるクラスを付けたブロックにだけ効くので、
     今ある他のページの見た目は変わりません
   ========================================================= */

/* ---------- 1. 色と文字の基本（全体を包むグループ） ---------- */
/* 使い方：ページ全体をグループブロックで包み、クラス「alth-lp」 */
.alth-lp {
  --alth-bg: #FBF8F4;        /* 背景（生成り） */
  --alth-text: #3A3431;      /* 本文 */
  --alth-sub: #6B625D;       /* 補足の文字 */
  --alth-accent: #8A6656;    /* ボタン（濃いベージュ） */
  --alth-accent-dark: #6E5446;
  --alth-title: #4F6778;     /* 見出し（青みグレー） */
  --alth-band: #EAF0F2;      /* 色の帯 */
  --alth-chip: #F3ECE6;      /* タグ・アイコンの下地 */
  --alth-radius: 20px;
  --alth-shadow: 0 2px 14px rgba(60, 50, 40, .06);

  color: var(--alth-text);
  font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: 16px;
  line-height: 1.9;
  letter-spacing: .02em;
}
.article .alth-lp p {
  margin: 0 0 1.2em;
  font-size: 16px;
  line-height: 1.9;
}

/* ---------- 2. 見出し（Cocoon・スキンの装飾を打ち消す） ---------- */
body .article .alth-lp h2,
body .article .alth-lp h3 {
  background: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
  font-weight: 700;
  letter-spacing: .03em;
}
body .article .alth-lp h2::before,
body .article .alth-lp h2::after,
body .article .alth-lp h3::before,
body .article .alth-lp h3::after {
  content: none;
  display: none;
}
body .article .alth-lp h2 {
  margin: 0 0 24px;
  color: var(--alth-title);
  font-size: 22px;
  line-height: 1.6;
  text-align: center;
}
body .article .alth-lp h3 {
  margin: 0 0 12px;
  color: var(--alth-text);
  font-size: 18px;
  line-height: 1.6;
}

/* 見出しの上の小さな英字ラベル（段落に「alth-eyebrow」） */
.article .alth-lp .alth-eyebrow {
  margin: 0 0 6px;
  color: var(--alth-sub);
  font-size: 12px;
  letter-spacing: .2em;
  text-align: center;
}

/* 補足の小さな文字（段落に「alth-sub」） */
.article .alth-lp .alth-sub {
  color: var(--alth-sub);
  font-size: 14px;
}

/* ---------- 3. セクションと色の帯 ---------- */
/* グループに「alth-section」：上下にゆとりをとる */
.alth-lp .alth-section {
  padding: 56px 0;
}
/* グループに「alth-band」：薄い色の帯（スマホでは画面の端まで） */
.alth-lp .alth-band {
  background: var(--alth-band);
  padding: 48px 20px;
  border-radius: var(--alth-radius);
}
@media (max-width: 834px) {
  .alth-lp .alth-band {
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    border-radius: 0;
  }
}

/* ---------- 4. カード ---------- */
/* グループに「alth-card」：白い角丸カード */
.alth-lp .alth-card {
  background: #FFFFFF;
  border-radius: var(--alth-radius);
  box-shadow: var(--alth-shadow);
  padding: 28px 24px;
  margin: 0 0 20px;
}
/* 「alth-card alth-center」とすると中央揃え */
.alth-lp .alth-center { text-align: center; }
.alth-lp .alth-center .wp-block-buttons { justify-content: center; }
.article .alth-lp .alth-card > :last-child,
.article .alth-lp .alth-card > .wp-block-group__inner-container > :last-child,
.article .alth-lp .alth-band > :last-child,
.article .alth-lp .alth-band > .wp-block-group__inner-container > :last-child { margin-bottom: 0; }

/* ボタンを縦に並べたときのすき間 */
.alth-lp .wp-block-buttons { margin: 0 0 12px; }

/* 画像ブロックに「alth-media」：角丸の写真 */
.alth-lp .alth-media img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  border-radius: var(--alth-radius);
  display: block;
}
.alth-lp .alth-media { margin: 0 0 16px; }

/* 画像ブロックに「alth-hero」：メインビジュアル（高さ300px） */
.alth-lp .alth-hero { margin: 0 0 28px; }
.alth-lp .alth-hero img {
  width: 100%;
  height: 300px;
  object-fit: cover;
  object-position: center 30%;
  display: block;
}
@media (max-width: 834px) {
  .alth-lp .alth-hero {
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
  }
}

/* ---------- 5. ボタン ---------- */
/* ボタンブロックに「alth-btn」：塗りの丸ボタン */
.alth-lp .alth-btn .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0 36px;
  border: 1.5px solid var(--alth-accent);
  border-radius: 999px;
  background: var(--alth-accent);
  color: #FFFFFF;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: .04em;
  text-decoration: none;
  box-sizing: border-box;
  transition: background-color .2s, border-color .2s;
}
.alth-lp .alth-btn .wp-block-button__link:hover {
  background: var(--alth-accent-dark);
  border-color: var(--alth-accent-dark);
  color: #FFFFFF;
}
/* 「alth-btn alth-btn-outline」：枠線だけのボタン */
.alth-lp .alth-btn.alth-btn-outline .wp-block-button__link {
  background: transparent;
  color: var(--alth-accent);
}
.alth-lp .alth-btn.alth-btn-outline .wp-block-button__link:hover {
  background: var(--alth-chip);
  color: var(--alth-accent-dark);
}
/* 「alth-btn alth-btn-wide」：横いっぱいのボタン（予約用） */
.alth-lp .alth-btn.alth-btn-wide { width: 100%; }
.alth-lp .alth-btn.alth-btn-wide .wp-block-button__link { width: 100%; min-height: 56px; }

/* ---------- 6. リスト ---------- */
/* リストブロックに「alth-check」：お悩みを白いカードで並べる */
.article .alth-lp ul.alth-check {
  list-style: none;
  margin: 0 0 24px;
  padding: 0;
}
.article .alth-lp ul.alth-check li {
  position: relative;
  margin: 0 0 10px;
  padding: 16px 18px 16px 48px;
  background: #FFFFFF;
  border-radius: 16px;
  font-size: 15px;
  line-height: 1.7;
  list-style: none;
}
.article .alth-lp ul.alth-check li::before {
  content: "";
  position: absolute;
  left: 20px;
  top: 21px;
  width: 12px;
  height: 7px;
  border-left: 2px solid var(--alth-accent);
  border-bottom: 2px solid var(--alth-accent);
  transform: rotate(-45deg);
}

/* リストブロックに「alth-tags」：時間・料金などの丸いタグ */
.article .alth-lp ul.alth-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  list-style: none;
  margin: 0 0 20px;
  padding: 0;
}
.alth-lp .alth-center ul.alth-tags,
.article .alth-lp ul.alth-tags.alth-center { justify-content: center; }
.article .alth-lp ul.alth-tags li {
  margin: 0;
  padding: 4px 12px;
  border-radius: 999px;
  background: var(--alth-chip);
  color: var(--alth-accent-dark);
  font-size: 13px;
  line-height: 1.6;
  list-style: none;
}
.article .alth-lp ul.alth-tags li::before { content: none; }

/* ---------- 7. 並べ方 ---------- */
/* グループに「alth-grid2」：中のカードを2列に並べる */
.alth-lp .alth-grid2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.alth-lp .alth-grid2 > .wp-block-group__inner-container { display: contents; }
.alth-lp .alth-grid2 .alth-card {
  margin: 0;
  padding: 20px 14px;
  border-radius: 18px;
  font-size: 13px;
  line-height: 1.6;
}

/* グループに「alth-scroll」：中のカードを横にスワイプ */
.alth-lp .alth-scroll {
  display: flex;
  gap: 14px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  padding: 4px 20px 16px;
  margin-left: -20px;
  margin-right: -20px;
  scrollbar-width: none;
}
.alth-lp .alth-scroll::-webkit-scrollbar { display: none; }
.alth-lp .alth-scroll > .wp-block-group__inner-container { display: contents; }
.alth-lp .alth-scroll .alth-card {
  flex: 0 0 82%;
  margin: 0;
  scroll-snap-align: start;
}

/* ---------- 8. パソコンで見たとき ---------- */
@media (min-width: 835px) {
  .alth-lp { max-width: 720px; margin-left: auto; margin-right: auto; }
  .alth-lp .alth-grid2 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .alth-lp .alth-scroll .alth-card { flex-basis: 46%; }
  .alth-lp .alth-hero img { height: 420px; border-radius: var(--alth-radius); }
}

/* =========================================================
   alth.jp 画面下の予約バー（スマホだけに表示）
   ---------------------------------------------------------
   ・子テーマ style.css のいちばん最後（共通CSSの下）に貼り付けます
   ・Cocoonの「ホーム／シェア／トップ」バーは隠します
   ========================================================= */
.alth-bar { display: none; }

@media (max-width: 834px) {
  /* Cocoon標準のフッターボタンを隠す */
  .mobile-footer-menu-buttons { display: none !important; }

  .alth-bar {
    display: flex;
    gap: 10px;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;
    padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 -4px 16px rgba(60, 50, 40, .10);
    font-family: "Noto Sans JP", "Hiragino Sans", sans-serif;
  }
  .alth-bar a.alth-bar__btn {
    flex: 1 1 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    height: 50px;
    border-radius: 999px;
    box-sizing: border-box;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .04em;
    line-height: 1;
    text-decoration: none;
  }
  .alth-bar a.alth-bar__btn--outline,
  .alth-bar a.alth-bar__btn--outline:visited {
    border: 1.5px solid #8A6656;
    background: #FFFFFF;
    color: #8A6656;
  }
  .alth-bar a.alth-bar__btn--main,
  .alth-bar a.alth-bar__btn--main:visited {
    flex-grow: 1.4;
    border: 1.5px solid #8A6656;
    background: #8A6656;
    color: #FFFFFF;
  }
  .alth-bar a.alth-bar__btn--main:hover { background: #6E5446; border-color: #6E5446; color: #FFFFFF; }
  .alth-bar a.alth-bar__btn--outline:hover { background: #F3ECE6; color: #6E5446; }
  .alth-bar svg { flex-shrink: 0; }

  /* バーでページの最後が隠れないように、下に余白をとる */
  body { padding-bottom: calc(70px + env(safe-area-inset-bottom)); }
}
/* =========================================================
   alth.jp 共通CSS 追加分（v1.1：トップページ用）
   ・style.css のいちばん最後（予約バーのCSSの下）に貼り付けます
   ========================================================= */

/* ---------- 余白の調整 ---------- */
.alth-lp .alth-band { margin-top: 0; margin-bottom: 0; }
.alth-lp .alth-section { padding: 48px 0; }
.alth-lp .alth-section-tight { padding-top: 0; }
.alth-lp .alth-center h2,
.alth-lp .alth-center h3 { text-align: center; }
.alth-lp .alth-left { text-align: left; }

/* ---------- メインビジュアルの下の文章 ---------- */
.alth-lp .alth-hero-text { padding: 0 0 8px; }
.article .alth-lp .alth-catch {
  margin: 0 0 16px;
  color: var(--alth-text);
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
  font-size: 26px;
  font-weight: 700;
  line-height: 1.55;
  letter-spacing: .02em;
}
.alth-lp .alth-hero-text .wp-block-buttons { margin-top: 24px; }
.article .alth-lp .alth-emphasis { margin-top: 8px; }

/* ---------- 「続きを読む」（詳細ブロックに alth-more） ---------- */
.alth-lp .alth-more { margin: 4px 0 0; text-align: left; }
.alth-lp .alth-more summary {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  color: var(--alth-accent);
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  list-style: none;
}
.alth-lp .alth-more summary::-webkit-details-marker { display: none; }
.alth-lp .alth-more summary::after {
  content: "";
  width: 7px;
  height: 7px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: translateY(-2px) rotate(45deg);
  transition: transform .2s;
}
.alth-lp .alth-more[open] summary { margin-bottom: 12px; }
.alth-lp .alth-more[open] summary::after { transform: translateY(2px) rotate(-135deg); }
.article .alth-lp .alth-more p { font-size: 15px; line-height: 1.9; }
.article .alth-lp .alth-more ul.alth-tags { justify-content: flex-start; }

/* ---------- お客様の声のカード ---------- */
.article .alth-lp .alth-label {
  display: inline-block;
  margin: 0 0 12px;
  padding: 2px 12px;
  border-radius: 999px;
  background: var(--alth-chip);
  color: var(--alth-accent-dark);
  font-size: 12px;
  line-height: 1.8;
}
.article .alth-lp .alth-scroll .alth-card p { font-size: 14px; line-height: 1.85; }
.article .alth-lp .alth-scroll .alth-card p.alth-label { font-size: 12px; line-height: 1.8; }
.article .alth-lp .alth-scroll .alth-card p.alth-quote,
.article .alth-lp .alth-quote {
  margin: 0 0 12px;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.7;
}
.article .alth-lp .alth-band .alth-sub.alth-center { margin: 0 0 16px; font-size: 12px; }

/* ---------- プロフィール ---------- */
.alth-lp .alth-avatar { margin: 0 auto 16px; width: 140px; }
.alth-lp .alth-avatar img {
  width: 140px;
  height: 140px;
  border-radius: 50%;
  object-fit: cover;
  display: block;
}
.article .alth-lp .alth-avatar + .alth-sub { margin: 0; }
.article .alth-lp .alth-name {
  margin: 0 0 20px;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4;
}
.article .alth-lp .alth-section ul.alth-check li { font-size: 14px; text-align: left; }

/* ---------- 5つのテーマ（2列のカード） ---------- */
.article .alth-lp .alth-grid2 .alth-card p {
  margin: 0;
  color: var(--alth-sub);
  font-size: 13px;
  line-height: 1.6;
}
.article .alth-lp .alth-grid2 .alth-card p.alth-card-title {
  margin: 0 0 8px;
  color: var(--alth-text);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
}
.alth-lp .alth-grid2 .alth-card-link {
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  box-shadow: none;
  border: 1.5px dashed #9FB2BE;
}
.article .alth-lp .alth-grid2 .alth-card-link p.alth-card-title { margin: 0; }
.alth-lp .alth-card-link a { color: #3F5A6B; text-decoration: none; }

/* ---------- 細かな調整 ---------- */
.article .alth-lp .alth-intro { font-size: 15px; line-height: 1.9; }
.alth-lp .alth-scroll { scroll-padding-left: 20px; }
.article .alth-lp .alth-section ul.alth-check li { box-shadow: var(--alth-shadow); }

/* ---------- 新トップページのH1（v1.2） ---------- */
.article:has(.alth-lp) .entry-title,
.article:has(.alth-lp) .date-tags { display: none; }
body .article .alth-lp h1.alth-catch {
  background: none;
  border: 0;
  padding: 0;
}
body .article .alth-lp h1.alth-catch::before,
body .article .alth-lp h1.alth-catch::after { content: none; display: none; }

/* ---------- 4つのテーマのカード（v1.3） ---------- */
.alth-lp .alth-theme { position: relative; transition: box-shadow .2s, transform .2s; }
.alth-lp .alth-theme a { color: var(--alth-text); text-decoration: none; }
.alth-lp .alth-theme a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.alth-lp .alth-theme:hover { box-shadow: 0 4px 18px rgba(60, 50, 40, .12); transform: translateY(-2px); }
.alth-lp .alth-grid2 + .wp-block-buttons { margin-top: 24px; }

/* ---------- スキンの全画面ヘッダー画像を隠す（v1.4） ---------- */
body.home:has(.alth-lp) #header { display: none; }

/* ---------- セッションページ用（v1.5） ---------- */
/* ページ内リンクで移動したとき、見出しが上のメニューに隠れないように */
.alth-lp [id] { scroll-margin-top: 72px; }

/* ページの冒頭 */
.alth-lp .alth-page-head { padding-top: 24px; padding-bottom: 32px; }

/* 比較カードの小さな文字（時間・料金） */
.article .alth-lp .alth-grid2 .alth-card p.alth-card-meta {
  margin-top: 10px;
  color: var(--alth-accent-dark);
  font-size: 12px;
}

/* 色の帯をセクションとして使うとき */
.alth-lp .alth-band-section { padding-top: 56px; padding-bottom: 56px; }

/* カードの見出し（h3）は中央揃え */
body .article .alth-lp .alth-card h3 { text-align: center; }

/* 点のリスト（リストに alth-points） */
.article .alth-lp ul.alth-points { list-style: none; margin: 0 0 16px; padding: 0; text-align: left; }
.article .alth-lp ul.alth-points li {
  position: relative;
  margin: 0 0 8px;
  padding: 0 0 0 22px;
  font-size: 15px;
  line-height: 1.8;
  list-style: none;
}
.article .alth-lp ul.alth-points li::before {
  content: "";
  position: absolute;
  left: 4px;
  top: .72em;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--alth-accent);
  opacity: .55;
}

/* 番号つきの流れ（番号リストに alth-steps） */
.article .alth-lp ol.alth-steps { list-style: none; counter-reset: alth-step; margin: 0; padding: 0; text-align: left; }
.article .alth-lp ol.alth-steps li {
  counter-increment: alth-step;
  position: relative;
  margin: 0;
  padding: 2px 0 20px 46px;
  font-size: 15px;
  line-height: 1.8;
  list-style: none;
}
.article .alth-lp ol.alth-steps li::before {
  content: counter(alth-step);
  position: absolute;
  left: 0;
  top: 0;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: var(--alth-chip);
  color: var(--alth-accent-dark);
  font-size: 14px;
  font-weight: 700;
  line-height: 30px;
  text-align: center;
}
.article .alth-lp ol.alth-steps li::after {
  content: "";
  position: absolute;
  left: 14px;
  top: 34px;
  bottom: 4px;
  width: 2px;
  background: var(--alth-chip);
}
.article .alth-lp ol.alth-steps li:last-child { padding-bottom: 0; }
.article .alth-lp ol.alth-steps li:last-child::after { display: none; }
.article .alth-lp ol.alth-steps li strong { color: var(--alth-text); }

/* 詳細の表（リストに alth-info） */
.article .alth-lp ul.alth-info { list-style: none; margin: 0 0 16px; padding: 0; text-align: left; }
.article .alth-lp ul.alth-info li {
  display: flex;
  gap: 12px;
  margin: 0;
  padding: 12px 0;
  border-bottom: 1px solid #EFE7E0;
  font-size: 15px;
  line-height: 1.7;
  list-style: none;
}
.article .alth-lp ul.alth-info li::before { content: none; }
.article .alth-lp ul.alth-info li strong {
  flex: 0 0 5em;
  color: var(--alth-sub);
  font-size: 14px;
  font-weight: 500;
}

/* 小さな注意書き（段落に alth-note） */
.article .alth-lp .alth-note { color: var(--alth-sub); font-size: 13px; line-height: 1.8; }

/* お客様の声カードの中のラベル */
.article .alth-lp .alth-card p.alth-label { margin-top: 4px; }

/* セクションの締めの文章 */
.article .alth-lp .alth-closing { margin-top: 32px; }

/* カードのすぐ後の見出しに余白 */
body .article .alth-lp .alth-card + h3 { margin-top: 40px; }

/* ---------- セッションページ用（v1.5） ---------- */
/* ページ内リンクで移動したとき、見出しが上のメニューに隠れないように */
.alth-lp [id] { scroll-margin-top: 72px; }

/* ページの冒頭 */
.alth-lp .alth-page-head { padding-top: 24px; padding-bottom: 32px; }

/* 比較カードの小さな文字（時間・料金） */
.article .alth-lp .alth-grid2 .alth-card p.alth-card-meta {
  margin-top: 10px;
  color: var(--alth-accent-dark);
  font-size: 12px;
}

/* 色の帯をセクションとして使うとき */
.alth-lp .alth-band-section { padding-top: 56px; padding-bottom: 56px; }

/* カードの見出し（h3）は中央揃え */
body .article .alth-lp .alth-card h3 { text-align: center; }

/* 点のリスト（リストに alth-points） */
.article .alth-lp ul.alth-points { list-style: none; margin: 0 0 16px; padding: 0; text-align: left; }
.article .alth-lp ul.alth-points li {
  position: relative;
  margin: 0 0 8px;
  padding: 0 0 0 22px;
  font-size: 15px;
  line-height: 1.8;
  list-style: none;
}
.article .alth-lp ul.alth-points li::before {
  content: "";
  position: absolute;
  left: 4px;
  top: .72em;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--alth-accent);
  opacity: .55;
}

/* 番号つきの流れ（番号リストに alth-steps） */
.article .alth-lp ol.alth-steps { list-style: none; counter-reset: alth-step; margin: 0; padding: 0; text-align: left; }
.article .alth-lp ol.alth-steps li {
  counter-increment: alth-step;
  position: relative;
  margin: 0;
  padding: 2px 0 20px 46px;
  font-size: 15px;
  line-height: 1.8;
  list-style: none;
}
.article .alth-lp ol.alth-steps li::before {
  content: counter(alth-step);
  position: absolute;
  left: 0;
  top: 0;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: var(--alth-chip);
  color: var(--alth-accent-dark);
  font-size: 14px;
  font-weight: 700;
  line-height: 30px;
  text-align: center;
}
.article .alth-lp ol.alth-steps li::after {
  content: "";
  position: absolute;
  left: 14px;
  top: 34px;
  bottom: 4px;
  width: 2px;
  background: var(--alth-chip);
}
.article .alth-lp ol.alth-steps li:last-child { padding-bottom: 0; }
.article .alth-lp ol.alth-steps li:last-child::after { display: none; }
.article .alth-lp ol.alth-steps li strong { color: var(--alth-text); }

/* 詳細の表（リストに alth-info） */
.article .alth-lp ul.alth-info { list-style: none; margin: 0 0 16px; padding: 0; text-align: left; }
.article .alth-lp ul.alth-info li {
  display: flex;
  gap: 12px;
  margin: 0;
  padding: 12px 0;
  border-bottom: 1px solid #EFE7E0;
  font-size: 15px;
  line-height: 1.7;
  list-style: none;
}
.article .alth-lp ul.alth-info li::before { content: none; }
.article .alth-lp ul.alth-info li strong {
  flex: 0 0 5em;
  color: var(--alth-sub);
  font-size: 14px;
  font-weight: 500;
}

/* 小さな注意書き（段落に alth-note） */
.article .alth-lp .alth-note { color: var(--alth-sub); font-size: 13px; line-height: 1.8; }

/* お客様の声カードの中のラベル */
.article .alth-lp .alth-card p.alth-label { margin-top: 4px; }

/* セクションの締めの文章 */
.article .alth-lp .alth-closing { margin-top: 32px; }

/* カードのすぐ後の見出しに余白 */
body .article .alth-lp .alth-card + h3 { margin-top: 40px; }
/* ---------- セッションページ用（v1.5） ---------- */
/* ページ内リンクで移動したとき、見出しが上のメニューに隠れないように */
.alth-lp [id] { scroll-margin-top: 72px; }

/* ページの冒頭 */
.alth-lp .alth-page-head { padding-top: 24px; padding-bottom: 32px; }

/* 比較カードの小さな文字（時間・料金） */
.article .alth-lp .alth-grid2 .alth-card p.alth-card-meta {
  margin-top: 10px;
  color: var(--alth-accent-dark);
  font-size: 12px;
}

/* 色の帯をセクションとして使うとき */
.alth-lp .alth-band-section { padding-top: 56px; padding-bottom: 56px; }

/* カードの見出し（h3）は中央揃え */
body .article .alth-lp .alth-card h3 { text-align: center; }

/* 点のリスト（リストに alth-points） */
.article .alth-lp ul.alth-points { list-style: none; margin: 0 0 16px; padding: 0; text-align: left; }
.article .alth-lp ul.alth-points li {
  position: relative;
  margin: 0 0 8px;
  padding: 0 0 0 22px;
  font-size: 15px;
  line-height: 1.8;
  list-style: none;
}
.article .alth-lp ul.alth-points li::before {
  content: "";
  position: absolute;
  left: 4px;
  top: .72em;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--alth-accent);
  opacity: .55;
}

/* 番号つきの流れ（番号リストに alth-steps） */
.article .alth-lp ol.alth-steps { list-style: none; counter-reset: alth-step; margin: 0; padding: 0; text-align: left; }
.article .alth-lp ol.alth-steps li {
  counter-increment: alth-step;
  position: relative;
  margin: 0;
  padding: 2px 0 20px 46px;
  font-size: 15px;
  line-height: 1.8;
  list-style: none;
}
.article .alth-lp ol.alth-steps li::before {
  content: counter(alth-step);
  position: absolute;
  left: 0;
  top: 0;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: var(--alth-chip);
  color: var(--alth-accent-dark);
  font-size: 14px;
  font-weight: 700;
  line-height: 30px;
  text-align: center;
}
.article .alth-lp ol.alth-steps li::after {
  content: "";
  position: absolute;
  left: 14px;
  top: 34px;
  bottom: 4px;
  width: 2px;
  background: var(--alth-chip);
}
.article .alth-lp ol.alth-steps li:last-child { padding-bottom: 0; }
.article .alth-lp ol.alth-steps li:last-child::after { display: none; }
.article .alth-lp ol.alth-steps li strong { color: var(--alth-text); }

/* 詳細の表（リストに alth-info） */
.article .alth-lp ul.alth-info { list-style: none; margin: 0 0 16px; padding: 0; text-align: left; }
.article .alth-lp ul.alth-info li {
  display: flex;
  gap: 12px;
  margin: 0;
  padding: 12px 0;
  border-bottom: 1px solid #EFE7E0;
  font-size: 15px;
  line-height: 1.7;
  list-style: none;
}
.article .alth-lp ul.alth-info li::before { content: none; }
.article .alth-lp ul.alth-info li strong {
  flex: 0 0 5em;
  color: var(--alth-sub);
  font-size: 14px;
  font-weight: 500;
}

/* 小さな注意書き（段落に alth-note） */
.article .alth-lp .alth-note { color: var(--alth-sub); font-size: 13px; line-height: 1.8; }

/* お客様の声カードの中のラベル */
.article .alth-lp .alth-card p.alth-label { margin-top: 4px; }

/* セクションの締めの文章 */
.article .alth-lp .alth-closing { margin-top: 32px; }

/* カードのすぐ後の見出しに余白 */
body .article .alth-lp .alth-card + h3 { margin-top: 40px; }
