@charset "utf-8";

#top {
	overflow-x: hidden;
  overflow: hidden;
}

.mv {
	position: relative;
}

.mv-slider {
	width: 100%;
	aspect-ratio: 2880 / 1488;
	overflow: hidden;
	background: #eef3e7;
}

/*
 * Slick初期化前に全スライドが縦積みになって大きくレイアウトシフトするのを防止。
 * 最初の1枚だけを即描画し、LCP候補を安定させる。
 */
.mv-slider:not(.slick-initialized) .mv-slide-item {
	display: none;
}
.mv-slider:not(.slick-initialized) .mv-slide-item:first-child {
	display: block;
}

.mv-slide-item,
.mv-slide-item picture,
.mv-slide-item img {
	width: 100%;
	height: 100%;
}
.mv-slide-item img {
	object-fit: cover;
}

.mv-message-wrap {
	text-align: center;
	color: #FFF;
/*	margin-top: 9.5vw;*/
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 1;
}

.mv-message {
	font-size: 3.22vw;
	line-height: 1.65;
	letter-spacing: .3em;
	position: relative;
}

.mv-message::before,
.mv-message::after {
	content: '';
	width: 2.81vw;
	height: auto;
	aspect-ratio: 40.5/43;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	display: block;
	position: absolute;
}

.mv-message::before {
	background-image: url("../img/common/vector_ttl01.svg");
	top: -1vw;
	left: -4vw;
}

.mv-message::after {
	background-image: url("../img/common/vector_ttl02.svg");
	bottom: -1vw;
	right: -4vw;
}

.mv-message-en {
	width: 24.3vw;
	margin-left: auto;
	margin-right: auto;
	margin-top: 6.94vw;
}

.mv-scroll {
	width: 1.04vw;
	position: absolute;
	bottom: 2vw;
	left: 2vw;
}

.mv-sns-wrap {
	position: absolute;
	bottom: 3vw;
	right: 2.5vw;
}

.mv-sns-list {
	display: flex;
	flex-wrap: wrap;
}

.mv-sns-item {
	width: 1.8vw;
}

.mv-sns-item:last-of-type {
	width: 2.08vw;
}

.mv-sns-item:not(:last-of-type) {
	margin-right: 15px;
}

.mv-sns-item img {
	width: 100%;
}

.mv-news-area {
	width: 37.9vw;
	color: #FFF;
	background: #442D18;
	position: absolute;
	bottom: 0;
	right: 0;
	padding: .3vw 2.77vw .25vw 1.73vw;
	border-top-left-radius: .83vw;
	overflow: hidden;
}

.mv-news-area::after {
	content: '';
	width: .97vw;
	height: 100%;
	aspect-ratio:14/32;
	background: #FF7A00;
	display: block;
	position: absolute;
	top: 0;
	right: 0;
}

.mv-news-txt {
	display: inline-block;
	font-size: .83vw;
	line-height: 2;
	letter-spacing: .13em;
	white-space: nowrap;
	padding-left: 100%;
	animation: animate-banner 20s linear infinite;
}

@keyframes animate-banner {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}

.container {
	max-width: 1100px;
	width: 92%;
	margin: 0 auto;
}



.central {
	width: 100%;
	height: auto;
	aspect-ratio:1100/715;
	background-image: url("../img/top/bg_central.webp");
	background-position: top;
	background-repeat: no-repeat;
	background-size: contain;
	display: flex;
	justify-content: flex-end;
	align-items: flex-end;
	margin-top: 13rem;
}


.central .sec-heading-en {
	width: 27rem;
	margin-bottom: 1rem;
}

.sec-heading-kana {
	font-size: 1.8rem;
	margin-bottom: 2rem;
}

.heading-txt-wrap {
	background: #FFF;
	border-radius: 1.4rem;
}

.sec-heading {
	display: inline-block;
	font-size: 3.4rem;
	letter-spacing: .1em;
	color: #483626;
	margin-bottom: 3rem;
	position: relative;
}

.sec-heading span {
	display: inline-block;
	line-height: 1.44;
	padding: 0 1rem;
	border: .2rem solid;
}
.group .sec-heading span {
	letter-spacing: .15em;
	padding: .3rem 2.4rem;
}

.sec-heading span.bt-none {
	border-top: none;
}

.sec-heading span.bb-none {
	border-bottom: none;
}

.heading-txt {
	width: 40rem;
	font-size: 1.4rem;
	line-height: 1.9;
	letter-spacing: .19em;
	margin-bottom: 3rem;
}
.group .heading-txt {
	width: 41.8rem;
	color: #FFF;
}

.heading-btn {
	width: 32rem;
	height: 5.8rem;
	font-size: 1.8rem;
	letter-spacing: .13em;
	color: #70A500;
	border: 2px solid;
	border-radius: 30rem;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}

