@charset "UTF-8";
#sec01{
	position: relative;
	padding: 245px 0 0;
	overflow:hidden;
}
#sec01 .backmoji {
	position: absolute;
	top: 10px;
	left: 0;
	display: flex;
	width : 100%;
	text-align : center;
	z-index: -1;
}
#sec01 .backmoji p{
	display : inline-block;
	min-width: auto;
	min-height: auto;
	margin-right: 150px;
	line-height: 1;
	animation: flowing 80s linear infinite;
	transform: translateX(0);
}
#sec01 .backmoji p img{
	max-width: none;
	width: auto;
	height: 322.8px;
}
@keyframes flowing {
	100% {
		transform: translateX(-100%);
	}
}
#sec01 .title02{
	margin-bottom: 60px;
	font-size: 3.4rem;
	font-weight: bold;
}
#sec01 .top{
	position: relative;
	align-items: center;
	margin-bottom: 173px;
}
#sec01 .top .wrap{
	padding-right: 830px;
}
#sec01 .top p + p{
	margin-top: 2em;
}
#sec01 .top figure{
	position: absolute;
	top: 50%;
	left: 53.125vw;
	max-width: 900px;
	width: 46.875vw;
	transform: translateY(-50%);
}
#sec01 .bottom{
	padding: 80px 0 142px;
}
#sec01 .bottom .flex{
	justify-content: space-between;
	align-items: center;
}
#sec01 .bottom figure{
	max-width: 710px;
	width: 46.1%;
}
#sec01 .bottom .in{
	max-width: 710px;
	width: 46.1%;
}
#sec01 .bottom .in .title03{
	position: relative;
	padding-left: 40px;
	margin-bottom: 40px;
	font-size: 2.2rem;
	font-weight: bold;
}
#sec01 .bottom .in .title03:before{
	content: "";
	position: absolute;
	top: 0.8em;
	left: 0;
	width: 30px;
	height: 1px;
	background: #1A2930;
}

@media screen and (max-width: 1700px){
	#sec01{
		padding: 15.9vw 0 0;
	}	
	#sec01 .backmoji p{
		margin-right: 9.74vw;
	}
	#sec01 .backmoji p img{
		height: 20.96vw;
	}
	#sec01 .title02{
		margin-bottom: 3.89vw;
		font-size: 2.2vw;
	}
	#sec01 .top{
		margin-bottom: 11.23vw;
	}
	#sec01 .top .wrap{
		padding-right: 48%;
	}
	#sec01 .bottom{
		padding: 5.19vw 0 9.22vw;
	}
	#sec01 .bottom .in .title03{
		padding-left: 2.59vw;
		margin-bottom: 2.59vw;
		font-size: 1.42vw;
	}
	#sec01 .bottom .in .title03:before{
		width: 1.94vw;
	}
}

@media screen and (max-width: 1024px){
	#sec01{
		padding: 16vw 0 0;
	}
	#sec01 .backmoji{
		top: 0;
	}
	#sec01 .backmoji p{
		margin-right: 10vw;
	}
	#sec01 .backmoji p img{
		height: 37.33vw;
	}
	#sec01 .title02{
		margin-bottom: 8vw;
		font-size: 5.46vw;
		text-align: center;
	}
	#sec01 .top{
		margin-bottom: 16vw;
	}
	#sec01 .top .wrap{
		padding-right: 0;
	}
	#sec01 .top .wrap p + p{
		margin-top: 8vw;
	}
	#sec01 .top figure{
		position: unset;
		max-width: none;
		width: 100%;
		margin-top: 8vw;
		transform: translateY(0);
	}
	#sec01 .bottom{
		padding: 10.66vw 0 15.6vw;
	}
	#sec01 .bottom .flex{
		display: block;
	}
	#sec01 .bottom figure{
		max-width: none;
		width: 100%;
		margin: 10.66vw 0;
	}
	#sec01 .bottom .in{
		max-width: none;
		width: 100%;
	}
	#sec01 .bottom .in .title02{
		margin-bottom: 0;
		font-size: 5.06vw;
		line-height: 1.75;
	}
	#sec01 .bottom .in .title03{
		padding-left: 6.66vw;
		margin-bottom: 8vw;
		font-size: 4.53vw;
	}
	#sec01 .bottom .in .title03:before{
		width: 5.33vw;
		height: 0.26vw;
	}
}


#sec02{
	padding: 140px 0;
}
#sec02 .title_area{
	margin-bottom: 80px;
}
#sec02 .catch{
	margin-bottom: 80px;
	font-size: 3.4rem;
	font-weight: bold;
	text-align: center;
}
#sec02 .flex{
	justify-content: space-between;
}
#sec02 .in{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	width: 480px;
	padding: 40px 35px 50px;
	border: 2px solid #1A2930;
	border-radius: 8px;
}
#sec02 .in > img{
	margin-bottom: 36px;
}
#sec02 .in .title03{
	display: flex;
	justify-content: center;
	align-items: center;
	height: 3em;
	margin-bottom: 30px;
	font-size: 2.6rem;
	text-align: center;
	font-weight: 600;
	line-height: 1.5;
}

@media screen and (max-width: 1700px){
	#sec02{
		padding: 9.09vw 0;
	}
	#sec02 .title_area{
		margin-bottom: 5.19vw;
	}
	#sec02 .catch{
		margin-bottom: 5.19vw;
		font-size: 2.2vw;
	}
	#sec02 .in{
		width: 31.16%;
		padding: 2.59vw 2.27vw 3.24vw;
		border: 0.12vw solid #1A2930;
		border-radius: 0.51vw;
	}
	#sec02 .in > img{
		margin-bottom: 2.33vw;
	}
	#sec02 .in .title03{
		margin-bottom: 1.94vw;
		font-size: 1.68vw;
	}
}

