@charset "UTF-8";

/* =========================================================
   CELEVI OWNERS CLUB Renewal LP
   Figma: PC 1440 / SP 375
   ========================================================= */
:root {
  --renewal-gold: #d5b767;
  --renewal-gold-deep: #9e6f00;
  --renewal-black: #050505;
  --renewal-dark: #202020;
  --renewal-dark-soft: #2a2a2a;
  --renewal-light: #efefef;
  --renewal-line: rgba(213, 183, 103, .78);
}

body {
  background: var(--renewal-black);
  overflow-x: hidden;
}

.renewal-page {
  overflow: hidden;
  background: var(--renewal-black);
  color: #fff;
}

.renewal-page button,
.renewal-page input,
.renewal-page select,
.renewal-page textarea {
  border-radius: 0;
}

.renewal-section-inner {
  width: min(112.4rem, calc(100% - 6.4rem));
  margin-inline: auto;
}
.renewal-section-inner--narrow { width: min(94.6rem, calc(100% - 6.4rem)); }
.renewal-kicker {
  font-family: var(--font-en);
  font-size: 4.2rem;
  line-height: 1.1;
  letter-spacing: .08em;
  font-weight: 400;
  color: #fff;
}
.renewal-kicker--center { text-align: center; }
.renewal-kicker--dark { color: var(--color-text-main); }
.renewal-section-title {
  font-family: var(--font-ja);
  font-size: 4.0rem;
  line-height: 1.6;
  letter-spacing: .08em;
  font-weight: 500;
  color: #fff;
}
.renewal-section-title--center { text-align: center; }
.renewal-section-title--dark { color: var(--color-text-main); }
.renewal-badge {
  width: fit-content;
  min-width: 30.5rem;
  margin: 3.4rem auto 3.6rem;
  padding: .7rem 2.4rem;
  border: 1px solid var(--renewal-gold);
  color: var(--renewal-gold);
  text-align: center;
  font-family: var(--font-ja);
  font-size: 2.4rem;
  line-height: 1.35;
  letter-spacing: .16em;
}
.renewal-badge--dark { color: var(--color-text-main); }

