@charset "UTF-8";
:root {
   --color-Base-Primary: #FFFFFF;
   --color-Base-Secondary: #F2f7f8;
   --color-Text-Primary: #333333;
   --color-Text-White: #FFFFFF;
   --color-Theme-Primary: #152768;
   --color-Theme-Secondary: #3B81C7;
}

/* 共通css 調整 */
.fixed-footer .list-item .fixed-footer-balloon {
   padding: 7px 10px !important;
}
/* base
---------------------------------------------------------------------------- */
/*------------- General Elements -------------*/
body {
	font-family: 'Noto Sans JP', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-weight: 400;
	letter-spacing: 0.05em;
	color: var(--color-Text-Primary);
	font-size: 16px;
	line-break: strict;
}
.l-pagebody {
	line-height: 1.75;
	word-break: break-word;
}
.l-pagebody * {
	box-sizing: border-box;
}
figure {
	margin: 0;
	line-height: 1;
}
a {
	text-decoration: none;
	color: inherit;
	outline: none;
	transition: all 0.3s;
}
a:hover, a:active, a:focus {
	text-decoration: none;
	opacity: 0.7;
}
img {
	max-width: 100%;
	vertical-align: bottom;
}
.p-marker {
	background:linear-gradient(transparent 65%, #e9ff80 0%);
}
.p-fwb {
	font-weight: bold;
}
.p-txt-blue {
	color: var(--color-Theme-Secondary);
}
.l-content {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}
.l-content-wrapper {
	padding: 0 20px;
}
.p-sec {
	padding: 80px 0;
}
.p-sec-ttl {
	position: relative;
	margin-bottom: 64px;
	color: var(--color-Theme-Primary);
	font-size: min(calc(40 / 1200 * 100vw), 40px);
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: .05em;
	text-align: center;
	font-feature-settings: "palt";
	&::before{
		content: "";
		position: absolute;
		bottom: -16px;
		left: 50%;
		transform: translateX(-50%);
		width: 1.5em;
		height: 4px;
		background-color: var(--color-Theme-Secondary);
	}
}
.p-sec-subttl {
	margin-bottom: .5em;
	color: var(--color-Theme-Primary);
	font-size: min(calc(24 / 1200 * 100vw), 24px);
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
	font-feature-settings: "palt";
}

@media screen and (max-width: 767px) {
	.l-content{
		width: 92vw;
	}
	.l-content-wrapper{
		padding: 0;
	}
	.p-sec {
		padding: 48px 0;
	}
	.p-sec-ttl {
		margin-bottom: 48px;
		font-size: min(calc(24 / 375 * 100vw), 32px);
	}
	.p-sec-subttl {
		font-size: min(calc(16 / 375 * 100vw), 24px);
	}
}
/*------------- btn -------------*/
.p-btn {
	background-color: var(--color-Theme-Primary);
	color: var(--color-Text-White);
	font-weight: 700;
	transition: all 0.3s;
}
.p-btn-round {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: .5em;
	width: fit-content;
	min-height: 64px;
	padding: 1.25em 48px 1.25em 104px;
	border-radius: 9999px;
	font-size: min(calc(24 / 1200 * 100vw), 24px);
	line-height: 1;
	letter-spacing: .05em;
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
}
.p-btn-round:hover {
	opacity: 1;
	box-shadow: none;
	transform: translateY(3px);
}
.p-btn-round::before{
	content: "";
	position: absolute;
	top: 50%;
	left: 64px;
	transform: translateY(-50%);
	width: 1em;
	aspect-ratio: 49 / 66 ;
	background: url(/web/jp/government/images/icn_download.png) no-repeat center center / contain;
}
.p-btn-free-icn {
	padding: .5em .75em;
	background-color: var(--color-Theme-Secondary);
	border-radius: 9999px;
	font-size: min(calc(16 / 1200 * 100vw), 16px);
	line-height: 1;
	letter-spacing: .05em;
}

@media screen and (max-width: 767px) {
	.p-btn-round {
		justify-content: flex-end;
		font-size: min(calc(18 / 375 * 100vw), 24px);
		padding: 1em 1.5em 1em 4.5em;
	}
	.p-btn-round::before {
		left: 2.5em;
	}
	.p-btn-free-icn {
		font-size: min(calc(14 / 375 * 100vw), 14px);
	}
}
/*------------- arw-box -------------*/
.p-arw-box {
	position: relative;
	margin: auto;
	padding: 32px 16px;
	background-color: var(--color-Theme-Secondary);
	color: var(--color-Text-White);
	text-align: center;
}
.p-arw-box::before {
	content: "";
	position: absolute;
	top: 99.5%;
	left: 50%;
	transform: translateX(-50%);
	border: solid transparent;
	height: 0;
	width: 0;
	pointer-events: none;
	border-width: 22px 30px 0 30px;
	border-color: #3b81c7 transparent transparent transparent;
}
.p-arw-box-s {
	padding: 16px 32px;
	font-size: 24px;
	font-weight: 700;
	line-height: 1;
	width: fit-content;
}
.p-arw-box-s::before {
	border-width: 11px 15px 0 15px;
}
.p-arw-box p {
	color: var(--color-Text-White);
}
.p-arw-box-ttl {
	font-size: min(calc(40 / 1200 * 100vw), 40px);
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: .05em;
}
.p-arw-box-subttl {
	display: inline-block;
	margin: auto;
	font-size: min(calc(24 / 1200 * 100vw), 24px);
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: .05em;
	width: fit-content;
	font-feature-settings: "palt";
}
.p-arw-box-subttl span {
	font-size: min(calc(30 / 1200 * 100vw), 30px);
	font-weight: 700;
	letter-spacing: .05em;
}
@media screen and (max-width: 767px) {
	.p-arw-box {
		padding: 32px 16px;
	}
	.p-arw-box::before {
		top: 99%;
		border-width: 22px 30px 0 30px;
	}
	.p-arw-box-s {
		font-size: min(calc(20 / 375 * 100vw), 20px);
		padding: 16px;
		margin: 18px auto;
	}
	.p-arw-box-s::before {
		border-width: 12px 14px 0 14px;
	}
	.p-arw-box-ttl {
		font-size: min(calc(24 / 375 * 100vw), 24px);
	}
	.p-arw-box-subttl {
		font-size: min(calc(18 / 375 * 100vw), 18px);
		margin-bottom: .5em;
	}
	.p-arw-box-subttl span {
		font-size: min(calc(20 / 375 * 100vw), 20px);
	}
}
/*================== .l-pagebody =====================*/
/* p-cv
----------------------------------------------------------*/
.p-cv {
	background: url(/web/jp/government/images/bg_cv_pc.png) no-repeat center / cover;
}
.p-cv-flex-box {
	display: flex;
	align-items: flex-end;
	justify-content: space-around;
}
.p-cv-ttl {
	padding-bottom: .5em;
	color: var(--color-Text-White);
	font-size: min(calc(38 / 1200 * 100vw), 38px);
	font-weight: 700;
	line-height: 1.5;
	border-bottom: 3px solid var(--color-Text-White);
}
.p-arw-box-cv {
	margin: 35px auto 15px 0;
}
.p-cv-detail-list {
	margin-top: 24px;
}
.p-cv-detail-list-item {
	position: relative;
	padding-left: 1.5em;
	color: var(--color-Text-White);
	font-size: min(calc(20 / 1200 * 100vw), 20px);
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.05em;
	& + .p-cv-detail-list-item {
		margin-top: 1em;
	}
}
.p-cv-detail-list-item::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 1em;
	aspect-ratio: 18 / 16;
	background: url(/web/jp/government/images/icn_checkmark-s.png) no-repeat center center / contain;
}
@media screen and (max-width: 767px) {
	.p-cv {
		background: url(/web/jp/government/images/bg_cv_sp.png) no-repeat center / cover;
	}
	.p-cv-flex-box{
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: /*21vw */min(calc(80 / 375 * 100vw), 80px);
	}
	.p-cv-txt-wrapper{
		width: 100%;
	}
	.p-cv-ttl{
		font-size: min(calc(20 / 375 * 100vw), 32px);
		padding-bottom: .5em;
		border-bottom-width: 2px;
		text-align: center;
	}
	.p-arw-box-cv{
		margin: 18px auto;
	}
	.p-cv-detail-list {
		width: fit-content;
		margin-inline: auto;
	}
	.p-cv-detail-list-item{
		font-size: min(calc(14 / 375 * 100vw), 18px);
		letter-spacing: 0;
	}
	.p-cv-detail-list-item::before{
		width: 1em;
	}
}

