@charset "UTF-8";
/* Scss Document */
body {
  position: relative;
  color: #000;
  -webkit-text-size-adjust: 100%;
  font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
  max-width: 100%;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  letter-spacing: 0.03em;
}
body.active {
  overflow: hidden;
}
body.toggle_open {
  height: 100vh;
  overflow: hidden;
}

.wrapper {
  width: 100%;
  overflow: hidden;
}

img {
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
  -webkit-backface-visibility: hidden;
}

a {
  -webkit-transition: all ease 0.3s;
  transition: all ease 0.3s;
}

.al_center {
  text-align: center;
}

.al_right {
  text-align: right;
}

.al_left {
  text-align: left;
}

.font_b {
  font-weight: bold;
}

.paragraph-group {
  display: block;
}

.paragraph {
  display: inline-block;
}

.contarea {
  max-width: 1300px;
  margin-right: auto;
  margin-left: auto;
}

@media screen and (max-width: 767px) {
  .sp_contarea {
    padding-right: 15px;
    padding-left: 15px;
  }
  .pc_only {
    display: none !important;
  }
}
@media print, screen and (min-width: 768px) {
  .sp_only {
    display: none !important;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1100px) {
  .contarea {
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media screen and (min-width: 1101px) {
  .contarea {
    padding-left: 50px;
    padding-right: 50px;
  }
}
.contarea_s {
  max-width: 860px;
  margin-right: auto;
  margin-left: auto;
}

.prg_h {
  margin-bottom: 12px !important;
}

.prg {
  margin-bottom: 16px !important;
}

.prg_w {
  margin-bottom: 22px !important;
}

.display_flex{
	display: flex;
}

@media screen and (max-width: 640px) {
.display_flex {
    flex-flow: column;
}
}

@media print, screen and (min-width: 768px) {
  .prg_w {
    margin-bottom: 25px !important;
  }
}

.prg_2w {
  margin-bottom: 30px !important;
}
@media print, screen and (min-width: 768px) {
  .prg_2w {
    margin-bottom: 40px !important;
  }
}

.prg_3w {
  margin-bottom: 40px !important;
}
@media print, screen and (min-width: 768px) {
  .prg_3w {
    margin-bottom: 60px !important;
  }
}

.prg_4w {
  margin-bottom: 50px !important;
}
@media print, screen and (min-width: 768px) {
  .prg_4w {
    margin-bottom: 80px !important;
  }
}

.gf {
  font-family: "Oswald", sans-serif;
}

.bold {
  font-weight: 700;
}

.maincol {
  color: #E60012;
}

.subcol {
  color: #666666;
}

.red {
  color: #f33;
}

.fl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.fl-c {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.fl-spb {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.fl-aic {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media screen and (max-width: 767px) {
  .tit_lv-1 {
    font-size: 20px;
  }
  .tit_lv-2 {
    font-size: 18px;
  }
  .tit_lv-3 {
    font-size: 16px;
  }
}
@media print, screen and (min-width: 768px) {
  .tit_lv-1 {
    font-size: 26px;
  }
  .tit_lv-2 {
    font-size: 22px;
  }
  .tit_lv-3 {
    font-size: 18px;
  }
}

.btn_common {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 50px;
  border-radius: 25px;
  font-weight: bold;
  max-width: 250px;
}
.btn_common::after {
  content: "";
  display: block;
  width: 6px;
  height: 10px;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 25px;
  margin: auto 0;
  background: url(../images/arrow_white.svg);
  -webkit-transition: all linear 0.3s;
  transition: all linear 0.3s;
}
.btn_common:hover::after {
  right: 15px;
}
.btn_common.white {
  background: #fff;
  color: #000;
}
.btn_common.white::after {
  background: url(../images/arrow_black.svg);
}
.btn_common.white:hover {
  background: #000;
  color: #fff;
}
.btn_common.white:hover::after {
  background: url(../images/arrow_white.svg);
}
.btn_common.black {
  background: #000;
  color: #fff;
}
.btn_common.black::after {
  background: url(../images/arrow_white.svg);
}
.btn_common.black:hover {
  background: #fff;
  color: #000;
}
.btn_common.black:hover::after {
  background: url(../images/arrow_black.svg);
}
.btn_common.red {
  background: #E60012;
  color: #fff;
}
.btn_common.red:hover {
  background: #000;
}
.btn_common.red.towhite:hover {
  background: #fff;
  color: #000;
}
.btn_common.red.towhite:hover::after {
  background: url(../images/arrow_black.svg);
}
.btn_common.line {
  background: #fff;
  border: 1px solid #000;
  color: #000;
}
.btn_common.line::after {
  background: url(../images/arrow_black.svg);
}
.btn_common.line:hover {
  background: #000;
  color: #fff;
}
.btn_common.line:hover::after {
  background: url(../images/arrow_white.svg);
}
.btn_common.large {
  max-width: 400px;
}
.btn_common.arr::after {
  content: "→";
  width: 1em;
  height: 1.5em;
  background: none;
}

.btn_rectangle {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 50px;
  font-weight: bold;
}
.btn_rectangle::after {
  content: "";
  display: block;
  width: 6px;
  height: 10px;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 25px;
  margin: auto 0;
  background: url(../images/arrow_white.svg);
  -webkit-transition: all linear 0.3s;
  transition: all linear 0.3s;
}
.btn_rectangle:hover::after {
  right: 15px;
}
.btn_rectangle.red {
  background: #E60012;
  color: #fff;
}
.btn_rectangle.red:hover {
  background: #000;
}

.loupe {
  position: relative;
}
.loupe::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 55px;
  height: 55px;
  background-image: url(../images/icon_loupe.svg);
  background-size: 55px;
  background-repeat: no-repeat;
  background-position: center;
  opacity: 0.3;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.box_sec_tit .en {
  line-height: 1;
  font-family: "Oswald", sans-serif;
}
.box_sec_tit .tit_section {
  font-weight: 700;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 767px) {
  .box_sec_tit .en {
    font-size: 60px;
  }
  .box_sec_tit .tit_section {
    font-size: 13px;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1100px) {
  .box_sec_tit .en {
    font-size: 75px;
  }
  .box_sec_tit .tit_section {
    font-size: 13px;
  }
}
@media screen and (min-width: 1101px) {
  .box_sec_tit .en {
    font-size: 75px;
  }
  .box_sec_tit .tit_section {
    font-size: 13px;
  }
}

.bg_dot, .area_top_menu .menu_wrap::after, .bg_dot_shift::after {
  background-color: transparent;
  background-image: radial-gradient(#E60012 30%, transparent 30%);
  background-size: 6px 6px;
}

.bg_dot_shift {
  position: relative;
}
.bg_dot_shift::after {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .bg_dot_shift::after {
    top: 10px;
    left: 10px;
  }
}
@media print, screen and (min-width: 768px) {
  .bg_dot_shift::after {
    top: 20px;
    left: 20px;
  }
}

.area_header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  width: 100%;
  background: #fff;
}
.area_header .box_logo .logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.area_header .box_logo .logo a {
  display: block;
}
.area_header .box_logo .logo a:hover, .area_header .box_logo .logo a:active {
  opacity: 0.7;
}
.area_header .box_logo .logo a img {
  display: block;
  height: auto;
}
@media screen and (max-width: 900px) {
  .area_header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 45px;
  }
  .area_header .box_logo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
  }
  .area_header .box_logo .logo {
    height: 45px;
    padding-left: 16px;
  }
  .area_header .box_logo .logo a img {
    width: 100px;
  }
  .area_header .box_logo .gnav_toggle {
    position: relative;
    z-index: 1010;
    width: 45px;
    height: 45px;
    background: #E60012;
  }
  .area_header .box_logo .gnav_toggle span {
    display: block;
    color: transparent;
  }
  .area_header .box_logo .gnav_toggle::before, .area_header .box_logo .gnav_toggle::after, .area_header .box_logo .gnav_toggle span::before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    width: 25px;
    height: 1px;
    background: #fff;
    margin: auto;
  }
  .area_header .box_logo .gnav_toggle::before {
    top: 13px;
  }
  .area_header .box_logo .gnav_toggle::after {
    bottom: 13px;
  }
  .area_header .box_logo .gnav_toggle span::before {
    top: 0;
    bottom: 0;
  }
  .area_header .box_logo .gnav_toggle.open::before {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
    top: 0;
    bottom: 0;
  }
  .area_header .box_logo .gnav_toggle.open::after {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    top: 0;
    bottom: 0;
  }
  .area_header .box_logo .gnav_toggle.open span::before {
    width: 0;
  }
  .area_header .area_gnav {
    width: 100%;
    height: calc(100% - 45px);
    visibility: hidden;
    overflow: scroll;
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 1000;
    padding: 75px 0px;
    background: rgba(0, 0, 0, 0.7);
    -webkit-transition: all ease 0.1s;
    transition: all ease 0.1s;
    opacity: 0;
    overflow: hidden;
    color: #fff;
  }
  .area_header .area_gnav.toggle_open {
    display: block;
    visibility: visible;
    opacity: 1;
    overflow: scroll;
  }
  .area_header .area_gnav .gnavi {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .area_header .area_gnav .gnavi_li {
    width: 100%;
    border: #B3B3B3 1px;
    border-style: solid none none none;
    text-align: center;
  }
  .area_header .area_gnav .gnavi_li.info, .area_header .area_gnav .gnavi_li.businesshours, .area_header .area_gnav .gnavi_li.travel, .area_header .area_gnav .gnavi_li.bus, .area_header .area_gnav .gnavi_li.gallery, .area_header .area_gnav .gnavi_li.pudding {
    width: 50%;
  }
  .area_header .area_gnav .gnavi_li.info, .area_header .area_gnav .gnavi_li.travel, .area_header .area_gnav .gnavi_li.gallery {
    border-right: #B3B3B3 1px solid;
  }
  .area_header .area_gnav .gnavi_li.gallery, .area_header .area_gnav .gnavi_li.pudding {
    border-bottom: #B3B3B3 1px solid;
  }
  .area_header .area_gnav .gnavi_content {
    padding: 16px 0;
    display: block;
    font-weight: bold;
  }
  .area_header .area_gnav .gnavi_content.wide {
    display: none;
  }
  .area_header .area_gnav .gnavi_content.toggle {
    position: relative;
  }
  .area_header .area_gnav .gnavi_content.toggle::after {
    content: "";
    display: block;
    position: absolute;
    top: 16px;
    right: 20px;
    width: 16px;
    height: 16px;
    background-image: url(../images/arrow_white.svg);
    background-size: 16px;
    background-position: center center;
    background-repeat: no-repeat;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
  }
  .area_header .area_gnav .gnavi_content.toggle.active::after {
    -webkit-transform: rotate(-90deg);
            transform: rotate(-90deg);
  }
  .area_header .area_gnav .gnavi .area_umenu {
    display: none;
  }
  .area_header .area_gnav .gnavi .area_umenu.active {
    display: block;
  }
  .area_header .area_gnav .gnavi .undermenu {
    border-top: #B3B3B3 1px solid;
    padding: 8px 0;
  }
  .area_header .area_gnav .gnavi .undermenu > li a {
    display: block;
    padding: 8px;
  }
  .area_header .area_gnav .contact {
    padding-top: 30px;
  }
  .area_header .area_gnav .contact a {
    margin: 0 auto;
    display: block;
    max-width: 240px;
    height: 50px;
    line-height: 50px;
    border-radius: 25px;
    background-color: #fff;
    font-weight: bold;
    text-align: center;
    color: #000;
  }
}
@media print, screen and (min-width: 901px) {
  .area_header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 60px;
  }
  .area_header .box_logo .logo {
    height: 60px;
    padding-left: 20px;
  }
  .area_header .box_logo .logo a img {
    width: 150px;
  }
  .area_header .box_logo .gnav_toggle {
    display: none !important;
  }
  .area_header .area_gnav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-size: 14px;
  }
  .area_header .area_gnav .gnavi {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .area_header .area_gnav .gnavi .gnavi_content {
    font-weight: bold;
    padding: 15px 20px;
    display: block;
  }
  .area_header .area_gnav .gnavi .gnavi_content:hover {
    color: #E60012;
  }
  .area_header .area_gnav .gnavi .gnavi_content.toggle {
    display: none;
  }
  .area_header .area_gnav .area_umenu {
    display: none;
  }
  .area_header .area_gnav .contact {
    margin-left: 20px;
    margin-right: 20px;
  }
  .area_header .area_gnav .contact a {
    display: block;
    width: 130px;
    height: 38px;
    line-height: 38px;
    border-radius: 19px;
    background-color: #E60012;
    font-weight: bold;
    text-align: center;
    color: #fff;
    border: 1px solid #E60012;
  }
  .area_header .area_gnav .contact a:hover {
    border: 1px solid #E60012;
    background: #fff;
    color: #E60012;
  }
  .area_header .area_gnav .info,
.area_header .area_gnav .businesshours,
.area_header .area_gnav .travel,
.area_header .area_gnav .bus,
.area_header .area_gnav .gallery,
.area_header .area_gnav .pudding {
    display: none;
  }
}

.area_footer {
  position: relative;
  background: #000;
}
.area_footer .pagetop {
  position: absolute;
  right: 20px;
  top: -70px;
  width: 50px;
  height: 50px;
  background-color: #E60012;
  font-family: "Oswald", sans-serif;
  font-size: 14px;
}
.area_footer .pagetop_inner {
  position: relative;
}
.area_footer .pagetop a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
  color: #fff;
}
.area_footer .pagetop a:hover {
  background-color: #000;
}
.area_footer .pagetop img {
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
  width: 12px;
}
.area_footer .footer_head {
  background-color: #f4f4f4;
}
.area_footer .area_breadcrumb {
  padding-top: 15px;
  padding-bottom: 15px;
}
.area_footer .area_breadcrumb .breadcrumb_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.area_footer .area_breadcrumb .breadcrumb {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.area_footer .area_breadcrumb .breadcrumb li:nth-of-type(n+2)::before {
  content: ">";
  margin: 0 5px;
}
.area_footer .footer_sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
}
.area_footer .footer_sns .icon img {
  width: 36px;
  height: auto;
}
.area_footer .footer_nav {
  color: #fff;
}
.area_footer .footer_nav .gnavi_content {
  display: block;
  font-weight: bold;
}
.area_footer .footer_nav .group_nav {
  color: #fff;
  padding-bottom: 40px;
}
.area_footer .footer_nav .group_nav_ttl {
  width: 250px;
  font-weight: bold;
}
.area_footer .footer_nav .group_nav_content a {
  position: relative;
  display: block;
  border: #fff 1px solid;
  padding: 16px 50px;
}
.area_footer .footer_nav .group_nav_content a::after {
  content: "";
  display: block;
  width: 6px;
  height: 10px;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 25px;
  margin: auto 0;
  background: url(../images/arrow_white.svg);
  -webkit-transition: all linear 0.3s;
  transition: all linear 0.3s;
}
.area_footer .footer_nav .group_nav_content a:hover {
  color: #E60012;
}
.area_footer .footer_nav .group_nav_content a:hover::after {
  right: 15px;
}
.area_footer .footer_copy {
  height: 36px;
  padding: 11px 0;
  background: #1a1a1a;
  font-size: 11px;
  color: #fff;
  text-align: center;
}
@media screen and (max-width: 900px) {
  .area_footer .area_breadcrumb .breadcrumb {
    display: none;
  }
  .area_footer .area_breadcrumb .breadcrumb_inner {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .area_footer .footer_nav .gnavi {
    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;
  }
  .area_footer .footer_nav .gnavi_container {
    display: contents;
  }
  .area_footer .footer_nav .gnavi_content {
    display: block;
  }
  .area_footer .footer_nav .gnavi .commitment,
.area_footer .footer_nav .gnavi .nikukuru {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
    width: 100%;
    border-bottom: #333 solid 1px;
    padding: 16px 0;
    text-align: center;
  }
  .area_footer .footer_nav .gnavi .menu .gnavi_content, .area_footer .footer_nav .gnavi .restaurant .gnavi_content, .area_footer .footer_nav .gnavi .info .gnavi_content,
.area_footer .footer_nav .gnavi .news, .area_footer .footer_nav .gnavi .contact, .area_footer .footer_nav .gnavi .businesshours, .area_footer .footer_nav .gnavi .travel, .area_footer .footer_nav .gnavi .bus, .area_footer .footer_nav .gnavi .gallery, .area_footer .footer_nav .gnavi .pudding {
    width: 50%;
    padding: 16px 0;
    text-align: center;
    border-bottom: #333 solid 1px;
  }
  .area_footer .footer_nav .gnavi .menu .gnavi_content, .area_footer .footer_nav .gnavi .info .gnavi_content,
.area_footer .footer_nav .gnavi .contact, .area_footer .footer_nav .gnavi .travel, .area_footer .footer_nav .gnavi .gallery {
    border-right: #333 solid 1px;
  }
  .area_footer .footer_nav .group_nav_ttl {
    margin: 50px auto 20px;
    width: 100%;
    text-align: center;
  }
  .area_footer .footer_nav .group_nav_content {
    margin-bottom: 25px;
  }
  .area_footer .footer_nav .area_umenu {
    display: none;
  }
}
@media print, screen and (min-width: 901px) {
  .area_footer .footer_nav .gnavi {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding-top: 45px;
    padding-bottom: 45px;
  }
  .area_footer .footer_nav .gnavi.second {
    padding-top: 0;
  }
  .area_footer .footer_nav .gnavi_content {
    padding: 8px 0px;
  }
  .area_footer .footer_nav .gnavi_content:hover {
    color: #E60012;
  }
  .area_footer .footer_nav .gnavi .undermenu {
    font-weight: normal;
  }
  .area_footer .footer_nav .gnavi .undermenu > li {
    margin: 4px 0;
  }
  .area_footer .footer_nav .gnavi .undermenu > li a:hover {
    color: #E60012;
  }
  .area_footer .footer_nav .group_nav_inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .area_footer .footer_nav .group_nav_container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 20px 30px;
    width: calc(100% - 250px);
  }
}

/* スクロール処理 */
.scr {
  opacity: 0;
  -webkit-transition: all 0.4s linear 0.8s;
  transition: all 0.4s linear 0.8s;
}
.scr.left {
  -webkit-transform: translateX(50px);
          transform: translateX(50px);
}
.scr.right {
  -webkit-transform: translateX(-50px);
          transform: translateX(-50px);
}
.scr.up {
  -webkit-transform: translateY(50px);
          transform: translateY(50px);
}
.scr.down {
  -webkit-transform: translateY(-50px);
          transform: translateY(-50px);
}
.scr.animation {
  opacity: 1;
  -webkit-transform: translateX(0) translateY(0);
          transform: translateX(0) translateY(0);
}

@media all and (-ms-high-contrast: none) {
  .scr {
    opacity: 1 !important;
    -webkit-transform: translateX(0) translateY(0) !important;
            transform: translateX(0) translateY(0) !important;
  }
}
/* テキストアニメーション */
/* 初期は非表示 */
.txt_animation .line,
.txt_animation .letter {
  display: inline-block;
  opacity: 0;
}

/* is-visible になったらアニメーション開始 */
.txt_animation.is-visible .line {
  opacity: 1;
}

.txt_animation.is-visible .letter {
  -webkit-animation: slideIn 0.8s ease-in-out 0.5s forwards;
          animation: slideIn 0.8s ease-in-out 0.5s forwards;
}

/* 文字が左から出てくるアニメーション（お好みの動きでどうぞ） */
@-webkit-keyframes slideIn {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-50px, 0, 0);
            transform: translate3d(-50px, 0, 0);
  }
  40% {
    opacity: 0.5;
    -webkit-transform: translate3d(20px, 0, 0);
            transform: translate3d(20px, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
@keyframes slideIn {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-50px, 0, 0);
            transform: translate3d(-50px, 0, 0);
  }
  40% {
    opacity: 0.5;
    -webkit-transform: translate3d(20px, 0, 0);
            transform: translate3d(20px, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
/* top */
.area_kv {
  width: 100%;
}
.area_kv .kv_video {
  width: 100%;
  height: 100vh;
  background: url(../images/top/kv.jpg) no-repeat center/cover;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  z-index: -1;
  background-color: #000;
}
.area_kv .kv_video video {
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%);
}
.area_kv .kv_logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 100vh;
  background-color: transparent;
  background-image: radial-gradient(#000 30%, transparent 30%);
  background-size: 6px 6px;
}
.area_kv .kv_logo img {
  width: 300px;
}

.area_top_nikukuru {
  background-color: #E60012;
  position: relative;
}
.area_top_nikukuru::before {
  content: "";
  display: block;
  position: absolute;
  background-repeat: no-repeat;
}
.area_top_nikukuru::after {
  content: "";
  display: block;
  position: absolute;
  background-repeat: no-repeat;
}
.area_top_nikukuru .nikukuru_inner {
  position: relative;
  z-index: 1;
}
.area_top_nikukuru .nikukuru_main {
  position: relative;
  z-index: 1;
}
.area_top_nikukuru .nikukuru_ttl {
  position: relative;
  z-index: 1;
}
.area_top_nikukuru .btn_common {
  margin: 0 auto;
}
@media screen and (max-width: 900px) {
  .area_top_nikukuru {
    padding: 20px 15px 60px;
    margin-bottom: 60px;
  }
  .area_top_nikukuru::before {
    bottom: 70px;
    left: -30px;
    width: 180px;
    height: 135px;
    background-image: url(../images/nikukuru/bg_niku1_sp.png);
    background-size: 180px;
  }
  .area_top_nikukuru::after {
    bottom: 10px;
    right: -60px;
    width: 180px;
    height: 145px;
    background-image: url(../images/nikukuru/bg_niku2_sp.png);
    background-size: 180px;
  }
  .area_top_nikukuru .nikukuru_lead {
    width: 100%;
    max-width: 288px;
    margin: 0 auto 10px;
  }
  .area_top_nikukuru .nikukuru_ttl {
    max-width: 560px;
    width: 100%;
    margin: 0 auto;
  }
  .area_top_nikukuru .nikukuru_kantan {
    display: none;
  }
  .area_top_nikukuru .nikukuru_circle {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 8px auto 35px;
    gap: 20px;
  }
  .area_top_nikukuru .nikukuru_takeout {
    position: relative;
    width: 122px;
  }
  .area_top_nikukuru .nikukuru_delivery {
    position: relative;
    width: 122px;
  }
}
@media print, screen and (min-width: 901px) {
  .area_top_nikukuru {
    padding: 60px 0 30px;
    margin-bottom: 70px;
  }
  .area_top_nikukuru::before {
    top: -45px;
    left: -20px;
    width: 350px;
    height: 455px;
    background-image: url(../images/nikukuru/bg_niku1_pc.png);
    background-size: 350px;
  }
  .area_top_nikukuru::after {
    top: -45px;
    right: -50px;
    width: 480px;
    height: 460px;
    background-image: url(../images/nikukuru/bg_niku2_pc.png);
    background-size: 480px;
  }
  .area_top_nikukuru .nikukuru_lead {
    width: 390px;
    margin: 0 auto 10px;
  }
  .area_top_nikukuru .nikukuru_main {
    margin-bottom: 30px;
  }
  .area_top_nikukuru .nikukuru_ttl {
    width: 560px;
    margin: 0 auto;
  }
  .area_top_nikukuru .nikukuru_kantan {
    position: absolute;
    top: -100px;
    right: calc(50% + 210px);
    width: 215px;
  }
  .area_top_nikukuru .nikukuru_takeout {
    position: absolute;
    top: -95px;
    right: calc(50% - 230px);
    width: 122px;
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
  .area_top_nikukuru .nikukuru_delivery {
    position: absolute;
    top: 15px;
    right: calc(50% - 280px);
    width: 133px;
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
}

.area_info .info_link_content:hover {
  opacity: 0.7;
}
@media screen and (max-width: 900px) {
  .area_info .info_ttl {
    padding: 0 15px;
    margin-bottom: 25px;
  }
  .area_info .info_link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 15px 15px;
    margin-bottom: 40px;
    padding: 0 15px;
  }
  .area_info .info_link_content {
    width: calc((100% - 15px) / 2);
  }
}
@media print, screen and (min-width: 901px) {
  .area_info .info_ttl {
    padding-left: 96px;
  }
  .area_info .info_link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    width: calc(100% - 360px);
    margin-top: -94.5px;
    margin-left: auto;
    margin-bottom: 70px;
  }
  .area_info .info_link_content {
    width: 300px;
    margin-right: 20px;
  }
  .area_info .info_slider .slick-arrow {
    width: 30px;
    height: 80px;
    background: #000;
    -webkit-transition: all ease 0.3s;
    transition: all ease 0.3s;
    opacity: 1;
    z-index: 150;
  }
  .area_info .info_slider .slick-arrow::before {
    display: block;
    content: "";
    width: 30px;
    height: 80px;
    background: url(../images/arrow_white.svg) no-repeat center center/14px auto;
    opacity: 1;
  }
  .area_info .info_slider .slick-arrow:hover {
    opacity: 1;
    background: #000;
  }
  .area_info .info_slider .slick-prev {
    left: 0;
    border-radius: 0 10px 10px 0;
  }
  .area_info .info_slider .slick-prev::before {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
  }
  .area_info .info_slider .slick-next {
    right: 0;
    border-radius: 10px 0 0 10px;
  }
}

.area_bannerslider .bannerslider_content {
  margin: 0 5px;
}
.area_bannerslider .bannerslider_content:hover {
  opacity: 0.8;
}
@media screen and (max-width: 767px) {
  .area_bannerslider {
    position: relative;
    padding-top: 20px;
  }
  .area_bannerslider .banner_slider {
    height: 90vw;
    margin-bottom: 15px;
    overflow: hidden;
  }
  .area_bannerslider .bannerslider_content {
    display: block;
    margin-bottom: 10px;
  }
  .area_bannerslider .show_more {
    position: absolute;
    bottom: 0px;
    left: 0px;
    width: 100%;
    line-height: 40px;
    padding-top: 60px;
    text-align: center;
    color: #E60012;
    font-weight: bold;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), color-stop(65%, rgb(255, 255, 255)));
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 65%);
    cursor: pointer;
    -webkit-transition: bottom 0.2s;
    transition: bottom 0.2s;
  }
  .area_bannerslider .active {
    background: none;
    bottom: -30px;
  }
}
@media print, screen and (min-width: 768px) {
  .area_bannerslider {
    padding-top: 50px;
  }
  .area_bannerslider .show_more {
    display: none;
  }
  .area_bannerslider .bannerslider_content {
    max-width: 850px;
  }
  .area_bannerslider .slick-arrow {
    width: 30px;
    height: 80px;
    background: #000;
    -webkit-transition: all ease 0.3s;
    transition: all ease 0.3s;
    opacity: 1;
    z-index: 150;
  }
  .area_bannerslider .slick-arrow::before {
    display: block;
    content: "";
    width: 30px;
    height: 80px;
    background: url(../images/arrow_white.svg) no-repeat center center/14px auto;
    opacity: 1;
  }
  .area_bannerslider .slick-arrow:hover {
    opacity: 1;
    background: #000;
  }
  .area_bannerslider .slick-prev {
    border-radius: 0 10px 10px 0;
    left: 0;
  }
  .area_bannerslider .slick-prev::before {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
  }
  .area_bannerslider .slick-next {
    border-radius: 10px 0 0 10px;
    right: 0;
  }
  .area_bannerslider .slick-dotted.slick-slider {
    margin-bottom: 60px;
  }
  .area_bannerslider .slick-dots {
    bottom: -40px;
  }
  .area_bannerslider .slick-dots li button:before {
    font-size: 20px;
    opacity: 1;
  }
  .area_bannerslider .slick-dots li.slick-active button:before {
    color: #E60012;
    opacity: 1;
  }
}

.area_top_commitment {
  background-image: url(../images/bg_comit.jpg);
  background-size: 100%;
  background-repeat: no-repeat;
  background-color: #000;
  color: #fff;
}
.area_top_commitment .commitment_ttl {
  text-align: center;
}
.area_top_commitment .commitment_ttl_inner {
  display: inline-block;
  border: #fff solid 1px;
  font-weight: 900;
}
.area_top_commitment .commitment_lead {
  max-width: 510px;
  font-weight: 900;
}
.area_top_commitment .commitment_txt {
  max-width: 760px;
}
.area_top_commitment .btn_common {
  margin: 0 auto;
}
.area_top_commitment .btn_common.red:hover {
  background: #fff;
  color: #000;
}
.area_top_commitment .btn_common.red:hover::after {
  background: url(../images/arrow_black.svg);
}
@media screen and (max-width: 767px) {
  .area_top_commitment {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .area_top_commitment .commitment_ttl {
    margin-bottom: 40px;
  }
  .area_top_commitment .commitment_ttl_inner {
    padding: 8px 12px 12px 12px;
    font-size: 18px;
    letter-spacing: 0.5em;
    line-height: 1;
  }
  .area_top_commitment .commitment_lead {
    max-width: 330px;
    margin: 0 auto 40px;
    font-size: 34px;
    letter-spacing: 0.2em;
  }
  .area_top_commitment .commitment_txt {
    margin: 0 auto 40px;
    font-size: 18px;
    letter-spacing: 0.15em;
    line-height: 1.7;
  }
}
@media print, screen and (min-width: 768px) {
  .area_top_commitment {
    padding-top: 92px;
    padding-bottom: 92px;
  }
  .area_top_commitment .commitment_ttl {
    margin-bottom: 60px;
  }
  .area_top_commitment .commitment_ttl_inner {
    padding: 10px 15px 15px 15px;
    font-size: 22px;
    letter-spacing: 0.5em;
    line-height: 1;
  }
  .area_top_commitment .commitment_lead {
    margin: 0 auto 85px;
    font-size: 53px;
    letter-spacing: 0.2em;
  }
  .area_top_commitment .commitment_txt {
    margin: 0 auto 60px;
    font-size: 21px;
    letter-spacing: 0.15em;
    line-height: 1.7;
  }
}

.area_top_menu {
  background-image: url(../images/bg_triangle.svg);
  background-repeat: no-repeat;
  background-size: 100%;
}
.area_top_menu .box_sec_tit {
  color: #fff;
  text-align: center;
}
.area_top_menu .menu_wrap {
  position: relative;
}
.area_top_menu .menu_wrap::after {
  content: "";
  display: block;
  position: absolute;
  top: 20px;
  left: 20px;
  z-index: -1;
  width: 100%;
  height: 100%;
}
.area_top_menu .menu_container {
  color: #fff;
}
.area_top_menu .menu_container:nth-child(2n-1) .menu_content.txt {
  background: #E60012;
}
.area_top_menu .menu_container:nth-child(2n) .menu_content.txt {
  background: #000;
}
.area_top_menu .menu_ttl {
  text-align: center;
  font-weight: bold;
}
.area_top_menu .menu_btn .btn_common {
  margin: 0 auto;
}
.area_top_menu .menu_btn .btn_common.red:hover {
  background: #fff;
  color: #000;
}
.area_top_menu .menu_btn .btn_common.red:hover::after {
  background: url(../images/arrow_black.svg);
}
@media screen and (max-width: 767px) {
  .area_top_menu {
    background-size: 170%;
    padding-top: 80px;
  }
  .area_top_menu .box_sec_tit {
    margin-bottom: 36px;
  }
  .area_top_menu .menu_wrap::after {
    top: auto;
    bottom: -40px;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100px;
  }
  .area_top_menu .menu_container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-bottom: 35px;
  }
  .area_top_menu .menu_content {
    width: 100%;
  }
  .area_top_menu .menu_content.img {
    padding: 0 15px;
  }
  .area_top_menu .menu_content.txt {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    padding: 70px 15px 0 15px;
    margin-top: -35px;
  }
  .area_top_menu .menu_ttl {
    margin-bottom: 20px;
    font-size: 28px;
  }
  .area_top_menu .menu_txt {
    font-size: 16px;
    margin-bottom: 35px;
    line-height: 2;
  }
  .area_top_menu .menu_btn {
    margin-bottom: 52px;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1100px) {
  .area_top_menu {
    background-size: 120%;
    padding-top: 100px;
  }
  .area_top_menu .box_sec_tit {
    margin-bottom: 52px;
  }
  .area_top_menu .menu_wrap {
    margin-bottom: 80px;
  }
  .area_top_menu .menu_container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .area_top_menu .menu_content {
    width: 50%;
  }
  .area_top_menu .menu_content.txt {
    padding: 30px 35px 0 35px;
  }
  .area_top_menu .menu_ttl {
    margin-bottom: 20px;
    font-size: 28px;
  }
  .area_top_menu .menu_txt {
    font-size: 16px;
    height: 120px;
    margin-bottom: 8px;
    line-height: 1.8;
  }
}
@media screen and (min-width: 1101px) {
  .area_top_menu {
    padding-top: 100px;
  }
  .area_top_menu .box_sec_tit {
    margin-bottom: 52px;
  }
  .area_top_menu .menu_wrap {
    margin-bottom: 80px;
  }
  .area_top_menu .menu_container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .area_top_menu .menu_content {
    width: 50%;
  }
  .area_top_menu .menu_content.txt {
    padding: 60px 60px 0 60px;
  }
  .area_top_menu .menu_ttl {
    margin-bottom: 40px;
    font-size: 36px;
  }
  .area_top_menu .menu_txt {
    font-size: 18px;
    height: 150px;
    margin-bottom: 25px;
    line-height: 2;
  }
}

.area_restaurant {
  background: #000;
}
.area_restaurant .box_sec_tit {
  color: #fff;
}
.area_restaurant .restaurant_content {
  display: block;
}
.area_restaurant .restaurant_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 16px;
  background-color: #E60012;
  color: #fff;
  font-weight: bold;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.area_restaurant .restaurant_inner::after {
  content: "";
  display: block;
  position: absolute;
  top: -43px;
  left: -25px;
  width: 200px;
  height: 200px;
  -webkit-transform: rotate(22deg);
          transform: rotate(22deg);
  background-image: url(../images/logo_white.svg);
  background-size: 200px;
}
@media screen and (max-width: 767px) {
  .area_restaurant {
    padding: 52px 0px 52px 0px;
    margin-bottom: 52px;
  }
  .area_restaurant .box_sec_tit {
    color: #fff;
    margin-bottom: 36px;
  }
  .area_restaurant .restaurant_content {
    width: 100%;
    margin-bottom: 18px;
    font-size: 22px;
  }
  .area_restaurant .restaurant_inner {
    height: 90px;
  }
}
@media print, screen and (min-width: 768px) {
  .area_restaurant {
    padding: 70px 0px 90px 0px;
    margin-bottom: 70px;
  }
  .area_restaurant .box_sec_tit {
    color: #fff;
    margin-bottom: 32px;
  }
  .area_restaurant .restaurant_container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 30px;
  }
  .area_restaurant .restaurant_content {
    max-width: 400px;
    width: 50%;
    font-size: 26px;
  }
  .area_restaurant .restaurant_inner {
    height: 94px;
  }
}

.area_top_news .box_sec_tit {
  text-align: center;
}
.area_top_news .news_content {
  margin-top: -1px;
  border: #e6e6e6 1px;
  border-style: solid none solid none;
}
.area_top_news .news_date {
  color: #666666;
}
.area_top_news .news_ttl {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
}
.area_top_news .btn_common {
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .area_top_news {
    margin-bottom: 100px;
  }
  .area_top_news .box_sec_tit {
    margin-bottom: 50px;
  }
  .area_top_news .news_container {
    margin-bottom: 40px;
  }
  .area_top_news .news_content {
    padding: 18px 15px;
  }
  .area_top_news .news_date {
    width: 170px;
  }
  .area_top_news .news_ttl {
    -webkit-line-clamp: 2;
  }
}
@media print, screen and (min-width: 768px) {
  .area_top_news {
    margin-bottom: 120px;
    position: relative;
  }
  .area_top_news::after {
    content: "";
    display: block;
    position: absolute;
    bottom: -75%;
    right: -10%;
    z-index: -1;
    width: 620px;
    height: 620px;
    background-image: url(../images/logo_red.svg);
    background-size: 620px;
    opacity: 0.1;
  }
  .area_top_news .box_sec_tit {
    margin-bottom: 60px;
  }
  .area_top_news .news_container {
    margin-bottom: 40px;
  }
  .area_top_news .news_content {
    padding: 32px 15px;
  }
  .area_top_news .news_content a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .area_top_news .news_content a:hover {
    text-decoration: underline;
  }
  .area_top_news .news_date {
    width: 170px;
  }
  .area_top_news .news_ttl {
    width: calc(100% - 170px);
    -webkit-line-clamp: 1;
  }
}

.area_banner .banner_row_content {
  display: block;
}
.area_banner .banner_row_content:hover {
  opacity: 0.7;
}
.area_banner .banner_col_content:hover {
  opacity: 0.7;
}
@media screen and (max-width: 767px) {
  .area_banner .banner_row {
    margin-bottom: 36px;
  }
  .area_banner .banner_row_content {
    margin-bottom: 16px;
    width: 100%;
  }
  .area_banner .banner_btn_container {
    margin-bottom: 36px;
  }
  .area_banner .banner_btn_container .btn_rectangle {
    width: 100%;
    margin-bottom: 16px;
  }
  .area_banner .banner_col {
    margin-bottom: 100px;
  }
}
@media print, screen and (min-width: 768px) {
  .area_banner .banner_row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-bottom: 60px;
  }
  .area_banner .banner_row_content {
    width: calc(50% - 10px);
  }
  .area_banner .banner_btn_container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-bottom: 60px;
  }
  .area_banner .banner_btn_container .btn_rectangle {
    width: calc((100% - 54px) / 3);
  }
  .area_banner .banner_col {
    margin-bottom: 60px;
  }
}

