@charset "UTF-8";
html{ font-size: 6.25%; }
body{
	margin: 0 auto;
	padding: 0;
	font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
	font-size: 14px;
	line-height: 1.5;
	color: #013C68;
	background: #F6F6F6 url(/ski/_common/bg.svg) repeat;
}
body.boxer-open{
	overflow: hidden;
}
#boxer.inline .boxer-content, #boxer.iframe .boxer-content{
	height: 100vh;
}
main{
	position: relative;
}
h1{
	font-size: 18px;
}
a:link{
	color: #1592E6;
	text-decoration: underline;
	transition: 0.3s;
}
a:visited{
	text-decoration: underline;
}
a:hover{
	color: #E94900;
	text-decoration: none;
}
a.noLink{
	pointer-events: none;
	cursor: default;
}
a[href^="tel:"] {
	pointer-events: none;
}
img{
	vertical-align: middle;
}
span.mng{
	display: inline-block;
	margin: 0 3px 0 0;
	padding: 3px 2px;
	color: #FFF;
	background-color: #FF8319;
	border-radius: 3px;
}
span.ngt{
	display: inline-block;
	margin: 0 3px 0 0;
	padding: 3px 2px;
	color: #FFF;
	background-color: #0E00B1;
	border-radius: 3px;
}
br.pcbr{
	display: block;
}
br.tbbr{
	display: none;
}
br.spbr{
	display: none;
}
@media screen and (max-width: 820px){
	br.pcbr,
	br.spbr{
		display: none;
	}
	br.tbbr{
		display: block;
	}
}
@media screen and (max-width: 440px){
	br.pcbr,
	br.tbbr{
		display: none;
	}
	br.spbr{
		display: block;
	}
}

#wrap{
	width: 100%;
}
#footer{
	padding: 20px;
}
.fix_center{
	position: relative;
	margin: 0 auto;
	max-width: 1200px;
}

/* ----- clearfix ----- */
.clearfix { zoom: 1; }
.clearfix:after {
	content: ".";
	display: block;
	height: 0px;
	clear: both;
	visibility: hidden;
	font-size: 0;
}
.flexbox {
	display: flex;
	flex-wrap: wrap;
}
.gridlayout{
	display: grid;
}

/* ---------------------------------------------------------
	ヘッダー
---------------------------------------------------------*/
header{
	background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 40%, rgba(152, 221, 236, 1) 100%);
}
header .global_nav{
	background: #FFF5F3;
	border-bottom: 3px solid #FDDFD8;
}
.global_nav ul{
	margin: 5px auto;
	justify-content: center;
	gap: 5px 0;
}
.global_nav ul li{
	padding: 0 10px;
	font-size: 12px;
	border-left: 1px solid #FE8E8B;
}
.global_nav ul li:last-of-type{
	border-right: 1px solid #FE8E8B;
}
.global_nav ul li a{
	display: block;
	color: #013C68;
}
.global_nav ul li a:hover{
	color: #E94900;
	text-decoration: underline;
}
header a:link{
	text-decoration: none;
}
header > .flexbox{
	padding: 10px 0 0 0;
	justify-content: space-between;
	align-items: stretch;
}
header h1{
	width: 250px;
	height: 75px;
}
header h1 a{
	display: block;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	height: 100%;
	background: url(/ski/_common/logo_ski.svg) no-repeat left center;
	background-size: 250px;
}
header h1 a:hover{
	transform: scale(1.03);
}
header #head_sub{
	justify-content: space-between;
	align-content: space-between;
	width: calc(100% - 270px);
	gap: 10px 0;
}
#head_sub h2{
	max-width: calc(100% - 165px);
	font-size: 12px;
	font-weight: normal;
}
#head_sub ul#sns_link{
	font-size: 0;
}
ul#sns_link li{
	display: inline-block;
	margin-right: 10px;
}
ul#sns_link li a{
	display: block;
}
ul#sns_link li a:hover{
	opacity: 0.6;
}
ul#sns_link li:last-of-type{
	margin-right: 0;
}

