@charset "UTF-8";




/*
		#contents #sec05 .wrap {
			position: relative;
		}
		#contents #sec05 .wrap::before {
			position: absolute;
			content: "";
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			background-color: rgba(255,255,255,.8);
			z-index: 1;
		}
		#contents #sec05 .wrap::after {
			position: absolute;
			content: "COMING SOON";
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			color: #e82019;
			z-index: 2;
			font-size: 28px;
			font-weight: bold;
			letter-spacing: 2px;
			line-height: 278px;
		}
			#contents #sec05 a {
				pointer-events: none;
			}

@media only screen and (max-width: 800px) {
		#contents #sec05 .wrap::before {
			width: 90%;
			right: 0;
			margin: auto;
		}
		#contents #sec05 .wrap::after {
			line-height: calc(38vw - 10%);
		}
}
*/


/* ++++++++++++++++++++++++++++++++++++++++++++++    PC    ++++++++++++++++++++++++++++++++++++++++++++++  */
/* 801px ~ */
@media screen and (min-width: 801px), print {

/* slider */
.slider li img {
	max-width: none;
	width: 100%;
}

	
.deco {
	position: absolute;
	z-index: 1;
	transition-duration: 0.5s;
	line-height: 1;
	font-size: 0;
}
#deco01 {
	animation:3s linear infinite rotation1;
	top: -6%;
	left: 35%;
	width: 105px;
}
#deco02 {
	top: 25%;
	left: -1.5%;
	width: 45px;
}
#deco03 {
	bottom: 12%;
	right: 18%;
	width: 118px;
}
#deco04 {
	bottom: 0;
	left: 15%;
	width: 132px;
}
#deco05 {
	top: -10%;
	right: 18%;
	width: 45px;
}
#deco06 {
	animation:4s ease-in-out infinite rotation2;
	top: 10%;
	right: -5%;
	width: 146px;
}
#deco07 {
	top: 50%;
	left: -3%;
	width: 236px;
}
#deco08 {
	bottom: -3%;
	right: 8%;
	width: 89px;
}
#deco09 {
	animation:3s linear infinite rotation1;
	bottom: -10%;
	left: 15%;
	width: 32px;
}
#deco10 {
	bottom: -10%;
	left: 40%;
	width: 33px;
}
#deco11 {
	top: -8%;
	left: 20%;
	width: 113px;
}
#deco12 {
	animation:3s linear infinite rotation1;
	top: 40%;
	left: -4%;
	width: 105px;
}
#deco13 {
	top: 42%;
	right: -2.5%;
	width: 236px;
}
#deco14 {
	top: -25%;
	right: 8%;
	width: 33px;
}
#deco15 {
	top: -22%;
	left: 20%;
	width: 56px;
}
#deco16 {
	top: -15%;
	right: 20%;
	width: 72px;
}
#deco17 {
	top: 6%;
	left: 19%;
	width: 33px;
}
#deco18 {
	top: 15%;
	left: -2%;
	width: 236px;
}
#deco19 {
	top: 18%;
	right: 14%;
	width: 71px;
}
#deco20 {
	animation:3s linear infinite rotation1;
	top: 22%;
	right: -3%;
	width: 105px;
}
#deco21 {
	top: 45%;
	left: 2%;
	width: 45px;
}
#deco22 {
	bottom: 30%;
	right: -0.5%;
	width: 66px;
}
#deco23 {
	bottom: -3%;
	right: 25%;
	width: 89px;
}
#deco24 {
	animation:4s ease-in-out infinite rotation2;
	top: -17%;
	left: -5%;
	width: 146px;
}
#deco25 {
	top: -16%;
	left: 30%;
	width: 71px;
}
#deco26 {
	bottom: -3%;
	right: 4%;
	width: 45px;
}
#deco27 {
	bottom: -30%;
	left: 0%;
	width: 99px;
}
#deco28 {
	top: 30%;
	right: -2%;
	width: 199px;
}
#deco29 {
	top: 42%;
	right: 18%;
	width: 45px;
}
#deco30 {
	bottom: 5%;
	right: -0.2%;
	width: 66px;
}
#deco31 {
	bottom: -6%;
	left: 5%;
	width: 89px;
}
#mainimg_first {
	position: fixed;
	z-index: 2;
	top: 0;
	left: 0;
	overflow: hidden;
	width: 100%;
	height: 100vh;
	transition-timing-function: cubic-bezier(.45,.05,.3,.93);
	transition-duration: 1050ms;
	transition-delay: 3000ms;
}
#mainimg_first #t_logo {
	position: absolute;
	content: "";
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 634px;
	height: 373px;
	transition-duration: 800ms;
	transition-delay: 600ms;
	opacity: 0;
	z-index: 3;
}
#mainimg_first.on #t_logo {
	opacity: 1;
}
#mainimg_first.on #t_logo img {
	animation:1500ms 850ms cubic-bezier(.45,.05,.3,.93) rotation3 forwards;
}
#mainimg_first #red ,
#mainimg_first #white ,
#mainimg_first #white2 {
	position: absolute;
	content: "";
	left: 0;
	width: 100%;
	height: 100vh;
	z-index: 2;
	transition-duration: 800ms;
	transition-timing-function: ease-in-out;
	transition-timing-function: cubic-bezier(.45,.05,.3,.93);
}
#mainimg_first #red {
	top: 100vh;
	background-color: #e71f19;
	transition-duration: 1050ms;
	transition-delay: 1500ms;
}
#mainimg_first #white {
	top: 0;
	width: 40%;
	background-color: #fff;
	transition-duration: 1050ms;
	transition-delay: 2800ms;
}
#mainimg_first #white2 {
	top: 0;
	left: 40%;
	width: 60%;
	background-color: #fff;
	transition-duration: 1050ms;
	transition-delay: 3000ms;
}
#mainimg_first.on #red ,
#mainimg_first.on #white ,
#mainimg_first.on {
	top: -100vh;
}
	
