@charset "UTF-8";


/*-----------------------------------

	mv_block

-----------------------------------*/
#mv_block{
	position: relative;
}
#mv_block .header_inner{
	position: relative;
	bottom: 28px;
	z-index: 1;
	align-items: flex-end;
	justify-content: space-between;
	max-width: 100%;
	width: 100%;
}
#mv_block .header_inner .reserve_box{
	margin-left: 2%;
	width: 352px;
	background: #00A040;
	border-radius: 30px;
	padding: 24px 25px;
	position: absolute;
	left: 0;
	bottom: 0;
}
#mv_block .header_inner .reserve_box .reserve_ttl{
	padding-left: 25px;
	position: relative;
	color: #fff;
	font-weight: 700;
	width: 130px;
	margin: 0 auto 11px;
	font-size: 20px;
}
#mv_block .header_inner .reserve_box .feedback{
	color: #fff;
}
#mv_block .header_inner .reserve_box .reserve_ttl img{
	position: absolute;
	bottom: 0;
	top: 0;
	left: 0;
	margin: auto;
	width: 20px;
}
#mv_block .swiper-slide {
	position: relative;
}
#mv_block .swiper-slide::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 50%;
	height: 100%;
	background: rgba(0, 0, 0, 0.3);
	background: linear-gradient(90deg,rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.24) 45%, rgba(0, 0, 0, 0) 100%);
	z-index: 1;
}
#mv_block .swiper-slide.txt_color::before {
	opacity: 0;
}
#mv_block img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#mv_block .icon_img{
	object-fit: contain;
}
select{
	-webkit-appearance: none;
    appearance: none;
}
select::-ms-expand {
  display: none;
}

#mv_block .header_inner .reserve_box select{
	width: 100%;
	border-radius: 0;
	font-size: 14px;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 500;
	line-height: 1.5;
	padding: 7px 46px 7px 11px;
	background: url("../img/index/reserve_arrow.svg")#fff no-repeat right top / 35px;
	margin: 0 auto 17px;
	border: 0;
	color: #000;
}

#mv_block .header_inner .mv_btn{
	margin-right: 2%;
	padding: 10px 63px 10px 27px;
	border-radius: 40px;
	background: #fff;
	width: 250px;
	font-weight: 700;
	white-space: nowrap;
	text-align: center;
	position: relative;
	position: absolute;
	right: 0;
	bottom: 0;
}
#mv_block .header_inner .mv_btn::before{
	content: "";
    width: 25px;
    height: 25px;
    background: url(../img/common/arrow_g.svg) no-repeat center / contain;
    position: absolute;
    bottom: 0;
    top: 0;
    right: 23px;
    margin: auto;
}

#mv_block .pagination_wrap{
	position: absolute;
	bottom: 28px;
	left: 0;
	right: 0;
	margin: 0 auto;
	z-index: 2;
}
#mv_block .swiper-pagination{
	width: max-content!important;
	margin: 0 20px 0 0;
    position: static!important;
}
#mv_block .swiper-pagination-bullet{
	border: 1.5px solid #fff;
	width: 10px!important;
	height: 10px!important;
	margin: 0 5px!important;
	background: transparent!important;
	opacity: 1;
}
#mv_block .swiper-pagination-bullet-active{
	background: #fff!important;
}

#mv_block .pagination_wrap .stopbtn{
  cursor: pointer;
  position: relative;
	width: 30px;
	height: 30px;
	transition: 0.3s;
}
#mv_block .pagination_wrap .stopbtn:hover{
	opacity: 0.9;
}
#mv_block .pagination_wrap .stopbtn.stop::before{
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	background: url("../img/common/stop.svg")no-repeat center/contain;
}
#mv_block .pagination_wrap .stopbtn.start::before{
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	background: url("../img/common/start.svg")no-repeat center/contain;
}
a.no-link {
  pointer-events: none;
  cursor: default;
  text-decoration: none;
  color: inherit;
}

