@charset "UTF-8";


/*----------------------------------------
	wrapper
-----------------------------------------*/



/*----------------------------------------
	main_visual
-----------------------------------------*/

.main_visual{
	 position: relative;
}
.main_visual .main_ill{
	 position: relative;
	background:url("../img/main_bg.jpg") repeat top left;
	margin: 50px 5% 0 5%;
	border-radius: 40px;
	box-sizing: border-box;
}
.main_visual h2{
	margin: 0 auto;
	text-align: center;
	padding: 0 0 6% 0;
	width: 35%;
}
.main_visual p{
	margin: 0 auto;
	text-align: center;
	padding: 6% 0 10px 0;
	font-size:calc(10px + 10 * (100vw - 360px) / 840); 
	color: #d8d8bf;
}
.main_visual .ill_l{
	position: absolute;
	top:-5%;
	left:1%;
	z-index: 10;
	width: 35%;
}
.main_visual .ill_r{
	position: absolute;
	bottom:-5%;
	right:-3%;
	z-index: 10;
	width: 35%;
}
.main_fki{
	margin: 0 auto;
	text-align: center;
	background:url("../img/main_fukidashi.png") no-repeat top center;
	background-size: 12%;
	padding: 0 0 5% 0;
}	

/*----------------------------------------
	about
-----------------------------------------*/

.about{
	background: #fff;
	border-radius:40px;
	border: 8px solid #b9b99f;
	padding:5% 10% 7% 10%;
	margin: 0 5% 120px 5%;
	text-align: center;
}

.about dt{
	font-weight: 700;
	font-size:calc(20px + 10 * (100vw - 360px) / 840); 
	color: #1b734a;
	padding-bottom: 20px;
}
.about dd{
	font-size:calc(10px + 10 * (100vw - 360px) / 840); 
}

/*----------------------------------------
	loop
-----------------------------------------*/
@keyframes infinity-scroll-left {
from {
  transform: translateX(0);
}
  to {
  transform: translateX(-100%);
}
}
.scroll-infinity__wrap {
  display: flex;
  overflow: hidden;
	margin: 0 auto 5% auto;
}
.scroll-infinity__list {
  display: flex;
  list-style: none;
  padding: 0;
}
.scroll-infinity__list--left {
  animation: infinity-scroll-left 80s infinite linear 0.5s both;
}
.scroll-infinity__item {
  width: calc(100vw / 3);
padding-right: 3%;
}
.scroll-infinity__item:nth-child(even){
padding-top: 80px;
}
.scroll-infinity__item>img {
  width: 100%;
}

/*----------------------------------------
	top_btn
-----------------------------------------*/

.top_btn{
	background:url("../img/main_bg.jpg") repeat top left;
	padding: 70px 0;
}

.top_btn ul{
	display: flex;
	justify-content: space-between;
}
.top_btn ul li{
	padding:30px 30px;
	box-sizing: border-box;
	text-align: center;
	background: #f8f8ec;
	border-radius: 30px;
	width: 31%;
}
	
/*media Queries タブレットサイズ（769px～1000px）のみで適応したいCSS -タブレットのみ
---------------------------------------------------------------------------------------------------*/
@media only screen and (min-width: 1051px) and (max-width: 1400px) {
	


}
/*media Queries スマートフォンサイズ（768px以下）で適応したいCSS - スマホ
---------------------------------------------------------------------------------------------------*/
@media only screen and (max-width: 768px) {

	

.main_visual .main_ill{
	 position: relative;
	background:none;
	margin: 15px 5% 0 5%;
	box-sizing: border-box;
}
.main_visual h2{
	padding: 0;
	width: auto;
}
.main_visual p{
	display: none;
}
.main_visual .ill_l{
	display: none;
}
.main_visual .ill_r{
	display: none;
}
.main_fki{
	display: none;
}	
	
/*----------------------------------------
	about
-----------------------------------------*/

.about{
	background: #fff;
	border-radius:30px;
	border: 5px solid #b9b99f;
	padding:10% 7% 10% 7%;
	margin: 0 5% 15% 5%;
	text-align: center;
}

.about dt{
	font-weight: 700;
	font-size:calc(20px + 10 * (100vw - 360px) / 840); 
	color: #1b734a;
	padding-bottom: 20px;
}
.about dd{
	font-size:15px; 
	text-align: left;
}

/*----------------------------------------
	loop
-----------------------------------------*/

.scroll-infinity__wrap {
	margin: 0 auto 20% auto;
}

.scroll-infinity__list--left {
  animation: infinity-scroll-left 50s infinite linear 0.5s both;
}
.scroll-infinity__item {
  width: calc(100vw / 1.2);
padding-right: 3%;
}
.scroll-infinity__item:nth-child(even){
padding-top: 40px;
}	
	
/*----------------------------------------
	top_btn
-----------------------------------------*/

.top_btn{
	background:url("../img/main_bg.jpg") repeat top left;
	padding: 70px 0;
}

.top_btn ul{
	display: flex;
	justify-content: space-between;
}
.top_btn ul li{
	padding:0;
	box-sizing: border-box;
	text-align: center;
	background: none;
	width: 31%;
}
	
}/*解像度768px以下*/

