@charset "utf-8";

/*============================
基本設定
============================*/
body {
	overflow-x: hidden;
}
@media print,screen and (max-width: 640px) {
	body {
		height: 100%;
		min-width: 100%;
	}
}

main {
	position: relative;
	height: 100%;
	overflow: visible;
	overflow-x: hidden;
}

/*============================
スライダー設定
============================*/
/* スライダー全体 */
.sp_contents_wrap .in .slides_wrap {
	position: relative;
}

.sp_contents_wrap .in .slides {
	position: relative;
}

.sp_contents_wrap .in .slides .slide {
	padding: 0 0.185rem;
	box-sizing: border-box;
}

.sp_contents_wrap .in .slides .slide .ph_wrap {
	width: 100%;
	height: 2.50rem;
	border-radius: 0.05rem;
	overflow: hidden;
}

.sp_contents_wrap .in .slides .slide .ph_wrap img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* スライダー矢印 */
.sp_contents_wrap .in .slide-arrow {
	width: 0.35rem;
	height: 0.35rem;
	position: absolute;
	top: 1.12rem;
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	z-index: 1;
}

.sp_contents_wrap .in .slide-arrow.-prev {
	background-image: url(../images/slider_arrow_prev.svg);
	left: 0.09rem;
}

.sp_contents_wrap .in .slide-arrow.-next {
	background-image: url(../images/slider_arrow_next.svg);
	right: 0.09rem;
}

/* スライダードット */
.sp_contents_wrap .in .dots_wrap {
	position: absolute;
	top: 2.25rem;
	left: 0.32rem;
	z-index: 1;
	display: flex;
	gap: 0 0.08rem
}

.sp_contents_wrap .in .dots_wrap li {
	width: 0.09rem;
	height: 0.09rem;
	border-radius: 50%;
	background-color: #FFF;
	border: 1px solid #FFF;
}

.sp_contents_wrap .in .dots_wrap li.slick-active {
	background-color: #FF6F5F;
}

.sp_contents_wrap .in .dots_wrap li button {
	text-indent: -9999px;
	background-color: transparent;
	border: 0;
}

/*============================
PC背景
============================*/
.pc_contents_wrap {
	width: 100%;
	height: 100vh;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 0;
}
@media print,screen and (max-width: 767px) {
	.pc_contents_wrap {
		display: none;
	}
}

.pc_contents_wrap::after {
	content: "";
	width: calc(50% + 2.04rem);
	height: 4.60rem;
	position: absolute;
	right: 0;
	bottom: 0;
	background-image: url(../images/pc_snow_bg.png);
	background-position: left bottom;
	background-repeat: no-repeat;
	background-size: auto 100%;
	z-index: 1;
	transition: all 0.3s;
}
@media print,screen and (max-height: 850px) {
	.pc_contents_wrap::after {
		bottom: -0.60rem;
	}
}
@media print,screen and (max-height: 750px) {
	.pc_contents_wrap::after {
		bottom: -0.90rem;
	}
}

/* 動画背景 */
.pc_contents_wrap .mov_bg {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
}

.pc_contents_wrap .mov_bg::before {
	content: "";
	width: 100%;
	height: 100%;
	background-color: rgba(37,23,21,0.2);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}

.pc_contents_wrap .mov_bg video {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	position: relative;
	z-index: 0;
}

/* ロゴ */
.pc_contents_wrap .pc_logo {
	position: absolute;
	width: 3.10rem;
	height: 2.50rem;
	top: 0;
	left: 0;
	transition: all 0.3s;
}
@media print,screen and (max-height: 850px) {
	.pc_contents_wrap .pc_logo {
		width: 2.20rem;
	}
}

.pc_contents_wrap .pc_logo img {
	display: block;
}

/* メインタイトル */
.pc_contents_wrap .pc_mv_ttl {
	width: 6.03rem;
	position: absolute;
	top: 50%;
	left: calc(50% - 6.60rem);
	transform: translateY(-50%);
	z-index: 1;
}
@media print,screen and (max-width: 1040px) {
	.pc_contents_wrap .pc_mv_ttl {
		width: 5.03rem;
		left: 0.2rem;
	}
}

