@charset "utf-8";
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
.mainVisual .slide {
	position: relative;
	vertical-align: top;
}
.mainVisual .slide a {
	display: block;
	position: relative;
}
.mainVisual .slide a:hover {
	opacity: 0.7;
}
.mainVisual .slide img {
	width: 100%;
}
.mainVisual .slide1 h1 {
	position: absolute;
	width: 54.79%;
	left: 50%;
	top: 9.2%;
	opacity: 0;
	transform: translateX(-50%) translateY(40px);
	transition: 1.3s cubic-bezier(.445,.05,.55,.95) 0ms;
}
body.loadover .mainVisual .slick-current .slide1 h1 {
	opacity: 1;
	transform: translateX(-50%) translateY(0);
}
.mainVisual .slide2 > a > *:not(.bg) > img {
	opacity: 0;
	transform: translateY(40px);
	transition: .6s ease-out;
}
body.loadover .mainVisual .slick-current .slide2 > a > *:not(.bg) img {
	opacity: 1;
	transform: translateY(0);
}
.mainVisual .slide2 .textImg {
	position: absolute;
	width: 39.51%;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
}
body.loadover .mainVisual .slick-current .slide2 .textImg img {
	transition-delay: .9s;
}
.mainVisual .slide2 .pho01 {
	position: absolute;
	width: 54.51%;
	left: 3.5%;
	top: 1.8%;
}
.mainVisual .slide2 .pho02 {
	position: absolute;
	width: 36.8%;
	right: 0.9%;
	top: 1.7%;
}
body.loadover .mainVisual .slick-current .slide2 .pho02 img {
	transition-delay: .6s;
}
.mainVisual .slide2 .pho03 {
	position: absolute;
	width: 67.63%;
	bottom: 1%;
	left: 3.8%;
}
body.loadover .mainVisual .slick-current .slide2 .pho03 img {
	transition-delay: .3s;
}
.mainVisual .slide3 .pho {
	overflow: hidden;
}
.mainVisual .slide3 .pho img {
	opacity: 0;
	transform: scale(1.15);
	transition: 0s;
	transition-delay: .6s;
}
body.loadover .mainVisual .slick-current .slide3 .pho img {
	opacity: 1;
	transform: scale(1);
	transition: opacity 2s cubic-bezier(0.65,0,0.35,1),transform 5s cubic-bezier(0.33,1,0.68,1);
}
.mainVisual .slide3 .textImg {
	position: absolute;
	width: 20.55%;
	left: 14.5%;
	top: 35%;
	z-index: 1;
	opacity: 0;
	transform: translateY(40px);
	transition: .6s ease-out;
}
body.loadover .mainVisual .slick-current .slide3 .textImg {
	opacity: 1;
	transform: translateY(0);
	transition-delay: 1s;
}
.mainVisual .slide4 .textImg {
	position: absolute;
	width: 28.75%;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	z-index: 1;
}
.mainVisual .slide4 .textImg img {
	opacity: 0;
	transform: translateY(40px);
	transition: .6s ease-out;
}
.mainVisual .slide4 .pho {
	overflow: hidden;
}
.mainVisual .slide4 .pho img {
	opacity: 0;
	transform: scale(1.15);
	transition: 0s;
	transition-delay: .6s;
}
body.loadover .mainVisual .slick-current .slide4 .textImg img {
	opacity: 1;
	transform: translateY(0);
	transition-delay: 1s;
}
body.loadover .mainVisual .slick-current .slide4 .pho img {
	opacity: 1;
	transform: scale(1);
	transition: opacity 2s cubic-bezier(0.65,0,0.35,1),transform 5s cubic-bezier(0.33,1,0.68,1);
}
#main {
	padding-bottom: 0;
}
#main .sec01 {
	padding: 7.5rem 0 9.2rem;
	background: url(../img/index/sec01_bg.png) no-repeat left top;
	background-size: 75.2rem auto;
}
#main .sec02 {
	background: url(../img/index/sec02_bg.png) repeat-x center top;
	background-size: auto 54rem;
}
#main .sec02 .imgBox {
	height: 54rem;
	position: relative;
	width: 106.8rem;
	margin: 0 auto;
	padding-top: 4.6rem;
	box-sizing: border-box;
}
#main .sec02 .pho {
	position: absolute;
	left: -11.5rem;
	top: 50%;
	transform: translateY(-50.4%);
	width: 79.9rem;
}
#main .sec02 h2 {
	width: 37rem;
	margin-left: auto;
}
#main .sec03 {
	padding-top: 13rem;
	background: url(../img/index/sec03_bg.png) no-repeat right top 1.5rem;
	background-size: 75.2rem auto;
}
#main .sec03 .content {
	overflow: hidden;
}
#main .sec03 .img {
	position: absolute;
	right: 4rem;
	bottom: -1.5rem;
	width: 10.2rem;
}
@media all and (min-width: 897px) {
	#main .content {
		width: 120rem;
		position: relative;
	}
	#main .sec01 .content {
		width: 108rem;
		min-height: 19rem;
	}
	#main .sec01 .headLine07 {
		position: absolute;
		left: 0;
		top: -0.5rem;
	}
	#main .sec01 .comLink {
		position: absolute;
		left: 0;
		top: 13.5rem;
	}
	#main .sec01 .comNewsList {
		margin-left: auto;
		width: 75rem;
	}
	#main .sec02 .comLink {
		margin: 4rem 5.8rem 0 auto;
	}
	#main .sec03 .textBox {
		position: absolute;
		left: 6rem;
		top: 4.9rem;
	}
	#main .sec03 .headLine07 {
		margin-bottom: 4.6rem;
		color: #fff;
	}
	#main .sec04 {
		padding: 10rem 0 14rem;
		background: url(../img/index/sec04_bg.png) no-repeat left bottom 1rem;
		background-size: 75.2rem auto;
	}
	#main .sec04 .img {
		right: auto;
		left: 4rem;
	}
	#main .sec04 .textBox {
		left: auto;
		right: 6rem;
		top: 2.4rem;
	}
	#main .sec04 .headLine07 {
		margin-bottom: 3.7rem;
	}
}
@media all and (max-width: 896px) {
	.mainVisual .slide1 h1 {
		width: 45.6vw;
		top: 7.8vw;
		transform: translateX(-54%);
	}
	body.loadover .mainVisual .slick-current .slide1 h1 {
		transform: translateX(-54%) translateY(0);
	}
	.mainVisual .slide2 .textImg {
		width: 71.46vw;
		transform: translate(-51%,-33.3%);
	}
	.mainVisual .slide2 .pho01 {
		width: 84vw;
		left: 2.66vw;
		top: 2.66vw;
	}
	.mainVisual .slide2 .pho02 {
		width: 86.667vw;
		right: 3.5vw;
		top: 29.133vw;
	}
	.mainVisual .slide2 .pho03 {
		width: 90.4vw;
		bottom: 3vw;
		left: 5.333vw;
	}
	.mainVisual .slide3 .textImg {
		width: 107.2vw;
		left: -3.733vw;
		top: 55.8%;
	}
	.mainVisual .slide4 .textImg {
		width: 89.6vw;
		top: 16.8%;
		transform: translate(-50%,0);
	}
	#main .sec01 {
		padding: 8.6rem 0 7.4rem;
		background-image: url(../img/index/sec01_bg_sp.png);
		background-size: 100% auto;
	}
	#main .sec01 .content {
		margin: 0;
		display: block;
	}
	#main .sec02 {
		background-image: url(../img/index/sec02_bg_sp.png);
		background-size: auto 76.7rem;
	}
	#main .sec02 .imgBox {
		height: 76.7rem;
		width: auto;
		padding-top: 4.6rem;
	}
	#main .sec02 .pho {
		margin: 0 -4rem 2.2rem -2.8rem;
		position: static;
		transform: none;
		width: auto;
		text-align: center;
	}
	#main .sec02 .pho img {
		width: 40.5rem;
	}
	#main .sec02 h2 {
		width: 26.5rem;
		margin: 0 auto 1.8rem;
	}
	#main .sec03 {
		padding-top: 10rem;
		background: url(../img/index/sec03_bg_sp.png) no-repeat right top 3.6rem;
		background-size: 100% auto;
	}
	#main .sec03 .pho img {
		width: 100%;
	}
	#main .sec03 .headLine07 {
		margin: 2rem 0 2.2rem;
	}
	#main .sec03 .img {
		display: none;
	}
	#main .sec04 {
		padding-bottom: 9.9rem;
	}
}