@charset "UTF-8";

/* =====================================================================
   ポピンズ familycare リニューアル
   料金・対応エリアのご案内ページ
   Figma: PC 830:18627 / SP 694:75344（セクション 830:18505）
   （/familycare/personal-plan/）
   ---------------------------------------------------------------------
   - header.php が is_page('personal-plan') のときだけ
     renewal/css/common.css の後に読み込む
   - 色は common.css の変数を経由する（既定のナニー＝ピンク）
   - ボタン（.rnw-btn--main / --sub）と矢印（.rnw-icon--arrow /
     --chevron-bold）は common.css の共通コンポーネントを流用
   - 表は旧 contents.css の `table` 系セレクタに勝つ必要があるため、
     「1. 表の共通土台」でクラスを2つ重ねて打ち消している
   ===================================================================== */

/* =====================================================================
   0. ページ共通
   ===================================================================== */

.rnw-plan,
.rnw-plan *,
.rnw-plan *::before,
.rnw-plan *::after {
  box-sizing: border-box;
}

.rnw-plan {
  /* Figma変数 nanny/gra2。始点の #FCF7F8 は common.css にトークンが無い */
  --rnw-plan-gra: linear-gradient(to bottom, #FCF7F8 0%, var(--rnw-main) 52.404%);
  /* セクション区切りの罫線（Figma Vector 12/14/15/16） */
  --rnw-plan-rule: var(--rnw-caption);
  /* 比較表の点線罫線 */
  --rnw-plan-dash-label: #D2D3D3;
  --rnw-plan-dash-mark: var(--rnw-caption);

  padding-top: var(--rnw-header-h-sp);
  color: var(--rnw-text);
  font-family: var(--rnw-font-jp);
}

.rnw-plan img {
  display: block;
  max-width: 100%;
  height: auto;
}

:where(.rnw-plan) :where(h1, h2, h3, h4, h5, p, ul, ol, li, dl, dt, dd, figure, figcaption, table, th, td) {
  margin: 0;
  padding: 0;
}

:where(.rnw-plan) :where(ul, ol) {
  list-style: none;
}

.rnw-plan a { text-decoration: none; }

/* 改行の出し分け。PCで1行に戻る箇所に付ける */
.rnw-plan-br--pc { display: none; }

/* 遷移先未確定。href="#" を出さないため <span> で置いている */
.rnw-plan-link--pending {
  color: var(--rnw-accent);
  text-decoration: underline;
  text-decoration-thickness: from-font;
  text-underline-position: from-font;
}

/* 共通の .rnw-icon--arrow は右向き（rotate(-90deg)）。ここは下向きで使う */
.rnw-plan-icon-down {
  flex: 0 0 auto;
  width: 14px;
  height: 14px;
  transform: none;
  color: var(--rnw-text);
}

/* 注記（Figma common/text/caption） */
.rnw-plan-note {
  width: 100%;
  color: var(--rnw-caption);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 1.2px;
}

/* 対象エリアの注記だけ Bold（Figma 830:18824） */
.rnw-plan-arealist + .rnw-plan-note { font-weight: 700; }

/* 表の上の但し書き（Figma 830:18831） */
.rnw-plan-lede {
  width: 100%;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 1.2px;
  text-align: center;
}


/* 比較表：セル内の注記（スタンダードの「web・電話予約」）と
   行ラベルの小書き（「当日・前日オーダー」の※）。Figma 1738:20085 / 1738:20059 */
.rnw-plan .rnw-plan-hikaku__note {
  margin: 8px 0 0;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 1.2px;
  text-align: left;
}

.rnw-plan .rnw-plan-hikaku__sub {
  display: block;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 1.2px;
}


/* =====================================================================
   1. 表の共通土台
   旧 /familycare/css/contents.css の `table`(0,0,1) / `table th`(0,0,2) /
   `table th[colspan]`(0,1,2) / `table tr:not(:last-child) th|td`(0,1,3) は
   詳細度が高く、後から読むだけでは勝てない。クラス2つ＝(0,2,0) で上回る。
   要素名は :where() に入れて詳細度を上げず、個別のセル指定（同じ (0,2,0)）が
   後勝ちできるようにしている。
   ===================================================================== */

.rnw-plan .rnw-plan-table {
  width: 100%;
  margin: 0;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
}

.rnw-plan .rnw-plan-table :where(th, td) {
  padding: 0;
  border: 0;
  color: var(--rnw-text);
  background-color: transparent;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 1.2px;
  text-align: left;
  vertical-align: middle;
}


/* =====================================================================
   2. リード（Figma 830:18629 / 694:75346）
   ===================================================================== */

.rnw-plan-lead {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 24px 16px;
  background-color: var(--rnw-main);
}

.rnw-plan-lead__card {
  display: flex;
  flex-direction: column;
  gap: 11px;
  align-items: flex-start;
  width: 100%;
  padding: 16px;
  background-color: rgba(255, 255, 255, 0.9);
}

.rnw-plan-lead__head {
  display: flex;
  flex-direction: column;
  gap: 4px;
  width: 100%;
}

.rnw-plan-lead__en {
  color: var(--rnw-accent);
  font-family: var(--rnw-font-en);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: 3.7px;
}

.rnw-plan-lead__ja {
  color: var(--rnw-text);
  font-family: var(--rnw-font-serif);
  font-size: 26px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 1.2px;
}

.rnw-plan-lead__body {
  width: 100%;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 1.2px;
}


/* =====================================================================
   3. エリアを選ぶ（Figma 830:18635 / 694:75352）
   ===================================================================== */

.rnw-plan-areanav {
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: center;
  padding: 56px 16px;
  background-color: #FFFFFF;
}

.rnw-plan-areanav__title {
  width: 100%;
  color: var(--rnw-accent);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 1.2px;
  text-align: center;
}

.rnw-plan-areanav__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  width: 100%;
}