#mv_block .mv_txt_box{
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	left: 0;
	z-index: 5;
	width: 450px;
	padding-left: 30px;
	height: 300px;
}
#mv_block .mv_txt_box .mv_catch{
	margin-bottom: 30px;
	display: inline-block;
	width: 371px;
	overflow: hidden;
}
#mv_block .mv_txt_box .mv_txt{
	width: 273px;
}
#mv_block .txt_color .mv_txt_box .mv_catch .catch_01{
	width: 100%;
    display: block;
    clip-path: inset(0 100% 0 0);
	animation: revealLeftToRight 1s ease-out forwards;
}
#mv_block .txt_color .mv_txt_box .mv_txt .txt_01{
	display: block;
}
#mv_block .txt_color .mv_txt_box .mv_catch .catch_02,
#mv_block .txt_color .mv_txt_box .mv_txt .txt_02{
	display: none;
}
#mv_block .swiper-slide:not(.txt_color) .mv_txt_box .mv_catch .catch_02,
#mv_block .swiper-slide:not(.txt_color) .mv_txt_box .mv_txt .txt_02{
	display: block;
}
#mv_block .swiper-slide:not(.txt_color) .mv_txt_box .mv_catch .catch_01,
#mv_block .swiper-slide:not(.txt_color) .mv_txt_box .mv_txt .txt_01{
	display: none;
}

@keyframes revealLeftToRight {
   to {
      clip-path: inset(0 0 0 0); /* 最終的に全体を表示 */
   }
}

@media screen and (min-width: 1367px){
	#mv_block,
	#mv_block .swiper{
		height: 100vh;
	}
}
@media screen and (max-width: 1000px) {
	#mv_block .header_inner.row_box .btn_g{
		margin-right: 2%;
		max-width: 250px;
		padding: 10px;
	}
	#mv_block .header_inner.row_box .btn_g::before{
		right: 10px;
	}
	#mv_block .mv_txt_box{
		height: 270px;
	}
	#mv_block .mv_txt_box .mv_catch{
		margin-bottom: 10px;
		font-size: 18px;
	}
	#mv_block .mv_txt_box {
		padding-left: 0;
		height: auto;
		top: auto;
		left: 20px;
		bottom: 25px;
		margin: 0;
		width: auto;
	}
	#mv_block .mv_txt_box .contents_inner {
		width: 100%;
	}
	#mv_block .mv_txt_box .mv_txt{
		font-size: 14px;
	}
	#mv_block .header_inner .reserve_box {
		display: none;
	}
	#mv_block .pagination_wrap {
		bottom: 18px;
		right: 15px;
		left: auto;
		margin: 0;
	}
	#mv_block .header_inner .mv_btn {
		display: none;
	}
}

@media screen and (max-width: 840px) {
	#mv_block,
	#mv_block .swiper{
		/* height: 450px; */
		height: 540px;
	}
	#mv_block .swiper .swiper-slide a{
		height: 100%;
	}
	#mv_block .swiper .swiper-slide img{
		height: 100%;
		object-fit: cover;
		object-position: center;
	}
	#mv_block .header_inner .reserve_box{
		margin: 0 auto;
		border-radius: 20px;
	}
	#mv_block .header_inner .reserve_box .reserve_ttl{
		width: 140px;
	}
	#mv_block .mv_txt_box .mv_catch{
		width: 250px;
	}
	#mv_block .mv_txt_box .mv_txt{
		width: 185px;
	}
}

@media screen and (max-width: 640px) {
	#mv_block .header_inner{
		bottom: 33px;
	}
	#mv_block .mv_txt_box .mv_txt {
		font-size: 11px;
		line-height: 2;
	}
	#mv_block .swiper-slide::before {
		top: auto;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 50%;
		background: linear-gradient(360deg, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.24) 45%, rgba(0, 0, 0, 0) 100%);
		z-index: 1;
	}
	#mv_block .swiper-pagination{
		max-width: 100px;
		margin: 0 5px 0 0;
	}
	#mv_block .swiper-pagination-bullet {
		margin: 0 3px!important;
	}
}
@media screen and (max-width: 350px) {
	#mv_block .mv_txt_box .mv_catch{
		width: 220px;
	}
	#mv_block .mv_txt_box .mv_txt{
		width: 155px;
	}
}
/*-----------------------------------

	reserve_block

-----------------------------------*/

