@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（v3.8 統合版＋記事一覧＋個人セッション＋メリハリ＋金の差し色＋4つの切り口）
   ---------------------------------------------------------
   これまでの7つのCSSを1つにまとめたものです
     alth-common.css / alth-common-add.css（v1.1〜1.4）/ alth-bar.css /
     alth-session.css（v1.5）/ alth-tone.css（v2.0〜2.5）/
     alth-top-v2.css / alth-luxury.css（v2.6）
   ・子テーマ style.css の中身を、このファイル全体（先頭の Cocoon Child の見出しを含む）に置き換えます
   ・先頭の @charset と Theme Name〜Version の部分は Cocoon の仕様で必須。消さないこと
   ・alth- で始まるクラスを付けたブロックにだけ効きます
   ・フォント（ヘッド用コード）: Noto Sans JP（400・500・700）／Shippori Mincho（500）／
     Cormorant Garamond（斜体500）。Zen Maru Gothic はもう使っていません
   ・動き（⑰）は、フッター用コードの alth-reveal.html とセットで働きます
   ========================================================= */

/* ---------- ① 色・書体の基本 ---------- */
.alth-lp {
  --alth-text: #383838;        /* 本文 */
  --alth-sub: #706C67;         /* 補助文字 */
  --alth-accent: #3E484B;      /* 予約ボタン・主要見出し */
  --alth-accent-dark: #30393C; /* 予約ボタンを押したとき */
  --alth-title: #3E484B;       /* 見出し */
  --alth-band: #EEF2F3;        /* 帯の背景 */
  --alth-gold: #7D6E4E;        /* 金の差し色（小さな文字用）：英字の小見出し・ラベル・カテゴリー名 */
  --alth-num: #B4A483;         /* 金の差し色：01〜04 などの番号 */
  --alth-deco: #B4A483;        /* 金の差し色：小さな横線・縦線・リストの印 */
  --alth-line: #DDD9D3;        /* 罫線 */
  --alth-radius: 2px;
  --alth-serif: "Shippori Mincho", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif;
  --alth-latin: "Cormorant Garamond", "Times New Roman", serif;
  /* 記事カードのテーマ色 */
  --alth-t-belief: #A9B8BE;
  --alth-t-body: #AEB9AC;
  --alth-t-relationship: #BEB0AE;
  --alth-t-true-self: #C2B8A6;
  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: .04em;
}
body:has(.alth-lp) { background-color: #F8F6F2; }
/* Cocoon（スキン）が本文の枠 #content・#main を白く塗るため、alth のページでは透明にして温かい白を見せる（v3.8） */
body:has(.alth-lp) #content,
body:has(.alth-lp) #main { background-color: transparent; }
.article .alth-lp p { margin: 0 0 1.2em; font-size: 16px; line-height: 2; }
.alth-lp [id] { scroll-margin-top: 72px; }

/* ---------- ② 見出し（明朝体） ---------- */
body .article .alth-lp h1,
body .article .alth-lp h2,
body .article .alth-lp h3 {
  background: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
  font-family: var(--alth-serif);
  font-weight: 500;
}
body .article .alth-lp h1::before, body .article .alth-lp h1::after,
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 36px;
  color: var(--alth-title);
  font-size: 23px;
  line-height: 1.85;
  letter-spacing: .08em;
  text-align: left;
}
body .article .alth-lp h3 {
  margin: 0 0 12px;
  color: var(--alth-title);
  font-size: 18px;
  line-height: 1.85;
  letter-spacing: .1em;
}
body .article .alth-lp .alth-center h2,
body .article .alth-lp .alth-band h2 { text-align: center; }
.alth-lp .alth-center h3 { text-align: center; }
body .article .alth-lp .alth-card h3 { text-align: left; }
body .article .alth-lp .alth-card + h3 { margin-top: 40px; }
/* キャッチ（H1） */
.article .alth-lp .alth-catch {
  margin: 0 0 16px;
  color: var(--alth-title);
  font-family: var(--alth-serif);
  font-size: 28px;
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: .14em;
}
/* 見出し・引用などは約物（、。「」）のすき間を詰める */
body .article .alth-lp h1, body .article .alth-lp h2, body .article .alth-lp h3,
.article .alth-lp .alth-catch, .article .alth-lp .alth-quote, .article .alth-lp .alth-quiet,
.article .alth-lp .alth-turn, .article .alth-lp .alth-post-title, .article .alth-lp .alth-column-lead {
  font-feature-settings: "palt" 1;
}

/* ---------- ③ 英字の小見出し・補足の文字 ---------- */
.article .alth-lp .alth-eyebrow {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0 0 20px;
  color: var(--alth-gold);
  font-size: 10px;
  letter-spacing: .42em;
  text-align: left;
}
.article .alth-lp .alth-eyebrow::after,
.article .alth-lp .alth-center .alth-eyebrow::before,
.article .alth-lp .alth-band > .alth-eyebrow::before,
.article .alth-lp .alth-eyebrow.alth-center::before {
  content: "";
  width: 40px;
  height: 1px;
  background: var(--alth-deco);
}
.article .alth-lp .alth-center .alth-eyebrow,
.article .alth-lp .alth-band > .alth-eyebrow,
.article .alth-lp .alth-eyebrow.alth-center { justify-content: center; }
.article .alth-lp .alth-sub { color: var(--alth-sub); font-size: 14px; }
.article .alth-lp .alth-note { color: var(--alth-sub); font-size: 13px; line-height: 1.8; }
.alth-lp .alth-center { text-align: center; }
.alth-lp .alth-left { text-align: left; }