.rnw-plan-areanav__link,
.rnw-plan-anchor__link {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 16px;
  border-radius: 8px;
  background-color: #FFFFFF;
  box-shadow: 0 4px 28px rgba(0, 0, 0, 0.08);
  color: var(--rnw-text);
  text-align: center;
}

.rnw-plan-areanav__link { min-height: 57px; }

.rnw-plan-areanav__label,
.rnw-plan-anchor__label {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 1.2px;
}


/* =====================================================================
   4. エリア別の料金
   ===================================================================== */

.rnw-plan-areas {
  display: flex;
  flex-direction: column;
  gap: 32px;
  padding: 56px 16px;
  background: var(--rnw-plan-gra);
}

.rnw-plan-area {
  display: flex;
  flex-direction: column;
}

.rnw-plan-area__card {
  padding: 24px 16px;
  background-color: #FFFFFF;
}

.rnw-plan-area__title {
  margin-bottom: 24px;
  color: var(--rnw-accent);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 1.2px;
  text-align: center;
}


/* --- 4-1. エリア内のアンカー（Figma 830:18661 / 694:75380） --- */

.rnw-plan-anchor__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
}

.rnw-plan-anchor__item { min-height: 82px; }


/* --- 4-2. ブロック（比較表・対象エリア・料金・特徴） --- */

.rnw-plan-area__body {
  display: flex;
  flex-direction: column;
  gap: 32px;
  margin-top: 32px;
}

.rnw-plan-block {
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: center;
  padding: 24px 0;
}

.rnw-plan-block__title {
  width: 100%;
  color: var(--rnw-accent);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 1.2px;
  text-align: center;
}


/* =====================================================================
   5. コースの比較表（Figma 830:18692 / 694:75407）
   ===================================================================== */

.rnw-plan-hikaku {
  width: 100%;
  overflow-x: auto;
}

.rnw-plan .rnw-plan-hikaku__table {
  min-width: 311px;
  /* 列と列のあいだの4px（Figma 830:18730 gap-[4px]） */
  border-spacing: 4px 0;
  background-color: #FFFFFF;
}

