@charset "UTF-8";
body {
  position : relative;
  z-index : 1;
  width : 100%;
  height : auto;
  overflow : hidden;
  font-family : "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-size : 16px;
  line-height : 1.6;
  -webkit-font-smoothing : antialiased;
}
body > * {
  -webkit-box-sizing : border-box;
  box-sizing : border-box;
}

a {
  text-decoration : none;
  outline : none;
}

a:hover {
  text-decoration : none;
}

a:focus,
*:focus {
  outline : none;
}

img {
  vertical-align : top;
  border : none;
  border-style : none;
}

ol,
ul,
li {
  list-style : none;
}

input[type=submit],
input[type=button] {
  -webkit-box-sizing : content-box;
  box-sizing : border-box;
  border : none;
  border-radius : 0;
  -webkit-appearance : button;
  -moz-appearance : button;
  appearance : button;
}
input[type=submit]::-webkit-search-decoration,
input[type=button]::-webkit-search-decoration {
  display : none;
}
input[type=submit]::focus,
input[type=button]::focus {
  outline-offset : -2px;
}

.SPshow {
  display : none;
}

.PCshow {
  display : block;
}

.bottom {
  display : block;
  width : 100%;
  height : auto;
  background-color : #000000;
}
.bottom__inner {
  position : relative;
  display : -webkit-box;
  display : -ms-flexbox;
  display : flex;
  -webkit-box-pack : justify;
  -ms-flex-pack : justify;
  justify-content : space-between;
  width : 100%;
  max-width : 934px;
  height : 346px;
  margin : 0 auto;
}
.bottom__inner .bottom-list {
  position : absolute;
  top : 159px;
  z-index : 10;
}
.bottom__inner .bottom-list > li:not(:last-of-type) {
  margin-bottom : 70px;
}
.bottom__inner .bottom-list > li > a {
  position : relative;
  font-family : canto-pen, serif;
  font-size : 20px;
  font-style : normal;
  font-weight : 700;
  line-height : normal;
  color : #ffffff;
  letter-spacing : 2px;
  -webkit-transition : .6s;
  transition : .6s;
}
.bottom__inner .bottom-list > li > a::before {
  position : absolute;
  right : -4px;
  bottom : -13px;
  display : block;
  width : 15px;
  height : 7px;
  content : "";
  background-image : url(../img/icon_white_arrow.svg);
  background-size : contain;
  opacity : 0;
  -webkit-transition : .6s;
  transition : .6s;
}
.bottom__inner .bottom-list > li > a::after {
  position : absolute;
  bottom : -10px;
  left : 0;
  display : block;
  width : 310px;
  height : 1px;
  content : "";
  background-color : #ffffff;
  -webkit-transition : .3s;
  transition : .3s;
}
.bottom__inner .bottom-list > li > a:hover {
  -webkit-transition : .3s;
  transition : .3s;
}
.bottom__inner .bottom-list > li > a:hover::before {
  opacity : 1;
  -webkit-transition : .6s;
  transition : .6s;
}
.bottom__inner .bottom-list > li > a:hover::after {
  width : 100%;
}
.bottom__inner .bottom-image {
  position : absolute;
  top : -104px;
  z-index : 0;
  display : block;
  width : 100vw;
  height : 446px;
  margin-left : 173px;
  overflow : hidden;
  -webkit-filter : blur(20px);
  filter : blur(20px);
  opacity : 0;
  -webkit-transition : 2s;
  transition : 2s;
}
.bottom__inner .bottom-image.anime-on {
  -webkit-filter : blur(0px);
  filter : blur(0px);
  opacity : 1;
  -webkit-transition : 2s;
  transition : 2s;
}
.bottom__inner .bottom-image.anime-on > img {
  -webkit-transform : scale(1);
  transform : scale(1);
}
.bottom__inner .bottom-image > img {
  display : block;
  width : 100%;
  height : 120%;
  -o-object-fit : cover;
  object-fit : cover;
  -webkit-transform : scale(1.4);
  transform : scale(1.4);
}

.reservation-button,
.contact-button,
.clear-button {
  display : -webkit-box;
  display : -ms-flexbox;
  display : flex;
  -webkit-box-align : center;
  -ms-flex-align : center;
  align-items : center;
  -webkit-box-pack : center;
  -ms-flex-pack : center;
  justify-content : center;
  width : 332px;
  height : 71px;
  border : .786px solid #ffffff;
  -webkit-transition : .6s;
  transition : .6s;
}

.reservation-button {
  color : #000000;
  background : rgba(255, 255, 255, .6);
}
.reservation-button:hover {
  background : rgb(255, 255, 255);
  -webkit-transition : .6s;
  transition : .6s;
}

.contact-button {
  color : #ffffff;
  background : rgba(216, 213, 213, .3);
}
.contact-button:hover {
  color : #000000;
  background : rgb(216, 213, 213);
  -webkit-transition : .6s;
  transition : .6s;
}

.clear-button {
  position : relative;
  font-family : canto-pen, serif;
  font-size : 18.857px;
  font-style : normal;
  font-weight : 700;
  line-height : 23.571px; /* 125% */
  color : #ffffff;
  letter-spacing : 1.886px;
}
.clear-button::before {
  position : absolute;
  right : -12px;
  display : block;
  width : 69px;
  height : 1px;
  content : "";
  background-color : #ffffff;
  -webkit-transition : .6s;
  transition : .6s;
}
.clear-button::after {
  position : absolute;
  right : -19px;
  display : block;
  width : 15px;
  height : 7px;
  content : "";
  background-image : url(../img/icon_white_arrow.svg);
  background-size : contain;
  -webkit-transition : .6s;
  transition : .6s;
}
.clear-button:hover {
  color : #000000;
  background-color : #ffffff;
  border : .786px solid #000000;
  -webkit-transition : .6s;
  transition : .6s;
}
.clear-button:hover::before {
  right : 23px;
  width : 36px;
  background-color : #000000;
}
.clear-button:hover::after {
  right : 15px;
  background-image : url(../img/icon_black_arrow.svg);
  fill : #000000;
}

.chef {
  display : block;
  width : 100%;
  height : auto;
  padding : 0 40px 63px;
  background-color : #272729;
}
.chef__inner {
  display : block;
  width : 100%;
  max-width : 975px;
  height : auto;
  padding-top : 10px;
  margin : 0 auto;
}
.chef__inner .chef-title {
  position : relative;
  top : 74px;
  right : 0;
  left : -66px;
  z-index : 10;
  display : -webkit-box;
  display : -ms-flexbox;
  display : flex;
  -webkit-box-align : center;
  -ms-flex-align : center;
  align-items : center;
  width : -webkit-fit-content;
  width : -moz-fit-content;
  width : fit-content;
  margin : 0 auto;
  font-family : canto-pen, serif;
  font-size : 40px;
  font-style : normal;
  font-weight : 300;
  line-height : normal;
  color : #ffffff;
  letter-spacing : 4px;
  -webkit-mask-image : url(../img/smoke02.png);
  mask-image : url(../img/smoke02.png);
  -webkit-mask-size : 100% 3600%;
  mask-size : 100% 3600%;
  -webkit-mask-position : 0 0;
  mask-position : 0 0;
}
.chef__inner .chef-title.anime-on {
  -webkit-animation : 1.5s steps(35) .2s forwards transparent-slide;
  animation : 1.5s steps(35) .2s forwards transparent-slide;
}
.chef__inner .chef-title::after {
  display : block;
  width : 188px;
  height : 1px;
  margin-left : 15px;
  content : "";
  background-color : #ffffff;
}
.chef__inner .chef-contents {
  display : -webkit-box;
  display : -ms-flexbox;
  display : flex;
}
.chef__inner .chef-contents__image {
  position : relative;
  display : block;
  width : 320px;
  height : auto;
  margin-right : 71px;
  overflow : hidden;
}
.chef__inner .chef-contents__image::before {
  position : absolute;
  top : 0;
  left : 0;
  z-index : 1;
  display : block;
  width : 100%;
  height : 100%;
  content : "";
  background-color : #272729;
  -webkit-transition : .8s;
  transition : .8s;
}
.chef__inner .chef-contents__image.anime-on::before {
  left : 100%;
  content : "";
  -webkit-transition : .8s;
  transition : .8s;
}
.chef__inner .chef-contents__image > img {
  display : block;
  width : 100%;
  height : 100%;
  -o-object-fit : cover;
  object-fit : cover;
}
.chef__inner .chef-contents__text {
  width : calc(100% - 320px - 71px);
  padding-top : 94px;
}
.chef__inner .chef-contents__text--name {
  margin-bottom : 40px;
  font-size : 20px;
  font-style : normal;
  font-weight : 500;
  line-height : 20px; /* 100% */
  color : #ffffff;
  letter-spacing : 2px;
  opacity : 0;
  -webkit-transition : .8s;
  transition : .8s;
  -webkit-transform : skew(5deg, 0) translate(10px, 10px);
  transform : skew(5deg, 0) translate(10px, 10px);
}
.chef__inner .chef-contents__text--name.anime-on {
  opacity : 1;
  -webkit-transition : .8s;
  transition : .8s;
  -webkit-transform : skew(0, 0) translate(0, 0);
  transform : skew(0, 0) translate(0, 0);
}
.chef__inner .chef-contents__text--name > span {
  display : block;
  margin-bottom : 14px;
  font-size : 14px;
  font-style : normal;
  font-weight : 500;
  line-height : 20px; /* 142.857% */
  letter-spacing : 1.4px;
}
.chef__inner .chef-contents__text--career {
  margin-left : 0;
  border-collapse : collapse;
  opacity : 0;
  -webkit-transition : .8s;
  transition : .8s;
  -webkit-transform : skew(5deg, 0) translate(10px, 10px);
  transform : skew(5deg, 0) translate(10px, 10px);
}
.chef__inner .chef-contents__text--career.anime-on {
  opacity : 1;
  -webkit-transition : .8s;
  transition : .8s;
  -webkit-transform : skew(0, 0) translate(0, 0);
  transform : skew(0, 0) translate(0, 0);
}
.chef__inner .chef-contents__text--career > tbody > tr {
  color : #ffffff;
}
.chef__inner .chef-contents__text--career > tbody > tr > th {
  padding : 3px 14px 3px 27px;
  font-size : 12.366px;
  font-style : normal;
  font-weight : 800;
  line-height : 26.499px; /* 214.286% */
  letter-spacing : 1.237px;
  border-right : 1px solid #ffffff;
}
.chef__inner .chef-contents__text--career > tbody > tr > td {
  padding-left : 10px;
  font-size : 11px;
  font-style : normal;
  font-weight : 500;
  line-height : 15px; /* 136.364% */
  letter-spacing : .55px;
}

