@charset "UTF-8";
/* CSS Document */

/*---------------------------------------------------------------------------
　トップイメージ
---------------------------------------------------------------------------*/
#index_1st {
	width: 100vw;
	height: 100vh;
	margin: 0;
	padding: 0;
	position: relative;
	color: #2b2b2b;
	overflow: hidden;
}

/*ムービー部分*/
#index_1st video {
	width: auto;
	height: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}

.i1copy1,
.i1copy2,
.japan_heritage {position: absolute;}

.i1copy1 {
	width: 120px;
	left: 5%;
	bottom: 25%;
	z-index: 10;
}
.i1copy2 {
	width: 240px;
	left: 5%;
	bottom: 5%;
	z-index: 12;
}

.japan_heritage {
	width: 200px;
	padding: 40px;
	box-sizing: border-box;
	right: 5%;
	bottom: 2.5%;
	background: #fff;
	z-index: 13;
}

.japan_heritage a {display: block;}
.japan_heritage a:first-child {margin-bottom: 16px!important;}

@media only screen and (min-width:737px) and (max-width:1024px) {/*タブレット*/
	.i1copy1 {width: 60px;}
	.i1copy2 {width: 180px;}
	.japan_heritage {
		width: 140px;
		padding: 16px;
	}
}
@media screen and (max-width:736px) {/*スマートフォン*/
	#index_1st {
		background: url("../images/index_sp.jpg")center bottom no-repeat;
		background-size: cover;
	}
	#index_1st video {display: none;}
	.i1copy1 {
		width: 50px;
		bottom: 20%;
	}
	.i1copy2 {
		width: 120px;
		bottom: 3%;
	}
	.japan_heritage {
		width: 80px;
		padding: 8px;
	}
}

.i1_fade {
  opacity: 0;
  animation-name: i1_fade;
  animation-duration: 3s;
  animation-timing-function: ease-out;
  animation-fill-mode: forwards;
}

@keyframes i1_fade {
   0% {
      opacity: 0;
   }
   30% {
      opacity: 1;
   }
   100% {
      opacity: 1;
   }
}

/*-------------------------------------------------------------------------*/



/*---------------------------------------------------------------------------
　イメージ2
---------------------------------------------------------------------------*/
#index_2nd {
	width: 100%;
	margin: 0;
	padding: 80px 0;
	box-sizing: border-box;
	text-align: center;
}

#index_2nd h3 {
	margin: 0 auto 40px;
	font-size: 2rem;
	line-height: 1.5;
	text-align: left;
}

@media only screen and (min-width:737px) and (max-width:1024px) {/*タブレット*/
	#index_2nd h3 {font-size: 1.5rem;}
}
@media screen and (max-width:736px) {/*スマートフォン*/
	#index_2nd {padding: 40px 16px;}
	#index_2nd h3 {font-size: 1.5rem;}
}

.i_btn {
	width: 320px;
	margin: 40px auto 0;
	font-size: 1.25rem;
	line-height: 1;
	letter-spacing: 1px;
}

.i_btn a {
	padding: 8px 16px;
	box-sizing: border-box;
	border: solid 1px #2b2b2b;
	display: flex;
	justify-content: center;
	align-items: center;
}

.i_btn img {
	width: 1.5rem;
	margin-left: 32px;
	filter: brightness(0) saturate(100%) invert(8%) sepia(12%) saturate(13%) hue-rotate(329deg) brightness(99%) contrast(79%);
}

#index_3rd .i_btn a,
#index_5th .i_btn a {
	color: #fff;
	border: solid 1px #fff;
}
#index_3rd .i_btn img,
#index_5th .i_btn img {filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(137deg) brightness(102%) contrast(102%);}

@media screen and (max-width:736px) {/*スマートフォン*/
	.i_btn {
		width: 90%;
		font-size: 18px;
	}
	.i_btn img {margin-left: 16px;}
}

/*-------------------------------------------------------------------------*/



/*---------------------------------------------------------------------------
　スライド
---------------------------------------------------------------------------*/
#index_slide {
	width: 100%;
	line-height: 0;
}
#index_slide img {
	width: 100%;
	aspect-ratio: 4 / 3!important;
	object-fit: cover;
	transform: scale(1.15);
}
.swiper-wrapper {transition-timing-function: linear!important;}

/*-------------------------------------------------------------------------*/



/*---------------------------------------------------------------------------
　お知らせ
---------------------------------------------------------------------------*/
#index_news {
	margin: 0;
	padding: 40px 40px 5%;
	background: #e3e5e9;
	position: relative;
	z-index: 99999!important;
}

#index_news h3,
#news_ropeway,
#rp_news,
.news_block {
	max-width: 1040px;
	width: 90%;
}

