html {
  scroll-behavior: auto !important;
}

main#main article.article {
  position: relative;
  margin: 40px 0 0;
  padding-bottom: 40px;
  z-index: 5;
}
header.article-header.entry-header {
  padding-left: 0;
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  width: 100%;
  margin: auto;
}
.entry-content.cf {
  display: none;
}
.article h1.entry-title {
  text-align: center;
}

/* スクロール挙動同制御用のベーススタイル */
.cafe_menu_group,
.cafe_wrap {
  position: relative;
}
.cafe_menu_cate_maintitle,
.partner {
  position: absolute;
  width: 100%;
}

div.cafe_menu_group {
  position: relative;
  margin-bottom: 5em;
}
div.cafe_menu_group h2.cafe_menu_cate_maintitle {
  font-family: 'Bodoni Moda', serif;
  font-weight: 900;
  font-style: normal;
  font-size: 64px;
  color: #444;
  line-height: 1;
  position: absolute;
  top: 0;
  left: 0;
}
div.cafe_menu_group .cafe_menu_cate_inner {
  position: relative;
  z-index: 2;
  margin-left: 270px;
}
.cafe_wrap .cafe_menu_wrap {
  position: relative;
}
.cafe_menu_wrap > .partner {
  display: block;
  position: absolute;
  top: 0;
  left: -280px;
  width: 270px;
  text-align: right;
  padding-right: 25px;
}
.cafe_menu_group .cafe_wrap:first-child .partner {
  top: 70px;
}
div.cafe_menu_group .cafe_wrap {
  border-left: 1px solid #fff;
  margin-bottom: 2em;
  padding-left: 20px;
  padding-bottom: 0.1em;
}
.cafe_menu_wrap > .partner .partner_name {
  font-weight: 600;
  font-size: 1.3em;
}
.partner .partner_body p {
  line-height: 1.2;
  margin-bottom: 0.6em;
}
.partner .partner_body p:last-of-type {
  margin-bottom: 0;
}

.cafe_bbfl_wrap {
  padding-bottom: 3em;
}
.cafe_bbfl_wrap:last-child {
  padding-bottom: 0;
}
.cafe_bbfl_submenu_container_wrap {
  display: flex;
  width: 100%;
  margin-top: 0.5em;
}
.cafe_bbfl_submenu_container_wrap .cafe_bbfl_submenu_container {
  margin: 0;
  flex: 1;
}
.cafe_bbfl_submenu_container_wrap .cafe_bbfl_submenu_container.cafe_bbfl_submenu_container_1 {
  padding-right: 1em;
}
.cafe_bbfl_submenu_container_wrap .cafe_bbfl_submenu_container.cafe_bbfl_submenu_container_2 {
  padding-left: 1em;
  border-left: 1px solid #333;
}
.submenu_cate_wrap {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  line-height: 1;
  border-bottom: 1px solid #777;
  padding-bottom: 2px;
  margin-bottom: 1.2em;
}
.submenu_cate_wrap .bbfl_cafe_sub_menu_category {
  flex-grow: 1;
  font-size: 1.5em;
  font-weight: 500;
  color: #888;
}
.submenu_cate_wrap .bbfl_cafe_vari_conte {
  white-space: nowrap;
  flex-grow: 0;
  color: #888;
}
.submenu_cate_wrap .bbfl_cafe_vari_conte div {
  display: inline-block;
}
.submenu_cate_wrap .bbfl_cafe_vari_conte div:before {
  content: ' / ';
}
.submenu_cate_wrap .bbfl_cafe_vari_conte div:first-child:before {
  display: none;
}
.submenu_menu_info_wrap {
  display: flex;
  justify-content: space-between;
  margin-bottom: 0.9em;
}
.cafe_bbfl_subtitle_inner {
  flex-grow: 1;
}
.cafe_bbfl_subtitle_inner h2.cafe_bbfl_subtitle_title {
  line-height: 1.2;
  display: inline-block;
  font-weight: 500;
  font-size: 1.4em;
}
.cafe_bbfl_subtitle_inner .cafe_bbfl_subtitle_subtitle {
  display: inline-block;
}
.submenu_menu_info_wrap .submenu_menu_price_wrap {
  white-space: nowrap;
  flex-grow: 0;
  text-align: right;
  line-height: 1;
  padding-top: 0.2em;
  padding-left: 10px;
  font-size: 1.2em;
}
.submenu_menu_info_wrap .submenu_menu_price_wrap .submenu_menu_price {
  display: inline-block;
}
.submenu_menu_info_wrap .submenu_menu_price_wrap .submenu_menu_price:before {
  content: '$';
  font-size: 0.85em;
  color: #ddd;
  font-weight: 100;
  vertical-align: top;
  margin-right: 0.15em;
}
.submenu_menu_info_wrap .submenu_menu_price_wrap .submenu_menu_price:after {
  content: '/';
  font-weight: 100;
  margin-left: 0.4em;
  margin-right: 0.05em;
  color: #888;
}
.submenu_menu_info_wrap .submenu_menu_price_wrap .submenu_menu_price:last-child:after {
  display: none;
}

