/*
Theme Name: Astra Child WestCL
Theme URI: https://www.westcl.com/
Description: westcl.com向け Astra子テーマ。LPテンプレート、医療記事CPT、固定CTA、院案内・医療記事導線を含む運用向け構成。
Author: OpenAI
Author URI: https://openai.com/
Template: astra
Version: 2.0.0
Text Domain: astra-child-westcl
*/

:root{
  --wc-primary:#123d7a;
  --wc-primary-dark:#0d2f5c;
  --wc-accent:#1f6feb;
  --wc-orange:#ef6c00;
  --wc-bg:#f7f9fc;
  --wc-text:#1d2733;
  --wc-muted:#5f6b7a;
  --wc-border:#dbe4ee;
  --wc-white:#fff;
  --wc-shadow:0 10px 30px rgba(17,39,72,.08);
  --wc-radius:18px;
  --wc-max:1180px;
}
html{scroll-behavior:smooth}
body{color:var(--wc-text)}
a{color:var(--wc-accent);text-decoration:none}
a:hover{text-decoration:none}
img{max-width:100%;height:auto}
.wc-container{width:min(100% - 32px,var(--wc-max));margin-inline:auto}
.wc-section{padding:72px 0}
.wc-section--light{background:var(--wc-bg)}
.wc-section--white{background:var(--wc-white)}
.wc-section-title{margin:0 0 12px;font-size:32px;line-height:1.3;color:var(--wc-primary-dark)}
.wc-section-lead{margin:0 0 28px;color:var(--wc-muted);font-size:16px;line-height:1.8}
.wc-grid{display:grid;gap:24px}
.wc-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.wc-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.wc-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.wc-card{background:#fff;border:1px solid var(--wc-border);border-radius:var(--wc-radius);box-shadow:var(--wc-shadow);padding:28px}
.wc-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 22px;border-radius:999px;font-weight:700;line-height:1;transition:transform .2s ease,opacity .2s ease,background .2s ease}
.wc-btn:hover{transform:translateY(-1px);opacity:.95}
.wc-btn--primary{background:var(--wc-primary);color:#fff}
.wc-btn--secondary{background:#fff;color:var(--wc-primary);border:1px solid var(--wc-border)}
.wc-btn--accent{background:var(--wc-orange);color:#fff}
.wc-page-header{padding:36px 0 24px;background:var(--wc-bg);border-bottom:1px solid var(--wc-border)}
.wc-page-title{margin:0;font-size:34px;color:var(--wc-primary-dark)}
.wc-page-lead{margin:10px 0 0;color:var(--wc-muted)}
.wc-content-box{background:#fff;border:1px solid var(--wc-border);border-radius:18px;box-shadow:var(--wc-shadow);padding:32px}
.wc-meta{display:flex;flex-wrap:wrap;gap:10px;color:var(--wc-muted);font-size:14px}
.wc-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;background:#eef4fb;color:var(--wc-primary-dark);border-radius:999px;font-size:13px;font-weight:700}

body.page-template-template-lp .entry-header,
body.page-template-template-lp .ast-breadcrumbs-wrapper,
body.page-template-template-lp .comments-area,
body.page-template-template-lp .post-navigation{display:none}
body.page-template-template-lp .ast-container{max-width:100%;padding-left:0;padding-right:0}
.wc-lp-hero{background:linear-gradient(135deg,rgba(18,61,122,.96),rgba(13,47,92,.90)),linear-gradient(180deg,#123d7a,#0d2f5c);color:#fff;padding:84px 0 88px}
.wc-lp-hero__wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:36px;align-items:center}
.wc-lp-kicker{display:inline-block;margin-bottom:16px;font-size:13px;font-weight:700;letter-spacing:.04em;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:8px 14px}
.wc-lp-title{margin:0 0 16px;font-size:44px;line-height:1.25;color:#fff}
.wc-lp-desc{margin:0 0 24px;color:rgba(255,255,255,.9);font-size:17px;line-height:1.9}
.wc-lp-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}
.wc-lp-badges{display:flex;flex-wrap:wrap;gap:10px}.wc-lp-badge{display:inline-flex;align-items:center;min-height:38px;padding:0 14px;border-radius:999px;background:rgba(255,255,255,.12);color:#fff;font-size:14px;border:1px solid rgba(255,255,255,.16)}
.wc-lp-hero__panel{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:24px;padding:26px;backdrop-filter:blur(4px)}
.wc-lp-panel-title{color:#fff;margin:0 0 10px;font-size:22px}.wc-lp-panel-text{margin:0;color:rgba(255,255,255,.88);line-height:1.8}
.wc-feature-card h3,.wc-reason-card h3,.wc-flow-card h3,.wc-faq-item h3{margin-top:0;margin-bottom:10px;color:var(--wc-primary-dark);font-size:20px}
.wc-feature-card p,.wc-reason-card p,.wc-flow-card p,.wc-faq-item p{margin:0;color:var(--wc-muted);line-height:1.8}
.wc-flow-number{display:inline-flex;width:42px;height:42px;border-radius:999px;align-items:center;justify-content:center;background:var(--wc-primary);color:#fff;font-weight:700;margin-bottom:14px}
.wc-cta-band{background:linear-gradient(135deg,#0f3160,#123d7a);color:#fff;border-radius:28px;padding:36px}.wc-cta-band h2{color:#fff;margin-top:0;margin-bottom:12px}.wc-cta-band p{margin:0 0 18px;color:rgba(255,255,255,.9);line-height:1.8}
.wc-fixed-cta-spacer{height:84px}
.wc-fixed-cta{position:fixed;left:0;right:0;bottom:0;z-index:9999;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-top:1px solid var(--wc-border);box-shadow:0 -8px 20px rgba(0,0,0,.06)}
.wc-fixed-cta__inner{width:min(100%,720px);margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom))}
.wc-fixed-cta__link{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:56px;border-radius:14px;font-size:12px;font-weight:700;line-height:1.2;text-align:center;padding:8px;color:#fff}.wc-fixed-cta__link span{display:block;font-size:11px;font-weight:500;opacity:.92;margin-top:4px}
.wc-fixed-cta__link--tel{background:var(--wc-primary)}.wc-fixed-cta__link--access{background:var(--wc-accent)}.wc-fixed-cta__link--online{background:var(--wc-orange)}
.wc-medical-hero{padding:48px 0;background:var(--wc-bg);border-bottom:1px solid var(--wc-border)}
.wc-toc{padding:18px;border:1px solid var(--wc-border);border-radius:16px;background:#fff}.wc-toc h2{font-size:18px;margin:0 0 10px}.wc-toc ul{margin:0;padding-left:1.1em}
.wc-disclaimer{border-left:4px solid var(--wc-orange);padding:16px 18px;background:#fff8f1;border-radius:8px;color:#6a4b21}
.wc-inline-cta{display:flex;flex-wrap:wrap;gap:12px;padding:20px;border-radius:18px;background:#edf4fb;border:1px solid var(--wc-border);margin:28px 0}
.wc-related-grid article{background:#fff;border:1px solid var(--wc-border);border-radius:16px;padding:20px;box-shadow:var(--wc-shadow)}

@media (max-width:1024px){.wc-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}.wc-lp-hero__wrap{grid-template-columns:1fr}.wc-lp-title{font-size:38px}}
@media (max-width:767px){.wc-section{padding:56px 0}.wc-section-title{font-size:26px}.wc-grid--2,.wc-grid--3,.wc-grid--4{grid-template-columns:1fr}.wc-card,.wc-content-box{padding:22px}.wc-lp-hero{padding:64px 0 68px}.wc-lp-title{font-size:30px}.wc-lp-desc{font-size:15px}.wc-lp-actions{flex-direction:column}.wc-btn{width:100%}.wc-fixed-cta__inner{gap:6px;padding-inline:10px}.wc-fixed-cta__link{min-height:54px;font-size:11px}}


/* =========================================================
   Medical Article Enhanced
========================================================= */
.wc-medical-hero {
  background: linear-gradient(180deg, #f5f8fc, #ffffff);
  padding: 48px 0 24px;
}

.wc-medical-hero__inner {
  max-width: 920px;
}

.wc-medical-title {
  margin: 10px 0 18px;
  font-size: 40px;
  line-height: 1.3;
  color: var(--wc-primary-dark);
}

.wc-medical-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.wc-medical-meta__item,
.wc-medical-tag {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0 12px;
  border-radius: 999px;
  font-size: 13px;
}

.wc-medical-meta__item {
  background: #eef4fb;
  color: var(--wc-primary-dark);
}

.wc-medical-tag {
  background: #123d7a;
  color: #fff;
}

.wc-medical-tag--soft {
  background: #f3f6fa;
  color: var(--wc-primary-dark);
  border: 1px solid var(--wc-border);
}

.wc-review-box {
  border: 1px solid var(--wc-border);
  background: #fff;
  border-radius: 20px;
  padding: 22px;
  box-shadow: var(--wc-shadow);
}

.wc-review-box__head {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-start;
}

.wc-review-box__label {
  margin: 0 0 8px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .04em;
  color: var(--wc-accent);
}

.wc-review-box__name {
  margin: 0;
  font-size: 24px;
  font-weight: 700;
  color: var(--wc-primary-dark);
}

.wc-review-box__title {
  margin: 6px 0 0;
  color: var(--wc-muted);
}

.wc-review-box__date {
  min-width: 130px;
  text-align: right;
  color: var(--wc-muted);
}

.wc-review-box__date strong {
  display: block;
  margin-top: 4px;
  color: var(--wc-primary-dark);
  font-size: 16px;
}

.wc-review-box__summary {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--wc-border);
  color: var(--wc-text);
  line-height: 1.9;
}


.wc-review-box__profile {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--wc-border);
}

.wc-review-box__profile-label {
  margin: 0 0 8px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .04em;
  color: var(--wc-accent);
}

.wc-review-box__profile-text {
  color: var(--wc-text);
  line-height: 1.9;
}

.wc-medical-layout {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr);
  gap: 28px;
}

.wc-content-box {
  background: #fff;
  border: 1px solid var(--wc-border);
  border-radius: 24px;
  box-shadow: var(--wc-shadow);
  padding: 28px;
}

.wc-medical-thumb {
  margin: 0 0 22px;
}

.wc-medical-thumb img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 18px;
}

.wc-medical-article .entry-content {
  line-height: 1.95;
}

.wc-medical-article .entry-content h2,
.wc-medical-article .entry-content h3 {
  color: var(--wc-primary-dark);
}

.wc-disclaimer--medical {
  margin-bottom: 22px;
  padding: 18px 20px;
  border-radius: 16px;
  background: #f8fbff;
  border: 1px solid #d7e6f7;
  line-height: 1.8;
}

.wc-faq-list {
  display: grid;
  gap: 16px;
}

.wc-faq-item--enhanced h3 {
  margin-bottom: 12px;
}

.wc-faq-answer {
  color: var(--wc-text);
  line-height: 1.85;
}

.wc-related-card {
  height: 100%;
}

.wc-related-card__meta {
  margin: 0 0 8px;
  color: var(--wc-muted);
  font-size: 13px;
}

.wc-related-card__title {
  margin: 0 0 12px;
  font-size: 18px;
  line-height: 1.5;
}

.wc-related-card__excerpt {
  margin: 0 0 14px;
  color: var(--wc-muted);
  line-height: 1.8;
}

.wc-related-card__more {
  margin: 0;
  font-weight: 700;
}

@media (max-width: 1024px) {
  
.wc-review-box__profile {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--wc-border);
}

.wc-review-box__profile-label {
  margin: 0 0 8px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .04em;
  color: var(--wc-accent);
}

.wc-review-box__profile-text {
  color: var(--wc-text);
  line-height: 1.9;
}

.wc-medical-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .wc-medical-title {
    font-size: 30px;
  }

  .wc-review-box__head {
    flex-direction: column;
  }

  .wc-review-box__date {
    text-align: left;
  }

  .wc-content-box {
    padding: 22px;
  }
}


.wc-review-box__profile-supplement{margin-top:16px;padding-top:16px;border-top:1px solid var(--wc-border,#dbe4ee);}


/* =========================================================
   v2.0 Product Enhancements
========================================================= */
.wc-inline-cta {
  margin-top: 28px;
  padding: 24px;
  border-radius: 22px;
  border: 1px solid var(--wc-border);
  background: linear-gradient(135deg, #f7f9fc, #ffffff);
  box-shadow: var(--wc-shadow);
}
.wc-inline-cta__eyebrow {
  margin: 0 0 8px;
  color: var(--wc-accent);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .04em;
}
.wc-inline-cta__headline {
  margin: 0 0 8px;
  color: var(--wc-primary-dark);
  font-size: 24px;
}
.wc-inline-cta__sub {
  margin: 0 0 16px;
  color: var(--wc-muted);
}
.wc-inline-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

@media (max-width: 767px) {
  .wc-inline-cta__actions {
    flex-direction: column;
  }
}
