@charset "UTF-8";

/* Site overrides: keep the design aligned with the existing TIS corporate green theme. */
.font-color-blue {
	color: #008129;
}

.bg-color-blue {
	background-color: #F2F7E5;
}

.c-btn.-blue a {
	background-color: #008129;
}

.c-btn.-blue a:hover {
	background-color: #8CB808;
}

/* First view layout: keep hero/article heads centered on wide screens. */
.article-fv .inner,
.what-is-fv .inner,
.what-is-fv-row {
	max-width: 1155px;
	margin-right: auto;
	margin-left: auto;
}

.inhouse-hero {
	position: relative;
	overflow: hidden;
	background: #fff;
}

.inhouse-hero .hero-inner {
	width: 100%;
	margin-right: auto;
	margin-left: auto;
	padding: 0;
}

.inhouse-hero .hero-row {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 48fr) minmax(0, 52fr);
	align-items: center;
	max-width: 1280px;
	min-height: 620px;
	margin-right: auto;
	margin-left: auto;
	padding: 0 24px;
}

.inhouse-hero .hero-row::before {
	content: "";
	position: absolute;
	z-index: 1;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	pointer-events: none;
	background: linear-gradient(
		90deg,
		#fff 0%,
		rgba(255, 255, 255, 0.98) 36%,
		rgba(255, 255, 255, 0.9) 48%,
		rgba(255, 255, 255, 0.45) 57%,
		rgba(255, 255, 255, 0) 70%
	);
}

.inhouse-hero .hero-txt {
	position: relative;
	z-index: 2;
	width: auto;
	max-width: 600px;
	padding: 72px 0;
}

.inhouse-hero .hero-row .inhouse-hero-visual {
	position: absolute;
	z-index: 0;
	top: 0;
	right: 0;
	bottom: 0;
	width: 62%;
	max-width: none;
	min-height: 620px;
	overflow: hidden;
	border-radius: 0;
}

.inhouse-hero .inhouse-hero-visual img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 620px;
	margin: 0;
	object-fit: cover;
	object-position: 50% center;
}

.inhouse-hero .hero-txt .hero-head {
	margin-bottom: 44px;
}

.inhouse-hero .hero-txt p {
	color: #1D1D1D;
}

.inhouse-hero .btn-list {
	display: flex;
	gap: 16px;
}

.inhouse-hero .btn-list .c-btn {
	width: min(260px, calc(50% - 8px));
	margin-bottom: 0;
}

.inhouse-hero .btn-list .c-btn a {
	box-sizing: border-box;
	justify-content: center;
	padding-right: 42px;
	padding-left: 42px;
	text-align: center;
}

.inhouse-hero .btn-list .c-btn:last-child a {
	color: #003128;
	background: rgba(255, 255, 255, 0.9);
}

.inhouse-hero .btn-list .c-btn:last-child {
	border: 1px solid #008129;
	background: rgba(255, 255, 255, 0.9);
	box-shadow: inset 0 0 0 1px #008129;
}

.inhouse-hero .btn-list .c-btn:last-child a:hover {
	color: #fff;
	background: #8CB808;
}

@media screen and (min-width:1281px) {
	.inhouse-hero .hero-row .inhouse-hero-visual {
		right: calc((1280px - 100vw) / 2);
		width: calc(62% + ((100vw - 1280px) / 2));
	}
}

.article-fv h1,
.article-fv .lead,
.what-is-fv h1,
.what-is-fv .lead {
	max-width: 860px;
}

.what-is-fv-row {
	width: 100%;
}

@media screen and (max-width:1099px) {
	.inhouse-hero .hero-inner,
	.article-fv .inner,
	.what-is-fv .inner {
		padding-right: 5.8%;
		padding-left: 5.8%;
	}

	.inhouse-hero .hero-row {
		grid-template-columns: 1fr;
		gap: 32px;
		min-height: 0;
		padding: 0 0 48px;
	}

	.inhouse-hero .hero-row::before {
		display: none;
	}

	.inhouse-hero .hero-txt {
		width: 100%;
		max-width: none;
		margin-bottom: 0;
		padding: 56px 0 0;
	}

	.inhouse-hero .hero-row .inhouse-hero-visual {
		position: relative;
		width: 100%;
		min-height: 0;
		border-radius: 16px;
	}

	.inhouse-hero .inhouse-hero-visual img {
		width: 100%;
		height: auto;
		min-height: 0;
		aspect-ratio: 16 / 9;
		object-position: center;
	}
}

@media screen and (max-width:767px) {
	.inhouse-hero .hero-row {
		gap: 24px;
		padding-bottom: 32px;
	}

	.inhouse-hero .hero-txt {
		padding-top: 40px;
	}

	.inhouse-hero .hero-txt .hero-head {
		margin-bottom: 30px;
	}

	.inhouse-hero .hero-ttl {
		font-size: 28px;
		line-height: 1.55;
	}

	.inhouse-hero .hero-row .inhouse-hero-visual {
		margin-top: 0;
		border-radius: 12px;
	}

	.inhouse-hero .btn-list {
		display: block;
	}

	.inhouse-hero .btn-list .c-btn {
		width: 100%;
		margin-bottom: 12px;
	}

	.inhouse-hero .inhouse-hero-visual img {
		aspect-ratio: 4 / 3;
	}
}

