/* ------------------------------------------------
              アドバイザリーサービス
--------------------------------------------------- */

/*---------- サービス全体像 ----------*/
.sec-overview {
	width: 100%;
	padding: 80px 0;
	position: relative;
}
.sec-lead-txt {
	width: 100%;
	margin-bottom: 40px;
	font-size: 1.8rem;
	text-align: center;
}

/* 図 */
.overview-wrap {
	width: 100%;
	background: var(--color-light-green);
	justify-content: center;
	align-items: center;
	gap: 30px 60px;
	overflow: hidden;
	padding: 10px 30px 30px;
	position: relative;
}

/* 左右 */
.overview-figure {
	width: calc((100% - 430px - 120px) / 2);
	max-width: 190px;
	height: 250px;
	padding: 15px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	background: var(--color-white);
	border: 3px solid var(--color-light-green);
	border-radius: 10px;
	position: relative;
	z-index: 2;
}
.overview-figure-img {
	width: 80%;
	max-width: 80px;
	margin: 0 auto 15px;
}
.overview-figure-txt {
	color: var(--color-dark-green);
	font-size: 1.8rem;
	font-weight: 700;
}
.overview-figure-arrow-txt {
	width: 92px;
	margin: 10px auto 0;
	padding: 30px 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;

	background-image: linear-gradient(to bottom, var(--color-dark-green) 2px, transparent 2px);
	background-size: 2px 4px;
	background-repeat: repeat-y;
	background-position: left top;
	font-weight: 700;
	line-height: 1;
	position: relative;
}
.overview-figure-arrow-txt::before {
	content: '';
	display: block;
	width: 0;
	height: 0;
	border-bottom: 14px solid var(--color-dark-green);
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	position: absolute;
	top: -2px;
	left: -5px;
}
.overview-figure-arrow-txt::after {
	content: '';
	display: block;
	width: 0;
	height: 0;
	border-top: 14px solid var(--color-dark-green);
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	position: absolute;
	bottom: -2px;
	left: -5px;
}

.overview-box {
	width: 430px;
	padding: 20px 0;
}
.overview-box.is-regular {
	position: relative;
}
.overview-box.is-regular::before {
	content: '';
	width: 1200px;
	height: calc(100% + 10px);
	background: var(--color-light-gray);
	position: absolute;
	top: -10px;
	left: calc(50% - 600px);
	z-index: 1;
}
.overview-box > * {
	text-align: center;
	position: relative;
	z-index: 2;
}
.overview-box-ttl {
	width: 100%;
	margin-bottom: 15px;
	padding: 5px 10px;
	background: var(--color-white);
	border: 2px solid var(--color-dark-green);
	border-radius: 20px;
	color: var(--color-dark-green);
	font-size: 2rem;
	font-weight: 700;
	line-height: 1;
	text-align: center;
}
.is-insident .overview-box-ttl {
	background: var(--color-dark-green);
	color: var(--color-white);
}

.overview-box-service {
	width: calc(100% - 4px);
	margin: 0 auto 10px;
	background-image: linear-gradient(to right, var(--color-dark-green) 2px, transparent 2px);
	background-size: 4px 2px;
	background-repeat: repeat-x;
	background-position: left center;
	font-weight: 700;
	line-height: 1;
}
.overview-box-service span {
	display: inline-block;
	padding: 0 12px;
}
.is-regular .overview-box-service span {
	background: var(--color-light-gray);
}
.is-insident .overview-box-service span {
	background: var(--color-light-green);
}

.overview-box-service.is-both::before,
.overview-box-service.is-rl::before {
	content: '';
	display: block;
	width: 0;
	height: 0;
	border-right: 14px solid var(--color-dark-green);
	border-top: 6px solid transparent;
	border-bottom: 6px solid transparent;
	position: absolute;
	top: calc(50% - 6px);
	left: -2px;
}
.overview-box-service.is-both::after,
.overview-box-service.is-lr::before {
	content: '';
	display: block;
	width: 0;
	height: 0;
	border-left: 14px solid var(--color-dark-green);
	border-top: 6px solid transparent;
	border-bottom: 6px solid transparent;
	position: absolute;
	top: calc(50% - 6px);
	right: -2px;
}

.overview-box-txt {
	font-size: 1.5rem;
}

