._toppage img {
	width: 100%;
}
._topCnt {
	max-width: 1170px;
	margin: 0 auto;
	padding: 20px 30px 30px;
}
@media screen and (max-width:768px) {
}
@media screen and (min-width:769px) {
	._mainVisualCarousel {
		display: flex;
	}
	._mainVisualCarousel div:nth-child(2) {
		order: 1;
	}
	._topCnt {
		padding: 30px 30px 60px;
	}
}

._cntBgColor1 {
	background: #bbdcf2;
	margin-top: 20px;
	position: relative;
	padding-bottom: 30px;
}
._cntBgColor1::after {
	content: "";
	mask-image: url("../images/bg_nami.svg");
	background-color: #fff;
	bottom: -1px;
	left: 0;
	position: absolute;
	width: 100%;
	height: 0;
	padding-bottom: 20px;
}
._cntBgColor2 {
	background: #e2f3ff;
	position: relative;
	padding-bottom: 30px;
	margin-top: 40px;
}
._cntBgColor2::before {
	content: "";
	mask-image: url("../images/bg_nami.svg");
	background-color: #e2f3ff;
	top: -19px;
	left: 0;
	position: absolute;
	width: 100%;
	height: 0;
	padding-bottom: 20px;
}
._cntBgColor2::after {
	content: "";
	mask-image: url("../images/bg_nami.svg");
	background-color: #fff;
	bottom: -1px;
	left: 0;
	position: absolute;
	width: 100%;
	height: 0;
	padding-bottom: 20px;
	transform: scale(-1,1);
}
@media screen and (min-width:769px) {
	._cntBgColor1 {
		margin-top: 20px;
		padding-bottom: 40px;
	}
	._cntBgColor1::after {
		bottom: -1px;
		left: 0;
		width: 100%;
		height: 0;
		padding-bottom: 41px;
	}
	._cntBgColor2 {
		padding-bottom: 40px;
		margin-top: 40px;
	}
	._cntBgColor2::before {
		top: -40px;
		left: 0;
		width: 100%;
		height: 0;
		padding-bottom: 41px;
	}
	._cntBgColor2::after {
		bottom: -1px;
		left: 0;
		width: 100%;
		height: 0;
		padding-bottom: 41px;
	}
}

._iconMt_1,
._iconKids_1,
._iconKids_2,
._iconKids_3,
._iconKids_4,
._iconKids_5,
._iconKids_6,
._iconKids_7{
	position: relative;
}
._iconMt_1::before,
._iconKids_1::after,
._iconKids_2::before,
._iconKids_3::before,
._iconKids_4::before,
._iconKids_5::before,
._iconKids_6::before,
._iconKids_7::before{
	content: "";
	position: absolute;
}
._iconMt_1::before{
	background: url("../images/bg_mt.svg") no-repeat center left;
	background-size: cover;
	width: 329px;
	height: 45px;
	top: -44px;
	right: 0;
	overflow: hidden;
}
._iconKids_1::after{
	background: url("../images/icon_kids_1.png") no-repeat center;
	background-size: contain;
	width: 125px;
	height: 74px;
	top: -10px;
	right: 10px;
}
._iconKids_2::before{
	background: url("../images/icon_kids_2.png") no-repeat center;
	background-size: contain;
	width: 70px;
	height: 81px;
	top: -20px;
	right: 30px;
}
._iconKids_3::before{
	background: url("../images/icon_kids_3.png") no-repeat center;
	background-size: contain;
	width: 140px;
	height: 129px;
	top: -10px;
	right: 20px;
}
._iconKids_4::before{
	background: url("../images/icon_kids_4.png") no-repeat center;
	background-size: contain;
	width: 130px;
	height: 69px;
	top: 10px;
	right: 20px;
}
._iconKids_5::before{
	background: url("../images/icon_kids_5.png") no-repeat center;
	background-size: contain;
	width: 98px;
	height: 78px;
	top: 6px;
	right: 20px;
}
._iconKids_6::before{
	background: url("../images/icon_kids_6.png") no-repeat center;
	background-size: contain;
	width: 75px;
	height: 81px;
	top: 4px;
	right: 20px;
}
._iconKids_7::before{
	background: url("../images/icon_kids_7.png") no-repeat center;
	background-size: contain;
	width: 103px;
	height: 115px;
	top: -30px;
	right: 30px;
}
@media screen and (min-width:769px) {
	._iconMt_1::before{
		width: 727px;
		height: 83px;
		top: -82px;
		right: 20px;
		background-size: contain;
	}
	._iconKids_1::after{
		width: 206px;
		height: 122px;
		top: -40px;
		right: 100px;
	}
	._iconKids_2::before{
		width: 113px;
		height: 132px;
		top: -50px;
		right: 70px;
	}
	._iconKids_3::before{
		width: 200px;
		height: 185px;
		top: -10px;
		right: 60px;
	}
	._iconKids_4::before{
		width: 200px;
		height: 108px;
		top: 10px;
		right: 100px;
	}
	._iconKids_5::before{
		width: 163px;
		height: 130px;
		top: -10px;
		right: 50px;
	}
	._iconKids_6::before{
		width: 118px;
		height: 127px;
		top: -10px;
		right: 100px;
	}
	._iconKids_7::before{
		width: 150px;
		height: 170px;
		top: -50px;
		right: 100px;
	}
}

