@charset "UTF-8";
/* ==========================================================================
   Foundation
========================================================================== */
/*

  font settings

**************************************************/
/*

  calculation width

**************************************************/
/*

  boxsizing settings

**************************************************/
/*

  opacity settings

**************************************************/
/*

  border-radius settings

**************************************************/
/*

  drop shadow settings

**************************************************/
/*

  vertical align setting

**************************************************/
/*

  table layout setting

**************************************************/
/*

  flexbox layout setting

**************************************************/
/*

  scaling img

**************************************************/
/*

  clearfix

**************************************************/
/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after {
  content: '';
  content: none;
}

q:before, q:after {
  content: '';
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

select {
  -moz-appearance: none;
  -webkit-appearance: none;
  text-indent: 0.01px;
  text-overflow: '';
  appearance: none;
  border-radius: 0;
  border: 0;
  margin: 0;
  padding: 0;
  background: none transparent;
  vertical-align: middle;
  color: inherit;
  box-sizing: content-box;
}

select::-ms-expand {
  display: none;
}

html {
  font-size: 62.5%;
}

body {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

@media screen and (max-width: 768px) {
  body {
    -webkit-text-size-adjust: 100%;
  }
}

.sp-only {
  display: none !important;
}


/* ---------- .bread ---------- */
.bread {
  max-width: 100%;
  background: #f6fafd;
  margin: 0 auto;
}
.bread ul {
  display: block;
  width: 1080px;
  margin: 0 auto;
}
.bread li {
  display: inline-block;
  font-size: 13px;
  vertical-align: middle;
  margin: 17px auto 13px;
}
.bread li:last-child::after {
  content: '';
}
.bread li a {
  color: #26aaff;
  text-decoration: none;
}


/* ---------- .mainVisual ---------- */
.mainVisual {
  position: relative;
  overflow: hidden;
  width: 100%;
  height:500px;
}
.mainVisual h2 {
  position: relative;
  left: 50%;
  margin-left: -1000px;
  height: 0;
  padding: 0;
}
.mainVisual_over {
  display: block;
  margin: 0 auto;
  width: 1000px;
  position: relative;
}
.mainVisual_over .mv_txt_wrap01 {
  position: absolute;
  z-index: 10;
  top: 255px;
  left:322px;;
  margin: auto;
 line-height:150%;
color: #242627;
  width:470px;
}
.mainVisual_over .mv_txt01 {
  font-size:17px;
  margin-bottom:10px;
  font-weight: bold;
  color:#fff;
}
.mainVisual_over .mv_txt02 {
  font-size:12px;
}
/* ---------- .form ---------- */
.form{
  display: block;
  margin: 0 auto;
  width: 1000px;
  position: relative;
}

.formBox{
z-index: 10;
width:226px;
height:307px;
position:absolute;
background: url(../img/form_bg.png);
top:-470px;
left:0px;
padding:60px 25px 0;
font-size:14px;

color: #fff;
font-weight: bold;
}

.formBox select{
color:#000;
padding-left:5px;
font-size:14px;
}

.formBox dt{
padding-top:10px;
margin-bottom:10px;
}

.formBox .select_sizeL{
width:205px;
height:35px;
background:#fff;
}

.formBox .triangle{
position:relative;
}

.formBox .triangle:after{
display: block;
content: "";
width: 0;
height: 0;
border-style: solid;
border-width: 8.7px 5px 0 5px;
border-color: #c7c7c7 transparent transparent transparent;
position:absolute;
top:43%;
right:27px;
}

.formBox .select_sizeM{
width:61px;
height:35px;
text-align:center;
background:#fff;
}
.formBox .select_sizeS{
width:45px;
height:35px;
background:#fff;
}

.formBox .button{
  margin:20px auto 0;
  text-align: center;
  padding-top:15px;
  border-top:1px dashed #fff;
}
.formBox .button input{
width:220px;
height: auto;
}
.formBox .button:hover{
opacity: 0.80;
transition-duration: 0.2s;
}

.formBox .ui-datepicker-trigger{
  vertical-align: middle;
  margin-left:10px;
  width: 22px;
}
/* ---------- .info ---------- */
.info_area{
width:100%;
background:#fff;
padding:15px 0;
}

.info_box{
width:1000px;
text-align: center;
margin: auto;
}


.info_box li{
line-height:200%;
color:#916230;
font-size: 14px;
}

.white_title_txt {
  padding:0 0 0 15px;
  width:985px;
  background: #fff;
  margin-bottom:30px;

}
.white_title_txt p{
  font-size:20px;
  font-weight: bold;
  color: #000;
  letter-spacing: 0.2em;
  text-align: left;
vertical-align: middle;
  padding:15px 0 15px 20px;
  border-left: 40px double #b9c4ea;
}
.gray_title_txt {
  padding:0 0 0 15px;
  width:985px;
  background: #f0efe8;
  margin-bottom:30px;


}
.gray_title_txt p{
  font-size:20px;
  font-weight: bold;
  color: #000;
  letter-spacing: 0.2em;
  text-align:left;
vertical-align: middle;
  padding:15px 0 15px 20px;
  border-left: 40px double #b9c4ea;
}


/* ---------- #tour ---------- */
#tour {
  background:url(../img/snow_bg.png);
  padding:40px 0;
}
#tour #tour_inner {
  display: block;
  width: 1000px;
  margin: 0 auto;
  padding: 0px 15px 0px;
  position: relative;
}
#tour ul.tour_list::after{
  content:'';
  display: block;
  clear: both;
}
#tour ul.tour_list {
  text-align: center;
}
#tour ul.tour_list a {
  text-decoration: none;
  display: inline-block;
}
#tour ul.tour_list a img{
  width: 160px;
}
#tour .tour_list li {
  display: block;
  width: 185px;
  background: #fff;
  margin-right: 18px;
  position: relative;
  float:left;
}
#tour ul.tour_list li:hover {
  background: #e0e0e0;
}
#tour ul.tour_list li:hover img,
#tour ul.tour_list li:hover p,
#tour .tour_list li:hover::before,
#tour .tour_list li:hover::after {
  opacity: 0.7;
}
#tour ul.tour_list li,
#tour ul.tour_list li img,
#tour ul.tour_list li p,
#tour .tour_list li::before,
#tour .tour_list li::after {
  transition: 0.5s;
}
#tour .tour_list li.ribbon_morning::before {
content: '';
  display: inline-block;
  width: 50px;
  height:24px;
  background-image: url(../img/ribbon_morning.png);
  background-size: contain;
  position: absolute;
  top: 6px;
  left: -5px;
  z-index: 10;
}
#tour .tour_list li.ribbon_night::before {
content: '';
  display: inline-block;
  width: 50px;
  height:24px;
  background-image: url(../img/ribbon_night.png);
  background-size: contain;
  position: absolute;
  top: 6px;
  left: -5px;
  z-index: 10;
}
#tour .tour_list li.ribbon_night::before img{
  width:50px;
}
#tour .tour_list li:last-child {
  margin-right: 0;
}
#tour .tour_list img {
  display: block;
  width: auto;
  margin: 9px auto 0;
}
#tour .tour_list p:first-of-type {
  display: block;
  font-size: 13px;
  color: #333333;
  margin: 9px;
  text-align: left;
}
#tour .tour_list p:last-of-type {
  display: block;
  font-size: 16px;
  font-weight: bold;
  color: #cf0000;
  text-align:center;
  margin: 9px;
