@charset "UTF-8";
* {
  box-sizing: border-box; }

html {
  font: 400 62.5% "Gotham A", "Gotham B", "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }

a {
  color: #000;
  text-decoration: none; }

.sp-br {
  display: none; }
  @media only screen and (max-width: 768px) {
    .sp-br {
      display: block; } }

@media only screen and (max-width: 768px) {
  .pc-br {
    display: none; } }

body {
  color: #000;
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 1.5;
  letter-spacing: 0.08em;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%; }

header {
  position: absolute;
  z-index: 100;
  width: 100%;
  height: 80px;
  background: #fff; }
  @media only screen and (max-width: 768px) {
    header {
      position: absolute !important;
      background: inherit; } }
  header h1 {
    margin: 30px 0 0 40px; }
    @media only screen and (max-width: 768px) {
      header h1 {
        margin: 25px 0 0 8%; } }
    header h1 span {
      display: none; }
    header h1 a {
      display: block;
      width: 126px;
      height: 16px;
      background: url("../images/logo01.png") no-repeat;
      background-size: 126px; }
      @media only screen and (max-width: 768px) {
        header h1 a {
          width: 100px;
          height: 13px;
          background-size: 100px; } }

  header h2 {
    margin: 30px 0 0 40px; }
    @media only screen and (max-width: 768px) {
      header h2 {
        margin: 25px 0 0 8%; } }
    header h2 span {
      display: none; }
    header h2 a {
      display: block;
      width: 126px;
      height: 16px;
      background: url("../images/logo01.png") no-repeat;
      background-size: 126px; }
      @media only screen and (max-width: 768px) {
        header h2 a {
          width: 100px;
          height: 13px;
          background-size: 100px; } }

  @media only screen and (max-width: 768px) {
    header nav {
      display: none; } }

  header nav .gnav {
    position: absolute;
    top: 27px;
    right: 170px; }
    header nav .gnav li {
      display: inline-block;
      padding: 0 10px;
      font-weight: 500; }
      header nav .gnav li a {
        display: block;
        position: relative;
        padding: 3px 0;
        color: #000;
        text-decoration: none; }
        header nav .gnav li a:after {
          content: "";
          position: absolute;
          left: 0;
          bottom: -2px;
          display: block;
          width: 0;
          height: 2px;
          background: #000;
          -webkit-transition: width 0.15s ease-out;
          transition: width 0.15s ease-out; }
        header nav .gnav li a:hover:after {
          width: 100%;
          -webkit-transition: width 0.15s ease-out;
          transition: width 0.15s ease-out; }
  header nav .sns {
    position: absolute;
    top: 27px;
    right: 90px; }
    header nav .sns li {
      display: inline-block;
      padding: 0 5px; }
  header nav .lang-nav {
    position: absolute;
    top: 30px;
    right: 30px; }
#bnr1 {
  position: fixed;
  right: 0;
  bottom: 20%;
  z-index: 99;
  text-align: center;
  background: rgba(255, 255, 0, 0.9); }
  @media only screen and (max-width: 768px) {
    #bnr1 {
      display: none; } }
  #bnr1 > a {
    display: block;
    padding: 20px 0; }
    #bnr1 > a h2 {
      padding: 10px 0 0; }
  #bnr1 h3 {
    margin: 0 10px 20px;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000; }
    #bnr1 h3 a {
      display: block;
      padding: 10px 15px; }

#sp-menu {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 101;
  width: 100%;
  height: 100%;
  background: #fff; }
  #sp-menu .inner {
    position: absolute;
    top: 50%;
    margin-top: -150px; }
    #sp-menu .inner h1 {
      width: 63px;
      height: 53px;
      margin: 0 auto 40px; }
      #sp-menu .inner h1 a {
        width: 63px;
        height: 53px;
        display: block;
        background: url("../images/logo02.png") no-repeat;
        background-size: 63px; }
        #sp-menu .inner h1 a span {
          display: none; }
    #sp-menu .inner nav .gnav {
      padding: 0 5%; }
      #sp-menu .inner nav .gnav li {
        float: left;
        width: 44%;
        margin: 0 3%;
        padding: 12px 0;
        border-bottom: 1px solid #ccc; }
  #sp-menu .sns {
    position: absolute;
    bottom: 30px;
    width: 100%;
    text-align: center;
    list-style: none; }
  #sp-menu .lang-nav {
    position: absolute;
    bottom: 35px;
    position: absolute;
    bottom: 35px;
    width: 20%;
    min-width: 70px;
    left: 6%;
    text-align: left;
    list-style: none;
    z-index: 2;
     }

    #sp-menu .sns li {
      display: inline-block;
      padding: 0 8px; }

#sp-reserve {
  display: none;
  position: fixed;
  top: 30px;
  right: 22%;
  z-index: 100;
  border: 2px solid #000;
  border-radius: 7px;
  font-size: 11px;
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  background: #fff; }

#sp-reserve_sns {
  display: none;
  position: fixed;
  top: 30px;
  right: 40%;
  z-index: 100;
  background: #fff; }


#sp-reserve.btn-en{
  top: 23px;
}
#sp-reserve.fixed {
	top: 23px;
}
#sp-reserve_sns.fixed {
	top: 23px;
}
  @media only screen and (max-width: 768px) {
    #sp-reserve {
      display: block; }
    #sp-reserve_sns {
      display: block; } }
  #sp-reserve a {
    display: block;
    padding: 6px 6px 5px 7px; }

#menu-btn {
  display: none;
  position: fixed;
  z-index: 102;
  top: 30px;
  right: 8%;
  width: 32px;
  height: 32px;
  cursor: pointer; }
#menu-btn.btn-en{
  top: 20px;
}
#menu-btn.fixed {
	top: 20px;
}
  @media only screen and (max-width: 768px) {
    #menu-btn {
      display: block; } }
  #menu-btn span {
    display: block;
    width: 32px;
    height: 2px;
    position: absolute;
    background: #000;
    transition: all 0.3s;
    -webkit-transition: -webkit-transform 0.3s;
    -moz-transition: -moz-transform 0.3s;
    -ms-transition: -ms-transform 0.3s; }
  #menu-btn span:first-child {
    top: 5px; }
  #menu-btn span:nth-child(2) {
    margin-top: -1px;
    top: 50%; }
  #menu-btn span:last-child {
    bottom: 5px; }
  #menu-btn.active span:first-child {
    -webkit-transform: translateY(10px) rotate(45deg);
    -moz-transform: translateY(10px) rotate(45deg);
    -ms-transform: translateY(10px) rotate(45deg);
    transform: translateY(10px) rotate(45deg); }
  #menu-btn.active span:nth-child(2) {
    opacity: 0; }
  #menu-btn.active span:last-child {
    -webkit-transform: translateY(-10px) rotate(-45deg);
    -moz-transform: translateY(-10px) rotate(-45deg);
    -ms-transform: translateY(-10px) rotate(-45deg);
    transform: translateY(-10px) rotate(-45deg); }
  #menu-btn.active span {
    background: #000 !important; }
  #menu-btn > div {
    width: 100% !important;
    height: 100% !important; }
    #menu-btn > div.double-color-red span {
      background: #d62547; }

#top {
  position: relative;
  height: 100vh; }
  #top .bx-wrapper {
    position: absolute;
    right: 0;
    top: 80px;
    z-index: 0;
    width: 78%;
    height: 80%;
    list-style: none; }
    #top .bx-wrapper .bx-viewport {
      width: 100%;
      height: 100%; }
  #top .hero {
    width: 100%;
    height: 100%; }
    #top .hero li {
      width: 100% !important;
      height: 100%; }
      #top .hero li:nth-of-type(1) {
        background: url("../images/pic_slide01.jpg") no-repeat center center;
        background-size: cover; }
      #top .hero li:nth-of-type(2) {
        background: url("../images/pic_slide02.jpg") no-repeat center center;
        background-size: cover; }
      #top .hero li:nth-of-type(3) {
        background: url("../images/pic_slide03.jpg") no-repeat center center;
        background-size: cover; }
      #top .hero li:nth-of-type(4) {
        background: url("../images/pic_slide06.jpg") no-repeat center center;
        background-size: cover; }
      #top .hero li:nth-of-type(5) {
        background: url("../images/pic_slide08.jpg") no-repeat center center;
        background-size: cover; }
      #top .hero li:nth-of-type(6) {
        background: url("../images/pic_slide11.jpg") no-repeat center center;
        background-size: cover; }
      #top .hero li:nth-of-type(7) {
        background: url("../images/pic_slide13.jpg") no-repeat center center;
        background-size: cover; }
  #top h1 {
    position: absolute;
    top: 50%;
    left: 12%;
    width: 252px;
    height: 211px;
    margin-top: -104px;
    background: url("../images/logo02.png") no-repeat;
    background-size: 252px; }
    @media only screen and (max-width: 768px) {
      #top h1 {
        width: 126px;
        height: 106px;
        margin-top: -53px;
        background-size: 126px; } }
    #top h1 span {
      display: none; }

#news {
  padding: 80px 0;
  background: #f5f9fa; }
  @media only screen and (max-width: 768px) {
    #news {
      padding: 60px 0; } }
  #news .inner {
    display: -webkit-flex;
    display: flex;
    width: 100%;
    margin: 0 auto;
    padding: 0 8%; }
    @media only screen and (max-width: 768px) {
      #news .inner {
        display: block; } }
    #news .inner .left {
      width: 25%; }
      @media only screen and (max-width: 768px) {
        #news .inner .left {
          width: auto;
          margin-bottom: 40px; } }
      #news .inner .left h2 {
        font-size: 34px;
        font-size: 3.4rem;
        font-weight: 400;
        font-style: italic;
        line-height: 1; }
        @media only screen and (max-width: 768px) {
          #news .inner .left h2 {
            font-size: 26px;
            font-size: 2.6rem; } }
        #news .inner .left h2:after {
          display: block;
          content: "";
          width: 40px;
          height: 1px;
          margin: 30px 0;
          background: #000; }
          @media only screen and (max-width: 768px) {
            #news .inner .left h2:after {
              width: 30px; } }
      #news .inner .left .btn {
        display: inline-block;
        background: #000; }
        #news .inner .left .btn a {
          display: block;
          width: 142px;
          color: #fff;
          font-weight: 500;
          padding: 20px 15px;
          background: url("../images/arrow01.png") no-repeat 120px;
          background-size: 8px;
          line-height: 0; }
    #news .inner ul {
      display: -webkit-flex;
      display: flex;
      -webkit-justify-content: space-around;
      justify-content: space-around;
      width: 75%;
      list-style: none; }
      @media only screen and (max-width: 768px) {
        #news .inner ul {
          width: auto; } }
      #news .inner ul li {
        width: 30%; }
        @media only screen and (max-width: 768px) {
          #news .inner ul li {
            width: 50%; }
            #news .inner ul li:nth-of-type(1) {
              padding-right: 3%; }
            #news .inner ul li:nth-of-type(2) {
              padding-left: 3%; }
            #news .inner ul li:nth-of-type(3) {
              display: none; } }
        #news .inner ul li a {
          display: block; }
          #news .inner ul li a:hover .thumb {
            opacity: 0.7;
            transition: opacity 0.15s ease-in;
            -webkit-transition: opacity 0.15s ease-in; }
          #news .inner ul li a .thumb {
            opacity: 1;
            transition: opacity 0.15s ease-in;
            -webkit-transition: opacity 0.15s ease-in;
            margin-bottom: 15px; }
            #news .inner ul li a .thumb img {
              width: 100%;
              height: auto; }
          #news .inner ul li a time {
            display: inline-block;
            padding-bottom: 5px;
            font-size: 11px;
            font-size: 1.1rem; }
          #news .inner ul li a h3 {
            font-size: 14px;
            font-size: 1.4rem;
            font-weight: 400; }
            @media only screen and (max-width: 768px) {
              #news .inner ul li a h3 {
                font-size: 13px;
                font-size: 1.3rem; } }

