/* ============================================================
   Serenesta v2 — pricing.html
   ============================================================ */

/* PAGE HERO */
.page-hero{
  padding:130px 40px 60px;
  background:linear-gradient(180deg,var(--c-bg-pale) 0%,#F4DEE4 100%);
  text-align:center;
}
.page-hero-inner{max-width:680px;margin:0 auto}
.page-title{
  font-family:var(--f-jp-serif);
  font-weight:400;
  font-size:clamp(1.6rem,3vw,2.2rem);
  color:var(--c-ink);
  letter-spacing:.18em;
  margin-bottom:6px;
}
.page-lead{
  font-family:var(--f-jp-serif);
  font-weight:300;
  font-size:.95rem;
  color:var(--c-ink-soft);
  letter-spacing:.1em;
  margin-top:24px;
  line-height:1.9;
}
.page-art{
  width:120px;
  margin:28px auto 0;
}
.page-art img{
  width:100%;
  height:auto;
  display:block;
}

/* FOUNDING BANNER（flow.htmlと同じ） */
.founding-banner{
  padding:50px 40px;
  background:var(--c-bg-pale);
}
.founding-card{
  max-width:780px;margin:0 auto;
  background:var(--c-white);
  border:0.5px solid var(--c-line);
  border-radius:18px;
  padding:44px 44px;
  text-align:center;
  box-shadow:0 24px 60px rgba(185,130,144,.08);
}
.founding-eyebrow{
  font-family:var(--f-en);
  font-style:italic;
  font-size:.95rem;
  color:var(--c-rose-deep);
  letter-spacing:.22em;
  margin-bottom:14px;
}
.founding-title{
  font-family:var(--f-jp-serif);
  font-weight:500;
  font-size:clamp(1.2rem,2.2vw,1.6rem);
  color:var(--c-ink);
  letter-spacing:.12em;
  margin-bottom:18px;
}
.founding-text{
  color:var(--c-ink-soft);
  font-size:.92rem;
  line-height:2;
  letter-spacing:.06em;
  margin-bottom:28px;
}
.founding-meta{
  display:flex;align-items:center;justify-content:center;gap:14px;
  flex-wrap:wrap;
  padding-top:24px;
  border-top:0.5px solid var(--c-line);
}
.founding-meta-item{
  background:var(--c-bg-cream);
  border-radius:10px;
  padding:14px 22px;
  min-width:140px;
}
.founding-meta-item.highlight{
  background:var(--c-rose);
  color:var(--c-white);
}
.founding-meta-label{
  font-family:var(--f-en);font-style:italic;
  font-size:.74rem;letter-spacing:.16em;
  margin-bottom:4px;opacity:.8;
}
.founding-meta-value{
  font-family:var(--f-en);
  font-weight:400;
  font-size:1.3rem;
  letter-spacing:.04em;
}
.founding-meta-arrow{
  font-family:var(--f-en);
  font-size:1.4rem;
  color:var(--c-gold);
}

/* COMMON TITLE */
.block-title{
  font-family:var(--f-jp-serif);
  font-weight:400;
  font-size:clamp(1.4rem,2.4vw,1.8rem);
  color:var(--c-ink);
  letter-spacing:.16em;
  margin-bottom:14px;
}
.block-desc{
  color:var(--c-ink-soft);
  font-size:.88rem;
  letter-spacing:.06em;
  line-height:1.95;
  max-width:560px;
  margin:0 auto;
}

/* PRICE MAIN */
.price-main{
  padding:56px 40px;
  background:var(--c-white);
}
.price-head{text-align:center;margin-bottom:48px}
.price-table{
  max-width:760px;
  margin:0 auto;
  background:var(--c-bg-cream);
  border-radius:18px;
  padding:36px 48px;
}
.price-row{
  display:grid;
  grid-template-columns:1fr auto;
  gap:24px;
  padding:20px 0;
  border-bottom:0.5px solid var(--c-line);
  align-items:baseline;
}
.price-row:last-child{border-bottom:0}
.price-label{
  font-family:var(--f-jp-serif);
  font-weight:400;
  font-size:1rem;
  color:var(--c-ink);
  letter-spacing:.06em;
}
.price-label small{
  display:block;
  font-family:var(--f-jp-sans);
  font-weight:300;
  font-size:.76rem;
  color:var(--c-ink-soft);
  letter-spacing:.04em;
  margin-top:4px;
}
.price-value{
  font-family:var(--f-en);
  font-weight:400;
  font-size:1.6rem;
  color:var(--c-ink);
  letter-spacing:.04em;
  white-space:nowrap;
}
.price-value span{
  font-family:var(--f-jp-sans);
  font-size:.74rem;
  color:var(--c-ink-soft);
  letter-spacing:.06em;
  font-weight:300;
  margin-left:4px;
}

/* SIMULATION（小さめフォント） */
.simulation{
  padding:56px 40px;
  background:var(--c-bg-cream);
}
.sim-head{text-align:center;margin-bottom:40px}
.sim-card{
  max-width:760px;
  margin:0 auto 28px;
  background:var(--c-white);
  border:0.5px solid var(--c-line);
  border-radius:14px;
  padding:28px 32px;
}
.sim-card:last-of-type{margin-bottom:0}
.sim-card-title{
  font-family:var(--f-jp-serif);
  font-weight:500;
  font-size:1.05rem;
  color:var(--c-rose-deep);
  letter-spacing:.1em;
  padding-bottom:14px;
  margin-bottom:14px;
  border-bottom:0.5px solid var(--c-line);
}
.sim-table{
  width:100%;
  border-collapse:collapse;
  font-size:.82rem;
}
.sim-table thead th{
  font-family:var(--f-en);
  font-style:italic;
  font-weight:400;
  font-size:.85rem;
  color:var(--c-rose-deep);
  letter-spacing:.1em;
  padding:6px 8px;
  text-align:right;
}
.sim-table thead th:first-child{text-align:left}
.sim-table tbody td{
  padding:8px;
  text-align:right;
  color:var(--c-ink);
  font-family:var(--f-en);
  font-weight:400;
  letter-spacing:.04em;
  border-bottom:0.5px solid var(--c-line);
}
.sim-table tbody tr:last-child td{border-bottom:0}
.sim-table .sim-label{
  text-align:left;
  font-family:var(--f-jp-sans);
  font-weight:400;
  font-size:.82rem;
  color:var(--c-ink);
  letter-spacing:.04em;
}
.sim-table .sim-label small{
  display:block;
  font-size:.7rem;
  color:var(--c-ink-soft);
  font-weight:300;
  margin-top:2px;
}
.sim-table .sim-total td{
  font-weight:500;
  background:var(--c-bg-pale);
  font-size:.95rem;
  color:var(--c-ink);
  padding-top:12px;padding-bottom:12px;
}
.sim-table .sim-total .sim-label{
  font-family:var(--f-jp-serif);
  font-weight:500;
  font-size:.92rem;
}
.sim-note{
  text-align:center;
  font-size:.78rem;
  color:var(--c-ink-soft);
  letter-spacing:.04em;
  margin-top:24px;
  line-height:1.8;
}

/* EXTRA（追加料金・キャンセル） */
.extra-block{
  padding:56px 40px;
  background:var(--c-white);
}
.extra-head{text-align:center;margin-bottom:40px}
.extra-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:20px;
  max-width:760px;
  margin:0 auto;
}
.extra-card{
  background:var(--c-bg-cream);
  border-radius:14px;
  padding:28px 26px;
}
.extra-card h3{
  font-family:var(--f-jp-serif);
  font-weight:500;
  font-size:1rem;
  color:var(--c-ink);
  letter-spacing:.1em;
  padding-bottom:14px;
  margin-bottom:14px;
  border-bottom:0.5px solid var(--c-line);
}
.extra-card ul{
  list-style:none;
  padding:0;
}
.extra-card li{
  display:flex;justify-content:space-between;
  padding:6px 0;
  font-size:.84rem;
  color:var(--c-ink);
  letter-spacing:.04em;
}
.extra-card li span:first-child{color:var(--c-ink-soft)}
.extra-card li span:last-child{
  font-family:var(--f-en);
  font-weight:400;
  font-size:.92rem;
}