.rnw-plan .rnw-plan-hikaku__corner {
  width: auto;
  background-color: transparent;
}

.rnw-plan .rnw-plan-hikaku__head {
  width: 86px;
  padding: 8px;
  border-radius: 8px 8px 0 0;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.8;
  text-align: center;
}

.rnw-plan .rnw-plan-hikaku__head--premium {
  background-color: var(--rnw-gold);
  color: #FFFFFF;
}

.rnw-plan .rnw-plan-hikaku__head--standard {
  background-color: var(--rnw-bg2);
}

/* ラベル列。行ごとに地色が交互に変わる（Figma 830:18697 ほか）。
   点線は common.css の .rnw-dash-b と同じ 2-2 の破線を背景で描く */
.rnw-plan .rnw-plan-hikaku__label {
  padding: 8px 4px;
  font-size: 12px;
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: 100% 1px;
  background-image: repeating-linear-gradient(
    to right,
    var(--rnw-plan-dash-label) 0 2px,
    transparent 2px 4px
  );
}

.rnw-plan .rnw-plan-hikaku__table tbody tr:nth-child(even) .rnw-plan-hikaku__label {
  background-color: var(--rnw-bg1);
}

.rnw-plan .rnw-plan-hikaku__table tbody tr:last-child .rnw-plan-hikaku__label {
  background-image: none;
}

/* マーク列は左右に枠線が通り、下端で閉じて角丸になる */
.rnw-plan .rnw-plan-hikaku__cell {
  position: relative;
  padding: 8px;
  background-color: #FFFFFF;
  text-align: center;
}

.rnw-plan .rnw-plan-hikaku__cell--premium {
  border-right: 2px solid var(--rnw-gold);
  border-left: 2px solid var(--rnw-gold);
}

.rnw-plan .rnw-plan-hikaku__cell--standard {
  border-right: 1px solid var(--rnw-main);
  border-left: 1px solid var(--rnw-main);
}

.rnw-plan .rnw-plan-hikaku__table tbody tr:last-child .rnw-plan-hikaku__cell--premium {
  border-bottom: 2px solid var(--rnw-gold);
  border-radius: 0 0 8px 8px;
}

.rnw-plan .rnw-plan-hikaku__table tbody tr:last-child .rnw-plan-hikaku__cell--standard {
  border-bottom: 1px solid var(--rnw-main);
  border-radius: 0 0 8px 8px;
}

/* セル内の点線罫線。枠線から左右8px内側に入る（Figma Line 23） */
.rnw-plan-hikaku__cell::after {
  content: "";
  position: absolute;
  right: 8px;
  bottom: 0;
  left: 8px;
  height: 1px;
  background-image: repeating-linear-gradient(
    to right,
    var(--rnw-plan-dash-mark) 0 2px,
    transparent 2px 4px
  );
}

.rnw-plan .rnw-plan-hikaku__table tbody tr:last-child .rnw-plan-hikaku__cell::after {
  content: none;
}

.rnw-plan-hikaku__mark {
  width: 24px;
  height: 24px;
  margin-inline: auto;
}


/* =====================================================================
   6. 対象エリア（Figma 830:18790 / 694:75504）
   ===================================================================== */

.rnw-plan-arealist {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2px;
  width: 100%;
}

.rnw-plan-arealist__row {
  display: grid;
  grid-template-columns: 130px 1fr;
  gap: 1px;
}

.rnw-plan-arealist__pref {
  padding: 12px 9px 12px 8px;
  background-color: var(--rnw-bg3);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 1.2px;
}

.rnw-plan-arealist__value {
  padding: 12px;
  background-color: var(--rnw-bg1);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 1.2px;
}
.rnw-plan-label-text{
  font-size: 8px;
}
.rnw-plan-icon-text{
  font-size: 8px;
  text-align: left;
}

