@charset "UTF-8";

/* ---------------------------------------------------------
	マップ
---------------------------------------------------------*/
#map_wrapper{
	width: 55%;
	margin-right: 30px;
	position: relative;
}
#map_wrapper iframe{
	width: 100%;
	height: 460px;
}

/* ---------------------------------------------------------
	ショーカットメニュー
---------------------------------------------------------*/
dl#short_menu{
	display: none;
}
@media screen and (max-width: 430px){
	dl#short_menu{
		display: block;
		padding: 10px;
		font-size: 16px;
		font-size: 16rem;
		background: #DBEEED;
		border-radius: 10px;
	}
	dl#short_menu dt{
		padding: 10px;
		text-align: center;
		font-weight: bold;
		color: #FFF;
		border: 1px solid #FFF;
		background: #83B3B6;
		border-radius: 5px;
	}
	dl#short_menu dd{
		margin-top: 15px;
	}
	dl#short_menu dd ul li a{
		display: block;
	}
	dl#short_menu dd ul li a::before{
		content: "\f138";
		font-family: "Font Awesome 5 Free";
		font-size: 14px;
		font-size: 14rem;
		font-weight: 900;
	}
	dl#short_menu{
		width: 100%;
		margin: 30px auto 0;
	}
	dl#short_menu{
		padding: 10px;
	}
	dl#short_menu dt{
		cursor: pointer;
		color: #FF0;
		background: #1592E6;
	}
	dl#short_menu dt:hover{
		color: #FFF;
		background: #52A437;
	}
	dl#short_menu dt.opn{
		border-radius: 10px 10px 0 0;
	}
	dl#short_menu dd{
		display: none;
	}
	dl#short_menu dd ul{
		gap: 15px 15px;
		justify-content: flex-start;
		font-size: 14px;
		font-size: 14rem;
	}
	dl#short_menu ul > li a{
		padding: 8px 10px;
		font-size: 14px;
		font-size: 14rem;
		color: inherit;
		text-decoration: none;
	}
	dl#short_menu ul > li a em{
		display: block;
		margin-left: 1em;
		font-size: 16px;
		font-size: 16rem;
		font-weight: bold;
		color: #1592E6;
		text-decoration: underline;
	}
	dl#short_menu ul > li a[target="_blank"]::before{
		content: "\f35d";
		font-family: "Font Awesome 5 Free";
		vertical-align: 1px;
		font-weight: 900;
	}
}


/* ---------------------------------------------------------
	おすすめスキーツアー
--------------------------------------------------------- */
article#plan_wrapper{
	margin: 50px 0 0 0;
}
article#plan_wrapper > .plan{
	width: calc((100% - 30px) / 2);
	margin: 30px 30px 0 0;
}
article#plan_wrapper > .plan:first-of-type,
/*
body:not(#osa) article#plan_wrapper > .plan:nth-of-type(2),
*/
body article#plan_wrapper > .plan:nth-of-type(2){
	margin-top: 0;
}
article#plan_wrapper > .plan section{
	width: calc((100% - 20px) / 2);
	margin: 20px 20px 0 0;
}
article#plan_wrapper > .plan:last-of-type,
article#plan_wrapper > .plan:nth-of-type(2n),
article#plan_wrapper > .plan section:last-of-type,
/*
body:not(#osa) #plan_wrapper > .plan section:nth-of-type(2n),
#osa article#plan_wrapper > .plan section:nth-of-type(3n),
*/
body #plan_wrapper > .plan section:nth-of-type(2n),
article#plan_wrapper > .plan section:nth-of-type(3n){
	margin-right: 0;
}
/*
#osa article#plan_wrapper{
	width: calc(100% - 310px);
	margin-right: 30px;
}
#osa article#plan_wrapper > .plan{
	width: 100%;
	margin-right: 0;
}
#osa article#plan_wrapper > .plan section{
	width: calc((100% - 40px) / 3);
}
*/

.plan section > a{
	text-decoration: none;
}
.plan section > a h2{
	margin-bottom: 3px;
	line-height: 1.2;
	text-decoration: underline;
}
.plan section > a figure{
	overflow: hidden;
	float: left;
	width: 100px;
	height: 80px;
	margin-right: 10px;
}
.plan section > a figure img{
	-webkit-transition: 300ms;
	transition: 300ms;
}
.plan section > a:hover figure img{
	-webkit-transform: scale(1.05);
	transform: scale(1.05);
}
.plan section > a p{
	margin-top: 3px;
}
.plan section > a:hover p{
	color: #000;
}
.plan section > a p.price{
	display: inline-block;
	width: 100%;
	font-weight: bold;
	text-align: center;
	color: #F00;
	font-size: 16px;
	font-size: 16rem;
}