@media screen and (max-width: 900px) {
  .page_info {
    padding-top: 45px;
  }
}
@media print, screen and (min-width: 901px) {
  .page_info {
    padding-top: 60px;
  }
}

.info_top {
  background: #000;
  color: #fff;
}
.info_top_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .info_top {
    margin-bottom: 20px;
  }
  .info_top_ttl {
    padding: 20px 0;
  }
  .info_top_img {
    width: 170px;
  }
}
@media print, screen and (min-width: 768px) {
  .info_top {
    margin-bottom: 50px;
  }
  .info_top_ttl {
    padding: 30px 0;
  }
  .info_top_img {
    width: 270px;
  }
}
.info_content_img {
  max-width: 300px;
}
.info_content_detail_ttl {
  font-size: 20px;
  font-weight: 900;
  letter-spacing: 0.2em;
  border-bottom: 2px solid #E60012;
}
.info_content_detail_lead {
  font-weight: 900;
  letter-spacing: 0.2em;
}
.info_content_detail_red {
  font-size: 16px;
  font-weight: bold;
  color: #E60012;
  letter-spacing: 0.2em;
}
.info_content_detail_txt {
  font-size: 12px;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .info_container {
    margin-bottom: 80px;
  }
  .info_content_img {
    margin: 0 auto 20px;
  }
  .info_content_detail {
    width: 100%;
  }
  .info_content_detail_ttl {
    padding-bottom: 14px;
    margin-bottom: 20px;
  }
  .info_content_detail_lead {
    margin-bottom: 14px;
    font-size: 22px;
  }
  .info_content_detail_red {
    margin-bottom: 27px;
  }
  .info_content_detail_img {
    margin-bottom: 20px;
    width: 100%;
  }
  .info_content_detail_txt {
    margin-bottom: 30px;
  }
  .info_content_detail_app {
    margin-bottom: 27px;
    padding: 20px;
    background: #E60012;
    font-size: 25px;
    color: #fff;
    font-weight: 900;
    text-align: center;
    letter-spacing: 0.1em;
  }
  .info_content_detail_app_inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
        justify-content: space-around;
    margin-top: 20px;
  }
  .info_content_detail_app_inner img {
    height: 12vw;
  }
  .info_content_detail .btn_common {
    margin: 0 auto;
  }
}
@media print, screen and (min-width: 768px) {
  .info_container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 28px;
    margin-bottom: 90px;
  }
  .info_content_detail {
    width: 100%;
  }
  .info_content_detail_ttl {
    padding-bottom: 14px;
    margin-bottom: 29px;
  }
  .info_content_detail_lead {
    margin-bottom: 14px;
    font-size: 32px;
  }
  .info_content_detail_red {
    margin-bottom: 14px;
    font-size: 16px;
  }
  .info_content_detail_img {
    margin-bottom: 14px;
    width: 100%;
  }
  .info_content_detail_txt {
    margin-bottom: 14px;
  }
}

