/**
 * 固定ページ「弊社の取り組み」— フロント／ブロックエディター共通
 *
 * @package Sankoudenki
 */

.doc-prose--efforts .is-style-doc-story + .is-style-doc-story,
.editor-styles-wrapper .doc-prose--efforts .is-style-doc-story + .is-style-doc-story {
	margin-top: var(--doc-section-gap, clamp(2.75rem, 2rem + 2vw, 3.75rem));
}

.doc-prose--efforts {
	box-sizing: border-box;
	width: 100%;
	max-width: var(--doc-prose-max-width, 62em);
	margin-inline: auto;
	color: #475569;
	line-height: 1.75;
}

.doc-prose--efforts p,
.doc-prose--efforts .is-style-doc-story p,
.editor-styles-wrapper .doc-prose--efforts .is-style-doc-story p {
	font-size: var(--text-standard-size);
	line-height: var(--text-standard-lh);
}

.doc-prose--efforts .efforts-lead {
	color: #0f172a;
	font-weight: 700;
	margin-top: 0.75rem;
	margin-bottom: 0;
}

.doc-prose--efforts .efforts-figure--iso,
.editor-styles-wrapper .efforts-figure--iso {
	width: 100%;
	max-width: 100%;
	margin-top: clamp(1.25rem, 1rem + 0.75vw, 1.75rem);
	margin-inline: auto;
}

@media (min-width: 768px) {
	.doc-prose--efforts .efforts-figure--iso,
	.editor-styles-wrapper .efforts-figure--iso {
		width: 80%;
		max-width: 80%;
	}
}

.doc-prose--efforts .efforts-figure--iso picture,
.editor-styles-wrapper .efforts-figure--iso picture {
	display: block;
	width: 100%;
}

.doc-prose--efforts .efforts-figure--iso img,
.editor-styles-wrapper .efforts-figure--iso img {
	width: 100%;
	height: auto;
}

.doc-prose--efforts .efforts-figure--fleet,
.editor-styles-wrapper .efforts-figure--fleet {
	width: fit-content;
	max-width: 100%;
	margin-top: clamp(1.25rem, 1rem + 0.75vw, 1.75rem);
	margin-bottom: clamp(0.5rem, 0.35rem + 0.4vw, 0.75rem);
	margin-inline: auto;
}

.doc-prose--efforts .efforts-figure--fleet picture,
.editor-styles-wrapper .efforts-figure--fleet picture {
	display: block;
	width: auto;
	max-width: 100%;
}

.doc-prose--efforts .efforts-figure--fleet img,
.editor-styles-wrapper .efforts-figure--fleet img {
	width: auto;
	height: auto;
	max-width: 100%;
}

.doc-prose--efforts .efforts-figure--safety-tech,
.editor-styles-wrapper .efforts-figure--safety-tech {
	width: 100%;
	max-width: 100%;
	margin-top: clamp(1.25rem, 1rem + 0.75vw, 1.75rem);
	margin-bottom: clamp(0.5rem, 0.35rem + 0.4vw, 0.75rem);
	margin-inline: auto;
}

.doc-prose--efforts .efforts-figure--safety-tech picture,
.editor-styles-wrapper .efforts-figure--safety-tech picture {
	display: block;
	width: 100%;
}

.doc-prose--efforts .efforts-figure--safety-tech img,
.editor-styles-wrapper .efforts-figure--safety-tech img {
	width: 100%;
	height: auto;
}

@media (min-width: 768px) {
	.doc-prose--efforts .efforts-figure--safety-tech,
	.editor-styles-wrapper .efforts-figure--safety-tech {
		width: fit-content;
		max-width: 100%;
	}

	.doc-prose--efforts .efforts-figure--safety-tech picture,
	.editor-styles-wrapper .efforts-figure--safety-tech picture {
		width: min(1024px, 100%);
		max-width: 1024px;
	}

	.doc-prose--efforts .efforts-figure--safety-tech img,
	.editor-styles-wrapper .efforts-figure--safety-tech img {
		width: 1024px;
		max-width: 100%;
		height: auto;
	}
}

.doc-prose--efforts .efforts-item {
	margin-top: clamp(1.75rem, 1.25rem + 1.5vw, 2.25rem);
}

