@charset "utf-8";
/*------------------------------------------------------------
	solution
------------------------------------------------------------*/
#main {
	overflow: hidden;
}
#main .pageTtl {
	margin-bottom: 0;
}
#main .pageTtl::before,
#main .pageTtl::after {
	display: none;
}
#main .pageTtl .content {
	position: absolute;
	left: 50%;
	width: 100%;
	top: 15.7%;
	max-width: 56.2vw;
	color: #fff;
	transform: translateX(-50%);
	z-index: 1;
}
#main .pageTtl h3 {
	margin-bottom: 8.2vw;
	font-size: 3vw;
	letter-spacing: 0.1em;
	text-align: center;
}
#main .pageTtl p {
	font-size: 1vw;
	line-height: 2.5;
	font-weight: 700;
	letter-spacing: 0.03em;
}
@media all and (max-width: 1200px) {
	#main .pageTtl .content {
		max-width: 67.44rem;
	}
	#main .pageTtl h3 {
		margin-bottom: 9.84rem;
		font-size: 3.6rem;
	}
	#main .pageTtl p {
		font-size: 1.2rem;
	}
}
#main .service {
	padding: 10.7rem 0 22.4rem;
}
#main .service h3 {
	margin-bottom: 9.7rem;
	padding: 1.4rem;
	position: relative;
	font-size: 2.8rem;
	line-height: 1;
	letter-spacing: 0.14em;
	text-align: center;
	border: 1px solid #000;
}
#main .service h3:after {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: -0.8rem;
	width: 1rem;
	height: 0.8rem;
	background-color: #000;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	content: "";
}
#main .service .listUl {
	gap: 7.5rem 0;
}
#main .service .listUl li {
	width: 45.9%;
}
#main .service .listUl h4 {
	padding: 0 0 2.6rem 3.3rem;
	position: relative;
	font-size: 2.4rem;
	font-weight: 700;
	display: inline-block;
	background: url(../img/common/icon05.svg) no-repeat left 1rem/1.6rem;
}
#main .service .listUl h4:before,
#main .service .listUl h4:after {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 50%;
	height: 0.3rem;
	background-color: #00A23E;
	content: "";
}
#main .service .listUl h4:after {
	left: 50%;
	background-color: #000;
}
#main .service .listUl .photo {
	margin-bottom: 3.2rem;
}
#main .service .listUl .photo img {
	width: 100%;
}
#main .service .listUl p {
	line-height: 2.25;
	text-align: justify;
}
#main .service .listUl .subTtl {
	margin-bottom: 1.7rem;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.7;
	letter-spacing: 0.06em;
}
#main .example {
	position: relative;
}
#main .example .photo img {
	width: 100%;
}
#main .example .headLine01 {
	top: 3.15%;
	color: #000;
	font-size: 2.938vw;
	line-height: 1.49;
	letter-spacing: 0.16em;
}
#main .example .headLine01 small {
	margin-bottom: 0.813vw;
	color: #00A23E;
	font-size: 0.813vw;
	letter-spacing: 0.05em;
}
#main .example .linkList li {
	position: absolute;
}
#main .example .linkList a {
	padding: 0.688vw 1.438vw;
	display: inline-block;
	position: relative;
	color: #fff;
	font-size: 0.938vw;
	font-weight: 700;
	line-height: 1.2;
	background-color: #000;
	border-radius: 2.5vw;
}
#main .example .linkList a:hover {
	opacity: 0.7;
}
#main .example .linkList a:after {
	position: absolute;
	left: 3.938vw;
	top: -0.875vw;
	width: 0.938vw;
	height: 0.938vw;
	content: "";
	clip-path: polygon(0 0, 100% 100%, 0 100%);
	background-color: #000;
}
#main .example .linkList .up02 a:after {
	left: 6.563vw;
	width: 1.125vw;
	height: 1vw;
	bottom: -0.937vw;
	clip-path: polygon(0 100%, 100% 0, 100% 100%);
}
#main .example .linkList .down a:after {
	top: auto !important;
	left: 2.563vw;
	width: 1.125vw;
	height: 1vw;
	bottom: -0.937vw;
	clip-path: polygon(0 0, 100% 0, 100% 100%);
}
#main .example .linkList .down02 a:after {
	top: auto !important;
	left: 5.5vw;
	width: 1vw;
	height: 1vw;
	bottom: -0.937vw;
	clip-path: polygon(0 0, 100% 0, 0 100%);
}
@media all and (max-width: 1200px) {
	#main .example .headLine01 {
		font-size: 3.53rem;
	}
	#main .example .headLine01 small {
		margin-bottom: 0.98rem;
		font-size: 0.98rem;
	}
	#main .example .linkList a {
		padding: 0.83rem 1.73rem;
		font-size: 1.13rem;
		border-radius: 3rem;
	}
	#main .example .linkList a:after {
		left: 4.73rem;
		top: -1.05rem;
		width: 1.13rem;
		height: 1.13rem;
	}
	#main .example .linkList .up02 a:after {
		left: 7.88rem;
		width: 1.35rem;
		height: 1.2rem;
		bottom: -1.12rem;
	}
	#main .example .linkList .down a:after {
		left: 3.08rem;
		width: 1.35rem;
		height: 1.2rem;
		bottom: -1.12rem;
	}
	#main .example .linkList .down02 a:after {
		left: 6.6rem;
		width: 1.2rem;
		height: 1.2rem;
		bottom: -1.12rem;
	}
}
#main .example .linkList .link01 {
	top: 13.4%;
	left: 14.4%;
}
#main .example .linkList .link01 a {
	letter-spacing: -0.03em;
}
#main .example .linkList .link02 {
	top: 11.75%;
	left: 53.95%;
}
#main .example .linkList .link03 {
	top: 12.5%;
	right: 13.8%;
}
#main .example .linkList .link03 a {
	letter-spacing: -0.07em;
}
#main .example .linkList .link03 a:after {
	left: 46%;
}
#main .example .linkList .link04 {
	top: 22.9%;
	left: 37.6%;
}
#main .example .linkList .link04 a {
	letter-spacing: -0.1em;
}
#main .example .linkList .link04 a:after {
	left: 50%;
}
#main .example .linkList .link05 {
	top: 25.2%;
	left: 24.2%;
}
#main .example .linkList .link05 a:after {
	left: 47%;
}
#main .example .linkList .link06 {
	top: 24.5%;
	right: 31%;
}
#main .example .linkList .link06 a {
	letter-spacing: -0.1em;
}
#main .example .linkList .link07 {
	top: 26.3%;
	right: 23.5%;
}
#main .example .linkList .link08 {
	top: 30.4%;
	left: 32%;
}
#main .example .linkList .link08 a {
	letter-spacing: -0.1em;
}
#main .example .linkList .link08 a:after {
	left: 42%;
}
#main .example .linkList .link09 {
	top: 30.4%;
	right: 16.3%;
}
#main .example .linkList .link09 a:after {
	left: 24%;
}
#main .example .linkList .link10 {
	top: 37.1%;
	left: 34.3%;
}
#main .example .linkList .link10 a:after {
	left: 40%;
}
#main .example .linkList .link11 {
	top: 43.7%;
	left: 28.3%;
}
#main .example .linkList .link11 a {
	letter-spacing: -0.05em;
}
#main .example .linkList .link11 a:after {
	left: 59%;
}
#main .example .linkList .link12 {
	top: 45.7%;
	right: 35%;
}
#main .example .linkList .link12 a {
	letter-spacing: -0.1em;
}
#main .example .linkList .link13 {
	top: 50.7%;
	right: 12.5%;
}
#main .example .linkList .link13 a:after {
	left: 48%;
}
#main .example .linkList .link14 {
	top: 52.6%;
	left: 16.3%;
}
#main .example .linkList .link14 a {
	letter-spacing: -0.05em;
}
#main .example .linkList .link14 a:after {
	left: 35%;
}
#main .example .linkList .link15 {
	top: 53.9%;
	left: 49.6%;
}
#main .example .linkList .link15 a {
	letter-spacing: -0.05em;
}
#main .example .linkList .link15 a:after {
	left: auto;
	right: 18%;
}
#main .example .linkList .link16 {
	top: 61.7%;
	right: 12.6%;
}
#main .example .linkList .link16 a {
	letter-spacing: -0.08em;
}
#main .example .linkList .link16 a:after {
	left: 44%;
}
#main .example .linkList .link17 {
	top: 65.3%;
	left: 36.5%;
}
#main .example .linkList .link17 a {
	letter-spacing: -0.05em;
}
#main .example .linkList .link18 {
	top: 67.5%;
	left: 15%;
}
#main .example .linkList .link18 a:after {
	left: 45%;
}
#main .example .linkList .link19 {
	top: 66.8%;
	right: 26.4%;
}
#main .example .linkList .link19 a {
	letter-spacing: -0.1em;
}
#main .example .linkList .link19 a:after {
	left: auto;
	right: 22%;
}
#main .example .linkList .link20 {
	top: 69.8%;
	left: 14%;
}
#main .example .linkList .link20 a:after {
	left: 25%;
}
#main .example .linkList .link21 {
	top: 75.2%;
	left: 40.5%;
}
#main .example .linkList .link21 a {
	letter-spacing: -0.04em;
}
#main .example .linkList .link21 a:after {
	left: 52%;
}
#main .example .linkList .link22 {
	top: 79.5%;
	left: 19.5%;
}
#main .example .linkList .link22 a {
	letter-spacing: -0.04em;
}
#main .example .linkList .link22 a:after {
	left: 37%;
}
#main .example .linkList .link23 {
	top: 78.9%;
	right: 16.6%;
}
#main .example .linkList .link23 a:after {
	left: auto;
	right: 25%;
}
#main .support {
	margin-top: -1.9vw;
	position: relative;
	z-index: 1;
	padding: 11rem 0 19rem;
	background-color: #00A23E;
}
#main .support h3 {
	margin: 0 -2.1rem 5.5rem;
	font-size: 4.8rem;
	line-height: 1.6;
	letter-spacing: 0.32em;
	align-items: flex-start;
}
#main .support h3 img {
	width: 14.1rem;
	flex-shrink: 0;
}
#main .support h3 .rTxt {
	margin: 1rem 0 0 5rem;
}
#main .support .comPointList li {
	width: 33rem;
}
#main .support .comPointList h4 .num {
	margin-top: 0.2rem;
}
#main .support .comPointList h4 .txt {
	line-height: 1.3;
	letter-spacing: 0;
}
#main .support .comPointList h4 .white {
	color: #fff;
}
#main .support .comPointList p {
	line-height: 2.1;
	text-align: justify;
}
@media all and (min-width: 897px) {
	#main .example .linkList .link09 a {
		padding: 1.4rem 2.6rem;
	}
}
@media all and (max-width: 896px) {
	#main .pageTtl .content {
		top: 15.7%;
		max-width: 35.7rem;
	}
	#main .pageTtl h3 {
		margin: 0 0 1.5rem -1.2rem;
		font-size: 3.3rem;
	}
	#main .pageTtl p {
		font-size: 1.4rem;
		line-height: 1.93;
		letter-spacing: 0;
	}
	#main .service {
		padding: 9.2rem 0 7.7rem;
	}
	#main .service h3 {
		margin-bottom: 4rem;
		padding: 1.3rem;
		font-size: 2rem;
		line-height: 1.38;
		letter-spacing: 0.05em;
	}
	#main .service h3:after {
		bottom: -1.3rem;
		width: 1.5rem;
		height: 1.3rem;
	}
	#main .service .listUl {
		gap: 5.3rem 0;
	}
	#main .service .listUl li {
		width: 100%;
	}
	#main .service .listUl h4 {
		padding: 0 0 1.2rem 2.7rem;
		font-size: 2.1rem;
		line-height: 1.19;
		background-position: left 0.4rem;
		background-size: 1.8rem;
	}
	#main .service .listUl .photo {
		margin-bottom: 2.3rem;
	}
	#main .service .listUl p {
		line-height: 1.88;
		letter-spacing: 0.04em;
	}
	#main .service .listUl .subTtl {
		margin-bottom: 1.4rem;
		font-size: 1.8rem;
		line-height: 1.39;
	}
	#main .example .headLine01 {
		top: 4.3%;
		font-size: 2.1rem;
		line-height: 1.24;
		letter-spacing: 0.14em;
	}
	#main .example .headLine01 small {
		margin-bottom: 0.813vw;
		font-size: 0.9rem;
	}
	#main .example .linkList a {
		padding: 0.2rem 0.9rem 0.2rem;
		font-size: 1.1rem;
		line-height: 1.18;
		border-radius: 3rem;
	}
	#main .example .linkList .line02 {
		padding: 0.5rem 1.5rem 0.4rem;
	}
	#main .example .linkList a:after {
		left: 50% !important;
		top: -0.6rem;
		width: 0.7rem;
		height: 0.7rem;
		transform: translateX(-50%);
	}
	#main .example .linkList .up02 a:after {
		width: 0.7rem;
		height: 0.7rem;
		top: -0.6rem;
	}
	#main .example .linkList .down a:after {
		width: 0.7rem;
		height: 0.7rem;
		bottom: -0.6rem;
	}
	#main .example .linkList .down02 a:after {
		width: 0.7rem;
		height: 0.7rem;
		bottom: -0.6rem;
	}
	#main .example .linkList .link01 {
		top: 17.3%;
		left: 2.8%;
	}
	#main .example .linkList .link02 {
		top: 14.1%;
		left: 51.5%;
	}
	#main .example .linkList .link03 {
		top: 16.1%;
		right: 4.5%;
	}
	#main .example .linkList .link04 {
		top: 26.7%;
		left: 30.6%;
	}
	#main .example .linkList .link04 a {
		padding: 0.5rem 1.2rem 0.2rem;
	}
	#main .example .linkList .link05 {
		top: 22.6%;
		left: 3.6%;
	}
	#main .example .linkList .link05 a:after {
		top: auto;
		bottom: -0.6rem;
		clip-path: polygon(0 0, 100% 0, 100% 100%);
	}
	#main .example .linkList .link06 {
		top: 36.4%;
		right: 35%;
	}
	#main .example .linkList .link06 a:after {
		bottom: auto;
		left: 58% !important;
		top: -0.6rem !important;
		clip-path: polygon(0 100%, 100% 0, 100% 100%);
	}
	#main .example .linkList .link07 {
		top: 34.2%;
		right: 15%;
	}
	#main .example .linkList .link07 a:after {
		bottom: auto;
		top: -0.6rem !important;
		clip-path: polygon(0 100%, 100% 0, 100% 100%);
	}
	#main .example .linkList .link08 {
		top: 32.5%;
		left: 22.7%;
	}
	#main .example .linkList .link09 {
		top: 40.2%;
		right: 9.5%;
	}
	#main .example .linkList .link09 a:after {
		bottom: auto;
		top: -0.6rem !important;
		clip-path: polygon(0 0, 100% 100%, 0 100%);
	}
	#main .example .linkList .link10 {
		top: 41%;
		left: 20.3%;
	}
	#main .example .linkList .link11 {
		top: 46%;
		left: 18.2%;
	}
	#main .example .linkList .link11 a:after {
		left: auto !important;
		right: 1.5rem;
	}
	#main .example .linkList .link12 {
		top: 48.1%;
		right: 31%;
	}
	#main .example .linkList .link12 a {
		padding: 0.5rem 1.2rem 0.2rem;
	}
	#main .example .linkList .link13 {
		top: 53%;
		right: 2%;
	}
	#main .example .linkList .link13 a {
		letter-spacing: -0.04em;
	}
	#main .example .linkList .link13 a:after {
		left: 55% !important;
	}
	#main .example .linkList .link14 {
		top: 54.8%;
		left: 4.5%;
	}
	#main .example .linkList .link14 a:after {
		clip-path: polygon(0 0, 100% 0, 0 100%);
	}
	#main .example .linkList .link15 {
		top: 54.8%;
		left: 43.9%;
	}
	#main .example .linkList .link15 a:after {
		left: auto !important;
		right: 27%;
	}
	#main .example .linkList .link16 {
		top: 62.5%;
		right: 6%;
	}
	#main .example .linkList .link16 a {
		letter-spacing: -0.1em;
	}
	#main .example .linkList .link16 a:after {
		left: 65% !important;
	}
	#main .example .linkList .link17 {
		top: 65.8%;
		left: 29.5%;
	}
	#main .example .linkList .link17 a {
		padding: 0.3rem 1rem;
		letter-spacing: -0.1em;
	}
	#main .example .linkList .link17 a:after {
		left: 38% !important;
	}
	#main .example .linkList .link18 {
		top: 68.6%;
		left: 3.5%;
	}
	#main .example .linkList .link18 a {
		letter-spacing: -0.08em;
	}
	#main .example .linkList .link18 a:after {
		left: 45%;
	}
	#main .example .linkList .link19 {
		top: 68%;
		right: 10%;
	}
	#main .example .linkList .link19 a:after {
		left: 33% !important;
		right: auto;
	}
	#main .example .linkList .link20 {
		top: 72.7%;
		left: 7.3%;
	}
	#main .example .linkList .link20 a {
		padding: 0.2rem 0.7rem;
	}
	#main .example .linkList .link20 a:after {
		left: 15% !important;
	}
	#main .example .linkList .link21 {
		top: 77.7%;
		left: 40.5%;
	}
	#main .example .linkList .link21 a:after {
		left: 29% !important;
	}
	#main .example .linkList .link22 {
		top: 90.1%;
		left: 7%;
	}
	#main .example .linkList .link22 a:after {
		left: 37%;
		bottom: auto !important;
		top: -0.7rem !important;
		clip-path: polygon(100% 0, 100% 100%, 0 100%);
	}
	#main .example .linkList .link23 {
		top: 79.3%;
		right: 8%;
	}
	#main .support {
		margin-top: 0;
		padding: 6.2rem 0 14rem;
	}
	#main .support h3 {
		margin: 0 0 4.2rem;
		font-size: 3.2rem;
		line-height: 1.39;
		letter-spacing: 0.13em;
		display: block;
	}
	#main .support h3 img {
		margin: 0 auto 1.7rem;
		width: 9.4rem;
		display: block;
	}
	#main .support h3 .rTxt {
		margin: 0;
	}
	#main .support .comPointList {
		gap: 3.5rem 0;
	}
	#main .support .comPointList li {
		width: 100%;
	}
	#main .support .comPointList h4 {
		margin-bottom: 0.6rem;
	}
	#main .support .comPointList h4 .num {
		margin-top: 0.3rem;
	}
	#main .support .comPointList h4 .txt {
		line-height: 1.3;
	}
	#main .support .comPointList p {
		margin-left: 0;
		line-height: 1.88;
	}
}
.lity {
	background: rgba(207, 235, 253, 0.9);
}
.lity-content::after {
	display: none;
}
.pupBox {
	width: 57.9rem;
	height: 57.9rem;
	padding: 8.6rem 2rem;
	background-color: #fff;
	border-radius: 50%;
	max-height: inherit !important;
	z-index: 100;
}
.lity-close {
	display: none;
}
.pupBox .close {
	position: absolute;
	right: 6.3rem;
	top: 6.8rem;
	width: 3.5rem;
}
.pupBox .close a:hover {
	opacity: 0.7;
}
.pupBox p {
	margin: 0 auto 2.6rem;
	width: 35.5rem;
	line-height: 1.56;
}
.pupBox .mb0 {
	margin-bottom: 0;
}
.pupBox .ttl {
	margin-bottom: 1.8rem;
	width: auto;
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.17;
	text-align: center;
}
.pupBox .midImg {
	margin: 0 auto;
	width: 42.9rem;
}
.lity-container {
	overflow: auto;
}
@media all and (max-width: 896px) {
	.pupBox {
		width: 34rem;
		height: 34rem;
		padding: 6rem 2rem;
	}
	.pupBox .close {
		right: 4.4rem;
		top: 1.8rem;
		width: 4.3rem;
		height: 4.3rem;
	}
	.pupBox .close a {
		display: block;
		height: 100%;
		background: url(../img/solution/close_sp.svg);
	}
	.pupBox .close img {
		display: none;
	}
	.pupBox p {
		margin-bottom: 1.5rem;
		width: 21rem;
		font-size: 1.5rem;
		line-height: 1.4;
	}
	.pupBox .wid02 {
		width: 23rem;
	}
	.pupBox .wid03 {
		width: 25rem;
	}
	.pupBox .spMb {
		margin-bottom: 1rem;
	}
	.pupBox .ttl {
		margin-bottom: 0.6rem;
		font-size: 2.3rem;
		line-height: 1.2;
	}
	.pupBox .midImg {
		width: 21rem;
	}
	.pupBox .midImg02 {
		width: 19rem;
	}
}