@charset "utf-8";
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
.comScroll {
	opacity: 0;
	transition: all 1.5s;
}
.comScroll.on {
	opacity: 1;
}
body {
	font-feature-settings: normal;
}
.mainImg {
	position: relative;
	overflow: hidden;
}
.mainVisual {
	transform: scale(1.1);
	-webkit-transform: scale(1.1);
	transition: all 0.5s;
}
.mainVisual.on {
	transform: scale(1.0);
	-webkit-transform: scale(1.0);
}
.mainVisual .textImg {
	width: 50.73%;
	padding: 23px 28px;
	background-color: #D93915;
	box-sizing: border-box;
}
.mainVisual .textImg img {
	width: 902px;
}
.mainVisual .img {
	width: 49.27%;
}
.mainVisual .ttl {
	width: 32.1%;
	position: absolute;
	left: 29px;
	bottom: 29px;
}
#main .sec01 {
	padding: 156px 0 263px;
	text-align: center;
}
#main .sec01 h2 {
	margin: 0 0 17px 9px;
}
#main .sec01 h2 img {
	width: 350px;
}
#main .sec01 p {
	line-height: 2.07;
	color: #040000;
	letter-spacing: -0.1em;
}
#main .sec01 .ttl {
	margin-bottom: 4px;
	font-weight: 900;
	font-size: 2.1rem;
	letter-spacing: -0.15em;
}
#main .sec02 {
	padding: 197px 0 216px;
	background-color: #DA3915;
}
#main .sec02 h2 {
	margin-bottom: 53px;
	text-align: center;
}
#main .sec02 h2 img {
	width: 569px;
}
#main .sec02 ul {
	margin-bottom: 208px;
	position: relative;
}
#main .sec02 ul:after {
	width: 31%;
	content: "";
}
#main .sec02 ul li {
	width: 31%;
}
#main .sec02 a {
	display: block;
	color: #fff;
}
#main .sec02 .photo {
	margin-bottom: 8px;
	background-color: #fff;
}
#main .sec02 .photo img {
	width: 100%;
	transition: .2s;
}
#main .sec02 .title {
	margin-bottom: 3px;
	font-size: 1.5rem;
}
#main .sec02 ul .ttl {
	margin-bottom: 10px;
	font-size: 2.6rem;
	font-weight: 700;
	letter-spacing: -0.07em;
}
#main .sec02 ul .ttl span {
	padding-right: 31px;
	display: inline-block;
	background: url("../img/common/icon02.png") no-repeat top 11px right;
	background-size: 19px auto;
}
#main .sec02 .textImg img {
	height: 20px;
}
#main .sec02 .h2Ttl img {
	width: 756px;
}
#main .sec02 .linkBox {
	text-align: center;
}
#main .sec02 .linkBox .photo {
	margin-bottom: 19px;
}
#main .sec02 .linkBox .title {
	margin-bottom: 16px;
}
#main .sec02 .linkBox .textImg span {
	padding-right: 30px;
	display: inline-block;
	background: url("../img/common/icon02.png") no-repeat top right;
	background-size: 19px auto;
}
#main .sec03 {
	padding: 272px 0 228px;
	background-color: #000;
}
#main .sec03 h2 {
	margin-bottom: 170px;
	text-align: center;
}
#main .sec03 h2 img {
	width: 525px;
}
#main .sec03 .inner {
	max-width: 924px;
	margin: 0 auto;
}
#main .sec03 .lBox {
	float: left;
	width: 53.5%;
}
#main .sec03 .lBox li:not(:last-child) {
	margin-bottom: 46px;
}
#main .sec03 .lBox p {
	font-size: 1.5rem;
	line-height: 1.75;
	color: #fff;
	letter-spacing: -0.1em;
	text-align: justify; 
	text-justify:inter-ideograph; 
}
#main .sec03 .lBox .ttl {
	margin-bottom: 13px;
	font-size: 2.4rem;
	line-height: 1.38;
	font-weight: 700;
}
#main .sec03 .lBox .ttl > span {
	margin-bottom: -12px;
	display: block;
}
#main .sec03 .lBox .ttl span img {
	height: 17px;
}
#main .sec03 .rBox {
	margin-top: 27px;
	width: 36.14%;
	float: right;
}
#main .sec03 .rBox .photo {
	margin-bottom: 40px;
	position: relative;
}
#main .sec03 .rBox .photo .name {
	position: absolute;
	right: -43px;
	bottom: 32px;
	width: 236px;
}
#main .sec03 .rBox p {
	color: #B9B9B9;
}
#main .sec03 .rBox .txtBox {
	padding-left: 22px;
	position: relative;
}
#main .sec03 .rBox .txtBox:before {
	position: absolute;
	left: 2px;
	top: 6px;
	width: 1px;
	background-color: #B9B9B9;
	bottom: 4px;
	content: "";
}
#main .sec03 .rBox .text {
	font-size: 1.3rem;
	line-height: 1.95;
	font-weight: 300;
	text-align: justify; 
	text-justify:inter-ideograph; 
	letter-spacing: -0.1em;
}
#main .sec03 .rBox .title {
	margin-bottom: 1px;
	font-size: 1.6rem;
	font-weight: 700;
}
#main .sec03 .rBox .title span {
	margin-bottom: 15px;
	display: block;
	font-size: 1.3rem;
}
#main .sec03 .rBox .txt {
	margin-bottom: 17px;
	font-size: 2.7rem;
	font-weight: 700;
}
#main .sec03 .rBox .txt span {
	margin-top: -5px;
	display: block;
	font-weight: 500;
	font-size: 1.3rem;
}

