/* 案件固有のスタイル。型(styles.css)は編集禁止 — 上書きはすべてここに書く。
   読み込み順は styles.css → custom.css なので、同じセレクタ/変数はこちらが勝つ。 */

:root {
  --mold-version: 9;
  /* font-preset: elegant */
  --lh-body: 2.00;
  --lh-display: 1.40;
  --ls-en: .16em;
  --ls-body: .03em;
  --ls-display: .08em;
  --fw-strong: 600;
  --fw-body: 400;
  --fw-display: 400;
  --font-en: "Cormorant Garamond", serif;
  --font-body: "Noto Sans JP", sans-serif;
  --font-display: "Shippori Mincho B1", serif;
  /* 配色: extract_palette.py の4値をここに */
  /* 書体: apply_design_tokens.py --preset <key> が自動で書く */
}

/* ルートAヒーロー(make_hero_bg.py の出力座標)はここに書く */

:root { --ink:#4e413a; --paper:#f8f5ee; --gold:#c1a38d; --muted:#756e68; --line:rgba(78,65,58,.18); --dark:#282320; }
.lira-page > .site-header,.lira-page > .nav-overlay,.lira-page > #top,.lira-page > .footer { display:none; }
.lira-page > #top *{display:none!important}
.lira-shell{background:var(--paper);color:var(--ink);font-family:var(--font-body);overflow:hidden}.lira-shell *{box-sizing:border-box}.lira-shell img{display:block;width:100%}.lira-header{position:fixed;z-index:50;top:0;left:0;right:0;height:78px;display:flex;align-items:center;gap:28px;padding:0 clamp(22px,5vw,72px);background:rgba(248,245,238,.88);border-bottom:1px solid rgba(78,65,58,.08);backdrop-filter:blur(16px)}.lira-logo{font-family:var(--font-en);font-size:clamp(1.7rem,2.2vw,2.25rem);letter-spacing:.25em;line-height:1;white-space:nowrap}.lira-nav{display:flex;gap:clamp(18px,2.8vw,42px);margin-left:auto;font-family:var(--font-en);letter-spacing:.12em;font-size:.87rem}.lira-header__cta{border:1px solid var(--ink);padding:10px 17px;font-size:.83rem;letter-spacing:.08em}.lira-hero{min-height:min(820px,100svh);display:grid;grid-template-columns:47.8% 52.2%;padding-top:78px;background:#f5f1eb}.lira-hero__copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(64px,10vw,160px) clamp(26px,5.2vw,92px) clamp(44px,8vw,130px)}.lira-kicker{margin:0 0 19px;font-family:var(--font-en);font-size:.78rem;letter-spacing:.2em;color:var(--gold)}.lira-shell h1,.lira-shell h2,.lira-shell h3{font-family:var(--font-display);font-weight:var(--fw-display);color:var(--ink)}.lira-hero h1{margin:0 0 24px;font-size:clamp(2.55rem,4.25vw,4.85rem);line-height:1.32;letter-spacing:.035em}.lira-hero h1 span{display:block}.lira-hero__copy>p:not(.lira-kicker){margin:0 0 35px;color:var(--muted);font-size:clamp(.92rem,1.2vw,1.08rem);line-height:2}.lira-button{display:inline-flex;width:max-content;align-items:center;justify-content:space-between;min-width:212px;padding:17px 22px;background:var(--dark);color:#fff;letter-spacing:.09em;font-size:.95rem;transition:transform .25s ease,background .25s ease}.lira-button:hover{transform:translateY(-2px);background:#000}.lira-button span{font-size:1.35rem}.lira-proof{display:flex;gap:0;margin:43px 0 0;padding:0;list-style:none;font-family:var(--font-en);font-size:.68rem;letter-spacing:.14em}.lira-proof li{padding:0 18px;border-left:1px solid var(--line)}.lira-proof li:first-child{padding-left:0;border:0}.lira-hero__visual{margin:0;overflow:hidden;background:#e7e1d9}.lira-hero__visual img{height:100%;object-fit:cover;object-position:47% center}.lira-intro,.lira-process,.lira-space,.lira-stylist,.lira-access{display:grid;grid-template-columns:1fr 1fr;gap:clamp(38px,9vw,170px);padding:clamp(92px,13vw,180px) clamp(24px,7vw,112px)}.lira-intro h2,.lira-gallery h2,.lira-process h2,.lira-space h2,.lira-stylist h2,.lira-access h2,.lira-reservation h2{margin:0;font-size:clamp(2.05rem,4vw,4.3rem);line-height:1.38;letter-spacing:.05em}.lira-intro>div:last-child{align-self:end;color:var(--muted);line-height:2.1}.lira-values{display:grid;grid-template-columns:repeat(3,1fr);background:var(--dark);color:#eee9e3}.lira-values article{min-height:330px;padding:clamp(34px,5vw,76px);border-right:1px solid rgba(255,255,255,.17)}.lira-values article:last-child{border:0}.lira-values span{font-family:var(--font-en);letter-spacing:.16em;color:#d2b9a6}.lira-values h2{color:#fff;font-size:1.75rem;margin:62px 0 18px}.lira-values p{margin:0;line-height:2;color:#d5cfca}.lira-gallery{padding:clamp(95px,13vw,180px) clamp(24px,7vw,112px)}.lira-gallery>div:first-child{max-width:1220px;margin:0 auto 54px}.lira-gallery__grid{display:grid;grid-template-columns:1.08fr .9fr 1.08fr;gap:clamp(14px,2vw,30px);max-width:1220px;margin:auto;align-items:start}.lira-gallery figure{margin:0}.lira-gallery figure:nth-child(2){margin-top:76px}.lira-gallery img{aspect-ratio:4/5;object-fit:cover}.lira-gallery figcaption{display:flex;justify-content:space-between;gap:10px;padding-top:14px;font-size:.82rem;color:var(--muted)}.lira-gallery figcaption strong{font-family:var(--font-en);font-size:1rem;letter-spacing:.08em;color:var(--ink)}.lira-process{background:#ebe5dd}.lira-process ol{margin:0;padding:0;list-style:none}.lira-process li{display:grid;grid-template-columns:72px 1fr;gap:22px;padding:24px 0;border-top:1px solid var(--line)}.lira-process li:last-child{border-bottom:1px solid var(--line)}.lira-process li>span{font-family:var(--font-en);letter-spacing:.12em;color:var(--gold)}.lira-process h3{margin:0 0 7px;font-size:1.45rem}.lira-process p,.lira-space p:last-child,.lira-stylist p:last-child,.lira-access p{margin:0;color:var(--muted);line-height:2}.lira-space{grid-template-columns:1.12fr .88fr;align-items:center}.lira-space figure,.lira-stylist figure{margin:0}.lira-space img{aspect-ratio:16/10;object-fit:cover}.lira-stylist{grid-template-columns:.8fr 1fr;align-items:center;padding-top:0}.lira-stylist img{aspect-ratio:4/5;object-fit:cover}.lira-access{background:#eee8e0}.lira-access__details{align-self:end;border-top:1px solid var(--line)}.lira-access__details p{display:grid;grid-template-columns:130px 1fr;gap:10px;padding:19px 0;border-bottom:1px solid var(--line);color:var(--ink)}.lira-access__details span{font-family:var(--font-en);letter-spacing:.12em;font-size:.76rem;color:var(--gold)}.lira-reservation{padding:clamp(100px,14vw,190px) 24px;text-align:center;background:var(--dark);color:#eee9e3}.lira-reservation h2{color:#fff}.lira-reservation>p:not(.lira-kicker){margin:28px auto 34px;max-width:510px;line-height:2;color:#d3ccc5}.lira-button--light{background:#f8f5ee;color:var(--dark)}.lira-footer{display:grid;grid-template-columns:1fr auto 1fr;gap:25px;align-items:center;padding:38px clamp(24px,5vw,72px);background:#1e1a18;color:#eee9e3}.lira-footer .lira-logo{color:#fff;font-size:1.55rem}.lira-footer p{margin:0;font-family:var(--font-en);font-size:.72rem;letter-spacing:.14em;color:#aaa19a}.lira-footer nav{display:flex;gap:24px;font-size:.76rem;letter-spacing:.1em}.lira-footer small{justify-self:end;color:#aaa19a}.lira-page>.sticky-cta{z-index:55;background:var(--dark)}
.lira-header{padding:0 clamp(22px,3.8vw,64px);background:rgba(248,245,238,.40);border:0;backdrop-filter:blur(5px)}
.lira-header__cta{width:34px;height:1px;padding:0;border:0;background:var(--ink);font-size:0}
.lira-hero__copy{justify-content:flex-start;padding:clamp(242px,15.4vw,258px) 20px 44px clamp(50px,3.8vw,64px)}
.lira-hero .lira-kicker{display:none}
.lira-hero h1{font-size:clamp(2.55rem,4vw,4.5rem);line-height:1.43}
.lira-proof{position:absolute;left:calc(100% + 15.2vw);right:auto;bottom:62px;z-index:2;margin:0;white-space:nowrap}
.lira-header{height:120px}
.lira-hero{min-height:100svh}
.lira-hero__copy{z-index:2;padding-top:clamp(214px,13.6vw,228px)}
.lira-hero h1{font-size:clamp(2.55rem,4.25vw,4.85rem);line-height:1.36}
.lira-header{height:78px}
.lira-hero{min-height:min(820px,100svh)}
.lira-hero__copy{z-index:auto;padding:clamp(242px,15.4vw,258px) 20px 44px clamp(50px,3.8vw,64px)}
.lira-hero h1{font-size:clamp(2.55rem,4vw,4.5rem);line-height:1.43}
.lira-proof{left:auto;right:6.2%;white-space:normal}
.lira-header{height:120px}
.lira-hero{min-height:100svh}
.lira-hero__copy{padding-top:clamp(228px,14.6vw,244px)}
.lira-header{position:absolute;background:transparent;backdrop-filter:none}
.lira-hero{display:block;min-height:0;padding:0;aspect-ratio:1672/941;container-type:inline-size;background:url("assets/fv-bg-v3.png") center/cover no-repeat}
.lira-hero__visual{display:none}
.lira-hero__copy{position:absolute;inset:0;display:block;padding:0;z-index:1}
.lira-hero h1{position:absolute;top:34.5%;left:2.9%;width:43%;margin:0;font-size:4.35cqw;line-height:1.45;letter-spacing:.035em}
.lira-hero__copy>p:not(.lira-kicker){position:absolute;top:58.9%;left:2.9%;width:40.2%;margin:0;font-size:1.32cqw;line-height:1.5;color:#342f2c;white-space:nowrap}
.lira-hero .lira-button{position:absolute;top:67.1%;left:2.9%;width:18.8cqw;min-width:0;height:4.5cqw;padding:0 2.9cqw;font-size:1.2cqw}
.lira-hero .lira-button span{font-size:1.6cqw}
.lira-proof{left:61.9%;right:auto;top:89.8%;bottom:auto;z-index:2;font-size:.83cqw;white-space:nowrap;color:#1c1a19}
.lira-proof li{padding:0 2.2cqw}
.lira-proof li:first-child{padding-left:0}
.lira-hero__visual{display:block;position:absolute;inset:0;z-index:0;background:transparent}
.lira-hero__visual img{display:block;height:100%;object-fit:cover;opacity:.01}
.lira-hero__copy>p:not(.lira-kicker){line-height:1.8}
.lira-values{padding-block:56px}
.lira-shell .lira-kicker{color:#766253}
.lira-access__details span{color:var(--ink)}
.lira-intro h2,.lira-process h2{font-size:clamp(1.8rem,2.7vw,3.15rem);letter-spacing:0}

@media(max-width:900px){.lira-header{position:fixed;height:65px;padding:0 20px;background:rgba(248,245,238,.92)}.lira-nav{display:none}.lira-header__cta{margin-left:auto}.lira-hero{display:grid;grid-template-columns:1fr;padding-top:65px;min-height:0;aspect-ratio:auto;background:none}.lira-hero__visual{display:block;position:static;grid-row:2;margin:0}.lira-hero__visual img{display:block;height:auto;aspect-ratio:872/670;object-fit:contain}.lira-hero__copy{position:static;display:flex;grid-row:1;padding:76px 24px 42px}.lira-hero h1{position:static;width:auto;margin:0 0 24px;font-size:clamp(2.35rem,10.5vw,4rem);line-height:1.32}.lira-hero__copy>p:not(.lira-kicker){position:static;width:auto;margin:0 0 35px;font-size:clamp(.92rem,1.2vw,1.08rem);line-height:2;white-space:normal}.lira-button{position:static;width:max-content;min-width:212px;height:auto;padding:17px 22px;font-size:.95rem}.lira-button span{font-size:1.35rem}.lira-proof{position:static;font-size:.6rem;flex-wrap:wrap;gap:12px 0;margin-top:31px}.lira-proof li{padding:0 12px}.lira-intro,.lira-process,.lira-space,.lira-stylist,.lira-access{grid-template-columns:1fr}.lira-values{grid-template-columns:1fr;padding-block:36px}.lira-values article{min-height:0;border-right:0;border-bottom:1px solid rgba(255,255,255,.17)}.lira-values h2{margin:28px 0 12px}.lira-gallery__grid{grid-template-columns:1fr 1fr}.lira-gallery figure:nth-child(2){margin-top:36px}.lira-gallery figure:nth-child(3){grid-column:1/3;width:calc(50% - 7px);justify-self:center;margin-top:-54px}.lira-footer{grid-template-columns:1fr}.lira-footer nav{flex-wrap:wrap}.lira-footer small{justify-self:start}}
@media(max-width:900px){.lira-gallery figcaption{position:relative;z-index:1;background:var(--paper);padding:12px 0}}
@media(max-width:900px){.lira-intro h2,.lira-process h2{font-size:clamp(1.42rem,6vw,1.75rem);letter-spacing:.02em}}
@media(max-width:520px){.lira-header__cta{padding:9px 11px;font-size:.75rem}.lira-logo{font-size:1.55rem}.lira-gallery__grid{display:block}.lira-gallery figure,.lira-gallery figure:nth-child(2),.lira-gallery figure:nth-child(3){width:100%;margin:0 0 26px}.lira-process li{grid-template-columns:45px 1fr;gap:12px}.lira-footer{padding:32px 24px}}
@media(prefers-reduced-motion:reduce){[data-reveal]{transform:none!important;clip-path:none!important;transition:opacity .6s ease!important}.hero__ambient{display:none}.marquee__inner{animation-duration:55s}}
.lira-shell .lira-footer.footer{display:grid}
.lira-shell .lira-footer .footer__brand{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.lira-shell .lira-footer .footer__nav{display:flex;gap:24px;flex-wrap:wrap}
.lira-shell .lira-footer .footer__sns{display:flex;gap:14px;align-items:center}
.lira-shell .lira-footer .lira-logo{display:inline-block;line-height:1.3}
.lira-shell .lira-footer .footer__sns a{display:inline-block;width:auto;height:auto;padding:7px;line-height:1.3;white-space:nowrap}
@media(max-width:900px){.lira-shell{padding-bottom:84px}}
