@charset "UTF-8";
/*------------------------------------------
  Style Reset
------------------------------------------*/
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, 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;
  font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

input[type="text"], input[type="submit"], select, textarea {
  margin: 0;
  padding: 0;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 0;
  box-sizing: border-box;
  background: none;
  border: none;
  font-size: 16px;
  outline-style: none;
}

/*------------------------------------------
  Base Layout
------------------------------------------*/
html {
  font-size: 62.5%;
  overflow-y: scroll;
  -webkit-text-size-adjust: 100%;
      -ms-text-size-adjust: 100%;
}

body {
  font-family: "Noto Sans Japanese", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "MS PGothic", sans-serif;
  font-size: 1.4em;
  background: #fff;
  color: #1a1a1a;
  line-height: 1.8;
}

.wrapper {
  min-height: 100vh;
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
}

a {
  color: #fff;
  text-decoration: none;
  transition: opacity .2s ease;
}
a:hover {
  opacity: .7;
  transition: opacity .2s ease;
  color: #cfa722;
}
a.link-tel {
  pointer-events: none;
}

p {
  line-height: 2.5;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

.imgC {
  display: block;
  text-align: center;
  margin: 0 auto;
}

img.aligncenter {
display: block;
margin:5px auto;
}

img.alignright, img.alignleft{
padding:4px;
margin:0 0 2px 7px;
display:inline;
}

img.alignleft{margin: 0 7px 2px 0;}

.alignright{float:right;}
.alignleft{float: left;}

.disp-pc {
  display: block;
}

.disp-tab {
  display: none;
}

.disp-sp {
  display: none;
}

.fa-phone-square {
  transform: rotateY(180deg);
}

.tdu {
  text-decoration: underline;
}

.zi {
  position: relative;
  z-index: 9;
}

@media only screen and (max-width: 1024px) {
  .disp-tab {
    display: block;
  }
}

@media only screen and (max-width: 480px) {
  a.link-tel {
    pointer-events: auto;
  }
  .disp-pc {
    display: none;
  }
  .disp-sp {
    display: block;
  }
}

/*------------------------------------------
  parts
------------------------------------------*/
/*  layout
-------------------------*/
.layout-type01 {
  padding: 0 40px;
  max-width: 1080px;
  margin: auto;
}

.layout-type02 {
  max-width: 100%;
  margin: auto;
}

/*  flexbox
-------------------------*/
.flexbox {
  display: -webkit-flex;
  display:    -moz-flex;
  display: -ms-flexbox;
  display:         flex;
  -ms-flex-pack: justify;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.flexfour::before{
  content:"";
  display: block;
  width:24%;
  margin: 5px;
  order:1;
}
.flexfour::after{
  content:"";
  display: block;
  margin: 5px;
  width:24%;
}
.flexthree::after{
  content:"";
  display: block;
  width:32%;
}

/*  column
-------------------------*/
.column-type01 {
  -webkit-align-items: center;
          align-items: center;
  -webkit-justify-content: space-between;
          justify-content: space-between;
}

.column-type02 {
  -webkit-justify-content: space-between;
          justify-content: space-between;
}

.column-type03 {
  -webkit-justify-content: center;
          justify-content: center;
}

.col-w10 {
  width: 10%;
}

.col-w20 {
  width: 20%;
}

.col-w24 {
  width: 24%;
}

.col-w25 {
  width: 25%;
}

.col-w32 {
  width: 32%;
}

.col-w33 {
  width: 33.333333%;
}

.col-w50 {
  width: 50%;
}

.col-w30 {
  width: 30%;
}
.col-w32 {
  width: 32%;
}


.col-w40 {
  width: 40%;
}

.col-w48 {
  width: 48%;
}

.col-w50 {
  width: 50%;
}

.col-w60 {
  width: 60%;
}

.col-w66 {
  width: 66%;
}

/*------------------------------------------
  汎用スタイル
------------------------------------------*/
/*  font-size
-------------------------*/
.fz10 {
  font-size: 1rem !important;
}

.fz11 {
  font-size: 1.1rem !important;
}

.fz12 {
  font-size: 1.2rem !important;
}

.fz13 {
  font-size: 1.3rem !important;
}

.fz10 {
  font-size: 1rem !important;
}

.fz14 {
  font-size: 1.4rem !important;
}

.fz15 {
  font-size: 1.5rem !important;
}

.fz16 {
  font-size: 1.6rem !important;
}

.fz17 {
  font-size: 1.7rem !important;
}

.fz18 {
  font-size: 1.8rem !important;
}

.fz19 {
  font-size: 1.9rem !important;
}

.fz20 {
  font-size: 2rem !important;
}

.fz21 {
  font-size: 2.1rem !important;
}

.fz22 {
  font-size: 2.2rem !important;
}

.fz23 {
  font-size: 2.3rem !important;
}

.fz24 {
  font-size: 2.4rem !important;
}

.fz25 {
  font-size: 2.5rem !important;
}

.fz26 {
  font-size: 2.6rem !important;
}

.fz27 {
  font-size: 2.7rem !important;
}

.fz28 {
  font-size: 2.8rem !important;
}

.fz29 {
  font-size: 2.9rem !important;
}

.fz30 {
  font-size: 3rem !important;
}

@media only screen and (max-width: 1024px) {
  .fz30 {
    font-size: 1.8rem !important;
  }
}

/*  color
-------------------------*/
.red {
  color: #b40404;
}

.c01 {
  color: #fff;
}

/*  text
-------------------------*/
.taC {
  text-align: center !important;
}

.taL {
  text-align: left !important;
}

.taR {
  text-align: right !important;
}

.fwB {
  font-weight: bold !important;
}

.fwN {
  font-weight: normal !important;
}

/*  margin
-------------------------*/
.ma {
  margin: auto !important;
}

.m00 {
  margin: 0 !important;
}

.m05 {
  margin: 5px !important;
}

.m10 {
  margin: 10px !important;
}

.m15 {
  margin: 15px !important;
}

.m20 {
  margin: 20px !important;
}

.m25 {
  margin: 25px !important;
}

.m30 {
  margin: 30px !important;
}

.m35 {
  margin: 35px !important;
}

.m40 {
  margin: 40px !important;
}

.m45 {
  margin: 45px !important;
}

.m50 {
  margin: 50px !important;
}

.mt00 {
  margin-top: 0 !important;
}

.mt05 {
  margin-top: 5px !important;
}

.mt10 {
  margin-top: 10px !important;
}

.mt15 {
  margin-top: 15px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mt25 {
  margin-top: 25px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.mt35 {
  margin-top: 35px !important;
}

.mt40 {
  margin-top: 40px !important;
}

.mt45 {
  margin-top: 45px !important;
}

.mt50 {
  margin-top: 50px !important;
}

.mt60 {
  margin-top: 60px !important;
}

.mt70 {
  margin-top: 70px !important;
}

.mt80 {
  margin-top: 80px !important;
}

.mb00 {
  margin-bottom: 0 !important;
}

.mb05 {
  margin-bottom: 5px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.mb15 {
  margin-bottom: 15px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.mb25 {
  margin-bottom: 25px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.mb35 {
  margin-bottom: 35px !important;
}

.mb40 {
  margin-bottom: 40px !important;
}

.mb45 {
  margin-bottom: 45px !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

.mb60 {
  margin-bottom: 60px !important;
}

.mb70 {
  margin-bottom: 70px !important;
}

.mb80 {
  margin-bottom: 80px !important;
}

.ml00 {
  margin-left: 0 !important;
}

.ml05 {
  margin-left: 5px !important;
}

.ml10 {
  margin-left: 10px !important;
}

.ml15 {
  margin-left: 15px !important;
}

.ml20 {
  margin-left: 20px !important;
}

.ml25 {
  margin-left: 25px !important;
}

.ml30 {
  margin-left: 30px !important;
}

.ml35 {
  margin-left: 35px !important;
}

.ml40 {
  margin-left: 40px !important;
}

.ml45 {
  margin-left: 45px !important;
}

.ml50 {
  margin-left: 50px !important;
}

.mr00 {
  margin-right: 0 !important;
}

.mr05 {
  margin-right: 5px !important;
}

.mr10 {
  margin-right: 10px !important;
}

.mr15 {
  margin-right: 15px !important;
}

.mr20 {
  margin-right: 20px !important;
}

.mr25 {
  margin-right: 25px !important;
}

.mr30 {
  margin-right: 30px !important;
}

.mr35 {
  margin-right: 35px !important;
}

.mr40 {
  margin-right: 40px !important;
}

.mr45 {
  margin-right: 45px !important;
}

.mr50 {
  margin-right: 50px !important;
}

/*  padding
-------------------------*/
.p00 {
  padding: 0 !important;
}

.p05 {
  padding: 5px !important;
}

.p10 {
  padding: 10px !important;
}

.p15 {
  padding: 15px !important;
}

.p20 {
  padding: 20px !important;
}

.p25 {
  padding: 25px !important;
}

.p30 {
  padding: 30px !important;
}

.p35 {
  padding: 35px !important;
}

.p40 {
  padding: 40px !important;
}

.p45 {
  padding: 45px !important;
}

.p50 {
  padding: 50px !important;
}

.pt00 {
  padding-top: 0 !important;
}

.pt05 {
  padding-top: 5px !important;
}

.pt10 {
  padding-top: 10px !important;
}

.pt15 {
  padding-top: 15px !important;
}

.pt20 {
  padding-top: 20px !important;
}

.pt25 {
  padding-top: 25px !important;
}

.pt30 {
  padding-top: 30px !important;
}

.pt35 {
  padding-top: 35px !important;
}

.pt40 {
  padding-top: 40px !important;
}

.pt45 {
  padding-top: 45px !important;
}

.pt50 {
  padding-top: 50px !important;
}

.pb00 {
  padding-bottom: 0 !important;
}

.pb05 {
  padding-bottom: 5px !important;
}

.pb10 {
  padding-bottom: 10px !important;
}

.pb15 {
  padding-bottom: 15px !important;
}

.pb20 {
  padding-bottom: 20px !important;
}

.pb25 {
  padding-bottom: 25px !important;
}

.pb30 {
  padding-bottom: 30px !important;
}

.pb35 {
  padding-bottom: 35px !important;
}

.pb40 {
  padding-bottom: 40px !important;
}

.pb45 {
  padding-bottom: 45px !important;
}

.pb50 {
  padding-bottom: 50px !important;
}

.pl00 {
  padding-left: 0 !important;
}

.pl05 {
  padding-left: 5px !important;
}

.pl10 {
  padding-left: 10px !important;
}

.pl15 {
  padding-left: 15px !important;
}

.pl20 {
  padding-left: 20px !important;
}

.pl25 {
  padding-left: 25px !important;
}

.pl30 {
  padding-left: 30px !important;
}

.pl35 {
  padding-left: 35px !important;
}

.pl40 {
  padding-left: 40px !important;
}

.pl45 {
  padding-left: 45px !important;
}

.pl50 {
  padding-left: 50px !important;
}

.pr00 {
  padding-right: 0 !important;
}

.pr05 {
  padding-right: 5px !important;
}

.pr10 {
  padding-right: 10px !important;
}

.pr15 {
  padding-right: 15px !important;
}

.pr20 {
  padding-right: 20px !important;
}

.pr25 {
  padding-right: 25px !important;
}

.pr30 {
  padding-right: 30px !important;
}

.pr35 {
  padding-right: 35px !important;
}

.pr40 {
  padding-right: 40px !important;
}

.pr45 {
  padding-right: 45px !important;
}

.pr50 {
  padding-right: 50px !important;
}

/*  other
-------------------------*/
.db {
  display: block !important;
}

.di {
  display: inline !important;
}

.dib {
  display: inline-block !important;
}

.boN {
  border: none !important;
}

.boB {
  border-bottom: 1px solid #f0f0ef !important;
}

.baN {
  background: none !important;
}

/*  Slick Slider
-------------------------*/
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
   -khtml-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -ms-touch-action: pan-y;
      touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track, .slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
     -moz-transform: translate3d(0, 0, 0);
      -ms-transform: translate3d(0, 0, 0);
       -o-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
  background: #fff;
}
.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}
.slick-track:after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}
[dir="rtl"] .slick-slide {
  float: right;
}
.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  display: block;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

@media only screen and (max-width: 1024px) {
  .m05 {
    margin: 5px 3px !important;
  }
  .flexfour::before{
    content:"";
    display: block;
    width:24%;
    margin: 5px 3px;
    order:1;
  }
  .flexfour::after{
    content:"";
    display: block;
    margin: 5px 3px;
    width:24%;
  }
}

@media only screen and (max-width: 768px) {
  p {
  	line-height: 1.75;
  }
  .taC {
  	text-align: left !important;
  }
}

@media only screen and (max-width: 480px) {
  .col-w48,
  .col-w30 {
    width: 100%;
  }
  .col-w24 {
    width: 48%;
    margin: .5em auto;
  }
  .mb80 {
  	margin-bottom: 40px !important;
  }
  .flexfour::before{
    content:"";
    display: block;
    width:48%;
    margin: 5px 3px;
    order:1;
  }
  .flexfour::after{
    content:"";
    display: block;
    margin: 5px 3px;
    width:48%;
  }
  .col-w32 {
    width: 100%;
  }
  .flexthree::after{
    content:"";
    display: block;
    width:100%;
  }
}

/*****2026.03.04 宿泊用に追加*****/
.btn-block-center{
text-align: center;
margin: 25px 0;
}
.btn-rsv{
font-size:1.2em;
    color: #FFF;
    padding: 15px 40px;
	background: #28bbf8;
	/*border: 1px solid #28bbf8;*/
    font-weight: 500;
}
.btn-rsv:hover, .btn-rsv:active, .btn-rsv:focus{
background-color: rgb(208, 168, 35);
        color: #FFF;
		opacity: 1.0;
}