/* ---------------------------------------------------------
	ヘッダー：PCナビゲーション
---------------------------------------------------------*/
#head_sub nav#pc_nav{
	width: 100%;
}
#head_sub nav#pc_nav ul{
	justify-content: start;
	align-items: center;
	gap: 0 10px;
}
nav#pc_nav ul li a{
	display: block;
	padding: 6px 15px;
	font-size: 16px;
	font-weight: bold;
	color: #FFF;
	background: #00A0E9;
	border-radius: 5px 5px 0 0;
	border-inline: 2px solid #00A0E9;
	border-block-start: 2px solid #00A0E9;
}
#agt_ol nav#pc_nav ul li a span{
	font-size: 14px;
}
nav#pc_nav ul li.active a,
nav#pc_nav ul li a:hover{
	color: #E94900;
	background: #F6F6F6;
}
nav#pc_nav ul li#login{
	position: absolute;
	right: 0;
}
nav#pc_nav ul li#login a{
	padding-inline: 35px 20px;
	padding-block: 5px;
	font-size: 12px;
	line-height: 1.0;
	color: #FFF;
	background: #E94900 url(/ski/_common/icon_login.svg) no-repeat 8px center;
	border: none;
	border-radius: 100rem;
}
nav#pc_nav ul li#login a:hover{
	background-color: #FE8E8B;
}