#mainimg {
	position: relative;
	overflow: hidden;
	padding-bottom: 80px;
}
	#mainimg #mainlogo {
		position: absolute;
		top: 0;
		bottom: 80px;
		right: 6%;
		margin: auto;
		height: 100%;
	}
		#mainimg #mainlogo > div {
			display: table;
			width: 100%;
			height: 100%;
		}
			#mainimg #mainlogo > div > div {
				display: table-cell;
				vertical-align: middle;
			}
				#mainimg #mainlogo h1 {
					text-align: center;
					transition-duration: 1000ms;
				}
				#mainimg.on #mainlogo h1 {
					text-align: right;
				}
					#mainimg #mainlogo h1 span {
						width: 634px;
						display: inline-block;
						position: relative;
					}
					#mainimg #mainlogo h1 span img {
						opacity: 0;
					}
					#mainimg #mainlogo h1 span img + img {
						position: absolute;
						z-index: 2;
						top: 0;
						right: -150%;
						transition-duration: 500ms;
						transition-delay: 3300ms;
					}
					#mainimg #mainlogo h1 span img:nth-child(3) {
						right: 0;
						transition-delay: 4600ms;
					}
					#mainimg.on #mainlogo h1 span img {
					}
					#mainimg.on #mainlogo h1 span img:nth-child(2) {
						opacity: 1;
						-webkit-animation: 1000ms 3500ms cubic-bezier(.3,.3,.3,1.15) rotation4 forwards;
						animation:1000ms 3500ms cubic-bezier(.3,.3,.3,1.15) rotation4 forwards;
					}
					#mainimg.on #mainlogo h1 span img:nth-child(3) {
						opacity: 1;
					}
				#mainimg #mainlogo p {
					text-align: right;
				}
					#mainimg #mainlogo p span {
						padding: 4px;
						line-height: 1;
						font-size: 0;
						display: inline-block;
						position: relative;
						z-index: 1;
						opacity: 0;
					}
					#mainimg.on #mainlogo p span {
						transition-duration: 900ms;
						transition-delay: 4750ms;
						opacity: 1;
					}
					#mainimg #mainlogo p span::before {
						position: absolute;
						content: "";
						top: 0;
						right: 0;
						width: 0%;
						height: 100%;
						z-index: -1;
						transition-duration: 800ms;
						transition-delay: 4750ms;
						background-color: #000;
					}
					#mainimg.on #mainlogo p span::before {
						width: 100%;
					}
					#mainimg #mainlogo p:nth-of-type(1) span {
						width: 100px;
					}
					#mainimg #mainlogo p:nth-of-type(2) span {
						width: 243px;
					}
					#mainimg #mainlogo p:nth-of-type(3) span {
						width: 55px;
					}

	
	