#concept {
  position: relative;
  padding-top: 80px;
  margin-bottom: 120px; }
  @media only screen and (max-width: 768px) {
    #concept {
      padding-top: 0;
      margin-bottom: 0; } }
  #concept .left {
    position: absolute;
    left: 0;
    width: 60%;
    height: 510px;
    background: url("../images/pic_concept01.jpg") no-repeat center center;
    background-size: cover; }
    @media only screen and (max-width: 768px) {
      #concept .left {
        position: relative;
        width: 100%;
        height: 210px; } }
  #concept .right {
    position: relative;
    top: 140px;
    left: 50%;
    width: 50%;
    padding: 60px;
    background: #fff; }
    @media only screen and (max-width: 768px) {
      #concept .right {
        top: inherit;
        left: inherit;
        width: auto;
        padding: 60px 8% 30px; } }
    #concept .right h2 {
      font-size: 26px;
      font-size: 2.6rem;
      font-weight: 100; }
      @media only screen and (max-width: 768px) {
        #concept .right h2 {
          font-size: 21px;
          font-size: 2.1rem; } }
      #concept .right h2:after {
        display: block;
        content: "";
        width: 30px;
        height: 1px;
        margin: 30px 0;
        background: #000; }
    #concept .right p {
      padding-bottom: 20px;
      font-size: 15px;
      font-size: 1.5rem;
      line-height: 2; }
      @media only screen and (max-width: 768px) {
        #concept .right p {
          font-size: 13px;
          font-size: 1.3rem;
          line-height: 1.8; } }

.insta-wrap {
  margin: 200px 8% 0;
}

@media only screen and (max-width: 768px) {
  .insta-wrap {
    margin: 0 8% 30px;
  }
}

.insta-wrap .insta-icon {
 text-align: center;
 margin-bottom: 40px;
}

@media only screen and (max-width: 768px) {
  .insta-wrap .insta-icon {
    margin-bottom: 20px;
  }
  .insta-wrap .insta-icon img {
    max-width: 40px;
  }
}

.inview-youtube {
  text-align: center;
  margin: 80px 8% 0;
}

.inview-youtube iframe {
  width: 650px;
  height: 405px;
}

@media only screen and (max-width: 768px) {
  .inview-youtube {
    text-align: center;
    margin: 5px 8% 70px;
  }

  .inview-youtube iframe {
    width: 100%;
    height: 220px;
  }
}

#about .title {
  position: relative;
  height: 380px;
  background: url("../images/pic_about01.jpg") no-repeat center center;
  background-attachment: fixed;
  background-size: cover; }
  @media only screen and (max-width: 768px) {
    #about .title {
      height: 210px;
      background-attachment: inherit; } }
  #about .title .box {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 410px;
    margin: -55px -205px;
    padding: 30px 40px;
    background: #fff;
    text-align: center; }
    @media only screen and (max-width: 768px) {
      #about .title .box {
        width: 260px;
        padding: 20px 0;
        margin: -40px -130px; } }
    #about .title .box h2 {
      font-size: 34px;
      font-size: 3.4rem;
      font-weight: 400;
      font-style: italic; }
      @media only screen and (max-width: 768px) {
        #about .title .box h2 {
          font-size: 18px;
          font-size: 1.8rem; } }
    #about .title .box p {
      font-size: 15px;
      font-size: 1.5rem; }
      @media only screen and (max-width: 768px) {
        #about .title .box p {
          font-size: 12px;
          font-size: 1.2rem; } }

#about .column {
  display: -webkit-flex;
  display: flex;
  padding: 80px 8%;
  background: #f5f9fa;
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 1.8; }
  @media only screen and (max-width: 768px) {
    #about .column {
      display: block;
      padding: 60px 8%; } }
  #about .column .left {
    width: 50%;
    padding-right: 3%; }
    @media only screen and (max-width: 768px) {
      #about .column .left {
        width: auto;
        margin-bottom: 20px;
        padding-right: 0; } }
    #about .column .left p:last-child {
      padding: 0 !important; }
  #about .column .right {
    width: 50%;
    padding-left: 3%; }
    @media only screen and (max-width: 768px) {
      #about .column .right {
        width: auto;
        padding-left: 0; } }
    #about .column .right p:last-child {
      padding: 0 !important; }
  #about .column p {
    padding-bottom: 20px; }

#food {
  padding-top: 100px; }
  @media only screen and (max-width: 768px) {
    #food {
      padding-top: 60px; } }
  #food h2 {
    font-size: 48px;
    font-size: 4.8rem;
    font-weight: 400;
    font-style: italic;
    text-align: center; }
    @media only screen and (max-width: 768px) {
      #food h2 {
        font-size: 28px;
        font-size: 2.8rem; } }
    #food h2:after {
      display: block;
      content: "";
      width: 40px;
      height: 1px;
      margin: 30px auto 40px;
      background: #000; }
      @media only screen and (max-width: 768px) {
        #food h2:after {
          margin: 20px auto 30px; } }
  #food .btns {
    margin-bottom: 40px;
    text-align: center; }
    #food .btns li {
      display: inline-block;
      margin: 0 5px;
      background: #000; }
      @media only screen and (max-width: 768px) {
        #food .btns li {
          margin: 0 3px; } }
      #food .btns li a {
        display: block;
        width: 172px;
        color: #fff;
        font-weight: 500;
        padding: 20px 15px;
        background: url("../images/arrow01.png") no-repeat 150px;
        background-size: 8px;
        line-height: 0;
        text-align: left; }
        @media only screen and (max-width: 768px) {
          #food .btns li a {
            width: auto;
            padding: 13px;
            background: none;
            font-size: 11px;
            font-size: 1.1rem; } }
  #food .bg {
    height: 440px;
    background: url("../images/pic_food01.jpg") no-repeat center center;
    background-attachment: fixed;
    background-size: cover; }
    @media only screen and (max-width: 768px) {
      #food .bg {
        height: 210px;
        background-attachment: inherit; } }
  #food #dinner {
    padding: 80px 8% 0; }
    @media only screen and (max-width: 768px) {
      #food #dinner {
        padding: 60px 8% 0; } }
    #food #dinner h3 {
      margin-bottom: 20px;
      font-size: 34px;
      font-size: 3.4rem;
      font-weight: 400;
      font-style: italic; }
      #food #dinner h3 span {
        font-size: 14px;
        font-size: 1.4rem;
        font-style: normal; }
      @media only screen and (max-width: 768px) {
        #food #dinner h3 {
          font-size: 24px;
          font-size: 2.4rem; } }
    #food #dinner p {
      margin-bottom: 25px;
      font-size: 16px;
      font-size: 1.6rem;
      line-height: 2; }
      @media only screen and (max-width: 768px) {
        #food #dinner p {
          font-size: 13px;
          font-size: 1.3rem;
          line-height: 1.8; } }
    #food #dinner .column {
      display: -webkit-flex;
      display: flex; }
      @media only screen and (max-width: 768px) {
        #food #dinner .column {
          display: block; } }
      #food #dinner .column .left {
        width: 50%;
        padding-right: 3%; }
        @media only screen and (max-width: 768px) {
          #food #dinner .column .left {
            width: auto;
            margin-bottom: 40px;
            padding-right: 0; } }
        #food #dinner .column .left .list {
          margin-bottom: 40px;
          list-style: none;
          border-top: 1px solid #ccc; }
          @media only screen and (max-width: 768px) {
            #food #dinner .column .left .list {
              margin-bottom: 20px; } }
          #food #dinner .column .left .list li {
            overflow: hidden;
            padding: 20px 0;
            border-bottom: 1px solid #ccc; }
            #food #dinner .column .left .list li h4 {
              float: left; }
            #food #dinner .column .left .list li span {
              display: block;
              float: right;
              text-align: right; }
        #food #dinner .column .left .notes {
          list-style: none;
          font-size: 12px;
          font-size: 1.2rem;
          line-height: 1.9;
          padding-left: 1.5em;
          text-indent: -1.5em; }
          @media only screen and (max-width: 768px) {
            #food #dinner .column .left .notes {
              font-size: 10px;
              font-size: 1.0rem;
              line-height: 1.7; } }
      #food #dinner .column .right {
        width: 50%;
        padding-left: 3%; }
        @media only screen and (max-width: 768px) {
          #food #dinner .column .right {
            width: auto;
            padding-left: 0; } }
        #food #dinner .column .right .menu {
          padding: 40px;
          background: #f5f9fa; }
          @media only screen and (max-width: 768px) {
            #food #dinner .column .right .menu {
              padding: 8%; } }
          #food #dinner .column .right .menu h4 {
            margin-bottom: 15px;
            font-size: 22px;
            font-size: 2.2rem;
            font-weight: 400;
            font-style: italic; }
            @media only screen and (max-width: 768px) {
              #food #dinner .column .right .menu h4 {
                margin-bottom: 10px;
                font-size: 16px;
                font-size: 1.6rem; } }
            #food #dinner .column .right .menu h4 span {
              font-size: 13px;
              font-size: 1.3rem;
              font-style: normal; }
              @media only screen and (max-width: 768px) {
                #food #dinner .column .right .menu h4 span {
                  font-size: 13px;
                  font-size: 1.3rem; } }
          #food #dinner .column .right .menu ul {
            line-height: 2;
            list-style: none; }
            @media only screen and (max-width: 768px) {
              #food #dinner .column .right .menu ul {
                font-size: 12px;
                font-size: 1.2rem; } }
  #food .others {
    /*display: -webkit-flex;
    display: flex;*/
    padding: 10px 8% 0; }
    @media only screen and (max-width: 768px) {
      #food .others {
        display: block;
        padding: 10px 8% 0; } }
    #food .others section h3 {
      margin-bottom: 20px;
      font-size: 34px;
      font-size: 3.4rem;
      font-weight: 400;
      font-style: italic; }
      #food .others section h3 span {
        font-size: 14px;
        font-size: 1.4rem;
        font-style: normal; }
      @media only screen and (max-width: 768px) {
        #food .others section h3 {
          font-size: 24px;
          font-size: 2.4rem; } }
    #food .others section .column {
      display: flex; }
@media only screen and (max-width: 768px) {
    #food .others section .column {
      display: block; }
}
      #food .others section .column .left {
        width: 50%;
        padding-right: 3%; }
@media only screen and (max-width: 768px) {
      #food .others section .column .left {
        width: 100%;
        padding-right: 0;
	margin-bottom: 3%;}
}
      #food .others section .column .right {
        width: 50%;
        padding-left: 3%; }
@media only screen and (max-width: 768px) {
      #food .others section .column .right {
        width: 100%;
        padding-left: 0; }
}
    #food .others section p {
      margin-bottom: 40px;
      font-size: 14px;
      font-size: 1.4rem;
      line-height: 1.8; }
      #food .others section p.tile01_2 {
        margin-bottom: 10px; }
      @media only screen and (max-width: 768px) {
        #food .others section p {
          margin-bottom: 30px;
          font-size: 13px;
          font-size: 1.3rem; } }
    #food .others section .thumb {
      margin-bottom: 30px; }
      #food .others section .thumb img {
        width: 100%;
        height: auto; }
    #food .others section .list {
      margin-bottom: 30px;
      list-style: none;
      border-top: 1px solid #ccc; }
      #food .others section .list li {
        overflow: hidden;
        padding: 20px 0;
        border-bottom: 1px solid #ccc; }
        #food .others section .list li h4 {
          float: left; }
        #food .others section .list li span {
          display: block;
          float: right;
          text-align: right; }
    #food .others section .notes {
      margin-bottom: 40px;
      list-style: none;
      font-size: 12px;
      font-size: 1.2rem;
      line-height: 1.9;
      padding-left: 1.5em;
      text-indent: -1.5em; }
      @media only screen and (max-width: 768px) {
        #food .others section .notes {
          font-size: 10px;
          font-size: 1.0rem;
          line-height: 1.7; } }
    #food .others section .menu {
      overflow: hidden;
      padding: 40px;
      background: #f5f9fa;
		}
      @media only screen and (max-width: 768px) {
        #food .others section .menu {
          padding: 8%; 
          margin-top: 0;} }
      #food .others section .menu h4 {
        margin-bottom: 15px;
        font-size: 13px;
        font-size: 1.3rem; }
        @media only screen and (max-width: 768px) {
          #food .others section .menu h4 {
            margin-bottom: 10px;
            font-size: 13px;
            font-size: 1.3rem; } }
      #food .others section .menu ul {
        line-height: 2;
        list-style: none; }
        @media only screen and (max-width: 768px) {
          #food .others section .menu ul {
            font-size: 12px;
            font-size: 1.2rem; } }
    #food .others #launch {
      /*width: 50%;
      padding-right: 3%;*/ }
      @media only screen and (max-width: 768px) {
        #food .others #launch {
          width: auto;
          margin-bottom: 0;
          padding-right: 0; } }
    #food .others #breakfast {
      width: 50%;
      padding-left: 3%; }
      @media only screen and (max-width: 768px) {
        #food .others #breakfast {
          width: auto;
          padding-left: 0; } }
      #food .others #breakfast .message {
        display: block;
        color: orange; }
      #food .others #breakfast .menu ul li {
        float: left;
        width: 50%; }

