@charset "UTF-8";



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

#contents {
	overflow: hidden;
}
	
.deco {
	position: absolute;
	z-index: 1;
	transition-duration: 0.5s;
	line-height: 1;
}
#deco01 {
	top: 27%;
	right: 28%;
	width: 30px;
}
#deco02 {
	top: 20%;
	left: 16%;
	width: 110px;
}
#deco03 {
	bottom: 30%;
	left: -2%;
	width: 240px;
}
#deco04 {
	top: 10%;
	right: -2%;
	width: 90px;
}
#deco05 {
	animation:3s linear infinite rotation1;
	bottom: 6%;
	left: 21vw;
	width: 30px;
}
#deco06 {
	animation:4s ease-in-out infinite rotation2;
	top: -1.5%;
    right: 10%;
	width: 146px;
	z-index: 2;
}
#deco07 {
	top: 21%;
	right: -5vw;
	width: 236px;
}
#deco08 {
	top: 12%;
	left: 4vw;
	width: 80px;
}
#deco09 {
	animation:4s ease-in-out infinite rotation2;
	top: 40%;
    left: -4.5vw;
    width: 126px;
}
#deco10 {
	top: 38%;
	right: 12.5vw;
	width: 50px;
}
#deco11 {
	bottom: 40%;
	left: 6vw;
	width: 118px;
}
#deco12 {
	animation:3s linear infinite rotation1;
	bottom: 29%;
	left: 7vw;
	width: 30px;
}
#deco13 {
	bottom: 23%;
	right: 5vw;
	width: 40px;
}
#deco14 {
	bottom: 12%;
	right: 35vw;
	width: 56px;
}
#deco15 {
	bottom: 12%;
	left: 2vw;
	width: 36px;
}
#deco16 {
	animation:3s linear infinite rotation1;
	bottom: 37%;
	right: -3vw;
	width: 110px;
}
#deco17 {
	bottom: 1.6%;
	left: 5vw;
	width: 40px;
}

	
	
	#mainArea{
		position: relative;
		overflow: hidden;
		background-image: url("../img/mainimg.jpg");
		background-size: cover;
		padding: 17vw 0;
	}
		#mainArea h1 {
			position: relative;
			width: 423px;
			margin: auto;
		}
			#mainArea h1 img:nth-child(2) {
				position: absolute;
				top: 0;
				left: 0;
			}
	
	
	.frame {
		position: relative;
	}
	.frame_t::before ,
	.frame_t::after ,
	.frame_b::before ,
	.frame_b::after {
		position: absolute;
		content: "";
		box-sizing: border-box;
		border-style: solid;
		width: 0;
		height: 0;
	}
	.frame_t::before ,
	.frame_t::after {
		top: 0;
	}
	.frame_t::before {
		left: 0;
		border-width: 10px 10px 0 0;
		border-color: #ebebeb transparent transparent transparent;
	}
	.frame_t::after {
		right: 0;
		border-width: 0 10px 10px 0;
		border-color: transparent #ebebeb transparent transparent;
	}
	.frame_b::before ,
	.frame_b::after {
		bottom: 0;
	}
	.frame_b::before {
		left: 0;
		border-width: 10px 0 0 10px;
		border-color: transparent transparent transparent #ebebeb;
	}
	.frame_b::after {
		right: 0;
		border-width: 0 0 10px 10px;
		border-color: transparent transparent #ebebeb transparent;
	}
	.frame_bdr_t::before ,
	.frame_bdr_t::after ,
	.frame_bdr_b::before ,
	.frame_bdr_b::after {
		position: absolute;
		content: "";
		box-sizing: border-box;
		background-size: cover;
		width: 14px;
		height: 14px;
	}
	.frame_bdr_t::before ,
	.frame_bdr_t::after {
		top: -4px;
	}
	.frame_bdr_t::before {
		left: -4px;
	}
	.frame_bdr_t::after {
		right: -4px;
	}
	.frame .frame_bdr_t::before {
		background-image: url("../img/bdr_t_l_r.jpg");		
	}
	.frame .frame_bdr_t::after {
		background-image: url("../img/bdr_t_r_r.jpg");		
	}
	.frame_bdr_b::before ,
	.frame_bdr_b::after {
		bottom: -4px;
	}
	.frame_bdr_b::before {
		left: -4px;
	}
	.frame_bdr_b::after {
		right: -4px;
	}
	.frame .frame_bdr_b::before {
		background-image: url("../img/bdr_b_l_r.jpg");		
	}
	.frame .frame_bdr_b::after {
		background-image: url("../img/bdr_b_r_r.jpg");		
	}

	
	#secArea {
		position: relative;
		padding-top: 150px;
	}
		#secArea {
		}

		.sec {
		}
		.sec + .sec {
			margin-top: 190px;
		}
			.sec h2 {
				text-align: center;
				padding-bottom: 10px;
			}
			.sec h2 + p {
				font-weight: bold;
				margin-top: 40px;
				text-align: center;
			}
				.sec h2 span {
					font-weight: bold;
					font-size: 20px;
					position: relative;
					letter-spacing: 2px;
					display: inline-block;
				}
				.sec h2 span::before {
					position: absolute;
					content: "";
					bottom: -10px;
					left: 0;
					width: 100%;
					height: 5px;
					background-color: #000;
				}
			.sec .sec_box {
				margin-top: 80px;
			}
				.sec .sec_box .sec_inn {
					display: flex;
					gap: 20px;
					align-items: center;
				}
				.sec .sec_box .sec_inn + .sec_inn {
					margin-top: 40px;
				}
					.sec .sec_box .sec_inn .sec_img {
						width: 192px;
					}
					.sec .sec_box .sec_inn dl {
						flex: 1;
					}
						.sec .sec_box .sec_inn dl dt {
							color: #e71f19;
						}
							.sec .sec_box .sec_inn dl dt p {
								font-size: 17.5px;
							}
							.sec .sec_box .sec_inn dl dt div {
								font-size: 31px;
								line-height: 1.6;
							}
						.sec .sec_box .sec_inn dl dd {
							font-weight: bold;
							margin-top: 15px;
						}
	.sec .sec_box .frame {
		margin-top: 80px;
		border: solid 4px #e71f19;
	}
		.sec .sec_box .frame ul {
			padding: 30px 60px;
		}
			.sec .sec_box .frame ul li {
				float: left;
				width: 49%;
				font-weight: bold;
				position: relative;
				padding-left: 15px;
				box-sizing: border-box;
			}
			.sec .sec_box .frame ul li::before {
				position: absolute;
				content: "";
				background-color: #e71f19;
				width: 8px;
				height: 8px;
				border-radius: 8px;
				top: 0;
				bottom: 0;
				left: 0;
				margin: auto;
			}
			.sec .sec_box .frame ul li:nth-child(even) {
				margin-left: 2%;
			}

	
	#sec01 {
		width: 850px;
		margin: auto;
	}
	
	#sec02 {
		background-color: #ebebeb;
		padding: 120px 0;
	}
		#sec02 .sec_box {
		}
			#sec02 .sec_box ul {
				width: 798px;
				margin: auto;
			}
				#sec02 .sec_box ul li {
					width: 379px;
					float: left;
				}
				#sec02 .sec_box ul li:nth-child(even) {
					margin-left: 40px;
				}
				#sec02 .sec_box ul li:nth-child(n + 3) {
					margin-top: 40px;
				}
					#sec02 .sec_box ul li dl {
					}
						#sec02 .sec_box ul li dl dt {
						}
						#sec02 .sec_box ul li dl dd {
							color: #fff;
							text-align: center;
							padding: 8px 0;
							line-height: 1;
							letter-spacing: 3px;
						}
						#sec02 .sec_box ul li:nth-child(1) dl dd ,
						#sec02 .sec_box ul li:nth-child(4) dl dd {
							background-color: #e71f19;
						}
						#sec02 .sec_box ul li:nth-child(2) dl dd ,
						#sec02 .sec_box ul li:nth-child(3) dl dd {
							background-color: #008dd6;
						}
	
	#sec03 {
	}
		#sec03 .sec_box {
		}
			#sec03 .sec_box ul {
			}
				#sec03 .sec_box ul li {
					width: 329px;
					float: left;
				}
				#sec03 .sec_box ul li + li {
					margin-left: 26.5px;
				}
					#sec03 .sec_box ul li dl {
					}
						#sec03 .sec_box ul li dl dt {
						}
						#sec03 .sec_box ul li dl dd {
							color: #fff;
							text-align: center;
							padding: 8px 0;
							line-height: 1;
							letter-spacing: 3px;
						}
						#sec03 .sec_box ul li:nth-child(even) dl dd {
							background-color: #e71f19;
						}
						#sec03 .sec_box ul li:nth-child(odd) dl dd {
							background-color: #008dd6;
						}
	
	
	
	
	footer {
		margin-top: 180px;
	}

	
}