/* ---------------------------------------------------------
	ヘッダー：SPナビゲーション
--------------------------------------------------------- */
header #sp_nav{
	display: none;
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translateY(-50%);
	transition:
		top 0.25s ease,
		right 0.25s ease,
		transform 0.25s ease;
}
#sp_nav a{
	display: block;
	padding: 5px 28px 5px 10px;
	line-height: 1.2;
	font-weight: bold;
	color: #FFF;
	background: #00A0E9 url(/ski/_common/sp_icon_menu.svg) no-repeat calc(100% - 10px) center;
	background-size: 14px;
	border-radius: 3px;
	text-decoration: none !important;
	cursor: pointer;
}
nav#sp_menu .mm-navbars_top{
	font-size: 16px;
}
nav#sp_menu ul li{
	background-color: #FFF;
}
nav#sp_menu ul li.rado{
	background: #C1EAF3 url(/ski/_common/sp_icon_rado.svg) no-repeat 10px center;
	background-size: 20px;
}
nav#sp_menu ul li.ql{
	background: #C1EAF3 url(/ski/_common/icon_ql.png) no-repeat 10px center;
	background-size: 20px;
}
nav#sp_menu ul li.ski{
	background: #C1EAF3 url(/ski/_common/sp_iconski.svg) no-repeat 10px center;
	background-size: 24px;
}
nav#sp_menu ul li.mypage{
	background: #09F url(/ski/_common/icon_mypage.png) no-repeat 10px center;
	background-size: 20px;
}
nav#sp_menu ul li.home{
	background: #FFF url(/ski/_common/sp_icon_dep.svg) no-repeat 10px center;
	background-size: 20px;
}
nav#sp_menu ul li.spsite{
	background: #FFF url(/ski/_common/sp_icon_site.svg) no-repeat 10px center;
	background-size: 20px;
}
nav#sp_menu ul li.spsns{
	background: #FFF url(/ski/_common/sp_icon_sns.svg) no-repeat 10px center;
	background-size: 20px;
}
nav#sp_menu ul li.car{
	background: #FFF url(/ski/_common/sp_icon_car.svg) no-repeat 10px center;
	background-size: 20px;
}
nav#sp_menu ul li.nav_outlink{
	background: #FFF url(/ski/_common/sp_icon_link.svg) no-repeat 10px center;
	background-size: 20px;
}
nav#sp_menu ul li.fb{
	background: #FFF url(/ski/_common/sns_square-facebook.svg) no-repeat 10px center;
	background-size: 20px;
}
nav#sp_menu ul li.xtw{
	background: #FFF url(/ski/_common/sns_square-x-twitter.svg) no-repeat 10px center;
	background-size: 20px;
}
nav#sp_menu ul li.ig{
	background: #FFF url(/ski/_common/sns_square-instagram.svg) no-repeat 10px center;
	background-size: 20px;
}
nav#sp_menu ul li.ln{
	background: #FFF url(/ski/_common/sns_square-line.svg) no-repeat 10px center;
	background-size: 20px;
}
nav#sp_menu ul li.sub_air{
	padding-left: 38px;
	background-image: url(/ski/_common/illust_air_b.svg);
	background-repeat: no-repeat;
	background-position: 42px center;
	background-size: 32px;
}
nav#sp_menu ul li.sub_area a.mm-listitem__text{
	padding-left: 20px;
}
.mm-navbar{
	color: #FFF;
	font-weight: bold;
	background: #00A0E9;
}
.mm-panel{
	padding-bottom: 13px;
	background: #FFF;
}
nav#sp_menu ul li a.mm-listitem__text{
	padding: 10px 10px 10px 40px;
	color: #013C68;
	font-weight: bold;
}
nav#sp_menu ul li a span{
	display: block;
	font-size: 12px;
}
nav#sp_menu ul li a span:not(.ngt),
nav#sp_menu ul li a span:not(.mng){
	display: inline-block;
	margin-right: 3px;
	padding: 0 3px;
	background-size: 16px;
	border-radius: 3px;
}
nav#sp_menu .mm-panel ul.mm-listview li.mm-listitem span:not(.ngt):not(.mng){
	display: block;
	padding: 0;
}
nav#sp_menu ul li a span.mm-counter{
	min-width: 20px;
	font-size: 14px;
	font-weight: bold;
	color: #00328B;
	line-height: 1.0;
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
	padding: 0;
	float: none;
}
.mm-btn_next:after,
.mm-btn_prev:before{
	border-color: #FFF;
}
.mm-listitem__btn{
	width: 50px;
}
.mm-listitem__btn:not(.mm-listitem__text){
	border-left: 1px dashed #00328B;
}
.mm-listitem__btn:after,
.mm-listitem__btn:before{
	border-color: #00328B;
}
.mm-listitem:after{
	left: 0;
}
.mm-btn_next:after{
	right: 10px;
}
.mm-navbar a{
	padding: 15px 0;
}
.mm-navbar a.fa-user{
	border-right: 1px solid #FFF;
}
.mm-navbar a.spapl{
	display: block;
	width: 100%;
	margin-top: -53px;
	padding: 10px 0;
	font-weight: normal;
	background: #C1EAF3;
	border-top: 1px solid #999;
	border-bottom: 1px solid #FFF;
	border: none;
}
.mm-navbar a.spapl img{
	width: auto;
	height: 75px;
}

/* ---------------------------------------------------------
	パンくず&ページ先頭
--------------------------------------------------------- */
ol#pankuz{
	margin: 10px auto 15px;
	font-size: 12px;
	line-height: 1.2;
}
ol#pankuz::before{
	content: url(/ski/_common/icon_home.svg);
	display: inline-block;
	padding-inline: 5px 0;
	font-size: 12px;
	vertical-align: middle;
}
ol#pankuz li{
	display: inline-block;
}
ol#pankuz li::after{
	content: ">";
	margin-left: 5px;
}
ol#pankuz li:last-of-type::after{ content: ""; }
ol#pankuz li span{
	display: inline-block;
	margin-right: 2px;
	padding: 2px;
	font-size: 12px;
}
#pgscrl{
	position: fixed;
	z-index: 2;
	bottom: 240px;
	right: 2%;
	text-align: center;
}
#pgscrl a{
	display: block;
	margin: 0 auto;
	width: 40px;
	height: 40px;
	padding: 0;
	color: #FFF;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	background: #999;
	border-radius: 5px;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	opacity: 0.7;
	filter: alpha(opacity=70);
}
#pgscrl a::before{
	content: '';
	width: 15px;
	height: 15px;
	border: 0px;
	border-top: solid 2px #FFF;
	border-right: solid 2px #FFF;
	-ms-transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	position: absolute;
	top: 50%;
	left: 50%;
	margin: -4px 0 0 -8px;
}
#pgscrl a:hover{
	opacity: 1.0;
	filter: alpha(opacity=100);
	text-decoration: none;
}

