@charset "utf-8";
/* main image
------------------------------------------*/
.main-image {
	background-image: var(--bg-path,url(../images/bg-main-shape.png));
}/*
.main-image__inner .main-image-text {
	text-align: center;
	font-size: 2em;
	color: #fff;
	line-height: 1.4;
	letter-spacing: 0.2em;
	font-weight: bold;
	text-shadow: 2px 2px 6px rgba(0,0,0,1);
}
.main {
	padding: 10px 10px 30px;
	margin: auto;
	height: 100%;
	max-width: 1200px;
}
h2 {
	margin-bottom: 30px;
	font-size: 2em;
}
h3 {
	margin-bottom: 20px;
	font-size: 1.6em;
}*/
.com {
	color: grey;
}
.com h3,
.com h4 {
	color: #333;
}
.com p+p {
	margin-top: 25px;
}
[data-icon="board"]::before	{ background: url("images/icon-board.svg") no-repeat center / contain; }
[data-icon="ski"]::before	{ background: url("images/icon-ski.svg") no-repeat center / contain; }
[data-icon="snow"]::before	{ background: url("images/icon-snow.svg") no-repeat center / contain; }
[data-icon="snowplow"]::before	{ background: url("images/icon-snowplow.svg") no-repeat center / contain; }

/* スキー場の歴史 ---------------*/
.history.main-image {
	background-color: rgba(0, 0, 0, 0.2);
	background-blend-mode: darken;
}

.history .grid {
	gap: 40px;
}
.history .grid>* {
	margin-bottom: 30px;
}
.history .com p {
	line-height: 2;
}
.history .image {
	text-align: center;
}
.history .image p {
	background: #eee;
	width: 100%;
	margin: 10px auto;
	padding: 10px;
	text-align: left;
	font-size: 0.9em;
}

/* スキー場間アクセス ---------------*/
.access.main-image {
	background-color: rgba(0, 0, 0, 0.2);
	background-blend-mode: darken;
}
.access .access-ttl {
	display: none;
}
.access .access-map-image {
	margin: 40px auto;
	text-align: center;
}
.access .access-map-image img {
	max-width: 100%;
	width: auto;
	height: auto;
}
.access .access-bus-info {
	margin: 40px auto;
	text-align: center;
}
.access .access-bus-info h3 {
	margin-bottom: 10px;
}
.access .access-bus-info .tel-num {
	font-size: 1.6em;
	font-weight: bold;
}
.access .access-bus-info .bus-link {
	display: flex;
	justify-content: center;
	align-items: center;
	background: #63AB45;
	border-radius: 6px;
	width: 450px;
	height: 50px;
	margin: 30px auto;
	font-size: 1.2em;
	color: #fff;
	text-decoration: none;
}
.access .access-bus-info .bus-link[data-icon]::before {
	width: 1.6em;
	height: 1.6em;
	filter: brightness(100);
}

/* バックカントリー ---------------*/
.backcountry.main-image {
	background-color: rgba(0, 0, 0, 0.2);
	background-blend-mode: darken;
}
.backcountry .backcountry-ttl {
	display: none;
}

.backcountry .backcountry-navi {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	max-width: 800px;
	width: 95%;
	margin: 0 auto 20px;
	text-align: center;
	font-size: 0.85em;
}
.backcountry .backcountry-navi li[data-icon]::before {
	width: 1.2em;
	height: 1.2em;
	margin-right: 0.8em;
}
.backcountry .backcountry-navi li {
	width: calc(100% / 2);
	margin-bottom: 6px;
}
.backcountry .backcountry-navi li a {
	text-decoration: none;
}

.backcountry .databox {
	max-width: 1000px;
	width: 100%;
	margin: auto;
}
.backcountry .databox h3 br {
	display: none;
}
.backcountry .mobile-frm {
	display: none;
}

.backcountry .databox+.databox {
	margin-top: 20px;
}

.backcountry .databox .data-info {
	font-size: 0.85em;
}
.backcountry .databox .data-info  dl dt {
	float: left;
	clear: both;
	padding: 5px 0 5px;
}
.backcountry .databox .data-info dl dd {
	overflow: hidden;
	padding: 5px 0 5px;
}

.backcountry .backcountry-about h3 {
	margin-bottom: 6px;
}
.backcountry .backcountry-about .com+.com {
	margin-top: 20px;
}

.backcountry-cat {
	margin: 40px auto;
	gap: 15px 40px;
}
.backcountry-cat h3 {
	margin-bottom: 6px;
}

.backcountry-movie {
	margin: 40px auto;
}
.backcountry-movie iframe {
	width: 100%;
}