h2.cafe_bbfl_menu_title {
  font-family: 'Bodoni Moda', serif;
  font-weight: 700;
  font-style: normal;
  font-size: 3.3em;
  line-height: 1.1;
}
.menu_info_wrap {
  margin-bottom: 2em;
}
.cafe_menu .menu_info_wrap {
  border-top: 1px solid #555;
  padding-top: 20px;
}
.cafe_menu .menu_info_wrap:has(.menu_drink_cate) {
  border-top: none;
  padding-top: 10px;
}
.menu_basic_info_wrap {
  display: flex;
  width: 100%;
  flex-wrap: nowrap;
  justify-content: space-between;
}

.menu_info_wrap .menu_drink_cate {
  border-bottom: 1px solid #777;
  margin-bottom: 20px;
}
.menu_info_wrap .menu_drink_cate > strong {
  font-size: 1.5em;
  font-weight: 500;
  color: #888;
  line-height: 1;
}

.menu_basic_info_wrap .menu_basic_info_inner_title {
  flex-grow: 2;
}

h2.cafe_menu_title {
  font-family: 'Bodoni Moda', serif;
  font-weight: 700;
  font-style: normal;
  font-size: 2.7em;
  line-height: 1.1;
  display: inline-block;
  margin-right: 0.25em;
  margin-bottom: 10px;
}
.menu_basic_info_wrap .menu_basic_info_inner_title .menu_subtitle1 {
  display: inline-block;
  font-size: 1.6em;
  line-height: 1.1;
}
.menu_basic_info_wrap .menu_basic_info_inner_title .menu_subtitle1:has(span) {
  display: block;
  font-size: inherit;
  line-height: 1;
  margin-bottom: 12px;
}
.menu_basic_info_wrap .menu_basic_info_inner_title .menu_subtitle1 span {
  display: inline-block;
  margin-right: 14px;
}
.menu_basic_info_wrap .menu_basic_info_inner_title .menu_subtitle1 span:last-child {
  margin-right: 0;
}
.menu_basic_info_wrap .menu_basic_info_inner_title .menu_subtitle1 span.info_ico_featuring {
  font-size: 1.15em;
  font-weight: 500;
  color: #e8bb7b;
}
.menu_basic_info_wrap .menu_basic_info_inner_title .menu_subtitle1 span.info_ico_glutenfree {
  background-color: #4f580f;
  padding: 6px 8px 5px;
  font-weight: 400;
  border-radius: 4px;
}
.menu_description > p {
  margin-bottom: 0.6em;
}
.menu_description > p:last-of-type {
  margin-bottom: 0;
}
.menu_description > ul > li {
  line-height: 1.4;
  margin-bottom: 0.6em;
}

.menu_basic_info_wrap .menu_basic_info_inner_price {
  flex-grow: 1;
  white-space: nowrap;
  text-align: right;
  padding-right: 15px;
  padding-left: 15px;
  padding-top: 0.5em;
  line-height: 1;
}
.menu_basic_info_wrap .menu_basic_info_inner_price .menu_basic_size_vari_group {
  display: block;
  white-space: nowrap;
  font-size: 1.4em;
}
.menu_basic_info_wrap .menu_basic_info_inner_price .menu_basic_size_vari_group > div {
  display: inline-block;
}
.menu_basic_info_wrap .menu_basic_info_inner_price .menu_basic_size_vari_group div.menu_basic_size_vari {
  margin-right: 10px;
}
.menu_basic_info_wrap .menu_basic_info_inner_price .menu_basic_size_vari_group div.menu_basic_price:before {
  content: '$';
  font-size: 0.85em;
  color: #ddd;
  font-weight: 100;
  vertical-align: top;
  margin-right: 0.15em;
}

