@charset "UTF-8";
/*! 退職リリーフ テーマ v3.13.0 — デザインA（クリニック型：余白と細線・静かな信頼） */

.trhp {
	--c-green: #36996e;
	--c-deep: #1b6c68;
	--c-ink: #22312e;
	--c-paper: #ffffff;
	--c-tint: #eef5f0;
	--c-line: #06c755;
	--c-amber: #c07f2c;
	--c-rule: #e5ebe8;
	--font-sans: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
	--font-serif: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
	--radius: 4px;
	--shadow: 0 2px 12px rgba(27, 108, 104, 0.06);
	--header-h: 72px;

	font-family: var(--font-sans);
	color: var(--c-ink);
	background: var(--c-paper);
	line-height: 2;
	font-size: 15.5px;
	letter-spacing: 0.03em;
	overflow-wrap: anywhere;
	-webkit-text-size-adjust: 100%;
	-webkit-tap-highlight-color: rgba(54, 153, 110, 0.15);
}

/* --- 最小リセット --- */
.trhp *, .trhp *::before, .trhp *::after { box-sizing: border-box; margin: 0; padding: 0; }
.trhp img { max-width: 100%; height: auto; display: block; }
.trhp ul, .trhp ol { list-style: none; }
.trhp a { color: var(--c-deep); text-decoration: underline; text-underline-offset: 3px; }
.trhp a:hover { opacity: 0.75; }
.trhp a.trhp-btn, .trhp a.trhp-card, .trhp a.trhp-partner, .trhp a.trhp-newsrow { text-decoration: none; }
.trhp a.trhp-btn--line { color: #fff; }
.trhp a.trhp-btn--ghost { color: var(--c-deep); }
.trhp a.trhp-card, .trhp a.trhp-partner { color: var(--c-ink); }
.trhp em { font-style: normal; }
.trhp :target { scroll-margin-top: calc(var(--header-h) + 16px); }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.trhp *, .trhp *::before, .trhp *::after { transition: none !important; animation: none !important; }
}
body.trhp-menu-open { overflow: hidden; }
.trhp-visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.trhp-sp { display: none; }
.trhp-center { text-align: center; }
.trhp-mt { margin-top: 36px; }
.trhp-note { font-size: 0.78rem; color: #7c8b86; margin-top: 16px; }
.trhp-text { max-width: 46em; color: #41504c; margin-bottom: 32px; }
.trhp-marker { color: var(--c-deep); background: linear-gradient(transparent 68%, rgba(54, 153, 110, 0.22) 68%); font-weight: 700; }
.trhp-strong { color: var(--c-deep); border-bottom: 2px solid rgba(217, 142, 50, 0.55); font-weight: 700; }
.trhp-textlink { font-weight: 700; font-size: 0.92rem; }

/* ============ ボタン ============ */
.trhp-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 0.5em;
	font-weight: 700; line-height: 1.4;
	padding: 0.9em 1.9em; border-radius: 999px;
	transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
}
.trhp-btn--line { background: var(--c-line); color: #fff; box-shadow: 0 6px 18px rgba(6, 199, 85, 0.3); }
.trhp-btn--line:hover { opacity: 1; transform: translateY(-2px); }
.trhp-btn--lg { font-size: 1.1rem; padding: 1em 2.3em; }
.trhp-btn--ghost { background: #fff; color: var(--c-deep); border: 1.5px solid var(--c-green); }
.trhp-btn--ghost:hover { opacity: 1; background: rgba(54, 153, 110, 0.06); }
.trhp-icon-line {
	width: 1.25em; height: 1.25em; flex: none; background-color: currentColor;
	-webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"><path d="M20.2 39.2c2.7.6 2.4 1.6 1.8 5.2-.1.6-.4 2.3 2 1.3 2.5-1 13.3-7.8 18.1-13.4 3.3-3.7 4.9-7.4 4.9-11.5C47 10.4 36.6 2 24 2S1 10.4 1 20.8C1 30 9.2 37.7 20.2 39.2zm12.3-23c0-.2.2-.4.4-.4h6.5c.2 0 .4.2.4.4v1.6c0 .2-.2.4-.4.4H35v1.7h4.4c.2 0 .4.2.4.4V22c0 .2-.2.4-.4.4H35V24h4.4c.2 0 .4.2.4.4V26c0 .2-.2.4-.4.4h-6.5c-.2 0-.4-.2-.4-.4v-9.8zm-11.1.1c0-.2.2-.4.4-.4h1.6c.1 0 .3.1.4.2l4.6 6.2v-6c0-.2.2-.4.4-.4h1.6c.2 0 .4.2.4.4v10c0 .2-.2.4-.4.4h-1.6c-.1 0-.3-.1-.4-.2l-4.6-6.2v6c0 .2-.2.4-.4.4h-1.6c-.2 0-.4-.2-.4-.4v-10zm-4.2-.1c0-.2.2-.4.4-.4h1.6c.2 0 .4.2.4.4v10c0 .2-.2.4-.4.4h-1.5c-.2 0-.4-.2-.4-.4v-10h-.1zm-8.7 0c0-.2.2-.4.4-.4h1.6c.2 0 .4.2.4.4v7.9h4.4c.2 0 .4.2.4.4v1.6c0 .2-.2.4-.4.4H8.9c-.1 0-.2-.1-.3-.1-.1-.1-.1-.2-.1-.3v-9.9z"/></svg>') center / contain no-repeat;
	mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"><path d="M20.2 39.2c2.7.6 2.4 1.6 1.8 5.2-.1.6-.4 2.3 2 1.3 2.5-1 13.3-7.8 18.1-13.4 3.3-3.7 4.9-7.4 4.9-11.5C47 10.4 36.6 2 24 2S1 10.4 1 20.8C1 30 9.2 37.7 20.2 39.2zm12.3-23c0-.2.2-.4.4-.4h6.5c.2 0 .4.2.4.4v1.6c0 .2-.2.4-.4.4H35v1.7h4.4c.2 0 .4.2.4.4V22c0 .2-.2.4-.4.4H35V24h4.4c.2 0 .4.2.4.4V26c0 .2-.2.4-.4.4h-6.5c-.2 0-.4-.2-.4-.4v-9.8zm-11.1.1c0-.2.2-.4.4-.4h1.6c.1 0 .3.1.4.2l4.6 6.2v-6c0-.2.2-.4.4-.4h1.6c.2 0 .4.2.4.4v10c0 .2-.2.4-.4.4h-1.6c-.1 0-.3-.1-.4-.2l-4.6-6.2v6c0 .2-.2.4-.4.4h-1.6c-.2 0-.4-.2-.4-.4v-10zm-4.2-.1c0-.2.2-.4.4-.4h1.6c.2 0 .4.2.4.4v10c0 .2-.2.4-.4.4h-1.5c-.2 0-.4-.2-.4-.4v-10h-.1zm-8.7 0c0-.2.2-.4.4-.4h1.6c.2 0 .4.2.4.4v7.9h4.4c.2 0 .4.2.4.4v1.6c0 .2-.2.4-.4.4H8.9c-.1 0-.2-.1-.3-.1-.1-.1-.1-.2-.1-.3v-9.9z"/></svg>') center / contain no-repeat;
}

/* ============ ヘッダー ============ */
.trhp-header {
	position: fixed; inset: 0 0 auto 0; z-index: 100;
	background: rgba(255, 255, 255, 0.94); backdrop-filter: blur(8px);
	border-bottom: 1px solid transparent; transition: border-color 0.25s ease;
}
.trhp-header.is-scrolled { border-bottom-color: var(--c-rule); }
.trhp-header__in {
	max-width: 1160px; margin: 0 auto; height: var(--header-h);
	display: flex; align-items: center; justify-content: space-between; padding: 0 28px; gap: 24px;
}
.trhp-header__logo img { width: auto; height: 42px; }
.trhp-nav { display: flex; align-items: center; gap: 26px; }
.trhp-nav ul { display: flex; gap: 24px; }
.trhp-nav ul a { text-decoration: none; font-weight: 500; font-size: 0.92rem; color: var(--c-ink); padding: 4px 0; }
.trhp-nav ul a:hover { opacity: 1; color: var(--c-green); }
.trhp-nav__cta { font-size: 0.88rem; padding: 0.65em 1.3em; }
.trhp-menu-toggle { display: none; }

/* ============ ヒーロー（全面写真をうっすら敷く） ============ */
.trhp-hero {
	padding: calc(var(--header-h) + 76px) 32px 100px;
	background:
		linear-gradient(100deg,
			rgba(255, 255, 255, 0.96) 0%,
			rgba(255, 255, 255, 0.9) 45%,
			rgba(255, 255, 255, 0.72) 100%),
		var(--trhp-hero-photo) center / cover no-repeat,
		var(--c-paper);
}
.trhp-hero__in {
	max-width: 1120px; margin: 0 auto;
	display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 60px; align-items: center;
}
.trhp-hero__eyebrow { color: var(--c-green); font-weight: 700; font-size: 0.84rem; letter-spacing: 0.3em; margin-bottom: 20px; }
.trhp-hero__title {
	font-family: var(--font-serif); font-weight: 600;
	font-size: clamp(1.7rem, 3.2vw, 2.5rem); line-height: 1.7; color: var(--c-deep); margin-bottom: 22px;
}
.trhp-hero__title em { border-bottom: 6px double var(--c-green); padding-bottom: 2px; }
.trhp-hero__lead { max-width: 33em; color: #41504c; margin-bottom: 24px; }
.trhp-hero__badges { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-bottom: 34px; font-size: 0.86rem; color: var(--c-deep); }
.trhp-hero__badges li { border-left: 2px solid var(--c-green); padding-left: 10px; }
.trhp-hero__badges b { color: var(--c-green); }
.trhp-hero__note { font-size: 0.8rem; color: #7c8b86; margin-top: 12px; }
.trhp-hero__chat { max-width: 400px; margin-left: auto; width: 100%; }
.trhp-chat { background: #fff; border-radius: 14px; overflow: hidden; box-shadow: 0 16px 44px rgba(21, 60, 55, 0.16); border: 1px solid var(--c-rule); }
.trhp-chat__head { display: flex; align-items: center; gap: 8px; background: var(--c-deep); color: #fff; font-weight: 700; font-size: 0.86rem; padding: 11px 16px; }
.trhp-chat__dot { width: 8px; height: 8px; border-radius: 50%; background: #7ee2a8; flex: none; }
.trhp-chat__body { padding: 20px 16px; display: grid; gap: 11px; background: #f4f8f5; }
.trhp-chat__msg { max-width: 86%; padding: 0.65em 1em; border-radius: 13px; font-size: 0.87rem; line-height: 1.7; }
.trhp-chat__msg--user { justify-self: end; background: var(--c-green); color: #fff; border-bottom-right-radius: 4px; }
.trhp-chat__msg--staff { justify-self: start; background: #fff; border: 1px solid rgba(27, 108, 104, 0.14); border-bottom-left-radius: 4px; }

/* ============ セクション共通（細線区切り・左揃え見出し） ============ */
.trhp-sec { border-top: 1px solid var(--c-rule); }
.trhp-sec--tint { background: #f5faf7; }
.trhp-sec--photo {
	background:
		linear-gradient(rgba(255, 255, 255, 0.94), rgba(255, 255, 255, 0.9)),
		var(--trhp-sec-photo) center / cover no-repeat,
		var(--c-paper);
}
.trhp-sec__in { max-width: 1040px; margin: 0 auto; padding: 96px 32px; }
.trhp-sh { display: flex; align-items: baseline; gap: 20px; margin-bottom: 52px; }
.trhp-sh__no {
	font-size: 0.78rem; font-weight: 600; letter-spacing: 0.25em; color: var(--c-green);
	border-bottom: 2px solid var(--c-green); padding-bottom: 6px; flex: none;
}
.trhp-sh h2 {
	font-family: var(--font-serif); font-size: clamp(1.3rem, 2.4vw, 1.7rem);
	font-weight: 600; color: var(--c-deep); letter-spacing: 0.04em; line-height: 1.7;
}
.trhp-secvisual {
	width: 100%; aspect-ratio: 21 / 7; object-fit: cover;
	border-radius: 6px; margin-bottom: 48px; filter: saturate(0.92);
}

/* ============ お悩み ============ */
.trhp-worries { columns: 2; column-gap: 56px; }
.trhp-worries li {
	break-inside: avoid; padding: 14px 0 14px 34px; border-bottom: 1px dashed #d7e2dd;
	position: relative; font-weight: 500;
}
.trhp-worries li::before {
	content: ""; position: absolute; left: 4px; top: 26px; width: 12px; height: 7px;
	border-left: 2px solid var(--c-green); border-bottom: 2px solid var(--c-green); transform: rotate(-45deg);
}
.trhp-wmsg { margin-top: 44px; color: #41504c; }
.trhp-wmsg b { color: var(--c-deep); border-bottom: 2px solid rgba(217, 142, 50, 0.5); font-weight: 700; }

/* ============ 給付金とは（制度2枠） ============ */
.trhp-benefits { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid #dfe8e4; margin-bottom: 36px; }
.trhp-benefit { padding: 36px 40px; }
.trhp-benefit:first-child { border-right: 1px solid #dfe8e4; }
.trhp-benefit__tag { font-size: 0.76rem; color: var(--c-green); letter-spacing: 0.2em; font-weight: 700; margin-bottom: 8px; }
.trhp-benefit__name { font-family: var(--font-serif); font-size: 1.3rem; color: var(--c-deep); margin-bottom: 12px; font-weight: 600; }
.trhp-benefit__desc { font-size: 0.94rem; color: #41504c; }
.trhp-benefit__term { font-size: 0.84rem; color: #5a6a65; border-top: 1px solid #e8eeeb; margin-top: 16px; padding-top: 14px; }

/* ============ セルフチェック ============ */
.trhp-checklist { max-width: 640px; }
.trhp-checklist li { padding: 15px 0 15px 40px; border-bottom: 1px solid var(--c-rule); position: relative; font-weight: 500; }
.trhp-checklist li::before {
	content: ""; position: absolute; left: 2px; top: 18px; width: 20px; height: 20px;
	border: 1.5px solid var(--c-green); border-radius: 5px;
}
.trhp-checklist li::after {
	content: ""; position: absolute; left: 7px; top: 24px; width: 11px; height: 6px;
	border-left: 2px solid var(--c-green); border-bottom: 2px solid var(--c-green); transform: rotate(-45deg);
}
.trhp-checkresult { margin-top: 38px; max-width: 640px; }
.trhp-checkresult p { margin-bottom: 24px; color: #41504c; }

/* ============ サポート内容（罫線グリッド） ============ */
.trhp-features {
	display: grid; grid-template-columns: repeat(5, 1fr);
	border-top: 1px solid #dfe8e4; border-left: 1px solid #dfe8e4;
}
.trhp-featcell { border-right: 1px solid #dfe8e4; border-bottom: 1px solid #dfe8e4; padding: 28px 22px; }
.trhp-featcell__no { font-family: var(--font-serif); font-size: 1.6rem; font-weight: 600; color: rgba(54, 153, 110, 0.35); margin-bottom: 14px; }
.trhp-featcell h3 { font-size: 0.98rem; color: var(--c-deep); line-height: 1.65; margin-bottom: 10px; font-weight: 600; min-height: 3.3em; }
.trhp-featcell p { font-size: 0.82rem; color: #5a6a65; line-height: 1.9; }

/* ============ 比較表 ============ */
.trhp-scrollhint { display: none; }
.trhp-compare__scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.trhp-compare { width: 100%; min-width: 620px; border-collapse: collapse; font-size: 0.92rem; }
.trhp-compare th, .trhp-compare td { padding: 15px 12px; text-align: center; vertical-align: middle; }
.trhp-compare thead th { border-bottom: 2px solid var(--c-deep); font-size: 0.85rem; color: #5a6a65; font-weight: 700; line-height: 1.5; }
.trhp-compare thead th.trhp-compare__ours { color: var(--c-deep); font-family: var(--font-serif); font-size: 1.02rem; }
.trhp-compare td, .trhp-compare tbody th { border-bottom: 1px solid var(--c-rule); }
.trhp-compare tbody .trhp-compare__item { text-align: left; font-weight: 700; color: var(--c-deep); width: 30%; }
.trhp-compare td.trhp-compare__ours { background: rgba(54, 153, 110, 0.06); font-weight: 700; color: var(--c-deep); }
.trhp-compare td.is-mark { font-size: 1.1rem; }

/* ============ ご利用者様の声 ============ */
.trhp-voices { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; }
.trhp-voice img.trhp-voice__illust {
	height: 170px; width: 100%; object-fit: contain;
	padding: 10px 0; border-bottom: 1px solid var(--c-rule);
}
.trhp-voice__text { font-size: 0.9rem; color: #41504c; margin-top: 16px; }
.trhp-voice figcaption { color: var(--c-green); font-weight: 700; font-size: 0.8rem; margin-top: 10px; }

/* ============ 流れ ============ */
.trhp-steps li {
	display: grid; grid-template-columns: 110px 1fr; gap: 28px;
	padding: 24px 0; border-bottom: 1px solid var(--c-rule); align-items: start;
}
.trhp-steps__no { font-size: 0.85rem; font-weight: 600; letter-spacing: 0.2em; color: var(--c-green); line-height: 2.6; }
.trhp-steps h3 { font-family: var(--font-serif); font-size: 1.1rem; color: var(--c-deep); font-weight: 600; margin-bottom: 4px; }
.trhp-steps p { font-size: 0.9rem; color: #5a6a65; }

/* ============ FAQ ============ */
.trhp-faq { border-bottom: 1px solid var(--c-rule); }
.trhp-faq summary {
	list-style: none; cursor: pointer; padding: 20px 40px 20px 4px; position: relative;
	font-family: var(--font-serif); font-weight: 600; font-size: 1.02rem; color: var(--c-deep); line-height: 1.7;
}
.trhp-faq summary::-webkit-details-marker { display: none; }
.trhp-faq summary::after {
	content: ""; position: absolute; right: 12px; top: 50%; width: 9px; height: 9px;
	border-right: 1.5px solid var(--c-green); border-bottom: 1.5px solid var(--c-green);
	transform: translateY(-70%) rotate(45deg); transition: transform 0.25s ease;
}
.trhp-faq[open] summary::after { transform: translateY(-30%) rotate(-135deg); }
.trhp-faq__a { padding: 0 4px 22px; }
.trhp-faq__a p { color: #5a6a65; font-size: 0.92rem; }
.trhp-faq__a p + p { margin-top: 0.6em; }

/* ============ 私たちの想い ============ */
.trhp-mission { max-width: 720px; margin: 0 auto; }
.trhp-mission p { color: #41504c; margin-bottom: 1.5em; }
.trhp-mission__quote {
	font-family: var(--font-serif); font-size: clamp(1.15rem, 2.2vw, 1.4rem); line-height: 2.2;
	color: var(--c-deep); text-align: center; font-weight: 600; margin: 44px 0 !important;
}

/* ============ お知らせ ============ */
.trhp-newsrow {
	display: flex; gap: 20px; align-items: baseline;
	padding: 16px 4px; border-bottom: 1px solid var(--c-rule); font-size: 0.95rem; color: var(--c-ink);
}
.trhp-newsrow:hover { opacity: 1; background: rgba(54, 153, 110, 0.04); }
.trhp-newsrow time { font-weight: 700; flex: none; font-size: 0.82rem; color: var(--c-green); }
.trhp-newsrow span { text-decoration: underline; text-underline-offset: 3px; text-decoration-color: transparent; transition: text-decoration-color 0.2s; }
.trhp-newsrow:hover span { text-decoration-color: var(--c-green); }

/* ============ CTA（写真背景+深緑オーバーレイ） ============ */
.trhp-cta {
	background:
		linear-gradient(rgba(23, 84, 79, 0.93), rgba(23, 84, 79, 0.93)),
		var(--trhp-cta-photo) center / cover no-repeat, var(--c-deep);
	color: #fff; text-align: center; padding: 100px 32px;
}
.trhp-cta__in { max-width: 720px; margin: 0 auto; }
.trhp-cta__title { font-family: var(--font-serif); font-weight: 600; font-size: clamp(1.5rem, 2.8vw, 1.9rem); margin-bottom: 24px; }
.trhp-cta__lead { opacity: 0.92; margin-bottom: 32px; font-size: 0.96rem; }
.trhp-cta__note { margin-top: 22px; font-size: 0.88rem; }
.trhp-cta__note b { color: #ffd58a; }

/* ============ フッター（ダーク・3カラム） ============ */
.trhp-footer { background: #14322f; color: #cfe0da; padding: 76px 32px 110px; }
.trhp-footer__in { max-width: 1080px; margin: 0 auto; }
.trhp-footer__grid {
	display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 48px;
	padding-bottom: 44px; margin-bottom: 28px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}
.trhp-footer__logo { width: auto; height: 30px; background: #fff; border-radius: 6px; padding: 5px 10px; box-sizing: content-box; margin-bottom: 18px; }
.trhp-footer__desc { font-size: 0.85rem; line-height: 2; color: #a8c2ba; margin-bottom: 22px; }
.trhp-footer__cta { font-size: 0.86rem; padding: 0.65em 1.4em; }
.trhp-footer__ttl {
	font-family: var(--font-serif); font-weight: 600; color: #fff; font-size: 0.95rem;
	margin-bottom: 16px; padding-bottom: 10px; border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}
.trhp-footer__col { display: flex; flex-direction: column; }
.trhp-footer__col a {
	color: #cfe0da; text-decoration: none; font-size: 0.88rem; padding: 7px 0;
}
.trhp-footer__col a:hover { color: #7ee2a8; opacity: 1; }
.trhp-footer__copy { font-size: 0.78rem; color: #7d968e; text-align: center; }

/* ============ スマホ追従CTA ============ */
.trhp-fixed-cta {
	position: fixed; left: 50%; bottom: calc(16px + env(safe-area-inset-bottom, 0px)); transform: translateX(-50%);
	z-index: 90; width: min(92%, 340px); display: none;
	transition: opacity 0.3s ease, visibility 0.3s ease;
}
.trhp-fixed-cta .trhp-btn { width: 100%; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.22); }
.trhp-fixed-cta.is-hidden { opacity: 0; visibility: hidden; }

/* ============ ふわっと表示 ============ */
.trhp-reveal { opacity: 0; transform: translateY(18px); transition: opacity 0.7s ease, transform 0.7s ease; }
.trhp-reveal.is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .trhp-reveal { opacity: 1; transform: none; } }

/* ============================================================
   レスポンシブ
   ============================================================ */
@media (max-width: 1024px) {
	.trhp-hero__in { grid-template-columns: 1fr; gap: 64px; }
	.trhp-hero__visual { max-width: 560px; margin: 0 auto; width: 100%; }
}
@media (max-width: 840px) {
	.trhp { --header-h: 60px; }
	.trhp-sp { display: inline; }
	.trhp-menu-toggle {
		display: inline-flex; flex-direction: column; justify-content: center; gap: 5px;
		width: 44px; height: 44px; padding: 10px; background: none; border: none; cursor: pointer;
	}
	.trhp-menu-toggle span:not(.trhp-visually-hidden) { display: block; height: 2px; width: 100%; background: var(--c-deep); border-radius: 2px; transition: transform 0.25s ease, opacity 0.25s ease; }
	.trhp-menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
	.trhp-menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
	.trhp-menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
	.trhp-nav {
		position: fixed; inset: var(--header-h) 0 auto 0; z-index: 99;
		flex-direction: column; align-items: stretch; gap: 0;
		background: #fff; border-bottom: 1px solid var(--c-rule); padding: 8px 24px 24px;
		transform: translateY(-16px); opacity: 0; visibility: hidden; pointer-events: none;
		transition: transform 0.25s ease, opacity 0.25s ease, visibility 0.25s ease;
	}
	.trhp-nav.is-open { transform: none; opacity: 1; visibility: visible; pointer-events: auto; }
	.trhp-nav ul { flex-direction: column; gap: 0; margin-bottom: 16px; }
	.trhp-nav ul a { display: block; padding: 14px 4px; border-bottom: 1px solid var(--c-rule); }
	.trhp-nav__cta { justify-content: center; }

	.trhp-hero {
		padding: calc(var(--header-h) + 40px) 20px 64px;
		background:
			linear-gradient(rgba(255, 255, 255, 0.95), rgba(255, 255, 255, 0.9)),
			var(--trhp-hero-photo-sp, var(--trhp-hero-photo)) center / cover no-repeat, var(--c-paper);
	}
	.trhp-sec--photo {
		background:
			linear-gradient(rgba(255, 255, 255, 0.94), rgba(255, 255, 255, 0.9)),
			var(--trhp-sec-photo-sp, var(--trhp-sec-photo)) center / cover no-repeat, var(--c-paper);
	}
	.trhp-cta {
		background:
			linear-gradient(rgba(23, 84, 79, 0.93), rgba(23, 84, 79, 0.93)),
			var(--trhp-cta-photo-sp, var(--trhp-cta-photo)) center / cover no-repeat, var(--c-deep);
		padding: 72px 22px;
	}
	.trhp-scrollhint {
		display: block; text-align: center; font-size: 0.74rem; color: #7c8b86;
		margin-bottom: 10px; letter-spacing: 0.06em;
	}
	.trhp-btn--lg { width: 100%; max-width: 360px; font-size: 1.02rem; }
	.trhp-hero__cta { text-align: center; }
	.trhp-checkresult { text-align: center; }
	.trhp-checkresult .trhp-btn { width: 100%; max-width: 360px; }
	.trhp-hero__chat { margin: 0 auto; }
	.trhp-sec__in { padding: 64px 22px; }
	.trhp-sh { flex-direction: column; gap: 12px; margin-bottom: 36px; }
	.trhp-secvisual { aspect-ratio: 16 / 8; margin-bottom: 36px; }
	.trhp-worries { columns: 1; }
	.trhp-benefits { grid-template-columns: 1fr; }
	.trhp-benefit:first-child { border-right: none; border-bottom: 1px solid #dfe8e4; }
	.trhp-features { grid-template-columns: 1fr; }
	.trhp-featcell h3 { min-height: auto; }
	.trhp-voices { grid-template-columns: 1fr; gap: 32px; max-width: 440px; margin: 0 auto; }
	.trhp-steps li { grid-template-columns: 1fr; gap: 4px; }
	.trhp-fixed-cta { display: block; }
	.trhp-footer { padding: 56px 24px 120px; }
	.trhp-footer__grid { grid-template-columns: 1fr; gap: 34px; }
}

/* ============ 受給期間タイムライン ============ */
.trhp-timeline { margin: 0 0 36px; }
.trhp-timeline__ttl { font-weight: 700; color: var(--c-deep); font-size: 0.92rem; margin-bottom: 16px; }
.trhp-timeline__bars { display: flex; align-items: stretch; gap: 0; }
.trhp-timeline__bar {
	position: relative; padding: 16px 20px 14px; flex: 1;
	border: 1px solid rgba(54, 153, 110, 0.35); background: #fff;
}
.trhp-timeline__bar--sick { flex: 1.4; border-radius: 6px 0 0 6px; border-right: none; }
.trhp-timeline__bar--job { border-radius: 0 6px 6px 0; border-left: none; background: rgba(54, 153, 110, 0.05); }
.trhp-timeline__label {
	position: absolute; top: -10px; left: 14px;
	background: var(--c-green); color: #fff; font-size: 0.68rem; font-weight: 700;
	border-radius: 999px; padding: 0.15em 0.9em; letter-spacing: 0.08em;
}
.trhp-timeline__name { display: block; font-family: var(--font-serif); font-weight: 600; color: var(--c-deep); font-size: 1.02rem; margin-top: 4px; }
.trhp-timeline__term { display: block; font-size: 0.8rem; color: #5a6a65; }
.trhp-timeline__arrow { position: relative; width: 26px; flex: none; background: #fff; border-top: 1px solid rgba(54,153,110,.35); border-bottom: 1px solid rgba(54,153,110,.35); }
.trhp-timeline__arrow::after {
	content: ""; position: absolute; left: 50%; top: 50%; width: 10px; height: 10px;
	border-right: 2px solid var(--c-green); border-bottom: 2px solid var(--c-green);
	transform: translate(-70%, -50%) rotate(-45deg);
}

/* ============ サービス監修 ============ */
.trhp-svbox { max-width: 760px; border: 1px solid var(--c-rule); border-top: 3px solid var(--c-green); border-radius: 4px; padding: 30px 36px; background: #fff; }
#supervisor .trhp-sh { justify-content: center; }
#supervisor .trhp-sh__no { align-self: center; }
.trhp-svbox__name { font-family: var(--font-serif); font-weight: 600; color: var(--c-deep); font-size: 1.15rem; margin-bottom: 10px; }
.trhp-svbox__name span { font-family: var(--font-sans); font-size: 0.84rem; color: #5a6a65; font-weight: 500; }
.trhp-svbox__bio { font-size: 0.9rem; color: #5a6a65; line-height: 2; margin-bottom: 12px; }
.trhp-svbox__note { font-size: 0.86rem; color: #41504c; }

@media (max-width: 840px) {
	.trhp-timeline__bars { flex-direction: column; gap: 0; }
	.trhp-timeline__bar--sick { border-radius: 6px 6px 0 0; border-right: 1px solid rgba(54,153,110,.35); border-bottom: none; }
	.trhp-timeline__bar--job { border-radius: 0 0 6px 6px; border-left: 1px solid rgba(54,153,110,.35); border-top: none; }
	.trhp-timeline__arrow { width: auto; height: 26px; border: none; border-left: 1px solid rgba(54,153,110,.35); border-right: 1px solid rgba(54,153,110,.35); }
	.trhp-timeline__arrow::after { transform: translate(-50%, -70%) rotate(45deg); }
}

/* ---- 監修ボックス（中央寄せ・イラスト右） ---- */
.trhp-svbox {
	display: grid; grid-template-columns: 1fr 160px; gap: 32px; align-items: center;
	margin: 0 auto;
}
.trhp-svbox__illust { width: 160px; height: auto; order: 2; }
.trhp-svbox__text { order: 1; }
@media (max-width: 840px) {
	.trhp-svbox { grid-template-columns: 1fr; gap: 14px; }
	.trhp-svbox__illust { width: 120px; margin: 0 auto; order: 1; }
	.trhp-svbox__text { order: 2; }
}

/* ============ お知らせストリップ（ヒーロー直下） ============ */
.trhp-newsstrip { border-top: 1px solid var(--c-rule); border-bottom: 1px solid var(--c-rule); background: #fff; }
.trhp-newsstrip__in {
	max-width: 1040px; margin: 0 auto; padding: 22px 32px;
	display: grid; grid-template-columns: auto 1fr auto; gap: 28px; align-items: center;
}
.trhp-newsstrip__label {
	font-size: 0.78rem; font-weight: 600; letter-spacing: 0.25em; color: var(--c-green);
	border-bottom: 2px solid var(--c-green); padding-bottom: 4px; align-self: start; margin-top: 12px;
}
.trhp-newsstrip .trhp-newsrow { padding: 10px 4px; font-size: 0.9rem; }
.trhp-newsstrip .trhp-newsrow:last-child { border-bottom: none; }
.trhp-newsstrip__more { font-size: 0.84rem; font-weight: 700; white-space: nowrap; }

/* ============ メディア掲載（ロゴカード） ============ */
.trhp-medialist { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.trhp-mediacard {
	background: #fff; border: 1px solid var(--c-rule); border-radius: 4px;
	padding: 22px 18px; text-align: center; transition: border-color 0.2s ease;
}
.trhp-mediacard:hover { opacity: 1; border-color: var(--c-green); }
.trhp-mediacard__logo {
	height: 72px; display: flex; align-items: center; justify-content: center; margin-bottom: 12px;
}
.trhp-mediacard__logo img { max-height: 72px; width: auto; object-fit: contain; }
.trhp-mediacard__noimg {
	width: 56px; height: 56px; border-radius: 50%; background: var(--c-tint);
	display: flex; align-items: center; justify-content: center;
	font-family: var(--font-serif); font-weight: 600; font-size: 1.4rem; color: var(--c-green);
}
.trhp-mediacard__name { font-size: 0.88rem; font-weight: 700; color: var(--c-deep); line-height: 1.6; }

@media (max-width: 840px) {
	.trhp-newsstrip__in { grid-template-columns: 1fr; gap: 8px; padding: 18px 22px; }
	.trhp-newsstrip__label { margin-top: 0; justify-self: start; }
	.trhp-newsstrip__more { justify-self: end; }
	.trhp-medialist { grid-template-columns: repeat(2, 1fr); gap: 12px; }
}

/* ============ コラム（トップの最新3件カード） ============ */
.trhp-colcards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.trhp-colcard {
	display: flex; flex-direction: column; background: #fff;
	border: 1px solid var(--c-rule); border-radius: 4px; overflow: hidden;
	color: var(--c-ink); text-decoration: none; transition: border-color 0.2s ease;
}
.trhp-colcard:hover { opacity: 1; border-color: var(--c-green); }
.trhp-colcard__thumb { aspect-ratio: 16 / 9; background: var(--c-tint); }
.trhp-colcard__thumb img { width: 100%; height: 100%; object-fit: cover; }
.trhp-colcard__noimg {
	display: flex; align-items: center; justify-content: center; height: 100%;
	font-family: var(--font-serif); font-weight: 600; color: rgba(54, 153, 110, 0.5); letter-spacing: 0.1em;
}
.trhp-colcard__body { padding: 20px 22px 22px; display: flex; flex-direction: column; gap: 8px; }
.trhp-colcard__meta { display: flex; align-items: center; gap: 12px; font-size: 0.78rem; }
.trhp-colcard__meta time { color: var(--c-green); font-weight: 700; }
.trhp-colcard__cat {
	border: 1px solid rgba(54, 153, 110, 0.4); color: var(--c-deep);
	border-radius: 999px; padding: 0.1em 0.8em; font-weight: 500;
}
.trhp-colcard__title { font-family: var(--font-serif); font-weight: 600; color: var(--c-deep); font-size: 1.02rem; line-height: 1.7; }
.trhp-colcard__excerpt { font-size: 0.84rem; color: #5a6a65; line-height: 1.9; }
@media (max-width: 840px) {
	.trhp-colcards { grid-template-columns: 1fr; gap: 16px; }
	.trhp-colcard__thumb { aspect-ratio: 21 / 9; }
}
