/*
 * このサイト固有の調整用CSSです。
 * 公式配布パッケージ内のCSS/JSは編集せず、必要な上書きだけここに書きます。
 */

.SiteSampleLead {
	margin-top: 0;
}

:root {
	--hitachi-red-1: #FA000F;
	--hitachi-red-2: #CC0000;
	--hitachi-white: #FFFFFF;
	--hitachi-gray-1: #F4F4F4;
	--hitachi-gray-2: #D9D9D9;
	--hitachi-gray-3: #B3B3B3;
	--hitachi-gray-4: #737373;
	--hitachi-gray-5: #4D4D4D;
	--hitachi-gray-6: #222222;
	--hitachi-black: #0C0C0C;
}

body {
	background: var(--hitachi-white);
	color: var(--hitachi-black);
	font-family: "Hitachi Sans", "Noto Sans JP", "Yu Gothic UI", "Noto Sans", sans-serif;
}

.SecureHero {
	position: relative;
	max-width: 1275px;
	min-height: 520px;
	margin: 0 auto 50px;
	overflow: hidden;
	background: var(--hitachi-gray-6);
}

.SecureHero__image {
	position: absolute;
	inset: 0;
	background-image: linear-gradient(90deg, rgba(12, 12, 12, 0.88) 0%, rgba(12, 12, 12, 0.72) 34%, rgba(12, 12, 12, 0.18) 66%, rgba(12, 12, 12, 0.04) 100%), url("../images/secure-ops-hero.png");
	background-position: center;
	background-size: cover;
}

.SecureHero__overlay {
	position: relative;
	z-index: 1;
	box-sizing: border-box;
	width: min(620px, 100%);
	padding: 74px 30px 70px;
	color: var(--hitachi-white);
}

.SecureHero__label,
.SecureEyebrow {
	margin: 0 0 12px;
	color: var(--hitachi-red-2);
	font-weight: bold;
	letter-spacing: 0;
}

.SecureHero__label {
	color: #FF979D;
}

.SecureHero h1 {
	margin: 0;
	font-size: 270%;
	line-height: 1.28;
	letter-spacing: 0;
}

.SecureHero__lead {
	margin: 24px 0 0;
	font-size: 108%;
	line-height: 1.9;
}

.SecureHero__button,
.SecureContact__button {
	margin: 30px 0 0;
}

.SecureHero__button a,
.SecureContact__button a {
	background: var(--hitachi-red-2);
	border-color: var(--hitachi-red-2);
	color: var(--hitachi-white);
}

.SecureSection {
	margin-top: 58px;
}

.SecureSection h2,
.SecureContact h2 {
	margin: 0 0 18px;
	font-size: 180%;
	line-height: 1.45;
	letter-spacing: 0;
}

.SecureIntro {
	display: grid;
	grid-template-columns: minmax(260px, 0.75fr) minmax(0, 1fr);
	gap: 30px;
	align-items: start;
}

.SecureIntro p {
	margin-top: 0;
}

.SecureMetrics {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 15px;
	margin-top: 32px;
}

.SecureMetric {
	padding: 24px 22px;
	border-top: 4px solid var(--hitachi-red-2);
	background: var(--hitachi-gray-1);
}

.SecureMetric strong {
	display: block;
	font-size: 220%;
	line-height: 1;
}

.SecureMetric span {
	display: block;
	margin-top: 10px;
	color: var(--hitachi-gray-5);
}

.SecureCardGrid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 15px;
}

.SecureCard,
.SecureMenu__item {
	box-sizing: border-box;
	padding: 26px 24px;
	border: 1px solid var(--hitachi-gray-2);
	background: var(--hitachi-white);
}

.SecureCard h3,
.SecureMenu__item h3 {
	position: relative;
	margin: 0 0 16px;
	padding-left: 18px;
	font-size: 125%;
	line-height: 1.45;
}

.SecureCard h3::before,
.SecureMenu__item h3::before {
	position: absolute;
	top: 0.45em;
	left: 0;
	width: 8px;
	height: 8px;
	background: var(--hitachi-red-2);
	content: "";
}

.SecureCard p,
.SecureMenu__item p {
	margin-bottom: 0;
}

.SecureBand {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 0.9fr);
	gap: 32px;
	padding: 38px 34px;
	background: var(--hitachi-gray-1);
}

.SecureBand__text p:last-child {
	margin-bottom: 0;
}

.SecureSteps {
	margin: 0;
	padding: 0;
	list-style: none;
}

.SecureSteps li {
	padding: 18px 0;
	border-bottom: 1px solid var(--hitachi-gray-2);
}

.SecureSteps li:first-child {
	padding-top: 0;
}

.SecureSteps strong,
.SecureSteps span {
	display: block;
}

.SecureSteps span {
	margin-top: 6px;
	color: var(--hitachi-gray-5);
}

.SecureMenu {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 15px;
}

.SecureContact {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 30px;
	align-items: center;
	margin: 64px 0 70px;
	padding: 34px;
	border-top: 4px solid var(--hitachi-red-2);
	background: var(--hitachi-gray-6);
	color: var(--hitachi-white);
}

.SecureContact p {
	margin-bottom: 0;
}

@media screen and (max-width: 994px) {
	.SecureHero {
		min-height: 470px;
		margin-bottom: 38px;
	}

	.SecureHero__overlay {
		padding-top: 58px;
	}

	.SecureHero h1 {
		font-size: 230%;
	}

	.SecureIntro,
	.SecureBand,
	.SecureContact {
		grid-template-columns: 1fr;
	}

	.SecureCardGrid,
	.SecureMenu {
		grid-template-columns: 1fr;
	}
}

@media screen and (max-width: 767px) {
	.SecureHero {
		min-height: 0;
		margin-bottom: 30px;
	}

	.SecureHero__image {
		position: relative;
		display: block;
		aspect-ratio: 16 / 9;
		background-image: linear-gradient(0deg, rgba(12, 12, 12, 0.35), rgba(12, 12, 12, 0.05)), url("../images/secure-ops-hero.png");
	}

	.SecureHero__overlay {
		width: auto;
		padding: 28px 20px 32px;
		background: var(--hitachi-gray-6);
	}

	.SecureHero h1 {
		font-size: 190%;
	}

	.SecureHero__lead {
		font-size: 100%;
	}

	.SecureMetrics {
		grid-template-columns: 1fr;
	}

	.SecureSection h2,
	.SecureContact h2 {
		font-size: 150%;
	}

	.SecureBand,
	.SecureContact {
		padding: 26px 20px;
	}
}

@media screen and (max-width: 399px) {
	.SecureHero h1 {
		font-size: 165%;
	}

	.SecureMetric strong {
		font-size: 185%;
	}
}