.menu_basic_info_wrap .menu_basic_info_inner_imgs {
  flex-grow: 0;
  flex-basis: 130px;
  width: 130px;
  max-width: 130px;
  min-width: 130px;
}
.menu_basic_info_wrap .menu_basic_info_inner_imgs img {
  width: 100%;
}

.cafe_submenu_info_wrap {
  display: flex;
  width: 100%;
  flex-wrap: nowrap;
  justify-content: space-between;
  padding-top: 20px;
  margin-top: 20px;
  border-top: 1px dashed #333;
}
.cafe_submenu_info_wrap .cafe_submenu_info_inner_title {
  flex-grow: 2;
}
.cafe_submenu_info_inner_title h3.cafe_submenu_title {
  display: inline-block;
  font-size: 1.6em;
  line-height: 1.2;
  font-weight: 500;
  margin-right: 0.25em;
}
.cafe_submenu_info_inner_title .menu_subtitle1 {
  display: inline-block;
}
.cafe_submenu_info_inner_title .menu_subtitle1 span {
  display: inline-block;
}
.cafe_submenu_info_inner_title .menu_subtitle1 span.submenu_subtitle_1_effects {
  background-color: #500e0e;
  color: #db9588;
  padding: 5px 8px 4px;
  line-height: 1;
  font-weight: 400;
  border-radius: 4px;
  font-size: 0.9em;
  margin-left: 5px;
}

.cafe_submenu_info_wrap .cafe_submenu_info_inner_price {
  flex-grow: 1;
  white-space: nowrap;
  text-align: right;
  padding-right: 15px;
  padding-left: 15px;
  padding-top: 0.5em;
  line-height: 1;
}
.cafe_submenu_info_inner_price .cafe_submenu_size_vari_group {
  display: block;
  white-space: nowrap;
  font-size: 1.3em;
  margin-bottom: 1em;
}
.cafe_submenu_info_inner_price .cafe_submenu_size_vari_group:last-child {
  margin-bottom: 0;
}
.cafe_submenu_info_inner_price .cafe_submenu_size_vari_group > div {
  display: inline-block;
}
.cafe_submenu_info_inner_price .cafe_submenu_size_vari_group .cafe_submenu_size_vari {
  margin-right: 13px;
}
.cafe_submenu_info_inner_price .cafe_submenu_size_vari_group .cafe_submenu_price:before {
  content: '$';
  font-size: 0.85em;
  color: #ddd;
  font-weight: 100;
  vertical-align: top;
  margin-right: 0.15em;
}

.cafe_submenu_info_wrap .cafe_submenu_info_inner_imgs {
  flex-grow: 0;
  flex-basis: 130px;
  width: 130px;
  max-width: 130px;
  min-width: 130px;
}

.cafe_menu_anchor_btns_wrap {
  width: auto;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  max-width: 100vw;
  height: 190px;
}
.cafe_menu_anchor_btns_inner {
  background-color: #000;
  width: 100%;
  margin: 0;
  height: 160px;
  margin-bottom: 30px;
  position: relative;
  z-index: 4;
}
ul.cafe_menu_anchor_btns {
  position: absolute;
  bottom: 33px;
  left: 50%;
  transform: translateX(-50%);
  width: 90%;
  padding: 0;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: stretch;
}
ul.cafe_menu_anchor_btns li.cafe_menu_anchor_btn {
  list-style: none;
  text-align: center;
  line-height: 1.2;
  margin-inline: 10px;
}
ul.cafe_menu_anchor_btns li.cafe_menu_anchor_btn > a {
  display: flex;
  height: 100%;
  align-items: center;
  background-color: #222222;
  border: 1px solid #5f5f5f;
  padding: 8px 15px;
  color: #fff;
  min-width: 146px;
  font-weight: 400;
}

