@charset "UTF-8";
body {
  background: #181313;
  font-family: "Sawarabi Gothic", sans-serif;
  font-weight: 300;
  text-align: center;
  letter-spacing: .1em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

body, .topheader, .nav {
  min-width: 1000px; }

h1, h2, h3, th {
  font-weight: 300; }

.hr {
  display: inline-block;
  width: 110px;
  height: 2px;
  background: #fff; }
  .detailheader .hr {
    margin: -10px 0 15px; }
  .hr, .detailheader .hr--index {
    margin: 20px 0; }

body, a {
  color: #fff; }

.tal {
  text-align: left; }

.tar {
  text-align: right; }

.tac {
  text-align: center; }

.w100 {
  width: 100%; }

.gold {
  color: #C9A063; }

.ls0 {
  letter-spacing: 0; }

.ls2 {
  letter-spacing: -2px; }

h2, p, li, a {
  max-height: 100%; }

.mincho {
  font-family: "Sawarabi Mincho", serif; }

.nav a:hover {
  opacity: .7; }

p a {
  text-decoration: underline; }

p a:hover {
  opacity: .7; }

a.btn {
  display: inline-block;
  color: #fff;
  brackground-color: transparent;
  border: 1px solid #fff;
  background-size: 202% 100%;
  background-image: -webkit-gradient(linear, left top, right top, color-stop(50%, transparent), color-stop(50%, #fff));
  background-image: -webkit-linear-gradient(left, transparent 50%, #fff 50%);
  background-image: -o-linear-gradient(left, transparent 50%, #fff 50%);
  background-image: linear-gradient(to right, transparent 50%, #fff 50%);
  -webkit-transition: background-position 0.3s cubic-bezier(0.19, 1, 0.22, 1) 0.1s, color 0.5s ease 0s, background-color 0.5s ease;
  -o-transition: background-position 0.3s cubic-bezier(0.19, 1, 0.22, 1) 0.1s, color 0.5s ease 0s, background-color 0.5s ease;
  transition: background-position 0.3s cubic-bezier(0.19, 1, 0.22, 1) 0.1s, color 0.5s ease 0s, background-color 0.5s ease; }

a.btn:hover {
  color: #181313;
  background-color: #fff;
  background-position: -100% 100%; }

em {
  font-style: normal; }

.nav {
  position: fixed;
  top: 0;
  left: 0;
  padding: 2em 0 0.5em;
  width: 100%;
  height: 3em;
  text-shadow: 0 2px 4px #181313;
  background: #000;}
  
  .nav__logo {
    float: right;
    margin: -1.5em 2em 0 0;}
  .nav__ul {
    margin-left: 2em; }
  .nav__li {
    display: inline-block;
    margin-left: 2.5em; }
    .nav__li:first-child {
      margin-left: 0; }

.footer {
  padding: 2em 0; }

.btn {
  display: inline-block;
  border: 1px solid;
  padding: 1em 5em 1.5em;
  margin-top: 1.5em; }
  .btn--kana {
    padding: 1.5em 12em; }

.btn02 {
  display: inline-block;
  border: 1px solid;
  padding: 20px 0;
  width: 300px;  
  margin: 20px 0 0 10px; }

.topheader {
  height: 100vh;
  position: relative;
  background: url(../images/topheader_bg.jpg) center center no-repeat; }
  .topheader__logo {
    position: absolute;
    top: 50%;
    left: 50%;
    margin: -160px 0 0 -160px; }

  .topheader .info {
    position: absolute;
    top: 41%;
    left: 35%;
    margin: -160px 0 0 -185px;
    padding: 10px;  
    background-color: #000; }

.topblock {
  padding: 60px 0; }
  .topblock.detailheader {
    padding-top: 150px; }
  .topblock__h1 {
    margin-bottom: 30px; }
  .topblock__p--small {
    margin-top: 2em; }
    .topblock__p--small:first-child {
      margin-top: 0; }
  .topblock__left {
    float: left;
    width: 50%;
    position: relative; }
  .topblock__right {
    float: right;
    width: 50%;
    position: relative; }
  .topblock--concept .topblock__h2 {
    margin-bottom: .75em; }
  .topblock--concept {
    padding-bottom: 20px; }
  .topblock--menu {
    width: 1000px;
    margin: 0 auto;
    padding-top: 0; }
    .topblock--menu .topblock__top {
      margin-right: 40px;
      margin-bottom: 57px; }
    .topblock--menu .topblock__left {
      margin-top: 194px; }
    .topblock--menu .topblock__right {
      position: relative;
      height: 551px; }
      .topblock--menu .topblock__right .topblock__img {
        position: absolute;
        bottom: 0;
        right: 0; }
      .topblock--menu .topblock__right .topblock__img:first-child {
        bottom: auto;
        top: -206px;
        right: 396px; }
  .topblock--hapunaday {
    padding-top: 50px; }
    .topblock--hapunaday .topblock__left {
      position: relative;
      height: 590px; }
      .topblock--hapunaday .topblock__left .topblock__img {
        position: absolute;
        bottom: 0;
        left: 0; }
      .topblock--hapunaday .topblock__left .topblock__img:first-child {
        bottom: auto;
        top: -30px;
        left: 60px; }
    .topblock--hapunaday .topblock__right {
      margin-top: 155px; }
    .topblock--hapunaday .topblock__top img {
      width: 60%; }
    .topblock--hapunaday .topblock__bottom {
      width: 1000px;
      margin: 0 auto; }
  .topblock--chef {
    background: #F5F5D9;
    color: #181313; }
    .topblock--chef .topblock__left {
      width: 410px;
      height: 320px; }
    .topblock--chef .topblock__right {
      width: 320px; }
    .topblock--chef .topblock__center {
      width: 770px;
      margin: 0 auto; }
    .topblock--chef .topblock__h2 {
      position: absolute;
      bottom: 0;
      right: 0; }
    .topblock--chef .topblock__p {
      margin-top: 1em;
      letter-spacing: 0; }
  .topblock--layout {
    background: #F5F5D9;
    color: #181313; }
    .topblock--layout .topblock__left {
      width: 390px; }
    .topblock--layout .topblock__right {
      width: 421px;
      margin-top: -30px; }
    .topblock--layout .topblock__center {
      width: 860px;
      margin: 0 auto;
      position: relative; }
    .topblock--layout .topblock__p {
      margin-top: 1em;
      letter-spacing: -2px; }
    /*.topblock--information {
    background: #1C1836; }*/
    .topblock--information em {
      display: inline-block;
      padding-top: .5em; }
    .topblock--information__spl {
      display: inline-block;
      width: 6.5em; }
    .topblock--information__spc {
      display: inline-block;
      padding-left: .6em;
      padding-right: .3em; }
    .topblock--information__spr {
      display: inline-block;
      width: 9em; }
  .topblock--fabulous {
    width: 1000px;
    margin: 0 auto;
    padding-bottom: 20px; }
    .topblock--fabulous .topblock__left .topblock__img--2 {
      position: absolute;
      top: 410px;
      left: 320px; }
    .topblock--fabulous .topblock__right {
      margin-top: 60px; }
  .topblock--moonlight {
    width: 1000px;
    margin: 0 auto;
    padding-bottom: 20px; }
    .topblock--moonlight .topblock__left {
      margin-top: 130px; }
    .topblock--moonlight .topblock__right .topblock__img--2 {
      position: absolute;
      top: 348px;
      right: 265px; }
  .topblock--blue {
    width: 1000px;
    margin: 0 auto;
    padding-bottom: 20px; }
    .topblock--blue .topblock__left {
      width: 580px; }
    .topblock--blue .topblock__right {
      margin-top: 20px;
      width: 420px; }
  .topblock--color {
    width: 1000px;
    margin: 0 auto;
    padding-bottom: 90px; }
    .topblock--color .topblock__left {
      margin-top: 145px;
      width: 471px; }
    .topblock--color .topblock__right {
      width: 529px; }
    .topblock--color .topblock__right .topblock__img:first-child {
      position: absolute;
      top: 0;
      right: 334px; }
    .topblock--color .topblock__right .topblock__img--2 {
      margin-top: 152px; }
  #menu .topblock__h2 {
    margin-top: 15px; }
  .topblock--hapunadaybottom {
    background: #1C1836;
    color: #C9A063;
    padding-bottom: 0; }
    .topblock--hapunadaybottom .topblock__p {
      margin-top: .5em; }

.detailblock {
  /*color: #181313;*/
  padding: 60px 0; }
.detailblock2 {
  color: #181313;
}

  .detailblock .detailblock__p {
    padding-bottom: 1em; }
  .detailblock--breakfast .detailblock__h1 {
    padding-top: 3em; }
    .detailblock--breakfast .detailblock__h1:first-child {
      padding-top: 0; }
  .detailblock--lunch .detailblock__h1, .detailblock--dinner .detailblock__h1, .detailblock--hapunaday .detailblock__h1 {
    padding-top: 1.5em; }
    .detailblock--lunch .detailblock__h1:first-child, .detailblock--dinner .detailblock__h1:first-child, .detailblock--hapunaday .detailblock__h1:first-child {
      padding-top: 0; }
  .detailblock--lunch .detailblock__h1, .detailblock--dinner .detailblock__h1, .detailblock--hapunaday .detailblock__h1 {
    display: inline-block;
    border-bottom: 1px solid;
    width: 555px;
    margin-bottom: .5em; }
  .detailblock--hapunaday {
    background: #1C1836;
    color: #fff; }

.priceblock {
  width: 826px;
  margin: 0 auto; }
  .priceblock--top {
    padding-top: 60px; }

.table {
  background: #fff;
  color: #181313;
  border-collapse: separate;
  margin-top: 1.5em; }
  .table th, .table td {
    vertical-align: top;
    width: 116px;
    border: 1px solid; }
  .table th:first-child {
    background: #F08E8E; }
  .table td:first-child, .table .holiday {
    background: #FCE9F2; }
  .table th:last-child {
    background: #6F9ED4; }
  .table td:last-child {
    background: #DFF2FC; }
  .table div {
    width: 100%;
    height: 1.5em;
    border-bottom: 1px solid; }
  .table em:before {
    content: '　';
    display: block;
    padding: .25em;
    margin-top: .5em; }
  .table .point em:before {
    content: 'プリンスポイント2倍';
    display: inline-block;
    letter-spacing: -1px;
    background: #00B9EF;
    color: #fff; }
  .table em:after {
    content: '　';
    display: block;
    margin-bottom: .75em; }
  .table .fourth em:after {
    content: '4部制'; }
  .table .fourth01 em:after {
    content: '2時間4部制'; }
  .table .fourth02 em:after {
    content: '2時間制'; }
  .table .hapuna em:after {
    content: 'ハプナデー'; }
  .table .hapuna em, .table .hapuna em:after {
    content: 'ハプナデー';
    color: #C9A063; }

nav {
  font-size: 15px; }

.topblock__h2 {
  font-size: 27px;
  line-height: 37px; }
  .topblock--chef .topblock__h2 {
    font-size: 23px;
    line-height: 23px; }
    .topblock--chef .topblock__h2 small {
      font-size: 16px; }
  .topblock--fabulous .topblock__h2,
  .topblock--moonlight .topblock__h2,
  .topblock--blue .topblock__h2,
  .topblock--color .topblock__h2 {
    padding-bottom: .75em; }

.topblock__h3 {
  font-size: 22px;
  line-height: 32px; }

.table {
  font-size: 18px;
  line-height: 28px; }
  .table em {
    font-size: 30px;
    line-height: 40px; }
  .table em:before {
    font-size: 12px;
    line-height: 12px; }
  .table em:after {
    font-size: 15px;
    line-height: 15px; }

.topblock__p {
  font-size: 18px;
  line-height: 28px; }
  .topblock--chef .topblock__p {
    font-size: 17px;
    line-height: 37px; }
  .topblock--layout .topblock__p {
    font-size: 17px;
    line-height: 37px; }
  .topblock--information .topblock__p em {
    font-size: 23px;
    line-height: 38px; }
  .topblock--reservation .topblock__p em {
    font-size: 38px;
    line-height: 53px; }
  .topblock__p--small {
    font-size: 13px;
    line-height: 23px; }
  .detailheader .topblock__p {
    font-size: 18px;
    line-height: 38px; }
  .topblock--drink .topblock__p {
    font-size: 18px;
    line-height: 38px; }
  .topblock--fabulous .topblock__p,
  .topblock--moonlight .topblock__p,
  .topblock--blue .topblock__p,
  .topblock--color .topblock__p {
    font-size: 18px;
    line-height: 43px; }

.detailblock__h1 {
  font-size: 26px;
  line-height: 42px;
  color: #C9A063; }

.detailblock__p {
  font-size: 18px;
  line-height: 33px; }

.priceblock__h1 {
  font-size: 27px;
  line-height: 37px; }

.priceblock__p {
  font-size: 15px;
  line-height: 25px; }

.btn {
  font-size: 20px; }

.footer {
  font-size: 15px; }

nav {
  z-index: 4; }

.topblock--menu .topblock__right .topblock__img {
  z-index: 2; }

.topblock--menu .topblock__right .topblock__img:first-child {
  z-index: 3; }

.topblock--hapunaday .topblock__left .topblock__img {
  z-index: 2; }

.topblock--hapunaday .topblock__left .topblock__img:first-child {
  z-index: 3; }

#top header,
#top header img,
#top nav {
  opacity: 0; }

.fadeAnime {
  -webkit-animation-fill-mode: both;
  -ms-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: 1.5s;
  -ms-animation-duration: 1.5s;
  animation-duration: 1.5s;
  -webkit-animation-name: fuwatAnime;
  -ms-animation-name: fuwatAnime;
  animation-name: fuwatAnime;
  visibility: visible !important; }

@-webkit-keyframes fuwatAnime {
  0% {
    opacity: 0;
    -webkit-transform: translateY(25px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0); } }

@keyframes fuwatAnime {
  0% {
    opacity: 0;
    -webkit-transform: translateY(25px);
    -ms-transform: translateY(25px);
    transform: translateY(25px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); } }

br.sp {
  display: none; }

br.pc {
  display: inline; }

nav .sp {
  display: none; }

nav .pc {
  display: block; }

.cp_tab *,
.cp_tab *:before,
.cp_tab *:after {
-webkit-box-sizing: border-box;
   box-sizing: border-box;
}
.cp_tab {
	margin: 1em auto;
}
.cp_tab > input[type='radio'] {
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 0;
	outline: none;
	background: none;
-webkit-appearance: none;
    appearance: none;
	display: none;
  
}
.cp_tab .cp_tabpanel {
	display: none;
    background: #F5F5D9;
    
}
.cp_tab > input:first-child:checked ~ .cp_tabpanels > .cp_tabpanel:first-child,
.cp_tab > input:nth-child(3):checked ~ .cp_tabpanels > .cp_tabpanel:nth-child(2),
.cp_tab > input:nth-child(5):checked ~ .cp_tabpanels > .cp_tabpanel:nth-child(3),
.cp_tab > input:nth-child(7):checked ~ .cp_tabpanels > .cp_tabpanel:nth-child(4),
.cp_tab > input:nth-child(9):checked ~ .cp_tabpanels > .cp_tabpanel:nth-child(5),
.cp_tab > input:nth-child(11):checked ~ .cp_tabpanels > .cp_tabpanel:nth-child(6) {
	display: block;
}
.cp_tab > label {
    width: 300px;
	position: relative;
	display: inline-block;
	padding: 15px;
    margin: auto 15px;
	cursor: pointer;
	border: 1px solid transparent ;
	border-bottom: 0;
    background: #F5F5D9;
  	border-radius: 6px 6px 0 0;
    font-size: 1.1rem;
    font-weight: bold;
}
.cp_tab > label:hover,
.cp_tab > input:focus + label {
	color: #aaaaaa;
}
.cp_tab > input:checked + label {
	margin-bottom: -1px;
	border-bottom: 1.5px solid #F5F5D9;
}
.cp_tab .cp_tabpanel {
	padding: 30px; 1em;
	border-top: 1px solid #cccccc;
}

@media screen and (max-width: 700px) {
  .topheader {
  height: 50vh;
  }  
  br.sp {
    display: inline; }
  br.pc {
    display: none; }
  nav .sp {
    display: block; }
  nav .pc {
    display: none; }
  .btn--kana {
    padding-left: 8em;
    padding-right: 8em; }
  body, .topheader, .nav {
    min-width: 700px; }
  .topblock--menu, .topblock--hapunaday .topblock__bottom {
    width: 700px; }
  .priceblock {
    width: 658px; }
  .topblock, .topblock__center {
    width: 100% !important; }
  .topblock__left, .topblock__right {
    margin-left: auto;
    margin-right: auto; }
  .topblock--chef, .topblock--chef .topblock__center {
    width: 700px; }
  .topblock--chef, .topblock--chef .topblock__left {
    margin: 0 auto; }
  .topblock--chef, .topblock--chef .topblock__right {
    width: 500px;
    margin: 0 auto; }
  .topblock--layout, .topblock--layout .topblock__center {
    width: 700px; }
  .topblock--layout, .topblock--layout .topblock__left {
    width: 500px;
    margin: 0 auto; }
  .topblock--layout, .topblock--layout .topblock__right {
    margin: 0 auto; }
  .topblock--layout .topblock__right {
    margin: 0 auto;
    padding-top: 30px; }
  .topblock {
    width: 700px; }
    .topblock__left, .topblock__right {
      width: 100%;
      float: none;
      margin-top: 0 !important; }
    .topblock--menu,
    .topblock--menu .topblock__left,
    .topblock--hapunaday .topblock__right {
      padding-top: 30px; }
    .topblock--hapunaday .topblock__left .topblock__img:first-child {
      left: 140px; }
    .topblock--fabulous .topblock__left {
      height: 640px;
      padding-bottom: 60px; }
    .topblock--moonlight .topblock__right {
      height: 513px;
      padding-bottom: 60px; }
    .topblock--blue .topblock__left {
      height: 334px;
      padding-bottom: 60px; }
    .topblock--color .topblock__right {
      height: 511px;
      padding-bottom: 60px; }
  .table em:before {
    content: '　\A　';
    white-space: pre; }
  .table .point em:before {
    content: 'プリンスポイント\A 2倍 ';
    white-space: pre; }
  .nav {
    height: auto; }
    .nav .sp {
      width: 60px;
      margin: 1.5em 2.5em; }
    .nav--sp__line {
      width: 100%;
      height: 2px;
      background: #fff;
      margin: 10px 0; }
    .nav--sp__menu:before {
      content: '';
      display: block;
      width: 100%;
      height: 2px;
      background: #fff;
      position: relative;
      top: 0;
      -webkit-transition: all 300ms 0s ease;
      -o-transition: all 300ms 0s ease;
      transition: all 300ms 0s ease; }
    .nav--sp__menu:after {
      content: '';
      display: block;
      width: 100%;
      height: 2px;
      background: #fff;
      position: relative;
      bottom: 0;
      -webkit-transition: all 300ms 0s ease;
      -o-transition: all 300ms 0s ease;
      transition: all 300ms 0s ease; }
    .nav--sp__menu--open:before {
      position: relative;
      top: 12px; }
    .nav--sp__menu--open:after {
      position: relative;
      bottom: 12px; }
    .nav__ul {
      margin-left: 0;
      text-align: center;
      font-size: 1.5em;
      margin-top: 2em; }
    .nav__li {
      display: block;
      margin: 0;
      border-bottom: 1px solid; }
      .nav__li:first-child {
        margin-left: 0;
        border-top: 1px solid; }
    .nav__a {
      display: block;
      width: 100%;
      padding: 1.5em 0; } 
  
  .cp_tab *,
.cp_tab *:before,
.cp_tab *:after {
-webkit-box-sizing: border-box;
   box-sizing: border-box;
}
.cp_tab {
	margin: 1em auto;
}
.cp_tab > input[type='radio'] {
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 0;
	outline: none;
	background: none;
-webkit-appearance: none;
    appearance: none;
	display: none;
  
}
.cp_tab .cp_tabpanel {
	display: none;
    background: #F5F5D9;
    
}
.cp_tab > input:first-child:checked ~ .cp_tabpanels > .cp_tabpanel:first-child,
.cp_tab > input:nth-child(3):checked ~ .cp_tabpanels > .cp_tabpanel:nth-child(2),
.cp_tab > input:nth-child(5):checked ~ .cp_tabpanels > .cp_tabpanel:nth-child(3),
.cp_tab > input:nth-child(7):checked ~ .cp_tabpanels > .cp_tabpanel:nth-child(4),
.cp_tab > input:nth-child(9):checked ~ .cp_tabpanels > .cp_tabpanel:nth-child(5),
.cp_tab > input:nth-child(11):checked ~ .cp_tabpanels > .cp_tabpanel:nth-child(6) {
	display: block;
}
.cp_tab > label {
    width: 23%;
	position: relative;
	display: inline-block;
	padding: 10px;
    margin: auto 10px;
	cursor: pointer;
	border: 1px solid transparent ;
	border-bottom: 0;
    background: #F5F5D9;
  	border-radius: 6px 6px 0 0;
    font-weight: bold;
    font-size: 12px;
}
.cp_tab > label:hover,
.cp_tab > input:focus + label {
	color: #aaaaaa;
}
.cp_tab > input:checked + label {
	margin-bottom: -1px;
	border-bottom: 1.5px solid #F5F5D9;
}
.cp_tab .cp_tabpanel {
	padding: 30px; 1em;
	border-top: 1px solid #cccccc;
}
}
	  
.month{
	font-size:36px;
	margin-top:10px;
}

.month a:hover{
	opacity:0.7;
}



@media (max-width:700px) { 
  video {
    max-width: 100%;
  }
}

/** Add 2018.7.9 **/
.clearfix:after{
  content: "."; 
  display: block; 
  height: 0; 
  font-size:0;	
  clear: both; 
  visibility:hidden;
}

.restaurant_info {
    text-align: center;
    font-size : 20px;
    margin: 20px 0;
}

.restaurant_photo ul {
  list-style-type: none;
  text-align: center;
  font-size: 0;
  }

.restaurant_photo ul li { 
  display: inline-block; 
  }

.restaurant_photo ul li .left_photo { 
  margin: 0 20px 0 0;  
  }

.restaurant_photo ul li a { 
  display: block;
  margin: 20px 20px 30px 0;
  font-size: 16px;    
  text-decoration: underline;
  }

/** Add 2019.7.16 **/

.event {
    width: 60%;
  }

@media (max-width:700px) { 
  .event {
    width: 100%;
  }
}


/*250226 追記*/
.lyt-box-doc{
	box-sizing: border-box;
	max-width: 650px;
	width: 90%;
	margin: 0 auto 30px;
}
.lyt-box-doc .lyt-txt{
	font-size:14px;
	line-height:1.7;
	letter-spacing:.05em
}
.lyt-box-doc ul.lyt-txt-sub{
	box-sizing: border-box;
	max-width: 580px;
	width: 100%;
	margin: 0 auto 30px;
	list-style: none;
}
.lyt-box-doc ul.lyt-txt-sub li{
	text-indent: -1em;
	padding-left: 1em;
	text-align: left;
	font-size:14px;
	line-height:1.7;
	letter-spacing:.05em
}
.lyt-box-doc ul.lyt-txt-sub li + li{
	margin-top: .6em;
}