#index_news h3 {
	margin: 0 auto 8px;
	padding: 0 0 8px;
	box-sizing: border-box;
	line-height: 1.4;
	text-align: center;
	border-bottom: solid 1px #b8c7c7;
}

/*ロープウェイのお知らせ*/
#news_ropeway {
	margin: 0 auto 16px;
	padding: 16px;
	box-sizing: border-box;
	background: #b4463d;
	color: #fff;
}

#news_ropeway h4 {
	font-size: 1.25rem;
	margin-bottom: 4px;
}

#index_news article {
	margin: 0 auto 8px;
	padding: 0 0 8px;
	box-sizing: border-box;
	border-bottom: solid 1px #b8c7c7;
	line-height: 1.4;
}

#news_ropeway article {
	margin: 0 auto;
	border-bottom: 0;
}

#news_ropeway a {color: #fff;}

#index_news article:last-child {margin: 0 auto;}

#rp_news {margin: 0 auto 40px;}
#rp_news a {color: #b4463d;}
#rp_news article {border-bottom: solid 1px #b4463d;}

.news_block {
	display: flex;
	align-items: center;
}

.n_category {margin-left: auto;}
.n_category span {
	padding: 4px 8px;
	box-sizing: border-box;
	border: solid 1px #a48b78;
	color: #a48b78;
	font-size: .8rem;
}

.n_day {font-size: .8rem;}

.n_title {margin-left: 1em;}
.n_title a:hover {opacity: .8;}

@media screen and (max-width:736px) {/*スマートフォン*/
	#index_news {padding: 16px 0;}
	#news_ropeway {
		margin: 0 auto 16px;
		font-size: 14px;
	}
	
	.news_block {display: block;}
	.n_title {margin-left: 0;}
}

ul#schedule_btn {
	max-width: 1040px;
	width: 90%;
	margin: 40px auto;
	padding: 0;
	list-style-type: none;
	display: grid;
	grid-template-columns: auto auto;
	grid-template-rows: auto;
	grid-gap: 16px;
	font-size: 1.25rem;
	text-align: center;
}

ul#schedule_btn a {
	display: block;
	margin: 0;
	padding: 16px;
	box-sizing: border-box;
	background: #a48b78;
	color: #fff;
}
ul#schedule_btn a:hover {background: #8f7562;}

@media screen and (max-width:736px) {/*スマートフォン*/
	ul#schedule_btn {
		margin: 16px auto 0;
		font-size: 18px;
		display: block;
	}
	ul#schedule_btn a {padding: 8px 16px;}
	ul#schedule_btn a:first-child {margin-bottom: 8px;}
}



/* モーダルウィンドウの基本スタイル */
#nr_btn {
	margin-left: auto;
	cursor: pointer;
	transition: all 0.3s ease;
	font-weight: bold;
}
#nr_btn a {color: #fff;}

#myModal {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.8);
	z-index: 99999!important;
}

.modal-content {
	width: 90%;
	max-width: 1000px;
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	padding: 40px;
	box-sizing: border-box;
	background-color: #fefefe;
	border: 1px solid #888;
	border-radius: 4px; /* モーダルの角を丸くするための半径 */
	font-family: sans-serif;
}

.modal-content h3 {
	width: 100%!important;
	margin: 0 0 16px;
	padding: 4px 16px!important;
	box-sizing: border-box;
	background: #c9171e;
	color: #fff;
	line-height: 1;
	text-align: center;
}

.modal-content h4 {
	margin: 8px 0 4px;
	padding: 0;
	font-size: 1em;
	border-bottom: solid 1px #c9171e;
}
.modal-content h4::before {
	content: "■";
	margin-right: .5em;
	color: #c9171e;
}
.modal-content strong {color: #c9171e;}

.kikan {
	margin: 0 0 8px;
	display: flex;
	align-items: center;
	font-weight: bold;
	line-height: 1.25;
}
.kikan p:nth-child(1) {
	width: 4em;
	margin: 0 1em 0 0;
	padding: 10px 16px;
	box-sizing: border-box;
	background: #c9171e;
	font-size: 1.5rem;
	letter-spacing: 1px;
	text-align: center;
	color: #fff;
}
.kikan p:nth-child(2) {
	font-size: 1.5rem;
	color: #c9171e;
}
.kikan p:nth-child(2) strong {font-size: 2rem;}

.modal_spbr {display: none;}

@media screen and (max-width:736px) {/*スマートフォン*/
	#myModal {font-size: 14px;}
	.modal-content {
		width: 88%;
		padding: 16px;
		top: 16px;
		left: 50%;
		transform: translate(-50%, 0);
	}
	
	.kikan {
		display: block;
		text-align: center;
	}
	.kikan p:nth-child(1) {
		width: 100%;
		padding: 4px;
		font-size: 1rem;
		margin-bottom: 4px;
	}
	.kikan p:nth-child(2) {
		font-size: 1rem;
	}
	.kikan p:nth-child(2) strong {font-size: 1.5rem;}
	
	.modal_spbr {display: block;}
}

/* モーダルを閉じるボタン（×）のスタイル */
#closeModal {
	cursor: pointer;
}
.pc-close {
	display: block;
	position: absolute;
	top: -36px;
	right: -36px;
	width: 40px;
	height: 40px;
	z-index: 10000;
	background: #2b2b2b;
	border-radius: 50%;
}
.pc-close span {
	display: block;
	width: 24px;
	height: 1px;
	background: #fff;
}

