@charset "UTF-8";

/* ---------------------------------------------------
	lpKv
---------------------------------------------------- */
.topKv {
	margin-bottom: 65px;
	position: relative;
}

.topKv .logo {
	width: 13.3636%;
	position: absolute;
	top: 5.09446%;
	left: 2.07964%;
	z-index: 2;
}

.topKv .title {
	line-height: 1.5;
	color: rgb(var(--wht));
	font-size: 5.45455vw;
	white-space: nowrap;
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 2;
	transform: translate(-50%, -50%);
}

@media screen and (max-width: 768px) {
	.topKv {
		margin-bottom: 13.33333vw;
	}

	.topKv .logo {
		width: 33.95%;
		top: 5.04307vw;
	}

	.topKv .title {
		padding: 0 4.8vw;
		/* width: 78.95443%; */
		width: 100%;
		font-size: 13.71896vw;
		text-align: center;
		left: 50%;
		transform: translate(-50%, -50%);
	}
}

/*
	kvSlide
------------------------------ */
.kvSlide {
	line-height: 0;
}

.kvSlide__item {
	position: relative;
}

.kvSlide__item::before {
	background: rgba(80, 80, 80, 0.2);
	width: 100%;
	height: 100%;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	content: "";
}

.kvSlide__item--link.linkBtn {
	width: 100%;
	height: 6vw;
	text-align: center;
	position: absolute;
	bottom: 18%;
	left: 0;
	z-index: 3;
}

.kvSlide__item--link.linkBtn a {
	background: #e97341;
	margin: 0 auto;
	width: 40%;
	height: 100%;
	font-size: 2vw;
	border-color: #e97341;
	border-radius: 6vw;
}

.kvSlide__item--link.linkBtn a:hover {
	background: rgb(var(--wht));
	color: #e97341;
	border-color: rgb(var(--wht));
}

.kvSlide.slick-dotted.slick-slider {
	margin-bottom: 0;
}

.kvSlide__item--image {
	position: relative;
	z-index: 1;
}

.kvSlide__item--image figcaption {
	line-height: 1;
	color: rgb(var(--wht));
	font-size: 1.36364vw;
	position: absolute;
	right: 1em;
	bottom: 1em;
}

.kvSlide .slick-dots {
	padding-left: 3.34158%;
	line-height: 1;
	display: flex;
	position: relative;
	top: -2.5em;
	z-index: 2;
}

.kvSlide .slick-dots li {
	margin: 0 0.5em;
	width: 3.27273%;
	height: 6px;
	position: relative;
	bottom: auto;
}

.kvSlide .slick-dots li button {
	padding: 0;
	width: 100%;
	height: 100%;
	border: solid 1px rgb(var(--wht));
	border-radius: 5px;
}

.kvSlide .slick-dots li.slick-active {
	background: rgb(var(--wht));
	border-radius: 5px;
}

@media screen and (max-width: 768px) {
	.kvSlide__item::before {
		display: none;
	}

	.kvSlide__item--link.linkBtn {
		height: 12vw;
		bottom: 20%;
	}

	.kvSlide__item::before {
		background: rgb(0, 0, 0);
		background: linear-gradient(90deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.1) 100%);
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 2;
		content: "";
	}

	.kvSlide__item--link.linkBtn a {
		width: 90%;
		font-size: 4.26667vw;
	}

	.kvSlide__item--link.linkBtn a:hover {
		background: rgb(var(--wht));
		color: #e97341;
		border-color: rgb(var(--wht));
	}

	.kvSlide__item--image figcaption {
		font-size: 3.73333vw;
		bottom: 3.5em;
		right: 0.5em;
	}

	.kvSlide .slick-dots {
		justify-content: flex-end;
		top: -2.5em;
	}

	.kvSlide .slick-dots li {
		width: 8%;
	}
}

/* ---------------------------------------------------
	topMain
---------------------------------------------------- */
.topMain {
	position: relative;
}

/*
	mapNav
------------------------------ */
.mapNav {
	margin-bottom: 75px;
	position: relative;
}

.mapNav__marker {
	position: absolute;
}

.mapNav__marker a {
	display: block;
}

.mapNav__marker a:hover {
	opacity: 1;
	transform: scale(1.2);
}

.mapNav__marker a svg {
	width: 100%;
	height: auto;
	vertical-align: bottom;
}

/* 北海道 */
.mapNav__marker.hokkaido {
	width: 18.92857143%;
	top: 17.42574257%;
	left: 60.23809524%;
}

/* 東京 */
.mapNav__marker.tokyo {
	width: 14.762%;
	left: 51.9047619%;
	top: 62.57425743%;
}

/* 松山 */
.mapNav__marker.matsuyama {
	width: 21.9047619%;
	left: 27.85714286%;
	top: 77.22772277%;
}

/* 関西 */
.mapNav__marker.kansai {
	width: 10.47619048%;
	top: 55.84158416%;
	left: 29.16666667%;
}

/* 広島 */
.mapNav__marker.hiroshima {
	width: 14.04761905%;
	top: 40.59405941%;
	left: 20.11904762%;
}