/* 吹き出し */
.overview-check-wrap {
	width: 100%;
	max-width: 920px;
	margin: 0 auto;
	padding: 20px 40px;
	display: flex;
	flex-direction: column;
	background: var(--color-white);
	border: 1px solid var(--color-light-green);
	border-radius: 20px;
	position: relative;
	flex-grow: 1;
}
.overview-check-wrap::after {
	content: '';
	position: absolute;
	display: block;
	width: 0;
	height: 0;
	left: calc(50% - 12.5px);
	top: -16px;
	border-bottom: 16px solid var(--color-white);
	border-right: 12.5px solid transparent;
	border-left: 12.5px solid transparent;
}

.check-list {
	width: 100%;
}
.check-list li {
	width: 100%;
	margin-bottom: 10px;
	padding-left: 34px;
	line-height: 1.6;
	position: relative;
}
.check-list li:last-child {
	margin-bottom: 0;
}
.check-list li::before {
	content: '';
	width: 21px;
	height: 21px;
	background: url('../../img/common/icon_check.svg') center center no-repeat;
	background-size: 100%;
	position: absolute;
	top: 0.2em;
	left: 0;
}

.tb {
	display: none;
}

@media (max-width: 1060px) {
	.overview-wrap {
		gap: 30px 3vw;
		padding: 10px 2vw 30px;
	}
	.overview-figure {
		width: calc((100% - 430px - 6vw) / 2);
	}
}
@media (max-width: 960px) {
	.overview-box {
		width: 40vw;
	}
	.overview-figure {
		width: calc((100% - 40vw - 6vw) / 2);
	}
	.tb {
		display: block;
	}
}

@media (max-width: 768px) {
	.sec-overview {
		width: 100%;
		padding: 16vw 0;
		position: relative;
	}
	.sec-lead-txt {
		width: 100%;
		margin-bottom: 8vw;
		font-size: 3.4vw;
	}

	/* 図 */
	.overview-wrap {
		width: 100%;
		gap: 2vw 0;
		justify-content: space-between;
		padding: 2vw 4vw 6vw;
		position: relative;
	}

	/* 左右 */
	.overview-figure {
		width: 24vw;
		max-width: initial;
		height: 55vw;
		padding: 15px;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		background: var(--color-white);
		border: 3px solid var(--color-light-green);
		border-radius: 10px;
		position: relative;
		z-index: 2;
	}
	.overview-figure:first-child {
		width: 20vw;
	}
	.overview-figure-img {
		width: 60%;
		max-width: inherit;
		margin: 0 auto 3vw;
	}
	.overview-figure-txt {
		font-size: 2.8vw;
		letter-spacing: 0;
	}
	.overview-figure-arrow-txt {
		width: 90%;
		margin: 2vw 0 0 auto;
		padding: 5vw 0;
		font-size: 2.6vw;
		text-align: right;
	}
	.overview-figure-arrow-txt::before {
		content: '';
		display: block;
		width: 0;
		height: 0;
		border-bottom: 3vw solid var(--color-dark-green);
		border-left: 1vw solid transparent;
		border-right: 1vw solid transparent;
		position: absolute;
		top: -2px;
		left: calc(1px - 1vw);
	}
	.overview-figure-arrow-txt::after {
		content: '';
		display: block;
		width: 0;
		height: 0;
		border-top: 3vw solid var(--color-dark-green);
		border-left: 1vw solid transparent;
		border-right: 1vw solid transparent;
		position: absolute;
		bottom: -2px;
		left: calc(1px - 1vw);
	}

	.overview-box {
		width: 34vw;
		padding: 4vw 0;
	}
	.overview-box.is-regular::before {
		content: '';
		width: 1200px;
		height: calc(100% + 2vw);
		background: var(--color-light-gray);
		position: absolute;
		top: -2vw;
		left: calc(50% - 600px);
		z-index: 1;
	}

	.overview-box-ttl {
		width: 100%;
		margin-bottom: 3vw;
		padding: 1vw 2vw;
		border-radius: 4vw;
		font-size: 3vw;
	}

	.overview-box-service {
		width: calc(100% - 4px);
		margin: 0 auto 2vw;
		font-size: 2.8vw;
		line-height: 1.4;
	}
	.overview-box-service span {
		display: inline-block;
		padding: 0 1vw;
	}
	.is-regular .overview-box-service span {
		background: var(--color-light-gray);
	}
	.is-insident .overview-box-service span {
		background: var(--color-light-green);
	}

	.overview-box-service.is-both::before,
	.overview-box-service.is-rl::before {
		border-right: 3vw solid var(--color-dark-green);
		border-top: 1vw solid transparent;
		border-bottom: 1vw solid transparent;
		position: absolute;
		top: calc(50% - 0.5vw -1px);
		left: -2px;
	}
	.overview-box-service.is-both::after,
	.overview-box-service.is-lr::before {
		border-left: 3vw solid var(--color-dark-green);
		border-top: 1vw solid transparent;
		border-bottom: 1vw solid transparent;
		position: absolute;
		top: calc(50% - 0.5vw -1px);
		right: -2px;
	}

	.overview-box-txt {
		font-size: 2.4vw;
		letter-spacing: 0;
		line-height: 1.4;
	}

	/* 吹き出し */
	.overview-check-wrap {
		width: 100%;
		max-width: initial;
		margin: 0 auto;
		padding: 4vw 6vw;
		border-radius: 4vw;
	}
	.overview-check-wrap::after {
		content: '';
		position: absolute;
		display: block;
		width: 0;
		height: 0;
		left: calc(50% - 4vw);
		top: -2.6vw;
		border-bottom: 3vw solid var(--color-white);
		border-right: 2.4vw solid transparent;
		border-left: 2.4vw solid transparent;
	}
	.check-list {
		width: 100%;
	}

	.check-list li {
		width: 100%;
		margin-bottom: 2.5vw;
		padding-left: 6vw;
		font-size: 3.2vw;
	}
	.check-list li::before {
		content: '';
		width: 4vw;
		height: 4vw;
	}
}