/* ---------------------------------------------------------
	ゲレンデ一発検索
--------------------------------------------------------- */
article#search_wrapper{
	margin-top: 50px;
	width: 280px;
}
article#search_wrapper > h1.normal{
	padding: 5px 0 5px 10px !important;
}
article#search_wrapper > h1.normal::after{
	display: none;
}
article#search_wrapper > h1.normal::before{
	content: "\f002";
	font-family: "Font Awesome 5 Free";
	margin-right: 3px;
}
article#search_wrapper form#gld_search{
	padding: 10px 20px 20px;
	background: #FFF;
}
form#gld_search dl{
	margin-bottom: 10px;
	border-bottom: 1px dotted #CCC;
}
form#gld_search dl dt{
	position: relative;
	margin-bottom: 3px;
	font-size: 16px;
	font-size: 16rem;
}
form#gld_search dl dt::before{
	content: "\f7d0";
	margin-right: 5px;
	font-family: "Font Awesome 5 Free";
	font-size: 21px;
	font-size: 21rem;
	color: #1592E6;
	font-weight: 900;
}
form#gld_search dl dd.sel{
	position: relative;
	width: 100%;
	overflow: hidden;
	margin-bottom: 10px;
	font-size: 16px;
	font-size: 16rem;
	text-align: center;
	background: #ffffff;
	border: 1px solid #999;
	border-radius: 3px;
}
form#gld_search dl dd.sel::before {
	position: absolute;
	top: 0.8em;
	right: 0.9em;
	width: 0;
	height: 0;
	padding: 0;
	content: '';
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	border-top: 6px solid #666666;
	pointer-events: none;
}
form#gld_search dl dd.sel select{
	width: 100%;
  margin-left: 10px;
	padding: 5px 0;
	color: #000;
	cursor: pointer;
	text-overflow: ellipsis;
	border: none;
	outline: none;
	background: transparent;
	background-image: none;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
}
form#gld_search dl dd.sel select::-ms-expand {
	display: none;
}
form#gld_search dl dd.sel select:disabled{
	color: #999;
}
form#gld_search button{
	display: block;
	margin: 0 auto;
	padding: 10px 15px;
	text-align: center;
	font-size: 18px;
	font-size: 18rem;
	font-weight: bold;
	color: #FFF;
	background: #1592E6;
	border: 1px solid #FFF;
	border-radius: 5px;
	box-shadow: rgba(0, 0, 0, 0.15) 0px 0px 3px 1px;
}
form#gld_search button:hover{
	cursor: pointer;
	background: #FF871B;
}

/* ---------------------------------------------------------
	特集スキープラン
--------------------------------------------------------- */
article#special_wrapper{
	width: fit-content;
	margin: 50px auto 0;
	padding: 0 20px 20px;
	border: 4px double #FF871B;
	border-radius: 20px;
}
#special_wrapper h1{
	position: relative;
	display: table;
	top: -25px;
	margin: 0 auto -25px;
	padding: 10px 60px;
	font-size: 24px;
	font-size: 24rem;
	text-align: center;
	letter-spacing: 0.2em;
	line-height: 1.0;
	color: #FFF;
	background: #FF871B;
	background: repeating-linear-gradient(-45deg, #548BA7, #548BA7 6px,#83B3B7 0px, #83B3B7 12px);
	background: repeating-linear-gradient(-45deg, #FF871B, #FF871B 6px,#FFAA5E 0px, #FFAA5E 12px);
	border: 3px solid #FF871B;
	border-radius: 100vh;
	text-shadow: 3px 3px 3px #FF4803,
			-3px -3px 3px #FF4803,
			-3px 3px 3px #FF4803,
			3px -3px 3px #FF4803;
}
#special_wrapper h1::before {
	content: '';
	margin-left: 0.2em;
}
#special_wrapper h1:first-of-type{
	margin-top: 0;
}
/*
#special_wrapper h1::before,
#special_wrapper h1::after {
	position: absolute;
	content: '';
	width: 0px;
	height: 0px;
	z-index: 1;
}
#special_wrapper h1::before{
	top: 0;
	left: -0.2em;
	border-width: 22px 0px 22px 20px;
	border-color: transparent transparent transparent #F5F5F5;
	border-style: solid;
}
#special_wrapper h1::after{
	top: 0;
	right: 0;
	border-width: 22px 20px 22px 0px;
	border-color: transparent #F5F5F5 transparent transparent;
	border-style: solid;
}
*/