@media screen and (max-width: 900px) {
  .page_pudding {
    padding-top: 45px;
  }
}
@media print, screen and (min-width: 901px) {
  .page_pudding {
    padding-top: 60px;
  }
}
.page_pudding .area_restaurant {
  background: #fff;
}
.page_pudding .area_restaurant .box_sec_tit {
  color: #000;
}
@media print, screen and (min-width: 768px) {
  .page_pudding .area_restaurant {
    margin-bottom: 0px;
    padding-bottom: 140px;
  }
}

.pudding_mv {
  position: relative;
  z-index: 1;
  background-color: #FFEBCF;
}
.pudding_mv::after {
  content: "";
  display: block;
  position: absolute;
  bottom: -25px;
  left: 0;
  width: 100%;
  height: 25px;
  background-image: url(../images/pudding/bg_wave.svg);
  background-repeat: repeat-x;
  background-size: 113px 25px;
}
@media screen and (max-width: 900px) {
  .pudding_mv {
    padding: 7% 0;
  }
  .pudding_mv_ttl {
    width: 70%;
    margin: 0 auto;
  }
  .pudding_mv_lead {
    width: 80%;
    margin: -17% auto 0;
  }
  .pudding_mv_img_01 {
    max-width: 575px;
  }
  .pudding_mv_img_02 {
    display: none;
  }
}
@media print, screen and (min-width: 901px) {
  .pudding_mv {
    padding: 20px 0 10px;
  }
  .pudding_mv_ttl {
    position: absolute;
    top: 40px;
    left: 50%;
    -webkit-transform: translateX(-80%);
            transform: translateX(-80%);
    max-width: 503px;
  }
  .pudding_mv_lead {
    position: absolute;
    top: 215px;
    left: 50%;
    -webkit-transform: translateX(-65%);
            transform: translateX(-65%);
    max-width: 445px;
  }
  .pudding_mv_img {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .pudding_mv_img_01 {
    max-width: 575px;
  }
  .pudding_mv_img_02 {
    max-width: 280px;
  }
}
.pudding_commit {
  padding: 70px 0;
}
@media screen and (max-width: 767px) {
  .pudding_commit_content.img {
    max-width: 550px;
    margin-right: auto;
    margin-left: auto;
  }
  .pudding_commit_content.txt {
    max-width: 550px;
    margin-right: auto;
    margin-left: auto;
  }
  .pudding_commit .pudding_detail_ttl_inner {
    color: #E60012;
  }
}
@media print, screen and (min-width: 768px) {
  .pudding_commit_container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .pudding_commit_content {
    width: 50%;
  }
  .pudding_commit_content.img {
    padding: 0 30px;
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
  }
  .pudding_commit_content.txt {
    max-width: 500px;
  }
}
.pudding_syokuzai {
  position: relative;
  z-index: 1;
  margin-top: 25px;
  margin-bottom: 25px;
  padding: 40px 0;
  background-color: #FFEBCF;
}
.pudding_syokuzai::before, .pudding_syokuzai::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  width: 100%;
  height: 25px;
  background-image: url(../images/pudding/bg_wave.svg);
  background-repeat: repeat-x;
  background-size: 113px 25px;
}
.pudding_syokuzai::before {
  top: -25px;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.pudding_syokuzai::after {
  bottom: -25px;
}
.pudding_syokuzai_ttl {
  max-width: 500px;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 60px;
}
.pudding_syokuzai_ttl .pudding_detail_lead {
  text-align: center;
}
.pudding_syokuzai_container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 20px;
}
.pudding_syokuzai_content {
  position: relative;
  background: #fff;
  border-radius: 14px;
  padding: 18px 12px 12px 12px;
  width: 156px;
  height: 230px;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  cursor: pointer;
}
.pudding_syokuzai_content::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 12px;
  right: 12px;
  border: 6px solid;
  border-color: transparent #E60012 #E60012 transparent;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.pudding_syokuzai_content:hover {
  background: rgba(255, 255, 255, 0.8);
}
.pudding_syokuzai_content:hover::after {
  bottom: 9px;
  right: 9px;
}
.pudding_syokuzai_content_img {
  max-width: 122px;
}
.pudding_syokuzai_content_ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 52px;
  margin-top: 8px;
  font-weight: 900;
  font-size: 22px;
  color: #E60012;
  text-align: center;
  line-height: 1.2;
}
@media screen and (max-width: 580px) {
  .pudding_syokuzai {
    padding-bottom: 20px;
  }
  .pudding_syokuzai_container {
    gap: 10px;
  }
  .pudding_syokuzai_content {
    width: calc(50% - 10px);
    height: auto;
  }
}
.pudding_syokuzai_modal_content {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  height: 100%;
  overflow-y: scroll;
}
.pudding_syokuzai_modal_content_inner {
  position: relative;
  z-index: 10;
  max-width: 350px;
  padding: 28px 16px 30px;
  background: #fff;
  border-radius: 20px;
}
.pudding_syokuzai_modal_img {
  display: block;
  max-width: 172px;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 30px;
}
.pudding_syokuzai_modal_ttl {
  margin-bottom: 16px;
  padding-bottom: 12px;
  font-weight: 900;
  font-size: 32px;
  color: #E60012;
  text-align: center;
  line-height: 1.2;
  border-bottom: 2px #E60012 solid;
}
.pudding_syokuzai_modal_lead {
  margin-bottom: 16px;
  font-weight: 900;
  font-size: 22px;
  color: #603813;
  text-align: center;
  line-height: 1.3;
}
.pudding_syokuzai_modal_txt {
  padding: 0 4px;
  margin-bottom: 30px;
  color: #603813;
  line-height: 1.8;
}
.pudding_syokuzai_modal.modal-active .close_btn {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.4);
}
.pudding_syokuzai_modal_content.modal-active {
  display: block;
}
@media screen and (max-width: 767px) {
  .pudding_syokuzai_modal .btn_common {
    font-size: 14px;
  }
  .pudding_syokuzai_modal_content {
    padding-top: 30px;
    padding-bottom: 60px;
    max-height: calc(100vh - 45px);
    max-height: calc(100dvh - 45px);
  }
  .pudding_syokuzai_modal_content_inner {
    width: calc(100% - 40px);
    margin-left: auto;
    margin-right: auto;
  }
}
@media print, screen and (min-width: 768px) {
  .pudding_syokuzai_modal_content {
    padding-top: 60px;
  }
  .pudding_syokuzai_modal_content_inner {
    margin-top: 40px;
    margin-bottom: 60px;
    margin-left: auto;
    margin-right: auto;
  }
}
.pudding_type {
  padding-top: 50px;
}
.pudding_type_inner {
  background-color: #E60012;
  border-radius: 32px;
  padding-top: 30px;
  padding-bottom: 70px;
}
.pudding_type_ttl {
  margin-bottom: 30px;
  text-align: center;
}
.pudding_type_ttl_inner {
  display: inline-block;
  position: relative;
  font-weight: 900;
  font-size: 20px;
  letter-spacing: 0.2em;
}
.pudding_type_ttl_inner::before, .pudding_type_ttl_inner::after {
  content: "";
  display: block;
  position: absolute;
  width: 2px;
  height: 33px;
  margin: 0 1em;
  background: #000;
  vertical-align: middle;
}
.pudding_type_ttl_inner::before {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  bottom: -5px;
  left: -45px;
}
.pudding_type_ttl_inner::after {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  bottom: -5px;
  right: -45px;
}
.pudding_type_lead {
  margin-bottom: 40px;
  font-weight: 900;
  font-size: 32px;
  color: #fff;
  text-align: center;
  letter-spacing: 0.15em;
}
.pudding_type_txt {
  font-weight: 900;
  font-size: 38px;
  color: #fff;
  text-align: center;
}
.pudding_type_container {
  max-width: 890px;
  margin-right: auto;
  margin-left: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 10px;
  margin-bottom: 60px;
  padding: 0 20px;
}
.pudding_type_content {
  padding: 32px 20px 40px;
  width: calc(50% - 5px);
  background: #fff;
  border-radius: 20px;
}
.pudding_type_content_img {
  max-width: 282px;
  margin-right: auto;
  margin-left: auto;
  display: block;
  margin-bottom: 32px;
}
.pudding_type_desc {
  max-width: 310px;
  margin-right: auto;
  margin-left: auto;
}
.pudding_type_desc_lead {
  margin-bottom: 4px;
  font-weight: 900;
  text-align: center;
  line-height: 1.2;
}
.pudding_type_desc_ttl {
  padding-bottom: 10px;
  margin-bottom: 16px;
  font-weight: 900;
  font-size: 32px;
  text-align: center;
  line-height: 1.2;
  color: #E60012;
  border-bottom: 2px #E60012 solid;
}
.pudding_type_desc_txt {
  font-size: 14px;
  color: #603813;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .pudding_type_inner {
    padding-bottom: 50px;
  }
  .pudding_type_lead {
    font-size: 22px;
    margin-bottom: 30px;
  }
  .pudding_type_txt {
    font-size: 24px;
  }
  .pudding_type_container {
    margin-bottom: 50px;
  }
  .pudding_type_content {
    padding: 16px 0px 35px;
    width: 100%;
  }
  .pudding_type_content_img {
    margin-bottom: 16px;
    padding: 0 16px;
  }
  .pudding_type_desc_txt {
    padding: 0 16px;
  }
}
.pudding_detail_ttl {
  margin-bottom: 30px;
  font-weight: 900;
  font-size: 20px;
  letter-spacing: 0.2em;
  text-align: center;
}
.pudding_detail_ttl_inner {
  display: inline-block;
  position: relative;
}
.pudding_detail_ttl_inner::before, .pudding_detail_ttl_inner::after {
  content: "";
  display: block;
  position: absolute;
  width: 2px;
  height: 33px;
  margin: 0 1em;
  background: #000;
  vertical-align: middle;
}
.pudding_detail_ttl_inner::before {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  bottom: -5px;
  left: -45px;
}
.pudding_detail_ttl_inner::after {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  bottom: -5px;
  right: -45px;
}
.pudding_detail_lead {
  font-weight: 900;
  color: #E60012;
}
.pudding_detail_txt {
  font-size: 16px;
  color: #603813;
}
@media screen and (max-width: 767px) {
  .pudding_detail_lead {
    max-width: 335px;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 30px;
    font-size: 21px;
    letter-spacing: 0.2em;
  }
  .pudding_detail_txt {
    margin-bottom: 30px;
    line-height: 2;
  }
}
@media print, screen and (min-width: 768px) {
  .pudding_detail_lead {
    max-width: 500px;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 40px;
    font-size: 32px;
    letter-spacing: 0.2em;
  }
  .pudding_detail_txt {
    line-height: 2.4;
  }
}
.page_menu {
  background-image: url(../images/bg_triangle.svg);
  background-repeat: no-repeat;
  background-size: 100%;
}
@media screen and (max-width: 767px) {
  .page_menu {
    background-size: 170%;
    padding-top: 90px;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1100px) {
  .page_menu {
    background-size: 120%;
    padding-top: 100px;
  }
}
@media screen and (min-width: 1101px) {
  .page_menu {
    padding-top: 100px;
  }
}
.page_menu.index {
  position: relative;
}
.page_menu.index::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  background-image: url(../images/bg_triangle.svg);
  background-repeat: no-repeat;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
@media screen and (max-width: 767px) {
  .page_menu.index::after {
    background-size: 170%;
  }
}
@media print, screen and (min-width: 768px) {
  .page_menu.index::after {
    background-size: 100%;
  }
}

.menu_top .box_sec_tit {
  color: #fff;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .menu_top .box_sec_tit {
    margin-bottom: 64px;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1100px) {
  .menu_top .box_sec_tit {
    margin-bottom: 120px;
  }
}
@media screen and (min-width: 1101px) {
  .menu_top .box_sec_tit {
    margin-bottom: 120px;
  }
}
.menu_subttl {
  margin-top: 100px;
  margin-bottom: 50px;
}
.menu_detail_content .btn_common {
  margin: 0 auto;
}

.menu_detail_image:hover {
  opacity: 0.7;
}
.menu_detail_back .btn_common {
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .menu_detail {
    margin-bottom: 90px;
  }
  .menu_detail_content {
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 40px;
  }
  .menu_detail_content.portrait {
    max-width: 500px;
  }
  .menu_detail_content.landscape {
    max-width: 500px;
  }
  .menu_detail_image {
    margin-bottom: 20px;
  }
  .menu_detail_back {
    margin-bottom: 40px;
  }
}
@media print, screen and (min-width: 768px) {
  .menu_detail {
    margin-bottom: 90px;
  }
 .menu_detail_container {
	flex-flow: column;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
    justify-content: center;
	align-items: center;
    gap: 32px;
    margin-bottom: 45px;
  }

  .menu_detail_content.portrait {
	margin-right: 10px;
	margin-leftt: 10px;
    max-width: 500px;
  }
  .menu_detail_content.landscape {
    max-width: 700px;
  }
  .menu_detail_image {
    margin-bottom: 30px;
  }
  .menu_detail_back {
    margin-bottom: 65px;
  }
}
.menu_grand_container {
  background-position: center;
  background-size: cover;
}
.menu_grand_content {
  color: #fff;
  background: rgba(0, 0, 0, 0.4);
}
.menu_grand_ttl {
  text-align: center;
  font-weight: bold;
}
.menu_grand_txt {
  text-align: center;
}
.menu_grand .btn_common {
  margin: 0 auto;
  max-width: 370px;
}
@media screen and (max-width: 767px) {
  .menu_grand_container {
    margin-bottom: 60px;
    background-image: url(../images/menu/menu_grand_sp.jpg);
  }
  .menu_grand_content {
    padding: 38px 15px 52px;
  }
  .menu_grand_ttl {
    margin-bottom: 40px;
    line-height: 1.2;
    font-size: 28px;
  }
  .menu_grand_txt {
    margin-bottom: 40px;
    line-height: 1.7;
    font-size: 16px;
  }
}
@media print, screen and (min-width: 768px) {
  .menu_grand_container {
    margin-bottom: 75px;
    background-image: url(../images/menu/menu_grand_pc.jpg);
  }
  .menu_grand_content {
    padding: 30px 0 20px;
  }
  .menu_grand_ttl {
    margin-bottom: 30px;
    line-height: 1.2;
    font-size: 36px;
  }
  .menu_grand_txt {
    margin-bottom: 30px;
    line-height: 1.7;
    font-size: 18px;
  }
}
.menu_limit_container {
  background-position: center;
  background-size: cover;
}
.menu_limit_container.roku {
  background-image: url(../images/menu/menu_roku.jpg);
}
.menu_limit_container.eki {
  background-image: url(../images/menu/menu_eki.jpg);
}
.menu_limit_container.mall {
  background-image: url(../images/menu/menu_mall.jpg);
}
.menu_limit_content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  background: rgba(0, 0, 0, 0.4);
  aspect-ratio: 520/300;
}
.menu_limit_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.menu_limit_ttl {
  text-align: center;
  font-weight: bold;
}
.menu_limit .btn_common {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .menu_limit_container {
    width: 100%;
    margin-bottom: 60px;
  }
  .menu_limit_content {
    padding: 30px 15px 20px;
  }
  .menu_limit_inner {
    height: calc(100% - 50px);
  }
  .menu_limit_ttl {
    margin-bottom: 30px;
    line-height: 1;
    font-size: 28px;
  }
  .menu_limit_ttl .sm {
    font-size: 20px;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1100px) {
  .menu_limit {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 0px 32px;
  }
  .menu_limit_container {
    width: calc(50% - 16px);
    margin-bottom: 75px;
  }
  .menu_limit_content {
    padding: 20px 15px 20px;
  }
  .menu_limit_inner {
    height: calc(100% - 50px);
  }
  .menu_limit_ttl {
    margin-bottom: 30px;
    line-height: 1;
    font-size: 36px;
  }
  .menu_limit_ttl .sm {
    font-size: 28px;
  }
  .menu_limit .btn_common {
    max-width: 370px;
  }
}
@media screen and (min-width: 1101px) {
  .menu_limit {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 0px 32px;
  }
  .menu_limit_container {
    width: calc(50% - 16px);
    margin-bottom: 75px;
  }
  .menu_limit_content {
    padding: 50px 15px 40px;
  }
  .menu_limit_inner {
    height: calc(100% - 50px);
  }
  .menu_limit_ttl {
    margin-bottom: 30px;
    line-height: 1;
    font-size: 36px;
  }
  .menu_limit_ttl .sm {
    font-size: 28px;
  }
  .menu_limit .btn_common {
    max-width: 370px;
  }
}
.menu_lunch {
  margin-bottom: 70px;
}
.menu_lunch_container {
  background-position: center;
  background-size: cover;
}
.menu_lunch_content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  background: #E60012;
  height: 200px;
}
.menu_lunch_content:hover {
  background: #000;
}
.menu_lunch_content::after {
  content: "";
  display: block;
  width: 12px;
  height: 20px;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 25px;
  margin: auto 0;
  background: url(../images/arrow_white.svg);
  background-size: 12px 20px;
  -webkit-transition: all linear 0.3s;
  transition: all linear 0.3s;
}
.menu_lunch_content:hover::after {
  right: 15px;
}
.menu_lunch_ttl {
  text-align: center;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .menu_lunch_container {
    width: 100%;
    margin-bottom: 40px;
  }
  .menu_lunch_content {
    padding: 30px 15px 20px;
  }
  .menu_lunch_ttl {
    line-height: 1;
    font-size: 28px;
  }
  .menu_lunch_ttl .sm {
    font-size: 20px;
  }
}
@media print, screen and (min-width: 768px) {
  .menu_lunch {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 0px 32px;
  }
  .menu_lunch_container {
    width: calc(50% - 16px);
    margin-bottom: 75px;
  }
  .menu_lunch_content {
    padding: 50px 15px 40px;
  }
  .menu_lunch_ttl {
    margin-bottom: 8px;
    line-height: 1;
    font-size: 36px;
  }
  .menu_lunch_ttl .sm {
    font-size: 28px;
  }
}
.menu_other_content:hover {
  opacity: 0.7;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .menu_other {
    padding-bottom: 100px;
  }
  .menu_other_content {
    margin-bottom: 25px;
  }
}
@media print, screen and (min-width: 768px) {
  .menu_other {
    padding-bottom: 40px;
  }
  .menu_other_container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 0px 32px;
  }
  .menu_other_content {
    width: calc(50% - 16px);
    margin-bottom: 75px;
  }
}

