/* Extracted from style_header_footer03.css — body.requirements only */

body.requirements .spec__content {
	font-size: 18px;
}
body.requirements .spec__content div strong {
	font-size: 20px;
}
body.requirements .hosoku {
	font-size: 17px;
}

/* layout: .content / .l-container
   - .content … /miraiseed/common/css/style.css（layout セクション）相当
   - body.requirements .l-container … style_header_footer03.css の body.document .l-container 相当
   - min-width … style_header_footer03.css @media (min-width: 769px) 内の .content 相当を body.requirements に限定 */

.content {
	padding-bottom: 50px;
	background-color: #F7F5ED;
}

body.requirements .l-container {
	width: 960px;
	margin: 0 auto;
	padding-top: 60px;
}

@media screen and (min-width: 769px) {
	body.requirements .content {
		min-width: 980px;
	}
}

@media screen and (max-width: 768px) {
	body.requirements .content {
		padding-bottom: 0;
	}
	body.requirements .l-container {
		width: 100%;
		padding-right: 20px;
		padding-left: 20px;
	}
	body.requirements .heading h1 {
		font-size: 32px;
	}
	body.requirements .kyozai h2,
	body.requirements .dosa h2 {
		font-size: 22px;
	}
	body.requirements .kyozai {
		margin-bottom: 40px !important;
	}
	body.requirements .dosa {
		padding-bottom: 40px;
	}
	body.requirements .spec {
		display: block;
	}
	body.requirements .spec.mb-35 {
		margin-bottom: 20px !important;
	}
	body.requirements .spec__heading {
		display: block;
		width: auto;
		padding: 5px 15px;
	}
	body.requirements .spec__content {
		display: block;
		width: auto;
		padding: 15px;
		font-size: 16px;
	}
	body.requirements .spec__content div strong {
		font-size: 18px;
	}
	body.requirements .spec__table {
		position: relative;
		overflow-x: auto;
	}
	body.requirements .spec__table::before {
		z-index: 2;
		position: absolute;
		top: 50%;
		right: 10px;
		width: 24px;
		height: 24px;
		transform: translateY(-50%) rotate(45deg);
		border-top: 4px solid rgba(0, 0, 0, 0.5);
		border-right: 4px solid rgba(0, 0, 0, 0.5);
		content: "";
		opacity: 0;
		transition: opacity 0.3s ease;
	}
	body.requirements .spec__table.show-arrow::before {
		opacity: 1;
	}
	body.requirements .spec__table img {
		width: 698px;
		height: auto;
	}
	body.requirements .hosoku {
		font-size: 15px;
	}
}

/* ------------------------------------------------------------------
   以下: /miraiseed/common/css/style.css より抽出
   （動作環境ページの .kyozai / .dosa セクション用。
   リポジトリ内に style.css が無い場合は miraiseed_old20260115/common/css/style.css の該当箇所と同等）
------------------------------------------------------------------ */

.mb-60 {
	margin-bottom: 60px !important;
}

.spec {
	width: 100%;
	margin-bottom: 10px;
	display: table;
}

.spec__heading {
	box-sizing: border-box;
	color: #fff;
	padding: 20px;
	text-align: left;
	vertical-align: top;
	width: 200px;
	display: table-cell;
	font-weight: 500;
}

.spec__content {
	background: #fff;
	box-sizing: border-box;
	padding: 20px;
	width: 760px;
	display: table-cell;
	line-height: 1.5;
}

.spec__content p {
	margin-bottom: .7em;
}

.kyozai .spec__heading {
	background: #2A3054;
}

.dosa .spec__heading {
	background: #47A9E4;
}

.hosoku {
	font-size: 12px;
}

/* ------------------------------------------------------------------
   関連サイトページ: .section-hero ブロック
   取得元: miraiseed/connection/assets-connection/css/connection.css
   （HTML: miraiseed/connection/index.html 295–305 付近）
------------------------------------------------------------------ */

:root {
	--board: 1280;
	--max: 1px;
	--color-navy: #3f498c;
}

.section-hero {
	padding: clamp(0px, 10vw / var(--board) * 10 * 30, var(--max) * 30) 0;
	height: clamp(0px, 10vw / var(--board) * 10 * 160, var(--max) * 160);
	background-color: #fff;
	background-image: url("/miraiseed/fansite/assets-fansite/image/usecase/bg_usecase-left.webp"), url("/miraiseed/fansite/assets-fansite/image/usecase/bg_usecase-right.webp");
	background-position: left top, right top;
	background-size: contain;
	background-repeat: no-repeat;
}
.section-hero__inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
	margin: 0 auto;
	padding: 0;
	max-width: clamp(0px, 10vw / var(--board) * 10 * 1028, var(--max) * 1028);
	height: 100%;
}
.section-hero__content {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: center;
	height: 100%;
}
.section-hero__title {
	color: var(--color-navy);
	font-weight: 700;
	font-size: clamp(0px, 10vw / var(--board) * 10 * 32, var(--max) * 32);
	line-height: 1;
}
.section-hero__lead {
	color: var(--color-navy);
	font-weight: 700;
	font-size: clamp(0px, 10vw / var(--board) * 10 * 16, var(--max) * 16);
	line-height: 1.6;
}

@media (max-width: 768px) {
	:root {
		--board: 375;
		--max: 9999px;
	}
	.section-hero {
		position: relative;
		padding: clamp(0px, 10vw / var(--board) * 10 * 28, var(--max) * 28) 0;
		height: clamp(0px, 10vw / var(--board) * 10 * 174, var(--max) * 174);
		background-image: url("/miraiseed/fansite/assets-fansite/image/usecase/bg_usecase_sp.webp");
		background-position: center;
		background-size: cover;
	}
	.section-hero__inner {
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		gap: clamp(0px, 10vw / var(--board) * 10 * 16, var(--max) * 16);
		padding: 0 clamp(0px, 10vw / var(--board) * 10 * 20, var(--max) * 20);
		max-width: none;
		width: 100%;
	}
	.section-hero__content {
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		gap: clamp(0px, 10vw / var(--board) * 10 * 30, var(--max) * 30);
		width: 100%;
	}
	.section-hero__title {
		text-align: center;
		font-size: clamp(0px, 10vw / var(--board) * 10 * 24, var(--max) * 24);
	}
	.section-hero__lead {
		margin: 0 auto;
		max-width: clamp(0px, 10vw / var(--board) * 10 * 280, var(--max) * 280);
		font-size: clamp(0px, 10vw / var(--board) * 10 * 12, var(--max) * 12);
		line-height: 1.41666667;
	}
}


h2 {
	font-size: clamp(0px, 10vw / var(--board) * 10 * 28, var(--max) * 28);
}
@media (max-width: 768px) {
    h2 {
        font-size: clamp(0px, 10vw / var(--board) * 10 * 20, var(--max) * 20);
    }
}