#service {
  padding-top: 100px; }
  @media only screen and (max-width: 768px) {
    #service {
      padding-top: 60px; } }
  #service h2 {
    font-size: 48px;
    font-size: 4.8rem;
    font-weight: 400;
    font-style: italic;
    text-align: center; }
    @media only screen and (max-width: 768px) {
      #service h2 {
        font-size: 28px;
        font-size: 2.8rem; } }
    #service h2:after {
      display: block;
      content: "";
      width: 40px;
      height: 1px;
      margin: 30px auto 40px;
      background: #000; }
      @media only screen and (max-width: 768px) {
        #service h2:after {
          margin: 20px auto 30px; } }
  #service .service {
    display: -webkit-flex;
    display: flex;
    list-style: none; }
    @media only screen and (max-width: 768px) {
      #service .service {
        display: block; } }
    #service .service li {
      overflow: hidden;
      position: relative;
      z-index: 0;
      width: 33.33%;
      text-align: center;
      color: #fff;
      background: #000; }
      #service .service li:hover .bg {
        opacity: 0.8;
        transform: scale(1.1);
        -webkit-transform: scale(1.1);
        transition: all 0.5s ease;
        -webkit-transition: all 0.5s ease; }
      @media only screen and (max-width: 768px) {
        #service .service li {
          width: auto; } }
      #service .service li .bg {
        position: absolute;
        top: 0;
        left: 0;
        z-index: -1;
        width: 100%;
        height: 100%;
        opacity: 0.5;
        transform: scale(1);
        -webkit-transform: scale(1);
        transition: all 0.5s ease;
        -webkit-transition: all 0.5s ease; }
      #service .service li.yoga .bg {
        background: url("../images/pic_yoga01.jpg") no-repeat center center;
        background-size: cover; }
      #service .service li.aroma .bg {
        background: url("../images/pic_aroma01.jpg") no-repeat center center;
        background-size: cover; }
      #service .service li.nail .bg {
        background: url("https://livholly.com/wp/wp-content/uploads/2024/04/pic_massage01.jpg") no-repeat center center;
        background-size: cover; }
      #service .service li a {
        position: relative;
        z-index: 10;
        display: block;
        padding: 120px 4%;
        color: #fff; }
        @media only screen and (max-width: 768px) {
          #service .service li a {
            padding: 40px 8%; } }
        #service .service li a h3 {
          margin-bottom: 10px;
          font-size: 34px;
          font-size: 3.4rem;
          font-weight: 400;
          font-style: italic;
          text-align: center; }
          @media only screen and (max-width: 768px) {
            #service .service li a h3 {
              margin-bottom: 5px;
              font-size: 16px;
              font-size: 1.6rem; } }
        @media only screen and (max-width: 768px) {
          #service .service li a p {
            font-size: 10px;
            font-size: 1.0rem; }
            #service .service li a p br {
              display: none; } }
  #service .box {
    display: -webkit-flex;
    display: flex; }
    @media only screen and (max-width: 768px) {
      #service .box {
        display: block; } }
    #service .box .title {
      overflow: hidden; }
      #service .box .title h3 {
        float: left;
        margin-bottom: 20px;
        font-size: 28px;
        font-size: 2.8rem;
        font-weight: 400;
        font-style: italic; }
        @media only screen and (max-width: 768px) {
          #service .box .title h3 {
            margin-bottom: 10px;
            font-size: 21px;
            font-size: 2.1rem; } }
      #service .box .title span {
        float: right;
        display: block;
        padding-top: 15px; }
        @media only screen and (max-width: 768px) {
          #service .box .title span {
            padding-top: 10px;
            font-size: 12px;
            font-size: 1.2rem; } }
    #service .box .left {
      width: 50%;
      padding-right: 3%; }
      @media only screen and (max-width: 768px) {
        #service .box .left {
          width: auto;
          padding-right: 0; } }
      #service .box .left .list {
        border-top: 1px solid #ccc;
        list-style: none; }
        #service .box .left .list li {
          overflow: hidden;
          padding: 20px 0;
          border-bottom: 1px solid #ccc; }
          #service .box .left .list li h4 {
            font-size: 14px;
            font-size: 1.4rem; }
            @media only screen and (max-width: 768px) {
              #service .box .left .list li h4 {
                font-size: 13px;
                font-size: 1.3rem; } }
    #service .box .right {
      width: 50%;
      padding-left: 3%; }
      @media only screen and (max-width: 768px) {
        #service .box .right {
          width: auto;
          padding-left: 0; } }
      #service .box .right ul {
        margin-top: 60px;
        list-style: none;
        font-size: 12px;
        font-size: 1.2rem;
        line-height: 1.8; }
        @media only screen and (max-width: 768px) {
          #service .box .right ul {
            margin-top: 30px;
            font-size: 10px;
            font-size: 1.0rem;
            line-height: 1.7; } }
  #service #yoga {
    padding: 80px 8% 0;
    background: #f5f9fa; }
    @media only screen and (max-width: 768px) {
      #service #yoga {
        padding: 60px 8% 0; } }
    @media only screen and (max-width: 768px) {
      #service #yoga .title h3 {
        float: none;
        margin-bottom: 0; }
      #service #yoga .title span {
        float: none;
        margin-bottom: 20px;
        padding-top: 0; } }
    #service #yoga ul li time {
      display: block;
      padding-bottom: 5px; }
  #service #aroma {
    padding: 80px 8% 0;
    background: #f5f9fa; }
    @media only screen and (max-width: 768px) {
      #service #aroma {
        padding: 60px 8% 0; } }
    #service #aroma ul li {
      display: -webkit-flex;
      display: flex; }
      @media only screen and (max-width: 768px) {
        #service #aroma ul li {
          display: block; } }
      #service #aroma ul li h4 {
        width: 80%; }
        @media only screen and (max-width: 768px) {
          #service #aroma ul li h4 {
            width: auto; } }
      #service #aroma ul li .min {
        display: block;
        width: 10%;
        text-align: right; }
      #service #aroma ul.list-en li .min {
        width: 17%;}
        @media only screen and (max-width: 768px) {
          #service #aroma ul li .min {
            width: auto;
            text-align: left; } }
      #service #aroma ul li .price {
        display: block;
        width: 15%;
        text-align: right; }
        @media only screen and (max-width: 768px) {
          #service #aroma ul li .price {
            width: auto;
            text-align: left; } }
  #service #nail {
    padding: 80px 8% 80px;
    background: #f5f9fa; }
    @media only screen and (max-width: 768px) {
      #service #nail {
        padding: 60px 8% 60px; } }
    #service #nail ul li {
      display: -webkit-flex;
      display: flex; }
      @media only screen and (max-width: 768px) {
        #service #nail ul li {
          display: block; } }
      #service #nail ul li h4 {
        width: 75%; }
        @media only screen and (max-width: 768px) {
          #service #nail ul li h4 {
            width: auto; } }
      #service #nail ul li .min {
        display: block;
        width: 10%;
        text-align: right; }
        @media only screen and (max-width: 768px) {
          #service #nail ul li .min {
            width: auto;
            text-align: left; } }
      #service #nail ul li .price {
        display: block;
        width: 15%;
        text-align: right; }
        @media only screen and (max-width: 768px) {
          #service #nail ul li .price {
            width: auto;
            text-align: left; } }

/*----- 20190130追加 -----*/
  #service #service04-1 { padding: 80px 8% 0; }
  #service #service04-2 { padding: 40px 8% 0; }
  #service #service04-1 ul.inline_block,
  #service #service04-2 ul.inline_block { margin: 0; padding: 0; font-size: 0;}
  #service #service04-1 ul.inline_block li,
  #service #service04-2 ul.inline_block li {
    display: inline-block;
    font-size: 14px;
    list-style-type: none;
    vertical-align: top;
  }
  #service #service04-1 ul,
  #service #service04-2 ul { margin: 0; padding: 0;}
  #service #service04-1 ul.ul02,
  #service #service04-2 ul.ul02 { }
  #service #service04-1 ul.ul02 li,
  #service #service04-2 ul.ul02 li { width: 49.9%;}
  #service #service04-1 ul.ul02 li:nth-child(odd),
  #service #service04-2 ul.ul02 li:nth-child(odd) { padding-right: 3%;}
  #service #service04-1 ul.ul02 li:nth-child(even),
  #service #service04-2 ul.ul02 li:nth-child(even) { padding-left: 3%;}
  #service #service04-1 ul.ul02 li img,
  #service #service04-2 ul.ul02 li img { max-width: 100%; height: auto !important;}

  #service #service04-1 ul.ul02 li h3,
  #service #service04-2 ul.ul02 li h3 {
    margin-bottom: 20px;
    font-size: 28px;
    font-size: 2.8rem;
    font-weight: 400;
    font-style: italic;
    text-align: left;
    padding: 15px 0 0;
  }
  #service #service04-1 ul.ul02 lir p,
  #service #service04-2 ul.ul02 lir p{
    margin-bottom: 25px;
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 2;
  }
  #service #service04-1 ul.ul02 li ul.asterisk,
  #service #service04-2 ul.ul02 li ul.asterisk {
    margin: 0;
    padding: 5px 0 0;
  }
  #service #service04-1 ul.ul02 li ul.asterisk li,
  #service #service04-2 ul.ul02 li ul.asterisk li {
    width: 100%;
    padding:  5px 0 0;
    font-size: 1.2rem;
  }

  @media only screen and (max-width: 768px) {
    #service #service04-1 { padding: 60px 8% 0;}
    #service #service04-2 { padding: 0 8%;}
    #service #service04-1 ul.ul02 li h3,
    #service #service04-2 ul.ul02 li h3 {
      margin-bottom: 10px;
      font-size: 21px;
      font-size: 2.1rem;
    }
    #service #service04-1 ul.ul02 li p,
    #service #service04-2 ul.ul02 li p {
      font-size: 13px;
      font-size: 1.3rem;
      line-height: 1.8;
    }
    #service #service04-1 ul.ul02 li,
    #service #service04-2 ul.ul02 li {
      display: block;
      width: 100%;
      padding-bottom: 30px !important;
    }
    #service #service04-1 ul.ul02 li:nth-child(odd),
    #service #service04-1 ul.ul02 li:nth-child(even),
    #service #service04-2 ul.ul02 li:nth-child(odd),
    #service #service04-2 ul.ul02 li:nth-child(even) { padding: 0;}

    #service #service04-1 ul.ul02 li ul.asterisk,
    #service #service04-2 ul.ul02 li ul.asterisk { padding: 5px 0 0 !important;}
    #service #service04-1 ul.ul02 li ul.asterisk li,
    #service #service04-2 ul.ul02 li ul.asterisk li {
      width: 100%;
      padding:  5px 0 0 !important;
      font-size: 1.2rem;
    }


  }


/*----- 20190130追加 -----*/