.inhouse-issues .top {
	padding-top: 52px;
	padding-bottom: 60px;
	background: linear-gradient(180deg, #F5F9EC 0%, #EEF6E0 100%);
}

.inhouse-issues .c-ttl {
	margin-bottom: 30px;
	padding: 0 0 14px;
	text-align: center;
	color: #003128;
	background: none;
}

.inhouse-issues .c-ttl::after {
	content: "";
	display: block;
	width: 48px;
	height: 2px;
	margin: 12px auto 0;
	background: #8CB808;
}

.inhouse-issues .cont-list {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	grid-template-rows: none;
	gap: 20px;
}

.inhouse-issues .cont {
	min-width: 0;
}

.inhouse-issues .cont > a {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 26px 22px;
	border: 1px solid #E2E8D8;
	border-radius: 10px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(0, 49, 40, 0.08);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.inhouse-issues .cont > a:hover {
	transform: translateY(-4px);
	box-shadow: 0 14px 30px rgba(0, 49, 40, 0.14);
}

.inhouse-issues .cont .head {
	display: block;
	height: auto;
	padding: 0;
	text-align: center;
	color: #003128;
	background: none;
}

.inhouse-issues .cont:hover .head {
	background: none;
}

.inhouse-issue-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 84px;
	height: 84px;
	margin: 0 auto 18px;
	border-radius: 50%;
	color: #268C22;
	background: #ECF5D9;
}

.inhouse-issue-icon svg {
	width: 52px;
	height: 52px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2.2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.inhouse-issues .cont .head h3 {
	font-size: 18px;
	line-height: 1.5;
}

.inhouse-issues .cont .list-box {
	height: auto;
	padding: 15px 0 0;
	background: transparent;
}

.inhouse-issues .cont .list {
	margin: 0;
}

.inhouse-issues .cont .list .ic-squre {
	padding-left: 0;
	font-size: 14px;
	line-height: 1.8;
	color: #1D1D1D;
}

.inhouse-issues .cont .list .ic-squre::before {
	display: none;
}

@media screen and (max-width:1099px) {
	.inhouse-issues .cont-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media screen and (max-width:767px) {
	.inhouse-issues .top {
		padding-top: 38px;
		padding-bottom: 42px;
	}

	.inhouse-issues .cont-list {
		display: grid;
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.inhouse-issues .cont-list .cont:not(:last-of-type) {
		margin-bottom: 0;
	}

	.inhouse-issues .cont > a {
		padding: 24px 20px;
	}
}

.inhouse-story {
	padding-top: 90px;
	padding-bottom: 90px;
	background: #fff;
}

.inhouse-story .inner {
	min-height: 520px;
	height: auto;
}

.inhouse-story .txt-field {
	position: relative;
	z-index: 2;
	width: 48%;
	max-width: 540px;
	padding-right: 42px;
}

.inhouse-story .txt-field .tag {
	margin-bottom: 24px;
	font-size: 16px;
	font-weight: bold;
}

.inhouse-story-title {
	margin-bottom: 28px;
	font-size: 34px;
	font-weight: bold;
	line-height: 1.55;
	color: #003128;
}

.inhouse-story .txt-field p {
	margin-bottom: 18px;
	line-height: 2;
	color: #1D1D1D;
}

.inhouse-story .btn-list {
	margin-top: 32px;
}

.inhouse-story .inner > .img {
	top: 90px;
	bottom: 90px;
	width: 50%;
	overflow: hidden;
	border-radius: 24px 0 0 24px;
}

.inhouse-story .inner > .img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

@media screen and (max-width:1099px) {
	.inhouse-story {
		padding-top: 64px;
		padding-bottom: 64px;
	}

	.inhouse-story .inner {
		min-height: 0;
		padding-bottom: 0;
	}

	.inhouse-story .txt-field {
		width: 100%;
		max-width: none;
		margin-bottom: 36px;
		padding-right: 0;
	}

	.inhouse-story .inner > .img {
		top: auto;
		bottom: auto;
		width: 100%;
		border-radius: 16px;
	}

	.inhouse-story .inner > .img img {
		right: auto;
		width: 100%;
		height: auto;
		aspect-ratio: 16 / 9;
	}
}

@media screen and (max-width:767px) {
	.inhouse-story {
		padding-top: 48px;
		padding-bottom: 48px;
	}

	.inhouse-story-title {
		font-size: 27px;
	}

	.inhouse-story .txt-field p {
		line-height: 1.85;
	}

	.inhouse-story .inner > .img {
		border-radius: 12px;
	}

	.inhouse-story .inner > .img img {
		aspect-ratio: 4 / 3;
	}
}

.choice-section {
	background: #F7F9F5;
}

.choice-section .choice-head {
	align-items: flex-start;
}

.choice-section .choice-lead {
	max-width: 590px;
}

.choice-section .choice-card-grid {
	align-items: stretch;
	gap: 24px;
}

.choice-section .choice-card,
.choice-section .choice-card-inner {
	height: 100%;
}

.choice-section .choice-card-inner > a {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 32px 30px 28px;
	border: 1px solid #E1E7DD;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 8px 22px rgba(0, 49, 40, 0.1);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.choice-section .choice-card-inner > a:hover {
	transform: translateY(-6px);
	box-shadow: 0 14px 30px rgba(0, 49, 40, 0.16);
}

.choice-section .choice-label {
	margin-bottom: 22px;
}

.choice-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 82px;
	height: 82px;
	margin-bottom: 20px;
	border-radius: 50%;
	color: #008129;
	background: #F2F7E5;
}

.choice-icon.-outsource {
	color: #8CB808;
}

.choice-icon.-transfer {
	color: #003128;
}

.choice-icon svg {
	width: 60px;
	height: 60px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.choice-section .choice-title {
	margin-bottom: 14px;
	font-size: 28px;
	font-weight: bold;
	line-height: 1.45;
	color: #003128;
}

.choice-section .choice-description {
	flex-grow: 0;
	min-height: 5.7em;
	margin-bottom: 22px;
	line-height: 1.9;
	color: #1D1D1D;
}

.choice-fit {
	margin-bottom: 26px;
	padding: 20px;
	border-radius: 5px;
	background: #F7FAF2;
}

.choice-fit h4 {
	margin-bottom: 11px;
	font-size: 15px;
	font-weight: bold;
	color: #003128;
}

.choice-fit-list li {
	position: relative;
	padding-left: 18px;
	font-size: 14px;
	line-height: 1.9;
	color: #1D1D1D;
}

.choice-fit-list li::before {
	content: "";
	position: absolute;
	top: 0.75em;
	left: 0;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #8CB808;
}

.choice-link {
	position: relative;
	align-self: flex-start;
	margin-top: auto;
	padding-right: 25px;
	font-weight: bold;
	color: #008129;
}

.choice-link::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	width: 8px;
	height: 8px;
	border-top: 2px solid currentColor;
	border-right: 2px solid currentColor;
	transform: translateY(-50%) rotate(45deg);
}

@media screen and (max-width:1099px) and (min-width:768px) {
	.choice-section .choice-head {
		display: block;
	}

	.choice-section .choice-lead {
		max-width: none;
		margin-top: 24px;
	}

	.choice-section .choice-card-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.choice-section .choice-card-inner > a {
		padding: 26px 20px;
	}

	.choice-section .choice-description {
		min-height: 7.6em;
	}
}

@media screen and (max-width:767px) {
	.choice-section .choice-card-grid {
		display: grid;
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.choice-section .choice-card:not(:last-of-type) {
		margin-bottom: 0;
	}

	.choice-section .choice-card-inner > a {
		padding: 26px 22px;
	}

	.choice-section .choice-description {
		min-height: 0;
	}
}

.home-industry-section {
	padding: 88px 0 96px;
	background: #fff;
}

.home-industry-head {
	display: grid;
	grid-template-columns: minmax(220px, .75fr) minmax(0, 1.25fr);
	align-items: start;
	gap: 64px;
	margin-bottom: 46px;
}

.home-industry-copy .lead {
	margin: 0 0 16px;
	color: #003128;
	font-size: 21px;
	font-weight: bold;
	line-height: 1.85;
}

.home-industry-copy > p:last-child {
	color: #555;
	font-size: 15px;
	line-height: 1.9;
}

.home-industry-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}

.home-industry-card,
.home-industry-card > a {
	height: 100%;
}

.home-industry-card > a {
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	min-height: 290px;
	padding: 30px;
	border: 1px solid #E1E7DD;
	border-top: 5px solid #008129;
	border-radius: 8px;
	color: #1D1D1D;
	background: #fff;
	box-shadow: 0 8px 22px rgba(0, 49, 40, .08);
	transition: transform .3s ease, box-shadow .3s ease;
}

.home-industry-card > a:hover {
	transform: translateY(-5px);
	box-shadow: 0 14px 30px rgba(0, 49, 40, .14);
}

.home-industry-label {
	align-self: flex-start;
	margin-bottom: 17px;
	padding: 5px 11px;
	border-radius: 3px;
	color: #fff;
	background: #008129;
	font-size: 13px;
	font-weight: bold;
}

.home-industry-card h3 {
	margin-bottom: 14px;
	color: #003128;
	font-size: 21px;
	font-weight: bold;
	line-height: 1.6;
}

.home-industry-card p {
	flex-grow: 1;
	margin-bottom: 22px;
	font-size: 15px;
	line-height: 1.85;
}

.home-industry-link {
	position: relative;
	align-self: flex-start;
	padding-right: 24px;
	color: #008129;
	font-weight: bold;
}

.home-industry-link::after {
	position: absolute;
	top: 50%;
	right: 2px;
	width: 8px;
	height: 8px;
	border-top: 2px solid currentColor;
	border-right: 2px solid currentColor;
	content: "";
	transform: translateY(-50%) rotate(45deg);
}

.home-industry-cta {
	width: min(100%, 360px);
	margin: 38px auto 0;
}

.home-industry-cta a {
	box-sizing: border-box;
	justify-content: center;
	text-align: center;
}

@media screen and (max-width:1099px) and (min-width:768px) {
	.home-industry-head {
		display: block;
	}

	.home-industry-copy {
		margin-top: 24px;
	}
}

@media screen and (max-width:767px) {
	.home-industry-section {
		padding: 58px 0 64px;
	}

	.home-industry-head,
	.home-industry-grid {
		display: grid;
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.home-industry-head {
		margin-bottom: 30px;
	}

	.home-industry-copy .lead {
		font-size: 18px;
	}

	.home-industry-card > a {
		min-height: 0;
		padding: 25px 22px;
	}

	.home-industry-card h3 {
		font-size: 19px;
	}
}

.faq-section {
	padding: 88px 0 96px;
	text-align: left;
	background: #003128;
}

.faq-section .faq-section-head {
	display: grid;
	grid-template-columns: minmax(220px, 0.75fr) minmax(0, 1.25fr);
	align-items: start;
	gap: 64px;
	margin-bottom: 48px;
}

.faq-section .row-ttl-wrap,
.faq-section .row-ttl {
	color: #fff;
}

.faq-section .faq-section-copy {
	padding-top: 4px;
}

.faq-section .faq-section-copy .lead {
	margin: 0 0 18px;
	font-size: 21px;
	font-weight: bold;
	line-height: 1.85;
	color: #fff;
}

.faq-section-note {
	font-size: 15px;
	line-height: 1.9;
	color: rgba(255, 255, 255, 0.76);
}

.faq-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}

.faq-card,
.faq-card > a {
	height: 100%;
}

.faq-card > a {
	display: flex;
	flex-direction: column;
	min-height: 320px;
	padding: 34px 34px 30px;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.faq-card > a:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 36px rgba(0, 0, 0, 0.16);
}

.faq-section .faq-card .faq-card-label {
	display: block;
	margin-bottom: 18px;
	padding: 0;
	font-size: 24px;
	font-weight: 500;
	color: #008129;
	background: transparent;
}

.faq-card-title {
	margin-bottom: 18px;
	font-size: 22px;
	font-weight: bold;
	line-height: 1.65;
	color: #003128;
}

.faq-card-body {
	margin-bottom: 26px;
	font-size: 15px;
	line-height: 1.9;
	color: #1D1D1D;
}

.faq-section .faq-card .faq-card-link {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	gap: 12px;
	margin-bottom: 0;
	margin-top: auto;
	padding: 0;
	font-size: 15px;
	font-weight: bold;
	color: #008129;
	background: transparent;
}

.faq-section .faq-card .faq-card-link::after {
	content: "";
	display: block;
	flex-shrink: 0;
	width: 8px;
	height: 8px;
	border-top: 2px solid currentColor;
	border-right: 2px solid currentColor;
	transform: rotate(45deg);
}

.faq-section .faq-section-cta {
	width: 300px;
	max-width: 100%;
	margin: 42px auto 0;
}

.faq-section .faq-section-cta a {
	justify-content: center;
	padding-right: 42px;
	padding-left: 42px;
	text-align: center;
	background-color: #008129;
}

.faq-section .faq-section-cta a:hover {
	background-color: #8CB808;
}

@media screen and (max-width:767px) {
	.faq-section {
		padding: 48px 0 54px;
	}

	.faq-section .faq-section-head {
		display: block;
		margin-bottom: 30px;
	}

	.faq-section .faq-section-copy {
		margin-top: 22px;
	}

	.faq-section .faq-section-copy .lead {
		font-size: 18px;
	}

	.faq-grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.faq-card > a {
		min-height: 0;
		padding: 26px 22px;
	}

	.faq-card-title {
		font-size: 19px;
	}

	.faq-section .faq-section-cta {
		width: 100%;
		margin-top: 30px;
	}
}

.why-tis-section {
	padding: 96px 0;
	background: #F7F7F7;
}

.why-tis-layout {
	display: grid;
	grid-template-columns: minmax(320px, 0.9fr) minmax(0, 1.1fr);
	align-items: center;
	gap: 72px;
}

.why-tis-photo {
	overflow: hidden;
	border-radius: 8px;
	background: #E9ECE8;
	box-shadow: 0 12px 30px rgba(0, 49, 40, 0.1);
}

.why-tis-photo img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	object-position: center;
}

.why-tis-label,
.trust-label {
	margin-bottom: 18px;
	font-size: 16px;
	font-weight: bold;
	letter-spacing: 0.12em;
	color: #008129;
}

.why-tis-title {
	margin-bottom: 28px;
	font-size: 34px;
	font-weight: bold;
	line-height: 1.55;
	color: #003128;
}

.why-tis-copy p {
	margin-bottom: 18px;
	font-size: 16px;
	line-height: 2;
	color: #1D1D1D;
}

.why-tis-strengths {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin-top: 30px;
}

.why-tis-strengths li {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 68px;
	padding: 16px 16px 16px 46px;
	border: 1px solid #DCE5DF;
	border-radius: 6px;
	font-size: 14px;
	font-weight: bold;
	line-height: 1.6;
	color: #003128;
	background: #fff;
}

.why-tis-strengths li::before {
	content: "";
	position: absolute;
	left: 18px;
	width: 16px;
	height: 9px;
	border-bottom: 2px solid #008129;
	border-left: 2px solid #008129;
	transform: translateY(-2px) rotate(-45deg);
}

.why-tis-cta {
	width: min(100%, 390px);
	margin-top: 34px;
}

.why-tis-cta a {
	justify-content: center;
	padding-right: 34px;
	padding-left: 34px;
	text-align: center;
}

.trust-section {
	padding: 88px 0 96px;
	background: #fff;
}

.trust-head {
	max-width: 760px;
	margin: 0 auto 44px;
	text-align: center;
}

.trust-head .c-ttl {
	margin-bottom: 16px;
}

.trust-head .lead {
	margin: 0;
	color: #555;
}

.trust-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.trust-badge {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
	min-height: 320px;
	padding: 28px 24px;
	border: 1px solid #DCE5DF;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 6px 18px rgba(0, 49, 40, 0.06);
	text-align: center;
}

.trust-logo {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 112px;
}

.trust-logo img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}

.trust-badge:nth-child(2) .trust-logo img {
	max-width: 112px;
}

.trust-badge:nth-child(3) .trust-logo img {
	max-width: 230px;
}

.insurance-companies-section {
	overflow: hidden;
	padding: 88px 0 96px;
	border-top: 1px solid #E4E9E5;
	background: #F7F8F6;
}

.insurance-companies-section > .inner {
	box-sizing: border-box;
	width: 100%;
	max-width: 1203px;
	margin-right: auto;
	margin-left: auto;
	padding-right: 24px;
	padding-left: 24px;
}

.insurance-companies-head {
	max-width: 900px;
	margin: 0 auto 44px;
	text-align: center;
}

.insurance-companies-head .c-ttl {
	margin-bottom: 18px;
}

.insurance-companies-head .lead {
	margin: 0;
	color: #555;
	line-height: 1.9;
}

.insurance-company-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	align-items: start;
	width: 100%;
	min-width: 0;
	gap: 24px;
}