.course {
  display : block;
  width : 100%;
  height : auto;
  padding : 60px 40px 61px;
  background-color : #ffffff;
}
.course__inner {
  width : 100%;
  max-width : 938px;
  height : 100%;
  margin : 0 auto;
}
.course__inner .course-menu {
  margin-bottom : 62px;
  border : 1px solid #222222;
}
.course__inner .course-menu__list--container .course-menu-title {
  padding : 15px 15px;
  font-size : 16px;
  font-style : normal;
  font-weight : 500;
  line-height : 30px; /* 187.5% */
  color : #222222;
  text-align : center;
  letter-spacing : 1.6px;
  background : rgba(217, 217, 217, .2);
  border-bottom : 1px solid #222222;
}
.course__inner .course-menu__list--container .course-menu-description {
  padding : 18px 15px;
  font-size : 16px;
  font-style : normal;
  font-weight : 500;
  line-height : 30px; /* 187.5% */
  color : #222222;
  text-align : center;
  letter-spacing : 3.2px;
}
.course__inner .course-menu__list--container .course-menu-contents {
  display : -webkit-box;
  display : -ms-flexbox;
  display : flex;
  -webkit-box-pack : center;
  -ms-flex-pack : center;
  justify-content : center;
  border-bottom : 1px solid #222222;
}
.course__inner .course-menu__list--container .course-menu-contents__inner {
  position : relative;
  width : 43%;
  height : auto;
  padding : 25px 0 38px;
  text-align : center;
}
.course__inner .course-menu__list--container .course-menu-contents__inner:first-of-type::after {
  position : absolute;
  top : 0;
  right : 0;
  bottom : 0;
  display : block;
  width : 6px;
  height : 98px;
  margin : auto 0;
  content : "";
  background-image : url(../img/arrow.svg);
  background-size : contain;
}
.course__inner .course-menu__list--container .course-menu-contents__inner .course-menu-contents-title {
  display : block;
  width : -webkit-fit-content;
  width : -moz-fit-content;
  width : fit-content;
  height : auto;
  padding : 2px 15px;
  margin : 0 auto 35px;
  font-size : 16px;
  font-style : normal;
  font-weight : 500;
  line-height : 30px; /* 187.5% */
  color : #222222;
  letter-spacing : 3.2px;
  background : rgba(217, 217, 217, .2);
  border : 1px solid #222222;
}
.course__inner .course-menu__list--container .course-menu-contents__inner .course-menu-contents-list > li {
  font-size : 14px;
  font-style : normal;
  font-weight : 500;
  line-height : 25px; /* 178.571% */
  color : #222222;
  letter-spacing : 2.8px;
}
.course__inner .course-menu__list:first-of-type .course-menu__list--container .course-menu-description {
  border-bottom : 1px solid #222222;
}
.course__inner .course-menu__list:last-of-type .course-menu__list--container .course-menu-description {
  padding : 38px 108px 43px;
  font-size : 14px;
  font-style : normal;
  font-weight : 500;
  line-height : 30px; /* 214.286% */
  text-align : left;
  letter-spacing : 2.8px;
}
.course__inner .course-time {
  width : 100%;
  border-collapse : collapse;
  border : 1px solid #222222;
}
.course__inner .course-time > tbody {
  display : -webkit-box;
  display : -ms-flexbox;
  display : flex;
}
.course__inner .course-time > tbody > tr {
  display : -webkit-box;
  display : -ms-flexbox;
  display : flex;
  -webkit-box-orient : vertical;
  -webkit-box-direction : normal;
  -ms-flex-direction : column;
  flex-direction : column;
  width : 50%;
  text-align : center;
}
.course__inner .course-time > tbody > tr:first-of-type > th,
.course__inner .course-time > tbody > tr:first-of-type > td {
  border-right : 1px solid #222222;
}
.course__inner .course-time > tbody > tr > th {
  padding : 14px 10px;
  font-size : 16px;
  font-style : normal;
  font-weight : 500;
  line-height : 30px; /* 187.5% */
  color : #222222;
  letter-spacing : 3.2px;
  background : rgba(217, 217, 217, .2);
  border-bottom : 1px solid #222222;
}
.course__inner .course-time > tbody > tr > td {
  display : -webkit-box;
  display : -ms-flexbox;
  display : flex;
  -webkit-box-orient : vertical;
  -webkit-box-direction : normal;
  -ms-flex-direction : column;
  flex-direction : column;
  -webkit-box-align : center;
  -ms-flex-align : center;
  align-items : center;
  -webkit-box-pack : center;
  -ms-flex-pack : center;
  justify-content : center;
  height : 100%;
  padding : 5px 10px 8px;
  font-size : 16px;
  font-style : normal;
  font-weight : 500;
  line-height : 30px; /* 187.5% */
  color : #222222;
  letter-spacing : 3.2px;
}
.course__inner .course-time > tbody > tr > td > span {
  display : block;
  margin-top : -4px;
  font-size : 12px;
  font-style : normal;
  font-weight : 500;
  line-height : 30px; /* 250% */
  letter-spacing : 2.4px;
}

