@charset "UTF-8";
/* CSS Document */

* {
  box-sizing: border-box;
}
body {
  font-family: "游ゴシック体", YuGothic, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
  background: url('../../assets/img/common/bg_main.png') 0 0 repeat;
}

.letter-space--small{
  letter-spacing: 0.15em;
}

.no-scrollbar{
-ms-overflow-style: none; /* IE対策 */
 overflow: -moz-scrollbars-none; /* Firefox対策 */
}
.no-scrollbar::-webkit-scrollbar {
  display: none;
  -webkit-appearance: none;
}

.contents-style h2 {
  font-size: 4.8vw;
}
.hero-carousel {
  width: 100%; /* full width */
  height: 46.6666vw; /* height of carousel */
}
.hero-carousel-cell {
  width: 100%;
  height: 46.6666vw;
  margin-right: 10px;
  border-radius: 0;
  counter-increment: carousel-cell;
  overflow: hidden;
}
/* cell number */
.hero-carousel-cell img {
  width: auto;
  height: 100%;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}
.flickity-prev-next-button {
  top: 50%;
  width: 4vw;
  height: 10vw;
  border-radius: 0%;
  /* vertically center */
  transform: translateY(-50%);
}
.flickity-prev-next-button.previous {
  left: 0;
}
.flickity-prev-next-button.next {
  right: 0;
}
/* right to left */
.flickity-rtl .flickity-prev-next-button.previous {
  left: auto;
  right: 0;
}
.flickity-rtl .flickity-prev-next-button.next {
  right: auto;
  left: 0;
}
.flickity-prev-next-button .flickity-button-icon {
  position: absolute;
  left: 20%;
  top: 20%;
  width: 60%;
  height: 60%;
}
.flickity-button {
  position: absolute;
  background: hsla(0, 0%, 0%, 0.3);
  border: none;
  color: #fff;
}

.flickity-button:hover{
  background: hsla(0, 0%, 0%, 0.6);
}
.flickity-button-icon {
  fill: #fff;
}
section h1 {
  font-size: 5.86666vw;
  font-weight: bold;
  font-family: "Yu Mincho", "YuMincho",source-han-serif-japanese, serif;
  margin: 0;
  padding-top: 5.3333vw;
  text-align: center;
}

section h1 span{
  display: block;
  margin-left: -0.5em;
}
section h1:after {
  display: block;
  content: '';
  width: 4em;
  border-bottom: 4px double #917347;
  margin: 0.25em auto;
}

section.event h1:after {
  width: 7em;
}

section.history h1:after {
  width: 7em;
}