.insurance-company-card {
	box-sizing: border-box;
	min-width: 0;
	padding: 34px 36px 38px;
	border: 1px solid #DCE5DF;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 6px 18px rgba(0, 49, 40, 0.05);
}

.insurance-company-card .c-ttl {
	margin-bottom: 24px;
	padding-bottom: 16px;
	border-bottom: 2px solid #E6EEE8;
	color: #003128;
}

.insurance-company-list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	column-gap: 36px;
	row-gap: 0;
	min-width: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.insurance-company-list li {
	position: relative;
	padding: 10px 0 10px 20px;
	border-bottom: 1px solid #EDF0EE;
	color: #333;
	font-size: 15px;
	line-height: 1.65;
	overflow-wrap: anywhere;
}

.insurance-company-list li::before {
	content: "";
	position: absolute;
	top: 1.25em;
	left: 2px;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #008129;
}

.insurance-company-list li:last-child {
	border-bottom: 0;
}

.footer .com-info .tbl {
	width: 100%;
}

.footer-business-list {
	display: grid;
	gap: 4px;
	margin: 0;
	padding: 0;
	list-style: none;
	line-height: 1.65;
}

.footer-business-list li {
	position: relative;
	padding-left: 1em;
}

.footer-business-list li::before {
	position: absolute;
	top: 0;
	left: 0;
	content: "・";
}

/* Industry pages */
.industry-article-width {
	max-width: 900px;
	margin-right: auto;
	margin-left: auto;
}

.industry-index-fv,
.industry-article-fv {
	background: linear-gradient(135deg, #F7F9F8 0%, #EEF5E9 100%);
}

.industry-index-fv .lead,
.industry-article-fv .lead {
	line-height: 2;
}

.industry-index-intro p,
.industry-content-section .article-content > p,
.industry-support-section .article-content > p {
	line-height: 2;
}

.industry-card-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.industry-card {
	min-height: 100%;
	border-radius: 6px;
	background: #fff;
	box-shadow: 0 8px 22px rgba(0, 49, 40, .08);
}

.industry-card a,
.industry-card-disabled {
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	height: 100%;
	padding: 30px 28px;
}

.industry-card a {
	color: #1D1D1D;
	transition: transform .3s ease, box-shadow .3s ease;
}

.industry-card-featured {
	grid-column: span 2;
	border-top: 5px solid #008129;
}

.industry-card-featured a:hover,
.industry-card-active a:hover {
	transform: translateY(-4px);
}

.industry-card-active {
	border-top: 5px solid #008129;
}

.industry-card-label {
	margin-bottom: 14px;
	color: #008129;
	font-size: 14px;
	font-weight: bold;
	letter-spacing: .08em;
}

.industry-card h3 {
	margin-bottom: 16px;
	color: #003128;
	font-size: 21px;
	line-height: 1.55;
}

.industry-card p:not(.industry-card-label) {
	flex-grow: 1;
	margin-bottom: 22px;
	font-size: 15px;
	line-height: 1.85;
}

.industry-card .out-link {
	align-self: flex-start;
	color: #008129;
	font-weight: bold;
}

.industry-card-disabled {
	opacity: .58;
	border: 1px solid #D8D8D8;
	box-shadow: none;
}

.industry-coming-soon {
	align-self: flex-start;
	padding: 5px 10px;
	border-radius: 3px;
	color: #555;
	background: #EAEDEA;
	font-size: 12px;
	font-weight: bold;
}

.industry-toc-section {
	padding: 54px 0;
	background: #fff;
}

.industry-toc {
	padding: 30px 34px;
	border: 1px solid #D8D8D8;
	border-left: 5px solid #008129;
	border-radius: 5px;
	background: #fff;
}

.industry-toc-title {
	margin-bottom: 18px;
	color: #003128;
	font-size: 20px;
	font-weight: bold;
}

.industry-toc ol {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px 28px;
	counter-reset: industry-toc;
}

.industry-toc li {
	counter-increment: industry-toc;
}

.industry-toc a {
	display: flex;
	gap: 9px;
	color: #1D1D1D;
	line-height: 1.65;
}

.industry-toc a::before {
	content: counter(industry-toc, decimal-leading-zero);
	color: #008129;
	font-family: Oswald, sans-serif;
	font-weight: bold;
}

.industry-toc a:hover {
	color: #008129;
}

.industry-content-section {
	scroll-margin-top: 90px;
}

.industry-section-number {
	margin-bottom: 8px !important;
	color: #8CB808;
	font-family: Oswald, sans-serif;
	font-size: 18px;
	font-weight: bold;
	letter-spacing: .12em;
}

.industry-issue-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	margin-top: 32px;
}

.industry-issue-card {
	position: relative;
	padding: 28px;
	border-top: 4px solid #008129;
	background: #fff;
}

.industry-issue-card > span {
	display: inline-block;
	margin-bottom: 12px;
	color: #8CB808;
	font-family: Oswald, sans-serif;
	font-size: 16px;
	font-weight: bold;
}

.industry-issue-card h3 {
	margin-bottom: 12px;
	color: #003128;
	font-size: 19px;
	line-height: 1.55;
}

.industry-issue-card p {
	font-size: 15px;
	line-height: 1.85;
}

.industry-risk-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px 18px;
	margin-top: 28px;
}

.industry-risk-list li,
.industry-check-list li {
	position: relative;
	padding: 15px 18px 15px 44px;
	border: 1px solid #D8D8D8;
	border-radius: 4px;
	background: #fff;
	line-height: 1.65;
}

.industry-risk-list li::before {
	position: absolute;
	top: 17px;
	left: 18px;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	content: "";
	background: #008129;
}

.industry-option-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	margin-top: 32px;
}

.industry-option-card {
	display: flex;
	flex-direction: column;
	padding: 30px 26px;
	border-top: 5px solid #008129;
	background: #fff;
	box-shadow: 0 8px 22px rgba(0, 49, 40, .08);
}

.industry-option-label {
	margin-bottom: 10px;
	color: #008129;
	font-size: 13px;
	font-weight: bold;
}

.industry-option-card h3 {
	margin-bottom: 16px;
	color: #003128;
	font-size: 23px;
}

.industry-option-card > p:not(.industry-option-label) {
	flex-grow: 1;
	margin-bottom: 24px;
	line-height: 1.85;
}

.industry-option-card > div {
	padding-top: 20px;
	border-top: 1px solid #D8D8D8;
}

.industry-option-card h4 {
	margin-bottom: 12px;
	color: #003128;
	font-size: 15px;
}

.industry-option-card ul {
	display: grid;
	gap: 8px;
}

.industry-option-card li {
	position: relative;
	padding-left: 18px;
	font-size: 14px;
	line-height: 1.65;
}

.industry-option-card li::before {
	position: absolute;
	top: .72em;
	left: 0;
	width: 7px;
	height: 7px;
	content: "";
	background: #8CB808;
}

.industry-check-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px 18px;
	margin-top: 28px;
}

.industry-check-list li::before {
	position: absolute;
	top: 16px;
	left: 17px;
	width: 17px;
	height: 17px;
	border: 2px solid #008129;
	border-radius: 2px;
	content: "";
	background: #fff;
}

.industry-support-cta {
	width: min(100%, 480px);
	margin: 34px auto 0;
}

.industry-support-cta a {
	box-sizing: border-box;
	justify-content: center;
	text-align: center;
}

.industry-related-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}

.industry-back-link {
	margin-top: 32px;
	text-align: center;
}

.industry-back-link a {
	color: #008129;
	font-weight: bold;
	text-decoration: underline;
	text-underline-offset: 4px;
}

@media screen and (max-width: 900px) {
	.industry-card-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.industry-option-grid {
		grid-template-columns: 1fr;
	}
}

@media screen and (max-width: 767px) {
	.industry-index-fv .lead,
	.industry-article-fv .lead,
	.industry-index-intro p,
	.industry-content-section .article-content > p,
	.industry-support-section .article-content > p {
		line-height: 1.85;
	}

	.industry-card-grid,
	.industry-issue-grid,
	.industry-risk-list,
	.industry-check-list,
	.industry-related-grid,
	.industry-toc ol {
		grid-template-columns: 1fr;
	}

	.industry-card-featured {
		grid-column: auto;
	}

	.industry-card a,
	.industry-card-disabled {
		padding: 24px 20px;
	}

	.industry-toc-section {
		padding: 36px 0;
	}

	.industry-toc {
		padding: 24px 20px;
	}

	.industry-issue-card,
	.industry-option-card {
		padding: 24px 20px;
	}

	.industry-support-cta {
		width: 100%;
	}
}

