.text-decoration-none:hover {
	text-decoration: none;
}

button {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	outline: none;
	padding: 0;
}

.mt-5rem {
	margin-top: 5rem;	
}

/* トップMV css */
.top-img {
	padding-top: 35px;
}

.top-sp-img {
	aspect-ratio: 750 / 1200;
	width: 100%;
	height: auto;
	border-radius: 0 0 20px 20px;
}

.top-mv-layout {
	border-radius: 0 0 50px 50px;
	padding-bottom: 50px;
}

/* トップティッカー css */
.text-decoration-topticker {
	text-decoration: none;
}

.text-decoration-topticker:hover {
	text-decoration: none;
	opacity: 0.7;
}

.top_contents_outline{
	border: 2px solid var(--border-contents-outline);
	border-radius: 20px;
}

.top-banner {
	display: inline-block;
	padding-left: 100%;
	white-space: nowrap;
	animation: animate-banner 50s linear infinite;
}

@keyframes animate-banner {
	0% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(-100%);
	}
}

/* NEWS css */
.text-news {
	color: var(--txt-news);
}

.bg-news-btn {
	border: 2px solid var(--bg-news-btn);
	color: var(--bg-news-btn);
	text-decoration: none !important;
}

.news-title-suffix {
	background: var(--bg-news-title-suffix);
	margin-left: 10px;
	padding: 0 10px 2px 10px;
	border-radius: 20px;
}

/* コンディション css */
.condition-layout {
	color: var(--txt-condition);
	background: linear-gradient(to bottom right, var(--bg-condition-start) 40%, var(--bg-condition-end));
	border-radius: 20px;
}

@media screen and (min-width: 992px) {
	.position-condition-literal {
		position: absolute;
		transform: rotate(90deg);
		transform-origin: center;
		font-size: clamp(40px, 2.8vw, 52px);
		top: 88px;
		left: 85px;
	}
}

@media screen and (max-width: 992px) {
	.position-condition-literal {
		position: absolute;
		transform: rotate(90deg);
		font-size: clamp(50px, 2.5vw, 65px);
		top: 100px;
		right: -95px;
	}
}

.position-condition-img-sp {
	position:absolute;
	top: 0;
	left: 0;
	width: clamp(157px, 40vw, 207px);
	height: auto;
}

.course-btn-layout {
	background: var(--bg-course-btn-layout);
	color: var(--txt-course-btn-layout);
	padding: 0 10px;
	border-radius: 20px;
	cursor: pointer;
	pointer-events: all;
}

/* プレミアムスノー css */

.txt-bg-premium-snow {
	background-color: var(--bg-premium-snow);
	opacity: 0.7;
}

.border-premium-snow {
	border-image: linear-gradient(to bottom right, var(--bg-premium-snow-start) 20%, var(--bg-premium-snow-end)) 1 !important;
}

