@charset "UTF-8";
/* ============================================================
   monitor.css — モニター募集 /monitor/ 独立デザイン
   ------------------------------------------------------------
   Figma「モニター募集」(node 2196:11187) 準拠。
   スコープ：.p-monitor 配下のみ。共通部品（.p-hero / .section-title）は
   lower.css / top.css のものをそのまま使う。

   透かし英字の色ルール（Figma抽出）：
     ティール帯 → 白 15% ／ 青グレー地(#E6EEF1)・黒見出し → #727576 15%
     白地・青見出し → #51B8C8 15%

   構成：
     01. ページ内リンク（アンカー）
     02. モニター特設サイト（Special Site・バナー）
     03. モニター一覧（Monitor Lineup・プランカード＋料金表）
     04. モニター概要（Summary・応募条件／応募の流れ）
     05. よくある質問（FAQ）
     06. モニターお申し込み（Apply・CTA）
     07. レスポンシブ
============================================================ */

.p-monitor {
  --mo-sale: #e54346;   /* モニター価格の赤（LPの --lp-sale と同一） */
  --mo-text: #727576;   /* Figmaテキスト色 */
  --mo-line: #d9c9a3;   /* 表罫線のゴールド淡色 */
}

/* アンカー着地位置（固定ヘッダーぶん下げる） */
.p-monitor section[id] {
  scroll-margin-top: 110px;
}

/* ------------------------------------------------------------
   共通：セクション見出し（透かし英字＋羽アイコン）
------------------------------------------------------------ */
.p-monitor .section-title {
  text-align: center;
}
/* ティール帯上はデフォルト（白）を薄く */
.p-monitor__special .section-title__en,
.p-monitor__lineup .section-title__en {
  opacity: .15;
}
/* 青グレー地・黒見出し */
.p-monitor__summary .section-title__en {
  color: var(--mo-text);
  opacity: .15;
}
.p-monitor__summary .section-title__ja {
  color: var(--c-text-dark);
}
/* 白地・青見出し */
.p-monitor__faq .section-title__en {
  color: var(--c-teal);
  opacity: .15;
}
.p-monitor__faq .section-title__ja {
  color: var(--c-teal);
}

/* ------------------------------------------------------------
   01. ページ内リンク
------------------------------------------------------------ */
.p-monitor__links {
  padding: 108px 24px 0; /* ヒーローCVバーが59px食い込むため、埋もれない位置まで下げる */
  background: var(--c-teal-bg);
}
.p-monitor__links-list {
  list-style: none;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 18px 56px;
}
.p-monitor__links-list a {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(255, 255, 255, .75);
  font-family: var(--ff-serif);
  font-size: 16px;
  letter-spacing: .12em;
  color: var(--c-white);
  transition: opacity .2s;
}
.p-monitor__links-list a::after {
  content: "";
  width: 8px;
  height: 8px;
  margin-bottom: 4px;
  border-right: 1px solid var(--c-white);
  border-bottom: 1px solid var(--c-white);
  transform: rotate(45deg);
}
.p-monitor__links-list a:hover {
  opacity: .7;
}

/* ------------------------------------------------------------
   02. モニター特設サイト（Special Site）
------------------------------------------------------------ */
.p-monitor__special {
  padding: 72px 24px 100px;
  background: var(--c-teal-bg);
}
.p-monitor__banners {
  list-style: none;
  max-width: 1443px;
  margin: 48px auto 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px 24px;
}
/* バナー＝テキスト込みの完成画像をそのまま貼るリンク（金の細枠付き）。
   高さは画像の比率なり（推奨素材：約2.5:1・1000×400px目安） */
.p-monitor__banner {
  display: block;
  background: #fff;
  border: 1px solid var(--c-gold-light);
  box-shadow: 0 10px 26px rgba(21, 83, 92, .22);
  overflow: hidden;
  transition: transform .25s, box-shadow .25s;
}
.p-monitor__banner:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 34px rgba(21, 83, 92, .3);
}
.p-monitor__banner-img {
  display: block;
  width: 100%;
  height: auto;
}