._toppage h2 {
	max-width: 1170px;
	margin: 0 auto;
	padding: 25px 30px 0;
}
._toppage h2 span {
	display: block;
	font-size: 12px;
	margin-top: 5px;
}
@media screen and (min-width:769px) {
	._toppage h2 {
		padding-top: 30px;
	}
	._toppage h2 span {
		font-size: 16px;
		margin-top: 8px;
	}
}

h2._ttlPickup img { width: 122px; }
h2._ttlEvent img { width: 107px; }
h2._ttlSpecialFeature img { width: 164px; }
h2._ttlNews img { width: 86px; }
h2._ttlLecture img { width: 143px; }
h2._ttlSkiResort img { width: 186px; }
h2._ttlCoupon img { width: 128px; }
@media screen and (min-width:769px) {
	h2._ttlPickup img { width: 192px; }
	h2._ttlEvent img { width: 168px; }
	h2._ttlSpecialFeature img { width: 257px; }
	h2._ttlNews img { width: 143px; }
	h2._ttlLecture img { width: 224px; }
	h2._ttlSkiResort img { width: 291px; }
	h2._ttlCoupon img { width: 200px; }
}

ul._topPickup {
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	gap: 15px;
	padding: 0 10px;
}
ul._topPickup li {
	border-radius: 10px;
	overflow: hidden;
}
@media screen and (min-width:769px) {
	ul._topPickup {
		flex-direction: row;
		gap: 20px 2%;
		padding: 0;
	}
	ul._topPickup li {
		width: 32%;
	}
}

._highway {
	color: #b47bc7 !important;
  background-color: #fff !important;
  border: 1px solid #b47bc7 !important;
	border-radius: 5px;
  padding: 4px 10px;
	font-size: 10px;
	font-weight: 700;
	line-height: 1;
}
._highway::before {
	content: "\e904";
  font-family: icomoon;
  font-weight: 400;
  padding-right: 3px;
}
@media screen and (min-width:769px) {
	._highway {
		padding: 4px 10px;
		font-size: 12px;
	}
}

/*--------------------------------------------------------------------
[Top]Slider共通
--------------------------------------------------------------------*/
._topSlideCnt {
	overflow: hidden;
}
._topSlideCnt .splide__track {
	overflow: visible;
}
._topSlideConts {
	position: relative;
}
._topSlideConts ._tagSkiArea {
	position: absolute;
	top: 5px;
	left: -5px;
	border-radius: 3px 5px 5px 0;
	pointer-events: none;
	padding: 2px 10px;
}
._topSlideConts ._tagSkiArea::before {
	position: absolute;
	content: "";
	top: 100%;
	left: 0;
	border: none;
}
._topSlideConts ._txt {
	position: absolute;
	bottom: 5px;
	left: 0px;
	color: #fff;
	pointer-events: none;
	padding: 5px 15px;
	font-size: 15px;
	text-shadow: 0px 0px 5px #000;
	line-height: 1.3;
}
._topSlideConts ._pref {
	position: absolute;
	bottom: 5px;
	left: 0px;
	pointer-events: none;
	padding: 5px 15px;
	display: flex;
	gap: 5px;
}
._topSlideConts ._pref li {
	color: #fff;
  background-color: #5da2c3;
  border: 1px solid #5da2c3;
	border-radius: 5px;
  padding: 4px 10px;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
}
._topSlideConts a {
	border-radius: 10px;
	overflow: hidden;
	text-decoration: none;
	color: inherit;
	display: block;
	position: relative;
}
._topSlideConts a.inImg::after {
	content: "";
	display: block;
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(102, 102, 102, 0.5) 80%, rgba(102, 102, 102, 0.7) 100%);
	width: 100%;
  height: 80px;
  position: absolute;
  bottom: 0;
}
._topSlideConts a img:hover {
	filter: alpha(opacity=100);
	-moz-opacity: 1;
	opacity: 1;
}
@media screen and (max-width:768px) {
	._topSlideConts ._tagSkiArea {
		font-size: 11px;
	}
	._topSlideConts ._txt {
		font-size: 14px;
	}
}

