/* lavie. v2 — サブページ共通部品（v2_top 以外で使用） */

/* 導入: テキスト＋アーチ写真 */
.intro{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(28px,5vw,72px);align-items:center;padding-block:clamp(40px,5vw,72px)}
.intro__text{display:grid;gap:var(--sp-lg)}
.intro__text .btns{display:flex;gap:var(--sp-md);flex-wrap:wrap}
.intro__photo{position:relative;justify-self:end;width:min(100%,480px)}
.intro__photo img{width:100%;aspect-ratio:4/5;object-fit:cover}
.intro__photo .cap{position:absolute;left:14px;bottom:14px;background:rgba(247,246,245,.92);border-radius:var(--r-btn);padding:.4em 1em;font-size:.72rem;letter-spacing:.06em}
.intro__photo.is-square img{aspect-ratio:1}

/* 番号つき特徴カード */
.feats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-lg)}
.feats.is-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.feats.is-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.fcard{padding:clamp(20px,3vw,32px);display:grid;gap:8px;align-content:start}
.fcard .n{font-family:var(--f-en);font-weight:600;color:var(--rose);font-size:1.4rem;letter-spacing:.1em}
.fcard:nth-child(even) .n{color:var(--blue)}
.fcard h3{font-size:1.02rem;letter-spacing:.06em}
.fcard p{font-size:var(--fs-sm);color:var(--gray)}
.fcard .tag{justify-self:start}
.fcard img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:22px;margin-bottom:6px}

/* 一日の流れ */
.day{display:grid;gap:clamp(24px,4vw,40px);max-width:900px;margin-inline:auto}
.day li{display:grid;grid-template-columns:240px 1fr;gap:var(--sp-2xl);align-items:center}
.day img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:28px}
.day h3{font-size:1.2rem;letter-spacing:.12em;display:flex;align-items:center;gap:.6em;margin-bottom:6px}
.day h3 .t{font-family:var(--f-en);font-weight:600;letter-spacing:.06em}
.day h3 .t::after{content:"-";margin-left:.6em;color:var(--taupe)}
.day p{font-size:var(--fs-sm);color:var(--gray)}
.day li:nth-child(even){grid-template-columns:1fr 240px}
.day li:nth-child(even) img{order:2}

/* 写真＋濃色パネルの帯 */
.band{display:grid;grid-template-columns:1fr 1fr;border-radius:var(--r-card);overflow:hidden}
.band img{width:100%;height:100%;object-fit:cover;min-height:320px}
.band__body{background:var(--rose);color:var(--white);padding:clamp(32px,4vw,64px);display:grid;gap:var(--sp-lg);align-content:center}
.band__body h2{color:var(--white)}
.band__body .en{color:var(--mustard-soft)}
.band__body p{color:rgba(255,255,255,.88);max-width:32em}
.band.is-blue .band__body{background:var(--blue)}

/* 数字 */
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-md)}
.stats li{text-align:center;padding:var(--sp-xl) var(--sp-md);background:var(--cream-2);border-radius:28px}
.stats b{display:block;font-family:var(--f-en);font-weight:600;font-size:clamp(1.8rem,1.4rem+1.6vw,2.6rem);color:var(--rose);line-height:1.1}
.stats li:nth-child(even) b{color:var(--blue)}
.stats span{display:block;font-weight:700;font-size:var(--fs-sm);margin-top:6px}
.stats small{display:block;color:var(--taupe);font-size:.72rem}

/* リスト（チェック） */
.checks{display:grid;gap:8px}
.checks li{display:flex;align-items:flex-start;gap:.6em;font-size:var(--fs-sm);line-height:1.8}
.checks li::before{content:"✓";flex:none;width:1.6em;height:1.6em;border-radius:50%;background:var(--rose);color:var(--white);display:grid;place-items:center;font-size:.8em;margin-top:.35em}
.checks.is-blue li::before{background:var(--blue)}
.note-box{padding:var(--sp-lg) var(--sp-xl);background:var(--rose-soft);border-radius:22px;font-size:var(--fs-sm);line-height:1.9}
.note-box b{color:var(--rose)}