#contents {
	overflow: hidden;
}
	#contents .more > * {
		display: inline-block;
		width: 96px;
		padding-bottom: 11px;
		position: relative;
		line-height: 1;
		font-size: 0;
	}
	#contents .more > *::before {
		position: absolute;
		content: "";
		bottom: -4px;
		left: 0;
		margin: auto;
		width: 100%;
		height: 4px;
		background-color: #fff;
		transition: 300ms;
	}
	#contents .more > *:hover::before {
		bottom: 0;
	}
	#contents .more img {
		opacity: 1 !important;
	}

	#contents #lead {
		margin-top: 40px;
		text-align: center;
		position: relative;
	}
		#contents #lead h2 {
			font-size: 0;
			line-height: 1;
		}
			#contents #lead h2 img {
				width: 122px;
				margin: auto;
			}
			#contents #lead h2 span {
				font-size: 14px;
				display: block;
				margin-top: 20px;
			}
		#contents #lead p {
			font-weight: bold;
			margin-top: 45px;
			letter-spacing: 2px;
			line-height: 2.6;
		}
		#contents #lead .more {
			margin-top: 30px;
			text-align: right;
		}
			#contents #lead .more a {
				margin-right: 150px;
			}
			#contents #lead .more a::before {
				background-color: #000;
			}

	#contents section {
		position: relative;
		margin-top: 120px;
	}
	#contents section + section {
		margin-top: 100px;
	}
			#contents section .sec_tit {
			}

	
		#contents #sec01 {
			background-image: url("../img/sec01_bg.jpg");
			background-size: cover;
			padding: 100px 0 290px;
			margin-bottom: 380px;
		}
			#contents #sec01 .sec_tit {
				position: absolute;
				top: -52px;
				right: 0;
				width: 364px;
			}
			#contents #sec01 .sec_link {
				position: relative;
				width: calc(100% - 70px);
				margin: auto;
			}
				#contents #sec01 .sec_link a {
					padding: 45px 45px 55px;
					background-color: #e71f19;
					display: block;
					color: #fff;
				}
				#contents #sec01 .sec_link a:hover {
					opacity: 0.8;
				}
				#contents #sec01 .sec_link a::before ,
				#contents #sec01 .sec_link a::after {
					content: "";
					position: absolute;
					top: 0;
					border-top: 35px solid transparent;
					border-bottom: 35px solid transparent;
					height: calc(100% - 70px);
					width: 0;
				}
				#contents #sec01 .sec_link a::before {
					left: -35px;
					border-right: 35px solid #e71f19;
				}
				#contents #sec01 .sec_link a::after {
					right: -35px;
					border-left: 35px solid #e71f19;
				}
					#contents #sec01 .sec_link a dl {
					}
						#contents #sec01 .sec_link a dl dt img {
							opacity: 1 !important;
						}
							#contents #sec01 .sec_link a dl dt div {
								width: 300px;
							}
							#contents #sec01 .sec_link a dl dt p {
								margin-top: 20px;
								letter-spacing: 2px;
							}
						#contents #sec01 .sec_link a dl dd {
							margin-top: 30px;
						}
				#contents#contents #sec01 .sec_link a:hover .more > *::before {
					bottom: 0;
				}
			#contents #sec01 .sec_img {
				position: absolute;
				bottom: 0;
				right: 40px;
				width: 587px;
			}
				#contents #sec01 .sec_img img {
					opacity: 1 !important;
				}
			#contents #sec01 ul {
				position: absolute;
				bottom: -170px;
			}
				#contents #sec01 ul li {
					float: left;
					width: 495px;
					height: 278px;
					overflow: hidden;
				}
				#contents #sec01 ul li + li {
					margin-left: 50px;
				}
					#contents #sec01 ul li a {
						display: table;
						width: 100%;
						height: 100%;
						text-align: center;
						position: relative;
						z-index: 1;
					}
					#contents #sec01 ul li a::before {
						position: absolute;
						z-index: -1;
						content: "";
						top: 0;
						left: 0;
						width: 100%;
						height: 100%;
						background-size: cover;
						transition: 400ms;
					}
					#contents #sec01 ul li:nth-child(1) a::before {
						background-image: url("../img/sec01_img02.png");
					}
					#contents #sec01 ul li:nth-child(2) a::before {
						background-image: url("../img/sec01_img03.png");
					}
					#contents #sec01 ul li a:hover::before {
						transform: scale(1.04);
					}
						#contents #sec01 ul li a dl {
							display: table-cell;
							vertical-align: middle;
						}
							#contents #sec01 ul li a dl dt {
								letter-spacing: 2px;
								margin-top: 40px;
							}
								#contents #sec01 ul li a dl dt div {
									font-size: 20px;
									color: #fff;
								}
									#contents #sec01 ul li a dl dt div span {
										background-color: #e71f19;
										position: relative;
										display: block;
										padding: 6px 10px;
										width: 290px;
										margin: auto;
										line-height: 1;
									}
									#contents #sec01 ul li a dl dt div span::before ,
									#contents #sec01 ul li a dl dt div span::after {
										content: "";
										position: absolute;
										top: 0;
										border-top: 5px solid transparent;
										border-bottom: 5px solid transparent;
										height: calc(100% - 10px);
										width: 0;
									}
									#contents #sec01 ul li a dl dt div span::before {
										left: -5px;
										border-right: 5px solid #e71f19;
									}
									#contents #sec01 ul li a dl dt div span::after {
										right: -5px;
										border-left: 5px solid #e71f19;
									}
								#contents #sec01 ul li a dl dt p {
									margin-top: 15px;
									color: #212121 !important;
								}
							#contents #sec01 ul li a dl dd {
								display: none;
							}
	
		#contents #sec02 {
			text-align: right;
		}
			#contents #sec02 .sec_blo {
				float: right;
				margin-right: calc(50vw - 700px);
			}
			#contents #sec02 .sec_tit {
				width: 790px;
			}
			#contents #sec02 .sec_link {
				margin-top: 25px;
				position: relative;
			}
				#contents #sec02 .sec_link a > img {
					transition: 300ms;
				}
				#contents #sec02 .sec_link a:hover > img {
					opacity: 0.8;
				}
				#contents #sec02 .sec_link a:hover .more > *::before {
					bottom: 0;
				}
				#contents #sec02 .sec_link .sec_box {
					display: table;
					position: absolute;
					top: 0;
					left: 0;
					width: 100%;
					height: 100%;
					margin: auto;
					text-align: left;
				}
				#contents #sec02 .sec_link .sec_box .sec_inn {
					display: table-cell;
					vertical-align: middle;
				}
						#contents #sec02 .sec_link .sec_box .sec_inn .sec_txt img {
							opacity: 1 !important;
						}
					#contents #sec02 .sec_link .sec_box .sec_inn p {
						margin-top: 18px;
						line-height: 1;
						letter-spacing: 1.7px;
						color: #212121 !important;
					}
					#contents #sec02 .sec_link .sec_box .sec_inn .more {
						position: absolute;
						top: 0;
						left: 7%;
						right: 0;
						bottom: 0;
						margin: auto;
						width: 96px;
						height: 32px;
					}
					#contents #sec02 .sec_link .sec_box .sec_inn .more > div::before {
						background-color: #000;
					}
	
		#contents #sec03 {
			background-color: #ebebeb;
			text-align: center;
			margin-top: 0;
			padding: 105px 0 85px;
		}
			#contents #sec03 .sec_tit {
				width: 677px;
				margin: auto;
			}
			#contents #sec03 .sub_tit {
				margin-top: 15px;
				letter-spacing: 2px;
			}
			#contents #sec03 .slider2 {
				margin-top: 40px;
				padding-bottom: 80px;
			}
			#contents #sec03 .slider2 .slider_item {
			}
				#contents #sec03 .slider2 .slider_item a {
					max-width: 356px;
					width: 90%;
					margin: auto;
					display: block;
				}
				#contents #sec03 .slider2 .slider_item div {
				}
				#contents #sec03 .slider2 .slider_item dl {
					margin-top: 30px;
				}
					#contents #sec03 .slider2 .slider_item dl dt {
						width: 31px;
						margin: 0 auto 15px;
					}
					#contents #sec03 .slider2 .slider_item dl dd div {
						font-size: 16px;
						margin-bottom: 5px;
					}
					#contents #sec03 .slider2 .slider_item dl dd {
						font-weight: bold;
						color: #212121 !important;
					}
			#contents #sec03 .more {
				margin-top: 30px;
			}
				#contents #sec03 .more a {
					margin: auto;
					padding: 12px 60px;
					background-color: #e71f19;
				}
				#contents #sec03 .more a::before {
					content: none;
				}
				#contents #sec03 .more a:hover {
					opacity: 0.75;
				}

		#contents #sec04 {
			margin-top: 150px;
		}
			#contents #sec04 .sec_tit {
				text-align: right;
			}
			#contents #sec04 .sec_tit span {
				width: 790px;
				display: inline-block;
			}
			#contents #sec04 .sec_img {
				text-align: right;
				margin-right: -35px;
			}
			#contents #sec04 .wrap {
				position: absolute;
				top: 52px;
				bottom: 0;
				left: 0;
				right: 0;
				margin: auto;
			}
			#contents #sec04 .sec_blo {
				display: table;
				height: 100%;
			}
				#contents #sec04 .sec_blo .sec_box {
					display: table-cell;
					vertical-align: middle;
				}
					#contents #sec04 .sec_txt {
						position: relative;
						width: 326px;
						margin: 0 auto 0 35px;
						text-align: center;
					}
						#contents #sec04 .sec_txt a {
							padding: 45px 5px 50px;
							background-color: #e71f19;
							display: block;
							color: #fff;
						}
						#contents #sec04 .sec_txt a:hover {
							opacity: 0.8;
						}
						#contents #sec04 .sec_txt a::before ,
						#contents #sec04 .sec_txt a::after {
							content: "";
							position: absolute;
							top: 0;
							border-top: 35px solid transparent;
							border-bottom: 35px solid transparent;
							height: calc(100% - 70px);
							width: 0;
						}
						#contents #sec04 .sec_txt a::before {
							left: -35px;
							border-right: 35px solid #e71f19;
						}
						#contents #sec04 .sec_txt a::after {
							right: -35px;
							border-left: 35px solid #e71f19;
						}
							#contents #sec04 .sec_txt a dl {
							}
									#contents #sec04 .sec_txt a dl dt div {
										font-size: 20px;
										letter-spacing: 4px;
									}
									#contents #sec04 .sec_txt a dl dt p {
										margin-top: 20px;
										letter-spacing: 2px;
									}
								#contents #sec04 .sec_txt a dl dd {
									margin-top: 30px;
								}
						#contents #sec04 .sec_txt a:hover .more > *::before {
							bottom: 0;
						}
	
		#contents #sec05 {
			margin-top: 200px;
			text-align: center;
			z-index: 1;
		}
			#contents #sec05 a {
				display: block;
				background-image: url("../img/sec05_bg.png");
				background-size: cover;
				color: #fff;
			}
				#contents #sec05 a dl {
					padding: 73px 0;
				}
				#contents #sec05 a dl dt {
					width: 139px;
					margin: auto;
				}
				#contents #sec05 a dl dd {
					margin-top: 10px;
				}
					#contents #sec05 a dl dd div {
						font-size: 20px;
						color: #fff;
					}
						#contents #sec05 a dl dd div span {
							background-color: #e71f19;
							position: relative;
							display: block;
							padding: 6px 10px;
							width: 280px;
							margin: auto;
							line-height: 1;
						}
						#contents #sec05 a dl dd div span::before ,
						#contents #sec05 a dl dd div span::after {
							content: "";
							position: absolute;
							top: 0;
							border-top: 5px solid transparent;
							border-bottom: 5px solid transparent;
							height: calc(100% - 10px);
							width: 0;
						}
						#contents #sec05 a dl dd div span::before {
							left: -5px;
							border-right: 5px solid #e71f19;
						}
						#contents #sec05 a dl dd div span::after {
							right: -5px;
							border-left: 5px solid #e71f19;
						}
					#contents #sec05 a dl dd p {
						margin-top: 15px;
					}
	
		#contents #sec06 {
			margin-top: -140px;
			padding: 275px 0 140px;
			background-color: #e3e3e3;
			text-align: center;
		}
			#contents #sec06 .sec_tit {
			}
				#contents #sec06 .sec_tit span {
					width: 320px;
					display: inline-block;
					padding-bottom: 12px;
					line-height: 1;
					font-size: 0;
					border-bottom: 4px solid #e71f19;
				}
			#contents #sec06 ul {
				margin: 75px 35px 0;
			}
				#contents #sec06 ul li {
					float: left;
					width: 425px;
				}
				#contents #sec06 ul li + li {
					margin-left: 120px;
				}
					#contents #sec06 ul li a {
						background-color: #e71f19;
						position: relative;
						display: block;
						padding: 60px 10px;
						margin: auto;
						line-height: 1;
						color: #fff;
					}
					#contents #sec06 ul li a:hover {
						opacity: 0.7;
					}
					#contents #sec06 ul li a::before ,
					#contents #sec06 ul li a::after {
						content: "";
						position: absolute;
						top: 0;
						border-top: 35px solid transparent;
						border-bottom: 35px solid transparent;
						height: calc(100% - 70px);
						width: 0;
					}
					#contents #sec06 ul li a::before {
						left: -35px;
						border-right: 35px solid #e71f19;
					}
					#contents #sec06 ul li a::after {
						right: -35px;
						border-left: 35px solid #e71f19;
					}
					#contents #sec06 ul li a dl {
					}
						#contents #sec06 ul li a dl dt {
							font-size: 20px;
							letter-spacing: 4px;
						}
						#contents #sec06 ul li a dl dd {
							margin-top: 30px;
						}
	

}