.cta-buttons {
  position : fixed;
  bottom : 0;
  left : 0;
  z-index : 1000;
  display : -webkit-box;
  display : -ms-flexbox;
  display : flex;
  display : none;
  -webkit-box-align : center;
  -ms-flex-align : center;
  align-items : center;
  -webkit-box-pack : center;
  -ms-flex-pack : center;
  justify-content : center;
  width : 100%;
  height : auto;
  padding : 10px 0;
  background : rgba(217, 217, 217, .3);
}
.cta-buttons.-black-icon .reservation-button {
  background : rgba(255, 255, 255, .8);
}
.cta-buttons.-black-icon .reservation-button:hover {
  background : rgb(255, 255, 255);
  -webkit-transition : .6s;
  transition : .6s;
}
.cta-buttons.-black-icon .contact-button {
  color : #363636;
  background : rgba(216, 213, 213, .8);
}
.cta-buttons.-black-icon .contact-button:hover {
  background : rgb(216, 213, 213);
  -webkit-transition : .6s;
  transition : .6s;
}
.cta-buttons .cta-buttons-pc {
  display : -webkit-box;
  display : -ms-flexbox;
  display : flex;
}
.cta-buttons .cta-buttons-pc > a {
  margin : 0 7px;
}
.cta-buttons .cta-buttons-sp {
  display : none;
}
.cta-buttons .cta-buttons-sp > li {
  position : relative;
}
.cta-buttons .cta-buttons-sp > li::before {
  position : absolute;
  top : 0;
  right : 0;
  bottom : 0;
  display : block;
  width : 1px;
  height : 21px;
  margin : auto 0;
  content : "";
  background-color : #ffffff;
}
.cta-buttons .cta-buttons-sp > li:first-of-type::after {
  position : absolute;
  top : 0;
  bottom : 0;
  left : 0;
  display : block;
  width : 1px;
  height : 21px;
  margin : auto 0;
  content : "";
  background-color : #ffffff;
}
.cta-buttons .cta-buttons-sp > li > a {
  display : -webkit-box;
  display : -ms-flexbox;
  display : flex;
  -webkit-box-orient : vertical;
  -webkit-box-direction : normal;
  -ms-flex-direction : column;
  flex-direction : column;
  -webkit-box-align : center;
  -ms-flex-align : center;
  align-items : center;
  padding : 2px 23px;
  font-family : canto-pen, serif;
  font-size : 14.483px;
  font-style : normal;
  font-weight : 700;
  line-height : normal;
  color : #ffffff;
  letter-spacing : 1.448px;
}
.cta-buttons .cta-buttons-sp > li > a > span {
  display : block;
  margin-top : -3px;
  font-family : "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-size : 8.851px;
  font-style : normal;
  font-weight : 600;
  line-height : normal;
  letter-spacing : .885px;
}

.current {
  position : fixed;
  top : 0;
  right : 40px;
  bottom : 0;
  z-index : 3000;
  display : -webkit-box;
  display : -ms-flexbox;
  display : flex;
  -webkit-box-orient : vertical;
  -webkit-box-direction : normal;
  -ms-flex-direction : column;
  flex-direction : column;
  -webkit-box-pack : center;
  -ms-flex-pack : center;
  justify-content : center;
  margin : auto 0;
}
.current.-black-icon > li.-now > a {
  background-color : #363636;
}
.current > li {
  margin : 6px 0;
}
.current > li > a {
  display : block;
  width : 11px;
  height : 11px;
  border : 1px solid #ffffff;
  -webkit-box-shadow : 1px 1px 8px -1px rgb(0, 0, 0);
  box-shadow : 1px 1px 8px -1px rgb(0, 0, 0);
  -webkit-transform : rotate(45deg);
  transform : rotate(45deg);
}
.current > li.-now > a {
  background : rgba(255, 255, 255, .6);
}

.footer {
  width : 100%;
  height : auto;
  padding : 0 40px 8px;
  margin-top : auto;
  background-color : #000000;
}
.footer__inner {
  display : -webkit-box;
  display : -ms-flexbox;
  display : flex;
  -webkit-box-orient : vertical;
  -webkit-box-direction : normal;
  -ms-flex-direction : column;
  flex-direction : column;
  -webkit-box-align : center;
  -ms-flex-align : center;
  align-items : center;
  width : 100%;
  max-width : 962px;
  height : auto;
  padding : 88px 0 31px;
  margin : 0 auto;
}
.footer__inner .footer-nav > li > a {
  font-family : "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
  font-size : 10px;
  font-style : normal;
  font-weight : 500;
  line-height : 30px; /* 300% */
  color : #ffffff;
  letter-spacing : 1px;
  -webkit-transition : .6s;
  transition : .6s;
}
.footer__inner .footer-nav > li > a:hover {
  opacity : .6;
  -webkit-transition : .6s;
  transition : .6s;
}
.footer__inner .footer-copy {
  font-family : "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
  font-size : 13px;
  font-style : normal;
  font-weight : 400;
  line-height : 30px; /* 230.769% */
  color : #ffffff;
  letter-spacing : 1.3px;
}

.header {
  position : absolute;
  top : 0;
  left : 0;
  z-index : 1001;
  width : 100%;
  height : 80px;
  background : rgba(0, 0, 0, .5);
}
.header__inner {
  display : -webkit-box;
  display : -ms-flexbox;
  display : flex;
  -webkit-box-align : center;
  -ms-flex-align : center;
  align-items : center;
  -webkit-box-pack : justify;
  -ms-flex-pack : justify;
  justify-content : space-between;
  width : 100%;
  height : 100%;
  padding : 0 141px;
  margin : 0 auto;
}
.header__inner .header-logo {
  display : none;
}
.header__inner .header-nav {
  margin-left : auto;
}
.header__inner .header-nav__list {
  display : -webkit-box;
  display : -ms-flexbox;
  display : flex;
}
.header__inner .header-nav__list > li {
  position : relative;
}
.header__inner .header-nav__list > li::before {
  position : absolute;
  top : 0;
  right : 0;
  bottom : 0;
  display : block;
  width : 1px;
  height : 28px;
  margin : auto 0;
  content : "";
  background-color : #ffffff;
}
.header__inner .header-nav__list > li:first-of-type::after {
  position : absolute;
  top : 0;
  bottom : 0;
  left : 0;
  display : block;
  width : 1px;
  height : 28px;
  margin : auto 0;
  content : "";
  background-color : #ffffff;
}
.header__inner .header-nav__list > li > a {
  display : -webkit-box;
  display : -ms-flexbox;
  display : flex;
  -webkit-box-orient : vertical;
  -webkit-box-direction : normal;
  -ms-flex-direction : column;
  flex-direction : column;
  -webkit-box-align : center;
  -ms-flex-align : center;
  align-items : center;
  padding : 2px 32px;
  font-family : canto-pen, serif;
  font-size : 18px;
  font-style : normal;
  font-weight : 700;
  line-height : normal;
  color : #ffffff;
  letter-spacing : 1.8px;
  -webkit-transition : .6s;
  transition : .6s;
}
.header__inner .header-nav__list > li > a:hover {
  opacity : .6;
  -webkit-transition : .6s;
  transition : .6s;
}
.header__inner .header-nav__list > li > a > span {
  display : block;
  font-family : "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-size : 11px;
  font-style : normal;
  font-weight : 600;
  line-height : normal;
  letter-spacing : 1.1px;
}

.info {
  display : block;
  width : 100%;
  height : auto;
  padding : 0 40px 0;
  background-color : #000000;
}
.info__inner {
  display : block;
  width : 100%;
  max-width : 954px;
  height : auto;
  padding : 104px 0 60px;
  margin : 0 auto;
}
.info__inner .info-title {
  z-index : 10;
  display : -webkit-box;
  display : -ms-flexbox;
  display : flex;
  -webkit-box-align : center;
  -ms-flex-align : center;
  align-items : center;
  width : -webkit-fit-content;
  width : -moz-fit-content;
  width : fit-content;
  padding-left : 42px;
  margin-bottom : 39px;
  font-family : canto-pen, serif;
  font-size : 40px;
  font-style : normal;
  font-weight : 300;
  line-height : normal;
  color : #ffffff;
  letter-spacing : 4px;
  -webkit-mask-image : url(../img/smoke02.png);
  mask-image : url(../img/smoke02.png);
  -webkit-mask-size : 100% 3600%;
  mask-size : 100% 3600%;
  -webkit-mask-position : 0 0;
  mask-position : 0 0;
}
.info__inner .info-title.anime-on {
  -webkit-animation : 1.5s steps(35) .2s forwards transparent-slide;
  animation : 1.5s steps(35) .2s forwards transparent-slide;
}
.info__inner .info-title::after {
  display : block;
  width : 188px;
  height : 1px;
  margin-left : 10px;
  content : "";
  background-color : #ffffff;
}
.info__inner .info-contents {
  display : -webkit-box;
  display : -ms-flexbox;
  display : flex;
}
.info__inner .info-contents__image {
  position : relative;
  display : block;
  width : 450px;
  height : auto;
  margin-right : 52px;
  overflow : hidden;
}
.info__inner .info-contents__image::before {
  position : absolute;
  top : 0;
  left : 0;
  z-index : 1;
  display : block;
  width : 100%;
  height : 100%;
  content : "";
  background-color : #000000;
  -webkit-transition : .8s;
  transition : .8s;
}
.info__inner .info-contents__image.anime-on::before {
  left : 100%;
  content : "";
  -webkit-transition : .8s;
  transition : .8s;
}
.info__inner .info-contents__image > img {
  display : block;
  width : 100%;
  height : 100%;
  -o-object-fit : cover;
  object-fit : cover;
  height : 120%;
}
.info__inner .info-contents__text {
  width : calc(100% - 450px - 52px);
  padding-top : 34px;
}
.info__inner .info-contents__text--name {
  display : block;
  width : 122px;
  height : auto;
  margin-bottom : 45px;
  margin-left : 64px;
}
.info__inner .info-contents__text--name > img {
  display : block;
  width : 100%;
  height : 100%;
  -o-object-fit : cover;
  object-fit : cover;
  -o-object-fit : contain;
  object-fit : contain;
}
.info__inner .info-contents__text--address {
  border-collapse : collapse;
}
.info__inner .info-contents__text--address > tbody > tr {
  display : -webkit-box;
  display : -ms-flexbox;
  display : flex;
  color : #ffffff;
}
.info__inner .info-contents__text--address > tbody > tr:first-of-type {
  margin-bottom : 56px;
}
.info__inner .info-contents__text--address > tbody > tr:last-of-type > td {
  display : -webkit-box;
  display : -ms-flexbox;
  display : flex;
  -webkit-box-align : center;
  -ms-flex-align : center;
  align-items : center;
  padding-top : 3px;
}
.info__inner .info-contents__text--address > tbody > tr > th {
  display : -webkit-box;
  display : -ms-flexbox;
  display : flex;
  padding-top : 3px;
  padding-right : 21px;
  font-size : 14px;
  font-style : normal;
  font-weight : 500;
  line-height : 30px; /* 214.286% */
  letter-spacing : 1.4px;
}
.info__inner .info-contents__text--address > tbody > tr > td {
  padding-left : 10px;
  font-size : 13px;
  font-style : normal;
  font-weight : 500;
  line-height : 20px; /* 153.846% */
  letter-spacing : 1.3px;
}
.info__inner .info-contents__text--address > tbody > tr > td > address {
  margin-bottom : -6px;
  font-style : normal;
}

