@charset "utf-8";
/*------------------------------------------------------------
	support
------------------------------------------------------------*/
p {
	line-height: 1.834;
	font-weight: 500;
	letter-spacing: 0.05em;
}
.center {
	margin: 0 auto;
	text-align: center;
}
#main .mainVisual {
	padding: 15.3rem 0 6rem;
	overflow: hidden;
}
#main .mainVisual .imgBox {
	margin-bottom: 7.2rem;
	align-items: flex-start;
}
#main .mainVisual .textBox {
	flex: 1;
	position: relative;
	z-index: 1;
}
#main .mainVisual .textBox::after {
	width: 73.4rem;
	height: 46.1rem;
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-56%,-55%);
	z-index: -1;
	background: url(../img/support/bg.png) no-repeat center center / 100%;
}
#main .mainVisual .mainImg {
	margin: 3.3rem -5.4rem 0 10rem;
	width: 30.1rem;
}
#main .mainVisual .pageTitle {
	margin-bottom: 5.9rem;
	font-size: 2.551rem;
	line-height: 1.528;
	font-weight: 600;
	letter-spacing: 0.05em;
}
#main .overview {
	padding: 11.2rem 0 7.2rem;
}
#main .overview .textImg li {
	width: 35.7rem;
}
#main .heading01 {
	margin-bottom: 2rem;
	width: fit-content;
	font-weight: 600;
	font-size: 1.984rem;
	letter-spacing: 0.05em;
	background: linear-gradient(to top,#FDD415 1.3rem,transparent 0%);
}
#main .marB {
	margin-bottom: 7.5rem;
}
#main .textImg {
	margin-bottom: 4.3rem;
}
#main .textList {
	margin: 3.3rem -1.9rem 5.6rem;
	gap: 1rem 2rem;
}
#main .textList li {
	padding: 1.4rem 1.5rem 1.2rem;
	width: calc((100% - 4rem) / 3);
	border-radius: 2rem;
	font-weight: 500;
	line-height: 1.905;
	text-align: justify;
	border: 0.2rem solid #F4AA10;
}
#main .imgList {
	gap: 2.5rem;
}
#main .imgList li {
	width: calc((100% - 5rem) / 3);
}
#main .imgList li img {
	width: 100%;
}
#main .career {
	padding: 9.8rem 0 0.7rem;
}
#main .career .headLine05 {
	margin-bottom: 2.1rem;
	font-size: 2.4rem;
}
#main .heading02 {
	margin-bottom: 2.6rem;
	font-size: 2.4rem;
	font-weight: 600;
	color: #33B873;
	letter-spacing: 0.025em;
}
#main .career .linkList {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 1rem 2rem;
}
#main .career .linkList a {
	padding: 0.5rem 1rem 0.5rem 2.5rem;
	min-width: 25.2rem;
	height: 5.6rem;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.752rem;
	font-weight: 600;
	color: #fff;
	border-radius: 3rem;
	background: #33B873;
}
#main .career .linkList a span {
	padding-right: 4.5rem;
	min-width: 12rem;
	background: url(../img/common/icon03.png) no-repeat center right / 2.7rem;
	text-align: right;
}
#main .career .inner {
	margin-bottom: 6.4rem;
	position: relative;
}
#main .career .inner .image {
	width: 28.2rem;
	position: absolute;
	right: 4rem;
	bottom: -0.8rem;
}
#main .career .linkList02 {
	max-width: 70.2rem;
	justify-content: flex-end;
}
#main .heading03 {
	margin-bottom: 1rem;
	font-size: 2rem;
	font-weight: 600;
	letter-spacing: 0.01em;
}
#main .activities {
	padding: 5.7rem 0 3.4rem;
}
#main .activities .flexBox {
	display: flex;
}
#main .activities .flexBox >*:first-child {
	flex: 1;
}
#main .activities .flexBox .image {
	margin-top: -0.6rem;
	padding-left: 0.9rem;
	width: 26rem;
	text-align: center;
}
#main .activities .flexBox .image img {
	width: 18.4rem;
}
#main .activities .headLine05 {
	margin-bottom: 4.9rem;
	font-size: 2.4rem;
}
#main .activities .flexBox {
	margin: 5.5rem 0 2.7rem;
}
#main .activities .flexBox .comList02 {
	margin: 0;
	justify-content: center;
}
#main .activities .inner {
	margin-bottom: 11.5rem;
}
#main .activities .ttlBox {
	display: flex;
}
#main .activities .ttlBox .textBox {
	flex: 1;
}
#main .activities .ttlBox .image {
	margin: -2rem 6.8rem 0 5rem;
	width: 8.9rem;
}
#main .activities .inner02 {
	margin-bottom: 6.5rem;
}
#main .activities .inner03 {
	margin-bottom: 7.1rem;
}
#main .activities .inner03 .comList02 {
	margin-top: 3.5rem;
}
#main .activities .inner03 .ttlBox .image {
	margin: -3.5rem 3.9rem 0 6rem;
	width: 15.2rem;
}
#main .activities .inner04 {
	margin-bottom: 7.5rem;
}
#main .activities .inner04 .comList02 {
	margin-top: 3.5rem;
}
#main .activities .inner04 .ttlBox .image {
	margin: 0.6rem 3.1rem 0 4rem;
	width: 16.7rem;
}
#main .activities .inner05 {
	margin-bottom: 8.7rem;
}
#main .activities .inner05 .comList02 {
	margin-top: 5.5rem;
}
#main .activities .inner06 {
	margin-bottom: 6.5rem;
}
#main .activities .inner06 .comList02 {
	margin-top: 5rem;
}
#main .activities .inner07 {
	margin-bottom: 7.3rem;
}
#main .activities .inner07 .comList02 {
	margin: 3.2rem 4rem 0;
}
#main .activities .siteInner .headLine05 {
	margin-bottom: 2.4rem;
}
#main .activities .siteInner {
	margin-bottom: 8.7rem;
}
#main .activities .textList01 {
	font-weight: 500;
	line-height: 1.834;
	letter-spacing: 0.05em;
}
#main .activities .textList01 li {
	padding-left: 1.4rem;
	text-indent: -1.4rem;
}
#main .siteInner02 .flexBox {
	margin: 0;
}
#main .siteInner02 .flexBox .image {
	margin-top: -5.2rem;
	width: 61rem;
}
#main .priceBox {
	padding: 8rem 6rem 8.3rem;
}
#main .priceBox .content02 {
	max-width: 102rem;
}
#main .priceBox .imgBox {
	display: flex;
	align-items: flex-end;
}
#main .priceBox .imgBox .photo {
	margin: -1rem 1.6rem;
	width: 38.2rem;
}
#main .priceBox .imgBox .text {
	flex: 1;
}
#main .headLine02.spec {
	margin: 0;
	font-size: 2.4rem;
}
#main .headLine02.spec::after {
	width: 4.6rem;
	height: 0.5rem;
	left: 0.2rem;
	bottom: -0.8rem;
}
#main .priceBox .siteBox {
	margin-top: 11.3rem;
	padding: 1px 5rem 2.5rem;
	border-radius: 1.6rem;
	border: 0.13rem solid #73CA6E;
	background-color: #EFF9EE;
}
#main .priceBox .siteBox .heading {
	margin: -4.6rem auto 1rem;
	width: 52.7rem;
}
#main .priceBox .siteBox p {
	font-size: 2.277rem;
	font-weight: 600;
	letter-spacing: 0.075em;
	text-align: center;
	line-height: 1.452;
}
#main .priceBox .siteBox p span {
	color: #FF0000;
	position: relative;
	display: inline-block;
}
#main .priceBox .siteBox p span::after {
	content: "";
	width: 100%;
	height: 0.7rem;
	position: absolute;
	left: 0;
	bottom: -0.8rem;
	background: url(../img/support/icon.png) repeat-x left top / auto 100%;
}
#main .priceBox .siteBox .list {
	margin: 5rem 0 3.2rem;
	gap: 6rem;
}
#main .priceBox .siteBox li {
	width: 22rem;
}
#main .priceBox .siteBox li .text {
	display: flex;
	align-items: center;
	justify-content: center;
}
#main .priceBox .siteBox li p {
	font-size: 1.936rem;
	letter-spacing: 0.025em;
}
#main .priceBox .siteBox .image {
	margin: 0 auto 2rem;
	width: 20rem;
	aspect-ratio: 1/1;
	border-radius: 100%;
	overflow: hidden;
}
#main .priceBox .siteBox .image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#main .flowBox {
	padding-bottom: 10.3rem;
}
#main .flowBox .headLine02 {
	margin-bottom: 5.3rem;
}
#main .flowBox .comFlowUl {
	margin: 10.5rem 0 0;
}
#main .flowBox .comFlowUl li {
	width: 12.2rem;
}
#main .flowBox .comFlowUl .image {
	margin-bottom: 1.2rem;
}
#main .flowBox .comFlowUl p:not(.num) {
	margin: 0 -1rem;
	font-size: 1.573rem;
}
#main .flowBox .comFlowUl .num {
	font-size: 1.925rem;
}
#main .faqBox {
	padding: 7.7rem 0 8.5rem;
	background: rgba(253,212,21,0.2);
}
#main .faqBox .headLine02 {
	margin-bottom: 10.1rem;
}
#main .faqBox .content02 {
	position: relative;
}
#main .faqBox .image {
	width: 14.2rem;
	position: absolute;
	right: 3.4rem;
	top: -2rem;
}
#main .otherBox {
	padding: 7.3rem 0 14.3rem;
}
#main .otherBox .comList01 {
	margin: 6.9rem auto 0;
	justify-content: center;
}
#main .textList02 {
	width: auto;
}
#main .textList02 li + li {
	margin-top: 1.9rem;
}
#main .textList02 .title {
	margin-bottom: 0.3rem;
	font-size: 1.915rem;
	font-weight: 500;
}
#main .textList02 p {
	margin: 0 2rem;
	letter-spacing: 0.06em;
}
#main .tips {
	padding-left: 1.4rem;
	text-indent: -1.4rem;
}
@media all and (min-width: 897px) {
	#main .career .linkList a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	p {
		text-align: justify;
		letter-spacing: 0;
	}
	.fixedBtn {
		width: 7rem;
		right: 2rem;
		top: 6rem;
	}
	#main .mainVisual {
		padding: 10rem 0 4rem;
	}
	#main .mainVisual .pageTitle {
		margin-bottom: 2rem;
		font-size: 2rem;
	}
	#main .mainVisual .imgBox {
		display: block;
	}
	#main .mainVisual .textBox::after {
		width: 120vw;
		height: 74vw;
		transform: translate(-45%,-55%);
	}
	#main .mainVisual .mainImg {
		margin: 2rem auto 0;
	}
	#main .overview {
		padding: 4rem 0;
	}
	#main .marB {
		margin-bottom: 3rem;
	}
	#main .textImg {
		margin: 0 auto 3rem;
		max-width: 33.5rem;
	}
	#main .overview .textImg li {
		width: 100%;
	}
	#main .textList {
		margin: 2rem 0;
		gap: 1rem;
	}
	#main .textList li {
		padding: 1rem;
		width: calc(50% - 1rem);
		border-radius: 1rem;
	}
	#main .imgList {
		flex-direction: column;
		gap: 2rem;
	}
	#main .imgList li {
		width: 100%;
	}
	#main .career {
		padding: 4rem 0;
	}
	#main .heading02 {
		padding-left: 1.8rem;
		font-size: 1.8rem;
		text-indent: -1.8rem;
	}
	#main .career .inner {
		margin-bottom: 4rem;
	}
	#main .career .linkList {
		display: block;
		max-width: inherit;
	}
	#main .career .linkList li + li {
		margin-top: 1.5rem;
	}
	#main .career .linkList a {
		width: 100%;
		min-width: inherit;
		height: 3.5rem;
		font-size: 1.4rem;
	}
	#main .career .linkList a span {
		background-size: 1.6rem;
	}
	#main .career .inner .image {
		margin: 2rem auto 0;
		position: initial;
	}
	#main .career .inner:last-child {
		margin-bottom: 0;
	}
	#main .activities .headLine05 {
		margin-bottom: 2.5rem;
		font-size: 2.2rem;
	}
	#main .heading03 {
		padding-left: 1.7rem;
		font-size: 1.7rem;
		text-indent: -1.7rem;
	}
	#main .activities .flexBox {
		margin: 2rem 0;
	}
	#main .activities .flexBox .image {
		margin: 0 auto 1rem;
		padding: 0;
	}
	#main .activities .flexBox {
		flex-direction: column-reverse;
	}
	#main .activities .inner {
		margin-bottom: 4rem;
	}
	#main .activities .ttlBox {
		display: block;
	}
	#main .activities .ttlBox .image {
		margin: 1.5rem auto 0;
		width: 8rem;
	}
	#main .activities .inner .image {
		margin: 1.5rem auto 0 !important;
	}
	#main .activities .inner03 .comList02 {
		margin-top: 2rem;
	}
	#main .activities .inner07 .comList02,
	#main .activities .inner06 .comList02,
	#main .activities .inner05 .comList02 {
		margin: 2rem 0 0
	}
	#main .activities .siteInner {
		margin-bottom: 4rem;
	}
	#main .siteInner02 .flexBox {
		margin-bottom: 0;
	}
	#main .siteInner02 .flexBox .image {
		width: auto;
	}
	#main .activities .textList01 li {
		letter-spacing: 0;
	}
	#main .activities .siteInner02 {
		margin-bottom: 0;
	}
	#main .priceBox {
		padding: 5rem 0;
	}
	#main .priceBox .imgBox {
		display: block;
	}
	#main .priceBox .imgBox .photo {
		margin: 0 auto;
		width: 30rem;
	}
	#main .priceBox .siteBox {
		margin-top: 8rem;
		padding: 1px 1.5rem 2rem;
	}
	#main .priceBox .siteBox .heading {
		margin: -2.6rem auto 1rem;
		width: 27.7rem;
	}
	#main .priceBox .siteBox p {
		font-size: 1.6rem;
	}
	#main .priceBox .siteBox .list {
		display: block;
	}
	#main .priceBox .siteBox li {
		width: 100%;
	}
	#main .priceBox .siteBox li + li {
		margin-top: 3rem;
	}
	#main .priceBox .siteBox .image {
		margin-bottom: 1rem;
		width: 12rem;
	}
	#main .priceBox .siteBox li p {
		font-size: 1.4rem;
	}
	#main .headLine02.spec {
		margin-bottom: 3rem;
		font-size: 1.8rem;
	}
	#main .flowBox {
		padding-bottom: 5rem;
	}
	#main .flowBox .comFlowUl {
		margin: 2rem auto 0;
	}
	#main .faqBox {
		padding: 5rem 0;
	}
	#main .faqBox .image {
		width: 9rem;
		right: 0;
	}
	#main .otherBox {
		padding: 5rem 0 6rem;
	}
	#main .otherBox .comList01 {
		margin: 4rem 2rem 0;
	}
	#main .textList02 .title {
		padding-left: 1.8rem;
		font-size: 1.8rem;
		text-indent: -1.8rem;
	}
	#main .textList02 li + li {
		margin-top: 1rem;
	}
	#main .textList02 p {
		margin: 0 1.7rem;
		text-align: justify;
	}
}