.trust-logo-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	border: 1px dashed #B7C5BD;
	border-radius: 6px;
	color: #66736C;
	background: #F7F9F8;
	font-size: 13px;
}

.trust-logo-placeholder[hidden] {
	display: none;
}

.trust-badge h3 {
	margin: 0;
	font-size: 17px;
	line-height: 1.55;
	color: #003128;
}

.trust-badge p {
	margin: 0;
	font-size: 14px;
	line-height: 1.75;
	color: #1D1D1D;
}

@media screen and (max-width:1099px) {
	.why-tis-layout {
		gap: 44px;
	}

	.why-tis-title {
		font-size: 30px;
	}

	.insurance-company-card {
		padding: 30px 26px 34px;
	}

	.insurance-company-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: 28px;
	}

}

@media screen and (max-width:767px) {
	.why-tis-section,
	.trust-section,
	.insurance-companies-section {
		padding: 52px 0 58px;
	}

	.why-tis-layout {
		display: flex;
		flex-direction: column;
		gap: 34px;
	}

	.why-tis-photo {
		width: 100%;
		border-radius: 6px;
	}

	.why-tis-title {
		font-size: 25px;
		line-height: 1.55;
	}

	.why-tis-copy p {
		font-size: 15px;
		line-height: 1.85;
	}

	.why-tis-strengths,
	.trust-grid,
	.insurance-company-grid {
		grid-template-columns: 1fr;
	}

	.why-tis-strengths li {
		min-height: 58px;
	}

	.why-tis-cta {
		width: 100%;
	}

	.trust-head {
		margin-bottom: 30px;
		text-align: left;
	}

	.trust-badge {
		min-height: 0;
		padding: 20px;
	}

	.insurance-companies-head {
		margin-bottom: 30px;
		text-align: left;
	}

	.insurance-companies-section > .inner {
		padding-right: 20px;
		padding-left: 20px;
	}

	.insurance-companies-head .lead {
		font-size: 15px;
		line-height: 1.85;
	}

	.insurance-company-grid {
		gap: 18px;
	}

	.insurance-company-card {
		padding: 24px 20px 28px;
	}

	.insurance-company-card .c-ttl {
		margin-bottom: 16px;
		padding-bottom: 12px;
	}

	.insurance-company-list li {
		padding-top: 9px;
		padding-bottom: 9px;
		font-size: 14px;
	}

	.insurance-company-list {
		grid-template-columns: 1fr;
		column-gap: 0;
	}
}

.download-promo {
	padding: 88px 0 96px;
	background: #F7F8F6;
}

.download-promo .download-promo-head {
	max-width: 900px;
	margin-right: auto;
	margin-bottom: 46px;
	margin-left: auto;
}

.download-promo .download-promo-lead {
	color: #1D1D1D;
}

.download-promo .download-promo-box {
	display: grid;
	grid-template-columns: minmax(300px, 40%) minmax(0, 60%);
	align-items: center;
	gap: 64px;
	padding: 52px 64px;
	border: 1px solid #E3E7E1;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 10px 28px rgba(0, 49, 40, 0.08);
}

.download-promo .download-promo-cover {
	display: flex;
	justify-content: center;
	width: 100%;
	overflow: visible;
	background: transparent;
}

.download-cover-sheet {
	position: relative;
	display: flex;
	align-items: center;
	width: min(100%, 330px);
	aspect-ratio: 1 / 1.414;
	padding: 34px 30px;
	overflow: hidden;
	border: 1px solid #DDE4DA;
	border-radius: 4px;
	color: #fff;
	background: linear-gradient(135deg, #003128 0%, #004639 58%, #F2F7E5 58%, #F2F7E5 100%);
	box-shadow: 0 18px 36px rgba(0, 49, 40, 0.16);
}

.download-cover-page {
	position: absolute;
	top: 14px;
	right: 16px;
	font-family: Oswald, sans-serif;
	font-size: 10px;
	letter-spacing: 0.08em;
	color: #008129;
}

.download-cover-content {
	position: relative;
	z-index: 1;
	width: 100%;
}

.download-cover-label {
	display: inline-block;
	margin-bottom: 18px;
	padding: 4px 10px;
	font-size: 10px;
	font-weight: bold;
	color: #fff;
	background: #008129;
}

.download-cover-sheet h3 {
	margin-bottom: 18px;
	font-size: 25px;
	font-weight: bold;
	line-height: 1.4;
	color: #fff;
}

.download-cover-copy {
	margin-bottom: 34px;
	font-size: 13px;
	font-weight: bold;
	line-height: 1.8;
	color: #fff;
}

.download-cover-meta {
	display: grid;
	gap: 10px;
}

.download-cover-meta div {
	display: grid;
	grid-template-columns: 45px 1fr;
	gap: 9px;
	padding: 9px 10px;
	border: 1px solid rgba(255, 255, 255, 0.34);
	background: rgba(255, 255, 255, 0.08);
	font-size: 9px;
	line-height: 1.55;
}

.download-cover-meta dt {
	font-weight: bold;
	color: #B7D53A;
}

.download-cover-meta dd {
	font-weight: bold;
	color: #fff;
}

.download-promo .download-promo-body {
	min-width: 0;
}

.download-promo-eyebrow {
	margin-bottom: 12px;
	font-size: 17px;
	font-weight: bold;
	color: #008129;
}

.download-promo .download-promo-body .c-ttl {
	margin-bottom: 26px;
	font-size: 26px;
	line-height: 1.6;
}

.download-promo .download-promo-list {
	margin-bottom: 34px;
}

.download-promo .download-promo-list li {
	position: relative;
	padding: 13px 0 13px 42px;
	border-bottom: 1px solid #E4E8E1;
	font-weight: bold;
	line-height: 1.65;
	color: #1D1D1D;
}

.download-promo .download-promo-list li::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 5px;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: #F2F7E5;
	transform: translateY(-50%);
}

.download-promo .download-promo-list li::after {
	content: "";
	position: absolute;
	top: calc(50% - 2px);
	left: 12px;
	width: 8px;
	height: 4px;
	border-bottom: 2px solid #008129;
	border-left: 2px solid #008129;
	transform: translateY(-50%) rotate(-45deg);
}

.download-promo .download-promo-cta {
	max-width: 364px;
	margin: 0;
}

.download-promo-note {
	margin-top: 14px;
	font-size: 13px;
	line-height: 1.7;
	color: #555;
}

@media screen and (max-width:1099px) {
	.download-promo .download-promo-box {
		gap: 40px;
		padding: 42px 36px;
	}

	.download-cover-sheet {
		padding: 30px 26px;
	}

	.download-cover-sheet h3 {
		font-size: 22px;
	}
}

@media screen and (max-width:767px) {
	.download-promo {
		padding: 48px 0 54px;
	}

	.download-promo .download-promo-head {
		margin-bottom: 28px;
	}

	.download-promo .download-promo-box {
		display: block;
		padding: 30px 20px;
	}

	.download-promo .download-promo-cover {
		margin-bottom: 38px;
	}

	.download-cover-sheet {
		width: min(88%, 300px);
	}

	.download-promo .download-promo-body .c-ttl {
		font-size: 22px;
	}

	.download-promo .download-promo-list li {
		padding-left: 38px;
	}

	.download-promo .download-promo-cta {
		max-width: 100%;
	}

	.download-promo-note {
		text-align: center;
	}
}

.inhouse-breadcrumb {
	padding: 18px 24px 0;
	background: #fff;
}

.inhouse-breadcrumb .breadcrumd {
	width: 100%;
	margin-bottom: 0;
}

.position-diagram {
	margin: 28px 0 34px;
	padding: 28px;
	border: solid 1px #D8D8D8;
	border-radius: 5px;
	background: #fff;
}

.position-diagram img {
	display: block;
	width: 100%;
	max-width: 760px;
	height: auto;
	margin: 0 auto;
}

.option-card-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.option-card-grid .option-card {
	display: flex;
	flex-direction: column;
	min-height: 100%;
	padding: 30px 24px;
	border-top: solid 5px #008129;
	background: #fff;
}

.option-card-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	margin-bottom: 18px;
	border-radius: 50%;
	background: #F2F7E5;
}

.option-card-icon svg {
	width: 42px;
	height: 42px;
	fill: none;
	stroke: #003128;
	stroke-width: 3;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.option-card-grid .option-card h3 {
	margin-bottom: 16px;
}

.option-card-grid .option-card ul {
	display: grid;
	gap: 10px;
}

.option-card-grid .option-card li {
	position: relative;
	padding-left: 18px;
	line-height: 1.7;
	font-weight: bold;
}

.option-card-grid .option-card li::before {
	content: "";
	position: absolute;
	top: .75em;
	left: 0;
	width: 7px;
	height: 7px;
	background: #008129;
}

.inhouse-related-links {
	background: #fff;
}

.inhouse-related-list,
.inhouse-cta-list {
	gap: 24px;
}

.inhouse-related-card a,
.inhouse-cta-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 28px;
	border-radius: 5px;
	background: #fff;
	box-shadow: 0 8px 22px rgba(0, 49, 40, .10);
	transition: .3s ease-in-out;
}

.inhouse-related-card a:hover {
	transform: translateY(-4px);
	box-shadow: 0 14px 30px rgba(0, 49, 40, .14);
}

.inhouse-related-card .c-ttl,
.inhouse-cta-card .c-ttl {
	margin-bottom: 14px;
	line-height: 1.55;
}

.inhouse-related-card p,
.inhouse-cta-card p {
	flex-grow: 1;
	margin-bottom: 22px;
	font-size: 15px;
	line-height: 1.85;
}

.inhouse-related-card .out-link {
	align-self: flex-start;
	font-weight: bold;
	color: #008129;
}

.inhouse-common-cta {
	background: #F7F7F7;
}

.inhouse-cta-card {
	color: #1D1D1D;
}