/* ------------------------------------------------------------
   03. モニター一覧（Monitor Lineup）
------------------------------------------------------------ */
.p-monitor__lineup {
  padding: 24px 24px 120px;
  background: var(--c-teal-bg);
}
.p-monitor__plan {
  max-width: 1200px;
  margin: 48px auto 0;
  background: #fff;
  box-shadow: 0 12px 30px rgba(21, 83, 92, .18);
}
.p-monitor__plan + .p-monitor__plan {
  margin-top: 40px;
}
.p-monitor__plan-main {
  display: flex;
  gap: 48px;
  align-items: flex-start;
  padding: 52px 56px 40px;
}
.p-monitor__plan-text {
  flex: 1 1 58%;
  min-width: 0;
}
.p-monitor__plan-title {
  display: inline-block;
  margin: 0;
  padding: 0 24px 10px 0;
  border-bottom: 1px solid var(--c-teal);
  font-family: var(--ff-serif);
  font-size: 26px;
  font-weight: 400;
  letter-spacing: .12em;
  color: var(--c-text-dark);
}
.p-monitor__plan-desc {
  margin: 12px 0 0;
  font-size: 14px;
  line-height: 1.4;
  letter-spacing: .06em;
  color: var(--mo-text);
}
.p-monitor__plan-title + .p-monitor__plan-desc { margin-top: 26px; } /* 見出し下の間隔は従来どおり */
/* 料金例：PC=2行（ラベル行＋価格行）／SP=3行（価格行を縦積み） */
.p-monitor__plan-price {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  margin: 30px 0 0;
}
.p-monitor__plan-case {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.p-monitor__plan-case-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  background: var(--c-gold-light); /* 「もっと詳しく見る」ボタンと同色 */
  color: #fff;
  font-family: var(--ff-serif);
  font-size: 13px;
}
.p-monitor__plan-case-txt {
  font-family: var(--ff-serif);
  font-size: 15px;
  letter-spacing: .14em;
  color: var(--c-text-dark);
}
.p-monitor__plan-price-line {
  display: flex;
  align-items: baseline;
  gap: 20px;
}
.p-monitor__plan-price-regular {
  font-family: var(--ff-en);
  font-size: 14px;
  letter-spacing: .05em;
  color: #9aa0a2;
}
.p-monitor__plan-price-regular s {
  text-decoration-thickness: 1px;
  text-decoration-color: #b9bfc1;
}
.p-monitor__plan-price-mon {
  display: inline-flex;
  align-items: baseline;
  gap: 10px;
  color: var(--mo-sale);
}
.p-monitor__plan-price-mon-label {
  font-family: var(--ff-serif);
  font-size: 13px;
  letter-spacing: .14em;
}
.p-monitor__plan-price-num {
  font-family: var(--ff-en); /* 数字はCormorant不可（字形サイズが揃わない）→游明朝 */
  font-size: 34px;
  font-weight: 400;
  letter-spacing: .05em;
  line-height: 1;
}
.p-monitor__plan-price-tax {
  font-size: 12px;
  letter-spacing: .08em;
}
.p-monitor__plan-img {
  flex: 0 0 370px;
  margin: 0;
}
.p-monitor__plan-img img {
  display: block;
  width: 100%;
  aspect-ratio: 37 / 25;
  object-fit: cover;
}

/* もっと詳しく見る（アコーディオン） */
.p-monitor__plan-more {
  padding: 0 56px 56px;
}
.p-monitor__plan-more summary {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 14px 16px;
  background: var(--c-gold-light);
  font-family: var(--ff-serif);
  font-size: 17px;
  letter-spacing: .3em;
  color: #fff;
  cursor: pointer;
  transition: opacity .2s;
}
.p-monitor__plan-more summary:hover {
  opacity: .85;
}
.p-monitor__plan-more summary::-webkit-details-marker {
  display: none;
}
.p-monitor__plan-more summary::after {
  content: "";
  width: 9px;
  height: 9px;
  margin-top: -4px;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  transform: rotate(45deg);
  transition: transform .2s, margin .2s;
}
.p-monitor__plan-more[open] summary::after {
  margin-top: 5px;
  transform: rotate(225deg);
}