#activity {
  position: relative;
  margin: 80px 0 0;
  padding: 80px 8%;
  background: #f5f9fa; }
  @media only screen and (max-width: 768px) {
    #activity {
      padding: 60px 8%; } }
  #activity .left {
    position: relative;
    z-index: 10;
    margin: 100px 0 80px;
    width: 40%; }
    @media only screen and (max-width: 768px) {
      #activity .left {
        width: auto;
        margin: 0 0 40px; } }
    #activity .left h2 {
      font-size: 48px;
      font-size: 4.8rem;
      font-weight: 400;
      font-style: italic; }
      @media only screen and (max-width: 768px) {
        #activity .left h2 {
          font-size: 28px;
          font-size: 2.8rem;
          text-align: center; } }
      #activity .left h2:after {
        display: block;
        content: "";
        width: 40px;
        height: 1px;
        margin: 30px 0 40px;
        background: #000; }
        @media only screen and (max-width: 768px) {
          #activity .left h2:after {
            margin: 20px auto 30px; } }
    #activity .left .text {
      padding: 40px;
      font-size: 14px;
      font-size: 1.4rem;
      background: #fff; }
      @media only screen and (max-width: 768px) {
        #activity .left .text {
          padding: 8%; } }
      #activity .left .text p {
        margin-bottom: 30px;
        line-height: 2; }
        @media only screen and (max-width: 768px) {
          #activity .left .text p {
            font-size: 12px;
            font-size: 1.2rem;
            line-height: 1.8; } }
      #activity .left .text .btn {
        display: inline-block;
        background: #000; }
        #activity .left .text .btn a {
          display: block;
          width: 142px;
          color: #fff;
          font-weight: 500;
          padding: 20px 15px;
          background: url("../images/arrow01.png") no-repeat 120px;
          background-size: 8px;
          line-height: 0; }
        @media only screen and (max-width: 768px) {
          #activity .left .text .btn {
            display: block;
            width: 142px;
            margin: 0 auto; } }
  #activity .right {
    position: absolute;
    top: 80px;
    right: 0;
    width: 75%;
    height: -webkit-calc(100% - 160px);
    height: calc(100% - 160px);
    background: url("../images/pic_activity01.jpg") no-repeat center center;
    background-size: cover; }
    @media only screen and (max-width: 768px) {
      #activity .right {
        position: relative;
        top: inherit;
        width: 100%;
        height: 210px; } }

#marine_dress_rental {
  position: relative;
  margin: 80px 0 0;
  padding: 80px 8%;
  background: #f5f9fa; }
  @media only screen and (max-width: 768px) {
    #marine_dress_rental {
      padding: 60px 8%; } }
  #marine_dress_rental .left {
    position: relative;
    z-index: 10;
    margin: 100px 0 80px;
    width: 40%; }
    @media only screen and (max-width: 768px) {
      #marine_dress_rental .left {
        width: auto;
        margin: 0 0 40px; } }
    #marine_dress_rental .left h2 {
      font-size: 48px;
      font-size: 4.8rem;
      font-weight: 400;
      font-style: italic; }
      @media only screen and (max-width: 768px) {
        #marine_dress_rental .left h2 {
          font-size: 28px;
          font-size: 2.8rem;
          text-align: center; } }
      #marine_dress_rental .left h2:after {
        display: block;
        content: "";
        width: 40px;
        height: 1px;
        margin: 30px 0 40px;
        background: #000; }
        @media only screen and (max-width: 768px) {
          #marine_dress_rental .left h2:after {
            margin: 20px auto 30px; } }
    #marine_dress_rental .left .text {
      padding: 40px;
      font-size: 14px;
      font-size: 1.4rem;
      background: #fff; }
      @media only screen and (max-width: 768px) {
        #marine_dress_rental .left .text {
          padding: 8%; } }
      #marine_dress_rental .left .text p {
        margin-bottom: 30px;
        line-height: 2; }
        @media only screen and (max-width: 768px) {
          #marine_dress_rental .left .text p {
            font-size: 12px;
            font-size: 1.2rem;
            line-height: 1.8; } }
      #marine_dress_rental .left .text .btn {
        display: inline-block;
        background: #000; }
        #marine_dress_rental .left .text .btn a {
          display: block;
          width: 142px;
          color: #fff;
          font-weight: 500;
          padding: 20px 15px;
          background: url("../images/arrow01.png") no-repeat 120px;
          background-size: 8px;
          line-height: 0; }
        @media only screen and (max-width: 768px) {
          #marine_dress_rental .left .text .btn {
            display: block;
            width: 142px;
            margin: 0 auto; } }
  #marine_dress_rental .right {
    position: absolute;
    top: 80px;
    right: 0;
    width: 75%;
    height: -webkit-calc(100% - 160px);
    height: calc(100% - 160px);
    background: url("../images/pic_marine_dress_rental01.jpg") no-repeat center center;
    background-size: cover; }
    @media only screen and (max-width: 768px) {
      #marine_dress_rental .right {
        position: relative;
        top: inherit;
        width: 100%;
        height: 210px; } }


#access {
  padding-top: 100px; }
  @media only screen and (max-width: 768px) {
    #access {
      padding-top: 60px; } }
  #access h2 {
    font-size: 48px;
    font-size: 4.8rem;
    font-weight: 400;
    font-style: italic;
    text-align: center; }
    @media only screen and (max-width: 768px) {
      #access h2 {
        font-size: 28px;
        font-size: 2.8rem; } }
    #access h2:after {
      display: block;
      content: "";
      width: 40px;
      height: 1px;
      margin: 30px auto 40px;
      background: #000; }
      @media only screen and (max-width: 768px) {
        #access h2:after {
          margin: 20px auto 30px; } }
  #access .address {
    margin-bottom: 50px;
    text-align: center;
    font-size: 17px;
    font-size: 1.7rem; }
    @media only screen and (max-width: 768px) {
      #access .address {
        padding: 0 8%;
        font-size: 13px;
        font-size: 1.3rem; } }
    #access .address a {
      color: #c0a143; }
  #access .column {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-around;
    justify-content: space-around;
    padding: 0 10%;
    margin-bottom: 100px;
    background: url("../images/arrow02.png") no-repeat center 90px;
    background-size: 14px; }
    @media only screen and (max-width: 768px) {
      #access .column {
        display: block;
        margin-bottom: 60px;
        padding: 0 8%; } }
    #access .column .left {
      width: 50%;
      padding-right: 4%; }
      @media only screen and (max-width: 768px) {
        #access .column .left {
          width: auto;
          margin-bottom: 60px;
          padding-right: 0; } }
      #access .column .left .box {
        display: table;
        width: 100%;
        margin-bottom: 30px;
        padding: 40px;
        background: #f5f9fa; }
        @media only screen and (max-width: 768px) {
          #access .column .left .box {
            padding: 8%; } }
        #access .column .left .box .ico {
          display: table-cell;
          vertical-align: middle; }
          @media only screen and (max-width: 768px) {
            #access .column .left .box .ico {
              padding-right: 20px; } }
        #access .column .left .box .text {
          display: table-cell;
          vertical-align: middle; }
          #access .column .left .box .text h3 {
            padding-bottom: 15px;
            font-size: 16px;
            font-size: 1.6rem; }
            @media only screen and (max-width: 768px) {
              #access .column .left .box .text h3 {
                font-size: 13px;
                font-size: 1.3rem; } }
          #access .column .left .box .text p {
            line-height: 1.9; }
            @media only screen and (max-width: 768px) {
              #access .column .left .box .text p {
                font-size: 12px;
                font-size: 1.2rem; } }
      #access .column .left p {
        line-height: 1.8; }
        @media only screen and (max-width: 768px) {
          #access .column .left p {
            font-size: 12px;
            font-size: 1.2rem; } }
    #access .column .right {
      width: 50%;
      padding-left: 4%; }
      @media only screen and (max-width: 768px) {
        #access .column .right {
          width: auto;
          padding-left: 0; } }
      #access .column .right .ico {
        display: table-cell;
        vertical-align: middle; }
        @media only screen and (max-width: 768px) {
          #access .column .right .ico {
            padding-right: 20px; } }
      #access .column .right .box {
        display: table;
        width: 100%;
        margin-bottom: 30px;
        padding: 40px;
        background: #f5f9fa; }
        @media only screen and (max-width: 768px) {
          #access .column .right .box {
            padding: 8%; } }
        #access .column .right .box .text {
          display: table-cell;
          vertical-align: middle; }
          #access .column .right .box .text h3 {
            padding-bottom: 15px;
            font-size: 16px;
            font-size: 1.6rem; }
            @media only screen and (max-width: 768px) {
              #access .column .right .box .text h3 {
                font-size: 13px;
                font-size: 1.3rem; } }
          #access .column .right .box .text p {
            line-height: 1.9; }
            @media only screen and (max-width: 768px) {
              #access .column .right .box .text p {
                font-size: 12px;
                font-size: 1.2rem; } }
      @media only screen and (max-width: 768px) {
        #access .column .right p {
          font-size: 12px;
          font-size: 1.2rem; } }
  #access .map_wrap {
    display: -webkit-flex;
    display: flex;
    height: 380px; }
    @media only screen and (max-width: 768px) {
      #access .map_wrap {
        display: block; } }
    #access .map_wrap .map {
      width: 50%;
      height: 380px; }
      @media only screen and (max-width: 768px) {
        #access .map_wrap .map {
          width: 100%; } }
      #access .map_wrap .map .inner {
        position: relative;
        padding-bottom: 380px;
        height: 0;
        overflow: hidden; }
        #access .map_wrap .map .inner iframe {
          position: absolute;
          top: 0;
          left: 0;
          width: 100% !important;
          height: 100% !important; }
    #access .map_wrap #myVideo {
      position: relative;
      width: 50%;
      height: 380px;
      overflow: hidden; }
      #access .map_wrap #myVideo iframe {
        width: 100% !important;
        height: auto;
        top: -55% !important;
        min-width: 680px; }
      @media only screen and (max-width: 768px) {
        #access .map_wrap #myVideo {
          display: none; } }

#stay .secA {
  display: -webkit-flex;
  display: flex;
  padding: 100px 8% 80px;
  background: #f5f9fa; }
  @media only screen and (max-width: 768px) {
    #stay .secA {
      display: block;
      padding: 60px 8%; } }
  #stay .secA .left {
    width: 50%;
    padding-right: 3%; }
    @media only screen and (max-width: 768px) {
      #stay .secA .left {
        width: auto;
        margin-bottom: 20px;
        padding-right: 0; } }
    #stay .secA .left h2 {
      font-size: 48px;
      font-size: 4.8rem;
      font-weight: 400;
      font-style: italic; }
      @media only screen and (max-width: 768px) {
        #stay .secA .left h2 {
          font-size: 28px;
          font-size: 2.8rem; } }
      #stay .secA .left h2:after {
        display: block;
        content: "";
        width: 40px;
        height: 1px;
        margin: 30px 0 40px;
        background: #000; }
        @media only screen and (max-width: 768px) {
          #stay .secA .left h2:after {
            margin: 20px 0 30px; } }
    #stay .secA .left p {
      margin-bottom: 80px;
      font-size: 16px;
      font-size: 1.6rem;
      line-height: 2; }
      @media only screen and (max-width: 768px) {
        #stay .secA .left p {
          margin-bottom: 40px;
          font-size: 13px;
          font-size: 1.3rem; } }
    #stay .secA .left .pic img {
      width: 100%;
      height: auto; }
    #stay .secA .left .mb01 {
      margin-bottom: 80px; }
      @media only screen and (max-width: 768px) {
        #stay .secA .left .mb01{
          margin-bottom: 20px; } }
  #stay .secA .right {
    width: 50%;
    padding-left: 3%; }
    @media only screen and (max-width: 768px) {
      #stay .secA .right {
        width: auto;
        padding-left: 0; } }
    #stay .secA .right .pic:first-child {
      margin-bottom: 80px; }
      @media only screen and (max-width: 768px) {
        #stay .secA .right .pic:first-child {
          margin-bottom: 20px; } }
    #stay .secA .right .pic img {
      width: 100%;
      height: auto; }