/*---------- 各サービスの詳細 ----------*/
.sec-detail {
	width: 100%;
	padding: 80px 0;
	position: relative;
}

/* アンカーリンク */
.anchor-link-wrap.is-column-3 {
	gap: 30px;
}
a.btn-anchor-link {
	min-width: 278px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5em;
}
a.btn-anchor-link.is-gray {
	background: var(--color-light-gray);
}
.btn-anchor-link .tag {
	display: inline-block;
	padding: 0.3em 0.8em;
	background: var(--color-white);
	font-size: 1.3rem;
	border-radius: 999px;
	flex-shrink: 0;
}

/* インシデント対応サービス提供の流れ */
.detail-ttl-dark-green {
	width: 100%;
	margin-bottom: 30px;
	padding: 5px 15px;
	background: var(--color-dark-green);
	border-radius: 5px;
	color: var(--color-white);
	font-size: 2.8rem;
	font-weight: 700;
	line-height: 1.4;
}

.flow-box-wrap {
	width: 100%;
	justify-content: space-between;
}

/* 流れ 01 */
.flow-box-01 {
	width: 100%;
	height: 100%;
	margin-bottom: 30px;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-template-rows: repeat(2, 1fr);
	gap: 20px 30px;
}
.flow-box-01-01 {
	padding: 10px 10px 20px;
	grid-area: 1 / 1 / 3 / 2;
	background: var(--color-light-gray);
	border-radius: 10px;
}
.flow-box-01-02 {
	grid-area: 1 / 2 / 2 / 3;
	background: var(--color-light-gray);
	border-radius: 10px;
	padding: 20px;
}
.flow-box-01-03 {
	grid-area: 2 / 2 / 3 / 3;
	background: var(--color-light-green);
	border-radius: 10px;
	padding: 20px;
}

.flow-chart {
	width: 100%;
	margin-bottom: 20px;
	padding: 0 10px;
	align-items: center;
	justify-content: center;
	gap: 2.5%;
}
.flow-chart-item {
	width: 20%;
	text-align: center;
}
.flow-chart-item-txt {
	font-weight: 700;
	line-height: 1;
}
.flow-chart-item img {
	width: 90%;
	max-width: 70px;
	margin: 10px auto 0;
}

.flow-chart-mail {
	width: calc(40% - 4px);
	background-image: linear-gradient(to right, var(--color-dark-green) 2px, transparent 2px);
	background-size: 4px 2px;
	background-repeat: repeat-x;
	background-position: left center;
	position: relative;
}
.flow-chart-mail::before {
	content: '';
	display: block;
	width: 0;
	height: 0;
	border-right: 14px solid var(--color-dark-green);
	border-top: 6px solid transparent;
	border-bottom: 6px solid transparent;
	position: absolute;
	top: calc(50% - 6px);
	left: -2px;
}
.flow-chart-mail::after {
	content: '';
	display: block;
	width: 0;
	height: 0;
	border-left: 14px solid var(--color-dark-green);
	border-top: 6px solid transparent;
	border-bottom: 6px solid transparent;
	position: absolute;
	top: calc(50% - 6px);
	right: -2px;
}
.flow-chart-mail img {
	width: 50%;
	max-width: 48px;
	margin: 0 auto;
}

