/* ============================================
   My CMO Landing Page (scoped to .pd-lp)
   Colors: navy #0B1D3A / gold #C9A86A
           off-white #FAFAFA / warm grey #F5F2EC
   ============================================ */

.pd-lp{
  --navy:#0B1D3A;
  --navy-deep:#081530;
  --gold:#C9A86A;
  --gold-soft:#D8BE85;
  --gold-deep:#9F8244;
  --bg:#FAFAFA;
  --bg-warm:#F5F2EC;
  --ink:#1A1A1A;
  --ink-soft:#2A2A2A;
  --hairline:rgba(201,168,106,.35);
  --font-serif-en:"Playfair Display","Cormorant Garamond",serif;
  --font-sans-en:"Inter",sans-serif;
  --font-serif-jp:"Noto Serif JP",serif;
  --font-sans-jp:"Noto Sans JP",sans-serif;

  font-family:var(--font-sans-jp);
  font-weight:400;
  color:var(--ink);
  background:var(--bg);
  line-height:1.9;
  font-size:16px;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

.pd-lp *,
.pd-lp *::before,
.pd-lp *::after{box-sizing:border-box}
.pd-lp img{max-width:100%;display:block;height:auto}
.pd-lp ul{list-style:none;margin:0;padding:0}
.pd-lp a{color:inherit;text-decoration:none}
.pd-lp p{margin:0}

.pd-lp .container{max-width:1100px;margin:0 auto;padding:0 32px}

/* ===== Reveal animation ===== */
.pd-lp .reveal{opacity:0;transform:translateY(20px);transition:opacity 300ms ease-out, transform 300ms ease-out}
.pd-lp .reveal.is-visible{opacity:1;transform:translateY(0)}

/* ===== Section base ===== */
.pd-lp .section{padding:120px 0;position:relative}
@media (max-width:767px){.pd-lp .section{padding:72px 0}}

/* ===== Typography helpers ===== */
.pd-lp .h2{
  font-family:var(--font-serif-jp);
  font-weight:600;
  font-size:38px;
  line-height:1.55;
  color:var(--navy);
  letter-spacing:.02em;
  margin:0 0 48px;
}
.pd-lp .h2--center{text-align:center}
.pd-lp .h3{
  font-family:var(--font-serif-jp);
  font-weight:600;
  font-size:18px;
  color:var(--navy);
  margin:0 0 8px;
  line-height:1.6;
}
.pd-lp .lead{
  font-family:var(--font-serif-jp);
  font-size:20px;
  line-height:1.9;
  color:var(--ink);
  margin:0 0 20px;
}
.pd-lp .lead--center{text-align:center;margin:0 auto 48px;max-width:760px}
.pd-lp .body-text{font-size:15px;line-height:2;color:var(--ink-soft)}
.pd-lp .body-text-sm{font-size:13.5px;line-height:1.9;color:var(--ink-soft);margin:0}
.pd-lp .gold-mark{color:var(--gold-deep);font-weight:600}
.pd-lp .boxed{
  display:inline-block;
  border:1px solid var(--gold);
  padding:0 14px;
  margin:0 4px;
  color:var(--navy);
  background:#fff;
}
.pd-lp .rule--gold{width:60px;height:1px;background:var(--gold);margin:20px 0;border:0}
.pd-lp .rule--gold-soft{width:100%;height:1px;background:var(--hairline);margin:18px 0;border:0}
.pd-lp .rule--center{margin-left:auto;margin-right:auto}

@media (max-width:767px){
  .pd-lp .h2{font-size:26px;margin-bottom:36px}
  .pd-lp .lead{font-size:17px}
}

/* ============================================
   SECTION 1: HERO
   ============================================ */
.pd-lp .hero{
  position:relative;
  background:linear-gradient(180deg,#0B1D3A 0%, #0A1A33 100%);
  color:#fff;
  padding:60px 0 80px;
  overflow:hidden;
}
.pd-lp .hero__bg{position:absolute;inset:0;pointer-events:none}
.pd-lp .hero__blur{
  position:absolute;
  right:-120px;top:-40px;
  width:560px;opacity:.5;
  animation:pd-floatY 8s ease-in-out infinite alternate;
}
@keyframes pd-floatY{from{transform:translateY(-8px)}to{transform:translateY(12px)}}
.pd-lp .hero__inner{
  max-width:1100px;margin:0 auto;padding:24px 32px 0;
  display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:center;
  position:relative;
}
.pd-lp .hero__logo{display:flex;flex-direction:column;align-items:flex-start;margin-bottom:48px}
.pd-lp .logo-en{
  font-family:var(--font-serif-en);
  font-weight:600;
  font-size:42px;
  color:var(--gold);
  letter-spacing:.04em;
  line-height:1;
}
.pd-lp .logo-sub{
  font-family:var(--font-sans-en);
  font-size:11px;
  letter-spacing:.3em;
  color:var(--gold-soft);
  margin-top:6px;
}
.pd-lp .hero__title{
  font-family:var(--font-serif-jp);
  font-weight:600;
  font-size:42px;
  line-height:1.55;
  letter-spacing:.02em;
  margin:0 0 28px;
  color:#fff;
}
.pd-lp .hero__title-accent{color:var(--gold)}
.pd-lp .hero__lead{
  font-family:var(--font-sans-jp);
  font-size:15px;
  line-height:2;
  color:rgba(255,255,255,.85);
  margin:0 0 24px;
}
.pd-lp .hero__partner{
  font-size:14px;
  color:var(--gold-soft);
  letter-spacing:.06em;
  margin:0 0 20px;
  padding-left:14px;
  border-left:1px solid var(--gold);
}
.pd-lp .hero__chips{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 28px}
.pd-lp .chip{
  font-size:13px;
  padding:8px 14px;
  border:1px solid rgba(201,168,106,.5);
  border-radius:2px;
  color:#fff;
  background:rgba(255,255,255,.04);
  letter-spacing:.04em;
}
.pd-lp .chip__label{
  font-family:var(--font-serif-en);
  color:var(--gold);
  font-weight:600;
  margin-right:8px;
  font-size:12px;
  letter-spacing:.1em;
}
.pd-lp .chip--solo{color:var(--gold)}
.pd-lp .hero__cta{display:flex;gap:12px;flex-wrap:wrap}
.pd-lp .hero__right{position:relative;display:flex;justify-content:center}
.pd-lp .hero__hand{
  width:100%;max-width:380px;
  filter:drop-shadow(0 0 40px rgba(201,168,106,.25));
  animation:pd-floatY 6s ease-in-out infinite alternate;
}

/* Buttons */
.pd-lp .btn{
  display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--font-serif-jp);
  font-weight:500;
  font-size:15px;
  padding:14px 28px;
  border-radius:2px;
  letter-spacing:.06em;
  cursor:pointer;
  transition:transform .2s ease, filter .2s ease, background .2s ease;
  border:1px solid transparent;
  white-space:nowrap;
}
.pd-lp .btn:hover{transform:translateY(-2px);filter:brightness(1.05)}
.pd-lp .btn--gold{
  background:linear-gradient(180deg,#D8BE85 0%, #C9A86A 50%, #B0904F 100%);
  color:var(--navy);
  border-color:var(--gold-deep);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.4);
}
.pd-lp .btn--ghost-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.6)}
.pd-lp .btn--ghost{background:#fff;color:var(--navy);border-color:var(--navy)}
.pd-lp .btn--lg{padding:18px 40px;font-size:16px;min-width:280px}

@media (max-width:1023px){
  .pd-lp .hero__inner{grid-template-columns:1fr;gap:24px}
  .pd-lp .hero__right{order:-1}
  .pd-lp .hero__hand{max-width:240px}
}
@media (max-width:767px){
  .pd-lp .hero__title{font-size:28px}
  .pd-lp .logo-en{font-size:34px}
  .pd-lp .hero__cta{flex-direction:column}
  .pd-lp .btn{width:100%}
}

/* ============================================
   SECTION 2: PROBLEM
   ============================================ */
.pd-lp .two-col{display:grid;grid-template-columns:1fr 1.1fr;gap:64px;align-items:start}
.pd-lp .problem-list{display:flex;flex-direction:column;gap:32px}
.pd-lp .problem-card{
  display:grid;grid-template-columns:64px 1fr;gap:20px;align-items:start;
  padding:8px 0;
}
.pd-lp .problem-card__icon{width:54px;height:54px;object-fit:contain}
@media (max-width:1023px){
  .pd-lp .two-col{grid-template-columns:1fr;gap:40px}
}

/* ============================================
   SECTION 3: TIMELINE
   ============================================ */
.pd-lp .section--timeline{background:var(--bg-warm)}
.pd-lp .timeline{
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:48px;
}
.pd-lp .tl-card{
  background:#fff;
  border:1px solid var(--hairline);
  padding:32px 24px;
  text-align:center;
  position:relative;
}
.pd-lp .tl-card__icon{width:48px;height:48px;margin:0 auto 16px;object-fit:contain}
.pd-lp .tl-card__date{
  font-family:var(--font-serif-jp);
  font-weight:600;
  font-size:18px;
  color:var(--navy);
  margin:0;
}
.pd-lp .tl-card__text{
  font-size:13.5px;
  color:var(--ink-soft);
  margin:0;
  line-height:1.9;
}
.pd-lp .banner{padding:32px 40px;margin-top:24px;position:relative}
.pd-lp .banner--navy{background:var(--navy);color:#fff;border-left:3px solid var(--gold)}
.pd-lp .banner__lead{
  font-family:var(--font-serif-jp);font-weight:600;font-size:22px;
  color:var(--gold);margin:0 0 10px;letter-spacing:.04em;
}
.pd-lp .banner__sub{font-size:14px;line-height:1.95;color:rgba(255,255,255,.85);margin:0}
@media (max-width:1023px){.pd-lp .timeline{grid-template-columns:1fr}}
@media (max-width:767px){.pd-lp .banner{padding:24px}.pd-lp .banner__lead{font-size:18px}}

/* ============================================
   SECTION 4: PRICING
   ============================================ */
.pd-lp .pricing-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-bottom:24px}
.pd-lp .price-card{
  background:#fff;
  border:1px solid var(--hairline);
  padding:32px 28px;
  position:relative;
  text-align:center;
}
.pd-lp .price-card--premium{background:#FBF7EE;border-color:var(--gold)}
.pd-lp .price-card__badge{display:flex;justify-content:center;margin-bottom:16px}
.pd-lp .price-card__badge img{width:160px;height:auto}
.pd-lp .price-card__subtitle{
  font-family:var(--font-serif-jp);font-weight:500;font-size:16px;
  color:var(--navy);letter-spacing:.06em;margin:0 0 12px;
}
.pd-lp .price-card__price{margin:0 0 8px;color:var(--navy);display:flex;align-items:baseline;justify-content:center;gap:6px;flex-wrap:wrap}
.pd-lp .price-label{font-family:var(--font-serif-jp);font-size:16px}
.pd-lp .price-num{font-family:var(--font-serif-en);font-weight:600;font-size:54px;line-height:1;letter-spacing:.02em}
.pd-lp .price-unit{font-family:var(--font-serif-jp);font-size:14px}
.pd-lp .price-list{margin-top:18px;text-align:left}
.pd-lp .price-list li{
  font-size:13px;line-height:1.85;color:var(--ink-soft);
  padding:6px 0 6px 24px;position:relative;
}
.pd-lp .price-list .check,
.pd-lp .price-list .star{
  position:absolute;left:0;top:6px;
  color:var(--gold);font-weight:700;font-size:14px;
}
.pd-lp .pricing-note{
  text-align:center;color:var(--gold-deep);font-size:12px;margin-top:12px;
}
@media (max-width:1023px){.pd-lp .pricing-grid{grid-template-columns:1fr}}

/* ============================================
   SECTION 5: COMPARISON
   ============================================ */
.pd-lp .compare-table{
  border:1px solid var(--hairline);
  background:#fff;
  margin-bottom:24px;
  overflow:hidden;
}
.pd-lp .ct-row{
  display:grid;
  grid-template-columns:180px 1fr 1fr;
  border-bottom:1px solid var(--hairline);
}
.pd-lp .ct-row:last-child{border-bottom:0}
.pd-lp .ct-cell{
  padding:18px 24px;
  font-size:14px;
  line-height:1.7;
  border-right:1px solid var(--hairline);
}
.pd-lp .ct-cell:last-child{border-right:0}
.pd-lp .ct-cell--label{
  font-family:var(--font-serif-jp);font-weight:600;color:var(--navy);
  background:var(--bg-warm);
}
.pd-lp .ct-cell--brand{
  background:rgba(201,168,106,.08);
  color:var(--navy);
  font-weight:500;
}
.pd-lp .ct-row--head .ct-cell{
  font-family:var(--font-serif-jp);font-weight:600;color:var(--navy);
  text-align:center;background:var(--bg-warm);
}
.pd-lp .ct-row--head .ct-cell--brand{
  background:var(--navy);color:var(--gold);font-family:var(--font-serif-en);
  letter-spacing:.08em;
}
@media (max-width:767px){
  .pd-lp .ct-row{grid-template-columns:1fr;}
  .pd-lp .ct-cell{border-right:0;border-bottom:1px dashed var(--hairline);text-align:center}
}

/* ============================================
   SECTION 6: EXOSOME
   ============================================ */
.pd-lp .section--exosome{background:var(--bg-warm)}
.pd-lp .exo-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.pd-lp .exo-card{
  background:#fff;border:1px solid var(--hairline);
  padding:32px;position:relative;overflow:hidden;
}
.pd-lp .exo-card__title{
  font-family:var(--font-serif-jp);font-weight:600;font-size:16px;
  color:var(--navy);margin:0 0 16px;letter-spacing:.04em;
}
.pd-lp .exo-list li{font-size:14px;padding:6px 0 6px 24px;position:relative;color:var(--ink-soft)}
.pd-lp .exo-list .check{position:absolute;left:0;top:6px;color:var(--gold);font-weight:700}
.pd-lp .exo-note{font-size:12px;color:var(--gold-deep);margin-top:14px;line-height:1.8}
.pd-lp .exo-card__dna{
  position:absolute;right:-10px;bottom:-10px;width:140px;opacity:.5;
}
.pd-lp .exo-row{display:grid;grid-template-columns:42px 1fr;gap:14px;align-items:start;margin-bottom:8px}
.pd-lp .exo-row__icon{width:36px;height:36px;object-fit:contain}
.pd-lp .exo-row__text{font-size:13.5px;line-height:1.85;color:var(--ink-soft);margin:0}
.pd-lp .exo-row__sub{display:block;font-size:12px;color:var(--gold-deep);margin-top:4px}
.pd-lp .exo-price{
  margin-top:12px;text-align:center;color:var(--navy);
  display:flex;align-items:baseline;justify-content:center;gap:6px;
}
.pd-lp .exo-price .price-num{font-size:30px}
.pd-lp .price-per{font-family:var(--font-serif-jp);font-size:14px}
.pd-lp .exo-price-sub{font-size:12px;text-align:center;color:var(--gold-deep);margin-top:4px}
@media (max-width:1023px){.pd-lp .exo-grid{grid-template-columns:1fr}}

/* ============================================
   SECTION 7: DOCTORS
   ============================================ */
.pd-lp .doctor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px 28px}
.pd-lp .doctor-card{display:grid;grid-template-columns:90px 1fr;gap:16px;align-items:start}
.pd-lp .doctor-card__photo{
  width:84px;height:84px;border-radius:50%;
  object-fit:cover;border:2px solid var(--gold);
  background:#fff;
}
.pd-lp .doctor-card__name{
  font-family:var(--font-serif-jp);font-weight:600;font-size:17px;
  color:var(--navy);margin:0;
}
.pd-lp .doctor-card__honor{font-size:13px;font-weight:400;margin-left:4px;color:var(--ink-soft)}
.pd-lp .doctor-card__tag{
  display:inline-block;font-size:11px;
  background:var(--navy);color:var(--gold);
  padding:3px 10px;margin:6px 0 8px;letter-spacing:.06em;
}
.pd-lp .doctor-card__desc{font-size:12.5px;line-height:1.85;color:var(--ink-soft);margin:0}
@media (max-width:1023px){.pd-lp .doctor-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:767px){.pd-lp .doctor-grid{grid-template-columns:1fr}}

/* ============================================
   SECTION 8: CLINICS
   ============================================ */
.pd-lp .section--clinics{background:var(--bg-warm)}
.pd-lp .clinic-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.pd-lp .clinic-card{background:#fff;border:1px solid var(--hairline);padding:28px}
.pd-lp .clinic-card__overline{
  font-family:var(--font-serif-en);font-size:11px;letter-spacing:.4em;
  color:var(--gold);margin:0 0 8px;
}
.pd-lp .clinic-card__name{
  font-family:var(--font-serif-jp);font-weight:600;font-size:22px;
  color:var(--navy);margin:0 0 10px;
}
.pd-lp .addr-pill{
  display:inline-block;font-size:12px;background:var(--navy);color:#fff;
  padding:4px 12px;letter-spacing:.08em;
}
.pd-lp .clinic-card__body{margin-top:20px;display:grid;grid-template-columns:160px 1fr;gap:20px;align-items:start}
.pd-lp .clinic-card__photo{width:160px;height:120px;object-fit:cover}
.pd-lp .clinic-card__feat{display:flex;flex-direction:column;gap:16px}
.pd-lp .clinic-card__feat li{display:grid;grid-template-columns:32px 1fr;gap:10px;align-items:start}
.pd-lp .clinic-feat__icon{width:28px;height:28px;object-fit:contain;margin-top:2px}
.pd-lp .feat-title{font-family:var(--font-serif-jp);font-weight:600;font-size:13.5px;color:var(--navy);margin:0 0 4px;line-height:1.5}
.pd-lp .feat-text{font-size:11.5px;line-height:1.75;color:var(--ink-soft);margin:0}
@media (max-width:1023px){
  .pd-lp .clinic-grid{grid-template-columns:1fr}
  .pd-lp .clinic-card__body{grid-template-columns:1fr}
  .pd-lp .clinic-card__photo{width:100%;height:160px}
}

/* ============================================
   SECTION 9: JAPAN
   ============================================ */
.pd-lp .japan-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center}
.pd-lp .japan-list{display:flex;flex-direction:column;gap:22px}
.pd-lp .jp-item{display:grid;grid-template-columns:48px 1fr;gap:16px;align-items:start}
.pd-lp .jp-item__icon{width:42px;height:42px;object-fit:contain}
.pd-lp .jp-item__title{font-family:var(--font-serif-jp);font-weight:600;font-size:15px;color:var(--navy);margin:0 0 4px}
.pd-lp .jp-item__text{font-size:13px;line-height:1.85;color:var(--ink-soft);margin:0}
.pd-lp .japan-map-wrap{
  background:var(--navy);color:#fff;
  padding:36px 24px;text-align:center;
  border:1px solid var(--gold);
  position:relative;
}
.pd-lp .japan-map__label{
  font-family:var(--font-serif-en);font-size:12px;letter-spacing:.5em;
  color:var(--gold);margin:0 0 8px;
}
.pd-lp .japan-map__title{
  font-family:var(--font-serif-jp);font-weight:600;font-size:22px;
  color:#fff;margin:0 0 18px;letter-spacing:.06em;
}
.pd-lp .japan-map__img{width:80%;max-width:240px;margin:0 auto;filter:drop-shadow(0 0 24px rgba(201,168,106,.4))}
@media (max-width:1023px){.pd-lp .japan-grid{grid-template-columns:1fr}}

/* ============================================
   SECTION 10: FOOTER CTA
   ============================================ */
.pd-lp .section--footer-cta{padding:60px 0 80px}
.pd-lp .footer-cta{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.pd-lp .footer-note{text-align:center;font-size:11px;color:var(--gold-deep);margin-top:18px}
@media (max-width:767px){.pd-lp .footer-cta{flex-direction:column;align-items:center}}

/* ============================================
   FOOTER
   ============================================ */
.pd-lp .footer{background:var(--navy);color:rgba(255,255,255,.8);padding:32px 0}
.pd-lp .footer__inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
.pd-lp .footer__brand{font-family:var(--font-serif-jp);font-size:13px;display:flex;align-items:center;gap:12px}
.pd-lp .footer__brand .logo-en{font-size:18px}
.pd-lp .footer__div{color:var(--gold)}
.pd-lp .footer__copy{font-family:var(--font-sans-en);font-size:11px;letter-spacing:.1em;color:rgba(255,255,255,.5)}
@media (max-width:767px){.pd-lp .footer__inner{flex-direction:column;text-align:center}}

/* ===========================================
   SWELL header/footer hide on this template
   =========================================== */
body.page-template-page-pd-lp #header,
body.page-template-page-pd-lp .l-header,
body.page-template-page-pd-lp #footer,
body.page-template-page-pd-lp .l-footer,
body.page-template-page-pd-lp .p-fixBtnsArea,
body.page-template-page-pd-lp .p-pageTitle,
body.page-template-page-pd-lp .c-pageTitle{display:none !important}
body.page-template-page-pd-lp .l-container,
body.page-template-page-pd-lp .l-mainContent,
body.page-template-page-pd-lp .l-mainContent__inner,
body.page-template-page-pd-lp .p-mainContents,
body.page-template-page-pd-lp .post_content{max-width:none !important;width:100% !important;margin:0 !important;padding:0 !important}
body.page-template-page-pd-lp{margin:0 !important;padding:0 !important}