/* ++++++++++++++++++++++++++++++++++++++++++++++    sp    ++++++++++++++++++++++++++++++++++++++++++++++  */
/* ~ 800px */
@media only screen and (max-width: 800px) {
	
.deco {
	position: absolute;
	z-index: 1;
	transition-duration: 0.3s;
	line-height: 1;
	font-size: 0;
}
#deco01 {
	animation:3s linear infinite rotation1;
	top: 5%;
	right: 11%;
	width: 53px;
}
#deco02 {
	top: 25%;
	left: -1.5%;
	width: 22px;
}
#deco03 {
	bottom: 12%;
	right: 18%;
	width: 56px;
}
#deco04 {
	bottom: -10%;
	left: 15%;
	width: 66px;
}
#deco05 {
	top: -10%;
	right: 18%;
	width: 22px;
}
#deco06 {
	animation:4s ease-in-out infinite rotation2;
	top: 10%;
	right: -15%;
	width: 83px;
}
#deco07 {
	top: 10%;
	left: -22%;
	width: 128px;
}
#deco08 {
	bottom: -7%;
	left: 8%;
	width: 44px;
}
#deco09 {
	animation:3s linear infinite rotation1;
	bottom: -10%;
	right: 15%;
	width: 16px;
}
#deco10 {
	bottom: 0%;
	left: 40%;
	width: 16px;
}
#deco11 {
	top: -3%;
	left: 10%;
	width: 56px;
}
#deco12 {
	animation:3s linear infinite rotation1;
	top: 43.5%;
	left: -4%;
	width: 52px;
}
#deco13 {
	top: 2%;
	right: -2.5%;
	width: 118px;
}
#deco14 {
	top: -20%;
	right: 8%;
	width: 16px;
}
#deco15 {
	top: -12%;
	left: 20%;
	width: 28px;
}
#deco16 {
	top: -8%;
	right: 20%;
	width: 36px;
}
#deco17 {
	top: 3%;
	left: 19%;
	width: 16px;
}
#deco18 {
	top: 28%;
	left: -10%;
	width: 118px;
}
#deco19 {
	top: 15%;
	right: 10%;
	width: 35px;
}
#deco20 {
	animation:3s linear infinite rotation1;
	top: 25%;
	right: -3%;
	width: 52px;
}
#deco21 {
	top: 45%;
	left: 2%;
	width: 22px;
}
#deco22 {
	bottom: 30%;
	right: -0.5%;
	width: 33px;
}
#deco23 {
	bottom: -3%;
	right: 25%;
	width: 44px;
}
#deco24 {
	top: -10%;
	left: -5%;
	width: 73px;
}
#deco25 {
	top: -16%;
	left: 30%;
	width: 35px;
}
#deco26 {
	bottom: -8%;
	right: 4%;
	width: 22px;
}
#deco27 {
	bottom: -20%;
	left: 0%;
	width: 49px;
}
#deco28 {
	top: 20%;
	right: -2%;
	width: 99px;
}
#deco29 {
	top: 35%;
	left: 30%;
	width: 22px;
}
#deco30 {
	bottom: 8%;
	right: -0.2%;
	width: 33px;
}
#deco31 {
	bottom: -2%;
	left: 5%;
	width: 44px;
}
	
