@charset "utf-8";
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
#main .text {
	margin-bottom: 3.3rem;
	font-size: 3.4rem;
	line-height: 1.65;
	font-feature-settings: "palt";
}
#main .businessBox {
	position: relative;
	margin-bottom: 13rem;
}
#main .businessBox .pBox {
	padding: 3rem 2rem 4rem 3.3rem;
	width: 28.9rem;
	border-radius: 2.5rem;
	background-color: rgba(245, 247, 249, 0.8);
}
#main .businessBox p {
	margin-bottom: 1.1rem;
	font-size: 1.2rem;
	letter-spacing: 0.02em;
	line-height: 1.67;
	font-weight: 500;
	font-feature-settings: "palt";
}
#main .businessBox .txtList li {
	margin-bottom: 1rem;
	font-size: 1.2rem;
	font-weight: 700;
	letter-spacing: 0.09em;
	display: flex;
	align-items: flex-start;
}
#main .businessBox .txtList li:last-child {
	margin-bottom: 0;
}
#main .businessBox .txtList .subImg {
	flex-shrink: 0;
	width: 2rem;
	margin-right: 0.5rem;
}
#main .businessBox .bigPhoto {
	max-width: 119rem;
	position: relative;
	margin: -16.6rem 0 0 -4.8rem;
	width: calc(100% + 10rem);
}
#main .businessBox .bigPhoto span {
	display: block;
	width: 4.9rem;
	width: 4.11%;
}
#main .businessBox .bigPhoto span a {
	display: block;
}
#main .businessBox .bigPhoto .businessIco01 {
	position: absolute;
	top: 29.4%;
	left: 12.77%;
}
#main .businessBox .bigPhoto .businessIco02 {
	position: absolute;
	top: 45.65%;
	left: 23.27%;
}
#main .businessBox .bigPhoto .businessIco03 {
	position: absolute;
	top: 35.35%;
	left: 34.62%;
}
#main .businessBox .bigPhoto .businessIco04 {
	position: absolute;
	top: 29.65%;
	left: 52.43%;
}
#main .businessBox .bigPhoto .businessIco05 {
	position: absolute;
	top: 18.36%;
	left: 62.01%;
}
#main .businessBox .bigPhoto .businessIco06 {
	position: absolute;
	top: 17.61%;
	left: 76.21%;
}
#main .businessBox .bigPhoto .businessIco07 {
	position: absolute;
	top: 35.98%;
	right: 9.41%;
}
#main .businessBox .bigPhoto .businessIco08 {
	position: absolute;
	bottom: 19.6%;
	left: 44.62%;
}
#main .businessBox .inner {
	position: relative;
}
#main .businessBox .textImg {
	position: absolute;
	top: -7.6rem;
	right: -4.1rem;
	width: 23.1rem;
}
#main .greyBox {
	padding: 15rem 0;
	background-color: #f5f7f9;
}
#main .greyBox .list {
	display: flex;
	flex-wrap: wrap;
	gap: 2rem 5.8rem;
}
#main .greyBox .list li {
	width: calc((100% - 5.8rem) / 2);
}
#main .greyBox .list a {
	display: block;
	opacity: 1;
}
#main .greyBox .list .text {
	margin-bottom: 3.7rem;
	display: block;
	font-size: 1.4rem;
	letter-spacing: 0.06em;
	line-height: 2.28;
}
#main .greyBox .list .ttl {
	margin-bottom: 4.8rem;
	padding-right: 5rem;
	display: block;
	position: relative;
	font-size: 3.8rem;
	letter-spacing: 0.14em;
	line-height: 1.2;
}
#main .greyBox .list .ttl .ttlIco {
	margin-top: -3rem;
	width: 6rem;
	display: block;
	position: absolute;
	top: calc(50% + 0.8rem);
	right: 0.7rem;
	transition: transform 0.5s;
}
#main .greyBox .list .ttl small {
	margin-left: 0.8rem;
	display: inline-block;
	vertical-align: 1rem;
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.04em;
}
#main .greyBox .list .ttl .txtSpan {
	display: block;
	letter-spacing: 0.08em;
	font-size: 1.4rem;
}
#main .greyBox .list .ttl2 {
	margin-bottom: 1.8rem;
	display: block;
	font-size: 2.4rem;
	line-height: 2.083;
	letter-spacing: 0.06em;
}
#main .greyBox .list .photo {
	display: block;
	overflow: hidden;
}
#main .greyBox .list .photo img {
	width: 100%;
	transition: transform 0.5s;
}
#main .greyBox .list a .opacity {
	transition: opacity 0.3s;
}
#main {
	margin-bottom: 21rem;
}
@media (hover: hover) {
	#main .businessBox .bigPhoto span a:hover {
		transform: scale(1.1);
		opacity: 1;
		transform-origin: center;
	}
	#main .greyBox .list a:hover .photo img {
		opacity: 1;
		transform: scale(1.1);
	}
	#main .greyBox .list a:hover .ttlIco {
		transform: scale(1.1);
	}
	#main .greyBox .list a:hover .opacity {
		opacity: 0.7;
	}
}
@media all and (min-width: 829px) {
	#main .headLine01 {
		margin-bottom: 4rem;
	}
}
@media all and (max-width: 828px) {
	#main .headLine01 {
		margin-bottom: 3.6rem;
	}
	#main .text {
		margin: 0 -1rem 3.3rem 0;
		font-size: 2.6rem;
		line-height: 1.54;
		letter-spacing: 0.06em;
	}
	#main .businessBox .textImg {
		margin: 0 0 1.7rem;
		position: static;
		width: auto;
	}
	#main .businessBox .textImg img {
		width: 100%;
	}
	#main .businessBox .pBox {
		margin-bottom: 3.5rem;
		padding: 2.8rem 2.5rem 3rem;
		width: auto;
		border-radius: 2.9rem;
	}
	#main .businessBox p {
		letter-spacing: 0.02em;
		line-height: 1.75;
	}
	#main .businessBox .txtList {
		display: flex;
		flex-wrap: wrap;
		gap: 1rem 1.5rem;
	}
	#main .businessBox .txtList li {
		margin: 0;
		font-size: 1.8rem;
	}
	#main .businessBox .txtList .subImg {
		width: 3rem;
		margin-top: -0.2rem;
	}
	#main .businessBox .inner {
		margin: 0 -4rem;
	}
	#main .businessBox .bigPhoto {
		margin: 2rem;
		max-width: initial;
		min-width: 59.5rem;
	}
	#main .businessBox {
		margin-bottom: 5.8rem;
	}
	#main .businessBox {
		margin-bottom: 3.8rem;
	}
	#main .greyBox {
		padding: 6.5rem 0 9rem;
		background-color: #f5f7f9;
	}
	#main .greyBox .list {
		flex-direction: column;
		gap: 8rem 0;
	}
	#main .greyBox .list li {
		width: 100%;
	}
	#main .greyBox .list .text {
		margin: 0 0 1.9rem;
		font-size: 1.6rem;
		line-height: 2;
		letter-spacing: 0;
		font-feature-settings: initial;
	}
	#main .greyBox .list .ttl {
		margin-bottom: 2.6rem;
	}
	#main .greyBox .list .ttl small {
		display: block;
		font-size: 1.2rem;
		margin: 0.8rem 0 0 0.3rem;
	}
	#main .greyBox .list .ttl .txtSpan {
		margin-left: 0.3rem;
	}
	#main .greyBox .list .ttl .ttlIco {
		width: 4.8rem;
		margin-top: -3.5rem;
		right: 0;
	}
	#main .greyBox .list .ttl2 {
		margin-bottom: 1.3rem;
		line-height: 1.583;
	}
	.scroll-hint-icon {
		box-sizing: border-box;
		padding: 1.4rem;
		width: 11rem;
		height: 11rem;
		top: 0.6rem;
		left: calc(50% - 5.5rem);
		border-radius: 0;
	}
	.scroll-hint-icon-wrap.is-active .scroll-hint-icon {
		opacity: 1;
	}
	.scroll-hint-text {
		margin: 0;
		font-size: 0;
	}
	.scroll-hint-text::before {
		margin: 0 auto;
		width: 5em;
		height: auto;
		text-align: justify;
		text-align-last: justify;
		font-size: 1.25rem;
		line-height: 1.1;
		display: block;
		content: 'スクロールできます。';
	}
	.scroll-hint-icon::before {
		margin-left: -0.8rem;
		width: 2.9rem;
		height: 4.8rem;
		position: absolute;
		left: 50%;
		bottom: 1.3rem;
		background: url(../img/business/hand.svg) no-repeat center center / 100%;
	}
	.scroll-hint-icon::after {
		margin-left: -2.8rem;
		width: 5.8rem;
		height: 1rem;
		top: 4.7rem;
		background: url(../img/business/arrow.svg) no-repeat center center / 100%;
	}
	#main {
		margin-bottom: 10.6rem;
	}
}