#stay .secB {
  padding: 80px 8% 0; }
  @media only screen and (max-width: 768px) {
    #stay .secB {
      padding: 60px 8% 0; } }
  #stay .secB h3 {
    font-size: 20px;
    font-size: 2.0rem;
    text-align: center; }
    @media only screen and (max-width: 768px) {
      #stay .secB h3 {
        font-size: 16px;
        font-size: 1.6rem; } }
    #stay .secB h3:after {
      display: block;
      content: "";
      width: 40px;
      height: 1px;
      margin: 30px auto 40px;
      background: #000; }
      @media only screen and (max-width: 768px) {
        #stay .secB h3:after {
          margin: 20px auto 30px; } }
  #stay .secB .column {
    display: -webkit-flex;
    display: flex; }
    @media only screen and (max-width: 768px) {
      #stay .secB .column {
        display: block; } }
    #stay .secB .column div section {
      margin-bottom: 30px; }
      #stay .secB .column div section h4 {
        margin-bottom: 8px;
        font-size: 14px;
        font-size: 1.4rem; }
        @media only screen and (max-width: 768px) {
          #stay .secB .column div section h4 {
            margin-bottom: 10px;
            font-size: 13px;
            font-size: 1.3rem; } }
      #stay .secB .column div section p {
        line-height: 1.8; }
        @media only screen and (max-width: 768px) {
          #stay .secB .column div section p {
            font-size: 12px;
            font-size: 1.2rem; } }
      #stay .secB .column div section ul {
        list-style: none;
        border-top: 1px solid #ccc; }
        #stay .secB .column div section ul li {
          overflow: hidden;
          padding: 20px 0;
          font-size: 13px;
          font-size: 1.3rem;
          border-bottom: 1px solid #ccc; }
          #stay .secB .column div section ul li p {
            float: left; }
          #stay .secB .column div section ul li span {
            float: right; }
            @media only screen and (max-width: 768px) {
              #stay .secB .column div section ul li span {
                font-size: 12px;
                font-size: 1.2rem; } }
    #stay .secB .column div.left {
      width: 50%;
      padding-right: 3%; }
      @media only screen and (max-width: 768px) {
        #stay .secB .column div.left {
          width: auto;
          padding-right: 0; } }
    #stay .secB .column div.right {
      width: 50%;
      padding-left: 3%; }
      @media only screen and (max-width: 768px) {
        #stay .secB .column div.right {
          width: auto;
          padding-left: 0; } }

#stay .secC {
  padding: 80px 8% 0; }
  @media only screen and (max-width: 768px) {
    #stay .secC {
      padding: 60px 8% 0; } }
  #stay .secC h3 {
    font-size: 20px;
    font-size: 2.0rem;
    text-align: center; }
    @media only screen and (max-width: 768px) {
      #stay .secC h3 {
        font-size: 16px;
        font-size: 1.6rem; } }
    #stay .secC h3:after {
      display: block;
      content: "";
      width: 40px;
      height: 1px;
      margin: 30px auto 40px;
      background: #000; }
      @media only screen and (max-width: 768px) {
        #stay .secC h3:after {
          margin: 20px auto 30px; } }
  #stay .secC .column {
    display: -webkit-flex;
    display: flex; }
    @media only screen and (max-width: 768px) {
      #stay .secC .column {
        display: block; } }
    #stay .secC .column div section {
      margin-bottom: 30px; }
      #stay .secC .column div section h4 {
        margin-bottom: 8px;
        font-size: 14px;
        font-size: 1.4rem; }
        @media only screen and (max-width: 768px) {
          #stay .secC .column div section h4 {
            margin-bottom: 10px;
            font-size: 13px;
            font-size: 1.3rem; } }
      #stay .secC .column div section ul {
        list-style: none; }
      #stay .secC .column div section p {
        line-height: 1.8; }
        @media only screen and (max-width: 768px) {
          #stay .secC .column div section p {
            font-size: 12px;
            font-size: 1.2rem; } }
      #stay .secC .column div section p.pt10 {
        padding-top: 10px; }
      #stay .secC .column div section table {
        width: 100%; }
        @media only screen and (max-width: 768px) {
          #stay .secC .column div section table {
            font-size: 12px;
            font-size: 1.2rem; } }
        #stay .secC .column div section table tr td {
          padding: 12px 0;
          background: #f5f9fa;
          text-align: center;
          border-collapse: collapse;
          border: 1px solid #fff;
          vertical-align: middle; }
        @media only screen and (max-width: 768px) {
          #stay .secC .column div section table tr:nth-of-type(1) {
            font-size: 10px;
            font-size: 1.0rem;
            letter-spacing: 0; } }
        #stay .secC .column div section table tr:nth-of-type(1) td {
          color: #fff;
          background: #000; }
        #stay .secC .column div section table.cancel {
          margin-top: 15px; }
        #stay .secC .column div section table.price-table {
          margin-bottom: 10px; }
    #stay .secC .column div ul {
      list-style: none; }
    #stay .secC .column div.left {
      width: 50%;
      padding-right: 3%; }
      @media only screen and (max-width: 768px) {
        #stay .secC .column div.left {
          width: auto;
          padding-right: 0; } }
    #stay .secC .column div.right {
      width: 50%;
      padding-left: 3%; }
      @media only screen and (max-width: 768px) {
        #stay .secC .column div.right {
          width: auto;
          padding-left: 0; } }

#stay .secD {
  padding: 80px 8% 0; }
  @media only screen and (max-width: 768px) {
    #stay .secD {
      padding: 60px 8% 0; } }
  #stay .secD h3 {
    font-size: 20px;
    font-size: 2.0rem;
    text-align: center; }
    @media only screen and (max-width: 768px) {
      #stay .secD h3 {
        font-size: 16px;
        font-size: 1.6rem; } }
    #stay .secD h3:after {
      display: block;
      content: "";
      width: 40px;
      height: 1px;
      margin: 30px auto 40px;
      background: #000; }
      @media only screen and (max-width: 768px) {
        #stay .secD h3:after {
          margin: 20px auto 30px; } }
  #stay .secD .column {
    display: -webkit-flex;
    display: flex; }
    @media only screen and (max-width: 768px) {
      #stay .secD .column {
        display: block; } }
    #stay .secD .column .concierge {
      width: 50%;
       margin: 0 auto;
      padding: 40px;
      background: #f5f9fa; }
      @media only screen and (max-width: 768px) {
        #stay .secD .column .concierge {
          width: auto;
          padding: 8%;
          margin-right: 0;
          margin-bottom: 40px; } }
      #stay .secD .column .concierge h3 {
        margin-bottom: 20px;
        padding-top: 50px;
        font-size: 26px;
        font-size: 2.6rem;
        font-weight: 400;
        font-style: italic;
        text-align: center;
        background: url("../images/ico_concierge01.png") no-repeat center top;
        background-size: 36px; }
        @media only screen and (max-width: 768px) {
          #stay .secD .column .concierge h3 {
            font-size: 18px;
            font-size: 1.8rem; } }
      #stay .secD .column .concierge p {
        font-size: 13px;
        font-size: 1.3rem;
        line-height: 1.9; }
        @media only screen and (max-width: 768px) {
          #stay .secD .column .concierge p {
            font-size: 13px;
            font-size: 1.3rem; } }
    #stay .secD .column .medical {
      width: 50%;
      margin-left: 3%;
      padding: 40px;
      background: #f5f9fa; }
      @media only screen and (max-width: 768px) {
        #stay .secD .column .medical {
          width: auto;
          padding: 8%;
          margin-left: 0; } }
      #stay .secD .column .medical h3 {
        margin-bottom: 20px;
        padding-top: 50px;
        font-size: 26px;
        font-size: 2.6rem;
        font-weight: 400;
        font-style: italic;
        text-align: center;
        background: url("../images/ico_drone01.png") no-repeat center top;
        background-size: 48px; }
        @media only screen and (max-width: 768px) {
          #stay .secD .column .medical h3 {
            font-size: 18px;
            font-size: 1.8rem; } }
      #stay .secD .column .medical p {
        font-size: 13px;
        font-size: 1.3rem;
        line-height: 1.9; }
        @media only screen and (max-width: 768px) {
          #stay .secD .column .medical p {
            font-size: 13px;
            font-size: 1.3rem; } }
      #stay .secD .column .medical p span {
        font-size: 10px;
        font-size: 1.3rem;
        line-height: 1.9; }
        @media only screen and (max-width: 768px) {
          #stay .secD .column .medical p span {
            font-size: 10px;
            font-size: 1.3rem; } }

#reserve-wrap {
  padding-top: 100px; }
  @media only screen and (max-width: 768px) {
    #reserve-wrap {
      padding-top: 60px; } }
  #reserve-wrap .bx-wrapper {
    width: 100%;
    height: 640px; }
    @media only screen and (max-width: 768px) {
      #reserve-wrap .bx-wrapper {
        height: 210px; } }
    #reserve-wrap .bx-wrapper .bx-viewport {
      width: 100%;
      height: 100%; }
  #reserve-wrap .room {
    width: 100%;
    height: 100%; }
    #reserve-wrap .room li {
      width: 100% !important;
      height: 100%; }
      @media only screen and (max-width: 768px) {
        #reserve-wrap .room li {
          background-attachment: inherit !important; } }
      #reserve-wrap .room li:nth-of-type(1) {
        background: url("../images/pic_room01.jpg") no-repeat center center;
        background-attachment: fixed;
        background-size: cover; }
      #reserve-wrap .room li:nth-of-type(2) {
        background: url("../images/pic_room02.jpg") no-repeat center center;
        background-attachment: fixed;
        background-size: cover; }
      #reserve-wrap .room li:nth-of-type(3) {
        background: url("../images/pic_room03.jpg") no-repeat center center;
        background-attachment: fixed;
        background-size: cover; }
  #reserve-wrap #reserve {
    display: -webkit-flex;
    display: flex;
    padding: 80px 8% 0; }
    @media only screen and (max-width: 768px) {
      #reserve-wrap #reserve {
        display: block;
        padding: 60px 8% 0; } }
    #reserve-wrap #reserve .left {
      width: 35%;
      padding-right: 3%; }
      @media only screen and (max-width: 768px) {
        #reserve-wrap #reserve .left {
          width: auto;
          padding: 0 0 60px 0; } }
      #reserve-wrap #reserve .left h2 {
        font-size: 48px;
        font-size: 4.8rem;
        font-weight: 400;
        font-style: italic; }
        @media only screen and (max-width: 768px) {
          #reserve-wrap #reserve .left h2 {
            font-size: 28px;
            font-size: 2.8rem; } }
        #reserve-wrap #reserve .left h2:after {
          display: block;
          content: "";
          width: 40px;
          height: 1px;
          margin: 30px 0 40px;
          background: #000; }
          @media only screen and (max-width: 768px) {
            #reserve-wrap #reserve .left h2:after {
              margin: 20px 0 30px; } }
      #reserve-wrap #reserve .left p {
        padding-bottom: 20px;
        font-size: 15px;
        font-size: 1.5rem;
        line-height: 1.9; }
        @media only screen and (max-width: 768px) {
          #reserve-wrap #reserve .left p {
            font-size: 13px;
            font-size: 1.3rem; } }
    #reserve-wrap #reserve .right {
      width: 65%;
      padding-left: 3%; }
      @media only screen and (max-width: 768px) {
        #reserve-wrap #reserve .right {
          width: auto;
          padding: 0; } }
      #reserve-wrap #reserve .right iframe {
        max-width: 100%; }
  #reserve-wrap #form {
    overflow: hidden;
    padding: 80px 8% 0; }
    #reserve-wrap #form dl dt {
      padding-bottom: 8px;
      font-size: 14px;
      font-size: 1.4rem; }
      @media only screen and (max-width: 768px) {
        #reserve-wrap #form dl dt {
          font-size: 13px;
          font-size: 1.3rem; } }
      #reserve-wrap #form dl dt span {
        color: #d62547; }
    #reserve-wrap #form dl dd {
      margin-bottom: 25px; }
      #reserve-wrap #form dl dd input {
        padding: 5px;
        font-size: 13px;
        font-size: 1.3rem; }
        @media only screen and (max-width: 768px) {
          #reserve-wrap #form dl dd input {
            font-size: 12px;
            font-size: 1.2rem; } }
    #reserve-wrap #form .left {
      float: left;
      width: 50%;
      padding-right: 3%; }
      @media only screen and (max-width: 768px) {
        #reserve-wrap #form .left {
          float: inherit;
          width: auto;
          padding: 0; } }
      #reserve-wrap #form .left .column {
        display: -webkit-flex;
        display: flex; }
        @media only screen and (max-width: 768px) {
          #reserve-wrap #form .left .column {
            display: block; } }
        #reserve-wrap #form .left .column dl:nth-of-type(1) {
          padding-right: 20px; }
          @media only screen and (max-width: 768px) {
            #reserve-wrap #form .left .column dl:nth-of-type(1) {
              padding: 0; } }
        #reserve-wrap #form .left .column dl:nth-of-type(2) {
          padding-left: 20px; }
          @media only screen and (max-width: 768px) {
            #reserve-wrap #form .left .column dl:nth-of-type(2) {
              padding: 0; } }
        #reserve-wrap #form .left .column input {
          width: 100%; }
      #reserve-wrap #form .left dd p {
        display: inline-block;
        padding-right: 20px; }
        #reserve-wrap #form .left dd p input {
          position: relative;
          top: -1px; }
        #reserve-wrap #form .left dd p:nth-of-type(3) {
          padding: 0; }
    #reserve-wrap #form .right {
      float: right;
      width: 50%;
      padding-left: 3%; }
      @media only screen and (max-width: 768px) {
        #reserve-wrap #form .right {
          float: inherit;
          width: auto;
          padding: 0; } }
      #reserve-wrap #form .right dl dd {
        display: -webkit-flex;
        display: flex; }
        @media only screen and (max-width: 768px) {
          #reserve-wrap #form .right dl dd {
            display: block; } }
        #reserve-wrap #form .right dl dd section {
          width: 33%; }
          @media only screen and (max-width: 768px) {
            #reserve-wrap #form .right dl dd section {
              width: auto; } }
          #reserve-wrap #form .right dl dd section h3 {
            padding-bottom: 10px; }
          #reserve-wrap #form .right dl dd section ul {
            list-style: none;
            padding-left: 20px; }
            #reserve-wrap #form .right dl dd section ul li {
              padding: 0 0 5px 1.8em;
              text-indent: -1.8em;
              font-size: 12px;
              font-size: 1.2rem; }
              #reserve-wrap #form .right dl dd section ul li span {
                margin-left: 0; }
        #reserve-wrap #form .right dl dd .wpcf7-form-control-wrap {
          width: 100%; }
          #reserve-wrap #form .right dl dd .wpcf7-form-control-wrap textarea {
            width: 100%;
            padding: 10px;
            font-size: 13px;
            font-size: 1.3rem; }
    #reserve-wrap #form .submit {
      clear: both;
      padding-top: 40px;
      text-align: center; }
      #reserve-wrap #form .submit a {
        text-decoration: underline; }
      #reserve-wrap #form .submit .wpcf7-submit {
        display: inline-block;
        margin-top: 20px;
        padding: 10px 20px;
        border: none;
        border-radius: 0;
        background: #000;
        color: #fff;
        font-size: 13px;
        font-size: 1.3rem;
        font-weight: 700;
        font-family: "Gotham A", "Gotham B", "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
        cursor: pointer; }
      #reserve-wrap #form .submit .ajax-loader {
        display: block; }