/* p-mv
----------------------------------------------------------*/
.p-mv {
	width: 100%;
	padding: 120px 0 176px;
	background: url(/web/jp/government/images/bg_mv_pc.png) no-repeat center top / cover;
	.l-content-wrapper {
		.l-content {
			display: flex;
			flex-wrap: wrap;
			flex-direction: row;
			align-items: center;
			justify-content: space-between;
			.p-mv-main {
				width: 68%;
				.p-mv-ttl {
					margin-bottom: .5em;
					font-size: min(calc(40 / 1200 * 100vw), 40px);
					font-weight: 700;
					line-height: 1.5;
					letter-spacing: 0;
					text-shadow: 0 0 25px rgb(255, 255, 255);
					font-feature-settings: "palt";
				}
				.p-mv-content {
					display: flex;
					flex-direction: column;
					align-items: center;
					width: fit-content;
					.p-mv-ttl-sub {
						.p-mv-ttl-sub_text {
							margin-bottom: .5em;
							font-size: min(calc(20 / 1200 * 100vw), 20px);
							font-weight: 700;
							line-height: 1.5;
							letter-spacing: .05em;
							font-feature-settings: "palt";
						}
						.p-mv-ttl-logo {
							display: flex;
							flex-direction: column;
							justify-content: flex-start;
							align-items: flex-end;
							width: fit-content;
							gap: 4px;
							.p-mv-ttl-logo-lgwan {
								display: flex;
								flex-wrap: wrap;
								align-items: flex-end;
								gap: 4px;
								img {
									width: min(calc(80 / 1200 * 100vw), 80px);
								}
								span {
									margin-bottom: .25em;
									font-size: min(calc(18 / 1200 * 100vw), 18px);
									font-weight: 700;
									line-height: 1;
									letter-spacing: 0;
								}
							}
							.p-mv-ttl-logo-btob {
								img {
									width: min(calc(512 / 1200 * 100vw), 512px);
								}
							}
						}
					}
					.p-mv-btn {
						margin-top: min(calc(24 / 1200 * 100vw), 24px);
						.p-btn-round {
							margin-inline: auto;
						}
					}
				}
			}
			.p-mv-img {
				width: 32%;
				.p-mv-chart-img {
					img {
						display: block;
						margin-inline: auto;
					}
				}
			}
		}
	}
}
@media screen and (max-width: 1200px) {
	.p-mv {
		padding-top: 64px;
	}
}
@media screen and (max-width: 1023px) {
	.p-mv {
		padding-top: 92px;
	}
}
@media screen and (max-width: 767px) {
	.p-mv {
		padding-bottom: 48px;
		background: url(/web/jp/government/images/bg_mv_sp.png) no-repeat center top / cover;
		.l-content-wrapper {
			.l-content {
				flex-direction: column;
				align-items: center;
				.p-mv-main {
					display: contents;
					.p-mv-ttl {
						margin-bottom: 20px;
						font-size: min(calc(28 / 375 * 100vw), 30px);
						text-align: center;
					}
					.p-mv-content {
						display: contents;
						.p-mv-ttl-sub {
							.p-mv-ttl-sub_text {
								margin-bottom: 8px;
								font-size: min(calc(16 / 375 * 100vw), 16px);
								letter-spacing: 0;
							}
							.p-mv-ttl-logo {
								.p-mv-ttl-logo-lgwan {
									gap: 4px;
									img {
										width: min(calc(64 / 375 * 100vw), 80px);
									}
									span {
										margin-bottom: .25em;
										font-size: min(calc(14 / 375 * 100vw), 18px);
									}
								}
								.p-mv-ttl-logo-btob {
									img {
										width: min(calc(272 / 375 * 100vw), 320px);
									}
								}
							}
						}
						.p-mv-btn {
							order: 3;
							margin-top: min(calc(24 / 375 * 100vw), 24px);
							.p-btn-round {
								margin-inline: auto;
							}
						}
					}
				}
				.p-mv-img {
					margin-top: 24px;
					width: inherit;
					order: 2;
					img {
						padding: 0 24px;
						width: 400px;
					}
				}
			}
		}
	}
}