.doc-prose--efforts .efforts-item:first-of-type {
	margin-top: clamp(1.25rem, 1rem + 0.75vw, 1.75rem);
}

.doc-prose--efforts .efforts-item > p:first-of-type {
	margin-top: 0.75rem;
}

.doc-prose--efforts .efforts-item-heading,
.editor-styles-wrapper .efforts-item-heading {
	position: relative;
	font-family: "Noto Sans JP", var(--font-sans);
	font-size: clamp(1.0625rem, 1rem + 0.25vw, 1.25rem);
	font-weight: 900;
	line-height: 1.45;
	color: #0f172a;
	padding: 0.15rem 0 0.75rem clamp(0.875rem, 0.75rem + 0.35vw, 1rem);
	margin: 0;
	border-left: 4px solid #155c89;
	border-bottom: 1px solid rgba(21, 92, 137, 0.14);
}

.doc-prose--efforts .efforts-item-heading::after,
.editor-styles-wrapper .efforts-item-heading::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -1px;
	width: clamp(3rem, 2.5rem + 1.5vw, 4rem);
	height: 2px;
	background-color: #155c89;
}

.doc-prose--efforts .efforts-figure:not(.efforts-figure--fleet):not(.efforts-figure--iso):not(.efforts-figure--safety-tech),
.editor-styles-wrapper .efforts-figure:not(.efforts-figure--fleet):not(.efforts-figure--iso):not(.efforts-figure--safety-tech) {
	margin-top: clamp(1.75rem, 1.25rem + 1.5vw, 2.5rem);
	margin-bottom: 0;
}

.doc-prose--efforts .is-style-doc-subhead + .efforts-figure--fleet,
.editor-styles-wrapper .is-style-doc-subhead + .efforts-figure--fleet {
	margin-top: clamp(1.25rem, 1rem + 0.75vw, 1.75rem);
}

.doc-prose--efforts .efforts-figure img,
.editor-styles-wrapper .efforts-figure img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 2px;
}

.doc-prose--efforts .efforts-figure--fleet img,
.editor-styles-wrapper .efforts-figure--fleet img {
	width: auto;
	max-width: 100%;
}

.doc-prose--efforts .efforts-item .efforts-figure {
	margin-top: 1.25rem;
}

.doc-prose--efforts .efforts-equip-line,
.editor-styles-wrapper .efforts-equip-line {
	margin-top: 0.5rem;
	margin-bottom: 0;
}

.doc-prose--efforts .efforts-item-heading + .efforts-equip-line,
.editor-styles-wrapper .efforts-item-heading + .efforts-equip-line {
	margin-top: 0.75rem;
}

.doc-prose--efforts .efforts-equip-line + .efforts-equip-line,
.editor-styles-wrapper .efforts-equip-line + .efforts-equip-line {
	margin-top: 0.35rem;
}

/* 本文＋右画像（安全推進協議会 等） */
.doc-prose--efforts .efforts-item--media .efforts-item-heading,
.editor-styles-wrapper .efforts-item--media .efforts-item-heading {
	margin-bottom: 0.75rem;
}

.doc-prose--efforts .efforts-item__row,
.editor-styles-wrapper .efforts-item__row {
	display: grid;
	gap: clamp(1.25rem, 1rem + 1.25vw, 2rem);
	align-items: start;
}

@media (min-width: 768px) {
	.doc-prose--efforts .efforts-item__row,
	.editor-styles-wrapper .efforts-item__row {
		grid-template-columns: minmax(0, 1fr) minmax(11rem, 38%);
		column-gap: clamp(1.5rem, 1.25rem + 1.5vw, 2.75rem);
	}
}

.doc-prose--efforts .efforts-item__body,
.editor-styles-wrapper .efforts-item__body {
	min-width: 0;
}

.doc-prose--efforts .efforts-item__body > p:first-child,
.editor-styles-wrapper .efforts-item__body > p:first-child {
	margin-top: 0;
}

.doc-prose--efforts .efforts-item__figure,
.editor-styles-wrapper .efforts-item__figure {
	margin: 0;
}

.doc-prose--efforts .efforts-item__figure img,
.editor-styles-wrapper .efforts-item__figure img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 2px;
}