.wrap_delivery {
  background: #E70012;
}
@media screen and (max-width: 900px) {
  .wrap_delivery {
    padding: 45px 0 60px;
  }
}
@media screen and (min-width: 901px) {
  .wrap_delivery {
    padding: 60px 0 100px;
  }
}
.wrap_delivery .mv {
  text-align: center;
}
.wrap_delivery .mv img.pc_only {
  max-width: 1220px;
}
.wrap_delivery .tit_dot {
  max-width: 910px;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 30px;
  padding: 10px 0;
  text-align: center;
  color: #fff;
  font-weight: 900;
}
@media screen and (max-width: 767px) {
  .wrap_delivery .tit_dot {
    background-image: linear-gradient(to right, #fff 2px, transparent 2px), linear-gradient(to left, #fff 2px, transparent 2px);
    background-size: 10px 2px, 10px 2px;
    background-repeat: repeat-x, repeat-x;
    background-position: left top, right bottom;
    font-size: 24px;
  }
}
@media print, screen and (min-width: 768px) {
  .wrap_delivery .tit_dot {
    background-image: linear-gradient(to right, #fff 2px, transparent 2px), linear-gradient(to bottom, #fff 2px, transparent 2px), linear-gradient(to left, #fff 2px, transparent 2px), linear-gradient(to top, #fff 2px, transparent 2px);
    background-size: 10px 2px, 2px 10px, 10px 2px, 2px 10px;
    background-repeat: repeat-x, repeat-y, repeat-x, repeat-y;
    background-position: left top, right bottom, right bottom, left top;
    font-size: 37px;
  }
}
.wrap_delivery .area_order .lead {
  text-align: center;
  color: #fff;
}
.wrap_delivery .btn_common.large {
  height: 82px;
  border-radius: 41px;
}
.wrap_delivery .btn_common.short {
  height: 46px;
  border-radius: 23px;
}
.wrap_delivery .btn_common.arr::after {
  content: "→";
  width: 1em;
  height: 1.5em;
  background: none;
}
.wrap_delivery .btn_common.tel {
  font-size: 26px;
  letter-spacing: 0;
}
.wrap_delivery .btn_common.tel::after {
  display: none;
}
.wrap_delivery .btn_common.tel img {
  width: 20px;
  margin-right: 5px;
}
.wrap_delivery .btn_common.fax::after {
  content: "↓";
  width: 1em;
  height: 1.5em;
  background: none;
}
@media screen and (max-width: 767px) {
  .wrap_delivery .btn_common {
    max-width: 285px;
  }
}
@media print, screen and (min-width: 768px) {
  .wrap_delivery .btn_common {
    max-width: 400px;
  }
}
.wrap_delivery .list_order {
  max-width: 900px;
  margin-right: auto;
  margin-left: auto;
}
.wrap_delivery .list_order img {
  width: auto;
}
.wrap_delivery .list_order li {
  position: relative;
  border-radius: 20px;
  background: #fff;
  text-align: center;
}
.wrap_delivery .list_order .icon {
  position: absolute;
  height: 72px;
  top: -36px;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.wrap_delivery .list_order .tit_order {
  margin-bottom: 20px;
  font-size: 32px;
  font-weight: 900;
}
.wrap_delivery .list_order .tit_order.fee {
  color: #E60012;
}
.wrap_delivery .list_order .tit_order.fee .fs {
  font-size: 0.75em;
}
.wrap_delivery .list_order .tit_order.fee .fb {
  font-size: 1.5em;
}
.wrap_delivery .list_order .time {
  font-size: 17px;
}
.wrap_delivery .list_order .time span {
  display: inline-block;
  margin-right: auto;
  margin-left: auto;
  border-bottom: 1px solid #000;
  font-weight: 900;
  letter-spacing: -0.03em;
}
.wrap_delivery .list_order .time span.txt {
  font-size: 20px;
  line-height: 1.5;
}
.wrap_delivery .list_order .time span.num {
  font-size: 30px;
  line-height: 1.3;
}
.wrap_delivery .list_order .note {
  font-size: 12px;
}
.wrap_delivery .list_order .qrcode {
  width: 115px;
}
.wrap_delivery .list_order .btn_common {
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .wrap_delivery .list_order li {
    padding: 30px 15px;
    margin-bottom: 15px;
  }
  .wrap_delivery .list_order .app_sp_btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .wrap_delivery .list_order .app_sp_btn a {
    display: block;
    margin: 0 5px;
  }
  .wrap_delivery .list_order .app_sp_btn img {
    height: 42px;
  }
}
@media print, screen and (min-width: 768px) {
  .wrap_delivery .list_order.col3 {
    margin-top: 60px;
  }
  .wrap_delivery .list_order li {
    padding: 50px 20px 35px;
  }
  .wrap_delivery .list_order .pc_app_qr {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    max-width: 300px;
    margin-right: auto;
    margin-left: auto;
  }
  .wrap_delivery .list_order .pc_app_qr img {
    width: 130px;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1100px) {
  .wrap_delivery .list_order li {
    margin-bottom: 50px;
  }
}
@media screen and (min-width: 1101px) {
  .wrap_delivery .list_order {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .wrap_delivery .list_order.col1 li {
    width: 100%;
  }
  .wrap_delivery .list_order.col2 li {
    width: calc((100% - 20px) / 2);
  }
  .wrap_delivery .list_order.col3 li {
    width: calc((100% - 20px) / 3);
  }
}
.wrap_delivery .list_menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: 720px;
  margin-right: auto;
  margin-left: auto;
}
.wrap_delivery .list_menu li {
  width: calc(100% - 20px)/2;
  padding: 0;
}
.wrap_delivery .list_menu a:hover {
  opacity: 0.8;
}
@media screen and (max-width: 767px) {
  .wrap_delivery .list_menu a::after {
    width: 60px;
    height: 60px;
  }
}
@media print, screen and (min-width: 768px) {
  .wrap_delivery .list_menu a::after {
    width: 146px;
    height: 146px;
  }
}

@media screen and (max-width: 900px) {
  .page_restaurant {
    padding-top: 45px;
  }
}
@media print, screen and (min-width: 901px) {
  .page_restaurant {
    padding-top: 60px;
  }
}
.page_restaurant.detail .area_banner {
  margin-top: 80px;
  margin-bottom: 100px;
}
@media screen and (max-width: 767px) {
  .page_restaurant.detail .area_bannerslider {
    margin-top: 90px;
  }
}

.restaurant_top {
  background-image: url(../images/restaurant/bg_01.jpg);
  background-size: cover;
  background-position: center;
  color: #fff;
}
.restaurant_top_inner {
  background: rgba(0, 0, 0, 0.4);
}
@media screen and (max-width: 767px) {
  .restaurant_top_inner {
    padding-top: 45px;
    padding-bottom: 50px;
  }
}
@media print, screen and (min-width: 768px) {
  .restaurant_top_inner {
    padding-top: 60px;
    padding-bottom: 65px;
  }
}
.restaurant_list_container {
  position: relative;
}
.restaurant_list_container.black {
  background: #000;
  color: #fff;
}
.restaurant_list_container::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: -10%;
  width: 620px;
  height: 100%;
  background-image: url(../images/logo_red.svg);
  background-size: 620px;
  background-position: 0% 50%;
  opacity: 0.1;
}
.restaurant_list_inner {
  position: relative;
  z-index: 1;
}
.restaurant_list_img {
  z-index: 1;
}
.restaurant_list_img img {
  aspect-ratio: 450/300;
  -o-object-fit: cover;
     object-fit: cover;
}
.restaurant_list_detail_ttl {
  font-weight: 900;
}
.restaurant_list_detail_adress {
  padding-left: 20px;
  text-indent: -25px;
}
.restaurant_list_detail_adress:hover .txt {
  text-decoration: underline;
}
.restaurant_list_detail_adress .icon img {
  vertical-align: middle;
  width: 19px;
  height: 19px;
}
.restaurant_list_detail_tel {
  font-weight: bold;
}
.restaurant_list_detail_tel .icon img {
  vertical-align: middle;
  width: 22px;
  height: 23px;
}
@media screen and (max-width: 767px) {
  .restaurant_list {
    padding-bottom: 70px;
  }
  .restaurant_list_container {
    padding: 48px 0;
  }
  .restaurant_list_container::after {
    display: none;
  }
  .restaurant_list_img {
    max-width: 450px;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 32px;
  }
  .restaurant_list_detail_ttl {
    margin-bottom: 28px;
    font-size: 28px;
  }
  .restaurant_list_detail_adress {
    margin-bottom: 4px;
    font-size: 16px;
  }
  .restaurant_list_detail_tel {
    margin-bottom: 30px;
    font-size: 22px;
  }
  .restaurant_list_detail_tel .txt {
    text-decoration: underline;
  }
  .restaurant_list_detail_btn .btn_common {
    margin-top: 15px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1100px) {
  .restaurant_list_container {
    padding: 70px 0;
  }
  .restaurant_list_container::after {
    right: -24%;
  }
  .restaurant_list_inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 70px;
  }
  .restaurant_list_img img {
    width: 450px;
  }
  .restaurant_list_detail_ttl {
    margin-bottom: 32px;
    font-size: 32px;
  }
  .restaurant_list_detail_adress {
    margin-bottom: 8px;
    font-size: 20px;
  }
  .restaurant_list_detail_tel {
    margin-bottom: 70px;
    font-size: 28px;
  }
  .restaurant_list_detail_btn .btn_common {
    margin-bottom: 20px;
  }
}
@media screen and (min-width: 1101px) {
  .restaurant_list_container {
    padding: 70px 0;
  }
  .restaurant_list_inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 70px;
  }
  .restaurant_list_img img {
    width: 450px;
  }
  .restaurant_list_detail_ttl {
    margin-bottom: 32px;
    font-size: 32px;
  }
  .restaurant_list_detail_adress {
    margin-bottom: 8px;
    font-size: 20px;
  }
  .restaurant_list_detail_tel {
    margin-bottom: 70px;
    font-size: 28px;
  }
  .restaurant_list_detail_btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 30px;
  }
  .restaurant_list_detail_btn .btn_common {
    width: 240px;
  }
}
.restaurant_detail_bg {
  background: no-repeat top/contain url(../images/restaurant/bg_02.jpg) #000;
}
.restaurant_detail_top .img {
  text-align: center;
}
.restaurant_detail_top .ttl {
  text-align: center;
  color: #fff;
  font-weight: 900;
  letter-spacing: 0.1em;
}
.restaurant_detail_main {
  background: #fff;
}
.restaurant_detail_detail_content dl {
  margin-bottom: 40px;
}
.restaurant_detail_detail_content dl dt {
  margin-bottom: 16px;
  color: #E60012;
  font-weight: bold;
}
.restaurant_detail_detail_content dl dd {
  line-height: 2;
}
.restaurant_detail_map {
  position: relative;
  width: 100%;
  height: 400px;
}
.restaurant_detail_map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .restaurant_detail_top {
    padding-top: 20px;
  }
  .restaurant_detail_top .img {
    margin-bottom: 20px;
  }
  .restaurant_detail_top .img img {
    width: 70px;
  }
  .restaurant_detail_top .ttl {
    margin-bottom: 20px;
    font-size: 31px;
  }
  .restaurant_detail_main {
    padding: 25px 30px;
  }
  .restaurant_detail_head {
    margin-bottom: 25px;
  }
  .restaurant_detail_head p {
    display: none;
  }
  .restaurant_detail_head .btnwrap .btn_common {
    margin: 0 auto;
  }
  .restaurant_detail_detail_content dl dd a {
    text-decoration: underline;
  }
}
@media print, screen and (min-width: 768px) {
  .restaurant_detail_bg {
    padding-bottom: 40px;
  }
  .restaurant_detail_top {
    padding-top: 50px;
  }
  .restaurant_detail_top .img {
    margin-bottom: 25px;
  }
  .restaurant_detail_top .img img {
    width: 120px;
  }
  .restaurant_detail_top .ttl {
    margin-bottom: 45px;
    font-size: 52px;
  }
  .restaurant_detail_main {
    padding: 45px 62px;
  }
  .restaurant_detail_head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-bottom: 38px;
  }
  .restaurant_detail_head p {
    font-size: 28px;
    font-weight: bold;
    color: #E60012;
  }
  .restaurant_detail_head .btnwrap {
    width: 240px;
  }
  .restaurant_detail_detail {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 20px;
  }
  .restaurant_detail_detail_content {
    width: 50%;
  }
}