background: #d6fbf3;
  padding:5px;
}

/* ---------- .ski_info ----------- */
.ski_info {
  width:100%;
  margin: 0 auto;
  padding:0px 0 70px;
  background: #fff;
}

.ski_info_box{
  width:1000px;
  margin: 0 auto;
  padding-top:40px;
}

.ski_info .gray_title_txt{
margin-bottom:40px;
}


.ski_info h3.title {
  font-size:18px;
  font-weight: bold;
  color: #f95464;
  margin: 0px auto 20px;
text-align:left;
padding-bottom:20px;
  border-bottom:2px solid #d9d2d2;
}
.ski_info .detail{
  width:1000px;
  display: block;
  color: #000;
  font-size:16px;
  margin: auto;
  border-top:1px solid #c9c9c9;
  border-left:1px solid #c9c9c9;
}
.ski_info .detail dl{
display: table;
background:#fff;
width:100%;
}
.ski_info .detail dl:nth-child(odd){
display: table;
background:#f5f5f5;
}

.ski_info .detail dt{
width:15%;
display: table-cell;
vertical-align: middle;
padding-left:10px;
border-right:1px solid #c9c9c9;
border-bottom:1px solid #c9c9c9;
box-sizing: border-box;
padding:10px 0 10px;
text-align: center;
}
.ski_info .detail dt img{
  width: 116px;
}
.ski_info .detail dd{
display: table-cell;
vertical-align: middle;
text-align: center;
box-sizing: border-box;
}
.ski_info .detail dd:nth-child(2){
width:45%;
font-size:16px;
color:#2e989c;
font-weight: bold;
border-right:1px solid #c9c9c9;
border-bottom:1px solid #c9c9c9;
text-align: left;
padding:0 1%;
line-height:2rem;
}
.ski_info .detail dd:nth-child(3){
width:20%;
border-right:1px solid #c9c9c9;
border-bottom:1px solid #c9c9c9;
}
.ski_info .detail dd:nth-child(4){
width:20%;
border-right:1px solid #c9c9c9;
border-bottom:1px solid #c9c9c9;
font-size:18px;
color:#cf0000;
font-weight: bold;
}