.backcountry .cattours {
	gap: 40px;
	margin: 40px auto;
}
.backcountry .cattours .cattours-logo {
	text-align: center;
}
.backcountry .cattours .com h3 {
	margin-bottom: 0;
}
.backcountry .guide-company ul {
	gap: 40px;
}
.backcountry .guide-company ul li {
	text-align: center;
	margin-bottom: 30px;
}
.backcountry .guide-company ul li img {
	margin-bottom: 6px;
}
.backcountry .guide-company ul li a {
	color: #333;
	font-weight: bold;
	text-decoration: none;
}


/* ツリーランエリア ---------------*/
.tree-run.main-image {
	background-color: rgba(0, 0, 0, 0.2);
	background-blend-mode: darken;
}
.tree-run .tree-run-ttl {
	display: none;
}
.tree-run .com + .com {
	margin-top: 40px;
}
.tree-run .com p+p {
	margin-top: 15px;
}
.tree-run .tree-run-rule h3,
.tree-run .tree-run-rule h4 {
	background: #F6A700;
	padding: 8px 10px;
	color: #fff;
	font-weight: bold;
}
.tree-run .tree-run-rule h4 {
}
.tree-run .tree-run-rule p {
	width: calc(100% - 20px);
	margin: auto;
}
.tree-run .tree-run-rule .tree-run-rule__inner {
	width: calc(100% - 15px);
	margin: 25px auto;
}
.tree-run .tree-run-rule .tree-run-rule__inner .rule-list {
	width: calc(100% - 20px);
	margin: 20px auto;
}
.tree-run .tree-run-rule .tree-run-rule__inner .rule-list li+li {
	margin-top: 6px;
}

.tree-run .tree-run-area {
	margin: 40px auto;
}
.tree-run .tree-run-area h3 {
	background: #F6A700;
	padding: 8px 10px;
	color: #fff;
	font-weight: bold;
}
.tree-run .tree-run-area .area-image {
	text-align: center;
	margin:15px auto;
	font-size: 0.9em;
}
.tree-run .tree-run-area .area-image img {
	max-width: 900px;
	width: 100%;
	height: auto;
	margin-bottom: 10px;
}
.tree-run .tree-run-area .tree-run-link {
	display: block;
	background: #fff;
	border: 2px solid black;
	width: 450px;
	margin: 30px auto 15px;
	padding: 10px 5px;
	text-align: center;
	font-size: slamp(1em, 1.8vw, 1.2em);
	color: #333;
	text-decoration: none;
}


/* スキー場（共通） --------------*/
.resort-page-navi {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	font-size: 0.85em;
}
.resort-page-navi li {
	padding: 10px 5px;
	line-height: 1;
}
.resort-page-navi li a {
	display: inline-block;
	background: #5BC0DE;
	border-radius: 4px;
	padding: 9px 15px 6px;
	color: #fff;
	text-decoration: none;
}
.resort-page-navi li[data-name="access"] a {
	background: #F98888;
}
.resort-page-navi li[data-name="stay"] a {
	background: #61CE70;
}
.resort-page-navi li a[data-icon]::before {
	width: 1.2em;
	height: 1.2em;
	filter: invert(100) brightness(100);
}

.resort-link-list {
	margin: 40px auto;
}
.resort-link-list h3 {
	background: #0072BC;
	margin-bottom: 20px;
	padding: 8px;
	text-align: center;
	color: #fff;
}
.resort-link-list .link-wrapper {
	background: #F2F8FF;
	padding: 10px 20px;
	gap: 20px;
}
.resort-link-list .link-wrapper+.link-wrapper {
	margin-top: 20px;
}
.resort-link-list .link-wrapper li {
	display: flex;
	justify-content: center;
	align-items: center;
	background-image: var(--link-bg-path,none);
	background-size: cover;
	background-position: center;
	height: stretch;
	min-height: 280px;
	max-height: 480px;
	margin: 20px 0;
	padding: 30px;
}
.resort-link-list .link-wrapper .link__inner {
	background: rgba(0,0,30,0.6);
	width: stretch;
	height: stretch;
	padding: 10px;
}
.resort-link-list .link-wrapper .link__inner dt {
	text-align: center;
	font-size: 1.2em;
	color: #fff;
	font-weight: bold;
}
.resort-link-list .link-wrapper .link__inner dd {
	margin-top: 10px;
	font-size: 0.95em;
	color: #fff;
}
.resort-link-list .link-wrapper .link__inner .sitelink {
	display: block;
	border: 3px solid #F8B449;
	min-width: 250px;
	width: fit-content;
	margin: 10px auto;
	padding: 10px;
	text-align: center;
	color: #F8B449;
	font-weight: bold;
	text-decoration: none;
	line-height: 1.2;
}

