@charset "UTF-8";
/* CSS Document */

/*==============================*/
/*  */
/*==============================*/
body#top{
	margin-top: -97px;
}
	/* ======= SP =======*/
	@media (max-width: 767px) {
		body#top{
			margin-top: 0px;
		}
	}


/*==============================*/
/* mainVisual */
/*==============================*/
div.mainVisual{
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	width: 100%;
	height: clamp(560px, 39.58vw, 760px);
	background: linear-gradient(135deg,  #bcddfe 1%,#ffffff 50%,#fde4c8 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	padding-top: 64px;
	margin-bottom: 48px;
	
}
	/* ======= SP =======*/
	@media (max-width: 767px) {
		div.mainVisual{
			height: 120vw;
			padding-top: 0px;
		}
	}


/*---------------------------------
   tmb
---------------------------------*/
div.mainVisual p{
	margin-bottom: 48px;
	text-align: center;
}
	/* ======= SP =======*/
	@media (max-width: 767px) {
		div.mainVisual p{
			margin-bottom: 36px;
		}
		div.mainVisual p img{ width: 144px;}
	}

/*---------------------------------
   tmb
---------------------------------*/
div.mainVisual ul{
	display: flex;
	justify-content: center;
	gap: 40px;
	margin-bottom: 24px;
}
div.mainVisual ul li{
	position: relative;
	color: #000;
	font-size: 22px;
	font-weight: 400;
	font-family: "Inter", sans-serif;
	line-height: 1.3em;
	letter-spacing: 0.03em;
	text-align: center;
}
div.mainVisual ul li:not(:last-child)::before{
	position: absolute; bottom: 50%; right: -28px;
	content: "×";
	color: #46403B;
	font-size: 20px;
	font-weight: 300;
	transform: translateY(50%);
}
	/* ======= SP =======*/
	@media (max-width: 767px) {
		div.mainVisual ul{
			gap: 28px;
			margin-bottom: 20px;
		}
		div.mainVisual ul li{
			font-size: 18px;
		}
		div.mainVisual ul li:not(:last-child)::before{
			position: absolute; bottom: 50%; right: -21px;
			font-size: 16px;
			font-weight: 400;
		}
	}

/*---------------------------------
   tmb
---------------------------------*/
div.mainVisual h1{
	color: #000;
	font-size: 16px;
	font-weight: 700;
	text-align: center;
	line-height: 1.618em;
}
	/* ======= SP =======*/
	@media (max-width: 767px) {
		div.mainVisual h1{
			font-size: 15px;
			line-height: 1.414em;
		}
	}


/*==============================*/
/* Service */
/*==============================*/
div.topService-wrap{
	display: flex;
	flex-wrap: wrap;
	gap: 68px 72px;
	width: min(1040px,100%);
	margin: 0 auto;
}
div.topService{
	width: calc(calc(100% - 72px * 1) / 2);
}
	/* ======= TB =======*/
	@media screen and (min-width: 768px) and (max-width: 1024px) {
		div.topService-wrap{
			gap: 64px 36px;
		}
		div.topService{
			width: calc(calc(100% - 36px * 1) / 2);
		}
	}
	/* ======= SP =======*/
	@media (max-width: 767px) {
		div.topService-wrap{
			flex-direction: column;
			gap: 60px 72px;
		}
		div.topService{ width: 100%;}
	}


/*---------------------------------
   
---------------------------------*/
div.topService figure{
	position: relative;
	margin-bottom: 40px;
	padding: 2px 0px 0px 2px;
	border-radius: 20px;
	text-align: center;
	background: #fff;
}
div.topService figure::after{
	position: absolute; top: -5%; left: 0;
	content: "";
	width: 100%;
	height: 110%;
	background: linear-gradient(135deg,  #bcddfe 1%,#ffffff 50%,#fde4c8 100%);
	filter: blur(10px);
	z-index: -1;
}
div.topService figure img{
	border-radius: 20px;
}
	/* ======= TB =======*/
	@media screen and (min-width: 768px) and (max-width: 1024px) {
	}
	/* ======= SP =======*/
	@media (max-width: 767px) {
		div.topService figure{
			margin-bottom: 34px;
			padding: 20px 20px;
			border-radius: 16px;
		}
	}


/*---------------------------------
   
---------------------------------*/
div.topService div h3{
	margin-bottom: 12px;
	color: #000;
	font-size: 23px;
	font-weight: 600;
	line-height: 1.414em;
}
div.topService div p{
	margin-bottom: 24px;
	font-size: 15px;
	line-height: 1.618em;
}

div.topService div ul{
	display: flex;
	flex-wrap: wrap;
	gap: 8px 6px;
}
div.topService div ul li{
	padding: 2px 14px;
	background: #C6D0D8;
	border-radius: 200px;
	color: #fff;
	text-align: center;
	font-size: 13px;
	font-weight: 400;
}
	/* ======= TB =======*/
	@media screen and (min-width: 768px) and (max-width: 1024px) {
	}
	/* ======= SP =======*/
	@media (max-width: 767px) {
		div.topService div h3{
			margin-bottom: 8px;
			font-size: 20px;
			font-weight: 700;
		}
		div.topService div p{
			margin-bottom: 24px;
			font-size: 14px;
		}

	}


/*==============================*/
/* Feature */
/*==============================*/
section.featureWrap{
	padding-top: 96px;
	padding-bottom: 96px;
	background: linear-gradient(135deg,  #bcddfe 1%,#ffffff 50%,#fde4c8 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}

div.feature{
	display: flex;
	align-items: center;
	gap: 56px;
}

	/* ======= TB =======*/
	@media screen and (min-width: 768px) and (max-width: 1024px) {
		div.feature{
			gap: 36px;
		}
	}
	/* ======= SP =======*/
	@media (max-width: 767px) {
		section.featureWrap{
			padding-top: 88px;
			padding-bottom: 72px;
		}

		div.feature{
			flex-direction: column;
			align-items: flex-start;
			gap: 40px;
		}
	}


/*---------------------------------
   大見出し
---------------------------------*/
div.feature div.featureDetail{
	width: 384px;
}
div.feature div.featureDetail h3{
	margin-bottom: 22px;
	color: #000;
	font-size: 28px;
	font-weight: 700;
	line-height: 1.414em;
}
div.feature div.featureDetail p{
	font-size: 15px;
}
div.feature div.featureDetail p:not(:last-child){ margin-bottom: 14px;}

	/* ======= TB =======*/
	@media screen and (min-width: 768px) and (max-width: 1024px) {
		div.feature div.featureDetail{
			width: 360px;
		}
	}
	/* ======= SP =======*/
	@media (max-width: 767px) {
		div.feature div.featureDetail{ width: 100%;}
		div.feature div.featureDetail h3{
			margin-bottom: 18px;
			font-size: 24px;
		}
		div.feature div.featureDetail p{
			font-size: 14px;
		}
		div.feature div.featureDetail p:not(:last-child){ margin-bottom: 14px;}
	}


/*---------------------------------
   
---------------------------------*/
div.feature div.featureList{
	display: flex;
	flex-wrap: wrap;
	flex: 1;
	gap: 28px;
}
div.feature div.featureList dl{
	display: flex;
	flex-direction: column;
	width: calc(calc(100% - 28px * 1) / 2);
	padding: 28px 0 24px 0;
	background: #FFFFFF;
	box-shadow: 0px 0px 10px 0px rgba(153,153,153,0.2);
	border-radius: 20px;
	text-align: center;
}
div.feature div.featureList dl dt{ order: 2;}

div.feature div.featureList dl dd{
	order: 1;
	margin-bottom: 8px;
}

	/* ======= TB =======*/
	@media screen and (min-width: 768px) and (max-width: 1024px) {
		div.feature div.featureList{ gap: 16px;}
		div.feature div.featureList dl{ width: calc(calc(100% - 16px * 1) / 2);}
		div.feature div.featureList dl:nth-child(1) dd img{ width: 90px;}
		div.feature div.featureList dl:nth-child(2) dd img{ width: 64px;}
		div.feature div.featureList dl:nth-child(3) dd img{ width: 72px;}
		div.feature div.featureList dl:nth-child(4) dd img{ width: 88px;}
	}
	/* ======= SP =======*/
	@media (max-width: 767px) {
		div.feature div.featureList{
			flex: none;
			width: 100%;
			gap: 16px;
		}
		div.feature div.featureList dl{
			width: calc(calc(100% - 16px * 1) / 2);
			padding: 28px 0 24px 0;
			border-radius: 12px;
		}
		div.feature div.featureList dl dt{
		}

		div.feature div.featureList dl dd{
			order: 1;
			margin-bottom: 8px;
		}
		div.feature div.featureList dl:nth-child(1) dd img{ width: 90px;}
		div.feature div.featureList dl:nth-child(2) dd img{ width: 64px;}
		div.feature div.featureList dl:nth-child(3) dd img{ width: 72px;}
		div.feature div.featureList dl:nth-child(4) dd img{ width: 88px;}
	}


/*==============================*/
/* NEWS */
/*==============================*/
div.news{
}
div.news article{
	padding: 26px 0;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
}
	/* ======= TB =======*/
	@media screen and (min-width: 768px) and (max-width: 1024px) {
		div.news{ gap: 20px;}
		div.news article{
		}
	}
	/* ======= SP =======*/
	@media (max-width: 767px) {
		div.news{
			flex-direction: column;
			gap: 0px;
		}
		div.news article{
			width: 100%;
			gap: 14px;
			padding: 20px 0;
			border-bottom: 1px solid #efefef;
		}
		div.news article:first-child{ border-top: 1px solid #efefef;}
	}



/*---------------------------------
   
---------------------------------*/
div.news article dl{
	display: flex;
	gap: 16px;
}

div.news article dl dt{
	display: flex;
	align-items: center;
	width: 208px;
	font-size: 17px;
	font-family: 'Roboto', sans-serif;
}
div.news article dl dt span{
	flex: 1;
	display: inline-block;
	margin-left: 12px;
	padding: 4px 0 2px 0;
	background: #C6D0D8;
	border-radius: 200px;
	color: #fff;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.3em;
	text-align: center;
}
div.news article dl dd{
	flex: 1;
	padding-top: 2px;
	font-size: 15px;
	line-height: 1.618em;
}

	/* ======= TB =======*/
	@media screen and (min-width: 768px) and (max-width: 1024px) {
		div.news article dl dt{
			width: 184px;
			font-size: 17px;
		}
		div.news article dl dt span{
			flex: 1;
			display: inline-block;
			margin-left: 10px;
			font-size: 13px;
		}
		div.news article dl dd{
			font-size: 14px;
			line-height: 1.414em;
		}
	}
	/* ======= SP =======*/
	@media (max-width: 767px) {
		div.news article dl{
			flex-direction: column;
			gap: 0px;
		}

		div.news article dl dt{
			margin-bottom: 7px;
			width: 192px;
			font-size: 16px;
		}
		div.news article dl dt span{ margin-left: 10px;}
		div.news article dl dd{
			padding-top: 0px;
			font-size: 14px;
			line-height: 1.5em;
		}
	}


