.table--variable > thead > tr, .table--variable > tbody > tr, .table--variable > tfoot > tr, .table--variable > tr { padding: calc(10px + 0.5vw) 0px; border-top: 1px dotted rgba(255, 255, 255, 0.1); }
.table-state--regular th, .table-state--regular td { padding: calc(2px + 0.25vw) 0px; }
.min-p { display: inline-block; }
.local-nav { }
.local-nav ul { text-align: center; margin-bottom: 60px; }
.local-nav li { display: block; margin-left: 30px; margin-right: 30px; white-space: nowrap; }
.local-nav li a { position: relative; text-decoration: none; padding: 10px; display: block; }
.local-nav li a::before { content: ""; position: absolute; width: 100%; height: 1px; bottom: 0px; left: 0px; right: 0px; background-color: currentcolor; opacity: 0.1; }
.section { }
.section:last-child { margin-bottom: 60px; }
.section__header { position: relative; display: flex; align-items: center; justify-content: center; height: 30vh; min-height: 300px; margin: 60px 0px; overflow: hidden; background: center center / cover no-repeat; }
#menu--grand .section__header { height: 75vh; }
.section__header::before { position: absolute; display: block; content: ""; left: 0px; top: 0px; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.2); z-index: 1; }
.section:first-of-type .section__header { opacity: 0; transition: opacity 1.5s ease 0.5s; margin-top: 0px; }
.onloadcomplete .section:first-of-type .section__header { opacity: 1; }
.section__header__title-container { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; height: 100%; margin: auto; text-align: center; line-height: 1; color: rgb(255, 255, 255); z-index: 2; transition: opacity 1s ease 1s; opacity: 0; }
.onloadcomplete .section__header__title-container { opacity: 1; }
.section__header__title { font-size: calc(2rem + 1.5vw); margin: 10px auto; }
.section__header__title--ja { font-size: 120%; }
.section__header__read { position: relative; margin: 15px auto 10px; padding: 15px 10px 0px; font-size: 1.4rem; line-height: 1.4; box-sizing: border-box; }
.section__header__read:first-of-type::before { content: ""; position: absolute; display: block; height: 1px; width: 10px; top: 0px; left: 0px; right: 0px; margin: 0px auto; background-color: currentcolor; }
#menu--grand .section__header { background-image: url("../images/menu/c1-bg.jpg"); }
#menu--lunch .section__header { background-image: url("../images/menu/c2-bg.jpg"); }
#menu--special .section__header { background-image: url("../images/menu/c1-bg.jpg"); }
#menu--drink .section__header { background-image: url("../images/menu/c4-bg.jpg"); }
.section__contents { margin-top: 20px; padding-bottom: 40px; }
.section__contents__title { margin-bottom: 30px; font-size: 2.4rem; line-height: 1.2; display: none; }
.section__contents__read { position: relative; text-align: center; margin-top: 30px; padding-top: 30px; }
.section__contents__read::before { content: ""; position: absolute; display: block; height: 1px; width: 10px; top: 0px; left: 0px; right: 0px; margin: 0px auto; background-color: rgba(255, 255, 255, 0.4); }
.section__contents-inner--1col { text-align: center; margin: 20px auto 60px; width: calc(100% - 15vw); }
.section__contents-inner--2col { text-align: center; margin: auto; width: calc(100% - 15vw); }
.subsection { margin-bottom: 40px; }
.subsection__header { margin: 0px auto 20px; }
.subsection__title { position: relative; margin-bottom: 20px; color: rgb(255, 255, 255); display: flex; flex-direction: row; align-items: center; justify-content: center; }
.subsection__title::before, .subsection__title::after { content: ""; display: block; width: 25px; height: 1px; background-color: rgb(255, 255, 255); }
.subsection__title::before { margin-right: 10px; transform: rotate(-45deg); }
.subsection__title::after { margin-left: 10px; transform: rotate(-45deg); }
.subsection__read { margin-bottom: 20px; }
.courese { }
.courese__item { display: flex; flex-direction: column; margin-bottom: 60px; }
.courese__item__type { order: 2; margin: 20px auto; color: rgb(0, 0, 0); font-size: calc(1.6rem + 0.05vw); font-weight: 500; text-align: center; }
.courese__item__figure { order: 1; }
.courese__item__figure img { display: block; width: 100%; max-width: 600px; height: auto; margin: auto; }
.courese__item__table { order: 3; table-layout: fixed; width: 100%; margin: 0px auto 20px; line-height: 1.6; }
.special-courese .courese__item__figure { order: 0; margin-bottom: 20px; }
.special-courese .course-name { color: rgb(0, 0, 0); }
.special-courese ruby { font-size: 120%; }
.special-courese rt { font-size: 0.9rem; }
.special-courese .reserve { margin-left: 0.25em; padding-left: 1em; line-height: 1.6; border-left: 1px solid rgba(0, 0, 0, 0.2); font-size: 80%; }
.course-name { font-size: 1.4rem; margin-bottom: 5px; position: relative; padding-top: 20px; }
.course-name::before { position: absolute; content: ""; width: 5px; height: 1px; display: block; background-color: rgba(0, 0, 0, 0.4); top: 0px; left: 0px; right: 0px; margin: 0px auto 20px; }
.course-description { margin-bottom: 5px; font-size: 90%; }
.course-price { margin-bottom: 20px; line-height: 1.5; }
.course-size { display: inline-flex; align-items: center; justify-content: center; margin-right: 3px; width: 1em; height: 1em; border-radius: 50%; padding: 0.1em; font-size: 70%; line-height: 1; text-align: center; color: rgb(255, 255, 255); background-color: rgb(80, 80, 80); border: 1px solid rgb(80, 80, 80); }
.courese__item__table--other { width: 100%; }
.courese__item__table--other .name { text-align: center; font-weight: normal; color: rgb(0, 0, 0); }
.courese__item__table--other .description { box-sizing: border-box; font-size: 90%; text-align: center; }
.courese__item__table--other .price { text-align: center; }
.courese__item__table--other .reserve { font-size: 90%; text-align: center; }
.courese__item__table--other.col4 { }
.courese__item__table--other.col4 .name { font-weight: normal; color: rgb(0, 0, 0); }
.courese__item__table--other.col4 .description { }
.courese__item__table--other.col4 .reserve { white-space: nowrap; }
.courese__item__table--drink { width: 100%; }
.courese__item__table--drink .name { font-size: 110%; font-weight: normal; text-align: center; line-height: 1.3; color: rgb(255, 255, 255); }
.courese__item__table--drink .description { box-sizing: border-box; font-size: 90%; text-align: center; }
.courese__item__table--drink .type { text-align: center; }
.courese__item__list--drink { text-align: center; }
.courese__item__list--drink li { }
.notice { margin: 60px auto; font-size: 90%; }
.notice li::before { content: "●"; display: inline-block; margin-right: 5px; }
.notice--annotation { }
.notice--annotation li::before { content: "※"; }
.part-footer { text-align: center; border-top: 1px solid rgba(0, 0, 0, 0.1); }
@media screen and (min-width: 374px) {
}
@media screen and (min-width: 541px) {
  .local-nav li { display: inline-block; margin-left: 5px; margin-right: 5px; margin-bottom: 0px; max-width: 14em; }
  .local-nav a { min-width: 8em; font-size: 1.1rem; }
}
@media screen and (min-width: 768px) {
  .courese__container { }
  .courese__item__table--other { }
  .courese__item__table--other .name { text-align: left; width: 20%; }
  .courese__item__table--other .description { padding-left: 10px; width: 60%; text-align: left; box-sizing: border-box; }
  .courese__item__table--other .price { padding-left: 10px; box-sizing: border-box; text-align: right !important; }
  .courese__item__table--drink .name { text-align: left; width: 20%; }
  .courese__item__table--drink.wine .name { width: 70%; }
  .courese__item__table--drink.wine .description { width: auto; }
  .courese__item__table--drink .description { padding-left: 10px; width: 60%; text-align: left; box-sizing: border-box; }
  .courese__item__table--drink .type { text-align: right; }
  .courese__item__table--other.col4 .name { }
  .courese__item__table--other.col4 .description { }
  .courese__item__table--other.col4 .reserve { white-space: nowrap; padding-left: 10px; text-align: left; }
  .courese__item--other .courese__item__type { text-align: center; }
}
@media screen and (min-width: 960px) {
  .section { margin-top: -90px; padding-top: 60px; }
  .section__header { margin: 0px 0px 100px; height: 65vh; }
  #menu--grand .section__header { height: 80vh; }
  .part-header-container { position: relative; display: flex; width: calc(100% - 0px); margin: 0px auto; background-color: rgb(0, 0, 0); z-index: 10; padding: 0px 80px; box-sizing: border-box; box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 0px; }
  .part-header { width: auto; z-index: 10; }
  .local-nav ul { display: flex; margin-bottom: 0px; }
  .local-nav li { margin-left: 30px; margin-right: 0px; }
  .section__header__read { margin-top: 30px; padding: 30px 10px 0px; }
  .section__contents-inner--1col { width: calc(100% - 160px); }
  .section__contents-inner--2col { width: calc(100% - 160px); }
  .course-size { font-size: 80%; }
  .local-nav.sticky { position: sticky; top: 0px; display: flex; align-items: center; justify-content: center; width: 100%; height: 60px; margin-top: 0px; padding-top: 0px; padding-bottom: 0px; background-color: rgb(0, 0, 0); box-sizing: border-box; box-shadow: rgba(255, 255, 255, 0.05) 0px 1px 0px, rgba(255, 255, 255, 0.05) 0px -1px 0px; font-size: 90%; z-index: 3; }
  .local-nav.sticky li { margin-left: 10px; margin-right: 10px; }
  .local-nav.sticky li:first-child { margin-left: 0px; }
  .local-nav.sticky li:last-child { margin-right: 0px; }
  .local-nav.sticky li a::before { opacity: 0; }
  .local-nav.sticky a { width: auto; min-width: initial; }
  .local-nav.sticky li a::before { opacity: 0; }
}
@media screen and (min-width: 1280px) {
  .part-header-container { justify-content: space-between; }
  .part-header { margin: 0px; }
  .local-nav.sticky { position: sticky; top: 60px; transform: translateY(0px); transition: all 0.75s cubic-bezier(0.65, 0.05, 0.36, 1) 0s; }
  .scroll-down .local-nav.sticky { position: sticky; transform: translateY(-60px); }
  .scroll-y-end .local-nav.sticky { position: sticky; transform: translateY(0px); }
  .courese { display: block; }
  .courese__item { display: block; width: 100%; margin-bottom: 20px; overflow: hidden; }
  .courese__item__type { text-align: left; margin-bottom: 20px; width: 100%; }
  .courese__item:first-child .courese__item__type { margin-top: 0px; }
  .courese__item__table { width: calc(50% - 20px); float: left; }
  .courese__item__table thead th { width: 60%; }
  .courese__item__figure { width: calc(50% - 20px); float: right; }
  .courese__item__figure img { max-width: initial; }
  .section__header__title--ja { }
  .section__contents { width: 100%; padding-bottom: 100px; }
  .section__contents.flex { display: flex; }
  .section__contents__title { display: block; margin-bottom: 10px; }
  .section__contents__read { text-align: left; margin-right: 60px; margin-top: 15px; padding-top: 15px; }
  .section__contents__read::before { left: 0px; right: auto; width: 15%; }
  .section__contents-inner--1col { width: 33.3333%; margin-top: 40px; padding-left: 80px; box-sizing: border-box; text-align: left; position: sticky; top: 160px; height: 200px; }
  .section__contents-inner--2col { width: 66.6666%; padding-top: 40px; padding-right: 80px; box-sizing: border-box; text-align: left; }
  .subsection { margin-bottom: 80px; }
  .subsection__title { justify-content: flex-start; }
  .subsection__title::before { width: 20px; height: 1px; transform: rotate(0deg); }
  .subsection__title::after { display: none; }
  .courese__item--other .courese__item__type { text-align: left; }
  .courese__item__table--drink .name { width: 30%; font-size: 100%; }
  .courese__item__table--drink .description { width: 50%; }
  .courese__item__table--drink.wine { table-layout: auto; }
  .courese__item .courese__item__table--other { width: calc(50% - 20px); float: right; }
  .courese__item .courese__item__table--other .description { width: 40%; }
  .courese__item__list--drink { text-align: left; }
  .courese__item__list--drink li { display: inline-block; }
  .courese__item__list--drink li::after { content: "、"; }
  .courese__item__list--drink li:last-child::after { content: ""; }
  .courese__item__table .course-name::before { margin-left: 0px; left: 0px; width: 100%; background-color: rgba(0, 0, 0, 0.05); }
  .courese__item__table .course-price { text-align: right; }
}