.performance {
  background-color: #fff;
  margin: 0 -5.3333vw;
  padding: 5.3333vw 5.3333vw 10.6666vw;
}
.performance-flyer {
  border: 1px solid #e6e6e6;
  padding: 5.333vw;
}
.performance-list {
  margin-top: 20px;
}
.performance-list li {
  border-bottom: 1px solid #e6e6e6;
  padding: 12px 0;
}
.performance-list h5 {
  font-size: 3.7333vw;
  margin: 0 0 10px;
}
.performance-list .date {
  font-size: 3.7333vw;
  color: #666;
}
.performance-list a {
  font-size: 3.7333vw;
}
.performance-banner {
  margin-top: 4vw;
}
.performance-banner ul {
  width: 100%;
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
}
.performance-banner li {
  width: 48%;
  margin-right: 0;
}
.performance-banner li:nth-child(odd) {
  margin-right: 4%;
}
.performance-banner li a {
  display: block;
  border: 1px solid #e6e6e6;
  padding: 0;
  margin-top: 2.6666vw;
  position: relative;
}
.performance-banner li a img {
  margin: 0;
  padding: 0;
  vertical-align: bottom；
}
.meal-reservation, .meal-information, .meal-banner--block, .event--block {
  background-color: #fff;
  border: 1px solid #ede6d9;
  padding: 6.4vw 6.4vw;
}
.meal-information {
  position: relative;
}
.meal-information .link-header, .miyage-onlineshop .link-header, .miyage-recommend--block .link-header {
  display: block;
  position: relative;
  text-decoration: none;
  color: #1b1b1b;
  text-align: right;
  padding-right: 20px;
  margin-top: -10vw;
  font-size: 3.2vw;
}
.meal-information .link-header:after, .miyage-onlineshop .link-header:after, .miyage-recommend--block .link-header:after {
  display: block;
  content: '';
  width: 6px;
  height: 6px;
  border: 1px solid;
  border-color: #917347 #917347 transparent transparent;
  transform: rotate(45deg);
  position: absolute;
  right: 8px;
  top: 50%;
  margin: -4px 0 0 0;
}
.meal-information a, .miyage-onlineshop a, .miyage-recommend--block a {
  text-decoration: none;
  line-height: 1.2;
}
.meal-information a .link-text, .miyage-onlineshop a .link-text, .miyage-recommend--block a .link-text {
  font-size: 3.73333vw;
  text-decoration: underline;
}
.meal-information a .text .date, .miyage-onlineshop a .text .date, .miyage-recommend--block a .text .date {
  font-size: 3.73333vw;
  color: #666666;
  margin-top: 2.6666vw;
}
.meal-information ul, .miyage-onlineshop ul, .miyage-recommend--block ul {
  padding: 4.6666vw 0 0 0;
}
.meal-navigation ul a, .miyage-navigation ul a {
  font-size: 4.8vw;
  border: 1px solid #898989;
  padding: 4.8vw;
  display: block;
  text-align: center;
  text-decoration: none;
  color: #1b1b1b;
  margin-bottom: 4.6666vw;
  position: relative;
}
.meal-navigation ul a:after, .miyage-navigation ul a:after {
  display: block;
  content: '';
  width: 6px;
  height: 6px;
  border: 1px solid;
  border-color: #917347 #917347 transparent transparent;
  transform: rotate(45deg);
  position: absolute;
  right: 4.6666vw;
  top: 50%;
  margin: -4px 0 0 0;
}
.meal-banner ul li{
  margin: 0 0 20px 0;
}
.meal-banner ul li:first-child{
  display: none;
}
.meal-banner ul li:last-child{
  margin: 0;
}
.meal-reservation ul li, .meal-information ul li, .miyage-onlineshop ul li, .miyage-recommend--block ul li {
  margin-top: 3.2222vw;
}
.meal-reservation ul li a, .meal-information ul li a, .miyage-onlineshop ul li a, .miyage-recommend--block ul li a {
  display: flex;
  flex-wrap: nowrap;
}
.meal-reservation figure, .meal-information figure, .miyage-onlineshop figure, .miyage-recommend--block figure {
  width: 26.6666vw;
}
.meal-reservation figure img, .meal-information figure img, .miyage-onlineshop figure img, .miyage-recommend--block figure img{
  width:100%;
  height: auto;
  
}
.meal-reservation .text, .meal-information .text, .miyage-onlineshop .text, .miyage-recommend--block .text {
  width: 46.13333vw;
  padding: 1.6666vw 0 0 2.13333vw;
}
.meal-reservation a {
  text-decoration: none;
  line-height: 1.2;
}
.meal-reservation .sticker {
  display: block;
  font-size: 13px;
  color: #000;
  background-color: #fff;
  border: 1px solid #898989;
  width: 104px;
  padding: 6px;
  text-decoration: none;
  text-align: center;
  margin: -1.6666vw 0 1.6666vw;
}