.flow-sub-box-ttl-wrap {
	width: 100%;
	gap: 15px;
	margin-bottom: 10px;
}
.flow-sub-box-ttl-num {
	width: 32px;
	height: 32px;
	display: flex;
	justify-content: center;
	align-items: center;
	background: var(--color-white);
	border: 1px solid var(--color-dark-green);
	border-radius: 50%;
	color: var(--color-dark-green);
	font-size: 2rem;
	line-height: 1;
}
.flow-sub-box-ttl {
	width: calc(100% - 50px);
	color: var(--color-dark-green);
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.6;
}

.flow-sub-box-txt-wrap {
	width: calc(100% - 45px);
	align-items: center;
	margin-left: auto;
}
.flow-sub-box-txt {
	width: calc(100% - 200px);
	background-image: linear-gradient(to right, var(--color-dark-green) 2px, transparent 2px);
	background-size: 4px 2px;
	background-repeat: repeat-x;
	background-position: center center;
	font-size: 1.4rem;
	position: relative;
}
.flow-sub-box-txt::after {
	content: '';
	display: block;
	width: 0;
	height: 0;
	border-left: 14px solid var(--color-dark-green);
	border-top: 6px solid transparent;
	border-bottom: 6px solid transparent;
	position: absolute;
	top: calc(50% - 6px);
	right: -2px;
}
.flow-sub-box-txt span {
	display: inline-block;
	padding: 0 12px;
	background: var(--color-light-gray);
}
.flow-box-01-03 .flow-sub-box-txt span {
	background: var(--color-light-green);
}
.flow-sub-box-result {
	width: 190px;
	height: 40px;
	margin-left: auto;
	padding: 5px 10px;
	background: var(--color-white);
	border: 2px solid var(--color-dark-green);
	border-radius: 20px;
	color: var(--color-dark-green);
	font-weight: 700;
	line-height: 1;
	text-align: center;
	align-items: center;
	justify-content: center;
}
.flow-sub-box-result .flow-sub-box-result-num {
	width: 26px;
	height: 26px;
	margin-right: 10px;
	display: flex;
	justify-content: center;
	align-items: center;
	background: var(--color-dark-green);
	border-radius: 6px;
	color: var(--color-white);
	font-size: 1.7rem;
	line-height: 1;
}

/* 共通 */
.flow-box-ttl-wrap {
	width: 100%;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 15px;
}
.flow-box-ttl-num {
	width: 40px;
	height: 40px;
	display: flex;
	justify-content: center;
	align-items: center;
	background: var(--color-dark-green);
	border-radius: 10px;
	color: var(--color-white);
	font-size: 2.5rem;
	line-height: 1;
}
.flow-box-ttl {
	width: calc(100% - 50px);
	border-bottom: 1px solid var(--color-line-gray);
	color: var(--color-dark-green);
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.4;
	padding: 5px 0;
}
.flow-box-ttl.fs-s {
	font-size: 1.7rem;
	letter-spacing: 0;
}
.flow-box .flow-box-ttl-wrap {
	margin-bottom: 20px;
}
.flow-box .flow-box-ttl {
	border-bottom: 1px solid var(--color-white);
}
.flow-box-txt {
	width: 100%;
	font-size: 1.4rem;
	font-weight: 500;
	padding: 0 10px;
	line-height: 1.57;
}

/* 流れ 02〜05 */
.flow-box {
	width: calc((100% - 90px) / 4);
	padding: 10px 10px 20px;
	background: var(--color-light-green);
	border-radius: 10px;
}
.flow-box img {
	width: 80%;
	max-width: 102px;
	margin: 0 auto 20px;
}

/* 矢印 */
.flow-box-01-01,
.flow-box-02,
.flow-box-03,
.flow-box-04 {
	position: relative;
}
.flow-box-01-01::after,
.flow-box-02::after,
.flow-box-03::after,
.flow-box-04::after {
	content: '';
	width: 52px;
	height: 45px;
	background: url('../../img/service/insident/img_arrow_right_01.png') center center no-repeat;
	background-size: 100%;
	position: absolute;
	top: calc(50% - 22.5px);
	z-index: 2;
}
.flow-box-01-01::after {
	right: -30px;
}
.flow-box-02::after,
.flow-box-03::after,
.flow-box-04::after {
	right: -40px;
}

.flow-box-lead {
	font-weight: 700;
	margin: 0 auto 12px;
	text-align: center;
}