/* 料金 */
.items5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--sp-md);align-items:stretch;position:relative}
.item{padding:var(--sp-xl) var(--sp-lg);display:grid;gap:6px;align-content:start;position:relative}
.item .n{font-family:var(--f-en);font-weight:600;color:var(--taupe);font-size:1.3rem}
.item h3{font-size:.98rem;letter-spacing:.04em}
.item p{font-size:.8rem;color:var(--gray)}
.item+.item::before{content:"+";position:absolute;left:-14px;top:50%;transform:translate(-50%,-50%);font-family:var(--f-en);font-size:1.4rem;color:var(--taupe)}
.estimate{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(24px,4vw,56px);align-items:start}
.est{padding:clamp(24px,3vw,36px);display:grid;gap:0}
.est .hd{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;border-bottom:2px solid var(--line);margin-bottom:6px}
.est .row{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:var(--fs-sm)}
.est .row small{display:block;color:var(--taupe);font-size:.72rem}
.est .row b{white-space:nowrap}
.est .total{display:flex;justify-content:space-between;align-items:baseline;padding-top:16px}
.est .total .ask{font-family:var(--f-en);font-weight:600;font-size:2rem;color:var(--rose);letter-spacing:.06em}
.ptable{width:100%;border-collapse:collapse;background:var(--cream-2);border-radius:24px;overflow:hidden;font-size:var(--fs-sm)}
.ptable th,.ptable td{padding:.8em 1em;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.ptable th{background:var(--beige);font-weight:700;font-size:.8rem;letter-spacing:.06em}
.ptable td.num{text-align:right;font-family:var(--f-en);font-weight:600;white-space:nowrap}
.ptable tr:last-child td{border-bottom:0}
.ptable caption{caption-side:top;text-align:left;font-weight:700;padding:0 0 8px 4px;letter-spacing:.06em}
.pwrap{overflow-x:auto}

/* 5ステップ */
.steps5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--sp-md)}
.step5{display:grid;gap:8px;position:relative}
.step5 .n{font-family:var(--f-en);font-weight:600;color:var(--taupe);font-size:1.5rem}
.step5 img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:20px}
.step5 h3{font-size:.98rem;letter-spacing:.04em}
.step5 p{font-size:.78rem;color:var(--gray)}
.step5+.step5::before{content:"→";position:absolute;left:-14px;top:48%;transform:translateX(-50%);font-family:var(--f-en);color:var(--mustard)}

/* 3つの円（見守り） */
.ways{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-xl)}
.way{padding:clamp(24px,3vw,36px);text-align:center;display:grid;justify-items:center;gap:10px;border-radius:200px 200px 28px 28px}
.way .k{width:84px;height:84px;border-radius:50%;background:var(--rose-soft);color:var(--rose);display:grid;place-items:center;font-family:var(--f-en);font-weight:600;letter-spacing:.1em}
.way:nth-child(2) .k{background:var(--blue-soft);color:var(--blue)}
.way:nth-child(3) .k{background:var(--mustard-soft);color:var(--mustard-2)}
.way h3{font-size:1.02rem}
.way p{font-size:var(--fs-sm);color:var(--gray)}
.phone{width:min(100%,300px);aspect-ratio:9/18;border-radius:44px;background:#2b2b2b;padding:14px;justify-self:center;box-shadow:var(--shadow)}
.phone .scr{background:var(--cream-2);border-radius:32px;height:100%;overflow:hidden;display:grid;grid-template-rows:auto 1fr}
.phone img{width:100%;aspect-ratio:4/3;object-fit:cover}
.phone .live{position:absolute}
.phone .body{padding:16px;font-size:.78rem;color:var(--gray)}
.phone .body b{display:block;color:var(--ink);font-size:.9rem;margin-bottom:4px}
.phone .wrapimg{position:relative}
.phone .wrapimg span{position:absolute;left:12px;top:12px;background:var(--rose);color:var(--white);font-family:var(--f-en);font-size:.68rem;padding:.2em .8em;border-radius:999px}

/* 番号リスト（プライバシー） */
.numlist{display:grid;gap:12px}
.numlist li{display:grid;grid-template-columns:44px 1fr;gap:var(--sp-md);align-items:start;padding:14px 18px;background:var(--cream-2);border-radius:20px}
.numlist .n{width:44px;height:44px;border-radius:50%;background:var(--rose);color:var(--white);display:grid;place-items:center;font-family:var(--f-en);font-weight:600}
.numlist li:nth-child(even) .n{background:var(--blue)}
.numlist b{display:block;font-size:var(--fs-sm)}
.numlist p{font-size:.8rem;color:var(--gray)}

/* ギャラリー・スタッフ */
.gal3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-lg)}
.gal3 figure{margin:0;position:relative;border-radius:28px;overflow:hidden;aspect-ratio:4/3}
.gal3 img{width:100%;height:100%;object-fit:cover}
/* ギャラリーのスライドショー（写真・無音動画を数秒ごとにランダム切替） */
.ss .ss__stage{position:absolute;inset:0}
.ss .ss__stage>*{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .9s ease}
.ss .ss__stage>.is-on{opacity:1}
.ss .ss__dots{position:absolute;top:12px;right:14px;display:flex;gap:5px;z-index:1}
.ss .ss__dots i{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.55);transition:background .3s,transform .3s}
.ss .ss__dots i.is-on{background:#fff;transform:scale(1.35)}
@media (prefers-reduced-motion:reduce){.ss .ss__stage>*{transition:none}}
.gal3 figcaption{position:absolute;inset:auto 0 0;padding:28px 18px 14px;background:linear-gradient(to top,rgba(51,51,51,.7),transparent);color:var(--white);font-size:var(--fs-sm);font-weight:700}
.gal3 figcaption small{display:block;font-weight:500;font-size:.72rem;opacity:.9}
.staff4{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--sp-lg)}
.person{padding:var(--sp-xl) var(--sp-lg);display:grid;justify-items:center;gap:6px;text-align:center}
.person .ph{width:120px;height:120px;border-radius:50%;overflow:hidden;background:var(--rose-soft);display:grid;place-items:center;font-family:var(--f-en);font-weight:600;color:var(--rose);font-size:1.4rem}
.person .ph img{width:100%;height:100%;object-fit:cover}
.person b{letter-spacing:.08em}
.person small{font-family:var(--f-en);font-size:.68rem;letter-spacing:.14em;color:var(--taupe)}
.person p{font-size:.8rem;color:var(--gray)}

