/* =========================================================
   つきじ治作 — lifeevent ページ固有スタイル（抽出元: lifeevent/index.html の <style>）
   body名前空間: page-lifeevent / url(): css/pages/基準 ../../images/
   ========================================================= */

/* ════════════════════════════════════════════════════════════
   lifeevent — Warm cream page (.le-* scope)
   - 背景・色は dish に準拠
   - HERO は business に準拠（全画面高 + 左テキストパネル）
   ════════════════════════════════════════════════════════════ */
body.le-day{background:#f4efe3;}
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 — solid cream by default, 82% translucent on scroll */
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;}
/* 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 — 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;
}

.le-page{
  --le-bg:#f4efe3;
  --le-bg-alt:#ebe3cf;
  --le-bg-warm:#f8f3e5;
  --le-ink:#1f1b16;
  /* Sub text — darkened from beige (#6e665b) to near-black
     for readability on cream backgrounds */
  --le-sub:#2a251f;
  --le-line:rgba(120,100,70,.26);
  --le-line-soft:rgba(120,100,70,.14);
  --le-gold:#b89665;
  --le-gold-hi:#c9a464;
  --le-navy:#243349;
  --le-navy-deep:#1a2638;
  --le-serif:var(--serif);
  --le-serif-display:var(--serif-display);
  --le-en:var(--en-serif);
  --le-gutter:clamp(24px,8vw,120px);
  --le-section-pad:clamp(80px,10vw,140px);
  --le-wrap:1320px;

  background-color:var(--le-bg);
  background-image:
    radial-gradient(circle at 23% 17%,rgba(120,95,55,.04) 0,transparent 1px),
    radial-gradient(circle at 67% 43%,rgba(120,95,55,.035) 0,transparent 1.2px),
    radial-gradient(circle at 38% 78%,rgba(120,95,55,.04) 0,transparent 1px);
  background-size:7px 7px,11px 11px,9px 9px;
  color:var(--le-ink);
  font-family:var(--le-serif);font-weight:400;
  line-height:1.9;letter-spacing:.06em;
  -webkit-font-smoothing:antialiased;
}
.le-page *{box-sizing:border-box;}
.le-page a{color:inherit;text-decoration:none;}
.le-page img{display:block;max-width:100%;}

.le-wrap{max-width:1600px;margin:0 auto;padding:0 var(--le-gutter);position:relative;}


.le-sec__head{text-align:center;margin-bottom:clamp(50px,6vw,80px);}
.le-sec__h{
  font-family:var(--le-serif);font-weight:500;
  font-size:clamp(22px,2.4vw,28px);letter-spacing:.18em;
  color:var(--le-ink);margin:0;
  display:inline-block;position:relative;padding-bottom:18px;
}
.le-sec__h::after{
  content:"";position:absolute;bottom:0;left:50%;
  transform:translateX(-50%);
  width:48px;height:1px;background:var(--le-gold);
}

/* ── HERO ── */
.le-hero{
  position:relative;min-height:100vh;
  background-color:var(--le-bg);
  background-image:url('../../images/lifeevent/lifeevent_hero.jpg');
  background-size:cover;background-position:center;background-repeat:no-repeat;
  display:flex;align-items:stretch;overflow:hidden;
}
.le-hero__text{
  width:44%;
  display:flex;flex-direction:column;justify-content:center;align-items:flex-start;
  padding:clamp(120px,15vw,200px) clamp(50px,6vw,100px) clamp(60px,8vw,120px) var(--le-gutter);
  background-image:linear-gradient(
    to right,
    #f4efe3 0%,
    #f4efe3 65%,
    rgba(244,239,227,.85) 80%,
    rgba(244,239,227,.4) 92%,
    rgba(244,239,227,0) 100%
  );
  position:relative;
}
.le-hero__kicker{
  font-family:var(--le-serif);font-size:13px;letter-spacing:.2em;
  color:var(--le-gold);margin-bottom:24px;display:block;
}
.le-hero__title{
  font-family:var(--le-serif);font-weight:500;
  font-size:42px;line-height:1.45;letter-spacing:.16em;
  color:var(--le-ink);margin:0 0 30px;
}
.le-hero__lead{
  font-size:14px;line-height:2.1;letter-spacing:.08em;
  color:var(--le-ink);max-width:28em;margin:0;
}

