@charset "utf-8";
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
.mainVisual {
	min-height: 62rem;
	padding: 4.5rem 0 0;
	box-sizing: border-box;
	background: url(../img/main_visual_line.png) repeat-x left bottom,url(../img/main_visual_bg.jpg) no-repeat center center;
	background-size: 6rem auto,cover;
}
.mainVisual .ttl {
	width: 59.2rem;
	margin: 0 2rem 2.9rem auto;
}
.mainVisual .textImg {
	width: 46rem;
	margin: 0 8.9rem 0 auto;
	position: relative;
}
.mainVisual .textImg::before {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	bottom: 0;
	mix-blend-mode: multiply;
	background : linear-gradient(0deg, rgba(255, 255, 255, 1) 50%, rgba(16, 46, 84, 1) 100%);
	opacity : 0.4;
	content: "";
}
.mainVisual .textImg img {
	position: relative;
}
#main .worry {
	padding: 0.1rem 0;
	position: relative;
	z-index: 1;
}
#main .worry .img {
	margin-bottom: 4.4rem;
}
#main .worry .ttl {
	margin-bottom: 3.6rem;
	font-size: 4.2rem;
	text-align: center;
}
#main .worry .textList {
	margin-bottom: 1.4rem;
}
#main .worry .textList li {
	margin: 0 0.5rem;
	width: 16.5rem;
	height: 16.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	color: #fff;
	font-size: 2.7rem;
	line-height: 1.33;
	background-color: #102e54;
	border-radius: 100%;
}
#main .worry .title {
	margin-bottom: -19.2rem;
	font-size: 4.2rem;
	text-align: center;
	letter-spacing: -0.15em;
}
#main .worry .title span {
	font-size: 5.5rem;
}
#main .service {
	padding: 34.3rem 0 12rem;
	position: relative;
	background: #102E54 url(../img/service_bg02.png) no-repeat top 6rem center;
	background-size: 170rem auto;
}
#main .service::before {
	position: absolute;
	left: 0;
	top: -2.2rem;
	width: 100%;
	height: 33.7rem;
	background: url(../img/service_bg01.png) no-repeat top center;
	background-size: 100% 100%;
	content: "";
}
#main .service::after {
	position: absolute;
	left: 0;
	top: -0.5rem;
	width: 100%;
	height: 30.1rem;
	background: url(../img/service_bg03.png) no-repeat top center;
	background-size: 100% 100%;
	content: "";
}
#main .service .headLine01 {
	margin: 0 -2rem 5.9rem;
	color: #fff;
}
#main .service .imgBox {
	width: 84rem;
	margin: 0 auto 4rem;
	padding: 4rem 0;
	background-color: #fff;
}
#main .service .pho {
	width: 48rem;
	margin-left: -6rem;
}
#main .service .textBox {
	width: 38rem;
	padding-right: 5rem;
	box-sizing: border-box;
}
#main .service .textBox .title {
	width: 19.6rem;
	margin-bottom: 1.5rem;
	padding: 0.8rem 0;
	text-align: center;
	font-size: 2rem;
	letter-spacing: 0.05em;
	font-weight: 700;
	background : linear-gradient(135deg, rgba(224, 187, 114, 1) 0%, rgba(254, 232, 177, 1) 63.32%, rgba(224, 187, 114, 1) 100%);
}
#main .service .textBox .ttl {
	margin-bottom: 1.7rem;
	font-size: 3rem;
	font-weight: 500;
	font-family: YakuHanMP,"Zen Old Mincho", serif;
}
#main .service .textBox .text {
	line-height: 1.6;
	letter-spacing: 0.05em;
}
#main .service .linkList li {
	width: 23rem;
}
#main .service .linkList a {
	padding: 2rem 2rem 4.1rem;
	display: block;
	text-align: center;
	background: url(../img/icon02.png) no-repeat right 0.5rem bottom 0.5rem,linear-gradient(135deg, rgba(224, 187, 114, 1) 0%, rgba(254, 232, 177, 1) 63.32%, rgba(224, 187, 114, 1) 100%);
	background-size: 1.2rem auto,cover;
}
#main .service .linkList a:hover {
	opacity: 0.8;
}
#main .service .linkList .sml {
	margin-bottom: 1.5rem;
	padding-bottom: 0.3rem;
	text-align: center;
	font-size: 1.8rem;
	letter-spacing: 0.06em;
	background-color: #fff;
}
#main .service .linkList .title {
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.33;
}
#main .case {
	padding: 5.2rem 0 12.4rem;
	position: relative;
	background: #EDF0F4 url(../img/case_bg.png) repeat center top;
	background-size: 36.5rem auto;
}
#main .case::before,
#main .case::after {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 0.4rem;
	background : linear-gradient(90deg, rgba(224, 187, 114, 1) 0%, rgba(254, 232, 177, 1) 63.32%, rgba(224, 187, 114, 1) 100%);
	content: "";
}
#main .case::after {
	top: auto;
	bottom: 0;
}
#main .case .headLine01 {
	margin-bottom: 5.2rem;
}
#main .case .imgBox {
	background-color: #fff;
}
#main .case .pho {
	width: 48rem;
	position: relative;
}
#main .case .note {
	position: absolute;
	left: 0;
	bottom: -2.3rem;
	font-size: 1.2rem;
	letter-spacing: 0.03em;
}
#main .case .textBox {
	width: calc(100% - 51rem);
	margin-top: 4.8rem;
	position: relative;
}
#main .case .ttl {
	margin-bottom: 1.8rem;
	font-size: 3rem;
	font-weight: 700;
}
#main .case p {
	letter-spacing: 0.05em;
}
#main .case .link {
	position: absolute;
	right: 3rem;
	bottom: 2rem;
	text-align: right;
}
#main .case .link a {
	padding-right: 3.2rem;
	display: inline-block;
	letter-spacing: 0.05em;
	background: url(../img/icon03.png) no-repeat right center;
	background-size: 2.4rem auto;
}
#main .case .link a:hover {
	opacity: 0.8;
}
#main .voice {
	padding: 6.2rem 0 12rem;
	background-color: #fff;
}
#main .voice .headLine01 {
	width: 49rem;
	margin: 0 auto 2.7rem;
	padding: 0.8rem 0;
	background: url(../img/line03.png) no-repeat left top,url(../img/line04.png) no-repeat right bottom 0.7rem;
	background-size: 4.7rem auto;
}
#main .voice .headLine01 .big {
	margin-top: -0.2rem;
	font-size: 5.1rem;
}
#main .voice .headLine01 .big span {
	font-size: 4.2rem;
}
#main .flow {
	padding: 5.3rem 0 10.4rem;
	position: relative;
}
#main .flow::before,
#main .flow::after {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 0.4rem;
	background : linear-gradient(90deg, rgba(224, 187, 114, 1) 0%, rgba(254, 232, 177, 1) 63.32%, rgba(224, 187, 114, 1) 100%);
	content: "";
}
#main .flow::after {
	top: auto;
	bottom: 0;
}
#main .flow .headLine01 {
	margin-bottom: 5.2rem;
}
#main .flow ul {
	margin-left: 5.9rem;
}
#main .flow li {
	padding-bottom: 2rem;
	position: relative;
}
#main .flow li::before {
	position: absolute;
	left: -6rem;
	top: 0;
	bottom: 0;
	border-left: 0.2rem solid #0160b2;
	content: "";
}
#main .flow .noLine::before,
#main .flow li:last-child::before {
	bottom: 2rem;
	border-left: 0.2rem dotted #0160b2;
}
#main .flow .noLine::after {
	position: absolute;
	left: -6rem;
	height: 2rem;
	bottom: 0;
	border-left: 0.2rem solid #0160b2;
	content: "";
}
#main .flow .whiteBg {
	padding: 2.3rem 4rem 3.7rem;
	position: relative;
	background-color: #fff;
}
#main .flow .whiteBg::before {
	position: absolute;
	left: -6.4rem;
	top: 0;
	width: 1rem;
	height: 1rem;
	background-color: #0160b2;
	border-radius: 100%;
	content: "";
}
#main .flow .ttl {
	margin-bottom: 1.8rem;
	padding-left: 7.9rem;
	position: relative;
	color: #0160b2;
}
#main .flow .ico {
	position: absolute;
	left: 0;
	top: 50%;
	width: 6.2rem;
	transform: translateY(-50%);
}
#main .flow .ttl .num {
	margin: 0 0.5rem -0.2rem;
	display: block;
	font-size: 1.8rem;
	font-weight: 700;
}
#main .flow .ttl .jp {
	display: block;
	font-size: 3rem;
}
#main .flow .text {
	line-height: 1.6;
	letter-spacing: 0.04em;
}
#main .flow .title {
	padding: 0.5rem 0 0.9rem;
	color: #0160b2;
	font-size: 1.8rem;
	font-weight: 700;
}
#main .faq {
	padding: 4.9rem 0 10rem;
	background-color: #fff;
}
#main .faq .headLine01 {
	margin-bottom: 5.2rem;
}
#main .faq li {
	padding: 0 2rem;
	margin-bottom: 2rem;
	background-color: #edf0f4;
}
#main .faq .ttl {
	padding: 3.5rem 9rem 3.4rem;
	position: relative;
	color: #0160b2;
	font-size: 3rem;
	letter-spacing: -0.05em;
	background: url(../img/faq_img01.png) no-repeat left top 2rem;
	background-size: 7.5rem auto;
	cursor: pointer;
	transition: .3s;
}
#main .faq .ttl::before, 
#main .faq .ttl::after {
	background-color: #0160b2;
	content: "";
	height: 0.2rem;
	position: absolute;
	right: 2.7rem;
	top: calc(50% - 0.2rem);
	transition: 0.3s;
	width: 2.25rem;
}
#main .faq .ttl::after {
	transform: rotate(90deg);
}
#main .faq .ttl.on::after {
	transform: none;
}
#main .faq .aBox {
	padding: 1.8rem 0 3rem 8.3rem;
	display: none;
	border-top: 0.2rem solid #DEE3EB;
	background: url(../img/faq_img02.png) no-repeat left 1.2rem top 1.8rem;
	background-size: 5.1rem auto;
}
#main .faq .aBox p {
	line-height: 1.6;
	letter-spacing: 0.03em;
}
#main .rich {
	padding: 6rem 0 6.1rem;
	background: url(../img/rich_bg01.jpg) no-repeat center center;
	background-size: cover;
}
#main .rich .bgBox {
	padding: 4.9rem 0 4.8rem;
	background: url(../img/rich_bg02.jpg) no-repeat center center;
	background-size: cover;
}
#main .rich .lineBox {
	width: 55rem;
	margin: -1.5rem auto 0;
	min-height: 23.6rem;
	padding-top: 5.3rem;
	text-align: center;
	background: url(../img/rich_icon.png) no-repeat center top,url(../img/rich_line01.png) no-repeat left top 1.9rem,url(../img/rich_line02.png) no-repeat right top 1.9rem;
	background-size: 9.9rem auto, 4.9rem auto, 4.9rem auto;
}
#main .rich .num {
	margin-bottom: -0.2rem;
	font-size: 8.1rem;
	letter-spacing: -0.02em;
}
#main .rich .num span {
	font-size: 5rem;
}
#main .rich .note {
	font-size: 1.8rem;
	line-height: 1.66;
}
#main .rich .comContact {
	margin: 0;
	position: relative;
	box-shadow: 0 0.4rem 0.8rem rgba(13, 32, 57, 0.3);
}
#main .rich .comContact .link {
	max-width: 52.2rem;
}
@media all and (min-width: 768px) {
	#main .service .headLine01 .big {
		margin: 0.2rem 1rem 0 0;
		letter-spacing: -0.08em;
	}
	#main .service .headLine01 .line {
		font-size: 5rem;
	}
	#main .service .headLine01 .line::before {
		left: 0.3rem;
		right: 0.3rem;
		bottom: -0.8rem;
		height: 0.3rem;
		content: "";
		background: linear-gradient(90deg, rgba(224, 187, 114, 1) 0%, rgba(254, 232, 177, 1) 63.32%, rgba(224, 187, 114, 1) 100%);
	}
	#main .service .imgBoxR .pho {
		order: 1;
		margin: 0 -6rem 0 0;
	}
	#main .service .imgBoxR .textBox {
		padding: 0 0 0 4rem;
	}
	#main .flow .content {
		max-width: 76rem;
	}
	#main .rich .content {
		max-width: 76rem;
	}
	#main .faq .ttl:hover {
		opacity: 0.8;
	}
}
@media all and (max-width: 767px) {
	.mainVisual {
		min-height: 47.9rem;
		padding: 0.8rem 0 0;
		position: relative;
		background-image: url(../img/main_visual_line.png) ,url(../img/main_visual_bg_sp.jpg);
		background-size: 3rem auto,cover;
	}
	.mainVisual::after {
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 0.2rem;
		background : linear-gradient(90deg, rgba(224, 187, 114, 1) 0%, rgba(254, 232, 177, 1) 63.32%, rgba(224, 187, 114, 1) 100%);
		content: "";
	}
	.mainVisual .ttl {
		width: 33rem;
		margin: 0 auto 7rem;
	}
	.mainVisual .textImg {
		width: 17.8rem;
		margin-right: 0;
	}
	#main .worry {
		padding: 0.1rem 0;
	}
	#main .worry .img {
		margin: 0 -1.5rem 2.2rem;
	}
	#main .worry .img img {
		width: 100%;
	}
	#main .worry .ttl {
		margin-bottom: 2.4rem;
		font-size: 2.8rem;
	}
	#main .worry .textList {
		margin: 0 -1rem 0.8rem;
	}
	#main .worry .textList li {
		margin: 0 0.3rem;
		width: 11rem;
		height: 11rem;
		font-size: 1.8rem;
	}
	#main .worry .title {
		margin-bottom: -4.5rem;
		font-size: 2.8rem;
		letter-spacing: -0.15em;
	}
	#main .worry .title span {
		font-size: 3.8rem;
	}
	#main .service {
		padding: 12rem 0 3.2rem;
		background-image: url(../img/service_bg02_sp.png);
		background-position: top center;
		background-size: 100rem auto;
	}
	#main .service::before {
		top: 0;
		width: 100%;
		height: 10.2rem;
		background-image: url(../img/service_bg01_sp.png);
		z-index: 1;
	}
	#main .service::after {
		top: -0.2rem;
		height: 9.5rem;
		background-image: url(../img/service_bg03_sp.png);
	}
	#main .service .headLine01 {
		margin: 0 0 4.2rem;
	}
	#main .service .headLine01 .line {
		margin-top: 0.7rem;
		font-size: 3.3rem;
	}
	.headLine01 .line::before {
		left: 0.2rem;
		right: 0.2rem;
		bottom: -0.5rem;
		height: 0.2rem;
	}
	#main .service .imgBox {
		width: auto;
		display: block;
		margin: 0 auto 2.8rem;
		padding: 0;
		background-color: transparent;
	}
	#main .service .pho {
		width: auto;
		margin: 0 -1.5rem 0.5rem;
	}
	#main .service .pho img {
		width: 100%;
	}
	#main .service .textBox {
		width: auto;
		padding-right: 0;
	}
	#main .service .textBox .title {
		width: 15.6rem;
		position: relative;
		margin: 0 auto -2.3rem;
		padding: 0.9rem 0 1.2rem;
		font-size: 1.7rem;
		letter-spacing: 0.05em;
	}
	#main .service .textBox .ttl {
		margin-bottom: 0;
		padding: 2.8rem 0 1.4rem;
		font-size: 2.4rem;
		text-align: center;
		line-height: 1.33;
		background-color: #fff;
	}
	#main .service .textBox .text {
		line-height: 1.71;
		letter-spacing: 0.05em;
		color: #fff;
	}
	#main .service .linkList li {
		width: calc(50% - 0.3rem);
		margin-bottom: 0.7rem;
	}
	#main .service .linkList a {
		padding: 0.9rem 1rem 1.7rem;
		background-size: 0.8rem auto,cover;
		background-position: right 0.6rem bottom 0.6rem,left top;
	}
	#main .service .linkList .sml {
		margin-bottom: 0.8rem;
		padding-bottom: 0;
		font-size: 1.3rem;
	}
	#main .service .linkList .title {
		font-size: 1.8rem;
		line-height: 1.3;
	}
	#main .case {
		padding: 3.6rem 0 4.2rem;
	}
	#main .case::before,
	#main .case::after {
		height: 0.2rem;
	}
	#main .case .headLine01 {
		margin-bottom: 2.8rem;
	}
	#main .case .imgBox {
		display: block;
	}
	#main .case .pho {
		margin: 0 -1.5rem;
		width: auto;
	}
	#main .case .pho img {
		width: 100%;
	}
	#main .case .note {
		left: auto;
		right: 2.3rem;
		bottom: -1.8rem;
		font-size: 1rem;
		letter-spacing: 0.05em;
	}
	#main .case .textBox {
		width: auto;
		margin: 0;
		padding: 3rem 2rem 1rem;
	}
	#main .case .ttl {
		margin-bottom: 0.6rem;
		font-size: 2rem;
	}
	#main .case p {
		font-size: 1.2rem;
	}
	#main .case .link {
		margin-top: -2px;
		position: static;
		font-size: 1.2rem;
	}
	#main .case .link a {
		min-height: 2rem;
		padding-right: 2.6rem;
		background-size: 2rem auto;
		box-sizing: border-box;
	}
	#main .voice {
		padding: 3.4rem 0 4rem;
	}
	#main .voice .headLine01 {
		width: 32.8rem;
		margin: 0 auto 2.6rem;
		padding: 0.6rem 0 1.5rem;
		background-size: 3.2rem auto;
	}
	#main .voice .headLine01 .big {
		margin-top: -0.1rem;
		font-size: 4rem;
	}
	#main .voice .headLine01 .big span {
		font-size: 2.8rem;
	}
	#main .voice .img {
		margin: 0 -1.5rem;
	}
	#main .voice img {
		width: 100%;
	}
	#main .flow {
		padding: 3.6rem 0 3.2rem;
	}
	#main .flow::before,
	#main .flow::after {
		height: 0.2rem;
	}
	#main .flow .headLine01 {
		margin-bottom: 3.3rem;
	}
	#main .flow .headLine01 .big {
		margin-top: 0.2rem;
		line-height: 1.2;
	}
	#main .flow ul {
		margin: 0 -1.5rem 0 3.5rem;
	}
	#main .flow li {
		padding-bottom: 1rem;
	}
	#main .flow li::before {
		left: -1.6rem;
	}
	#main .flow .noLine::before,
	#main .flow li:last-child::before {
		bottom: 1rem;
	}
	#main .flow .noLine::after {
		height: 1rem;
		left: -1.6rem;
	}
	#main .flow .whiteBg {
		padding: 1.5rem 3rem 2.2rem 1.5rem;
	}
	#main .flow .whiteBg::before {
		left: -2rem;
	}
	#main .flow .ttl {
		margin-bottom: 0.7rem;
		padding-left: 5.9rem;
	}
	#main .flow .ico {
		width: 4.1rem;
		left: 0.6rem;
	}
	#main .flow .ttl .num {
		margin: 0 0.5rem 0.1rem;
		font-size: 1.2rem;
	}
	#main .flow .ttl .jp {
		font-size: 2rem;
		line-height: 1.3;
	}
	#main .flow .text {
		line-height: 1.71;
	}
	#main .flow .title {
		padding: 1rem 0 1.3rem;
		font-size: 1.2rem;
	}
	#main .faq {
		padding: 3.4rem 0 3.2rem;
		position: relative;
	}
	#main .faq::after {
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
		height: 0.2rem;
		background : linear-gradient(90deg, rgba(224, 187, 114, 1) 0%, rgba(254, 232, 177, 1) 63.32%, rgba(224, 187, 114, 1) 100%);
		content: "";
	}
	#main .faq .headLine01 {
		margin-bottom: 2.6rem;
	}
	#main .faq .headLine01 .big {
		margin-top: 0;
		line-height: 1.3;
	}
	#main .faq li {
		padding: 0 1.5rem;
		margin-bottom: 1rem;
	}
	#main .faq .ttl {
		padding: 1.4rem 4rem 1.6rem 6.2rem;
		font-size: 2rem;
		line-height: 1.3;
		letter-spacing: -0.05em;
		background-position: left top 1.5rem;
		background-size: 5rem auto;
	}
	#main .faq .ttl::before, 
	#main .faq .ttl::after {
		height: 1px;
		right: 0.3rem;
		width: 1.5rem;
	}
	#main .faq .aBox {
		padding: 1.3rem 0 1.7rem 6.1rem;
		border-top-width: 1px;
		background-position: left 0.8rem top 1.3rem;
		background-size: 3.4rem auto;
	}
	#main .faq .aBox p {
		line-height: 1.71;
	}
	#main .rich {
		padding: 4rem 0 2.7rem;
		background-image: url(../img/rich_bg01_sp.jpg);
	}
	#main .rich .bgBox {
		padding: 2.3rem 0 1.4rem;
		background-image: url(../img/rich_bg02_sp.jpg);
	}
	#main .rich .lineBox {
		width: 32.6rem;
		margin: -0.4rem auto 0;
		min-height: inherit;
		padding: 3.4rem 0 2rem;
		background-position: center top, left top 1.2rem, right top 1.2rem;
		background-size: 6.6rem auto, 3.4rem auto,3.4rem auto;
	}
	#main .rich .num {
		margin-bottom: 0;
		font-size: 5.4rem;
	}
	#main .rich .num span {
		font-size: 3.3rem;
	}
	#main .rich .note {
		font-size: 1.2rem;
	}
	#main .rich .comContact .link {
		max-width: 32rem;
	}
}