@media (hover: hover) and (pointer: fine) {
  ul.cafe_menu_anchor_btns li.cafe_menu_anchor_btn > a:hover {
    background-color: #fff;
    color: #000;
    border-color: #fff;
  }
  .content.cf a:hover {
    color: #fff;
  }
}

ul.cafe_menu_anchor_btns li.cafe_menu_anchor_btn > a > div {
  width: 100%;
  text-align: center;
}

ul.cafe_menu_anchor_btns li.cafe_menu_anchor_btn > a > div br {
  display: none;
}
.article h1.entry-title br {
  display: none;
}

@media screen and (max-width: 1023px) {
  main#main article.article {
    margin: -30px auto;
    padding-bottom: 110px;
  }
  .cafe_menu_anchor_btns_wrap {
    height: 160px;
  }
  .cafe_menu_anchor_btns_inner {
    height: 130px;
  }
}

@media screen and (max-width: 930px) {
  .article h1.entry-title {
    text-align: left;
  }
  ul.cafe_menu_anchor_btns {
    width: 100%;
    padding-left: 30px;
    left: 0;
    transform: none;
    justify-content: flex-start;
  }

  .cafe_bbfl_submenu_container_wrap {
    flex-wrap: wrap;
  }
  .cafe_bbfl_submenu_container_wrap .cafe_bbfl_submenu_container {
    flex-basis: 100%;
  }
  .cafe_bbfl_submenu_container_wrap .cafe_bbfl_submenu_container.cafe_bbfl_submenu_container_1 {
    padding-right: 0;
    margin-bottom: 3em;
  }
  .cafe_bbfl_submenu_container_wrap .cafe_bbfl_submenu_container.cafe_bbfl_submenu_container_2 {
    padding-left: 0;
    border-left: none;
  }
}

@media screen and (max-width: 834px) {
  ul.cafe_menu_anchor_btns {
    padding-left: 16px;
  }
  h2.cafe_bbfl_menu_title {
    font-size: 2.6em;
  }
  .cafe_bbfl_submenu_container_wrap .cafe_bbfl_submenu_container.cafe_bbfl_submenu_container_1 {
    margin-bottom: 2em;
  }
  .submenu_menu_info_wrap {
    margin-bottom: 0.7em;
  }
  .cafe_bbfl_subtitle_inner h2.cafe_bbfl_subtitle_title {
    font-size: 1.3em;
  }
  .submenu_menu_info_wrap .submenu_menu_price_wrap {
    font-size: 1.1em;
  }
  h2.cafe_menu_title {
    font-size: 2em;
  }
  .cafe_submenu_info_inner_title h3.cafe_submenu_title {
    font-size: 1.3em;
  }
  .menu_basic_info_wrap .menu_basic_info_inner_price {
    padding-right: 0;
    padding-left: 10px;
  }
  .menu_basic_info_wrap .menu_basic_info_inner_imgs {
    padding-left: 10px;
  }
  .cafe_submenu_info_wrap .cafe_submenu_info_inner_price {
    padding-right: 0;
    padding-left: 10px;
  }
  .cafe_submenu_info_wrap .cafe_submenu_info_inner_imgs {
    padding-left: 10px;
  }
  .menu_basic_info_wrap .menu_basic_info_inner_price .menu_basic_size_vari_group {
    font-size: 1.2em;
  }
  .cafe_submenu_info_inner_price .cafe_submenu_size_vari_group {
    font-size: 1.1em;
  }
}

