@charset "UTF-8";
html {
  min-height: 100vh;
  font-size: 62.5%; }

body {
  width: 100%;
  min-width: 900px;
  background-color: #ebe0ca;
  word-wrap: break-word;
  overflow-wrap: break-word;
  -webkit-text-size-adjust: 100%;
  font-family: "Times New Roman", 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
  font-weight: 500; }

#wrapper {
  overflow: hidden; }

.inner {
  width: 900px;
  margin: 0 auto; }

a {
  color: #000; }

header {
  padding: 32px 0; }
  header .inner {
    display: flex;
    justify-content: space-between;
    align-items: center; }
  header .logo {
    width: 127px; }
  header nav {
    display: flex;
    align-items: center; }
    header nav ul {
      display: flex; }
      header nav ul li {
        margin-left: 27px;
        position: relative; }
        header nav ul li::before {
          content: "/";
          font-size: 1.7rem;
          position: absolute;
          top: -1px;
          left: -15px; }
        header nav ul li:first-child::before {
          content: none; }
        header nav ul li a {
          display: block; }
          header nav ul li a img {
            height: 17px; }
    header nav .sns {
      display: flex;
      align-items: center;
      margin-left: 25px; }
      header nav .sns a {
        display: block; }
        header nav .sns a img {
          height: 20px; }
        header nav .sns a:first-child {
          margin-right: 17px; }

section h2 {
  position: relative; }
  section h2 > img {
    height: 30px; }
  section h2 .shadow {
    position: absolute; }
    section h2 .shadow img {
      height: 30px;
      transform-origin: left bottom;
      opacity: 0.3; }
section p {
  letter-spacing: 0.04em; }
section .photo {
  -webkit-filter: blur(5px);
  filter: blur(5px); }

#main {
  margin-top: 28px; }
  #main h1 {
    margin-bottom: 20px;
    font-weight: normal; }
    #main h1 img {
      width: 314px;
      height: 13px; }
  #main .slick-dots {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
    position: absolute;
    top: 0;
    right: -23px; }
    #main .slick-dots li {
      height: 4px;
      margin-top: 11px; }
      #main .slick-dots li:first-child {
        margin-top: 0; }
      #main .slick-dots li button {
        width: 4px;
        height: 4px;
        background: transparent;
        background-color: #fff;
        border: none;
        border-radius: 2px;
        padding: 0;
        font-size: 0; }
      #main .slick-dots li.slick-active button {
        background-color: #000; }
  #main .text {
    margin-top: 20px; }
    #main .text img {
      width: 617px;
      height: 45px; }
  #main span {
    display: inline-block;
    transform-origin: left top;
    transform: scale(0.8); }

#information {
  width: 900px;
  margin: 108px auto 0;
  padding: 150px 0 250px;
  position: relative; }
  #information::before {
    content: "";
    width: 2040px;
    height: 100%;
    background-image: url(/assets/img/purple.jpg);
    background-repeat: repeat-y;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1; }
  #information .inner {
    width: 800px;
    margin-left: 0;
    padding: 95px 0;
    position: relative;
    z-index: 3; }
    #information .inner::before {
      content: "";
      width: 1525px;
      height: 100%;
      background-color: #fff;
      position: absolute;
      top: 0;
      right: 0;
      z-index: -1; }
    #information .inner::after {
      content: "";
      width: 138px;
      height: 136px;
      background-image: url(/assets/img/obj.png);
      position: absolute;
      top: -195px;
      right: -55px; }
  #information .content {
    width: 700px;
    margin-top: 45px; }
    #information .content > ul > li {
      border-bottom: 1px solid #dcdcdc;
      font-size: 1.5rem;
      position: relative; }
      #information .content > ul > li:first-child {
        border-top: 1px solid #dcdcdc; }
    #information .content dl dt {
      display: flex;
      padding: 16px 0;
      cursor: pointer; }
      #information .content dl dt .date {
        width: 82px;
        flex-shrink: 0;
        line-height: 1.6; }
      #information .content dl dt .cat {
        width: 104px;
        flex-shrink: 0;
        color: #673a85;
        line-height: 1.6; }
      #information .content dl dt .title {
        flex-grow: 1;
        padding-right: 50px;
        line-height: 1.7;
        position: relative; }
        #information .content dl dt .title::after {
          content: "";
          width: 11px;
          height: 6px;
          background-image: url(/assets/img/arrow.png);
          position: absolute;
          top: 0;
          bottom: 0;
          right: 20px;
          margin: auto; }
      #information .content dl dt.open .title::after {
        transform: rotate(180deg); }
    #information .content dl dd {
      display: none;
      line-height: 1.7;
      padding-left: 186px;
      padding-bottom: 20px; }
      #information .content dl dd a {
        color: #673a85;
        text-decoration: underline; }

