@charset "UTF-8";
/* CSS Document */
/*リュウミン
font-family: a-otf-ryumin-pr6n, serif;
font-weight: 300;
font-style: normal;
*/
/*Bebas Neue
font-family: 'Bebas Neue', cursive;
*/
/*Noto Sans JP（300,400,500,700）
font-family: 'Noto Sans JP', sans-serif;
*/
/*アクセントカラー
小浜島：#00a1e9/rgba(0,161,233,1)
西表島：#00984f/rgba(0,152,79,1)
background: linear-gradient(-45deg, rgba(0,161,233,1) 1%, #FFF 40%,#FFF 60%,rgba(0,152,79,1) 99%);
*/
/*他CSSの打ち消し*/
.wrapContent {
  margin-top: 0;
}
h2 {
  height: auto;
}
h3 {
  color: inherit;
}
h3 span {
  padding: 0;
  height: auto;
  display: block;
}
a:hover {
  text-decoration: none;
  opacity: inherit;
}
@media screen and (max-width: 974px) and (min-width: 0px) {
  #grand-top .rinji-box {
    padding-top: 0;
  }
}
@media screen and (max-width:839px) {
  .crumbs {
    height: auto !important;
  }
  .crumbs li {
    line-height: 15px;
  }
}
/*---------------------------------------------------
　共通設定
---------------------------------------------------*/
.ski * {
  font-size: 16px;
  line-height: 180%;
  box-sizing: border-box;
  font-family: 'メイリオ', Meiryo, 'sans-serif';
}
/*FontAwesome用*/
.ski i.fas {
  font-family: "Font Awesome 5 Free";
}
.ski .pc-none {
  display: none;
}
.ski section {
  padding: 50px 0 80px 0;
}
.ski section .inner {
  width: 1200px;
  margin: 0 auto;
}
.ski .btn {
  display: block;
  text-align: center;
}
.ski .btn a {
  display: block;
  border-radius: 3px;
}
.ski .btn a:hover {
  opacity: 0.8;
  transition: 0.3s;
  text-decoration: none;
}
@media screen and (max-width:767px) {
  .ski .pc-none {
    display: inherit;
  }
  .ski .sp-none {
    display: none;
  }
  .ski section .inner {
    width: 100%;
    padding: 0 10px;
  }
  .ski h3 {
    margin: 0 0 30px 0;
  }
}
/*---------------------------------------------------
　メインビジュアル（content-head）
---------------------------------------------------*/
.ski {
  background: url(../img/main.jpg) no-repeat top center;
}
.ski section.content-head {
  padding: 220px 0 0 0;
}
.ski section.content-head .inner {
  width: 100%;
  margin: 0 auto;
}
.ski .content-head {
  width: 100%;
  text-align: center;
}
.ski .content-head .catch-txt, .ski .content-head h2 {
  text-indent: -9999px;
}
.ski .content-head .catch-txt, .ski .content-head .gotoinfo {
  background: #090909;
  color: #FFF;
  font-size: 18px;
  display: block;
  padding: 3px 5px 0 10px;
  height: 35px;
  width: fit-content;
  margin: 0 auto;
  position: relative;
  box-sizing: border-box;
}
.ski .content-head .catch-txt, .ski .content-head .gotoinfo::before {
  display: block;
  content: "";
  width: 10px;
  height: 35px;
  border-top: 17px solid #090909;
  border-bottom: 17px solid #090909;
  border-left: 10px solid rgba(0, 0, 0, 0);
  border-right: 0 solid #090909;
  position: absolute;
  top: 0;
  left: -10px;
  box-sizing: border-box;
}
.ski .content-head .catch-txt, .ski .content-head .gotoinfo::after {
  display: block;
  content: "";
  width: 10px;
  height: 35px;
  border-top: 17px solid #090909;
  border-bottom: 17px solid #090909;
  border-right: 10px solid rgba(0, 0, 0, 0);
  border-left: 0 solid #090909;
  position: absolute;
  top: 0;
  right: -10px;
  box-sizing: border-box;
}
.ski .content-head .lead-txt {
  width: 80%;
  max-width: 550px;
  margin: 30px auto 0 auto;
  text-align: left;
}
@media screen and (max-width:767px) {
  .ski {
    background: url(../img/main-sp.jpg) no-repeat top center;
  }
  .content-head {
    width: 100%;
  }
  .ski .content-head .catch-txt, .ski .content-head .gotoinfo {
    display: block;
    padding: 3px 10px 0 15px;
    height: 100px;
  }
  .ski .content-head .catch-txt, .ski .content-head .gotoinfo::before {
    width: 20px;
    height: 100px;
    border-top: 50px solid #090909;
    border-bottom: 50px solid #090909;
    border-left: 15px solid rgba(0, 0, 0, 0);
    left: -19px;
    box-sizing: border-box;
  }
  .ski .content-head .catch-txt, .ski .content-head .gotoinfo::after {
    width: 20px;
    height: 100px;
    border-top: 50px solid #090909;
    border-bottom: 50px solid #090909;
    border-right: 15px solid rgba(0, 0, 0, 0);
    right: -19px;
  }
  .ski .content-head .lead-txt {
    width: 90%;
  }
}
/*---------------------------------------------------
　プラン（content-body）
---------------------------------------------------*/
/*タブメニュー_共通*/
.tabs {
  display: flex;
  justify-content: center;
}
.tabs li a {
  display: block;
  text-align: center;
}
.ski .content-body .tab-inner {
  width: 1100px;
  margin: 0 auto;
  padding: 50px 0;
  color: #FFF;
}
/*タブメニュー（メイン）*/
.main.tabs li {
  position: relative;
  margin: 0 10px;
}
.main.tabs li a {
  padding: 20px 40px;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  color: #FFF;
  font-size: 20px;
}
.main.tabs li a:hover {
  color: #000;
  transition: 0.3s;
}
.tab-menu-top .main.tabs li {
  border-top: none;
  width: 300px;
}
.tab-menu-top .main.tabs li a {
  padding: 10px 0;
}
.tab-menu-top .main.tabs li p.area {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  color: #000;
  font-size: 14px;
}
.tab-menu-top .main.tabs li p.hotel-name {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  font-size: 26px;
}
.tab-menu-top .main.tabs li p.theme {
  text-align: center;
  font-size: 20px;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 300;
  color: #000;
  line-height: 30px;
}
.tab-menu-top .main.tabs li p.theme .en {
  font-family: 'Bebas Neue', cursive;
  display: inline-block;
  margin: 0 5px 0 0;
  font-size: 24px;
}
.tab-menu-top .main.tabs li p.theme .theme {
  display: inline-block;
  background: #FFF;
  border-radius: 3px;
  padding: 0 10px;
  margin: 0 0 0 5px;
  vertical-align: text-bottom;
  font-weight: 700;
}
.tab-menu .main.tabs li::after {
  display: block;
  content: "";
  width: 12px;
  height: 12px;
  border-bottom: 6px solid #FFF;
  border-right: 6px solid #FFF;
  border-top: 6px solid rgba(0, 0, 0, 0);
  border-left: 6px solid rgba(0, 0, 0, 0);
  position: absolute;
  bottom: 0;
  right: 0;
  box-sizing: border-box;
}
.tab-menu-top .main.tabs li::after {
  content: none;
}
.tab-menu-top .main.tabs li::before {
  display: block;
  content: "";
  width: 20px;
  height: 20px;
  border-top: 10px solid #FFF;
  border-left: 10px solid #FFF;
  border-bottom: 10px solid rgba(0, 0, 0, 0);
  border-right: 10px solid rgba(0, 0, 0, 0);
  position: absolute;
  top: 0;
  left: 0;
  box-sizing: border-box;
}
/*タブメニュー（ツアー）*/
.tour.tabs {
  border-bottom: 2px solid #000;
}
.tour.tabs li a {
  margin: 0 10px;
  padding: 10px 25px;
  background: #FFF;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
}
.plan-01 .tour.tabs li a {
  color: #419d8a;
}
.plan-02 .tour.tabs li a {
  color: #84b9cb;
}
.plan-03 .tour.tabs li a {
  color: #c85554;
}
.tour.tabs li.active a {
  background: #000;
  color: #FFF;
}
.tour.tabs li a:hover {
  color: #999;
  transition: 0.3s;
}
/*タブ色分けまとめ*/
.main.tabs li.menu01 a, .ski .tab-content.plan-01 {
  background: #419d8a;
}
.main.tabs li.menu02 a, .ski .tab-content.plan-02 {
  background: #84b9cb;
}
.main.tabs li.menu03 a, .ski .tab-content.plan-03 {
  background: #c85554;
}
/*=====ここからコンテンツ=====*/
.ski .content-body h3 {
  font-size: 24px;
  text-align: center;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  line-height: 140%;
  margin: 0 0 10px 0;
}
.ski .content-body h3 span {
  font-size: 36px;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
}
.ski .content-body .h3-bottom {
  text-align: center;
  font-family: 'Bebas Neue', cursive;
  font-size: 20px;
  color: #000;
}
.ski .content-body .h3-top {
  text-align: center;
  font-size: 20px;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  color: #000;
  line-height: 30px;
}
.ski .content-body .h3-top .en {
  font-family: 'Bebas Neue', cursive;
  display: inline-block;
  margin: 0 5px 0 0;
  font-size: 24px;
}
.ski .content-body .h3-top .theme {
  display: inline-block;
  background: #FFF;
  border-radius: 3px;
  padding: 0 10px;
  margin: 0 10px 0 5px;
  vertical-align: text-bottom;
  font-weight: 700;
}
/*ポイント*/
.ski .content-body .point {
  margin: 30px 0;
  padding: 0 100px;
  display: flex;
}
.ski .content-body .point p {
  width: 180px;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  color: #000;
  background: #FFF;
  border-radius: 5px;
  margin: 0 20px 0 0;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
.ski .content-body .point p::after {
  display: block;
  content: "";
  width: 12px;
  height: 16px;
  border-top: 8px solid rgba(0, 0, 0, 0);
  border-bottom: 8px solid rgba(0, 0, 0, 0);
  border-right: 0 solid rgba(0, 0, 0, 0);
  border-left: 15px solid #FFF;
  position: absolute;
  top: calc(50% - 8px);
  right: -12px;
  box-sizing: border-box;
}
.ski .content-body .point li {
  position: relative;
  padding: 0 0 0 25px;
  line-height: 140%;
  color: #000;
}
.ski .content-body .point li + li {
  margin: 10px 0 0 0;
}
.ski .content-body .point li:before {
  font-family: "Font Awesome 5 Free";
  content: "\f2dc";
  font-weight: bold;
  color: #FFF;
  margin: 0 10px 0 0;
  position: absolute;
  left: 0;
  top: 0;
}
/*slickスライダー*/
.ski .content-body .slide-wrap .slide-wrap {
  margin: 0 0 50px 0;
}
.ski .content-body .slide-wrap .img-box {
  padding: 0 10px;
}
.ski .content-body .slide-wrap .txt-box {
  padding: 10px;
}
.ski .content-body .slide-wrap .txt-box h4 {
  font-size: 16px;
  color: #000;
  border-bottom: 2px solid #000;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  margin: 0 0 10px 0;
}
.ski .content-body .slide-wrap .txt-box p {
  font-size: 14px;
  line-height: 160%;
}
.ski .content-body .slide-wrap .img-box img {
  width: 100%;
  height: auto;
  border: 2px solid #000;
}
.ski .content-body .slick-prev::before, .content-body .slick-next::before {
  color: #000 !important;
  font-size: 24px;
}
/*ゲレンデ情報*/
.ski .content-body .ski-slope {
  margin: 0 0 50px 0;
  background: #FFF;
  border-radius: 10px;
  color: #000;
  padding: 10px 30px 10px 30px;
  position: relative;
}
.ski .content-body .ski-slope::before {
  display: inline-block;
  content: "SKI SLOPE INFORMATION";
  background: #000;
  color: #FFF;
  font-size: 20px;
  font-family: 'Bebas Neue', cursive;
  position: relative;
  left: -5px;
  top: -13px;
  padding: 1px 10px 0 10px;
}
.ski .content-body .ski-slope h4 {
  font-size: 20px;
  margin: 0 0 20px 0;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  color: #000;
}
.ski .content-body .ski-slope ul.skislope-list {
  padding: 10px 20px;
  background: #84b9cb;
  margin: 0 0 20px 0;
}
.ski .content-body .ski-slope ul.skislope-list li {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  display: inline-block;
  margin: 0 20px 0 0;
}
.ski .content-body .ski-slope ul.skislope-list li span {
  font-family: 'Bebas Neue', cursive;
  font-size: 22px;
  color: #FFF;
}
.ski .content-body .ski-slope .attention {
  font-size: 14px;
  color: #666;
  line-height: 140%;
  margin: 20px 0 0 0;
}
.ski .content-body .ski-slope .box-wrap .img-box.flexslider img {
  border: none;
}
.ski .content-body .acordion {
  padding: 0 0 20px 0;
}
.ski .content-body .acordion .trigger {
  cursor: pointer;
  text-align: center;
  padding: 10px;
  background: #000;
  color: #FFF;
  border-radius: 3px;
  margin: 20px 0;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
}
.ski .content-body .acordion .trigger::after {
  font-family: "Font Awesome 5 Free";
  content: "\f13a";
  font-weight: bold;
  margin: 0 0 0 10px;
}
.ski .content-body .acordion .trigger.active::after {
  content: "\f139";
}
.ski .content-body .acordion_tree p {
  text-align: center;
}
.ski .content-body .acordion_tree p img {
  width: 100%;
  height: auto;
}
/*ホテル情報*/
.ski .content-body .hotel .midashi {
  font-family: 'Bebas Neue', cursive;
  font-size: 40px;
  text-align: center;
  color: #FFF;
  margin: 0 0 30px 0;
}
.ski .content-body .hotel {
  margin: 0 0 50px 0;
}
.ski .content-body .hotel h4 {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  color: #000;
  border-bottom: 2px solid #000;
  margin: 0 0 20px 0;
}
.ski .content-body .hotel h4 span {
  font-size: 26px;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  line-height: 120%;
}
.ski .content-body .hotel h4 span:last-child {
  font-size: 20px;
  font-family: 'Bebas Neue', cursive;
}
.ski .content-body .hotel .btn {
  display: block;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  margin: 20px 0 0 0;
}
.ski .content-body .hotel .btn a {
  background: #000;
  padding: 5px 20px;
  color: #FFF;
}
.ski .content-body .hotel .btn a:after {
  font-family: "Font Awesome 5 Free";
  content: "\f138";
  font-weight: bold;
  margin: 0 0 0 10px;
}
/*flexスライダー*/
.ski .content-body .box-wrap {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.ski .content-body .box-wrap .txt-box {
  width: 58%;
}
.ski .content-body .box-wrap .img-box.flexslider {
  width: 40%;
  height: auto;
}
.ski .content-body .box-wrap .img-box.flexslider img {
  width: 100%;
  height: auto;
  border: 2px solid #000;
}
/*ツアー導線*/
.ski .content-body .tour {
  margin: 0 0 30px 0;
  position: relative;
}
.ski .content-body .tour.tab-menu {
  padding: 80px 0 0 0;
}
.ski .content-body .tour h4 {
  font-family: 'Bebas Neue', cursive;
  font-size: 30px;
  line-height: 120px;
  text-align: center;
  background: #000;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  color: #FFF;
  position: absolute;
  top: -10px;
  left: 20px;
}
.ski .content-body .tour .tab-content ul {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
 flex-wrap: wrap;
}
.ski .content-body .tour .tab-content li {
  width: calc(100% / 3 - 20px);
  background: #FFF;
  color: #333;
  border-radius: 10px;
  overflow: hidden;
  margin: 0 10px 10px 10px;
  box-shadow: 3px 3px rgba(0, 0, 0, 0.3);
}
.ski .content-body .tour .tab-content li img {
  width: 100%;
  height: 220px;
  object-fit: cover;
}
.ski .content-body .tour .tab-content li p.icon {
  padding: 0 10px 5px 10px;
}
.ski .content-body .tour .tab-content li p.icon span {
  display: inline-block;
  background-color: #222;
  color: #FFF;
  margin: 0 10px 0 0;
  padding: 1px 10px 0px 10px;
  font-size: 12px;
  border-radius: 3px;
  font-weight: bold;
}
.ski .content-body .tour .tab-content li p.ttl {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 18px;
  padding: 0 10px;
 line-height: 140%;
}
.ski .content-body .tour .tab-content li p.text {
  padding: 10px;
  line-height: 160%;
}
.ski .content-body .tour .tab-content li .link_wrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: 10px;
}
.ski .content-body .tour .tab-content li .link_wrap a {
  width: 48%;
  text-align: center;
}
.ski .content-body .tour .tab-content li .link_wrap a .btn {
  background: #222;
  color: #FFF;
  padding: 3px 0;
  border-radius: 3px;
}
.ski .content-body .tour .tab-content li .link_wrap a .btn i {
  padding-right: 5px;
}
.ski .content-body .tour .tab-content li .link_wrap a .price {
  display: block;
  color: #c60000;
  font-size: 18px;
  font-weight: bold;
}
@media screen and (max-width:767px) {
  .ski section.content-body {
    padding: 30px 0 80px 0;
  }
  .ski .content-body .slick-prev::before, .ski .content-body .slick-next::before {
    font-size: 24px;
  }
  .tabs {
    display: flex;
    flex-wrap: wrap;
  }
  .main.tabs li {
    width: 300px;
    margin: 10px 5px 0 5px;
  }
  .tab-menu-top .main.tabs li {
    margin: 0 5px 10px 5px;
  }
  .ski .content-body .tab-inner {
    width: 95%;
  }
  .ski .content-body h3 span {
    font-size: 30px;
  }
  .ski .content-body .point {
    flex-direction: column;
    padding: 0 10px;
  }
  .ski .content-body .point p {
    text-align: center;
    margin: 0 0 20px 0;
    width: 100%;
  }
  .ski .content-body .point p::after {
    width: 16px;
    height: 10px;
    border-top: 10px solid #FFF;
    border-bottom: 0 solid rgba(0, 0, 0, 0);
    border-right: 8px solid rgba(0, 0, 0, 0);
    border-left: 8px solid rgba(0, 0, 0, 0);
    left: calc(50% - 8px);
    bottom: -9px;
    top: inherit;
    right: inherit;
  }
  .ski .content-body .ski-slope {
    padding: 7px 20px 10px 20px;
  }
  .ski .content-body .ski-slope .box-wrap {
    flex-direction: column-reverse;
  }
  .ski .content-body .box-wrap .img-box.flexslider {
    width: 100%;
    margin: 0 0 10px 0;
  }
  .ski .content-body .box-wrap .txt-box {
    width: 100%;
    margin: 0 0 10px 0;
  }
  .ski .content-body .acordion {
    padding: 0;
  }
  .ski .content-body .hotel .box-wrap {
    flex-direction: column;
  }
  .ski .content-body .tour h4 {
    line-height: 100%;
    background: none;
    width: 100%;
    height: auto;
    border-radius: 0;
    position: static;
  }
  .ski .content-body .tour.tab-menu {
    padding: 40px 0 0 0;
  }
  .tour.tabs {
    border-bottom: none;
  }
  .ski .content-body .tour.tab-menu li {
    width: calc(100% / 2 - 20px);
    margin: 5px;
  }
  .ski .content-body .tour.tab-menu li a {
    display: block;
    width: 100%;
    margin: 0;
  }
  .ski .content-body .tour .tab-content li {
    width: 100%;
  }
}
/*---------------------------------------------------a
　よくあるご質問（faq）
---------------------------------------------------*/
.ski section.faq .inner {
  width: 100%;
  max-width: 1000px;
}
.ski .faq h3 {
  text-align: center;
  margin: 0 0 50px 0;
  line-height: 10%;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
}
.ski .faq h3 span {
  font-size: 48px;
  font-family: 'Bebas Neue', cursive;
}
.ski .faq dl {
  max-width: 700px;
  margin: 0 auto;
}
.ski .faq dt {
  font-size: 20px;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  margin: 10px 0;
  border-bottom: 1px dotted #000;
  color: #409ecc;
}
.ski .faq dt::before {
  font-family: 'Bebas Neue', cursive;
  content: "Q";
  font-size: 48px;
  margin: 0 15px 0 0;
  color: #a0d8ef;
}
.ski .faq dd {
  margin: 0 0 30px 0;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  padding: 0 0 0 35px;
}
.ski .faq .hotel-link {
  margin: 50px 0 0 0;
  text-align: center;
}
.ski .faq .hotel-link p {
  font-size: 20px;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  margin: 0 0 30px 0;
}
.ski .faq .hotel-link ul {
  display: flex;
  justify-content: space-between;
}
.ski .faq .hotel-link li {
  width: calc(100% / 3 - 20px);
  text-align: left;
}
.ski .faq .hotel-link li a {
  display: block;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  color: #FFF;
  padding: 25px 0 25px 95px;
  font-size: 18px;
  position: relative;
}
.ski .faq .hotel-link li a::after {
  font-family: "Font Awesome 5 Free";
  content: "\f138";
  font-weight: bold;
  position: absolute;
  right: 10px;
}
.ski .faq .hotel-link li a:hover {
  opacity: 0.8;
  transition: 0.3s;
}
.ski .faq .hotel-link li.hotel-01 a {
  background: #419d8a url(../img/btn-tomamu.jpg) no-repeat left top;
  background-size: contain;
  border: 3px solid #419d8a;
}
.ski .faq .hotel-link li.hotel-02 a {
  background: #84b9cb url(../img/btn-omo7.jpg) no-repeat left top;
  background-size: contain;
  border: 3px solid #84b9cb;
}
.ski .faq .hotel-link li.hotel-03 a {
  background: #c85554 url(../img/btn-bandaisan.jpg) no-repeat left top;
  background-size: contain;
  border: 3px solid #c85554;
}
@media screen and (max-width:767px) {
  .ski section.faq .inner {
    width: 95%;
  }
  .ski .faq .hotel-link ul {
    flex-direction: column;
  }
  .ski .faq .hotel-link li {
    width: 100%;
    margin: 0 0 10px 0;
  }
}