.ski_info .detail h3 {
  font-size:16px;
  font-weight:normal;
  color: #000;
  margin: 0px;
text-align:left;
}

.ski_info .detail h3 .prefecture {
  display: inline-block;
  position: relative;
  top: 0px;
  font-size: 14px;
  color: #fff;
  margin: 0 10px 0 10px;
  padding: 6px 10px;
  background: #f24d7c;
}

.ski_info .detail a {
  display: block;
  color: #e60012;
  transition: 0.5s;
    height:110px;
    line-height:110px;
    vertical-align: middle;
}
.ski_info .detail a:hover {
  background: #fad6e0;
}

.ski_info .detail p {
  color: #fff;
  display: inline-block;
  position: relative;
  top:46%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

.ski_info .detail .date_title{
color: #4a4a4a;
font-size: 16px;
text-align: center;
}
.ski_info .detail  dl.date_title{
background-image: linear-gradient( 90deg, #ffdae5 25%, #ffe7ee 25%, #ffe7ee 50%, #ffdae5 50%, #ffdae5 75%, #ffe7ee 75%, #ffe7ee );
background-size: 30px 30px;
}
.ski_info .detail .date_title dt{
border-right:1px solid #c9c9c9;
padding:10px 0;
}

.ski_info .detail .date_title dd:nth-child(2){
border-right:1px solid #c9c9c9;
font-size:16px;
color:#4a4a4a;
text-align:center;
font-weight: normal;
}
.ski_info .detail .date_title dd:nth-child(3){
border-right:1px solid #c9c9c9;
}
.ski_info .detail .date_title dd:nth-child(4){
border-right:1px solid #c9c9c9;
font-size:16px;
color:#4a4a4a;
font-weight: normal;
}


/* ---------- #ski_list ---------- */
#ski_list {
  display: block;
  width:100%;
  margin:0px auto 0px;
  background:#ebebeb;
  box-shadow:0 5px 5px rgba(0,0,0,0.1) inset;
  padding:40px 0 50px;
}

#ski_list h3{
width:1000px;
margin:0 auto 30px;
}

#ski_list ul {
  text-align: center;
  padding: 0 0px;
}

#ski_list li {
  display: inline-block;
  vertical-align: top;
  text-align: center;
  margin:0 24px 10px 0;
}

#ski_list li:last-of-type{
margin:0 0px 10px 0;
}

#ski_list li a {
  display: inline-block;
  width: 320px;
  height: 90px;
  border-radius: 4px;
  box-sizing: border-box;
  font-size:35px;
  font-weight: bold;
  text-decoration: none;
  color: #fff;
  transition: 0.5s;
  position: relative;
background:#16c1f6 url(../img/ski_list_icon.png) 20px center no-repeat;
    background-size:20px;
box-shadow:3px 3px #66a5d0;
border-right:20px solid #13a9d7;
}

#ski_list li a:before {
  display: block;
  content: "";
  position: absolute;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  top:50%;
  right:-15px;
  width: 8px;
  height: 8px;
  margin-top: -4px;
  background: #fff;
}
#ski_list li a:after {
  display: block;
  content: "";
  position: absolute;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  top:50%;
  right:-10px;
  width: 8px;
  height: 8px;
  margin-top: -4px;
  background:#13a9d7;
  transition: 0.5s;
}
#ski_list li a:hover:after {
  background:#13a9d7;
  transition: 0.5s;
}