/* 料金表 */
.p-monitor__table {
  width: 100%;
  max-width: 1000px;
  margin: 44px auto 0;
  border-collapse: collapse;
}
.p-monitor__table th,
.p-monitor__table td {
  padding: 14px 10px;
  font-weight: 400;
  letter-spacing: .06em;
}
.p-monitor__table thead th {
  font-family: var(--ff-serif);
  font-size: 17px;
  color: var(--c-teal);
  border-bottom: 1px solid var(--c-teal);
}
.p-monitor__table thead th:first-child {
  text-align: left;
  padding-left: 16px;
}
.p-monitor__table thead th:not(:first-child) {
  text-align: right;
  padding-right: 16px;
}
.p-monitor__table tbody th {
  text-align: left;
  padding-left: 16px;
  font-family: var(--ff-serif);
  font-size: 15px;
  color: var(--c-text-dark);
}
.p-monitor__table tbody td {
  text-align: right;
  padding-right: 16px;
  font-family: var(--ff-en); /* 数字はCormorant不可 */
  font-size: 16px;
  color: var(--c-text-dark);
}
.p-monitor__table tbody td.is-monitor {
  color: var(--mo-sale);
}
.p-monitor__table tbody tr {
  border-bottom: 1px solid var(--mo-line);
}

/* カード内の募集条件（料金表の下。見出しは料金表の見出しと同じ見え方、箇条書きは「応募条件」と同じ部品） */
.p-monitor__plan-cond {
  max-width: 1000px;
  margin: 44px auto 0;
}
.p-monitor__plan-cond-title {
  margin: 0;
  padding: 0 16px 14px;
  border-bottom: 1px solid var(--c-teal);
  font-family: var(--ff-serif);
  font-size: 17px;
  font-weight: 400;
  letter-spacing: .06em;
  color: var(--c-teal);
}
.p-monitor__plan-cond .p-monitor__conditions-list {
  margin-top: 16px;
  padding: 0 16px;
}

/* カード内CTA */
.p-monitor__plan-cta {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 28px;
  margin: 48px auto 0;
}
.p-monitor__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  min-width: 340px;
  min-height: 56px;
  padding: 10px 32px;
  border-radius: 999px;
  font-family: var(--ff-serif);
  font-size: 16px;
  letter-spacing: .1em;
  transition: opacity .2s, transform .2s;
}
.p-monitor__btn:hover {
  opacity: .8;
  transform: translateY(-2px);
}
.p-monitor__btn::after {
  content: "";
  width: 34px;
  height: 7px;
  border-bottom: 1px solid currentColor;
  border-right: 1px solid currentColor;
  transform: skewX(55deg);
  margin-bottom: 4px;
}
.p-monitor__btn--outline {
  border: 1px solid var(--c-teal);
  background: #fff;
  color: var(--c-teal);
}
.p-monitor__btn--fill {
  border: 1px solid var(--c-teal);
  background: var(--c-teal);
  color: #fff;
}
.p-monitor__plan-links {
  list-style: none;
  display: flex;
  justify-content: center;
  gap: 48px;
  margin: 30px 0 0;
  padding: 0;
}
.p-monitor__plan-links a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding-bottom: 6px;
  border-bottom: 1px solid rgba(78, 81, 79, .45);
  font-family: var(--ff-serif);
  font-size: 14px;
  letter-spacing: .1em;
  color: var(--c-text-dark);
}
.p-monitor__plan-links a::after {
  content: "";
  width: 7px;
  height: 7px;
  margin-bottom: 3px;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  transform: rotate(45deg);
}
.p-monitor__plan-links a:hover {
  color: var(--c-gold);
  border-bottom-color: var(--c-gold);
}

/* 一覧の折りたたみ（11件目以降）と「もっと見る」 */
.p-monitor__plan.is-folded {
  display: none;
}
.p-monitor__more {
  margin: 48px 0 0;
  text-align: center;
}
.p-monitor__more-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  min-width: 340px;
  min-height: 56px;
  padding: 10px 36px;
  border: 1px solid #fff;
  border-radius: 999px;
  background: transparent;
  font-family: var(--ff-serif);
  font-size: 16px;
  letter-spacing: .1em;
  color: #fff;
  cursor: pointer;
  transition: background .2s, color .2s;
}
.p-monitor__more-btn::after {
  content: "";
  width: 9px;
  height: 9px;
  margin-top: -5px;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  transform: rotate(45deg);
}
.p-monitor__more-btn:hover {
  background: #fff;
  color: var(--c-teal);
}
/* バナーなし（特設セクション非表示）のときは一覧が先頭に来るので上余白を確保 */
.p-monitor__lineup--first {
  padding-top: 72px;
}

