/* ===========================
   料金プラン ページ専用スタイル
=========================== */

/* ページヘッダー
   （固定ヘッダー分の余白を確保）
=========================== */
.price-plan-header {
  padding: 80px 24px 24px;
  /* background-color: var(--color-white); */
}

.price-plan-title {
  font-family: var(--font-ja);
  font-weight: 500;
  font-size: 24px;
  line-height: 1.67em;
  color: var(--color-black);
  text-align: center;
}

/* ===========================
   料金プランセクション
=========================== */
.price-plan-section {
  padding: 8px 0 80px;
  /* background-color: var(--color-white); */
}

/* ===========================
   プランアイテム
=========================== */
.plan-item {
  background-color: var(--color-white);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  margin-bottom: 40px;
}

/* 1つ目: 左端まで伸び、右側が丸い */
.plan-item:nth-child(1) {
  border-radius: 0 32px 32px 0;
  margin-right: 5%;
}

/* 2つ目: 右端まで伸び、左側が丸い */
.plan-item:nth-child(2) {
  border-radius: 32px 0 0 32px;
  margin-left: 5%;
}

.plan-item:last-child {
  margin-bottom: 0;
}

/* プラン画像
=========================== */
.plan-img-wrap {
  width: 100%;
  /* height: 214px; */
  overflow: hidden;
  border-radius: 32px;
  width: calc(100% - 20px);
  margin-left: auto;
  margin-right: auto;
  margin-top: 10px;
}

.plan-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ===========================
   プランボディ
=========================== */
.plan-body {
  padding: 50px 12px 32px;
}

.plan-title {
  font-family: var(--font-ja);
  font-weight: 500;
  font-size: 32px;
  line-height: 1.5em;
  margin-bottom: 30px;
}

.plan-desc {
  font-family: var(--font-ja);
  font-weight: 400;
  font-size: 16px;
  line-height: 2em;
  color: var(--color-black);
  margin-bottom: 30px;
}

.plan-period {
  font-family: var(--font-ja);
  font-weight: 400;
  font-size: 12px;
  line-height: 1.6em;
  color: var(--color-black);
  border: 1px solid var(--color-gray-light);
  border-radius: 4px;
  padding: 8px 12px;
  margin-bottom: 24px;
  display: inline-block;
}

/* ===========================
   料金ブロック
=========================== */
.plan-price-block {
  border-top: 1px solid #979797;
  padding: 24px 0;
  margin-bottom: 0;
}

.plan-price-block:last-of-type {
  margin-bottom: 32px;
  padding-bottom: 0;
}

.plan-price-heading {
  font-family: var(--font-ja);
  font-size: 16px;
  line-height: 1.5em;
  color: #090909;
  margin-bottom: 16px;
  font-weight: 900;
}

.plan-price-group {
  margin-bottom: 30px;
}

.plan-price-group:last-child {
  margin-bottom: 0;
}

.plan-price-category {
  font-family: var(--font-ja);
  font-weight: 500;
  font-size: 14px;
  line-height: 1.6em;
  color: var(--color-black);
  margin-bottom: 4px;
}

.plan-price-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.plan-price-list li {
  font-family: var(--font-ja);
  font-weight: 400;
  font-size: 14px;
  line-height: 2em;
  color: var(--color-black);
}

.plan-note {
  font-family: var(--font-ja);
  font-size: 12px;
  color: var(--color-gray-border);
}

.plan-price-free {
  font-family: var(--font-ja);
  font-weight: 400;
  font-size: 16px;
  line-height: 2em;
  color: var(--color-black);
}

/* ===========================
   PC メディアクエリ（768px〜）
=========================== */
@media (min-width: 768px) {

  /* ページ全体の背景色 */
  .price-plan-header,
  .price-plan-section {
    /* background-color: #F7F3EC; */
  }

  /* ページヘッダー */
  .price-plan-header {
    padding: 160px 40px 40px;
    text-align: center;
  }

  .price-plan-title {
    font-size: 32px;
    line-height: 1.25em;
  }

  /* セクション */
  .price-plan-section {
    padding: 80px 0 100px;
  }

  .plan-desc {
    font-size: 16px;
    margin-bottom: 65px;
  }

  /* プランアイテム：横並びレイアウト */
  .plan-item {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    margin-bottom: 48px;
  }

  /* 1つ目: 左端から伸び、右側丸 */
  .plan-item:nth-child(1) {
    border-radius: 0 40px 40px 0;
    margin-left: 0;
  }

  /* 2つ目: 右端まで伸び、左側丸 */
  .plan-item:nth-child(2) {
    border-radius: 40px 0 0 40px;
    margin-right: 0;
  }

  .plan-item:last-child {
    margin-bottom: 0;
  }

  /* 画像エリア：固定幅・高さはカードに合わせて伸縮 */
  .plan-img-wrap {
    min-width: 240px;
    height: 528px;
    max-width: 350px;
  }

  /* ボディエリア：残り幅を使用 */
  .plan-body {
    flex: 1;
    padding: 0 0 0 min(8.78477306vw, 120px);
    max-width: 680px;
  }

  /* プランタイトル */
  .plan-title {
    font-size: clamp(1.375rem, 2.3426061493vw, 2rem);
  }

  .plan-title br {
    display: none;
  }

  /* 期間ノート */
  .plan-period {
    font-size: 13px;
  }

  .plan-item-inner {
    display: flex;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-top: 120px;
    padding-bottom: 100px;
    padding-left: 20px;
    padding-right: 20px;
  }

  .plan-price-block {
    display: flex;
    padding: 25px;
  }


  .plan-price-list li,
  .plan-price-category,
  .plan-price-free {
    font-size: 16px;
    line-height: 1.6;
  }

  .plan-price-heading {
    width: 7em;
    margin: 0;
    line-height: 1.6;
  }
}

/* end @media (min-width: 768px) */