#concept {
  margin-top: 150px;
  position: relative;
  z-index: 1; }
  #concept .inner {
    position: relative; }
  #concept p {
    margin-top: 90px;
    line-height: 2.3;
    font-size: 1.8rem; }
  #concept .concepts {
    margin-top: 90px; }
    #concept .concepts dl {
      margin-top: 55px;
      position: relative; }
      #concept .concepts dl:first-child {
        margin-top: 0; }
      #concept .concepts dl dd {
        margin-top: 18px;
        line-height: 1.7;
        letter-spacing: 0.08em;
        font-size: 1.5rem;
        font-feature-settings: "palt"; }
  #concept .photos {
    display: flex;
    flex-direction: column;
    align-items: flex-end; }
    #concept .photos .photo:first-child {
      margin-bottom: 10px; }
    #concept .photos.p01 {
      position: absolute;
      right: 0;
      top: -248px; }
    #concept .photos.p02 {
      margin-top: 140px; }

#menu {
  margin-top: -20px; }
  #menu .desc {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 90px; }
    #menu .desc p {
      line-height: 1.6;
      font-size: 1.5rem;
      font-feature-settings: "palt"; }
    #menu .desc .btn-wrapper {
      position: relative; }
      #menu .desc .btn-wrapper > img {
        width: 45px;
        height: 38px;
        position: absolute;
        top: -20px;
        left: -9px;
        margin: auto; }
      #menu .desc .btn-wrapper .btn {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100px;
        height: 100px;
        background-color: #000;
        border-radius: 50px;
        position: relative;
        z-index: 1; }
        #menu .desc .btn-wrapper .btn img {
          width: 67px; }
  #menu .menu-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 40px;
    padding-bottom: 65px; }
    #menu .menu-wrapper .menu {
      display: flex;
      justify-content: center;
      align-items: center;
      font-size: 2rem; }
      #menu .menu-wrapper .menu dt::after {
        content: ":";
        margin: 0 4px; }
      #menu .menu-wrapper .menu dd span {
        letter-spacing: 0.1em; }
      #menu .menu-wrapper .menu:first-child::after {
        content: "/";
        margin-left: 10px;
        margin-right: 22px; }
  #menu hr {
    border-color: #000;
    margin: 0; }
  #menu .note p {
    margin-top: 25px;
    line-height: 1.6;
    font-size: 1.2rem;
    position: relative; }

#gallery {
  margin-top: 150px; }
  #gallery .content {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-content: space-between;
    height: 575px;
    margin-top: 100px;
    position: relative; }
    #gallery .content a {
      outline: none; }
      #gallery .content a:nth-child(2), #gallery .content a:nth-child(4) {
        margin-right: 309px; }
      #gallery .content a img {
        transition: 0.3s; }
      #gallery .content a:hover img {
        transform: scale(1.05, 1.05);
        opacity: 0.7; }
    #gallery .content::after {
      content: "";
      width: 282px;
      height: 375px;
      background-image: url(/assets/img/05.jpg);
      position: absolute;
      top: 0;
      left: 618px; }

#reservation {
  width: 900px;
  height: 1050px;
  margin: 150px auto 0;
  position: relative; }
  #reservation::before {
    content: "";
    width: 2040px;
    height: 1050px;
    background-image: url(/assets/img/purple.jpg);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1; }
  #reservation::after {
    content: "";
    width: 1525px;
    height: 750px;
    background-color: #fff;
    position: absolute;
    z-index: 2;
    top: 150px;
    left: 100px; }
  #reservation .inner {
    padding-top: 272px;
    padding-left: 200px;
    position: relative;
    z-index: 3; }
    #reservation .inner .content {
      margin-top: 95px; }
      #reservation .inner .content p {
        font-size: 1.5rem; }
    #reservation .inner .reserve {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-top: 50px; }
    #reservation .inner hr {
      border-color: #000;
      margin: 48px 0 42px; }
    #reservation .inner .note {
      font-size: 1.3rem;
      position: relative; }
      #reservation .inner .note dd {
        margin-top: 30px;
        margin-left: 14px; }
        #reservation .inner .note dd ul li {
          line-height: 1.7;
          text-indent: -1em;
          position: relative; }
          #reservation .inner .note dd ul li::before {
            content: "";
            display: inline-block;
            width: 11px;
            height: 11px;
            background-color: #000;
            border-radius: 50%;
            margin-right: 3px;
            position: relative;
            top: 1px; }