.xsp-only {
	display: none;
}
@media screen and (max-width: 619px) {
	.xsp-only {
		display: block;
	}
}
/* p-relation-sec
----------------------------------------------------------*/
.p-relation-sec {
	padding: 0 0 48px;
	.l-content-wrapper {
		.l-content {
			background-color: #ffffff;
			margin-top: -128px;
			padding: 48px 24px;
			border-radius: 8px;
			box-shadow: 0px 0px 35px 0px rgba(100, 100, 100, 0.15);
			.p-sec-relation-ttl {
				margin-bottom: 32px;
				color: var(--color-Theme-Primary);
				font-size: min(calc(24 / 1200 * 100vw), 24px);
				font-weight: 700;
				line-height: 1.5;
				letter-spacing: .05em;
				text-align: center;
				font-feature-settings: "palt";
			}
			.p-relation-list {
				display: flex;
				flex-wrap: wrap;
				flex-direction: row;
				justify-content: center;
				gap: 12px 8px;
				.p-relation-list-item {
					width: calc(11.1111% - 8px * 8 / 9) ;
				}
			}
			.p-relation-btn {
				margin: 48px auto 0;
				width: fit-content;
			}
		}
	}
}

@media screen and (max-width: 1023px) {
	.p-relation-sec {
		.l-content-wrapper {
			.l-content {
				.p-relation-list {
					.p-relation-list-item {
						width: inherit;
						.relation-logo {
							img {
								width: 120px;
							}
						}
					}
				}
			}
		}
	}
}
@media screen and (max-width: 767px) {
	.p-relation-sec {
		padding: 48px 0;
		.l-content-wrapper {
			.l-content {
				margin-top: 0;
				padding: 0;
				border-radius: inherit;
				box-shadow: inherit;
				.p-sec-relation-ttl {
					font-size: min(calc(18 / 375 * 100vw), 20px);
				}
				.p-relation-list {
					.p-relation-list-item {
						.relation-logo {
							img {
								width: 104px;
							}
						}
					}
					.p-relation-btn {
						margin-top: 32px;
					}
				}
			}
		}
	}
}

