/* Scss Document */
.sub-nuv {
  max-width: 780px;
  width: 90%;
  margin: auto;
  margin-top: 100px; }
  .sub-nuv ul {
    font-size: 0; }
    .sub-nuv ul li {
      display: inline-block;
      width: 44%;
      margin: 0 2%; }
      @media (max-width: 600px) {
        .sub-nuv ul li {
          width: 98%;
          margin-bottom: 10px; } }
      .sub-nuv ul li a {
        display: block;
        overflow: hidden;
        position: relative;
        height: 55px;
        width: 100%;
        box-sizing: border-box;
        border: 1px solid #444;
        text-decoration: none; }
        .sub-nuv ul li a span {
          position: absolute;
          top: 50%;
          left: 50%;
          transform: translateX(-50%) translateY(-50%);
          color: #111;
          font-size: 18px;
          white-space: nowrap; }
          @media (max-width: 600px) {
            .sub-nuv ul li a span {
              font-size: 16px; } }
      .sub-nuv ul li.current a, .sub-nuv ul li:hover a {
        background: #000; }
        .sub-nuv ul li.current a span, .sub-nuv ul li:hover a span {
          color: #fff; }
  @media (max-width: 768px) {
    .sub-nuv {
      margin-top: 50px; } }

.videoWrap {
  position: relative;
  width: 100%;
  padding-top: 56.25%; }
  .videoWrap video {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%; }

#contents {
  background: #fff; }
  #contents .lead,
  #contents .en,
  #contents .note {
    color: #111; }

#container #mainvisual figcaption .sp {
  display: none; }
@media (max-width: 480px) {
  #container #mainvisual figcaption {
    color: #000;
    padding-top: 20px; }
    #container #mainvisual figcaption .pc {
      display: none; }
    #container #mainvisual figcaption .sp {
      display: block; } }
#container .section {
  width: 100%;
  max-width: 1280px;
  margin: auto;
  box-sizing: border-box;
  overflow: hidden;
  margin: 5% auto; }
  #container .section .main {
    margin-bottom: 40px; }
  #container .section .txt {
    margin: 5% auto; }
  #container .section .inner {
    width: 90%;
    max-width: 1100px;
    margin: auto;
    box-sizing: border-box;
    overflow: hidden; }
  #container .section .photo img {
    width: 100%;
    height: auto; }
  #container .section .photo li {
    vertical-align: top; }

#sec1 .img-list {
  max-width: 1000px;
  width: 90%;
  margin: 0 auto; }
  #sec1 .img-list::after {
    clear: both;
    content: '';
    display: block; }
  #sec1 .img-list img {
    width: 100%;
    height: auto; }
  #sec1 .img-list .img {
    width: 49%;
    float: left;
    position: relative;
    margin-top: 20px; }
    @media (max-width: 480px) {
      #sec1 .img-list .img {
        float: none;
        width: 100%; } }
    #sec1 .img-list .img .note {
      position: absolute;
      color: #fff;
      margin: 0;
      right: 0px;
      bottom: 0px;
      padding: 5px;
      opacity: 1;
      font-weight: bold; }
    #sec1 .img-list .img:first-child {
      width: 100%;
      margin-top: 0; }
      #sec1 .img-list .img:first-child .note {
        right: inherit;
        left: 0px; }
    #sec1 .img-list .img:nth-child(2) {
      margin-right: 2%; }
#sec1 .bg_beige {
  background-color: #edeae1;
  padding-top: 10px;
  margin-top: 60px; }
#sec1 .inner > .img {
  max-width: 820px;
  margin: 0 auto; }
  #sec1 .inner > .img img {
    width: 100%;
    height: auto; }
  #sec1 .inner > .img .note {
    text-align: right; }
#sec1 figure {
  max-width: 820px;
  margin: 60px auto 0; }
  #sec1 figure img {
    width: 100%;
    height: auto; }
  #sec1 figure figcaption {
    text-align: right;
    margin-top: -3%; }
    @media (max-width: 480px) {
      #sec1 figure figcaption {
        margin-top: 0; } }
