@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD - エステサロン
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ（エステサロンテンプレート「Ciel Rose」）
    Version: 1.0.0
    Author:
    Author URI:

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* ==========================================================================
   エステサロンテンプレート「Ciel Rose」
   - デザイン用のクラスはすべて「cr-」から始まります（ブロックの「追加CSSクラス」に設定）
   - 色を変えるときは、下の :root の変数を書き換えてください
   - 各セクション固有のスタイルは、デモサイトの実装に合わせて下に追記していきます
   ========================================================================== */
:root {
  --cr-ivory: #fbf7f4;  /* アイボリー（背景） */
  --cr-pale: #f3e6e3;   /* ペールローズ（交互の背景） */
  --cr-pale2: #ead6d2;
  --cr-rose: #b9858a;   /* くすみローズ（ボタン・アクセント） */
  --cr-rose2: #c99ea2;
  --cr-brown: #5b3b41;  /* ローズブラウン（見出し・濃い背景） */
  --cr-gold: #c8ad7f;   /* シャンパンゴールド（罫線・飾り） */
  --cr-goldT: #9a7a48;  /* ゴールドの文字（英字ラベル） */
  --cr-goldL: #e6d8bd;
  --cr-ink: #4a3c3e;    /* 文字 */
  --cr-mute: #8d7d7f;   /* 補足の文字 */
  --cr-line: #eadcd6;
  --cr-min: "Zen Old Mincho", serif;
  --cr-en: "Cormorant Garamond", serif;
  --cr-sans: "Noto Sans JP", sans-serif;
  --swl-font_family: var(--cr-sans);
}
body { font-family: var(--cr-sans); letter-spacing: .06em; color: var(--cr-ink); background: var(--cr-ivory); }

/* ---------- ページ全体の余白（全幅セクションを上下ぴったり並べる） ---------- */
.l-article { max-width: none !important; }
.page .l-content, .home .l-content { margin-bottom: 0 !important; padding-top: 0 !important; }
.page .post_content, .home .post_content { margin-top: 0 !important; margin-bottom: 0 !important; }
.post_content > .alignfull, .p-blogParts > .alignfull, .p-blogParts { margin-top: 0 !important; margin-bottom: 0 !important; }
.alignfull[class*="cr-"] > .wp-block-group__inner-container { max-width: 1256px; margin: 0 auto; padding: 0 48px; }
[class*="cr-"] p, [class*="cr-"] figure, [class*="cr-"] ul, [class*="cr-"] .wp-block-columns, [class*="cr-"] .wp-block-buttons, [class*="cr-"] .wp-block-table { margin-bottom: 0 !important; }
[class*="cr-"] .wp-block-image img { width: 100%; height: 100%; object-fit: cover; }
.editor-styles-wrapper :is(.cr-sec).wp-block-group > .wp-block-group__inner-container { max-width: 1256px; margin: 0 auto; padding: 0 48px; }