/* ---------------------------------------------------------
	コンテンツ：ニュース
---------------------------------------------------------*/
section h2,
article h2{
	width: 100%;
	margin: 0 0 20px;
	padding: 5px 0;
	font-size: 28px;
	text-align: center;
}

/* ---------------------------------------------------------
	スライド
---------------------------------------------------------*/
#slider_wrapper{
	position: relative;
	font-size: 0;
}
#slider_wrapper ul#slider_img{
	position: relative;
}
ul#slider_img img{
	width: 100%;
}
.slick-prev,
.slick-next{
	z-index: 10;
	width: 40px;
	height: 40px;
}
.slick-prev{
	left: 10px;
}
.slick-next{
	right: 10px;
}
.slick-next:before, .slick-prev:before{
	font-size: 40px;
}
#slider_wrapper ul#slider_nav{
	margin: 5px 0 0;
}
#slider_wrapper ul#slider_nav .slick-slide:not(:last-of-type){
	margin: 0 0 0 5px;
}
ul#slider_nav img{
	opacity: 0.6;
}
ul#slider_nav li:hover img,
ul#slider_nav .slick-current li img{
	cursor: pointer;
	opacity: 1.0;
}
ul.slick-dots{
	position: absolute;
	width: 100%;
	text-align: center;
	margin: 10px 0 0;
}
ul.slick-dots li{
	display: inline-block;
	margin: 0 5px;
}
ul.slick-dots li button{
	width: 10px;
	height: 10px;
	background: #00A0E9; 
	border-radius: 100vh;
}
ul.slick-dots li.slick-active button{
	background: #E94900;
}
#slider_wrapper dl{
	position: absolute;
	z-index: 1;
	margin-top: 40px;
	margin-left: 50px;
}
#slider_wrapper dl dt{
	margin-bottom: 20px;
}

/* ---------------------------------------------------------
	共通：フッター
---------------------------------------------------------*/
footer{
	margin: 80px 0 0;
	background: #FFF5F3;
	border-top: 3px solid #FDDFD8;
}
footer #footer_common{
	position: relative;
	margin-top: 10px;
}
footer a:link{ color: #333; }
footer a:visited{ color: #666; }
footer aside{
	position: absolute;
	top: 0;
	right: 0;
	margin-bottom: 10px;
	font-size: 12px;
}
#agt_ol footer aside{
	position: relative;
}
footer aside ul li{
	display: inline-block;
	margin-right: 20px;
}
footer aside ul li a{
	position: relative;
	padding-left: 10px;
}
footer aside ul li a:before {
	content: '';
	width: 0;
	height: 0;
	border: solid 4px transparent;
	border-left: solid 6px #666;
	position: absolute;
	top: 50%;
	left: 0;
	margin-top: -4px;
}

footer dl#footlogo{
	display: flex;
	flex-flow: row-reverse  wrap;
	align-items: center;
	font-size: 10px;
}
footer dl#footlogo dt{
	margin-left: 20px;
}
footer dl#footlogo dt a{
	display: block;
}
footer dl#footlogo dt a:hover img{
	opacity: 0.6;
}
footer #footlink{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-content: strech;
}
footer dl#info,
footer dl#use{ width: 18%; }
footer dl#site{
	margin-top: 52px;
	width: 60%;
}
footer dl#info dt,
footer dl#use dt{
	margin-bottom: 3px;
	padding: 3px 5px;
	text-align: center;
	font-weight: bold;
	color: #FFF;
	background: #999;
	border-radius: 5px;
}
footer dl#site dt{
	margin-bottom: 3px;
	padding: 3px 5px;
	text-align: center;
	font-weight: bold;
	color: #FFF;
	background: #073987;
	border-radius: 5px;
}
footer dl#site dd ul{
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	flex-grow: 1;
	gap: 0 20px;
}
footer dl#info dd a,
footer dl#use dd a,
footer dl#site dd ul li a{
	position: relative;
	padding-left: 10px;
	font-size: 12px;
}