/* ── Scenes (5 icons) ── */
.le-scenes{padding:var(--le-section-pad) 0;background:var(--le-bg);}
.le-scenes__grid{
  display:grid;grid-template-columns:repeat(5,1fr);
  gap:clamp(20px,2.5vw,40px);
  max-width:1100px;margin:0 auto;
}
.le-scene{display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;}
.le-scene__icon{
  width:84px;height:84px;border-radius:50%;
  border:1px solid var(--le-gold);
  display:inline-flex;align-items:center;justify-content:center;
  color:var(--le-gold);flex-shrink:0;
}
.le-scene__icon svg{width:34px;height:34px;}
.le-scene__title{
  font-family:var(--le-serif);font-weight:500;
  font-size:14px;letter-spacing:.14em;color:var(--le-ink);margin:0;
}
.le-scene__desc{
  font-size:11px;line-height:1.85;letter-spacing:.04em;
  color:var(--le-sub);margin:0;
}

/* ── Values (3 narrative blocks) ── */
.le-values{padding:var(--le-section-pad) 0;background:var(--le-bg-warm);position:relative;}
.le-values__list{
  max-width:880px;margin:0 auto;
  display:flex;flex-direction:column;
}
.le-value{
  padding:clamp(40px,5vw,64px) 0;
  border-top:.5px solid var(--le-line-soft);
}
.le-value:first-child{border-top:none;padding-top:0;}
.le-value__meta{
  display:flex;align-items:center;justify-content:center;gap:14px;
  margin-bottom:20px;
}
.le-value__num{
  font-family:var(--le-en);font-style:italic;font-weight:500;
  font-size:14px;letter-spacing:.06em;color:var(--le-gold);
}
.le-value__en{
  font-family:var(--le-en);font-style:italic;
  font-size:11px;letter-spacing:.3em;text-transform:uppercase;
  color:var(--le-gold);
  position:relative;padding-left:18px;
}
.le-value__en::before{
  content:"";position:absolute;left:0;top:50%;
  width:10px;height:.5px;background:var(--le-gold);
}
.le-value__title{
  font-family:var(--le-serif);font-weight:500;
  font-size:clamp(20px,2.4vw,28px);letter-spacing:.18em;
  color:var(--le-ink);text-align:center;
  margin:0 0 28px;line-height:1.6;
}
.le-value__body{
  font-size:14px;line-height:2.1;letter-spacing:.08em;
  color:var(--le-sub);
  max-width:36em;margin:0 auto;
}
.le-value__body + .le-value__body{margin-top:18px;}

/* ── Plans (3 cards) ── */
.le-plans{padding:var(--le-section-pad) 0;background:var(--le-bg);}
.le-plans__grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:clamp(20px,2.5vw,40px);
}
.le-plan{
  background:none;
  border:none;
  display:flex;flex-direction:column;
  position:relative;
  transition:transform .35s ease,box-shadow .35s ease;
}
.le-plan:hover{
  transform:translateY(-4px);
  box-shadow:0 24px 40px -20px rgba(60,40,20,.18);
}

.le-plan__img{aspect-ratio:1.25/1;overflow:hidden;}
.le-plan__img img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .8s ease;
}
.le-plan:hover .le-plan__img img{transform:scale(1.04);}
.le-plan__body{
  padding:clamp(24px,2.4vw,32px);
  display:flex;flex-direction:column;gap:14px;
}

.le-plan__title{
  font-family:var(--le-serif);font-weight:500;
  font-size:17px;letter-spacing:.16em;color:var(--le-ink);margin:0;
}


