.free-area {
  margin-bottom: 40px; }

@media screen and (min-width: 768px) {
  .categorymenu-area .free-area {
    margin-bottom: 80px; } }

.menu-end {
  display: block;
  font-weight: bold;
  color: #F20000;
  margin-bottom: 16px; }

.menu-ttl-area {
  background-color: #F4F4F4;
  padding: 16px 0;
  margin-bottom: 36px; }
  .menu-ttl-area h1, .menu-ttl-area p {
    font-size: 0.875rem; }

.menu-list .menu-content {
  position: relative; }
  .menu-list .menu-content img {
    margin-bottom: 10px; }
  .menu-list .menu-content .remarks-area {
    padding-top: 8px; }

.menu-list h3 {
  font-size: 1rem;
  font-weight: normal;
  margin-bottom: 4px; }

.tag-takeout {
  display: none;
  font-size: 0.625rem;
  width: 80px;
  height: 18px;
  line-height: 18px;
  border-radius: 9px;
  text-align: center;
  color: #fff;
  background-color: #F08300;
  font-weight: bold; }

.menu-list .tag-takeout {
  margin-bottom: 4px; }

.tag-list {
  position: absolute;
  top: 0;
  left: 0; }

.tag-new,
.tag-season {
  font-size: 0.6875rem;
  font-weight: bold;
  display: none;
  padding: 2px 6px;
  color: #fff;
  float: left;
  width: inherit !important; }

.tag-new {
  background-color: #F20000;
  font-family: 'Oswald', sans-serif;
  letter-spacing: -0.01px; }
  @media screen and (min-width: 768px) {
    .tag-new {
      letter-spacing: 0.1rem; } }