.heading-btn::after {
	content: '';
	width: 4rem;
	height: auto;
	aspect-ratio: 1/1;
	background-image: url("../img/top/btn_arrow_g.svg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	display: block;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: .8rem;
}

.heading-btn-wrap {
	display: flex;
	justify-content: space-between;
}

.heading-btn-wrap .heading-btn {
	width: 20rem;
	justify-content: flex-start;
	padding-left: 4.5rem;
}

.heading-btn-wrap .heading-btn::after {
	right: .7rem;
}

.heading-btn.btn-g {
	color: #FFF;
	background: #70A500;
	margin-right: 1.2rem;
}

.heading-btn.btn-g::after {
	background-image: url("../img/common/arrow_w02.svg");
}

.camping {
	width: 100%;
	height: auto;
	aspect-ratio:1100/715;
	background-image: url("../img/top/bg_camping.webp");
	background-position: top;
	background-repeat: no-repeat;
	background-size: contain;
	display: flex;
	justify-content: flex-start;
	align-items: flex-end;
	margin-top: 15rem;
	margin-bottom: 16rem;
}

.camping .sec-heading-en {
	width: 14.7rem;
	margin-bottom: 1rem;
}


.info {
	padding-top: 9rem;
	padding-bottom: 10rem;
	margin-top: 22rem;
	position: relative;
}

.info::before {
	content: '';
	width: 100vw;
	height: 44rem;
/*	aspect-ratio:930/726;*/
	background: #FEFDF5;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

.info-btn-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-bottom: 8.8rem;
}

.info-btn-item {
	padding: 1.2rem;
}

.info-btn {
	width: 45rem;
	height: 5.8rem;
	font-size: 1.8rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	border: 2px solid;
	border-radius: 10rem;
	background: #FFF;
	position: relative;
}

.info-btn::before {
	content: '';
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	display: block;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

.info-btn._01::before {
	width: 3.9rem;
	height: auto;
	aspect-ratio: 56/35;
	background-image: url("../img/top/icon_btn_experience.svg");
	left: 4.1rem;
}

.info-btn._02::before {
	width: 5rem;
	height: auto;
	aspect-ratio: 72/26;
	background-image: url("../img/top/icon_btn_institution.svg");
	left: 3.5rem;
}

.info-btn._03::before {
	width: 3rem;
	height: auto;
	aspect-ratio: 1/1;
	background-image: url("../img/top/icon_btn_stay.svg");
	left: 4.6rem;
}

.info-btn._04::before {
	width: 2.6rem;
	height: auto;
	aspect-ratio: 40/30;
	background-image: url("../img/top/icon_btn_access.svg");
	left: 4.8rem;
}

.info-btn::after {
	content: '';
	width: 3.6rem;
	height: auto;
	aspect-ratio: 1/1;
	background-image: url("../img/top/btn_arrow_br.svg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	display: block;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: .7rem;
}

.info-slide-item {
	width: 27.63vw;
	margin: 0 .868vw;
}


.about {
	padding-top: 8rem;
	padding-bottom: 6.8rem;
	position: relative;
}

.about::before {
	content: '';
	width: 94.4vw;
	height: 64rem;
/*	aspect-ratio: 136/64;*/
	background-image: url("../img/top/bg_about.webp");
	background-position: right top;
	background-repeat: no-repeat;
	background-size: cover;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

.about-img,
.campagin-img {
	width: 100%;
	margin-top: 4rem;
}

.campagin-img {
  display: flex;
  justify-content: center;
}

.about-text-wrap {
	display: flex;
	justify-content: space-between;
}

.about-ttl {
	font-size: 3.4rem;
	letter-spacing: .08em;
}

.about-ttl-en {
	width: 10rem;
	margin-bottom: 1.4rem;
}

.about-ttl-en img {
	width: 100%;
}

.about-txt {
	width: 48.2rem;
	font-size: 1.5rem;
	line-height: 1.9;
}


.group {
	width: 100%;
	height: 51.8rem;
/*	aspect-ratio: 1440/518;*/
	background-image: url("../img/top/bg_group.jpg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

.group .container {
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

.group .sec-heading-en {
	width: 11.3rem;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 2.5rem;
}

.group .sec-heading {
	display: block;
	text-align: center;
	color: #FFF;
}

.group .sec-heading::after {
	width: 12.6rem;
	background-image: url("../img/top/group_sub_ttl.svg");
	left: 50%;
	transform: translateX(-50%);
	right: unset;
}

.group .heading-btn {
	margin-left: auto;
	margin-right: auto;
	color: #FFF;
}

.group .heading-btn::after {
	background-image: url(../img/top/btn_arrow_w.svg);
}

.news {
	padding-top: 8.2rem;
	/*padding-bottom: 8.3rem;*/
	margin-bottom: 4rem;
	position: relative;
}

.news::before {
	content: '';
	width: 94.4vw;
	height: 64rem;
/*	aspect-ratio:930/726;*/
	/*background-image: url("../img/top/bg_news.webp");*/
	background-position: right bottom;
	background-repeat: no-repeat;
	background-size: cover;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

.news-container {
	max-width: 925px;
	width: 92%;
	margin-left: auto;
	margin-right: auto;
}

.news .sec-ttl-en {
	width: 8.4rem;
	margin-bottom: 1.9rem;
}

.sec-ttl {
	font-size: 3rem;
	letter-spacing: .08em;
	position: relative;
}

.news-list {
/*	padding-top: 2rem;*/
	margin-top: 2.6rem;
	margin-bottom: 4rem;
	position: relative;
}

.news-list::before,
.news-list::after {
	content: '';
	width: 100%;
	height: 1px;
	/*background-image: url(../img/top/news_line.svg);
	background-repeat: repeat-x;
	background-position: center;
	background-size: contain;*/
	display: block;
	position: absolute;
	left: 0;
  border-bottom: 1px dashed #70A500;
}

.news-list::before {
	top: 0;
}

.news-list::after {
	bottom: 0;
}

.news-item {
	padding: 1.6rem 0;
}

.news-item:not(:last-of-type) {
/*	margin-bottom: 1.6rem;*/
  border-bottom: 1px dashed #70A500;
}

.news-flex {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

.news-thumb {
	width: 12rem;
	height: auto;
	aspect-ratio: 120/80;
	margin-right: 2.4rem;
}

.news-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.news-date {
	font-size: 1.6rem;
	color: #70A500;
	letter-spacing: .015em;
	margin-bottom: 1.5rem;
}

.news-ttl {
	font-size: 1.5rem;
	letter-spacing: .019em;
}

.news-btn {
	width: 32rem;
	margin-left: auto;
	margin-right: auto;
  height: 5.8rem;
  font-size: 1.8rem;
  letter-spacing: .13em;
  color: #70A500;
	background: #FFF;
  border: .2rem solid;
  border-radius: 30rem;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}

.news-btn::after {
	content: '';
	width: 4rem;
	height: auto;
	aspect-ratio:1/1;
	background-image: url(../img/top/btn_arrow_g.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	display: block;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: .8rem;
}



/*SP: 〜750px*/
@media screen and (max-width: 750px) {

	.mv-slider {
		aspect-ratio: 750 / 1328;
	}

	.mv {
		padding-top: 7rem;
	}
	
	.mv-message-wrap {
		margin-top: -9rem;
	}
	
	.mv-message {
		font-size: 2.4rem;
	}
	
	.mv-message::before,
	.mv-message::after {
		width: 2.1rem;
		
	}
	
	.mv-message::before {
		top: -1rem;
		left: -2.5rem;
	}
	
	.mv-message::after {
		bottom: -1rem;
		right: -1.5rem;
	}
	
	.mv-message-en {
		width: 27.6rem;
		margin-top: 4.3rem;
	}
	
	.mv-sns-wrap {
		bottom: 5rem;
		right: 2rem;
	}
	
	.mv-sns-list {
		flex-direction: column;
		align-items: center;
	}
	
	.mv-sns-item {
		width: 2.1rem;
	}
	
	.mv-sns-item:last-of-type {
		width: 2.48rem;
	}
	
	.mv-sns-item:not(:last-of-type) {
		margin-right: 0;
		margin-bottom: 2rem;
	}
	
	.mv-news-area {
		width: 100%;
		padding: .9rem;
		padding-right: 2.3rem;
		border-top-left-radius: 0;
	}
	
	.mv-news-area::before {
		content: '';
		width: 1.4rem;
		height: 100%;
		aspect-ratio: 14/30;
		background: #FF7A00;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
	}
	
	.mv-news-area::after {
		width: 1.4rem;
		aspect-ratio: 14/30;
	}
	
	.mv-news-txt {
		font-size: 1.2rem;
		line-height: 1;
	}
	
	.central {
		display: block;
		aspect-ratio: unset;
		background-image: none;
		padding-top: 8.6rem;
		margin-top: 0;
	}
	
	.sec-heading-wrap {
		margin-bottom: 2.4rem;
	}
	
	.central .sec-heading-en {
		width: 16.9rem;
		margin-bottom: 1rem;
	}
	
	.heading-txt {
		width: 100%;
	}
	.group .heading-txt {
		width: 100%;
	}
	
	.sec-heading {
		font-size: 2.6rem;
		margin-bottom: 0;
	}
	
	.sec-heading span {
		border: 2px solid;
		white-space: nowrap;
	}
	
	.sec-heading span.bb-none {
		padding: .3rem 1.3rem;
	}
	
	.cntral-sp-img {
		width: 98vw;
		margin-left: -4vw;
		margin-bottom: 4rem;
	}
	
	.heading-btn-wrap {
		display: block;
	}
	
	.heading-btn {
		margin-left: auto;
		margin-right: auto;
	}
	
	.heading-btn-wrap .heading-btn {
		width: 32rem;
		margin-left: auto;
		margin-right: auto;
		justify-content: center;
		padding-left: 0;
	}
	
	.heading-btn.btn-g {
		margin-right: auto;
		margin-bottom: 1.6rem;
	}
	
	
	.camping {
		display: block;
		aspect-ratio: unset;
		background-image: none;
		padding-top: 9.6rem;
		margin-top: 0;
		margin-bottom: 0;
	}
	
	.camping .sec-heading-en {
		width: 9.2rem;
		margin-bottom: 1rem;
	}
	
	.camping-sp-img {
		width: 98vw;
		margin-left: -2vw;
		margin-bottom: 4rem;
	}
	
	.info {
		padding-top: 6rem;
		padding-bottom: 6rem;
		margin-top: 9rem;
	}
	
	.info::before {
		width: 100%;
		height: 46rem;
	}
	
	.info-btn-list {
		margin-bottom: 6rem;
	}
	
	.info-btn-item {
		padding: 0;
	}
	
	.info-btn-item:not(:last-of-type) {
		margin-bottom: 1rem;
	}
	
	.info-btn {
		width: 32rem;
		height: 5.8rem;
		font-size: 1.8rem;
		border: 2px solid;
		justify-content: flex-start;
		padding-left: 12.7rem;
	}
	
	.info-btn._01::before {
		width: 4rem;
		left: 2.7rem;
	}
	
	.info-btn._02::before {
		width: 5rem;
		left: 2.2rem;
	}
	
	.info-btn._03::before {
		width: 3rem;
		left: 3.2rem;
	}
	
	.info-btn._04::before {
		width: 2.6rem;
		left: 3.4rem;
	}
	
	.info-btn::after {
		width: 4rem;
		right: .8rem;
	}
	
	.info-slide-item {
		width: 19.4rem;
	}
	
	.about {
		background-image: url(../img/top/about_bg_sp.webp);
		background-position: right top;
		background-size: cover;
		padding-top: 8.6rem;
		padding-bottom: 7rem;
	}
	
	.about::before {
		content: none;
	}
	
	.about-flex {
		padding-top: 7rem;
	}
	
	.about-text-wrap {
		flex-direction: column;
		margin-top: 0;
		margin-right: 0;
	}
	
	.about-ttl-wrap {
		justify-content: center;
		margin-bottom: 2.4rem;
	}
	
	.about-ttl {
		font-size: 2.6rem;
	}
	
	.about-txt {
		width: 100%;
		font-size: 1.4rem;
	}
	
	.about-ttl-en {
		width: 6.8rem;
		margin-bottom: 1.6rem;
	}
	
	.about-img {
		width: 100%;
		margin-top: 2.4rem;
		margin-bottom: 0;
	}
	
	.group {
		height: auto;
		padding: 7rem 0;
	}
	
	.group .sec-heading-en {
		width: 7rem;
		margin-bottom: 1.8rem;
	}
	
	.group .sec-heading {
		font-size: 2.6rem;
		margin-bottom: 2.5rem;
	}
	
	.group .sec-heading span {
		padding: .25rem 1.55rem;
	}
	
	.group .sec-heading span.bt-none {
		padding: .25rem .95rem;
	}
	
	.news {
		/*background-image: url(../img/top/bg_news_sp.webp);*/
		background-position: right bottom;
		background-size: cover;
		padding-top: 6.5rem;
		/*padding-bottom: 9rem;
		margin-bottom: 7rem;*/
	}
	
	.news::before {
		content: none;
	}
	
	.sec-ttl {
		font-size: 2.6rem;
		text-align: center;
	}
	
	.news-list {
/*		padding: 1.6rem 0;*/
		margin-top: 3rem;
		border-top: 1px dashed #70A500;
		border-bottom: 1px dashed #70A500;
	}
	
	.news-list::before,
	.news-list::after {
		content: none;
	}
	
	.news-item:not(:last-of-type) {
		padding-bottom: 1.6rem;
		border-bottom: 1px dashed #70A500;
	}
	
	.news-flex {
		flex-wrap: nowrap;
		align-items: flex-start;
	}
	
	.news-thumb {
		width: 10.8rem;
		margin-right: 1rem;
	}
	
	.news-info {
		width: 21.7rem;
	}
	
	.news-date {
		font-size: 1.3rem;
		margin-bottom: 1rem;
	}
	
	.news-ttl {
		font-size: 1.4rem;
		line-height: 1.4;
	}
	
	.news-btn {
		border: 2px solid;
	}
	
	.news-btn::after {
		width: 3.6rem;
		right: 1rem;
	}
	
}