.flow-box-note {
	width: calc(100% - 20px);
	margin: 15px auto 0;
	padding: 3px;
	background: var(--color-white);
	border-radius: 5px;
	font-size: 1.4rem;
	text-align: center;
	align-items: center;
	justify-content: center;
}
.flow-box-note-num {
	width: 22px;
	height: 22px;
	margin-right: 5px;
	display: flex;
	justify-content: center;
	align-items: center;
	background: var(--color-dark-green);
	border-radius: 5px;
	color: var(--color-white);
	line-height: 1;
}

/* 詳細ボックス */
.detail-wrap {
	width: 100%;
	background: var(--color-white);
	border-radius: 20px;
	margin-top: 50px;
	padding: 40px;
}
/* 詳細ボックス 見出し */
.detail-head {
	width: 100%;
	align-items: center;
	gap: 50px;
}
.detail-ttl-wrap {
	width: calc(100% - 387px);
}
.detail-ttl {
	width: 100%;
	margin-bottom: 30px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--color-line-gray);
	color: var(--color-dark-green);
	font-size: 3.2rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.6;
}
.detail-txt {
	font-weight: 500;
	line-height: 1.75;
}
.detail-caption {
	margin-top: 8px;
	font-size: 1.3rem;
}
.detail-head img {
	width: 337px;
}
/* 有事・平時の区分けttl */
.sub-ttl {
	display: flex;
	align-items: center;
	gap: 40px;
	margin: 0;
	font-size: 2.4rem;
	font-weight: 700;
	color: var(--color-dark-green);
	margin-bottom: 20px;
	margin-top: 50px;
}
.sub-ttl::before,
.sub-ttl::after {
	content: '';
	flex: 1;
	height: 2px;
	background: var(--color-dark-green);
}
.sub-ttl span {
	flex-shrink: 0;
}

/* 詳細ボックス コンテンツ */
.detail-sub-ttl {
	width: calc(100% + 40px);
	background: var(--color-light-gray);
	border-radius: 0 10px 10px 0;
	color: var(--color-dark-green);
	font-size: 2.2rem;
	font-weight: 700;
	margin: 30px 0 20px;
	padding: 5px 40px;
	position: relative;
	left: -40px;
}

.detail-body {
	width: 100%;
}

/* 成果物イメージ */
.sample-img-wrap {
	width: 100%;
	align-items: flex-start;
	justify-content: center;
	gap: 40px;
}
.is-column-1 .sample-img {
	width: calc(100% - 100px);
}
.is-column-3 .sample-img {
	width: calc((100% - 80px) / 3);
}
.sample-img-caption {
	margin-bottom: 10px;
	padding-left: 20px;
	font-weight: 700;
	line-height: 1;
	position: relative;
}
.sample-img-caption::before {
	content: '';
	display: block;
	width: 0;
	height: 0;
	border-top: 8px solid var(--color-dark-green);
	border-right: 6.5px solid transparent;
	border-left: 6.5px solid transparent;
	position: absolute;
	top: calc(50% - 4px);
	left: 0;
	transition: 0.3s ease-in-out;
}
.is-column-3 .sample-img img {
	border: 1px solid var(--color-line-gray);
}

/* ボーダー付き見出し */
.detail-body-ttl-line {
	width: 100%;
	margin: 30px auto 20px;
	padding-left: 10px;
	border-left: 3px solid var(--color-blue);
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.4;
}

.detail-wrap .check-list li {
	width: 100%;
	margin-bottom: 8px;
	padding-left: 24px;
	font-size: 1.4rem;
	line-height: 1.6;
	position: relative;
}
.detail-wrap .check-list li::before {
	content: '';
	width: 16px;
	height: 16px;
	background: url('../../img/common/icon_check.svg') center center no-repeat;
	background-size: 100%;
	position: absolute;
	top: 0.2em;
	left: 0;
}

/* 規程類の雛形提供 図 */
.detail-body.js-scroll {
	overflow-x: auto;
}
.structure-wrap {
	width: 100%;
}
.structure-box-left {
	width: calc(100% - 290px);
}
.structure-box-right {
	width: 290px;
	padding-left: 60px;
}

.structure-inn {
	width: 100%;
	position: relative;
}
.structure-inn::before {
	content: '';
	width: 165px;
	height: 100%;
	background: url('../../img/service/insident/bg_triangle_left.png') top left no-repeat;
	background-size: 100% 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
}
.structure-inn::after {
	content: '';
	width: 165px;
	height: 100%;
	background: url('../../img/service/insident/bg_triangle_right.png') top left no-repeat;
	background-size: 100% 100%;
	position: absolute;
	top: 0;
	left: 165px;
	z-index: 2;
}

