/* ==========================================================================
   initialize
   ========================================================================== */
#introduction {
  text-align: center; }
  #introduction .title {
    margin-bottom: 2rem; }
  #introduction .text {
    line-height: 1.75;
    display: inline-block;
    text-align: left;
    margin-bottom: 2rem; }
  #introduction .time {
    font-family: 'Noto Serif JP', sans-serif;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center; }
    #introduction .time dl {
      padding: 0 1.5rem;
      margin-bottom: 0; }
      #introduction .time dl dt {
        font-size: 1.5rem;
        font-weight: normal; }
  #introduction .address {
    margin-bottom: 0; }
  #introduction .tel {
    font-family: 'Noto Serif JP', sans-serif;
    font-size: 1.5rem; }

#header.r #topimage img {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%); }
  #header.r #topimage img[data-toggle="lunch"] {
    top: 60%;
    top: 48%; }
  #header.r #topimage img[data-toggle="dinner"] {
    top: 47%;
    top: 77%; }

#menu_container {
  position: relative; }
  #menu_container #lunchmenu,
  #menu_container #dinnermenu {
    position: absolute;
    top: 0;
    background-color: #fff;
    width: 100%; }

#radio_lunch, #radio_dinner {
  display: none; }

#radio_lunch:checked ~ main .nav-tab-container .nav-item .nav-link[for="radio_lunch"],
#radio_dinner:checked ~ main .nav-tab-container .nav-item .nav-link[for="radio_dinner"] {
  cursor: default;
  color: #fff;
  background-color: #d7b863; }
  #radio_lunch:checked ~ main .nav-tab-container .nav-item .nav-link[for="radio_lunch"]:before,
  #radio_dinner:checked ~ main .nav-tab-container .nav-item .nav-link[for="radio_dinner"]:before {
    content: "";
    position: absolute;
    display: block;
    width: 10px;
    height: 10px;
    border-right: 3px solid white;
    border-bottom: 3px solid white;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    margin: 3px 0 0 3px; }

#radio_lunch:checked ~ header [data-toggle="lunch"],
#radio_dinner:checked ~ header [data-toggle="dinner"] {
  opacity: 1; }

#radio_lunch:checked ~ main [data-toggle="lunch"],
#radio_dinner:checked ~ main [data-toggle="dinner"] {
  opacity: 1; }

*[data-toggle="lunch"],
*[data-toggle="dinner"] {
  -webkit-transition: opacity .5s;
  -o-transition: opacity .5s;
  transition: opacity .5s;
  opacity: 0; }

#menu_tab {
  width: 100%;
  background-color: rgba(255, 255, 255, 0.9); }

  #menu_tab .nav-tab {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center;
/**
    border-bottom: solid 10px #d7b863;
**/
    border-bottom: solid 10px rgb(0, 120, 210);
    margin-bottom: 0; }
    #menu_tab .nav-tab .nav-item {
      font-size: 17px;
      font-weight: 500;
      margin: 0 .75rem;
      margin-bottom: -1px; }
      #menu_tab .nav-tab .nav-item .nav-link {
        cursor: pointer;
        min-width: 300px;
        line-height: 1;
        display: block;
        padding: 1rem;
/*
        color: #d7b863;
*/
        color: rgb(0, 120, 210);
        text-decoration: none;
/*
        border: solid 1px #d7b863;
*/
        border: 1px solid rgb(0, 120, 210);
        background-color: rgba(255, 255, 255, 0);
        margin-bottom: 0;
        -webkit-transition: color .5s, background-color .5s;
        -o-transition: color .5s, background-color .5s;
        transition: color .5s, background-color .5s; }
  #menu_tab.fixed {
    position: fixed;
    z-index: 5; }