.kv {
  position : relative;
  display : block;
  width : 100%;
  height : 100vh;
}
.kv__inner {
  position : relative;
  display : block;
  width : 100%;
  max-width : 100%;
  height : 100%;
  margin : 0 auto;
}
.kv__inner .kv-video {
  display : block;
  width : 100%;
  height : 100%;
}
.kv__inner .kv-video .video-pc,
.kv__inner .kv-video .video-sp {
  width : 100%;
  height : 100%;
  -o-object-fit : cover;
  object-fit : cover;
}
.kv__inner .kv-video .video-pc {
  display : block;
}
.kv__inner .kv-video .video-sp {
  display : block;
}
.kv__inner .kv-logo {
  position : absolute;
  inset : 0;
  top : 32px;
  display : block;
  width : 187px;
  height : 63px;
  margin : auto;
  -webkit-filter : blur(20px);
  filter : blur(20px);
  opacity : 0;
  -webkit-transition : 2s;
  transition : 2s;
  -webkit-transform : scale(1.4);
  transform : scale(1.4);
}
.kv__inner .kv-logo.anime-on {
  -webkit-filter : blur(0px);
  filter : blur(0px);
  opacity : 1;
  -webkit-transition : 2s;
  transition : 2s;
  -webkit-transform : scale(1);
  transform : scale(1);
}
.kv__inner .kv-logo > img {
  display : block;
  width : 100%;
  height : 100%;
  -o-object-fit : cover;
  object-fit : cover;
}
.kv .kv-scroll-button {
  position : absolute;
  right : 134px;
  bottom : 20px;
  z-index : 10;
  display : block;
  width : 86px;
  height : 86px;
  background-image : url(../img/icon_scroll_border.svg);
  background-size : contain;
}
.kv .kv-scroll-button::after {
  position : absolute;
  right : 34px;
  bottom : 15px;
  z-index : 10;
  display : block;
  width : 23px;
  height : 15px;
  content : "";
  background-image : url(../img/icon_white_arrow.svg);
  background-size : contain;
  -webkit-animation : 2s ease-in-out 1s infinite normal forwards running scroll-down;
  animation : 2s ease-in-out 1s infinite normal forwards running scroll-down;
}
.kv .kv-scroll-button > span {
  position : relative;
  display : block;
  width : 100%;
  height : 100%;
}
.kv .kv-scroll-button > span::before {
  position : absolute;
  top : 17px;
  right : 42px;
  z-index : 10;
  display : block;
  width : 1px;
  content : "";
  background-color : #ffffff;
  -webkit-animation : 2s ease-in-out 1s infinite normal forwards running arrow-down;
  animation : 2s ease-in-out 1s infinite normal forwards running arrow-down;
}

@-webkit-keyframes scroll-down {
  0% {
    -webkit-transform : translateY(-40px) rotate(90deg);
    transform : translateY(-40px) rotate(90deg);
  }
  100% {
    -webkit-transform : translateY(0) rotate(90deg);
    transform : translateY(0) rotate(90deg);
  }
}

@keyframes scroll-down {
  0% {
    -webkit-transform : translateY(-40px) rotate(90deg);
    transform : translateY(-40px) rotate(90deg);
  }
  100% {
    -webkit-transform : translateY(0) rotate(90deg);
    transform : translateY(0) rotate(90deg);
  }
}
@-webkit-keyframes arrow-down {
  0% {
    height : 1px;
  }
  100% {
    height : 53px;
  }
}
@keyframes arrow-down {
  0% {
    height : 1px;
  }
  100% {
    height : 53px;
  }
}
.lead {
  display : block;
  width : 100%;
  height : auto;
  padding : 117px 40px 118px;
  background-color : #000000;
}
.lead__inner {
  position : relative;
  display : block;
  width : 100%;
  max-width : 962px;
  height : auto;
  margin : 0 auto;
}
.lead__inner .lead-title {
  position : relative;
  top : -35px;
  right : 0;
  left : -38px;
  z-index : 10;
  display : -webkit-box;
  display : -ms-flexbox;
  display : flex;
  -webkit-box-align : center;
  -ms-flex-align : center;
  align-items : center;
  width : -webkit-fit-content;
  width : -moz-fit-content;
  width : fit-content;
  margin : 0 auto;
  font-family : canto-pen, serif;
  font-size : 40px;
  font-style : normal;
  font-weight : 300;
  line-height : normal;
  color : #ffffff;
  letter-spacing : 4px;
  -webkit-mask-image : url(../img/smoke02.png);
  mask-image : url(../img/smoke02.png);
  -webkit-mask-size : 100% 3600%;
  mask-size : 100% 3600%;
  -webkit-mask-position : 0 0;
  mask-position : 0 0;
}
.lead__inner .lead-title.anime-on {
  -webkit-animation : 1.5s steps(35) .2s forwards transparent-slide;
  animation : 1.5s steps(35) .2s forwards transparent-slide;
}
.lead__inner .lead-title::before {
  display : block;
  width : 188px;
  height : 1px;
  margin-right : 36px;
  content : "";
  background-color : #ffffff;
}
.lead__inner .lead-contents {
  display : -webkit-box;
  display : -ms-flexbox;
  display : flex;
}
.lead__inner .lead-contents__text {
  width : 50%;
}
.lead__inner .lead-contents__text > p {
  color : #ffffff;
  opacity : 0;
  -webkit-transition : .8s;
  transition : .8s;
  -webkit-transform : skew(-5deg, 0) translate(-20px, 20px);
  transform : skew(-5deg, 0) translate(-20px, 20px);
}
.lead__inner .lead-contents__text > p.anime-on {
  opacity : 1;
  -webkit-transition : .8s;
  transition : .8s;
  -webkit-transform : skew(0, 0) translate(0, 0);
  transform : skew(0, 0) translate(0, 0);
}
.lead__inner .lead-contents__text > p:first-of-type {
  margin-bottom : 45px;
  font-size : 18px;
  font-style : normal;
  font-weight : 500;
  line-height : 35px; /* 194.444% */
  letter-spacing : .9px;
}
.lead__inner .lead-contents__text > p:last-of-type {
  font-size : 14px;
  font-style : normal;
  font-weight : 500;
  line-height : 25px; /* 178.571% */
  letter-spacing : .7px;
}
.lead__inner .lead-contents__image {
  position : absolute;
  top : -62px;
  left : 53.5%;
  display : block;
  width : 50%;
  width : 50vw;
  height : 380px;
  overflow : hidden;
}
.lead__inner .lead-contents__image::before {
  position : absolute;
  top : 0;
  left : 0;
  z-index : 1;
  display : block;
  width : 100%;
  height : 100%;
  content : "";
  background-color : #000000;
  -webkit-transition : .8s;
  transition : .8s;
}
.lead__inner .lead-contents__image.anime-on::before {
  left : 100%;
  content : "";
  -webkit-transition : .8s;
  transition : .8s;
}
.lead__inner .lead-contents__image > img {
  display : block;
  width : 100%;
  height : 100%;
  -o-object-fit : cover;
  object-fit : cover;
  height : 120%;
}

