/* =========================================================
   EU舶用機器指令(MED)
   Shared by ja / en / zh
   Page namespace: .p-ac-jg
   ========================================================= */

.p-ac-jg {
	--med-blue: #0065b4;
	--med-blue-dark: #004b87;
	--med-blue-soft: #eef6fb;
	--med-border: #d6e1ea;
}

/* Hero: do not override c-hero / c-hero__title / H1. */
.p-ac-jg .p-ac-jg-hero {
	min-height: 180px;
	display: flex;
	align-items: center;
	background: #eef3f7;
}

/* ---------------------------------------------------------
   In-page navigation: aligned with e-Certificate
   --------------------------------------------------------- */
.p-ac-jg .p-ac-jg__anchorNav {
	border-bottom: 1px solid var(--med-border);
	background: #fff;
}

.p-ac-jg .p-ac-jg__anchorNav .l-container {
	padding-top: 36px;
	padding-bottom: 34px;
}

.p-ac-jg .p-ac-jg__anchorNavTitle {
	margin: 0 0 18px;
	font-weight: 700;
}

.p-ac-jg .p-ac-jg__anchorNavList {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	column-gap: 8px;
	row-gap: 18px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.p-ac-jg .p-ac-jg__anchorNavList li {
	min-width: 0;
	margin: 0;
}

.p-ac-jg .p-ac-jg__anchorNavList a {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 70px;
	height: 100%;
	padding: 14px 16px;
	border: 1px solid var(--med-border);
	background: #fff;
	color: var(--med-blue-dark);
	font-weight: 700;
	text-align: center;
	text-decoration: none;
	line-height: 1.5;
	overflow-wrap: anywhere;
	box-sizing: border-box;
}

.p-ac-jg .p-ac-jg__anchorNavList a:hover,
.p-ac-jg .p-ac-jg__anchorNavList a:focus-visible {
	border-color: var(--med-blue);
	background: var(--med-blue-soft);
}

.p-ac-jg .p-ac-jg__sectionAnchor {
	scroll-margin-top: 120px;
}

/* ---------------------------------------------------------
   Local subheading
   Avoid the common solid-blue H3 bar only for this label.
   --------------------------------------------------------- */
.p-ac-jg h3.p-ac-jg__subheading.u-marker-none {
	box-sizing: border-box;
	margin: 32px 0 20px;
	padding: 3px 0 3px 16px !important;
	border: 0 !important;
	border-left: 4px solid var(--med-blue) !important;
	background: transparent !important;
	color: var(--med-blue-dark) !important;
	font-size: 1.2rem;
	font-weight: 700;
	line-height: 1.5;
}

/* ---------------------------------------------------------
   Table
   Column widths and appearance use ClassNK common table.css:
   .c-table--th-blue .c-table--layout-3cols-c
   No page-specific column-width overrides.
   --------------------------------------------------------- */
.p-ac-jg .p-ac-jg__tableScroll {
	width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

/* ---------------------------------------------------------
   Figures
   --------------------------------------------------------- */
.p-ac-jg .p-ac-jg__figureGrid {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: flex-end;
	gap: 28px;
	margin-top: 32px;
}

.p-ac-jg .p-ac-jg__figure {
	margin: 0;
	text-align: center;
}

.p-ac-jg .p-ac-jg__figure img {
	display: block;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
	border: 1px solid #ccc;
}

.p-ac-jg .p-ac-jg__figure a {
	display: inline-block;
}

.p-ac-jg .p-ac-jg__figure figcaption {
	margin-top: 8px;
	line-height: 1.5;
}

.p-ac-jg .p-ac-jg__figureNote {
	font-size: .875rem;
}

/* Keep the conformity declaration readable as a thumbnail. */
.p-ac-jg .p-ac-jg__figureGrid--directive .p-ac-jg__figure:nth-child(2) img {
	width: 160px;
}

/* ---------------------------------------------------------
   Contact
   --------------------------------------------------------- */
.p-ac-jg .p-ac-jg__contactGrid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	margin-top: 24px;
}

.p-ac-jg .p-ac-jg__contactGrid .c-box--contact {
	box-sizing: border-box;
	margin: 0;
	padding: 24px;
	border: 1px solid var(--med-border);
	background: #fff;
	overflow-wrap: anywhere;
}

.p-ac-jg .p-ac-jg__contactGrid a,
.p-ac-jg .p-ac-jg__relatedList a {
	overflow-wrap: anywhere;
}

/* ---------------------------------------------------------
   Responsive
   --------------------------------------------------------- */
@media screen and (max-width: 1023px) {
	.p-ac-jg .p-ac-jg__anchorNavList {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.p-ac-jg .p-ac-jg__contactGrid {
		grid-template-columns: 1fr;
	}
}

@media screen and (max-width: 767px) {
	.p-ac-jg .p-ac-jg-hero {
		min-height: 120px;
	}

	.p-ac-jg .p-ac-jg__anchorNav .l-container {
		padding-top: 24px;
		padding-bottom: 24px;
	}

	.p-ac-jg .p-ac-jg__anchorNavList {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.p-ac-jg .p-ac-jg__anchorNavList a {
		min-height: 44px;
		padding: 8px;
		font-size: .9rem;
	}

	.p-ac-jg h3.p-ac-jg__subheading.u-marker-none {
		margin-top: 28px;
		font-size: 1.1rem;
	}

	.p-ac-jg .p-ac-jg__figureGrid {
		justify-content: center;
		gap: 20px;
		margin-top: 24px;
	}

	.p-ac-jg .p-ac-jg__contactGrid .c-box--contact {
		padding: 20px;
	}
}

@media screen and (max-width: 480px) {
	.p-ac-jg .p-ac-jg__figureGrid {
		flex-direction: column;
		align-items: center;
	}
}