/* ---------- 共通パーツ ---------- */
.cr-sec { padding: 140px 0 !important; }
.cr-pale { background: var(--cr-pale); }
.cr-dark { background: var(--cr-brown); color: #fff; }
.cr-sec p:not([class*="cr-"]) { font-size: 15px; line-height: 2.3; }
.cr-sec p:not([class*="cr-"]) + p:not([class*="cr-"]) { margin-top: 1.3em !important; }

/* 英字ラベル（段落に cr-label） */
.cr-label { display: flex; align-items: center; gap: 16px; font-family: var(--cr-en); font-style: italic; font-size: 22px; letter-spacing: .08em; line-height: 1; color: var(--cr-goldT); margin-top: 0 !important; }
.cr-label::before { content: ""; width: 40px; height: 1px; background: var(--cr-gold); }
.cr-center .cr-label { justify-content: center; }
.cr-center .cr-label::after { content: ""; width: 40px; height: 1px; background: var(--cr-gold); }
.cr-dark .cr-label { color: var(--cr-gold); }

/* 見出し（見出しブロックに cr-h2） */
.wp-block-heading.cr-h2, .wp-block-heading.cr-hero__ttl { font-family: var(--cr-min); font-weight: 600; font-size: 36px; line-height: 1.65; letter-spacing: .12em; color: var(--cr-brown) !important; margin: 18px 0 0 !important; padding: 0 !important; background: none !important; border: none !important; }
.wp-block-heading.cr-h2::before, .wp-block-heading.cr-h2::after, .wp-block-heading.cr-hero__ttl::before, .wp-block-heading.cr-hero__ttl::after { display: none !important; }
.cr-dark .wp-block-heading.cr-h2 { color: #fff !important; }
.cr-center .cr-h2, .cr-center .cr-lead { text-align: center; }
.cr-lead { font-size: 15px; line-height: 2.2; margin-top: 28px !important; }
.cr-note { font-size: 12px; color: var(--cr-mute); line-height: 1.9; margin-top: 16px !important; }
[class*="cr-"] h3.wp-block-heading { font-family: var(--cr-min); font-weight: 600; letter-spacing: .1em; line-height: 1.6; color: var(--cr-brown) !important; margin: 0; padding: 0 !important; background: none !important; border: none !important; }
[class*="cr-"] h3.wp-block-heading::before, [class*="cr-"] h3.wp-block-heading::after { display: none !important; }
.cr-dark h3.wp-block-heading { color: #fff !important; }
[class*="cr-"] ul.wp-block-list li::before { display: none !important; }
.editor-styles-wrapper .wp-block-heading.cr-h2 { font-size: 36px !important; }
.editor-styles-wrapper .wp-block-heading.cr-hero__ttl { font-size: 48px !important; line-height: 1.7 !important; letter-spacing: .12em !important; }
.editor-styles-wrapper .cr-hero__badge { bottom: auto; top: 540px; }
.editor-styles-wrapper [class*="cr-"] h3.wp-block-heading { font-size: 20px; }

/* 写真の枠（画像ブロックに cr-frame：内側の白い細枠／cr-frame-off：外側にずらした金の枠） */
.cr-frame { position: relative; overflow: hidden; }
.cr-frame::after { content: ""; position: absolute; inset: 14px; border: 1px solid rgba(255,255,255,.75); pointer-events: none; }
.cr-frame-off { position: relative; }
.cr-frame-off::before { content: ""; position: absolute; left: 22px; top: 22px; right: -22px; bottom: -22px; border: 1px solid var(--cr-gold); }
.cr-frame-off img { position: relative; }

/* ボタン（ボタンブロックの「追加CSSクラス」に cr-btn と is-fill / is-gold） */
[class*="cr-"] .wp-block-buttons:has(.cr-btn) { margin-top: 48px !important; }
.cr-center .wp-block-buttons:has(.cr-btn) { justify-content: center; }
.cr-btn .wp-block-button__link { display: inline-flex; align-items: center; justify-content: center; gap: 16px; min-width: 300px; height: 64px; padding: 0 40px; border-radius: 0; border: 1px solid var(--cr-brown); background: transparent; color: var(--cr-brown); font-family: var(--cr-min); font-size: 15px; font-weight: 600; letter-spacing: .14em; box-shadow: none; text-decoration: none; }
.cr-btn .wp-block-button__link::after { content: ""; width: 28px; height: 7px; background: linear-gradient(currentColor, currentColor) left bottom / 100% 1px no-repeat, linear-gradient(35deg, transparent 45%, currentColor 45%, currentColor 55%, transparent 55%) right top / 8px 7px no-repeat; }
.cr-btn.is-fill .wp-block-button__link { background: var(--cr-rose); border-color: var(--cr-rose); color: #fff; }
.cr-btn.is-fill .wp-block-button__link::after { display: none; }
.cr-btn.is-gold .wp-block-button__link { border-color: var(--cr-gold); color: var(--cr-gold); }

/* 料金表（表ブロックに cr-price。1行目は見出し行にする） */
.wp-block-table.cr-price { overflow: visible; }
.cr-price table { width: 100%; border-collapse: collapse; border: none !important; border-top: 1px solid var(--cr-gold) !important; }
.cr-price th, .cr-price td { padding: 18px 16px !important; border: none !important; border-bottom: 1px solid var(--cr-line) !important; background: none !important; text-align: left; font-weight: 400; line-height: 1.6; vertical-align: middle; }
.cr-price thead th { font-size: 12px; color: var(--cr-goldT); letter-spacing: .14em; padding: 12px 16px !important; background: rgba(243,230,227,.5) !important; }
.cr-price td:first-child { font-family: var(--cr-min); font-size: 17px; font-weight: 600; color: var(--cr-brown); letter-spacing: .08em; }
.cr-price td:first-child small { display: block; font-family: var(--cr-sans); font-size: 12px; font-weight: 400; color: var(--cr-mute); letter-spacing: .04em; }
.cr-price td:not(:first-child), .cr-price th:not(:first-child) { text-align: right; white-space: nowrap; }
.cr-price td:not(:first-child) { font-family: var(--cr-min); font-size: 20px; font-weight: 600; color: var(--cr-brown); }
.cr-price td em { font-style: normal; color: var(--cr-rose); }

/* サロン情報の表（表ブロックに cr-info） */
.cr-info table, .cr-policy table, .cr-inc table { table-layout: auto !important; }
.cr-info table { border: none !important; border-top: 1px solid var(--cr-gold) !important; }
.cr-info td { border: none !important; border-bottom: 1px solid var(--cr-line) !important; background: none !important; padding: 17px 0 !important; font-size: 14px; line-height: 1.85; vertical-align: top; }
.cr-info td:first-child { width: 120px; white-space: nowrap; font-family: var(--cr-min); font-weight: 600; color: var(--cr-brown); letter-spacing: .12em; }
.cr-map { margin-top: 80px; }
.cr-map iframe { display: block; width: 100%; height: 360px; }

/* ---------- ヘッダー ---------- */
.l-header__bar { display: none !important; }
.l-header, .l-fixHeader { background: var(--cr-ivory) !important; border-bottom: 1px solid var(--cr-line); box-shadow: none !important; }
.l-header__inner { min-height: 96px; }
.c-gnav > .menu-item > a { padding: 0 20px !important; }
.c-gnav > .menu-item > a::after { display: none !important; }
.c-gnav .ttl { font-family: var(--cr-min); font-size: 15px; font-weight: 600; letter-spacing: .12em; color: var(--cr-brown); }
.c-gnav .desc { font-family: var(--cr-en); font-style: italic; font-size: 13px; letter-spacing: .08em; color: var(--cr-goldT) !important; }
.c-gnav > .current_page_item > a .ttl, .c-gnav > .current_page_item > a .desc { color: var(--cr-rose) !important; }

/* 下層ページのタイトル（SWELLの「タイトル背景画像」と「サブタイトル」を使います） */
.l-topTitleArea { min-height: 400px; display: flex; align-items: center; justify-content: center; text-align: center; }
/* 写真の上にローズブラウンを重ね、内側に金の細枠を引きます（濃さは rgba の最後の数字で調整） */
.l-topTitleArea::before { content: ""; position: absolute; inset: 0; z-index: 1; background: rgba(91,59,65,.55); pointer-events: none; }
.l-topTitleArea::after { content: ""; position: absolute; inset: 24px; z-index: 2; border: 1px solid rgba(200,173,127,.7); pointer-events: none; }
.l-topTitleArea .l-topTitleArea__body { position: relative; z-index: 3; }
.l-topTitleArea .c-pageTitle { display: flex; flex-direction: column; align-items: center; font-family: var(--cr-min); font-weight: 600; font-size: 44px; letter-spacing: .16em; color: #fff; }
.l-topTitleArea .c-pageTitle__subTitle { display: block; order: -1; clip-path: inset(0 1.05em); margin-left: -1.05em !important; margin-right: -1.05em !important; font-family: var(--cr-en); font-style: italic; font-size: 26px !important; letter-spacing: .08em; color: var(--cr-goldL); margin: 0 0 18px; }
.p-breadcrumb.-bg-on { background: transparent; border-bottom: 0; }
.p-breadcrumb__list { font-size: 12px; padding-top: 18px; padding-bottom: 18px; }

/* ---------- 予約CTA（ブログパーツ） ---------- */
.cr-cta { position: relative; background: var(--cr-brown); color: #fff; padding: 88px 90px 90px !important; }
.cr-cta::before { content: ""; position: absolute; inset: 16px; border: 1px solid rgba(200,173,127,.55); pointer-events: none; }

/* ---------- フッター ---------- */
.l-footer { background: var(--cr-pale); color: var(--cr-ink); }
.l-footer__foot { border-top: 1px solid var(--cr-pale2); background: var(--cr-pale); }
.l-footer .copyright { font-family: var(--cr-en); font-size: 13px; letter-spacing: .12em; color: var(--cr-mute); }

/* ---------- アイコン（段落に cr-card__icon と is-room / is-talk / is-heart / is-cal / is-doc / is-arrow） ---------- */
.cr-card__icon { width: 76px; height: 76px; margin: 24px auto 0 !important; border-radius: 50%; background: var(--cr-pale); position: relative; }
.cr-card__icon::before { content: ""; position: absolute; inset: 22px; background: var(--cr-rose); -webkit-mask: var(--cr-ic) center / contain no-repeat; mask: var(--cr-ic) center / contain no-repeat; }
.cr-card__icon.is-room { --cr-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.3'%3E%3Cpath d='M4 21V8l8-5 8 5v13'/%3E%3Cpath d='M9 21v-7h6v7'/%3E%3C/svg%3E"); }
.cr-card__icon.is-talk { --cr-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.3'%3E%3Cpath d='M4 5h16v11H9l-5 4z'/%3E%3Cpath d='M8 9h8M8 12h5'/%3E%3C/svg%3E"); }
.cr-card__icon.is-heart { --cr-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.3'%3E%3Cpath d='M12 21s-7-4.5-7-10a4 4 0 0 1 7-2.6A4 4 0 0 1 19 11c0 5.5-7 10-7 10z'/%3E%3C/svg%3E"); }
.cr-card__icon.is-cal { --cr-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.3'%3E%3Crect x='4' y='5' width='16' height='15'/%3E%3Cpath d='M4 9h16M8 3v4M16 3v4'/%3E%3C/svg%3E"); }
.cr-card__icon.is-doc { --cr-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.3'%3E%3Cpath d='M6 3h9l3 3v15H6z'/%3E%3Cpath d='M9 11h6M9 15h6'/%3E%3C/svg%3E"); }
.cr-card__icon.is-arrow { --cr-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.3'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E"); }

/* タグ（リストに cr-tags。is-rose：ローズの枠／is-fill：ペールローズの塗り） */
ul.cr-tags { display: flex; flex-wrap: wrap; gap: 10px; list-style: none !important; padding: 0 !important; margin: 24px 0 0 !important; }
ul.cr-tags li { margin: 0 !important; padding: 4px 14px !important; border: 1px solid rgba(255,255,255,.35); font-size: 12px; letter-spacing: .08em; line-height: 1.6; }
ul.cr-tags.is-rose li { border-color: var(--cr-rose2); color: var(--cr-rose); background: #fff; }
ul.cr-tags.is-fill li { border: 0; background: var(--cr-pale); color: var(--cr-brown); font-size: 13px; padding: 4px 16px !important; }

/* 2カラム（写真＋文章） */
.cr-cols { gap: 110px !important; align-items: center !important; margin: 0 !important; }

/* ---------- トップ：メインビジュアル ---------- */
.cr-hero { position: relative; height: 800px; overflow: hidden; background: var(--cr-ivory); margin: 0 !important; }
.cr-hero::before { content: ""; position: absolute; left: 0; top: 0; width: 43%; height: 100%; background: var(--cr-pale); }
.cr-hero > .wp-block-group__inner-container { position: static; }
.cr-hero__img { position: absolute !important; right: 0; top: 0; width: 54%; max-width: 780px; height: 720px; margin: 0 !important; }
.cr-hero__img::after { inset: 22px; }
.cr-hero__copy { position: absolute !important; left: max(48px, calc(50% - 600px)); top: 170px; width: 500px; z-index: 2; }
.cr-hero__copy .cr-label { font-size: 24px; }
.cr-hero__copy .cr-label::before { display: none; }
.wp-block-heading.cr-hero__ttl { font-size: 48px; line-height: 1.7; margin-top: 30px !important; }
.cr-hero__lead { width: 420px; font-size: 15px; line-height: 2.2; margin-top: 32px !important; }
.cr-hero__copy .wp-block-buttons { gap: 18px; margin-top: 48px !important; }
.cr-hero__copy .cr-btn .wp-block-button__link { min-width: 0; padding: 0 28px; background: var(--cr-ivory); }
.cr-hero__copy .cr-btn.is-fill .wp-block-button__link { background: var(--cr-rose); }
.cr-hero__badge { position: absolute; right: 80px; bottom: 30px; width: 176px; height: 176px; border-radius: 50%; background: var(--cr-ivory); display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; line-height: 1.3; color: var(--cr-brown); z-index: 2; }
.cr-hero__badge::before { content: ""; position: absolute; inset: 7px; border-radius: 50%; border: 1px solid var(--cr-gold); }
.cr-hero__badge span { font-family: var(--cr-en); font-style: italic; font-size: 17px; color: var(--cr-goldT); }
.cr-hero__badge > small { font-size: 12px; letter-spacing: .12em; margin-top: 6px; }
.cr-hero__badge strong { font-family: var(--cr-min); font-size: 32px; font-weight: 600; margin-top: 2px; }
.cr-hero__badge strong small { font-size: 14px; }

/* お知らせ（投稿リストブロック：シンプル型） */
.cr-news { margin: 0 !important; }
.cr-news > .wp-block-group__inner-container { max-width: 1256px; margin: 0 auto; padding: 0 48px; }
.cr-news__box { position: relative; z-index: 3; margin-top: -50px !important; background: #fff; border-top: 1px solid var(--cr-gold); padding: 46px 60px; }
.cr-news__cols { gap: 70px !important; margin: 0 !important; }
.cr-news__head { flex: 0 0 160px !important; }
.cr-news__ttl { font-family: var(--cr-en); font-style: italic; font-size: 34px; line-height: 1; color: var(--cr-brown); }
.cr-news__sub { font-size: 12px; color: var(--cr-mute); margin-top: 10px !important; }
.cr-news__more { margin-top: 16px !important; font-size: 12px; }
.cr-news__more a { color: var(--cr-rose); text-decoration: none; border-bottom: 1px solid var(--cr-rose); letter-spacing: .1em; }
.cr-news .p-postList { margin: 0 !important; }
.cr-news .p-postList__item { border-bottom: 1px solid var(--cr-line) !important; margin: 0 !important; }
.cr-news .p-postList__item:last-child { border-bottom: 0 !important; }
.cr-news .p-postList__link { padding: 15px 0 !important; color: var(--cr-ink); }
.cr-news .p-postList__item:first-child .p-postList__link { padding-top: 0 !important; }
.cr-news .p-postList__body { display: flex; align-items: center; gap: 28px; }
.cr-news .p-postList__meta { order: -1; display: flex; align-items: center; gap: 28px; margin: 0 !important; flex-shrink: 0; }
.cr-news .c-postTimes { font-family: var(--cr-en); font-size: 17px; font-weight: 500; color: var(--cr-goldT); }
.cr-news .c-postTimes__posted::before, .cr-news .p-postList__cat::before { display: none !important; }
.cr-news .p-postList__cat { width: 96px; text-align: center; font-size: 11px; border: 1px solid var(--cr-rose2); color: var(--cr-rose); padding: 1px 0; letter-spacing: .1em; }
.cr-news .p-postList__title { font-size: 14px !important; font-weight: 400; margin: 0 !important; }

/* コンセプト */
.cr-concept__vis { position: relative; flex: 0 0 520px !important; height: 640px; }
.cr-concept__main { position: absolute !important; left: 0; top: 0; width: 400px; height: 540px; margin: 0 !important; }
.cr-concept__sub { position: absolute !important; right: 0; bottom: 0; width: 240px; height: 300px; margin: 0 !important; border: 10px solid var(--cr-ivory); z-index: 1; }
.cr-cols .cr-h2 + p { margin-top: 38px !important; }

/* 3つのこだわり */
.cr-cards { gap: 40px !important; margin-top: 72px !important; align-items: stretch !important; }
.cr-card { position: relative; background: var(--cr-ivory); padding: 56px 40px 52px; text-align: center; }
.cr-card::before { content: ""; position: absolute; inset: 10px; border: 1px solid var(--cr-goldL); pointer-events: none; }
.cr-card__num { font-family: var(--cr-en); font-style: italic; font-size: 46px; line-height: 1; color: var(--cr-gold); }
.cr-card h3.wp-block-heading { font-size: 22px; margin-top: 26px !important; }
.cr-card > p:last-child { font-size: 14px !important; line-height: 2.05 !important; margin-top: 16px !important; text-align: left; }

/* 施術メニュー（カード4枚） */
.cr-mcards { gap: 24px !important; margin-top: 72px !important; text-align: left; }
.cr-mcard .wp-block-image { height: 360px; }
.cr-mcard__en { font-family: var(--cr-en); font-style: italic; font-size: 20px; line-height: 1; color: var(--cr-goldT); margin-top: 26px !important; }
.cr-mcard h3.wp-block-heading { font-size: 22px; margin-top: 10px !important; }
.cr-mcard > p:not([class*="cr-"]) { font-size: 13px !important; line-height: 2 !important; margin-top: 12px !important; min-height: 78px; }
.cr-mcard__pr { display: flex; align-items: baseline; justify-content: space-between; margin-top: 18px !important; padding-top: 14px; border-top: 1px solid var(--cr-gold); }
.cr-mcard__pr > small { font-size: 12px; color: var(--cr-mute); }
.cr-mcard__pr strong { font-family: var(--cr-min); font-size: 21px; font-weight: 600; color: var(--cr-brown); }
.cr-mcard__pr strong small { font-family: var(--cr-sans); font-size: 12px; font-weight: 400; color: var(--cr-mute); }

/* 初回体験のご案内（濃い帯） */
.cr-trial { margin: 0 !important; }
.cr-trial > .wp-block-group__inner-container { max-width: 1256px; margin: 0 auto; padding: 0 48px; }
.cr-trial__cols { gap: 0 !important; margin: 0 !important; align-items: stretch !important; }
.cr-trial__visual { flex: 0 0 540px !important; }
.cr-trial__img { height: 100%; min-height: 560px; margin: 0 !important; }
.cr-trial__body { padding: 80px 0 80px 90px; }
.cr-trial .cr-lead { color: rgba(255,255,255,.85); }
.cr-trial__plan { display: flex; align-items: center; gap: 36px; margin-top: 36px !important; padding: 28px 34px; border: 1px solid rgba(200,173,127,.6); }
.cr-trial__plan > .wp-block-group__inner-container { display: flex; align-items: center; justify-content: space-between; width: 100%; }
.cr-trial__name { font-family: var(--cr-min); font-size: 19px; line-height: 1.6; letter-spacing: .1em; }
.cr-trial__name strong { font-weight: 600; }
.cr-trial__name small { display: block; font-family: var(--cr-sans); font-size: 12px; color: rgba(255,255,255,.7); letter-spacing: .06em; }
.cr-trial__price { text-align: right; line-height: 1.3; }
.cr-trial__price s { display: block; font-size: 13px; color: rgba(255,255,255,.6); }
.cr-trial__price strong { font-family: var(--cr-min); font-size: 42px; font-weight: 600; color: var(--cr-goldL); }
.cr-trial__price small { font-size: 14px; margin-left: 4px; }
.cr-trial .wp-block-buttons:has(.cr-btn) { margin-top: 40px !important; }
.cr-dark .cr-note { color: rgba(255,255,255,.6); }

/* お客様の声 */
.cr-voices { gap: 32px !important; margin-top: 72px !important; text-align: left; align-items: stretch !important; }
.cr-voice { background: #fff; padding: 44px 40px 40px; display: flex; flex-direction: column; }
.cr-voice__q { font-family: var(--cr-en); font-style: italic; font-size: 72px; line-height: .6; color: var(--cr-goldL); height: 30px; }
.cr-voice h3.wp-block-heading { font-size: 18px; line-height: 1.7; margin-top: 14px !important; }
.cr-voice > p:not([class*="cr-"]) { font-size: 14px !important; line-height: 2.05 !important; margin: 16px 0 24px !important; }
.cr-voice__who { display: flex; align-items: center; gap: 12px; margin-top: auto !important; padding-top: 18px; border-top: 1px solid var(--cr-line); font-size: 13px; color: var(--cr-mute); }
.cr-voice__who span { width: 36px; height: 36px; border-radius: 50%; background: var(--cr-pale); display: flex; align-items: center; justify-content: center; font-family: var(--cr-en); font-size: 16px; color: var(--cr-rose); }
.cr-voice__who strong { font-family: var(--cr-min); font-weight: 400; font-size: 14px; color: var(--cr-brown); }
.cr-center > .wp-block-group__inner-container > .cr-note { text-align: center; margin-top: 28px !important; }

/* ---------- サロン情報（ブログパーツ） ---------- */
.cr-salon__cols { gap: 96px !important; align-items: center !important; margin: 72px 0 0 !important; text-align: left; }
.cr-salon__visual { flex: 0 0 480px !important; }
.cr-salon__visual .wp-block-image { height: 400px; }

/* ---------- 予約CTA（ブログパーツ） ---------- */
.cr-ctawrap { margin: 0 !important; padding: 0 0 140px !important; }
.cr-ctawrap > .wp-block-group__inner-container { max-width: 1256px; margin: 0 auto; padding: 0 48px; }
.cr-cta > .wp-block-group__inner-container { position: relative; }
.cr-cta .cr-lead { color: rgba(255,255,255,.82); }
.cr-cta__btns { gap: 20px !important; margin-top: 50px !important; }
.cr-cta__btn { height: 150px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; line-height: 1.4; }
.cr-cta__btn.is-tel { border: 1px solid var(--cr-gold); }
.cr-cta__btn.is-web { background: var(--cr-rose); }
.cr-cta__btn.is-line { background: var(--cr-ivory); color: var(--cr-brown); }
.cr-cta__small { font-size: 12px; letter-spacing: .14em; }
.cr-cta__tel a { font-family: var(--cr-en); font-size: 40px; font-weight: 500; letter-spacing: .06em; line-height: 1.1; color: inherit !important; text-decoration: none; }
.cr-cta__big a { font-family: var(--cr-min); font-size: 22px; font-weight: 600; letter-spacing: .14em; color: inherit !important; text-decoration: none; }
.cr-cta__big { margin-top: 8px !important; }
.cr-cta__sub { font-size: 11px; margin-top: 8px !important; opacity: .8; }

/* ---------- メニュー・料金 ---------- */
.cr-menu-main { padding-top: 80px !important; }
.cr-tabs { gap: 16px !important; margin-top: 64px !important; }
.cr-tab { position: relative; height: 150px; overflow: hidden; }
.cr-tab .wp-block-image { position: absolute !important; inset: 0; margin: 0 !important; }
.cr-tab::after { content: ""; position: absolute; inset: 8px; border: 1px solid rgba(230,216,189,.7); pointer-events: none; z-index: 2; }
.cr-tab__link { position: absolute; inset: 0; z-index: 1; }
.cr-tab__link a { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100%; background: rgba(91,59,65,.52); color: #fff !important; text-decoration: none; font-family: var(--cr-min); font-size: 20px; font-weight: 600; letter-spacing: .14em; line-height: 1.3; }
.cr-tab__link a span { font-family: var(--cr-en); font-style: italic; font-weight: 400; font-size: 20px; letter-spacing: .04em; color: var(--cr-goldL); margin-bottom: 6px; }
.cr-tab__link a::after { content: "▼"; font-size: 10px; margin-top: 8px; opacity: .85; }
.cr-cat { padding-top: 120px; text-align: left; }
.cr-cat__head { gap: 80px !important; align-items: center !important; margin: 0 !important; }
.cr-cat__head.is-rev { flex-direction: row-reverse; }
.cr-cat__visual { flex: 0 0 520px !important; }
.cr-cat__visual .wp-block-image { height: 400px; }
.cr-cat__num { font-family: var(--cr-en); font-style: italic; font-size: 80px; line-height: 1; color: var(--cr-goldL); }
.cr-cat .cr-label { margin-top: -6px !important; justify-content: flex-start; }
.cr-cat .cr-label::after { display: none; }
.cr-cat .cr-h2 { text-align: left; }
.cr-cat .cr-h2 + p { margin-top: 26px !important; }
.cr-cat__tbl { margin-top: 56px !important; background: #fff; padding: 40px 48px 36px; }
.cr-price table { table-layout: auto !important; }
.cr-price th:nth-child(2), .cr-price td:nth-child(2) { width: 120px; }
.cr-price th:nth-child(n+3), .cr-price td:nth-child(n+3) { width: 170px; }
.cr-price td:nth-child(2):not(:last-child) { font-family: var(--cr-sans); font-size: 14px; font-weight: 400; color: var(--cr-ink); text-align: left; }
.cr-price thead th:nth-child(2):not(:last-child) { text-align: left; }
.cr-parts { gap: 48px !important; margin: 0 !important; }
.cr-parts .cr-price td:nth-child(2), .cr-parts .cr-price th:nth-child(2) { width: auto; }
.cr-note strong { color: var(--cr-rose); font-weight: 500; }
.cr-opt__cols { gap: 40px !important; margin-top: 64px !important; text-align: left; align-items: stretch !important; }
.cr-opt__col { background: #fff; padding: 44px 44px 40px; }
.cr-opt__col h3.wp-block-heading { font-size: 21px; display: flex; align-items: baseline; gap: 14px; }
.cr-opt__col h3 span { font-family: var(--cr-en); font-style: italic; font-weight: 400; font-size: 18px; color: var(--cr-goldT); }
.cr-opt__col .cr-price { margin-top: 22px !important; }
.cr-price.is-simple td:first-child { font-size: 15px; }
.cr-price.is-simple td:last-child { font-size: 18px; width: auto; }
.cr-opt__col > p:not([class*="cr-"]) { font-size: 14px !important; margin-top: 20px !important; }
.cr-tickets { gap: 20px !important; margin-top: 22px !important; }
.cr-ticket { position: relative; border: 1px solid var(--cr-gold); padding: 24px 10px 22px; text-align: center; line-height: 1.5; }
.cr-ticket::before { content: ""; position: absolute; inset: 4px; border: 1px solid var(--cr-goldL); pointer-events: none; }
.cr-ticket > small { display: block; font-size: 12px; color: var(--cr-mute); letter-spacing: .1em; }
.cr-ticket strong { display: block; font-family: var(--cr-min); font-size: 22px; font-weight: 600; color: var(--cr-brown); margin-top: 6px; }
.cr-ticket em { display: block; font-style: normal; font-family: var(--cr-min); font-size: 28px; color: var(--cr-rose); margin-top: 4px; }
.cr-ticket em small { font-size: 13px; }
.cr-policy { margin-top: 56px !important; text-align: left; }
.cr-policy table { border: none !important; border-top: 1px solid var(--cr-gold) !important; }
.cr-policy td { border: none !important; border-bottom: 1px solid var(--cr-line) !important; background: none !important; padding: 26px 8px !important; font-size: 14px; line-height: 2; vertical-align: top; }
.cr-policy td:first-child { width: 260px; font-family: var(--cr-min); font-size: 17px; font-weight: 600; color: var(--cr-brown); letter-spacing: .1em; line-height: 1.8; }

/* ---------- 初めての方へ ---------- */
.cr-greet__visual { flex: 0 0 440px !important; }
.cr-greet__visual .wp-block-image { height: 540px; }
.cr-sign { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 18px; margin-top: 36px !important; padding-top: 24px; border-top: 1px solid var(--cr-line); }
.cr-sign small { font-size: 12px; color: var(--cr-mute); letter-spacing: .12em; }
.cr-sign strong { font-family: var(--cr-min); font-size: 22px; font-weight: 600; color: var(--cr-brown); letter-spacing: .2em; }
.cr-sign span { font-family: var(--cr-en); font-style: italic; font-size: 18px; color: var(--cr-goldT); }
.cr-ftrial__card { gap: 0 !important; margin-top: 64px !important; background: #fff; text-align: left; align-items: stretch !important; }
.cr-ftrial__visual { flex: 0 0 460px !important; }
.cr-ftrial__visual .wp-block-image { height: 100%; min-height: 520px; }
.cr-ftrial__body { padding: 60px 64px 56px; }
.cr-ftrial__body h3.wp-block-heading { font-size: 26px; letter-spacing: .12em; }
.cr-ftrial__price { display: flex; align-items: baseline; gap: 14px; margin-top: 14px !important; padding-bottom: 26px; border-bottom: 1px solid var(--cr-gold); font-size: 13px; }
.cr-ftrial__price s { font-size: 14px; color: var(--cr-mute); }
.cr-ftrial__price strong { font-family: var(--cr-min); font-size: 46px; font-weight: 600; color: var(--cr-rose); line-height: 1.2; }
.cr-inc { margin-top: 22px !important; }
.cr-inc table { border: none !important; }
.cr-inc td { border: none !important; border-bottom: 1px dashed var(--cr-line) !important; background: none !important; padding: 10px 0 !important; font-size: 13px; line-height: 1.8; vertical-align: baseline; }
.cr-inc td:first-child { width: 200px; font-family: var(--cr-min); font-size: 15px; font-weight: 600; color: var(--cr-brown); letter-spacing: .08em; }
.cr-inc td:first-child::before { content: ""; display: inline-block; width: 6px; height: 6px; border: 1px solid var(--cr-gold); transform: rotate(45deg); margin-right: 12px; vertical-align: 3px; }
.cr-inc td:last-child { width: 64px; text-align: right; font-family: var(--cr-en); font-size: 17px; color: var(--cr-goldT); }
.cr-ftrial__body .wp-block-buttons:has(.cr-btn) { margin-top: 36px !important; justify-content: flex-start; }
.cr-steps { flex-wrap: wrap !important; gap: 56px 40px !important; margin-top: 72px !important; text-align: left; }
.cr-steps > .cr-step { flex: 0 0 calc((100% - 80px) / 3) !important; position: relative; background: #fff; padding: 48px 34px 36px; border-top: 1px solid var(--cr-gold); }
.cr-step__no { position: absolute; left: 34px; top: -24px; font-family: var(--cr-en); font-style: italic; font-size: 48px; line-height: 1; color: var(--cr-gold); }
.cr-step__no small { font-size: 18px; margin-right: 4px; }
.cr-step .cr-card__icon { width: 64px; height: 64px; margin: 0 !important; }
.cr-step .cr-card__icon::before { inset: 18px; }
.cr-step h3.wp-block-heading { font-size: 20px; margin-top: 20px !important; }
.cr-step > p:not([class*="cr-"]) { font-size: 14px !important; line-height: 2 !important; margin-top: 12px !important; }
.cr-step__tm { display: inline-block; margin-top: 14px !important; font-size: 12px; color: var(--cr-rose); border: 1px solid var(--cr-rose2); padding: 1px 12px; letter-spacing: .08em; }
.cr-rooms { gap: 32px !important; margin-top: 72px !important; text-align: left; }
.cr-room .wp-block-image { height: 300px; }
.cr-room h3.wp-block-heading { font-size: 20px; margin-top: 26px !important; }
.cr-room > p { font-size: 14px !important; line-height: 2 !important; margin-top: 10px !important; }
.cr-amen { margin-top: 64px !important; padding: 30px 44px; border: 1px solid var(--cr-gold); background: #fff; text-align: left; }
.cr-amen > .wp-block-group__inner-container { display: flex; align-items: center; gap: 40px; }
.cr-amen__ttl { flex-shrink: 0; font-family: var(--cr-en); font-style: italic; font-size: 22px; color: var(--cr-goldT); line-height: 1.2; }
.cr-amen__ttl small { display: block; font-family: var(--cr-min); font-style: normal; font-size: 14px; color: var(--cr-brown); letter-spacing: .12em; margin-top: 4px; }
.cr-amen ul.cr-tags { margin: 0 !important; }
.cr-faq { padding-bottom: 20px !important; }
.cr-faqs { gap: 32px !important; margin-top: 64px !important; text-align: left; }
.cr-qa { background: #fff; padding: 30px 34px; }
.cr-qa + .cr-qa { margin-top: 20px !important; }
.cr-qa__q, .cr-qa__a { display: flex; gap: 16px; line-height: 1.8; }
.cr-qa__q span, .cr-qa__a span { flex-shrink: 0; font-family: var(--cr-en); font-style: italic; font-size: 26px; line-height: 1.1; }
.cr-qa__q span { color: var(--cr-rose); }
.cr-qa__a span { color: var(--cr-gold); }
.cr-qa__q { font-family: var(--cr-min); font-size: 17px; font-weight: 600; color: var(--cr-brown); letter-spacing: .06em; }
.cr-qa__a { margin-top: 14px !important; padding-top: 14px; border-top: 1px solid var(--cr-line); font-size: 14px; line-height: 2; }

/* ---------- スマホ ---------- */
@media (max-width: 959px) {
  .cr-sec { padding: 84px 0 !important; }
  .alignfull[class*="cr-"] > .wp-block-group__inner-container, .cr-news > .wp-block-group__inner-container, .cr-ctawrap > .wp-block-group__inner-container { padding: 0 20px; }
  .cr-label { font-size: 18px; gap: 12px; }
  .cr-label::before, .cr-center .cr-label::after { width: 28px; }
  .wp-block-heading.cr-h2 { font-size: 24px !important; letter-spacing: .1em; margin-top: 12px !important; }
  .cr-lead br { display: none; }
  .cr-lead { font-size: 14px; line-height: 2.05; text-align: left !important; }
  .cr-sec p:not([class*="cr-"]) { font-size: 14px; line-height: 2.1; }
  .cr-frame::after { inset: 10px; }
  .cr-frame-off::before { left: 12px; top: 12px; right: -12px; bottom: -12px; }
  .cr-frame-off { margin-right: 12px !important; }
  .cr-btn, .cr-btn .wp-block-button__link { width: 100%; min-width: 0; height: 58px; font-size: 14px; }
  [class*="cr-"] .wp-block-buttons:has(.cr-btn) { flex-direction: column; margin-top: 36px !important; }
  .cr-price th, .cr-price td { padding: 14px 6px !important; }
  .cr-price td:first-child { font-size: 14px; letter-spacing: .02em; }
  .cr-price td:first-child small { font-size: 11px; }
  .cr-price td:not(:first-child) { font-size: 16px; }
  .cr-price th:nth-child(2), .cr-price td:nth-child(2) { width: 56px; }
  .cr-price th:nth-child(n+3), .cr-price td:nth-child(n+3) { width: 76px; }
  .cr-price td:nth-child(2):not(:last-child) { font-size: 12px; }
  .cr-info td { font-size: 13px; padding: 13px 0 !important; }
  .cr-info td:first-child { width: 78px; }
  .cr-map { margin-top: 32px; }
  .cr-map iframe { height: 240px; }
  .cr-cols, .cr-salon__cols, .cr-cat__head, .cr-cat__head.is-rev, .cr-trial__cols, .cr-ftrial__card { flex-direction: column; gap: 44px !important; }
  .cr-concept__vis, .cr-salon__visual, .cr-cat__visual, .cr-greet__visual, .cr-trial__visual, .cr-ftrial__visual { flex-basis: auto !important; width: 100%; }

  /* トップ */
  .cr-hero { height: auto; padding-bottom: 40px !important; }
  .cr-hero::before { top: 340px; width: 100%; }
  .cr-hero > .wp-block-group__inner-container { padding: 0 !important; }
  .cr-hero__img { position: relative !important; width: auto; max-width: none; height: 340px; margin-left: 24px !important; }
  .cr-hero__img::after { inset: 12px; }
  .cr-hero__copy { position: relative !important; left: auto; top: auto; width: auto; padding: 44px 20px 0; }
  .cr-hero__copy .cr-label { font-size: 18px; }
  .wp-block-heading.cr-hero__ttl { font-size: 31px; margin-top: 16px !important; letter-spacing: .1em; }
  .cr-hero__lead { width: auto; font-size: 13px; margin-top: 20px !important; }
  .cr-hero__copy .wp-block-buttons { gap: 12px; margin-top: 30px !important; }
  .cr-hero__badge { right: 16px; top: 270px; bottom: auto; width: 124px; height: 124px; }
  .cr-hero__badge span { font-size: 13px; }
  .cr-hero__badge > small { font-size: 9px; margin-top: 2px; letter-spacing: .06em; }
  .cr-hero__badge strong { font-size: 23px; }
  .cr-news__box { margin-top: 0 !important; padding: 32px 22px 28px; }
  .cr-news__cols { flex-direction: column; gap: 18px !important; }
  .cr-news__head { flex-basis: auto !important; display: flex; align-items: baseline; gap: 14px; }
  .cr-news__ttl { font-size: 28px; }
  .cr-news__sub { margin: 0 !important; }
  .cr-news__more { margin: 0 0 0 auto !important; }
  .cr-news .p-postList__body { flex-direction: column; align-items: flex-start; gap: 6px; }
  .cr-news .p-postList__meta { gap: 14px; }
  .cr-news .c-postTimes { font-size: 15px; }
  .cr-news .p-postList__cat { width: 84px; font-size: 10px; }
  .cr-news .p-postList__title { font-size: 13px !important; }
  .cr-concept__vis { height: auto; min-height: 400px; }
  .cr-concept__main { width: 270px; height: 340px; }
  .cr-concept__sub { width: 150px; height: 190px; border-width: 6px; }
  .cr-cards { flex-direction: column; gap: 18px !important; margin-top: 44px !important; }
  .cr-card { padding: 38px 28px 34px; }
  .cr-card__num { font-size: 38px; }
  .cr-card__icon { width: 62px; height: 62px; margin-top: 16px !important; }
  .cr-card__icon::before { inset: 18px; }
  .cr-card h3.wp-block-heading { font-size: 19px; margin-top: 18px !important; }
  .cr-card > p:last-child { font-size: 13px !important; }
  .cr-mcards { flex-direction: row !important; flex-wrap: wrap !important; gap: 36px 14px !important; margin-top: 44px !important; }
  .wp-block-columns.cr-mcards > .wp-block-column.cr-mcard { flex: 0 0 calc(50% - 7px) !important; }
  .cr-mcard .wp-block-image { height: 210px; }
  .cr-mcard__en { font-size: 15px; margin-top: 16px !important; }
  .cr-mcard h3.wp-block-heading { font-size: 17px; margin-top: 6px !important; }
  .cr-mcard > p:not([class*="cr-"]) { font-size: 11px !important; line-height: 1.85 !important; min-height: 82px; margin-top: 8px !important; }
  .cr-mcard__pr { flex-direction: column; align-items: flex-start; margin-top: 12px !important; padding-top: 10px; }
  .cr-mcard__pr > small { font-size: 10px; }
  .cr-mcard__pr strong { font-size: 18px; }
  .cr-trial > .wp-block-group__inner-container { padding: 0 !important; }
  .cr-trial__cols { gap: 0 !important; }
  .cr-trial__img { min-height: 0; height: 240px; }
  .cr-trial__body { padding: 52px 20px 64px; }
  .cr-trial__plan { padding: 22px; }
  .cr-trial__plan > .wp-block-group__inner-container { flex-direction: column; align-items: flex-start; gap: 10px; }
  .cr-trial__name { font-size: 17px; }
  .cr-trial__price { text-align: left; }
  .cr-trial__price strong { font-size: 36px; }
  ul.cr-tags { gap: 8px; }
  ul.cr-tags li { font-size: 11px; padding: 3px 10px !important; }
  .cr-voices { flex-direction: column; gap: 16px !important; margin-top: 44px !important; }
  .cr-voice { padding: 32px 26px 26px; }
  .cr-voice__q { font-size: 56px; }
  .cr-voice h3.wp-block-heading { font-size: 16px; }
  .cr-voice > p:not([class*="cr-"]) { font-size: 13px !important; }
  .cr-center > .wp-block-group__inner-container > .cr-note { text-align: left; }
  .cr-salon__cols { margin-top: 40px !important; }
  .cr-salon__visual .wp-block-image { height: 220px; }
  .cr-ctawrap { padding-bottom: 76px !important; }
  .cr-ctawrap > .wp-block-group__inner-container { padding: 0 !important; }
  .cr-cta__btns { flex-direction: column; gap: 12px !important; margin-top: 32px !important; }
  .cr-cta__btn { height: auto; min-height: 118px; padding: 14px 0; flex-basis: auto !important; }
  .cr-cta__tel a { font-size: 36px; }
  .cr-cta__big a { font-size: 19px; }

  /* メニュー・料金 */
  .cr-tabs { flex-direction: row !important; flex-wrap: wrap !important; gap: 8px !important; margin-top: 36px !important; }
  .wp-block-columns.cr-tabs > .wp-block-column.cr-tab { flex: 0 0 calc(50% - 4px) !important; height: 92px; }
  .cr-cat .cr-label { margin-top: 6px !important; }
  .cr-cols .wp-block-heading.cr-h2 { font-size: 21px !important; }
  .cr-tab::after { inset: 5px; }
  .cr-tab__link a { font-size: 16px; }
  .cr-tab__link a span { font-size: 14px; margin-bottom: 2px; }
  .cr-tab__link a::after { font-size: 9px; margin-top: 4px; }
  .cr-cat { padding-top: 76px; }
  .cr-cat__visual .wp-block-image { height: 240px; }
  .cr-cat__num { font-size: 56px; }
  .cr-cat__tbl { margin: 32px -20px 0 !important; padding: 24px 20px 22px; }
  .cr-parts { flex-direction: column; gap: 0 !important; }
  .cr-parts > .wp-block-column + .wp-block-column thead { display: none; }
  .cr-parts > .wp-block-column + .wp-block-column table { border-top: 0 !important; }
  .cr-opt__cols { flex-direction: column; gap: 16px !important; margin-top: 44px !important; }
  .cr-opt__col { padding: 32px 22px 28px; }
  .cr-opt__col h3.wp-block-heading { font-size: 19px; }
  .cr-price.is-simple td:first-child { font-size: 14px; }
  .cr-tickets { flex-direction: row !important; gap: 10px !important; }
  .cr-ticket strong { font-size: 15px; }
  .cr-ticket em { font-size: 24px; }
  .cr-policy { margin-top: 36px !important; }
  .cr-policy tr { display: flex; flex-direction: column; border-bottom: 1px solid var(--cr-line); }
  .cr-policy td { display: block; width: auto !important; border: 0 !important; padding: 0 4px !important; font-size: 13px; }
  .cr-policy td:first-child { font-size: 16px; padding-top: 20px !important; }
  .cr-policy td:last-child { padding-bottom: 20px !important; }

  /* 初めての方へ */
  .cr-greet__visual .wp-block-image { height: 300px; }
  .cr-sign { gap: 4px 14px; margin-top: 28px !important; }
  .cr-sign small { width: 100%; }
  .cr-ftrial__card { gap: 0 !important; margin-top: 40px !important; }
  .cr-ftrial__visual .wp-block-image { min-height: 0; height: 220px; }
  .cr-ftrial__body { padding: 32px 22px 30px; }
  .cr-ftrial__body h3.wp-block-heading { font-size: 21px; }
  .cr-ftrial__price { flex-wrap: wrap; gap: 4px 12px; }
  .cr-ftrial__price s { width: 100%; }
  .cr-ftrial__price strong { font-size: 38px; }
  .cr-inc tr { display: block; position: relative; padding: 10px 52px 10px 0; border-bottom: 1px dashed var(--cr-line); }
  .cr-inc td { display: block; border: 0 !important; padding: 0 !important; font-size: 12px; }
  .cr-inc td:first-child { width: auto; font-size: 14px; }
  .cr-inc td:last-child { position: absolute; right: 0; top: 10px; font-size: 15px; }
  .cr-steps { flex-direction: column; gap: 40px !important; margin-top: 56px !important; }
  .cr-steps > .cr-step { flex-basis: auto !important; padding: 40px 24px 28px; }
  .cr-step__no { left: 24px; font-size: 40px; }
  .cr-step .cr-card__icon { width: 54px; height: 54px; }
  .cr-step .cr-card__icon::before { inset: 15px; }
  .cr-step h3.wp-block-heading { font-size: 18px; margin-top: 14px !important; }
  .cr-step > p:not([class*="cr-"]) { font-size: 13px !important; }
  .cr-rooms { flex-direction: column; gap: 36px !important; margin-top: 44px !important; }
  .cr-room .wp-block-image { height: 220px; }
  .cr-room h3.wp-block-heading { font-size: 18px; margin-top: 18px !important; }
  .cr-room > p { font-size: 13px !important; }
  .cr-amen { margin-top: 44px !important; padding: 26px 22px; }
  .cr-amen > .wp-block-group__inner-container { flex-direction: column; align-items: flex-start; gap: 16px; }
  ul.cr-tags.is-fill li { font-size: 12px; padding: 3px 12px !important; }
  .cr-faqs { flex-direction: column; gap: 12px !important; margin-top: 40px !important; }
  .cr-qa { padding: 22px 20px; }
  .cr-qa + .cr-qa { margin-top: 12px !important; }
  .cr-qa__q { font-size: 15px; }
  .cr-qa__q span, .cr-qa__a span { font-size: 22px; }
  .cr-qa__a { font-size: 13px; }

  /* ヘッダー・ページタイトル */
  .l-topTitleArea { min-height: 230px; }
  .l-topTitleArea::after { inset: 12px; }
  .l-topTitleArea .c-pageTitle { font-size: 28px; letter-spacing: .12em; }
  .l-topTitleArea .c-pageTitle__subTitle { font-size: 20px !important; margin-bottom: 10px; }
  .cr-cta { padding: 64px 24px 36px !important; }
  .cr-cta::before { inset: 10px; }
}

/* ---------- ヘッダー：ロゴ・電話・予約ボタン（ウィジェット「ヘッダー内部」） ---------- */
.c-headLogo.-txt .c-headLogo__link { display: flex; flex-direction: column; line-height: 1; font-family: var(--cr-en); font-style: italic; font-weight: 500; font-size: 38px; letter-spacing: .04em; color: var(--cr-brown); }
.c-headLogo.-txt .c-headLogo__link::before { content: "private esthetic salon"; font-style: normal; font-size: 12px; letter-spacing: .32em; text-transform: uppercase; color: var(--cr-goldT); margin-bottom: 6px; }
.c-gnav .cr-sp-only { display: none; }
.w-header { margin-left: 20px; padding-left: 28px; border-left: 1px solid var(--cr-line); }
.cr-head-cta > .wp-block-group__inner-container { display: flex; align-items: center; gap: 24px; }
.cr-head-cta p { margin: 0 !important; }
.cr-head-cta__tel { display: flex; flex-direction: column; align-items: flex-end; line-height: 1.2; }
.cr-head-cta__tel small { font-size: 11px; color: var(--cr-mute); letter-spacing: .08em; }
.cr-head-cta__tel a { margin-top: 3px; font-family: var(--cr-en); font-size: 27px; font-weight: 500; letter-spacing: .06em; color: var(--cr-brown) !important; text-decoration: none; }
.cr-head-cta__btn a { display: flex; align-items: center; height: 52px; padding: 0 34px; background: var(--cr-rose); color: #fff !important; font-family: var(--cr-min); font-size: 15px; font-weight: 600; letter-spacing: .16em; text-decoration: none; outline: 1px solid var(--cr-rose); outline-offset: 3px; }
.l-header__customBtn { display: none !important; }

/* ---------- フッター（ウィジェット「フッター1〜3」） ---------- */
.l-footer__widgetArea { background: var(--cr-pale); padding: 84px 0 60px !important; }
.w-footer.-col3 { display: flex; gap: 100px; }
.w-footer.-col3 .w-footer__box { flex: 0 0 auto; width: auto; padding: 0 !important; }
.w-footer.-col3 .w-footer__box:first-child { flex: 1; }
.cr-ft p { margin: 0; }
.cr-ft__logo { display: flex; flex-direction: column; font-family: var(--cr-en); font-style: italic; font-size: 38px; font-weight: 500; line-height: 1; color: var(--cr-brown); }
.cr-ft__logo small { font-style: normal; font-size: 12px; letter-spacing: .32em; text-transform: uppercase; color: var(--cr-goldT); margin-bottom: 6px; }
.cr-ft p.cr-ft__info { font-size: 13px; line-height: 2.1; margin-top: 26px !important; }
.cr-ft p.cr-ft__sns { display: flex; gap: 10px; margin-top: 24px !important; }
.cr-ft__sns a { width: 42px; height: 42px; border-radius: 50%; border: 1px solid var(--cr-gold); display: flex; align-items: center; justify-content: center; font-family: var(--cr-en); font-size: 13px; font-weight: 500; color: var(--cr-brown) !important; text-decoration: none; }
.cr-ft p.cr-ft__h { font-family: var(--cr-en); font-style: italic; font-size: 18px; letter-spacing: .06em; color: var(--cr-goldT); margin-bottom: 24px !important; }
ul.cr-ft__list { list-style: none !important; padding: 0 !important; margin: 0 !important; }
ul.cr-ft__list li { margin: 0 !important; padding: 0 !important; font-family: var(--cr-min); font-size: 14px; line-height: 1.5; }
ul.cr-ft__list li + li { margin-top: 18px !important; }
ul.cr-ft__list li::before { display: none !important; }
ul.cr-ft__list a { color: var(--cr-brown) !important; text-decoration: none; }
.l-footer__foot { border-top: 1px solid var(--cr-pale2); padding: 0 !important; }
.l-footer__foot .l-container { display: flex; justify-content: space-between; align-items: center; height: 64px; }
.l-footer__nav { display: none !important; }
.l-footer .copyright { margin: 0; }

/* ---------- スマホ：開閉メニュー・下部の固定メニュー ---------- */
.p-spMenu__inner { background: var(--cr-ivory) !important; }
.p-spMenu .c-widget__title.-spmenu { font-family: var(--cr-en); font-style: italic; font-size: 16px; letter-spacing: .1em; color: var(--cr-goldT); background: none !important; border-bottom: 1px solid var(--cr-line); }
.p-spMenu .c-spnav { padding: 0 30px; }
.p-spMenu .c-spnav > li > a { display: flex; flex-direction: column-reverse; padding: 15px 0 !important; border-bottom: 1px solid var(--cr-line); font-family: var(--cr-min); font-size: 19px; font-weight: 600; letter-spacing: .14em; color: var(--cr-brown); line-height: 1.3; }
.p-spMenu .c-spnav > li > a::before { display: none !important; }
.p-spMenu .c-spnav .desc { display: block !important; font-family: var(--cr-en); font-style: italic; font-weight: 400; font-size: 15px; letter-spacing: 0; color: var(--cr-goldT) !important; margin: 0 0 2px !important; }
.p-spMenu .c-spnav .current-menu-item > a { color: var(--cr-rose); }
.cr-spm { padding: 26px 30px 30px; }
.cr-spm p { margin: 0 !important; }
.cr-spm__btn + .cr-spm__btn { margin-top: 10px !important; }
.cr-spm__btn a { display: flex; align-items: center; justify-content: center; height: 54px; font-family: var(--cr-min); font-weight: 600; font-size: 15px; letter-spacing: .12em; text-decoration: none; }
.cr-spm__btn.is-web a { background: var(--cr-rose); color: #fff !important; }
.cr-spm__btn.is-tel a { border: 1px solid var(--cr-brown); color: var(--cr-brown) !important; font-family: var(--cr-en); font-size: 24px; font-weight: 500; letter-spacing: .06em; }
.cr-spm__btn.is-line a { background: var(--cr-brown); color: #fff !important; }
.cr-spm__info { font-size: 11px; line-height: 1.9; margin-top: 24px !important; }
#fix_bottom_menu { border-top: 1px solid var(--cr-gold); box-shadow: none !important; }
#fix_bottom_menu .menu_list { padding: 8px 10px !important; gap: 8px; }
#fix_bottom_menu .menu-item { flex: 1; }
#fix_bottom_menu .menu-item > a, #fix_bottom_menu .menu_btn { display: flex; align-items: center; justify-content: center; height: 48px; padding: 0 !important; }
#fix_bottom_menu .menu-item i:empty { display: none; }
#fix_bottom_menu span { font-family: var(--cr-min); font-size: 13px !important; font-weight: 600; letter-spacing: .08em; }
#fix_bottom_menu .menu_btn { flex: 0 0 64px; flex-direction: column; gap: 2px; }
#fix_bottom_menu .menu_btn span { font-size: 9px !important; }
#fix_bottom_menu .cr-fbm-tel > a { border: 1px solid var(--cr-brown); }
#fix_bottom_menu .cr-fbm-web { flex: 1.4; }
#fix_bottom_menu .cr-fbm-web > a { background: var(--cr-rose); color: #fff !important; }
#fix_bottom_menu .cr-fbm-line > a { background: var(--cr-brown); color: #fff !important; }
@media (max-width: 959px) {
  .c-headLogo.-txt .c-headLogo__link { font-size: 27px; }
  .c-headLogo.-txt .c-headLogo__link::before { font-size: 8px; letter-spacing: .26em; margin-bottom: 3px; }
  .l-footer__widgetArea { padding: 56px 0 40px !important; }
  .w-footer.-col3 { flex-wrap: wrap; gap: 44px 64px; }
  .w-footer.-col3 .w-footer__box:first-child { flex: 0 0 100%; }
  .cr-ft__logo { font-size: 30px; }
  .cr-ft__info { font-size: 12px; }
  .l-footer__foot .l-container { height: auto; padding: 18px 20px 84px; }
}
