@charset "UTF-8";
/*
トップページ CSS
Version: 1.1.0
UPDATE 2019-05-28
*/
/*
topImage CSS
Version: 1.1.0
UPDATE 2019-05-28
*/
#topImage {
  position: relative;
  padding-top: 46.9%;
  overflow: hidden; }
  @media screen and (max-width: 767px) {
    #topImage {
      padding-top: 90.2%; } }
  #topImage .title {
    position: absolute;
    top: 50%;
    right: 50px;
    margin-top: -60px;
    z-index: 10; }
    @media screen and (max-width: 767px) {
      #topImage .title {
        width: 60%;
        right: 20px;
        margin-top: -20px; } }
  #topImage .reserveLink {
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 12;
    background-color: #000; }
    #topImage .reserveLink a {
      position: relative;
      display: block;
      padding: 20px 40px;
      padding-left: 70px;
      color: #fff;
      font-size: 75%;
      font-weight: 700;
      text-align: left;
      text-decoration: none;
      transition: .3s; }
      @media screen and (max-width: 767px) {
        #topImage .reserveLink a {
          padding: 40px 15px 10px;
          text-align: center; } }
      #topImage .reserveLink a:hover {
        background-color: rgba(255, 255, 255, 0.2); }
      #topImage .reserveLink a::after {
        content: "\e904";
        position: absolute;
        display: block;
        top: 22px;
        left: 30px;
        z-index: 100;
        font-family: 'navi-menu-icon' !important;
        font-style: normal;
        font-weight: normal;
        font-variant: normal;
        text-transform: none;
        line-height: 1;
        font-size: 30px;
        color: #dfba59;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale; }
        @media screen and (max-width: 767px) {
          #topImage .reserveLink a::after {
            top: 10px;
            left: 50%;
            margin-left: -15px; } }

#topImagePhoto {
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  padding-top: 46.9%; }
  @media screen and (max-width: 920px) {
    #topImagePhoto {
      padding-top: 60%; } }
  @media screen and (max-width: 767px) {
    #topImagePhoto {
      padding-top: 90.2%; } }
  #topImagePhoto .photo {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 9;
    background-image: url(../img/topimage-pc.jpg);
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover; }
    @media screen and (max-width: 767px) {
      #topImagePhoto .photo {
        background-image: url(../img/topimage-mb.jpg); } }

/*
content/topCopy CSS
Version: 1.0.0
UPDATE 2019-05-27
*/
#topCopy {
  background-image: url(../img/topcopy_bg.jpg);
  background-position: center;
  background-size: cover; }
  #topCopy .copy {
    padding-bottom: 30px;
    font-size: 220%;
    font-weight: 700; }
    @media screen and (max-width: 767px) {
      #topCopy .copy {
        font-size: 160%; } }
  #topCopy .logo {
    padding-top: 20px; }

/*
content/event CSS
Version: 1.1.0
UPDATE 2019-05-28
*/
#event {
  background-image: url(../img/event_bg.jpg);
  background-position: center;
  background-size: cover; }
  @media screen and (max-width: 767px) {
    #event .contentHeading {
      padding-top: 100px; } }
  #event .contentHeading .en {
    margin-top: -100px; }
    @media screen and (max-width: 767px) {
      #event .contentHeading .en {
        margin-top: -140px; } }
  #event #informationList {
    min-height: 390px;
    margin-left: 180px;
    padding: 60px 0; }
    @media screen and (max-width: 767px) {
      #event #informationList {
        min-height: 300px;
        margin: 0 50px;
        padding: 10px 0 30px; } }
    #event #informationList .item {
      padding: 0 10px; }
      #event #informationList .item a {
        display: block;
        text-decoration: none;
        background-color: #fff;
        transition: 0.3s; }
        #event #informationList .item a:hover {
          opacity: 0.8; }
      #event #informationList .item .photo {
        position: relative;
        display: block;
        width: 100%;
        height: 160px;
        overflow: hidden;
        background-color: #000; }
      #event #informationList .item .photo img {
        position: absolute;
        left: 50%;
        top: 50%;
        width: 100%;
        height: auto;
        transform: translate(-50%, -50%); }
      #event #informationList .item .title {
        padding: 20px; }
        #event #informationList .item .title p {
          height: 4.5em;
          overflow: hidden; }