/* 九州 */
.mapNav__marker.kyushu {
	width: 16.30952381%;
	top: 84.95049505%;
	left: 22.02380952%;
}

/* 沖縄 */
.mapNav__marker.okinawa {
	width: 12.97619048%;
	left: 81.78571429%;
	top: 75.84158416%;

}

/* svg */
.mapNav__marker a .cls-1 {
	fill: #258d67;
}

.mapNav__marker a .cls-2 {
	stroke: #fff;
	stroke-width: .71px;
}

.mapNav__marker a .cls-2,
.mapNav__marker a .cls-3 {
	fill: none;
	stroke-miterlimit: 10;
}

.mapNav__marker a .cls-4 {
	fill: #fff;
}

.mapNav__marker a .cls-3 {
	stroke: #258d67;
	stroke-width: .85px;
}

.mapNav__marker a .cls-5 {
	fill: #e97341;
}

.mapNav__marker a:hover .cls-5 {
	fill: #0280e7;
}

@media screen and (max-width: 768px) {
	.mapNav {
		margin-bottom: 20vw;
	}

	.mapNav__marker {
		width: 4.95789vw;
	}

	.mapNav__marker a svg {
		vertical-align: middle;
	}

	/* 北海道 */
	.mapNav__marker.hokkaido {
		width: 22.96577947%;
		top: 17.63371151%;
		left: 74.82889734%;
	}

	/* 東京 */
	.mapNav__marker.tokyo {
		width: 23.15589354%;
		left: 68.44106464%;
		top: 49.52998379%;
	}

	/* 松山 */
	.mapNav__marker.matsuyama {
		width: 34.22053232%;
		left: 34.29657795%;
		top: 59.35656402%;
	}

	/* 関西 */
	.mapNav__marker.kansai {
		width: 24.22053232%;
		left: 40.95057034%;
		top: 47.1636953%;
		z-index: 2;
	}

	/* 広島 */
	.mapNav__marker.hiroshima {
		width: 24.56273764%;
		left: 25.58935361%;
		top: 36.40194489%;
	}

	/* 九州 */
	.mapNav__marker.kyushu {
		width: 25.96958175%;
		left: 26.19771863%;
		top: 66.35332253%;
	}

	/* 沖縄 */
	.mapNav__marker.okinawa {
		width: 28.66920152%;
		left: 65.20912548%;
		top: 86.38573744%;
	}
}

/* ---------------------------------------------------
	features
---------------------------------------------------- */
.features {
	margin-bottom: 85px;
}

.features__title {
	margin-bottom: 1em;
	color: rgb(var(--blue));
	font-size: 30px;
	font-weight: normal;
	text-align: center;
}

.features__list {
	display: flex;
	justify-content: space-between;
}

.features__item {
	width: 29.88945%;
}

.features__item .image {
	margin-bottom: 1.5rem;
}

.features__contents {
	text-align: center;
}

.features__contents--title {
	margin-bottom: 1rem;
	line-height: 1.25;
	color: rgb(var(--blue));
	font-size: 22px;
}

.features__contents--detail .text {
	font-size: 14px;
}

.features__contents--detail .note li {
	justify-content: center;
}

@media screen and (max-width: 1100px) {
	.features {
		margin-bottom: 7.72727vw;
	}

	.features__title {
		font-size: 2.72727vw;
	}

	.features__contents--title {
		font-size: 2vw;
	}

	.features__contents--detail .text,
	.features__contents--detail .note li {
		font-size: 1.27273vw;
	}
}

@media screen and (max-width: 768px) {
	.features {
		margin-bottom: calc(14.66667vw - 2em);
	}

	.features__title {
		font-size: 6.93333vw;
	}

	.features__list {
		display: block;
	}

	.features__item {
		margin-bottom: 2em;
		width: 100%;
	}

	.features__contents--title {
		font-size: 5.86667vw;
	}

	.features__contents--detail .text,
	.features__contents--detail .note li {
		font-size: 3.73333vw;
	}
}

/* ---------------------------------------------------
	golf-course
---------------------------------------------------- */
.golf-course {
	padding: 5.09091vw 50px;
}

.golf-course a {
	margin: 0 auto;
	max-width: 37.27273%;
	height: 4.54545vw;
	font-size: 1.54545vw;
	border-radius: 4.54545vw;
}

.golf-course a svg {
	width: 1.09091vw;
}

@media screen and (max-width: 768px) {
	.golf-course {
		padding: 4em 4.8vw;
	}

	.golf-course a {
		max-width: 100%;
		height: 13.33333vw;
		font-size: 4vw;
		border-radius: 13.33333vw;
	}

	.golf-course a svg {
		width: 3.2vw;
	}
}

/* ---------------------------------------------------
	topFooter
---------------------------------------------------- */
/*
	gnav（top）
------------------------------ */
.topFooter .gnav__list {
	display: flex;
	flex-wrap: wrap;
}

.topFooter .gnav__item {
	margin-right: 0.5333325%;
	width: calc((100% - 1.066665%) / 3);
	position: relative;
}