#reserve_block .reserve_box {
	display: none;
    background: #00A040;
    padding: 24px 25px;
}
#reserve_block .reserve_box select{
	width: 100%;
	border-radius: 0;
	font-size: 14px;
	line-height: 1.5;
	padding: 7px 46px 7px 11px;
	background: url("../img/index/reserve_arrow.svg")#fff no-repeat right top / 35px;
	margin: 0 auto 17px;
	border: 0;
	color: #000;
}
#reserve_block .reserve_box .reserve_ttl {
    padding-left: 25px;
    position: relative;
    color: #fff;
    font-weight: 700;
    width: 140px;
    margin: 0 auto 11px;
    font-size: 20px;
}
#reserve_block .reserve_box .feedback-sp{
	color: #fff;
}
#reserve_block .reserve_box .reserve_ttl img {
    position: absolute;
    bottom: 0;
    top: 0;
    left: 0;
    margin: auto;
    width: 20px;
}
@media screen and (max-width: 1000px) {
	#reserve_block .reserve_box{
		display: block;
		padding: 24px 105px;
	}
}
@media screen and (max-width: 640px) {
	#reserve_block .reserve_box{
		padding: 24px 25px;
	}
}
/*-----------------------------------

	search_block

-----------------------------------*/
#search_block{
	background: #00A040;
	padding: 60px 0 0;
}
#search_block .h2_ttl{
	margin-bottom: 52px;
	color: #fff;
}
#search_block .h2_ttl span{
	color: #fff;
}
#search_block .map_box{
	margin: 44px auto 0;
	width: 100%;
	height: 400px;
}

@media screen and (max-width: 840px) {
}

@media screen and (max-width: 640px) {
	#search_block{
		padding: 35px 0 0;
	}
	#search_block .h2_ttl{
		margin-bottom: 30px;
	}
	#search_block .map_box{
		margin: 35px auto 0;
		height: 334px;
	}
}

/*-----------------------------------

	campaign_block

-----------------------------------*/
#campaign_block{
	padding: 73px 0 120px;
}
#campaign_block .swiper{
	margin: 30px 0;
	/*padding: 0 90px 53px;*/
	padding-bottom: 53px;
}
#campaign_block .swiper .swiper-wrapper{
	/*transform: translate3d(0px, 0, 0)!important;*/
}
#campaign_block .swiper .swiper-slide .img_box{
	height: 250px;
	width: 100%;
	position: relative;
}
#campaign_block .swiper .swiper-slide{
	transform: translateX(-50%);
}
#campaign_block .swiper .swiper-slide a{
	max-height: 250px;
	height: 100%;
	max-width: 400px;
	width: 100%;
}
#campaign_block .swiper .swiper-slide a img{
	border-radius: 30px;
	object-fit: contain;
	height: auto;
	width: auto;
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	
}
#campaign_block .swiper-pagination{
	bottom: 0;
}
#campaign_block .swiper-pagination-bullet{
	border: 1.5px solid #00A040;
	width: 10px!important;
	height: 10px!important;
	margin: 0 5px!important;
	background: transparent!important;
}
#campaign_block .swiper-pagination-bullet-active{
	background: #00A040!important;
}
#campaign_block .btn_g{
	margin: auto;
}
@media screen and (max-width: 1300px){
	#campaign_block .swiper .swiper-slide .img_box{
		height: 250px;
	}
}
@media screen and (max-width: 840px) {
	#campaign_block .swiper{
		/*padding: 0 60px 30px;*/
		padding-bottom: 30px;
	}
	#campaign_block .swiper .swiper-slide{
		transform: translateX(0);
	}
}

@media screen and (max-width: 640px) {
	#campaign_block{
		padding: 34px 0 66px;
	}
	#campaign_block .swiper{
		margin: 20px 0;
	}
	#campaign_block .swiper .swiper-slide .img_box{
		height: 170px;
	}
	#campaign_block .swiper .swiper-slide a{
		max-height: 170px;
		max-width: 250px;
	}
	#campaign_block .swiper .swiper-slide a img{
		border-radius: 20px;
	}
}