.le-plan__desc{
  font-size:12px;line-height:1.95;letter-spacing:.04em;
  color:var(--le-sub);margin:0;
}
.le-plan__features{
  display:grid;grid-template-columns:repeat(2,1fr);
  gap:6px 14px;list-style:none;padding:8px 0;margin:0;
  border-top:1px solid var(--le-line-soft);
  border-bottom:1px solid var(--le-line-soft);
  font-size:11px;color:var(--le-ink);
}
.le-plan__features li{
  display:flex;align-items:center;gap:6px;
  padding:4px 0;letter-spacing:.06em;
}
.le-plan__features li::before{
  content:"";width:4px;height:4px;
  background:var(--le-gold);border-radius:50%;flex-shrink:0;
}
.le-plan__btn{
  display:inline-flex;align-items:center;justify-content:space-between;
  padding:14px 20px;border:1px solid var(--le-line);
  color:var(--le-ink);font-family:var(--le-serif);
  font-size:13px;letter-spacing:.14em;
  transition:background .3s ease,color .3s ease,border-color .3s ease;
  margin-top:4px;
}
.le-plan__btn::after{
  content:"›";font-size:18px;color:var(--le-gold);margin-left:auto;
}
.le-plan__btn:hover{background:var(--le-gold);color:#fff;border-color:var(--le-gold);}
.le-plan__btn:hover::after{color:#fff;}
.le-plans__note{
  text-align:right;margin-top:24px;
  font-size:11px;letter-spacing:.06em;color:var(--le-sub);
}

/* ── Options (3 horizontal cards) ── */
.le-options{padding:var(--le-section-pad) 0;background:var(--le-bg-warm);}
.le-options__grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:clamp(20px,2.5vw,40px);
}
.le-option{display:grid;grid-template-columns:130px 1fr;gap:20px;align-items:start;}
.le-option__img{width:130px;height:130px;object-fit:cover;}
.le-option__title{
  font-family:var(--le-serif);font-weight:500;
  font-size:15px;letter-spacing:.14em;color:var(--le-ink);margin:0 0 12px;
}
.le-option__desc{font-size:11px;line-height:1.9;color:var(--le-sub);margin:0;}
.le-option__note{font-size:10px;color:var(--le-sub);margin-top:10px;display:block;}

/* ── Gallery (5 thumbs) ── */




/* ── Bottom CTA bar ── */






/* Responsive */
@media (max-width:960px){
  .le-hero__text{width:62%;}
  .le-hero__title{font-size:32px;}
  .le-scenes__grid{grid-template-columns:repeat(3,1fr);}
  .le-plans__grid{grid-template-columns:repeat(2,1fr);}
  .le-options__grid{grid-template-columns:1fr;max-width:520px;margin:0 auto;}
  
}
@media (max-width:600px){
  /* HERO: stack image (top) and text (bottom) */
  .le-hero{min-height:auto;display:block;background-image:none;padding-top:114px;}
  .le-hero::before{content:"";display:block;width:100%;aspect-ratio:3/2;background:url('../../images/lifeevent/lifeevent_hero.jpg') center/cover no-repeat;}
  .le-hero__text{
    width:100%;
    background:#f4efe3;
    background-image:none;
    padding:clamp(36px,8vw,56px) var(--le-gutter) clamp(48px,10vw,72px);
  }
  .le-hero__title{font-size:28px;}
  .le-scenes__grid{grid-template-columns:repeat(2,1fr);}
  .le-plans__grid{grid-template-columns:1fr;}
  
  
}


/* ────────────────────────────────────────────────────────────
   TIMELINE — 一生に一度を、一生の宝物に
   ──────────────────────────────────────────────────────────── */
.le-timeline{padding:var(--le-section-pad) 0;background:var(--le-bg-warm);}
.le-timeline__intro{
  text-align:center;
  font-size:13px;line-height:2;letter-spacing:.08em;
  color:var(--le-sub);
  max-width:36em;margin:-30px auto clamp(50px,6vw,80px);
}
.le-timeline__list{
  position:relative;
  max-width:760px;margin:0 auto;
  list-style:none;padding:8px 0 8px 60px;
}
.le-timeline__list::before{
  content:"";position:absolute;
  top:8px;bottom:8px;left:21px;
  width:1px;background:rgba(184,150,101,.6);
}
.le-timeline__item{
  position:relative;
  padding:0 0 clamp(36px,4.5vw,60px);
}
.le-timeline__item:last-child{padding-bottom:0;}
.le-timeline__item::before{
  content:"";position:absolute;
  left:-46px;top:6px;
  width:13px;height:13px;border-radius:50%;
  background:var(--le-gold);
  box-shadow:0 0 0 4px var(--le-bg-warm);
}
.le-timeline__age{
  display:inline-block;
  font-family:var(--le-en);font-style:italic;font-weight:500;
  font-size:12px;letter-spacing:.2em;
  color:var(--le-gold);text-transform:uppercase;
  margin-bottom:8px;
}
.le-timeline__title{
  font-family:var(--le-serif);font-weight:500;
  font-size:18px;letter-spacing:.16em;
  color:var(--le-ink);margin:0 0 10px;
}
.le-timeline__desc{
  font-size:12px;line-height:1.95;letter-spacing:.05em;
  color:var(--le-sub);margin:0 0 12px;
  max-width:34em;
}
.le-timeline__link{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--le-serif);font-size:12px;
  letter-spacing:.14em;color:var(--le-ink);
  transition:color .3s, gap .3s;
}
.le-timeline__link::after{
  content:"";display:inline-block;
  width:18px;height:1px;background:var(--le-gold);
  transition:width .3s, background-color .3s;
}
.le-timeline__link:hover{color:var(--le-gold);gap:14px;}
.le-timeline__link:hover::after{width:26px;}