/* Header overrides */
.renewal-header { background: #3e3d35; }
.renewal-header .header__inner { padding: 0 .8rem; max-width: 144rem; }
.renewal-header .header__nav { margin-right: 2rem; }
.renewal-header .header__nav-item a {
  font-family: var(--font-ja);
  font-size: 1.0rem;
  letter-spacing: .02em;
  padding: 0 .15rem;
}
.renewal-header .header__nav-sep { margin: 0 .25rem; opacity: .9; }
.renewal-header__cta {
  width: 25.8rem;
  height: 3.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.2rem;
  background: linear-gradient(180deg, #d19a23 0%, #a66a00 50%, #865100 100%);
  border: 1px solid #e9c66b;
  color: #fff;
  font-family: var(--font-ja);
  font-size: 1.3rem;
  letter-spacing: .08em;
}
.renewal-header__cta i,
.renewal-cta__button i {
  width: 2.4rem;
  height: .6rem;
  border-bottom: 1px solid currentColor;
  position: relative;
  display: inline-block;
}
.renewal-header__cta i::after,
.renewal-cta__button i::after {
  content: '';
  position: absolute;
  right: 0;
  bottom: -.1rem;
  width: .8rem;
  border-bottom: 1px solid currentColor;
  transform: rotate(30deg);
  transform-origin: right bottom;
}

/* FV */
.renewal-fv {
  position: relative;
  min-height: 111.8rem;
  padding-top: 5.8rem;
  background: #050505;
}
.renewal-fv__media {
  position: absolute;
  top: 5.8rem;
  left: 15%;
  right: 0;
  height: 68.8rem;
  overflow: hidden;
}
.renewal-fv__media img,
.renewal-fv__media video {
  width: 100%; height: 100%; object-fit: cover;
}
.renewal-fv__scrim {
  position: absolute; inset: 5.8rem 0 auto; height: 69rem;
  background: linear-gradient(90deg, #050505 0%, rgba(5,5,5,.92) 8%, rgba(5,5,5,.58) 35%, rgba(5,5,5,.08) 65%, transparent 100%),
              linear-gradient(180deg, rgba(0,0,0,.18), transparent 65%, #050505 100%);
  pointer-events: none;
}
.renewal-fv__content {
  position: relative;
  z-index: 2;
  width: 86.5rem;
  padding: 6.8rem 0 0 8.5rem;
}
.renewal-fv__eyebrow { font-family: var(--font-en); font-size: 1.8rem; letter-spacing: .11em; margin-bottom: 1.5rem; }
.renewal-fv__title { font-size: 4.8rem; line-height: 1.55; letter-spacing: .08em; font-weight: 500; text-shadow: 0 2px 8px rgba(0,0,0,.35); }
.renewal-fv__subcopy { margin: 2.0rem 0 2.6rem 1.9rem; padding-left: 1.8rem; border-left: 1px solid var(--renewal-gold); font-size: 1.9rem; line-height: 1.55; letter-spacing: .12em; }
.renewal-fv__price { margin-top: .5rem; font-size: 2.2rem; color: var(--renewal-gold); }
.renewal-fv__ownership { display: inline-block; margin-left: 1.9rem; padding: 1.2rem 1.8rem; border: 1px solid var(--renewal-gold); font-size: 1.9rem; line-height: 1.5; letter-spacing: .12em; }
.renewal-fv__facts { margin-top: 1.2rem; font-size: 1.35rem; line-height: 1.8; letter-spacing: .05em; }
.renewal-fv > .renewal-cta { position: absolute; z-index: 3; left: 50%; transform: translateX(-50%); bottom: 5.3rem; }

/* Shared CTA */
.renewal-cta { width: 50.8rem; margin: 0 auto; text-align: center; }
.renewal-cta__button {
  min-height: 8.9rem;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  gap: 2.4rem;
  border: 1px solid #e9c66b;
  color: #fff;
  font-size: 2.6rem;
  line-height: 1.3;
  letter-spacing: .08em;
  font-weight: 500;
  overflow: hidden;
}
.renewal-cta__button--primary { background: linear-gradient(180deg, #d8a12d, #9d6200 54%, #784700); }
.renewal-cta__button--secondary { flex-wrap: wrap; align-content: center; gap: .4rem 2rem; background: linear-gradient(180deg,#8c670d,#6b4800 55%,#3f2a00); }
.renewal-cta__button--secondary small { width: 100%; font-size: 1.15rem; letter-spacing: .11em; font-weight: 400; }
.renewal-cta__button--secondary span { font-size: 2.2rem; }
.renewal-cta__notice { margin: 1.7rem 0; text-align: left; font-family: var(--font-sub-sans); font-size: 1.15rem; line-height: 1.75; color: rgba(255,255,255,.82); }

/* Rooms intro */
.renewal-experience { background: #242424; }
.renewal-experience__hero { height: 58.2rem; position: relative; overflow: hidden; }
.renewal-experience__hero > picture img { width:100%; height:100%; object-fit:cover; }
.renewal-experience__hero::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.12) 45%,rgba(0,0,0,.62)); }
.renewal-experience__heading { position:absolute; z-index:2; inset:auto 0 9.5rem; text-align:center; }
.renewal-experience__heading h2 { margin-top: 1.0rem; font-size: 3.3rem; line-height: 1.45; letter-spacing: .12em; font-weight: 500; }
.renewal-experience__gallery { display:grid; grid-template-columns:repeat(3,1fr); gap:.6rem; }
.renewal-experience__card { height: 40.7rem; position:relative; overflow:hidden; }
.renewal-experience__card::after { content:''; position:absolute; inset:50% 0 0; background:linear-gradient(transparent,rgba(0,0,0,.68)); }
.renewal-experience__card img { width:100%; height:100%; object-fit:cover; }
.renewal-experience__card figcaption { position:absolute; z-index:2; left:2rem; right:2rem; bottom:1.6rem; color:#fff; font-family:var(--font-en); font-size:2.8rem; letter-spacing:.08em; }

/* Simulation */
.renewal-simulation { position:relative; padding: 8.0rem 0 9.5rem; background:#050505 url('../images/bg_simulation.jpg') center / cover no-repeat; }
.renewal-simulation::before { content:''; position:absolute; inset:0; background:rgba(0,0,0,.72); }
.renewal-simulation > * { position:relative; z-index:1; }
.renewal-simulation .renewal-section-title { font-size:4.1rem; line-height:1.55; }
.renewal-cost { position:relative; margin: 7rem auto 0; padding: 5.7rem 6.8rem 4rem; border: 1px solid rgba(213,183,103,.7); background: rgba(0,0,0,.22); }
.renewal-cost__label { position:absolute; top:-2.6rem; left:50%; transform:translateX(-50%); width:27.7rem; padding:.6rem; border:1px solid var(--renewal-gold); background:#050505; color:#fff; text-align:center; font-size:2rem; letter-spacing:.15em; }
.renewal-cost h3 { text-align:center; font-size:3.0rem; line-height:1.7; letter-spacing:.09em; font-weight:500; }
.renewal-cost__chart { height: 53.5rem; margin-top:3.2rem; display:flex; gap:2.6rem; }
.renewal-cost__axis { width:5.7rem; padding-bottom:4.6rem; display:flex; flex-direction:column; justify-content:space-between; text-align:right; font-family:var(--font-sub-sans); font-size:1.2rem; color:#d8d8d8; }
.renewal-cost__bars { flex:1; display:flex; align-items:flex-end; justify-content:space-around; border-bottom:1px solid #ddd; background:repeating-linear-gradient(to top, transparent 0, transparent calc(11.11% - 1px), rgba(255,255,255,.28) calc(11.11% - 1px), rgba(255,255,255,.28) 11.11%); }
.renewal-cost__bar-item { width:27%; height:100%; display:flex; flex-direction:column; justify-content:flex-end; text-align:center; }
.renewal-cost__bar { width:100%; display:flex; align-items:center; justify-content:center; border:1px solid rgba(255,255,255,.6); background:rgba(255,255,255,.35); }
.renewal-cost__bar strong { font-family:var(--font-sub-sans); font-size:1.9rem; }
.renewal-cost__bar--villa { height: 90%; }
.renewal-cost__bar--hotel { height: 25%; }
.renewal-cost__bar--celevi { height: 9%; background:var(--renewal-gold); border-color:var(--renewal-gold); color:#050505; }
.renewal-cost__bar-item > p { min-height:4.4rem; margin-top:.8rem; font-size:1.3rem; line-height:1.5; }
.renewal-cost__notes { margin-top:2rem; font-family:var(--font-sub-sans); font-size:1.2rem; line-height:1.9; }
.renewal-buyback { margin-top:8rem; text-align:center; }
.renewal-buyback h3 { font-size:3.8rem; line-height:1.5; letter-spacing:.12em; font-weight:500; }
.renewal-buyback > p { margin-top:2rem; font-size:1.9rem; line-height:2; letter-spacing:.07em; }
.renewal-buyback__numbers { margin-top:4.8rem; display:grid; grid-template-columns: 1fr 4.5rem 1fr 4.5rem 1.35fr; align-items:center; border:1px solid rgba(213,183,103,.65); padding:4.2rem 4rem; }
.renewal-buyback__cell { min-width:0; }
.renewal-buyback__cell span { display:block; border:1px solid var(--renewal-gold); padding:.7rem; color:var(--renewal-gold); font-size:1.5rem; }
.renewal-buyback__cell strong { display:block; margin:.6rem 0; font-family:var(--font-sub-sans); font-size:3.0rem; color:#fff; }
.renewal-buyback__cell small { display:block; min-height:4rem; font-family:var(--font-sub-sans); font-size:1rem; line-height:1.5; }
.renewal-buyback__cell--result strong { font-size:3.5rem; color:var(--renewal-gold); }
.renewal-buyback__operator { font-size:3rem; color:var(--renewal-gold); }
.renewal-simulation > .renewal-cta { margin-top:8rem; }

/* Problem */
.renewal-problem { padding: 9rem 0 10.2rem; background:var(--renewal-light); color:var(--color-text-main); }
.renewal-problem .renewal-section-title { margin-top:1.8rem; }
.renewal-problem__lead { margin:3.2rem auto 4.8rem; text-align:center; font-size:2.2rem; letter-spacing:.12em; }
.renewal-card-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1.8rem; }
.renewal-problem-card { min-height:30.4rem; padding:3.4rem 4.6rem 3.2rem; border:1px solid #d8d8d8; background:#fff; text-align:center; }
.renewal-problem-card__icon { width:9.2rem; height:8.2rem; margin:0 auto 1.4rem; position:relative; color:#313131; }
.renewal-problem-card h3 { font-size:2.4rem; line-height:1.6; letter-spacing:.07em; font-weight:500; }
.renewal-problem-card p { margin-top:1.5rem; text-align:left; font-family:var(--font-sub-sans); font-size:1.45rem; line-height:1.9; }

/* Merit */
.renewal-merit { padding:9.5rem 0 10rem; background:radial-gradient(circle at 50% 15%,#303030,#050505 70%); }
.renewal-merit .renewal-section-title { margin-top:2rem; }
.renewal-card-grid--merit { margin-top:5rem; gap:2rem; }
.renewal-merit-card { min-height:29.4rem; padding:3.4rem 4.6rem; border:1px solid var(--renewal-line); text-align:center; background:rgba(0,0,0,.2); }
.renewal-merit-card img { width:9rem; height:9rem; object-fit:contain; margin:0 auto 1rem; filter:sepia(1) saturate(.8); }
.renewal-merit-card h3 { font-size:2.4rem; line-height:1.65; letter-spacing:.08em; color:var(--renewal-gold); font-weight:500; }
.renewal-merit-card p { margin-top:1.5rem; text-align:left; font-family:var(--font-sub-sans); font-size:1.45rem; line-height:1.9; }
.renewal-merit > .renewal-cta { margin-top:7rem; }

/* Architect */
.renewal-architect { padding:8.8rem 0 6rem; background:linear-gradient(#666,#242424 20%,#050505 100%); }
.renewal-architect .renewal-section-title { margin-top:1.8rem; }
.renewal-architect__layout { margin-top:5.5rem; display:grid; grid-template-columns: 58rem 1fr; gap:5rem; align-items:start; }
.renewal-architect__visual { height:47rem; display:grid; grid-template-columns: 20.7rem 1fr; grid-template-rows: 21.9rem 20.1rem; gap:1.8rem; }
.renewal-architect__img { width:100%; height:100%; object-fit:cover; }
.renewal-architect__img--portrait { grid-row:1 / 3; }
.renewal-architect__img--work1 { grid-column:2; grid-row:1; }
.renewal-architect__img--work2 { grid-column:2; grid-row:2; width:64%; justify-self:start; }
.renewal-architect__img--work3 { grid-column:2; grid-row:2; width:36%; justify-self:end; }
.renewal-architect__name { display:grid; grid-template-columns:auto auto 1fr; align-items:center; gap:1rem; font-size:2rem; }
.renewal-architect__name strong { font-size:2.6rem; font-weight:500; }
.renewal-architect__name em { font-family:var(--font-en); font-style:normal; font-size:1.8rem; letter-spacing:.08em; text-align:right; }
.renewal-architect__content > p { margin-top:2rem; font-family:var(--font-sub-sans); font-size:1.35rem; line-height:2.05; }
.renewal-architect__badges { margin-top:2.8rem; display:flex; gap:2.2rem; }
.renewal-architect__badges img { width:12.1rem; height:12.1rem; object-fit:contain; }

/* Location */
.renewal-location { background:var(--renewal-light); color:var(--color-text-main); }
.renewal-location__top { min-height:47.4rem; padding:7.5rem max(6rem,calc((100vw - 112rem)/2)); display:grid; grid-template-columns: 1fr 47.2rem; gap:5rem; align-items:center; background:#f2f2f2; }
.renewal-location .renewal-kicker { color:var(--color-text-main); font-size:3.2rem; }
.renewal-location__intro h2 { margin-top:2rem; font-size:3.8rem; line-height:1.7; letter-spacing:.08em; font-weight:500; }
.renewal-location__map-overview img { width:100%; max-height:47.4rem; object-fit:contain; }
.renewal-location__body { display:grid; grid-template-columns: 48% 52%; min-height:75.8rem; }
.renewal-location__map-detail { overflow:hidden; }
.renewal-location__map-detail img { width:100%; height:100%; object-fit:cover; }
.renewal-location__activity { padding:6rem 8rem 5rem 4rem; }
.renewal-location__activity > h3 { font-size:3rem; line-height:1.65; letter-spacing:.08em; font-weight:500; margin-bottom:3rem; }
.renewal-location__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2.4rem 1.8rem; }
.renewal-activity-card img { width:100%; aspect-ratio:194/113; object-fit:cover; }
.renewal-activity-card h4 { margin-top:1.2rem; font-size:1.5rem; line-height:1.4; font-weight:500; }
.renewal-activity-card p { margin-top:.8rem; font-family:var(--font-sub-sans); font-size:1rem; line-height:1.6; }

/* Rooms detailed */
.renewal-rooms { min-height:190.7rem; padding:9.4rem 0 10.6rem; background:linear-gradient(180deg,#242424 0%,#000 100%); }
.renewal-rooms .renewal-kicker { font-size:4.2rem; line-height:4.6rem; letter-spacing:.1em; }
.renewal-rooms .renewal-section-title { margin-top:2.2rem; font-size:3.6rem; line-height:6.4rem; font-weight:700; letter-spacing:.1em; }
.renewal-rooms__lead { margin-top:2.8rem; text-align:center; font-size:1.8rem; line-height:3.6rem; letter-spacing:.2em; }
.renewal-rooms__tabs { margin:4.4rem auto 5.3rem; display:flex; justify-content:center; gap:6.8rem; }
.renewal-rooms__tab { width:16.7rem; height:4.6rem; border:1px solid #fff; background:transparent; color:#fff; cursor:pointer; font-family:var(--font-ja); font-size:2rem; line-height:4.4rem; letter-spacing:.2em; }
.renewal-rooms__tab.is-active { border-color:#d9d9d9; background:#d9d9d9; color:#3e3d35; }
.renewal-rooms__panel[hidden] { display:none; }
.renewal-rooms__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:4rem 5.1rem; }
.renewal-room-card img { width:100%; aspect-ratio:358/302; object-fit:cover; display:block; }
.renewal-room-card h3 { margin-top:2.1rem; font-family:var(--font-en); font-size:3rem; line-height:4.6rem; letter-spacing:.1em; font-weight:400; }
.renewal-room-card p { margin-top:1rem; font-family:var(--font-ja); font-size:1.4rem; line-height:2.6rem; letter-spacing:.1em; }
.renewal-rooms > .renewal-cta { margin-top:7rem; }


/* Business */
.renewal-business { padding:9.2rem 0 8.5rem; background:radial-gradient(circle at 50% 0,#343434,#050505 75%); }
.renewal-business .renewal-section-title { margin-top:1.8rem; font-size:4.1rem; }
.renewal-business__lead { margin-top:2.5rem; text-align:center; font-size:1.9rem; line-height:2; letter-spacing:.07em; }
.renewal-business__grid { margin-top:5.3rem; display:grid; grid-template-columns:repeat(3,1fr); gap:4.6rem; }
.renewal-business-card { text-align:center; }
.renewal-business-card__en { min-height:5rem; padding:.7rem 1rem; background:var(--renewal-gold); color:#050505; font-family:var(--font-en); font-size:2rem; letter-spacing:.08em; }
.renewal-business-card h3 { margin-top:1.6rem; font-size:2.5rem; line-height:1.5; letter-spacing:.1em; font-weight:500; }
.renewal-business-card > p:last-child { margin-top:1rem; font-family:var(--font-sub-sans); font-size:1.35rem; line-height:1.8; }
.renewal-business__discount { margin-top:5rem; min-height:13.4rem; border:1px solid var(--renewal-gold); display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; }
.renewal-business__discount strong { font-size:2.6rem; color:var(--renewal-gold); letter-spacing:.08em; }
.renewal-business__discount small { margin-top:1rem; font-size:1.3rem; }
.renewal-business__tax-note { margin-top:1.6rem; font-size:1.2rem; }
.renewal-business > .renewal-cta { margin-top:6.5rem; }

/* Overview */
.renewal-overview { padding:9.5rem 0 10rem; background:#e8e8e8; color:var(--color-text-main); }
.renewal-overview__name { margin-top:2.4rem; text-align:center; font-size:2.6rem; letter-spacing:.16em; font-weight:500; }
.renewal-overview__ownership { margin:3.5rem 0 2rem; text-align:center; font-size:1.9rem; letter-spacing:.07em; }
.renewal-accordion { margin-top:2.8rem; border-top:1px solid #888; }
.renewal-details { border-bottom:1px solid #888; }
.renewal-details summary { list-style:none; position:relative; cursor:pointer; padding:2.6rem 5rem 2.6rem 2.4rem; text-align:center; font-size:1.8rem; letter-spacing:.06em; }
.renewal-details summary::-webkit-details-marker { display:none; }
.renewal-details summary::after { content:''; position:absolute; right:1.8rem; top:50%; width:1.6rem; height:1.6rem; border-right:1px solid currentColor; border-bottom:1px solid currentColor; transform:translateY(-70%) rotate(45deg); transition:.25s; }
.renewal-details[open] summary::after { transform:translateY(-25%) rotate(225deg); }
.renewal-details dl { padding:0 2.4rem 2.8rem; }
.renewal-details dl > div { display:grid; grid-template-columns:20rem 1fr; gap:2rem; padding:1.2rem 0; border-top:1px solid #bbb; font-family:var(--font-sub-sans); font-size:1.25rem; line-height:1.6; }
.renewal-details dt { font-weight:500; }

/* FAQ */
.renewal-faq { padding:8.2rem 0 11.5rem; background:linear-gradient(#444,#080808 25%,#050505); }
.renewal-faq .renewal-section-title { margin-top:1rem; font-size:3rem; }
.renewal-accordion--faq { margin-top:6rem; border-top:1px solid rgba(255,255,255,.5); }
.renewal-faq-item { border-bottom:1px solid rgba(255,255,255,.5); }
.renewal-faq-item summary { list-style:none; position:relative; min-height:8.3rem; padding:2.7rem 6rem 2.2rem 5rem; cursor:pointer; font-size:1.55rem; line-height:1.65; }
.renewal-faq-item summary::-webkit-details-marker { display:none; }
.renewal-faq-item summary > span { position:absolute; left:.4rem; top:2.1rem; color:var(--renewal-gold); font-family:var(--font-en); font-size:2.3rem; }
.renewal-faq-item summary::after { content:''; position:absolute; right:2rem; top:3.2rem; width:1.4rem; height:1.4rem; border-right:1px solid #fff; border-bottom:1px solid #fff; transform:rotate(45deg); transition:.25s; }
.renewal-faq-item[open] summary::after { transform:rotate(225deg); top:3.8rem; }
.renewal-faq-item__answer { position:relative; padding:0 5rem 2.7rem; display:grid; grid-template-columns:3rem 1fr; gap:2rem; font-family:var(--font-sub-sans); font-size:1.3rem; line-height:1.85; }
.renewal-faq-item__answer > span { color:var(--renewal-gold); font-family:var(--font-en); font-size:2rem; }

/* Contact shell */
.renewal-contact { padding:9.2rem 0 9rem; background:#202020; }
.renewal-contact__inner { width:min(68.4rem,calc(100% - 4.8rem)); margin-inline:auto; }
.renewal-contact .renewal-section-title { margin-top:1.1rem; font-size:3.2rem; }
.renewal-contact__speed { margin-top:1.4rem; text-align:center; color:var(--renewal-gold); font-size:1.8rem; letter-spacing:.1em; }
.renewal-contact__form { margin-top:4.2rem; }

/* CF7 renewal form */
.renewal-form .form-step2 { display:none; }
form.wpcf7-form.is-confirm .renewal-form .form-step1 { display:none; }
form.wpcf7-form.is-confirm .renewal-form .form-step2 { display:block; }
.renewal-form__heading { margin:2.3rem 0 1rem; padding:.7rem 1rem; text-align:center; border-top:1px solid rgba(255,255,255,.28); border-bottom:1px solid rgba(255,255,255,.28); font-size:2rem; letter-spacing:.12em; font-weight:500; }
.renewal-form__radios { display:flex; justify-content:center; gap:5rem; flex-wrap:wrap; margin:1rem 0 2.2rem; }
.renewal-form__radios .wpcf7-list-item { margin:0; }
.renewal-form__radios label { display:flex; align-items:center; gap:1.1rem; cursor:pointer; font-size:1.8rem; line-height:2.2; letter-spacing:.12em; }
.renewal-form__radios input[type="radio"] { appearance:none; width:2.6rem; height:2.6rem; border:1px solid #fff; border-radius:50%; background:transparent; position:relative; }
.renewal-form__radios input[type="radio"]:checked::after { content:''; position:absolute; inset:.55rem; border-radius:50%; background:var(--renewal-gold); }
.renewal-form__grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1.4rem 2.4rem; }
.renewal-form__field { margin-bottom:1.2rem; }
.renewal-form__field--full { grid-column:1 / -1; }
.renewal-form__label { display:block; margin-bottom:.7rem; font-size:1.6rem; letter-spacing:.04em; }
.renewal-form__required { color:#f33; font-family:var(--font-sub-serif); margin-left:.3rem; }
.renewal-form input[type="text"],.renewal-form input[type="email"],.renewal-form input[type="tel"],.renewal-form input[type="date"],.renewal-form input[type="number"],.renewal-form select,.renewal-form textarea { width:100%; min-height:3.4rem; padding:.7rem 1.2rem; border:0; background:#fff; color:#222; font-family:var(--font-sub-serif); font-size:1.4rem; }
.renewal-form textarea { min-height:19.2rem; resize:vertical; }
.renewal-form input::placeholder,.renewal-form textarea::placeholder { color:#a8a8a8; }
.renewal-form select { appearance:none; background:#fff linear-gradient(45deg,transparent 50%,#333 50%) calc(100% - 1.6rem) 50%/7px 7px no-repeat; }
.renewal-form__trial-note { margin:1.2rem 0 2.5rem; font-size:1.1rem; line-height:1.65; }
.renewal-form__checks { display:flex; flex-wrap:wrap; gap:1rem 2rem; margin-top:.8rem; }
.renewal-form__checks .wpcf7-list-item { margin:0; }
.renewal-form__checks label { display:flex; align-items:center; gap:.7rem; font-family:var(--font-sub-sans); font-size:1.25rem; }
.renewal-form__checks input[type="checkbox"] { width:1.6rem; height:1.6rem; accent-color:var(--renewal-gold); }
.renewal-form__buttons { margin-top:3.3rem; text-align:center; }
.renewal-form .btn-to-confirm,.renewal-form .wpcf7-submit { width:37.9rem; max-width:100%; min-height:8.9rem; border:1px solid #e9c66b; background:linear-gradient(#d8a12d,#8b5500); color:#fff; cursor:pointer; font-size:2.4rem; letter-spacing:.12em; }
.renewal-form .btn-back { margin-right:2rem; min-width:14rem; padding:1.4rem 2rem; border:1px solid #aaa; background:transparent; color:#fff; cursor:pointer; }
.renewal-form__error,#form-error-message { min-height:2.5rem; margin:1.5rem 0; color:#ff6c6c; text-align:center; font-family:var(--font-sub-sans); font-size:1.3rem; }
.renewal-form .wpcf7-not-valid-tip { margin-top:.3rem; color:#ff6c6c; font-family:var(--font-sub-sans); font-size:1.15rem; }
.renewal-form .wpcf7-response-output { font-family:var(--font-sub-sans); font-size:1.2rem; }
.renewal-form__confirm-row { display:grid; grid-template-columns:18rem 1fr; gap:2rem; padding:1.5rem 0; border-bottom:1px solid rgba(255,255,255,.25); }
.renewal-form__confirm-label { color:var(--renewal-gold); }
.confirmation-value { white-space:pre-wrap; word-break:break-word; }

/* Footer tweaks */
.footer { min-height:21.8rem; }
.footer__inner { min-height:21.8rem; position:relative; }
.footer__logo { padding-top:7.2rem; }
.footer__copyright { position:absolute; right:1.5rem; bottom:1.7rem; }

@media (max-width: 1024px) {
  .renewal-section-inner,.renewal-section-inner--narrow { width:calc(100% - 4.8rem); }
  .renewal-kicker { font-size:2.4rem; }
  .renewal-section-title { font-size:2.8rem; line-height:1.55; }
  .renewal-badge { min-width:27.7rem; margin:2.2rem auto 3rem; font-size:1.7rem; }

  .renewal-header { height:5.2rem; }
  .renewal-header .header__inner { padding:0 .8rem .0rem .3rem; }
  .renewal-header .header__logo-img { width:10.6rem; }
  .renewal-header .header__actions { gap:1.2rem; }
  .renewal-header .header__hamburger { width:2.8rem; height:1.8rem; margin:0; order:0; }
  .renewal-header__cta { width:20.9rem; height:3rem; font-size:1rem; gap:.7rem; }
  .renewal-header__cta i { width:1.8rem; }
  .renewal-header .header__mobile-menu { top:5.2rem; }
  .renewal-header .header__mobile-item a { font-family:var(--font-ja); }

  .renewal-fv { min-height:118rem; padding-top:5.2rem; }
  .renewal-fv__media { top:50.9rem; left:0; width:100%; height:40.4rem; }
  .renewal-fv__scrim { inset:5.2rem 0 auto; height:88rem; background:linear-gradient(180deg,#050505 0%,#050505 36%,rgba(5,5,5,.92) 48%,rgba(5,5,5,.15) 72%,#050505 100%); }
  .renewal-fv__content { width:100%; padding:1.7rem 1.6rem 0; }
  .renewal-fv__eyebrow { font-size:1.4rem; margin-bottom:1.2rem; }
  .renewal-fv__title { font-size:2.9rem; line-height:1.52; letter-spacing:.06em; }
  .renewal-fv__subcopy { margin:1.4rem 0 0 1.3rem; padding-left:1.3rem; font-size:1.5rem; line-height:1.6; }
  .renewal-fv__price { font-size:1.7rem; }
  .renewal-fv__ownership { margin:1.8rem 0 0 0; padding:1.1rem 2rem; width:100%; text-align:center; font-size:1.45rem; }
  .renewal-fv__facts { position:absolute; top:45.7rem; left:1.6rem; right:1.6rem; margin:0; font-size:1rem; line-height:1.55; }
  .renewal-fv > .renewal-cta { bottom:4.8rem; }

  .renewal-cta { width:33.8rem; max-width:calc(100% - 3.6rem); }
  .renewal-cta__button { min-height:6.4rem; font-size:1.8rem; gap:1.2rem; }
  .renewal-cta__button--secondary span { font-size:1.6rem; }
  .renewal-cta__button--secondary small { font-size:.9rem; }
  .renewal-cta__notice { margin:1rem 0; font-size:.9rem; line-height:1.45; }

  .renewal-experience__hero { height:52.1rem; }
  .renewal-experience__hero > picture img { object-position:center; }
  .renewal-experience__heading { inset:11.3rem 2.4rem auto; }
  .renewal-experience__heading h2 { font-size:2.6rem; line-height:1.75; }
  .renewal-experience__gallery { grid-template-columns:1fr; gap:.4rem; }
  .renewal-experience__card { height:32.1rem; }
  .renewal-experience__card figcaption { font-size:2.4rem; }

  .renewal-simulation { padding:5.4rem 0 5.6rem; background-position:center; }
  .renewal-simulation .renewal-section-title { font-size:2.8rem; line-height:1.45; }
  .renewal-cost { margin-top:5.2rem; padding:5rem 1rem 3rem; }
  .renewal-cost__label { width:27.7rem; font-size:1.8rem; }
  .renewal-cost h3 { font-size:2.3rem; line-height:1.65; }
  .renewal-cost__chart { height:24rem; gap:.8rem; margin-top:2rem; }
  .renewal-cost__axis { width:2.6rem; font-size:.7rem; padding-bottom:3.2rem; }
  .renewal-cost__bar-item { width:30%; }
  .renewal-cost__bar strong { font-size:.9rem; }
  .renewal-cost__bar-item > p { min-height:3.3rem; font-size:.75rem; }
  .renewal-cost__notes { font-size:.85rem; line-height:1.6; padding:0 .8rem; }
  .renewal-buyback { margin-top:5rem; }
  .renewal-buyback h3 { font-size:2.5rem; }
  .renewal-buyback > p { font-size:1.45rem; line-height:1.8; }
  .renewal-buyback__numbers { grid-template-columns:1fr 2.5rem 1fr; padding:2.3rem 1.8rem; gap:.7rem; }
  .renewal-buyback__cell span { font-size:.9rem; }
  .renewal-buyback__cell strong { font-size:1.8rem; }
  .renewal-buyback__cell small { font-size:.72rem; }
  .renewal-buyback__cell--result { grid-column:1 / -1; margin-top:2.2rem; }
  .renewal-buyback__cell--result strong { font-size:3rem; }
  .renewal-buyback__operator:nth-of-type(4) { display:none; }
  .renewal-simulation > .renewal-cta { margin-top:4.6rem; }

  .renewal-problem { padding:3.8rem 0 6.9rem; }
  .renewal-problem__lead { margin:2rem auto 3.8rem; font-size:1.5rem; line-height:1.5; }
  .renewal-card-grid { grid-template-columns:1fr; gap:1.8rem; }
  .renewal-problem-card { min-height:30rem; padding:3.2rem 2.1rem; }
  .renewal-problem-card h3 { font-size:2.3rem; }
  .renewal-problem-card p { font-size:1.35rem; }

  .renewal-merit { padding:4rem 0 5.7rem; }
  .renewal-card-grid--merit { margin-top:3.4rem; }
  .renewal-merit-card { min-height:30rem; padding:3.4rem 2.2rem; }
  .renewal-merit-card h3 { font-size:2.3rem; }
  .renewal-merit-card p { font-size:1.35rem; }
  .renewal-merit > .renewal-cta { margin-top:4.4rem; }

  .renewal-architect { padding:3.7rem 0 6rem; }
  .renewal-architect__layout { margin-top:2rem; grid-template-columns:1fr; gap:3rem; }
  .renewal-architect__content { order:-1; }
  .renewal-architect__name { grid-template-columns:auto auto; gap:0 .8rem; font-size:1.4rem; }
  .renewal-architect__name strong { font-size:2rem; }
  .renewal-architect__name em { grid-column:1 / -1; text-align:left; font-size:1.3rem; }
  .renewal-architect__content > p { font-size:1.15rem; line-height:2; }
  .renewal-architect__badges img { width:12rem; }
  .renewal-architect__visual { height:auto; display:grid; grid-template-columns:1fr; grid-template-rows:21.6rem 19.8rem 19.9rem; gap:1.8rem; }
  .renewal-architect__img--portrait,.renewal-architect__img--work1,.renewal-architect__img--work2,.renewal-architect__img--work3 { grid-column:1; width:100%; justify-self:auto; }
  .renewal-architect__img--portrait { grid-row:1; }
  .renewal-architect__img--work1 { grid-row:2; }
  .renewal-architect__img--work2 { grid-row:3; }
  .renewal-architect__img--work3 { display:none; }

  .renewal-location__top { min-height:58.1rem; padding:2.4rem 2.4rem 0; display:block; }
  .renewal-location .renewal-kicker { font-size:2.3rem; }
  .renewal-location__intro h2 { font-size:2.6rem; line-height:1.55; }
  .renewal-location__map-overview { margin:0 -2.4rem; height:37.7rem; }
  .renewal-location__map-overview img { height:100%; width:100%; object-fit:cover; }
  .renewal-location__body { display:block; min-height:0; }
  .renewal-location__map-detail { height:22.5rem; }
  .renewal-location__activity { padding:3.5rem 2.5rem 5.5rem; }
  .renewal-location__activity > h3 { font-size:2.4rem; line-height:1.7; }
  .renewal-location__grid { grid-template-columns:repeat(2,1fr); gap:2.5rem 1.4rem; }
  .renewal-activity-card h4 { font-size:1.15rem; }
  .renewal-activity-card p { font-size:.85rem; line-height:1.6; }

  .renewal-rooms { min-height:326rem; padding:6.2rem 0 7rem; }
  .renewal-rooms .renewal-kicker { font-size:2.4rem; line-height:4.6rem; letter-spacing:.1em; }
  .renewal-rooms .renewal-section-title { margin-top:1.1rem; font-size:2.4rem; line-height:3.8rem; font-weight:700; letter-spacing:.1em; }
  .renewal-rooms__lead { margin-top:3.2rem; font-size:1.6rem; line-height:2.8rem; letter-spacing:.09em; }
  .renewal-rooms__tabs { gap:1rem; margin:3.2rem auto 3.1rem; }
  .renewal-rooms__tab { width:15.8rem; height:4.6rem; font-size:2rem; line-height:4.4rem; }
  .renewal-rooms__grid { grid-template-columns:1fr; gap:2.9rem; }
  .renewal-room-card img { aspect-ratio:326/275; }
  .renewal-room-card h3 { margin-top:1.2rem; font-size:2.6rem; line-height:4.6rem; letter-spacing:.1em; }
  .renewal-room-card:nth-child(5) h3,.renewal-room-card:nth-child(6) h3 { font-size:3rem; }
  .renewal-room-card p { margin-top:0; font-size:1.4rem; line-height:2.2rem; letter-spacing:.05em; }
  .renewal-rooms > .renewal-cta { margin-top:4rem; }


  .renewal-business { padding:5rem 0 7rem; }
  .renewal-business .renewal-section-title { font-size:2.8rem; }
  .renewal-business__lead { font-size:1.35rem; }
  .renewal-business__grid { margin-top:3.2rem; grid-template-columns:1fr; gap:2rem; }
  .renewal-business-card__en { font-size:1.8rem; }
  .renewal-business-card h3 { font-size:2.2rem; }
  .renewal-business-card > p:last-child { font-size:1.2rem; }
  .renewal-business__discount { min-height:17.4rem; padding:2rem; }
  .renewal-business__discount strong { font-size:2rem; line-height:1.8; }
  .renewal-business__tax-note { font-size:1rem; line-height:1.6; }
  .renewal-business > .renewal-cta { margin-top:3rem; }

  .renewal-overview { padding:5rem 0 6.2rem; }
  .renewal-overview__name { font-size:2.1rem; }
  .renewal-overview__ownership { font-size:1.3rem; }
  .renewal-details summary { padding:2.3rem 4rem 2.3rem .2rem; text-align:left; font-size:1.45rem; line-height:1.7; }
  .renewal-details dl { padding:0 0 2rem; }
  .renewal-details dl > div { grid-template-columns:10rem 1fr; gap:1rem; font-size:1.05rem; }

  .renewal-faq { padding:4.8rem 0 8.3rem; }
  .renewal-accordion--faq { margin-top:3rem; }
  .renewal-faq-item summary { min-height:auto; padding:2.1rem 3.5rem 2.1rem 3.8rem; font-size:1.3rem; }
  .renewal-faq-item summary > span { left:.2rem; top:1.8rem; font-size:1.8rem; }
  .renewal-faq-item summary::after { right:.6rem; top:2.7rem; width:1.2rem; height:1.2rem; }
  .renewal-faq-item__answer { padding:0 1rem 2.2rem .2rem; grid-template-columns:2.8rem 1fr; gap:.7rem; font-size:1.05rem; line-height:1.8; }

  .renewal-contact { padding:5rem 0 7rem; }
  .renewal-contact__inner { width:calc(100% - 4.8rem); }
  .renewal-contact .renewal-section-title { font-size:2.5rem; }
  .renewal-contact__form { margin-top:3rem; }
  .renewal-form__radios { display:block; margin-left:0; }
  .renewal-form__radios .wpcf7-list-item { display:block; margin:.4rem 0; }
  .renewal-form__radios label { font-size:1.55rem; }
  .renewal-form__grid { grid-template-columns:repeat(2,1fr); gap:1.2rem; }
  .renewal-form__field--customer { grid-column:1/-1; }
  .renewal-form__field--customer-half { grid-column:1/-1; }
  .renewal-form__label { font-size:1.45rem; }
  .renewal-form input[type="text"],.renewal-form input[type="email"],.renewal-form input[type="tel"],.renewal-form input[type="date"],.renewal-form input[type="number"],.renewal-form select,.renewal-form textarea { min-height:3.4rem; font-size:1.2rem; }
  .renewal-form__checks { display:block; }
  .renewal-form__checks .wpcf7-list-item { display:block; margin:.8rem 0; }
  .renewal-form .btn-to-confirm,.renewal-form .wpcf7-submit { width:26.7rem; min-height:6.3rem; font-size:2rem; }
  .renewal-form__confirm-row { grid-template-columns:1fr; gap:.5rem; }
  .renewal-form .btn-back { margin:0 0 1.5rem; width:100%; }
  .footer__copyright { position:static; margin-top:2rem; text-align:center; }
}


/* =========================================================
   FULL-AUTO FINAL PASS: SVG visual enforcement
   ========================================================= */
.renewal-header .header__cta{width:25.8rem;height:3.4rem}.renewal-header__cta-image{display:block;width:25.8rem;height:3.4rem}.renewal-header__cta-image picture,.renewal-header__cta-image img{display:block;width:100%;height:100%}
.renewal-cta__image-link{display:block;width:50.8rem;max-width:100%;margin-inline:auto}.renewal-cta__image-link picture,.renewal-cta__image-link img{display:block;width:100%;height:auto}.renewal-cta__button{display:none!important}
.renewal-cost__chart--svg{height:auto;display:block;margin-top:3.2rem}.renewal-cost__chart--svg picture,.renewal-cost__chart--svg img{display:block;width:100%;height:auto}
.renewal-problem-card__icon{display:block;width:auto;max-width:12rem;height:auto;max-height:8.2rem;object-fit:contain;margin:0 auto 1.4rem;position:static}
.renewal-merit-card img{filter:none}
.renewal-details summary::after,.renewal-faq-item summary::after{border:0;transform:none;background-repeat:no-repeat;background-position:center;background-size:contain}.renewal-details summary::after{width:1.6rem;height:.7rem;background-image:url('../images/btn_accordion_open_dark.svg')}.renewal-details[open] summary::after{transform:none;background-image:url('../images/btn_accordion_close_dark.svg')}.renewal-faq-item summary::after{width:1.6rem;height:.7rem;background-image:url('../images/btn_accordion_open_light.svg')}.renewal-faq-item[open] summary::after{transform:none;top:3.2rem;background-image:url('../images/btn_accordion_close_light.svg')}
/* Rooms tabs use CSS states to match Figma; legacy SVG enforcement removed. */
.renewal-form .btn-to-confirm,.renewal-form .wpcf7-submit,.renewal-form .btn-back{border:0!important;background-color:transparent!important;background-repeat:no-repeat!important;background-position:center!important;background-size:100% 100%!important;color:transparent!important;text-shadow:none!important}.renewal-form .btn-to-confirm{background-image:url('../images/btn_form_confirm_pc.svg')!important;width:37.9rem;height:8.9rem}.renewal-form .wpcf7-submit{background-image:url('../images/btn_form_submit_pc.svg')!important;width:37.9rem;height:8.9rem}.renewal-form .btn-back{background-image:url('../images/btn_form_back_pc.svg')!important;width:18rem;height:5.8rem;min-width:0;padding:0}
.renewal-header .header__hamburger{background:transparent url('../images/btn_hamburger_open.svg') center/100% 100% no-repeat;border:0}.renewal-header .header__hamburger.is-active{background-image:url('../images/btn_hamburger_close.svg')}.renewal-header .header__hamburger-line{display:none!important}
@media(max-width:1024px){.renewal-header .header__cta{width:20.9rem;height:3rem}.renewal-header__cta-image{width:20.9rem;height:3rem}.renewal-cta__image-link{width:33.8rem}.renewal-cost__chart--svg{margin-top:2rem}.renewal-problem-card__icon{height:8.2rem}.renewal-form .btn-to-confirm{background-image:url('../images/btn_form_confirm_sp.svg')!important;width:26.7rem;height:6.3rem;min-height:6.3rem}.renewal-form .wpcf7-submit{background-image:url('../images/btn_form_submit_sp.svg')!important;width:26.7rem;height:6.3rem;min-height:6.3rem}.renewal-form .btn-back{background-image:url('../images/btn_form_back_sp.svg')!important;width:16rem;height:5.2rem}}


/* =========================================================
   FIGMA GEOMETRY FINAL PASS
   Direct values recovered from PC 1440 / SP 375 frames.
   ========================================================= */
.renewal-simulation::before{display:none}
.renewal-contact{background:#262626}
.renewal-problem-card,.renewal-merit-card{border-radius:1.7rem}
.renewal-problem-card__icon{width:auto;height:auto;max-width:12rem;max-height:8.2rem;object-fit:contain}
.renewal-merit{background:linear-gradient(180deg,#666 0%,#000 50.48%,#000 100%)}

@media (min-width:1025px){
  /* HERO — Figma nodes 101:120 / 96:1765 / 96:1766 / 101:74 / 101:75 / 101:77 / 101:78 */
  .renewal-fv__eyebrow{font-size:1.4rem;line-height:2.9rem;letter-spacing:.10em;margin-bottom:.4rem}
  .renewal-fv__title{font-size:4.8rem;line-height:6.6rem;letter-spacing:.07em}
  .renewal-fv__subcopy{width:54.5rem;margin:3.5rem 0 3.4rem 0;padding-left:1.9rem;font-size:1.6rem;line-height:2.9rem;letter-spacing:.20em;color:#d9d9d9}
  .renewal-fv__price{margin-top:1.1rem;font-size:1.6rem;line-height:2.9rem;letter-spacing:.20em;color:#d9d9d9}
  .renewal-fv__ownership{width:54.5rem;height:5.8rem;margin-left:0;padding:0 1.8rem;display:flex;align-items:center;font-size:2rem;line-height:2.9rem;letter-spacing:.10em}
  .renewal-fv__facts{margin-top:1.5rem;font-size:inherit;line-height:inherit;letter-spacing:inherit}
  .renewal-fv__facts p:first-child{font-size:1.4rem;line-height:2.9rem;letter-spacing:.20em;color:#d9d9d9}
  .renewal-fv__facts p+p{margin-top:.7rem;font-size:1.6rem;line-height:2.6rem;letter-spacing:.08em;font-weight:700;color:#fff}

  /* ROOMS INTRO — y1118–2160. The Figma image begins 54px below the dark section. */
  .renewal-experience{padding:5.4rem 0 5.3rem}
  .renewal-experience__hero{height:52.1rem}
  .renewal-experience__heading{inset:15.8rem 0 auto}
  .renewal-experience__gallery{margin-top:.7rem}
  .renewal-experience__card figcaption{font-size:3.6rem;line-height:4.6rem}

  /* SIMULATION — y2160–4616 / graph 778×531. */
  .renewal-simulation{min-height:245.6rem;background:#050505 url('../images/bg_simulation.jpg') center top/cover no-repeat}
  .renewal-cost{width:96.2rem;max-width:calc(100vw - 4.8rem);min-height:92.1rem;margin-top:10.5rem;padding:6.3rem 9.2rem 4rem}
  .renewal-cost__chart--svg{margin-top:4.5rem}
  .renewal-buyback{margin-top:10.6rem}
  .renewal-buyback h3{font-size:4rem;line-height:6.4rem}
  .renewal-buyback__numbers{width:112.3rem;max-width:calc(100vw - 6.4rem);min-height:23.8rem;margin-left:50%;transform:translateX(-50%);grid-template-columns:22.2rem 10.1rem 28.7rem 8.1rem 33.7rem;padding:4.4rem 4.5rem 4rem 5rem;gap:0}
  .renewal-buyback__cell span{min-height:5rem;padding:.3rem;display:flex;align-items:center;justify-content:center;font-size:2.2rem;line-height:4.4rem}
  .renewal-buyback__cell strong{font-size:3.6rem;line-height:5rem}

  /* PROBLEM — y4616–5710. */
  .renewal-problem{min-height:109.4rem;padding-top:10.4rem}
  .renewal-problem .renewal-section-title{margin-top:3.1rem}
  .renewal-problem__lead{margin:.8rem auto 4.2rem;font-size:2.2rem;line-height:4.2rem}
  .renewal-problem-card__icon{margin-bottom:1.7rem}

  /* MERIT — y5710–7096; Figma uses linear gray→black gradient. */
  .renewal-merit{min-height:138.6rem;padding-top:10.3rem}
  .renewal-merit .renewal-section-title{margin-top:2.9rem}
  .renewal-card-grid--merit{column-gap:1.8rem;row-gap:2rem}

  /* ARCHTECT — y7096–8002. */
  .renewal-architect{min-height:90.6rem;padding-top:9.2rem}
  .renewal-architect .renewal-section-title{margin-top:2.1rem}
  .renewal-architect__layout{margin-top:7.2rem}

  /* ROOMS DETAIL — y9235–11142; 1176px grid = 358×3 + 51×2. */
  .renewal-rooms{min-height:190.7rem;padding-top:9.4rem}
  .renewal-rooms .renewal-section-inner{width:min(117.6rem,calc(100% - 6.4rem))}
  .renewal-rooms .renewal-section-title{margin-top:2.2rem}
  .renewal-rooms__lead{margin-top:2.8rem}

  /* BUSINESS / PROPERTY / FAQ frame heights from Figma. */
  .renewal-business{min-height:132.6rem}
  .renewal-overview{min-height:128rem}
}

@media (max-width:1024px){
  /* SP frame boundaries: 1180 / 2700 / 4546 / 6354 / 8214 / 10069 / 12009 / 15269 / 16797 / 18286 / 19644 / 21254 */
  .renewal-experience{padding-bottom:2.5rem}
  .renewal-experience__card figcaption{bottom:1.2rem}
  .renewal-simulation{min-height:184.6rem;background:#050505 url('../images/bg_simulation.jpg') center top/cover no-repeat}
  .renewal-simulation .renewal-badge{margin-top:1.6rem}
  .renewal-problem{min-height:180.8rem}
  .renewal-problem .renewal-section-title{margin-top:1rem}
  .renewal-problem__lead{margin:1.1rem auto 4.4rem;line-height:4.2rem}
  .renewal-card-grid{gap:2rem}
  .renewal-problem-card{padding-top:3.4rem}
  .renewal-card-grid--problem .renewal-problem-card:nth-child(1){min-height:35.8rem}
  .renewal-card-grid--problem .renewal-problem-card:nth-child(2){min-height:30.4rem}
  .renewal-card-grid--problem .renewal-problem-card:nth-child(3){min-height:37.4rem}
  .renewal-card-grid--problem .renewal-problem-card:nth-child(4){min-height:34.4rem}
  .renewal-merit{min-height:186rem}
  .renewal-merit .renewal-section-title{margin-top:1rem}
  .renewal-card-grid--merit{margin-top:2.5rem;gap:1.8rem}
  .renewal-card-grid--merit .renewal-merit-card:nth-child(1){min-height:32.6rem}
  .renewal-card-grid--merit .renewal-merit-card:nth-child(2){min-height:30rem}
  .renewal-card-grid--merit .renewal-merit-card:nth-child(3){min-height:31.8rem}
  .renewal-card-grid--merit .renewal-merit-card:nth-child(4){min-height:34.6rem}
  .renewal-architect{min-height:185.5rem}
  .renewal-architect .renewal-section-title{margin-top:0}
  .renewal-rooms{min-height:326rem;padding-top:6.2rem}
  .renewal-rooms .renewal-section-title{margin-top:1.1rem}
  .renewal-rooms__lead{margin-top:3.2rem}
  .renewal-business{min-height:152.8rem}
  .renewal-business .renewal-section-title{margin-top:1.4rem}
  .renewal-business__lead{margin-top:1.5rem}
  .renewal-overview{min-height:148.9rem}
  .renewal-contact{min-height:161rem}
}

/* =========================================================
   HEADER + HERO HUMAN-REVIEW PASS — 2026-08-31
   Figma source: PC 96:1402 / SP 193:1493
   Scope intentionally limited to .renewal-header and .renewal-fv.
   ========================================================= */

/* ---------- HEADER / PC 1440 ---------- */
@media (min-width:1025px) {
  .renewal-header {
    height:5.8rem;
    background:#3e3d35;
  }
  .renewal-header .header__inner {
    position:relative;
    width:100%;
    max-width:144rem;
    height:5.8rem;
    padding:0;
    margin:0 auto;
  }
  .renewal-header .header__logo {
    position:absolute;
    left:.8rem;
    top:0;
    width:17.7rem;
    height:5.8rem;
    margin:0;
  }
  .renewal-header .header__logo-link,
  .renewal-header .header__logo-img {
    display:block;
    width:17.7rem;
    height:5.8rem;
  }
  .renewal-header .header__actions {
    position:static;
    display:block;
  }
  .renewal-header .header__nav {
    position:absolute;
    left:73.7rem;
    top:.7rem;
    width:41rem;
    height:4.6rem;
    margin:0;
  }
  .renewal-header .header__nav-list {
    display:flex;
    justify-content:flex-end;
    align-items:center;
    width:100%;
    height:4.6rem;
    white-space:nowrap;
  }
  .renewal-header .header__nav-item,
  .renewal-header .header__nav-item a,
  .renewal-header .header__nav-sep {
    height:4.6rem;
    line-height:4.6rem;
  }
  .renewal-header .header__nav-item a {
    padding:0;
    font-family:var(--font-sub-sans);
    font-size:1rem;
    font-weight:400;
    letter-spacing:.05em;
    color:#fff;
  }
  .renewal-header .header__nav-sep {
    margin:0;
    padding:0;
    font-family:var(--font-sub-sans);
    font-size:1rem;
    font-weight:400;
    letter-spacing:.05em;
    color:#fff;
    opacity:1;
  }
  .renewal-header .header__cta {
    position:absolute;
    left:116.7rem;
    top:1.2rem;
    width:25.8rem;
    height:3.4rem;
  }
  .renewal-header__cta-image,
  .renewal-header__cta-image picture,
  .renewal-header__cta-image img {
    display:block;
    width:25.8rem;
    height:3.4rem;
  }

  /* ---------- HERO / PC 1440 ---------- */
  .renewal-fv {
    position:relative;
    height:111.8rem;
    min-height:111.8rem;
    padding:0;
    background:#0d0d0d;
    overflow:hidden;
  }
  .renewal-fv__media {
    position:absolute;
    z-index:0;
    left:21.6rem;
    top:5.8rem;
    right:auto;
    width:122.3rem;
    height:68.8rem;
    overflow:hidden;
  }
  .renewal-fv__media picture,
  .renewal-fv__media img,
  .renewal-fv__media video {
    display:block;
    width:100%;
    height:100%;
  }
  .renewal-fv__media img,
  .renewal-fv__media video {
    object-fit:cover;
    object-position:center center;
  }
  .renewal-fv__scrim {
    position:absolute;
    z-index:1;
    left:0;
    top:5.8rem;
    right:auto;
    bottom:auto;
    width:144rem;
    height:69.9rem;
    background:linear-gradient(90deg,#0d0d0d 0%,#0d0d0d 26.442%,rgba(13,13,13,0) 70.192%);
    pointer-events:none;
  }
  .renewal-fv__content {
    position:absolute;
    z-index:2;
    inset:0;
    width:100%;
    height:100%;
    padding:0;
  }
  .renewal-fv__eyebrow {
    position:absolute;
    left:8.5rem;
    top:12.6rem;
    width:19.3rem;
    height:2.9rem;
    margin:0;
    font-family:var(--font-en);
    font-size:1.4rem;
    line-height:2.9rem;
    letter-spacing:.10em;
    font-weight:400;
    color:#d5b767;
    white-space:nowrap;
  }
  .renewal-fv__title {
    position:absolute;
    left:8.5rem;
    top:15.9rem;
    width:83.7rem;
    height:19.8rem;
    margin:0;
    font-family:var(--font-ja);
    font-size:4.8rem;
    line-height:6.6rem;
    letter-spacing:.07em;
    font-weight:500;
    color:#fff;
    text-shadow:none;
    text-wrap:initial;
  }
  .renewal-fv__subcopy {
    position:absolute;
    left:8.5rem;
    top:39.2rem;
    width:47.1rem;
    height:9.6rem;
    margin:0;
    padding:0 0 0 1.9rem;
    border-left:1px solid #fff;
    font-family:var(--font-ja);
    font-size:1.6rem;
    line-height:2.9rem;
    letter-spacing:.20em;
    font-weight:500;
    color:#d9d9d9;
  }
  .renewal-fv__subcopy p { margin:0; }
  .renewal-fv__price {
    margin-top:1.1rem !important;
    font-size:1.6rem;
    line-height:2.9rem;
    letter-spacing:.20em;
    color:#d9d9d9;
  }
  .renewal-fv__ownership {
    position:absolute;
    left:8.5rem;
    top:52.4rem;
    width:54.5rem;
    height:5.8rem;
    margin:0;
    padding:0 1.8rem;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    border:1px solid #d5b767;
    font-family:var(--font-ja);
    font-size:2rem;
    line-height:2.9rem;
    letter-spacing:.10em;
    font-weight:700;
    color:#d5b767;
  }
  .renewal-fv__facts {
    position:absolute;
    left:8.5rem;
    top:59.7rem;
    width:71.7rem;
    margin:0;
    font-family:var(--font-ja);
    color:#fff;
  }
  .renewal-fv__facts p { margin:0; }
  .renewal-fv__facts p:first-child {
    font-size:1.4rem;
    line-height:2.9rem;
    letter-spacing:.20em;
    font-weight:500;
    color:#d9d9d9;
  }
  .renewal-fv__facts p+p {
    margin-top:.7rem;
    font-size:1.6rem;
    line-height:2.6rem;
    letter-spacing:.08em;
    font-weight:700;
    color:#fff;
  }
  .renewal-fv > .renewal-cta--hero {
    position:absolute;
    z-index:3;
    left:50%;
    top:79.9rem;
    bottom:auto;
    transform:translateX(-50%);
    width:50.8rem;
    height:26.5547rem;
    margin:0;
    text-align:left;
  }
  .renewal-fv .renewal-cta--hero .renewal-cta__image-link {
    display:block;
    width:50.8rem;
    height:8.9rem;
    margin:0;
  }
  .renewal-fv .renewal-cta--hero .renewal-cta__image-link:last-child {
    height:8.8547rem;
  }
  .renewal-fv .renewal-cta--hero .renewal-cta__image-link picture,
  .renewal-fv .renewal-cta--hero .renewal-cta__image-link img {
    display:block;
    width:100%;
    height:100%;
  }
  .renewal-fv .renewal-cta--hero .renewal-cta__notice {
    width:48.9rem;
    height:5.2rem;
    margin:1.8rem 0;
    font-family:var(--font-ja);
    font-size:1.2rem;
    line-height:2.6rem;
    letter-spacing:.08em;
    font-weight:500;
    color:#fff;
    text-align:left;
  }
}

/* ---------- HEADER + HERO / SP 375 ---------- */
@media (max-width:1024px) {
  .renewal-header {
    height:5.2rem;
    background:#3e3d35;
  }
  .renewal-header .header__inner {
    position:relative;
    width:37.5rem;
    max-width:100%;
    height:5.2rem;
    padding:0;
    margin:0 auto;
  }
  .renewal-header .header__logo {
    position:absolute;
    left:.3rem;
    top:.8rem;
    width:10.6rem;
    height:3.5rem;
    margin:0;
  }
  .renewal-header .header__logo-link,
  .renewal-header .header__logo-img {
    display:block;
    width:10.6rem;
    height:3.5rem;
  }
  .renewal-header .header__actions { position:static; display:block; }
  .renewal-header .header__hamburger {
    display:block;
    position:absolute;
    left:11.8rem;
    top:1.7rem;
    width:2.7716rem;
    height:1.7934rem;
    margin:0;
    padding:0;
    background:transparent url('../images/btn_hamburger_open.svg') center/100% 100% no-repeat;
    border:0;
    z-index:110;
  }
  .renewal-header .header__hamburger.is-active {
    background-image:url('../images/btn_hamburger_close.svg');
  }
  .renewal-header .header__hamburger-line { display:none !important; }
  .renewal-header .header__cta {
    position:absolute;
    left:15.8rem;
    top:1.1rem;
    width:20.9rem;
    height:3rem;
  }
  .renewal-header__cta-image,
  .renewal-header__cta-image picture,
  .renewal-header__cta-image img {
    display:block;
    width:20.9rem;
    height:3rem;
  }
  .renewal-header .header__mobile-menu { top:5.2rem; }

  .renewal-fv {
    position:relative;
    height:118rem;
    min-height:118rem;
    padding:0;
    background:#202020;
    overflow:hidden;
  }
  .renewal-fv__media {
    position:absolute;
    z-index:0;
    left:0;
    top:50.9rem;
    right:auto;
    width:37.5rem;
    height:40.4rem;
    overflow:hidden;
  }
  .renewal-fv__media picture,
  .renewal-fv__media img,
  .renewal-fv__media video {
    display:block;
    width:100%;
    height:100%;
  }
  .renewal-fv__media img,
  .renewal-fv__media video {
    object-fit:cover;
    object-position:center center;
  }
  .renewal-fv__scrim {
    position:absolute;
    z-index:1;
    left:0;
    top:50.9rem;
    right:auto;
    bottom:auto;
    width:37.5rem;
    height:40.4rem;
    background:linear-gradient(180deg,#202020 21.154%,rgba(32,32,32,0) 63.462%);
    pointer-events:none;
  }
  .renewal-fv__content {
    position:absolute;
    z-index:2;
    inset:0;
    width:100%;
    height:100%;
    padding:0;
  }
  .renewal-fv__eyebrow {
    position:absolute;
    left:1.6rem;
    top:7.1rem;
    width:19.3rem;
    height:2.9rem;
    margin:0;
    font-family:var(--font-en);
    font-size:1.4rem;
    line-height:2.9rem;
    letter-spacing:.10em;
    font-weight:400;
    color:#d5b767;
    white-space:nowrap;
  }
  .renewal-fv__title {
    position:absolute;
    left:1.6rem;
    top:10rem;
    width:34.3rem;
    height:17.6rem;
    margin:0;
    font-family:var(--font-ja);
    font-size:3.4rem;
    line-height:4.4rem;
    letter-spacing:0;
    font-weight:500;
    color:#fff;
    text-shadow:none;
    text-wrap:initial;
  }
  .renewal-fv__subcopy {
    position:absolute;
    left:1.6rem;
    top:30rem;
    width:26.1rem;
    height:10.3rem;
    margin:0;
    padding:0 0 0 1.3rem;
    border:0;
    font-family:var(--font-ja);
    font-size:1.6rem;
    line-height:2.4rem;
    letter-spacing:.20em;
    font-weight:500;
    color:#d9d9d9;
  }
  .renewal-fv__subcopy::before {
    content:'';
    position:absolute;
    left:0;
    top:.2rem;
    width:1px;
    height:10.1rem;
    background:#fff;
  }
  .renewal-fv__subcopy p { margin:0; }
  .renewal-fv__price {
    margin-top:.8rem !important;
    font-size:1.6rem;
    line-height:2.4rem;
    letter-spacing:.20em;
    color:#d9d9d9;
  }
  .renewal-fv__ownership {
    position:absolute;
    left:1.6rem;
    top:42.8rem;
    width:34.3rem;
    height:8.8rem;
    margin:0;
    padding:0 2.5rem;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid #d5b767;
    font-family:var(--font-ja);
    font-size:2rem;
    line-height:2.9rem;
    letter-spacing:.10em;
    font-weight:700;
    text-align:center;
    color:#d5b767;
  }
  .renewal-fv__facts {
    position:absolute;
    left:1.6rem;
    top:52.4rem;
    width:34.3rem;
    margin:0;
    font-family:var(--font-ja);
    color:#fff;
  }
  .renewal-fv__facts p { margin:0; }
  .renewal-fv__facts p:first-child {
    font-size:1.2rem;
    line-height:2.9rem;
    letter-spacing:.05em;
    font-weight:500;
    color:#d9d9d9;
    white-space:nowrap;
  }
  .renewal-fv__facts p+p {
    margin-top:.2rem;
    font-size:1.4rem;
    line-height:2.4rem;
    letter-spacing:.05em;
    font-weight:700;
    color:#fff;
  }
  .renewal-fv > .renewal-cta--hero {
    position:absolute;
    z-index:3;
    left:1.8rem;
    top:95.3rem;
    bottom:auto;
    width:33.8rem;
    height:17.9rem;
    margin:0;
    transform:none;
    text-align:left;
  }
  .renewal-fv .renewal-cta--hero .renewal-cta__image-link,
  .renewal-fv .renewal-cta--hero .renewal-cta__image-link:last-child {
    display:block;
    width:33.8rem;
    height:6.4rem;
    margin:0;
  }
  .renewal-fv .renewal-cta--hero .renewal-cta__image-link picture,
  .renewal-fv .renewal-cta--hero .renewal-cta__image-link img {
    display:block;
    width:100%;
    height:100%;
  }
  .renewal-fv .renewal-cta--hero .renewal-cta__notice {
    width:33.7rem;
    height:3.2rem;
    margin:.9rem 0 1rem .1rem;
    font-family:var(--font-ja);
    font-size:.9rem;
    line-height:1.6rem;
    letter-spacing:0;
    font-weight:500;
    color:#fff;
    text-align:left;
    white-space:nowrap;
  }
}

/* =========================================================
   HERO VIDEO + ULTRAWIDE PC FIX — 2026-08-31
   Keep the 1440px Figma artboard centered when viewport > 1440px.
   At exactly 1440px all original Figma coordinates remain unchanged.
   ========================================================= */
@media (min-width:1441px) {
  .renewal-fv__media {
    left:calc(50% - 50.4rem); /* artboard center - 720 + Figma x216 */
  }
  .renewal-fv__scrim {
    left:calc(50% - 72rem);
  }
  .renewal-fv__eyebrow,
  .renewal-fv__title,
  .renewal-fv__subcopy,
  .renewal-fv__ownership,
  .renewal-fv__facts {
    left:calc(50% - 63.5rem); /* artboard center - 720 + Figma x85 */
  }
}

/* Video should occupy the exact same crop box as the Figma/poster media. */
.renewal-fv__video {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}

/* =========================================================
   ROOMS INTRO + SIMULATION FIGMA MATCH PASS — 2026-08-31
   Figma: PC 96:1583 / 96:1415, SP 193:406 / 193:407
   ========================================================= */

@media (min-width:1025px){
  /* Rooms & Facilities intro: Figma y1118–2160 */
  .renewal-experience{height:104.2rem;padding:5.4rem 0 5.3rem;background:#242424;overflow:hidden}
  .renewal-experience__hero{height:52.1rem;position:relative}
  .renewal-experience__hero::after{background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,0) 75.9615%,#262626 100%)}
  .renewal-experience__heading{inset:15.8rem 0 auto;filter:drop-shadow(0 0 1.4rem #000)}
  .renewal-experience__heading .renewal-kicker{font-family:var(--font-en);font-size:4.2rem;line-height:4.6rem;letter-spacing:.10em}
  .renewal-experience__heading h2{margin-top:1rem;font-family:var(--font-ja);font-size:2.6rem;line-height:4.6rem;letter-spacing:.20em;font-weight:500}
  .renewal-experience__gallery{width:100%;max-width:none;margin-top:.7rem;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}
  .renewal-experience__card{height:40.7rem}
  .renewal-experience__card::after{inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 62%,rgba(0,0,0,.32) 100%)}
  .renewal-experience__card figcaption{left:2rem;right:2rem;bottom:1.6rem;font-family:var(--font-en);font-size:3.6rem;line-height:4.6rem;letter-spacing:.10em;text-shadow:0 .4rem 2.4rem #000}

  /* Simulation: Figma y2160–4616 */
  .renewal-simulation{height:245.6rem;min-height:245.6rem;padding:8rem 0 0;background:#050505 url('../images/bg_simulation.jpg') center top/cover no-repeat;overflow:hidden}
  .renewal-simulation .renewal-section-inner--narrow{width:100%;max-width:none}
  .renewal-simulation .renewal-kicker{font-size:4.2rem;line-height:4.6rem;letter-spacing:.10em}
  .renewal-simulation .renewal-badge{width:30.5rem;min-width:30.5rem;height:4.5rem;margin:3.4rem auto 4rem;padding:0;border:0;background:#d5b767;color:#3e3d35;display:flex;align-items:center;justify-content:center;font-family:var(--font-ja);font-size:2.4rem;line-height:4.6rem;letter-spacing:.10em;font-weight:700}
  .renewal-simulation .renewal-section-title{width:85.7rem;margin:0 auto;font-size:3.6rem;line-height:6.4rem;letter-spacing:.10em;font-weight:700}
  .renewal-cost{width:96.2rem;height:92.1rem;min-height:92.1rem;margin:10.5rem auto 0;padding:0;border:.2rem solid #fff;border-radius:1.7rem;background:transparent}
  .renewal-cost__label{top:-2.7rem;width:27.7rem;height:5rem;padding:0;border:0;background:#fff;color:#3e3d35;display:flex;align-items:center;justify-content:center;font-family:var(--font-ja);font-size:2.4rem;line-height:4.4rem;letter-spacing:.10em;font-weight:500}
  .renewal-cost h3{position:absolute;top:6.3rem;left:50%;transform:translateX(-50%);width:52.4rem;margin:0;font-family:var(--font-ja);font-size:3.4rem;line-height:5rem;letter-spacing:.20em;font-weight:500}
  .renewal-cost__chart--svg{position:absolute;top:21rem;left:50%;transform:translateX(-50%);width:77.8rem;height:67.3rem;margin:0}
  .renewal-cost__chart--svg picture,.renewal-cost__chart--svg img{display:block;width:100%;height:100%}
  .renewal-cost__notes{display:none!important}
  .renewal-buyback{width:100%;margin-top:10.6rem;text-align:center}
  .renewal-buyback h3{font-family:var(--font-ja);font-size:3.6rem;line-height:6.4rem;letter-spacing:.10em;font-weight:700}
  .renewal-buyback>p{width:85.5rem;margin:2.4rem auto 0;font-family:var(--font-ja);font-size:2rem;line-height:4.2rem;letter-spacing:.04em;font-weight:500}
  .renewal-buyback__numbers{position:relative;display:grid;width:112.3rem;height:23.8rem;min-height:23.8rem;margin:5.8rem auto 0;padding:4.4rem 4.5rem 4rem 5rem;grid-template-columns:22.2rem 10.1rem 28.7rem 8.1rem 33.7rem;gap:0;border:.1rem solid #fff;border-radius:1.7rem;transform:none}
  .renewal-buyback__cell{display:flex;flex-direction:column;align-items:center;min-width:0}
  .renewal-buyback__cell span{width:100%;height:5rem;min-height:5rem;padding:0;border:0;background:#d5b767;color:#3e3d35;display:flex;align-items:center;justify-content:center;font-family:var(--font-ja);font-size:2rem;line-height:4.4rem;letter-spacing:.10em;font-weight:500}
  .renewal-buyback__cell:nth-of-type(2) span{height:4.7rem;min-height:4.7rem;background:#fff}
  .renewal-buyback__cell--result span{background:#d5b767;letter-spacing:0}
  .renewal-buyback__cell strong{display:block;margin:.6rem 0 0;font-family:var(--font-ja);font-weight:500;line-height:5rem;letter-spacing:.10em;color:#d5b767;white-space:nowrap}
  .renewal-buyback__cell:nth-of-type(2) strong{color:#fff}
  .renewal-buyback__cell strong b{font-size:4.6rem;font-weight:500}
  .renewal-buyback__cell strong i{font-size:2.4rem;font-style:normal;font-weight:500;margin-left:.1em}
  .renewal-buyback__cell small{display:block;min-height:4rem;margin-top:0;font-family:var(--font-ja);font-size:1.6rem;line-height:2.2rem;font-weight:500;text-align:center;color:#d5b767}
  .renewal-buyback__cell:nth-of-type(2) small{color:#fff}
  .renewal-buyback__cell--result small{font-size:2.2rem;line-height:4.4rem}
  .renewal-buyback__operator{align-self:center;justify-self:center;color:transparent;font-size:0;position:relative}
  .renewal-buyback__operator:nth-of-type(2){width:4.7rem;height:.1rem;background:#fff}
  .renewal-buyback__operator:nth-of-type(4){display:block;width:3.55rem;height:2rem;border-top:.1rem solid #fff;border-bottom:.1rem solid #fff}
  .renewal-simulation>.renewal-cta--simulation{margin-top:10.6rem}
}

@media (max-width:1024px){
  /* Rooms & Facilities intro: Figma y1180–2700 */
  .renewal-experience{height:152rem;padding:0 0 2.5rem;background:#262626;overflow:hidden}
  .renewal-experience__hero{height:52.1rem}
  .renewal-experience__hero::after{background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,0) 75.9615%,#262626 100%)}
  .renewal-experience__heading{inset:11.3rem 2.5rem auto;filter:drop-shadow(0 0 1.4rem #000)}
  .renewal-experience__heading .renewal-kicker{font-family:var(--font-en);font-size:2.4rem;line-height:4.6rem;letter-spacing:.10em}
  .renewal-experience__heading h2{margin-top:1rem;font-family:var(--font-ja);font-size:2.6rem;line-height:4.6rem;letter-spacing:.20em;font-weight:500}
  .renewal-experience__gallery{margin-top:.4rem;grid-template-columns:1fr;gap:.4rem}
  .renewal-experience__card{height:32.1rem}
  .renewal-experience__card:nth-child(2){height:32rem}
  .renewal-experience__card::after{inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 62%,rgba(0,0,0,.32) 100%)}
  .renewal-experience__card figcaption{left:1.8rem;right:1.8rem;font-family:var(--font-en);font-size:2.4rem;line-height:3rem;letter-spacing:.10em;text-shadow:0 .4rem 2.4rem #000}
  .renewal-experience__card:nth-child(1) figcaption{bottom:1.2rem}
  .renewal-experience__card:nth-child(2) figcaption{bottom:1.8rem}
  .renewal-experience__card:nth-child(3) figcaption{bottom:2rem}

  /* Simulation: Figma y2700–4546 */
  .renewal-simulation{height:184.6rem;min-height:184.6rem;padding:5.4rem 0 0;background:#050505 url('../images/bg_simulation.jpg') center top/cover no-repeat;overflow:hidden}
  .renewal-simulation .renewal-section-inner--narrow{width:100%;max-width:none}
  .renewal-simulation .renewal-kicker{font-size:2.4rem;line-height:4.6rem;letter-spacing:.10em}
  .renewal-simulation .renewal-badge{width:32.6rem;min-width:32.6rem;height:4.5rem;margin:1.6rem auto 4.2rem;padding:0;border:0;background:#d5b767;color:#3e3d35;display:flex;align-items:center;justify-content:center;font-family:var(--font-ja);font-size:2.4rem;line-height:4.6rem;letter-spacing:.10em;font-weight:700}
  .renewal-simulation .renewal-section-title{width:35.5rem;margin:0 auto;font-size:2.4rem;line-height:3.8rem;letter-spacing:0;font-weight:700}
  .renewal-cost{width:32.6rem;height:60.4rem;min-height:60.4rem;margin:5.6rem auto 0;padding:0;border:.1rem solid #fff;border-radius:1.7rem;background:transparent}
  .renewal-cost__label{top:-2.7rem;width:27.7rem;height:5rem;padding:0;border:0;background:#fff;color:#3e3d35;display:flex;align-items:center;justify-content:center;font-family:var(--font-ja);font-size:2.4rem;line-height:4.4rem;letter-spacing:.10em;font-weight:500}
  .renewal-cost h3{position:absolute;top:4.9rem;left:50%;transform:translateX(-50%);width:25.6rem;margin:0;font-family:var(--font-ja);font-size:2.4rem;line-height:3.8rem;letter-spacing:.20em;font-weight:700}
  .renewal-cost__chart--svg{position:absolute;top:19.5rem;left:1rem;transform:none;width:32.7rem;height:38.2rem;margin:0}
  .renewal-cost__chart--svg picture,.renewal-cost__chart--svg img{display:block;width:100%;height:100%}
  .renewal-cost__notes{display:none!important}
  .renewal-buyback{width:100%;margin-top:3rem;text-align:center}
  .renewal-buyback h3{width:19.7rem;margin:0 auto;font-family:var(--font-ja);font-size:2.4rem;line-height:3.6rem;letter-spacing:.20em;font-weight:700}
  .renewal-buyback>p{width:37.5rem;margin:1.5rem auto 0;font-family:var(--font-ja);font-size:1.6rem;line-height:2.8rem;letter-spacing:0;font-weight:500}
  .renewal-buyback__numbers{position:relative;display:block;width:32.6rem;height:28.8rem;min-height:28.8rem;margin:3.2rem auto 0;padding:0;border:.1rem solid #fff;border-radius:1.8rem;transform:none}
  .renewal-buyback__cell{position:absolute;display:flex;flex-direction:column;align-items:center}
  .renewal-buyback__cell:nth-of-type(1){left:1.8rem;top:2.2rem;width:10.5rem}
  .renewal-buyback__cell:nth-of-type(2){left:17.1rem;top:2.3rem;width:13.6rem}
  .renewal-buyback__cell--result{left:1.8rem!important;top:13.8rem!important;width:28.9rem!important;margin:0!important}
  .renewal-buyback__cell span{width:100%;height:2.4rem;min-height:2.4rem;padding:0;border:0;background:#d5b767;color:#3e3d35;display:flex;align-items:center;justify-content:center;font-family:var(--font-ja);font-size:1.1rem;line-height:2.4rem;letter-spacing:.10em;font-weight:500}
  .renewal-buyback__cell:nth-of-type(2) span{height:2.2rem;min-height:2.2rem;background:#fff}
  .renewal-buyback__cell--result span{height:4.4rem;min-height:4.4rem;font-size:1.4rem;letter-spacing:0}
  .renewal-buyback__cell strong{display:block;margin:.5rem 0 0;font-family:var(--font-ja);font-weight:500;line-height:2.8rem;letter-spacing:.10em;color:#d5b767;white-space:nowrap}
  .renewal-buyback__cell:nth-of-type(2) strong{color:#fff}
  .renewal-buyback__cell strong b{font-size:2.4rem;font-weight:500}
  .renewal-buyback__cell strong i{font-size:1.4rem;font-style:normal;font-weight:500;margin-left:.1em}
  .renewal-buyback__cell--result strong{margin-top:1rem;line-height:4rem}
  .renewal-buyback__cell--result strong b{font-size:3.4rem}
  .renewal-buyback__cell--result strong i{font-size:1.4rem}
  .renewal-buyback__cell small{display:block;margin-top:0;font-family:var(--font-ja);font-size:1rem;line-height:1.4rem;font-weight:500;text-align:center;color:#d5b767}
  .renewal-buyback__cell:nth-of-type(2) small{color:#fff}
  .renewal-buyback__cell--result small{font-size:1.5rem;line-height:2rem}
  .renewal-buyback__operator{position:absolute;color:transparent;font-size:0}
  .renewal-buyback__operator:nth-of-type(2){display:block;left:13.7rem;top:6.5rem;width:2.3rem;height:.1rem;background:#fff}
  .renewal-buyback__operator:nth-of-type(4){display:block;left:15.4rem;top:11.9rem;width:1rem;height:1.7rem;border-left:.1rem solid #fff;border-right:.1rem solid #fff}
  .renewal-simulation>.renewal-cta--simulation{margin-top:4.6rem}
}

/* =========================================================
   SIMULATION REVIEW FIX — 2026-08-31
   User review: restore chart conditions in HTML, use corrected chart SVG only,
   and trace the legacy calculation layout while matching the renewal Figma.
   ========================================================= */
@media (min-width:1025px){
  /* Force the Figma line breaks instead of allowing viewport/font metrics to create a third line. */
  .renewal-simulation .renewal-section-title .pc-only,
  .renewal-cost__heading .pc-only,
  .renewal-buyback h3 .pc-only,
  .renewal-buyback>p .pc-only{display:block}

  .renewal-cost__heading{white-space:nowrap}

  /* The user-corrected SVG is the graph only: Figma group 778 × 531. */
  .renewal-cost__chart--svg{
    top:21rem;
    left:50%;
    width:77.8rem;
    height:53.1rem;
    transform:translateX(-50%);
    overflow:visible;
  }
  .renewal-cost__chart--svg picture,
  .renewal-cost__chart--svg img{
    width:100%;
    height:100%;
    object-fit:contain;
  }

  /* Restore the part that disappeared when the graph SVG was corrected.
     This intentionally stays HTML/CSS, following the legacy-site structure. */
  .renewal-cost__notes{
    display:block!important;
    position:absolute;
    top:76.1rem;
    left:13.8rem;
    width:68.7rem;
    margin:0;
    padding:0;
    font-family:var(--font-ja);
    font-size:2rem;
    line-height:3.8rem;
    letter-spacing:.04em;
    font-weight:500;
    color:#fff;
    text-align:left;
  }
  .renewal-cost__notes::before{
    content:'';
    position:absolute;
    left:-2.8rem;
    top:.2rem;
    width:1.1rem;
    height:calc(100% - .4rem);
    border-left:.2rem solid #fff;
    border-top:.2rem solid #fff;
    border-bottom:.2rem solid #fff;
    box-sizing:border-box;
  }
  .renewal-cost__notes p{margin:0;white-space:nowrap}
  .renewal-cost__notes strong{font:inherit;font-weight:500}
  .renewal-cost__notes span{font:inherit}
  .renewal-cost__notes-celevi,
  .renewal-cost__notes-celevi strong,
  .renewal-cost__notes-celevi span{color:#d5b767}

  /* Legacy calc structure, renewal Figma colors/spacing. */
  .renewal-buyback__numbers{margin-top:5rem}
  .renewal-buyback__cell--income span,
  .renewal-buyback__cell--result span{background:#d5b767;color:#3e3d35}
  .renewal-buyback__cell--cost span{height:4.7rem;min-height:4.7rem;background:#fff;color:#3e3d35}
  .renewal-buyback__cell--income strong,
  .renewal-buyback__cell--result strong{color:#d5b767}
  .renewal-buyback__cell--cost strong{color:#fff}
  .renewal-buyback__cell--income small,
  .renewal-buyback__cell--result small{color:#d5b767}
  .renewal-buyback__cell--cost small{
    width:29.3rem;
    max-width:none;
    color:#fff;
    font-size:1.6rem;
    line-height:2.2rem;
    white-space:nowrap;
  }
  .renewal-buyback__operator--minus{
    width:3rem!important;
    height:.1rem!important;
    border:0!important;
    background:#fff!important;
  }
  .renewal-buyback__operator--equal{
    display:block!important;
    width:3rem!important;
    height:.6rem!important;
    border:0!important;
    border-top:.1rem solid #fff!important;
    border-bottom:.1rem solid #fff!important;
    background:transparent!important;
  }
}

@media (max-width:1024px){
  /* Exact SP copy breaks from Figma. */
  .renewal-simulation .renewal-section-title .sp-only,
  .renewal-cost__heading .sp-only,
  .renewal-buyback h3 .sp-only,
  .renewal-buyback>p .sp-only{display:block}

  /* Graph-only SVG: Figma group x=34, y=3307.022, 305.245 × 209.737. */
  .renewal-cost__chart--svg{
    top:19.5rem;
    left:1rem;
    width:30.525rem;
    height:20.974rem;
    transform:none;
    overflow:visible;
  }
  .renewal-cost__chart--svg picture,
  .renewal-cost__chart--svg img{
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
  }

  /* Conditions/legend beneath the graph, not inside the SVG. */
  .renewal-cost__notes{
    display:block!important;
    position:absolute;
    top:42.6rem;
    left:3.1rem;
    width:28rem;
    margin:0;
    padding:0;
    font-family:var(--font-ja);
    font-size:1.2rem;
    line-height:2.4rem;
    letter-spacing:.04em;
    font-weight:500;
    color:#fff;
    text-align:left;
  }
  .renewal-cost__notes::before{
    content:'';
    position:absolute;
    left:-1.8rem;
    top:.2rem;
    width:1.1rem;
    height:calc(100% - .4rem);
    border-left:.1rem solid #fff;
    border-top:.1rem solid #fff;
    border-bottom:.1rem solid #fff;
    box-sizing:border-box;
  }
  .renewal-cost__notes p{margin:0;line-height:2.4rem;white-space:nowrap}
  .renewal-cost__notes strong{
    display:block;
    font-family:var(--font-ja);
    font-size:1.4rem;
    line-height:2.4rem;
    letter-spacing:.04em;
    font-weight:500;
  }
  .renewal-cost__notes span{
    display:block;
    font-family:var(--font-ja);
    font-size:1.2rem;
    line-height:2.4rem;
    letter-spacing:.04em;
    font-weight:500;
  }
  .renewal-cost__notes-celevi,
  .renewal-cost__notes-celevi strong,
  .renewal-cost__notes-celevi span{color:#d5b767}

  /* Figma SP buyback copy: 2-line heading + 4-line paragraph. */
  .renewal-buyback h3{width:19.7rem}
  .renewal-buyback>p{width:37.5rem}

  /* Rebuild the calculation block from the old-site structure.
     No SVG is used here. Explicit modifier classes prevent nth-child failures. */
  .renewal-buyback__numbers{
    position:relative;
    display:block;
    width:32.6rem;
    height:28.8rem;
    min-height:28.8rem;
    margin:3.2rem auto 0;
    padding:0;
    border:.1rem solid #fff;
    border-radius:1.8rem;
    transform:none;
    overflow:hidden;
  }
  .renewal-buyback__cell{
    position:absolute;
    display:flex;
    flex-direction:column;
    align-items:center;
    margin:0;
    padding:0;
  }
  .renewal-buyback__cell--income{left:1.8rem;top:2.3rem;width:10.5rem}
  .renewal-buyback__cell--cost{left:17.1rem;top:2.4rem;width:13.6rem}
  .renewal-buyback__cell--result{left:1.8rem!important;top:13.82rem!important;width:28.9rem!important;margin:0!important}

  .renewal-buyback__cell span{
    width:100%;
    padding:0;
    border:0;
    display:flex;
    align-items:center;
    justify-content:center;
    font-family:var(--font-ja);
    font-weight:500;
    color:#3e3d35;
  }
  .renewal-buyback__cell--income span{height:2.4rem;min-height:2.4rem;background:#d5b767;font-size:1.1rem;line-height:2.4rem;letter-spacing:.10em}
  .renewal-buyback__cell--cost span{height:2.2rem;min-height:2.2rem;background:#fff;font-size:1.1rem;line-height:2.2rem;letter-spacing:.10em}
  .renewal-buyback__cell--result span{height:4.4rem;min-height:4.4rem;background:#d5b767;font-size:1.4rem;line-height:4.4rem;letter-spacing:0}

  .renewal-buyback__cell strong{
    display:block;
    margin:.5rem 0 0;
    font-family:var(--font-ja);
    font-weight:500;
    letter-spacing:.10em;
    white-space:nowrap;
  }
  .renewal-buyback__cell--income strong{color:#d5b767;line-height:2.8rem}
  .renewal-buyback__cell--cost strong{color:#fff;line-height:2.8rem}
  .renewal-buyback__cell--result strong{margin-top:1rem;color:#d5b767;line-height:4rem}
  .renewal-buyback__cell--income strong b,
  .renewal-buyback__cell--cost strong b{font-size:2.4rem;font-weight:500}
  .renewal-buyback__cell--result strong b{font-size:3.4rem;font-weight:500}
  .renewal-buyback__cell strong i{font-size:1.4rem;font-style:normal;font-weight:500;margin-left:.1em}

  .renewal-buyback__cell small{
    display:block;
    margin-top:0;
    font-family:var(--font-ja);
    font-size:1rem;
    line-height:1.4rem;
    font-weight:500;
    text-align:center;
  }
  .renewal-buyback__cell--income small{color:#d5b767}
  .renewal-buyback__cell--cost small{width:13.6rem;color:#fff}
  .renewal-buyback__cell--result small{color:#d5b767;font-size:1.5rem;line-height:2rem}

  .renewal-buyback__operator{position:absolute!important;color:transparent!important;font-size:0!important;margin:0!important}
  .renewal-buyback__operator--minus{
    left:13.7rem!important;
    top:6.4rem!important;
    width:2.3rem!important;
    height:.1rem!important;
    border:0!important;
    background:#fff!important;
  }
  .renewal-buyback__operator--equal{
    display:block!important;
    left:15.7rem!important;
    top:10.4rem!important;
    width:.6rem!important;
    height:2.2rem!important;
    border:0!important;
    border-left:.1rem solid #fff!important;
    border-right:.1rem solid #fff!important;
    background:transparent!important;
  }
}

/* =========================================================
   SIMULATION SP REVIEW FIX 2 — 2026-08-31
   Source: user review document "Simulationエリア（スマホ表示）修正"
   Scope: SP Simulation only. No PHP/SVG changes.
   ========================================================= */
@media (max-width:1024px){
  /* Slightly tighten the whitespace above the SIMULATION heading. */
  .renewal-simulation{
    padding-top:5.0rem;
  }

  /* Preserve the three explicit Figma lines. <br> remains the only line break. */
  .renewal-cost h3,
  .renewal-cost__heading{
    width:32.6rem;
    max-width:32.6rem;
    white-space:nowrap;
    overflow:visible;
  }

  /* Preserve the two explicit Figma lines in the buyback heading. */
  .renewal-buyback h3{
    width:32.6rem;
    max-width:32.6rem;
    white-space:nowrap;
    overflow:visible;
  }

  /* Keep the first income note line on one line; second line stays after the existing <br>. */
  .renewal-buyback__cell--income small{
    width:12.4rem;
    max-width:none;
    font-size:.82rem;
    line-height:1.25rem;
    letter-spacing:0;
    white-space:nowrap;
  }

  /* The maintenance-cost note is a single line in the Figma layout. */
  .renewal-buyback__cell--cost small{
    width:14.5rem;
    max-width:none;
    font-size:.72rem;
    line-height:1.1rem;
    letter-spacing:0;
    white-space:nowrap;
  }

  /* Lower the minus very slightly. */
  .renewal-buyback__operator--minus{
    top:6.6rem!important;
  }

  /* Figma uses two vertical strokes here; increase their separation slightly. */
  .renewal-buyback__operator--equal{
    left:15.5rem!important;
    width:1.0rem!important;
    height:2.2rem!important;
  }

  /* Increase the bottom result typography to the visual scale of the Figma design. */
  .renewal-buyback__cell--result span{
    font-size:1.5rem;
  }
  .renewal-buyback__cell--result strong{
    margin-top:.8rem;
    line-height:4.2rem;
  }
  .renewal-buyback__cell--result strong b{
    font-size:3.8rem;
  }
  .renewal-buyback__cell--result strong i{
    font-size:1.5rem;
  }
  .renewal-buyback__cell--result small{
    font-size:1.55rem;
    line-height:2.1rem;
  }

  /* Lock the Simulation CTA group to the Figma bottom clearance (56 px). */
  .renewal-simulation>.renewal-cta--simulation{
    position:absolute;
    left:50%;
    bottom:5.6rem;
    width:33.8rem;
    max-width:calc(100% - 3.6rem);
    margin:0;
    transform:translateX(-50%);
    z-index:2;
  }
}

/* =========================================================
   SIMULATION SP RESULT TYPOGRAPHY SIZE-UP — 2026-08-31
   User review: enlarge result label and result note only.
   ========================================================= */
@media (max-width:1024px){
  .renewal-buyback__cell--result span{
    font-size:1.8rem;
    white-space:nowrap;
  }
  .renewal-buyback__cell--result small{
    font-size:1.8rem;
    line-height:2.3rem;
    white-space:nowrap;
  }
}

/* =========================================================
   PROBLEM FIGMA FINAL PASS — 2026-08-31
   PC 1440 / SP 375. SVG artwork is replaced separately.
   ========================================================= */
.renewal-problem .renewal-kicker{
  font-size:4.2rem;
  line-height:4.6rem;
  letter-spacing:.10em;
}
.renewal-problem .renewal-section-title{
  font-size:3.6rem;
  line-height:6.4rem;
  letter-spacing:.10em;
  font-weight:700;
}
.renewal-problem__lead{
  font-family:var(--font-ja);
  font-size:1.8rem;
  line-height:4.2rem;
  letter-spacing:.04em;
  font-weight:500;
}
.renewal-card-grid--problem{
  column-gap:1.7rem;
  row-gap:1.8rem;
}
.renewal-problem-card{
  position:relative;
  padding:0;
  border:0;
  border-radius:1.7rem;
  background:#fff;
  color:#3e3d35;
  overflow:hidden;
}
.renewal-problem-card__icon{
  position:absolute;
  left:50%;
  margin:0;
  max-width:none;
  max-height:none;
  object-fit:contain;
  transform:translateX(-50%);
}
.renewal-problem-card h3,
.renewal-problem-card p{
  position:absolute;
  margin:0;
  left:4.7rem;
  right:4.7rem;
  text-align:center;
  font-family:var(--font-ja);
  color:#3e3d35;
}
.renewal-problem-card h3{
  font-size:2.8rem;
  line-height:4rem;
  letter-spacing:0;
  font-weight:700;
}
.renewal-problem-card p{
  font-size:1.6rem;
  line-height:2.6rem;
  letter-spacing:.04em;
  font-weight:500;
}

@media (min-width:1025px){
  .renewal-card-grid--problem .renewal-problem-card:nth-child(1),
  .renewal-card-grid--problem .renewal-problem-card:nth-child(2){height:30.4rem;min-height:30.4rem;}
  .renewal-card-grid--problem .renewal-problem-card:nth-child(3),
  .renewal-card-grid--problem .renewal-problem-card:nth-child(4){height:33.3rem;min-height:33.3rem;}

  .renewal-card-grid--problem .renewal-problem-card:nth-child(1) .renewal-problem-card__icon{top:3.5rem;width:9.2rem;height:8.2rem;}
  .renewal-card-grid--problem .renewal-problem-card:nth-child(2) .renewal-problem-card__icon{top:5.7rem;width:12rem;height:6.9rem;}
  .renewal-card-grid--problem .renewal-problem-card:nth-child(3) .renewal-problem-card__icon{top:4.3rem;width:8.6rem;height:7rem;}
  .renewal-card-grid--problem .renewal-problem-card:nth-child(4) .renewal-problem-card__icon{top:4.8rem;width:8.4rem;height:7.6rem;}

  .renewal-card-grid--problem .renewal-problem-card:nth-child(1) h3,
  .renewal-card-grid--problem .renewal-problem-card:nth-child(2) h3{top:13.4rem;}
  .renewal-card-grid--problem .renewal-problem-card:nth-child(3) h3{top:12.7rem;}
  .renewal-card-grid--problem .renewal-problem-card:nth-child(4) h3{top:14.1rem;}

  .renewal-card-grid--problem .renewal-problem-card:nth-child(1) p,
  .renewal-card-grid--problem .renewal-problem-card:nth-child(2) p{top:22.4rem;}
  .renewal-card-grid--problem .renewal-problem-card:nth-child(3) p{top:21.7rem;}
  .renewal-card-grid--problem .renewal-problem-card:nth-child(4) p{top:23.1rem;}
}

@media (max-width:1024px){
  .renewal-problem .renewal-kicker{
    font-size:2.4rem;
    line-height:4.6rem;
    letter-spacing:.10em;
  }
  .renewal-problem .renewal-section-title{
    font-size:2.6rem;
    line-height:3.6rem;
    letter-spacing:.10em;
    font-weight:700;
  }
  .renewal-problem__lead{
    width:28.3rem;
    height:4.2rem;
    font-size:1.6rem;
    line-height:2.6rem;
    letter-spacing:.04em;
    overflow:visible;
  }
  .renewal-card-grid--problem{
    width:32.6rem;
    margin-inline:auto;
    gap:2rem;
  }
  .renewal-problem-card h3,
  .renewal-problem-card p{
    left:0;
    right:0;
  }
  .renewal-problem-card h3{
    font-size:2.8rem;
    line-height:4rem;
  }
  .renewal-problem-card p{
    font-size:1.6rem;
    line-height:2.6rem;
    letter-spacing:0;
  }

  .renewal-card-grid--problem .renewal-problem-card:nth-child(1){height:35.8rem;min-height:35.8rem;}
  .renewal-card-grid--problem .renewal-problem-card:nth-child(2){height:30.4rem;min-height:30.4rem;}
  .renewal-card-grid--problem .renewal-problem-card:nth-child(3){height:37.4rem;min-height:37.4rem;}
  .renewal-card-grid--problem .renewal-problem-card:nth-child(4){height:34.4rem;min-height:34.4rem;}

  .renewal-card-grid--problem .renewal-problem-card:nth-child(1) .renewal-problem-card__icon{top:3.5rem;width:9.2rem;height:8.2rem;}
  .renewal-card-grid--problem .renewal-problem-card:nth-child(2) .renewal-problem-card__icon{top:3.5rem;width:12rem;height:6.9rem;}
  .renewal-card-grid--problem .renewal-problem-card:nth-child(3) .renewal-problem-card__icon{top:3.2rem;width:8.6rem;height:7rem;}
  .renewal-card-grid--problem .renewal-problem-card:nth-child(4) .renewal-problem-card__icon{top:3.3rem;width:8.4rem;height:7.6rem;}

  .renewal-card-grid--problem .renewal-problem-card:nth-child(1) h3{top:13.4rem;}
  .renewal-card-grid--problem .renewal-problem-card:nth-child(2) h3{top:11.2rem;}
  .renewal-card-grid--problem .renewal-problem-card:nth-child(3) h3{top:11.6rem;}
  .renewal-card-grid--problem .renewal-problem-card:nth-child(4) h3{top:12.6rem;}

  .renewal-card-grid--problem .renewal-problem-card:nth-child(1) p{top:22.4rem;}
  .renewal-card-grid--problem .renewal-problem-card:nth-child(2) p{top:20.2rem;}
  .renewal-card-grid--problem .renewal-problem-card:nth-child(3) p{top:25rem;}
  .renewal-card-grid--problem .renewal-problem-card:nth-child(4) p{top:21.6rem;}
}

/* =========================================================
   MERIT FIGMA FINAL PASS — 2026-08-31
   PC 1440 / SP 375. SVG artwork is replaced separately.
   HERO / Simulation Figma CTA assets are intentionally reused.
   ========================================================= */
.renewal-merit .renewal-kicker{
  font-size:4.2rem;
  line-height:4.6rem;
  letter-spacing:.10em;
}
.renewal-merit .renewal-section-title{
  font-size:3.6rem;
  line-height:6.4rem;
  letter-spacing:.10em;
  font-weight:700;
}
.renewal-card-grid--merit{
  column-gap:1.7rem;
  row-gap:2rem;
}
.renewal-merit-card{
  position:relative;
  padding:0;
  border:2px solid #d5b767;
  border-radius:1.7rem;
  background:transparent;
  overflow:hidden;
}
.renewal-merit-card .renewal-merit-card__icon{
  position:absolute;
  left:50%;
  margin:0;
  max-width:none;
  max-height:none;
  object-fit:contain;
  filter:none;
  transform:translateX(-50%);
}
.renewal-merit-card h3,
.renewal-merit-card p{
  position:absolute;
  margin:0;
  text-align:center;
  font-family:var(--font-ja);
  color:#d5b767;
}
.renewal-merit-card h3{
  left:50%;
  right:auto;
  width:45.7rem;
  transform:translateX(-50%);
  font-size:2.8rem;
  line-height:4rem;
  letter-spacing:0;
  font-weight:700;
}
.renewal-merit-card p{
  left:50%;
  right:auto;
  width:45.9rem;
  transform:translateX(-50%);
  font-size:1.6rem;
  line-height:2.6rem;
  letter-spacing:.04em;
  font-weight:500;
}
.renewal-merit>.renewal-cta--merit{
  margin-top:7.2rem;
}

@media (min-width:1025px){
  .renewal-card-grid--merit .renewal-merit-card:nth-child(1),
  .renewal-card-grid--merit .renewal-merit-card:nth-child(2){height:29.4rem;min-height:29.4rem;}
  .renewal-card-grid--merit .renewal-merit-card:nth-child(3),
  .renewal-card-grid--merit .renewal-merit-card:nth-child(4){height:31.8rem;min-height:31.8rem;}

  .renewal-card-grid--merit .renewal-merit-card:nth-child(1) .renewal-merit-card__icon{top:3.2rem;width:9.5rem;height:7.9rem;}
  .renewal-card-grid--merit .renewal-merit-card:nth-child(2) .renewal-merit-card__icon{top:2.8rem;width:8.3rem;height:8.6rem;}
  .renewal-card-grid--merit .renewal-merit-card:nth-child(3) .renewal-merit-card__icon{top:4.6rem;width:8.4rem;height:7rem;}
  .renewal-card-grid--merit .renewal-merit-card:nth-child(4) .renewal-merit-card__icon{top:4rem;width:9.2rem;height:7.6rem;}

  .renewal-card-grid--merit .renewal-merit-card:nth-child(1) h3,
  .renewal-card-grid--merit .renewal-merit-card:nth-child(2) h3{top:13rem;}
  .renewal-card-grid--merit .renewal-merit-card:nth-child(3) h3{top:14.7rem;}
  .renewal-card-grid--merit .renewal-merit-card:nth-child(4) h3{top:13rem;}

  .renewal-card-grid--merit .renewal-merit-card:nth-child(1) p,
  .renewal-card-grid--merit .renewal-merit-card:nth-child(2) p{top:18.5rem;}
  .renewal-card-grid--merit .renewal-merit-card:nth-child(3) p{top:21.5rem;}
  .renewal-card-grid--merit .renewal-merit-card:nth-child(4) p{top:22.4rem;width:49.7rem;}
}

@media (max-width:1024px){
  .renewal-merit .renewal-kicker{
    font-size:2.4rem;
    line-height:4.6rem;
    letter-spacing:.10em;
  }
  .renewal-merit .renewal-section-title{
    font-size:2.6rem;
    line-height:3.8rem;
    letter-spacing:.10em;
    font-weight:700;
  }
  .renewal-card-grid--merit{
    width:32.6rem;
    margin-inline:auto;
    margin-top:2.5rem;
    row-gap:1.8rem;
  }
  .renewal-merit-card h3{
    width:31.5rem;
    font-size:2.8rem;
    line-height:3.8rem;
  }
  .renewal-merit-card p{
    font-size:1.6rem;
    line-height:2.6rem;
    letter-spacing:.04em;
  }

  .renewal-card-grid--merit .renewal-merit-card:nth-child(1){height:32.6rem;min-height:32.6rem;}
  .renewal-card-grid--merit .renewal-merit-card:nth-child(2){height:30rem;min-height:30rem;}
  .renewal-card-grid--merit .renewal-merit-card:nth-child(3){height:31.8rem;min-height:31.8rem;}
  .renewal-card-grid--merit .renewal-merit-card:nth-child(4){height:34.6rem;min-height:34.6rem;margin-top:.2rem;}

  .renewal-card-grid--merit .renewal-merit-card:nth-child(1) .renewal-merit-card__icon{top:1.5rem;width:9.5rem;height:7.9rem;}
  .renewal-card-grid--merit .renewal-merit-card:nth-child(2) .renewal-merit-card__icon{top:1.7rem;width:8.3rem;height:8.6rem;}
  .renewal-card-grid--merit .renewal-merit-card:nth-child(3) .renewal-merit-card__icon{top:2.9rem;width:8.4rem;height:7rem;}
  .renewal-card-grid--merit .renewal-merit-card:nth-child(4) .renewal-merit-card__icon{top:2.3rem;width:9.2rem;height:7.6rem;}

  .renewal-card-grid--merit .renewal-merit-card:nth-child(1) h3{top:10.6rem;}
  .renewal-card-grid--merit .renewal-merit-card:nth-child(2) h3{top:11.3rem;}
  .renewal-card-grid--merit .renewal-merit-card:nth-child(3) h3{top:12rem;}
  .renewal-card-grid--merit .renewal-merit-card:nth-child(4) h3{top:11.3rem;}

  .renewal-card-grid--merit .renewal-merit-card:nth-child(1) p{top:19.5rem;width:28.3rem;}
  .renewal-card-grid--merit .renewal-merit-card:nth-child(2) p{top:20.3rem;width:28.3rem;}
  .renewal-card-grid--merit .renewal-merit-card:nth-child(3) p{top:20.5rem;width:22.3rem;}
  .renewal-card-grid--merit .renewal-merit-card:nth-child(4) p{top:24.1rem;width:31.5rem;}

  .renewal-merit>.renewal-cta--merit{
    margin-top:4.4rem;
  }
}

/* ARCHTECT Figma alignment */
.renewal-architect{
  background:linear-gradient(180deg,#666 0%,#000 50.4808%,#000 100%);
}
.renewal-architect__picture{
  position:absolute;
  display:block;
  overflow:hidden;
  border-radius:1rem;
}
.renewal-architect__img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:1rem;
}
.renewal-architect__body p{
  margin:0;
  font-family:var(--font-ja);
  font-weight:500;
  color:#fff;
}

@media (min-width:1025px){
  .renewal-architect{
    min-height:90.6rem;
    padding:9.2rem 0 0;
  }
  .renewal-architect .renewal-kicker{
    margin:0;
    font-family:var(--font-en);
    font-size:4.2rem;
    line-height:4.6rem;
    letter-spacing:.10em;
    font-weight:400;
    text-align:center;
  }
  .renewal-architect .renewal-section-title{
    width:65.7rem;
    height:9.6rem;
    margin:2.1rem auto 0;
    font-family:var(--font-ja);
    font-size:2.8rem;
    line-height:4.8rem;
    letter-spacing:.25em;
    font-weight:700;
    text-align:center;
  }
  .renewal-architect__layout{
    width:108.7rem;
    margin:7.2rem 0 0 3.8rem;
    display:grid;
    grid-template-columns:58.4rem 45.6rem;
    gap:4.7rem;
    align-items:start;
  }
  .renewal-architect__visual{
    position:relative;
    width:58.4rem;
    height:43.8rem;
    display:block;
  }
  .renewal-architect__picture--portrait{left:0;top:0;width:20.7rem;height:21.9rem;}
  .renewal-architect__picture--work1{left:22.6rem;top:0;width:35.8rem;height:21.9rem;}
  .renewal-architect__picture--work2{left:.1rem;top:23.7rem;width:32.9rem;height:20.1rem;}
  .renewal-architect__picture--work3{left:35.2rem;top:23.7rem;width:23.2rem;height:20.1rem;}
  .renewal-architect__content{
    position:relative;
    width:45.6rem;
    height:43.8rem;
  }
  .renewal-architect__name{
    position:absolute;
    top:0;
    left:0;
    width:45.6rem;
    height:4.6rem;
    display:flex;
    align-items:center;
    gap:0;
    font-family:var(--font-ja);
    font-weight:500;
    color:#fff;
  }
  .renewal-architect__name span{
    font-size:1.6rem;
    line-height:4.6rem;
    letter-spacing:.10em;
    margin-right:2.2rem;
  }
  .renewal-architect__name strong{
    font-family:var(--font-ja);
    font-size:2.4rem;
    line-height:4.6rem;
    letter-spacing:.10em;
    font-weight:500;
    white-space:nowrap;
    margin-right:2.8rem;
  }
  .renewal-architect__name em{
    font-family:var(--font-ja);
    font-style:normal;
    font-size:1.6rem;
    line-height:4.6rem;
    letter-spacing:.10em;
    text-align:left;
    white-space:nowrap;
  }
  .renewal-architect__body{
    position:absolute;
    left:0;
    top:6.2rem;
    width:45.6rem;
    height:21.9rem;
  }
  .renewal-architect__body p{
    font-size:1.2rem;
    line-height:2rem;
    letter-spacing:0;
  }
  .renewal-architect__body .pc-only p+p{margin-top:2rem;}
  .renewal-architect__badges{
    position:absolute;
    left:0;
    top:31.6rem;
    margin:0;
    display:flex;
    gap:2.2rem;
  }
  .renewal-architect__badges img{
    width:12.1rem;
    height:12.1rem;
    object-fit:contain;
  }
}

@media (max-width:1024px){
  .renewal-architect{
    min-height:185.5rem;
    padding:3.7rem 0 0;
  }
  .renewal-architect .renewal-section-inner{
    width:calc(100% - 4.8rem);
  }
  .renewal-architect .renewal-kicker{
    margin:0;
    font-family:var(--font-en);
    font-size:2.4rem;
    line-height:4.6rem;
    letter-spacing:.10em;
    font-weight:400;
    text-align:left;
  }
  .renewal-architect .renewal-section-title{
    width:32.6rem;
    height:15.2rem;
    margin:0;
    font-family:var(--font-ja);
    font-size:2.6rem;
    line-height:3.8rem;
    letter-spacing:.12em;
    font-weight:700;
    text-align:left;
  }
  .renewal-architect__layout{
    width:32.6rem;
    margin:2.4rem 0 0;
    display:flex;
    flex-direction:column;
    gap:0;
  }
  .renewal-architect__content{
    position:relative;
    order:1;
    width:32.6rem;
    height:62.8rem;
  }
  .renewal-architect__name{
    position:absolute;
    top:0;
    left:0;
    width:32.6rem;
    height:7.6rem;
    display:grid;
    grid-template-columns:7.1rem auto;
    grid-template-rows:4.6rem 4.6rem;
    column-gap:0;
    row-gap:0;
    align-items:start;
    font-family:var(--font-ja);
    font-weight:500;
    color:#fff;
  }
  .renewal-architect__name span{
    grid-column:1;
    grid-row:1;
    font-size:1.6rem;
    line-height:4.6rem;
    letter-spacing:.10em;
    white-space:nowrap;
  }
  .renewal-architect__name strong{
    grid-column:2;
    grid-row:1;
    font-family:var(--font-ja);
    font-size:2.4rem;
    line-height:4.6rem;
    letter-spacing:.10em;
    font-weight:500;
    white-space:nowrap;
  }
  .renewal-architect__name em{
    grid-column:1 / -1;
    grid-row:2;
    margin-top:-1.6rem;
    font-family:var(--font-ja);
    font-style:normal;
    font-size:1.6rem;
    line-height:4.6rem;
    letter-spacing:.10em;
    text-align:left;
    white-space:nowrap;
  }
  .renewal-architect__body{
    position:absolute;
    top:9.4rem;
    left:0;
    width:32.6rem;
    height:46.4rem;
  }
  .renewal-architect__body p{
    font-size:1.6rem;
    line-height:2.6rem;
    letter-spacing:.07em;
  }
  .renewal-architect__body .sp-only p+p{margin-top:2.6rem;}
  .renewal-architect__badges{
    position:absolute;
    top:50.7rem;
    left:0;
    margin:0;
    display:flex;
    gap:1.8rem;
  }
  .renewal-architect__badges img{
    width:12.1rem;
    height:12.1rem;
    object-fit:contain;
  }
  .renewal-architect__visual{
    position:relative;
    order:2;
    width:32.6rem;
    height:86.6rem;
    margin-top:4.2rem;
    display:block;
  }
  .renewal-architect__picture{left:0;width:32.6rem;}
  .renewal-architect__picture--portrait{top:0;height:21.6rem;}
  .renewal-architect__picture--work1{top:23.4rem;height:19.8rem;}
  .renewal-architect__picture--work2{top:45rem;height:19.9rem;}
  .renewal-architect__picture--work3{top:66.7rem;height:19.9rem;}
}


/* =========================================================
   LOCATION & ACTIVITY — Figma alignment / old-site map logic
   Figma: PC 8002–9235, SP 10069–12009
   Maps are responsive <picture>/<img> assets; no divider between blocks.
   ========================================================= */
.renewal-location{
  height:123.3rem;
  min-height:123.3rem;
  overflow:hidden;
  background:#e9eaea;
  color:#3e3d35;
}
.renewal-location__top{
  position:relative;
  display:block;
  height:47.4rem;
  min-height:0;
  padding:0;
  background:#e9eaea;
}
.renewal-location__intro{
  position:absolute;
  top:12.4rem;
  left:calc(50% - 45.8rem);
  width:53.3rem;
  z-index:2;
}
.renewal-location .renewal-kicker{
  margin:0;
  font-family:var(--font-en);
  font-size:4.2rem;
  line-height:5.6rem;
  letter-spacing:.10em;
  font-weight:400;
  color:#3e3d35;
  text-align:left;
}
.renewal-location__intro h2{
  margin:2.9rem 0 0;
  width:53.3rem;
  font-family:var(--font-ja);
  font-size:2.6rem;
  line-height:4.4rem;
  letter-spacing:.10em;
  font-weight:500;
  color:#3e3d35;
  text-align:left;
}
.renewal-location__map-overview{
  position:absolute;
  top:0;
  left:calc(50% + 5rem);
  width:47.2rem;
  height:47.4rem;
  margin:0;
  overflow:hidden;
  background:#e9eaea;
}
.renewal-location__map-overview img{
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:fill;
}
.renewal-location__body{
  position:relative;
  display:block;
  height:75.9rem;
  min-height:0;
  background-color:#e8e9e9;
  background-image:url('../images/bg_location_map_detail.png');
  background-repeat:no-repeat;
  background-position:calc(50% - 22.9rem) top;
  background-size:81.6rem 75.8rem;
}
.renewal-location__map-detail{
  display:none;
}
.renewal-location__map-detail img{
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:fill;
}
.renewal-location__activity{
  position:absolute;
  top:7.2rem;
  left:calc(50% - 3rem);
  width:61.8rem;
  padding:0;
  z-index:2;
  background:transparent;
}
.renewal-location__activity > h3{
  width:53.3rem;
  margin:0 0 3.6rem;
  font-family:var(--font-ja);
  font-size:2.6rem;
  line-height:4rem;
  letter-spacing:.10em;
  font-weight:500;
  color:#3e3d35;
  text-align:left;
}
.renewal-location__grid{
  width:61.8rem;
  display:grid;
  grid-template-columns:repeat(3,19.4rem);
  column-gap:1.8rem;
  row-gap:3.1rem;
}
.renewal-activity-card{
  width:19.4rem;
  min-width:0;
}
.renewal-activity-card img{
  display:block;
  width:19.4rem;
  height:11.3rem;
  aspect-ratio:auto;
  object-fit:cover;
  border-radius:1rem;
}
.renewal-activity-card h4{
  margin:1.6rem 0 0;
  min-height:1.9rem;
  font-family:var(--font-ja);
  font-size:1.4rem;
  line-height:1.9rem;
  letter-spacing:.10em;
  font-weight:700;
  color:#3e3d35;
}
.renewal-activity-card:nth-child(2) h4,
.renewal-activity-card:nth-child(3) h4{
  letter-spacing:0;
}
.renewal-activity-card p{
  margin:.5rem 0 0;
  font-family:var(--font-ja);
  font-size:1.2rem;
  line-height:1.6rem;
  letter-spacing:.05em;
  font-weight:500;
  color:#3e3d35;
}

@media (max-width:1024px){
  .renewal-location{
    height:194rem;
    min-height:194rem;
  }
  .renewal-location__top{
    height:58.1rem;
    min-height:0;
    padding:0;
  }
  .renewal-location__intro{
    top:2.4rem;
    left:2.4rem;
    width:32.1rem;
  }
  .renewal-location .renewal-kicker{
    font-size:2.4rem;
    line-height:5.6rem;
    letter-spacing:0;
    white-space:nowrap;
  }
  .renewal-location__intro h2{
    width:32.1rem;
    margin-top:.4rem;
    font-size:2.4rem;
    line-height:3.8rem;
    letter-spacing:.10em;
    font-weight:700;
  }
  .renewal-location__map-overview{
    top:20.4rem;
    left:0;
    width:100%;
    height:37.7rem;
    background:#e9eaea;
  }
  .renewal-location__map-overview img{
    width:100%;
    height:100%;
    object-fit:fill;
  }
  .renewal-location__body{
    height:135.9rem;
    min-height:0;
    background:#e8e9e9;
    background-image:none;
  }
  .renewal-location__map-detail{
    display:block;
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:22.5rem;
    margin:0;
    overflow:hidden;
    background:#e8e9e9;
  }
  .renewal-location__map-detail img{
    width:100%;
    height:100%;
    object-fit:fill;
  }
  .renewal-location__activity{
    top:22.5rem;
    left:0;
    width:100%;
    padding:3.8rem 2.5rem 0;
    box-sizing:border-box;
    background:#e8e9e9;
  }
  .renewal-location__activity > h3{
    width:32.6rem;
    margin:0 0 2.1rem;
    font-size:2.6rem;
    line-height:4rem;
    letter-spacing:.10em;
    font-weight:500;
  }
  .renewal-location__grid{
    width:32.5rem;
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:1.44rem;
    row-gap:2.6rem;
  }
  .renewal-activity-card{
    width:auto;
    min-width:0;
  }
  .renewal-activity-card img{
    width:100%;
    height:11.3rem;
    object-fit:cover;
    border-radius:1rem;
  }
  .renewal-activity-card h4{
    margin-top:1rem;
    min-height:1.9rem;
    font-size:1.4rem;
    line-height:1.68rem;
    letter-spacing:.10em;
  }
  .renewal-activity-card:nth-child(2) h4,
  .renewal-activity-card:nth-child(3) h4{
    letter-spacing:0;
  }
  .renewal-activity-card p{
    margin-top:.8rem;
    font-size:1.2rem;
    line-height:1.6rem;
    letter-spacing:0;
  }
}

/* SP activity text offsets match the Figma card groups. */
@media (max-width:1024px){
  .renewal-activity-card h4{margin-top:.8rem;}
  .renewal-activity-card:nth-child(1) h4{margin-top:2rem;}
  .renewal-activity-card:nth-child(2) h4{margin-top:1rem;}
  .renewal-activity-card:nth-child(5) h4,
  .renewal-activity-card:nth-child(6) h4{margin-top:1.6rem;}
  .renewal-activity-card:nth-child(1) p{margin-top:1.5rem;}
  .renewal-activity-card:nth-child(5) p,
  .renewal-activity-card:nth-child(6) p{margin-top:.7rem;}
  .renewal-activity-card:nth-child(5),
  .renewal-activity-card:nth-child(6){margin-top:-.5rem;}
}

/* ROOMS & FACILITIES — SP bottom clearance: Figma ≈ 69px. */
@media (max-width:1024px){
  .renewal-rooms{
    min-height:0;
  }
}


/* =========================================================
   FOR BUSINESS OWNERS — Figma final pass — 2026-08-31
   PC section: 1326px / SP section: 1528px
   ========================================================= */
@media (min-width:1025px){
  .renewal-business{
    min-height:132.6rem;
    padding:9.6rem 0 8.5rem;
    background:linear-gradient(180deg,#242424 0%,#000 100%);
  }
  .renewal-business .renewal-section-inner{
    width:min(112.4rem,calc(100% - 6.4rem));
  }
  .renewal-business .renewal-kicker{
    font-family:var(--font-en);
    font-size:4.2rem;
    line-height:4.6rem;
    letter-spacing:.10em;
    font-weight:400;
  }
  .renewal-business .renewal-section-title{
    margin-top:2.2rem;
    font-family:var(--font-ja);
    font-size:3.6rem;
    line-height:6.4rem;
    letter-spacing:.10em;
    font-weight:700;
  }
  .renewal-business__lead{
    margin-top:3.5rem;
    font-family:var(--font-ja);
    font-size:1.8rem;
    line-height:3.6rem;
    letter-spacing:.20em;
    font-weight:500;
  }
  .renewal-business__grid{
    margin-top:7.1rem;
    grid-template-columns:repeat(3,1fr);
    column-gap:4.6rem;
    row-gap:0;
  }
  .renewal-business-card__en{
    min-height:5rem;
    padding:.3rem 1rem;
    background:#d5b767;
    color:#3e3d35;
    font-family:var(--font-ja);
    font-size:2rem;
    line-height:4.4rem;
    letter-spacing:.10em;
    font-weight:500;
  }
  .renewal-business-card h3{
    margin-top:1.6rem;
    color:#d5b767;
    font-family:var(--font-ja);
    font-size:2.6rem;
    line-height:5rem;
    letter-spacing:.10em;
    font-weight:500;
  }
  .renewal-business-card > p:last-child{
    margin-top:1rem;
    font-family:var(--font-ja);
    font-size:1.4rem;
    line-height:2.6rem;
    letter-spacing:.10em;
    font-weight:500;
    text-align:center;
  }
  .renewal-business__discount{
    box-sizing:border-box;
    margin-top:7.3rem;
    min-height:13.4rem;
    padding:0;
    border:2px solid #d5b767;
    border-radius:1.7rem;
  }
  .renewal-business__discount strong{
    font-family:var(--font-ja);
    font-size:3.6rem;
    line-height:5rem;
    letter-spacing:.10em;
    font-weight:700;
    color:#d5b767;
  }
  .renewal-business__discount small{
    width:34.4rem;
    margin-top:.6rem;
    margin-left:9.7rem;
    align-self:flex-start;
    font-family:var(--font-ja);
    font-size:1.2rem;
    line-height:2.6rem;
    letter-spacing:.10em;
    font-weight:500;
    text-align:left;
  }
  .renewal-business__tax-note{
    margin-top:1.9rem;
    font-family:var(--font-ja);
    font-size:1.2rem;
    line-height:2.6rem;
    letter-spacing:.10em;
    font-weight:500;
  }
  .renewal-business > .renewal-cta{
    margin-top:7.5rem;
  }
  .renewal-business > .renewal-cta .renewal-cta__notice{
    margin:1.8rem 0;
    font-family:var(--font-ja);
    font-size:1.2rem;
    line-height:2.6rem;
    letter-spacing:.08em;
    font-weight:500;
  }
}

@media (max-width:1024px){
  .renewal-business{
    min-height:152.8rem;
    padding:5.1rem 0 7.1rem;
    background:linear-gradient(180deg,#242424 0%,#000 100%);
  }
  .renewal-business .renewal-section-inner{
    width:32.6rem;
    max-width:calc(100% - 4.8rem);
  }
  .renewal-business .renewal-kicker{
    font-family:var(--font-en);
    font-size:2.4rem;
    line-height:4.6rem;
    letter-spacing:.10em;
    font-weight:400;
    white-space:nowrap;
  }
  .renewal-business .renewal-section-title{
    margin-top:1.4rem;
    font-family:var(--font-ja);
    font-size:2.4rem;
    line-height:3.8rem;
    letter-spacing:.10em;
    font-weight:700;
  }
  .renewal-business__lead{
    margin-top:2rem;
    font-family:var(--font-ja);
    font-size:1.6rem;
    line-height:2.8rem;
    letter-spacing:.10em;
    font-weight:500;
  }
  .renewal-business__grid{
    margin-top:2.3rem;
    grid-template-columns:1fr;
    gap:3rem;
  }
  .renewal-business-card__en{
    min-height:5rem;
    padding:.3rem 1rem;
    background:#d5b767;
    color:#3e3d35;
    font-family:var(--font-ja);
    font-size:2rem;
    line-height:4.4rem;
    letter-spacing:.10em;
    font-weight:500;
  }
  .renewal-business-card h3{
    margin-top:1.6rem;
    color:#d5b767;
    font-family:var(--font-ja);
    font-size:2.6rem;
    line-height:5rem;
    letter-spacing:.10em;
    font-weight:500;
  }
  .renewal-business-card > p:last-child{
    margin-top:.4rem;
    font-family:var(--font-ja);
    font-size:1.6rem;
    line-height:2.4rem;
    letter-spacing:.10em;
    font-weight:500;
    text-align:center;
  }
  .renewal-business__discount{
    box-sizing:border-box;
    margin-top:4.9rem;
    min-height:17.4rem;
    padding:1.7rem 0 1.8rem;
    justify-content:flex-start;
    border:2px solid #d5b767;
    border-radius:1.7rem;
  }
  .renewal-business__discount strong{
    font-family:var(--font-ja);
    font-size:2.6rem;
    line-height:3.6rem;
    letter-spacing:.10em;
    font-weight:700;
    color:#d5b767;
  }
  .renewal-business__discount small{
    width:26.2rem;
    margin-top:.6rem;
    margin-left:2.2rem;
    align-self:flex-start;
    font-family:var(--font-ja);
    font-size:1.2rem;
    line-height:2.6rem;
    letter-spacing:.10em;
    font-weight:500;
    text-align:left;
  }
  .renewal-business__tax-note{
    width:33.1rem;
    margin-top:1.6rem;
    margin-left:-.5rem;
    font-family:var(--font-ja);
    font-size:1.2rem;
    line-height:2rem;
    letter-spacing:.10em;
    font-weight:500;
  }
  .renewal-business > .renewal-cta{
    margin-top:4.5rem;
  }
  .renewal-business > .renewal-cta .renewal-cta__notice{
    margin:.9rem 0 1rem;
    font-family:var(--font-ja);
    font-size:.9rem;
    line-height:1.6rem;
    letter-spacing:0;
    font-weight:500;
  }
}

/* =========================================================
   PROPERTY OVERVIEW — Figma sync / accordion initial closed
   Old theme's dt/dd table pattern is reused inside native details.
   ========================================================= */
.renewal-overview{
  box-sizing:border-box;
  min-height:0;
  padding:10.1rem 0 11.4rem;
  background:#e9eaea;
  color:#3e3d35;
}
.renewal-overview .renewal-section-inner--narrow{
  width:min(89.5rem,calc(100% - 6.4rem));
}
.renewal-overview .renewal-kicker{
  margin:0;
  font-family:var(--font-en);
  font-size:4.2rem;
  line-height:4.6rem;
  letter-spacing:.10em;
  font-weight:400;
  color:#3e3d35;
}
.renewal-overview__name{
  margin-top:3.2rem;
  font-family:var(--font-ja);
  font-size:2.4rem;
  line-height:4.6rem;
  letter-spacing:.10em;
  font-weight:500;
  text-align:center;
  color:#3e3d35;
}
.renewal-overview .renewal-badge{
  box-sizing:border-box;
  width:16.9rem;
  min-width:16.9rem;
  height:4.5rem;
  margin:1.1rem auto 3.2rem;
  padding:0;
  border:0;
  background:#3e3d35;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:var(--font-ja);
  font-size:2rem;
  line-height:1;
  letter-spacing:.10em;
  font-weight:500;
}
.renewal-overview__ownership-row{
  box-sizing:border-box;
  min-height:5.3rem;
  border-top:.5px solid rgba(62,61,53,.62);
  border-bottom:.5px solid rgba(62,61,53,.62);
  display:grid;
  grid-template-columns:13.6rem 2.7rem 24.9rem 7.2rem minmax(0,1fr);
  align-items:center;
  font-family:var(--font-ja);
  color:#3e3d35;
}
.renewal-overview__ownership-label{
  grid-column:1;
  font-size:1.6rem;
  line-height:2.4rem;
  letter-spacing:.12em;
  font-weight:500;
  text-align:left;
}
.renewal-overview__ownership-value{
  grid-column:3;
  font-size:1.2rem;
  line-height:2rem;
  letter-spacing:.12em;
  font-weight:500;
  text-align:right;
}
.renewal-overview__ownership-copy{
  grid-column:5;
  font-size:1.6rem;
  line-height:2.9rem;
  letter-spacing:.10em;
  font-weight:700;
  text-align:left;
  white-space:nowrap;
}
.renewal-overview .renewal-accordion--overview{
  margin-top:2.8rem;
  border-top:0;
}
.renewal-overview .renewal-overview__details{
  border-bottom:0;
  color:#3e3d35;
}
.renewal-overview .renewal-overview__details > summary{
  box-sizing:border-box;
  min-height:6rem;
  margin:0;
  padding:1.5rem 4rem 1.5rem 0;
  border-bottom:.5px solid rgba(62,61,53,.62);
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:var(--font-ja);
  font-size:1.6rem;
  line-height:2.9rem;
  letter-spacing:.10em;
  font-weight:700;
  text-align:center;
  color:#3e3d35;
}
.renewal-overview .renewal-overview__details > summary::after{
  right:0;
  top:50%;
}
.renewal-overview .renewal-overview__details dl{
  margin:0;
  padding:0;
}
.renewal-overview__panel{
  margin:0;
  padding:0;
}
.renewal-overview__rows{
  display:grid;
  grid-template-columns:41rem 41rem;
  column-gap:7.5rem;
  width:100%;
  margin:0;
}
.renewal-overview .renewal-overview__rows > .renewal-overview__row{
  box-sizing:border-box;
  min-height:4.3rem;
  margin:0;
  padding:.8rem 0 .7rem;
  border-top:0;
  border-bottom:.5px solid rgba(62,61,53,.62);
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:1.6rem;
  font-family:var(--font-ja);
  color:#3e3d35;
}
.renewal-overview__row dt{
  flex:0 0 auto;
  margin:0;
  font-family:var(--font-ja);
  font-size:1.6rem;
  line-height:2.4rem;
  letter-spacing:.12em;
  font-weight:500;
  text-align:left;
}
.renewal-overview__row dd{
  min-width:0;
  margin:0 0 .1rem;
  font-family:var(--font-ja);
  font-size:1.2rem;
  line-height:2rem;
  letter-spacing:.12em;
  font-weight:500;
  text-align:right;
}
.renewal-overview__rows--location > .renewal-overview__row:nth-child(1){grid-column:1 / 3;grid-row:1;}
.renewal-overview__rows--location > .renewal-overview__row:nth-child(2){grid-column:1;grid-row:2;}
.renewal-overview__rows--location > .renewal-overview__row:nth-child(3){grid-column:1;grid-row:3;}
.renewal-overview__rows--location > .renewal-overview__row:nth-child(4){grid-column:2;grid-row:2;}
.renewal-overview__rows--location > .renewal-overview__row:nth-child(5){grid-column:2;grid-row:3;}
.renewal-overview__row--address dd{
  flex:1 1 auto;
  letter-spacing:.05em;
  white-space:nowrap;
}
.renewal-overview__rows--plan > .renewal-overview__row:nth-child(1){grid-column:1;grid-row:1;}
.renewal-overview__rows--plan > .renewal-overview__row:nth-child(2){grid-column:2;grid-row:1;}
.renewal-overview__rows--price > .renewal-overview__row:nth-child(1){grid-column:1;grid-row:1;}
.renewal-overview__rows--price > .renewal-overview__row:nth-child(2){grid-column:1;grid-row:2;}
.renewal-overview__rows--price > .renewal-overview__row:nth-child(3){grid-column:2;grid-row:1;}
.renewal-overview__rows--other > .renewal-overview__row:nth-child(1){grid-column:1;grid-row:1;}
.renewal-overview__rows--other > .renewal-overview__row:nth-child(2){grid-column:1;grid-row:2;}
.renewal-overview__rows--other > .renewal-overview__row:nth-child(3){grid-column:1;grid-row:3;}
.renewal-overview__rows--other > .renewal-overview__row:nth-child(4){grid-column:2;grid-row:1;}
.renewal-overview__rows--other > .renewal-overview__row:nth-child(5){grid-column:2;grid-row:2;}
.renewal-overview__rows--other > .renewal-overview__row:nth-child(6){grid-column:2;grid-row:3;}
.renewal-overview__rows--other > .renewal-overview__row:nth-child(7){grid-column:1;grid-row:4;}
.renewal-overview__rows--other > .renewal-overview__row:nth-child(8){grid-column:2;grid-row:4;}

@media (max-width:1024px){
  .renewal-overview{
    min-height:0;
    padding:5.2rem 0 6.2rem;
    background:#e9eaea;
  }
  .renewal-overview .renewal-section-inner--narrow{
    width:32.6rem;
    max-width:calc(100% - 4.8rem);
  }
  .renewal-overview .renewal-kicker{
    font-size:2.4rem;
    line-height:2.8rem;
    letter-spacing:.10em;
  }
  .renewal-overview__name{
    margin-top:2.4rem;
    font-size:2.4rem;
    line-height:4.6rem;
    letter-spacing:.10em;
  }
  .renewal-overview .renewal-badge{
    width:16.9rem;
    min-width:16.9rem;
    height:4.5rem;
    margin:1.2rem auto 3.9rem;
    font-size:2rem;
    letter-spacing:.10em;
  }
  .renewal-overview__ownership-row{
    min-height:6.6rem;
    padding:.7rem 0 .8rem;
    grid-template-columns:13.4rem minmax(0,1fr);
    grid-template-rows:auto auto;
    column-gap:0;
    row-gap:.2rem;
  }
  .renewal-overview__ownership-label{
    grid-column:1;
    grid-row:1;
    font-size:1.6rem;
    line-height:1.8rem;
    letter-spacing:0;
  }
  .renewal-overview__ownership-value{
    grid-column:2;
    grid-row:1;
    font-size:1.2rem;
    line-height:1.8rem;
    letter-spacing:0;
    text-align:right;
  }
  .renewal-overview__ownership-copy{
    grid-column:1 / 3;
    grid-row:2;
    font-size:1.2rem;
    line-height:2.9rem;
    letter-spacing:.10em;
    white-space:nowrap;
  }
  .renewal-overview .renewal-accordion--overview{
    margin-top:2.8rem;
  }
  .renewal-overview .renewal-overview__details > summary{
    min-height:7rem;
    padding:.8rem 3.4rem .8rem .2rem;
    justify-content:flex-start;
    font-size:1.6rem;
    line-height:2.6rem;
    letter-spacing:.10em;
    text-align:left;
  }
  .renewal-overview .renewal-overview__details > summary::after{
    right:0;
  }
  .renewal-overview__rows{
    display:block;
    width:100%;
  }
  .renewal-overview .renewal-overview__rows > .renewal-overview__row{
    min-height:4.3rem;
    padding:.8rem 0 .7rem;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
  }
  .renewal-overview__row dt{
    font-size:1.6rem;
    line-height:2.4rem;
    letter-spacing:0;
  }
  .renewal-overview__row dd{
    margin:0;
    font-size:1.2rem;
    line-height:2rem;
    letter-spacing:.05em;
  }
  .renewal-overview .renewal-overview__rows > .renewal-overview__row--address{
    min-height:auto;
    padding:1rem 0 .9rem;
    flex-direction:column;
    align-items:flex-start;
    gap:.5rem;
  }
  .renewal-overview__row--address dd{
    width:100%;
    line-height:1.65;
    letter-spacing:.02em;
    text-align:left;
    white-space:normal;
  }
}

/* =========================================================
   PROPERTY OVERVIEW — open-state spacing above accordion titles
   Closed state remains unchanged. Figma open-state spacing only.
   ========================================================= */
@media (min-width:1025px){
  .renewal-overview .renewal-accordion--overview > .renewal-overview__details:first-child[open]{
    padding-top:.4rem;
  }
  .renewal-overview .renewal-accordion--overview > .renewal-overview__details:nth-child(n+2)[open]{
    padding-top:3.8rem;
  }
}
@media (max-width:1024px){
  .renewal-overview .renewal-accordion--overview > .renewal-overview__details:first-child[open]{
    padding-top:.2rem;
  }
  .renewal-overview .renewal-accordion--overview > .renewal-overview__details:nth-child(n+2)[open]{
    padding-top:2.4rem;
  }
}

/* =========================================================
   FAQ — Figma open/closed state alignment — 2026-09-01
   - Initial state remains all closed (HTML unchanged)
   - Open rows follow Figma Q/A positions and compact heights
   - Closed rows keep only the summary and collapse naturally
   ========================================================= */
.renewal-faq{
  min-height:0;
  padding:8.5rem 0 11.5rem;
  background:linear-gradient(180deg,#242424 0%,#000 100%);
}
.renewal-faq .renewal-kicker{
  font-size:4.2rem;
  line-height:4.6rem;
  letter-spacing:.10em;
}
.renewal-faq .renewal-section-title{
  margin-top:1.6rem;
  font-size:3.6rem;
  line-height:4.6rem;
  letter-spacing:.10em;
  font-weight:400;
}
.renewal-accordion--faq{
  margin-top:7.7rem;
}
.renewal-faq-item summary{
  min-height:0;
  padding:1.7rem 6rem 1rem 5rem;
  font-family:var(--font-ja);
  font-size:1.6rem;
  line-height:2.9rem;
  letter-spacing:.10em;
  font-weight:500;
  color:#fff;
}
.renewal-faq-item summary > span{
  left:.4rem;
  top:1.7rem;
  color:#fff;
  font-family:var(--font-en);
  font-size:2.6rem;
  line-height:3.6rem;
  letter-spacing:.05em;
  font-weight:400;
}
.renewal-faq-item summary::after{
  right:2.7rem;
  top:3.5rem;
  width:1.6rem;
  height:.7rem;
  background-image:url('../images/btn_accordion_close_light.svg');
}
.renewal-faq-item[open] summary::after{
  top:3.5rem;
  background-image:url('../images/btn_accordion_open_light.svg');
}
.renewal-faq-item__answer{
  position:relative;
  display:block;
  padding:0 6.1rem 2rem 5rem;
  font-family:var(--font-sub-serif);
  font-size:1.2rem;
  line-height:2.2rem;
  letter-spacing:.10em;
  font-weight:300;
  color:#fff;
}
.renewal-faq-item__answer > span{
  position:absolute;
  left:.4rem;
  top:-.6rem;
  color:#fff;
  font-family:var(--font-en);
  font-size:2.6rem;
  line-height:3.6rem;
  letter-spacing:.05em;
  font-weight:400;
}
.renewal-faq-item__answer p{
  margin:0;
  padding:0;
}

@media (max-width:1024px){
  .renewal-faq{
    min-height:0;
    padding:4.9rem 0 8.3rem;
    background:linear-gradient(180deg,#242424 0%,#000 100%);
  }
  .renewal-faq .renewal-kicker{
    font-size:2.4rem;
    line-height:4.6rem;
    letter-spacing:.10em;
  }
  .renewal-faq .renewal-section-title{
    margin-top:0;
    font-size:2.6rem;
    line-height:4.6rem;
    letter-spacing:.10em;
    font-weight:400;
  }
  .renewal-accordion--faq{
    margin-top:2.7rem;
  }
  .renewal-faq-item summary{
    min-height:0;
    padding:1.7rem 3.4rem 1.4rem 3.8rem;
    font-size:1.6rem;
    line-height:2.2rem;
    letter-spacing:.10em;
    font-weight:500;
  }
  .renewal-faq-item summary > span{
    left:.4rem;
    top:1.7rem;
    font-size:2rem;
    line-height:3.6rem;
    letter-spacing:.05em;
  }
  .renewal-faq-item summary::after{
    right:.9rem;
    top:3.5rem;
    width:1.4rem;
    height:.7rem;
  }
  .renewal-faq-item[open] summary::after{
    top:3.5rem;
  }
  .renewal-faq-item__answer{
    padding:0 3.7rem 2.7rem 3.8rem;
    font-size:1.2rem;
    line-height:1.8rem;
    letter-spacing:.10em;
    font-weight:300;
  }
  .renewal-faq-item__answer > span{
    left:.4rem;
    top:-.6rem;
    font-size:2rem;
    line-height:3.6rem;
    letter-spacing:.05em;
  }
}

/* =========================================================
   CONTACT FIGMA PASS — 2026-09-01
   Figma source: PC 96:1402 / SP 193:1493
   Default state: trial stay + individual selected.
   ========================================================= */
.renewal-contact {
  min-height:172.7rem;
  padding:10.5rem 0 13.3rem;
  background:#262626;
}
.renewal-contact__inner {
  width:68.4rem;
  max-width:calc(100% - 4.8rem);
  margin-inline:auto;
}
.renewal-contact .renewal-kicker {
  font-family:var(--font-en);
  font-size:4.2rem;
  line-height:4.6rem;
  letter-spacing:.10em;
  font-weight:400;
}
.renewal-contact .renewal-section-title {
  margin-top:1.6rem;
  font-family:var(--font-ja);
  font-size:3.6rem;
  line-height:4.6rem;
  letter-spacing:.10em;
  font-weight:400;
}
.renewal-contact__speed {
  margin-top:2.2rem;
  color:#fff;
  font-family:var(--font-ja);
  font-size:1.8rem;
  line-height:4.6rem;
  letter-spacing:.10em;
  font-weight:500;
}
.renewal-contact__form { margin-top:4.8rem; }

.renewal-form { color:#fff; }
.renewal-form .form-step2 { display:none; }
form.wpcf7-form.is-confirm .renewal-form .form-step1 { display:none; }
form.wpcf7-form.is-confirm .renewal-form .form-step2 { display:block; }

.renewal-form__heading {
  margin:0;
  padding:0;
  border:0;
  color:#fff;
  text-align:center;
  font-family:var(--font-ja);
  font-size:2.6rem;
  line-height:5rem;
  letter-spacing:.04em;
  font-weight:700;
}

.renewal-form__radios {
  margin:0;
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
}
.renewal-form__radios .wpcf7-form-control,
.renewal-form__radios .wpcf7-radio {
  display:flex;
  align-items:center;
  width:100%;
}
.renewal-form__radios .wpcf7-list-item { margin:0; }
.renewal-form__radios label {
  display:flex;
  align-items:center;
  height:4.6rem;
  margin:0;
  cursor:pointer;
  color:#fff;
  font-family:var(--font-ja);
  font-size:2rem;
  line-height:4.6rem;
  font-weight:500;
  white-space:nowrap;
}
.renewal-form__radios input[type="radio"] {
  appearance:none;
  -webkit-appearance:none;
  flex:0 0 2.6rem;
  width:2.6rem;
  height:2.6rem;
  margin:0;
  border:0;
  border-radius:50%;
  background:#d9d9d9;
  position:relative;
}
.renewal-form__radios input[type="radio"]:checked::after {
  content:'';
  position:absolute;
  inset:.6rem;
  border-radius:50%;
  background:#3e3d35;
}
.renewal-form__radios--request { margin-top:1rem; }
.renewal-form__radios--request .wpcf7-form-control { gap:3rem; }
.renewal-form__radios--request label { gap:1.1rem; letter-spacing:.20em; }

.renewal-form__trial { margin-top:3.8rem; }
.renewal-form__grid {
  display:grid;
  grid-template-columns:repeat(2, 33rem);
  column-gap:2.4rem;
  row-gap:3rem;
}
.renewal-form__field { margin:0; min-width:0; }
.renewal-form__label {
  display:table;
  position:relative;
  height:2.3rem;
  margin:0 0 .6rem;
  color:#fff;
  font-family:var(--font-ja);
  font-size:1.6rem;
  line-height:2.3rem;
  letter-spacing:0;
  font-weight:500;
}
.renewal-form__required {
  position:absolute;
  top:-1.6rem;
  right:-.8rem;
  color:#ff0000;
  font-family:var(--font-sub-serif);
  font-size:1.6rem;
  line-height:2.4rem;
  font-weight:400;
}
.renewal-form .wpcf7-form-control-wrap { display:block; width:100%; }
.renewal-form input[type="text"],
.renewal-form input[type="email"],
.renewal-form input[type="tel"],
.renewal-form input[type="date"],
.renewal-form input[type="number"],
.renewal-form select,
.renewal-form textarea {
  display:block;
  width:100%;
  height:3.4rem;
  min-height:3.4rem;
  margin:0;
  padding:0 1.2rem;
  border:0;
  border-radius:0;
  outline:0;
  background:#fff;
  color:#3e3d35;
  font-family:var(--font-sub-serif);
  font-size:1.4rem;
  line-height:2rem;
  letter-spacing:0;
  font-weight:400;
  box-shadow:none;
}
.renewal-form input[type="number"]::-webkit-inner-spin-button,
.renewal-form input[type="number"]::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
.renewal-form input[type="number"] { -moz-appearance:textfield; }
.renewal-form input::placeholder,
.renewal-form textarea::placeholder { color:#a8a8a8; opacity:1; }
.renewal-form select {
  appearance:none;
  -webkit-appearance:none;
  padding-right:4rem;
  background:#fff;
}
.renewal-form__field--select { position:relative; }
.renewal-form__field--select::before,
.renewal-form__field--select::after {
  content:'';
  position:absolute;
  z-index:2;
  bottom:1.65rem;
  width:1.05rem;
  border-top:1px solid #3e3d35;
  pointer-events:none;
}
.renewal-form__field--select::before { right:2.15rem; transform:rotate(38deg); }
.renewal-form__field--select::after { right:1.35rem; transform:rotate(-38deg); }

.renewal-form__trial-note {
  width:100%;
  margin:1.8rem 0 0;
  color:#fff;
  font-family:var(--font-ja);
  font-size:1.2rem;
  line-height:1.8rem;
  letter-spacing:.10em;
  font-weight:500;
}

.renewal-form__heading--customer { margin-top:6.2rem; }
.renewal-form__customer-fields { margin-top:.4rem; }
.renewal-form__customer-fields .renewal-form__field:nth-child(1) { margin-bottom:2.8rem; }
.renewal-form__customer-fields .renewal-form__field:nth-child(2) { margin-bottom:2.4rem; }
.renewal-form__customer-fields .renewal-form__field:nth-child(3) { margin-bottom:3.5rem; }
.renewal-form__customer-fields .renewal-form__field--message .renewal-form__label { margin-bottom:.7rem; }
.renewal-form textarea {
  height:19.2rem;
  min-height:19.2rem;
  padding-top:.7rem;
  padding-bottom:.7rem;
  resize:none;
}

.renewal-form__heading--lead { margin-top:6.2rem; }
.renewal-form__radios--lead {
  width:37.3rem;
  margin:0 auto;
}
.renewal-form__radios--lead .wpcf7-form-control {
  justify-content:flex-start;
  gap:4.5rem;
}
.renewal-form__radios--lead .wpcf7-list-item {
  flex:0 0 16.4rem;
  width:16.4rem;
}
.renewal-form__radios--lead label { gap:2.2rem; letter-spacing:.20em; }

.renewal-form__error,
#form-error-message {
  min-height:0;
  margin:0;
  color:#ff6c6c;
  text-align:center;
  font-family:var(--font-sub-sans);
  font-size:1.3rem;
  line-height:1.8;
}
.renewal-form__error:not(:empty),
#form-error-message:not(:empty) { margin:1.5rem 0 0; }
.renewal-form .wpcf7-not-valid-tip {
  margin:.3rem 0 0;
  color:#ff6c6c;
  font-family:var(--font-sub-sans);
  font-size:1.15rem;
  line-height:1.5;
}
.renewal-form .wpcf7-response-output {
  font-family:var(--font-sub-sans);
  font-size:1.2rem;
}

.renewal-form__buttons { margin-top:5rem; text-align:center; }
.renewal-form .btn-to-confirm {
  position:relative;
  display:flex;
  align-items:center;
  width:37.9rem;
  height:8.9rem;
  min-height:8.9rem;
  margin:0 auto;
  padding:0 0 0 8.3rem !important;
  border:1px solid #b99639 !important;
  border-radius:4.45rem !important;
  background-color:#d5b767 !important;
  background-image:conic-gradient(from 77deg at 50% 50%, #6a400c 0%, #745323 32.2115%, #e39b00 65.8654%, #774303 100%) !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:100% 100% !important;
  color:#fff !important;
  text-shadow:none !important;
  text-align:left;
  font-family:var(--font-ja);
  font-size:3.2rem;
  line-height:3.4rem;
  letter-spacing:.15em;
  font-weight:700;
  cursor:pointer;
}
.renewal-form .btn-to-confirm::after {
  content:'';
  position:absolute;
  left:28.9rem;
  top:50%;
  width:3.8rem;
  border-top:1px solid #fff;
}
.renewal-form .btn-to-confirm::before {
  content:'';
  position:absolute;
  left:31.8rem;
  top:calc(50% - .35rem);
  width:1rem;
  border-top:1px solid #fff;
  transform:rotate(32deg);
  transform-origin:right center;
}

/* Confirmation step keeps the legacy two-step behavior. */
.renewal-form__confirm-row {
  display:grid;
  grid-template-columns:18rem 1fr;
  gap:2rem;
  padding:1.5rem 0;
  border-bottom:1px solid rgba(255,255,255,.25);
}
.renewal-form__confirm-label { color:var(--renewal-gold); }
.confirmation-value { white-space:pre-wrap; word-break:break-word; }

@media (max-width:1024px) {
  .renewal-contact {
    min-height:161rem;
    padding:5rem 0 9.1rem;
  }
  .renewal-contact__inner {
    width:32.6rem;
    max-width:calc(100% - 4.8rem);
  }
  .renewal-contact .renewal-kicker {
    font-size:2.4rem;
    line-height:4.6rem;
    letter-spacing:.10em;
  }
  .renewal-contact .renewal-section-title {
    margin-top:1.6rem;
    font-size:2.6rem;
    line-height:3.6rem;
    letter-spacing:.10em;
  }
  .renewal-contact__speed {
    margin-top:.7rem;
    font-size:1.8rem;
    line-height:4.6rem;
    letter-spacing:.10em;
  }
  .renewal-contact__form { margin-top:2.7rem; }

  .renewal-form__heading {
    font-size:2.6rem;
    line-height:5rem;
    letter-spacing:.04em;
  }
  .renewal-form__radios--request {
    margin-top:.8rem;
    display:block;
  }
  .renewal-form__radios--request .wpcf7-form-control {
    display:block;
  }
  .renewal-form__radios--request .wpcf7-list-item {
    display:block;
    height:4.6rem;
  }
  .renewal-form__radios--request label {
    gap:1.3rem;
    font-size:2rem;
    line-height:4.6rem;
    letter-spacing:.10em;
  }

  .renewal-form__trial { margin-top:3.4rem; }
  .renewal-form__grid {
    width:33.2rem;
    margin-left:-.2rem;
    grid-template-columns:repeat(2, 16rem);
    column-gap:1.2rem;
    row-gap:3.2rem;
  }
  .renewal-form__label {
    height:2.3rem;
    margin-bottom:.6rem;
    font-size:1.6rem;
    line-height:2.3rem;
  }
  .renewal-form input[type="text"],
  .renewal-form input[type="email"],
  .renewal-form input[type="tel"],
  .renewal-form input[type="date"],
  .renewal-form input[type="number"],
  .renewal-form select,
  .renewal-form textarea {
    height:3.4rem;
    min-height:3.4rem;
    font-size:1.4rem;
    line-height:2rem;
  }
  .renewal-form__trial-note {
    width:33.2rem;
    margin-top:1.8rem;
    margin-left:-.35rem;
    font-size:1.2rem;
    line-height:1.8rem;
    letter-spacing:.10em;
  }

  .renewal-form__heading--customer { margin-top:3.6rem; }
  .renewal-form__customer-fields { margin-top:2.4rem; }
  .renewal-form textarea {
    height:19.2rem;
    min-height:19.2rem;
  }

  .renewal-form__heading--lead { margin-top:3.4rem; }
  .renewal-form__radios--lead {
    width:31.6rem;
    margin:1rem 0 0;
  }
  .renewal-form__radios--lead .wpcf7-form-control {
    display:flex;
    justify-content:flex-start;
    gap:3.2rem;
  }
  .renewal-form__radios--lead .wpcf7-list-item {
    flex:0 0 14.2rem;
    width:14.2rem;
  }
  .renewal-form__radios--lead label {
    gap:.8rem;
    font-size:2rem;
    line-height:4.6rem;
    letter-spacing:.10em;
  }

  .renewal-form__buttons { margin-top:3rem; }
  .renewal-form .btn-to-confirm {
    width:26.7rem;
    height:6.3rem;
    min-height:6.3rem;
    padding-left:4.5rem !important;
    border-radius:3.15rem !important;
    background-image:conic-gradient(from 77deg at 50% 50%, #6a400c 0%, #745323 32.2115%, #e39b00 65.8654%, #774303 100%) !important;
    font-size:2.4rem;
    line-height:3.4rem;
    letter-spacing:.15em;
  }
  .renewal-form .btn-to-confirm::after {
    left:20.3rem;
    width:2.8rem;
  }
  .renewal-form .btn-to-confirm::before {
    left:22.3rem;
    top:calc(50% - .3rem);
    width:.8rem;
  }

  .renewal-form__confirm-row { grid-template-columns:1fr; gap:.5rem; }
  .renewal-form .btn-back { margin:0 0 1.5rem; width:100%; }
}


/* =========================================================
   CONTACT CONDITIONAL SPEC — corporate fields / 2026-09-01
   Spec source: user-provided implementation notes.
   Baseline CONTACT geometry remains the measured Figma pass above.
   ========================================================= */
.renewal-form__corporate {
  margin-top:2.8rem;
}
.renewal-form__corporate-grid {
  display:grid;
  grid-template-columns:repeat(2, 33rem);
  column-gap:2.4rem;
}
.renewal-form__corporate-uses {
  margin-top:1.6rem;
}
.renewal-form__corporate-uses .renewal-form__label {
  margin-bottom:.5rem;
}
.renewal-form__checks,
.renewal-form__checks .wpcf7-form-control {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.5rem 2.1rem;
  margin:0;
}
.renewal-form__checks .wpcf7-list-item {
  margin:0;
}
.renewal-form__checks label {
  display:flex;
  align-items:center;
  gap:.7rem;
  margin:0;
  color:#fff;
  font-family:var(--font-ja);
  font-size:1.2rem;
  line-height:2rem;
  letter-spacing:0;
  font-weight:500;
  white-space:nowrap;
  cursor:pointer;
}
.renewal-form__checks input[type="checkbox"] {
  appearance:none;
  -webkit-appearance:none;
  flex:0 0 1.4rem;
  width:1.4rem;
  height:1.4rem;
  margin:0;
  border:0;
  border-radius:0;
  background:#fff;
  position:relative;
}
.renewal-form__checks input[type="checkbox"]:checked::after {
  content:'';
  position:absolute;
  left:.25rem;
  top:.05rem;
  width:.65rem;
  height:1rem;
  border-right:2px solid #3e3d35;
  border-bottom:2px solid #3e3d35;
  transform:rotate(42deg);
}

@media (max-width:1024px) {
  .renewal-form__corporate {
    width:33.2rem;
    margin-top:2.5rem;
    margin-left:-.2rem;
  }
  .renewal-form__corporate-grid {
    grid-template-columns:repeat(2, 16rem);
    column-gap:1.2rem;
  }
  .renewal-form__corporate-uses {
    margin-top:1.5rem;
  }
  .renewal-form__checks,
  .renewal-form__checks .wpcf7-form-control {
    display:flex;
    gap:.4rem 1.4rem;
  }
  .renewal-form__checks .wpcf7-list-item {
    display:block;
    margin:0;
  }
  .renewal-form__checks label {
    gap:.55rem;
    font-size:1.1rem;
    line-height:1.9rem;
  }
}

/* =========================================================
   CONTACT FIGMA button asset fix — 2026-09-01
   Figma: PC Group 324 (96:1962) / SP Group 324 (193:770)
   Keep live HTML text for exact typography; SVG supplies the angular
   gold fill, border and arrow so the button does not disappear in-browser.
   ========================================================= */
.renewal-form .form-step1 .renewal-form__buttons .btn-to-confirm {
  display:flex !important;
  width:37.9rem !important;
  height:8.9rem !important;
  min-height:8.9rem !important;
  margin:0 auto !important;
  padding:0 0 0 8.3rem !important;
  border:0 !important;
  border-radius:0 !important;
  background-color:transparent !important;
  background-image:url('../images/btn_form_confirm_pc.svg') !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:100% 100% !important;
  color:#fff !important;
  font-family:var(--font-ja) !important;
  font-size:3.2rem !important;
  line-height:3.4rem !important;
  letter-spacing:.15em !important;
  font-weight:700 !important;
  text-align:left !important;
}
.renewal-form .form-step1 .renewal-form__buttons .btn-to-confirm::before,
.renewal-form .form-step1 .renewal-form__buttons .btn-to-confirm::after {
  content:none !important;
  display:none !important;
}

@media (max-width:1024px) {
  .renewal-form .form-step1 .renewal-form__buttons .btn-to-confirm {
    width:26.7rem !important;
    height:6.3rem !important;
    min-height:6.3rem !important;
    padding-left:4.5rem !important;
    background-image:url('../images/btn_form_confirm_sp.svg') !important;
    font-size:2.4rem !important;
    line-height:3.4rem !important;
    letter-spacing:.15em !important;
  }
}

/* =========================================================
   CONTACT SP REAL-DEVICE SAFETY FIX — 2026-09-01
   - Prevent duplicate confirm-button text over Figma SVG asset.
   - Keep iOS Safari date controls inside the measured Figma columns.
   Figma SP grid: 160px + 12px + 160px = 332px.
   ========================================================= */
.renewal-form .form-step1 .renewal-form__buttons .btn-to-confirm {
  /* The Figma SVG already contains the visible label and arrow.
     Keep the HTML text as the accessible name, but do not paint it twice. */
  color:transparent !important;
  font-size:0 !important;
  line-height:0 !important;
  letter-spacing:0 !important;
  text-shadow:none !important;
  overflow:hidden;
}

@media (max-width:1024px) {
  .renewal-form__grid {
    /* minmax(0, ...) prevents form controls with intrinsic widths
       (notably iOS Safari input[type=date]) from expanding the grid track. */
    grid-template-columns:minmax(0, 16rem) minmax(0, 16rem);
  }

  .renewal-form__grid > .renewal-form__field,
  .renewal-form__grid > .renewal-form__field .wpcf7-form-control-wrap {
    min-width:0;
    max-width:100%;
  }

  .renewal-form input[type="date"] {
    display:block;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    box-sizing:border-box !important;
    -webkit-box-sizing:border-box !important;
    /* iOS Safari can preserve an intrinsic native date-field width unless
       appearance is normalized. Tapping still invokes the native date picker. */
    -webkit-appearance:none;
    appearance:none;
    overflow:hidden;
  }

  .renewal-form input[type="date"]::-webkit-date-and-time-value {
    min-width:0;
    width:100%;
    margin:0;
    text-align:left;
  }
}

/* =========================================================
   CONTACT CONFIRM STEP BUTTON LAYOUT FIX — 2026-09-01
   - Step2 buttons were inheriting mixed legacy/mobile rules.
   - Normalize the confirmation-step actions to match the intended
     button sizes and clean alignment on both PC and SP.
   ========================================================= */
.renewal-form .form-step2 .renewal-form__buttons {
  display:flex;
  justify-content:center;
  align-items:center;
  gap:2rem;
}

.renewal-form .form-step2 .btn-back {
  display:block;
  flex:0 0 auto;
  width:18rem !important;
  height:5.8rem !important;
  min-width:18rem !important;
  min-height:5.8rem !important;
  margin:0 !important;
}

.renewal-form .form-step2 .submit-btn-wrapper {
  display:block;
  flex:0 0 auto;
  width:37.9rem;
}

.renewal-form .form-step2 .submit-btn-wrapper .wpcf7-submit {
  display:block;
  width:37.9rem !important;
  height:8.9rem !important;
  min-height:8.9rem !important;
  margin:0 auto !important;
}

@media (max-width:1024px) {
  .renewal-form .form-step2 .renewal-form__buttons {
    flex-direction:column;
    gap:1.8rem;
  }

  .renewal-form .form-step2 .btn-back {
    width:16rem !important;
    height:5.2rem !important;
    min-width:16rem !important;
    min-height:5.2rem !important;
    margin:0 auto !important;
  }

  .renewal-form .form-step2 .submit-btn-wrapper {
    width:26.7rem;
  }

  .renewal-form .form-step2 .submit-btn-wrapper .wpcf7-submit {
    width:26.7rem !important;
    height:6.3rem !important;
    min-height:6.3rem !important;
  }
}

/* =========================================================
   CONTACT CONFIRM STEP REAL-DEVICE COMPAT FIX — 2026-09-01
   1) Do not depend on flex-gap for vertical button spacing. Older iOS Safari
      can ignore flexbox gap entirely. Use an explicit wrapper margin instead.
   2) CF7 response-output is generated outside .renewal-form. Hide the empty /
      pre-submit response box so the default blue CF7 border never appears.
   ========================================================= */
form.wpcf7-form.is-confirm .wpcf7-response-output,
form.wpcf7-form.init .wpcf7-response-output:empty,
form.wpcf7-form .wpcf7-response-output:empty {
  display:none !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  min-height:0 !important;
}

@media (max-width:1024px) {
  /* Safari compatibility: use margin, not flex gap, for the visible separation. */
  form.wpcf7-form .renewal-form .form-step2 .renewal-form__buttons--confirm {
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:0 !important;
    row-gap:0 !important;
  }

  form.wpcf7-form .renewal-form .form-step2 .renewal-form__buttons--confirm > .btn-back {
    width:16rem !important;
    height:5.2rem !important;
    min-width:16rem !important;
    min-height:5.2rem !important;
    margin:0 auto !important;
  }

  form.wpcf7-form .renewal-form .form-step2 .renewal-form__buttons--confirm > .submit-btn-wrapper {
    position:relative !important;
    display:block !important;
    width:26.7rem !important;
    max-width:26.7rem !important;
    margin:2.4rem auto 0 !important;
    padding:0 !important;
  }

  form.wpcf7-form .renewal-form .form-step2 .renewal-form__buttons--confirm > .submit-btn-wrapper > .wpcf7-submit {
    display:block !important;
    width:26.7rem !important;
    max-width:26.7rem !important;
    height:6.3rem !important;
    min-height:6.3rem !important;
    margin:0 !important;
    padding:0 !important;
  }
}

/* =========================================================
   CONTACT STEP2 DEFINITIVE SP FIX — 2026-09-01
   CF7 may insert intermediary markup, therefore these rules intentionally
   do not rely on direct-child selectors.
   ========================================================= */
@media (max-width:1024px) {
  /* Prevent any renewal-LP child from creating a page-level horizontal scroller.
     `hidden` is kept as the iOS Safari fallback; modern browsers may use clip. */
  html,
  body {
    max-width:100%;
    overflow-x:hidden;
  }
  .renewal-page {
    width:100%;
    max-width:100%;
    overflow-x:hidden;
  }

  /* CF7 wrappers must never establish an intrinsic width wider than viewport. */
  .renewal-contact .wpcf7,
  .renewal-contact form.wpcf7-form,
  .renewal-contact .renewal-form,
  .renewal-contact .form-step1,
  .renewal-contact .form-step2 {
    width:100%;
    max-width:100%;
    min-width:0;
    box-sizing:border-box;
  }

  /* Do not use flex-gap or DOM-child assumptions here.
     The wrapper itself always exists because it is written in the CF7 form. */
  form.wpcf7-form .renewal-form .form-step2 .renewal-form__buttons--confirm {
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:flex-start !important;
    width:100% !important;
    max-width:100% !important;
    gap:0 !important;
    row-gap:0 !important;
    overflow:visible !important;
  }

  form.wpcf7-form .renewal-form .form-step2 .btn-back {
    display:block !important;
    width:16rem !important;
    max-width:16rem !important;
    min-width:16rem !important;
    height:5.2rem !important;
    min-height:5.2rem !important;
    margin:0 auto !important;
    padding:0 !important;
    flex:none !important;
  }

  form.wpcf7-form .renewal-form .form-step2 .submit-btn-wrapper {
    position:relative !important;
    display:block !important;
    width:26.7rem !important;
    max-width:26.7rem !important;
    min-width:0 !important;
    margin:2.4rem auto 0 !important;
    padding:0 !important;
    flex:none !important;
    box-sizing:border-box !important;
  }

  form.wpcf7-form .renewal-form .form-step2 .submit-btn-wrapper .wpcf7-submit {
    display:block !important;
    width:26.7rem !important;
    max-width:26.7rem !important;
    height:6.3rem !important;
    min-height:6.3rem !important;
    margin:0 !important;
    padding:0 !important;
    box-sizing:border-box !important;
  }

  /* Spinner must not change the layout width. */
  form.wpcf7-form .renewal-form .form-step2 .submit-btn-wrapper .wpcf7-spinner {
    position:absolute !important;
    left:50% !important;
    right:auto !important;
    top:calc(100% + .8rem) !important;
    transform:translateX(-50%) !important;
    margin:0 !important;
  }

  /* Known measured SP form blocks are slightly wider than the 326px customer
     field column, but remain inside the 375px Figma viewport. Keep them bounded
     to the actual viewport so fluid-rem scaling cannot create horizontal scroll. */
  .renewal-form__grid,
  .renewal-form__trial-note,
  .renewal-form__corporate,
  .renewal-form__corporate-grid {
    max-width:calc(100vw - 4.2rem) !important;
    box-sizing:border-box !important;
  }
}

/* =========================================================
   CONTACT iOS FOCUS / SCROLL + REVEAL RESPONSIVENESS FIX — 2026-09-01
   - Revert page-level overflow locking: on iOS it can make vertical scrolling
     feel sticky because the root scrolling element changes behavior.
   - Prevent Safari auto-zoom after focusing form controls (<16px text).
   - Constrain date/number controls themselves instead of clipping the page.
   - CONTACT is a CTA destination, so it must be immediately visible.
   ========================================================= */
@media (max-width:1024px) {
  html,
  body,
  .renewal-page {
    max-width:none !important;
    overflow-x:visible !important;
  }

  .renewal-contact .wpcf7-form-control-wrap,
  .renewal-form__grid > .renewal-form__field,
  .renewal-form__grid > .renewal-form__field .wpcf7-form-control-wrap {
    display:block;
    width:100%;
    min-width:0 !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }

  .renewal-form input[type="date"],
  .renewal-form input[type="number"] {
    display:block;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    box-sizing:border-box !important;
    -webkit-box-sizing:border-box !important;
    overflow:hidden;
  }

  .renewal-form input[type="number"] {
    -webkit-appearance:none;
    appearance:textfield;
  }

  .renewal-form input[type="number"]::-webkit-inner-spin-button,
  .renewal-form input[type="number"]::-webkit-outer-spin-button {
    margin:0;
    -webkit-appearance:none;
  }
}

/* iPhone/iPad Safari zooms the viewport when a focused control is below 16px.
   Keep the initial placeholder appearance close to Figma while ensuring the
   actual control font is 16px on WebKit touch devices. */
@supports (-webkit-touch-callout: none) {
  @media (max-width:1024px) {
    .renewal-form input[type="text"],
    .renewal-form input[type="email"],
    .renewal-form input[type="tel"],
    .renewal-form input[type="date"],
    .renewal-form input[type="number"],
    .renewal-form select,
    .renewal-form textarea {
      font-size:16px !important;
    }

    .renewal-form input::placeholder,
    .renewal-form textarea::placeholder {
      font-size:14px;
    }
  }
}

/* CTA destination must never wait for ScrollReveal after a long jump. */
.renewal-contact .anim {
  visibility:visible !important;
  opacity:1 !important;
  transform:none !important;
  transition:none !important;
}

/* =========================================================
   CONTACT CF7 SUBMIT FEEDBACK FIX — 2026-09-01
   The previous blue-border fix hid every CF7 response while Step2 was open,
   which made mail/REST failures look like an unresponsive submit button.
   Keep the response borderless, but show non-success errors and provide a
   dedicated status line immediately below the Step2 action buttons.
   ========================================================= */
.renewal-form__submit-status {
  min-height:0;
  margin:1.8rem 0 0;
  text-align:center;
  font-family:var(--font-ja);
  font-size:1.4rem;
  line-height:1.8;
  letter-spacing:.05em;
  color:#fff;
}
.renewal-form__submit-status:empty { display:none; }
.renewal-form__submit-status.is-error { color:#ff8a8a; }
.renewal-form__submit-status.is-success { color:#fff; }
.renewal-form__submit-status.is-sending { color:#d5b767; }

/* Never bring back CF7's default blue bordered box. */
form.wpcf7-form .wpcf7-response-output {
  margin:1.5rem 0 0 !important;
  padding:0 !important;
  border:0 !important;
  min-height:0 !important;
  text-align:center;
  color:#ff8a8a;
  font-family:var(--font-ja);
  font-size:1.3rem;
  line-height:1.8;
}

/* Override the earlier blanket `is-confirm { display:none }` only when CF7
   has a real error/status to communicate. */
form.wpcf7-form.is-confirm.invalid .wpcf7-response-output,
form.wpcf7-form.is-confirm.unaccepted .wpcf7-response-output,
form.wpcf7-form.is-confirm.spam .wpcf7-response-output,
form.wpcf7-form.is-confirm.failed .wpcf7-response-output,
form.wpcf7-form.is-confirm.aborted .wpcf7-response-output {
  display:block !important;
}

@media (max-width:1024px) {
  .renewal-form__submit-status {
    width:100%;
    margin-top:1.6rem;
    font-size:1.3rem;
  }
}

/* =========================================================
   CONTACT CF7 SINGLE ERROR MESSAGE — 2026-09-01
   The renewal form has its own aria-live submit status. Hide CF7's separate
   response output completely so mail_failed/spam/etc. are never duplicated.
   Inline .wpcf7-not-valid-tip messages remain available for field errors.
   ========================================================= */
.wpcf7 form .wpcf7-response-output,
form.wpcf7-form .wpcf7-response-output,
form.wpcf7-form.is-confirm .wpcf7-response-output,
form.wpcf7-form.invalid .wpcf7-response-output,
form.wpcf7-form.failed .wpcf7-response-output,
form.wpcf7-form.spam .wpcf7-response-output,
form.wpcf7-form.aborted .wpcf7-response-output,
form.wpcf7-form.sent .wpcf7-response-output {
  display:none !important;
}

/* =========================================================
   CONTACT STEP2 PC ACTION BUTTON DEFINITIVE LAYOUT — 2026-09-01
   Legacy contact.css still contains !important rules for CF7 wrappers.
   On desktop, force the renewal confirmation actions into the intended
   single-row geometry: 180px back + 20px gap + 379px submit = 579px.
   SP rules are intentionally untouched.
   ========================================================= */
@media (min-width:1025px) {
  form.wpcf7-form .renewal-form .form-step2 .renewal-form__buttons--confirm,
  form.wpcf7-form .renewal-form .form-step2 .renewal-form__buttons {
    display:grid !important;
    grid-template-columns:18rem 37.9rem !important;
    grid-template-rows:8.9rem !important;
    column-gap:2rem !important;
    row-gap:0 !important;
    align-items:center !important;
    justify-content:center !important;
    width:57.9rem !important;
    max-width:100% !important;
    margin:5rem auto 0 !important;
    padding:0 !important;
    text-align:center !important;
    box-sizing:border-box !important;
  }

  form.wpcf7-form .renewal-form .form-step2 .btn-back {
    grid-column:1 !important;
    grid-row:1 !important;
    display:block !important;
    width:18rem !important;
    min-width:18rem !important;
    max-width:18rem !important;
    height:5.8rem !important;
    min-height:5.8rem !important;
    max-height:5.8rem !important;
    margin:0 !important;
    padding:0 !important;
    align-self:center !important;
    justify-self:start !important;
    box-sizing:border-box !important;
  }

  form.wpcf7-form .renewal-form .form-step2 .submit-btn-wrapper {
    grid-column:2 !important;
    grid-row:1 !important;
    position:relative !important;
    display:block !important;
    width:37.9rem !important;
    min-width:37.9rem !important;
    max-width:37.9rem !important;
    height:8.9rem !important;
    min-height:8.9rem !important;
    margin:0 !important;
    padding:0 !important;
    align-self:center !important;
    justify-self:start !important;
    box-sizing:border-box !important;
  }

  form.wpcf7-form .renewal-form .form-step2 .submit-btn-wrapper .wpcf7-submit {
    display:block !important;
    width:37.9rem !important;
    min-width:37.9rem !important;
    max-width:37.9rem !important;
    height:8.9rem !important;
    min-height:8.9rem !important;
    max-height:8.9rem !important;
    margin:0 !important;
    padding:0 !important;
    box-sizing:border-box !important;
  }

  form.wpcf7-form .renewal-form .form-step2 .submit-btn-wrapper .wpcf7-spinner {
    position:absolute !important;
    left:50% !important;
    right:auto !important;
    top:calc(100% + .8rem) !important;
    transform:translateX(-50%) !important;
    margin:0 !important;
  }
}

/* =========================================================
   CONTACT STEP2 PC ACTIONS — REAL CF7 DOM FIX / 2026-09-01
   CF7 can inject <p> wrappers around controls. Make those wrappers layout-
   transparent, then force both possible action containers into one row.
   ========================================================= */
@media (min-width:1025px) {
  .renewal-form .form-step2 .renewal-form__buttons--confirm,
  .renewal-form .form-step2 .renewal-form__buttons,
  .renewal-form .form-step2 .contact__cta {
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    justify-content:center !important;
    gap:2rem !important;
    width:57.9rem !important;
    max-width:100% !important;
    margin:5rem auto 0 !important;
    padding:0 !important;
    box-sizing:border-box !important;
  }

  /* Contact Form 7's wpautop may insert one or more paragraph wrappers.
     `display:contents` lets the actual back/submit controls participate in
     the flex row instead of stacking inside those paragraphs. */
  .renewal-form .form-step2 .renewal-form__buttons--confirm > p,
  .renewal-form .form-step2 .renewal-form__buttons > p,
  .renewal-form .form-step2 .contact__cta > p {
    display:contents !important;
    margin:0 !important;
    padding:0 !important;
  }

  .renewal-form .form-step2 .btn-back {
    flex:0 0 18rem !important;
    width:18rem !important;
    min-width:18rem !important;
    max-width:18rem !important;
    height:5.8rem !important;
    min-height:5.8rem !important;
    max-height:5.8rem !important;
    margin:0 !important;
    padding:0 !important;
    box-sizing:border-box !important;
  }

  .renewal-form .form-step2 .submit-btn-wrapper {
    position:relative !important;
    display:block !important;
    flex:0 0 37.9rem !important;
    width:37.9rem !important;
    min-width:37.9rem !important;
    max-width:37.9rem !important;
    height:8.9rem !important;
    min-height:8.9rem !important;
    max-height:8.9rem !important;
    margin:0 !important;
    padding:0 !important;
    box-sizing:border-box !important;
  }

  .renewal-form .form-step2 .submit-btn-wrapper .wpcf7-submit,
  .renewal-form .form-step2 .wpcf7-submit.contact__submit {
    display:block !important;
    width:37.9rem !important;
    min-width:37.9rem !important;
    max-width:37.9rem !important;
    height:8.9rem !important;
    min-height:8.9rem !important;
    max-height:8.9rem !important;
    margin:0 !important;
    padding:0 !important;
    box-sizing:border-box !important;
  }
}

/* CF7 response output is a sibling of <form>, not a descendant of it.
   Hide the stock response here so the renewal aria-live status is the only
   message shown. This also removes the duplicate mail-failed line. */
.wpcf7 > .wpcf7-response-output,
.wpcf7 .wpcf7-response-output {
  display:none !important;
  border:0 !important;
  margin:0 !important;
  padding:0 !important;
}


/* 2026-09-11 production final corrections */
.renewal-overview .renewal-overview__details > summary::after,
.renewal-overview .renewal-overview__details[open] > summary::after {
  transform: rotate(180deg) !important;
}
.renewal-architect__badges { display:none !important; }


/* Rooms & Facilities lightbox */
.renewal-experience__card[data-celevi-lightbox]{cursor:zoom-in}
.renewal-experience__card[data-celevi-lightbox]:focus-visible{outline:2px solid #d9b856;outline-offset:-2px}
.celevi-lightbox{position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(0,0,0,.92);opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}
.celevi-lightbox.is-open{opacity:1;visibility:visible}
.celevi-lightbox__dialog{position:relative;display:flex;align-items:center;justify-content:center;max-width:100%;max-height:100%}
.celevi-lightbox__image{display:block;width:auto;height:auto;max-width:min(94vw,1800px);max-height:90vh;object-fit:contain;box-shadow:0 12px 44px rgba(0,0,0,.45)}
.celevi-lightbox__close{position:fixed;top:18px;right:22px;z-index:2;width:48px;height:48px;padding:0;border:0;background:transparent;color:#fff;font:300 46px/1 Arial,sans-serif;cursor:pointer;text-shadow:0 1px 4px #000}
body.celevi-lightbox-open{overflow:hidden!important}
@media(max-width:1024px){.celevi-lightbox{padding:12px}.celevi-lightbox__image{max-width:96vw;max-height:86vh}.celevi-lightbox__close{top:8px;right:8px;width:44px;height:44px;font-size:42px}}

/* =========================================================
   2026-09-11 SP follow-up
   - ARCHITECT: remove the fixed badge reservation after medal removal
   - FAQ: vertically center the Q label and accordion arrow in each row
   ========================================================= */
@media (max-width:1024px){
  .renewal-architect{
    min-height:0;
    padding-bottom:6rem;
  }
  .renewal-architect__content{
    position:relative;
    height:auto;
    min-height:0;
  }
  .renewal-architect__name{
    position:relative;
  }
  .renewal-architect__body{
    position:relative;
    top:auto;
    left:auto;
    width:100%;
    height:auto;
    margin-top:1.8rem;
  }
  .renewal-architect__visual{
    margin-top:4rem;
  }

  .renewal-faq-item summary > span{
    top:50%;
    transform:translateY(-50%);
  }
  .renewal-faq-item summary::after,
  .renewal-faq-item[open] summary::after{
    top:50%;
    transform:translateY(-50%) !important;
  }
}

/* =========================================================
   2026-09-11 FAQ Q / arrow vertical alignment (PC + SP)
   Keep the left Q label and right accordion icon vertically
   centered within each summary row, including multi-line rows.
   ========================================================= */
.renewal-faq-item summary > span{
  top:50% !important;
  transform:translateY(-50%) !important;
}
.renewal-faq-item summary::after,
.renewal-faq-item[open] summary::after{
  top:50% !important;
  transform:translateY(-50%) !important;
}

/* =========================================================
   2026-09-11 FAQ optical alignment — PC only
   Move the left Q label and right accordion icon slightly up
   relative to the question text. SP/tablet stays unchanged.
   ========================================================= */
@media (min-width:1025px){
  .renewal-faq-item summary > span{
    top:calc(50% - .3rem) !important;
    transform:translateY(-50%) !important;
  }
  .renewal-faq-item summary::after,
  .renewal-faq-item[open] summary::after{
    top:calc(50% - .3rem) !important;
    transform:translateY(-50%) !important;
  }
}

/* =========================================================
   2026-10-13 PROMOTION / document CTA update
   - Add click-to-play promotion movie below FV
   - Unify all in-page document CTA backgrounds to Figma gray
   ========================================================= */
:root {
  --renewal-document-cta: #585858;
  --renewal-document-cta-hover: #666;
}

.renewal-promotion {
  padding: 8.6rem 0 9.6rem;
  background: #050505;
  color: #fff;
}

.renewal-promotion__inner {
  width: min(81.6rem, calc(100% - 6.4rem));
  margin-inline: auto;
}

.renewal-promotion .renewal-kicker {
  font-size: 4.2rem;
  line-height: 1.1;
}

.renewal-promotion__title {
  margin-top: 1.4rem;
  text-align: center;
  font-family: var(--font-ja);
  font-size: 2.6rem;
  line-height: 4.6rem;
  letter-spacing: .20em;
  font-weight: 500;
  color: #fff;
}

.renewal-promotion__media {
  position: relative;
  width: 100%;
  aspect-ratio: 8 / 5;
  margin: 3.2rem auto 0;
  overflow: hidden;
  background: #111;
}

.renewal-promotion__video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  background: #000;
}

.renewal-page .renewal-promotion__play {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 2;
  width: 7.2rem;
  height: 7.2rem;
  padding: 0;
  transform: translate(-50%, -50%);
  border: 0;
  border-radius: 50%;
  background: rgba(72, 72, 72, .92);
  box-shadow: 0 0 0 1px rgba(255,255,255,.15);
  cursor: pointer;
  transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
}

.renewal-page .renewal-promotion__play:hover {
  transform: translate(-50%, -50%) scale(1.05);
}

.renewal-page .renewal-promotion__play:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 4px;
}

.renewal-page .renewal-promotion__play span {
  display: block;
  width: 0;
  height: 0;
  margin-left: 2.8rem;
  border-top: 1.15rem solid transparent;
  border-bottom: 1.15rem solid transparent;
  border-left: 1.8rem solid #fff;
}

.renewal-promotion__media.is-playing .renewal-promotion__play {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.renewal-promotion__media--missing {
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255,255,255,.16);
  color: rgba(255,255,255,.72);
  font-size: 1.4rem;
  letter-spacing: .08em;
}

.renewal-promotion > .renewal-cta {
  margin-top: 4.8rem;
}

/* The document CTA is HTML/CSS instead of a baked SVG so every occurrence
   receives exactly the same new background color. */
.renewal-cta__document {
  position: relative;
  display: flex;
  width: 50.8rem;
  max-width: 100%;
  height: 8.9rem;
  min-height: 8.9rem;
  margin-inline: auto;
  padding: 1.3rem 6.8rem 1.2rem 3.6rem;
  box-sizing: border-box;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .2rem;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 999px;
  background: var(--renewal-document-cta);
  color: #fff !important;
  text-align: center;
  text-decoration: none !important;
  font-family: var(--font-ja);
  transition: background-color .2s ease, opacity .2s ease;
}

.renewal-cta__document:hover {
  background: var(--renewal-document-cta-hover);
}

.renewal-cta__document:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
}

.renewal-cta__document small {
  display: block;
  width: 100%;
  font-size: 1.4rem;
  line-height: 1.35;
  letter-spacing: .08em;
  font-weight: 400;
}

.renewal-cta__document span {
  display: block;
  width: 100%;
  font-size: 2.2rem;
  line-height: 1.35;
  letter-spacing: .08em;
  font-weight: 500;
}

.renewal-cta__document i {
  position: absolute;
  right: 5.8rem;
  top: 50%;
  display: block;
  width: 3.8rem;
  height: .8rem;
  transform: translateY(-50%);
  border-bottom: 1px solid currentColor;
}

.renewal-cta__document i::after {
  content: '';
  position: absolute;
  right: 0;
  bottom: -.1rem;
  width: 1.2rem;
  border-bottom: 1px solid currentColor;
  transform: rotate(30deg);
  transform-origin: right bottom;
}

@media (max-width:1024px) {
  .renewal-promotion {
    padding: 5.8rem 0 6.6rem;
  }

  .renewal-promotion__inner {
    width: calc(100% - 4.8rem);
  }

  .renewal-promotion .renewal-kicker {
    font-size: 2.4rem;
    line-height: 4.6rem;
    letter-spacing: .10em;
  }

  .renewal-promotion__title {
    margin-top: .4rem;
    font-size: 2.0rem;
    line-height: 3.4rem;
    letter-spacing: .20em;
  }

  .renewal-promotion__media {
    margin-top: 2.8rem;
  }

  .renewal-page .renewal-promotion__play {
    width: 5.8rem;
    height: 5.8rem;
  }

  .renewal-page .renewal-promotion__play span {
    margin-left: 2.25rem;
    border-top-width: .9rem;
    border-bottom-width: .9rem;
    border-left-width: 1.45rem;
  }

  .renewal-promotion > .renewal-cta {
    margin-top: 4.2rem;
  }

  .renewal-cta__document {
    width: 33.8rem;
    height: 6.4rem;
    min-height: 6.4rem;
    padding: .8rem 4.8rem .7rem 2.4rem;
  }

  .renewal-cta__document small {
    font-size: 1.1rem;
    line-height: 1.25;
    letter-spacing: .04em;
  }

  .renewal-cta__document span {
    font-size: 1.8rem;
    line-height: 1.35;
    letter-spacing: .06em;
  }

  .renewal-cta__document i {
    right: 2rem;
    width: 3.8rem;
    height: .7rem;
  }
}



/* =========================================================
   2026-10-17 PROMOTION follow-up
   - Remove the CTA block directly below the first view
   - Remove the 54px dark-gray spacer before Rooms & Facilities on PC
   ========================================================= */
@media (min-width:1025px) {
  .renewal-experience {
    height: 98.8rem;
    padding-top: 0;
  }
}

/* =========================================================
   2026-10-17 FV CTA-area removal fix
   The CTA markup was removed in v2, but the original FV height still reserved
   the CTA area. Collapse the section to the bottom edge of the FV media so the
   PROMOTION section follows immediately without an empty black block.
   ========================================================= */
@media (min-width:1025px) {
  .renewal-fv {
    height: 74.6rem;
    min-height: 74.6rem;
  }
}

@media (max-width:1024px) {
  .renewal-fv {
    height: 91.3rem;
    min-height: 91.3rem;
  }
}