#rnw-plan-shutoken-table {
  scroll-margin-top: 100px;
}
/* =====================================================================
   7. コース見出しバー（Figma 830:18828 / 830:20095）
   ===================================================================== */

.rnw-plan-coursebar {
  width: 100%;
  padding: 20px 8px;
  border-radius: 8px;
  text-align: center;
}

/* プレミアム＝金の30%（Figma 830:18828 bg rgba(201,169,110,0.3)） */
.rnw-plan-coursebar--premium { background-color: rgba(201, 169, 110, 0.3); }

/* スタンダード・オプション・看護師訪問＝ nanny/bg */
.rnw-plan-coursebar--standard { background-color: var(--rnw-bg2); }

.rnw-plan-coursebar__en {
  color: var(--rnw-gold2);
  font-family: var(--rnw-font-en);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: 1.2px;
}

.rnw-plan-coursebar__ja {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 1.2px;
}


/* =====================================================================
   8. 料金表（Figma 830:18833 / 694:75548）
   ===================================================================== */

.rnw-plan .rnw-plan-price {
  width: 100%;
}

/* table-layout:fixed の列幅。先頭行が colspan の見出しなので col で指定する */
.rnw-plan .rnw-plan-price__col-label { width: 130px; }

/* 区切りの見出し行（入会金・会費／料金一覧 など） */
.rnw-plan .rnw-plan-price__group-cell {
  padding: 12px 8px 14px;
  border-bottom: 2px solid #FFFFFF;
  background-color: var(--rnw-main);
  font-size: 14px;
  text-align: center;
}

/* 送迎サービスの見出しだけ2行になる */
.rnw-plan .rnw-plan-price__group-cell--shuttle { line-height: 1.8; }

.rnw-plan .rnw-plan-price__th {
  width: 130px;
  padding: 12px 9px 14px 8px;
  border-right: 1px solid #FFFFFF;
  border-bottom: 2px solid #FFFFFF;
  background-color: var(--rnw-bg3);
  font-size: 14px;
}

.rnw-plan .rnw-plan-price__td {
  padding: 12px;
  border-bottom: 2px solid #FFFFFF;
  background-color: var(--rnw-bg1);
  font-size: 14px;
}

.rnw-plan-price__sub,
.rnw-plan-price__td-note {
  display: block;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.3;
}


/* =====================================================================
   9. 共通オプション料金の表（Figma 830:20138）
   ===================================================================== */

.rnw-plan .rnw-plan-option__key {
  width: 20px;
  padding: 12px 0 14px;
  border-right: 1px solid #FFFFFF;
  border-bottom: 2px solid #FFFFFF;
  background-color: var(--rnw-main);
  font-size: 14px;
  text-align: center;
}

.rnw-plan .rnw-plan-option__name {
  width: 130px;
  padding: 12px 9px 14px 8px;
  border-right: 1px solid #FFFFFF;
  border-bottom: 2px solid #FFFFFF;
  background-color: var(--rnw-bg3);
  font-size: 14px;
}

.rnw-plan .rnw-plan-option__value {
  padding: 12px;
  border-bottom: 2px solid #FFFFFF;
  background-color: var(--rnw-bg1);
  font-size: 14px;
}

.rnw-plan-option__sub {
  display: block;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.3;
}

/* SP：共通オプション表の列幅をFigmaどおり固定
   左から 20px / 130px / 残り */
@media only screen and (max-width: 767px) {
  .rnw-plan .rnw-plan-option__col-key { width: 20px; }
  .rnw-plan .rnw-plan-option__col-name { width: 130px; }
  .rnw-plan .rnw-plan-option__col-value { width: auto; }

  .rnw-plan .rnw-plan-option__key {
    width: 20px;
    min-width: 20px;
    max-width: 20px;
    padding-right: 0;
    padding-left: 0;
  }

  .rnw-plan .rnw-plan-option__name {
    width: 130px;
    min-width: 130px;
    max-width: 130px;
  }
}