/* ---------- ④ セクションと帯 ---------- */
.alth-lp .alth-section { padding: 88px 0; }
.alth-lp .alth-section-tight { padding-top: 16px; }
.alth-lp .alth-page-head { padding: 40px 0 56px; }
.alth-lp .alth-band {
  margin-top: 0;
  margin-bottom: 0;
  padding: 84px 24px;
  border-radius: var(--alth-radius);
  background: var(--alth-band);
}
@media (max-width: 834px) {
  .alth-lp .alth-band { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); border-radius: 0; }
}
.article .alth-lp .alth-band .alth-sub.alth-center { margin: 0 0 16px; font-size: 12px; }

/* ---------- ⑤ カード ---------- */
.alth-lp .alth-card {
  margin: 0 0 24px;
  padding: 36px 26px;
  border: 1px solid var(--alth-line);
  border-radius: var(--alth-radius);
  background: #FFFFFF;
}
.alth-lp .alth-card.alth-center { text-align: left; }
.alth-lp .alth-band .alth-card { border-color: transparent; }
.alth-lp .alth-card-plain { background: transparent; }
.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 .alth-hero { margin: 0 0 44px; }
.alth-lp .alth-hero img { display: block; width: 100%; height: 300px; object-fit: cover; object-position: center 30%; }
@media (max-width: 834px) {
  .alth-lp .alth-hero { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }
}
.alth-lp .alth-avatar { width: 140px; margin: 8px auto 16px; }
.alth-lp .alth-avatar img { display: block; width: 140px; height: 140px; border-radius: 50%; object-fit: cover; filter: saturate(.85); }
.article .alth-lp .alth-avatar + .alth-sub { margin: 0 0 20px; }
.article .alth-lp .alth-name {
  margin: 0 0 20px;
  font-family: var(--alth-serif);
  font-size: 24px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: .2em;
}

/* ---------- ⑦ ボタン ---------- */
.alth-lp .wp-block-buttons { display: flex; flex-direction: column; align-items: center; gap: 12px; margin: 0 0 12px; }
.alth-lp .wp-block-buttons > .wp-block-button { margin: 0; }
.alth-lp .alth-card .wp-block-buttons { align-items: flex-start; }
.alth-lp .alth-hero-text .wp-block-buttons,
.alth-lp .alth-grid2 + .wp-block-buttons { margin-top: 24px; }
/* 予約ボタン：深い青灰色の面＋内側の細い線。横幅は文字に合わせる */
.alth-lp .alth-btn .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  min-height: 56px;
  padding: 0 28px;
  border: 1px solid var(--alth-accent);
  border-radius: var(--alth-radius);
  background: var(--alth-accent);
  color: #FFFFFF;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: .08em;
  text-decoration: none;
  box-sizing: border-box;
  outline: 1px solid rgba(255, 255, 255, .32);
  outline-offset: -5px;
  transition: background-color .5s, border-color .5s, color .5s, outline-color .5s;
}
.alth-lp .alth-btn .wp-block-button__link:hover {
  background: var(--alth-accent-dark);
  border-color: var(--alth-accent-dark);
  color: #FFFFFF;
  outline-color: rgba(255, 255, 255, .5);
}
.alth-lp .alth-btn .wp-block-button__link::after {
  content: "→";
  margin-left: 2px;
  font-family: var(--alth-latin);
  font-size: 18px;
  line-height: 1;
}
.alth-lp .alth-btn.alth-btn-wide { width: auto; }
.alth-lp .alth-btn.alth-btn-wide .wp-block-button__link { width: auto; min-width: 300px; }
/* 枠線だけのボタン（カードの中の「くわしく見る」も） */
.alth-lp .alth-btn.alth-btn-outline .wp-block-button__link,
.alth-lp .alth-card .alth-btn:not(.alth-btn-wide) .wp-block-button__link {
  background: transparent;
  color: var(--alth-accent);
  outline: 0;
}
.alth-lp .alth-btn.alth-btn-outline .wp-block-button__link:hover,
.alth-lp .alth-card .alth-btn:not(.alth-btn-wide) .wp-block-button__link:hover {
  background: var(--alth-accent);
  color: #FFFFFF;
}
.alth-lp .alth-card .alth-btn:not(.alth-btn-wide) .wp-block-button__link { min-height: 48px; }

