@charset "UTF-8";

/*------------------------
topimg
------------------------*/
.topimg{
	width: 100%;
	position: relative;
	height: 680px;
}
.topimg .inner{
	width: 1000px;
	height: 100%;
	padding: 0 50px;
	margin: 0 auto;
}
.topimg .item {
	height: 680px;
}
.topimg .item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	position: relative;
}
.topimg .item::after{
	content: "";
	width: 100%;
	height: 100%;
	background: rgba(255, 255, 255, 0.15);
	position: absolute;
	top: 0;
	left: 0;
}
.topimg h1{
	width: 400px;
	padding: 180px 0;
	position: relative;
	z-index: 10;
}
/* slick */
.topimg .slick{
	position: absolute;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
}
.topimg .slick-arrow {
	width: 50px;
	height: 50px;
	top: auto;
	left: auto;
	bottom: 40px;
	right: 40px;
	background: #fff;
	z-index: 1;
	-webkit-transform: none;
	-ms-transform: none;
	transform: none;
	transition: 0.3s;
	border: 2px solid var(--yellow);
	box-sizing: border-box;
}
.topimg .slick-prev {
	right: 90px;
	border-right: 1px solid rgba(255, 255, 255, .4);
}
.topimg .slick-arrow:after {
	content: '';
	width: 12px;
	height: 12px;
	border-bottom: 2px solid var(--yellow);
	border-left: 2px solid var(--yellow);
	-webkit-transform: rotate(-135deg);
	transform: rotate(-135deg);
	position: absolute;
	top: 0;
	bottom: 0;
	right: 30%;
	transform: rotate(45deg);
	margin: auto;
	transition: all .3s ease 0s;
}
.topimg .slick-arrow.slick-next:after {
	transform: rotate(-135deg);
	right: auto;
	left: 35%;
}
.topimg .slick-arrow:hover{
	background: #fff8db;
}
.topimg .slick-prev:hover:before,.topimg .slick-prev:focus:before,.topimg .slick-next:hover:before,.topimg .slick-next:focus:before{
	opacity: 0;
}
/*------------------------
施設
------------------------*/
#link-wrap {
	background: #fffbed url(/campass/pc/img/common/pattern_line_w.png);
	background-size: auto;
}
#link-wrap .inner{
	padding: 30px 160px;
	display: flex;
	justify-content: space-between;
}

#link-wrap .f-btn a{
	width: 325px;
	height: 100px;
	background: #fff;
	border: 3px solid var(--green);
	border-radius: 12px;
	display: flex;
	align-items: center;
	border-right: 25px solid var(--green);
	box-sizing: border-box;
	position: relative;
}
#link-wrap .f-btn a::after{
	content: '';
	width: 9px;
	height: 9px;
	border-bottom: 2px solid #fff;
	border-left: 2px solid #fff;
	-webkit-transform: rotate(-135deg);
	transform: rotate(-135deg);
	position: absolute;
	top: 0;
	bottom: 0;
	right: -17px;
	margin: auto;
	transition: all .3s ease 0s;
}
#link-wrap .f-btn a:hover{
	transform: translateY(-10px);
}
#link-wrap .f-btn .image{
	width: 120px;
	height: 110px;
}
#link-wrap .f-btn .image img{
	object-fit: cover;
	border-radius: 12px 0 0 12px;
}

#link-wrap .f-btn .text{
	flex: 1;
	padding: 0 15px;
}
#link-wrap .f-btn .text .sub{
	font-size: 12px;
	font-weight: 500;
	line-height: 1;
	margin-bottom: 5px;
}
#link-wrap .f-btn .text h2{
	color: var(--green);
	font-size: 20px;
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1;
	margin-bottom: 6px;
}
#link-wrap .f-btn .text .access{
	line-height: 1;
	letter-spacing: .06em;
}
#link-wrap .f-btn .text .access span{
	color: var(--green);
	font-size: 16px;
	font-weight: bold;
	padding: 0 2px;
}
/*------------------------
ABOUT
------------------------*/
#about {
	position: relative;
}
#about::before{
	content: "";
	width: 417px;
	height: 124px;
	background: url(/campass/pc/img/index/en_about.svg) no-repeat;
	background-size: cover;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	opacity: .4;
}
#about .inner{
	padding: 60px 50px 80px;
	display: flex;
	justify-content: space-between;
}