/* =====================================================================
   10. プレミアムコースの特徴（Figma 830:18964 / 694:75678）
   service-nanny ページの Point 01-03 と同じ組み方
   ===================================================================== */

.rnw-plan-points__lead {
  width: 100%;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 1.2px;
  text-align: center;
}

.rnw-plan-points {
  display: flex;
  flex-direction: column;
  gap: 24px;
  width: 100%;
}

.rnw-plan-point {
  display: flex;
  flex-direction: column;
}

.rnw-plan-point__photo {
  width: 100%;
  height: 200px;
  margin-bottom: -57px;
  object-fit: cover;
}

.rnw-plan-point__card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
  padding: 16px;
  background-color: rgba(255, 255, 255, 0.9);
}

.rnw-plan-point__head {
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: center;
}

/* Figma トークン SP/text/point（Lusitana 32 / lh1） */
.rnw-plan-point__num {
  color: var(--rnw-accent);
  font-family: var(--rnw-font-en);
  font-size: 32px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 1.2px;
  white-space: pre;
}

.rnw-plan-point__title {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.216px;
}

.rnw-plan-point__text {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 1.2px;
}


/* --- ボタン（Figma 830:18997） --- */

.rnw-plan-actions {
  display: flex;
  flex-direction: column;
  gap: 32px;
  align-items: center;
  width: 100%;
}

.rnw-plan-textlink {
  display: flex;
  gap: 24px;
  align-items: center;
  color: var(--rnw-link);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 1.2px;
}

/* お問い合わせ・申込のボタン幅。
   ▼これまで .rnw-plan-btn--wide に指定が無く、.rnw-btn の width:100% のまま
     カード幅いっぱいに伸びていた。Figma 1738:19790 はPCで400px・中央。
     SPは従来どおり幅いっぱい。 */
.rnw-plan-btn--wide {
  width: 100%;
  max-width: 100%;
}

.rnw-plan-textlink__icon {
  width: 22px;
  height: 22px;
  color: var(--rnw-link);
}

body:not(.tab_view) .rnw-plan-textlink:hover { color: var(--rnw-link); }

/* =====================================================================
   10-1. 追従CTA（SPのみ。Figma 1297:34927 / 375×55.73）
   ---------------------------------------------------------------------
   画面下端に固定する4ボタン（エリア3つ＋新規入会）。
   ▼中のリンクはクラス名で拾わず a で拾う。固定ページ本文側が .rnw-btn の
     ままのことがあり、その場合ピルのまま白く残るため打ち消している。
   ▼最後の1本が「新規入会」。並び順を変えるときはここも直す。
   ▼リンクが1本も無いときは帯を出さない（白い帯だけ残るのを防ぐ）。
   1126px以上はPCのページ内ナビバーが出るので隠す。
   ===================================================================== */

.rnw-plan-cta {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: var(--rnw-z-pagenav);
  display: flex;
  gap: 2px;  /* Figma実測 1.923px */
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  background-color: #FFFFFF;
  box-shadow: 0 -10px 24px rgba(0, 0, 0, 0.08);  /* Figma dp-follow */
  box-sizing: border-box;
}

.rnw-plan-cta:not(:has(a)) { display: none; }

.rnw-plan-cta a {
  display: flex;
  flex: 1 0 0;
  min-width: 0;
  min-height: 56px;  /* Figma実測 55.73px */
  align-items: center;
  justify-content: center;
  gap: 0;
  padding: 8px 4px;
  border: 0;
  border-radius: 0;
  background-color: var(--rnw-main);  /* Figma nanny/main */
  color: var(--rnw-text);             /* Figma common/text/bk */
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 1.2px;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: none;
  box-sizing: border-box;
}

/* 本文側が .rnw-btn で入っていたときに付いてくる矢印アイコンは出さない */
.rnw-plan-cta a .rnw-btn__icon,
.rnw-plan-cta a .rnw-icon { display: none; }

