@charset "utf-8";
/*------------------------------------------------------------
	message
------------------------------------------------------------*/
#main {
	overflow: hidden;
}
#main .mainVisual {
	margin-top: -2px;
	position: relative;
}
#main .mainVisual .textBox {
	width: calc(100% - 40px);
	max-width: 1000px;
	position: absolute;
	left: 50%;
	top: 150px;
	transform: translateX(-50%);
}
#main .mainVisual h2 {
	margin-bottom: 44px;
	color: #fff;
	font-size: 4.08rem;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0.075em;
	text-align: center;
}
#main .mainVisual .text {
	color: #fff;
	font-size: 2.4rem;
	line-height: 2.33;
	letter-spacing: 0.1em;
	text-align: center;
}
#main .topBox {
	display: flex;
}
#main .topBox .photoBox {
	margin-top: -20.7%;
	width: calc(50% + 379px);
}
#main .topBox .textBox {
	margin: 45px 0 0 -440px;
	width: 640px;
}
#main .topBox .textBox h2 {
	margin-bottom: 65px;
	color: #fff;
	font-size: 2.7rem;
	font-weight: 300;
	line-height: 1.24;
	letter-spacing: 0.075em;
	text-align: center;
}
#main .topBox .textBox h2 span {
	padding: 15px 66px 21px;
	display: inline-block;
	border-radius: 200px;
	vertical-align: top;
	background-color: #eb5f28;
}
#main .topBox .textBox .text {
	margin-bottom: 51px;
	font-size: 2.48rem;
	font-weight: 300;
	line-height: 1.92;
	letter-spacing: 0.075em;
	text-align: center;
}
#main .topBox .textBox .text:last-of-type {
	margin-bottom: 0;
}
#main .project {
	margin: -21px 0 206px;
	padding: 52px 0 133px;
	position: relative;
	background-color: #fff6e9;
}
#main .project::after,
#main .project::before {
	width: 100%;
	height: 59px;
	position: absolute;
	left: 0;
	top: -58px;
	content: '';
}
#main .project::after {
	height: 62px;
	top: auto;
	bottom: -61px;
}
#main .project .imgBox {
	display: flex;
}
#main .project .imgBox .photoBox {
	margin: 0 50px 0 -8px;
	width: 530px;
}
#main .project .imgBox .textBox {
	margin-top: 69px;
	width: 417px;
}
#main .project .imgBox .textBox .headLine05 {
	margin-bottom: 54px;
	color : #3E3A39;
	font-weight: bold;
	line-height: 1.19;
	text-align: center;
}
#main .project .imgBox .textBox .headLine05 span {
	margin-left: 20px;
	padding: 0 48px 19px;
	display: inline-block;
	font-size: 4.7rem;
	vertical-align: top;
	transform: scaleX(0.8);
	letter-spacing: 0.28em;
	transform-origin: left center;
	font-family: 'Noto Sans JP', sans-serif;
}
#main .project .imgBox .textBox .headLine05 small {
	margin-top: 23px;
	display: block;
	font-size: 2rem;
	font-weight: 300;
	letter-spacing: 0.2em;
}
#main .project .imgBox .textBox .text {
	margin-bottom: 57px;
	font-size: 2.52rem;
	line-height: 2.46;
	letter-spacing: 0.075em;
	text-align: center;
}
#main .project .imgBox .textBox .comBtn {
	text-align: center;
}
#main .plan {
	margin-bottom: 218px;
}
#main .plan .imgBox {
	margin-bottom: 42px;
	display: flex;
	justify-content: flex-end;
}
#main .plan .imgBox .photoBox {
	margin: 67px -2px 0 0;
	width: calc(50% + 50px);
}
#main .plan .imgBox .textBox {
	margin-right: -8px;
	width: 550px;
}
#main .plan .imgBox .textBox .headLine02 {
	margin-bottom: 33px;
	text-align: left;
	font-weight: 500;
}
#main .plan .imgBox .textBox .headLine02 span {
	display: inline-block;
	font-size: 4.25rem;
	letter-spacing: 0.15em;
	transform: scaleX(1);
	vertical-align: top;
}
#main .plan .imgBox .textBox .headLine02 small {
	margin-top: 7px;
	display: block;
	font-size: 3.13rem;
	letter-spacing: 0.15em;
}
#main .plan .imgBox .textBox .headLine02 small em {
	font-style: normal;
	font-weight: 300;
}
#main .plan .imgBox .textBox .title {
	margin-bottom: 37px;
	color : #3E3A39;
	font-size: 3.05rem;
	font-weight: 500;
	line-height: 1.95;
	letter-spacing: 0.15em;
}
#main .plan .imgBox .textBox .text {
	margin-right: 57px;
	color : #3E3A39;
	font-size: 2.13rem;
	font-weight: 300;
	line-height: 2.25;
	letter-spacing: 0.1em;
	text-align: justify;
}
#main .plan .comBtn {
	text-align: center;
}
#main .plan .area {
	margin-bottom: 144px;
}
#main .plan .area:last-of-type {
	margin-bottom: 0;
}
#main .plan .imgBoxL {
	flex-direction: row-reverse;
}
#main .plan .imgBox01 {
	margin-bottom: 170px;
	justify-content: space-between;
}
#main .plan .imgBox01:last-of-type {
	margin-bottom: 0;
}
#main .plan .imgBox01 .photoBox {
	margin: 0 0 0 9px;
	width: 608px;
}
#main .plan .imgBox01 .textBox {
	margin: 96px 0 0;
	width: 475px;
}
#main .plan .imgBox01 .textBox .headLine02 {
	margin-bottom: 25px;
}
#main .plan .imgBox01 .textBox .text {
	margin: 0 0 51px;
}
#main .plan .imgBox02 {
	margin-bottom: 228px;
}
#main .plan .imgBox02 .photoBox {
	margin-right: 12px;
	width: 517px;
}
#main .plan .imgBox02 .textBox {
	margin: 30px 0 0 -10px;
	width: 550px;
}
#main .plan .imgBox02 .textBox .text {
	margin-bottom: 66px;
	letter-spacing: 0.03em;
}
#main .plan .imgBox02 .textBox .comBtn {
	padding-right: 65px;
}
#main .plan .imgBox03 .photoBox {
	margin-left: -3px;
	width: 514px;
}
#main .plan .imgBox03 .textBox {
	margin-top: -12px;
	width: 600px;
}
#main .work {
	margin-bottom: 136px;
}
#main .work .headLine05 {
	margin-bottom: 81px;
	font-size: 4.71rem;
}
#main .work .headLine05 small {
	margin-top: 15px;
	display: block;
	color : #3E3A39;
	font-size: 2rem;
	font-weight: 300;
	letter-spacing: 0.2em;
}
#main .work .text {
	margin-bottom: 73px;
	font-size: 2rem;
	line-height: 3.45;
	text-align: center;
}
#main .work .textImg {
	margin: 0 auto 51px;
	width: 891px;
	transform: translateX(-12px);
}
#main .work .point {
	margin: 0 auto 64px;
	width: 928px;
	transform: translateX(-17px);
}
#main .way {
	margin-bottom: 156px;
}
#main .way .headLine05 {
	margin-bottom: 75px;
	font-size: 3.68rem;
}
#main .way .headLine05 span {
	padding-bottom: 15px;
}
#main .way .headLine05 .sml {
	padding: 0;
	font-size: 2.97rem;
	border: none;
	vertical-align: 0;
}
#main .way .headLine05 small {
	font-size: 1.6rem;
	letter-spacing: 0.1em;
}
#main .way .comBtn {
	text-align: center;
}
#main .way .textBox {
	margin-top: 163px;
	position: relative;
}
#main .way .textBox .pho {
	width: 171px;
	position: absolute;
	right: -34px;
	top: -91px;
}
#main .way .textBox h3 {
	margin-bottom: 49px;
	color: #fff;
	font-size: 2.67rem;
	font-weight: 500;
	letter-spacing: 0.3em;
	text-align: center;
}
#main .way .textBox h3 span {
	padding: 16px 53px 15px;
	position: relative;
	display: inline-block;
	vertical-align: top;
	border-radius: 60px;
	background-color: #eb5f28;
}
#main .way .textBox h3 span::after {
	width: 41px;
	height: 36px;
	position: absolute;
	left: 50%;
	bottom: -22px;
	transform: translateX(-50%);
	content: '';
}
#main .way .textBox .txt {
	margin-bottom: 54px;
	color : #3E3A39;
	font-size: 2.67rem;
	font-weight: 500;
	line-height: 1.79;
	letter-spacing: 0.35em;
	text-align: center;
}
#main .way .textBox .comBtn01 span {
	font-size: 2.48rem;
	letter-spacing: 0.05em;
}
@media all and (max-width: 896px) {
	#main .mainVisual .textBox {
		width: calc(100% - 40px);
		max-width: inherit;
		left: 50%;
		top: 10vw;
		transform: translateX(-50%);
	}
	#main .mainVisual h2 {
		margin-bottom: 3vw;
		font-size: 6vw;
	}
	#main .mainVisual .text {
		font-size: 3vw;
	}
	#main .topBox {
		display: block;
	}
	#main .topBox .photoBox {
		width: 50%;
		min-width: 300px;
	}
	#main .topBox .textBox {
		margin: -45px 20px 0;
		width: auto;
	}
	#main .topBox .textBox h2 {
		margin-bottom: 30px;
		font-size: 1.8rem;
	}
	#main .topBox .textBox h2 span {
		padding: 15px 30px;
	}
	#main .topBox .textBox .text {
		margin-bottom: 20px;
		font-size: 1.6rem;
	}
	#main .project {
		margin: 100px 0;
		padding: 30px 0 60px;
	}
	#main .project::after,
	#main .project::before {
		height: 30px;
		top: -30px;
	}
	#main .project::after {
		height: 30px;
		top: auto;
		bottom: -30px;
	}
	#main .project .imgBox {
		display: block;;
	}
	#main .project .imgBox .photoBox {
		margin: 0;
		width: auto;
		text-align: center;
	}
	#main .project .imgBox .textBox {
		margin-top: 40px;
		width: auto;
	}
	#main .project .imgBox .textBox .headLine05 {
		margin-bottom: 30px;
	}
	#main .project .imgBox .textBox .headLine05 span {
		margin-left: 0;
		padding: 0 20px 10px;
		font-size: 2.6rem;
		transform-origin: center center;
	}
	#main .project .imgBox .textBox .headLine05 small {
		margin-top: 14px;
		font-size: 1.5rem;
	}
	#main .project .imgBox .textBox .text {
		margin-bottom: 30px;
		font-size: 1.8rem;
		line-height: 1.75;
	}
	#main .plan {
		margin-bottom: 100px;
	}
	#main .plan .imgBox {
		display: block;
	}
	#main .plan .imgBox .photoBox {
		margin: 40px 20px 0;
		width: auto;
	}
	#main .plan .imgBox .textBox {
		margin: 0 20px;
		width: auto;
	}
	#main .plan .imgBox .textBox .headLine02 {
		margin-bottom: 20px;
	}
	#main .plan .imgBox .textBox .headLine02 span {
		font-size: 2.4rem;
	}
	#main .plan .imgBox .textBox .headLine02 small {
		font-size: 1.8rem;
	}
	#main .plan .imgBox .textBox .title {
		margin-bottom: 25px;
		font-size: 1.8rem;
	}
	#main .plan .imgBox .textBox .text {
		margin-right: 0;
		font-size: 1.5rem;
	}
	#main .plan .area {
		margin-bottom: 70px;
	}
	#main .plan .imgBox01 {
		margin-bottom: 80px;
	}
	#main .plan .imgBox01 .photoBox {
		margin: 0;
		width: auto;
	}
	#main .plan .imgBox01 .textBox {
		margin: 0 0 40px;
		width: auto;
	}
	#main .plan .imgBox01 .textBox .headLine02 {
		margin-bottom: 25px;
	}
	#main .plan .imgBox01 .textBox .text {
		margin: 0 0 30px;
	}
	#main .plan .imgBox02 {
		margin-bottom: 100px;
	}
	#main .plan .imgBox02 .photoBox {
		margin-right: 0;
		width: auto;
	}
	#main .plan .imgBox02 .textBox {
		margin: 0 0 50px;
		width: auto;
	}
	#main .plan .imgBox02 .textBox .text {
		margin-bottom: 30px;
	}
	#main .plan .imgBox02 .textBox .comBtn {
		padding-right: 0;
	}
	#main .plan .imgBox03 .photoBox {
		margin-left: 0;
		width: auto;
	}
	#main .plan .imgBox03 .textBox {
		margin-top: 0;
		width: auto;
	}
	#main .work {
		margin-bottom: 70px;
	}
	#main .work .headLine05 {
		margin-bottom: 30px;
		font-size: 3rem;
	}
	#main .work .headLine05 small {
		margin-top: 10px;
		font-size: 1.5rem;
	}
	#main .work .text {
		margin-bottom: 40px;
		font-size: 1.5rem;
		line-height: 2;
	}
	#main .work .textImg {
		margin: 0 auto 30px;
		width: auto;
		transform: translateX(0);
	}
	#main .work .point {
		margin: 0 auto 30px;
		width: auto;
		transform: translateX(0);
	}
	#main .work .comBtn01 .spec {
		padding: 12px 30px;
        font-size: 1.6rem;
		background-size: 10px auto;
        background-position: right 15px center;
    }
	#main .way {
		margin-bottom: 80px;
	}
	#main .way .headLine05 {
		margin-bottom: 30px;
		font-size: 2rem;
	}
	#main .way .headLine05 span {
		padding-bottom: 10px;
	}
	#main .way .headLine05 .sml {
		padding: 0;
		font-size: 1.6rem;
	}
	#main .way .headLine05 small {
		font-size: 1.3rem;
		letter-spacing: 0.1em;
	}
	#main .way .textBox {
		margin-top: 80px;
	}
	#main .way .textBox .pho {
		width: 60px;
		right: -10px;
		top: -45px;
	}
	#main .way .textBox h3 {
		margin: 0 50px 40px;
		font-size: 1.8rem;
	}
	#main .way .textBox h3 span {
		padding: 16px 20px 15px;
	}
	#main .way .textBox h3 span::after {
		width: 31px;
		height: 26px;
		bottom: -15px;
	}
	#main .way .textBox .txt {
		margin-bottom: 30px;
		font-size: 1.8rem;
		text-align: left;
	}
	#main .way .textBox .comBtn01 span {
		padding: 12px 30px;
		font-size: 1.6rem;
		background-size: 10px auto;
        background-position: right 15px center;
	}
}
@media all and (max-width: 374px) {
	#main .topBox .textBox h2 {
		font-size: 1.7rem;
	}
	#main .topBox .textBox .text {
		font-size: 1.4rem;
	}
}