/* p-usecase-sec
----------------------------------------------------------*/
.p-usecase-sec {
	background-color: var(--color-Base-Secondary);
	.p-arw-box{
		margin-bottom: 48px;
	}
	.p-usecase-list {
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
		gap: min(calc(24 / 1200 * 100vw), 24px);
		.p-usecase-list-item {
			display: grid;
			grid-template-rows: subgrid;
			/*flex-direction: column; */
			grid-row: span 5;
			gap: 0;
			padding: min(calc(24 / 1200 * 100vw), 24px);
			background-color: var(--color-Base-Primary);
			border: 1px solid #d9e0de;
			border-radius: 4px;
			h3 {
				margin-bottom: 1em;
				font-size: 16px;
				font-weight: 700;
				line-height: 1.5;
				letter-spacing: .05em;
				font-feature-settings: "palt";
			}
			.usecase-img {
				margin-bottom: 1em;
				img {
					width: 100%;
					object-fit: cover;
				}
			}
			.p-usecase-point {
				h4 {
					margin-bottom: 1em;
					font-size: 14px;
					font-weight: 700;
					line-height: 1.5;
				}
				ul {
					li {
						position: relative;
						padding-left: 2.3em;
						font-size: 14px;
						line-height: 1.5;
						letter-spacing: 0;
						margin-bottom: 1em;
						span {
							position: absolute;
							top:0;
							left:0;
							display: inline-block;
							width: 1.5em;
							text-align: center;
							border-radius: 3px;
							background:var(--color-Theme-Primary);
							padding: 1px 2px;
							color: var(--color-Text-White);
							font-weight: bold;
							margin-top: 0.2em;
						}
					}
				}
			}
			.p-usecase-category {
				margin-bottom: 15px;
				font-size: 12px;
				span {
					display: inline-block;
					margin: 0 3px 5px 0;
					padding: 0.2em 0.3em;
					color: var(--color-Theme-Primary);
					border: 1px solid var(--color-Theme-Primary);
					border-radius: 3px;
				}
			}
			.usecase-btn {
				text-align: center;
				margin-top: auto;
				.usecase-btn_link {
					display: inline-block;
					position: relative;
					padding: .5em 1.5em .5em 1.5em;
					border: 1px solid var(--color-Theme-Primary);
					border-radius: 4px;
					background-color: var(--color-Theme-Primary);
					outline: none;
					line-height: 1.5;
					text-align: center;
					span {
						color: var(--color-Text-White);
						&:after {
							content: "";
							position: absolute;
							right: .5em;
							width: 5px;
							height: 5px;
							top: 50%;
							margin-top: -0.2em;
							border-top-width: 1px;
							border-top-style: solid;
							border-right-width: 1px;
							border-right-style: solid;
							transform: rotate(45deg);
						}
					}
				}
			}
		}
	}
	.p-usecase-btn {
		margin: 48px auto 0;
		width: fit-content;
	}
}
@media screen and (max-width: 767px) {
	.p-usecase-sec {
		.p-arw-box{
			margin-bottom: 24px;
		}
		.p-usecase-list {
			grid-template-columns: unset;
			gap: 24px 0;
			.p-usecase-list-item {
				display: grid;
				grid-template-rows: subgrid;
				padding: 20px;
				}
		}
		.p-usecase-btn {
			margin-top: 32px
		}
	}
}

/* p-news-sec
----------------------------------------------------------*/
.p-news-sec {
	.p-news-box {
		max-width: 1080px;
		margin-inline: auto;
		padding: 32px 48px 48px;
		border: 2px solid var(--color-Theme-Secondary);
		border-radius: 8px;
		ul.news-list {
			li {
				border-bottom: 1px solid #e5e5e5;
				a {
					display: flex;
					flex-wrap: wrap;
					align-items: center;
					gap: 4px 8px;
					padding: 32px 0;
					color: inherit;
					transition: all 0.3s 0s ease;
					&:hover {
						background-color: #f2f7f8;
						opacity: 1.0;
					}
				}
			}
			h3 {
				flex: 1;
				font-size: 16px;
				font-weight: 400;
				line-height: 1.5;
			}
			time {
				color: #666;
				font-size: 14px;
				letter-spacing: .02em;
			}
			.cat {
				width: 90px;
				padding: 4px;
				background: #ffffff;
				border: 1px solid var(--color-Theme-Secondary);
				color: var(--color-Theme-Secondary);
				font-size: 14px;
				line-height: 1.0;
				text-align: center;
			}
		}
		.p-news-note {
			margin-top: 16px;
			font-size: 14px;
			line-height: 1.5;
		}
	}
	.p-news-btn {
		margin: 48px auto 0;
		width: fit-content;
	}
}
@media all and (max-width: 767px) {
	.p-news-sec {
		.p-news-box {
			padding: 16px 16px 24px;
			border-radius: 4px;
			ul.news-list {
				li {
					a {
						display: flex;
						flex-wrap: wrap;
						align-items: center;
						gap: 4px 8px;
						padding: 16px 0;
						color: inherit;
						transition: all 0.3s 0s ease;
						}
						&:hover {
							background-color: #f2f7f8;
							opacity: 1.0;
						}
					}
				h3 {
					flex: inherit;
				}
			}
			.p-news-note {
				font-size: 12px;
			}
		}
		.p-news-btn {
			margin-top: 32px;
		}
	}
}