/*-----------------------------------

	news_block

-----------------------------------*/
#news_block{
	padding: 100px 0;
	background: #00A040;
}
#news_block .contents_inner{
	padding: 56px 90px;
	background: #fff;
	border-radius: 30px;
	justify-content: space-between;
	align-items: flex-start;
}
#news_block .h2_ttl{
	text-align: left;
}
#news_block .btn_arrow{
	margin-top: 20px;
}
#news_block .ttl_box{
	width: 186px;
}
#news_block .news_wrap{
	width: calc(100% - 186px);
}
#news_block .news_wrap .news_box a{
	padding: 22px 0;
	border-bottom: 1px dotted #707070;
	transition: 0.3s;
}
#news_block .news_wrap .news_box:first-child a{
	border-top: 1px dotted #707070;
}
#news_block .news_wrap .news_box a:hover{
	background: #F1F4E0;
}
#news_block .news_wrap .news_box .date{
	color: #00A040;
	font-weight: 700;
	margin-bottom: 3px;
	line-height: 1;
}

@media screen and (max-width: 840px) {
	#news_block .contents_inner{
		padding: 26px 26px 25px;
	}
	#news_block .ttl_box{
		width: 145px;
	}
	#news_block .news_wrap{
		width: calc(100% - 145px);
	}
	#news_block .news_wrap .news_box a{
		font-size: 14px;
		padding: 24px 0;
	}
}

@media screen and (max-width: 640px) {
	#news_block{
		padding: 50px 0;
	}
	#news_block .contents_inner{
		flex-direction: column;
		border-radius: 20px;
	}
	#news_block .ttl_box,
	#news_block .news_wrap{
		width: 100%;
	}
	#news_block .h2_ttl{
		text-align: center;
		margin-bottom: 10px;
	}
	#news_block .btn_arrow{
		margin-left: auto;
		margin-right: 0;
	}
}

/*-----------------------------------

	reason_block

-----------------------------------*/
#reason_block{
	padding: 201px 0 81px;
	position: relative;
	overflow-x: hidden;
}

/*#reason_block .en_bg_box{
	overflow: hidden;
}*/
#reason_block .en_bg_box p{
	position: absolute;
	top: 51px;
	color: rgba(0,160,64,0.05);
	font-size: 197px;
	font-weight: 700;
	line-height: 1;
	word-break: keep-all;
	white-space: nowrap;
	animation: Loop 40s linear infinite;
}
@keyframes Loop {
      0% {
        transform: translateX(0%);
      }
      100% {
        transform: translateX(-70%);
      }
    }

#reason_block .h2_ttl{
	margin-bottom: 63px;
}
#reason_block .flex_box .txt_box{
	position: relative;
	padding-bottom: 60px;
}
#reason_block .flex_box .txt_box .btn_arrow{
	position: absolute;
	bottom: 0;
	right: 0;
}
#reason_block .btn_wrap{
	margin: 75px auto 0;
	text-align: center;
}

@media screen and (max-width: 840px) {
	#reason_block .flex_box .txt_box{
		padding-bottom: 30px;
	}
}

@media screen and (max-width: 640px) {
	#reason_block .en_bg_box p{
		top: 42px;
		font-size: 100px;
		animation: Loop 45s linear infinite;
	}
	#reason_block{
		padding: 86px 0 108px;
	}
	#reason_block .h2_ttl{
		margin-bottom: 30px;
	}
	#reason_block .flex_box:not(:first-of-type){
		margin-top: 10px;
	}
	#reason_block .btn_wrap{
		margin: 0;
		text-align: right;
	}
}

/*-----------------------------------

	recruit_block

-----------------------------------*/
#recruit_block{
	background: url("../img/common/recruit_bg.jpg")no-repeat;
	position: relative;
}
#recruit_block::before{
	content: "";
	background: rgba(0,0,0,0.30);
	z-index: 1;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
#recruit_block a{
	display: block;
	padding: 62px 0 38px;
}
#recruit_block .contents_inner{
	position: relative;
	z-index: 2;
	padding: 44px 0;
	background: linear-gradient(90deg, rgba(133, 176, 64, 0.9), rgba(15, 178, 128, 0.9));
}
#recruit_block .h2_ttl,
#recruit_block .h2_ttl .en{
	color: #fff;
}
#recruit_block .h2_ttl{
	margin-bottom: 25px;
}
#recruit_block p{
	text-align: center;
	color: #fff;
}