/* ------------------------------------------------------------
   04. モニター概要（Summary）
------------------------------------------------------------ */
.p-monitor__summary {
  padding: 96px 24px 110px;
  background: #e6eef1; /* Figma変数「背景グレー」 */
}
.p-monitor__summary-lead {
  margin: 40px auto 0;
  max-width: 860px;
  font-size: 15px;
  line-height: 2;
  letter-spacing: .08em;
  color: var(--mo-text);
  text-align: center;
}
.p-monitor__summary-lead + .p-monitor__summary-lead {
  margin-top: 22px;
}
.p-monitor__conditions {
  max-width: 990px;
  margin: 56px auto 0;
  padding: 34px 44px 40px;
  background: #fff;
  border: 1px solid rgba(81, 184, 200, .55);
}
.p-monitor__conditions-title {
  margin: 0;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--c-teal);
  font-family: var(--ff-serif);
  font-size: 21px;
  font-weight: 400;
  letter-spacing: .14em;
  color: var(--c-teal);
}
.p-monitor__conditions-list {
  list-style: none;
  margin: 22px 0 0;
  padding: 0;
}
.p-monitor__conditions-list li {
  position: relative;
  padding-left: 18px;
  font-size: 14px;
  line-height: 2;
  letter-spacing: .06em;
  color: var(--c-text-dark);
}
.p-monitor__conditions-list li::before {
  content: "";
  position: absolute;
  left: 2px;
  top: .95em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--c-teal);
}

/* 応募の流れ */
.p-monitor__flow {
  max-width: 1430px;
  margin: 72px auto 0;
}
.p-monitor__flow-head {
  margin: 0;
  padding: 10px 16px;
  background: var(--c-teal);
  font-family: var(--ff-serif);
  font-size: 19px;
  font-weight: 400;
  letter-spacing: .3em;
  color: #fff;
  text-align: center;
}
.p-monitor__steps {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  margin: 28px 0 0;
  padding: 0;
  counter-reset: mo-step;
}
.p-monitor__step {
  position: relative;
  background: #fff;
  padding-bottom: 30px;
  box-shadow: 0 6px 18px rgba(21, 83, 92, .08);
  text-align: center;
}
/* ステップ間のゴールド矢印 */
.p-monitor__step:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -19px;
  transform: translateY(-50%);
  border-left: 13px solid var(--c-gold-light);
  border-top: 11px solid transparent;
  border-bottom: 11px solid transparent;
  z-index: 1;
}
.p-monitor__step-img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  display: block;
  background: #d9d9d9;
}
.p-monitor__step-no {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 8px;
  margin-top: 20px;
  font-family: var(--ff-en); /* ::afterの番号を含むためCormorant不可 */
  color: var(--c-teal);
}
.p-monitor__step-no small {
  font-size: 14px;
  letter-spacing: .08em;
  color: var(--c-gold);
}
.p-monitor__step-no::after {
  counter-increment: mo-step;
  content: "0" counter(mo-step);
  font-size: 26px;
  letter-spacing: .04em;
}
.p-monitor__step-title {
  margin: 10px 14px 0;
  font-family: var(--ff-serif);
  font-size: 17px;
  font-weight: 400;
  line-height: 2;
  letter-spacing: .1em;
  color: var(--c-text-dark);
}
.p-monitor__step-note {
  display: block;
  margin-top: 4px;
  font-size: 12px;
  letter-spacing: .06em;
  color: var(--mo-text);
}