/* ---------- ⑧ リスト ---------- */
.article .alth-lp ul.alth-check,
.article .alth-lp ul.alth-tags,
.article .alth-lp ul.alth-points,
.article .alth-lp ul.alth-info,
.article .alth-lp ul.alth-chips,
.article .alth-lp ol.alth-steps,
.article .alth-lp ol.alth-keys { list-style: none; padding: 0; }
.article .alth-lp ul.alth-check li,
.article .alth-lp ul.alth-tags li,
.article .alth-lp ul.alth-points li,
.article .alth-lp ul.alth-info li,
.article .alth-lp ul.alth-chips li,
.article .alth-lp ol.alth-steps li,
.article .alth-lp ol.alth-keys li { list-style: none; }
.article .alth-lp ul.alth-tags li::before,
.article .alth-lp ul.alth-info li::before,
.article .alth-lp ul.alth-chips li::before { content: none; }

/* お悩み・実績（alth-check）：細い線で区切る */
.article .alth-lp ul.alth-check { margin: 0 0 24px; }
.article .alth-lp ul.alth-check li {
  position: relative;
  margin: 0;
  padding: 16px 4px 16px 36px;
  border-bottom: 1px solid var(--alth-line);
  font-size: 15px;
  line-height: 1.7;
}
.article .alth-lp .alth-section ul.alth-check li { font-size: 14px; text-align: left; }
.article .alth-lp ul.alth-check li:first-child { border-top: 1px solid var(--alth-line); }
.article .alth-lp ul.alth-check li::before {
  content: "";
  position: absolute;
  left: 6px;
  top: 1.65em;
  width: 16px;
  border-top: 1px solid var(--alth-deco);
}

/* 時間・料金のタグ（alth-tags） */
.article .alth-lp ul.alth-tags { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 20px; }
.alth-lp .alth-center ul.alth-tags,
.article .alth-lp ul.alth-tags.alth-center { justify-content: center; }
.alth-lp .alth-card.alth-center ul.alth-tags,
.article .alth-lp .alth-more ul.alth-tags { justify-content: flex-start; }
.article .alth-lp ul.alth-tags li {
  margin: 0;
  padding: 3px 12px;
  border: 1px solid var(--alth-line);
  border-radius: var(--alth-radius);
  color: var(--alth-sub);
  font-size: 12px;
  line-height: 1.6;
  letter-spacing: .1em;
}

/* 点のリスト（alth-points） */
.article .alth-lp ul.alth-points { margin: 0 0 16px; 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; }
.article .alth-lp ul.alth-points li::before {
  content: "";
  position: absolute;
  left: 4px;
  top: .95em;
  width: 10px;
  height: 1px;
  background: var(--alth-deco);
}

/* 番号つきの流れ（alth-steps） */
.article .alth-lp ol.alth-steps { counter-reset: alth-step; margin: 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;
}
.article .alth-lp ol.alth-steps li::before {
  content: counter(alth-step);
  position: absolute;
  left: 0;
  top: 0;
  width: 30px;
  height: 30px;
  border: 1px solid var(--alth-line);
  border-radius: 50%;
  color: var(--alth-num);
  font-family: var(--alth-latin);
  font-size: 22px;
  font-style: italic;
  font-weight: 500;
  line-height: 30px;
  text-align: center;
}
.article .alth-lp ol.alth-steps li::after {
  content: "";
  position: absolute;
  left: 15px;
  top: 34px;
  bottom: 4px;
  width: 1px;
  background: var(--alth-line);
}
.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 { margin: 0 0 16px; text-align: left; }
.article .alth-lp ul.alth-info li {
  display: flex;
  gap: 12px;
  margin: 0;
  padding: 12px 0;
  border-bottom: 1px solid var(--alth-line);
  font-size: 15px;
  line-height: 1.7;
}
.article .alth-lp ul.alth-info li strong { flex: 0 0 5em; color: var(--alth-sub); font-size: 14px; font-weight: 500; }

/* 4つの切り口（alth-keys）：白いカード＋大きな金の数字＋金の短い横線（v3.7） */
.article .alth-lp ol.alth-keys {
  counter-reset: alth-key;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 16px 0 56px;
}
.article .alth-lp ol.alth-keys li {
  counter-increment: alth-key;
  position: relative;
  margin: 0;
  padding: 24px 14px;
  background: #FFFFFF;
  color: var(--alth-title);
  font-family: var(--alth-serif);
  font-size: 20px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .08em;
}
.article .alth-lp ol.alth-keys li::before {
  content: "0" counter(alth-key);
  display: block;
  margin: 0 0 22px;
  color: var(--alth-num);
  font-family: var(--alth-latin);
  font-size: 40px;
  font-style: italic;
  letter-spacing: 0;
  line-height: 1;
}
.article .alth-lp ol.alth-keys li::after {
  content: "";
  position: absolute;
  top: 76px;
  left: 14px;
  width: 20px;
  height: 1px;
  background: var(--alth-deco);
}
.article .alth-lp ol.alth-keys li span {
  display: block;
  margin-top: 8px;
  color: var(--alth-sub);
  font-family: "Noto Sans JP", sans-serif;
  font-size: 12px;
  line-height: 1.6;
  letter-spacing: 0;
}