@media screen and (max-width: 840px) {
}

@media screen and (max-width: 640px) {
	#recruit_block{
		/*padding: 50px 0;*/
	}
	#recruit_block a{
		padding: 50px 0;
	}
	#recruit_block .h2_ttl{
		margin-bottom: 23px;
	}
}

/*-----------------------------------

	sns_block

-----------------------------------*/
#sns_block{
	padding: 130px 0;
	background: rgba(0,160,64,0.10);
}
#sns_block .h2_ttl{
	margin-bottom: 50px;
}
#sns_block .sns_wrap{
	gap: 16px;
}
#sns_block .sns_wrap .sns_box{
	width: calc((100% - 16px) / 2);
	background: #fff;
	border-radius: 30px;
	padding: 40px 0;
	text-align: center;
}
#sns_block .sns_wrap .sns_box p{
	position: relative;
	padding-left: 65px;
	display: inline-block;
	font-weight: 700;
	font-size: 20px;
}
#sns_block .sns_wrap .sns_box p img{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	width: 50px;
	height: 50px;
}

@media screen and (max-width: 840px) {
}

@media screen and (max-width: 640px) {
	#sns_block{
		padding: 38px 0 59px;
	}
	#sns_block .h2_ttl{
		margin-bottom: 30px;
	}
	#sns_block .sns_wrap{
		gap: 25px;
	}
	#sns_block .sns_wrap .sns_box{
		width: 100%;
		border-radius: 20px;
		padding: 30px 0;
	}
}

/*-----------------------------------

	other_block

-----------------------------------*/
#other_block{
	padding: 100px 0 120px;
}
#other_block .other_wrap{
	margin: 50px 0 0;
	gap: 30px 16px;
	justify-content: flex-start;
}
#other_block .other_wrap .other_box{
	width: calc((100% - 32px) / 3);
	background: #fff;
	border-radius: 30px;
	height: 150px;
	position: relative;
}
#other_block .other_wrap .other_box img{
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	margin: auto;
	width: 100%;
	object-fit: contain;
}
/*#other_block .other_wrap .other_box:nth-child(3) img{
	width: 70%;
}
#other_block .other_wrap .other_box:nth-child(4) img{
	width: 58%;
}
#other_block .other_wrap .other_box:nth-child(5) img{
	width: 61%;
}*/

@media screen and (max-width: 840px) {
}

@media screen and (max-width: 640px) {
	#other_block{
		padding: 38px 0 47px;
	}
	#other_block .other_wrap{
		margin: 20px 0 0;
		gap: 13px 10px;
	}
	#other_block .other_wrap .other_box{
		width: calc((100% - 10px) / 2);
		border-radius: 10px;
		height: 50px;
	}
	#other_block .other_wrap .other_box img{
		height: 50px;
	}
}

/*-----------------------------------

	link_block

-----------------------------------*/
#link_block{
	padding: 0 0 117px;
}
#link_block .h2_ttl{
	margin-bottom: 50px;
}

#link_block .other_wrap{
	gap: 30px 16px;
	margin-bottom: 40px;
}
#link_block .other_wrap .other_box{
	width: calc((100% - 32px) / 3);
	background: #fff;
	border: 1px solid #707070;
}
#link_block .other_wrap .other_box.bd_none{
	border: none;
}
#link_block .swiper-wrapper .swiper-slide a{
	height: 100px;
	width: 352px;
	margin: auto;
}
#link_block .swiper-wrapper .swiper-slide img{
	object-fit: cover;
	height: 100%;
	width: 100%;
	display: block;
}


@media screen and (max-width: 840px) {
	/*#link_block .swiper-wrapper .swiper-slide{
		transform: translateX(-50%);
	}*/
}

@media screen and (max-width: 640px) {
	#link_block{
		padding: 0 0 47px;
	}
	#link_block .h2_ttl{
		margin-bottom: 18px;
	}
	#link_block .other_wrap{
		gap: 15px;
		flex-direction: column;
		margin-bottom: 30px;
	}
	#link_block .other_wrap .other_box{
		max-width: 303px;
		width: 100%;
		margin: auto;
	}
	#link_block .swiper-wrapper .swiper-slide a{
		height: 75px;
		width: 266px;
	}
}