footer dl#info dd a::before,
footer dl#use dd a::before,
footer dl#site dd ul li a::before{
	content: '';
	width: 0;
	height: 0;
	border: solid 4px transparent;
	border-left: solid 6px #1D2087;
	position: absolute;
	top: 50%;
	left: 0;
	margin-top: -4px;
}
footer dl#info dd a::before,
footer dl#use dd a::before{ border-left: solid 6px #666; }

footer small{
	display: block;
	margin-top: 10px;
	padding: 5px 0;
	font-size: 12px;
	font-family: Verdana, Geneva, sans-serif;
	text-align: center;
	color: #FFF;
	background: #359FF3;	
	box-shadow: 0 -3px #1D2087;
	-moz-box-shadow: 0 -3px #1D2087;
	-ms-box-shadow: 0 -3px #1D2087;
	-o-box-shadow: 0 -3px #1D2087;
	-webkit-box-shadow: 0 -3px #1D2087;
}

/* ---------------------------------------------------------
	共通：メンテナンス
---------------------------------------------------------*/
#news_wrapper.emg #news{
	max-height: 250px;
}
#news_wrapper dl#maintenance,
#gelende_wrapper dl#maintenance{
	margin-bottom: 20px;
	background: #FFFFE0;
}
#gelende_wrapper dl#maintenance{
	text-align: center;
}
#news_wrapper dl#maintenance dt,
#gelende_wrapper dl#maintenance dt{
	padding: 5px 10px;
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	color: #FF0;
	background: #00328B;
	border-radius: 8px 8px 0 0;
}
#news_wrapper dl#maintenance dt span,
#gelende_wrapper dl#maintenance dt span{
	display: inline-block;
	margin-right: 10px;
	font-size: 12px;
	font-weight: normal;
}
#news_wrapper dl#maintenance dd,
#gelende_wrapper dl#maintenance dd{
	padding: 5px 10px;
	border: 2px solid #00328B;
	border-radius: 0 0 8px 8px;
}
#news_wrapper dl#maintenance dd em,
#gelende_wrapper dl#maintenance dd em{
	margin-top: 0.5em;
	display: block;
	font-weight: bold;
	color: #F00;
}
#news_wrapper dl#maintenance dd table,
#gelende_wrapper dl#maintenance dd table{
	margin-bottom: 0.5em;
	font-weight: bold;
	margin: 0 auto;
}
#news_wrapper dl#maintenance dd table th,
#gelende_wrapper dl#maintenance dd table th{
	padding-right: 10px;
	text-align: left;
}
#news_wrapper dl#maintenance dd table td,
#gelende_wrapper dl#maintenance dd table td{
	color: #F00;
	text-align: left;
}