.rnw-plan-cta a:last-child {
  border-left: 1px solid #FFFFFF;       /* Figma実測 0.962px */
  background-color: var(--rnw-accent);  /* Figma nanny/text/accent */
  color: #FFFFFF;
}

/* 帯に本文とフッターの末尾が隠れないよう、その高さぶんを空ける */
body { padding-bottom: 56px; }

@media only screen and (min-width: 1126px) {
  .rnw-plan-cta { display: none; }
  body { padding-bottom: 0; }
}


/* =====================================================================
   11. アコーディオン（スタンダードコース詳細／共通オプション料金／看護師訪問）
   Figma 830:19000（閉）／830:19936・830:20125・830:20086（開）
   ===================================================================== */

.rnw-plan-accordions {
  display: flex;
  flex-direction: column;
  width: 100%;
}

.rnw-plan-acc__summary {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: center;
  min-height: 55px;
  padding: 16px 8px;
  background-color: var(--rnw-accent);
  color: #FFFFFF;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 1.2px;
  text-align: center;
  cursor: pointer;
  list-style: none;
}

.rnw-plan-acc__summary::-webkit-details-marker { display: none; }

/* 開いている間はラベルが「閉じる」に変わる（Figma 830:19683） */
.rnw-plan-acc__label--close { display: none; }
.rnw-plan-acc[open] .rnw-plan-acc__label { display: none; }
.rnw-plan-acc[open] .rnw-plan-acc__label--close { display: block; }

.rnw-plan-acc__icon,
.rnw-plan-acc__close-icon {
  flex: 0 0 auto;
  width: 24px;
  height: 12px;
  color: currentColor;
}

.rnw-plan-acc[open] .rnw-plan-acc__icon { transform: rotate(180deg); }

.rnw-plan-acc__panel {
  display: flex;
  flex-direction: column;
  gap: 40px;
  padding: 24px 16px;
  border-radius: 8px 8px 0 0;
  background-color: #FFFFFF;
}

.rnw-plan-acc__body {
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: center;
  width: 100%;
}

/* パネル下端の「閉じる」。上端の帯と違い白地・アクセント文字 */
.rnw-plan-acc__close {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 16px 8px;
  border: 0;
  background-color: #FFFFFF;
  color: var(--rnw-accent);
  font-family: var(--rnw-font-jp);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 1.2px;
  cursor: pointer;
}

.rnw-plan-acc__close .rnw-plan-acc__close-icon { transform: rotate(180deg); }


/* =====================================================================
   12. その他の制度（Figma 694:76379）
   SPのデザインにのみ存在するセクション。PCでは出さない。
   ===================================================================== */

.rnw-plan-other {
  display: flex;
  flex-direction: column;
  gap: 32px;
  align-items: center;
  padding: 56px 16px;
  background-color: var(--rnw-bg2);
}

.rnw-plan-other__head {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 300px;
  max-width: 100%;
  padding: 24px 0;
  background-color: rgba(255, 255, 255, 0.9);
}

.rnw-plan-other__title {
  color: var(--rnw-text);
  font-family: var(--rnw-font-serif);
  font-size: 26px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 1.2px;
  text-align: center;
}

.rnw-plan-other__actions {
  display: flex;
  flex-direction: column;
  gap: 32px;
  width: 100%;
}

.rnw-plan-other__btn { text-align: left; }


/* =====================================================================
   13. PC（Figma 830:18627）
   ===================================================================== */