.inhouse-cta-card .c-btn {
	max-width: 320px;
	width: 100%;
}

@media screen and (max-width:767px) {
	.inhouse-breadcrumb {
		padding: 14px 5.8% 0;
	}

	.inhouse-breadcrumb .breadcrumd {
		display: flex;
		flex-wrap: wrap;
		row-gap: 6px;
	}

	.inhouse-related-list,
	.inhouse-cta-list {
		display: block;
	}

	.inhouse-related-card:not(:last-of-type),
	.inhouse-cta-card:not(:last-of-type) {
		margin-bottom: 16px;
	}

	.position-diagram {
		margin: 22px 0 28px;
		padding: 16px;
	}

	.option-card-grid {
		display: block;
	}

	.option-card-grid .option-card:not(:last-child) {
		margin-bottom: 16px;
	}
}
.download-form-list {
			gap: 18px;
			margin-top: 28px;
		}

.download-request-section {
	background: #F7F7F7;
}

.download-request-card {
	padding: 48px;
	border: solid 1px #E1E5DF;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 10px 28px rgba(0, 49, 40, .08);
}

.download-request-head {
	max-width: 760px;
	margin: 0 auto 32px;
	text-align: center;
}

.download-request-head .what-is-label {
	display: inline-block;
	margin-bottom: 14px;
}

.download-request-head p:last-child {
	margin-top: 18px;
	line-height: 1.9;
}

.download-request-form {
	max-width: 860px;
	margin: auto;
}

		.download-form-field label {
			display: block;
			margin-bottom: 8px;
			font-weight: bold;
			color: #003128;
		}

.form-required,
.form-optional {
	display: inline-block;
	margin-left: 7px;
	padding: 2px 7px;
	border-radius: 3px;
	font-size: 11px;
	font-weight: bold;
	vertical-align: 2px;
}

.form-required {
	color: #fff;
	background: #008129;
}

.form-optional {
	color: #555;
	background: #EAEDEA;
}

		.download-form-field input,
		.download-form-field textarea {
			width: 100%;
			padding: 15px 16px;
			border: solid 1px #D8D8D8;
			border-radius: 5px;
			background: #fff;
			font-size: 16px;
			transition: border-color .2s ease, box-shadow .2s ease;
		}

.download-form-field input:focus,
.download-form-field textarea:focus {
	border-color: #008129;
	box-shadow: 0 0 0 3px rgba(0, 129, 41, .10);
}

.download-form-field textarea {
	min-height: 150px;
	resize: vertical;
	line-height: 1.7;
}

.download-form-wide {
	grid-column: 1 / -1;
}

.download-consultation-topics {
	grid-column: 1 / -1;
	margin: 4px 0 0;
	padding: 24px;
	border: solid 1px #D8D8D8;
	border-radius: 8px;
	background: #fff;
}

.download-consultation-topics legend {
	padding: 0 8px;
	font-size: 18px;
	font-weight: bold;
	color: #003128;
}

.download-consultation-topics > p {
	margin: 0 0 16px;
	color: #555;
	font-size: 14px;
	line-height: 1.7;
}

.download-consultation-topic-list {
	display: grid;
	gap: 12px;
}

.download-consultation-topic-list label {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0;
	color: #1D1D1D;
	font-weight: normal;
	line-height: 1.65;
	cursor: pointer;
}

.download-consultation-topic-list input {
	width: 20px;
	height: 20px;
	flex: 0 0 20px;
	margin: 3px 0 0;
	accent-color: #008129;
}

		.download-form-note {
			margin-top: 18px;
			font-size: 14px;
			line-height: 1.8;
			color: #555;
		}

		.download-form-note a {
			color: #006F3C;
			text-decoration: underline;
		}

.download-form-consent {
	margin-top: 20px;
	padding: 18px 20px;
	border: solid 1px #D8D8D8;
	border-radius: 6px;
	background: #F7F9F7;
}

.download-form-consent label {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0;
	line-height: 1.7;
	cursor: pointer;
}

.download-form-consent input {
	width: 20px;
	height: 20px;
	flex: 0 0 20px;
	margin: 3px 0 0;
	accent-color: #008129;
}

.download-form-consent a {
	color: #006F3C;
	text-decoration: underline;
}