.menu-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }
  .menu-list .menu-item {
    width: calc(50% - .5rem);
    max-width: 500px;
    margin-top: 7rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column; }
    .menu-list .menu-item.fill {
      width: 100%;
      max-width: none;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -ms-flex-direction: row;
      flex-direction: row; }
      .menu-list .menu-item.fill.reverse {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse; }
    .menu-list .menu-item .menu-body {
      padding: 1rem 0; }
      .menu-list .menu-item .menu-body .menu-title {
        margin-bottom: .75rem;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        position: relative;
        padding-left: 25px;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center; }
        .menu-list .menu-item .menu-body .menu-title .catchy {
          -ms-flex-preferred-size: 100%;
          flex-basis: 100%;
          font-size: 14px;
          font-style: normal;
          color: #291c19; }
        .menu-list .menu-item .menu-body .menu-title .sub {
          line-height: 1;
          font-size: 14px;
          padding: .25rem;
          font-weight: inherit;
          margin-left: .5rem;
          margin-right: auto;
          color: #f00;
          border: solid 1px; }
        .menu-list .menu-item .menu-body .menu-title .lo-price {
          margin-left: auto; }
        .menu-list .menu-item .menu-body .menu-title:before, .menu-list .menu-item .menu-body .menu-title:after {
          position: absolute;
          width: 10px;
          height: 10px;
          top: 0;
          content: "";
          margin-top: auto;
          margin-bottom: auto;
          bottom: 0; }
        .menu-list .menu-item .menu-body .menu-title:before {
          background-color: #f2f2f0;
          left: 5px;
          top: 5px;
          bottom: -5px; }
        .menu-list .menu-item .menu-body .menu-title:after {
          background-color: #e2cb8b;
          left: 0;
          -webkit-box-shadow: 1px 1px 0 #fff;
          box-shadow: 1px 1px 0 #fff; }
      .menu-list .menu-item .menu-body .menu-detail li {
        font-size: .95rem;
        text-indent: -18px;
        padding-left: 18px; }
        .menu-list .menu-item .menu-body .menu-detail li .g {
          color: gray; }
        .menu-list .menu-item .menu-body .menu-detail li:before {
          content: "";
          display: inline-block;
          vertical-align: middle;
          width: 6px;
          height: 6px;
          border-radius: 3px;
          margin-right: 6px;
          margin-left: 6px;
          background-color: gray;
          text-indent: 0; }
        .menu-list .menu-item .menu-body .menu-detail li ul {
          padding-left: 6px;
          padding-bottom: .25rem;
          text-indent: 0; }
        .menu-list .menu-item .menu-body .menu-detail li li:before {
          background-color: #999; }
      .menu-list .menu-item .menu-body .menu-remark {
        font-size: .9rem;
        margin-top: 1rem; }
        .menu-list .menu-item .menu-body .menu-remark > li {
          text-indent: -1em;
          padding-left: 1em; }
    .menu-list .menu-item.fill .menu-body {
      padding-left: 1.5rem;
      padding-right: 0;
      -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
      max-width: 400px;
      -webkit-box-flex: 1;
      -ms-flex-positive: 1;
      flex-grow: 1;
      -ms-flex-negative: 0;
      flex-shrink: 0; }
    .menu-list .menu-item.fill .menu-img {
      max-width: 750px;
      -webkit-box-flex: 1;
      -ms-flex-positive: 1;
      flex-grow: 1; }
    .menu-list .menu-item.fill.reverse .menu-body {
      padding-left: 0;
      padding-right: 1.5rem; }
    .menu-list .menu-item:not(.fill):not(.nowrap) .menu-body .menu-detail li {
      display: inline-block; }
    .menu-list .menu-item .menu-img img {
      max-width: 100%; }
    .menu-list .menu-item.daily {
      padding: 1rem;
      background-color: #f2f2f2;
      -ms-flex-item-align: start;
      align-self: flex-start; }
      .menu-list .menu-item.daily #pager {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin-top: -.25rem;
        margin-bottom: .75rem;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center; }
        .menu-list .menu-item.daily #pager .prev, .menu-list .menu-item.daily #pager .next {
          color: #fff;
          line-height: 1;
          font-size: 14px;
          background-color: gray;
          cursor: pointer;
          padding: .5rem;
          -webkit-transition: background-color .5s;
          -o-transition: background-color .5s;
          transition: background-color .5s; }
          .menu-list .menu-item.daily #pager .prev:hover, .menu-list .menu-item.daily #pager .next:hover {
            background-color: #d7b863; }
          .menu-list .menu-item.daily #pager .prev:before, .menu-list .menu-item.daily #pager .next:before {
            content: "";
            display: inline-block;
            width: 6px;
            height: 6px;
            margin-right: 6px;
            vertical-align: middle;
            -webkit-transform: rotate(45deg);
            -ms-transform: rotate(45deg);
            transform: rotate(45deg); }
        .menu-list .menu-item.daily #pager .prev:before {
          border-bottom: 2px solid #fff;
          border-left: 2px solid #fff; }
        .menu-list .menu-item.daily #pager .next {
          margin-left: auto;
          margin-left: .5rem; }
          .menu-list .menu-item.daily #pager .next:before {
            border-top: 2px solid #fff;
            border-right: 2px solid #fff; }
      .menu-list .menu-item.daily .daily-title {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin-bottom: .75rem; }
        .menu-list .menu-item.daily .daily-title .lo-price {
          margin-left: auto; }
      .menu-list .menu-item.daily dl {
        margin-bottom: 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        border-top: solid 1px #eee5e2; }
        .menu-list .menu-item.daily dl dt {
          font-size: 1.125rem;
          padding: .75rem 0;
          margin-right: 1rem;
          -ms-flex-negative: 0;
          flex-shrink: 0;
          -webkit-box-flex: 0;
          -ms-flex-positive: 0;
          flex-grow: 0;
          text-align: center; }
          .menu-list .menu-item.daily dl dt > small {
            display: block;
            font-size: 14px;
            color: gray; }
        .menu-list .menu-item.daily dl dd {
          padding: .75rem 0;
          margin-bottom: 0;
          -webkit-box-flex: 1;
          -ms-flex-positive: 1;
          flex-grow: 1; }
      .menu-list .menu-item.daily li {
        display: inline-block;
        text-indent: -18px;
        padding-left: 18px; }
        .menu-list .menu-item.daily li:before {
          content: "";
          display: inline-block;
          vertical-align: middle;
          width: 6px;
          height: 6px;
          border-radius: 3px;
          margin-right: 6px;
          margin-left: 6px;
          background-color: #291c19;
          text-indent: 0; }
        .menu-list .menu-item.daily li ul {
          padding-left: 6px;
          padding-bottom: .25rem; }
  .menu-list .menu-item {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1; }
    .menu-list .menu-item:first-child {
      -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
      order: -1; }
    .menu-list .menu-item.daily {
      -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
      order: -1; }

.sgl-menu-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-bottom: 4rem; }
  .sgl-menu-container .sgl-menu-img {
    margin-top: 4rem;
    width: calc(50% - .5rem);
    max-width: 500px;
    position: relative;
    overflow: hidden; }
    .sgl-menu-container .sgl-menu-img:before {
      content: "";
      display: block;
      height: 0;
      padding-bottom: 100%; }
    .sgl-menu-container .sgl-menu-img img {
      position: absolute;
      top: 0;
      left: 50%;
      -webkit-transform: translateX(-46%);
      -ms-transform: translateX(-46%);
      transform: translateX(-46%); }
    .sgl-menu-container .sgl-menu-img.l12 img {
      top: -5%; }
    .sgl-menu-container .sgl-menu-img.d11 img {
      -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
      transform: translateX(-50%); }
    .sgl-menu-container .sgl-menu-img.c9 {
      -ms-flex-item-align: start;
      align-self: flex-start; }
      .sgl-menu-container .sgl-menu-img.c9:before {
        padding-bottom: 80%; }
      .sgl-menu-container .sgl-menu-img.c9 img {
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        transform: translateX(-50%); }
    .sgl-menu-container .sgl-menu-img.m8 img {
      -webkit-transform: translateX(-55%);
      -ms-transform: translateX(-55%);
      transform: translateX(-55%); }
  .sgl-menu-container .sgl-menu-body {
    margin-top: 4rem;
    width: 50%;
    padding: 0 1rem;
    max-width: calc(500px + 2rem); }
    .sgl-menu-container .sgl-menu-body dl {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
      .sgl-menu-container .sgl-menu-body dl dt {
        font-size: 1.125rem; }
        .sgl-menu-container .sgl-menu-body dl dt.fill {
          -ms-flex-preferred-size: 100%;
          flex-basis: 100%; }
      .sgl-menu-container .sgl-menu-body dl dt + dd {
        font-size: 1.125rem;
        white-space: nowrap;
        margin-left: auto;
        -ms-flex-item-align: end;
        align-self: flex-end; }
      .sgl-menu-container .sgl-menu-body dl dd + dd {
        width: 100%;
        font-size: .9375rem;
        margin-top: -.5rem; }
      .sgl-menu-container .sgl-menu-body dl:not(:last-of-type) {
        margin-bottom: 0; }
  .sgl-menu-container .tit {
    padding: .125rem 0;
    border-bottom: solid 1px #291c19; }
  .sgl-menu-container dl + .tit {
    margin-top: 1rem; }