@media screen and (max-width: 900px) {
  .page_news {
    padding-top: 45px;
  }
}
@media print, screen and (min-width: 901px) {
  .page_news {
    padding-top: 60px;
  }
}

.news_top {
  background-image: url(../images/bg_news.jpg);
  background-size: cover;
  background-position: center;
  color: #fff;
}
.news_top_inner {
  background: rgba(0, 0, 0, 0.4);
}
@media screen and (max-width: 767px) {
  .news_top_inner {
    padding-top: 45px;
    padding-bottom: 50px;
  }
}
@media print, screen and (min-width: 768px) {
  .news_top_inner {
    padding-top: 60px;
    padding-bottom: 65px;
  }
}
@media screen and (max-width: 767px) {
  .news_list {
    margin-top: 50px;
    margin-bottom: 70px;
  }
}
@media print, screen and (min-width: 768px) {
  .news_list {
    margin-top: 70px;
    margin-bottom: 70px;
  }
}

.area_news {
  position: relative;
  z-index: 30;
}
.area_news::after {
  content: "";
  display: block;
  position: absolute;
  background: url(../images/fire_pale-s.svg) no-repeat center center/contain;
  z-index: 31;
}
.area_news .contarea {
  position: relative;
  z-index: 40;
}
.area_news .box_sec_tit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
.area_news .box_sec_tit .en {
  color: #E60012;
}
@media screen and (max-width: 767px) {
  .area_news {
    margin: 100px 0;
  }
  .area_news::after {
    width: 230px;
    height: 340px;
    top: -60px;
    right: -80px;
  }
  .area_news .box_sec_tit {
    margin-bottom: 50px;
  }
  .area_news .box_sec_tit .en {
    margin-right: 20px;
  }
  .area_news .list_news li:nth-of-type(n+4) {
    display: none;
  }
  .area_news .btn_common {
    max-width: 240px;
    margin-right: auto;
    margin-left: auto;
  }
}
@media print, screen and (min-width: 768px) {
  .area_news {
    margin: 120px 0;
  }
  .area_news::after {
    width: 307px;
    height: 449px;
    top: -60px;
    right: -20px;
  }
  .area_news .box_sec_tit {
    margin-bottom: 80px;
  }
  .area_news .box_sec_tit .en {
    margin-right: 30px;
  }
  .area_news .btn_common {
    margin-right: auto;
    margin-left: auto;
  }
}