#mainimg_first {
	position: fixed;
	z-index: 2;
	top: 0;
	left: 0;
	overflow: hidden;
	width: 100vw;
	height: 100vh;
	background-color: #fff;
	transition-timing-function: cubic-bezier(.45,.05,.3,.93);
	transition-duration: 1050ms;
	transition-delay: 2500ms;
}
#mainimg_first.on {
	top: -100vh;
}
#mainimg_first #t_logo {
	position: absolute;
	content: "";
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 90%;
	height: 52.815vw;
	transition-duration: 800ms;
	transition-delay: 600ms;
	opacity: 0;
}
#mainimg_first.on #t_logo {
	opacity: 1;
}
#mainimg_first.on #t_logo img {
	animation:1500ms 850ms cubic-bezier(.45,.05,.3,.93) rotation3 forwards;
}
#mainimg_first #red ,
#mainimg_first #white {
	position: absolute;
	content: "";
	left: 0;
	width: 100%;
	height: 100vh;
	z-index: 2;
	transition-duration: 800ms;
	transition-timing-function: ease-in-out;
	transition-timing-function: cubic-bezier(.45,.05,.3,.93);
}
#mainimg_first #red {
	top: 100vh;
	background-color: #e71f19;
	transition-duration: 1050ms;
	transition-delay: 1500ms;
}
#mainimg_first.on #red {
	top: -100vh;
}

