@charset "UTF-8";
/* =========================================================
   高級感テーマ（インク × シャンパンゴールド × アイボリー）
   ---------------------------------------------------------
   ・全ページの最後に読み込み、色と文字だけを上書きしています。
   ・元の見た目に戻すときは、各ページの
     <link rel="stylesheet" href="…css/luxury.css"> を消してください。
     （CSS内の緑の色コードの置き換え前は _archive/before_luxury にあります）
   ・ボタン等の色は WCAG AA（白文字とのコントラスト 4.5:1 以上）を満たす
     ブロンズゴールドにしています。明るいシャンパン色は暗い背景でだけ使います。
   ========================================================= */

:root {
  /* 変数名は元のまま（--green ＝ ブランドのアクセント色） */
  --green: #8a6b3e;      /* ブロンズゴールド：ボタン・アクセント */
  --green-d: #6b5230;    /* 濃いブロンズ：ホバー・影 */
  --green-l: #d4bc8f;    /* シャンパン：暗い背景の上の文字 */
  --gold-line: #c9b083;  /* 細い飾り線 */
  --dark: #16181b;       /* インクブラック */
  --black: #0e0f11;
  --gray: #f7f4ee;       /* アイボリー */
  --gray2: #eee8dd;
  --line: #e3dccf;
  --text: #1f2125;
  --muted: #77726a;
  --en: "Cormorant Garamond", "Times New Roman", serif;
  --serif: "Shippori Mincho", "Yu Mincho", "Hiragino Mincho ProN", serif;
}

body { color: var(--text); letter-spacing: .04em; }
::selection { background: var(--green); color: #fff; }

/* ---------- 見出し：明朝体で上品に ---------- */
h1, h2, h3, .ttl,
.hero__title, .hero__ttl, .lp-hero__ttl, .page-hero__ttl, .final-cta .ttl {
  font-family: var(--serif);
  font-weight: 600;
  letter-spacing: .08em;
}
.ttl { font-size: clamp(28px, 3.4vw, 42px); line-height: 1.5; }
h3 { font-weight: 600; }

/* 英字ラベル：細めのセリフ体を大きめの字間で */
.eyebrow {
  font-family: var(--en);
  font-weight: 600;
  font-size: 15px;
  letter-spacing: .32em;
  text-transform: uppercase;
}
/* 見出しの下に細い金の線 */
.ttl::after {
  content: "";
  display: block;
  width: 48px;
  height: 1px;
  margin-top: 22px;
  background: var(--gold-line);
}
.final-cta .ttl::after, [style*="text-align:center"] .ttl::after, .lp-center.ttl::after { margin-inline: auto; }

/* 大きな数字は英字セリフ体 */
.sim2__big, .sim2__save-num, .data__num, .flow-card__num, .why-card__num { font-family: var(--en); font-weight: 600; }
.sim2__big small, .sim2__save-num small { font-family: var(--serif); font-weight: 600; }

/* 背景の大きな英字：金の細い輪郭だけを、さらに控えめに */
.m-word { font-weight: 500; font-style: italic; letter-spacing: .02em; -webkit-text-stroke: 1px var(--green); opacity: .12; }
.lp-sec--dark .m-word, .sec--dark .m-word, .final-cta .m-word, .page-hero .m-word { -webkit-text-stroke-color: var(--green-l); opacity: .14; }

/* ---------- ロゴ ---------- */
.h-logo__name, .sub-head__logo, .lp-head__logo, .foot__logo, .sub-foot__logo {
  font-family: var(--en);
  font-weight: 600;
  letter-spacing: .38em;
}

/* ---------- ボタン：角を締めて、立体の影をなくす ---------- */
.btn, .btn--green, .diag__btn, .contact__btn, .choice-modal__btn, .popup__btn, .sim__btn,
.line-banner__btn, .bann__btn, .sub-head__cta, .hero__diag, .sticky-cta__btn, .viewall, .final-cta .btn--white {
  border-radius: 2px !important;
  box-shadow: none !important;
  letter-spacing: .14em;
}
.btn--green:hover, .diag__btn--green:hover, .sim__btn:hover, .final-cta .btn--white:hover {
  transform: none;
  background-color: var(--dark);
}
.diag__btn--line, .contact__btn--line, .btn--ghost { border-width: 1px !important; }
.final-cta .btn--white { color: var(--dark); }

/* カード類も角を少し締める */
.case-card, .col-card, .entry-card, .service-card, .voice-card, .guar-card, .page-cta, .answer-first, .diag__opt {
  border-radius: 4px;
}
.case-card:hover, .col-card:hover { box-shadow: 0 22px 48px rgba(22,24,27,.10); }

/* ---------- 暗いセクション：インク地＋金のアクセント ---------- */
.data, .why, .flow, .area, .sim, .yt, .home-plan, .sec--dark, .page-hero {
  background-color: var(--dark);
}
.final-cta {
  background:
    radial-gradient(ellipse at 20% 0%, rgba(212,188,143,.18), transparent 55%),
    radial-gradient(ellipse at 100% 100%, rgba(138,107,62,.22), transparent 50%),
    var(--dark);
}
.final-cta .eyebrow { color: var(--green-l); }
.foot, .lp-foot { background: var(--black); border-top: 1px solid rgba(212,188,143,.25); }

/* 暗い背景の上のアクセント文字はシャンパン色に */
.data .eyebrow, .why .eyebrow, .flow .eyebrow, .area .eyebrow, .sim .eyebrow, .yt .eyebrow, .home-plan .eyebrow { color: var(--green-l); }

/* ボタンの光：白ではなく淡い金色で */
.btn--green, .sub-head__cta, .hero__diag, .diag__btn--green, .popup__btn, .sticky-cta__btn:last-child {
  background-image: linear-gradient(115deg, transparent 35%, rgba(245,228,190,.32) 50%, transparent 65%);
}

/* ---------- スマホ ---------- */
@media (max-width: 767px) {
  .ttl { font-size: 26px; letter-spacing: .06em; }
  .ttl::after { margin-top: 16px; }
  .eyebrow { font-size: 13px; letter-spacing: .26em; }
}