/* ピラミッド部分 */
.structure-box-head {
	width: 330px;
	padding: 20px 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	color: var(--color-white);
	border-top: 1px solid #707070;
	position: relative;
}
.structure-box-head-top {
	justify-content: flex-end;
	background: var(--color-dark-green);
}
.structure-box-head-top::after {
	content: '';
	width: calc(50% / 3 * 2);
	height: 2px;
	background-image: linear-gradient(to left, var(--color-dark-green) 2px, transparent 2px);
	background-size: 4px 2px;
	background-repeat: repeat-x;
	background-position: left bottom;
	position: absolute;
	bottom: 0;
	right: 0;
	z-index: 3;
}
.structure-box-head-middle {
	background: #54816a;
}
.structure-box-head-middle::after {
	content: '';
	width: calc(50% / 3);
	height: 2px;
	background-image: linear-gradient(to left, var(--color-dark-green) 2px, transparent 2px);
	background-size: 4px 2px;
	background-repeat: repeat-x;
	background-position: left bottom;
	position: absolute;
	bottom: 0;
	right: 0;
	z-index: 3;
}
.structure-box-head-bottom {
	background: #82b49d;
}
.structure-box-head p {
	text-align: center;
	font-weight: 700;
	line-height: 1;
}

/* チェックリスト部分 */
.structure-box-body {
	width: calc(100% - 330px);
	padding: 18px 0;
	background-image: linear-gradient(to right, var(--color-dark-green) 2px, transparent 2px);
	background-size: 4px 2px;
	background-repeat: repeat-x;
	background-position: left bottom;
	position: relative;
}

/* 雛形提供の対象 */
.structure-box-target {
	width: 100%;
	height: calc(100% - 10px);
	margin: auto;
	padding: 20px 10px;
	display: flex;
	justify-content: center;
	align-items: center;
	background: var(--color-light-green);
	border-radius: 20px;
	font-weight: 700;
	text-align: center;
	position: relative;
	flex-grow: 1;
}
.structure-box-target::before {
	content: '';
	width: 60px;
	height: 45px;
	background: url('../../img/service/insident/img_arrow_right_02.png') center center no-repeat;
	background-size: 100%;
	position: absolute;
	top: calc(50% - 22.5px);
	left: -50px;
	z-index: 2;
}