#ski_list li a:hover {
background:#13a9d7 url(../img/ski_list_icon.png) 20px center no-repeat;
background-size:20px;
}
#ski_list li p {
  color: #fff;
  display: inline-block;
  position: relative;
  top:48%;
  left:5.5%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}
#ski_list li span{
  color: #fff;
  display: inline-block;
  position: relative;
  top:50%;
left:7%;
font-size:16px;
width:35%;
  text-align: left;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

/* ---------- .ski_osusme ---------- */
.ski_osusume{
  width:1000px;
  margin: 0 auto;
  padding:0px 0 60px;
  background: #fff;
	overflow: hidden;
}

.ski_osusume h3{
  margin: 60px auto 30px;
}

.ski_osusume ul.bnr {
  text-align: center;
  margin:auto;
}

.ski_osusume .bnr li{
  display: inline-block;
  vertical-align: top;
  text-align: center;
  margin:0 5px 0 0;
}

.ski_osusume .bnr li:last-of-type{
margin:0 0px 0px 0;
}

.ski_osusume ul.article {
  text-align: center;
width:1000px;
  margin:auto;
}

.ski_osusume .article li{
  text-align:left;
  margin:0 17px 0 0;
  line-height:120%;
  float: left;
}

.ski_osusume .article li a{
  text-decoration: none;
  color: #000;
  display: block;
  padding:10px;
  width:215px;
  border:1px solid #e0e0e0;
  background: #fff;
  transition: background .5s ease-out;
}
.ski_osusume .article li a:hover{
  background: #f5f5f5;
}
.ski_osusume .article img{
margin:0px auto 15px;
}
.ski_osusume .article p{
margin:0px auto 0px;
font-size:13px;
}
.ski_osusume .article strong{
margin:0px auto 15px;
display: block;
font-size:15px;
font-weight: bold;
}
.ski_osusume .article li:last-of-type{
margin:0 0px 0px 0;
}

.ski_txt_area {
  font-size: 15px;
  color: #6b6b6b;
  display: block;
  width: 940px;
  margin:0px auto 50px;
  background:#f0f0f0;
  padding:30px;
  line-height:160%;
}

.return_top {
  text-decoration: none;
  width: 100%;
  margin: 0 auto 0px;
  border-bottom:15px solid #eeeeee;

}

.return_top_btn{
  width:1000px;
  margin: auto;
  text-align: right;
}
.return_top a img{
  width: 131px;
}
.return_top a:hover{
opacity: 0.80;
transition-duration: 0.2s;
}


/* ----------- #prefecture ----------- */
#prefecture {
  display: block;
  width: 1000px;
  margin: 0 auto;
  padding: 60px 0;
}
#prefecture h2 {
  display: block;
  font-size: 19px;
  font-weight: bold;
  color: #000;
  background: #f0efe8;
  box-shadow: 0 0 4px 1px rgba(0, 0, 0, 0.05) inset;
  padding: 15px 20px 15px 85px;
  position: relative;
  margin-bottom: 30px;
}
#prefecture h2::before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 100%;
  background: #b9c4ea;
  position: absolute;
  top: 0;
  left: 15px;
}
#prefecture h2::after {
  content: "";
  display: inline-block;
  width: 20px;
  height: 100%;
  background: #b9c4ea;
  position: absolute;
  top: 0;
  left: 47px;
}
#prefecture h3 {
  display: block;
  font-size: 19px;
  font-weight: bold;
  color: #000;
  background: #f0efe8;
  box-shadow: 0 0 4px 1px rgba(0, 0, 0, 0.05) inset;
  padding: 15px 20px 15px 85px;
  position: relative;
  margin-bottom: 30px;
}
#prefecture h3::before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 100%;
  background: #b9c4ea;
  position: absolute;
  top: 0;
  left: 15px;
}
#prefecture h3::after {
  content: "";
  display: inline-block;
  width: 20px;
  height: 100%;
  background: #b9c4ea;
  position: absolute;
  top: 0;
  left: 47px;
}
#prefecture p {
  display: block;
  font-size: 17px;
  font-weight: bold;
  color: #2d55ae;
  padding: 5px 0 15px;
  /* padding: 0 0 15px; */
  /* border-bottom: 3px solid #d9d2d2; */
}
#prefecture table {
  width: 100%;
  margin: 20px 0 0;
  /* margin: 20px 0 40px; */
  border-collapse: collapse;
}
#prefecture li:last-of-type table {
  margin-bottom: 0;
}
#prefecture tr:nth-of-type(2n-1) {
  background: #f7f7f7;
}
#prefecture tr.row-link {
  cursor: pointer;
  transition: .3s;
}
#prefecture tr.row-link:hover {
  background: #fad6e0!important;
}
#prefecture th,
#prefecture td {
  font-size: 15px;
  border: solid 1px #c9c9c9;
  text-align: center;
  vertical-align: middle;
  color: #4a4a4a;
  padding: 7px 0;
}
#prefecture th {
  background: linear-gradient(to right, #d8dffa, #d8dffa 50%, #c3cef7 50%, #c3cef7);
  background-size: 20px;
}
#prefecture td:first-of-type {
  width: 160px;
}
#prefecture td:nth-of-type(2) {
  width: 370px;
  color: #2e989c;
  font-weight: bold;
  text-align: left;
  padding-left: 30px;
}
#prefecture td:nth-of-type(3) {
  width: 200px;
}
#prefecture td:nth-of-type(3) p {
  display: inline-block;
  font-size: 12px;
  font-weight: bold;
  line-height: 1.5;
  padding: 6px 12px;
  color: #000;
  /* background: #f67e9b; */
  border-radius: 4px;
  margin-top: 30px;
}
#prefecture td:last-of-type {
  font-size: 18px;
  font-weight: bold;
  color: #cf0000;
  text-decoration: underline;
}
#prefecture td:nth-of-type(3) p:empty {
  display: none;
}

