/* =========================================================
   治療詳細ページ（痔核根治手術／いぼ痔の手術）treatment.css
   Figma node 287-1424 (pc__pc) 忠実再現。
   ヘッダーは新町共通(main.css)、INFORMATION/フッターは本院用。
   カラーはmain.cssの :root 変数を利用（緑 #003e80 / #407ec0）。
   ========================================================= */

:root {
	--tp-purple: #a46fc4;      /* 本院アクセント紫 */
	--tp-purple-l: #f0e6f6;
	--tp-purple-mid: #c9a3e0;
	--tp-pink-l: #fcecf3;
}

.tpage { color: var(--ink-2); font-size: 16px; line-height: 1.9; }
.tp-container { max-width: 1120px; margin: 0 auto; padding: 0 32px; }
.tpage p { margin: 0 0 1.6em; }
.tpage p:last-child { margin-bottom: 0; }

/* ---------- HERO ---------- */
.tp-hero {
	position: relative; height: 340px; display: flex; align-items: center; justify-content: center;
	background: linear-gradient(120deg, #b98fcf 0%, #caa0dd 45%, #e6d3ef 100%);
	overflow: hidden;
}
/* 新町・人間ドック配下の下層ページ用（緑基調ヒーロー） */
.tp-hero--green { background: linear-gradient(120deg, #0a488a 0%, #2f6aa9 48%, #7fa6d0 100%); }
.tp-hero--green .tp-hero__title { text-shadow: 0 2px 16px rgba(0, 29, 60,.3); }
.tp-hero__bg { position: absolute; inset: 0; z-index: 0; opacity: .55; }
.tp-hero__bg img { width: 100%; height: 100%; object-fit: cover; object-position: center; mix-blend-mode: soft-light; }
.tp-hero__title {
	position: relative; z-index: 1; margin: 0;
	font-family: var(--f-serif-jp); font-weight: 600; color: #fff;
	font-size: clamp(28px, 4vw, 46px); letter-spacing: .08em;
	text-shadow: 0 2px 16px rgba(90,50,120,.35);
}

/* ---------- breadcrumb ---------- */
.tp-crumb { max-width: 1120px; margin: 0 auto; padding: 18px 32px 0; font-size: 13px; color: var(--muted); }
.tp-crumb a { color: var(--muted); }
.tp-crumb a:hover { color: var(--green-primary); }
.tp-crumb span { color: var(--ink-2); }

/* ---------- 本文ブロック ---------- */
.tp-body { padding: 40px 0 90px; }
.tp-intro { margin-bottom: 20px; }
.tp-intro p { font-size: 16px; }

/* H2: 緑・下線太 */
.tp-h2 {
	font-family: var(--f-serif-jp); font-weight: 600; color: var(--green-primary);
	font-size: clamp(24px, 3vw, 34px); letter-spacing: .06em; line-height: 1.4;
	margin: 64px 0 26px; padding-bottom: 16px; border-bottom: 3px solid var(--green-primary);
}
.tp-h2:first-child { margin-top: 0; }

/* H3: 明朝・細下線 */
.tp-h3 {
	font-family: var(--f-serif-jp); font-weight: 600; color: var(--ink);
	font-size: clamp(19px, 2.1vw, 24px); letter-spacing: .04em;
	margin: 40px 0 18px; padding-bottom: 12px; border-bottom: 1px solid var(--line-2);
}

/* ---------- 重症度リスト（1度〜4度） ---------- */
.tp-grades { margin: 24px 0 8px; }
.tp-grade {
	display: grid; grid-template-columns: 120px 1fr; align-items: center; gap: 24px;
	padding: 16px 6px; border-bottom: 1px solid var(--line);
}
.tp-grade__label {
	display: inline-block; text-align: center; color: #fff; font-weight: 700; font-size: 15px;
	background: linear-gradient(135deg, #5289c4, #407ec0); border-radius: 4px; padding: 7px 4px;
}
.tp-grade__desc { color: var(--ink-2); font-size: 15px; }

/* ---------- 術式ブロック（①② 2カラム / ③ フル） ---------- */
.tp-method { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: start; margin: 34px 0; }
.tp-method__col { min-width: 0; }
.tp-method__bar {
	background: linear-gradient(135deg, #5289c4, #407ec0); color: #fff;
	font-weight: 700; font-size: clamp(15px, 1.5vw, 18px); line-height: 1.5;
	padding: 14px 22px; border-radius: 6px; margin-bottom: 20px;
}
.tp-method__bar small { display: inline; font-size: .92em; font-weight: 700; }
.tp-method__text { font-size: 15px; }
.tp-method__img img { width: 100%; border-radius: 8px; }

/* ③ フル幅見出し + 中央図 + 比較グリッド */
.tp-method--full { display: block; }
.tp-method--full .tp-method__bar { margin-bottom: 26px; }
.tp-method__hero-img { max-width: 560px; margin: 0 auto 26px; }
.tp-method__hero-img img { width: 100%; border-radius: 8px; }
.tp-compare { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin-top: 26px; }
.tp-compare__item img { width: 100%; border-radius: 8px; }

/* ---------- チェックリスト（こんな方は） ---------- */
.tp-checklist {
	background: var(--tp-purple-l); border-radius: 10px; padding: 34px 40px; margin-top: 24px;
}
.tp-checklist li {
	position: relative; padding: 9px 0 9px 38px; font-weight: 700; color: var(--ink); font-size: 16px;
}
.tp-checklist li::before {
	content: ""; position: absolute; left: 0; top: 12px; width: 22px; height: 22px;
	border: 2px solid var(--green-accent); border-radius: 4px;
	background:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2340c098' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12l6 6L20 5'/%3E%3C/svg%3E") center/15px no-repeat;
}

/* ---------- 本文メディア / リスト（下層原稿用） ---------- */
.tp-figure { margin: 24px 0 8px; }
.tp-figure img { width: 100%; border-radius: 8px; }
.tp-figure video { width: 100%; border-radius: 8px; background: #000; display: block; }
.tp-media .tp-figure { margin: 0; }
.tp-figure--center { max-width: 560px; margin-left: auto; margin-right: auto; }
.tp-figcap { margin-top: 8px; font-size: 13px; color: var(--muted); text-align: center; }

.tp-media { margin: 24px 0 8px; display: grid; gap: 18px; }
.tp-media--2 { grid-template-columns: 1fr 1fr; }
.tp-media--3 { grid-template-columns: repeat(3, 1fr); }
.tp-media video, .tp-media img { width: 100%; border-radius: 8px; background: #000; display: block; }
.tp-media img { background: transparent; }

.tp-list { margin: 20px 0; padding: 26px 32px; background: var(--green-mist); border-radius: 10px; }
.tp-list li { position: relative; padding: 8px 0 8px 22px; font-size: 16px; color: var(--ink-2); }
.tp-list li::before { content: "・"; position: absolute; left: 0; color: var(--green-accent); font-weight: 700; }

/* 料金テーブル（費用のご案内 等） */
.tp-table-wrap { overflow-x: auto; margin: 20px 0 8px; }
.tp-table { width: 100%; border-collapse: collapse; font-size: 15px; background: #fff; }
.tp-table th, .tp-table td { padding: 13px 16px; border: 1px solid var(--line); text-align: left; }
.tp-table thead th { background: var(--green-primary); color: #fff; font-weight: 700; white-space: nowrap; }
.tp-table tbody tr:nth-child(even) { background: var(--green-mist); }
.tp-table .is-price { font-weight: 700; color: var(--green-primary); white-space: nowrap; }
.tp-table .is-time { white-space: nowrap; }

/* 索引ページの子ページカード一覧 [cards] */
.tp-cardgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin: 28px 0 8px; }
.tp-card {
	display: flex; align-items: center; justify-content: space-between; gap: 10px;
	background: #fff; border: 1px solid var(--line); border-left: 4px solid var(--green-accent);
	border-radius: 8px; padding: 18px 20px; box-shadow: var(--shadow-soft); transition: .2s;
}
.tp-card:hover { border-left-color: var(--green-primary); box-shadow: var(--shadow-card); transform: translateY(-2px); }
.tp-card__title { font-weight: 700; font-size: 15px; color: var(--ink); line-height: 1.5; }
.tp-card__arrow { color: var(--green-accent); font-size: 18px; flex-shrink: 0; }
@media (max-width: 900px) { .tp-cardgrid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .tp-cardgrid { grid-template-columns: 1fr; } }

/* ---------- 検査名＋料金（下層原稿の価格行） ---------- */
.tp-price {
	display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px 16px;
	margin: 28px 0 6px !important; padding: 14px 20px;
	background: var(--green-mist); border-left: 4px solid var(--green-accent); border-radius: 0 8px 8px 0;
}
.tp-price__name { font-weight: 700; font-size: 17px; color: var(--ink); line-height: 1.5; }
.tp-price__yen {
	margin-left: auto; flex-shrink: 0; font-weight: 700; font-size: 15px; color: var(--green-primary);
	background: #fff; border: 1px solid var(--green-accent); border-radius: 999px; padding: 4px 14px;
}
.tp-price + p { margin-top: 6px; }

/* 検査名｜料金｜予約タグ（オプション検査などの見出し行） */
.tp-h3price { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; }
.tp-h3price__name { flex: 1 1 auto; }
.tp-h3price__yen {
	flex-shrink: 0; font-family: var(--f-sans-jp, inherit); font-size: 16px; font-weight: 700;
	color: var(--green-primary); background: var(--green-mist);
	border: 1px solid var(--green-accent); border-radius: 999px; padding: 4px 16px;
}
.tp-h3price__tag {
	flex-shrink: 0; font-size: 12px; font-weight: 700; color: #fff;
	background: var(--green-accent); border-radius: 4px; padding: 4px 10px;
}
@media (max-width: 560px) {
	.tp-price__yen { margin-left: 0; }
	.tp-h3price__name { flex-basis: 100%; }
}

/* ダウンロードリンク（問診票PDF等） */
.tp-dl-link { color: var(--green-primary); font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
.tp-dl-link:hover { color: var(--green-accent); }

/* 小見出し（h4） */
.tp-h4 { margin: 26px 0 12px; font-size: 16px; font-weight: 700; color: var(--green-primary); }

/* ---------- NEWS 一覧・詳細 ---------- */
.news-archive { max-width: 860px; margin: 0 auto; }
.news-archive__pager { margin-top: 40px; text-align: center; }
.news-archive__pager .page-numbers {
	display: inline-block; min-width: 40px; padding: 9px 12px; margin: 0 3px;
	background: #fff; border: 1px solid var(--line-2); border-radius: 8px;
	font-size: 14px; color: var(--ink); font-weight: 500;
}
.news-archive__pager .page-numbers.current { background: var(--green-primary); border-color: var(--green-primary); color: #fff; }
.news-archive__pager a.page-numbers:hover { border-color: var(--green-accent); color: var(--green-primary); }

.news-single { max-width: 860px; margin: 0 auto; }
.news-single__date { font-size: 14px; color: var(--muted); letter-spacing: .06em; margin-bottom: 10px; }
.news-single__title { margin-top: 0; }
.news-single__body p { margin: 0 0 1.6em; }
.news-single__back { max-width: 860px; margin: 44px auto 0; text-align: center; }

/* 末尾：ご予約・お問い合わせ */
.tp-contact { margin-top: 40px; text-align: center; background: var(--green-mist); border: 1px solid var(--green-accent); border-radius: 12px; padding: 34px 28px; }
.tp-contact__title { font-weight: 700; font-size: 18px; color: var(--green-primary); margin-bottom: 14px; }
.tp-contact__tel { font-size: 28px; font-weight: 700; color: var(--ink); letter-spacing: .02em; }
.tp-contact__tel small { display: block; font-size: 14px; font-weight: 500; color: var(--ink-2); margin-bottom: 2px; }
.tp-contact__note { margin-top: 12px; font-size: 14px; color: var(--ink-2); }

.tp-download { margin: 20px 0; padding: 20px 24px; background: var(--green-mist); border: 1px solid var(--green-accent); border-radius: 10px; display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.tp-download__label { font-weight: 700; color: var(--green-primary); }
.tp-download__note { font-size: 13px; color: var(--ink-2); margin-top: 4px; }
.tp-download__btn { display: inline-block; padding: 10px 22px; background: var(--green-accent); color: #fff; border-radius: 999px; font-weight: 700; font-size: 14px; text-decoration: none; white-space: nowrap; }

@media (max-width: 700px) {
	.tp-media--2, .tp-media--3 { grid-template-columns: 1fr; }
}

/* =========================================================
   INFORMATION（本院）
   ========================================================= */
.tp-info { padding: 20px 0 90px; }
.tp-info__card { max-width: 1120px; margin: 0 auto; background: #fff; border: 1px solid var(--line); border-radius: 14px; box-shadow: var(--shadow-soft); padding: 56px 56px 60px; }
.tp-info__head { text-align: center; margin-bottom: 44px; }
.tp-info__en { display: block; font-family: var(--f-serif-en); font-size: clamp(34px, 4.5vw, 54px); font-weight: 500; letter-spacing: .06em; color: var(--title-en); line-height: 1; }
.tp-info__jp { display: block; margin-top: 12px; font-weight: 700; letter-spacing: .18em; color: var(--tp-purple); font-size: 16px; }
.tp-info__body { display: grid; grid-template-columns: 260px 1fr 1fr; gap: 40px; align-items: start; }

/* 診療時間テーブル */
.tp-hours__cap { text-align: center; font-weight: 700; color: var(--ink); margin-bottom: 14px; }
.tp-hours { width: 100%; border-collapse: collapse; font-size: 14px; }
.tp-hours th, .tp-hours td { text-align: center; padding: 10px 4px; border-bottom: 1px solid var(--line); }
.tp-hours thead th { background: var(--tp-purple-l); color: var(--ink); font-weight: 700; }
.tp-hours .is-off { color: var(--green-accent); font-size: 12px; }
.tp-hours__note { margin-top: 16px; text-align: center; font-size: 13px; line-height: 1.9; color: var(--ink-2); }
.tp-hours__note b { display: block; font-weight: 400; }

/* 中央：本院情報 */
.tp-branch { text-align: center; }
.tp-branch__name { font-family: var(--f-serif-jp); font-size: 24px; font-weight: 700; color: var(--ink); margin-bottom: 18px; }
.tp-branch__addr { font-size: 14px; line-height: 1.9; color: var(--ink-2); margin-bottom: 22px; }
.tp-branch__tel-note { font-size: 13px; color: var(--tp-purple); font-weight: 700; }
.tp-branch__tel { display: flex; align-items: center; justify-content: center; gap: 10px; font-size: 30px; font-weight: 700; color: var(--ink); letter-spacing: .02em; margin: 4px 0 22px; }
.tp-branch__tel svg { stroke: var(--tp-purple); }
.tp-branch__btns { display: flex; justify-content: center; gap: 14px; flex-wrap: wrap; }
.tp-branch__btn { display: inline-flex; align-items: center; gap: 8px; padding: 13px 26px; border-radius: 999px; font-weight: 700; font-size: 14px; }
.tp-branch__btn--web { background: linear-gradient(135deg, #b98fcf, var(--tp-purple)); color: #fff; }
.tp-branch__btn--dl { background: var(--tp-purple-l); color: var(--tp-purple); }
.tp-info__map { border-radius: 10px; overflow: hidden; box-shadow: var(--shadow-soft); }
.tp-info__map img { width: 100%; height: 100%; object-fit: cover; }

/* =========================================================
   本院フッター（footer-honin.php）
   ========================================================= */
.hfooter { background: var(--green-primary); color: #fff; padding: 56px 0 30px; }
.hfooter__logo { display: flex; align-items: center; justify-content: center; gap: 12px; margin-bottom: 40px; }
.hfooter__logo-mark { width: 44px; height: 44px; background: #fff; border-radius: 7px; display: flex; align-items: center; justify-content: center; }
.hfooter__logo-en { font-family: var(--f-serif-en); font-weight: 600; font-size: 11px; line-height: 1.05; color: #1f6fb2; }
.hfooter__logo-jp { font-weight: 900; font-size: 26px; color: #fff; letter-spacing: .02em; }
.hfooter__cols { max-width: 1120px; margin: 0 auto; padding: 0 32px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 40px; }
.hfcol__title { font-size: 16px; font-weight: 700; letter-spacing: .06em; padding-bottom: 14px; margin-bottom: 20px; border-bottom: 1px solid rgba(255,255,255,.35); }
.hfcol__list li { margin-bottom: 15px; }
.hfcol__list a { font-size: 14px; color: rgba(255,255,255,.92); }
.hfcol__list a:hover { color: #fff; text-decoration: underline; }

.hfooter__band { max-width: 1120px; margin: 40px auto 0; padding: 0 32px; }
.hfooter__band-inner { background: rgba(255,255,255,.08); border-radius: 12px; padding: 30px 34px; display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
.hfooter__info-title { font-weight: 700; padding-bottom: 12px; margin-bottom: 16px; border-bottom: 1px solid rgba(255,255,255,.35); }
.hfooter__addr { font-size: 14px; line-height: 1.9; color: rgba(255,255,255,.92); }
.hfooter__tel { font-size: 24px; font-weight: 700; margin: 4px 0; }
.hfooter__actions { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 22px; }
.hfooter__btn { display: inline-flex; align-items: center; gap: 8px; padding: 14px 24px; border-radius: 999px; font-weight: 700; font-size: 14px; }
.hfooter__btn--web { background: linear-gradient(135deg, #b98fcf, var(--tp-purple)); color: #fff; }
.hfooter__btn--line { background: #06c755; color: #fff; }
.hfooter__btn--dl { background: var(--tp-purple-l); color: var(--tp-purple); }
.hfooter__tags-title { font-weight: 700; padding-bottom: 10px; margin-bottom: 14px; border-bottom: 1px solid rgba(255,255,255,.35); font-size: 15px; }
.hfooter__tags { display: flex; flex-wrap: wrap; gap: 12px; }
.hfooter__tag { display: inline-flex; align-items: center; background: #fff; color: var(--green-primary); border-radius: 6px; padding: 10px 18px; font-size: 14px; font-weight: 700; }
.hfooter__copy { text-align: center; margin-top: 40px; font-size: 12px; letter-spacing: .06em; color: rgba(255,255,255,.8); }

/* =========================================================
   レスポンシブ
   ========================================================= */
@media (max-width: 900px) {
	.tp-method { grid-template-columns: 1fr; gap: 16px; }
	.tp-method__img { max-width: 520px; }
	.tp-info__body { grid-template-columns: 1fr; gap: 30px; }
	.tp-info__card { padding: 40px 24px; }
	.hfooter__cols { grid-template-columns: 1fr 1fr; gap: 28px; }
	.hfooter__band-inner { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
	.tp-hero { height: 220px; }
	.tp-container, .tp-crumb { padding-left: 20px; padding-right: 20px; }
	.tp-body { padding: 30px 0 60px; }
	.tp-grade { grid-template-columns: 96px 1fr; gap: 14px; }
	.tp-compare { grid-template-columns: 1fr; }
	.tp-checklist { padding: 24px 20px; }
	.tp-branch__tel { font-size: 26px; }
	.hfooter__cols { grid-template-columns: 1fr 1fr; }
	.hfooter__tel { font-size: 22px; }
}

/* =========================================================
   資料請求・お問い合わせフォーム（[contact_form]）
   ========================================================= */
.tp-contact-lead { text-align: center; background: var(--green-soft); border: 1px solid #ece0b4; border-radius: 12px; padding: 24px 20px; margin: 0 0 28px; }
.tp-contact-lead__title { font-weight: 700; color: var(--green-primary); font-size: 15px; letter-spacing: .04em; }
.tp-contact-lead__tel { margin: 4px 0 2px; }
.tp-contact-lead__tel a { font-weight: 900; font-size: 34px; color: var(--green-primary); letter-spacing: .02em; }
.tp-contact-lead__note { font-size: 13px; color: var(--ink-2); }

.tp-form { max-width: 820px; margin: 8px auto 0; }
.tp-form .tp-h2 { margin-top: 36px; }
.tp-form__row { display: grid; grid-template-columns: 220px 1fr; gap: 10px 20px; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--line); }
.tp-form__row--full { grid-template-columns: 1fr; }
.tp-form__row > label { font-weight: 700; font-size: 15px; color: var(--ink); display: flex; align-items: center; gap: 8px; }
.tp-form__req { background: #d64545; color: #fff; font-size: 11px; font-weight: 700; border-radius: 4px; padding: 2px 8px; }
.tp-form input[type="text"], .tp-form input[type="tel"], .tp-form input[type="email"], .tp-form textarea {
	width: 100%; border: 1px solid var(--line-2); border-radius: 8px; padding: 11px 14px; font-size: 15px; font-family: inherit; background: #fff; }
.tp-form input:focus, .tp-form textarea:focus { outline: none; border-color: var(--green-accent); box-shadow: 0 0 0 3px rgba(63,118,181,.15); }
.tp-form__zip { max-width: 200px; }
.tp-form__radios { display: flex; flex-wrap: wrap; gap: 8px 18px; }
.tp-form__radios label { display: inline-flex; align-items: center; gap: 6px; font-size: 15px; font-weight: 500; }
.tp-form__privacy { background: var(--green-mist); border-radius: 12px; padding: 20px 22px; margin: 28px 0 24px; font-size: 14px; }
.tp-form__privacy a { color: var(--green-primary); text-decoration: underline; }
.tp-form__agree { display: flex; align-items: center; gap: 8px; margin-top: 12px; font-weight: 700; }
.tp-form__submit { text-align: center; }
.tp-form__submit .btn { min-width: 280px; font-size: 17px; padding: 16px 28px; }
.tp-form-done { background: var(--green-soft); border: 1px solid #ece0b4; border-radius: 12px; padding: 34px 28px; text-align: center; }
.tp-form-done__title { font-weight: 900; font-size: 22px; color: var(--green-primary); margin-bottom: 10px; }
@media (max-width: 720px) {
	.tp-form__row { grid-template-columns: 1fr; gap: 8px; padding: 12px 0; }
	.tp-contact-lead__tel a { font-size: 28px; }
}

/* ダウンロードボタン（パンフレット等） */
.tp-download { display: flex; align-items: center; gap: 16px; max-width: 620px; margin: 24px auto; padding: 18px 22px; border: 1.5px solid var(--green-accent); border-radius: 12px; background: #fff; box-shadow: var(--shadow-soft); transition: background .2s, transform .2s; }
.tp-download:hover { background: var(--green-soft); transform: translateY(-2px); }
.tp-download__icon { flex: 0 0 auto; width: 46px; height: 46px; border-radius: 50%; background: var(--green-primary); color: #fff; display: flex; align-items: center; justify-content: center; }
.tp-download__body { flex: 1 1 auto; display: flex; flex-direction: column; }
.tp-download__title { font-weight: 700; font-size: 16px; color: var(--green-primary); }
.tp-download__note { font-size: 12px; color: var(--muted); }
.tp-download__arrow { flex: 0 0 auto; color: var(--green-accent); font-size: 20px; font-weight: 700; }

/* 導入機器カード（medical ❷） */
.tp-equip { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 22px 0 26px; }
.tp-equip__card { border: 1px solid var(--line); border-radius: 12px; overflow: hidden; background: #fff; box-shadow: var(--shadow-soft); display: flex; flex-direction: column; }
.tp-equip__img { aspect-ratio: 16 / 10; background: #f4f6f8; overflow: hidden; }
.tp-equip__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.tp-equip__body { padding: 16px 18px 18px; }
.tp-equip__name { display: block; font-weight: 700; font-size: 17px; color: var(--green-primary); position: relative; padding-left: 14px; margin-bottom: 6px; }
.tp-equip__name::before { content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 5px; height: 18px; border-radius: 3px; background: var(--green-accent); }
.tp-equip__desc { display: block; font-size: 14px; color: var(--ink-2); line-height: 1.7; }
@media (max-width: 720px) { .tp-equip { grid-template-columns: 1fr; gap: 16px; } }

/* 介護度などの補足注釈（クリックで展開） */
.tp-form__help { margin: -4px 0 8px; border: 1px solid var(--line); border-radius: 10px; background: var(--green-mist); overflow: hidden; }
.tp-form__help > summary { cursor: pointer; list-style: none; padding: 12px 18px; font-size: 14px; font-weight: 700; color: var(--green-primary); display: flex; align-items: center; gap: 8px; }
.tp-form__help > summary::-webkit-details-marker { display: none; }
.tp-form__help > summary::before { content: "＋"; font-weight: 700; color: var(--green-accent); font-size: 16px; line-height: 1; }
.tp-form__help[open] > summary::before { content: "−"; }
.tp-form__help > summary:hover { background: rgba(63,118,181,.06); }
.tp-form__help-body { padding: 4px 18px 18px; font-size: 14px; }
.tp-form__help-body > p { margin-bottom: 12px; line-height: 1.7; }
.tp-form__help-dl { display: grid; grid-template-columns: max-content 1fr; gap: 6px 16px; }
.tp-form__help-dl dt { font-weight: 700; color: var(--ink); white-space: nowrap; }
.tp-form__help-dl dd { margin: 0; color: var(--ink-2); }
@media (max-width: 560px) {
	.tp-form__help-dl { grid-template-columns: 1fr; gap: 2px 0; }
	.tp-form__help-dl dt { margin-top: 8px; }
}