.meal-reservation .link-text, .meal-information .link-text {
  text-decoration: underline;
}
#miyage, #latest {
  background-color: #fff;
  margin: 9.8vw -5.3333vw 0;
  padding: 5.3333vw 9.8vw;
}
.miyage-information, .miyage-onlineshop {
  border-bottom: 1px solid #ede6d9;
}
.miyage-information a {
  display: flex;
  height: 19.2vw;
  background-color: #f0f0f0;
  margin: 0 0 4.6666vw 0;
}
.miyage-information a figure {
  width: 25.6vw;
}
.miyage-information a .text {
  width: 52.5333vw;
  align-items: center;
  display: flex;
  position: relative;
}
.miyage-information a .text img {
  width: auto;
  height: 4.8vw;
  margin-left: 4.2666vw;
}
.miyage-information a .text:after {
  display: block;
  content: '';
  width: 6px;
  height: 6px;
  border: 1px solid;
  border-color: #917347 #917347 transparent transparent;
  transform: rotate(45deg);
  position: absolute;
  right: 4.6666vw;
  top: 50%;
  margin: -4px 0 0 0;
}
.miyage-information a.bnner, .miyage-onlineshop a.bnner {
  display: block;
  height: auto;
  background-color: #fff;
  margin: 4.6666vw 0 0 0;
}
.miyage-information a .banner img {
  height: auto;
}
.performance--block, .miyage-information, .miyage-onlineshop, .miyage-banner--block, .latest--block, .history-list {
  padding: 6.8vw 0;
}

.meal--block,.event--block{
  margin-top: 6.8888vw;
}
.miyage-recommend--block {
  padding: 2.6666vw 0 0 0;
}
.event-information {
  overflow-x: scroll;
  -webkit-overflow-scrolling: touch;
}
.event-information ul {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  width: 160vw;
}
.event-information ul li {
  display: none;
  width: 50%;
  padding: 0 2%;
  margin-top: 2.6666vw;
  text-decoration: none;
  line-height: 1.2;
}

.event-information ul li:nth-child(1),
.event-information ul li:nth-child(2),
.event-information ul li:nth-child(3),
.event-information ul li:nth-child(4){
  display: block;
}
.event-information ul li a{
    text-decoration: none;
  }
.event-information ul li .text {
  margin-top: 2.6666vw;
  font-size: 3.7333vw;
}
.event-information ul li a .link-text {
  text-decoration: underline;
}
.event-information ul li a .date,
.event-information ul li .date {
  color: #666;
  margin-top: 2.6666vw;
  text-decoration: none;
}
.event-navigation {
  margin-top: 6.8vw;
}
a.link-type-1 {
  font-size: 4.8vw;
  border: 1px solid #898989;
  padding: 3.6vw 4.8vw;
  display: block;
  text-align: center;
  text-decoration: none;
  color: #1b1b1b;
  margin: 0 auto;
  margin-bottom: 4.6666vw;
  position: relative;
  max-width: 74.6vw;
  background-color: #fff;
}
a.link-type-1:after {
  display: block;
  content: '';
  width: 6px;
  height: 6px;
  border: 1px solid;
  border-color: #917347 #917347 transparent transparent;
  transform: rotate(45deg);
  position: absolute;
  right: 4.6666vw;
  top: 50%;
  margin: -4px 0 0 0;
}
#history {
  margin: 0 -5.3333vw;
}
.history--block {
  overflow-x: scroll;
  -webkit-overflow-scrolling: touch;
}
.history-list ul {
  display: flex;
  flex-wrap: nowrap;
  width: 180vw;
  margin: 0 0 0 2.6666vw;
}
.history-list ul li {
  width: 50%;
  margin: 2.6666vw 1%;
  background-color: #fff;
}
.history-list a {
  display: block;
  text-decoration: none;
  background-color: #fff;
}
.history-list a .title {
  text-decoration: underline;
  padding: 2.4vw 4.8vw 0;
}
.history-list a .text {
  color: #1b1b1b;
  padding: 2.4vw 4.8vw 4.8vw;
}
.latest--block dd {
  margin: 2.6666vw 0 3.2vw 0;
  padding: 0 0 3.2vw;
  border-bottom: 1px solid #e6e6e6;
}
.latest--block dd a {
  font-size: 3.7333vw;
}

#meal,
#event,
#history{
  padding: 6.8vw 0;
}