/* ai-stay */
.ai-stay .inner {
  padding: 80px 8%;
}
.ai-stay .container {
  display: flex;
}
.ai-stay .container .item:nth-of-type(1) {
  width: 60%;
  padding-right: 10%;
}
.ai-stay .container .item:nth-of-type(2) {
  width: 40%;
}
.ai-stay h2 {
  font-size: 4.8rem;
  font-weight: 400;
  font-style: italic;
}
.ai-stay h2:after {
  display: block;
  content: "";
  width: 40px;
  height: 1px;
  margin: 30px 0 40px;
  background: #000;
}
.ai-stay .desc01 {
  font-size: 1.6rem;
  margin-top: 40px;
}
.ai-stay .box {
  background: #F5F9FA;
  max-width: 553px;
  width: 100%;
  padding: 30px 40px;
  margin-top: 55px;
}
.ai-stay .box-ttl {
  font-size: 1.4rem;
  font-weight: bold;
}
.ai-stay .box ul {
  list-style: none;
}
.ai-stay .box ul li {
  font-size: 1.4rem;
}
.ai-stay .desc02 {
  font-size: 1.4rem;
  margin-top: 30px;
}
.ai-stay .desc03 {
  margin-top: 30px;
}
.ai-stay .table-wrap .ttl {
  font-size: 1.4rem;
  font-weight: 600;
  margin: 40px 0 10px;
}
.ai-stay table {
  width: 553px;
  max-width: 100%;
}
.ai-stay table th {
  background: #000;
  color: #fff;
  width: calc(100% / 3);
  padding: 15px 0;
  border-right: 1px solid #fff;
}
.ai-stay table td {
  background: #F6F9FA;
  text-align: center;
  padding: 13px 0;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
}
.ai-stay .price-wrap .ttl {
  font-size: 1.4rem;
  font-weight: 600;
  margin-top: 40px;
}
.ai-stay .price-wrap .note {
  font-size: 1.4rem;
  line-height: 2;
  margin-top: 10px;
}
.ai-stay .img {
  margin-bottom: 20px;
}
.ai-stay .img img {
  max-width: 100%;
}

@media only screen and (max-width: 768px) {
  .ai-stay .inner {
    padding: 60px 8% 0;
  }
  .ai-stay .container {
    flex-direction: column;
  }
  .ai-stay .container .item:nth-of-type(1) {
    width: 100%;
    padding-right: 0;
  }
  .ai-stay .container .item:nth-of-type(2) {
    width: 100%;
  }
  .ai-stay h2 {
    font-size: 2.8rem;
  }
  .ai-stay h2:after {
    margin: 20px 0 30px;
  }
  .ai-stay .desc01 {
    font-size: 1.4rem;
    margin-top: 20px;
  }
  .ai-stay .box {
    padding: 8%;
    margin-top: 30px;
  }
  .ai-stay .box-ttl {
    font-size: 1.2rem;
    margin-bottom: 15px;
  }
  .ai-stay .box ul li {
    font-size: 1.2rem;
  }
  .ai-stay .desc02 {
    font-size: 1.2rem;
    margin-top: 20px;
  }
  .ai-stay .desc03 {
    margin-top: 20px;
  }
  .ai-stay .table-wrap .ttl {
    font-size: 1.2rem;
    margin: 20px 0 10px;
  }
  .ai-stay table {
    width: 100%;
  }
  .ai-stay table th {
    font-size: 1.2rem;
    padding: 10px 0;
  }
  .ai-stay table td {
    font-size: 1.2rem;
    padding: 8px 0;
  }
  .ai-stay .price-wrap .ttl {
    font-size: 1.2rem;
    margin-top: 20px;
  }
  .ai-stay .price-wrap .note {
    font-size: 1.2rem;
    line-height: 1.8;
    margin-top: 10px;
  }
  .ai-stay .img {
    margin-top: 20px;
    margin-bottom: 0;
  }
}

#footer {
  text-align: center; }
  #footer .inner {
    padding: 80px 0 100px; }
    @media only screen and (max-width: 768px) {
      #footer .inner {
        padding: 60px 0 80px; } }
    #footer .inner .text {
      margin-bottom: 5px;
      padding-top: 90px;
      font-size: 15px;
      font-size: 1.5rem;
      font-weight: 700;
      background: url("../images/ico_reserve.png") no-repeat center top;
      background-size: 39px; }
      @media only screen and (max-width: 768px) {
        #footer .inner .text {
          margin-bottom: 3px;
          padding-top: 70px;
          background-size: 29px; } }
      @media only screen and (max-width: 768px) {
        #footer .inner .text {
          font-size: 13px;
          font-size: 1.3rem; } }
    #footer .inner .tel {
      margin-bottom: 5px;
      font-size: 32px;
      font-size: 3.2rem;
      font-weight: 500; }
      @media only screen and (max-width: 768px) {
        #footer .inner .tel {
          font-size: 24px;
          font-size: 2.4rem; } }
    #footer .inner .info {
      font-size: 13px;
      font-size: 1.3rem; }
      @media only screen and (max-width: 768px) {
        #footer .inner .info {
          font-size: 12px;
          font-size: 1.2rem; } }
  #footer .copy {
    display: block;
    padding-bottom: 30px; }
    @media only screen and (max-width: 768px) {
      #footer .copy {
        font-size: 10px;
        font-size: 1.0rem; } }

#news_list {
  padding-top: 180px; }
  #news_list h2 {
    font-size: 48px;
    font-size: 4.8rem;
    font-weight: 400;
    font-style: italic;
    text-align: center; }
    #news_list h2:after {
      display: block;
      content: "";
      width: 40px;
      height: 1px;
      margin: 30px auto 50px;
      background: #000; }
      @media only screen and (max-width: 768px) {
        #news_list h2:after {
          margin: 20px auto 30px; } }
    @media only screen and (max-width: 768px) {
      #news_list h2 {
        font-size: 28px;
        font-size: 2.8rem; } }
  #news_list ul {
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    padding: 0 8%;
    list-style: none; }
    @media only screen and (max-width: 768px) {
      #news_list ul {
        display: block; } }
    #news_list ul li {
      width: 28%;
      margin: 0 2.5%;
      padding-bottom: 40px; }
      @media only screen and (max-width: 768px) {
        #news_list ul li {
          width: auto;
          margin: 0; } }
      #news_list ul li a {
        display: block; }
        #news_list ul li a:hover .thumb {
          opacity: 0.7;
          transition: opacity 0.15s ease-in;
          -webkit-transition: opacity 0.15s ease-in; }
        #news_list ul li a .thumb {
          opacity: 1;
          transition: opacity 0.15s ease-in;
          -webkit-transition: opacity 0.15s ease-in;
          margin-bottom: 15px; }
          #news_list ul li a .thumb img {
            width: 100%;
            height: auto; }
        #news_list ul li a time {
          display: inline-block;
          padding-bottom: 5px;
          font-size: 11px;
          font-size: 1.1rem; }
        #news_list ul li a h3 {
          font-size: 14px;
          font-size: 1.4rem;
          font-weight: 400; }