/* ---------------------------------------------------------
	レスポンシブ
--------------------------------------------------------- */
@media screen and (max-width: 1180px){
	ol#pankuz.fix_center,
	main > .fix_center,
	footer > .fix_center{
		padding: 0 10px;
	}
	.global_nav ul li{
		font-size: 11px;
	}
	header > .fix_center{
		padding: 10px 10px 0 10px;
	}
	header > .fix_center > h1{
		width: 220px;
		height: 66px;
	}
	header h1 a{
		background-size: 220px;
	}
	header #head_sub{
		width: calc(100% - 240px);
	}
	ul#sns_link li{
		width: 28px;
	}
	#head_sub nav#pc_nav ul{
		gap: 0 8px;
	}
	nav#pc_nav ul li a{
		padding: 5px 10px;
		font-size: 14px;
	}
	nav#pc_nav ul li#login a{
		padding-inline: 30px 15px;
		padding-block: 3px;
	}
	footer #foot_nav{
		padding: 0 10px;
	}
	#foot_arealist{
		padding: 20px 10px;
	}
	footer aside{
		right: 10px;
	}
}
@media screen and (max-width: 820px){
	header .global_nav{
		padding: 0 10px;
	}
	.global_nav ul li{
		font-size: 10px;
	}
	header > .fix_center > h1{
		width: 180px;
		height: 54px;
	}
	header h1 a{
		background-size: 180px;
		background-position: left top;
	}
	header #head_sub{
		width: calc(100% - 190px);
	}
	#head_sub h2{
		max-width: calc(100% - 130px);
	}
	ul#sns_link li{
		width: 24px;
		margin-right: 8px;
	}
	#head_sub nav#pc_nav ul{
		gap: 0 5px;
	}
	nav#pc_nav ul li:first-of-type{
		display: none;
	}
	nav#pc_nav ul li a{
		padding: 5px 6px;
		font-size: 13px;
	}
	nav#pc_nav ul li#login a{
		padding-block: 5px;
		font-size: 10px;
	}
	.swiper-slide{
		width: 550px;
	}
	section h2,
	article h2{
		font-size: 24px;
	}

	footer aside{
		right: 10px;
	}
	footer dl#footlogo dt{
		margin-left: 10px;
		width: 180px;
	}
	footer dl#info,
	footer dl#use{
		width: 18%;
	}
	footer dl#site{
		margin-top: 40px;
		width: 60%;
	}
	footer dl#info dt,
	footer dl#use dt{
		font-size: 12px;
		font-weight: normal;
	}
}
@media screen and (max-width: 440px){
	body{
		padding-top: 60px;
	}
	header#site_header{
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		z-index: 1000;
		height: 60px;
		border-bottom: 1px solid #00A0E9;
		transform-origin: top center;
		transition:
			transform 0.25s ease,
			padding 0.25s ease;
	}
	#site_header.is_shrink{
		height: 40px;
	}
	header > .fix_center{
		padding: 5px 10px 5px 5px;
	}
	header#site_header.is_shrink > .fix_center{
		padding-top: 3px;
	}
	header > .fix_center > h1{
		width: 150px;
		height: 50px;
	}
	header#site_header.is_shrink > .fix_center > h1{
		width: 100px;
		height: 33px;
	}
	header h1 a{
		background-size: 150px;
	}
	header#site_header.is_shrink > .fix_center > h1 a{
		background-size: 100px;
	}
	header #sp_nav{
		display: block;
	}
	#site_header.is_shrink #sp_nav {
		top: 50%;
		transform: translateY(-50%);
		right: 10px;
	}
	header .global_nav,
	header #head_sub{
		display: none;
	}
	ol#pankuz{
		margin: 10px 0;
	}
	section h2, article h2{
		margin: 0 0 10px;
		padding: 0;
		font-size: 20px;
		line-height: 1.5;
	}
	

	footer aside,
	footer aside dl#footlogo{
		position: relative;
		justify-content: center;
		flex-direction: column-reverse;
		margin: 0 auto 10px;
		text-align: center;
	}
	footer aside dl#footlogo dt{ margin: 5px 0 0; }
	footer aside ul{
		padding-top: 5px;
		border-top: 1px solid #CCC;
	}
	footer dl#info,
	footer dl#use{
		width: 48%;
		margin-bottom: 10px;
	}
	footer dl#site{
		width: 100%;
		margin-top: 0;
	}
	footer small{
		text-align: center;
		font-size: 10px;
		color: #FFF;
	}
}