.text-heading-premium-snow {
	background: linear-gradient(to bottom right, var(--bg-premium-snow-start) 30%, var(--bg-premium-snow-end));
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.position-premium-snow {
	position: absolute;
	top: -150px;
	left: -150px;
	z-index: 2;
}

.premium-snow-img-layout {
	border-radius: 50px;
}

.premium-snow-literal-layout {
	color: var(--txt-premium);
	padding-top: 20px;
}

.premium-snow-layout-sp {
	margin-top: clamp(350px, 80vw, 500px);
}

.rounded-premium-snow-sp {
	border-radius: 0 50px 50px 0;
}

.position-premium-snow-literal-sp {
	position: absolute;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	top: clamp(-400px, -50vw, -230px);
	left: 34%;
	z-index: 2;
}

.position-premium-snow-img-snow2-sp {
	position: absolute;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	top: clamp(-500px, -60vw, -300px);
	right: 4%;
}

.premium-snow-img-snow2-size {
	width: clamp(50px, 15vw, 92px);
	height: auto;
}

.position-premium-snow-img-sub-sp {
	position: absolute;
	transform: translate(-50%, -100%);
	-webkit-transform: translate(-50%, -100%);
	-ms-transform: translate(-50%, -100%);
	transform-origin: center;
	top: 30px;
	left: 50%;
}

.premium-sub-sp-size {
	width: clamp(390px, 95vw, 846px);
	height: auto;
}

.position-premium-snow-contents-sp {
	position: absolute;
	top: clamp(50px, 14vw, 100px);
	left: clamp(20px, 6vw, 100px);
	z-index: 2;
}

@media screen and (max-width: 768px) {
	.line-height-snow-message-sp {
		line-height: clamp(18px, 6vw, 48px);
	}
}

@media screen and (min-width: 768px) {
	.line-height-snow-message-sp {
		line-height: 1,5;
	}
}

.position-premium-snow-img-snow1-sp {
	position: absolute;
	top: 100px;
	right: clamp(20px, 10vw, 150px);
}

.premium-snow-img-snow1-size-sp {
	width: clamp(50px, 15vw, 92px);
	height: auto;
}

@media screen and (min-width: 1200px) {

	.premium-snow-img-layout {
		border-radius: 0 50px 50px 0;
	}

	.premium-snow-literal-layout {
		color: var(--txt-premium);
		padding-top: 350px;
	}

	.position-premium-snow-images {
		position: absolute;
		bottom: 150px;
		right: clamp(-270px, -16vw, -120px);
		z-index: 1;
	}
}

@media screen and (min-width: 992px) and (max-width: 1200px) {

	.premium-snow-literal-layout {
		color: var(--txt-premium);
		padding-top: 300px;
	}

	.position-premium-snow-images {
		position: absolute;
		bottom: 150px;
		right: clamp(-120px, -7vw, -70px);
		z-index: 1;
	}
}

.bg-premium-btn {
	background: var(--bg-premium-btn);
	text-decoration: none !important;
}

.line-height-premium-snow {
	line-height: 2.2;
}

.position-snow-img1 {
	position: absolute;
	top: 0;
	left: 770px;
}

.position-snow-img2 {
	position: absolute;
	width: 93px;
	top: 60px;
	left: 550px;
}

.position-snow-img3 {
	position: absolute;
	width: 59px;
	top: 45px;
	left: 400px;
}

/* ゲレンデマップ css */
.bg-gelande{
	background: linear-gradient(to bottom, var(--bg-gelande-start) 40%, var(--bg-gelande-end));
}

.bg-gelande-btn {
	background: var(--bg_site_secondary);
	color:  var(--txt_site_secondary);
}

.bg-gelande-img {
	background-image: url('/top/img/img_bg_gelande.jpg');
	background-repeat: no-repeat;
	background-size: cover;
	border-radius: 20px;
}

.line-height-1p3 {
	line-height: 1.3;
}

.position-gelande-img-sp {
	position: absolute;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	top: clamp(100px, 20vw, 170px);
	left: clamp(-170px, -20vw, -110px);
	z-index: 2;
}

.gelande-img-sp-size {
	width: clamp(200px, 40vw, 307px);
	height: auto;
}

.gelande-btn-shadow {
	box-shadow: 1px 4px 6px var(--bg-gelande-btn-shadow);
}

.gelande-btn-shadow:hover {
	box-shadow: none;
}

.position-gelande-map {
	position: absolute;
	top: -50px;
	left: clamp(-40px, -2.5vw, -20px);
}

.position-gelande-img {
	position:absolute;
	top: clamp(350px, 30vw, 470px);
	left: clamp(-95px, -10vw, -90px);
}

.table>:not(caption)>*>* {
	background-color: var(--bg-table-cell);
}

/* 各種バナー css */
.bg-banner-area {
	background: linear-gradient(to bottom right, var(--bg-banner-area-start) 40%, var(--bg-banner-area-end));
}

.position-banner-arrow {
	background: var(--bg-banner-arrow);
	border: 2px solid var(--border-banner-arrow);
	border-radius: 20px;
	padding: 0 10px 4px 10px;
	position:absolute;
	bottom: 10%;
	right: 7%;
	pointer-events: none;
}

.text-banner {
	color: var(--txt-banner);
}

.banner-img {
	aspect-ratio: 220 / 150;
	width: 100%;
	height: auto;
	border-radius: 0 1rem 1rem 0;
}

.bg-banner {
	box-shadow: 1px 2px 4px var(--bg-sub-banner-shadow);
}

.bg-banner:hover {
	box-shadow: none;
}

a.text-banner:hover, a.text-sub-banner:hover {
	opacity: 0.7;
}

.bg-sub-banner {
	background-color: var(--bg-sub-banner);
	box-shadow: 1px 1px 6px var(--bg-sub-banner-shadow);
}

.bg-sub-banner:hover {
	box-shadow: none;
}

/* インフォメーション css */
.info-layout {
	border-radius: 35px 0 0 35px;
	height: 550px;
}

@media screen and (min-width: 768px) and (max-width: 992px) {
	.info-layout {
		border-radius: 35px;
		height: clamp(600px, 50vw, 1000px);
	}
}

@media screen and (min-width: 992px) {
	.info-layout {
		border-radius: 35px 0 0 35px;
		height: clamp(600px, 50vw, 1000px);
	}
}

.border-information {
	border-color: var(--border-information) !important;
}

.text-heading-information {
	color: var(--txt-heading-information);
}

.text-information {
	color: var(--txt-information);
}

.position-access-map {
	position: absolute;
	width: 228px !important;
	top: 0;
	left: 700px;
	transform: translate(-50%, -100%);
	-webkit-transform: translate(-50%, -100%);
	-ms-transform: translate(-50%, -100%);
}

.position-snow-img4 {
	position: absolute;
	width: 93px;
	top: 60px;
	left: 450px;
}

.position-snow-img5 {
	position: absolute;
	width: 59px;
	top: -20px;
	left: -70px;
}