.topFooter .gnav__item:nth-child(1),
.topFooter .gnav__item:nth-child(2),
.topFooter .gnav__item:nth-child(3),
.topFooter .gnav__item:nth-child(4) {
	margin-bottom: 0.5333325vw;
	width: calc((100% - 0.5333325vw) / 2);
	height: 50vw;
	overflow: hidden;
	position: relative;
}

.topFooter .gnav__item:nth-child(2),
.topFooter .gnav__item:nth-child(4),
.topFooter .gnav__item:nth-child(7) {
	margin-right: 0;
}

.topFooter .gnav__item:nth-child(1) a .bg,
.topFooter .gnav__item:nth-child(2) a .bg {
	position: absolute;
	bottom: 0;
	left: 0;
}

.topFooter .gnav__item a {
	width: 100%;
	height: 100%;
	display: block;
	border-radius: 10px;
	position: relative;
	z-index: 1;
}

.topFooter .gnav__item a::before {
	background: rgb(255, 255, 255);
	background: linear-gradient(180deg, rgba(var(--wht), 0) 30%, rgba(var(--blk), 0.8) 100%);
	width: 100%;
	height: 100%;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 2;
	transition: all 0.5s ease 0s;
	content: "";
}

.topFooter .gnav__item a:hover::before {
	opacity: 0;
}

.topFooter .gnav__item a:hover {
	opacity: 1;
}

.topFooter .gnav__item a .map {
	width: 18.63636vw;
	position: absolute;
	right: 1vw;
	bottom: 1vw;
	z-index: 3;
}

.topFooter .gnav__item a .detail {
	position: absolute;
	bottom: 10vw;
	left: 2.72727vw;
	z-index: 3;
}

.topFooter .gnav__item a .detail dt img {
	width: auto;
	height: 3.90909vw;
}

.topFooter .gnav__item a .detail dd {
	margin-top: 1rem;
	line-height: 1.5;
	color: rgb(var(--wht));
	font-size: 1.63636vw;
	text-decoration: none;
}

.topFooter .gnav__item a .bg {
	position: relative;
	z-index: 1;
}

.topFooter .gnav__item.hiroshima a .bg,
.topFooter .gnav__item.fuji a .bg {
	overflow: hidden;
}

.topFooter .gnav__item.hiroshima a .bg img {
	width: auto;
	height: 50vw;
}

/* .topFooter .gnav__item.fuji a .bg img {
	width: auto;
	height: 46.76833vw;
} */

@media screen and (max-width: 768px) {

	.topFooter .gnav__item {
		margin-right: 0;
		margin-bottom: 0.5333325vw;
		width: calc((100% - 0.5333325vw) / 2);
		height: 49.4666675vw;
	}

	.topFooter .gnav__item:nth-child(1),
	.topFooter .gnav__item:nth-child(3),
	.topFooter .gnav__item:nth-child(5) {
		margin-right: 0.5333325vw;
	}

	.topFooter .gnav__item:nth-child(7) {
		width: 100%;
	}

	.topFooter .gnav__item a {
		height: 100%;
	}

	.topFooter .gnav__item a::before {
		background: rgba(var(--blk), 0.6);
		opacity: 1;
	}

	.topFooter .gnav__item a .map {
		width: 50%;
		position: absolute;
		right: 1.6vw;
		bottom: 1.6vw;
		z-index: 3;
	}

	.topFooter .gnav__item a .detail {
		top: 8vw;
		bottom: auto;
		left: 4vw;
	}

	.topFooter .gnav__item a .detail dt img {
		width: auto;
		/* height: 8.53333vw; */
		height: 7.2vw;
	}

	.topFooter .gnav__item a .detail dd {
		font-size: 3.73333vw;
	}

	.topFooter .gnav__item:nth-child(7) a .detail {
		top: 14.13333vw;
		bottom: auto;
	}

	.topFooter .gnav__item .bg {
		width: 100%;
		height: 100%;
	}

	.topFooter .gnav__item:nth-child(1) .bg {
		background: url(../img/gnavBg1.webp) right bottom no-repeat;
		background-size: cover;
	}

	.topFooter .gnav__item:nth-child(2) .bg {
		background: url(../img/gnavBg2.webp) right bottom no-repeat;
		background-size: cover;
	}

	.topFooter .gnav__item:nth-child(3) .bg {
		background: url(../img/gnavBg7.webp) right bottom no-repeat;
		background-size: cover;
	}

	.topFooter .gnav__item:nth-child(4) .bg {
		background: url(../img/gnavBg3.webp) right bottom no-repeat;
		background-size: cover;
	}

	.topFooter .gnav__item:nth-child(5) .bg {
		background: url(../img/gnavBg6.webp) right center no-repeat;
		background-size: cover;
	}

	.topFooter .gnav__item:nth-child(6) .bg {
		background: url(../img/gnavBg4.webp) right center no-repeat;
		background-size: cover;
	}

	.topFooter .gnav__item:nth-child(7) .bg {
		background: url(../img/gnavBg5.webp) right center no-repeat;
		background-size: cover;
	}

	.topFooter .gnav__item .bg img {
		display: none;
	}
}