/* お問い合わせ */
.ways3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-lg)}
.wcard{padding:var(--sp-xl);display:grid;gap:8px;text-align:center;justify-items:center}
.wcard .en{font-size:.8rem}
.wcard b{font-size:1.1rem;letter-spacing:.06em}
.wcard p{font-size:.8rem;color:var(--gray)}
.form{display:grid;gap:var(--sp-lg);max-width:760px;margin-inline:auto}
.form .f{display:grid;gap:6px}
.form label{font-size:var(--fs-xs);font-weight:700;letter-spacing:.06em;color:var(--gray);display:flex;gap:8px;align-items:center}
.form label .req{font-size:.66rem;padding:.1em .6em;border-radius:999px;background:var(--rose);color:var(--white)}
.form input[type=text],.form input[type=tel],.form input[type=email],.form input[type=date],.form select,.form textarea{width:100%;font:inherit;padding:.8em 1em;border:1.5px solid var(--line);border-radius:16px;background:var(--white);color:var(--ink)}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--rose);box-shadow:0 0 0 3px rgba(154,101,96,.18)}
.form textarea{min-height:140px;resize:vertical}
.form .row2{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-md)}
.form .radios{display:flex;gap:8px;flex-wrap:wrap}
.form .radios label{padding:.5em 1.1em;border-radius:999px;border:1.5px solid var(--line);background:var(--white);cursor:pointer;font-weight:500;color:var(--ink)}
.form .radios input{margin:0 .3em 0 0}
.form .agree{font-size:var(--fs-sm);display:flex;gap:.6em;align-items:flex-start}
.form .submit{justify-self:center}

/* 会社概要 */
.dl{display:grid;grid-template-columns:200px 1fr;border-radius:24px;overflow:hidden;background:var(--cream-2)}
.dl dt,.dl dd{margin:0;padding:.9em 1.2em;border-bottom:1px solid var(--line);font-size:var(--fs-sm)}
.dl dt{background:var(--beige);font-weight:700}
.dl dd{line-height:1.8}
.map{aspect-ratio:16/7;border-radius:28px;background:var(--beige);display:grid;place-items:center;color:var(--taupe);font-size:var(--fs-sm);position:relative;overflow:hidden}
.map .pin{width:44px;height:44px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--rose);display:grid;place-items:center}
.map .pin i{width:16px;height:16px;border-radius:50%;background:var(--white)}
.map.is-embed{display:block;aspect-ratio:16/9}
.map.is-embed iframe{width:100%;height:100%;border:0;display:block;filter:saturate(.85)}
.map__open{position:absolute;right:14px;bottom:14px}

/* CTA（pawpark: chatアイコン＋ボタン）— v2_top.html と同じ定義を共通化 */
.cta{text-align:center;display:grid;justify-items:center;gap:var(--sp-lg);padding:clamp(40px,5vw,72px) var(--gutter)}
.cta .chat{width:72px;height:72px;border-radius:50%;background:var(--rose);display:grid;place-items:center}
.cta .chat svg{width:34px;height:34px;stroke:var(--white);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.cta h2{letter-spacing:.14em}
.cta .btns{display:flex;gap:var(--sp-md);flex-wrap:wrap;justify-content:center}

/* 2カラム汎用 */
.two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px);align-items:start}
.sec-inner{max-width:900px;margin-inline:auto}