/* ────────────────────────────────────────────────────────────
   FLOW — ご利用の流れ
   ──────────────────────────────────────────────────────────── */
.le-flow{padding:var(--le-section-pad) 0;background:var(--le-bg);}
.le-flow__grid{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:clamp(20px,2.5vw,40px);
  position:relative;list-style:none;padding:0;margin:0;
}
.le-flow__grid::before{
  content:"";position:absolute;
  top:72px;left:12.5%;right:12.5%;
  height:1px;background:rgba(184,150,101,.5);z-index:0;
}
.le-flow__step{
  display:flex;flex-direction:column;align-items:center;
  text-align:center;position:relative;z-index:1;
  padding:0 clamp(8px,1.5vw,18px);
}
.le-flow__num{
  font-family:var(--le-en);font-style:italic;font-weight:500;
  font-size:18px;color:var(--le-gold);
  letter-spacing:.05em;margin-bottom:12px;line-height:1;
}
.le-flow__icon{
  width:84px;height:84px;border-radius:50%;
  background:var(--le-bg);
  border:1px solid rgba(184,150,101,.5);
  display:inline-flex;align-items:center;justify-content:center;
  color:var(--le-gold);margin-bottom:24px;
}
.le-flow__icon svg{width:32px;height:32px;}
.le-flow__h{
  font-family:var(--le-serif);font-weight:500;
  font-size:15px;letter-spacing:.18em;
  color:var(--le-ink);margin:0 0 14px;
}
.le-flow__body{
  font-size:12px;line-height:1.95;letter-spacing:.06em;
  color:var(--le-sub);max-width:18em;
}

/* ────────────────────────────────────────────────────────────
   FAQ — よくあるご質問
   ──────────────────────────────────────────────────────────── */
.le-faq{padding:var(--le-section-pad) 0;background:var(--le-bg-warm);}
.le-faq__grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 clamp(50px,6vw,90px);
  border-top:1px solid rgba(184,150,101,.4);
}
.le-faq__item{
  border-bottom:1px solid rgba(184,150,101,.4);
}
.le-faq__item summary{
  display:flex;align-items:center;gap:18px;
  padding:24px 4px;
  cursor:pointer;
  list-style:none;
  transition:color .25s;
}
.le-faq__item summary::-webkit-details-marker{display:none;}
.le-faq__item summary:hover{color:var(--le-gold-hi);}
.le-faq__item[open] .le-faq__chev{transform:rotate(45deg);}
.le-faq__ans{
  padding:0 4px 24px 50px;
  margin:0;
  font-size:13px;line-height:2;letter-spacing:.06em;
  color:var(--le-ink);
}
.le-faq__q{
  font-family:var(--le-en);font-style:italic;font-weight:500;
  font-size:20px;color:var(--le-gold);
  flex-shrink:0;line-height:1;width:28px;
}
.le-faq__text{
  font-family:var(--le-serif);font-size:13px;letter-spacing:.12em;
  color:var(--le-ink);flex:1;
}
.le-faq__chev{
  width:9px;height:9px;flex-shrink:0;
  border-right:1px solid var(--le-sub);
  border-bottom:1px solid var(--le-sub);
  transform:rotate(-45deg);
  transition:border-color .3s;
}
.le-faq__item summary:hover .le-faq__chev{border-color:var(--le-gold-hi);}

