/* ════════════════════════════════════════════════════════════
   le-day.css — Cream theme override (shared across lifeevent pages)
   - Inverts the global dark theme to dish-aligned warm-cream palette
   - Navy reserved as accent; gold accents kept.
   - Adds dish-style bg decorations on key sections.
   - Originally extracted from lifeevent/wedding/index.html inline <style>.
   - Paths to /images/* are written relative to /css/ (../images/...).
   ════════════════════════════════════════════════════════════ */
body.le-day{
  background:#f4efe3 !important;
  color:#1f1b16;
  /* Re-define CSS variables so any var(--mute)/var(--caption) usage
     (including inline styles) renders dark on cream */
  --mute:#1f1b16 !important;
  --caption:#2a251f !important;
}
body.le-day .loader{background:#f4efe3 !important;}
body.le-day .loader .loader__logo-img{filter:brightness(0);animation-name:loaderLogoBlurInBlack;}
body.le-day .loader .loader__line{background:#1f1b16 !important;}

/* Header — cream, scrolled becomes 82% translucent */
body.le-day .header{
  background:#f4efe3 !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  box-shadow:none !important;
}
body.le-day .header.is-scrolled{
  background:rgba(244,239,227,.82) !important;
  -webkit-backdrop-filter:blur(14px) !important;
  backdrop-filter:blur(14px) !important;
}
body.le-day .header .header-tel,
body.le-day .header .header-nav-link,
body.le-day .header .lang-en,
body.le-day .header .lang-select-v2__toggle,
body.le-day .header .header-sns a{color:#1f1b16 !important;}
body.le-day .header svg{stroke:#1f1b16;}
body.le-day .header svg[fill="currentColor"]{fill:#1f1b16;}
body.le-day .header .menu-toggle span{background:#1f1b16 !important;}
body.le-day .header .header__logo-img{filter:brightness(0) saturate(100%);}
body.le-day .header .lang-select-v2__caret{border-top-color:#1f1b16;}

/* Hero — bg transparent (body cream shows through). Text uses dark ink for readability. */
body.le-day .lp-hero{background:transparent !important;}
body.le-day .lp-hero__crumb,
body.le-day .lp-hero__crumb a{color:#1f1b16 !important;}
body.le-day .lp-hero__crumb a:hover{color:#b89665 !important;}
body.le-day .lp-hero__crumb .cur{color:#b89665 !important;}
body.le-day .lp-hero__title{color:#1f1b16 !important;text-shadow:none !important;}
body.le-day .lp-hero__title .em{color:#b89665 !important;}
body.le-day .lp-hero__sub{color:#2a251f !important;text-shadow:none !important;}

/* Sections — cream bg */
body.le-day .lp-main,
body.le-day .lp-prologue,
body.le-day .lp-pillars,
body.le-day .lp-hospi,
body.le-day .lp-sec,
body.le-day .lp-plans-wrap,
body.le-day .lp-flow,
body.le-day .lp-faq{background:#f4efe3 !important;}

/* Section title accents */
body.le-day .sec-title h2,
body.le-day .lp-prologue .sig-intro__title,
body.le-day .lp-pillars .pillar__title,
body.le-day .lp-pillars .pillar-head__title,
body.le-day .lp-hospi .sec-title h2,
body.le-day .lp-plan__h,
body.le-day .lp-step__h,
body.le-day .lp-cta__title,
body.le-day .pillar__title,
body.le-day .lp-sim__card-title{color:#1f1b16 !important;}

body.le-day .sig-intro__desc,
body.le-day .pillar__desc,
body.le-day .pillar__p,
body.le-day .hospi-container__text,
body.le-day .hospi-item__text,
body.le-day .lp-step__desc,
body.le-day .lp-plan__desc,
body.le-day .lp-cta__lead,
body.le-day .lp-sec__lead,
body.le-day .lp-plans__lead,
body.le-day .lp-note{color:#2a251f !important;}

/* En subtitles → black (only line accents stay gold) */
body.le-day .en,
body.le-day .sec-title .en,
body.le-day .lp-cta__en,
body.le-day .lp-sim__card-kicker,
body.le-day .lp-plan__tag{color:#1f1b16 !important;}
body.le-day .sec-title .en{color:#b89665 !important;}


/* Cards: white panels with subtle brown line */
body.le-day .lp-sim__card,
body.le-day .hospi-item,
body.le-day .lp-plan,
body.le-day .lp-comparison-table{
  background:#ebe3cf !important;
  border:1px solid rgba(120,100,70,.18) !important;
}
/* Flow steps & FAQ items — no bg, no border */
body.le-day .lp-step,
body.le-day .lp-faq__item{
  background:transparent !important;
  border:0 !important;
}
body.le-day .lp-plan:hover{border-color:rgba(184,150,101,.45) !important;}

body.le-day .lp-sim__row{
  color:#1f1b16 !important;
  border-bottom:1px dotted rgba(120,100,70,.22) !important;
}
body.le-day .lp-sim__row .note{color:#2a251f !important;}
body.le-day .lp-sim__row .pr{color:#1f1b16 !important;}
body.le-day .lp-sim__total{
  color:#1f1b16 !important;
  border-top:.5px solid #b89665 !important;
}
body.le-day .lp-sim__total .amt{color:#1f1b16 !important;}
body.le-day .lp-sim__total .unit{color:#2a251f !important;}

/* Comparison table */
body.le-day .lp-comparison-table thead th{color:#1f1b16 !important;}
body.le-day .lp-comparison-table thead th:first-child{color:#1f1b16 !important;}
body.le-day .lp-comparison-table tbody td,
body.le-day .lp-comparison-table tbody td:first-child{color:#1f1b16 !important;}
body.le-day .lp-comparison-table tbody td{
  border-bottom:.5px dotted rgba(120,100,70,.22) !important;
}
body.le-day .lp-comparison-table tfoot td{color:#1a2638 !important;}

/* Plan cards */
body.le-day .lp-plan__price{color:#1f1b16 !important;}
body.le-day .lp-plan__no{color:#1f1b16 !important;}
body.le-day .lp-plan__arrow{color:#1f1b16 !important;}
body.le-day .lp-plan__includes,
body.le-day .lp-plan__includes li{color:#2a251f !important;}

/* Flow steps */
body.le-day .lp-step__num,
body.le-day .lp-step .kanji{color:#1f1b16 !important;}

/* FAQ */
body.le-day .lp-faq__item .ans{color:#2a251f !important;}
body.le-day .lp-faq__item .q{color:#1f1b16 !important;}

/* ── CTA section — dish-style: no bg image, link centered in section ── */
body.le-day .lp-cta{
  background:#ebe3cf !important;
  position:relative;
  overflow:hidden;
}
/* Hide the absolutely-positioned bg image and overlay */
body.le-day .lp-cta__bg,
body.le-day .lp-cta__overlay{display:none !important;}
/* Link becomes a centered block (not a tall image card) */
body.le-day .lp-cta__link{
  display:flex !important;
  position:relative !important;
  overflow:visible !important;
  height:auto !important;
  width:100% !important;
  max-width:880px;
  margin:0 auto !important;
  padding:clamp(50px,6vw,80px) clamp(30px,4vw,60px) !important;
  text-decoration:none !important;
  text-align:center !important;
  justify-content:center !important;
  align-items:center !important;
  background:transparent !important;
  color:#1f1b16 !important;
  border:0 !important;
}
/* Inner stays positioned at center with stacked content */
body.le-day .lp-cta__inner{
  position:relative !important;
  z-index:2;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  width:100% !important;
  gap:16px !important;
}
body.le-day .lp-cta__title,
body.le-day .lp-cta__lead{color:#1f1b16 !important;}
/* lp-cta__more — the actual button-like element */
body.le-day .lp-cta__more{
  display:inline-flex !important;
  align-items:center !important;
  gap:14px !important;
  padding:16px 36px !important;
  background:transparent !important;
  color:#1f1b16 !important;
  border:.5px solid #b89665 !important;
  font-family:var(--serif);
  font-size:13px !important;
  letter-spacing:.24em !important;
  margin-top:10px !important;
  transition:background .35s ease, color .35s ease, gap .35s ease, border-color .35s ease !important;
}
body.le-day .lp-cta__more:hover{
  background:#b89665 !important;
  color:#fff !important;
  gap:20px !important;
  border-color:#b89665 !important;
}

/* Lines / decorative */
body.le-day .line,
body.le-day .sec-title .line{background:#b89665 !important;}

/* ── BG DECORATIONS (dish-style) on key sections ── */
body.le-day .lp-prologue,
body.le-day .lp-pillars,
body.le-day .lp-cta,
body.le-day .lp-faq{position:relative;overflow:hidden;}
body.le-day .lp-prologue::before{
  content:"";position:absolute;
  top:32px;left:0;
  width:clamp(180px,22vw,320px);aspect-ratio:155/186;
  background:url('../images/bg/bg-1.png') no-repeat center/contain;
  pointer-events:none;opacity:.25;z-index:1;
}
/* 本文が背景装飾（葉）に被って読みにくくならないよう、内容を装飾より前面に */
body.le-day .lp-prologue > .wrap{position:relative;z-index:2;}
body.le-day .lp-pillars::after{
  content:"";position:absolute;
  top:48px;right:-30px;
  width:clamp(160px,18vw,280px);aspect-ratio:225/131;
  background:url('../images/bg/bg-2.png') no-repeat center/contain;
  pointer-events:none;opacity:.5;z-index:1;
}
body.le-day .lp-cta::before{
  content:"";position:absolute;
  bottom:32px;left:-20px;
  width:clamp(160px,18vw,280px);aspect-ratio:225/131;
  background:url('../images/bg/bg-2.png') no-repeat center/contain;
  pointer-events:none;opacity:.5;z-index:1;
}
body.le-day .lp-cta::after{
  content:"";position:absolute;
  bottom:32px;right:-30px;
  width:clamp(200px,24vw,360px);aspect-ratio:253/112;
  background:url('../images/bg/bg-3.png') no-repeat center/contain;
  pointer-events:none;opacity:.5;z-index:1;
}
body.le-day .lp-faq::after{
  content:"";position:absolute;
  bottom:32px;right:-30px;
  width:clamp(200px,24vw,360px);aspect-ratio:253/112;
  background:url('../images/bg/bg-3.png') no-repeat center/contain;
  pointer-events:none;opacity:.45;z-index:1;
}
@media (max-width:767px){
  body.le-day .lp-prologue::before,
  body.le-day .lp-pillars::after,
  body.le-day .lp-cta::before,
  body.le-day .lp-cta::after,
  body.le-day .lp-faq::after{opacity:.3;}
}

/* Replace inline dark transparent card bg with beige */
body.le-day .lp-sim__card[style]{background:#ebe3cf !important;}
/* For inline rgba(18,20,26,.45) etc — use specific selectors to override */
body.le-day [class$="-plan"],
body.le-day [class*="-plan "],
body.le-day [class$="-benefit"],
body.le-day [class*="-benefit "],
body.le-day [class$="-addon"],
body.le-day [class*="-addon "],
body.le-day [class$="-alt-course"],
body.le-day [class*="-alt-course "]{
  background:#ebe3cf !important;
  border:1px solid rgba(120,100,70,.22) !important;
}

/* ── Hero scrim — light cream wash over the image (no dark overlay) ── */
body.le-day .lp-hero__scrim{
  background:linear-gradient(180deg,
    rgba(244,239,227,.4) 0%,
    rgba(244,239,227,.25) 35%,
    rgba(244,239,227,.4) 100%) !important;
}

/* ── Card padding — ensure all beige cards have breathing room ── */
body.le-day .lp-sim__card,
body.le-day .hospi-item,
body.le-day [class$="-plan"]:not(.lp-plan):not(table),
body.le-day [class*="-plan "]:not(.lp-plan):not(table),
body.le-day [class$="-benefit"],
body.le-day [class*="-benefit "],
body.le-day [class$="-addon"],
body.le-day [class*="-addon "],
body.le-day [class$="-alt-course"],
body.le-day [class*="-alt-course "]{
  padding:clamp(28px,3vw,44px) !important;
}

/* ── Lines/borders — darken for better visibility on beige ── */
body.le-day .lp-sim__card,
body.le-day .hospi-item,
body.le-day .lp-plan,
body.le-day .lp-comparison-table,
body.le-day [class$="-plan"]:not(.lp-plan):not(table),
body.le-day [class*="-plan "]:not(.lp-plan):not(table),
body.le-day [class$="-benefit"],
body.le-day [class*="-benefit "],
body.le-day [class$="-addon"],
body.le-day [class*="-addon "],
body.le-day [class$="-alt-course"],
body.le-day [class*="-alt-course "]{
  border:1px solid rgba(31,27,22,.18) !important;
}

/* Hairlines in tables/rows — darken */
body.le-day .lp-sim__row{
  border-bottom:1px dotted rgba(31,27,22,.28) !important;
}
body.le-day .lp-sim__total{
  border-top:1px solid rgba(31,27,22,.45) !important;
}
body.le-day .lp-comparison-table tbody td{
  border-bottom:1px dotted rgba(31,27,22,.25) !important;
}
body.le-day .lp-comparison-table tbody tr:last-child td{
  border-bottom:1px solid rgba(31,27,22,.45) !important;
}

/* Flow steps need their own padding (no card bg, but need breathing room) */
body.le-day .lp-step{
  padding:clamp(20px,2vw,32px) clamp(16px,1.8vw,24px) !important;
}

/* FAQ items also need padding for readability */
body.le-day .lp-faq__item{
  padding:clamp(20px,2vw,28px) !important;
  border-bottom:1px solid rgba(31,27,22,.18) !important;
}


/* ── FAQ — proper text colors for summary (question) ── */
body.le-day .lp-faq__item summary,
body.le-day .lp-faq__item summary span{color:#1f1b16 !important;}
body.le-day .lp-faq__item summary:hover{color:#b89665 !important;}

/* ── Plan cards with images — image edge-to-edge, padding on text only ── */
body.le-day .lp-plan{padding:0 !important;}
body.le-day .lp-plan > :not(.lp-plan__img):not(.lp-plan__tag){
  padding-left:clamp(20px,2.5vw,32px);
  padding-right:clamp(20px,2.5vw,32px);
}
body.le-day .lp-plan__img + :where(.lp-plan__h,.lp-plan__no,.lp-plan__tag,.lp-plan__price,.lp-plan__desc){
  padding-top:clamp(18px,2vw,28px) !important;
}
body.le-day .lp-plan > :last-child{
  padding-bottom:clamp(20px,2.5vw,32px) !important;
}
body.le-day .lp-plan__img{margin:0 0 0 0 !important;}

/* ── Plan __includes — restore left/right padding (inline style sets padding:0) ── */
body.le-day .lp-plan__includes{
  padding-left:clamp(20px,2.5vw,32px) !important;
  padding-right:clamp(20px,2.5vw,32px) !important;
}

/* FAQ — light unified line color (top of list & between items) */
body.le-day .lp-faq__list{border-top:1px solid rgba(31,27,22,.12) !important;}
body.le-day .lp-faq__item{border-bottom:1px solid rgba(31,27,22,.12) !important;}

/* Pricing sim — row directly before total: remove dotted border (avoid double line) */
body.le-day .lp-sim__row:has(+ .lp-sim__total){
  border-bottom:0 !important;
}

/* ── Cross-prefix overrides — wd-/ch-/ms-/lg-/rt-/cr-/ok-/yu- variants ── */
/* Card backgrounds — beige (same as .wd-guide__card) */
body.le-day [class*="-guide__card"]{
  background:#ebe3cf !important;
  border:1px solid rgba(31,27,22,.18) !important;
  padding:clamp(28px,3vw,44px) !important;
}
/* Card text colors */
body.le-day [class*="-guide__title"]{color:#1f1b16 !important;}
body.le-day [class*="-guide__desc"]{color:#2a251f !important;}
body.le-day [class*="-guide__kicker"]{color:#1f1b16 !important;}
body.le-day [class*="-guide__detail"]{color:#2a251f !important;}
/* Pill chips inside guide cards */
body.le-day [class*="-guide__includes"] li{
  color:#1f1b16 !important;
  background:transparent !important;
}
/* Options tables (ch-, lg-, cr-, etc.) */
body.le-day [class*="-options__title"]{color:#1f1b16 !important;}
body.le-day [class*="-options__cat"]{color:#1f1b16 !important;}
body.le-day [class*="-options__table"] th{color:#1f1b16 !important;font-weight:500;}
body.le-day [class*="-options__table"] td{color:#1f1b16 !important;}
body.le-day [class*="-options__table"] th,
body.le-day [class*="-options__table"] td{
  border-bottom:1px dotted rgba(31,27,22,.3) !important;
}
body.le-day [class*="-options__table"] tr:first-child th,
body.le-day [class*="-options__table"] tr:first-child td{
  border-top:1px solid rgba(31,27,22,.45) !important;
}
body.le-day [class*="-options__table"] td:last-child{color:#1f1b16 !important;}
/* Milestone table (longevity) */
body.le-day [class*="-milestone__heading"]{color:#1f1b16 !important;}
body.le-day [class*="-milestone__table"] th{color:#1f1b16 !important;font-weight:500;}
body.le-day [class*="-milestone__table"] td{color:#1f1b16 !important;}
body.le-day [class*="-milestone__table"] th,
body.le-day [class*="-milestone__table"] td{
  border-bottom:1px dotted rgba(31,27,22,.3) !important;
}
/* Addon (retirement, lg-, cr-) */
body.le-day [class*="-addon"]:not([class*="__"]){
  background:#ebe3cf !important;
  border:1px solid rgba(31,27,22,.18) !important;
  padding:clamp(28px,3vw,44px) !important;
}
body.le-day [class*="-addon__kicker"]{color:#1f1b16 !important;}
body.le-day [class*="-addon__desc"]{color:#2a251f !important;}
body.le-day [class*="-addon__price"]{color:#1f1b16 !important;}
body.le-day [class*="-addon__contents"]{color:#2a251f !important;}

/* ── Extended cross-prefix (compare/menu/plan/addon variants) ── */
body.le-day [class*="-addon__title"],
body.le-day [class*="-compare__title"],
body.le-day [class*="-menu__title"],
body.le-day [class*="-options__sub"]{color:#1f1b16 !important;}
body.le-day [class*="-compare__kicker"],
body.le-day [class*="-menu__kicker"],
body.le-day [class*="-plan__kicker"]{color:#1f1b16 !important;}
body.le-day [class*="-options__lead"],
body.le-day [class*="-compare__list"],
body.le-day [class*="-menu__list"]{color:#2a251f !important;}
body.le-day [class*="-plan__price"]{color:#1f1b16 !important;}
body.le-day [class*="-plan__price"] .unit{color:#2a251f !important;}
/* **金額は全部この一群で拾う。** クリーム背景（カードは #ebe3cf）に金（#dfc07a）を置くと
   コントラスト比 1.37 で読めない。`-plan__price` と `-addon__price` だけ黒にしてあり、
   **他のカードの金額（-alt__price / -product__price）が金のまま残っていた**
   （ご結納の「お祝い会席 ¥35,000」「結納品」、合格祝いの「-alt__price」計7か所・2026-09-21 ご指摘）。
   金額のクラスを増やしたら、ここにも足すこと。 */
body.le-day [class*="-alt-course__title"],   /* 成人祝い「¥35,000コース」（2026-09-21 ご指摘・比1.37） */
body.le-day [class*="-alt__price"],
body.le-day [class*="-product__price"],
body.le-day [class*="-gift__price"],
body.le-day [class*="-hin__price"]{color:#1f1b16 !important;}
body.le-day [class*="-alt__price"] .unit,
body.le-day [class*="-product__price"] .unit,
body.le-day [class*="-gift__price"] .unit,
body.le-day [class*="-hin__price"] .unit{color:#2a251f !important;}
body.le-day [class*="-plan__includes"] li{
  color:#1f1b16 !important;
  background:transparent !important;
}
/* Plan description text (cr-plan-desc, rt-plan-desc, etc.) */
body.le-day [class*="-plan-desc"]{color:#2a251f !important;}
/* Compare/menu card panels — beige bg with padding (like guide cards) */
body.le-day [class*="-compare__card"],
body.le-day [class*="-menu__card"]{
  background:#ebe3cf !important;
  border:1px solid rgba(31,27,22,.18) !important;
  padding:clamp(28px,3vw,44px) !important;
}

/* ── Additional card patterns used in 2-level subpages
   (kd-gift, yn-product, yn-hin__item, *-alt__card, etc.) ── */
body.le-day [class$="-product"],
body.le-day [class*="-product "],
body.le-day [class$="-gift"],
body.le-day [class*="-gift "],
body.le-day [class$="-hin__item"],
body.le-day [class*="-hin__item "],
body.le-day [class$="-alt__card"],
body.le-day [class*="-alt__card "]{
  background:#ebe3cf !important;
  border:1px solid rgba(31,27,22,.18) !important;
}
/* Inline-styled card divs (e.g. milestone/career guide section uses
   <div style="background:rgba(18,20,26,.35);..."> without a class) */
body.le-day [style*="rgba(18,20,26"]{
  background:#ebe3cf !important;
  border:1px solid rgba(31,27,22,.18) !important;
}

/* ── Additional named cards missed by [class$="-plan"] (multi-class quirk) ── */
body.le-day .rt-plan,
body.le-day .lp-qa{
  background:#ebe3cf !important;
  border:1px solid rgba(31,27,22,.18) !important;
  padding:clamp(28px,3vw,44px) !important;
  color:#1f1b16 !important;
}
body.le-day .lp-qa__q{color:#1f1b16 !important;font-weight:500;}
body.le-day .lp-qa__a{color:#2a251f !important;}
body.le-day .rt-plan__desc,
body.le-day .rt-plan-desc{color:#2a251f !important;}

/* ── Catch remaining hardcoded light-cream text on cream bg ── */
body.le-day .lp-plan__price .unit,
body.le-day .lp-sim__total .amt .unit,
body.le-day .lp-sim__total .unit,
body.le-day .lp-sim__ledger .it .note,
body.le-day .lp-sim__disclaimer,
body.le-day .lp-flow .lp-step__desc,
body.le-day .lp-faq .lp-faq__item .ans,
body.le-day .lp-plan__price-unit,
body.le-day .unit,
body.le-day .note{
  color:#2a251f !important;
}
/* Menu modal — 地色はページと同じクリーム。配色は style.css の --mm-* が持つ */
/* Plan card — remove the gold hairline that appears between __includes and __price */
body.le-day .lp-plan__price{
  border-top:0 !important;
  padding-top:0 !important;
}
/* Footer — cream tone override (同ページのヘッダーと同じ方針) */
body.le-day .footer{
  background:#ebe3cf;
  color:#1f1b16;
  border-top:.5px solid rgba(120,100,70,.26);
  margin-top:0;
}
body.le-day .footer__brand .since{color:#6e665b;}
body.le-day .footer__brand .vert{color:#1f1b16;}
body.le-day .footer__logo-img{filter:brightness(0) saturate(100%);}
body.le-day .footer h5{
  color:#1f1b16;
  border-bottom-color:rgba(120,100,70,.26);
}
body.le-day .footer li{color:#2a251f;}
body.le-day .footer li a{color:inherit;}
body.le-day .footer li a:hover{color:#b89665;}
body.le-day .footer__bottom{
  color:#6e665b;
  border-top-color:rgba(120,100,70,.18);
}
/* Footer — cream-mode overrides for new elements (address / CTA cells / SNS) */
body.le-day .footer__address{color:#2a251f;}
body.le-day .footer__cta{border-color:rgba(120,100,70,.32);}
body.le-day .footer__cell{
  color:#1f1b16;
  border-bottom-color:rgba(120,100,70,.22);
}
body.le-day .footer__cell:hover{
  background:rgba(184,150,101,.10);
  color:#b89665;
}
body.le-day .footer__cell-icon{color:#b89665;}
body.le-day .footer__cell:hover .footer__cell-icon{color:#8e6e3f;}
body.le-day .footer__cell-sub{color:#6e665b;}
body.le-day .footer__sns > a[aria-label]{
  color:#2a251f;
  border-color:rgba(120,100,70,.36);
}
body.le-day .footer__sns > a[aria-label]:hover{
  color:#b89665;
  border-color:#b89665;
  background:rgba(184,150,101,.08);
}
/* Follow-nav — dark navy override (SNS クラスタ + メインバー両方) */
body.le-day .follow-nav__sns a,
body.le-day .follow-nav__bar{
  background:#1a2638;
}