@-webkit-keyframes transparent-slide {
  0% {
    -webkit-mask-position : 0 0;
    mask-position : 0 0;
  }
  100% {
    -webkit-mask-position : 0 100%;
    mask-position : 0 100%;
  }
}

@keyframes transparent-slide {
  0% {
    -webkit-mask-position : 0 0;
    mask-position : 0 0;
  }
  100% {
    -webkit-mask-position : 0 100%;
    mask-position : 0 100%;
  }
}
.main {
  display : block;
  width : 100%;
  height : auto;
  margin : 0 auto;
}

.map {
  display : block;
  width : 100%;
  height : auto;
  padding : 65px 40px 144px;
  background-color : #272729;
}
.map__inner {
  display : block;
  width : 100%;
  max-width : 970px;
  height : auto;
  margin : 0 auto;
}
.map__inner .g-map {
  display : block;
  width : 100%;
  height : 396px;
  margin-bottom : 23px;
}
.map__inner .g-map > iframe,
.map__inner .g-map > img {
  display : block;
  width : 100%;
  height : 100%;
  -o-object-fit : cover;
  object-fit : cover;
}
.map__inner .g-map-button-container {
  display : -webkit-box;
  display : -ms-flexbox;
  display : flex;
  -webkit-box-pack : end;
  -ms-flex-pack : end;
  justify-content : flex-end;
  padding-right : 16px;
}

.menu {
  position : relative;
  display : block;
  width : 100%;
  height : 522px;
  max-height : 522px;
  padding : 51px 40px 40px;
  background-color : #000000;
}
.menu__background {
  position : absolute;
  top : 0;
  left : 0;
  z-index : 1;
  display : block;
  width : 100%;
  height : 100%;
  overflow : hidden;
}
.menu__background > img {
  display : block;
  width : 100%;
  height : 100%;
  -o-object-fit : cover;
  object-fit : cover;
  height : 120%;
}
.menu__inner {
  display : -webkit-box;
  display : -ms-flexbox;
  display : flex;
  -webkit-box-orient : vertical;
  -webkit-box-direction : normal;
  -ms-flex-direction : column;
  flex-direction : column;
  -webkit-box-pack : justify;
  -ms-flex-pack : justify;
  justify-content : space-between;
  width : 100%;
  max-width : 962px;
  height : 100%;
  margin : 0 auto;
}
.menu__inner .menu-title {
  position : relative;
  z-index : 10;
  display : -webkit-box;
  display : -ms-flexbox;
  display : flex;
  -webkit-box-align : center;
  -ms-flex-align : center;
  align-items : center;
  width : -webkit-fit-content;
  width : -moz-fit-content;
  width : fit-content;
  font-family : canto-pen, serif;
  font-size : 40px;
  font-style : normal;
  font-weight : 300;
  line-height : normal;
  color : #ffffff;
  letter-spacing : 4px;
  -webkit-mask-image : url(../img/smoke02.png);
  mask-image : url(../img/smoke02.png);
  -webkit-mask-size : 100% 3600%;
  mask-size : 100% 3600%;
  -webkit-mask-position : 0 0;
  mask-position : 0 0;
}
.menu__inner .menu-title.anime-on {
  -webkit-animation : 1.5s steps(35) .2s forwards transparent-slide;
  animation : 1.5s steps(35) .2s forwards transparent-slide;
}
.menu__inner .menu-title::before {
  position : absolute;
  left : -163%;
  display : none;
  width : 100px;
  height : 1px;
  margin-left : 10px;
  content : "";
  background-color : #ffffff;
}
.menu__inner .menu-title::after {
  display : block;
  width : 188px;
  height : 1px;
  margin-left : 10px;
  content : "";
  background-color : #ffffff;
}
.menu__inner .menu-description {
  position : relative;
  z-index : 2;
  padding-bottom : 11px;
  padding-left : 53px;
  font-size : 14px;
  font-style : normal;
  font-weight : 500;
  line-height : 30px; /* 214.286% */
  color : #ffffff;
  letter-spacing : .7px;
  opacity : 0;
  -webkit-transition : .8s;
  transition : .8s;
  -webkit-transform : skew(-5deg, 0) translate(-20px, 20px);
  transform : skew(-5deg, 0) translate(-20px, 20px);
}
.menu__inner .menu-description.anime-on {
  opacity : 1;
  -webkit-transition : .8s;
  transition : .8s;
  -webkit-transform : skew(0, 0) translate(0, 0);
  transform : skew(0, 0) translate(0, 0);
}

.menu-button {
  position : fixed;
  top : 0;
  bottom : 0;
  left : 40px;
  z-index : 2100;
  width : 42px;
  height : 42px;
  margin : auto 0;
  border : 1px solid #ffffff;
  border-radius : 50%;
  -webkit-box-shadow : 1px 1px 8px -1px rgb(0, 0, 0);
  box-shadow : 1px 1px 8px -1px rgb(0, 0, 0);
  -webkit-transition : 1s;
  transition : 1s;
}
.menu-button.-black-icon {
  background-color : #363636;
  border : 1px solid #363636;
}
.menu-button > span {
  position : absolute;
  inset : 0;
  display : block;
  width : 11px;
  height : 1px;
  margin : auto;
  background-color : #ffffff;
  -webkit-box-shadow : 1px 1px 4px 0px rgb(0, 0, 0);
  box-shadow : 1px 1px 4px 0px rgb(0, 0, 0);
  -webkit-transition : .6s;
  transition : .6s;
}
.menu-button > span:first-of-type {
  top : -10px;
}
.menu-button > span:nth-of-type(2) {
  opacity : 1;
}
.menu-button > span:last-of-type {
  bottom : -11px;
}
.menu-button.-nav-open {
  left : 214px;
  -webkit-transition : 1s;
  transition : 1s;
}
.menu-button.-nav-open > span:first-of-type {
  top : 0;
  -webkit-transform : rotate(40deg);
  transform : rotate(40deg);
}
.menu-button.-nav-open > span:nth-of-type(2) {
  opacity : 0;
}
.menu-button.-nav-open > span:last-of-type {
  bottom : 0;
  -webkit-transform : rotate(-40deg);
  transform : rotate(-40deg);
}

.nav-menu {
  position : fixed;
  top : 0;
  bottom : 0;
  left : -405px;
  z-index : 2000;
  display : none;
  height : -webkit-fit-content;
  height : -moz-fit-content;
  height : fit-content;
  padding : 287px 314px;
  margin : auto 0;
  overflow : hidden;
  border-radius : 50%;
}
.nav-menu::before {
  position : absolute;
  top : 0;
  left : 404px;
  display : block;
  width : 100%;
  height : 100%;
  content : "";
  background-image : url(../img/nav_menu_bg.svg);
  background-size : contain;
}
.nav-menu.-nav-open > nav > ul > li:first-of-type {
  -webkit-animation : .6s ease-out .1s forwards nav-menu-fade;
  animation : .6s ease-out .1s forwards nav-menu-fade;
}
.nav-menu.-nav-open > nav > ul > li:nth-of-type(2) {
  -webkit-animation : .6s ease-out .2s forwards nav-menu-fade;
  animation : .6s ease-out .2s forwards nav-menu-fade;
}
.nav-menu.-nav-open > nav > ul > li:nth-of-type(3) {
  -webkit-animation : .6s ease-out .3s forwards nav-menu-fade;
  animation : .6s ease-out .3s forwards nav-menu-fade;
}
.nav-menu.-nav-open > nav > ul > li:nth-of-type(4) {
  -webkit-animation : .6s ease-out .4s forwards nav-menu-fade;
  animation : .6s ease-out .4s forwards nav-menu-fade;
}
.nav-menu.-nav-open > nav > ul > li:nth-of-type(5) {
  -webkit-animation : .6s ease-out .5s forwards nav-menu-fade;
  animation : .6s ease-out .5s forwards nav-menu-fade;
}
.nav-menu.-nav-open > nav > ul > li:nth-of-type(6) {
  -webkit-animation : .6s ease-out .6s forwards nav-menu-fade;
  animation : .6s ease-out .6s forwards nav-menu-fade;
}
.nav-menu.-nav-open > nav > ul > li:last-of-type {
  -webkit-animation : .6s ease-out .7s forwards nav-menu-fade;
  animation : .6s ease-out .7s forwards nav-menu-fade;
}
.nav-menu > nav {
  position : relative;
  right : -135px;
}
.nav-menu > nav > ul > li {
  opacity : 0;
}
.nav-menu > nav > ul > li:not(:last-of-type) {
  margin-bottom : 18px;
}
.nav-menu > nav > ul > li > a {
  font-family : canto-pen, serif;
  font-size : 20px;
  font-style : normal;
  font-weight : 300;
  line-height : normal;
  color : #ffffff;
  text-shadow : 1px 1px 8px rgb(0, 0, 0);
  letter-spacing : 2px;
  -webkit-transition : .6s;
  transition : .6s;
}
.nav-menu > nav > ul > li > a:hover {
  opacity : .6;
  -webkit-transition : .6s;
  transition : .6s;
}