#about .text{
	flex: 1;
	padding-top: 30px;
}
#about .text .textarea p{
	font-size: 16px;
	margin-bottom: 12px;
	letter-spacing: .09em;
}
#about .text .textarea p:last-child{
	margin-bottom: 30px;
}
/* ▽ SVG変更 ▽ */
#about .text .textarea p b{
	height: 26px;
	margin-bottom: 15px;
	display: block;
}
#about .text .textarea p b img{
	width: auto;
	height: 100%;
}
#about .image{
	width: 380px;
	height: 100%;
	padding-top: 100px;
	margin-right: 40px;
}
#about .image img{
	object-fit: cover;
	border-radius: 15px;
}
/*------------------------
INFORMATION
------------------------*/
#info{
	position: relative;
	margin-bottom: 80px;
}
#info .inner{
	padding: 0px 50px 80px;
}
/* インスタ */
#instagram_posts .instagram_list {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 20px;
}
#instagram_posts .instagram_list li{
	margin-bottom: 20px;
	margin-right: 20px;
	border-radius: 12px;
}
#instagram_posts .instagram_list li:nth-child(4n){
	margin-right: 0;
}
#instagram_posts .instagram_list li a{
	width: 210px;
	height: 210px;
}
#instagram_posts .instagram_list li a:hover{
	opacity: .7;
}
#instagram_posts .instagram_list li a img,
#instagram_posts .instagram_list li a video{
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 12px;
	border: 2px solid #fff;
}
#instagram_posts .instagram_list li .head{
	display: none;
}
#info .btn a{
	margin: 0 auto;
}
/*------------------------
scene
------------------------*/
#scene{
	position: relative;
	background: var(--green02);
	margin-bottom: 80px;
}
#scene::after{
	content: "";
	width: 100%;
	height: 80px;
	background: url(/campass/pc/img/index/scene_nami01.png) no-repeat;
	background-size: cover;
	display: block;
	position: absolute;
	top: -80px;
	left: 0;
}
#scene::before{
	content: "";
	width: 400px;
	height: 118px;
	background: url(/campass/pc/img/index/en_scene.svg) no-repeat;
	background-size: cover;
	display: block;
	position: absolute;
	top: -20px;
	left: 0;
	opacity: .4;
	z-index: 1;
}
#scene .image.bottom{
	height: 230px;
	width: 100%;
	position: absolute;
	bottom: -80px;
	left: 0;
}
#scene .inner{
	padding: 0px 50px 60px;
	z-index: 2;
}
#scene .inner .ttl-wrap h2.image{
	height: 32px;
}
#scene .block-wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#scene .block-wrap .block{
	position: relative;
	margin-bottom: 25px;
	width: 440px;
	padding: 25px 30px 30px;
	background: #fff;
	border-radius: 20px;
}
#scene .block-wrap .block .text{
	position: relative;
	margin-bottom: 20px;
}
#scene .block-wrap .block .text::after{
	content: "";
	width: 30px;
	height: 44px;
	background: url(/campass/pc/img/index/scene01_ashirai.svg) no-repeat;
	background-size: contain;
	position: absolute;
	right: -24px;
	bottom: -10px;
}
#scene .block-wrap .block .text .ttl{
	padding-bottom: 10px;
	margin-bottom: 12px;
	border-bottom: 1px solid var(--black);
}
#scene .block-wrap .block .text .sub{
	width: 68px;
	height: auto;
	margin-bottom: 2px;
}
#scene .block-wrap .block .text .sub img{
	object-fit: contain;
}
#scene .block-wrap .block .text h3{
	font-size: 21px;
	line-height: 1.2;
	letter-spacing: .075em;
	font-weight: 600;
}
#scene .block-wrap .block .main{
	width: 100%;
	height: 260px;
}
#scene .block-wrap .block .main img{
	border-radius: 15px;
	object-fit: cover;
}



/*------------------------
FACILITY
------------------------*/
#facility {
	position: relative;
	margin-bottom: 80px;
}
#facility::before{
	content: "";
	width: 440px;
	height: 150px;
	background: url(/campass/pc/img/index/en_facility.svg) no-repeat;
	background-size: cover;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	opacity: .4;
}
#facility .inner{
	padding: 50px 50px 60px;
}
#facility .top-wrap{
	display: flex;
	justify-content: space-between;
	width: 840px;
	margin: 0 auto 40px;
}

#facility .top-wrap .text{
	flex: 1;
	padding-top: 20px;
}
#facility .top-wrap .text h2{
	width: auto;
	height: 26px;
	margin-bottom: 25px;
	position: relative;
}
#facility .top-wrap .text h2 img{
	width: auto;
	height: 100%;
}
#facility .top-wrap .text h2::before{
	content: "";
	width: 100%;
	height: 4px;
	background: var(--yellow);
	border-radius: 50px;
	position: absolute;
	bottom: -14px;
	left: 0;
}
#facility .top-wrap .text h2::after{
	content: "";
	width: 160px;
	height: 4px;
	background: var(--green);
	border-radius: 50px 0 0 50px;
	position: absolute;
	bottom: -14px;
	left: 0;
}
#facility .top-wrap .text .textarea p{
	letter-spacing: .09em;
}
#facility .top-wrap .map-wrap{
	margin: 0;
}
#facility .top-wrap .image img{
	object-fit: cover;
	border-radius: 15px;
}