@charset "UTF-8";
/* CSS Document */

/*==============================*/
/* リンク設定 */
/*==============================*/
#service01,
#service02,
#service03,
#service04{
	scroll-margin-top: 160px;
}


/*==============================*/
/* service */
/*==============================*/
div.serviceWrap{ counter-reset: number;}

div.service{
	display: flex;
	align-items: center;
	gap: 68px;
}
div.service:nth-child(even){ flex-direction: row-reverse;}
div.service:not(:last-child){ margin-bottom: 64px;}

	 /* ======= TB =======*/
	@media screen and (min-width: 768px) and (max-width: 1024px) {
		div.service{
			align-items: flex-start;
			gap: 32px;
		}
		div.service:not(:last-child){ margin-bottom: 64px;}
	}
	/* ======= SP =======*/
	@media (max-width: 767px) {
		div.service{
			flex-direction: column-reverse;
			gap: 36px;
		}
		div.service:nth-child(even){ flex-direction: column-reverse;}
		div.service:not(:last-child){ margin-bottom: 56px;}
	}


/*---------------------------------
   img
---------------------------------*/
div.service figure{
	flex: 1 1 50%;
}
div.service figure img{
	border-radius: 16px;
	box-shadow: 0px 0px 10px 0px rgba(153,153,153,0.5);
}
	/* ======= TB =======*/
	@media screen and (min-width: 768px) and (max-width: 1024px) {
	}
	/* ======= SP =======*/
	@media (max-width: 767px) {
		div.service figure{
			width: 100%;
			flex: none;
		}
		div.service figure img{
			object-fit: cover;
			width: 100%;
			height: 200px;
			aspect-ratio: 4 / 2;
			border-radius: 12px;
		}
	}


/*---------------------------------
   Content
---------------------------------*/
div.service div{
	position: relative;
	flex: 1 1 50%;
	min-width: 0;
}
div.service div::before {
	position: absolute; top: 0px; 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.service div{
			width: 100%;
			flex: none;
		}
		div.service div::before {
			position: absolute; top: 2px; right: 0;
			font-size: 88px;
		}
	}

/*-- 
------------------------- */
div.service div h3{
	margin-bottom: 24px;
	color: #000;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.48em;
}
div.service div h3 span{
	display: inline-block;
	color:  #14BBC7;
	font-size: 27px;
	font-weight: 700;
	line-height: 1.48em;
	vertical-align: baseline;
}
	/* ======= TB =======*/
	@media screen and (min-width: 768px) and (max-width: 1024px) {
		div.service div h3{
			font-size: 24px;
			line-height: 1.414em;
		}
		div.service div h3 span{
			font-size: 24px;
			line-height: 1.414em;
		}
	}
	/* ======= SP =======*/
	@media (max-width: 767px) {
		div.service div h3{
			margin-bottom: 20px;
			font-size: 23px;
			line-height: 1.414em;
		}
		div.service div h3 span{
			font-size: 23px;
			line-height: 1.414em;
		}
	}

/*-- 
------------------------- */
div.service div p{
	font-size: 15px;
	line-height: 1.7em;
}
	/* ======= TB =======*/
	@media screen and (min-width: 768px) and (max-width: 1024px) {
		div.service div p{
			font-size: 15px;
			line-height: 1.618em;
		}
	}
	/* ======= SP =======*/
	@media (max-width: 767px) {
	}


/*-- 
------------------------- */
div.service div ul{
	display: flex;
	flex-wrap: wrap;
	gap: 8px 6px;
}
div.service div ul li{
	padding: 2px 14px;
	background: #C6D0D8;
	border-radius: 200px;
	color: #fff;
	text-align: center;
	font-size: 13px;
	font-weight: 400;
}