#access {
  margin: 100px 0 150px; }
  #access .inner {
    display: flex; }
  #access .info-wrapper {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 450px; }
  #access .content {
    width: 450px;
    margin-top: 45px; }
    #access .content .name {
      display: flex;
      align-items: baseline;
      font-size: 1.5rem; }
      #access .content .name span {
        margin-left: 5px;
        letter-spacing: 0;
        font-feature-settings: "palt"; }
    #access .content .info {
      margin-top: 45px;
      position: relative; }
      #access .content .info dl {
        display: flex;
        margin-top: 10px;
        font-size: 1.5rem; }
        #access .content .info dl:first-child {
          margin-top: 0; }
        #access .content .info dl dt {
          width: 82px;
          text-align: center;
          letter-spacing: 0.2em;
          position: relative; }
          #access .content .info dl dt::before, #access .content .info dl dt::after {
            font-feature-settings: "palt";
            position: absolute;
            top: 0; }
          #access .content .info dl dt::before {
            content: "［";
            left: 0; }
          #access .content .info dl dt::after {
            content: "］";
            right: 0; }
          #access .content .info dl dt i {
            letter-spacing: 0.4em;
            font-style: normal; }
        #access .content .info dl dd {
          margin-left: 6px;
          font-feature-settings: "palt"; }
          #access .content .info dl dd a {
            transition: inherit; }
    #access .content .jr {
      margin-top: 28px;
      position: relative; }
      #access .content .jr dl {
        display: flex;
        font-size: 1.5rem; }
        #access .content .jr dl:first-child {
          margin-bottom: 10px; }
        #access .content .jr dl dt {
          font-feature-settings: "palt"; }
        #access .content .jr dl dd {
          position: relative; }
          #access .content .jr dl dd::before {
            content: "：";
            margin: 0 2px; }
    #access .content .privacy {
      margin-top: 85px;
      font-size: 1.3rem;
      position: relative; }
  #access .map-wrapper {
    position: relative; }
    #access .map-wrapper #map {
      width: 450px;
      height: 450px; }
    #access .map-wrapper > a {
      display: block;
      width: 66px;
      height: 26px;
      position: absolute;
      left: 5px;
      bottom: 0; }

footer {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 200px;
  background-image: url(/assets/img/purple.jpg); }
  footer .logo {
    width: 218px; }

#privacy {
  margin: 100px 0 195px;
  font-family: "Robot", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }
  #privacy .inner {
    width: 655px; }
  #privacy h2 {
    text-align: center;
    margin-bottom: 100px;
    font-size: 1.8rem; }
    #privacy h2 + dl {
      margin-top: 0; }
  #privacy dl {
    margin-top: 40px;
    font-size: 1.5rem; }
    #privacy dl dt {
      font-weight: bold; }
    #privacy dl dd {
      margin-top: 20px;
      line-height: 1.75;
      text-align: justify;
      font-weight: bold;
      font-feature-settings: "palt"; }

.lity {
  background-color: #000; }
  .lity .lity-content #menus {
    width: 100vw;
    min-width: 475px;
    text-align: center;
    overflow: scroll; }

.lity-close, .lity-close:active, .lity-close:focus, .lity-close:hover, .lity-close:visited {
  right: 15px; }

#loading {
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  z-index: 9999;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0; }
  #loading p {
    text-align: center;
    letter-spacing: 0.8em;
    font-size: 2rem;
    font-weight: 600;
    opacity: 0; }

#overlay {
  width: 100%;
  height: 100%;
  background-color: #ebe0ca;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9998; }

.not-support {
  width: 500px;
  height: 250px;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 10000; }

/*# sourceMappingURL=cmn.css.map */