@media only screen and (min-width: 768px) {

  .rnw-plan {
    /* Figmaは1440px幅・コンテンツ1200px（左右120px） */
    --pc-pad: clamp(24px, 8.33vw, 120px);
    --pc-max: 1200px;
    padding-top: var(--rnw-header-h-pc);
  }

  .rnw-plan-br--sp { display: none; }
  .rnw-plan-br--pc { display: revert; }

  /* SPのデザインにしか無いセクション */
  .rnw-plan-other { display: none; }

  /* ---------- 2. リード ---------- */
  .rnw-plan-lead {
    align-items: center;
    padding: 24px;
  }

  .rnw-plan-lead__card {
    max-width: 1392px;
    padding: 40px clamp(24px, 5.56vw, 80px);
  }

  .rnw-plan-lead__head { gap: 8px; }
  .rnw-plan-lead__en   { font-size: 26px; letter-spacing: 6.87px; }
  .rnw-plan-lead__ja   { font-size: clamp(28px, 3.28vw, 42px); }
  .rnw-plan-lead__body { font-size: 16px; }

  /* ---------- 3. エリアを選ぶ ---------- */
  .rnw-plan-areanav {
    gap: 32px;
    padding: 56px var(--pc-pad);
  }

  .rnw-plan-areanav__title { font-size: 24px; }

  .rnw-plan-areanav__list {
    display: flex;
    gap: 12px;
    justify-content: center;
    width: 100%;
    max-width: var(--pc-max);
  }

  .rnw-plan-areanav__item { width: 200px; }

  .rnw-plan-areanav__link {
    justify-content: space-between;
    min-height: 48px;
    padding: 0 16px;
  }

  .rnw-plan-areanav__label {
    font-size: 18px;
    line-height: 1.3;
    white-space: nowrap;
  }

  /* ---------- 4. エリア別の料金 ---------- */
  .rnw-plan-areas {
    gap: 56px;
    align-items: center;
    padding: 80px var(--pc-pad);
  }

  .rnw-plan-area {
    width: 100%;
    max-width: var(--pc-max);
  }

  .rnw-plan-area__card { padding: 40px 80px; }

  .rnw-plan-area__title {
    margin-bottom: 40px;
    font-size: 24px;
  }

  .rnw-plan-anchor__list {
    display: flex;
    gap: 12px;
  }

  .rnw-plan-anchor__item {
    flex: 1 0 0;
    min-width: 0;
    min-height: 48px;
  }

  .rnw-plan-anchor__link {
    justify-content: space-between;
    min-height: 48px;
    padding: 0 16px;
  }

  .rnw-plan-anchor__label {
    line-height: 1.3;
    white-space: nowrap;
  }

  /* ブロックは40pxの余白＋1pxの罫線で区切る（Figma Vector 12/14/15/16） */
  .rnw-plan-area__body {
    gap: 0;
    margin-top: 40px;
  }

  .rnw-plan-block {
    padding: 40px 0;
    border-top: 1px solid var(--rnw-plan-rule);
  }

  .rnw-plan-block:last-child { padding-bottom: 0; }

  .rnw-plan-block__title { line-height: 1.8; }

  /* ---------- 5. コースの比較表 ---------- */
  .rnw-plan-hikaku { padding: 0 80px; }  /* ▼ 2026-09-01 14章で上書き（左右0にして表を広く） */

  .rnw-plan .rnw-plan-hikaku__table { min-width: 0; }

  .rnw-plan .rnw-plan-hikaku__head {
    width: 320px;
    padding: 12px 27px;
    font-size: 16px;
  }

  .rnw-plan .rnw-plan-hikaku__label { font-size: 16px; }

  .rnw-plan .rnw-plan-hikaku__cell { padding: 8px 16px; }

  .rnw-plan-hikaku__cell::after {
    right: 16px;
    left: 16px;
  }

  .rnw-plan-hikaku__mark {
    width: 32px;
    height: 32px;
  }

  /* Figma実測 400×55.7・中央 */
  .rnw-plan-btn--wide {
    width: 400px;
    margin-inline: auto;
  }

  /* ---------- 6. 対象エリア ---------- */
  /* .rnw-plan-arealist { grid-template-columns: repeat(3, 1fr); }  */
   /* ▼ 2026-09-01 14章で上書き（≤1120pxはSP相当の1列） */

   .rnw-plan-arealist--7 {
    grid-template-columns: repeat(12, 1fr);
  }

  /* 1段目：4枚 */
  .rnw-plan-arealist--7 .rnw-plan-arealist__row:nth-child(-n + 4) {
    grid-column: span 3;
  }

  /* 2段目：3枚 */
  .rnw-plan-arealist--7 .rnw-plan-arealist__row:nth-child(n + 5) {
    grid-column: span 4;
  }

  .rnw-plan-arealist--6,
  .rnw-plan-arealist--3 {
    grid-template-columns: repeat(3, 1fr);
  }

  .rnw-plan-arealist__pref,
  .rnw-plan-arealist__value { font-size: 16px; }
  
  .rnw-plan-icon-text {
    font-size: 12px;
  }
 .rnw-plan-label-text {
    font-size: 12px;
    color: #626262;
  }


  /* ---------- 8-9. 料金表・オプション表 ---------- */
  .rnw-plan .rnw-plan-price__group-cell,
  .rnw-plan .rnw-plan-price__td,
  .rnw-plan .rnw-plan-option__value { font-size: 16px; }

  .rnw-plan .rnw-plan-price__col-label { width: 300px; }

  .rnw-plan .rnw-plan-price__th {
    width: 300px;
    font-size: 16px;
  }

  .rnw-plan .rnw-plan-option__key {
    width: 100px;
    font-size: 16px;
  }

  .rnw-plan .rnw-plan-option__name {
    width: 300px;
    font-size: 16px;
  }

  /* ---------- 10. プレミアムコースの特徴 ---------- */
  .rnw-plan-points {
    display: grid;
    grid-template-columns: repeat(3, 1fr);  /* ▼ 2026-09-01 14章で上書き（≤960pxは1列） */
    gap: 24px;
  }

  .rnw-plan-point { height: 100%; }
  .rnw-plan-point__photo { margin-bottom: -40px; }
  .rnw-plan-point__card { flex: 1; }

  /* ---------- 11. アコーディオン ---------- */
  .rnw-plan-acc__panel {
    gap: 40px;
    padding: 24px 40px;
  }
}