.title01 {
  width:160px;
}

.title02 {
  width:400px;
}
.title03 {
  width:200px;
}


.place_green a {
  color:#2e989c!important;
}
.time_black a {
  color:#000!important;
}
.price_red a {
  color:#f00!important;
}
.row-link td a {
  display: table;
  width: 100%;
  height: 87px;
  text-decoration: none;
}
.row-link td a span {
  vertical-align: middle;
  display: table-cell;
  width: 100%;
  height: 100%;
}
.row-link td a img {
  width: 116px;
}
#prefecture table.table_2 {
  margin: 0px 0 50px;
}


#blogFeed h3::before {
  background:#b9c4ea!important;
}
#blogFeed h3::after {
  background:#b9c4ea!important;
}

/* ----------- 追記#reason ----------- */
#reason {
  display: block;
  background: #f0f0f0;
  padding: 55px 0 70px;
}
#reason h3 {
  display: block;
  width: 1000px;
  margin: 0 auto 30px;
  font-size: 19px;
  font-weight: bold;
  color: #000;
  background: #fff;
  box-shadow: 0 0 4px 1px rgba(0, 0, 0, 0.1);
  padding: 15px 20px 15px 85px;
  position: relative;
  box-sizing: border-box;
}
#reason h3::before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 100%;
  background: #b9c4ea;
  position: absolute;
  top: 0;
  left: 15px;
}
#reason h3::after {
  content: "";
  display: inline-block;
  width: 20px;
  height: 100%;
  background: #b9c4ea;
  position: absolute;
  top: 0;
  left: 47px;
}
#reason .reason_inner {
  display: block;
  width: 980px;
  margin: 0 auto;
  background: #fff;
  padding: 70px 0 70px 80px;
  box-sizing: border-box;
}
#reason .reason_inner div {
  display: inline-block;
  vertical-align: top;
}
#reason .reason_inner div:first-of-type {
  margin-right: 85px;
}
#reason .reason_inner div:nth-of-type(2) {
  margin-top: 5px;
}
#reason .reason_inner div:nth-of-type(3) {
  margin-top: 35px;
  margin-left: -20px;
}
#reason .reason_inner div:nth-of-type(4) {
  margin-top: 50px;
  margin-left: 40px;
}
#reason .reason_inner div p {
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 2px;
  text-align: center;
  line-height: 1.5;
  color: #242424;
}
#reason .reason_inner div span {
  background: -webkit-linear-gradient(transparent 50%, #fdff32 50%);
  background: -o-linear-gradient(transparent 50%, #fdff32 50%);
  background: linear-gradient(transparent 50%, #fdff32 50%);
}