@media screen and (max-width: 768px) {
  div.cafe_menu_group h2.cafe_menu_cate_maintitle {
    display: inline-block;
    transform: rotate(90deg);
    transform-origin: left top;
    margin-left: 70px;
  }
  div#cafe_drinks.cafe_menu_group h2.cafe_menu_cate_maintitle {
    padding-bottom: 170px;
  }
  div#cafe_foods.cafe_menu_group h2.cafe_menu_cate_maintitle {
    padding-bottom: 130px;
  }
  div#cafe_sweets.cafe_menu_group h2.cafe_menu_cate_maintitle {
    padding-bottom: 160px;
  }
  div#cafe_lunch.cafe_menu_group h2.cafe_menu_cate_maintitle br {
    display: none;
  }
  .cafe_menu_group .cafe_wrap:first-child .partner {
    top: 240px;
  }
  .cafe_menu_wrap > .partner {
    transform: rotate(90deg);
    transform-origin: left top;
    left: -21px;
    text-align: left;
  }
  .cafe_menu_wrap > .partner .partner_name {
    font-weight: 500;
  }
  div.cafe_menu_group .cafe_menu_cate_inner {
    margin-left: 76px;
  }
  .partner .partner_body {
    white-space: nowrap;
    overflow: visible;
    margin-top: -9px;
  }
  .partner .partner_body p {
    display: inline-block;
    margin-right: 8px;
  }
  .partner .partner_body p:last-of-type {
    margin-right: 0;
  }

  .cafe_wrap .cafe_menu_wrap.bulls-bears-coffee .partner {
    padding-bottom: 180px;
  }
  .cafe_menu_wrap.cafen-park-slope .partner {
    padding-bottom: 200px;
  }
  .cafe_menu_wrap.cafen-park-slope .menu_info_wrap {
    margin-bottom: 5em;
  }
  .cafe_menu_wrap.hakkoan .partner {
    padding-bottom: 60px;
  }
  .cafe_menu_wrap.overjoyed .partner {
    padding-bottom: 70px;
  }
  .cafe_menu_wrap.empire-arancini .partner {
    padding-bottom: 130px;
  }

  ul.cafe_menu_anchor_btns {
    padding-right: 140px;
    bottom: 26px;
  }
  ul.cafe_menu_anchor_btns li.cafe_menu_anchor_btn {
    flex-basis: 25%;
  }
  ul.cafe_menu_anchor_btns li.cafe_menu_anchor_btn > a {
    width: 100%;
    min-width: auto;
    font-size: 0.8em;
    padding: 6px 5px;
  }
  ul.cafe_menu_anchor_btns li.cafe_menu_anchor_btn > a > div br {
    display: block;
  }
}

@media screen and (max-width: 600px) {
  div.cafe_menu_group h2.cafe_menu_cate_maintitle {
    margin-left: 56px;
  }
  div.cafe_menu_group .cafe_menu_cate_inner {
    margin-left: 62px;
  }

  ul.cafe_menu_anchor_btns {
    justify-content: space-between;
  }
  ul.cafe_menu_anchor_btns li.cafe_menu_anchor_btn {
    margin-inline: 0;
    padding-inline: 6px;
  }
  ul.cafe_menu_anchor_btns li.cafe_menu_anchor_btn:first-child {
    padding-left: 0;
  }
  ul.cafe_menu_anchor_btns li.cafe_menu_anchor_btn:last-child {
    padding-right: 0;
  }
}

@media screen and (max-width: 550px) {
  .article h1.entry-title {
    font-size: 3.5em;
  }

  h2.cafe_bbfl_menu_title {
    font-size: 2.4em;
  }
  .submenu_cate_wrap .bbfl_cafe_sub_menu_category {
    font-size: 1.2em;
  }
  .cafe_bbfl_subtitle_inner h2.cafe_bbfl_subtitle_title {
    font-size: 1.2em;
  }
  .submenu_menu_info_wrap .submenu_menu_price_wrap {
    font-size: 1em;
  }

  .menu_info_wrap .menu_drink_cate > strong {
    font-size: 1.2em;
  }
  h2.cafe_menu_title {
    font-size: 1.7em;
  }
  .menu_basic_info_wrap .menu_basic_info_inner_price .menu_basic_size_vari_group {
    font-size: 1.1em;
  }
  .cafe_submenu_info_inner_title h3.cafe_submenu_title {
    font-size: 1.2em;
  }
  .cafe_submenu_info_inner_price .cafe_submenu_size_vari_group {
    font-size: 1em;
  }
  .cafe_submenu_info_wrap {
    margin-top: 16px;
  }
  .menu_basic_info_wrap .menu_basic_info_inner_title .menu_subtitle1 span.info_ico_featuring {
    font-size: 1em;
  }
  .cafe_submenu_info_inner_title .menu_subtitle1 span.submenu_subtitle_1_effects {
    font-size: 0.8em;
  }
  .menu_basic_info_wrap .menu_basic_info_inner_title .menu_subtitle1 span.info_ico_glutenfree {
    font-size: 0.9em;
    padding: 5px 8px 4px;
  }

  .menu_basic_info_wrap .menu_basic_info_inner_imgs {
    flex-basis: 110px;
    width: 110px;
    max-width: 110px;
    min-width: 110px;
  }
  .cafe_submenu_info_wrap .cafe_submenu_info_inner_imgs {
    flex-basis: 110px;
    width: 110px;
    max-width: 110px;
    min-width: 110px;
  }
  .menu_basic_info_wrap .menu_basic_info_inner_title .menu_subtitle1 {
    font-size: 1.2em;
  }
}

