@charset "utf-8";
/*==================================================
	【サブ】ページ固有のスタイル
==================================================*/
#service p:last-child {
	margin-bottom: 0;
}
#service .msg {
	padding-left: 100px;
}
#service .msg::before {
	top: 60px;
	height: calc(100% - 60px);
	margin-left: 0;
	background: #f2faf5;
	border-radius: 100px 0 0 0;
}
/**/
#service .about {
	padding-bottom: 50px;
}
#service .about::before {
	top: 60px;
	left: auto;
	right: 0;
	height: calc(100% - 60px);
	margin-right: 0;
	background: #f2faf5;
}
#service .about .photo img {
	border-radius: 100px 0 0 0;
}
/**/
#service .service h4.sub {
	margin-bottom: 20px;
}
#service .service .box {
	background: #f2faf5;
	border-radius: 20px;
}
#service .service ul {
	/* フレックス */
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	row-gap: 0.5em;
}
#service .service ul li {
	position: relative;
	width: 100%;
	padding-left: 20px;
	line-height: 1.5;
}
#service .service ul li::before {
	position: absolute;
	top: 0.5em;
	left: 0;
	display: block;
	width: 8px;
	height: 8px;
	background: var(--color-primary);
	border-radius: 50%;
	content: "";
}
#service .service ul li p {
	margin: 10px 0;
	padding: 20px;
	background: #fff;
	border-radius: 20px;
}
@media print, screen and (min-width: 769px){ /* PCのみ */
	#service .service {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		grid-template-rows: repeat(3, 1fr);
		gap: 40px;
		align-items: start;
	}
	#service .service .box:nth-child(1) {
		grid-area : 1 / 1 / 2 / 2;
	}
	#service .service .box:nth-child(2) {
		grid-area: 1 / 2 / 3 / 3;
	}
	#service .service .box:nth-child(3) {
		grid-area: 2 / 1 / 3 / 2;
	}
	#service .service .box:nth-child(4) {
		grid-area: 3 / 1 / 4 / 3;
	}
}
@media print, screen and (min-width: 641px){ /* PC・タブレット */
	#service .about .txt {
		width: 65%;
	}
	#service .about .photo {
		width: calc(50vw - 20%);
		margin-right: calc(((100vw - 100%) / 2) * -1);
	}
	#service .service ul.wa {
		justify-content: flex-start;
		column-gap: 3em;
	}
	#service .service ul.wa li {
		width: auto;
	}
	#service .service ul.w2 li {
		width: 40%;
	}
	#service .service ul.w2 li:nth-child(2n) {
		width: 56%;
	}
	#service .service ul.w3 li {
		width: 32%;
	}
}
@media only screen and (max-width: 768px) {  /* タブレット以下 */
	#service .msg {
		padding-left: 30px;
	}
	#service .msg::before {
		border-radius: 60px 0 0 0;
	}
	#service .about {
		padding-bottom: 30px;
	}
	#service .msg::before,
	#service .about::before {
		top: 30px;
		height: calc(100% - 30px);
	}
	#service .service .box+.box {
		margin-top: 30px;
	}
}
@media only screen and (max-width: 640px){ /* スマホ */
	#service h3.sub2 {
		margin-bottom: 20px;
	}
	#service .about {
		margin-bottom: 60px;
		padding-bottom: 0;
	}
	#service .about .txt {
		padding-right: 20px;
	}
	#service .about .photo {
		position: relative;
		top: 30px;
		margin-right: -20px;
	}
	#service .service .box+.box {
		margin-top: 20px;
	}
	#service .service ul.w3 li {
		width: 48%;
	}
}