#news_single {
  padding-top: 180px; }
  @media only screen and (max-width: 768px) {
    #news_single {
      padding-top: 100px; } }
  #news_single h2 {
    font-size: 48px;
    font-size: 4.8rem;
    font-weight: 400;
    font-style: italic;
    text-align: center; }
    #news_single h2:after {
      display: block;
      content: "";
      width: 40px;
      height: 1px;
      margin: 30px auto 50px;
      background: #000; }
      @media only screen and (max-width: 768px) {
        #news_single h2:after {
          margin: 20px auto 30px; } }
    @media only screen and (max-width: 768px) {
      #news_single h2 {
        font-size: 28px;
        font-size: 2.8rem; } }
  #news_single .post {
    padding: 0 10.5%; }
    #news_single .post time {
      display: inline-block;
      padding-bottom: 10px; }
    #news_single .post h3 {
      font-size: 21px;
      font-size: 2.1rem;
      font-weight: 400; }
    #news_single .post .contents {
      padding: 60px 0 80px 0;
      font-size: 14px;
      font-size: 1.4rem; }
      #news_single .post .contents img {
        max-width: 100%;
        height: auto; }
    #news_single .post .pagenav {
      overflow: hidden;
      padding-bottom: 80px;
      font-size: 15px;
      font-size: 1.5rem;
      font-weight: 400; }
      #news_single .post .pagenav ul {
        list-style: none; }
        #news_single .post .pagenav ul li:first-child {
          float: left; }
        #news_single .post .pagenav ul li:last-child {
          float: right; }
  #news_single .recent {
    padding: 90px 0;
    background: #f5f9fa; }
    #news_single .recent h2 {
      font-size: 24px;
      font-size: 2.4rem;
      font-weight: 400;
      font-style: italic;
      text-align: center; }
      #news_single .recent h2:after {
        display: block;
        content: "";
        width: 40px;
        height: 1px;
        margin: 30px auto 50px;
        background: #000; }
        @media only screen and (max-width: 768px) {
          #news_single .recent h2:after {
            margin: 20px auto 30px; } }
      @media only screen and (max-width: 768px) {
        #news_single .recent h2 {
          font-size: 20px;
          font-size: 2.0rem; } }
    #news_single .recent ul {
      display: -webkit-flex;
      display: flex;
      flex-wrap: wrap;
      padding: 0 8%;
      list-style: none; }
      @media only screen and (max-width: 768px) {
        #news_single .recent ul {
          display: block; } }
      #news_single .recent ul li {
        width: 28%;
        margin: 0 2.5%;
        padding-bottom: 40px; }
        @media only screen and (max-width: 768px) {
          #news_single .recent ul li {
            width: auto;
            margin: 0; } }
        #news_single .recent ul li a {
          display: block; }
          #news_single .recent ul li a:hover .thumb {
            opacity: 0.7;
            transition: opacity 0.15s ease-in;
            -webkit-transition: opacity 0.15s ease-in; }
          #news_single .recent ul li a .thumb {
            opacity: 1;
            transition: opacity 0.15s ease-in;
            -webkit-transition: opacity 0.15s ease-in;
            margin-bottom: 15px; }
            #news_single .recent ul li a .thumb img {
              width: 100%;
              height: auto; }
          #news_single .recent ul li a time {
            display: inline-block;
            padding-bottom: 5px;
            font-size: 11px;
            font-size: 1.1rem; }
          #news_single .recent ul li a h3 {
            font-size: 14px;
            font-size: 1.4rem;
            font-weight: 400; }

#qanda {
  padding-top: 180px; }
  @media only screen and (max-width: 768px) {
    #qanda {
      padding-top: 100px; } }
  #qanda h2 {
    font-size: 48px;
    font-size: 4.8rem;
    font-weight: 400;
    font-style: italic;
    text-align: center; }
    #qanda h2:after {
      display: block;
      content: "";
      width: 40px;
      height: 1px;
      margin: 30px auto 50px;
      background: #000; }
      @media only screen and (max-width: 768px) {
        #qanda h2:after {
          margin: 20px auto 30px; } }
    @media only screen and (max-width: 768px) {
      #qanda h2 {
        font-size: 28px;
        font-size: 2.8rem; } }
  #qanda ul {
    margin: 0 10%;
    border-top: 1px solid #ccc;
    list-style: none; }
    #qanda ul li {
      position: relative;
      padding: 30px 0;
      border-bottom: 1px solid #ccc;
      cursor: pointer; }
      @media only screen and (max-width: 768px) {
        #qanda ul li {
          padding: 20px 0; } }
      #qanda ul li .open {
        position: absolute;
        width: 21px;
        height: 21px;
        top: 30px;
        right: 30px; }
        @media only screen and (max-width: 768px) {
          #qanda ul li .open {
            display: none; } }
        #qanda ul li .open span:first-child {
          position: absolute;
          left: 10px;
          display: block;
          width: 1px;
          height: 21px;
          background: #000;
          transform: rotate(0deg);
          -webkit-transition: transform 0.15s ease-out;
          transition: transform 0.15s ease-out; }
        #qanda ul li .open span:last-child {
          position: absolute;
          top: 10px;
          display: block;
          width: 21px;
          height: 1px;
          background: #000; }
        #qanda ul li .open.active span:first-child {
          transform: rotate(90deg);
          -webkit-transition: transform 0.15s ease-out;
          transition: transform 0.15s ease-out; }
      #qanda ul li h3 {
        font-size: 16px;
        font-size: 1.6rem;
        font-weight: 100; }
        @media only screen and (max-width: 768px) {
          #qanda ul li h3 {
            font-size: 13px;
            font-size: 1.3rem; } }
      #qanda ul li p {
        display: none;
        padding-top: 10px;
        font-size: 14px;
        font-size: 1.4rem; }
        @media only screen and (max-width: 768px) {
          #qanda ul li p {
            font-size: 11px;
            font-size: 1.1rem; } }

#activity_top {
  position: relative;
  height: 100vh; }
  #activity_top .activity_hero {
    position: absolute;
    right: 0;
    top: 80px;
    z-index: 0;
    width: 78%;
    height: 80%;
    background: url("../images/S__2842919.jpg") no-repeat center center;
    background-size: cover; }
  #activity_top h1 {
    position: absolute;
    bottom: 25%;
    left: 8%;
    font-size: 62px;
    font-size: 6.2rem;
    font-weight: 400;
    font-style: italic; }
    @media only screen and (max-width: 768px) {
      #activity_top h1 {
        font-size: 42px;
        font-size: 4.2rem; } }
    #activity_top h1:after {
      display: block;
      content: "";
      width: 40px;
      height: 1px;
      margin: 30px 0 0;
      background: #000; }
      @media only screen and (max-width: 768px) {
        #activity_top h1:after {
          margin: 20px 0 30px; } }

#activity_list {
  padding: 120px 8%;
  background: #f5f9fa; }
  @media only screen and (max-width: 768px) {
    #activity_list {
      padding: 60px 8%; } }
  #activity_list ul {
    list-style: none; }
    #activity_list ul li {
      display: -webkit-flex;
      display: flex;
      position: relative;
      margin-bottom: 80px; }
      @media only screen and (max-width: 768px) {
        #activity_list ul li {
          display: block; } }
      #activity_list ul li:nth-child(even) {
        flex-direction: row-reverse; }
/*
      #activity_list ul li:nth-of-type(1) .bg {
        background: url("../images/bg_activity01.jpg") no-repeat center center;
        background-size: cover; }
*/
      #activity_list ul li:nth-of-type(1) .bg {
        background: url("../images/bg_activity02.jpg") no-repeat center center;
        background-size: cover;
        flex-direction: row-reverse; }
      #activity_list ul li:nth-of-type(2) .bg {
        background: url("../images/bg_activity03.jpg") no-repeat center center;
        background-size: cover; }
      #activity_list ul li:nth-of-type(3) .bg {
        background: url("../images/bg_activity04.jpg") no-repeat center center;
        background-size: cover;
        flex-direction: row-reverse; }
      #activity_list ul li:nth-of-type(4) .bg {
        background: url("../images/bg_activity05.jpg") no-repeat center center;
        background-size: cover; }
/*
        #activity_list ul li:nth-of-type(6) .bg {
          background: url("../images/night_cruise_img.jpg") no-repeat center center;
          background-size: cover;
          flex-direction: row-reverse; }
*/
      #activity_list ul li:nth-of-type(5) .bg {
        background: url("https://livholly.com/wp/wp-content/uploads/2024/04/267442fde3e1b0e4991e239e853c1c0a.jpg") no-repeat center center;
        background-size: cover;
        flex-direction: row-reverse; }
      #activity_list ul li:nth-of-type(6) .bg {
        background: url("../images/bg_activity10.jpg") no-repeat center center;
        background-size: cover;
        flex-direction: row-reverse; }
      #activity_list ul li:nth-of-type(7) .bg {
        background: url("../images/bg_activity06.jpg") no-repeat center center;
        background-size: cover;
        flex-direction: row-reverse; }
      #activity_list ul li:nth-of-type(8) .bg {
        background: url("../images/bg_activity07.jpg") no-repeat center center;
        background-size: cover; }
      #activity_list ul li .bg {
        width: 55%;
        height: 510px; }
        @media only screen and (max-width: 768px) {
          #activity_list ul li .bg {
            width: auto;
            height: 160px; } }
      #activity_list ul li .box {
        position: relative;
        width: 45%;
        padding: 40px;
        background: #fff; }
        @media only screen and (max-width: 768px) {
          #activity_list ul li .box {
            width: auto;
            padding: 8%; } }
        #activity_list ul li .box h3 {
          font-size: 20px;
          font-size: 2.0rem;
          vertical-align: top; }
          #activity_list ul li .box h3:after {
            display: block;
            content: "";
            width: 40px;
            height: 1px;
            margin: 30px 0;
            background: #000; }
            @media only screen and (max-width: 768px) {
              #activity_list ul li .box h3:after {
                margin: 20px 0; } }
        #activity_list ul li .box dl {
          margin: 20px 0;
          line-height: 1.8; }
          #activity_list ul li .box dl dt {
            float: left;
            clear: left; }
          #activity_list ul li .box dl dd {
            padding-left: 100px; }
        #activity_list ul li .box .link {
          position: absolute;
          bottom: 50px;
          right: 50px;
          padding-left: 25px;
          background: url("../images/ico_link01.png") no-repeat left;
          background-size: 17px; }
          @media only screen and (max-width: 768px) {
            #activity_list ul li .box .link {
              position: static;
              margin-top: 30px; } }
          #activity_list ul li .box .link a {
            color: #c0a143;
            font-weight: 500; }
  #activity_list > p {
    text-align: center; }

#marine_dress_rental_top {
  position: relative;
  height: 100vh; }
  #marine_dress_rental_top .marine_dress_rental_hero {
    position: absolute;
    right: 0;
    top: 80px;
    z-index: 0;
    width: 78%;
    height: 80%;
    background: url("../images/pic_marine_dress_rental01.jpg") no-repeat center center;
    background-size: cover; }
  #marine_dress_rental_top h1 {
    position: absolute;
    bottom: 25%;
    left: 8%;
    font-size: 62px;
    font-size: 6.2rem;
    font-weight: 400;
    font-style: italic; }
    @media only screen and (max-width: 768px) {
      #marine_dress_rental_top h1 {
        font-size: 42px;
        font-size: 4.2rem; } }
    #marine_dress_rental_top h1:after {
      display: block;
      content: "";
      width: 40px;
      height: 1px;
      margin: 30px 0 0;
      background: #000; }
      @media only screen and (max-width: 768px) {
        #marine_dress_rental_top h1:after {
          margin: 20px 0 30px; } }

#marine_dress_rental_list {
  padding: 120px 8%;
  background: #f5f9fa; }
  @media only screen and (max-width: 768px) {
    #marine_dress_rental_list {
      padding: 60px 8%; } }
  #marine_dress_rental_list ul {
    list-style: none; }
    #marine_dress_rental_list ul li {
      display: -webkit-flex;
      display: flex;
      position: relative;
      margin-bottom: 80px; }
      @media only screen and (max-width: 768px) {
        #marine_dress_rental_list ul li {
          display: block; } }
      #marine_dress_rental_list ul li:nth-child(even) {
        flex-direction: row-reverse; }
      #marine_dress_rental_list ul li:nth-of-type(1) .bg {
        background: url("../images/bg_marine_dress_rental01.jpg") no-repeat center center;
        background-size: cover; }
      #marine_dress_rental_list ul li:nth-of-type(2) .bg {
        background: url("../images/bg_marine_dress_rental02.jpg") no-repeat center center;
        background-size: cover; }
      #marine_dress_rental_list ul li:nth-of-type(3) .bg {
        background: url("../images/bg_marine_dress_rental03.jpg") no-repeat center center;
        background-size: cover; }
      #marine_dress_rental_list ul li:nth-of-type(4) .bg {
        background: url("../images/bg_marine_dress_rental04.jpg") no-repeat center center;
        background-size: cover; }
      #marine_dress_rental_list ul li:nth-of-type(5) .bg {
        background: url("../images/bg_marine_dress_rental06.jpg") no-repeat center center;
        background-size: cover; }
      #marine_dress_rental_list ul li:nth-of-type(7) .bg {
        background: url("../images/bg_marine_dress_rental05.jpg") no-repeat center center;
        background-size: cover; }
      #marine_dress_rental_list ul li:nth-of-type(8) .bg {
        background: url("../images/pic_activity01.jpg") no-repeat center center;
        background-size: cover; }
      #marine_dress_rental_list ul li .bg {
        width: 55%;
        height: 510px; }
        @media only screen and (max-width: 768px) {
          #marine_dress_rental_list ul li .bg {
            width: auto;
            height: 160px; } }
      #marine_dress_rental_list ul li .box {
        position: relative;
        width: 45%;
        padding: 40px;
        background: #fff; }
        @media only screen and (max-width: 768px) {
          #marine_dress_rental_list ul li .box {
            width: auto;
            padding: 8%; } }
        #marine_dress_rental_list ul li .box h3 {
          font-size: 16px;
          font-size: 1.6rem; }
          #marine_dress_rental_list ul li .box h3:after {
            display: block;
            content: "";
            width: 40px;
            height: 1px;
            margin: 30px 0;
            background: #000; }
            @media only screen and (max-width: 768px) {
              #marine_dress_rental_list ul li .box h3:after {
                margin: 20px 0; } }
        #marine_dress_rental_list ul li .box dl {
          margin: 20px 0;
          line-height: 1.8; }
          #marine_dress_rental_list ul li .box dl dt {
            float: left;
            clear: left; }
          #marine_dress_rental_list ul li .box dl dd {
            padding-left: 100px; }
        #marine_dress_rental_list ul li .box .link {
          position: absolute;
          bottom: 50px;
          right: 50px;
          padding-left: 25px;
          background: url("../images/ico_link01.png") no-repeat left;
          background-size: 17px; }
          @media only screen and (max-width: 768px) {
            #marine_dress_rental_list ul li .box .link {
              position: static;
              margin-top: 30px; } }
          #marine_dress_rental_list ul li .box .link a {
            color: #c0a143;
            font-weight: 500; }
  #marine_dress_rental_list > p {
    text-align: center; }