.pc_contents_wrap .pc_mv_ttl img {
	display: block;
	margin: auto;
	transition: all 0.3s;
}
@media print,screen and (max-height: 850px) {
	.pc_contents_wrap .pc_mv_ttl img {
		padding: 0 0.30rem;
		box-sizing: border-box;
	}
}

/* ナビゲーション*/
.pc_contents_wrap .pc_navi {
	position: absolute;
	top: 0.73rem;
	left: calc(50% + 4.70rem);
	z-index: 1;
}
@media print,screen and (max-height: 850px) {
	.pc_contents_wrap .pc_navi {
		top: 0.33rem;
	}
}
@media print,screen and (max-width: 1040px) {
	.pc_contents_wrap .pc_navi {
		left: calc(50% + 4.20rem);
	}
}
@media print,screen and (max-width: 950px) {
	.pc_contents_wrap .pc_navi {
		display: none;
	}
}

.pc_contents_wrap .pc_navi .link {
	padding-bottom: 4vh;
	transition: padding 0.3s;
	cursor: pointer;
}
@media print,screen and (max-height: 850px) {
	.pc_contents_wrap .pc_navi .link {
		padding-bottom: 3.6vh;
	}
}
@media print,screen and (max-height: 750px) {
	.pc_contents_wrap .pc_navi .link {
		padding-bottom: 2vh;
	}
}

.pc_contents_wrap .pc_navi .link a:hover {
	opacity: 0.7;
}

@media print,screen and (max-width: 1040px) {
	.pc_contents_wrap .pc_navi .link a {
		text-align: left;
	}
}

/* 予約 */
.pc_contents_wrap .pc_reserve_box {
	width: 2.86rem;
	position: absolute;
	bottom: 0;
	left: calc(50% + 4.96rem);
	z-index: 2;
	transition: all 0.3s;
}
@media print,screen and (max-width: 1600px) {
	.pc_contents_wrap .pc_reserve_box {
		left: calc(50% + 4.30rem);
	}
}
@media print,screen and (max-width: 1040px) {
	.pc_contents_wrap .pc_reserve_box {
		left: calc(50% + 4.16rem);
	}
}
@media print,screen and (max-width: 950px) {
	.pc_contents_wrap .pc_reserve_box {
		display: none;
	}
}
@media print,screen and (max-height: 850px) {
	.pc_contents_wrap .pc_reserve_box {
		width: 2.00rem;
	}
}

.pc_contents_wrap .pc_reserve_box .img {
	padding-bottom: 0.20rem;
}

.pc_contents_wrap .pc_reserve_box .img img {
	display: block;
}

.pc_contents_wrap .pc_reserve_box .btn {
	width: calc(100% - 0.10rem);
	padding-bottom: 0.40rem;
}

.pc_contents_wrap .pc_reserve_box .btn a {
	display: block;
	padding: 0.225rem 0 0.25rem;
	line-height: 0;
	background-color: #FF6F5F;
	position: relative;
	border-radius: 0.45rem;
	text-align: center;
}