.form-honeypot {
	position: absolute !important;
	left: -10000px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

.download-form-status {
	margin-top: 14px;
	padding: 12px 16px;
	border-left: solid 4px #A06A00;
	background: #FFF8E8;
	color: #654500;
	font-size: 14px;
	line-height: 1.7;
}

		.download-form-submit {
			margin-top: 30px;
		}

		.download-form-submit .c-btn {
			max-width: 360px;
			width: 100%;
			margin: auto;
		}

		.download-form-submit .c-btn button {
			display: flex;
			align-items: center;
			justify-content: center;
			width: 100%;
			height: 100%;
			padding: 0 34px;
			border: 0;
			color: #fff;
			font-weight: bold;
			text-align: center;
			background: #003128 url(../biz_files/img/cmn/img-ic-arrow-white.svg) center right 21px / 15px auto no-repeat;
			cursor: pointer;
			transition: .3s ease-in-out;
		}

		.download-form-submit .c-btn button:hover {
			background-color: #8CB808;
		}

		.download-form-submit .c-btn button:disabled {
			background-color: #777;
			background-image: none;
			cursor: not-allowed;
			opacity: .8;
		}

		.download-form-submit .c-btn button:disabled:hover {
			background-color: #777;
		}

		.download-doc-placeholder {
			display: flex;
			align-items: center;
			justify-content: center;
			min-height: 360px;
			padding: 36px;
			border-radius: 5px;
			background: linear-gradient(135deg, #fff 0%, #F2F7E5 100%);
			box-shadow: 0 8px 22px rgba(0, 49, 40, .10);
		}

.download-page-cover {
	min-height: 520px;
	background: #F7F7F7;
}

.download-page-cover .download-cover-sheet {
	width: min(78%, 330px);
}

		.download-doc-placeholder-inner {
			width: 76%;
			max-width: 320px;
			padding: 34px 28px;
			border-top: solid 8px #008129;
			border-radius: 5px;
			background: #fff;
			box-shadow: 0 12px 28px rgba(0, 49, 40, .14);
		}

		.download-doc-placeholder-inner span {
			display: inline-block;
			margin-bottom: 18px;
			padding: 3px 12px;
			font-size: 13px;
			font-weight: bold;
			color: #fff;
			background: #008129;
		}

		.download-doc-placeholder-inner p {
			line-height: 1.8;
			color: #003128;
			font-weight: bold;
		}

		.download-sheet-actions {
			display: grid;
			grid-template-columns: repeat(2, minmax(0, 1fr));
			gap: 18px;
			max-width: 620px;
			margin-top: 30px;
		}

		.download-sheet-actions .c-btn {
			width: 100%;
		}

		.download-sheet-note {
			margin-top: 16px;
			padding: 14px 18px;
			border-left: solid 4px #8CB808;
			background: #F2F7E5;
			color: #003128;
			font-weight: bold;
			line-height: 1.7;
		}

		.download-sheet-subttl {
			margin-top: 42px;
			margin-bottom: 18px;
		}

		.download-sheet-points {
			grid-template-columns: repeat(4, minmax(0, 1fr));
			gap: 18px;
		}

		.download-consult-cta .article-content {
			padding: 42px;
			border-radius: 5px;
			background: #F2F7E5;
		}

		.download-consult-cta .c-btn {
			width: 260px;
			max-width: 100%;
			margin-top: 26px;
		}

		@media screen and (max-width:767px) {
			.download-form-list {
				display: block;
			}

			.download-form-field:not(:last-of-type) {
				margin-bottom: 16px;
			}

			.download-request-card {
				padding: 30px 20px;
			}

			.download-consultation-topics {
				padding: 20px 16px;
			}

			.download-doc-placeholder {
				min-height: 260px;
				margin-top: 28px;
				padding: 24px 20px;
			}

			.download-page-cover {
				min-height: 420px;
			}

			.download-page-cover .download-cover-sheet {
				width: min(88%, 300px);
			}

			.download-sheet-actions {
				display: block;
			}

			.download-sheet-points {
				display: block;
			}

			.download-sheet-actions .c-btn:not(:last-child) {
				margin-bottom: 14px;
			}

			.download-sheet-points .article-card:not(:last-child) {
				margin-bottom: 14px;
			}

			.download-consult-cta .article-content {
				padding: 28px 22px;
			}

			.download-consult-cta .c-btn {
				width: 100%;
			}
		}

.download-thanks-page {
	background: #F7F7F7;
}

.download-thanks-hero {
	padding: 72px 0;
}

.download-thanks-hero > .inner,
.download-thanks-related > .inner,
.download-thanks-consult > .inner {
	max-width: 1155px;
	margin: 0 auto;
	padding-right: 15px;
	padding-left: 15px;
}

.download-thanks-card {
	max-width: 900px;
	margin: auto;
	padding: 58px 54px;
	border: solid 1px #E1E5DF;
	border-radius: 8px;
	text-align: center;
	background: #fff;
	box-shadow: 0 12px 32px rgba(0, 49, 40, .09);
}

.download-thanks-card .what-is-label {
	display: inline-block;
	margin-bottom: 16px;
}

.download-thanks-card h1 {
	margin-bottom: 24px;
	font-size: 38px;
	line-height: 1.5;
	color: #003128;
}

.download-thanks-lead {
	font-size: 18px;
	font-weight: bold;
	line-height: 1.9;
	color: #1D1D1D;
}

.download-thanks-note {
	margin-top: 15px;
	line-height: 1.8;
	color: #555;
}

.download-thanks-actions {
	display: flex;
	justify-content: center;
	gap: 18px;
	margin-top: 34px;
}

.download-thanks-actions .c-btn {
	width: 300px;
	max-width: calc(50% - 9px);
}

.download-thanks-actions .c-btn a {
	justify-content: center;
	padding-right: 42px;
	padding-left: 42px;
	text-align: center;
}

.download-thanks-related {
	padding: 72px 0;
	background: #fff;
}

.download-thanks-related .article-content > .c-ttl {
	margin-bottom: 32px;
	text-align: center;
}

.download-thanks-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
}

.download-thanks-link-card a {
	display: flex;
	flex-direction: column;
	height: 100%;
	min-height: 180px;
	padding: 26px 24px;
	border: solid 1px #E1E5DF;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 8px 22px rgba(0, 49, 40, .08);
	transition: transform .3s ease, box-shadow .3s ease;
}

.download-thanks-link-card a:hover {
	transform: translateY(-4px);
	box-shadow: 0 13px 28px rgba(0, 49, 40, .14);
}

.download-thanks-link-card h3 {
	font-size: 18px;
	font-weight: bold;
	line-height: 1.6;
	color: #003128;
}

.download-thanks-link-card span {
	margin-top: auto;
	font-weight: bold;
	color: #008129;
}

.download-thanks-consult {
	padding: 72px 0;
	background: #F7F7F7;
}

.download-thanks-consult .article-content {
	padding: 42px;
	border-radius: 8px;
	text-align: center;
	background: #fff;
}

.download-thanks-consult p {
	margin-top: 18px;
	line-height: 1.9;
}

.download-thanks-consult .c-btn {
	margin: 28px auto 0;
}

@media screen and (max-width:1099px) {
	.download-thanks-hero > .inner,
	.download-thanks-related > .inner,
	.download-thanks-consult > .inner {
		padding-right: 5.8%;
		padding-left: 5.8%;
	}

	.download-thanks-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media screen and (max-width:767px) {
	.download-thanks-hero,
	.download-thanks-related,
	.download-thanks-consult {
		padding-top: 42px;
		padding-bottom: 42px;
	}

	.download-thanks-card {
		padding: 36px 20px;
	}

	.download-thanks-card h1 {
		font-size: 28px;
	}

	.download-thanks-lead {
		font-size: 16px;
	}

	.download-thanks-actions {
		display: block;
	}

	.download-thanks-actions .c-btn {
		width: 100%;
		max-width: none;
	}

	.download-thanks-actions .c-btn:not(:last-child) {
		margin-bottom: 14px;
	}

	.download-thanks-grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.download-thanks-link-card a {
		min-height: 140px;
	}

	.download-thanks-consult .article-content {
		padding: 30px 20px;
	}
}

.consultation-form-list {
			gap: 18px;
			margin-top: 28px;
		}

		.consultation-form-field label {
			display: block;
			margin-bottom: 8px;
			font-weight: bold;
			color: #003128;
		}

		.consultation-form-field input,
		.consultation-form-field textarea {
			width: 100%;
			padding: 15px 16px;
			border: solid 1px #D8D8D8;
			border-radius: 5px;
			background: #fff;
			font-size: 16px;
		}

		.consultation-form-field textarea {
			min-height: 160px;
			resize: vertical;
			line-height: 1.7;
		}

		.consultation-form-wide {
			grid-column: 1 / -1;
		}

		.consultation-form-submit {
			margin-top: 30px;
		}

		.consultation-form-submit .c-btn {
			max-width: 320px;
			width: 100%;
			margin: auto;
		}

		.consultation-form-submit .c-btn button {
			display: flex;
			align-items: center;
			width: 100%;
			height: 100%;
			padding: 0 34px;
			border: 0;
			color: #fff;
			font-weight: bold;
			text-align: left;
			background: #003128 url(../biz_files/img/cmn/img-ic-arrow-white.svg) center right 21px / 15px auto no-repeat;
			cursor: pointer;
			transition: .3s ease-in-out;
		}

		.consultation-form-submit .c-btn button:hover {
			background-color: #8CB808;
		}

		.consultation-visual-placeholder {
			display: flex;
			align-items: center;
			justify-content: center;
			min-height: 360px;
			padding: 34px;
			border-radius: 5px;
			background: linear-gradient(135deg, #fff 0%, #F2F7E5 100%);
			box-shadow: 0 8px 22px rgba(0, 49, 40, .10);
		}

		.consultation-visual-board {
			width: 100%;
			max-width: 360px;
			padding: 28px;
			border-radius: 5px;
			background: #fff;
			box-shadow: 0 12px 28px rgba(0, 49, 40, .14);
		}

		.consultation-visual-board span {
			display: inline-block;
			margin-bottom: 18px;
			padding: 3px 12px;
			font-size: 13px;
			font-weight: bold;
			color: #fff;
			background: #008129;
		}

		.consultation-visual-board ul li {
			padding: 12px 0 12px 24px;
			border-bottom: solid 1px #D8D8D8;
			background: url(../biz_files/img/cmn/img-arrow-green-s.svg) center left / 8px auto no-repeat;
			color: #003128;
			font-weight: bold;
		}

		.consultation-note-list {
			gap: 18px;
		}

		.consultation-step-card {
			position: relative;
			padding: 28px 22px;
			border-radius: 5px;
			background: #F7F7F7;
			box-shadow: 0 8px 22px rgba(0, 49, 40, .08);
		}

		.consultation-step-card span {
			display: inline-block;
			margin-bottom: 12px;
			padding: 3px 12px;
			font-size: 13px;
			font-weight: bold;
			color: #fff;
			background: #008129;
		}

		@media screen and (max-width:767px) {
			.consultation-form-list,
			.consultation-note-list {
				display: block;
			}

			.consultation-form-field:not(:last-of-type),
			.consultation-note-list .article-card:not(:last-of-type),
			.consultation-step-card:not(:last-of-type) {
				margin-bottom: 16px;
			}

		.consultation-visual-placeholder {
				min-height: 260px;
				margin-top: 28px;
				padding: 24px 20px;
			}
		}

		/* Download checksheet */
		.checksheet-body {
			background: #F7F7F7;
		}

		.checksheet-document {
			max-width: 980px;
			margin: 0 auto;
			padding: 48px 24px 72px;
		}

		.sheet-page {
			position: relative;
			min-height: 1120px;
			margin-bottom: 36px;
			padding: 64px;
			border-radius: 5px;
			background: #fff;
			box-shadow: 0 12px 34px rgba(0, 49, 40, .10);
		}

		.sheet-page-num {
			position: absolute;
			top: 24px;
			right: 28px;
			font-family: Oswald, sans-serif;
			font-size: 13px;
			letter-spacing: .08em;
			color: #008129;
		}

		.sheet-cover {
			display: flex;
			align-items: center;
			background: linear-gradient(135deg, #003128 0%, #004639 58%, #F2F7E5 58%, #F2F7E5 100%);
			color: #fff;
		}

		.sheet-cover-content {
			max-width: 650px;
		}

		.sheet-label,
		.sheet-kicker {
			display: inline-block;
			margin-bottom: 18px;
			padding: 4px 14px;
			font-size: 13px;
			font-weight: bold;
			color: #fff;
			background: #008129;
		}

		.sheet-cover h1 {
			margin-bottom: 24px;
			font-size: 42px;
			line-height: 1.35;
			color: #fff;
		}

		.sheet-subtitle {
			margin-bottom: 58px;
			font-size: 20px;
			font-weight: bold;
			line-height: 1.8;
		}

		.sheet-cover-meta {
			display: grid;
			gap: 18px;
			max-width: 560px;
		}

		.sheet-cover-meta div {
			display: grid;
			grid-template-columns: 88px 1fr;
			gap: 18px;
			padding: 18px 20px;
			border: solid 1px rgba(255, 255, 255, .34);
			background: rgba(255, 255, 255, .08);
		}

		.sheet-cover-meta dt {
			font-weight: bold;
			color: #B7D53A;
		}

		.sheet-cover-meta dd {
			font-weight: bold;
		}

		.sheet-header {
			margin-bottom: 34px;
			padding-bottom: 22px;
			border-bottom: solid 2px #003128;
		}

		.sheet-header h2 {
			font-size: 28px;
			line-height: 1.55;
			color: #003128;
		}

		.sheet-header p:not(.sheet-kicker) {
			margin-top: 16px;
			line-height: 1.9;
		}

		.sheet-content p,
		.sheet-block p,
		.sheet-card p,
		.sheet-result-card p,
		.sheet-prep-list p {
			line-height: 1.95;
		}

		.sheet-text p:not(:last-child) {
			margin-bottom: 18px;
		}

		.sheet-block-grid,
		.sheet-card-grid,
		.sheet-result-list,
		.sheet-prep-list {
			display: grid;
			gap: 18px;
		}

		.sheet-block-grid {
			grid-template-columns: repeat(2, minmax(0, 1fr));
		}

		.sheet-block,
		.sheet-card,
		.sheet-result-card,
		.sheet-prep-list section {
			position: relative;
			padding: 24px;
			border: solid 1px #D8D8D8;
			border-radius: 5px;
			background: #fff;
		}

		.sheet-block span,
		.sheet-prep-list span {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			width: 34px;
			height: 34px;
			margin-bottom: 14px;
			border-radius: 50%;
			color: #fff;
			font-family: Oswald, sans-serif;
			font-weight: bold;
			background: #003128;
		}

		.sheet-block h3,
		.sheet-card h3,
		.sheet-result-card h3,
		.sheet-prep-list h3,
		.sheet-consult-list-wrap h3 {
			margin-bottom: 12px;
			color: #003128;
			font-size: 18px;
			line-height: 1.55;
		}

		.sheet-table-wrap {
			overflow-x: auto;
			margin-bottom: 24px;
		}

		.sheet-compare-table {
			width: 100%;
			min-width: 760px;
			border-collapse: collapse;
			background: #fff;
		}

		.sheet-compare-table th,
		.sheet-compare-table td {
			padding: 12px 14px;
			border: solid 1px #D8D8D8;
			font-size: 14px;
			line-height: 1.55;
			vertical-align: top;
		}

		.sheet-compare-table thead th {
			color: #fff;
			background: #003128;
		}

		.sheet-compare-table tbody th {
			color: #003128;
			background: #F2F7E5;
		}

		.sheet-option-cards {
			grid-template-columns: repeat(3, minmax(0, 1fr));
		}

		.sheet-card ul li,
		.sheet-consult-list li {
			position: relative;
			padding-left: 18px;
			line-height: 1.75;
		}

		.sheet-card ul li::before,
		.sheet-consult-list li::before {
			content: "";
			position: absolute;
			top: .78em;
			left: 0;
			width: 7px;
			height: 7px;
			background: #008129;
		}

		.sheet-check-groups {
			display: grid;
			grid-template-columns: repeat(2, minmax(0, 1fr));
			gap: 16px;
		}

		.sheet-check-group {
			padding: 18px;
			border: solid 1px #D8D8D8;
			border-radius: 5px;
			background: #F7F7F7;
		}

		.sheet-check-group h3 {
			margin-bottom: 12px;
			padding-bottom: 8px;
			border-bottom: solid 1px #C9D8C2;
			color: #003128;
			font-size: 17px;
		}

		.sheet-check-group ol {
			display: grid;
			gap: 10px;
			padding-left: 1.4em;
		}

		.sheet-check-group li {
			padding-bottom: 10px;
			border-bottom: solid 1px #E4E4E4;
			font-size: 13px;
			line-height: 1.55;
		}

		.sheet-check-group li:last-child {
			padding-bottom: 0;
			border-bottom: 0;
		}

		.sheet-check-group li span {
			display: block;
			margin-bottom: 7px;
		}

		.sheet-check-boxes {
			display: flex;
			flex-wrap: wrap;
			gap: 12px;
		}

		.sheet-check-boxes label {
			display: inline-flex;
			align-items: center;
			gap: 6px;
			font-weight: bold;
			color: #003128;
		}

		.sheet-check-boxes i {
			display: inline-block;
			width: 18px;
			height: 18px;
			border: solid 2px #008129;
			background: #fff;
		}

		.sheet-result-list {
			grid-template-columns: repeat(2, minmax(0, 1fr));
		}

		.sheet-result-card {
			background: #F2F7E5;
		}

		.sheet-result-card span {
			display: inline-block;
			margin-bottom: 12px;
			padding: 3px 12px;
			color: #fff;
			font-weight: bold;
			background: #003128;
		}

		.sheet-note,
		.sheet-message {
			margin-top: 28px;
			padding: 20px 24px;
			border-left: solid 5px #8CB808;
			background: #F7F7F7;
			line-height: 1.8;
		}

		.sheet-prep-list {
			grid-template-columns: repeat(2, minmax(0, 1fr));
		}

		.sheet-consult-list-wrap {
			margin-top: 28px;
			padding: 24px;
			border-radius: 5px;
			background: #F7F7F7;
		}

		.sheet-consult-list {
			display: grid;
			grid-template-columns: repeat(2, minmax(0, 1fr));
			gap: 8px 22px;
		}

		.sheet-message p {
			color: #003128;
			font-size: 18px;
			font-weight: bold;
		}

		.sheet-message p:not(:last-child) {
			margin-bottom: 4px;
		}

		.sheet-actions {
			display: flex;
			flex-wrap: wrap;
			align-items: center;
			gap: 18px;
			margin-top: 32px;
		}

		.sheet-actions .c-btn {
			width: 260px;
			max-width: 100%;
		}

		.sheet-top-link {
			color: #003128;
			font-weight: bold;
			text-decoration: underline;
		}

		@media screen and (max-width:1099px) {
			.checksheet-document {
				padding-right: 5.8%;
				padding-left: 5.8%;
			}

			.sheet-page {
				min-height: auto;
				padding: 48px 36px;
			}
		}

		@media screen and (max-width:767px) {
			.checksheet-document {
				padding-top: 28px;
				padding-bottom: 48px;
			}

			.sheet-page {
				margin-bottom: 24px;
				padding: 42px 22px 30px;
			}

			.sheet-cover {
				background: #003128;
			}

			.sheet-cover h1 {
				font-size: 30px;
			}

			.sheet-subtitle {
				margin-bottom: 34px;
				font-size: 17px;
			}

			.sheet-cover-meta div,
			.sheet-block-grid,
			.sheet-option-cards,
			.sheet-check-groups,
			.sheet-result-list,
			.sheet-prep-list,
			.sheet-consult-list {
				display: block;
			}

			.sheet-cover-meta div:not(:last-child),
			.sheet-block:not(:last-child),
			.sheet-card:not(:last-child),
			.sheet-check-group:not(:last-child),
			.sheet-result-card:not(:last-child),
			.sheet-prep-list section:not(:last-child),
			.sheet-consult-list li:not(:last-child) {
				margin-bottom: 14px;
			}

			.sheet-header h2 {
				font-size: 24px;
			}

			.sheet-compare-table {
				min-width: 700px;
			}

			.sheet-actions {
				display: block;
			}

			.sheet-actions .c-btn {
				width: 100%;
				margin-bottom: 16px;
			}
		}

		@page {
			size: A4 portrait;
			margin: 12mm;
		}

		/* Fixed contact and download navigation */
		.side-position-nav li a {
			display: flex;
			flex-direction: column;
			align-items: center;
			gap: 8px;
			width: 100%;
			padding: 14px 0;
			background-image: none !important;
			box-sizing: border-box;
			-ms-writing-mode: horizontal-tb;
			writing-mode: horizontal-tb;
		}

		.side-position-nav-icon {
			width: 18px;
			height: 18px;
			flex: 0 0 auto;
			fill: none;
			stroke: currentColor;
			stroke-width: 1.8;
			stroke-linecap: round;
			stroke-linejoin: round;
		}

		.side-position-nav li span {
			background-image: none !important;
			-ms-writing-mode: tb-rl;
			writing-mode: vertical-rl;
			text-orientation: upright;
		}

		@media screen and (max-width: 767px) {
			.side-position-nav li a {
				flex-direction: row;
				gap: 8px;
				padding: 0;
			}

			.side-position-nav li span {
				padding-left: 0;
				-ms-writing-mode: horizontal-tb;
				writing-mode: horizontal-tb;
			}

			.side-position-nav-icon {
				width: 17px;
				height: 17px;
			}
		}

		@media print {
			.header,
			.tb-header,
			.tb-nav,
			.footer,
			.contact-box,
			.side-position-nav,
			.inhouse-breadcrumb {
				display: none !important;
			}

			html,
			body {
				width: 210mm;
				background: #fff !important;
			}

			.main {
				padding: 0 !important;
			}

			.checksheet-document {
				max-width: none;
				margin: 0;
				padding: 0;
			}

			.sheet-page {
				min-height: auto;
				margin: 0;
				padding: 12mm 10mm;
				border-radius: 0;
				box-shadow: none !important;
				page-break-after: always;
				break-after: page;
			}

			.sheet-page:last-child {
				page-break-after: auto;
				break-after: auto;
			}

			.sheet-cover {
				color: #1D1D1D;
				background: #fff !important;
				border: solid 2px #003128;
			}

			.sheet-cover h1,
			.sheet-cover-meta dt {
				color: #003128;
			}

			.sheet-cover-meta div {
				border-color: #D8D8D8;
				background: #F7F7F7;
			}

			.sheet-header {
				margin-bottom: 18px;
				padding-bottom: 12px;
			}

			.sheet-header h2 {
				font-size: 21px;
			}

			.sheet-check-page,
			.sheet-prep-page {
				padding-top: 8mm;
				padding-bottom: 8mm;
			}

			.sheet-check-page .sheet-header,
			.sheet-prep-page .sheet-header {
				margin-bottom: 10px;
				padding-bottom: 8px;
			}

			.sheet-check-page .sheet-header p:not(.sheet-kicker),
			.sheet-prep-page .sheet-header p:not(.sheet-kicker) {
				margin-top: 8px;
				font-size: 12px;
				line-height: 1.55;
			}

			.sheet-check-page .sheet-kicker,
			.sheet-prep-page .sheet-kicker {
				margin-bottom: 8px;
			}

			.sheet-check-page .sheet-check-groups {
				gap: 10px;
			}

			.sheet-check-page .sheet-check-group {
				padding: 14px 16px;
			}

			.sheet-check-page .sheet-check-group h3 {
				margin-bottom: 6px;
				padding-bottom: 5px;
				font-size: 16px;
			}

			.sheet-check-page .sheet-check-group ol {
				gap: 6px;
			}

			.sheet-check-page .sheet-check-group li {
				padding-bottom: 6px;
				font-size: 12px;
				line-height: 1.45;
			}

			.sheet-check-page .sheet-check-group li span {
				margin-bottom: 4px;
			}

			.sheet-check-page .sheet-check-boxes {
				gap: 8px;
			}

			.sheet-check-page .sheet-check-boxes label {
				gap: 4px;
			}

			.sheet-check-page .sheet-check-boxes i {
				width: 15px;
				height: 15px;
			}

			.sheet-prep-page .sheet-prep-list {
				gap: 12px;
			}

			.sheet-prep-page .sheet-prep-list section {
				padding: 16px 18px;
			}

			.sheet-prep-page .sheet-prep-list span {
				width: 28px;
				height: 28px;
				margin-bottom: 8px;
				font-size: 12px;
			}

			.sheet-prep-page .sheet-prep-list h3 {
				margin-bottom: 6px;
				font-size: 16px;
				line-height: 1.4;
			}

			.sheet-prep-page .sheet-prep-list p {
				font-size: 13px;
				line-height: 1.55;
			}

			.sheet-label,
			.sheet-kicker,
			.sheet-block span,
			.sheet-prep-list span,
			.sheet-result-card span {
				color: #fff !important;
				background: #003128 !important;
				-webkit-print-color-adjust: exact;
				print-color-adjust: exact;
			}

			.sheet-block,
			.sheet-card,
			.sheet-result-card,
			.sheet-prep-list section,
			.sheet-check-group,
			.sheet-consult-list-wrap,
			.sheet-note,
			.sheet-message {
				box-shadow: none !important;
				-webkit-print-color-adjust: exact;
				print-color-adjust: exact;
			}

			.sheet-actions .c-btn {
				display: none;
			}

			.sheet-top-link::after {
				content: "（https://www.tislook.com/biz/hokendairiten-mirai/）";
				display: block;
				margin-top: 6px;
				font-size: 12px;
				font-weight: normal;
			}
		}

/* Manga landing page */
.manga-lp-page {
	--manga-deep-green: #003128;
	--manga-green: #007044;
	--manga-light-green: #eaf3ed;
	--manga-orange: #ef5b20;
	--manga-ink: #171a18;
	background: #f4f7f5;
	color: var(--manga-ink);
}

.manga-lp-page .main {
	overflow: hidden;
}

.manga-lp-inner {
	width: min(1120px, calc(100% - 48px));
	margin-right: auto;
	margin-left: auto;
}

.manga-hero {
	position: relative;
	padding: 72px 0 64px;
	background:
		linear-gradient(90deg, rgba(255,255,255,.94) 0 56%, rgba(235,244,238,.82) 56% 100%),
		repeating-linear-gradient(135deg, transparent 0 18px, rgba(0,49,40,.025) 18px 19px);
}

.manga-hero::after {
	content: "";
	position: absolute;
	right: -80px;
	bottom: -120px;
	width: 320px;
	height: 320px;
	border: solid 50px rgba(140,184,8,.12);
	border-radius: 50%;
}

.manga-hero-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
	align-items: center;
	gap: 54px;
}

.manga-kicker,
.manga-section-label {
	display: inline-block;
	padding: 6px 14px;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .04em;
	background: var(--manga-green);
}

.manga-hero h1 {
	margin-top: 20px;
	font-size: clamp(38px, 4.1vw, 62px);
	font-weight: 800;
	line-height: 1.35;
	letter-spacing: -.035em;
}

.manga-hero h1 span {
	display: block;
	color: var(--manga-green);
	font-size: .56em;
	letter-spacing: 0;
}

.manga-hero h1 strong {
	position: relative;
	z-index: 0;
	font-weight: inherit;
}

.manga-hero h1 strong::after {
	content: "";
	position: absolute;
	z-index: -1;
	right: -.05em;
	bottom: .08em;
	left: -.05em;
	height: .28em;
	background: #ffc05b;
}

.manga-hero-lead {
	margin-top: 24px;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.9;
	color: #48504b;
}

.manga-hero-points {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 24px;
}

.manga-hero-points li {
	padding: 7px 12px 7px 30px;
	border: solid 1px #c4d8ca;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 700;
	background: #fff;
}

.manga-hero-points li::before {
	content: "✓";
	margin-left: -18px;
	margin-right: 7px;
	color: var(--manga-green);
}

.manga-primary-link {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	min-width: 260px;
	margin-top: 30px;
	padding: 17px 22px;
	color: #fff;
	font-weight: 700;
	background: var(--manga-deep-green);
	box-shadow: 0 10px 24px rgba(0,49,40,.2);
	transition: transform .2s ease, background .2s ease;
}

.manga-primary-link:hover {
	color: #fff;
	background: var(--manga-green);
	transform: translateY(-2px);
}

.manga-hero-visual {
	position: relative;
	z-index: 1;
	padding: 14px;
	background: #fff;
	box-shadow: 0 20px 50px rgba(0,49,40,.16);
	transform: rotate(1.2deg);
}

.manga-hero-visual img {
	display: block;
	width: 100%;
	height: auto;
}

.manga-hero-visual p {
	position: absolute;
	right: -20px;
	bottom: 28px;
	padding: 13px 18px;
	color: #fff;
	font-size: 18px;
	font-weight: 800;
	line-height: 1.5;
	background: var(--manga-deep-green);
	box-shadow: 5px 6px 0 #8cb808;
}

.manga-reading-progress {
	position: sticky;
	z-index: 30;
	top: 0;
	height: 5px;
	background: #dce5df;
}

.manga-reading-progress span {
	display: block;
	width: 100%;
	height: 100%;
	background: var(--manga-orange);
	transform: scaleX(0);
	transform-origin: left center;
}

.manga-story {
	padding: 72px 0 0;
	background: #f4f7f5;
}

.manga-story-head {
	margin-bottom: 42px;
	text-align: center;
}

.manga-story-head h2,
.manga-bridge h2,
.manga-conversion h2 {
	margin-top: 18px;
	font-size: clamp(30px, 4vw, 48px);
	font-weight: 800;
	line-height: 1.45;
	color: var(--manga-deep-green);
}

.manga-story-head > p:last-child,
.manga-bridge > .manga-lp-inner > p:last-child,
.manga-conversion-lead {
	margin-top: 16px;
	font-size: 17px;
	line-height: 1.9;
	color: #56605a;
}

.manga-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.manga-panel {
	margin: 0;
	background: #fff;
	box-shadow: 0 8px 20px rgba(0,49,40,.09);
}

.manga-panel img {
	display: block;
	width: 100%;
	height: auto;
}

.manga-bridge {
	position: relative;
	margin: 72px 0;
	padding: 64px 0;
	text-align: center;
	color: #fff;
	background: var(--manga-deep-green);
}

.manga-bridge::before,
.manga-bridge::after {
	content: "";
	position: absolute;
	left: 50%;
	width: 1px;
	height: 42px;
	background: #8cb808;
}

.manga-bridge::before { top: -21px; }
.manga-bridge::after { bottom: -21px; }

.manga-bridge-eyebrow {
	font-weight: 700;
	letter-spacing: .08em;
	color: #b7d53a;
}

.manga-bridge h2 {
	color: #fff;
}

.manga-bridge > .manga-lp-inner > p:last-child {
	color: rgba(255,255,255,.78);
}

.manga-finale {
	margin-top: 16px;
}

.manga-panel-final {
	box-shadow: 0 12px 28px rgba(0,49,40,.13);
}

.manga-conversion {
	margin-top: 80px;
	padding: 76px 0 84px;
	text-align: center;
	background: #fff;
}

.manga-action-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
	margin-top: 42px;
	text-align: left;
}

.manga-action-card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 390px;
	padding: 38px;
	border: solid 1px #d7e2da;
	background: #f8faf9;
}

.manga-action-card::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	height: 7px;
	background: var(--manga-green);
}