@media all and (min-width: 897px) {
	#main .sec02 a:hover .photo img {
		opacity: 0.6;
	}

}

@media all and (max-width: 1070px) {
	#main .sec03 .rBox .photo .name {
		right: -20px;
	}
}

@media all and (max-width: 896px) {
	.mainVisual {
		display: inherit;
	}
	.mainVisual .textImg {
		width: auto;
		padding: 0;
		text-align: center;
	}
	.mainVisual .textImg img {
		width: 375px;
	}
	.mainVisual .img {
		width: auto;
	}
	.mainVisual .img img {
		width: 100%;
	}
	.mainVisual .ttl {
		width: 179px;
		left: 9px;
		bottom: 10px;
	}
	#main .sec01 {
		padding: 108px 10px 174px;
	}
	#main .sec01 h2 {
		margin: 0 0 7px;
	}
	#main .sec01 h2 img {
		width: 175px;
	}
	#main .sec01 p {
		line-height: 1.79;
	}
	#main .sec01 .ttl {
		margin-bottom: 6px;
		font-size: 1.8rem;
		letter-spacing: -0.1em;
	}
	#main .sec02 {
		padding: 102px 10px 96px;
	}
	#main .sec02 h2 {
		margin-bottom: 49px;
	}
	#main .sec02 h2 img {
		width: 349px;
	}
	#main .sec02 ul {
		margin: 0 13px 162px;
		display: inherit;
	}
	#main .sec02 ul li {
		width: auto;
		text-align: center;
	}
	#main .sec02 ul li:not(:last-child) {
		margin-bottom: 58px;
	}
	#main .sec02 .photo {
		margin-bottom: 10px;
		position: relative;
	}
	#main .sec02 .photo:before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: #fff;
		-webkit-transition: opacity .3s ease;
		transition: opacity .3s ease;
		opacity: 0;
	}
	#main .sec02 a:hover .photo:before,
	#main .sec02 a:active .photo:before {
		opacity: 0.6;
	}
	#main .sec02 .title {
		margin-bottom: -1px;
		font-size: 1.65rem;
	}
	#main .sec02 ul .ttl {
		margin-bottom: 5px;
		font-size: 2.9rem;
	}
	#main .sec02 ul .ttl span {
		padding-right: 30px;
		background-position: top 12px right;
		background-size: 24px auto;
	}
	#main .sec02 .textImg img {
		height: 24px;
	}
	#main .sec02 .h2Ttl img {
		width: 277px;
	}
	#main .sec02 .linkBox {
		margin: -12px 13px 0;
	}
	#main .sec02 .linkBox .photo {
		margin-bottom: 11px;
	}
	#main .sec02 .linkBox .title {
		margin-bottom: 16px;
		font-size: 1.45rem;
		line-height: 1.55;
	}
	#main .sec02 .linkBox .textImg span {
		padding: 0 32px 2px 0;
		background-position: right 2px top;
		background-size: 24px auto;
	}
	#main .sec03 {
		padding: 143px 0 105px;
	}
	#main .sec03 h2 {
		margin: 0 10px 103px;
	}
	#main .sec03 h2 img {
		width: 340px;
	}
	#main .sec03 h2 > span {
		margin-bottom: 13px;
	}
	#main .sec03 .inner {
		max-width: inherit;
	}
	#main .sec03 .lBox {
		margin: 0 23px;
		float: none;
		width: auto;
	}
	#main .sec03 .lBox li:not(:last-child) {
		margin-bottom: 37px;
	}
	#main .sec03 .lBox p {
		font-size: 1.35rem;
		line-height: 1.81;
	}
	#main .sec03 .lBox .ttl {
		margin: 0 -10px 17px;
		font-size: 2.1rem;
		line-height: 1.44;
		text-align: center;
	}
	#main .sec03 .lBox .ttl > span {
		margin-bottom: -14px;
	}
	#main .sec03 .lBox .ttl span img {
		height: 14px;
	}
	#main .sec03 .rBox {
		margin-top: 104px;
		width: auto;
		float: none;
	}
	#main .sec03 .rBox .photo {
		margin: 0 auto;
		width: 240px;
	}
	#main .sec03 .rBox .photo .name {
		right: -32px;
		bottom: 27px;
		width: 180px;
	}
	#main .sec03 .rBox .txtBox {
		padding: 33px 23px 0;
	}
	#main .sec03 .rBox .txtBox:before {
		display: none;
	}
	#main .sec03 .rBox .txtBox p {
		color: #fff;
	}
	#main .sec03 .rBox .text {
		font-size: 1.25rem;
		line-height: 1.89;
	}
	#main .sec03 .rBox .title {
		font-size: 1.45rem;
	}
	#main .sec03 .rBox .title span {
		margin-bottom: 10px;
		font-size: 1.15rem;
	}
	#main .sec03 .rBox .txt {
		margin-bottom: 15px;
		font-size: 2.4rem;
	}
	#main .sec03 .rBox .txt span {
		margin-top: -5px;
		font-size: 1.25rem;
	}

}