@charset "utf-8";
/* CSS Document */

/*==============================*/
/* ID */
/*==============================*/
#service01,
#service02,
#service03,
#service04{
	scroll-margin-top: 160px;
}

#local-government{
	scroll-margin-top: 80px;
}


/*==============================*/
/* サービス */
/*==============================*/
div.serviceBox-wrap{ counter-reset: number;}

div.serviceBox{
	display: flex;
	align-items: center;
	gap: 64px;
}
div.serviceBox:nth-child(even){ flex-direction: row-reverse;}
div.serviceBox:not(:last-child){ margin-bottom: 80px;}

	 /* ======= TB =======*/
	@media screen and (min-width: 768px) and (max-width: 1024px) {
		div.serviceBox{
			align-items: flex-start;
			gap: 32px;
		}
		div.serviceBox:not(:last-child){ margin-bottom: 64px;}
	}
	/* ======= SP =======*/
	@media (max-width: 767px) {
		div.serviceBox{
			flex-direction: column-reverse;
			gap: 36px;
		}
		div.serviceBox:nth-child(even){ flex-direction: column-reverse;}
		div.serviceBox:not(:last-child){ margin-bottom: 56px;}
	}


/*---------------------------------
   img
---------------------------------*/
div.serviceBox figure{
	flex: 1 1 50%;
}
div.serviceBox figure img{
	border-radius: 16px;
}
	/* ======= TB =======*/
	@media screen and (min-width: 768px) and (max-width: 1024px) {
	}
	/* ======= SP =======*/
	@media (max-width: 767px) {
		div.serviceBox figure{
			width: 100%;
			flex: none;
		}
		div.serviceBox figure img{
			object-fit: cover;
			width: 100%;
			height: 200px;
			aspect-ratio: 4 / 2;
			border-radius: 12px;
		}
	}


/*---------------------------------
   Content
---------------------------------*/
div.serviceBox div{
	position: relative;
	flex: 1 1 50%;
	min-width: 0;
}
div.serviceBox div::before {
	position: absolute; top: 8px; right: 0;
	counter-increment: number;
	content: "0"counter(number);
	color: #F5F5F5;
	font-size: 104px;
	font-weight: 700;
	font-family: "Inter", sans-serif;
	letter-spacing: 0.01em;
	z-index: -1;
}

	/* ======= TB =======*/
	@media screen and (min-width: 768px) and (max-width: 1024px) {
	}
	/* ======= SP =======*/
	@media (max-width: 767px) {
		div.serviceBox div{
			width: 100%;
			flex: none;
		}
		div.serviceBox div::before {
			position: absolute; top: 2px; right: 0;
			font-size: 88px;
		}
	}

/*-- 
------------------------- */
div.serviceBox div h3{
	margin-bottom: 16px;
	color: #1F5E54;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.3em;
}
	/* ======= TB =======*/
	@media screen and (min-width: 768px) and (max-width: 1024px) {
		div.serviceBox div h3{
			font-size: 24px;
		}
	}
	/* ======= SP =======*/
	@media (max-width: 767px) {
		div.serviceBox div h3{
			margin-bottom: 20px;
			font-size: 23px;
		}
	}

/*-- 
------------------------- */
div.serviceBox div p{
	line-height: 1.618em;
}
	/* ======= TB =======*/
	@media screen and (min-width: 768px) and (max-width: 1024px) {
		div.serviceBox div p{
			font-size: 15px;
			line-height: 1.618em;
		}
	}
	/* ======= SP =======*/
	@media (max-width: 767px) {
	}


/*-- 
------------------------- */
div.serviceBox div dl dt{
	width: min(136px,100%);
	padding: 2px 0 3px 0; 
	background: #A4CF4C;
	border-radius: 5px 5px 0 0;
	color: #fff;
	font-size: 17px;
	text-align: center;
}
div.serviceBox div dl dd{
	padding: 24px;
	background: #EFF9F5 url("/common/img/share/bg-texture.png");
	border-radius: 0px 5px 5px 5px;
}
div.serviceBox div dl dd > ul > li{
	position: relative;
	padding-left: 24px;
	color: #8DC51A;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.414em;
}
div.serviceBox div dl dd > ul > li:not(:last-child){ margin-bottom: 10px;}
div.serviceBox div dl dd > ul > li::before{
	position: absolute; top: 4px; left: 0;
	content: "";
	width: 16px;
	height: 16px;
	background: #fff;
	border: 2px solid #A4CF4C;
	border-radius: 50%;
}

div.serviceBox div dl dd > ul > li ul{ margin-top: 4px;}
div.serviceBox div dl dd > ul > li ul li{
	position: relative;
	padding-left: 16px;
	color: #46403B;
	font-size: 15px;
	line-height: 1.414em;
}
div.serviceBox div dl dd > ul > li ul li:not(:last-child){ margin-bottom: 2px;}
div.serviceBox div dl dd > ul > li ul li::before{
	position: absolute; top: 10px; left: 0;
	content: "";
	width: 6px;
	height: 6px;
	background: #46403B;
	border-radius: 50%;
}

	/* ======= TB =======*/
	@media screen and (min-width: 768px) and (max-width: 1024px) {
		div.serviceBox div dl dt{
			font-size: 16px;
		}
		div.serviceBox div dl dd{
			padding: 22px;
		}
	}
	/* ======= SP =======*/
	@media (max-width: 767px) {
		div.serviceBox div dl dd{
			padding: 20px;
		}
	}