@media (max-width:980px){
  .intro{grid-template-columns:1fr}.intro__photo{justify-self:center}
  .feats.is-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .feats.is-3{grid-template-columns:1fr}
  .band{grid-template-columns:1fr}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .items5{grid-template-columns:repeat(2,minmax(0,1fr))}.item+.item::before{display:none}
  .estimate{grid-template-columns:1fr}
  .steps5{grid-template-columns:repeat(2,minmax(0,1fr))}.step5+.step5::before{display:none}
  .ways{grid-template-columns:1fr}
  .gal3{grid-template-columns:1fr}
  .staff4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ways3{grid-template-columns:1fr}
  .two{grid-template-columns:1fr}
}
@media (max-width:640px){
  .feats{grid-template-columns:1fr}.feats.is-4{grid-template-columns:1fr}
  .day li,.day li:nth-child(even){grid-template-columns:1fr}.day li:nth-child(even) img{order:0}
  .items5{grid-template-columns:1fr}
  .steps5{grid-template-columns:1fr}
  .staff4{grid-template-columns:1fr 1fr}
  .form .row2{grid-template-columns:1fr}
  .dl{grid-template-columns:1fr}.dl dt{border-bottom:0;padding-bottom:.3em}
  .stats{grid-template-columns:1fr 1fr}
}

/* ---- 料金表（2026-09-03 追加）---- */
.ptable--price td b{font-weight:700}
.ptable--price td small{display:block;font-size:.7rem;color:var(--taupe);font-weight:500}
.ptable--price th small{display:block;font-weight:500;font-size:.72rem;color:var(--gray)}
.ptable--price th{text-align:center}
.ptable--price th:first-child{text-align:left}
.ptable--price td.num{font-size:1rem}
.ptable--price tr.hl-rose td{background:var(--rose-soft)}
.ptable--price tr.hl-blue td{background:var(--blue-soft)}
.pbadge{display:inline-block;margin-left:.5em;padding:.1em .7em;border-radius:999px;background:var(--rose);color:var(--white);font-size:.66rem;font-weight:700;letter-spacing:.06em;vertical-align:middle}
.hl-blue .pbadge{background:var(--blue)}
.pnotes{display:grid;gap:4px;margin-top:10px;padding-left:1.2em;list-style:"※ ";font-size:.78rem;color:var(--gray);line-height:1.8}
.pnotes li::marker{color:var(--taupe)}
.price-sec{display:grid;gap:var(--sp-lg)}
.price-sec+.price-sec{margin-top:var(--sp-3xl)}
.price-sec h3{font-size:1.15rem;letter-spacing:.08em;display:flex;align-items:center;gap:.6em}
.price-sec h3 .k{width:2em;height:2em;border-radius:50%;background:var(--rose);color:var(--white);display:grid;place-items:center;font-family:var(--f-en);font-weight:600;font-size:.8rem}
.price-sec h3 .k.is-blue{background:var(--blue)}
.price-sec h3 .k.is-mustard{background:var(--mustard)}
.price-sec .lead-sm{font-size:var(--fs-sm);color:var(--gray)}
.extras{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-md)}
.extra{padding:var(--sp-lg) var(--sp-xl);display:grid;gap:4px}
.extra b{font-size:var(--fs-sm);letter-spacing:.04em}
.extra b small{display:block;font-weight:500;color:var(--taupe);font-size:.72rem}
.extra p{font-size:var(--fs-sm);color:var(--gray)}
.extra em{font-style:normal;font-weight:700;color:var(--rose);font-family:var(--f-en);font-size:1.05rem}
.fees{display:grid;grid-template-columns:1fr 1.6fr;gap:var(--sp-md)}
.fee{padding:var(--sp-xl);display:grid;gap:6px;align-content:start}
.fee .k{font-size:.8rem;font-weight:700;color:var(--gray);letter-spacing:.08em}
.fee b{font-family:var(--f-en);font-weight:600;font-size:1.6rem;color:var(--rose)}
.fee p{font-size:.8rem;color:var(--gray);line-height:1.8}
.anchors{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin:-8px 0 var(--sp-2xl)}
.plink{display:grid;gap:8px;padding:var(--sp-xl);align-content:start}
.plink b{font-size:1.05rem;letter-spacing:.06em}
.plink p{font-size:.82rem;color:var(--gray)}
.plink .from{font-family:var(--f-en);font-weight:600;color:var(--rose);font-size:1.1rem}
.plinks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-lg)}
@media (max-width:640px){.extras,.fees,.plinks{grid-template-columns:1fr}}
@media (max-width:640px){
  .ptable--price th,.ptable--price td{padding:.6em .45em;font-size:.8rem}
  .ptable--price td.num{font-size:.9rem}
  .ptable--price th small{font-size:.64rem}
  .pbadge{display:block;margin:4px 0 0}
}