/**** 前へ / 次へボタン ****/
.splide__arrows {
	display: flex;
	gap: 10px;
}
.splide__arrow--prev,
.splide__arrow--next {
	position: relative;
	flex-shrink: 0;
	margin: 0;
}
.splide__arrow:disabled {
	pointer-events: none;
	opacity: 0.5;
}
.splide__arrow:disabled::before {
	box-shadow: inset 0.8rem 0.8rem 1.2rem rgba(0, 0, 0, 0.05), inset -0.8rem -0.8rem 1.2rem #fff;
}
.splide__arrow--prev,
.splide__arrow--next {
  display: grid;
  place-content: center;
  width: 40px;
  height: 40px;
  cursor: pointer;
  transition: all .2s ease 0s;
  background-color: #fff;
  border-radius: 50%;
  border: 2px solid #000;
  position: relative;
}
.splide__arrow--prev::after,
.splide__arrow--next::after {
  content: "";
  -webkit-mask-image: url(../images/arrow.svg);
  mask-image: url(../images/arrow.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  background-color: #000;
  width: 14px;
  height: 14px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.splide__arrow--prev::after {
  transform: rotate(180deg) translate(50%, 50%);
}
.splide__arrow:disabled {
  pointer-events: none;
  opacity: 0;
}
.splide__arrow:focus-visible {
  outline: 3px solid rgba(180, 233, 0, 0.8);
  outline-offset: 3px;
  z-index: 1;
  transition: none;
}
.splide__arrow > svg {
  display: none;
}
.splide-controller {
	display: flex;
	align-items: center;
	margin-top: 20px;
}
.splide__pagination {
  font-size: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 1.2rem 0.8rem;
	justify-content: flex-start;
	margin: 0 auto 0 0;
	text-align: center;
}
.splide__pagination > li {
	font-size: 0;
	/* liタグの下にある余白を消すため */
}
.splide__pagination__page {
	width: 2rem;
	height: 4px;
	cursor: pointer;
	transition: all .2s ease 0s;
	vertical-align: top;
	background-color: #eee;
}
.splide__pagination__page.is-active {
	width: 5rem;
	background-color: #65baee;
}
.splide__pagination__page:focus-visible {
  outline: 3px solid rgba(180, 233, 0, 0.8);
  outline-offset: 3px;
  z-index: 1;
  transition: none;
}
.splide__slide {
	width: max-content;
	/*opacity: 0.6;*/
	transition: all .2s ease 0s;
}
.splide__slide.is-active {
	opacity: 1;
}
.splide__slide:focus-visible {
  outline: 3px solid rgba(180, 233, 0, 0.8);
  outline-offset: 3px;
  z-index: 1;
  transition: none;
}
.splide-wrapper {
  position: relative;
}


/*--------------------------------------------------------------------
ボタン
--------------------------------------------------------------------*/
.bt{
  width: 70%;
  margin: 0 auto;
  position: relative;
  background: #000;
  border-radius: 60px;
}
.bt a{
  padding: .8em 1em;
  color: #fff !important;
  display: block;
  text-align: center;
  text-decoration: none;
	font-weight: 700;
}

.bt.rightAlign{
  margin-right: 0;
  width: 180px;
}
@media screen and (min-width:769px) {
  .bt{
    width: 100%;
    max-width: 350px;
  }
  .bt.rightAlign{
    width: 250px;
  }
  .bt a{
		font-size: 15px;
    padding: .7em 1em;
	}
}


/*--------------------------------------------------------------------
[Top]Event
--------------------------------------------------------------------*/
._topEventCnt ._tagSkiArea{
	color: #fff;
	background: #44bdce;
}
._topEventCnt ._tagSkiArea::before{
	border-bottom: 6px solid transparent;
	border-right: 6px solid #35a3b3;
}
._topEventCnt .bt{
  background: #44bdce;
}
._topEventCnt .splide__arrow--prev,
._topEventCnt .splide__arrow--next {
  border-color: #44bdce;
}
._topEventCnt .splide__arrow--prev::after,
._topEventCnt .splide__arrow--next::after {
  background-color: #44bdce;
}


/*--------------------------------------------------------------------
[Top]SpecialFeature
--------------------------------------------------------------------*/
._topSpecialFeatureCnt ._specialFeatureTtl{
	color: #fff;
  /*text-shadow: 0 0 5px white;*/
  padding: 0.5em;
  background: -webkit-repeating-linear-gradient(-45deg, #00a0e9, #00a0e9 7px,#33b3ed 0px, #33b3ed 16px);
  background: repeating-linear-gradient(-45deg, #00a0e9, #00a0e9 7px,#33b3ed 0px, #33b3ed 16px);
	text-align: center;
	font-weight: 700;
	font-size: 16px;
}
._topSpecialFeatureCnt .bt{
  background: #00a0e9;
}
._topSpecialFeatureCnt .splide__arrow--prev,
._topSpecialFeatureCnt .splide__arrow--next {
  border-color: #00a0e9;
}
._topSpecialFeatureCnt .splide__arrow--prev::after,
._topSpecialFeatureCnt .splide__arrow--next::after {
  background-color: #00a0e9;
}


/*--------------------------------------------------------------------
[Top]Lecture
--------------------------------------------------------------------*/
._topLectureCnt ._tagSkiArea{
	color: #fff;
	background: #3eb483;
}
._topLectureCnt ._tagSkiArea::before{
	border-bottom: 6px solid transparent;
	border-right: 6px solid #35a3b3;
}
._topLectureCnt .bt{
  background: #3eb483;
}
._topLectureCnt .splide__arrow--prev,
._topLectureCnt .splide__arrow--next {
  border-color: #3eb483;
}
._topLectureCnt .splide__arrow--prev::after,
._topLectureCnt .splide__arrow--next::after {
  background-color: #3eb483;
}


/*--------------------------------------------------------------------
[Top]SkiResort
--------------------------------------------------------------------*/
._topSkiResortCnt{
	margin-bottom: 70px;
}
._topSkiResortCnt ._tagSkiArea{
	color: #fff;
	background: #b47bc7;
}
._topSkiResortCnt ._tagSkiArea::before{
	border-bottom: 6px solid transparent;
	border-right: 6px solid #b47bc7;
}
._topSkiResortCnt .bt{
  background: #b47bc7;
}
._topSkiResortCnt .splide__arrow--prev,
._topSkiResortCnt .splide__arrow--next {
  border-color: #b47bc7;
}
._topSkiResortCnt .splide__arrow--prev::after,
._topSkiResortCnt .splide__arrow--next::after {
  background-color: #b47bc7;
}
._topSkiResortListCnt{
	max-width: 1000px;
	margin: 30px -10px 0;
	background: #fff;
	border-radius: 20px;
	padding: 30px 25px;
}
._topSkiResortListConts h3{
	font-size: 15px;
}
._topSkiResortListConts{
	margin-bottom: 20px;
}
._topSkiResortListConts dl{
	padding: 15px 10px 10px 20px;
}
._topSkiResortListConts dt{
	display: inline-block;
}
._topSkiResortListConts li{
	border-bottom: 1px dashed #ccc;
}
._topSkiResortListConts li a{
	display: block;
	color: inherit;
	padding: 10px 0;
	font-size: 13px;
	position: relative;
}
._topSkiResortListConts li a:hover{
	text-decoration: none;
}
._topSkiResortListConts li a::after{
	content: "→";
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translateY(-50%);
	font-size: 12px;
	transition: all .2s ease 0s;
}
._topSkiResortListConts li a:hover::after{
	right: 0;
}
@media screen and (min-width:769px) {
	._topSkiResortCnt{
		margin-bottom: 70px;
	}
	._topSkiResortListCnt{
		margin: 30px auto 0;
		border-radius: 30px;
		padding: 30px;
	}
	._topSkiResortListConts h3{
		font-size: 17px;
	}
	._topSkiResortListConts ul{
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	._topSkiResortListConts li{
		width: 47%;
	}
	._topSkiResortListConts li a{
		padding: 10px 0;
		font-size: 14px;
	}
	._topSkiResortListConts li a:hover{
		text-decoration: none;
	}
	._topSkiResortListConts li a::after{
		font-size: 12px;
	}
}


/*--------------------------------------------------------------------
[Top]News
--------------------------------------------------------------------*/
._topNewsListCnt{
	max-width: 1000px;
	margin: 0 -20px 20px;
}
a._topNewsListConts{
	display: flex;
	align-items: center;
	gap: 15px;
	text-decoration: none;
	padding: 10px;
	background: #fff;
	color: inherit;
	border-radius: 10px;
  margin-bottom: 10px;
}
._topNewsDetialImg{
	max-width: 120px;
}
._topNewsDetialTtl h3{
	color: #305372;
  font-size: 13px;
	margin-top: 8px;
}
._topNewsDetialTtl .time{
	font-size: 11px;
}
._topNewsDetialTtl .cat{
	display: inline-block;
  color: #fff;
  font-size: 10px;
  margin-left: 10px;
  text-align: center;
	padding: 1px 10px;
}
._topNewsDetialTtl .news{
	background-color: #66c369;
}
._topNewsDetialTtl .event{
	background-color: #c4121b;
}
._topNewsDetialTtl .campaign{
	background-color: #eb9d3b;
}
._topNewsCnt .bt{
  background: #faa519;
}
@media screen and (min-width:769px) {
	._topNewsListCnt{
		margin: 0 auto 20px;
	}
	a._topNewsListConts{
		gap: 20px;
	}
	._topNewsDetialImg{
		max-width: 200px;
	}
	._topNewsDetialTtl h3{
		font-size: 16px;
		margin-top: 15px;
	}
	._topNewsDetialTtl .time{
		font-size: 13px;
	}
	._topNewsDetialTtl .cat{
		display: inline-block;
		color: #fff;
		font-size: 12px;
		margin-left: 10px;
		text-align: center;
		padding: 1px 10px 3px;
	}
}


/*--------------------------------------------------------------------
[Top]Coupon
--------------------------------------------------------------------*/
._topCouponCnt .bt{
  background: #32a0d3;
}
._topCouponCnt .splide__arrow--prev,
._topCouponCnt .splide__arrow--next {
  border-color: #32a0d3;
}
._topCouponCnt .splide__arrow--prev::after,
._topCouponCnt .splide__arrow--next::after {
  background-color: #32a0d3;
}
._topCouponCnt ._ttlCouponImg{
	width: 55%;
	margin: 0 auto;
	padding: 15px 10px 10px;
}
._topCouponCnt .coupon_box{
	margin-bottom: 0;
}
._topCouponCnt .coupon_box a{
	position: absolute;
}
@media screen and (max-width:750px) {	/*splideに合わせて幅指定している*/
	._topCouponCnt .coupon_box{
		border-radius: 15px;
		background-position: center 0px;
		background-size: 110%;
		padding-top: 0;
		height: 280px;
		margin-bottom: 0;
	}
	._topCouponCnt ._ttlCouponImg{
		width: 60%;
		padding: 5px 10px;
	}
	._topCouponCnt .ski_area_box .c_area_road,
	._topCouponCnt .ski_area_box .c_area{
		font-size: 10px;
	}
	._topCouponCnt .ski_area_box{
		padding-bottom: 10px;
	}
	._topCouponCnt .ski_area_box2{
		padding-top: 10px;
	}
	._topCouponCnt .ski_area_box h3,
	._topCouponCnt .ski_area_box2 h3{
		font-size: 14px;
	}
	._topCouponCnt .ski_area_box2 p{
		font-size: 12px;
	}
}
@media screen and (min-width:751px) {
	._topCouponCnt .coupon_box{
		background-position: center top;
	}
}


/*--------------------------------------------------------------------
[Top]画面Fixedテキストバナー
--------------------------------------------------------------------*/
.Bnr__img{
	top: 170px;
}
@media screen and (max-width: 768px) {
	.Bnr__img{
		top: 90px;
	}
}