/* p-lead
----------------------------------------------------------*/
.p-lead {
	background: url(/web/jp/government/images/bg_lead_pc.png) no-repeat center left 40% / cover;
	&.p-sec {
		.l-content {
			display: flex;
			flex-wrap: wrap;
			flex-direction: row;
			align-items: center;
			gap: 40px;
			& > * {
				width: calc(50% - 20px);
			}
			.video_wrap iframe {
				width: 100%;
				aspect-ratio: 16 / 9;
				iframe {
					width: 100%;
					height: 100%;
				}
			}
			.text {
				p {
					line-height: 1.75;
					letter-spacing: .05em;
				}
			}
		}
	}
}
@media all and (max-width: 767px) {
	.p-lead {
		background: url(/web/jp/government/images/bg_lead_sp.png) no-repeat center / cover;
		&.p-sec {
			.l-content {
				gap: 24px;
				& > *  {
					width: 100%;
				}
			}
		}
	}
}

/* p-improve-sec
----------------------------------------------------------*/
.p-improve-sec {
	padding-top: 0;
	.p-sec-top {
		padding: 80px 0 192px;
		background: url(/web/jp/government/images/bg_improve-sec.png) no-repeat center bottom / contain, #f2f7f8;

		.p-improve-img-box {
			margin-bottom: 48px;
			background-color: var(--color-Base-Primary);
			border: 2px solid var(--color-Theme-Primary);
			.p-improve-img-box-ttl {
				padding: .5em;
				background-color: var(--color-Theme-Primary);
				color: var(--color-Text-White);
				font-size: min(calc(24 / 1200 * 100vw), 24px);
				font-weight: 700;
				line-height: 1.5;
				text-align: center;
			}
			.p-improve-img-box-img {
				padding: 48px min(calc(64 / 1200 * 100vw), 64px) 40px;
			}
		}

		.p-improve-list {
			display: flex;
			flex-wrap: wrap;
			padding: 48px 20px;
			gap: 48px 0;
			background-color: var(--color-Base-Primary);
			.p-improve-list-item {
				width: 33.333333%;
				padding: 0 20px;
				&:not(:nth-child(3n)){
					border-right: 2px solid #e5eaeb;
				}
				.p-improve-list-item-img {
					img {
						display: block;
						margin-inline: auto;
						width: 240px;
						height: 146px;
						object-fit: contain;
					}
				}
				.p-improve-list-item-ttl {
					margin: 1em 0;
					color: var(--color-Theme-Primary);
					font-size: 18px;
					font-weight: 700;
					letter-spacing: .05em;
					line-height: 1.5;
					text-align: center;
					font-feature-settings: "palt";
				}
				a {
					.p-improve-list-item-ttl {
						display: flex;
						justify-content: center;
						align-items: center;
						gap: .5em;
						text-decoration: underline;
						&::after {
							content: '';
							width: .5em;
							height: .5em;
							border-style: solid;
							border-color: var(--color-Theme-Primary);
							border-width: 2px 2px 0 0;
							transform: rotate(45deg) ;
						}
					}
				}
			}
			.p-improve-list-item-txt {
				font-size: 16px;
				line-height: 1.5;
				letter-spacing: .05em;
			}
		}
	}
	.p-arw-box-wrapper {
		margin-top: -80px;
	}
	.p-sec-bottom {
		margin-top: 60px;
		.p-improve-bottom-img {
			display: block;
			margin-inline: auto;
			max-width: 800px
		}
		.p-improve-bottom-txt {
			margin-top: 24px;
			line-height: 1.5;
			letter-spacing: .05em;
			text-align: center;
		}
	}
}

@media screen and (max-width: 961px) {
	.p-improve-sec {
		.p-sec-top {
			.p-improve-list {
				.p-improve-list-item {
					width: 50%;
					&:not(:nth-child(3n)) {
						border-right: none;
					}
					&:not(:nth-child(2n)){
						border-right: 2px solid #e5eaeb;
					}
				}
			}
		}
	}
}

@media screen and (max-width: 767px) {
	.p-improve-sec {
		.p-sec-top {
			padding: 48px 0 calc(112 / 375 * 100vw) ;
			.p-improve-img-box {
				max-width: 560px;
				margin: 0 auto 32px;
				.p-improve-img-box-ttl {
					font-size: min(calc(18 / 375 * 100vw), 24px);
				}
				.p-improve-img-box-img {
					padding: 48px min(calc(20 / 375 * 100vw), 64px) 40px;
					img {
						display: block;
						margin-inline: auto;
					}
				}
			}
			.p-improve-list {
				flex-direction: column;
				padding: 24px 24px 0 24px;
				gap: 32px;
				max-width: 560px;
				margin-inline: auto;
				.p-improve-list-item {
					width: 100%;
					padding: 0 0 32px 0;
					&:not(:nth-child(3n)),
					&:not(:nth-child(2n)){
						border-right: none;
					}
					&:not(:last-child){
						border-bottom:  1px solid #e5eaeb;
					}
					.p-improve-list-item-img {
						img {
							width: 64%;
							height: auto;
						}
					}
					.p-improve-list-item-ttl {
						font-size: min(calc(18 / 375 * 100vw), 18px);
					}
				}
			}
		}
		.p-arw-box-wrapper {
			margin-top: max(calc(-80 / 375 * 100vw), -96px) ;
		}
		.p-sec-bottom {
			margin: /*6vw*/ 24px auto 0;
			.p-improve-bottom-img {
				max-width: 480px;
				margin: 0 auto 4vw;
			}
			.p-improve-bottom-txt {
				font-size: min(calc(14 / 375 * 100vw), 16px);
			}
		}
	}
}