/* ---- 「私たちが大切にしていること」（2026-09-03）---- */
.promise-band{display:grid;grid-template-columns:1.4fr 1fr;gap:0;background:var(--cream-2);border-radius:var(--r-card);overflow:hidden;box-shadow:var(--shadow);transition:transform .5s var(--ease-out)}
.promise-band:hover{transform:translateY(-3px)}
.promise-band img{width:100%;height:100%;object-fit:cover;min-height:260px}
.pb__text{padding:clamp(28px,4vw,48px);display:grid;gap:10px;align-content:center}
.pb__l1{font-size:var(--fs-lg);color:var(--gray);letter-spacing:.06em}
.pb__l2{font-size:var(--fs-h2);font-weight:700;color:var(--rose);letter-spacing:.08em;line-height:1.5}
.pb__text .sub b{color:var(--ink);font-size:1.05rem}
.pb__text .arrow-link{margin-top:6px}
.essay{max-width:760px;margin:0 auto;padding:var(--sp-2xl) var(--gutter) var(--sp-3xl)}
.essay__head{text-align:center;display:grid;gap:8px;margin-bottom:var(--sp-xl)}
.essay__title{font-size:clamp(1.35rem,1.05rem+1.5vw,2rem);letter-spacing:.1em;line-height:1.8;color:var(--rose)}
.essay__nav{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-bottom:var(--sp-3xl)}
.essay__body{display:grid;gap:var(--sp-3xl)}
.essay__body section{display:grid;gap:1.1em}
.essay__body p{font-size:1.02rem;line-height:2.15;letter-spacing:.05em;color:var(--ink)}
.essay__body h2{font-size:1.3rem;letter-spacing:.1em;line-height:1.6;display:grid;gap:2px;padding-top:var(--sp-md);border-top:1px solid var(--line);color:var(--ink)}
.essay__body h2 .em{font-size:1.6rem;line-height:1}
.essay__body h2 small{font-family:var(--f-en);font-weight:500;font-size:.78rem;letter-spacing:.12em;color:var(--mustard-2)}
.essay__body .quotes{display:grid;gap:6px;padding:var(--sp-lg) var(--sp-xl);background:var(--cream-2);border-radius:22px}
.essay__body .quote{font-weight:700;color:var(--rose);font-size:1.08rem;line-height:1.9}
.essay__body .dots{display:grid;gap:4px;padding-left:1.4em;list-style:"・ "}
.essay__body .dots li{font-size:1rem;line-height:1.9}
.essay__body .three{display:grid;gap:8px}
.essay__body .three li{display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--cream-2);border-radius:16px;font-weight:700}
.essay__body .three .n{width:32px;height:32px;border-radius:50%;background:var(--rose);color:var(--white);display:grid;place-items:center;font-family:var(--f-en);font-size:.85rem;flex:none}
.essay__body .three li:nth-child(2) .n{background:var(--blue)}
.essay__body .three li:nth-child(3) .n{background:var(--mustard)}
.essay__body .closing{font-size:1.4rem;font-weight:700;color:var(--rose);letter-spacing:.12em;text-align:center;margin-top:var(--sp-lg)}
.essay__body .sign{text-align:center}
.essay__body .sign img{height:44px;width:auto;display:inline-block;opacity:.9}
.essay .ph{margin:0;border-radius:28px;overflow:hidden;aspect-ratio:16/9}
.essay .ph img{width:100%;height:100%;object-fit:cover}
.essay .ph.is-staff{aspect-ratio:4/3;position:relative;max-width:820px;margin:0 auto var(--sp-xl)}
.essay .ph.is-staff figcaption{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);background:rgba(247,246,245,.94);color:var(--ink);font-weight:700;letter-spacing:.12em;font-size:.86rem;padding:.5em 1.3em;border-radius:999px;white-space:nowrap}
@media (max-width:760px){.promise-band{grid-template-columns:1fr}.promise-band img{min-height:200px;order:-1}}