/* ------------------------------------------------------------
   05. よくある質問（FAQ）
------------------------------------------------------------ */
.p-monitor__faq {
  padding: 96px 24px 110px;
  background: #fff;
}
.p-monitor__faq-list {
  max-width: 800px;
  margin: 28px auto 0;
}
.p-monitor__faq-item {
  border-bottom: 1px solid rgba(81, 184, 200, .45);
}
.p-monitor__faq-item summary {
  list-style: none;
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 26px 8px 18px 0;
  cursor: pointer;
}
.p-monitor__faq-item summary::-webkit-details-marker {
  display: none;
}
.p-monitor__faq-q,
.p-monitor__faq-a {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  font-family: var(--ff-en-serif);
  font-size: 16px;
  color: #fff;
}
.p-monitor__faq-q {
  background: var(--c-teal);
}
.p-monitor__faq-a {
  background: var(--c-gold-light);
}
.p-monitor__faq-question {
  flex: 1;
  font-family: var(--ff-serif);
  font-size: 18px;
  letter-spacing: .1em;
  color: var(--c-text-dark);
}
.p-monitor__faq-item summary::after {
  content: "";
  width: 9px;
  height: 9px;
  border-right: 1px solid var(--c-teal);
  border-bottom: 1px solid var(--c-teal);
  transform: rotate(45deg);
  transition: transform .2s;
  margin-top: -4px;
}
.p-monitor__faq-item[open] summary::after {
  transform: rotate(225deg);
  margin-top: 5px;
}
.p-monitor__faq-answer {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  padding: 2px 8px 24px 0;
}
.p-monitor__faq-answer p {
  margin: 7px 0 0;
  font-size: 14px;
  line-height: 2;
  letter-spacing: .06em;
  color: var(--mo-text);
}

/* ------------------------------------------------------------
   06. モニターお申し込み（Apply）
------------------------------------------------------------ */
.p-monitor__apply {
  padding: 88px 24px 96px;
  background: var(--c-teal-bg);
}
.p-monitor__apply-card {
  max-width: 1200px;
  margin: 0 auto;
  padding: 56px 40px 64px;
  background: #fff;
  border-top: 1px solid var(--c-gold);
  border-bottom: 1px solid var(--c-gold);
  text-align: center;
}
.p-monitor__apply-title {
  margin: 0;
  font-family: var(--ff-serif);
  font-size: 30px;
  font-weight: 400;
  letter-spacing: .14em;
  color: var(--c-teal);
}
.p-monitor__apply-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  max-width: 1100px;
  margin: 40px auto 0;
}
.p-monitor__apply-box {
  padding: 34px 36px 26px;
  background: #3a4041;
}
.p-monitor__apply-box-title {
  margin: 0;
  font-family: var(--ff-serif);
  font-size: 23px;
  font-weight: 400;
  letter-spacing: .12em;
  color: #bfe6ee;
}
.p-monitor__apply-btn {
  display: flex;
  align-items: center;
  margin-top: 24px;
  min-height: 60px;
  background: linear-gradient(135deg, #c3a04c 0%, #d4bc8c 100%);
  transition: opacity .2s, transform .2s;
}
.p-monitor__apply-btn:hover {
  opacity: .85;
  transform: translateY(-2px);
}
.p-monitor__apply-btn-icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  align-self: stretch;
  background: rgba(146, 121, 87, .55);
}
.p-monitor__apply-btn-icon svg {
  width: 26px;
  height: 26px;
  fill: none;
  stroke: #fff;
  stroke-width: 1.5;
}
.p-monitor__apply-btn-label {
  flex: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  font-family: var(--ff-serif);
  font-size: 17px;
  letter-spacing: .12em;
  color: #fff;
}
.p-monitor__apply-btn-label::after {
  content: "";
  width: 32px;
  height: 7px;
  border-bottom: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: skewX(55deg);
  margin-bottom: 4px;
}
.p-monitor__apply-note {
  margin: 14px 0 0;
  font-family: var(--ff-serif);
  font-size: 13px;
  letter-spacing: .1em;
  color: #fff;
}

/* ------------------------------------------------------------
   07. レスポンシブ
------------------------------------------------------------ */
@media (max-width: 1024px) {
  .p-monitor__banners {
    grid-template-columns: repeat(2, 1fr);
    max-width: 900px;
  }
  .p-monitor__steps {
    grid-template-columns: repeat(2, 1fr);
    max-width: 720px;
    margin-inline: auto;
  }
  .p-monitor__step:nth-child(2)::after {
    display: none; /* 2カラム折返し位置の矢印は消す */
  }
  .p-monitor__plan-main {
    flex-direction: column;
    gap: 28px;
  }
  .p-monitor__plan-img {
    flex-basis: auto;
    width: 100%;
    max-width: 480px;
    margin-inline: auto;
  }
  .p-monitor__apply-grid {
    grid-template-columns: 1fr;
    max-width: 640px;
  }
}