.list_news {
  position: relative;
}
.list_news .box_img {
  position: relative;
}
.list_news .box_img img {
  -o-object-fit: cover;
     object-fit: cover;
}
.list_news .icon_category {
  border-radius: 0 0 5px 5px;
  color: #fff;
  font-weight: 700;
}
.list_news .icon_category.gyutan-higashiyama {
  background: #000;
}
.list_news .icon_category.higashiyama {
  background: #E60012;
}
.list_news .icon_category.other {
  background: #555;
}
.list_news .date {
  margin-bottom: 10px;
  color: #666666;
  font-size: 0.875em;
}
.list_news a:hover {
  opacity: 0.8;
}
@media screen and (max-width: 767px) {
  .list_news {
    margin-bottom: 40px;
    font-size: 14px;
  }
  .list_news li {
    margin-bottom: 30px;
  }
  .list_news a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .list_news .box_img {
    width: 150px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
  .list_news .box_img img {
    width: 150px;
    height: 106px;
  }
  .list_news .txt {
    padding-left: 10px;
  }
  .list_news .icon_category {
    display: block;
    font-size: 12px;
    text-align: center;
  }
}
@media print, screen and (min-width: 768px) {
  .list_news {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 60px auto 0;
  }
  .list_news li {
    width: 283px;
    margin-bottom: 30px;
  }
  .list_news li img {
    width: 283px;
    height: 200px;
  }
  .list_news .box_img {
    margin-bottom: 10px;
  }
  .list_news .icon_category {
    position: absolute;
    top: 0;
    right: 10px;
    display: inline-block;
    font-size: 14px;
    padding: 2px 5px;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1100px) {
  .list_news {
    width: 620px;
  }
  .list_news li:nth-of-type(odd) {
    margin-right: 30px;
  }
}
@media screen and (min-width: 1101px) {
  .list_news {
    width: 930px;
  }
  .list_news li:not(:nth-of-type(3n)) {
    margin-right: 30px;
  }
}

.area_newscont {
  max-width: 960px;
  margin-right: auto;
  margin-left: auto;
}
.area_newscont .box_date {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 10px;
}
.area_newscont .date {
  color: #666666;
}
.area_newscont .pagetit {
  margin-top: 0;
  padding-bottom: 8px;
  border-bottom: 2px #E60012 solid;
  font-weight: 700;
  color: #000;
}
.area_newscont .btn_common {
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .area_newscont {
    margin-top: 35px;
    margin-bottom: 70px;
  }
}
@media print, screen and (min-width: 768px) {
  .area_newscont {
    margin-top: 80px;
    margin-bottom: 70px;
  }
  .area_newscont .pagetit {
    font-size: 20px;
  }
}

.wp-pagenavi {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.wp-pagenavi span, .wp-pagenavi a {
  display: block;
  width: 50px;
  height: 50px;
  margin: 5px;
  text-align: center;
  line-height: 50px;
  font-weight: 700;
}
.wp-pagenavi a {
  border: 1px solid #c6c6c6;
}
.wp-pagenavi a:hover {
  border: 1px solid #000;
  background: #000;
  color: #fff;
}
.wp-pagenavi .current {
  background: #E60012;
  border: 1px solid #E60012;
  color: #fff;
}

.single_body h1 {
  margin-top: 30px;
  margin-bottom: 8px;
  font-weight: bold;
  color: #E60012;
  font-size: 20px;
}
.single_body h2 {
  margin-top: 30px;
  font-weight: bold;
  color: #E60012;
  margin-bottom: 8px;
}
.single_body h3, .single_body h4, .single_body h5, .single_body h6 {
  margin-top: 30px;
  font-weight: bold;
  margin-bottom: 8px;
}
.single_body p {
  margin-bottom: 25px;
}
.single_body .wp-block-button .wp-block-button__link {
  background-color: #E60012;
  min-width: 200px;
}
.single_body .wp-block-image figure {
  max-width: 570px;
}
.single_body .wp-block-embed iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
}

@media screen and (max-width: 900px) {
  .page_contact {
    padding-top: 45px;
  }
}
@media print, screen and (min-width: 901px) {
  .page_contact {
    padding-top: 60px;
  }
}

.news_top {
  background-image: url(../images/bg_news.jpg);
  background-size: cover;
  background-position: center;
  color: #fff;
}
.news_top_inner {
  background: rgba(0, 0, 0, 0.4);
}
@media screen and (max-width: 767px) {
  .news_top_inner {
    padding-top: 45px;
    padding-bottom: 50px;
  }
}
@media print, screen and (min-width: 768px) {
  .news_top_inner {
    padding-top: 60px;
    padding-bottom: 65px;
  }
}

input[type=text], input[type=tel], input[type=email], input[type=password],
textarea {
  width: 100%;
  border: 1px solid #c6c6c6;
  font-size: 16px;
  padding: 5px;
}

textarea {
  height: 150px;
}

.box_select {
  position: relative;
  width: 100%;
  border: 1px solid #c6c6c6;
  font-size: 16px;
}
.box_select select {
  width: 100%;
  padding: 5px;
  background: #fff;
}
.box_select select:disabled, .box_select select option:disabled {
  color: #E60012;
  opacity: 1;
}
.box_select::after {
  content: "";
  display: block;
  width: 24px;
  height: 24px;
  position: absolute;
  top: 0;
  right: 5px;
  bottom: 0;
  margin: auto 0;
  background: url(../images/icon_down.svg) no-repeat center center;
  pointer-events: none;
}

.box_radio input[type=radio] {
  display: none;
}
.box_radio input[type=radio]:checked + label::after {
  width: 15px;
  height: 15px;
  background: #E60012;
  left: 5px;
}
.box_radio label {
  position: relative;
  display: block;
  padding: 7px 10px 7px 35px;
}
.box_radio label::before, .box_radio label::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto 0;
  border-radius: 100%;
}
.box_radio label::before {
  width: 25px;
  height: 25px;
  background: #fff;
  border: 1px solid #c6c6c6;
  left: 0;
}

.box_check {
  font-weight: 700;
}
.box_check input[type=checkbox] {
  display: none;
}
.box_check input[type=checkbox]:checked + label::after {
  width: 10px;
  height: 15px;
  border-bottom: 2px solid #E60012;
  border-right: 2px solid #E60012;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  top: -6px;
  left: 8px;
}
.box_check label {
  position: relative;
  display: block;
  padding: 7px 10px 7px 35px;
}
.box_check label::before, .box_check label::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto 0;
}
.box_check label::before {
  width: 25px;
  height: 25px;
  background: #fff;
  border: 1px solid #c6c6c6;
  left: 0;
}