.pc_contents_wrap .pc_reserve_box .btn a::after {
	content: "";
	width: 0.15rem;
	height: 0.15rem;
	background-image: url(../images/link_arrow.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	right: 0.19rem;
	top: 46%;
	transform: translateY(-50%);
}

.pc_contents_wrap .pc_reserve_box .btn a span {
	font-size: 0.16rem;
	font-feature-settings: "palt";
	font-weight: 700;
	color: #FFF;
	display: inline-block;
	padding-right: 0.10rem;
}

/*============================
SPコンテンツ
============================*/
.sp_contents_wrap {
	width: 8.42rem;
	z-index: 1;
	position: relative;
	margin: 0.65rem auto 0;
}
@media print,screen and (max-height: 850px) {
	.sp_contents_wrap {
		margin: 0.25rem auto 0;
	}
}
@media print,screen and (max-width: 1040px) {
	.sp_contents_wrap {
		width: 6.00rem;
	}
}
@media print,screen and (max-width: 767px) {
	.sp_contents_wrap {
		width: 100%;
		height: auto;
		margin: 0;
		overflow: auto;
	}
}

.sp_contents_wrap .in {
	width: 375px;
	margin: 0 0 0 auto;
	padding: 0;
	position: relative;
	border-radius: 0.20rem 0.20rem 0 0;
	/* box-shadow: 0 0 0.20rem rgba(0,0,0,0.4); */
}
@media print,screen and (max-width: 767px) {
	.sp_contents_wrap .in {
		width: 100%;
		margin: 0;
		border-radius: 0;
		box-shadow: 0 0 0 rgba(0,0,0,0.4);
		/* overflow: scroll;
		overflow-x: hidden; */
	}
}

/* SPメニューボタン */
.sp_contents_wrap .in .sp_menu_btn {
	position: fixed;
	top: 0;
	right: 0;
	width: 0.60rem;
	height: 0.60rem;
	z-index: 3;
	display: none;
}
@media print,screen and (max-width: 640px) {
	.sp_contents_wrap .in .sp_menu_btn {
		display: block;
	}
}

.sp_contents_wrap .in .sp_menu_btn .btn_wrap {
	width: 0.20rem;
	height: 0.19rem;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: 1;
}

.sp_contents_wrap .in .sp_menu_btn .btn_wrap span {
	width: 100%;
	height: 0.02rem;
	background-color: #FFF;
	position: absolute;
	left: 0;
	transition: all 0.3s;
}

.sp_contents_wrap .in .sp_menu_btn.-rev .btn_wrap span {
	background-color: #000;
}

.sp_contents_wrap .in .sp_menu_btn .btn_wrap span:nth-of-type(1) {
	top: 0;
}
.sp_contents_wrap .in .sp_menu_btn .btn_wrap span:nth-of-type(2) {
	top: 50%;
	transform: translateY(-50%);
}
.sp_contents_wrap .in .sp_menu_btn .btn_wrap span:nth-of-type(3) {
	bottom: 0;
}

.sp_contents_wrap .in .sp_menu_btn.-open .btn_wrap span:nth-of-type(1) {
	top: calc(50% - 0.01rem);
	transform: rotate(45deg);
}
.sp_contents_wrap .in .sp_menu_btn.-open .btn_wrap span:nth-of-type(2) {
	opacity: 0;
}
.sp_contents_wrap .in .sp_menu_btn.-open .btn_wrap span:nth-of-type(3) {
	bottom: calc(50% - 0.01rem);
	transform: rotate(-45deg);
}

/* SPメニュー */
.sp_menu {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100dvh;
	background-color: #00A59A;
	display: none;
	z-index: 2;
}

.sp_menu .inner {
	position:absolute;
	width: 100%;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}

.sp_menu .inner .list {
	padding-bottom: 0.30rem;
}

.sp_menu .inner .list .link {
	padding-bottom: 0.30rem;
}

.sp_menu .inner .list .link a {
	display: block;
}

.sp_menu .inner .list .link a img {
	display: block;
	margin: auto;
}

.sp_menu .inner .list .link.-link01 a img {
	width: 0.89rem;
}

.sp_menu .inner .list .link.-link02 a img {
	width: 0.79rem;
}

.sp_menu .inner .list .link.-link03 a img {
	width: 0.59rem;
}

.sp_menu .inner .list .link.-link04 a img {
	width: 0.595rem;
}

.sp_menu .inner .list .link.-link05 a img {
	width: 0.325rem;
}

.sp_menu .inner .list .link.-link06 a img {
	width: 0.85rem;
}

.sp_menu .inner  .btn {
	padding: 0 0.20rem;
}

.sp_menu .inner  .btn a {
	display: block;
	padding: 0.225rem 0 0.25rem;
	line-height: 0;
	background-color: #FF6F5F;
	position: relative;
	border-radius: 0.45rem;
	text-align: center;
}

.sp_menu .inner  .btn a::after {
	content: "";
	width: 0.15rem;
	height: 0.15rem;
	background-image: url(../images/link_arrow.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	right: 0.19rem;
	top: 46%;
	transform: translateY(-50%);
}

.sp_menu .inner  .btn a span {
	font-size: 0.14rem;
	font-feature-settings: "palt";
	font-weight: 700;
	color: #FFF;
	display: inline-block;
	padding-right: 0.10rem;
}

/* MV */
.sp_contents_wrap .in .mv {
	border-radius: 0.20rem 0.20rem 0 0;
	overflow: hidden;
}
@media print,screen and (max-width: 767px) {
	.sp_contents_wrap .in .mv {
		border-radius: 0;
	}
}

.sp_contents_wrap .in .mv img {
	display: block;
}

/* about */
.sp_contents_wrap .in .about img {
	display: block;
}

/* cabin map */
.sp_contents_wrap .in .cabin {
	margin-top: -120px;
	background-color: #FFF;
}
.sp_contents_wrap .in .cabin img {
	display: block;
}

/* cabin map */
.sp_contents_wrap .in .activity {
	background-color: #FFF;
}

.sp_contents_wrap .in .activity .sec_ttl img {
	display: block;
}

.sp_contents_wrap .in .activity .slides .slide .txt_box {
	color: #112739;
	padding: 0 0.11rem;
}

.sp_contents_wrap .in .activity .slides .slide .txt_box .activity_logo {
	padding: 0.30rem 0;
	text-align: center;
}

.sp_contents_wrap .in .activity .slides .slide .txt_box .activity_logo img {
	display: block;
	margin: auto;
}

.sp_contents_wrap .in .activity .slides .slide .txt_box .catch {
	font-size: 0.12rem;
	font-weight: 700;
}

.sp_contents_wrap .in .activity .slides .slide .txt_box .activity_ttl {
	font-size: 0.20rem;
	font-weight: 700;
	padding: 0.15rem 0;
}

.sp_contents_wrap .in .activity .slides .slide .txt_box .txt {
	font-size: 0.12rem;
	line-height: 1.91;
	letter-spacing: 0;
	font-feature-settings: normal;
	text-align: justify;
}

.sp_contents_wrap .in .activity .slides .slide .txt_box .txt.-lead {
	padding-bottom: 0.38rem;
}

.sp_contents_wrap .in .activity .slides .slide .txt_box .list {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	border-top: 1px solid #B0D9EC;
}

.sp_contents_wrap .in .activity .slides .slide .txt_box .list .list_ttl {
	padding: 0.20rem 0;
	font-size: 0.12rem;
	line-height: 1.91;
	font-weight: 700;
	width: 1.05rem;
}

.sp_contents_wrap .in .activity .slides .slide .txt_box .list .box {
	width: 2.08rem;
}

.sp_contents_wrap .in .activity .slides .slide .txt_box .list .box .txt {
	padding: 0.20rem 0;
}

.sp_contents_wrap .in .activity .slides .slide .txt_box .list.-snow_icon {
	align-items: center;
}

.sp_contents_wrap .in .activity .slides .slide .txt_box .list.-snow_icon .box {
	display: flex;
	gap: 0 0.10rem;
}

.sp_contents_wrap .in .activity .slides .slide .txt_box .list.-snow_icon .box span {
	display: block;
}

.sp_contents_wrap .in .activity .slides .slide .txt_box .list.-snow_icon .box img {
	height: 0.30rem;
}

.sp_contents_wrap .in .activity .slides .slide .txt_box .list.-acc .box {
	position: relative;
	cursor: pointer;
}

.sp_contents_wrap .in .activity .slides .slide .txt_box .list.-acc .box::after {
	content: "";
	width: 0.15rem;
	height: 0.15rem;
	background-image: url(../images/acc_arrow.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%) rotate(180deg);
}

.sp_contents_wrap .in .activity .slides .slide .txt_box .list.-acc.-open .box::after {
	transform: translateY(-50%) rotate(0);
}

/* 料金表 */
.sp_contents_wrap .in .activity .slides .slide .txt_box .price_box {
	display: none;
}

.sp_contents_wrap .in .activity .slides .slide .txt_box .price_box table {
	width: 100%;
	font-size: 0.12rem;
	letter-spacing: 0;
	font-weight: 500;
	padding-bottom: 0.95rem;
}

.sp_contents_wrap .in .activity .slides .slide .txt_box .price_box table .price_ttl {
	width: 1.05rem;
	padding-top: 0.12rem;
	font-weight: 500;
}

.sp_contents_wrap .in .activity .slides .slide .txt_box .price_box table .price_header {
	text-align: justify;
	text-align-last:justify;
	padding: 0 0.08rem;
	font-weight: 500;
}

.sp_contents_wrap .in .activity .slides .slide .txt_box .price_box table .price_header span {
	position: relative;
	display: block;
	padding-bottom: 0.10rem;
}

.sp_contents_wrap .in .activity .slides .slide .txt_box .price_box table .price_header span::after {
	content: "";
	width: 100%;
	height: 1px;
	background-color: #B0D9EC;
	position: absolute;
	left: 0;
	bottom: 0;
}

.sp_contents_wrap .in .activity .slides .slide .txt_box .price_box table td {
	padding: 0.12rem 0.08rem 0;
}

/* スライダー下部のニセコとの比較文 */
.sp_contents_wrap .in .activity .price_bottom_box {
	padding:0 0.185rem 0.30rem;
}

.sp_contents_wrap .in .activity .price_bottom_box .sample_ttl {
	font-size: 0.125rem;
	font-weight: 700;
	color: #000;
	padding-bottom: 0.10rem;
	font-feature-settings: "palt";
}

.sp_contents_wrap .in .activity .price_bottom_box .txt {
	font-size: 0.12rem;
	line-height: 1.91;
	letter-spacing: 0;
	font-feature-settings: normal;
	text-align: justify;
	color: #112739;
}

/* support */
.sp_contents_wrap .in .support img {
	display: block;
}

/* stay */
.sp_contents_wrap .in .stay img {
	display: block;
}

/* room */
.sp_contents_wrap .in .room {
	background-color: #CCBA98;
	padding-top: 0.70rem;
}

.sp_contents_wrap .in .room .sec_ttl {
	width: 1.27rem;
	margin: auto;
	padding-bottom: 0.27rem;
}

.sp_contents_wrap .in .room .slides {
	margin-bottom: 0.20rem;
}

.sp_contents_wrap .in .room .txt {
	padding: 0 0.30rem;
	font-size: 0.12rem;
	line-height: 1.91;
	text-align: justify;
	color: #112739;
}

/* breakfast */
.sp_contents_wrap .in .breakfast {
	background-color: #CCBA98;
	padding-top: 0.40rem;
	padding-bottom: 0.45rem;
}

.sp_contents_wrap .in .breakfast .sec_ttl {
	width: 2.305rem;
	margin: auto;
	padding-bottom: 0.27rem;
}

.sp_contents_wrap .in .breakfast .ph_wrap {
	padding: 0 0.185rem;
}

.sp_contents_wrap .in .breakfast .txt {
	padding: 0.18rem 0.30rem 0;
	font-size: 0.12rem;
	line-height: 1.91;
	text-align: justify;
	color: #112739;
}

/* sightseeing */
.sp_contents_wrap .in .sightseeing img {
	display: block;
}

/* sightseeing */
.sp_contents_wrap .in footer {
	position: relative;
}

.sp_contents_wrap .in footer .bg {
	position: relative;
	z-index: 0;
}

.sp_contents_wrap .in footer .bg img {
	display: block;
}

.sp_contents_wrap .in footer .btn {
	position: absolute;
	z-index: 1;
	width: calc(100% - 0.40rem);
	left: 0.20rem;
	bottom: 0.20rem;
}

.sp_contents_wrap .in footer .btn a {
	display: block;
	padding: 0.225rem 0 0.25rem;
	line-height: 0;
	background-color: #FF6F5F;
	position: relative;
	border-radius: 0.45rem;
	text-align: center;
}

.sp_contents_wrap .in footer .btn a::after {
	content: "";
	width: 0.15rem;
	height: 0.15rem;
	background-image: url(../images/link_arrow.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	right: 0.19rem;
	top: 46%;
	transform: translateY(-50%);
}

.sp_contents_wrap .in footer .btn a span {
	font-size: 0.14rem;
	font-feature-settings: "palt";
	font-weight: 700;
	color: #FFF;
	display: inline-block;
	padding-right: 0.10rem;
}