/* テーマのボタン（alth-chips） */
.article .alth-lp ul.alth-chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin: 0 0 56px; }
.article .alth-lp ul.alth-chips li { margin: 0; padding: 0; }
.alth-lp .alth-chips a {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 0 12px;
  border: 1px solid var(--alth-line);
  background: rgba(255, 255, 255, .6);
  color: var(--alth-text);
  font-size: 13px;
  letter-spacing: .04em;
  text-decoration: none;
  transition: border-color .5s;
}
.alth-lp .alth-chips a:hover { border-color: var(--alth-text); }

/* ---------- ⑨ 「続きを読む」（詳細ブロックに alth-more） ---------- */
.alth-lp .alth-more { margin: 4px 0 0; text-align: left; }
.alth-lp .alth-more summary {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  color: var(--alth-text);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .14em;
  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: 1px solid currentColor;
  border-bottom: 1px 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-label {
  display: inline-block;
  margin: 0 0 12px;
  color: var(--alth-gold);
  font-size: 11px;
  line-height: 1.8;
  letter-spacing: .24em;
}
.article .alth-lp .alth-card p.alth-label { margin-top: 4px; }
.article .alth-lp .alth-quote {
  margin: 0 0 12px;
  font-family: var(--alth-serif);
  font-size: 17px;
  font-weight: 500;
  line-height: 1.9;
  letter-spacing: .06em;
}
.alth-lp .alth-voices { margin: 72px 0 0; }
.article .alth-lp .alth-voices-head { margin: 0 0 8px; color: var(--alth-gold); font-size: 10px; letter-spacing: .42em; }
.alth-lp .alth-voice { padding: 36px 0; border-bottom: 1px solid var(--alth-line); }
.article .alth-lp .alth-voice .alth-quote { position: relative; margin: 0 0 14px; padding-top: 26px; font-size: 19px; line-height: 1.8; }
.article .alth-lp .alth-voice .alth-quote::before {
  content: "“";
  position: absolute;
  top: -6px;
  left: -2px;
  color: var(--alth-deco);
  font-family: var(--alth-latin);
  font-size: 48px;
  line-height: 1;
}
.article .alth-lp .alth-voice-note { margin: 0 0 12px; color: var(--alth-sub); font-size: 14px; line-height: 1.9; }
.article .alth-lp .alth-voice .alth-label { margin: 0; }
/* 横にスワイプするカード（旧トップ用） */
.alth-lp .alth-scroll {
  display: flex;
  gap: 14px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-padding-left: 20px;
  -webkit-overflow-scrolling: touch;
  margin: 0 -20px;
  padding: 4px 20px 16px;
  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; }
.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 { font-size: 17px; line-height: 1.9; }

/* ---------- ⑪ 2列のカード（4つのテーマ・セッションの比較） ---------- */
.alth-lp .alth-grid2 {
  counter-reset: alth-theme;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--alth-line);
  border-left: 1px solid var(--alth-line);
}
.alth-lp .alth-grid2 > .wp-block-group__inner-container { display: contents; }
.alth-lp .alth-grid2 .alth-card {
  margin: 0;
  padding: 24px 16px 28px;
  border: 0;
  border-right: 1px solid var(--alth-line);
  border-bottom: 1px solid var(--alth-line);
  border-radius: 0;
  background: rgba(255, 255, 255, .55);
  font-size: 13px;
  line-height: 1.6;
}
.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-family: var(--alth-serif);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: .02em;
}
.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-theme { counter-increment: alth-theme; position: relative; transition: background-color .5s; }
.alth-lp .alth-theme::before {
  content: "0" counter(alth-theme);
  display: block;
  margin: 0 0 6px;
  color: var(--alth-num);
  font-family: var(--alth-latin);
  font-size: 30px;
  font-style: italic;
  line-height: 1;
}
.alth-lp .alth-theme a { color: var(--alth-text); text-decoration: none; }
.alth-lp .alth-theme a::after { content: ""; position: absolute; inset: 0; }
.alth-lp .alth-theme:hover { background: #FFFFFF; }

/* ---------- ⑫ 記事カード（alth-post） ---------- */
.alth-lp .alth-t-belief { --alth-t: var(--alth-t-belief); }
.alth-lp .alth-t-body { --alth-t: var(--alth-t-body); }
.alth-lp .alth-t-relationship { --alth-t: var(--alth-t-relationship); }
.alth-lp .alth-t-true-self { --alth-t: var(--alth-t-true-self); }
.alth-lp .alth-posts { counter-reset: alth-post; display: grid; gap: 10px; }
.alth-lp .alth-posts > .wp-block-group__inner-container { display: contents; }
.alth-lp .alth-post {
  counter-increment: alth-post;
  position: relative;
  margin: 0;
  padding: 20px 44px 20px 22px;
  border-left: 3px solid var(--alth-t, var(--alth-line));
  background: #FFFFFF;
  text-align: left;
  transition: background-color .5s;
}
.alth-lp .alth-post::after {
  content: "→";
  position: absolute;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--alth-sub);
  font-family: var(--alth-latin);
  font-size: 18px;
}
.alth-lp .alth-post:hover { background: #FBFAF8; }
.article .alth-lp .alth-post p { margin: 0; }
.article .alth-lp .alth-post p.alth-post-label {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin-bottom: 6px;
  color: var(--alth-gold);
  font-size: 11px;
  letter-spacing: .2em;
}
.article .alth-lp .alth-post p.alth-post-label::before {
  content: "0" counter(alth-post);
  color: var(--alth-num);
  font-family: var(--alth-latin);
  font-size: 22px;
  font-style: italic;
  line-height: 1;
  letter-spacing: 0;
}
.article .alth-lp .alth-post p.alth-post-title { font-family: var(--alth-serif); font-size: 16px; font-weight: 500; line-height: 1.75; letter-spacing: .04em; }
.alth-lp .alth-post-title a { color: var(--alth-text); text-decoration: none; }
.alth-lp .alth-post-title a::before { content: ""; position: absolute; inset: 0; }
.article .alth-lp .alth-post p.alth-post-sub { margin-top: 4px; color: var(--alth-sub); font-size: 13px; line-height: 1.7; }

/* ---------- ⑬ 文章の部品 ---------- */
.alth-lp .alth-hero-text { padding: 0 0 8px; }
.alth-top2 .alth-hero-text { padding-bottom: 40px; }
.article .alth-lp .alth-lead { margin: 0 0 44px; font-size: 15px; line-height: 2; }
.article .alth-lp .alth-intro { font-size: 15px; line-height: 1.9; }
.article .alth-lp .alth-emphasis { margin-top: 8px; }
.article .alth-lp .alth-closing { margin-top: 32px; }
/* 「そんな方へ」の前の縦線 */
.article .alth-lp .alth-turn {
  position: relative;
  margin: 0;
  padding-top: 80px;
  font-family: var(--alth-serif);
  font-size: 17px;
  font-weight: 500;
  line-height: 2;
  letter-spacing: .06em;
}
.article .alth-lp .alth-turn::before {
  content: "";
  position: absolute;
  top: 12px;
  left: 50%;
  width: 1px;
  height: 48px;
  background: var(--alth-deco);
}
/* 明朝体の静かな文章 */
.article .alth-lp .alth-quiet { margin: 0 0 1.4em; font-family: var(--alth-serif); font-size: 17px; line-height: 2.1; letter-spacing: .06em; }
.article .alth-lp .alth-quiet-last { margin: 0; color: var(--alth-title); }
.article .alth-lp .alth-column-lead { margin: 0 0 16px; font-family: var(--alth-serif); font-size: 18px; letter-spacing: .06em; text-align: center; }
/* テキストリンク：文字＋→ */
.article .alth-lp .alth-link { margin: 24px 0 0; font-size: 14px; letter-spacing: .1em; }
.alth-column .alth-link { text-align: center; }
.alth-lp .alth-link a {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding-bottom: 6px;
  border-bottom: 1px solid var(--alth-accent);
  color: var(--alth-accent);
  text-decoration: none;
  transition-duration: .5s;
}
.alth-lp .alth-link a::after { content: "→"; font-family: var(--alth-latin); font-size: 18px; line-height: 1; }
.alth-closing-cta { border-top: 1px solid var(--alth-line); }

/* ---------- ⑭ Cocoon の表示の調整 ---------- */
/* alth-lp を使ったページでは、Cocoonのページタイトルと日付を隠す */
.article:has(.alth-lp) .entry-title,
.article:has(.alth-lp) .date-tags { display: none; }
/* トップページだけ、スキンの全画面ヘッダー画像を隠す */
body.home:has(.alth-lp) #header { display: none; }

/* ---------- ⑮ 画面下の予約バー（スマホだけ） ---------- */
.alth-bar { display: none; }
@media (max-width: 834px) {
  .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(248, 246, 242, .97);
    box-shadow: 0 -1px 0 #DDD9D3;
    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: 1px solid #3E484B;
    border-radius: 2px;
    box-sizing: border-box;
    font-size: 15px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: .1em;
    text-decoration: none;
  }
  .alth-bar a.alth-bar__btn--outline,
  .alth-bar a.alth-bar__btn--outline:visited { background: transparent; color: #3E484B; }
  .alth-bar a.alth-bar__btn--outline:hover { background: #E6ECEE; color: #3E484B; }
  .alth-bar a.alth-bar__btn--main,
  .alth-bar a.alth-bar__btn--main:visited {
    flex-grow: 1.4;
    background: #3E484B;
    color: #FFFFFF;
    outline: 1px solid rgba(255, 255, 255, .32);
    outline-offset: -4px;
  }
  .alth-bar a.alth-bar__btn--main:hover { background: #30393C; border-color: #30393C; color: #FFFFFF; }
  .alth-bar svg { flex-shrink: 0; }
  body { padding-bottom: calc(70px + env(safe-area-inset-bottom)); }
}

/* ---------- ⑯ パソコンで見たとき ---------- */
@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); }
  .article .alth-lp ol.alth-keys { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* ---------- ⑱ 記事一覧（v3.1） ---------- */
/* テーマのボタンで飛んだとき、見出しが上のメニューに隠れないように */
html:has(.alth-articles) { scroll-behavior: smooth; }
.article .alth-lp .alth-terms { margin: 24px 0 0; color: var(--alth-sub); font-size: 13px; line-height: 2; text-align: center; }
.alth-lp .alth-terms a { color: var(--alth-accent); }
/* テーマごとの区切り */
.alth-lp .alth-topic + .alth-topic { border-top: 1px solid var(--alth-line); }
.article .alth-lp .alth-theme-lead {
  margin: -16px 0 32px;
  color: var(--alth-sub);
  font-size: 14px;
  line-height: 2;
}
.alth-lp .alth-topic .alth-more { margin-top: 12px; }
.alth-lp .alth-topic .alth-more[open] summary { margin-bottom: 10px; }
/* 特集（シリーズ記事のまとまり） */
.alth-lp .alth-series {
  margin: 40px 0 0;
  padding: 32px 18px 18px;
  border: 1px solid var(--alth-line);
  background: rgba(255, 255, 255, .5);
}
.article .alth-lp .alth-series-title {
  margin: 0 0 8px;
  color: var(--alth-title);
  font-family: var(--alth-serif);
  font-size: 17px;
  font-weight: 500;
  line-height: 1.9;
  letter-spacing: .06em;
  text-align: center;
  font-feature-settings: "palt" 1;
}
.article .alth-lp .alth-series .alth-sub { margin: 0 0 20px; font-size: 13px; text-align: center; }
/* 途中のセッション案内 */
.alth-lp .alth-midcta {
  padding: 56px 8px;
  border-top: 1px solid var(--alth-line);
  border-bottom: 1px solid var(--alth-line);
  text-align: center;
}
.article .alth-lp .alth-midcta-title {
  margin: 0 0 12px;
  color: var(--alth-title);
  font-family: var(--alth-serif);
  font-size: 18px;
  letter-spacing: .06em;
  font-feature-settings: "palt" 1;
}
.article .alth-lp .alth-midcta p { font-size: 14px; }
.alth-lp .alth-midcta + .alth-topic { border-top: 0; }
/* そのほか・テーマのない記事カードの線 */
.alth-lp .alth-others { --alth-t: var(--alth-line); }
.article .alth-lp .alth-others .alth-note { margin: 20px 0 0; text-align: center; }
.alth-lp .alth-others .alth-note a { color: var(--alth-accent); }
@media (min-width: 835px) {
  .alth-articles .alth-topic .alth-posts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ---------- ⑲ セッションページ（v3.3） ---------- */
/* メニューごとのまとまり：帯の見出し → 白いパネル → 本文 → 詳細 → 帯のお客様の声 → 予約 */
.alth-lp .alth-session { counter-reset: alth-menu; }
.alth-lp .alth-menu { counter-increment: alth-menu; padding: 0 0 80px; }
.article .alth-lp .alth-grid-note { margin: 16px 0 0; font-size: 12px; text-align: center; }
/* メニューの見出し（帯・大きな番号） */
.alth-lp .alth-menu-head {
  margin: 0 calc(50% - 50vw) 0;
  padding: 72px 20px 56px;
  background: var(--alth-band);
}
.alth-lp .alth-menu-head::before {
  content: "0" counter(alth-menu);
  display: block;
  margin: 0 0 8px;
  color: var(--alth-num);
  font-family: var(--alth-latin);
  font-size: 64px;
  font-style: italic;
  line-height: 1;
}
body .article .alth-lp .alth-menu-head h2 { margin-bottom: 12px; font-size: 26px; text-align: left; }
.article .alth-lp .alth-menu-head ul.alth-tags { margin: 0; }
.article .alth-lp .alth-menu-head > :last-child { margin-bottom: 0; }
/* 小見出しの上の英字ラベル */
.article .alth-lp .alth-h3-label {
  margin: 0 0 6px;
  color: var(--alth-gold);
  font-size: 10px;
  letter-spacing: .42em;
}
body .article .alth-lp .alth-menu h3 { margin: 0 0 20px; font-size: 19px; letter-spacing: .06em; }
/* 本文のまとまり */
.alth-lp .alth-menu .alth-block { margin: 56px 0 0; }
/* 白いパネル：こんな方 → 目指す変化 */
.alth-lp .alth-panel {
  position: relative;
  margin: -24px 0 0;
  padding: 36px 24px 32px;
  border: 1px solid var(--alth-line);
  background: #FFFFFF;
}
.alth-lp .alth-panel .alth-block { margin: 0; }
.alth-lp .alth-panel .alth-block-change {
  position: relative;
  margin-top: 40px;
  padding-top: 40px;
  border-top: 1px solid var(--alth-line);
}
.alth-lp .alth-panel .alth-block-change::before {
  content: "↓";
  position: absolute;
  top: -15px;
  left: 50%;
  width: 30px;
  margin-left: -15px;
  background: #FFFFFF;
  color: var(--alth-num);
  font-family: var(--alth-latin);
  font-size: 22px;
  line-height: 30px;
  text-align: center;
}
.article .alth-lp .alth-panel ul.alth-check { margin-bottom: 16px; }
.article .alth-lp .alth-panel .alth-note { margin: 0; }
.article .alth-lp .alth-panel ul.alth-points { margin: 0; }
.article .alth-lp .alth-panel ul.alth-points li { font-size: 16px; color: var(--alth-title); }
/* 詳細：上に濃い線を1本 */
.alth-lp .alth-menu .alth-detail { margin-top: 64px; border-top: 2px solid var(--alth-accent); }
/* お客様の声：帯 */
.alth-lp .alth-voices-band {
  margin: 64px calc(50% - 50vw) 0;
  padding: 64px 20px 56px;
  background: var(--alth-band);
}
.article .alth-lp .alth-menu .alth-voice { border-bottom: 0; padding-bottom: 8px; }
.article .alth-lp .alth-menu .alth-voice .alth-label { display: block; margin: 20px 0 6px; }
.article .alth-lp .alth-menu .alth-voice .alth-voice-note { margin: 0; }
.article .alth-lp .alth-menu .alth-voice ul.alth-points { margin: 0; }
.article .alth-lp .alth-menu .alth-voice ul.alth-points li { font-size: 14px; }
.alth-lp .alth-menu .alth-voice .alth-more { margin-top: 12px; }
.article .alth-lp .alth-menu .alth-voice .alth-more p { font-size: 14px; color: var(--alth-sub); }
/* メニューの締めの言葉と予約ボタン */
.article .alth-lp .alth-menu-closing { margin: 64px 0 28px; text-align: center; font-size: 16px; }
@media (min-width: 835px) {
  .alth-lp .alth-menu-head, .alth-lp .alth-voices-band { margin-left: 0; margin-right: 0; padding-left: 40px; padding-right: 40px; }
}

/* ---------- ⑳ 個人セッション：一覧と各メニューのページ（v3.4） ---------- */
/* 一覧へ戻る小さなリンク */
.article .alth-lp .alth-crumb { margin: 0 0 28px; font-size: 12px; letter-spacing: .1em; }
.alth-lp .alth-crumb a { color: var(--alth-sub); text-decoration: none; }
.alth-lp .alth-crumb a::before { content: "←"; margin-right: 8px; font-family: var(--alth-latin); }
/* 各メニューのページ：見出しの帯から始める（番号は出さない） */
.alth-lp .alth-menu-single .alth-menu-head { padding-top: 40px; }
.alth-lp .alth-menu-single .alth-menu-head::before { content: none; }
body .article .alth-lp .alth-menu-head h1.alth-menu-title {
  margin: 0 0 12px;
  padding: 0;
  border: 0;
  background: none;
  color: var(--alth-title);
  font-family: var(--alth-serif);
  font-size: 28px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: .1em;
  font-feature-settings: "palt" 1;
}
body .article .alth-lp h1.alth-menu-title::before,
body .article .alth-lp h1.alth-menu-title::after { content: none; display: none; }
/* ボディワーク：勧められて来た方への一言 */
.article .alth-lp .alth-for-guests {
  margin: 40px 0 0;
  padding: 0 0 0 16px;
  border-left: 2px solid var(--alth-deco);
  color: var(--alth-sub);
  font-size: 14px;
  line-height: 2;
}
.alth-lp .alth-for-guests + .alth-panel { margin-top: 40px; }
/* もう一方のメニューへの案内（同じ大きさで） */
.alth-lp .alth-next {
  margin: 0 0 8px;
  padding: 36px 24px;
  border: 1px solid var(--alth-line);
  background: #FFFFFF;
}
.article .alth-lp .alth-next p.alth-h3-label { font-size: 10px; }
.article .alth-lp .alth-next p.alth-next-title {
  margin: 0 0 12px;
  color: var(--alth-title);
  font-family: var(--alth-serif);
  font-size: 18px;
  letter-spacing: .04em;
  font-feature-settings: "palt" 1;
}
.article .alth-lp .alth-next p { font-size: 15px; }
.article .alth-lp .alth-next .alth-link { margin-top: 8px; }
.alth-lp .alth-session-detail .alth-menu { padding-bottom: 72px; }
/* 一覧ページ：なぜ心と身体の両方から */
.article .alth-lp .alth-why p { font-size: 15px; }
/* 一覧ページ：心から／身体から（同じ大きさで並べる） */
.alth-lp .alth-menu-group { margin: 0 0 40px; }
.article .alth-lp .alth-group-title {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0 0 14px;
  color: var(--alth-title);
  font-family: var(--alth-serif);
  font-size: 16px;
  letter-spacing: .1em;
}
.article .alth-lp .alth-group-title::after { content: ""; flex: 1; height: 1px; background: var(--alth-line); }
.alth-lp .alth-menu-card {
  margin: 0 0 12px;
  padding: 32px 24px 28px;
  border: 1px solid var(--alth-line);
  background: #FFFFFF;
}
body .article .alth-lp .alth-menu-card h3 { margin: 0 0 8px; font-size: 21px; letter-spacing: .08em; }
.article .alth-lp .alth-menu-card ul.alth-tags { margin: 0 0 4px; }
.article .alth-lp .alth-menu-card p.alth-h3-label { font-size: 10px; }
.alth-lp .alth-guide-note {
  margin: 8px 0 0;
  padding: 28px 0 0;
  border-top: 1px solid var(--alth-line);
}
.article .alth-lp .alth-guide-note p.alth-guide-title {
  margin: 0 0 8px;
  color: var(--alth-title);
  font-family: var(--alth-serif);
  font-size: 16px;
  letter-spacing: .02em;
  font-feature-settings: "palt" 1;
}
.article .alth-lp .alth-guide-note p { font-size: 14px; }
@media (min-width: 835px) {
  .alth-lp .alth-menu-list .alth-menu-group { margin-bottom: 48px; }
}

/* ---------- ㉑ メリハリ（v3.5） ---------- */
/* 見出しと本文の強弱：セクションの見出しを大きく */
body .article .alth-lp h2 { font-size: 24px; line-height: 1.75; letter-spacing: .04em; }
body .article .alth-lp .alth-menu-head h2 { font-size: 26px; }

/* 濃い色の帯（コンセプトの部分）：帯に alth-band-deep を足す */
.alth-lp .alth-band-deep {
  --alth-deep: #5C554E;        /* 深いグレージュ */
  --alth-text: #F2F0EC;
  --alth-title: #FFFFFF;
  --alth-sub: rgba(242, 240, 236, .8);
  --alth-gold: #D6C9AA;        /* 濃い帯の上の金（小さな文字用） */
  --alth-num: #B4A483;
  --alth-deco: rgba(214, 201, 170, .55);
  background: var(--alth-deep);
  color: var(--alth-text);
  padding-top: 96px;
  padding-bottom: 96px;
}
.article .alth-lp .alth-band-deep p { color: var(--alth-text); }
/* 印象的な一文（段落に alth-pull） */
.article .alth-lp .alth-pull {
  position: relative;
  margin: 40px 0;
  padding: 36px 0 32px;
  border-top: 1px solid var(--alth-deco);
  border-bottom: 1px solid var(--alth-deco);
  color: var(--alth-title);
  font-family: var(--alth-serif);
  font-size: 21px;
  line-height: 1.9;
  letter-spacing: .06em;
  text-align: center;
  font-feature-settings: "palt" 1;
}
.article .alth-lp .alth-band-deep .alth-pull { color: var(--alth-title); }
.article .alth-lp .alth-pull::before {
  content: "“";
  position: absolute;
  top: -22px;
  left: 50%;
  width: 44px;
  margin-left: -22px;
  background: var(--alth-deep, var(--alth-band));
  color: var(--alth-deco);
  font-family: var(--alth-latin);
  font-size: 48px;
  line-height: 44px;
  text-align: center;
}
.article .alth-lp .alth-why-last {
  margin: 32px 0 0;
  color: var(--alth-title);
  font-family: var(--alth-serif);
  font-size: 17px;
  line-height: 2;
  letter-spacing: .06em;
  text-align: center;
}
.article .alth-lp .alth-band-deep .alth-why-last { color: var(--alth-title); }

/* 行動ブロック：メッセージとボタンをひとまとまりに（グループに alth-action） */
.alth-lp .alth-action {
  margin: 64px 0 0;
  padding: 44px 16px 36px;
  border: 1px solid var(--alth-line);
  background: #FFFFFF;
  text-align: center;
}
.article .alth-lp .alth-action .alth-menu-closing { margin: 0 0 28px; font-size: 15px; letter-spacing: .02em; }
.alth-lp .alth-action .wp-block-buttons { margin: 0; }

/* ページ最後の予約エリア：独立したカードに */
.alth-lp .alth-closing-cta {
  margin: 72px 0 24px;
  padding: 56px 16px 40px;
  border: 1px solid var(--alth-line);
  border-top: 2px solid var(--alth-accent);
  background: #FFFFFF;
}
body .article .alth-lp .alth-closing-cta h2 { margin-bottom: 20px; font-size: 21px; letter-spacing: .04em; }
.article .alth-lp .alth-closing-cta p { font-size: 14px; letter-spacing: .02em; }
/* カードの中のボタンは、カードの幅いっぱいに */
.alth-lp .alth-action .wp-block-buttons,
.alth-lp .alth-closing-cta .wp-block-buttons { align-items: stretch; }
.alth-lp .alth-action .alth-btn.alth-btn-wide .wp-block-button__link,
.alth-lp .alth-closing-cta .alth-btn.alth-btn-wide .wp-block-button__link { width: 100%; min-width: 0; padding: 0 16px; }
.alth-lp .alth-closing-cta .wp-block-buttons { margin: 28px 0 0; }

/* ---------- ⑰ ゆっくり現れる動き（alth-reveal.html とセット） ---------- */
.alth-js .alth-lp .alth-reveal {
  opacity: 0;
  transform: translateY(12px);
  transition: opacity 1s ease, transform 1.2s cubic-bezier(.2, .6, .2, 1);
  will-change: opacity, transform;
}
.alth-js .alth-lp .alth-reveal.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .alth-js .alth-lp .alth-reveal { opacity: 1; transform: none; transition: none; }
}