img.newicon{
  display: inline-block;
  width: 8.53333vw;
  margin: 0vw 1.6vw;
  vertical-align: middle;
}

@media screen and (min-width:768px) { 
  .hero-carousel,.hero-carousel-cell {
    width: 100%;
    height: 40vw;
  }
  nav.global-navigation--block ul{
    display: block;
    max-width: 1200px;
    margin: 0 auto;
    border-left: 1px solid #b09b7d;
  }
  .global-navigation li a {
    width:170px;
    display: block;
    font-size: 18px;
    padding: 24px 0;
  }
  .global-navigation li a:hover{
    background-color: #77603e;
  }
  section h1 {
    font-size: 30px;
    padding-top: 0;
  }
  .performance {
    margin: 0;
    padding: 72px 0;
  }
  #miyage, #latest {
    margin: 0;
    padding: 0;
  }
  #meal, #event, #history, #miyage,#latest {
    padding: 72px 0;
  }
  .meal--block, .event--block, .miyage--block,.history--block {
    max-width: 1200px;
    margin: 36px auto 0;
  }
  .performance--block, .latest--block, .history-list {
    max-width: 1200px;
    padding: 36px 0 0 0;
  }
  .history--block{
    margin: 0 auto 0 auto;
  }
  .history-list {
    padding: 0 0 0 0;
    margin-bottom: 0;
  }
  .latest--block{
    max-width: 1000px;
    margin: 0 auto 0 ;
  }
  .performance--block{
    display: flex;
    flex-wrap: nowrap;
    margin: 0 auto;
  }
  .performance-flyer {
    display: flex;
    width: 330px;
    max-height: 330px;
    padding: 16px;
    align-items: center;
    justify-content: center;
  }
  .performance-list {
    width: 506px;
    margin-top: 0;
    padding: 0 40px 0 24px;
  }
  .performance-list h5 {
    font-size: 16px;
    margin: 0 0 10px;
  }
  .performance-list li {
    padding: 12px 0;
  }
  .performance-list .date,.performance-list a {
    font-size: 16px;
  }
  .performance-banner {
    width: 362px;
    margin-top: 0;
  }
  .performance-banner li{
    margin-bottom: 10px;
  }
  .performance-banner li:nth-child(odd) {
    margin-right: 8px;
  }
  .performance-banner li a {
    padding: 0;
    margin-top: 0;
  }
  .meal-reservation, .meal-information, .meal-banner--block, .event--block {
    padding: 0;
  }
  .meal--block, .miyage--block,.event--block,.latest--block {
    display: flex;
    flex-wrap: wrap;
    padding: 48px 0;
    background-color: #fff;
  }
  .meal--block, .miyage--block {
    flex-wrap: nowrap;
  }
  .history--block {
    padding: 48px 0;
    background-color: transparent;
  }
  .history--block {
  overflow-x: hidden;
}
  .meal-reservation,.meal-information,.meal-banner--block,.miyage-information, .miyage-onlineshop, .miyage-banner--block{
    width: 400px;
    padding: 0 36px;
    border: none;
  }
  .meal-reservation,.meal-information, .miyage-information,.miyage-onlineshop{
    border-right: 1px solid #e0e0e0;
  }
  .contents-style h2 {
    font-size: 20px;
    margin: 0;
  }
  .meal-information .link-header, .miyage-onlineshop .link-header, .miyage-recommend--block .link-header {
    padding-right: 20px;
    margin-top: -30px;
    font-size: 12px;
  }
  .meal-reservation figure, .meal-information figure, .miyage-onlineshop figure, .miyage-recommend--block figure {
    width: 128px;
  }
  .meal-reservation .text, .meal-information .text, .miyage-onlineshop .text, .miyage-recommend--block .text {
        width: 196px;
    padding: 0 0 0 12px;
  }
  .meal-reservation ul li, .meal-information ul li, .miyage-onlineshop ul li, .miyage-recommend--block ul li {
    margin-top: 20px;
  }
  .meal-reservation .sticker {
    width: 104px;
    padding: 6px;
    margin: 0 0 10px;
  }
  .link-text {
    font-size: 16px;
  }
  .meal-information ul, .miyage-onlineshop ul, .miyage-recommend--block ul {
    padding: 0 0 0 0;
    margin: 36px 0 0 0;
  }
  .meal-information a .link-text, .miyage-onlineshop a .link-text, .miyage-recommend--block a .link-text {
    font-size: 16px;
  }
  .meal-information a .text .date, .miyage-onlineshop a .text .date, .miyage-recommend--block a .text .date {
    font-size: 14px;
    margin-top: 10px;
  }
  .meal-navigation ul a, .miyage-navigation ul a {
    font-size: 18px;
    padding: 20px 16px;
    margin-bottom: 24px;
  }
  .miyage-information ul{
    margin-top: 20px;
  }
  .miyage-information a {
    height: auto;
    margin: 0 0 24px 0;
  }
  .miyage-information a figure {
    width: 128px;
  }
  .miyage-information a .text {
    width: 198px;
  }
  .miyage-information a .text img {
    width: auto;
    height: 24px;
    margin-left: 20px;
  }
  .miyage-information a .text:after {
    right: 12px;
  }
  .miyage-information a.bnner, .miyage-onlineshop a.bnner {
    margin: 20px 0 0 0;
  }
  .miyage-recommend--block {
    padding: 20px 0 0 0;
  }
  .event-information {
    width: 100%;
    overflow-x: none;
    -webkit-overflow-scrolling:none;
  }
  .event-information ul {
    width: 100%;
    padding: 0 32px;
  }
  .event-information ul li {
    display: none;
    width: 25%;
    padding: 0 16px;
    margin-top: 0;
  }
  .event-information ul li:nth-child(1),