.pc-close span:nth-child(1) {
	transform: rotate(45deg) translate(18px,8px);
}
.pc-close span:nth-child(2) {
	transform: rotate(-45deg) translate(-8px,18px);
}

.sp-close {display: none;}

@media screen and (max-width:736px) {/*スマートフォン*/
	.pc-close {display: none;}
	.sp-close {
		display: block;
		width: 100%;
		margin-top: 4px;
		text-align: center;
		color: #a48b78;
		border: solid 1px #a48b78;
	}
}
/*-------------------------------------------------------------------------*/



/*---------------------------------------------------------------------------
　イメージ3
---------------------------------------------------------------------------*/
#index_3rd {
	width: 100%;
	margin: 0;
	padding: 80px 5%;
	box-sizing: border-box;
	background: url("../images/index_3rd.jpg") center;
	background-size: cover;
	color: #fff;
	text-align: center;
}

#index_3rd h3 {
	margin: 0 auto 40px;
	font-size: 3rem;
	line-height: 1.5;
}

@media only screen and (min-width:737px) and (max-width:1024px) {/*タブレット*/
	#index_3rd h3 {font-size: 2rem;}
}
@media screen and (max-width:736px) {/*スマートフォン*/
	#index_3rd h3 {font-size: 1.5rem;}
}


/*-------------------------------------------------------------------------*/



/*---------------------------------------------------------------------------
　マップ
---------------------------------------------------------------------------*/
#index_map {
	width: 100%;
	padding: 40px;
	box-sizing: border-box;
	background: #dcdddd;
	position: relative;
}
#index_map h3 {
	position: absolute;
	top: 5%;
	left: 60%;
}

.map_img {text-align: center;}
.i_m-image {
	margin-top: -22%;
	pointer-events: none;
}

a.i_m-link {
	padding: 8px 40px 16px 80px;
	position: absolute;
	right: 0;
	bottom: 5%;
	font-size: 18px;
	line-height: 1.25;
	/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#920783+2,920783+100&0+1,1+30,1+100 */
	background: linear-gradient(to right,  rgba(130,72,128,0) 1%,rgba(130,72,128,0.03) 2%,rgba(130,72,128,1) 30%,rgba(130,72,128,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	color: #fff;
	opacity: .8;
}
a.i_m-link:hover {opacity: 1;}

a.i_m-link span {display: block;}
a.i_m-link span:first-child {
	margin: 0 0 8px;
	padding: 0 0 8px;
	box-sizing: border-box;
	font-size: 2rem;
	border-bottom: solid 1px #fff;
}
a.i_m-link span:first-child::before {
	content: "▶︎";
	margin-right: 8px;
}

@media only screen and (min-width:737px) and (max-width:1024px) {/*タブレット*/
	.i_m-image {
		width: 80%;
		margin-top: -22%;
	}
	a.i_m-link {bottom: 0;}
}
@media screen and (max-width:736px) {/*スマートフォン*/
	#index_map {padding: 16px;}
	#index_map h3 {
		top: 8px;
		left: 16px;
	}
	
	.map_img {
		margin: 16px calc(50% - 50vw) 0;
		overflow: scroll!important;
	}
	.map_img img {
		max-width: 1000px!important;
		height: auto;
	}
	.i_m-image {display: none;}
	
	a.i_m-link {
		position: relative;
		bottom: 0;
		margin: 16px 0 0;
		padding: 8px;
		display: block;
		background: rgba(130,72,128,1)!important;
		font-size: 14px;
	}
	
	a.i_m-link span:first-child {font-size: 1.5rem;}
}

area {cursor: pointer;}

/*-------------------------------------------------------------------------*/



/*---------------------------------------------------------------------------
　リンクブロック3点
---------------------------------------------------------------------------*/
#index_area {
	max-width: 1040px;
	width: 90%;
	margin: 0 auto;
	padding: 100px 0;
	box-sizing: border-box;
	font-size: 2rem;
	line-height: 1;
}
#index_area ul {
	margin: 0;
	padding: 0;
	list-style-type: none;
}
#index_area li {
	position: relative;
	border: solid 1px #2b2b2b;
	aspect-ratio: 10 / 3;
	margin-bottom: 10%;
}
#index_area li:last-child {margin-bottom: 0;}
#index_area a {color: #fff;}

