@charset "UTF-8";
/* foundation/reset */
/* http://meyerweb.com/eric/tools/css/reset/
v2.0 | 20110126
License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

/* foundation/base */
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 400; }

/* foundation/common */
/* foundation/responsive */
@media only screen and (min-width: 769px) {
  .sp-view {
    display: none !important; } }

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

/* layout/common */
body, html {
  font-family: "Yu Gothic", "YuGothic", "游ゴシック体", "游ゴシック", "メイリオ", "Meiryo", "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "Osaka", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 14px;
  line-height: 150%; }

.block {
  width: 100%; }
  .block-inner {
    margin: 0 auto;
    width: 1120px; }
    @media only screen and (max-width: 768px) {
      .block-inner {
        width: 92%;
        margin-left: auto;
        margin-right: auto; } }

body.top {
  padding-top: 100vh; }
  @media only screen and (max-width: 768px) {
    body.top {
      padding-top: 0; } }

.common-title {
  font-weight: bold;
  line-height: 150%;
  font-size: 1.28571rem;
  margin-bottom: 0.5em; }

.common-text {
  line-height: 180%; }

/* layout/footer */
.footer {
  padding: 50px 0 0; }
  .footer-content-header {
    background: #EDEDED;
    padding: 50px 0; }
  .footer-btn {
    margin-bottom: 2em; }
    .footer-btn-item {
      width: 47%;
      text-align: center; }
      @media only screen and (max-width: 768px) {
        .footer-btn-item {
          width: 100%; } }
      .footer-btn-item-btn {
        display: block;
        padding: 1em 0;
        text-align: center;
        color: #fff;
        background: #454545;
        text-decoration: none;
        font-size: 1.85714rem; }
        @media only screen and (max-width: 768px) {
          .footer-btn-item-btn {
            padding: 1.6em 0;
            font-size: 1rem; } }
      .footer-btn-item-line {
        margin-right: auto;
        margin-left: auto; }
        @media only screen and (max-width: 768px) {
          .footer-btn-item-line {
            margin-bottom: 25px; } }
        .footer-btn-item-line a {
          background: #00B900; }
      .footer-btn-item-web {
        margin-right: auto;
        margin-left: auto;
        margin-bottom: 20px; }
        @media only screen and (max-width: 768px) {
          .footer-btn-item-web {
            margin-bottom: 25px; } }
        .footer-btn-item-web a {
          background: #222;
          -webkit-transition: all 0.6s;
          transition: all 0.6s; }
          .footer-btn-item-web a:hover {
            background: #454545; }
      .footer-btn-item-link {
        font-size: 1.85714rem;
        line-height: 180%;
        text-align: center;
        color: #454545;
        text-decoration: none; }
      .footer-btn-item-tel {
        display: none; }
        @media only screen and (max-width: 768px) {
          .footer-btn-item-tel {
            display: block; } }
    .footer-btn-caption {
      font-size: 1rem;
      margin-bottom: 2em; }
  .footer-logo {
    text-align: center;
    width: 180px;
    margin: 0 auto 1em;
    height: auto; }
  .footer-address {
    text-align: center;
    font-size: 1rem; }
  .footer-copyright {
    text-align: center;
    padding: 1em 0;
    background: #EDEDED; }
  .footer-go-foot {
    position: fixed;
    bottom: 0;
    right: 3vw; }
    .footer-go-foot a, .footer-go-foot img {
      display: block; }
  .footer-small {
    width: 100vw;
    padding-top: 0;
    margin-top: 0; }

/* layout/navi */
.navi-row {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center; }
  @media only screen and (max-width: 768px) {
    .navi-row {
      display: block; } }
  .navi-row-item a {
    text-decoration: none; }
    .navi-row-item a:hover {
      text-decoration: underline; }

.navi-btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center; }
  .navi-btn-item a {
    display: block;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
    .navi-btn-item a:hover {
      opacity: 0.7; }
    .navi-btn-item a img {
      display: block; }

/* layout/mv */
.mv {
  position: fixed;
  top: 100px;
  left: 0;
  width: 100%;
  height: calc(100vh - 100px);
  z-index: -2; }
  @media only screen and (max-width: 768px) {
    .mv {
      position: static;
      width: 100%;
      height: auto;
      margin-top: 60px; } }
  @media only screen and (min-width: 769px) {
    .mv-video {
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%); } }
  @media only screen and (max-width: 768px) {
    .mv-video {
      position: static;
      height: auto;
      width: 100%; } }
  .mv-image {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%); }
    @media only screen and (max-width: 768px) {
      .mv-image {
        display: none; } }

/* layout/header */
.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100px;
  z-index: 99;
  background: #ffffff;
  box-shadow: 0 5px 8px -8px rgba(0, 0, 0, 0.6); }
  @media only screen and (max-width: 768px) {
    .header {
      height: 60px;
      background: #000000; } }
  .header-inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    height: 100px; }
    @media only screen and (max-width: 768px) {
      .header-inner {
        height: 60px;
        padding: 11px;
        box-sizing: border-box; } }
  .header-logo {
    height: 78px;
    width: auto; }
    @media only screen and (max-width: 768px) {
      .header-logo {
        height: 44px; } }
  .header-navi {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    width: 647px; }
    @media only screen and (max-width: 768px) {
      .header-navi {
        width: auto; } }
    .header-navi a {
      font-size: 1.14286rem;
      color: #000000; }
    @media only screen and (max-width: 768px) {
      .header-navi-row {
        display: none;
        position: absolute;
        top: 60px !important;
        left: 0;
        width: 100%;
        background: #000000;
        height: calc(100vh - 60px); }
        .header-navi-row.open {
          display: block; } }
    .header-navi-row-item {
      padding-right: 22px; }
      @media only screen and (max-width: 768px) {
        .header-navi-row-item {
          color: #ffffff;
          padding-right: 0;
          border-bottom: 1px solid #ffffff; }
          .header-navi-row-item a {
            font-size: 1.42857rem;
            color: #ffffff;
            display: block;
            padding: 1em;
            text-align: center; } }
    @media only screen and (max-width: 768px) {
      .header-navi-btn {
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center; }
        .header-navi-btn .reserve {
          -webkit-box-ordinal-group: 2;
          -webkit-order: 1;
          -ms-flex-order: 1;
          order: 1; }
        .header-navi-btn .instagram {
          -webkit-box-ordinal-group: 3;
          -webkit-order: 2;
          -ms-flex-order: 2;
          order: 2; }
        .header-navi-btn .bar-open {
          -webkit-box-ordinal-group: 4;
          -webkit-order: 3;
          -ms-flex-order: 3;
          order: 3; }
        .header-navi-btn .link-btn {
          background: #fff !important;
          color: #000000 !important;
          padding: 0.1em 0.6em !important; } }
    .header-navi-btn-item {
      padding-left: 22px; }
      @media only screen and (max-width: 768px) {
        .header-navi-btn-item {
          padding-left: 15px; } }
      .header-navi-btn-item.reserve .link-btn {
        width: 3em; }
      .header-navi-btn-item.instagram {
        padding-left: 0; }
        @media only screen and (max-width: 768px) {
          .header-navi-btn-item.instagram {
            padding-left: 15px; } }
      .header-navi-btn-item a {
        color: #ffffff; }
      .header-navi-btn-item--open, .header-navi-btn-item--close {
        display: none !important;
        width: 28px; }
        .header-navi-btn-item--open.active, .header-navi-btn-item--close.active {
          display: block !important; }

/* layout/main */
/* layout/sub */
/* layout/content */
.content-image {
  position: static;
  top: 0;
  overflow: hidden;
  width: 100%;
  z-index: -1; }
  .content-image img {
    display: block;
    width: 100%;
    height: auto; }
  .content-image.fixed {
    top: 0;
    left: 0;
    position: fixed; }

.content-image-margin-box {
  display: none; }
  .content-image-margin-box.fixed {
    display: block; }

.content {
  background: #ffffff;
  padding: 55px 0 100px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column; }
  .content-textbox {
    width: 80%;
    margin-left: auto;
    margin-right: auto; }
    @media only screen and (max-width: 768px) {
      .content-textbox {
        width: 100%; } }
  .content-bg-movie {
    margin-bottom: 100vh; }
    @media only screen and (max-width: 768px) {
      .content-bg-movie {
        margin-bottom: 0; } }
  .content-title {
    font-size: 2.14286rem;
    text-align: center;
    margin-bottom: 50px; }
  .content-more {
    text-align: right; }
    .content-more a {
      display: inline-block;
      border: 1px solid #000000;
      box-shadow: 0 5px 8px rgba(0, 0, 0, 0.3);
      padding: 0.5em 1em;
      color: #000000;
      text-decoration: none;
      font-size: 1.28571rem; }

/* layout/top */
.top-information-box {
  margin-bottom: 50px; }

.top-calendar-inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-around;
  -ms-flex-pack: distribute;
  justify-content: space-around;
  -webkit-box-align: top;
  -webkit-align-items: top;
  -ms-flex-align: top;
  align-items: top; }
  @media only screen and (max-width: 768px) {
    .top-calendar-inner {
      display: block; } }

.top-calendar-box {
  width: 40%; }
  @media only screen and (max-width: 768px) {
    .top-calendar-box {
      width: 100%; }
      .top-calendar-box:first-of-type {
        margin-bottom: 40px; } }

.top-concept-text {
  margin-bottom: 30px; }

.top-menu .content-title {
  margin-bottom: 0.1em; }

.top-menu-caption {
  text-align: center;
  font-size: 1rem;
  margin-bottom: 50px; }

.top-menu-box {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: top;
  -webkit-align-items: top;
  -ms-flex-align: top;
  align-items: top;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding-bottom: 35px;
  margin-bottom: 35px;
  border-bottom: 1px solid #000000; }
  @media only screen and (max-width: 768px) {
    .top-menu-box {
      display: block; } }

.top-menu-title {
  width: 100%;
  text-align: center;
  font-size: 1.71429rem;
  margin-bottom: 2em; }

.top-menu-list {
  width: 400px; }
  @media only screen and (max-width: 768px) {
    .top-menu-list {
      width: auto;
      max-width: none;
      min-height: 0;
      padding-left: 1em;
      padding-right: 1em; } }

.top-address-list {
  text-align: center; }

.top-address .common-text {
  margin-bottom: 1em; }

.top-address-map {
  margin-bottom: 1em;
  text-align: center; }
  .top-address-map img {
    max-width: 900px;
    width: 100%;
    height: auto; }

.top-address-googlemap {
  text-align: center; }
  .top-address-googlemap iframe {
    max-width: 900px;
    width: 900px;
    height: 675px; }
    @media only screen and (max-width: 768px) {
      .top-address-googlemap iframe {
        width: 100%;
        height: 500px; } }

/* layout/page */
.page-main {
  margin-top: 100px; }
  @media only screen and (max-width: 768px) {
    .page-main {
      margin-top: 60px; } }

/* object/component/icon */
/* object/component/link */
.link-common {
  text-decoration: none; }
  .link-common:hover {
    text-decoration: underline; }

.link-btn {
  display: block;
  background: #454545;
  color: #fff;
  padding: 0.6em 1em;
  text-decoration: none;
  -webkit-transition: opacity .6s;
  transition: opacity .6s; }
  .link-btn:hover {
    opacity: 0.7; }

.link-opacity {
  -webkit-transition: opacity 0.6s;
  transition: opacity 0.6s; }
  .link-opacity:hover {
    opacity: 0.7;
    text-decoration: none; }

@media only screen and (min-width: 769px) {
  .link-tel[href^="tel:"] {
    pointer-events: none; } }

/* object/component/title */
/* object/component/caption */
.caption {
  text-indent: -1em;
  margin-left: 1em; }
  .caption::before {
    content: "＊"; }

/* object/project/information */
.information-list {
  border-bottom: 1px solid #000000;
  padding: 0.8em 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }
  .information-list:first-child {
    border-top: 1px solid #000000; }

.information-date {
  margin-right: 1em; }

.information-title a {
  color: #000000;
  text-decoration: none; }
  .information-title a:hover {
    text-decoration: underline; }

/* object/project/calendar */
.calendar-month {
  font-size: 1.28571rem;
  text-align: center;
  margin-bottom: 15px; }

.calendar-table {
  width: 100%; }
  .calendar-table th, .calendar-table td {
    width: 14.3%;
    min-width: 14.3%;
    text-align: center;
    vertical-align: middle;
    height: 2em; }
  .calendar-table thead th {
    font-size: 1rem; }
  .calendar-table tbody td {
    font-size: 1rem; }
    .calendar-table tbody td .holiday {
      color: #ff000e; }

/* object/project/menu */
.menu {
  line-height: 150%; }
  .menu-item {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 25px;
    padding-bottom: 25px;
    border-bottom: 1px dashed #ADADAD; }
    .menu-item-noborder {
      padding-bottom: 0;
      border-bottom: 0;
      margin-bottom: 0.2em; }
      @media only screen and (max-width: 768px) {
        .menu-item-noborder {
          border-bottom: 1px dashed #ADADAD;
          padding-bottom: 25px;
          margin-bottom: 25px; } }
      .menu-item-noborder-sp {
        border-bottom: 0;
        padding-bottom: 0.1em;
        margin-bottom: 0.1em; }
    .menu-item-name {
      -webkit-box-ordinal-group: 2;
      -webkit-order: 1;
      -ms-flex-order: 1;
      order: 1;
      min-width: 60%;
      padding-right: 2em; }
      @media only screen and (max-width: 768px) {
        .menu-item-name {
          font-size: 1.07143rem; } }
    .menu-item-price {
      -webkit-box-ordinal-group: 3;
      -webkit-order: 2;
      -ms-flex-order: 2;
      order: 2; }
    .menu-item-caption {
      -webkit-box-ordinal-group: 4;
      -webkit-order: 3;
      -ms-flex-order: 3;
      order: 3;
      width: 100%;
      margin-top: 0.1em;
      font-size: 0.85em; }

/* object/project/gallery */
.gallery-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }

.gallery-item {
  width: 25%; }
  .gallery-item a {
    display: block; }
  .gallery-item img {
    width: 100%;
    height: auto;
    display: block;
    -webkit-transition: all 0.2s;
    transition: all 0.2s; }
    .gallery-item img:hover {
      -webkit-transform: translate(-2px, -2px);
      -ms-transform: translate(-2px, -2px);
      transform: translate(-2px, -2px);
      box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.5); }

.gallery-modal {
  width: 80%; }
  @media only screen and (max-width: 768px) {
    .gallery-modal {
      width: 76%; } }
  .gallery-modal-container {
    width: 82%; }
    @media only screen and (max-width: 768px) {
      .gallery-modal-container {
        width: 76%; } }
  .gallery-modal-box {
    width: 100% !important; }
    .gallery-modal-box-image img {
      display: block;
      width: 100%;
      height: auto; }
    .gallery-modal-box-text {
      padding: 1.5em 0; }
      .gallery-modal-box-text .title {
        font-weight: bold; }
  .gallery-modal-button-next {
    right: 15px;
    top: 40%; }
    @media only screen and (max-width: 768px) {
      .gallery-modal-button-next {
        right: -30px; } }
    .gallery-modal-button-next::after {
      content: "▶";
      -webkit-transform: scale(0.8, 1);
      -ms-transform: scale(0.8, 1);
      transform: scale(0.8, 1);
      color: #CCCCCC; }
  .gallery-modal-button-prev {
    left: 15px;
    top: 40%; }
    @media only screen and (max-width: 768px) {
      .gallery-modal-button-prev {
        left: -30px; } }
    .gallery-modal-button-prev::after {
      content: "◀";
      -webkit-transform: scale(0.8, 1);
      -ms-transform: scale(0.8, 1);
      transform: scale(0.8, 1);
      color: #CCCCCC; }

.gallery-thumbs-container {
  width: 82%; }

.gallery-thumbs-item {
  width: 61px;
  height: 61px;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }
  @media only screen and (max-width: 768px) {
    .gallery-thumbs-item {
      width: 9vw !important;
      height: 9vw; } }

.modaal-container {
  width: 600px; }
  @media only screen and (max-width: 768px) {
    .modaal-container {
      width: 70%; } }

.modaal-content-container {
  padding: 20px 0; }

@media only screen and (max-width: 768px) {
  .modaal-inner-wrapper {
    padding-left: 0;
    padding-right: 0; } }

@media only screen and (max-width: 768px) {
  .modaal-close::before, .modaal-close::after {
    background: #CCCCCC; } }

/* object/project/concept */
.concept-staff-title {
  margin-bottom: 0.5em; }

.concept-staff-name {
  font-size: 1.28571rem;
  text-align: center;
  margin-bottom: 50px; }

/* object/project/staff */
.staff-box {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between; }

.staff-list {
  width: 45%; }

.staff-title {
  font-size: 1.28571rem; }

/* object/project/swiper */
/* object/project/sp-gallery */
.sp-gallery {
  margin-top: 100px;
  padding-bottom: 20px;
  min-height: calc(100vh - 100px - 20px - 50px);
  position: relative; }
  .sp-gallery-container {
    width: 80vw;
    margin: 0 auto; }
  .sp-gallery-box {
    width: 80vw; }
    .sp-gallery-box-image {
      width: 80vw; }
      .sp-gallery-box-image img {
        width: 100%;
        height: auto; }
    .sp-gallery-box-text {
      padding: 1em 0; }
  .sp-gallery-navi {
    font-size: 1.71429rem;
    position: absolute;
    top: 40%;
    cursor: pointer; }
    .sp-gallery-navi-prev {
      left: 2vw; }
      .sp-gallery-navi-prev::after {
        display: block;
        content: "◀";
        -webkit-transform: scale(0.7, 1);
        -ms-transform: scale(0.7, 1);
        transform: scale(0.7, 1);
        color: #CCCCCC; }
    .sp-gallery-navi-next {
      right: 2vw; }
      .sp-gallery-navi-next::after {
        display: block;
        content: "▶";
        -webkit-transform: scale(0.7, 1);
        -ms-transform: scale(0.7, 1);
        transform: scale(0.7, 1);
        color: #CCCCCC; }
  .sp-gallery-thumbs {
    width: 80vw;
    margin: 0 auto; }
    .sp-gallery-thumbs-item {
      width: 10vw;
      min-width: 10vw;
      height: 10vw;
      background-position: center center;
      background-size: cover;
      cursor: pointer; }
  .sp-gallery-close {
    position: fixed;
    top: 70px;
    right: 2vw;
    text-align: right; }
    .sp-gallery-close a {
      color: #CCCCCC;
      font-size: 32px;
      text-decoration: none;
      font-weight: bold; }