.manga-action-download::before { background: var(--manga-orange); }

.manga-action-tag {
	font-size: 14px;
	font-weight: 700;
	color: #66706a;
}

.manga-action-card h3 {
	margin-top: 12px;
	font-size: 28px;
	font-weight: 800;
	line-height: 1.45;
	color: var(--manga-deep-green);
}

.manga-action-card ul {
	display: grid;
	gap: 10px;
	margin: 22px 0 28px;
}

.manga-action-card li {
	position: relative;
	padding-left: 22px;
	line-height: 1.65;
}

.manga-action-card li::before {
	content: "";
	position: absolute;
	top: .65em;
	left: 0;
	width: 8px;
	height: 8px;
	background: var(--manga-green);
}

.manga-action-card a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin-top: auto;
	padding: 17px 20px;
	color: #fff;
	font-weight: 700;
	background: var(--manga-deep-green);
}

.manga-action-download a { background: var(--manga-orange); }
.manga-action-card a:hover { color: #fff; filter: brightness(.92); }

.manga-contact-note {
	margin-top: 28px;
	font-size: 14px;
	line-height: 1.8;
	color: #606963;
}

.manga-contact-note a {
	color: var(--manga-deep-green);
	font-size: 18px;
	font-weight: 800;
}

.manga-sticky-cta {
	display: none;
}

.manga-mobile-break { display: none; }

@media screen and (max-width: 900px) {
	.manga-hero-layout {
		grid-template-columns: 1fr;
	}

	.manga-hero-copy { text-align: center; }
	.manga-hero-points { justify-content: center; }
	.manga-hero-visual { width: min(620px, 92%); margin: auto; }
	.manga-hero-visual p { right: -10px; }
}

@media screen and (max-width: 767px) {
	.manga-lp-page { padding-bottom: 62px; }

	.manga-lp-inner {
		width: min(100% - 24px, 620px);
	}

	.manga-hero {
		padding: 42px 0 38px;
	}

	.manga-hero-layout { gap: 34px; }
	.manga-hero h1 { font-size: 36px; }
	.manga-hero h1 span { font-size: .52em; }
	.manga-hero-lead { font-size: 15px; }
	.manga-pc-break { display: none; }
	.manga-mobile-break { display: block; }

	.manga-primary-link {
		width: 100%;
		justify-content: center;
	}

	.manga-hero-visual {
		width: 96%;
		padding: 8px;
	}

	.manga-hero-visual p {
		right: -4px;
		bottom: 18px;
		font-size: 15px;
	}

	.manga-story { padding-top: 48px; }
	.manga-story-head { margin-bottom: 28px; }
	.manga-story-head h2,
	.manga-bridge h2,
	.manga-conversion h2 { font-size: 29px; }

	.manga-story-head > p:last-child,
	.manga-bridge > .manga-lp-inner > p:last-child,
	.manga-conversion-lead { font-size: 15px; }

	.manga-grid {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.manga-panel { box-shadow: 0 4px 12px rgba(0,49,40,.08); }

	.manga-bridge {
		margin: 52px 0;
		padding: 48px 0;
	}

	.manga-finale { margin-top: 12px; }
	.manga-panel-final { overflow: hidden; }
	.manga-panel-final picture,
	.manga-panel-final img { display: block; width: 100%; max-width: 100%; }

	.manga-conversion {
		margin-top: 54px;
		padding: 54px 0 62px;
	}

	.manga-action-grid {
		grid-template-columns: 1fr;
		gap: 16px;
		margin-top: 30px;
	}

	.manga-action-card {
		min-height: 0;
		padding: 30px 22px 24px;
	}

	.manga-action-card h3 { font-size: 24px; }

	.manga-contact-note { padding-right: 12px; padding-left: 12px; }

	.manga-sticky-cta {
		position: fixed;
		z-index: 100;
		right: 0;
		bottom: 0;
		left: 0;
		display: grid;
		grid-template-columns: 1.15fr .85fr;
		box-shadow: 0 -4px 18px rgba(0,0,0,.16);
	}

	.manga-sticky-cta a {
		display: flex;
		align-items: center;
		justify-content: center;
		min-height: 62px;
		padding: 10px 8px;
		color: #fff;
		font-size: 14px;
		font-weight: 800;
		text-align: center;
	}

	.manga-sticky-cta a:hover { color: #fff; }
	.manga-sticky-download { background: var(--manga-orange); }
	.manga-sticky-consult { background: var(--manga-deep-green); }
}

@media (prefers-reduced-motion: reduce) {
	.manga-primary-link { transition: none; }
}