.event-information ul li:nth-child(2),
.event-information ul li:nth-child(3),
.event-information ul li:nth-child(4){
  display: block;
}
  .event-information ul li .text {
    margin-top: 20px;
    font-size: 16px;
    line-height: 1.4;
  }
  .event-information ul li a .link-text {
  text-decoration: underline;
}
  .event-information ul li a .date,
  .event-information ul li .date {
    margin-top: 10px;
    text-decoration: none;
  }
  .event-navigation {
    margin: 0 auto;
    margin-top: 40px
  }
  .event-navigation li{
    display: inline-block;
    margin: 0 10px;
  }
  a.link-type-1 {
    font-size: 18px;
    padding: 16px;
    margin-bottom: 0;
    width: 256px;
  }
  a.link-type-1:after {
    right: 16px;
  }
  .meal-navigation ul a, .miyage-navigation ul a{
    width: 100%;
  }
  .meal-navigation ul a:after, .miyage-navigation ul a:after {
    right: 16px;
  }
  .news-list__date {
    display: inline-block;
    font-size: 16px;
    margin-right: 16px;
  }
  .latest--block dl{
    width: 100%;
    margin: 0;
    padding: 16px 0;
    border-bottom: 1px solid #e6e6e6;
  }
  .latest--block dt , .latest--block dd{
    display: inline-block;
  }
  .latest--block dd {
    margin: 0 0 0 0;
    padding: 0 0 0 0;
    border: none;
  }
  .latest--block dd a {
    font-size: 16px;
  }
  img.newicon {
    width: 34px;
    margin: 0vw 8px;
  }
  .history-list ul {
    display: flex;
    flex-wrap: nowrap;
    width: 100%;
    margin: 0 0 0 0;
  }
  .history-list ul li {
    width: 33%;
    margin: 0 10px;
  }
  .history-list a .title {
    font-size: 16px;
    padding: 24px 24px 0;
  }
  .history-list a .text {
    font-size: 16px;
    padding: 14px 24px 24px;
  }
  .latest-navigation{
    width: 100%;
  }
  .latest-navigation ul{
    margin: 0 auto;
  }
  #history {
    margin: 0 0;
  }
}