@media screen and (max-width: 1024px){
	#sec02{
		padding: 16vw 0 5.33vw;
	}
	#sec02 .title_area{
		margin-bottom: 8vw;
	}
	#sec02 .catch{
		margin-bottom: 8vw;
		font-size: 4.53vw;
	}
	#sec02 .flex{
		flex-wrap: wrap;
		gap: 4vw;
	}
	#sec02 .in{
		width: 100%;
		height: auto;
		padding: 5.33vw 5.33vw 8vw;
		border: 0.26vw solid #1A2930;
		border-radius: 2.13vw;
	}
	#sec02 .in > img{
		margin-bottom: 4vw;
	}
	#sec02 .in .title03{
		height: auto;
		margin-bottom: 4vw;
		font-size: 5.06vw;
	}
}

#sec03{
	padding: 20px 0 157px;
}
#sec03 .title_area{
	margin-bottom: 100px;
}
#sec03 .content{
	position: relative;
}
#sec03 .content figure{
	position: absolute;
	top: 50%;
	right: 53.125%;
	width: 46.875vw;
	max-width: 900px;
	transform: translateY(-50%);
}
#sec03 .content .in{
	max-width: 710px;
	width: 46.1%;
	margin-left: auto;
}
#sec03 .content .in .title03{
	margin-bottom: 60px;
	font-size: 3.4rem;
	font-weight: bold;
}
#sec03 .content .in .btn{
	margin-top: 60px;
}
#sec03 .content .in .btn a{
	margin-left: auto;
}

@media screen and (max-width: 1700px){
	#sec03{
		padding: 1.29vw 0 10.19vw;
	}
	#sec03 .title_area{
		margin-bottom: 6.49vw;
	}
	#sec03 .content .in .title03{
		margin-bottom: 3.89vw;
		font-size: 2.2vw;
	}
	#sec03 .content .in .btn{
		margin-top: 3.89vw;
	}
}

@media screen and (max-width: 1024px){
	#sec03{
		padding: 16vw 0;
	}
	#sec03 .title_area{
		margin-bottom: 8vw;
	}
	#sec03 .content figure{
		position: unset;
		width: 100%;
		max-width: none;
		margin-top: 10.66vw;
		transform: translateY(0);
	}
	#sec03 .content .in{
		max-width: none;
		width: 100%;
		margin-left: 0;
	}
	#sec03 .content .in .title03{
		margin-bottom: 8vw;
		font-size: 5.9vw;
		text-align: center;
	}
	#sec03 .content .in .btn{
		margin-top: 8vw;
	}
	#sec03 .content .in .btn a{
		margin: 0 auto;
	}
}

#sec04{
	padding: 145px 0;
}
#sec04 .title_area{
	margin-bottom: 80px;
}
#sec04 ul{
	margin-bottom: 130px;
}
#sec04 ul li{
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	padding: 60px 0;
	background: #fff;
}
#sec04 ul li + li{
	margin-top: 20px;
}
#sec04 ul li figure{
	display: flex;
	justify-content: center;
	align-items: center;
	max-width: 500px;
	width: 32.46%;
	height: 100%;
}
#sec04 ul li:nth-child(1) figure img{
	width: 312.56px;
}
#sec04 ul li:nth-child(2) figure img{
	width: 350.75px;
}
#sec04 ul li:nth-child(3) figure img{
	width: 364.74px;
}
#sec04 ul li p{
	width: 67.54%;
	margin: 0 35px 0 10px;
	letter-spacing: 0.1em;
}
#sec04 .map{
	max-width: 1162px;
	width: 75.45%;
	margin: auto;
}
#sec04 figure + .center{
	margin: 60px auto;
	text-align: center;
}
#sec04 .btn a{
	margin: auto;
}

@media screen and (max-width: 1700px){
	#sec04{
		padding: 9.41vw 0;
	}
	#sec04 .title_area{
		margin-bottom: 5.19vw;
	}
	#sec04 ul{
		margin-bottom: 8.44vw;
	}
	#sec04 ul li{
		padding: 3.89vw 0;
	}
	#sec04 ul li + li{
		margin-top: 1.29vw;
	}
	#sec04 ul li:nth-child(1) figure img{
		width: 20.29vw;
	}
	#sec04 ul li:nth-child(2) figure img{
		width: 22.77vw;
	}
	#sec04 ul li:nth-child(3) figure img{
		width: 23.68vw;
	}
	#sec04 ul li p{
		margin: 0 2.27vw 0 0.64vw;
	}
	#sec04 figure + .center{
		margin: 3.89vw auto;
	}
}

@media screen and (max-width: 1024px){
	#sec04{
		padding: 16vw 0 23.73vw;
	}
	#sec04 .title_area{
		margin-bottom: 8vw;
	}
	#sec04 ul{
		margin-bottom: 16vw;
	}
	#sec04 ul li{
		display: block;
		padding: 6.66vw 5.33vw;
		border-radius: 2.13vw;
	}
	#sec04 ul li + li{
		margin-top: 4vw;
	}
	#sec04 ul li figure{
		max-width: none;
		width: 100%;
		height: auto;
		margin-bottom: 2.66vw;
	}
	#sec04 ul li:nth-child(1) figure img{
		width: 52.09vw;
	}
	#sec04 ul li:nth-child(2) figure img{
		width: 58.45vw;
	}
	#sec04 ul li:nth-child(3) figure img{
		width: 60.79vw;
	}
	#sec04 ul li p{
		width: 100%;
		margin: 0;
	}
	#sec04 .map{
		max-width: none;
		width: 100%;
	}
	#sec04 figure + .center{
		margin: 8vw auto;
		text-align: left;
	}
}