@charset "UTF-8";

/* =========================
   Pricing — Light-rhythm Theme
========================= */

/* 最終CTA（「7日間のおためしから〜」）は出口のダークセクション。
   ダーク配色トークンは style.css のダーク島グループで再宣言済み。ここでは背景だけダーク化する。 */
.page-pricing .section.bg-light {
  background-color: var(--d-bg);
  border-top: 1px solid var(--d-border);
  border-bottom: none;
}

.notice-list{
  list-style: disc;
  padding-left: 20px;
  line-height: 1.9;
  color: var(--text);
}
.notice-list li { margin-bottom: 6px; }

/* =========================
   Pricing grid & cards
========================= */
.page-pricing .pricing-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.page-pricing .pricing-card{
  background: var(--surface);                 /* 白面化 */
  border: 1.5px solid var(--accent);          /* CORE card: オレンジ枠を維持（強調） */
  border-top: 3px solid var(--accent);
  box-shadow: var(--card-shadow);
  border-radius: 12px;
  padding: 40px 32px;
  height: 100%;
}

/* Specialised courses: neutral frame + orange top bar */
.page-pricing .pricing-card-premium{
  border: 1px solid var(--border);
  border-top: 3px solid var(--accent);
}

.page-pricing .pricing-head{
  border-bottom: 1px solid var(--border);
  padding-bottom: 24px;
  margin-bottom: 24px;
}

.page-pricing .pricing-tag{
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  color: var(--accent-ink);
  margin-bottom: 12px;
  border-bottom: 1px solid var(--accent);
  padding-bottom: 6px;
}

.page-pricing .pricing-title{
  font-size: 1.45rem;
  margin-bottom: 12px;
  font-weight: 700;
  color: var(--heading);
}

.page-pricing .pricing-price{
  font-size: 2rem;
  font-weight: 900;
  color: var(--heading);                       /* 価格数字は #1F2328 の 900 */
  margin-bottom: 8px;
  letter-spacing: 0.01em;
}

.page-pricing .pricing-unit{
  font-size: 0.95rem;
  color: var(--text-weak);
  font-weight: 700;
}

.page-pricing .pricing-desc{
  font-size: 0.95rem;
  color: var(--text-weak);
  line-height: 1.8;
  margin: 0;
}

.page-pricing .pricing-list{
  line-height: 1.9;
}

.page-pricing .pricing-list li{
  margin-bottom: 10px;
  padding-left: 1.6em;
  position: relative;
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--text);
}

.page-pricing .pricing-list li::before{
  content: "\2714";
  position: absolute;
  left: 0;
  color: var(--accent-ink);
}

/* =========================
   FAQ block
========================= */
.page-pricing .faq h3{
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--heading);
}
.page-pricing .faq p{
  color: var(--text-weak);
}

.page-pricing .faq-item{
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--surface);
  padding: 14px 16px;
  margin-bottom: 12px;
}

.page-pricing .faq-item summary{
  cursor: pointer;
  font-weight: 700;
  color: var(--heading);
  list-style: none;
}

.page-pricing .faq-item summary::-webkit-details-marker{
  display: none;
}

.page-pricing .faq-body{
  padding-top: 10px;
  color: var(--text);
}

/* =========================
   入会金
========================= */
.price-entry{
  line-height: 1.9;
  color: var(--text);
}

/* 旧価格：オレンジ1pxで静かに取り消し */
.price-original{
  position: relative;
  display: inline-block;
  padding: 0 2px;
  color: var(--text-weak);
  font-weight: 700;
}

.price-original::after{
  content: "";
  position: absolute;
  left: 0;
  top: 56%;
  width: 100%;
  height: 1.5px;
  background: var(--accent-ink);
  transform: translateY(-50%);
}

/* 注意文：下線ハイライト風（オレンジ） */
.price-highlight{
  display: inline;
  color: var(--text);
  font-size: 0.95rem;
  font-weight: 400;
  padding: 2px 2px 4px;
  background: linear-gradient(transparent 72%, rgba(249, 115, 22, 0.28) 0);
  border-radius: 2px;
}

/* =========================
   Mobile
========================= */
@media (max-width: 768px){
  .page-pricing .pricing-grid{
    grid-template-columns: 1fr;
  }

  .price-highlight{
    line-height: 2.0;
  }
}