/*
content/menu CSS
Version: 1.0.0
UPDATE 2019-05-27
*/
#menu {
  background-image: url(../img/menu_bg.jpg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover; }
  @media screen and (max-width: 767px) {
    #menu {
      background-position: bottom;
      background-size: 100% auto; } }
  #menu .contentHeading {
    color: #000;
    left: auto;
    right: 40px; }
    @media screen and (max-width: 767px) {
      #menu .contentHeading {
        right: 25px;
        padding-top: 95px; } }
    #menu .contentHeading .en {
      margin-top: -95px; }
      @media screen and (max-width: 767px) {
        #menu .contentHeading .en {
          margin-top: -140px; } }
    #menu .contentHeading::after {
      background-color: #000; }
  #menu .box {
    width: 540px;
    margin: -50px auto;
    padding: 60px 0;
    background-color: rgba(255, 255, 255, 0.8); }
    @media screen and (max-width: 767px) {
      #menu .box {
        width: 100%;
        margin: -5px -10px;
        padding: 0 40px 210px;
        background-color: rgba(255, 255, 255, 0); } }
    #menu .box .comment {
      line-height: 2; }
    #menu .box .menuLink {
      padding-top: 60px; }
      @media screen and (max-width: 767px) {
        #menu .box .menuLink {
          width: 240px;
          margin: auto;
          padding-top: 20px; } }

/*
content/access CSS
Version: 1.0.0
UPDATE 2019-05-27
*/
#access {
  position: relative;
  min-height: 400px;
  background-image: url(../img/access_bg.jpg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover; }
  @media screen and (max-width: 767px) {
    #access {
      background-image: none; }
      #access .container {
        background-image: url(../img/access_bg.jpg);
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover; } }
  #access .contentHeading .en {
    margin-top: -130px; }
  #access .googleMap {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    max-width: 520px;
    width: 40%;
    font-size: 0; }
    @media screen and (max-width: 767px) {
      #access .googleMap {
        position: static;
        width: 100%;
        max-width: 2000px; } }
  #access .information {
    margin-top: 30px;
    margin-left: 120px;
    width: 46%;
    padding: 40px 20px;
    font-size: 95%;
    text-align: left;
    overflow: hidden;
    background-color: #fff; }
    @media screen and (max-width: 767px) {
      #access .information {
        width: auto;
        margin: 10px 60px;
        padding: 20px 30px; } }
    #access .information .logo {
      float: left;
      width: 170px;
      padding: 30px 0; }
      @media screen and (max-width: 767px) {
        #access .information .logo {
          float: none;
          width: auto;
          margin: 0;
          padding: 0 0 20px; } }
      #access .information .logo img {
        width: 100%;
        height: auto; }
    #access .information .data {
      margin-left: 190px; }
      @media screen and (max-width: 767px) {
        #access .information .data {
          margin-left: 0; } }

/*
content/facilities CSS
Version: 1.0.0
UPDATE 2019-05-27
*/
#facilities {
  background-image: url(../img/facilities_bg-pc.jpg);
  background-position: center;
  background-size: cover; }
  @media screen and (max-width: 767px) {
    #facilities {
      background-image: url(../img/facilities_bg-mb.jpg); } }
  #facilities .contentHeading {
    left: auto;
    right: 40px;
    padding-bottom: 30px; }
    @media screen and (max-width: 767px) {
      #facilities .contentHeading {
        right: 25px;
        padding-top: 95px;
        padding-bottom: 10px; } }
    #facilities .contentHeading .en {
      margin-top: -80px; }
      @media screen and (max-width: 767px) {
        #facilities .contentHeading .en {
          margin-top: -135px; } }
  #facilities .stayCaption {
    background-color: #fff; }
    @media screen and (max-width: 767px) {
      #facilities .stayCaption img {
        width: 230px;
        padding: 10px 0; } }
  @media screen and (max-width: 767px) {
    #facilities .logo {
      width: 160px;
      margin: auto; } }
  #facilities .stayLink {
    padding-top: 30px; }
    @media screen and (max-width: 767px) {
      #facilities .stayLink {
        width: 200px;
        margin: auto;
        padding-top: 10px; } }