/* =====================================================================
   14. 調整ログ（2026-09-01～）
   ---------------------------------------------------------------------
   既存章の後に日付順で追記する調整履歴。
   ・SP/PCで値を分ける場合は必ず @media で包む。
   ・元が複合セレクタなら同等以上の詳細度で書く。
   ===================================================================== */

/* --- 2026-09-01 コース比較表：プレミアム/スタンダード列を幅に応じて滑らかに縮小（clamp）。広い幅で320px=元のまま、狭くなるほど縮む（最小120px）（PC上書き） --- */
/* calc(32vw-125px) で幅に比例して縮み、上限320・下限120で clamp。nowrap＋padding-inline12px で見出しが最小幅に収まるように。 */
@media only screen and (min-width: 768px) {
  .rnw-plan .rnw-plan-hikaku__head {
    width: clamp(112px, calc(34vw - 165px), 320px);
    white-space: nowrap;
    padding-inline: 8px;
  }
}

/* --- 2026-09-01 コース比較表：ラッパの左右余白80pxを、広いPCでは元の80px・狭くなるほど詰めて0に（PC上書き） --- */
/* clamp(0, 20vw-200px, 80px)：約1400px以上で80px（元のまま）、約1000px以下で0。間は滑らかに減少。 */
@media only screen and (min-width: 768px) {
  .rnw-plan-hikaku { padding-inline: clamp(0px, calc(20vw - 200px), 80px); }
}

/* --- 2026-09-01 対象エリア：PC途中～タブレット（≤1120px）は SP 相当の1列にする。>1120pxは従来の3列（PC上書き） --- */
@media only screen and (min-width: 768px) and (max-width: 1120px) {
  .rnw-plan-arealist { grid-template-columns: 1fr; }
}

/* --- 2026-09-01 プレミアムの特徴（points）：タブレット途中（≤960px）から1列（SP相当のflex縦積み）にする。>960pxは3列（PC上書き） --- */
@media only screen and (min-width: 768px) and (max-width: 960px) {
  .rnw-plan-points { display: flex; flex-direction: column; }
}