/* ++++++++++++++++++++++++++++++++++++++++++++++    sp    ++++++++++++++++++++++++++++++++++++++++++++++  */
/* ~ 800px */
@media only screen and (max-width: 800px) {

	#contents {
		overflow: hidden;
	}
	
.deco {
	position: absolute;
	z-index: 1;
	transition-duration: 0.5s;
	line-height: 1;
}
#deco01 {
	top: 4%;
	right: 40%;
	width: 25px;
}
#deco02 {
	display: none
}
#deco03 {
	top: 20%;
	right: -5%;
	width: 62px;
}
#deco04 {
	top: 20%;
	left: 2%;
	width: 40px;
}
#deco05 {
	animation:3s linear infinite rotation1;
	bottom: 8%;
	left: 8%;
	width: 20px;
}
#deco06 {
	animation:4s ease-in-out infinite rotation2;
	top: -0.5%;
	right: 10vw;
	width: 60px;
}
#deco07 {
	display: none;
}
#deco08 {
	top: 20%;
	left: 2vw;
	width: 40px;
}
#deco09 {
	display: none;
}
#deco10 {
	top: 40.5%;
	left: 8%;
	width: 31px;
}
#deco11 {
	bottom: 50%;
	right: 2vw;
	width: 59px;
}
#deco12 {
	bottom: 35%;
	right: 6vw;
	width: 22px;
}
#deco13 {
	bottom: 21%;
    left: -2vw;
	width: 36px;
}
#deco14 {
	bottom: 13%;
	right: 5vw;
	width: 28px;
}
#deco15 {
	bottom: 9%;
	left: -1.2vw;
	width: 40px;
}
#deco16 {
	animation:3s linear infinite rotation1;
	bottom: 50px;
	right: 5vw;
	width: 40px;
}
#deco17 {
	bottom: -1.6%;
	left: 15vw;
	width: 33px;
}

	
	#mainArea{
		position: relative;
		overflow: hidden;
		background-image: url("../img/mainimg.jpg");
		background-size: cover;
		background-position: center;
		padding: 25vw 0;
	}
		#mainArea h1{
			position: relative;
			max-width:437px; 
			width: 75%;
			margin: 0 auto;
		}
			#mainArea h1 img:nth-child(2) {
				position: absolute;
				top: 0;
				left: 0;
			}
	

	.frame {
		position: relative;
	}
	.frame_t::before ,
	.frame_t::after ,
	.frame_b::before ,
	.frame_b::after {
		position: absolute;
		content: "";
		box-sizing: border-box;
		border-style: solid;
		width: 0;
		height: 0;
	}
	.frame_t::before ,
	.frame_t::after {
		top: 0;
	}
	.frame_t::before {
		left: 0;
		border-width: 10px 10px 0 0;
		border-color: #ebebeb transparent transparent transparent;
	}
	.frame_t::after {
		right: 0;
		border-width: 0 10px 10px 0;
		border-color: transparent #ebebeb transparent transparent;
	}
	.frame_b::before ,
	.frame_b::after {
		bottom: 0;
	}
	.frame_b::before {
		left: 0;
		border-width: 10px 0 0 10px;
		border-color: transparent transparent transparent #ebebeb;
	}
	.frame_b::after {
		right: 0;
		border-width: 0 0 10px 10px;
		border-color: transparent transparent #ebebeb transparent;
	}
	.frame_bdr_t::before ,
	.frame_bdr_t::after ,
	.frame_bdr_b::before ,
	.frame_bdr_b::after {
		position: absolute;
		content: "";
		box-sizing: border-box;
		background-size: cover;
		width: 14px;
		height: 14px;
	}
	.frame_bdr_t::before ,
	.frame_bdr_t::after {
		top: -4px;
	}
	.frame_bdr_t::before {
		left: -4px;
	}
	.frame_bdr_t::after {
		right: -4px;
	}
	.frame .frame_bdr_t::before {
		background-image: url("../img/bdr_t_l_r.jpg");		
	}
	.frame .frame_bdr_t::after {
		background-image: url("../img/bdr_t_r_r.jpg");		
	}
	.frame_bdr_b::before ,
	.frame_bdr_b::after {
		bottom: -4px;
	}
	.frame_bdr_b::before {
		left: -4px;
	}
	.frame_bdr_b::after {
		right: -4px;
	}
	.frame .frame_bdr_b::before {
		background-image: url("../img/bdr_b_l_r.jpg");		
	}
	.frame .frame_bdr_b::after {
		background-image: url("../img/bdr_b_r_r.jpg");		
	}

	#secArea {
		position: relative;
		padding-top: 80px;
	}
		#secArea {
		}

		.sec {
		}
		.sec + .sec {
			margin-top: 80px;
		}
			.sec h2 {
				text-align: center;
				padding-bottom: 10px;
			}
			.sec h2 + p {
				font-weight: bold;
				margin: 30px 5%;
			}
				.sec h2 span {
					font-weight: bold;
					font-size: 18px;
					position: relative;
					letter-spacing: 2px;
					display: inline-block;
				}
				.sec h2 span::before {
					position: absolute;
					content: "";
					bottom: -10px;
					left: 0;
					width: 100%;
					height: 5px;
					background-color: #000;
				}
			.sec .sec_box {
				margin-top: 30px;
			}
				.sec .sec_box .sec_inn {
				}
				.sec .sec_box .sec_inn + .sec_inn {
					margin-top: 30px;
				}
					.sec .sec_box .sec_inn .sec_img {
						margin: auto;
						width: 192px;
					}
					.sec .sec_box .sec_inn dl {
						padding: 0 5%;
						margin-top: 30px;
					}
						.sec .sec_box .sec_inn dl dt {
							line-height: 1.5;
							color: #e71f19;
						}
							.sec .sec_box .sec_inn dl dt p {
								font-size: 15.5px;
							}
							.sec .sec_box .sec_inn dl dt div {
								font-size: 24px;
							}
						.sec .sec_box .sec_inn dl dd {
							font-weight: bold;
							margin-top: 15px;
						}
	.sec .sec_box .frame {
		margin: 30px 5% 0;
		border: solid 4px #e71f19;
	}
		.sec .sec_box .frame ul {
			padding: 20px 5%;
		}
			.sec .sec_box .frame ul li {
				font-weight: bold;
				position: relative;
				padding-left: 15px;
				box-sizing: border-box;
				line-height: 1.6;
			}
			.sec .sec_box .frame ul li::before {
				position: absolute;
				content: "";
				background-color: #e71f19;
				width: 8px;
				height: 8px;
				border-radius: 8px;
				top: 0;
				bottom: 0;
				left: 0;
				margin: auto;
			}
			.sec .sec_box .frame ul li + li {
				margin-top: 3px;
			}

	
	#sec01 {
	}
	
	#sec02 {
		background-color: #ebebeb;
		padding: 60px 0 80px;
	}
		#sec02 .sec_box {
			margin-left: 5%;
			margin-right: 5%;	
		}
			#sec02 .sec_box ul {
			}
				#sec02 .sec_box ul li {
				}
				#sec02 .sec_box ul li + li {
					margin-top: 20px;
				}
					#sec02 .sec_box ul li dl {
					}
						#sec02 .sec_box ul li dl dt {
						}
						#sec02 .sec_box ul li dl dd {
							color: #fff;
							text-align: center;
							padding: 8px 0;
							line-height: 1;
							letter-spacing: 3px;
						}
						#sec02 .sec_box ul li:nth-child(1) dl dd ,
						#sec02 .sec_box ul li:nth-child(4) dl dd {
							background-color: #e71f19;
						}
						#sec02 .sec_box ul li:nth-child(2) dl dd ,
						#sec02 .sec_box ul li:nth-child(3) dl dd {
							background-color: #008dd6;
						}
	
	#sec03 {
		margin-top: 60px;
	}
		#sec03 .sec_box {
		}
			#sec03 .sec_box ul {
			}
				#sec03 .sec_box ul li {
				}
				#sec03 .sec_box ul li + li {
					margin-top: 20px;
				}
					#sec03 .sec_box ul li dl {
					}
						#sec03 .sec_box ul li dl dt {
						}
						#sec03 .sec_box ul li dl dd {
							color: #fff;
							text-align: center;
							padding: 8px 0;
							line-height: 1;
							letter-spacing: 3px;
						}
						#sec03 .sec_box ul li:nth-child(even) dl dd {
							background-color: #e71f19;
						}
						#sec03 .sec_box ul li:nth-child(odd) dl dd {
							background-color: #008dd6;
						}
	
	
	
	
	footer {
		margin-top: 100px;
	}
	
	
	
	
	
	
	
}