.resort-gallery {
	width: 100%;
	margin: 60px auto;
}
.resort-gallery .grid {
	gap: 0 10px;
}
.resort-gallery .grid>li {
	margin-bottom: 10px;
}

.ski-resort-access {
	width: 100%;
	margin: 40px auto;
}
.ski-resort-access h3 {
	background: red;
	margin-bottom: 20px;
	padding: 8px;
	text-align: center;
	color: #fff;
}
.ski-resort-access .accessmap {
	position: relative;
	border: 0;
	width: 100%;
	padding-top: 45%;
}
.ski-resort-access iframe {
	position: absolute;
	top: 0;
	left: 0;
	border: 0;
	width: 100%;
	height: 100%;
}

.headslide .imageslider-wrapper {
	position: relative;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	margin: 0 auto;
}
.headslide .imageslider {
	position:relative;
	display: block;
	width: 0;
	min-width: 100%;
	overflow: hidden;
	opacity: 0;
	transition: opacity 0.3s ease;
	min-height: 0;
	height: auto;
}
.headslide .imageslider.swiper-initialized {
	opacity: 1;
}
.headslide .imageslider .swiper-slide {
	padding-top: 62.5%;
}
.headslide {
	display: flex;
/*	align-items: stretch;*/
	width: 100%;
	min-width: 0;
	color: #fff;
	text-shadow: 1px 1px 3px rgba(0,0,0,0.6);
	font-weight: bold;
	gap: 0 20px;
}
.headslide dt {
	padding: 10px 5px;
	font-size: clamp(1.3em, 2vw, 1.5em);
}
.headslide .image-ttl dt {
	border-bottom: 1px solid #fff;
}
.headslide dd {
	font-size: clamp(1.1em, 1.8vw, 1.3em);
	padding: 10px 5px;
}
.headslide :not(.image-ttl) dd {
	padding: 0;
}

/* 八幡平リゾート ---------------*/
.hachimantai-resort.main-image {
	background-color: rgba(0, 0, 0, 0.2);
	background-blend-mode: darken;
	min-height: 650px;
}
/*.hachimantai-resort .main-image__inner .headslide {
	display: flex;
	align-items: stretch;
	width: 100%;
	min-width: 0;
	color: #fff;
	text-shadow: 1px 1px 3px rgba(0,0,0,0.6);
	font-weight: bold;
	gap: 0 30px;
}*/
.hachimantai-resort .main-image__inner .headslide>div {
	width: calc((100% - 60px) / 3);
	display: flex;
	flex-direction: column;
}/*
.hachimantai-resort .main-image__inner .headslide dt {
	padding: 10px 5px;
	font-size: clamp(1.3em, 2vw, 1.5em);
}
.hachimantai-resort .main-image__inner .headslide .image-ttl dt {
	border-bottom: 1px solid #fff;
}
.hachimantai-resort .main-image__inner .headslide dd {
	font-size: clamp(1.1em, 1.8vw, 1.3em);
	padding: 10px 5px 0;
}
.hachimantai-resort .main-image__inner .headslide :not(.image-ttl) dd {
	padding-top: 0;
}*/
.hachimantai-resort .resort-ttl {
	display: none;
}
.hachimantai-resort .resort-info {
	margin: 40px auto;
}
.hachimantai-resort .resort-info h3 {
	background: #0072BC;
	margin-bottom: 20px;
	padding: 8px;
	text-align: center;
	color: #fff;
}
.hachimantai-resort .resort-info .skimap {
	text-align: center;
}
.hachimantai-resort .resort-info .skimap img {
	max-width: 900px;
	width: 100%;
	height: auto;
}
.hachimantai-resort .resort-info .ski-info {
	gap: 30px;
	margin-top: 30px;
}
.hachimantai-resort .resort-info .ski-info dt {
	border-bottom: 1px solid #ccc;
	padding: 15px;
	text-align: center;
	font-size: 1.4em;
	font-weight: bold;
}
.hachimantai-resort .resort-info .ski-info dd {
	padding: 15px;
	color: grey;
}
.hachimantai-resort .resort-info .ski-info dd .info-link {
	display: block;
	border: 3px solid #333;
	width: 270px;
	margin: 20px 0 0 auto;
	padding: 10px;
	text-align: center;
	font-size: 0.9em;
	color: #333;
	font-weight: bold;
	letter-spacing: 0.25em;
	text-decoration: none;
}
.hachimantai-resort .resort-info .ski-info dd .info-link[data-icon]::before {
	width: 1.4em;
	height: 1.4em;
}