.tag-season {
  background-color: #F08300; }

.tag-on {
  display: block !important; }

.price-list {
  display: block; }
  .price-list dt, .price-list dd {
    display: block; }
  .price-list dt {
    white-space: nowrap;
    padding-right: 6px; }
  .price-list dd {
    word-wrap: break-word; }
    .price-list dd span {
      display: block;
      float: left;
      line-height: 22px; }
  @media screen and (max-width: 320px) {
    .price-list .menu-size,
    .price-list .menu-calorie {
      font-size: 0.75rem; }
    .price-list .menu-price {
      font-size: 0.875rem; } }

.menu-size {
  font-size: 0.9rem;
  color: #F08300;
  font-weight: bold;
  margin-right: 2px; }

.menu-price {
  font-size: 1rem;
  font-weight: bold; }

.menu-calorie {
  font-size: 0.8rem; }
  @media screen and (min-width: 768px) {
    .menu-calorie {
      font-size: 0.85rem; } }

.menu-tax {
  font-size: 0.7rem;
  font-weight: bold;
  padding-right: 4px; }

.menu-price .menu-tax {
  padding-right: 0; }

@media screen and (min-width: 1024px) {
  .price-list {
    display: table; }
    .price-list dt, .price-list dd {
      display: table-cell;
      vertical-align: top; } }

.setmenu-area,
.variationmenu-area,
.recommend-area {
  margin-bottom: 56px; }
  @media screen and (min-width: 768px) {
    .setmenu-area,
    .variationmenu-area,
    .recommend-area {
      margin-bottom: 80px; } }

.setmenu-area-list {
  margin-bottom: 32px; }
  .setmenu-area-list h3 {
    font-size: 1rem;
    font-weight: normal; }

.setmenu-content {
  margin-bottom: 8px; }
  .setmenu-content a {
    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; }

.setmenu-area-left {
  width: 25%; }

.setmenu-area-right {
  width: 70%; }

.setmenu-price {
  font-weight: bold; }

@media screen and (min-width: 768px) {
  .setmenu-content {
    width: calc(100% / 3 - 10px);
    margin-bottom: 24px; }
  .setmenu-area-list::after {
    content: "";
    display: block;
    width: calc(100% / 3 - 10px);
    height: 0; } }

.othermenu-area {
  margin-bottom: 40px; }
  .othermenu-area h2 {
    font-size: 1rem;
    margin-bottom: 32px; }

.othermenu-area-list li {
  width: calc(100% / 3 - 6.5px);
  margin: 0 9.75px 40px 0;
  float: left; }

.othermenu-area-list li:nth-of-type(3n) {
  margin: 0 0 40px 0; }

.othermenu-area-list img {
  margin-bottom: 16px; }

.othermenu-area-list h3 {
  font-size: 1rem;
  font-weight: normal;
  text-align: center; }

@media screen and (min-width: 768px) {
  .othermenu-area-list li {
    width: calc(100% / 6 - 6.5px);
    margin: 0 7.8px 40px 0; }
  .othermenu-area-list li:nth-of-type(3n) {
    margin: 0 7.8px 40px 0; }
  .othermenu-area-list li:nth-of-type(6n) {
    margin: 0 0 40px 0; } }

.pickupmenu-area {
  margin-bottom: 80px; }
  .pickupmenu-area h2.ttl-border {
    color: #F08300;
    margin-bottom: 32px; }
    .pickupmenu-area h2.ttl-border .ttl-en::after {
      background-color: #F08300; }

.grandmenu-area {
  margin-bottom: 80px; }
  .grandmenu-area h2 {
    margin-bottom: 32px; }
  .grandmenu-area .menu-area-info {
    text-align: center; }

.grandmenu-area-list {
  text-align: center;
  margin-bottom: 56px; }
  .grandmenu-area-list .menu-content {
    margin-bottom: 16px; }
    @media screen and (min-width: 768px) {
      .grandmenu-area-list .menu-content {
        margin-bottom: 40px; } }
    .grandmenu-area-list .menu-content img {
      margin-bottom: 8px; }
      @media screen and (min-width: 768px) {
        .grandmenu-area-list .menu-content img {
          margin-bottom: 16px; } }
    .grandmenu-area-list .menu-content h3 {
      font-size: 1rem; }

.categorymenu-area {
  margin-bottom: 80px; }
  .categorymenu-area h1 {
    font-size: 1.25rem;
    text-align: center;
    margin-bottom: 48px; }
    @media screen and (min-width: 768px) {
      .categorymenu-area h1 {
        font-size: 1.5rem; } }

.detailmenu-area .menu-btn-takeout {
  margin-bottom: 40px; }

.detailmenu-content {
  position: relative; }

.detailmenu-ttl {
  padding: 16px 0 12px 0; }
  .detailmenu-ttl h1 {
    font-size: 1.25rem;
    display: inline-block;
    margin-right: 8px; }
  .detailmenu-ttl .tag-list {
    display: inline-block;
    position: inherit; }
    .detailmenu-ttl .tag-list li {
      margin: 0 8px -2px 0; }

.detailmenu-img {
  margin-bottom: 24px; }

.detailmenu-text .tag-takeout {
  margin-bottom: 16px; }

.detailmenu-text .text {
  margin-bottom: 32px; }

.detailmenu-pricelist {
  margin-bottom: 16px; }

.detailmenu-info,
.detailmenu-setinfo {
  padding: 24px;
  background-color: #F4F4F4; }
  .detailmenu-info th, .detailmenu-info td,
  .detailmenu-setinfo th,
  .detailmenu-setinfo td {
    text-align: left;
    padding: 4px 8px 4px 0; }
  .detailmenu-info td:last-of-type,
  .detailmenu-setinfo td:last-of-type {
    padding-right: 0; }
  .detailmenu-info .menu-size,
  .detailmenu-info .menu-name,
  .detailmenu-info .menu-calorie,
  .detailmenu-setinfo .menu-size,
  .detailmenu-setinfo .menu-name,
  .detailmenu-setinfo .menu-calorie {
    font-size: 0.75rem; }
  .detailmenu-info .menu-price,
  .detailmenu-setinfo .menu-price {
    font-size: 0.9rem; }

.detailmenu-info {
  margin-bottom: 8px; }

.detailmenu-setinfo h3 {
  font-size: 1rem;
  margin-bottom: 16px; }
  .detailmenu-setinfo h3 span {
    font-size: 0.65rem; }

.detailmenu-setinfo .menu-name {
  font-weight: bold;
  color: #12482B; }

.detailmenu-text {
  margin-bottom: 40px; }
  .detailmenu-text sup a {
    text-decoration: underline; }
    .detailmenu-text sup a::after {
      content: "";
      display: inline-block;
      width: 6px;
      height: 6px;
      border-top: 1px solid #000;
      border-right: 1px solid #000;
      -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
      transform: rotate(45deg);
      margin: 0 0 2px 2px; }

.non-sales-store {
  position: absolute;
  font-size: 0.75rem;
  bottom: 158px;
  left: 0; }
  .non-sales-store a {
    text-decoration: underline; }
    .non-sales-store a::after {
      content: "";
      display: inline-block;
      width: 6px;
      height: 6px;
      border-top: 1px solid #000;
      border-right: 1px solid #000;
      -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
      transform: rotate(45deg);
      margin: 0 0 2px 2px; }

.menu-content .non-sales-store {
  position: inherit;
  bottom: inherit;
  left: inherit; }

.menu-content .cat-menu-note {
  font-size: 0.75rem; }
  .menu-content .cat-menu-note a {
    text-align: underline; }

.menu-detail-link {
  padding-top: 64px; }
  .menu-detail-link li {
    margin-bottom: 8px; }
  .menu-detail-link li:last-of-type {
    margin-bottom: 0; }

.go-back {
  margin-bottom: 80px; }

@media screen and (min-width: 768px) {
  .detailmenu-ttl {
    padding: 32px 0 24px 0; }
    .detailmenu-ttl h1 {
      font-size: 1.5rem; }
  .detailmenu-img,
  .detailmenu-text {
    width: calc(50% - 16px); }
  .detailmenu-text {
    margin-bottom: 80px; }
  .detailmenu-img img {
    margin-bottom: 16px; }
  .detailmenu-img::before {
    padding-top: 100%; }
  .detailmenu-info th, .detailmenu-info td,
  .detailmenu-setinfo th,
  .detailmenu-setinfo td {
    padding: 4px 16px 4px 0; }
  .detailmenu-info .menu-size,
  .detailmenu-info .menu-name,
  .detailmenu-info .menu-calorie,
  .detailmenu-setinfo .menu-size,
  .detailmenu-setinfo .menu-name,
  .detailmenu-setinfo .menu-calorie {
    font-size: 0.9rem; }
  .detailmenu-info .menu-price,
  .detailmenu-setinfo .menu-price {
    font-size: 1.1rem; }
  .non-sales-store {
    position: inherit;
    font-size: 0.8rem; }
    .non-sales-store a:hover {
      color: #F08300; }
  .menu-detail-link {
    padding-top: 16px; } }

@media screen and (max-width: 320px) {
  .detailmenu-info,
  .detailmenu-setinfo {
    padding: 24px 16px; }
    .detailmenu-info .menu-size,
    .detailmenu-info .menu-name,
    .detailmenu-info .menu-calorie,
    .detailmenu-setinfo .menu-size,
    .detailmenu-setinfo .menu-name,
    .detailmenu-setinfo .menu-calorie {
      font-size: 0.7rem; }
    .detailmenu-info .menu-price,
    .detailmenu-setinfo .menu-price {
      font-size: 0.8rem; }
    .detailmenu-info th, .detailmenu-info td,
    .detailmenu-setinfo th,
    .detailmenu-setinfo td {
      padding-right: 4px; } }

.soba-area {
  margin-bottom: 80px; }
  .soba-area h1 {
    font-size: 1.625rem;
    text-align: center;
    margin-bottom: 40px; }
  .soba-area .top-img {
    margin-bottom: 40px; }
  .soba-area .top-text {
    margin-bottom: 56px; }
    .soba-area .top-text p {
      margin-bottom: 24px; }
    @media screen and (min-width: 768px) {
      .soba-area .top-text {
        text-align: center;
        margin-bottom: 80px; } }
  .soba-area h2 {
    font-size: 1.25rem;
    margin-bottom: 32px; }
  .soba-area .remarks-area {
    margin-bottom: 56px; }

.soba-area-list {
  text-align: center;
  margin-bottom: 56px; }
  .soba-area-list .menu-content {
    margin-bottom: 16px; }
    .soba-area-list .menu-content h3 {
      font-size: 1rem; }

.othermenu-soba-area {
  margin-bottom: 16px; }

.soba-link-area {
  margin-bottom: 80px; }

.soba-link li {
  margin-bottom: 8px; }
  @media screen and (min-width: 768px) {
    .soba-link li {
      width: calc(50% - 8px); } }

.soba-category-list {
  margin-bottom: 56px; }
