@charset "UTF-8";

/*---------------------------------------------------------
  安全体感教育とは about
---------------------------------------------------------*/
/* 共通 */
.category:not(:last-child) {
	margin-bottom: 10rem;
}
.category > .title {
	font-size: 3.2rem;
	font-weight: bold;
	color: #2f5597;
}
@media screen and (max-width: 959.98px) {
	/* タブレット以下 */
	.category > .title {
		/* ビューポート: 320px～960px、font-size: 2.2rem～3.2rem */
		font-size: calc(2.2rem + ((1vw - 0.32rem) * 1.5625));
	}
}

/* 概要 */
.summary > li {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.summary > li:not(:last-child) {
	margin-bottom: 5%;
}
.summary > li .box {
	flex: 0 1 65%;
}
.summary > li .thumbnail {
	flex: 0 1 30%;
}
.summary .thumbnail img {
	width: 100%;
	border-radius: 16px;
	box-shadow: rgba(92, 99, 112, 0.5) 0px 0px 9px 0px;
}
.summary .title {
	padding-left: 0.25em;
	font-size: 2.8rem;
	font-weight: bold;
	color: #2f5597;
	border-bottom: 2px solid #2f5597;
}
.summary .text {
	padding: 1em 0.5em 0;
}
.summary .text p:not(:last-of-type) {
	padding-bottom: 1em;
}
.summary .text ul {
	padding-left: 1em;
	padding-bottom: 1em;
}
.summary .text li {
	list-style-type: disc;
}
@media screen and (max-width: 959.98px) {
	/* タブレット以下 */
	.summary .title {
		/* ビューポート: 320px～960px、font-size: 2.2rem～2.8rem */
		font-size: calc(2.2rem + ((1vw - 0.32rem) * 0.9375));
	}
	.summary > li:not(:last-child) {
		margin-bottom: max(10%, 4rem);
	}
	.summary > li .box {
		flex: 0 1 100%;
	}
	.summary > li .thumbnail {
		margin-bottom: 5%;
	}
	.summary .title {
		border-bottom: 1px solid #2f5597;
	}
}

/*---------------------------------------------------------
  実施企業　業種例／出張実績
---------------------------------------------------------*/
.customer-name-location {
	display: flex;
	gap: 5%;
}
@media screen and (max-width: 959.98px) {
	/* タブレット以下 */
	.customer-name-location {
		flex-direction: column;
		margin-bottom: 8rem;
	}
}

/*---------------------------------------------------------
  実施企業　業種例
---------------------------------------------------------*/
.customer-name {
	flex: 1;
}
.customer-name > .body {
	margin-top: 1em;
	line-height: 2;
}
.customer-name > .body > li:last-child {
	margin-top: 1em;
	text-indent: 10em;
}

/*---------------------------------------------------------
  出張実績
---------------------------------------------------------*/
.customer-location {
	flex: 1;
}
.customer-location .map {
	width: 100%;
	max-width: 320px;
	height: auto;
}
.geolonia-svg-map {
	width: 100%;
}
.geolonia-svg-map .prefecture {
	fill: #f7f7f7;
	stroke: #666666;
	cursor: pointer;
}
.geolonia-svg-map .boundary-line {
	stroke: #999999;
}
@media screen and (max-width: 959.98px) {
	/* タブレット以下 */
	.customer-location .map {
		margin: 0 auto;
	}
}

/*---------------------------------------------------------
  お客様の声
---------------------------------------------------------*/
.customer-reviews ul {
	margin-top: 1em;
	display: flex;
	flex-wrap: wrap;
}
.customer-reviews li {
	/* 3列 */
	flex: 0 1 30%;
	padding: 1.5em;
	background: #c4e9fb61;
	border: 2px solid #171717;
	border-radius: 16px;
}
.customer-reviews li:nth-child(3n+2) {
	/* 中央列 */
	margin-left: 5%;
	margin-right: 5%;
}
@media screen and (max-width: 959.98px) {
	/* タブレット以下：2列 */
	.customer-reviews li {
		flex: 0 1 47.5%;
		margin-bottom: 5%;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
	.customer-reviews li:nth-child(2n) {
		/* 偶数列 */
		margin-left: 5% !important;
	}
	.customer-reviews li:last-child {
		margin-bottom: 0;
	}
}
@media screen and (max-width: 559.98px) {
	/* スマホ：1列 */
	.customer-reviews li:nth-child(n) {
		flex: 0 1 100%;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}

/*---------------------------------------------------------
  講師からのメッセージ
---------------------------------------------------------*/
.instructor-message > .body {
	display: inline-block;
	margin-top: 1em;
	padding: 1.5em;
	background: #fff5ee;
	border: 2px solid #171717;
	border-radius: 16px;
}
.instructor-message > .body p:not(:last-of-type) {
	padding-bottom: 1em;
}
.font125 {
	font-size: 125%;
}