/* 安比高原 ---------------*/
.appi-resort.main-image {
	background-color: rgba(0, 0, 0, 0.2);
	background-blend-mode: darken;
	min-height: 650px;
}/*
.appi-resort .main-image__inner .headslide {
	display: flex;
	align-items: stretch;
	width: 100%;
	min-width: 0;
	color: #fff;
	text-shadow: 1px 1px 3px rgba(0,0,0,0.6);
	font-weight: bold;
	gap: 30px;
}*/
.appi-resort .main-image__inner .headslide>div {
	width: calc((100% - 30px) / 2);
	display: flex;
	flex-direction: column;
}/*
.appi-resort .main-image__inner .headslide dt {
	padding: 10px 5px;
	font-size: 1.5em;
}
.appi-resort .main-image__inner .headslide .image-ttl dt {
	border-bottom: 1px solid #fff;
}
.appi-resort .main-image__inner .headslide dd {
	font-size: 1.2em;
	padding: 10px 5px;
}
.appi-resort .main-image__inner .headslide :not(.image-ttl) dd {
	padding-top: 0;
}*/
.appi-resort .resort-ttl {
	display: none;
}
.appi-resort .appi-course {
	margin: 40px auto;
	gap: 30px;
}
.appi-resort .appi-course .coursemap {
	text-align: center;
}
.appi-resort .appi-course .coursemap img {
	display: inline-block;
}
.appi-resort .appi-course .coursemap img+img {
	margin-top: 20px;
}
.appi-resort .appi-course .course-data dt {
	padding: 10px;
	font-size: 1.4em;
	font-weight: bold;
}
.appi-resort .appi-course .course-data dd {
	padding: 0 10px 10px;
	color: grey;
}
.appi-resort .appi-course .course-data .info-link {
	display: block;
	border: 3px solid #333;
	width: 270px;
	margin: 20px auto 0 0;
	padding: 10px;
	text-align: center;
	font-size: 0.9em;
	color: #333;
	font-weight: bold;
	letter-spacing: 0.25em;
	text-decoration: none;
}
.appi-resort .appi-course .course-data .info-link[data-icon]::before {
	width: 1.4em;
	height: 1.4em;
}



/* PC版
==============================================================================*/
@media screen and (max-width:1024px) {
	.resort-link-list .link-wrapper .link__inner .sitelink {
		min-width: auto;
		width: fit-content;
	}
}


@media screen and (max-width:912px) {


	/* スキー場共通 -----------------------------*/
	.resort-gallery [data-column="4"],
	.resort-gallery [data-column="5"],
	.resort-gallery [data-column="6"] {
		--data-column: 3 !important;
	}



}

/* タブレット版
==============================================================================*/
@media screen and (max-width:800px) {

	/* バックカントリー ----------*/
	.backcountry .databox h3 {
		text-align: center;
		line-height: 1.4;
	}
	.backcountry .databox h3 br {
		display: block;
	}

	.backcountry .pc-frm {
		display: none;
	}
	.backcountry .mobile-frm {
		display:block;
		text-align: center;
	}

	.resort-link-list .link-wrapper[data-column] {
		--data-column: 1 !important;
		display: block !important;
	}
	.resort-link-list .link-wrapper .link__inner .sitelink {
		min-width: 300px;
		width: fit-content;
	}


	/* スキー場共通 -----------------------------*/
	.headslide .imageslider-wrapper {
		max-width: 400px;
	}


	/* 八幡平リゾート */
	.hachimantai-resort .main-image__inner .headslide {
		flex-wrap: wrap;
	}
	.hachimantai-resort .main-image__inner .headslide>div {
		width: calc(50% - 15px);
	}
	.hachimantai-resort .main-image__inner .headslide>div:first-child {
		width: 100%;
	}

	/* 安比 */
	.appi-resort.main-image {
		min-height: 600px;
	}
	.appi-resort .main-image__inner .headslide {
		display: block;
	}
	.appi-resort .main-image__inner .headslide>div {
		width: 100%;
	}


}

@media screen and (max-width:750px) {


	/* スキー場共通 -----------------------------*/
	.resort-gallery [data-column="3"],
	.resort-gallery [data-column="4"],
	.resort-gallery [data-column="5"],
	.resort-gallery [data-column="6"] {
		--data-column: 2 !important;
	}

	.hachimantai-resort.main-image {
		min-height: 550px;
	}
	.hachimantai-resort .main-image__inner .headslide {
		gap: 20px;
	}

}


/* スマートフォン版
==============================================================================*/
@media screen and (max-width:600px) {
/*	.main-image__inner .main-image-text {
		font-size: 1.5em;
		line-height: 1.2;
		letter-spacing: 0;
	}

	/* バックカントリー */
	.backcountry .backcountry-navi li {
		width: 100%;
	}

	/* 八幡平リゾート */
/*	.hachimantai-resort .main-image__inner .headslide {
		display: block;
	}
	.hachimantai-resort .main-image__inner .headslide>div {
		width: 100%;
	}*/
}