@media screen and (max-width: 420px) {
  .article h1.entry-title {
    font-size: 3.8em;
    line-height: 1;
    padding-top: 0.1em;
    padding-bottom: 0;
  }
  .article h1.entry-title br {
    display: block;
  }

  ul.cafe_menu_anchor_btns {
    padding-right: 16px;
  }
  ul.cafe_menu_anchor_btns li.cafe_menu_anchor_btn > a {
    font-size: 0.9em;
    padding: 5px 4px;
  }

  div.cafe_menu_group h2.cafe_menu_cate_maintitle {
    font-size: 50px;
    margin-left: 41px;
  }
  div.cafe_menu_group .cafe_menu_cate_inner {
    margin-left: 42px;
  }
  .menu_basic_info_wrap {
    flex-wrap: wrap;
  }
  .menu_basic_info_wrap .menu_basic_info_inner_imgs {
    flex-basis: 100%;
    width: 100%;
    max-width: none;
    min-width: auto;
    padding-left: 0;
  }
  .menu_basic_info_wrap .menu_basic_info_inner_imgs .menu_basic_info_inner_img {
    width: 90%;
  }

  .menu_basic_info_wrap .menu_basic_info_inner_price {
    text-align: left;
    padding-left: 0;
    margin-bottom: 1.2em;
    padding-top: 0.2em;
  }
  .menu_basic_info_wrap .menu_basic_info_inner_price .menu_basic_size_vari_group {
    font-size: 1.3em;
    font-weight: 400;
  }
  .menu_basic_info_wrap .menu_basic_info_inner_price .menu_basic_size_vari_group div.menu_basic_price:before {
    font-weight: 400;
  }
  .menu_basic_info_inner_title .menu_description {
    margin-bottom: 1em;
  }
  .cafe_menu_wrap.cafen-park-slope .menu_info_wrap {
    margin-bottom: 2em;
  }

  .cafe_submenu_info_wrap {
    flex-wrap: wrap;
  }
  .cafe_submenu_info_wrap .cafe_submenu_info_inner_imgs {
    flex-basis: 100%;
    width: 100%;
    max-width: none;
    min-width: auto;
    padding-left: 0;
  }
  .cafe_submenu_info_wrap .cafe_submenu_info_inner_imgs .cafe_submenu_info_inner_img {
    width: 90%;
  }
  .cafe_submenu_info_wrap .cafe_submenu_info_inner_imgs .cafe_submenu_info_inner_img img {
    width: 100%;
  }
  .cafe_submenu_info_wrap .cafe_submenu_info_inner_title {
    flex-basis: 100%;
    width: 100%;
    max-width: none;
    min-width: auto;
  }
  .cafe_submenu_info_wrap .cafe_submenu_info_inner_title .menu_description {
    margin-bottom: 1em;
  }
  .cafe_submenu_info_wrap .cafe_submenu_info_inner_price {
    text-align: left;
    padding-left: 0;
    margin-bottom: 1.2em;
    padding-top: 0;
    font-weight: 400;
  }
  .cafe_submenu_info_inner_price .cafe_submenu_size_vari_group .cafe_submenu_price:before {
    font-weight: 400;
  }

  div.cafe_menu_group .cafe_wrap .partner {
    margin-top: -34px;
  }
  #cafe_lunch.cafe_menu_group .cafe_wrap:first-child .partner {
    margin-top: 310px;
  }
}
