/* =========================================================
   EC舶用機器指令（MED) 製造者向け案内
   Page namespace: .p-ac-ecm
   Shared MED base styles: ec_med.css
   ========================================================= */

/* ---------------------------------------------------------
   Figures
   --------------------------------------------------------- */
.p-ac-ecm .p-ac-ecm__singleFigure,
.p-ac-ecm .p-ac-ecm__flowFigure,
.p-ac-ecm .p-ac-ecm__documentFigure {
	margin: 28px 0 0;
	text-align: center;
}

.p-ac-ecm .p-ac-ecm__singleFigure {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
}

.p-ac-ecm .p-ac-ecm__singleFigure img,
.p-ac-ecm .p-ac-ecm__flowFigure img,
.p-ac-ecm .p-ac-ecm__documentFigure img {
	display: block;
	max-width: 100%;
	height: auto;
	border: 1px solid #ccc;
}

.p-ac-ecm .p-ac-ecm__singleFigure figcaption,
.p-ac-ecm .p-ac-ecm__flowFigure figcaption,
.p-ac-ecm .p-ac-ecm__documentFigure figcaption {
	margin-top: 8px;
	line-height: 1.5;
}

.p-ac-ecm .p-ac-ecm__flowFigure a {
	display: inline-block;
}

.p-ac-ecm .p-ac-ecm__flowFigure img {
	width: min(100%, 760px);
	margin: 0 auto;
}

.p-ac-ecm .p-ac-ecm__documentFigure {
	flex: 0 0 190px;
	margin: 0;
}

.p-ac-ecm .p-ac-ecm__documentFigure img {
	margin: 0 auto;
}

/* ---------------------------------------------------------
   Text + document thumbnail
   --------------------------------------------------------- */
.p-ac-ecm .p-ac-ecm__split {
	display: flex;
	align-items: flex-start;
	gap: 40px;
}

.p-ac-ecm .p-ac-ecm__splitBody {
	flex: 1 1 auto;
	min-width: 0;
}

/* ---------------------------------------------------------
   Module descriptions
   --------------------------------------------------------- */
.p-ac-ecm .p-ac-ecm__moduleGrid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	margin-top: 28px;
}

.p-ac-ecm .p-ac-ecm__moduleCard {
	box-sizing: border-box;
	padding: 24px;
	border: 1px solid var(--med-border);
	background: #fff;
}

.p-ac-ecm .p-ac-ecm__moduleCard h4 {
	margin: 0 0 14px;
	color: var(--med-blue-dark);
	font-size: 1.08rem;
	line-height: 1.55;
}

.p-ac-ecm .p-ac-ecm__moduleCard p {
	margin: 0;
}

.p-ac-ecm .p-ac-ecm__moduleGrid--two {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* ---------------------------------------------------------
   Responsive
   --------------------------------------------------------- */
@media screen and (max-width: 1023px) {
	.p-ac-ecm .p-ac-ecm__split {
		gap: 28px;
	}

	.p-ac-ecm .p-ac-ecm__moduleGrid {
		grid-template-columns: 1fr;
	}
}

@media screen and (max-width: 767px) {
	.p-ac-ecm .p-ac-ecm__singleFigure {
		align-items: center;
	}

	.p-ac-ecm .p-ac-ecm__split {
		flex-direction: column;
		gap: 24px;
	}

	.p-ac-ecm .p-ac-ecm__documentFigure {
		flex: none;
		width: 100%;
	}

	.p-ac-ecm .p-ac-ecm__moduleCard {
		padding: 20px;
	}
}