#mainimg {
	position: relative;
}
	#mainimg #mainlogo {
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		margin: auto;
		height: 100%;
	}
		#mainimg #mainlogo > div {
			display: table;
			width: 100%;
			height: 100%;
		}
			#mainimg #mainlogo > div > div {
				display: table-cell;
				vertical-align: middle;
			}
				#mainimg #mainlogo h1 {
					text-align: right;
					margin-top: 35%;
					transition-duration: 1000ms;
				}
					#mainimg #mainlogo h1 span {
						width: 80%;
						display: inline-block;
						position: relative;
					}
					#mainimg #mainlogo h1 span img {
						opacity: 0;
					}
					#mainimg #mainlogo h1 span img + img {
						position: absolute;
						z-index: 2;
						top: 0;
						right: -150%;
						transition-duration: 500ms;
						transition-delay: 3300ms;
					}
					#mainimg #mainlogo h1 span img:nth-child(3) {
						right: 0;
						transition-delay: 4600ms;
					}
					#mainimg.on #mainlogo h1 span img:nth-child(2) {
						opacity: 1;
						-webkit-animation: 1000ms 3500ms cubic-bezier(.3,.3,.3,1.15) rotation4 forwards;
						animation:1000ms 3500ms cubic-bezier(.3,.3,.3,1.15) rotation4 forwards;
					}
				#mainimg #mainlogo p {
					text-align: right;
					line-height: 1;
					font-size: 0;
					margin-top: -5%;
				}
				#mainimg #mainlogo p + p {
					margin-top: 2%;
				}
					#mainimg #mainlogo p span {
						padding: 4px;
						display: inline-block;
						position: relative;
						z-index: 1;
						opacity: 0;
					}
					#mainimg.on #mainlogo p span {
						transition-duration: 800ms;
						transition-delay: 3850ms;
						opacity: 1;
					}
					#mainimg #mainlogo p span::before {
						position: absolute;
						content: "";
						top: 0;
						right: 0;
						width: 0%;
						height: 100%;
						z-index: -1;
						transition: 300ms;
						background-color: #000;
					}
					#mainimg.on #mainlogo p span::before {
						transition-duration: 800ms;
						transition-delay: 3850ms;
						width: 100%;
					}
					#mainimg #mainlogo p:nth-of-type(1) span {
						max-width: 100px;
						width: 20%;
					}
					#mainimg #mainlogo p:nth-of-type(2) span {
						max-width: 243px;
						width: 50%
					}
					#mainimg #mainlogo p:nth-of-type(3) span {
						max-width: 55px;
						width: 10%
					}

	
	