/* p-overall-sec
----------------------------------------------------------*/
.p-overall-sec {
	.p-overall-img-wrapper {
		margin: 0 auto 32px;
		text-align: center;
		.p-overall-ttl {
			display: flex;
			flex-wrap: wrap;
			align-items: center;
			justify-content: center;
			gap: 8px;
			margin-bottom: 24px;
			img {
				width: min(calc(320 / 1200 * 100vw), 320px);
			}
			.text {
				color: var(--color-Theme-Primary);
				font-size: min(calc(34 / 1200 * 100vw), 34px);
				font-weight: 700;
				line-height: 1;
			}
		}
		figure {
			img {
				display: block;
				margin-inline: auto;

			}
		}
	}
	.p-overall-desc {
		max-width: 1080px;
		margin-inline: auto;
		padding: 32px min(calc(64 / 1200 * 100vw), 64px);
		border: 2px solid var(--color-Theme-Secondary);
		font-weight: 500;
		line-height: 1.75;
		letter-spacing: .05em;
	}
}
@media screen and (max-width: 767px) {
	.p-overall-sec {
		.p-overall-img-wrapper {
			margin: 0 auto 32px;
			.p-overall-ttl {
				gap: 4px;
				margin-bottom: 16px;
				img {
					width: min(calc(216 / 375 * 100vw), 216px);
				}
				.text {
					font-size: min(calc(20 / 375 * 100vw), 20px);
				}
			}
			figure {
				img {
					display: block;
					margin-inline: auto;

				}
			}
		}
		.p-overall-desc {
			padding: 24px min(calc(20 / 375 * 100vw), 32px);
		}
	}
}

/* p-feature-sec
----------------------------------------------------------*/
.p-feature-sec {
	background-color: var(--color-Base-Secondary);
	.p-feature-list {
		display: flex;
		flex-wrap: wrap;
		gap: 24px;
		max-width: 1080px;
		margin-inline: auto;
		.p-feature-list-item {
			width: calc(50% - 12px);
			padding: 24px;
			background-color: var(--color-Base-Primary);
			.p-feature-list-item-ttl {
				margin-bottom: 1.5em;
				color: var(--color-Theme-Secondary);
				font-size: clamp(16px, calc(24 / 1200 * 100vw), 24px);
				font-weight: 700;
				line-height: 1.5;
				letter-spacing: .05em;
				text-align: center;
				font-feature-settings: "palt";
			}
			.p-feature-list-item-img {
				position: relative;
				margin-bottom: 24px;
				display: flex;
				justify-content: center;
				align-items: center;
				height: 150px;
				img {
					object-fit: contain;
					height: 100%;
					&.lgwan {
						height: 80%;
					}
				}
			}
			.p-feature-list-item-txt {
				font-size: 16px;
				line-height: 1.5;
				letter-spacing: .05em;
			}
			.p-text-link {
				margin-top: 1.5em;
				a {
					display: flex;
					justify-content: flex-end;
					align-items: center;
					gap: .25em;
					color: var(--color-Theme-Primary);
					line-height: 1.5;
					text-decoration: underline;
					&::after {
						content: '';
						width: .5em;
						height: .5em;
						border-style: solid;
						border-color: var(--color-Theme-Primary);
						border-width: 1px 1px 0 0;
						transform: rotate(45deg) ;
					}
					&:hover {
						text-decoration: none;
					}
				}
			}
		}
	}
}
@media screen and (max-width: 767px) {
	.p-feature-sec {
		.p-feature-list {
			flex-direction: column;
			gap: 24px;
			.p-feature-list-item {
				width: 100%;
				max-width: 560px;
				margin-inline: auto;
				/*padding: 7vw 8vw 6.5vw; */
				padding: 24px 20px;
				.p-feature-list-item-ttl {
					font-size: min(calc(18 / 375 * 100vw), 20px);
				}
				.p-feature-list-item-img {
					position: relative;
					margin-bottom: 24px;
					display: flex;
					justify-content: center;
					align-items: center;

					img {
						object-fit: contain;
						height: 150px;
					}
				}
			}
		}
	}
}

/* p-case
----------------------------------------------------------*/
.p-case-sec-desc{
  margin-bottom: 20px;
  font-weight: 700;
  line-height: 1.75;
  text-align: center;
}

.p-case-list{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 60px;
  gap: 16px;
}
.p-case-list * {
	line-height: 1.75;
}

.p-case-list-item{
  width: fit-content;
  padding: 32px 20px;
  border: 2px solid #e5eaeb;
}

.p-case-list-item-ttl{
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  font-weight: 700;
}

.p-case-list-item-ttl img{
  padding-right: 10px;
}

.p-case-list-item-note{
	margin-top: 8px;
	font-size: 14px;
	line-height: 1.5;
	text-align: center;
	font-feature-settings: "palt";
}

.p-case-changes-area{
  display: flex;
  align-items: flex-end;
  gap: 20px;
  margin-top: 35px;
}