/* CROSS LINK */
.cross-link{
  padding:60px 40px;
  background:var(--c-bg-pale);
}
.cross-card{
  max-width:680px;margin:0 auto;
  background:var(--c-white);
  border:0.5px solid var(--c-line);
  border-radius:14px;
  padding:32px 36px;
  text-align:center;
}
.cross-eyebrow{
  font-family:var(--f-en);
  font-style:italic;
  font-size:.9rem;
  color:var(--c-rose-deep);
  letter-spacing:.22em;
  margin-bottom:10px;
}
.cross-title{
  font-family:var(--f-jp-serif);
  font-weight:500;
  font-size:1.2rem;
  color:var(--c-ink);
  letter-spacing:.12em;
  margin-bottom:8px;
}
.cross-text{
  font-size:.88rem;
  color:var(--c-ink-soft);
  line-height:1.9;
  letter-spacing:.06em;
  margin-bottom:18px;
}

/* RESPONSIVE */
@media (max-width: 880px){
  .page-hero{padding:110px 22px 40px}
  .founding-banner{padding:36px 22px}
  .founding-card{padding:32px 22px}
  .founding-meta{flex-direction:column;gap:10px}
  .founding-meta-arrow{transform:rotate(90deg)}
  .founding-meta-item{width:100%}
  .price-main,.simulation,.extra-block{padding:54px 22px}
  .cross-link{padding:40px 22px}
  .price-table{padding:24px 22px}
  .price-row{grid-template-columns:1fr;gap:8px}
  .sim-card{padding:22px 18px}
  .sim-table{font-size:.74rem}
  .sim-table thead th,.sim-table tbody td{padding:6px 4px}
  .extra-grid{grid-template-columns:1fr;gap:14px}
  .cross-card{padding:24px 22px}
}

/* NAV ACTIVE */
.nav-links a.active{color:var(--c-rose-deep);font-weight:500}