#contents {
	overflow: hidden;
}
	#contents .more > * {
		display: inline-block;
		width: 84px;
		padding-bottom: 11px;
		position: relative;
		line-height: 1;
		font-size: 0;
	}
	#contents .more > *::before {
		position: absolute;
		content: "";
		bottom: 0;
		left: 0;
		margin: auto;
		width: 100%;
		height: 3px;
		background-color: #fff;
	}
	#contents .more img {
		opacity: 1 !important;
	}

	#contents #lead {
		margin-top: 60px;
		text-align: center;
		position: relative;
	}
		#contents #lead h2 {
			font-size: 0;
			line-height: 1;
		}
			#contents #lead h2 img {
				width: 122px;
				margin: auto;
			}
			#contents #lead h2 span {
				font-size: 14px;
				display: block;
				margin-top: 20px;
			}
		#contents #lead p {
			text-align: left;
			font-weight: bold;
			margin-top: 45px;
			letter-spacing: 2px;
			line-height: 2.2;
		}
		#contents #lead .more {
			margin-top: 20px;
			text-align: right;
		}
			#contents #lead .more a {
			}
			#contents #lead .more a::before {
				background-color: #000;
			}

	#contents section {
		position: relative;
		margin-top: 100px;
	}
	#contents section + section {
		margin-top: 80px;
	}
			#contents section .sec_tit {
			}

	
		#contents #sec01 {
			background-image: url("../img/sec01_bg.jpg");
			background-size: cover;
			padding: 60px 0 50px;
		}
		#contents #sec01::before {
			position: absolute;
			content: "";
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			background: linear-gradient(rgba(255,255,255,0) 0%, rgba(255,255,255,0.75) 100%) no-repeat 50% 50% / 100% 100%;
		}
			#contents #sec01 .sec_tit {
				position: absolute;
				top: -8.25vw;
				right: 0;
				width: 60%;
			}
			#contents #sec01 .sec_link {
				position: relative;
				width: calc(100% - 50px);
				margin: auto;
			}
				#contents #sec01 .sec_link a {
					padding: 30px 10px 115px;
					background-color: #e71f19;
					display: block;
					color: #fff;
				}
				#contents #sec01 .sec_link a::before ,
				#contents #sec01 .sec_link a::after {
					content: "";
					position: absolute;
					top: 0;
					border-top: 25px solid transparent;
					border-bottom: 25px solid transparent;
					height: calc(100% - 50px);
					width: 0;
				}
				#contents #sec01 .sec_link a::before {
					left: -25px;
					border-right: 25px solid #e71f19;
				}
				#contents #sec01 .sec_link a::after {
					right: -25px;
					border-left: 25px solid #e71f19;
				}
					#contents #sec01 .sec_link a dl {
					}
						#contents #sec01 .sec_link a dl dt img {
							opacity: 1 !important;
						}
							#contents #sec01 .sec_link a dl dt div {
								width: 95%;
							}
							#contents #sec01 .sec_link a dl dt p {
								margin-top: 10px;
								font-size: 12px;
								letter-spacing: 2px;
							}
						#contents #sec01 .sec_link a dl dd {
							margin-top: 20px;
						}
			#contents #sec01 .sec_img {
				position: absolute;
				bottom: 0;
				left: 0;
				right: 0;
				width: 90%;
				margin: auto;
			}
				#contents #sec01 .sec_img img {
					opacity: 1 !important;
				}
			#contents #sec01 ul {
				margin-top: 40px;
			}
				#contents #sec01 ul li {
					width: 100%;
					height: 50vw;
					overflow: hidden;
				}
				#contents #sec01 ul li + li {
					margin-top: 20px;
				}
					#contents #sec01 ul li a {
						display: table;
						width: 100%;
						height: 100%;
						text-align: center;
						position: relative;
						z-index: 1;
					}
					#contents #sec01 ul li a::before {
						position: absolute;
						z-index: -1;
						content: "";
						top: 0;
						left: 0;
						width: 100%;
						height: 100%;
						background-size: cover;
					}
					#contents #sec01 ul li:nth-child(1) a::before {
						background-image: url("../img/sec01_img02.png");
					}
					#contents #sec01 ul li:nth-child(2) a::before {
						background-image: url("../img/sec01_img03.png");
					}
						#contents #sec01 ul li a dl {
							display: table-cell;
							vertical-align: middle;
						}
							#contents #sec01 ul li a dl dt {
								letter-spacing: 2px;
								margin-top: 15%;
							}
								#contents #sec01 ul li a dl dt div {
									font-size: 18px;
									color: #fff;
								}
									#contents #sec01 ul li a dl dt div span {
										background-color: #e71f19;
										position: relative;
										display: block;
										padding: 6px 6px;
										width: 220px;
										margin: auto;
										line-height: 1;
									}
									#contents #sec01 ul li a dl dt div span::before ,
									#contents #sec01 ul li a dl dt div span::after {
										content: "";
										position: absolute;
										top: 0;
										border-top: 5px solid transparent;
										border-bottom: 5px solid transparent;
										height: calc(100% - 10px);
										width: 0;
									}
									#contents #sec01 ul li a dl dt div span::before {
										left: -5px;
										border-right: 5px solid #e71f19;
									}
									#contents #sec01 ul li a dl dt div span::after {
										right: -5px;
										border-left: 5px solid #e71f19;
									}
								#contents #sec01 ul li a dl dt p {
									margin-top: 10px;
									font-size: 13px;
									color: #212121 !important;
								}
							#contents #sec01 ul li a dl dd {
								display: none;
							}
	
		#contents #sec02 {
			text-align: right;
		}
			#contents #sec02 .sec_blo {
				float: right;
			}
			#contents #sec02 .sec_tit {
				width: 65%;
			}
			#contents #sec02 .sec_link {
				margin-top: 15px;
			}
	
		#contents #sec03 {
			background-color: #ebebeb;
			text-align: center;
			margin-top: 0;
			padding: 80px 0;
		}
			#contents #sec03 .sec_tit {
				width: 55%;
				margin: auto;
			}
			#contents #sec03 .sub_tit {
				margin-top: 12px;
				font-size: 13px;
				line-height: 1.6;
			}
			#contents #sec03 .slider2 {
				margin-top: 30px;
				padding-bottom: 55px;
			}
			#contents #sec03 .slider2 .slider_item {
			}
				#contents #sec03 .slider2 .slider_item a {
					max-width: 356px;
					width: 90%;
					margin: auto;
					display: block;
				}
				#contents #sec03 .slider2 .slider_item div {
				}
				#contents #sec03 .slider2 .slider_item dl {
					margin-top: 25px;
				}
					#contents #sec03 .slider2 .slider_item dl dt {
						width: 31px;
						margin: 0 auto 12px;
					}
					#contents #sec03 .slider2 .slider_item dl dd {
						font-weight: bold;
						color: #212121 !important;
					}
					#contents #sec03 .slider2 .slider_item dl dd div {
						font-size: 16px;
						margin-bottom: 5px;
					}
			#contents #sec03 .more {
				margin-top: 30px;
			}
				#contents #sec03 .more a {
					margin: auto;
					padding: 12px 60px;
					background-color: #e71f19;
				}
				#contents #sec03 .more a::before {
					content: none;
				}

		#contents #sec04 {
		}
			#contents #sec04 .sec_tit {
				text-align: right;
			}
			#contents #sec04 .sec_tit span {
				width: 70%;
				display: inline-block;
			}
			#contents #sec04 .sec_img {
			}
			#contents #sec04 .wrap {
				margin: -30% auto 0;
				width: calc(90% - 50px);
				padding: 0;
			}
			#contents #sec04 .sec_blo {
				display: table;
				height: 100%;
			}
				#contents #sec04 .sec_blo .sec_box {
					display: table-cell;
					vertical-align: middle;
				}
					#contents #sec04 .sec_txt {
						position: relative;
						margin: 0 auto;
						text-align: center;
					}
						#contents #sec04 .sec_txt a {
							padding: 30px 0px 35px;
							background-color: #e71f19;
							display: block;
							color: #fff;
						}
						#contents #sec04 .sec_txt a::before ,
						#contents #sec04 .sec_txt a::after {
							content: "";
							position: absolute;
							top: 0;
							border-top: 25px solid transparent;
							border-bottom: 25px solid transparent;
							height: calc(100% - 50px);
							width: 0;
						}
						#contents #sec04 .sec_txt a::before {
							left: -25px;
							border-right: 25px solid #e71f19;
						}
						#contents #sec04 .sec_txt a::after {
							right: -25px;
							border-left: 25px solid #e71f19;
						}
							#contents #sec04 .sec_txt a dl {
							}
									#contents #sec04 .sec_txt a dl dt div {
										font-size: 18px;
										letter-spacing: 1.5px;
									}
									#contents #sec04 .sec_txt a dl dt p {
										margin-top: 10px;
										font-size: 12px;
										letter-spacing: 2px;
									}
								#contents #sec04 .sec_txt a dl dd {
									margin-top: 20px;
								}
	
		#contents #sec05 {
			text-align: center;
			z-index: 1;
		}
			#contents #sec05 a {
				display: block;
				background-image: url("../img/sec05_bg_sp.png");
				background-size: cover;
				color: #fff;
				position: relative;
			}
				#contents #sec05 a .flame_t::before,
				#contents #sec05 a .flame_t::after,
				#contents #sec05 a .flame_b::before,
				#contents #sec05 a .flame_b::after {
					position: absolute;
					content: "";
				}
				#contents #sec05 a .flame_t::before {
					top: 0;
					left: 0;
					border-style: solid;
					border-width: 30px 30px 0 0;
					border-color: #fff transparent transparent transparent;
				}
				#contents #sec05 a .flame_t::after {
					top: 0;
					right: 0;
					border-style: solid;
					border-width: 0 30px 30px 0;
					border-color: transparent #fff transparent transparent;
				}
				#contents #sec05 a .flame_b::before {
					bottom: 0;
					left: 0;
					border-style: solid;
					border-width: 30px 0 0 30px;
					border-color: transparent transparent transparent #e3e3e3;
				}
				#contents #sec05 a .flame_b::after {
					bottom: 0;
					right: 0;
					border-style: solid;
					border-width: 0 0 30px 30px;
					border-color: transparent transparent #e3e3e3 transparent;
				}
				#contents #sec05 a dl {
					padding: 6.6vw 0;
				}
				#contents #sec05 a dl dt {
					width: 120px;
					margin: auto;
				}
				#contents #sec05 a dl dd {
					margin-top: 10px;
				}
					#contents #sec05 a dl dd div {
						font-size: 18px;
						color: #fff;
					}
						#contents #sec05 a dl dd div span {
							background-color: #e71f19;
							position: relative;
							display: block;
							padding: 6px;
							width: 220px;
							margin: auto;
							line-height: 1;
						}
						#contents #sec05 a dl dd div span::before ,
						#contents #sec05 a dl dd div span::after {
							content: "";
							position: absolute;
							top: 0;
							border-top: 5px solid transparent;
							border-bottom: 5px solid transparent;
							height: calc(100% - 10px);
							width: 0;
						}
						#contents #sec05 a dl dd div span::before {
							left: -5px;
							border-right: 5px solid #e71f19;
						}
						#contents #sec05 a dl dd div span::after {
							right: -5px;
							border-left: 5px solid #e71f19;
						}
					#contents #sec05 a dl dd p {
						margin-top: 12px;
						font-size: 12px;
					}
	
		#contents #sec06 {
			margin-top: -100px;
			padding: 180px 0 100px;
			background-color: #e3e3e3;
			text-align: center;
		}
			#contents #sec06 .sec_tit {
			}
				#contents #sec06 .sec_tit span {
					width: 100%;
					display: inline-block;
					padding-bottom: 12px;
					line-height: 1;
					font-size: 0;
					border-bottom: 4px solid #e71f19;
				}
			#contents #sec06 ul {
				margin: 40px auto 0;
				width: calc(100% - 50px);
			}
				#contents #sec06 ul li {
					width: 100%;
				}
				#contents #sec06 ul li + li {
					margin-top: 20px;
				}
					#contents #sec06 ul li a {
						background-color: #e71f19;
						position: relative;
						display: block;
						padding: 30px 0px 35px;
						margin: auto;
						line-height: 1;
						color: #fff;
					}
					#contents #sec06 ul li a::before ,
					#contents #sec06 ul li a::after {
						content: "";
						position: absolute;
						top: 0;
						border-top: 25px solid transparent;
						border-bottom: 25px solid transparent;
						height: calc(100% - 50px);
						width: 0;
					}
					#contents #sec06 ul li a::before {
						left: -25px;
						border-right: 25px solid #e71f19;
					}
					#contents #sec06 ul li a::after {
						right: -25px;
						border-left: 25px solid #e71f19;
					}
					#contents #sec06 ul li a dl {
					}
						#contents #sec06 ul li a dl dt {
							font-size: 18px;
							letter-spacing: 4px;
							line-height: 1.4;
						}
						#contents #sec06 ul li a dl dd {
							font-size: 12px;
							margin-top: 12px;
						}
	
	
	
	
	
	
	
	
	
	
}