#index_area li span:nth-child(1),
#index_area li span:nth-child(2),
#index_area li span:nth-child(3) {
	display: block;
	position: absolute;
}

#index_area li span:nth-child(1) {
	width: 96%;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	aspect-ratio: 10 / 3.5;
}
#index_area li span:nth-child(1) img {
	width: 100%;
	aspect-ratio: 10 / 3.5;
	object-fit: cover;
	filter: brightness(72%);
}
#index_area li span:nth-child(2),
#index_area li span:nth-child(3) {
	left: 4%;
	filter: drop-shadow(1px 1px 4px #000);
}
#index_area li span:nth-child(2) {top: 0;}
#index_area li span:nth-child(3) {
	bottom: 0;
	display: flex;
	align-items: center;
}

#index_area a span:nth-child(3) img {
	width: 2rem;
	margin-left: 16px;
	filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(137deg) brightness(102%) contrast(102%);
}

@media screen and (max-width:736px) {/*スマートフォン*/
	#index_area {
		padding: 40px 0;
		font-size: 18px;
	}
	#index_area a span:nth-child(3) img {
		width: 1.16rem;
		margin-left: 8px;
	}
}

/*-------------------------------------------------------------------------*/



/*---------------------------------------------------------------------------
　イメージ4
---------------------------------------------------------------------------*/
#index_4th {width: 100%;}

#i4_image {
	width: 100%;
	display: flex;
	background: #000;
	color: #fff;
	line-height: 1;
}

.i4i_img,
.i4i_text {width: 50%;}

.i4i_img {aspect-ratio: 4 / 3;}
.i4i_img img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}
.i4i_text {position: relative;}
.i4i_text p {
	position: absolute;
	top: 50%;
	left: 25%;
	font-size: 2rem;
}

#i4_block {
	width: 100%;
	margin: 0;
	padding: 80px 0;
	box-sizing: border-box;
	text-align: center;
}

#i4_block h3 {
	margin: 0 auto 40px;
	font-size: 3rem;
	line-height: 1.5;
	text-align: left;
}

@media only screen and (min-width:737px) and (max-width:1024px) {/*タブレット*/
	#i4_block h3 {font-size: 2rem;}
}
@media screen and (max-width:736px) {/*スマートフォン*/
	#i4_block h3 {font-size: 1.5rem;}
	.i4i_text p {font-size: 1rem;}
}


/*-------------------------------------------------------------------------*/



/*---------------------------------------------------------------------------
　イメージ5
---------------------------------------------------------------------------*/
#index_5th {
	width: 100%;
	margin: 0;
	padding: 80px 5%;
	box-sizing: border-box;
	background: url("../images/index_5th.jpg") no-repeat center;
	background-size: cover;
	color: #fff;
	text-align: center;
}

#index_5th h3 {
	margin: 0 auto 40px;
	font-size: 3rem;
	line-height: 1.5;
}

@media only screen and (min-width:737px) and (max-width:1024px) {/*タブレット*/
	#index_5th h3 {font-size: 2rem;}
}
@media screen and (max-width:736px) {/*スマートフォン*/
	#index_5th h3 {font-size: 1.5rem;}
}

/*-------------------------------------------------------------------------*/



/*---------------------------------------------------------------------------
　トップページ最下部
---------------------------------------------------------------------------*/
#index_bottom {
	max-width: 1024px;
	width: 90%;
	aspect-ratio: 16 / 9;
	margin: 80px auto;
	padding: 0;
	background: url("../images/index_bottom.jpg") no-repeat center;
	background-size: 100% auto;
	text-align: center;
	font-size: 20px;
	position: relative;
}
#index_bottom h3 {
	font-size: 3rem;
	line-height: 1.4;
}

.bottomtext {
	width: 100%;
	position: absolute;
	bottom: 40px;
	color: #fff;
}

@media only screen and (min-width:737px) and (max-width:1024px) {/*タブレット*/
	#index_bottom {font-size: 1.25rem;}
	#index_bottom h3 {font-size: 2rem;}
}
@media screen and (max-width:736px) {/*スマートフォン*/
	#index_bottom {
		margin: 16px auto;
		background-size: cover;
		font-size: 1rem;
	}
	#index_bottom h3 {font-size: 1.5rem;}
	.bottomtext {bottom: 8px;}
}

/*-------------------------------------------------------------------------*/