@-webkit-keyframes nav-menu-fade {
  0% {
    opacity : 0;
    -webkit-transform : translateX(-10px);
    transform : translateX(-10px);
  }
  100% {
    opacity : 1;
    -webkit-transform : translateX(0);
    transform : translateX(0);
  }
}

@keyframes nav-menu-fade {
  0% {
    opacity : 0;
    -webkit-transform : translateX(-10px);
    transform : translateX(-10px);
  }
  100% {
    opacity : 1;
    -webkit-transform : translateX(0);
    transform : translateX(0);
  }
}
@-webkit-keyframes nav-menu-background {
  0% {
    opacity : 1;
  }
  100% {
    opacity : 0;
  }
}
@keyframes nav-menu-background {
  0% {
    opacity : 1;
  }
  100% {
    opacity : 0;
  }
}
.reservation {
  display : block;
  width : 100%;
  height : auto;
  padding : 57px 40px 0;
  background-color : #363636;
}
.reservation__inner {
  display : -webkit-box;
  display : -ms-flexbox;
  display : flex;
  -webkit-box-orient : vertical;
  -webkit-box-direction : normal;
  -ms-flex-direction : column;
  flex-direction : column;
  -webkit-box-pack : justify;
  -ms-flex-pack : justify;
  justify-content : space-between;
  width : 100%;
  max-width : 839px;
  height : 100%;
  margin : 0 auto;
}
.reservation__inner .reservation-title {
  display : -webkit-box;
  display : -ms-flexbox;
  display : flex;
  -webkit-box-align : center;
  -ms-flex-align : center;
  align-items : center;
  width : -webkit-fit-content;
  width : -moz-fit-content;
  width : fit-content;
  margin-right : -48px;
  margin-bottom : 33px;
  margin-left : auto;
  font-family : canto-pen, serif;
  font-size : 40px;
  font-style : normal;
  font-weight : 300;
  line-height : normal;
  color : #ffffff;
  letter-spacing : 4px;
  -webkit-mask-image : url(../img/smoke02.png);
  mask-image : url(../img/smoke02.png);
  -webkit-mask-size : 100% 3600%;
  mask-size : 100% 3600%;
  -webkit-mask-position : 0 0;
  mask-position : 0 0;
}
.reservation__inner .reservation-title.anime-on {
  -webkit-animation : 1.5s steps(35) .2s forwards transparent-slide;
  animation : 1.5s steps(35) .2s forwards transparent-slide;
}
.reservation__inner .reservation-title::before {
  display : block;
  width : 188px;
  height : 1px;
  margin-right : 25px;
  content : "";
  background-color : #ffffff;
}
.reservation__inner .reservation-title::after {
  display : none;
}
.reservation__inner .reservation-top-container {
  position : relative;
  z-index : 10;
  display : -webkit-box;
  display : -ms-flexbox;
  display : flex;
}
.reservation__inner .reservation-top-container .reservation-flow {
  width : 417px;
  height : auto;
  margin-right : 100px;
  color : #ffffff;
}
.reservation__inner .reservation-top-container .reservation-flow__title {
  margin-bottom : 25px;
  margin-left : -16px;
  font-size : 26px;
  font-style : normal;
  font-weight : 500;
  line-height : normal;
  text-align : center;
  letter-spacing : 2.6px;
}
.reservation__inner .reservation-top-container .reservation-flow__list > li {
  position : relative;
  opacity : 0;
  -webkit-transition : 1s;
  transition : 1s;
  -webkit-transform : translateY(20px);
  transform : translateY(20px);
}
.reservation__inner .reservation-top-container .reservation-flow__list > li.anime-on {
  opacity : 1;
  -webkit-transition : 1s;
  transition : 1s;
  -webkit-transform : translateY(0px);
  transform : translateY(0px);
}
.reservation__inner .reservation-top-container .reservation-flow__list > li::before {
  position : absolute;
  top : -30px;
  left : -44px;
  z-index : 10;
  display : block;
  width : 68px;
  height : 68px;
  content : "";
  background-size : contain;
}
.reservation__inner .reservation-top-container .reservation-flow__list > li:first-of-type::before {
  background-image : url(../img/icon_number01.svg);
}
.reservation__inner .reservation-top-container .reservation-flow__list > li:nth-of-type(2)::before {
  background-image : url(../img/icon_number02.svg);
}
.reservation__inner .reservation-top-container .reservation-flow__list > li:last-of-type::before {
  background-image : url(../img/icon_number03.svg);
}
.reservation__inner .reservation-top-container .reservation-flow__list > li:not(:last-of-type) {
  margin-bottom : 55px;
}
.reservation__inner .reservation-top-container .reservation-flow__list > li .reservation-flow-contents {
  display : block;
  width : 100%;
  height : auto;
  padding : 17px 19px 26px 56px;
  font-family : "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
  background : rgba(217, 217, 217, .3);
  border-radius : 30px 0px;
}
.reservation__inner .reservation-top-container .reservation-flow__list > li .reservation-flow-contents__title {
  font-size : 16px;
  font-style : normal;
  font-weight : 700;
  line-height : 30px; /* 187.5% */
  letter-spacing : 1.6px;
}
.reservation__inner .reservation-top-container .reservation-flow__list > li .reservation-flow-contents__description {
  font-size : 13px;
  font-style : normal;
  font-weight : 500;
  line-height : 20px; /* 153.846% */
  letter-spacing : .65px;
}
.reservation__inner .reservation-top-container .reservation-phone-image {
  display : block;
  width : 259px;
  margin-top : 11px;
  -webkit-filter : blur(20px);
  filter : blur(20px);
  opacity : 0;
  -webkit-transition : 1s;
  transition : 1s;
}
.reservation__inner .reservation-top-container .reservation-phone-image.anime-on {
  -webkit-filter : blur(0px);
  filter : blur(0px);
  opacity : 1;
  -webkit-transition : 1s;
  transition : 1s;
}
.reservation__inner .reservation-top-container .reservation-phone-image > img {
  display : block;
  width : 100%;
  height : 100%;
  -o-object-fit : contain;
  object-fit : contain;
}
.reservation__inner .reservation-under-container {
  position : relative;
  width : 100vw;
  padding : 141px 40px 82px;
  margin : -73px calc(50% - 50vw) 0;
  background-color : #272729;
  background-color : #272729;
}
.reservation__inner .reservation-under-container__inner {
  display : -webkit-box;
  display : -ms-flexbox;
  display : flex;
  -webkit-box-orient : vertical;
  -webkit-box-direction : normal;
  -ms-flex-direction : column;
  flex-direction : column;
  -webkit-box-align : center;
  -ms-flex-align : center;
  align-items : center;
  width : 100%;
  max-width : 962px;
  height : 100%;
  margin : 0 auto;
}
.reservation__inner .reservation-under-container__inner .reservation-button-container {
  display : -webkit-box;
  display : -ms-flexbox;
  display : flex;
  -webkit-box-pack : center;
  -ms-flex-pack : center;
  justify-content : center;
  margin-bottom : 13px;
}
.reservation__inner .reservation-under-container__inner .reservation-contact {
  position : relative;
  display : -webkit-box;
  display : -ms-flexbox;
  display : flex;
  -webkit-box-align : center;
  -ms-flex-align : center;
  align-items : center;
  margin-right : -44px;
  margin-bottom : 49px;
  font-size : 13px;
  font-style : normal;
  font-weight : 500;
  line-height : 30px; /* 230.769% */
  color : #ffffff;
  letter-spacing : .65px;
}
.reservation__inner .reservation-under-container__inner .reservation-contact::before {
  position : absolute;
  left : -88px;
  display : block;
  width : 75px;
  height : 1px;
  content : "";
  background-color : #ffffff;
  -webkit-transition : .6s;
  transition : .6s;
}
.reservation__inner .reservation-under-container__inner .reservation-contact::after {
  position : absolute;
  left : -25px;
  display : block;
  width : 15px;
  height : 7px;
  content : "";
  background-image : url(../img/icon_white_arrow.svg);
  background-size : contain;
  -webkit-transition : .6s;
  transition : .6s;
}
.reservation__inner .reservation-under-container__inner .reservation-contact:hover {
  -webkit-transition : .6s;
  transition : .6s;
}
.reservation__inner .reservation-under-container__inner .reservation-contact:hover::before {
  right : -23px;
  width : 80px;
}
.reservation__inner .reservation-under-container__inner .reservation-contact:hover::after {
  left : -20px;
}
.reservation__inner .reservation-under-container__inner .reservation-description {
  margin-right : -28px;
  font-size : 18px;
  font-style : normal;
  font-weight : 500;
  line-height : 30px; /* 166.667% */
  color : #ffffff;
}
@media screen and (max-width: 767px) {
  .SPshow {
    display : block;
  }
  .PCshow {
    display : none;
  }
  .bottom__inner .bottom-list {
    padding-left : 35px;
  }
  .chef {
    padding : 0 20px 16px;
  }
  .chef__inner {
    padding-top : 0;
  }
  .chef__inner .chef-title {
    top : 63px;
    left : 50.2vw;
    font-size : 22px;
    font-weight : 600;
    letter-spacing : 2.2px;
  }
  .chef__inner .chef-title::after {
    margin-left : 11px;
  }
  .chef__inner .chef-contents {
    -webkit-box-orient : vertical;
    -webkit-box-direction : normal;
    -ms-flex-direction : column;
    flex-direction : column;
  }
  .chef__inner .chef-contents__image {
    width : 70vw;
    height : 93.02vw;
    margin-top : 4px;
  }
  .chef__inner .chef-contents__image > img {
    background-size : cover;
  }
  .chef__inner .chef-contents__text {
    width : 100%;
    padding-top : 34px;
  }
  .chef__inner .chef-contents__text--name {
    font-size : 18px;
  }
  .chef__inner .chef-contents__text--name > span {
    margin-bottom : 6px;
  }
  .chef__inner .chef-contents__text--career > tbody > tr > th {
    min-width : 71px;
    padding : 0 10px 14px 5px;
    vertical-align : top;
  }
  .chef__inner .chef-contents__text--career > tbody > tr > td {
    padding : 0 10px 14px 15px;
    font-size : 12px;
  }
  .chef__inner .chef-contents__text--career > tbody > tr:last-of-type > th {
    padding : 0 10px 0 5px;
  }
  .chef__inner .chef-contents__text--career > tbody > tr:last-of-type > td {
    padding : 0 10px 0 15px;
  }
  .current {
    display : none;
  }
  .header {
    display : none;
  }
  .header__inner {
    -webkit-box-pack : start;
    -ms-flex-pack : start;
    justify-content : flex-start;
    padding : 0 40px;
  }
  .header__inner .header-logo {
    display : block;
    width : 80px;
    height : auto;
  }
  .header__inner .header-logo > img {
    display : block;
    width : 100%;
    height : 100%;
    -o-object-fit : cover;
    object-fit : cover;
  }
  .header__inner .header-nav {
    display : none;
  }
  .info {
    padding : 0 48px 0;
  }
  .info__inner .info-title {
    position : relative;
    padding-left : 0;
    font-size : 20px;
    font-weight : 600;
    letter-spacing : 2px;
  }
  .info__inner .info-contents {
    -webkit-box-orient : vertical;
    -webkit-box-direction : normal;
    -ms-flex-direction : column;
    flex-direction : column;
  }
  .info__inner .info-contents__image {
    margin-right : 0;
  }
  .info__inner .info-contents__text {
    width : 100%;
  }
  .kv .kv-scroll-button {
    display : none;
  }
  .lead {
    padding : 43px 23px 31px;
  }
  .lead__inner .lead-title {
    top : 27px;
    left : -204px;
    font-size : 22px;
    font-weight : 600;
    letter-spacing : 2.2px;
  }
  .lead__inner .lead-title::before {
    margin-right : 11px;
  }
  .lead__inner .lead-contents {
    -webkit-box-orient : vertical;
    -webkit-box-direction : reverse;
    -ms-flex-direction : column-reverse;
    flex-direction : column-reverse;
  }
  .lead__inner .lead-contents__text {
    width : 100%;
    margin-top : -8px;
  }
  .lead__inner .lead-contents__text > p:first-of-type {
    margin-bottom : 25px;
  }
  .lead__inner .lead-contents__image {
    position : relative;
    top : -40px;
    left : 15.7%;
    width : 90vw;
    height : 56.74vw;
  }
  .menu__inner .menu-title {
    position : relative;
    top : 9px;
    left : 40px;
    font-size : 22px;
    font-weight : 600;
    letter-spacing : 2.2px;
  }
  .reservation__inner .reservation-title {
    position : relative;
    margin-left : 0;
    font-size : 22px;
    font-weight : 600;
    letter-spacing : 2.2px;
  }
  .reservation__inner .reservation-title::before {
    display : none;
  }
  .reservation__inner .reservation-title::after {
    position : absolute;
    left : -122%;
    display : block;
    width : 188px;
    height : 1px;
    content : "";
    background-color : #ffffff;
  }
  .reservation__inner .reservation-top-container {
    -webkit-box-orient : vertical;
    -webkit-box-direction : reverse;
    -ms-flex-direction : column-reverse;
    flex-direction : column-reverse;
  }
  .reservation__inner .reservation-top-container .reservation-flow {
    width : 100%;
    margin-right : 0;
  }
  .reservation__inner .reservation-top-container .reservation-flow__title {
    margin-bottom : 84px;
    margin-left : 0;
    font-size : 22px;
    letter-spacing : 2.2px;
  }
  .reservation__inner .reservation-top-container .reservation-flow__list > li::before {
    top : -56px;
    right : 0;
    left : 0;
    margin : 0 auto;
  }
  .reservation__inner .reservation-top-container .reservation-flow__list > li:not(:last-of-type) {
    margin-bottom : 85px;
  }
  .reservation__inner .reservation-top-container .reservation-flow__list > li .reservation-flow-contents {
    padding : 17px 20px 26px;
  }
  .reservation__inner .reservation-top-container .reservation-flow__list > li .reservation-flow-contents__title {
    text-align : center;
  }
  .reservation__inner .reservation-top-container .reservation-phone-image {
    width : 55.7vw;
    margin : 0 auto 38px;
  }
  .reservation__inner .reservation-under-container {
    padding : 844px 20px 52px;
    margin : -784px calc(50% - 50vw) 0;
  }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .bottom {
    padding : 0 40px;
  }
  .chef__inner .chef-contents__image {
    width : 31.25vw;
    margin-right : 6.93vw;
  }
  .chef__inner .chef-contents__text {
    width : calc(100% - 31.25vw - 6.93vw);
  }
  .chef__inner .chef-contents__text--career > tbody > tr > th {
    min-width : 85px;
    padding : 3px 14px 3px 2.64vw;
    font-size : max(1.21vw, 11px);
  }
  .chef__inner .chef-contents__text--career > tbody > tr > td {
    font-size : max(1.07vw, 10px);
  }
  .current {
    right : 40px;
  }
  .header__inner {
    padding : 0 40px;
  }
  .info__inner .info-contents__image {
    width : 43.95vw;
    margin-right : 5.08vw;
  }
  .info__inner .info-contents__text {
    width : calc(100% - 43.95vw - 5.08vw);
  }
  .info__inner .info-contents__text--address > tbody > tr > th {
    min-width : 54px;
  }
  .kv__inner .kv-logo {
    width : 18.26vw;
    height : 6.15vw;
  }
  .map__inner .g-map {
    height : 38.67vw;
  }
  .reservation__inner .reservation-title {
    margin-right : 20px;
  }
  .reservation__inner .reservation-top-container .reservation-flow {
    width : 40.72vw;
    padding-left : 40px;
    margin-right : 9.77vw;
  }
  .reservation__inner .reservation-top-container .reservation-flow__list > li .reservation-flow-contents {
    padding : 17px 19px 26px 5.47vw;
  }
}
@media screen and (max-width: 430px) {
  .bottom__inner {
    height : 400px;
  }
  .bottom__inner .bottom-list {
    top : 216px;
  }
  .bottom__inner .bottom-list > li:not(:last-of-type) {
    margin-bottom : 30px;
  }
  .bottom__inner .bottom-list > li > a::after {
    bottom : -2px;
    width : 196px;
  }
  .bottom__inner .bottom-image {
    position : relative;
    top : 31px;
    height : 69.53vw;
    margin-left : 79px;
  }
  .reservation-button {
    font-size : 18.857px;
    font-style : normal;
    font-weight : 500;
    line-height : 23.571px; /* 125% */
    letter-spacing : 1.886px;
  }
  .course {
    padding : 29px 45px 28px;
  }
  .course__inner .course-menu {
    margin-bottom : 0;
    border-top : 1px solid #222222;
    border-right : 1px solid #222222;
    border-bottom : none;
    border-left : 1px solid #222222;
  }
  .course__inner .course-menu__list--container .course-menu-description {
    padding : 14px 15px;
  }
  .course__inner .course-menu__list--container .course-menu-contents {
    -webkit-box-orient : vertical;
    -webkit-box-direction : normal;
    -ms-flex-direction : column;
    flex-direction : column;
  }
  .course__inner .course-menu__list--container .course-menu-contents__inner {
    width : 100%;
    padding : 29px 0 38px;
  }
  .course__inner .course-menu__list--container .course-menu-contents__inner:first-of-type::after {
    top : auto;
    bottom : -42px;
    left : 0;
    margin : 0 auto;
    -webkit-transform : rotate(90deg);
    transform : rotate(90deg);
  }
  .course__inner .course-menu__list--container .course-menu-contents__inner .course-menu-contents-title {
    margin : 0 auto 7px;
  }
  .course__inner .course-menu__list--container .course-menu-contents__inner .course-menu-contents-list > li {
    font-size : 16px;
    letter-spacing : 3.2px;
  }
  .course__inner .course-menu__list:last-of-type .course-menu__list--container .course-menu-description {
    padding : 19px 18px 13px;
    font-size : 16px;
    line-height : 25px;
    letter-spacing : 3.2px;
  }
  .course__inner .course-time > tbody {
    -webkit-box-orient : vertical;
    -webkit-box-direction : normal;
    -ms-flex-direction : column;
    flex-direction : column;
  }
  .course__inner .course-time > tbody > tr {
    width : 100%;
  }
  .course__inner .course-time > tbody > tr:first-of-type > th,
  .course__inner .course-time > tbody > tr:first-of-type > td {
    border-right : none;
  }
  .course__inner .course-time > tbody > tr:first-of-type > td {
    padding : 15px 10px;
    border-bottom : 1px solid #222222;
  }
  .course__inner .course-time > tbody > tr:last-of-type > td {
    padding : 0;
  }
  .course__inner .course-time > tbody > tr > th {
    padding : 15px 10px;
  }
  .course__inner .course-time > tbody > tr > td {
    min-height : 74px;
    padding : 12px 10px 5px;
  }
  .cta-buttons {
    padding : 11px 0 12px;
    background : -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), color-stop(68%, rgba(0, 0, 0, .8)));
    background : linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .8) 68%);
  }
  .cta-buttons .cta-buttons-pc {
    display : none;
  }
  .cta-buttons .cta-buttons-sp {
    display : -webkit-box;
    display : -ms-flexbox;
    display : flex;
  }
  .footer {
    padding : 0 40px 11px;
  }
  .footer__inner {
    padding : 13px 0 31px;
  }
  .footer__inner .footer-copy {
    margin-top : -3px;
  }
  .info {
    padding : 0;
  }
  .info__inner {
    padding : 27px 0 23px;
  }
  .info__inner .info-title {
    padding-right : 76px;
    margin-bottom : 31px;
    margin-left : auto;
  }
  .info__inner .info-title::after {
    position : absolute;
    right : -28px;
    width : 88px;
  }
  .info__inner .info-contents__image {
    height : 62.79vw;
    padding-right : 52px;
    margin-left : -48px;
  }
  .info__inner .info-contents__text {
    width : -webkit-fit-content;
    width : -moz-fit-content;
    width : fit-content;
    padding-top : 40px;
    margin : 0 auto;
  }
  .info__inner .info-contents__text--name {
    width : 101px;
    margin-bottom : 47px;
    margin-left : 98px;
  }
  .info__inner .info-contents__text--address > tbody > tr:first-of-type {
    margin-bottom : 29px;
  }
  .info__inner .info-contents__text--address > tbody > tr > th {
    min-width : 54px;
  }
  .kv__inner .kv-video .video-pc {
    display : none;
  }
  .map {
    padding : 33px 20px 31px;
  }
  .map__inner .g-map {
    margin-bottom : 29px;
  }
  .map__inner .g-map-button-container {
    -webkit-box-pack : center;
    -ms-flex-pack : center;
    justify-content : center;
    padding-right : 0;
  }
  .menu {
    height : 114.42vw;
    max-height : 492px;
    padding : 51px 0 10px;
  }
  .menu__background {
    top : 32px;
    left : 79px;
    height : 67.21vw;
  }
  .menu__inner .menu-title {
    left : 0;
    padding-left : 69px;
  }
  .menu__inner .menu-title::before {
    left : -36%;
    display : block;
  }
  .menu__inner .menu-title::after {
    display : none;
  }
  .menu__inner .menu-description {
    padding-right : 30px;
    padding-bottom : 18px;
    padding-left : 30px;
    font-size : 16px;
    letter-spacing : .8px;
  }
  .menu-button {
    top : auto;
    right : 32px;
    bottom : 39px;
    left : auto;
  }
  .menu-button.-nav-open {
    right : 32px;
    left : auto;
  }
  .nav-menu {
    top : auto;
    right : 0;
    bottom : 0;
    left : 0;
    padding : 92px 14px 123px;
    margin : 0 auto;
    overflow : unset;
  }
  .nav-menu::before {
    top : 144px;
    right : 0;
    left : 2px;
    width : 90%;
    margin : auto;
    background-image : url(../img/nav_menu_bg_sp.svg);
  }
  .nav-menu::after {
    position : absolute;
    top : 0;
    left : 0;
    z-index : -1;
    display : block;
    width : 100%;
    height : 100%;
    content : "";
    background : -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), color-stop(34%, rgba(0, 0, 0, .8)), color-stop(74.5%, rgba(0, 0, 0, .8)));
    background : linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .8) 34%, rgba(0, 0, 0, .8) 74.5%);
  }
  .nav-menu > nav {
    right : unset;
    width : -webkit-fit-content;
    width : -moz-fit-content;
    width : fit-content;
    padding-top : 113px;
    padding-left : 20px;
    margin : 0 auto;
  }
  .reservation {
    padding : 28px 0 0;
  }
  .reservation__inner .reservation-title {
    padding-left : 70px;
  }
  .reservation__inner .reservation-title::after {
    left : -54%;
  }
  .reservation__inner .reservation-top-container .reservation-flow__list {
    padding : 0 47px;
  }
  .reservation__inner .reservation-under-container__inner .reservation-button-container {
    margin-bottom : 18px;
  }
  .reservation__inner .reservation-under-container__inner .reservation-contact {
    margin-right : -88px;
    margin-bottom : 45px;
  }
  .reservation__inner .reservation-under-container__inner .reservation-description {
    margin-right : 0;
    font-size : 16px;
  }
}
@media (min-width: 431px) and (max-width: 767px) {
  .reservation-button,
  .contact-button {
    width : 43.29vw;
    height : 9.26vw;
  }
  .chef__inner .chef-title {
    font-size : 5.22vw;
  }
  .info__inner .info-title {
    font-size : 5.22vw;
  }
  .info__inner .info-contents__image {
    width : 100%;
  }
  .info__inner .info-contents__text {
    display : -webkit-box;
    display : -ms-flexbox;
    display : flex;
    -webkit-box-orient : vertical;
    -webkit-box-direction : normal;
    -ms-flex-direction : column;
    flex-direction : column;
    -webkit-box-align : center;
    -ms-flex-align : center;
    align-items : center;
    -webkit-box-pack : center;
    -ms-flex-pack : center;
    justify-content : center;
  }
  .info__inner .info-contents__text--name {
    margin-left : 0;
  }
  .lead__inner .lead-title {
    font-size : 5.22vw;
  }
  .menu__inner .menu-title {
    font-size : 5.22vw;
  }
  .reservation__inner .reservation-title {
    font-size : 5.22vw;
  }
  .reservation__inner .reservation-title::after {
    left : -200px;
  }
}
@media screen and (min-width: 431px) {
  .kv__inner .kv-video .video-sp {
    display : none;
  }
}
/*# sourceMappingURL=style.css.map */