@media (max-width: 768px) {
	.sec-detail {
		width: 100%;
		padding: 16vw 0;
		position: relative;
	}

	/* アンカーリンク */
	.anchor-link-wrap.mt30 {
		margin-top: 4vw !important;
	}
	.anchor-link-wrap.is-column-3 {
		gap: 4vw 3vw;
	}
	a.btn-anchor-link {
		min-width: initial;
		height: 14vw;
	}
	.btn-anchor-link .tag {
		padding: 0.3em 0.5em;
		font-size: 2.8vw;
	}
	/* 有事・平時の区分けttl */
	.sub-ttl {
		gap: 5vw;
		font-size: 4.2vw;
		margin-bottom: 3vw;
		margin-top: 5vw;
	}

	/* インシデント対応サービス提供の流れ */
	.detail-ttl-dark-green {
		width: 100%;
		margin-bottom: 6vw;
		padding: 1vw 3vw;
		border-radius: 1vw;
		font-size: 4.2vw;
	}

	.flow-box-wrap {
		width: 100%;
		justify-content: space-between;
		gap: 10vw;
	}

	/* 流れ 01 */
	.flow-box-01 {
		width: 100%;
		height: auto;
		margin-bottom: 0;
		display: flex;
		flex-wrap: wrap;
		gap: 8vw 4vw;
	}
	.flow-box-01-01 {
		width: 100%;
		padding: 2vw 2vw 4vw;
		grid-area: 1 / 1 / 3 / 2;
		background: var(--color-light-gray);
		border-radius: 2vw;
	}
	.flow-box-01-02,
	.flow-box-01-03 {
		width: calc(50% - 2vw);
		border-radius: 2vw;
		padding: 2vw;
	}

	.flow-chart {
		width: 100%;
		margin-bottom: 4vw;
		padding: 0 2vw;
		gap: 2.5%;
	}
	.flow-chart-item {
		width: 20%;
		text-align: center;
	}
	.flow-chart-item-txt {
		font-size: 3vw;
	}
	.flow-chart-item img {
		width: 90%;
		max-width: 10vw;
		margin: 2vw auto 0;
	}

	.flow-chart-mail::before {
		border-right: 3vw solid var(--color-dark-green);
		border-top: 1vw solid transparent;
		border-bottom: 1vw solid transparent;
		position: absolute;
		top: calc(50% - 1vw);
	}
	.flow-chart-mail::after {
		border-left: 3vw solid var(--color-dark-green);
		border-top: 1vw solid transparent;
		border-bottom: 1vw solid transparent;
		position: absolute;
		top: calc(50% - 1vw);
	}
	.flow-chart-mail img {
		width: 50%;
		max-width: 6vw;
		margin: 0 auto;
	}

	.flow-sub-box-ttl-wrap {
		width: 100%;
		gap: 1vw;
		margin-bottom: 2vw;
	}
	.flow-sub-box-ttl-num {
		width: 5vw;
		height: 5vw;
		font-size: 3.2vw;
	}
	.flow-sub-box-ttl {
		width: calc(100% - 6vw);
		font-size: 3vw;
	}

	.flow-sub-box-txt-wrap {
		width: 100%;
		flex-direction: column;
		align-items: center;
		margin-left: auto;
	}
	.flow-sub-box-txt {
		width: 100%;
		margin-bottom: 1vw;
		padding-bottom: 8vw;
		background-image: linear-gradient(to bottom, var(--color-dark-green) 2px, transparent 2px);
		background-size: 2px 4px;
		background-repeat: repeat-y;
		background-position: center center;
		font-size: 2.6vw;
		letter-spacing: 0;
		text-align: center;
	}
	.flow-sub-box-txt::after {
		content: '';
		display: block;
		width: 0;
		height: 0;
		border-left: 1vw solid transparent;
		border-top: 3vw solid var(--color-dark-green);
		border-right: 1vw solid transparent;
		border-bottom: none;
		position: absolute;
		top: auto;
		bottom: -2px;
		right: calc(50% - 1vw);
	}
	.flow-sub-box-txt span {
		padding: 0;
	}
	.flow-sub-box-result {
		width: 100%;
		height: 7vw;
		margin-left: auto;
		padding: 0 2vw;
		align-items: center;
		justify-content: center;
		border-radius: 4vw;
		font-size: 3vw;
		flex-grow: 1;
	}
	.flow-sub-box-result .flow-sub-box-result-num {
		width: 5vw;
		height: 5vw;
		margin-right: 2vw;
		border-radius: 1vw;
		font-size: 3vw;
	}

	/* 共通 */
	.flow-box-ttl-wrap {
		width: 100%;
		justify-content: space-between;
		gap: 2vw;
		margin-bottom: 3vw;
	}
	.flow-box-ttl-num {
		width: 6vw;
		height: 6vw;
		border-radius: 2vw;
		font-size: 3.2vw;
	}
	.flow-box-ttl {
		width: calc(100% - 8vw);
		font-size: 3.8vw;
		padding: 0 0 1vw;
	}
	.flow-box-ttl.fs-s {
		font-size: 3.6vw;
	}
	.flow-box .flow-box-ttl-wrap {
		margin-bottom: 4vw;
	}
	.flow-box-txt {
		width: 100%;
		font-size: 2.8vw;
		padding: 0 2vw;
	}

	/* 流れ 02〜05 */
	.flow-box {
		width: 100%;
		padding: 2vw 2vw 4vw;
		border-radius: 2vw;
	}
	.flow-box img {
		width: 50%;
		max-width: 20vw;
		margin: 0 auto 4vw;
	}

	/* 矢印 */
	.flow-box-01-01,
	.flow-box-02,
	.flow-box-03,
	.flow-box-04 {
		position: relative;
	}
	.flow-box-01-01::after,
	.flow-box-02::after,
	.flow-box-03::after,
	.flow-box-04::after {
		content: '';
		width: 10vw;
		height: 12vw;
		background: url('../../img/service/insident/img_arrow_down.png') center center no-repeat;
		background-size: 100%;
		position: absolute;
		top: auto;
	}
	.flow-box-01-01::after {
		right: calc(50% - 5vw);
		bottom: -8vw;
	}
	.flow-box-02::after,
	.flow-box-03::after,
	.flow-box-04::after {
		right: calc(50% - 5vw);
		bottom: -9vw;
	}

	.flow-box-lead {
		margin: 0 auto 2.5vw;
	}

	.flow-box-note {
		width: 100%;
		margin: 3vw auto 0;
		padding: 1vw;
		border-radius: 1vw;
		font-size: 2.8vw;
	}
	.flow-box-note-num {
		width: 4vw;
		height: 4vw;
		margin-right: 1vw;
		border-radius: 1vw;
	}

	/* 詳細ボックス */
	.detail-wrap {
		width: 100%;
		padding: 2vw 5vw 6vw;
		border-radius: 4vw;
		margin-top: 10vw;
	}
	/* 詳細ボックス 見出し */
	.detail-head {
		width: 100%;
		align-items: center;
		flex-direction: column-reverse;
		gap: 2vw;
	}
	.detail-ttl-wrap {
		width: 100%;
	}
	.detail-ttl {
		width: 100%;
		margin-bottom: 3vw;
		padding-bottom: 2vw;
		font-size: 5.8vw;
	}
	.detail-caption {
		margin-top: 1.5vw;
		font-size: 2.8vw;
	}
	.detail-head img {
		width: 90%;
		margin: 0 auto;
	}

	/* 詳細ボックス コンテンツ */
	.detail-sub-ttl {
		width: calc(100% + 5vw);
		border-radius: 0 2vw 2vw 0;
		font-size: 4.2vw;
		margin: 8vw 0 4vw;
		padding: 1vw 5vw;
		position: relative;
		left: -5vw;
	}

	.detail-body {
		width: 100%;
	}

	/* 成果物イメージ */
	.sample-img-wrap {
		width: 100%;
		align-items: flex-start;
		gap: 8vw;
	}
	.is-column-1 .sample-img,
	.is-column-3 .sample-img {
		width: 100%;
	}
	.sample-img-caption {
		margin-bottom: 2vw;
		padding-left: 4vw;
	}
	.sample-img-caption::before {
		content: '';
		display: block;
		width: 0;
		height: 0;
		border-top: 1.6vw solid var(--color-dark-green);
		border-right: 1.2vw solid transparent;
		border-left: 1.2vw solid transparent;
		position: absolute;
		top: calc(50% - 0.8vw);
	}

	/* ボーダー付き見出し */
	.detail-body-ttl-line {
		width: 100%;
		margin: 6vw auto 4vw;
		padding-left: 2vw;
		font-size: 3.4vw;
	}

	.detail-wrap .check-list li {
		width: 100%;
		margin-bottom: 2.5vw;
		padding-left: 6vw;
		font-size: 3.2vw;
	}
	.detail-wrap .check-list li::before {
		content: '';
		width: 4vw;
		height: 4vw;
	}

	/* 規程類の雛形提供 図 */
	.detail-body.js-scroll {
		overflow-x: auto;
	}
	.structure-wrap {
		width: 100%;
	}
	.structure-box-left {
		width: 100%;
	}
	.structure-box-right {
		width: 100%;
		padding: 0;
	}

	.structure-inn {
		width: 100%;
		position: relative;
	}
	.structure-inn::before,
	.structure-inn::after {
		content: none;
	}

	/* ピラミッド部分 */
	.structure-box-head {
		width: 100%;
		padding: 4vw 0;
		border-radius: 4vw 4vw 0 0;
	}
	.structure-box-head-top::after,
	.structure-box-head-middle::after {
		content: none;
	}

	/* チェックリスト部分 */
	.structure-box-body {
		width: 100%;
		padding: 4vw;
		background: none;
		border: 2px dashed var(--color-dark-green);
		border-top: none;
		border-radius: 0 0 4vw 4vw;
		position: relative;
	}

	/* 雛形提供の対象 */
	.structure-box-target {
		width: 100%;
		height: auto;
		margin: 0 auto 12vw;
		padding: 5vw;
		border-radius: 4vw;
		line-height: 1.4;
	}
	.structure-box-target::before {
		content: '';
		width: 10vw;
		height: 12vw;
		background: url('../../img/service/insident/img_arrow_down.png') center center no-repeat;
		background-size: 100%;
		position: absolute;
		top: -14vw;
		left: calc(50% - 5vw);
		z-index: 2;
	}
}

/*---------- 各サービスへのリンク ----------*/

.sec-service-link {
	width: 100%;
	padding: 50px 0;
}
.sec-service-link .cont-inn {
	justify-content: center;
	gap: 50px;
}
.sec-service-link .btn-white {
	width: 290px;
	padding: 16px 20px 16px 10px;
	border: 2px solid var(--color-dark-green);
	font-size: 1.8rem;
	letter-spacing: 0;
	line-height: 1.4;
}

@media (max-width: 768px) {
	.sec-service-link {
		width: 100%;
		padding: 8vw 0;
		border-bottom: 1px solid var(--color-line-gray);
	}
	.sec-service-link .cont-inn {
		justify-content: center;
		gap: 4vw;
	}
	.sec-service-link .btn-white {
		width: 80%;
		padding: 3vw 4.4vw;
		font-size: 3.6vw;
	}
}