@media (max-width: 768px) {
  .p-monitor section[id] {
    scroll-margin-top: 80px;
  }
  .p-monitor__links {
    padding: 28px 12px 0;
  }
  .p-monitor__links-list {
    gap: 14px 28px;
  }
  .p-monitor__links-list a {
    font-size: 14px;
    padding-bottom: 7px;
  }
  .p-monitor__special,
  .p-monitor__lineup,
  .p-monitor__summary,
  .p-monitor__faq,
  .p-monitor__apply {
    padding: 56px 12px 64px;
  }
  .p-monitor__banners {
    grid-template-columns: 1fr;
    max-width: 480px;
    gap: 20px;
    margin-top: 32px;
  }
  .p-monitor__plan {
    margin-top: 32px;
  }
  .p-monitor__plan-main {
    padding: 32px 12px 24px;
  }
  .p-monitor__plan-title {
    font-size: 21px;
  }
  .p-monitor__plan-price-line {
    flex-direction: column; /* SPは通常価格とモニター価格を縦積み（計3行） */
    align-items: flex-start;
    gap: 6px;
  }
  .p-monitor__plan-price-num {
    font-size: 28px;
  }
  .p-monitor__plan-more {
    padding: 0 12px 32px;
  }
  .p-monitor__plan-more summary {
    font-size: 15px;
    letter-spacing: .2em;
  }
  .p-monitor__table {
    margin-top: 28px;
  }
  .p-monitor__table thead th {
    font-size: 13px;
    padding: 10px 6px;
  }
  .p-monitor__table tbody th {
    font-size: 13px;
    padding: 10px 6px 10px 2px;
  }
  .p-monitor__table tbody td {
    font-size: 13px;
    padding: 10px 2px;
  }
  .p-monitor__plan-cond {
    margin-top: 28px;
  }
  .p-monitor__plan-cond-title {
    padding: 0 6px 10px;
    font-size: 13px;
  }
  .p-monitor__plan-cond .p-monitor__conditions-list {
    margin-top: 12px;
    padding: 0 2px;
  }
  .p-monitor__plan-cond .p-monitor__conditions-list li {
    font-size: 13px;
  }
  .p-monitor__plan-cta {
    gap: 14px;
    margin-top: 32px;
  }
  .p-monitor__btn {
    width: 100%;
    min-width: 0;
  }
  .p-monitor__plan-links {
    flex-wrap: wrap;
    gap: 14px 28px;
  }
  .p-monitor__summary-lead {
    margin-top: 28px;
    font-size: 14px;
    text-align: left;
  }
  .p-monitor__conditions {
    margin-top: 36px;
    padding: 24px 12px 28px;
  }
  .p-monitor__conditions-title {
    font-size: 18px;
  }
  .p-monitor__flow {
    margin-top: 48px;
  }
  .p-monitor__flow-head {
    font-size: 16px;
  }
  .p-monitor__steps {
    grid-template-columns: 1fr;
    max-width: 400px;
    gap: 30px;
  }
  .p-monitor__step::after {
    display: none !important;
  }
  .p-monitor__faq-list {
    margin-top: 16px;
  }
  .p-monitor__faq-item summary {
    gap: 12px;
    padding: 20px 4px 14px 0;
  }
  .p-monitor__faq-q,
  .p-monitor__faq-a {
    width: 28px;
    height: 28px;
    font-size: 14px;
  }
  .p-monitor__faq-question {
    font-size: 15px;
  }
  .p-monitor__faq-answer {
    gap: 12px;
  }
  .p-monitor__apply-card {
    padding: 36px 12px 40px;
  }
  .p-monitor__apply-title {
    font-size: 22px;
  }
  .p-monitor__apply-grid {
    margin-top: 28px;
    gap: 18px;
  }
  .p-monitor__apply-box {
    padding: 24px 12px 20px;
  }
  .p-monitor__apply-box-title {
    font-size: 19px;
  }
  .p-monitor__apply-btn-label {
    gap: 10px;
    padding: 0 10px;
    font-size: 15px;
    letter-spacing: .08em;
  }
  .p-monitor__apply-btn-label::after { width: 24px; } /* 長いラベル（カウンセリングを予約する）で矢印が端に付かないように */
  .p-monitor__more-btn {
    width: 100%;
    min-width: 0;
  }
}

@media (max-width: 374px) {
  .p-monitor__apply-btn-label { font-size: 14px; letter-spacing: .04em; white-space: nowrap; }
}