/* ────────────────────────────────────────────────────────────
   BG DECO — dish-style decorative SVG/png placement
   ──────────────────────────────────────────────────────────── */
.le-bgdeco{
  position:absolute;
  background-repeat:no-repeat;
  background-size:contain;
  pointer-events:none;
  z-index:1;opacity:.7;
}
.le-bgdeco--momiji{width:clamp(180px,22vw,320px);aspect-ratio:155/186;background-image:url('../../images/bg/bg-1.png');}
.le-bgdeco--koi{width:clamp(160px,18vw,280px);aspect-ratio:225/131;background-image:url('../../images/bg/bg-2.png');}
.le-bgdeco--willow{width:clamp(200px,24vw,360px);aspect-ratio:253/112;background-image:url('../../images/bg/bg-3.png');}
.le-bgdeco--tl{top:32px;left:-20px;}
.le-bgdeco--tr{top:48px;right:-30px;}
.le-bgdeco--bl{bottom:32px;left:-20px;}
.le-bgdeco--br{bottom:32px;right:-30px;}

.le-bgdeco--cl{top:50%;left:-40px;transform:translateY(-50%);}
.le-bgdeco--momiji.le-bgdeco--tl,
.le-bgdeco--momiji.le-bgdeco--bl{left:0;}
.le-bgdeco--momiji.le-bgdeco--tr,
.le-bgdeco--momiji.le-bgdeco--br{right:0;}

@media (max-width:767px){.le-bgdeco{opacity:.4;}}

/* Sections need overflow:hidden + position:relative to anchor & clip decorations */
.le-scenes,.le-plans,.le-options,.le-timeline,.le-flow,.le-faq,.le-contact{
  overflow:hidden;
  position:relative;
}

/* ────────────────────────────────────────────────────────────
   CONTACT — dish-style (centered, single gold-bordered button)
   ──────────────────────────────────────────────────────────── */
.le-contact{
  padding:clamp(120px,14vw,200px) 0;
  background:var(--le-bg-alt);
  text-align:center;
  position:relative;
}
.le-contact__inner{
  position:relative;z-index:2;
  display:flex;flex-direction:column;align-items:center;
}
.le-contact__en{
  display:block;
  font-family:var(--le-en);font-style:italic;font-weight:500;
  font-size:14px;letter-spacing:.24em;
  color:var(--le-navy);text-transform:uppercase;
  margin-bottom:18px;
}
.le-contact__h{
  font-family:var(--le-serif);font-weight:500;
  font-size:clamp(22px,2.6vw,32px);letter-spacing:.22em;
  color:var(--le-ink);
  line-height:1.7;
  margin:0 0 24px;
}
.le-contact__sub{
  font-family:var(--le-serif);font-weight:300;
  font-size:14px;line-height:2.2;letter-spacing:.08em;
  color:var(--le-sub);
  margin:0 auto 36px;max-width:560px;
}
.le-contact__btn{
  display:inline-flex;align-items:center;gap:14px;
  padding:18px 40px;
  background:transparent;
  color:var(--le-ink);
  font-family:var(--le-serif);font-size:13px;letter-spacing:.24em;
  text-decoration:none;
  border:.5px solid var(--le-gold);
  transition:background .35s ease, color .35s ease, gap .35s ease, border-color .35s ease;
}
.le-contact__btn:hover{
  background:var(--le-gold);
  color:#fff;
  gap:20px;
  border-color:var(--le-gold);
}
.le-contact__btn .arrow{transition:transform .35s ease;}
.le-contact__btn:hover .arrow{transform:translateX(4px);}

/* Responsive (timeline/flow/faq/contact) */
@media (max-width:960px){
  .le-flow__grid{grid-template-columns:repeat(2,1fr);gap:50px 20px;}
  .le-flow__grid::before{display:none;}
  .le-faq__grid{grid-template-columns:1fr;}
}
@media (max-width:600px){
  .le-flow__grid{grid-template-columns:1fr;}
  .le-timeline__list{padding-left:46px;}
  .le-timeline__list::before{left:14px;}
  .le-timeline__item::before{left:-40px;}
}
