@charset "UTF-8";
/* CSS Document */
* {
  margin: 0;
  padding: 0;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
  font-size: 16px;
  color: #333; }

article {
  padding: 30px 0; }
  article.black {
    background-color: #000; }
    article.black h2 {
      color: #fff;
      font-size: 26px;
      font-family: "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "serif";
      text-align: center; }
  article section {
    width: 90%;
    margin: 0 auto; }
    article section h2 {
      font-size: 26px;
      font-family: "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "serif";
      text-align: center; }

img {
  width: 100%; }

/*================================================
				header
================================================*/
.open .menu-btn span:after {
  content: attr(data-txt-close); }

.open nav {
  transition: all .5s;
  visibility: visible;
  opacity: 1; }

header {
  width: 100%;
  height: 70px;
  background-color: rgba(0, 0, 0, 0.7);
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  justify-content: space-between;
  align-items: center; }
  header .logo {
    max-width: 370px;
    width: 80%; }
  header .menu-btn {
    border: 1px solid #fff;
    border-radius: 10px;
    padding: 0 5px;
    margin-right: 12px;
    cursor: pointer;
    z-index: 1; }
    header .menu-btn span {
      color: #fff;
      font-size: 10px; }
      header .menu-btn span:after {
        content: attr(data-txt-menu); }
  header nav {
    position: fixed;
    display: table;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    transition: all .5s;
    visibility: hidden;
    opacity: 0; }
    header nav ul {
      display: flex;
      flex-wrap: wrap;
      margin: 80px 0 0 0; }
      header nav ul li {
        box-sizing: border-box;
        width: 50%;
        height: 60px;
        line-height: 60px;
        text-align: center;
        list-style: none;
        border-top: 1px solid #fff; }
        header nav ul li:nth-child(even) {
          border-right: solid 1px #fff; }
        header nav ul li:nth-child(6), header nav ul li:nth-child(7) {
          border-bottom: 1px solid #fff; }
        header nav ul li:first-child {
          width: 100%; }
        header nav ul li.reserve {
          width: 100%;
          margin: 20px;
          border: none; }
          header nav ul li.reserve a {
            background-color: #600473; }
          header nav ul li.reserve ul {
            margin: 0; }
            header nav ul li.reserve ul li {
              border-top: 1px solid #370242; }
              header nav ul li.reserve ul li:first-child {
                width: 50%; }
              header nav ul li.reserve ul li:nth-child(odd) {
                border-right: solid 1px #370242; }
              header nav ul li.reserve ul li:nth-child(even) {
                border-right: none; }
              header nav ul li.reserve ul li a {
                font-size: 14px; }
        header nav ul li a {
          display: block;
          font-size: 18px;
          color: #fff;
          text-decoration: none; }

.visual {
  width: 100%;
  height: 150px;
  padding: 0;
  background-size: cover; }

.roomsHead {
  background-image: url(../img/h1_room.jpg);
  background-position: center center; }

.facilityHead {
  background-image: url(../img/h1_facility.jpg);
  background-position: center center; }

.tourismHead {
  background-image: url(https://picsum.photos/2000/1500?image=959);
  background-position: center 10%; }

.diningHead {
  background-image: url(../img/h1_dining.jpg);
  background-position: center 80%; }

.etcHead {
  background-image: url(../img/h1_etc.jpg);
  background-position: center center; }

.spaHead {
  background-image: url(../img/h1_spa.jpg);
  background-position: center 60%; }

.liveHead {
  background-image: url(../img/h1_alacarte.jpg); }

/*================================================
				MainContents
================================================*/
/* index */
.keyvisual {
  width: 100%;
  height: 100vh;
  padding: 0;
  background-position: center center;
  background-size: cover;
  position: relative; }
  .keyvisual .news {
    width: 100%;
    padding: 10px 0;
    margin: 0;
    background-color: #000;
    position: absolute;
    bottom: 0; }
    .keyvisual .news > p {
      width: 90%;
      margin: 0 auto;
      color: #fff; }
      .keyvisual .news > p > a {
        color: #fff; }

.greeting {
  background-image: url(../img/greeting.jpg);
  background-position: bottom right;
  background-repeat: no-repeat;
  background-size: 50% auto; }
  .greeting > h3, .greeting p {
    text-align: center;
 }
  .greeting > h3 {
    font-size: 26px;
    color: #745283;
    margin-bottom: 50px; }
  .greeting > p {
    width: 90%;
    margin: 0 auto;
    font-size: 18px;
    line-height: 30px; }

.indexLive {
  margin-top: 30px;
  padding-top: 30px;
  border-top: 1px solid #ccc; }

.indexBox {
  margin-top: 40px; }
  .indexBox > .info, .indexBox img {
    width: 100%;
    margin-top: 20px; }
  .indexBox > .info .white {
    color: #fff; }
  .indexBox > .info a {
    display: block;
    width: 200px;
    height: 60px;
    line-height: 60px;
    text-align: center;
    margin: 20px auto;
    text-decoration: none;
    border: 1px solid #000; }
    .indexBox > .info a.white {
      border: solid 1px #fff; }

iframe {
  width: 100%;
  margin: 30px 0; }

.map {
  display: block;
  width: 200px;
  height: 60px;
  margin: 0 auto;
  line-height: 60px;
  text-align: center;
  text-decoration: none;
  border: 1px solid #000; }

/* pages */
h1 {
  font-family: "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "serif";
  font-size: 28px;
  text-align: center;
  position: relative;
  margin: 1em 0; }
  h1:after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: -20px;
    /*線の上下位置*/
    display: inline-block;
    width: 45px;
    /*線の長さ*/
    height: 4px;
    /*線の太さ*/
    transform: translateX(-50%);
    background-color: #333;
    border-radius: 4px;
    /*線の丸み*/ }

h4 {
  margin-bottom: 40px;
  padding-bottom: .5em;
  border-bottom: 1px solid #ccc; }

table {
  border-collapse: collapse;
  border: #e3e3e3 1px solid;
  width: 100%; }
  table th {
    width: 30%;
    background-color: #f1f1f1;
    border-bottom: #e3e3e3 1px solid;
    border-right: #e3e3e3 1px solid;
    text-align: left;
    padding: 10px;
    font-weight: normal; }
    table th.t_top {
      border-top: #530c70 3px solid; }
  table td {
    border-bottom: #e3e3e3 1px solid;
    text-align: left;
    padding: 10px; }
    table td.t_top {
      border-top: #b3b3b3 3px solid; }
    table td > span {
      color: red; }

ol, ul {
  margin-left: 30px; }
  ol > li, ul > li {
    line-height: 1.5em; }

div {
  cursor: pointer;
}

.roomsPhoto {
  width: 100%; }
  .roomsPhotoBig {
    width: 100%;
    overflow: hidden; }
    .roomsPhotoBig img {
      width: 100%;
      object-fit: cover; }
  .roomsPhotoMini {
    margin: 0; }
    .roomsPhotoMini > li, .roomsPhotoMini > div {
      margin: 10px 0 0 0;
      list-style-type: none;
      overflow: hidden; }
      .roomsPhotoMini > li img, .roomsPhotoMini > div img {
        width: 100%; }
      .roomsPhotoMini > li p, .roomsPhotoMini > div p {
        display: none; }
  .roomsPhoto .sp-thumbnail-container {
    opacity: 1.2; }
  .roomsPhoto .sp-selected-thumbnail {
    opacity: 1; }

.roomsInfo {
  width: 100%;
  margin: 20px 0 0 0; }
  .roomsInfo > .title {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 20px; }
  .roomsInfo > p > span {
    font-family: "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "serif";
    font-weight: bold; }
  .roomsInfo > p.text > span {
    font-weight: bold;
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
    padding-bottom: 10px;
    display: block; }
  .roomsInfo > a {
    display: block;
    width: 200px;
    height: 60px;
    line-height: 60px;
    text-align: center;
    text-decoration: none;
    border: 1px solid #000;
    margin: 10px auto; }

.fixturesBox {
  margin-bottom: 15px; }
  .fixturesBox > p {
    text-align: center;
    margin-top: 10px; }
  .fixturesBox > img {
    border: 2px solid #ccc;
    width: 100%;
    max-width: 300px; }

.firework a {
  display: block;
  width: 200px;
  margin: 20px auto;
  padding: 10px 20px;
  border-radius: 30px;
  text-decoration: none;
  text-align: center;
  font-size: 16px;
  color: #FFF;
  background-color: #530c70; }

@media screen and (min-width: 600px) {
  .golf {
    display: flex;
    justify-content: space-between; }
    .golf > img {
      width: auto; }
    .golf .golfPhoto {
      width: 300px; }
      .golf .golfPhotoBig {
        width: 300px;
        overflow: hidden; }
        .golf .golfPhotoBig img {
          width: 100%; }
    .golf > .roomsInfo {
      width: 650px; }

  .roomsInfo {
    position: relative;
    margin: 0 0 0 50px; }
    .roomsInfo > .title {
      font-size: 18px;
      font-weight: bold;
      margin-bottom: 40px; }
    .roomsInfo > p > span {
      font-family: "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "serif";
      font-weight: bold; }
    .roomsInfo > a {
      display: block;
      width: 200px;
      height: 60px;
      line-height: 60px;
      text-align: center;
      text-decoration: none;
      border: 1px solid #000;
      position: absolute;
      bottom: 20%;
      left: 50%;
      transform: translateY(-50%) translateX(-50%); } }
.covenant > h3 {
  margin: 40px 0 10px 0; }
  .covenant > h3:first-child {
    margin-top: 0; }
.covenant > ol {
  padding: 0 0 0 1em;
  margin: 0; }
  .covenant > ol li {
    list-style-type: none;
    list-style-position: inside;
    counter-increment: cnt; }
    .covenant > ol li:before {
      display: marker;
      content: "(" counter(cnt) ") "; }

.live > h2, .privacy > h2, .faq > h2 {
  font-size: 26px;
  font-family: "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "serif";
  text-align: left;
  margin: 40px 0 10px 0; }
  .live > h2:first-child, .privacy > h2:first-child, .faq > h2:first-child {
    margin-top: 0; }

.faq > h4 {
  color: #32b7b3;
  border: none;
  margin: 10px 0 0 0;
  padding: 0; }

.youtube, .alacarte {
  display: inline-block;
  color: #fff;
  font-size: 18px;
  text-decoration: none;
  padding: 10px 20px; }
  .youtube > i, .alacarte > i {
    color: #fff;
    font-size: 18px; }

.youtube {
  background-color: #cd201f; }
  .youtube:hover {
    background-color: #e65c5b;
    color: #fff; }

.alacarte {
  margin: 10px auto;
  background-color: #530c70; }
  .alacarte:hover {
    background-color: #32b7b3;
    color: #fff; }

/*================================================
					footer
================================================*/
#page-top {
  position: fixed;
  bottom: 5px;
  right: 5px; }
  #page-top > a {
    width: 42px;
    height: 48px;
    display: block; }
    #page-top > a .fa-chevron-circle-up {
      color: #32b7b3; }

footer {
  width: 100%;
  background-color: #000; }
  footer .footerBox {
    width: 90%;
    margin: 0 auto;
    padding: 20px 0;
    border-bottom: solid 1px #fff; }
    footer .footerBoxLeft {
      width: 100%; }
      footer .footerBoxLeft > img {
        width: 100%;
        max-width: 345px; }
      footer .footerBoxLeftSmall > p {
        font-size: 14px;
        color: #fff;
        margin-top: 15px; }
        footer .footerBoxLeftSmall > p > a {
          font-size: 14px;
          color: #fff; }
        footer .footerBoxLeftSmall > p > span {
          font-weight: bold;
          color: #fff; }
          footer .footerBoxLeftSmall > p > span.tel {
            color: #32b7b3;
            font-size: 28px; }
    footer .footerBoxRight {
      list-style: none;
      margin: 25px 0 0 0; }
      footer .footerBoxRight > li {
        color: #fff;
        padding-bottom: 10px; }
        footer .footerBoxRight > li:before {
          font-size: 14px;
          font-family: FontAwesome;
          content: '\f0da';
          padding-right: 5px; }
        footer .footerBoxRight > li > a {
          font-size: 14px;
          text-decoration: none;
          color: #fff; }
  footer .copyright {
    font-size: 12px;
    text-align: center;
    color: #fff;
    padding: 15px 0; }