#sec1 .photo {
  margin-top: 5%; }
  #sec1 .photo li {
    display: inline-block;
    width: 49%;
    margin: 20px auto; }
    #sec1 .photo li:first-child {
      margin-right: 2%; }

#sec2 .photo ul {
  margin: -10px;
  overflow: hidden; }
#sec2 .photo li {
  float: left;
  width: 50%;
  padding: 10px;
  box-sizing: border-box; }
  #sec2 .photo li .note {
    margin: 10px;
    background: rgba(0, 0, 0, 0.7);
    color: #fff; }
  @media (max-width: 480px) {
    #sec2 .photo li:first-child {
      width: 100%; }
    #sec2 .photo li .note {
      position: static;
      margin: 0;
      background: none; } }

#sec3 {
  max-width: 100% !important; }
  #sec3 .main {
    margin-bottom: 0 !important;
    position: relative; }
    #sec3 .main::before {
      display: block;
      content: "";
      padding-bottom: 40%;
      background: url("../img/img_12.jpg") top right 25% no-repeat;
      background-size: cover; }
      @media (max-width: 800px) {
        #sec3 .main::before {
          padding-bottom: 70%; } }
      @media (max-width: 480px) {
        #sec3 .main::before {
          padding-bottom: 95%; } }
    #sec3 .main img {
      width: 100%;
      height: auto; }
    #sec3 .main .txt {
      position: absolute;
      top: 0;
      left: 5%;
      text-align: center;
      width: 90%;
      max-width: none; }
      #sec3 .main .txt h4 img {
        height: 26px;
        width: auto; }
      #sec3 .main .txt .lead {
        color: #fff; }
      @media (max-width: 480px) {
        #sec3 .main .txt {
          top: 3%; }
          #sec3 .main .txt h4 img {
            height: 22px; } }
  #sec3 .inner {
    background-color: #ededed;
    overflow: visible !important;
    position: relative;
    padding-top: 50px; }
  #sec3 .main-title {
    margin: 0 calc(50% - 50vw);
    width: 100vw;
    border-bottom: 1px solid #ADA377;
    box-sizing: border-box;
    padding: 55px 10% 25px;
    text-align: center; }
    #sec3 .main-title img {
      width: 100%;
      height: auto;
      max-width: 820px; }
  #sec3 .ct_mapArea {
    overflow: hidden;
    max-width: 980px;
    margin: auto; }
    #sec3 .ct_mapArea .txt {
      float: left;
      width: 50%;
      text-align: left; }
      #sec3 .ct_mapArea .txt h4 {
        border-bottom: 1px solid #ADA377;
        padding-bottom: 15px; }
    #sec3 .ct_mapArea .map_img {
      float: left;
      width: 50%;
      margin-bttom: 20px; }
      #sec3 .ct_mapArea .map_img img {
        width: 100%;
        height: auto; }
      @media (max-width: 480px) {
        #sec3 .ct_mapArea .map_img {
          margin: auto;
          float: none;
          width: 90%; } }
  #sec3 .txt + .en {
    position: absolute;
    right: -100px;
    top: 110px;
    max-width: 267px;
    width: 26.7%; }
    #sec3 .txt + .en img {
      width: 100%;
      height: auto; }
  #sec3 .schedule {
    display: flex;
    justify-content: space-between;
    flex-flow: row wrap;
    align-items: flex-start;
    margin: 100px 0 0 calc(50% - 50vw + 7px); }
    #sec3 .schedule > .img {
      width: 61%;
      position: relative; }
      #sec3 .schedule > .img .note {
        position: absolute;
        right: 0;
        bottom: 0;
        margin: 0;
        padding: 5px;
        z-index: 2; }
      #sec3 .schedule > .img img {
        width: 100%;
        height: auto;
        position: relative;
        z-index: 1; }
      #sec3 .schedule > .img::before {
        display: block;
        content: '';
        background-color: #dcdddd;
        position: absolute;
        height: 100%;
        width: 65%;
        top: -30px;
        right: -30px;
        z-index: 0; }
    #sec3 .schedule .copy {
      width: 39%;
      padding-right: 5.26%;
      box-sizing: border-box; }
      #sec3 .schedule .copy .time {
        margin: 0; }
        #sec3 .schedule .copy .time img {
          padding-left: 15.38%; }
        #sec3 .schedule .copy .time::after {
          background-color: #a39e73;
          content: '';
          display: block;
          width: 100%;
          height: 1px;
          position: relative;
          z-index: 1; }
      #sec3 .schedule .copy .title {
        padding-left: 15.38%;
        font-size: 18px;
        line-height: 1.6; }
      #sec3 .schedule .copy .lead {
        padding-left: 15.38%;
        color: #a39e73;
        font-size: 14px; }
      #sec3 .schedule .copy .data {
        padding-left: 15.38%;
        display: flex;
        align-items: flex-end;
        margin-top: 30px; }
        #sec3 .schedule .copy .data .img {
          max-width: 210px;
          width: 50%;
          margin-right: 3%; }
          #sec3 .schedule .copy .data .img img {
            width: 100%;
            height: auto; }
        #sec3 .schedule .copy .data .note {
          width: 47%;
          margin: 0; }
    #sec3 .schedule.dinner, #sec3 .schedule:nth-child(odd) {
      flex-flow: row-reverse wrap;
      margin: 100px calc(50% - 50vw + 8px) 0 0; }
      #sec3 .schedule.dinner .img::before, #sec3 .schedule:nth-child(odd) .img::before {
        top: -30px;
        left: -30px; }
      #sec3 .schedule.dinner .copy, #sec3 .schedule:nth-child(odd) .copy {
        padding-left: 5.26%;
        padding-right: 0%; }
        #sec3 .schedule.dinner .copy .time img, #sec3 .schedule:nth-child(odd) .copy .time img {
          padding-left: 0%; }
        #sec3 .schedule.dinner .copy .title, #sec3 .schedule:nth-child(odd) .copy .title {
          padding-left: 0%; }
        #sec3 .schedule.dinner .copy .lead, #sec3 .schedule:nth-child(odd) .copy .lead {
          padding-left: 0%; }
        #sec3 .schedule.dinner .copy .data, #sec3 .schedule:nth-child(odd) .copy .data {
          padding-left: 0%;
          padding-right: 5.26%; }
    #sec3 .schedule.morning .copy .time::after {
      margin-top: -30px; }
    #sec3 .schedule.morning .copy .data {
      display: block; }
      #sec3 .schedule.morning .copy .data .sub-title {
        font-size: 13px;
        margin: 0 40px 10px 0;
        line-height: 1.4;
        background: #988f69;
        color: #fff;
        padding: 10px; }
      #sec3 .schedule.morning .copy .data .note {
        width: 100%;
        margin-right: 40px; }
  #sec3 .teatime-img02 {
    width: 90%;
    max-width: 880px;
    margin: 60px auto 0; }
    #sec3 .teatime-img02 img {
      width: 100%;
      height: auto; }
  #sec3 .sec3-note {
    padding: 10px;
    margin-top: 60px; }
  @media (max-width: 1024px) {
    #sec3 .main-title {
      padding: 35px 10% 25px; }
    #sec3 .inner {
      width: 100% !important; }
    #sec3 .txt + .en {
      position: static;
      margin: 0 auto;
      min-width: 150px; }
    #sec3 .schedule {
      margin: 100px auto 0; }
      #sec3 .schedule > .img {
        max-width: 640px;
        width: 90%;
        margin: 0 auto; }
        #sec3 .schedule > .img::before {
          width: 100%;
          top: -25px;
          right: -25px; }
      #sec3 .schedule .copy {
        width: 90%;
        padding: 0 !important;
        margin: 0 auto; }
        #sec3 .schedule .copy .time img,
        #sec3 .schedule .copy .title,
        #sec3 .schedule .copy .lead,
        #sec3 .schedule .copy .data {
          padding: 0 !important; }
        #sec3 .schedule .copy .time {
          margin-top: 30px; }
        #sec3 .schedule .copy .data {
          align-items: flex-start;
          margin-top: 40px; }
          #sec3 .schedule .copy .data .note {
            flex-grow: 1; }
      #sec3 .schedule.morning {
        margin-top: 60px; } }
  @media (max-width: 480px) {
    #sec3 .main-title {
      padding: 20px 10% 20px; } }