article#special_wrapper #special_inner section.special{
	width: calc((100% - 40px) / 3);
	margin: 20px 20px 0 0;
}
article#special_wrapper #special_inner section.special:last-of-type,
article#special_wrapper #special_inner section.special:nth-of-type(3n){
	margin-right: 0;
}
section.special > a{
	display: block;
	text-decoration: none;
	position: relative;
}
section.special > a h2{
	padding: 3px 0;
	line-height: 1.2;
	text-align: center;
	background: #DBEEED;
	color: #FFF;
	background: #1592E6;
}
section.special > a:hover h2{
	background: #FF871B;
}
section.special > a figure{
	overflow: hidden;
}
section.special > a figure img{
-webkit-transition: 300ms;
transition: 300ms;
}
section.special > a:hover figure img{
	-webkit-transform: scale(1.03);
	transform: scale(1.03);
}
section.special > a p{
	padding: 3px;
	font-size: 12px;
	font-size: 12rem;
	background: #FFF;
}
section.special > a:hover p{
	color: #000;
	background: #FFFFDD;
}

/* ---------------------------------------------------------
	レスポンシブ
--------------------------------------------------------- */
@media screen and (max-width: 844px){
	.plan section > a figure{
		float: none;
		width: 100%;
		height: auto;
		margin-right: 0;
	}
}
@media screen and (max-width: 768px){
	#map_wrapper iframe{
		height: 340px;
	}
	article#plan_wrapper{
		width: 100%;
		margin-right: 0;
	}
	article#select_wrapper{
		width: calc(100% - 310px);
		margin-right: 0;
		margin-left: 30px;
	}
	article#select_wrapper > .select{
		-js-display: flex;
		display: -ms-flex;
		display: -webkit-box;
		display: -webkit-flex;
		display: flex;
	}
	article#select_wrapper > .select section{
		width: 50%;
		margin-top: 0 !important;
	}
	article#special_wrapper.col3{
		width: 100%;
	}
	article#special_wrapper > section.special{
	  width: calc((100% - 60px) / 3) !important;
		margin: 20px 30px 0 0 !important;
	}
	article#special_wrapper > section.special:nth-of-type(4n){
		margin-right: 30px !important;
	}
	article#special_wrapper > section.special:nth-of-type(3n){
		margin-right: 0 !important;
	}
}
@media screen and (max-width: 568px){
	#map_wrapper{
		width: 100%;
		margin-right: 0;
	}
	article#search_wrapper{
		width: 230px;
	}
	article#search_wrapper form#gld_search{
		padding: 10px;
	}
	article#select_wrapper{
		width: calc(100% - 260px);
	}
}
@media screen and (max-width: 567px){
	article#plan_wrapper > .plan section{
		width: 100% !important;
		margin: 20px 0 0 0 !important;
	}
	article#search_wrapper{
		width: 100%;
		order: 1;
	}
	article#select_wrapper{
		width: 100%;
		margin-left: 0;
	}
	article#special_wrapper > section.special{
		width: calc((100% - 20px) / 2) !important;
		margin: 20px 20px 0 0 !important;
	}
	article#special_wrapper > section.special:nth-of-type(4n){
		margin-right: 20px !important;
	}
	article#special_wrapper > section.special:nth-of-type(3n){
		margin-right: 20px !important;
	}
	article#special_wrapper > section.special:nth-of-type(2n){
		margin-right: 0 !important;
	}
	article#special_wrapper #special_inner section.special{
		width: 100%;
		margin: 20px 0 0 0 !important;
	}
	article#special_wrapper #special_inner section.special:last-of-type, article#special_wrapper #special_inner section.special:nth-of-type(2n){
		margin-right: 0;
	}
	article#plan_wrapper > .plan{
		width: 100%;
		margin: 20px 0 0 0 !important;
	}
}
@media screen and (max-width: 320px){
	article#select_wrapper > .select{
		display: block;
	}
	article#select_wrapper > .select section{
		width: 100%;
		margin-top: 0 !important;
	}
	article#special_wrapper > section.special{
		width: 100% !important;
		margin-right: 0 !important;
	}
	article#special_wrapper > section.special:nth-of-type(3n){
		margin-right: 0 !important;
	}
}