.mt{
  margin-top: 85px;
}

.p-case-before-list,
.p-case-after-list{
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 10px;
}

.p-case-before-list{
  width: 210px;
  height: 387px;
  border:  2px solid #3b81c7;
  margin-bottom: 16px;
}

.p-case-before-list-item{
  font-size: 14px;
  font-weight: 500;
  line-height: 1.93;
}

.p-case-before-list-item2,
.p-case-after-list-item2{
  margin-left: 13px;
}

.p-case-before-list-desc{
  font-weight: 500;
  text-align: center;
}

.p-case-after-txt-box{
  font-weight: 700;
  padding-left: 66px;
  margin-bottom: 19px;
  position: relative;
}

.p-case-after-txt-box::before{
  content: "";
  position: absolute;
  top: 50%;
  left: 15px;
  transform: translateY(-50%);
  width: 39px;
  height: 71px;
  background: url(/web/jp/government/images/icn_arw.png) no-repeat center / contain;
}

.p-case-after-txt-box::after{
  content: "";
  position: absolute;
  top: 37%;
  left: 3px;
  transform: translate(-100%, -50%);
  width: 22px;
  height: 137px;
  background: url(/web/jp/government/images/img_dotted-line_pc.png) no-repeat center / contain;
}

.p-case-after-txt{
  line-height: 1.5;
}

.p-case-after-txt-m{
  font-size: 24px;
}

.p-case-after-txt-l{
  font-size: 34px;
}

.p-case-after-list{
  width: 267px;
  height: 245px;
  border: 4px solid #3b81c7;
  margin-bottom: 16px;
}

.p-case-after-list-item{
  font-size: 14px;
  font-weight: 700;
  line-height: 1.73;
}

.p-case-after-list-item span{
  font-size: 12px;
  font-weight: 400;
}

.p-case-after-list-desc{
  color: #3b81c7;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  font-feature-settings: "palt";
}

@media screen and (max-width: 767px) {
  .p-case-sec{
    padding: 8.666666vw 0 10.5vw;
  }

  .p-case-sec-desc{
    text-align: left;
    margin: -2.5vw 0 6vw;
  }

  .p-case-list{
    flex-direction: column;
    margin-bottom: 9.5vw;
    gap: 8.8vw;
  }

  .p-case-list-item{
    width: 100%;
    padding: 0;
    border: none;
  }

  .p-case-list-item-ttl{
    justify-content: flex-start;
    font-size: 4.9386666vw;
    margin-bottom: 1vw;
  }

  .p-case-list-item-ttl img{
    width: 35.66666vw;
    padding-right: 0;
    margin-right: 2.5vw;
  }

  .p-case-list-item-note{
    padding-left: 1em;
    text-indent: -1em;
    text-align: left;
    /*white-space: normal; */
  }

  .p-case-changes-area{
    flex-direction: column;
    align-items: flex-start;
    justify-content: start;
    gap: 2.5vw;
    margin-top: 4vw;
  }

  .p-case-before-wrapper,
  .p-case-after-wrapper{
    display: flex;
    width: 100%;
  }

  .p-case-before-list,
  .p-case-after-list{
    padding: 1.33333333vw;
    margin:0 0 0 3.666666vw;
    order: 2;
  }

  .p-case-before-list{
    width: 83.8666666vw;
    height: 62.6666666vw;
    border: 0.266666vw solid #3b81c7;
  }

  .p-case-before-list2{
    height: 55.06666vw;
    padding-left: 0;
  }

  .p-case-before-list-item{
    font-size: 3.733333vw;
    line-height: 1.7;
    padding-left: 2.666666vw;
  }

  .p-case-before-list-desc,
  .p-case-after-list-desc{
    font-size: 4.266666vw;
    text-align: center;
    line-height: 1;
    writing-mode: vertical-rl;
    order: 1;
  }

  .p-case-after-list-desc2{
    margin-top: -3.3333333vw;
  }

  .p-case-after-txt-box{
    display: flex;
    justify-content: start;
    align-items: center;
    font-size: 3.2vw;
    line-height: 1.58;
    padding-left: 0;
    margin:0 0 3vw 7.66666vw;
  }

  .p-case-after-txt-box::before{
    top: 57%;
    left: auto;
    right: 0;
    width: 6.4vw;
    height: 11.2vw;
  }

  .p-case-after-txt-box::after{
    top: 55%;
    left: auto;
    right: -27.5vw;
    width: 13.6vw;
    height: 14.933333vw;
    background: url(/web/jp/government/images/img_dotted-line_sp.png) no-repeat center / contain;
  }

  .p-case-after-txt-m{
    font-size: 4.5vw;
    padding-left: 2vw;
  }

  .p-case-after-txt-l{
    font-size: 6.4vw;
  }

  .p-case-after-list{
    width: 69.46666vw;
    height: 63.33333vw;
    border: 0.533333vw solid #3b81c7;
  }

  .p-case-after-list2{
    height: 52.133333vw;
    padding-left: 0;
  }

  .p-case-after-list-item{
    font-size: 3.733333vw;
    line-height: 1.63;
    padding-left: 2vw;
  }

  .p-case-after-list-item span{
    font-size: 3.2vw;
  }
}