.area_contact .lead {
  text-align: center;
}
.area_contact .list_form {
  max-width: 800px;
  margin-right: auto;
  margin-left: auto;
}
.area_contact .list_form dd {
  margin-bottom: 30px;
}
.area_contact .box_pp {
  max-width: 900px;
  margin-right: auto;
  margin-left: auto;
  background-color: #F5FAFC;
}
.area_contact .box_pp .stit {
  text-align: center;
  font-weight: 700;
}
.area_contact .pp_frame {
  width: 100%;
  border: 1px solid #c6c6c6;
}
.area_contact .btn_submit {
  width: 100%;
  max-width: 370px;
  margin-right: auto;
  margin-left: auto;
  -webkit-transition: all ease 0.3s;
  transition: all ease 0.3s;
}
.area_contact .cont_thanks {
  max-width: 600px;
  margin-right: auto;
  margin-left: auto;
}
.area_contact .cont_thanks .btn_common {
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .area_contact {
    margin-top: 35px;
    margin-bottom: 70px;
  }
  .area_contact .list_form dt {
    margin-top: 5px;
    font-size: 14px;
  }
  .area_contact .box_pp {
    padding: 25px 15px;
  }
  .area_contact .box_pp .stit {
    font-size: 20px;
  }
  .area_contact .pp_frame {
    height: 300px;
  }
}
@media print, screen and (min-width: 768px) {
  .area_contact {
    margin-top: 80px;
    margin-bottom: 70px;
  }
  .area_contact .lead {
    font-size: 20px;
  }
  .area_contact .list_form {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .area_contact .list_form dt {
    width: 170px;
  }
  .area_contact .list_form dd {
    width: calc(100% - 170px);
  }
  .area_contact .box_pp {
    padding: 50px;
  }
  .area_contact .box_pp .stit {
    font-size: 22px;
  }
  .area_contact .pp_frame {
    height: 250px;
  }
  .area_contact .ppc_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .area_contact .btn_submit {
    height: 60px;
    border-radius: 30px;
    font-size: 18px;
  }
}

/* MW WP Form setting */
.mw_wp_form_input .input-hidden,
.mw_wp_form_confirm .confirm-hidden {
  display: none;
}

@media print, screen and (min-width: 768px) {
  .mw_wp_form_input .list_form dt {
    padding-top: 5px;
  }
}
/* pp_frame */
.ppcont {
  background-color: #fff;
  word-break: break-all;
  padding: 40px 0;
}
.ppcont .pagetit {
  border-left: 5px solid #E60012;
  padding-left: 10px;
  margin-bottom: 20px;
  font-weight: 700;
}
.ppcont h2 {
  margin: 30px 0 15px;
  font-weight: 700;
}
.ppcont p {
  margin-bottom: 10px;
}
.ppcont ol {
  padding-left: 2em;
}
.ppcont ol li {
  list-style-type: decimal;
}
@media screen and (max-width: 767px) {
  .ppcont {
    font-size: 14px;
  }
  .ppcont .pagetit {
    font-size: 18px;
  }
  .ppcont h2 {
    font-size: 16px;
  }
}
@media print, screen and (min-width: 768px) {
  .ppcont .pagetit {
    font-size: 20px;
  }
}

@media screen and (max-width: 900px) {
  .page_commitment {
    padding-top: 45px;
  }
}
@media print, screen and (min-width: 901px) {
  .page_commitment {
    padding-top: 60px;
  }
}
@media print, screen and (min-width: 768px) {
  .page_commitment .area_top_commitment {
    padding-bottom: 170px;
    position: relative;
  }
  .page_commitment .area_top_commitment::after {
    content: "";
    display: block;
    position: absolute;
    top: 100%;
    left: 0;
    z-index: -2;
    width: 100%;
    min-height: 570px;
    height: 100%;
    background-image: url(../images/bg_triangle.svg);
    background-repeat: no-repeat;
    background-size: 100%;
  }
}
.page_commitment .area_restaurant {
  background: #fff;
}
.page_commitment .area_restaurant .box_sec_tit {
  color: #000;
}
@media print, screen and (min-width: 768px) {
  .page_commitment .area_restaurant {
    margin-bottom: 0px;
    padding-bottom: 140px;
  }
}

.commitment_image {
  position: relative;
  z-index: 1;
}
.commitment_image_container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media print, screen and (min-width: 768px) {
  .commitment_image_container {
    position: relative;
  }
  .commitment_image_container::after {
    content: "";
    display: block;
    position: absolute;
    top: 20px;
    left: 20px;
    z-index: -1;
    width: 100%;
    height: 100%;
    background-color: transparent;
    background-image: radial-gradient(#EFE7DC 30%, transparent 30%);
    background-size: 6px 6px;
  }
}
@media screen and (max-width: 767px) {
  .commitment_image {
    margin-bottom: 40px;
  }
}
@media print, screen and (min-width: 768px) {
  .commitment_image {
    margin-top: -100px;
    margin-bottom: 70px;
  }
}
.commitment_detail_ttl {
  margin-bottom: 30px;
  color: #E60012;
  font-weight: 900;
  font-size: 20px;
  letter-spacing: 0.2em;
  text-align: center;
}
.commitment_detail_ttl_inner {
  position: relative;
}
.commitment_detail_ttl_inner::before, .commitment_detail_ttl_inner::after {
  content: "";
  display: inline-block;
  position: relative;
  width: 2px;
  height: 33px;
  margin: 0 1em;
  background: #000;
  vertical-align: middle;
}
.commitment_detail_ttl_inner::before {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.commitment_detail_ttl_inner::after {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.commitment_detail_lead {
  font-weight: 900;
}
.commitment_detail_txt {
  font-size: 16px;
}
@media screen and (max-width: 767px) {
  .commitment_detail_content {
    margin-bottom: 50px;
  }
  .commitment_detail_lead {
    max-width: 335px;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 30px;
    font-size: 21px;
    letter-spacing: 0.2em;
  }
  .commitment_detail_txt {
    margin-bottom: 30px;
    line-height: 2;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .commitment_detail {
    margin-bottom: 150px;
  }
  .commitment_detail_inner, .commitment_detail_img {
    max-width: calc(50% - 30px);
  }
  .commitment_detail_content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 0 15px;
  }
  .commitment_detail_content.menu {
    margin-bottom: 70px;
  }
  .commitment_detail_content.menu .commitment_detail_img {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
    margin-top: 65px;
  }
  .commitment_detail_content.meat .commitment_detail_img {
    margin-top: 65px;
  }
  .commitment_detail_lead {
    max-width: 500px;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 67px;
    font-size: 32px;
    letter-spacing: 0.2em;
  }
  .commitment_detail_txt {
    line-height: 2.5;
  }
}
@media print, screen and (min-width: 1201px) {
  .commitment_detail {
    margin-bottom: 150px;
  }
  .commitment_detail_inner, .commitment_detail_img {
    max-width: calc(50% - 30px);
  }
  .commitment_detail_content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 0 15px;
  }
  .commitment_detail_content.menu .commitment_detail_inner {
    padding-bottom: 300px;
  }
  .commitment_detail_content.menu .commitment_detail_img {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
    margin-top: 165px;
    margin-bottom: 95px;
  }
  .commitment_detail_content.meat .commitment_detail_img {
    margin-top: -300px;
  }
  .commitment_detail_lead {
    max-width: 500px;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 67px;
    font-size: 32px;
    letter-spacing: 0.2em;
  }
  .commitment_detail_txt {
    line-height: 2.4;
  }
}
.commitment_robot_ttl {
  margin-bottom: 30px;
  color: #E60012;
  font-weight: 900;
  font-size: 20px;
  letter-spacing: 0.2em;
  text-align: center;
}
.commitment_robot_ttl_inner {
  position: relative;
}
.commitment_robot_ttl_inner::before, .commitment_robot_ttl_inner::after {
  content: "";
  display: inline-block;
  position: relative;
  width: 2px;
  height: 33px;
  margin: 0 1em;
  background: #fff;
  vertical-align: middle;
}
.commitment_robot_ttl_inner::before {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.commitment_robot_ttl_inner::after {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.commitment_robot_lead {
  font-weight: 900;
  color: #fff;
  text-align: center;
}
.commitment_robot_txt {
  font-size: 16px;
  line-height: 1.7;
  color: #fff;
}
.commitment_robot_video {
  width: 100%;
  aspect-ratio: 16/9;
}
.commitment_robot_video iframe {
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .commitment_robot {
    margin-top: -50px;
    padding-top: 50px;
    padding-bottom: 50px;
    background: #000;
  }
  .commitment_robot_content {
    margin-bottom: 50px;
  }
  .commitment_robot_lead {
    margin-bottom: 30px;
    font-size: 21px;
    letter-spacing: 0.2em;
  }
  .commitment_robot_txt {
    margin-bottom: 30px;
  }
}
@media print, screen and (min-width: 768px) {
  .commitment_robot {
    position: relative;
  }
  .commitment_robot::before {
    content: "";
    display: block;
    position: absolute;
    top: -130px;
    right: -165px;
    z-index: -1;
    width: 621px;
    height: 638px;
    background-image: url(../images/logo_red.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 621px;
    opacity: 0.3;
  }
  .commitment_robot::after {
    content: "";
    display: block;
    position: absolute;
    top: -10%;
    left: -50%;
    z-index: -2;
    width: 200%;
    height: 200%;
    background: #000;
    -webkit-transform: rotate(-24deg);
            transform: rotate(-24deg);
  }
  .commitment_robot_lead {
    margin-bottom: 50px;
    font-size: 32px;
    letter-spacing: 0.2em;
  }
  .commitment_robot_txt {
    max-width: 500px;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 60px;
    line-height: 2.4;
  }
  .commitment_robot_video {
    max-width: 870px;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 125px;
  }
}

.page_pp {
  max-width: 900px;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 900px) {
  .page_pp {
    padding-top: 60px;
    padding-bottom: 90px;
  }
}
@media print, screen and (min-width: 901px) {
  .page_pp {
    padding-top: 100px;
    padding-bottom: 100px;
  }
}
/*# sourceMappingURL=style.css.map */