#marine_dress_rental .column {
	display: flex;
	align-items: center;
}
@media only screen and (max-width: 768px) {
	#marine_dress_rental .column {
		display: block;
	}
}

#marine_dress_rental .column .btn {
	margin-right: 20px;
}
@media only screen and (max-width: 768px) {
#marine_dress_rental .column .btn {
margin: 0 auto 10px!important;
}
}
#marine_dress_rental .column .instagram {
	font-size: 0;
}
@media only screen and (max-width: 768px) {
	#marine_dress_rental .column .instagram {
		text-align: center;
	}
}


/*add 200912*/
.red {
	color: #ff0000;
}
.top_modal {
	border-bottom: 3px solid #000;
}
.top_modal a{
	display: block;
	width: 100%;
	font-size: 16px;
	text-align: center;
	padding: 1em 0;
	background: #f5f9fa;
}
@media only screen and (max-width: 768px) {
	.top_modal a{
		font-size: 13px;
	}
}
.top_modal a:nth-child(1) {
	border-bottom: 1px solid #ccc;
}
.top_modal a span {
	position: relative;
}
.top_modal a span::before {
	content: '';
    border-radius: 50%;
    background: #000 url(../images/exclamation.svg) no-repeat center;
    background-size: contain;
    vertical-align: middle;
	display: inline-block;
    position: relative;
    width: 16px;
    height: 16px;
    margin-right: 14px;
}
@media only screen and (max-width: 768px) {
	.top_modal a span::before {
		width: 14px;
		height: 14px;
		margin-right: 10px;
	}
}
.modal_box {
	font-size: 16px;
}
@media only screen and (max-width: 768px) {
	.modal_box {
		font-size: 14px;
	}
}
.modal_box ol {
	margin-left: 16px;
	margin-bottom: 2em;
}
.modal_box a {
	text-decoration: underline;
}

.loader {
  overflow: hidden;
  position: fixed;
  top: 50%;
  left: 50%;
  margin: -2.5em 0 0 -2.5em; }

.loader,
.loader:after {
  border-radius: 50%;
  width: 5em;
  height: 5em; }

.loader {
  font-size: 10px;
  text-indent: -9999em;
  border-top: 0.5em solid rgba(0, 0, 0, 0.2);
  border-right: 0.5em solid rgba(0, 0, 0, 0.2);
  border-bottom: 0.5em solid rgba(0, 0, 0, 0.2);
  border-left: 0.5em solid #000000;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation: load8 1.1s infinite linear;
  animation: load8 1.1s infinite linear; }

@-webkit-keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

@keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

.effect-fadein-up {
  opacity: 0;
  transform: translate(0px, 50px); }
  @media only screen and (max-width: 768px) {
    .effect-fadein-up {
      opacity: 1;
      transform: translate(0px, 0px); } }

.active .effect-fadein-up {
  opacity: 1;
  transform: translate(0px, 0px);
  transition: opacity 1s linear, transform 1s cubic-bezier(0.165, 0.84, 0.44, 1); }

.active .effect-delay-0 {
  transition-delay: 0s; }

.active .effect-delay-100 {
  transition-delay: 0.1s; }

.active .effect-delay-200 {
  transition-delay: 0.2s; }

.active .effect-delay-300 {
  transition-delay: 0.3s; }

.active .effect-delay-400 {
  transition-delay: 0.4s; }

.active .effect-delay-500 {
  transition-delay: 0.5s; }

.active .effect-delay-600 {
  transition-delay: 0.6s; }

.active .effect-delay-700 {
  transition-delay: 0.7s; }

.active .effect-delay-800 {
  transition-delay: 0.8s; }

.active .effect-delay-900 {
  transition-delay: 0.9s; }

.active .effect-delay-1000 {
  transition-delay: 1s; }

.active .effect-delay-1100 {
  transition-delay: 1.1s; }

.active .effect-delay-1200 {
  transition-delay: 1.2s; }

.active .effect-delay-1300 {
  transition-delay: 1.3s; }

.active .effect-delay-1400 {
  transition-delay: 1.4s; }

.active .effect-delay-1500 {
  transition-delay: 1.5s; }

.active .effect-delay-1600 {
  transition-delay: 1.6s; }

.active .effect-delay-1700 {
  transition-delay: 1.7s; }

.active .effect-delay-1800 {
  transition-delay: 1.8s; }

.active .effect-delay-1900 {
  transition-delay: 1.9s; }

.active .effect-delay-2000 {
  transition-delay: 2s; }

.active .effect-delay-2100 {
  transition-delay: 2.1s; }

.active .effect-delay-2200 {
  transition-delay: 2.2s; }

.active .effect-delay-2300 {
  transition-delay: 2.3s; }

.active .effect-delay-2400 {
  transition-delay: 2.4s; }

.active .effect-delay-2500 {
  transition-delay: 2.5s; }

.active .effect-delay-2600 {
  transition-delay: 2.6s; }

.active .effect-delay-2700 {
  transition-delay: 2.7s; }

.active .effect-delay-2800 {
  transition-delay: 2.8s; }

.active .effect-delay-2900 {
  transition-delay: 2.9s; }

.active .effect-delay-3000 {
  transition-delay: 3s; }

.active .effect-delay-3100 {
  transition-delay: 3.1s; }

.active .effect-delay-3200 {
  transition-delay: 3.2s; }

.active .effect-delay-3300 {
  transition-delay: 3.3s; }

.active .effect-delay-3400 {
  transition-delay: 3.4s; }

.active .effect-delay-3500 {
  transition-delay: 3.5s; }

.active .effect-delay-3600 {
  transition-delay: 3.6s; }

.active .effect-delay-3700 {
  transition-delay: 3.7s; }

.active .effect-delay-3800 {
  transition-delay: 3.8s; }

.active .effect-delay-3900 {
  transition-delay: 3.9s; }

.active .effect-delay-4000 {
  transition-delay: 4s; }

.active .effect-delay-4100 {
  transition-delay: 4.1s; }

.active .effect-delay-4200 {
  transition-delay: 4.2s; }

.active .effect-delay-4300 {
  transition-delay: 4.3s; }

.active .effect-delay-4400 {
  transition-delay: 4.4s; }

.active .effect-delay-4500 {
  transition-delay: 4.5s; }

.active .effect-delay-4600 {
  transition-delay: 4.6s; }

.active .effect-delay-4700 {
  transition-delay: 4.7s; }

.active .effect-delay-4800 {
  transition-delay: 4.8s; }

.active .effect-delay-4900 {
  transition-delay: 4.9s; }

.active .effect-delay-5000 {
  transition-delay: 0s; }


/* ---------- movie ---------- */
.movie > div {
  text-align: center;
}

.movie > div:nth-of-type(1) {
  margin-top: 70px;
}

.movie > div:nth-of-type(1) img {
  width: 17%;
}

/* .movie > div:nth-of-type(2) {
  margin-top: 30px;
}

.movie > div:nth-of-type(2) span img {
  width: 3%;
}

.movie > div:nth-of-type(2) a img {
  width: 7%;
}

.movie > div:nth-of-type(2) a:nth-of-type(2) img {
  width: 10%;
} */

.movie-container {
  display: flex;
  justify-content: center;
  margin: 60px 20px 0;
}

.movie-container > div {
  width: calc(33.3333% - 30px);
  margin: 0 15px;
}

.movie-container > div a img {
  max-width: 100%;
}

.movie-container > div div {
  margin-top: 5px;
}

.movie-container > div div img {
  width: 50%;
}

.page-id-312 .top_modal,
.page-id-312 #header,
.page-id-312 #bnr1,
.page-id-312 #footer,
.page-id-312 #sp-reserve,
.page-id-312 #menu-btn {
  display: none;
}

.fancybox-slide--iframe .fancybox-content {
  height: 75% !important;
}

input.wpcf7-form-control.wpcf7-submit.has-spinner {
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
    float: none !important;
}

/* ============================================================
   スクロール時の位置ズレ(116px等)を強制固定する設定
   ============================================================ */

/* 1. ヘッダー本体：JSによる top 書き換えを無効化 */
header, 
header.fixed {
    top: 0 !important;
    transition: none !important;
}

/* 2. メニューボタン：スクロールしても位置を飛ばさない */
#menu-btn,
#menu-btn.fixed,
#menu-btn.btn-en {
    top: 30px !important; /* 元の定義値 30px に固定 */
    transition: none !important;
    animation: none !important;
}

/* 3. 予約・SNSボタン：JSの計算を無視して位置を固定 */
#sp-reserve,
#sp-reserve.fixed,
#sp-reserve.btn-en,
#sp-reserve_sns,
#sp-reserve_sns.fixed {
    top: 30px !important; /* 元の定義値 30px に固定 */
    transition: none !important;
}

/* 4. スマホ全画面メニュー：表示時の位置ズレ防止 */
#sp-menu {
    top: 0 !important;
    /* 背景が透けたりズレたりしないよう固定 */
    height: 100vh !important;
    position: fixed !important;
}

/* 5. 【重要】アニメーション遅延の無効化（LCP/表示速度対策）
   CSS末尾にあった大量の transition-delay をリセットし、
   ユーザーが操作した瞬間に反応するようにします */
.active .effect-delay-100,
.active .effect-delay-500,
.active [class*="effect-delay-"] {
    transition-delay: 0s !important;
    transition-duration: 0.1s !important; /* 動きを最小限に */
}

/* ============================================================
   LCP改善：画像を表示させたまま、5秒の遅延だけを消す
   ============================================================ */

/* ① 1枚目のスライド：1624行目付近にある「5秒待て」という命令だけを無効化 */
#top .hero li:nth-of-type(1),
.active .hero li:first-child,
.active .effect-delay-5000 {
    /* 待ち時間を 0秒 に強制上書き */
    transition-delay: 0s !important;
    transition-duration: 0.2s !important;
}

/* ② ヘッダーとボタンの位置固定（116px対策） */
header, header.fixed, #sp-menu { 
    top: 0 !important; 
}
#menu-btn, #menu-btn.fixed, 
#sp-reserve, #sp-reserve.fixed, 
#sp-reserve_sns, #sp-reserve_sns.fixed { 
    top: 30px !important; 
}

/* ③ ヘッダーとボタンの116pxズレ・ガタつきを防止（これまでの修正を統合） */
header, header.fixed, #sp-menu { 
    top: 0 !important; 
}
#menu-btn, #menu-btn.fixed, 
#sp-reserve, #sp-reserve.fixed, 
#sp-reserve_sns, #sp-reserve_sns.fixed { 
    top: 30px !important; 
}