/* p-reduced-wrapper
----------------------------------------------------------*/
.p-reduced-wrapper {
	.p-reduced-arw-box{
		margin-bottom: -20px;
	}
	.p-reduced-list {
		display: flex;
		flex-wrap: wrap;
		gap: 16px 40px;
		padding: 48px min(calc(64 / 1200 * 100vw), 64px) 40px;
		background-color: var(--color-Base-Secondary);
		.p-reduced-list-item {
			width: calc(50% - 40px / 2);
			padding-bottom: 16px;
			&:not(:nth-last-child(-n+2)){
				border-bottom: 2px solid #e5eaeb;
			}
			.p-reduced-list-item-ttl {
				margin-bottom: .5em;
				color: var(--color-Theme-Primary);
				font-size: 18px;
				font-weight: 700;
				line-height: 1.5;
			}
			.p-reduced-list-item-desc {
				line-height: 1.5;
			}
		}
	}
}

@media screen and (max-width: 767px) {
	.p-reduced-wrapper {
		.p-reduced-arw-box {
			margin-bottom: -24px;
		}
		.p-reduced-list{
			flex-direction: column;
			gap: 20px;
			padding: 48px 20px 12px;
			.p-reduced-list-item {
				width: 100%;
				padding-bottom: 20px;
				&:not(:last-child){
					border-bottom: 2px solid #e5eaeb;
				}
				&:nth-child(odd) {
					order: 1;
				}
				&:nth-child(even) {
					order: 2;
				}
				.p-reduced-list-item-ttl {
					font-size: min(calc(18 / 375 * 100vw), 18px);
				}
			}
		}
	}
}

/*---------- 導線ボタン共通 ----------*/
a.btn-contact {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: fit-content;
	padding: 1em 2.5em 1em 2em;;
	background-color: var(--color-Theme-Primary);
    border-radius: 9999px;
	color: var(--color-Text-White);
	font-size: clamp(16px, calc(20 / 1200 * 100vw), 20px);
    font-weight: 700;
	letter-spacing: .05em;
	line-height: 1.5;
	text-align: center;
	box-shadow: 0 5px 12px rgba(0, 0, 0, 0.4);
    transition: all 0.3s 0s ease;
	&::after {
		content: "";
		position: absolute;
		top: 50%;
		right: 1.5em;
		width: .5em;
		height: .5em;
		border-top-width: 2px;
		border-top-style: solid;
		border-right-width: 2px;
		border-right-style: solid;
		transform: rotate(45deg) translateY(-50%);
	}
	&:hover.btn-contact {
		opacity: 1;
		box-shadow: none;
		transform: translateY(3px);
	}
}
@media screen and (max-width: 767px) {
    a.btn-contact {
		max-width: 100%;
		font-size: min(calc(14 / 375 * 100vw), 20px);
		font-feature-settings: "palt";
    }
}

/* p-trouble-sec
----------------------------------------------------------*/
.p-trouble-sec {
	background-color: #eaeeef;
	.p-trouble-list {
		display: flex;
		flex-wrap: wrap;
		gap: 64px 0;
		padding: 48px 20px;
		background-color: var(--color-Base-Primary);
		.p-trouble-list-item {
			width: 33.333333%;
			padding: 0 20px;
			&:not(:nth-child(3n)) {
				border-right: 2px solid #e5eaeb;
			}
			.p-trouble-list-item-ttl {
				margin-bottom: 1em;
				color: var(--color-Theme-Secondary);
				font-size: clamp(16px, calc(24 / 1200 * 100vw), 24px);
				font-weight: 700;
				line-height: 1.5;
				letter-spacing: .05em;
				text-align: center;
			}
			.p-trouble-list-img {
				position: relative;
				margin: 0 auto 24px;
				/*width: 160px; */
				width: min(calc(160 / 1200 * 100vw), 160px);
			}
			.p-trouble-list-txt {
				font-size: 16px;
				line-height: 1.5;
				letter-spacing: .05em;
			}
		}
	}
}

@media screen and (max-width: 767px) {
	.p-trouble-sec {
		.p-trouble-list {
			flex-direction: column;
			padding: 24px;
			gap: 24px 0;
			.p-trouble-list-item {
				display: flex;
				flex-wrap: wrap;
				align-items: center;
				justify-content: space-between;
				gap: 20px;
				width: 100%;
				padding: 0;
				&:not(:nth-child(3n)),&:nth-child(3n) {
					border-right: none;
				}
				&:not(:last-child){
					border-bottom: 0.533333vw solid #e5eaeb;
					padding: 0 0 24px 0;
				}
				.p-trouble-list-item-ttl {
					margin-bottom: 0;
					font-size: min(calc(18 / 375 * 100vw), 20px);
					line-height: 1.5;
					text-align: left;
					flex: 1;
				}
				.p-trouble-list-img {
					margin: 0;
					width: min(calc(96 / 375 * 100vw), 128px);
					text-align: center;
				}
				.p-trouble-list-txt {
					width: 100%;
				}
			}
		}
	}
}