@charset "utf-8";

/* ====================================================
contents-mainvisual
==================================================== */
.cafe .contents-mainvisual {
  position: relative;
  width: 100%;
  height: 100vh;
  background: url(../img/cafe/mainvisual.webp) no-repeat center;
  background-size: cover;
}
@media (max-width: 767px) {
  .cafe .contents-mainvisual {
    height: 461px;
  }
}
/* ====================================================
explan-area
==================================================== */
/* 共通 */
.cafe .explan-area {
  position: relative;
  padding-bottom: min(7.61vw, 104px);
}
.cafe .explan-area:after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  display: block;
  width: 100%;
  height: 54vw;
  margin: auto;
  background: url(../img/cafe/contents_bg.webp) no-repeat top center/cover;
  content: "";
}
.cafe .explan-area .flex {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.cafe .explan-area .flex .txt-box h3 {
  margin-bottom: 31px;
  font-size: var(--font-size25);
  line-height: 1.79;
}
.cafe .explan-area .flex .txt-box p {
  margin-bottom: 31px;
  font-size: var(--font-size16);
  line-height: 2.1;
  letter-spacing: normal;
}
.cafe .explan-area .flex .txt-box p:last-child {
  margin-bottom: 0;
}
/* explan-01 */
.cafe .explan-area .explan-01 {
  padding-top: 80px;
}
.cafe .explan-area .explan-01 .txt-box {
  width: 37.1%;
  margin: 0 0 0 11.8vw;
}
.cafe .explan-area .explan-01 .img-box {
  width: 49%;
  margin: 60px 2.19vw 0 0;
}
.cafe .explan-area .explan-01 img-box.fade-up.active {
  animation-delay: 0.4s;
}
/* explan-02 */
.cafe .explan-area .explan-02 {
  margin-top: -96px;
}
.cafe .explan-area .explan-02 .img-box {
  width: 36.82%;
}
.cafe .explan-area .explan-02 .img-box .img {
  width: 100%;
  margin-bottom: 82px;
}
.cafe .explan-area .explan-02 .img-box .img:last-child {
  width: 66.4%;
  margin-right: 6.1%;
  margin-left: auto;
}
.cafe .explan-area .explan-02 .txt-box {
  width: 56.3%;
  margin-top: 200px;
}
.cafe .explan-area .explan-02 .txt-box.fade-up.active {
  animation-delay: 0.4s;
}
.cafe .explan-area .explan-02 .txt-box p {
  width: 72.7272%;
}
.cafe .explan-area .explan-02 .txt-box .insta-txt {
  margin-top: 50px;
  font-size: var(--font-size14);
}
.cafe .explan-area .explan-02 .txt-box .insta-txt span {
  padding: 20px 35px 20px 0;
  background: url(../img/common/icon_instagram_B.svg) no-repeat right center;
  background-size: 23.94px 23.94px;
}
/* explan-03 */
.cafe .explan-area .explan-03 {
  padding-top: 8px;
}
.cafe .explan-area .explan-03 .txt-box {
  width: 38.14%;
  margin: 105px 0 0 11.8vw;
}
.cafe .explan-area .explan-03 .img-box {
  width: 43.7%;
  margin: 0 3.4vw 0 0;
}
.cafe .explan-area .explan-03 .img-box figure {
  width: 87.7%;
  margin-left: auto;
}
.cafe .explan-area .explan-03 .img-box figure:nth-child(2) {
  display: block !important;
  width: 44.338%;
  margin: 42px 6.3% 38px auto;
}
.cafe .explan-area .explan-03 .img-box figure:last-child {
  width: 64.99%;
  margin: 0 auto 0 0;
}
@media screen and (min-width: 1025px) and (max-width: 1200px) {
  .cafe .explan-area {
    padding-bottom: 200px;
  }
  .cafe .explan-area .explan-02 {
    margin-top: -70px;
  }
  .cafe .explan-area .explan-02 .txt-box {
    margin-top: 150px;
  }
  .cafe .explan-area .explan-02 .txt-box p {
    width: 85%;
  }
  .cafe .explan-area .explan-02 .txt-box .insta-txt {
    margin-top: 0;
  }
  .cafe .explan-area .explan-03 .txt-box {
    margin-top: 30px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .cafe .explan-area {
    padding-bottom: 250px;
  }
  .cafe .explan-area .explan-01 .txt-box {
    width: 42%;
    margin-left: 5vw;
  }
  .cafe .explan-area .explan-01 .img-box {
    width: 45%;
  }
  .cafe .explan-area .explan-02 {
    margin-top: 30px;
  }
  .cafe .explan-area .explan-02 .txt-box {
    width: 52%;
    margin-top: 80px;
    margin-right: 5vw;
  }
  .cafe .explan-area .explan-02 .txt-box p {
    width: 100%;
  }
  .cafe .explan-area .explan-03 {
    padding-top: 100px;
  }
  .cafe .explan-area .explan-03 .txt-box {
    width: 42%;
    margin-top: 0;
    margin-left: 5vw;
  }
}
@media (max-width: 767px) {
  .cafe .explan-area {
    padding-bottom: 115px;
  }
  .cafe .explan-area:after {
    z-index: 1;
    height: 126px;
    margin: auto;
    background: url(../img/cafe/contents_bg_sp.webp) no-repeat top center/cover;
    content: "";
  }
  .cafe .explan-area:before {
    position: absolute;
    bottom: 124px;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 750px;
    background-image: linear-gradient(transparent, #47b7cb 79%);
    content: "";
  }
  .cafe .explan-area .max-inner {
    padding: 0 9.8%;
  }
  .cafe .explan-area .explan {
    display: block;
    padding-top: 55px;
  }
  .cafe .explan-area .explan-01 {
    display: block;
    padding-top: 48px;
  }
  .cafe .explan-area .explan-01 .txt-box {
    width: 100%;
    margin: auto;
  }
  .cafe .explan-area .flex .txt-box h3 {
    margin-bottom: 22px;
    font-size: var(--font-size18);
    line-height: 1.95;
  }
  .cafe .explan-area .flex .txt-box p {
    font-size: var(--font-size14);
    line-height: 1.7;
  }
  .cafe .explan-area .explan-01 .img-box {
    width: 100%;
    margin: 30px auto;
  }
  .cafe .explan-area .explan-02 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-top: 0;
  }
  .cafe .explan-area .explan-02 .img-box {
    width: 100%;
    margin: auto;
  }
  .cafe .explan-area .explan-02 .img-box .img {
    width: 74.6%;
    margin: 0 0 18px auto;
  }
  .cafe .explan-area .explan-02 .img-box .img:last-child {
    width: 56.6%;
    margin: 0 auto 29px 0;
  }
  .cafe .explan-area .explan-02 .txt-box {
    width: 100%;
    margin-top: 0;
  }
  .cafe .explan-area .explan-02 .txt-box p {
    width: 100%;
    margin-bottom: 33px;
  }
  .cafe .explan-area .explan-03 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding-top: 63px;
  }
  .cafe .explan-area .explan-03 .txt-box {
    width: 100%;
    margin: 0;
    padding: 42px 0 0;
  }
  .cafe .explan-area .explan-03 .txt-box p {
    margin-bottom: 28px;
  }
  .cafe .explan-area .explan-03 .img-box {
    width: 100%;
    margin: auto;
  }
  .cafe .explan-area .explan-03 .img-box figure:first-child {
    width: 100vw;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
  }
  .cafe .explan-area .explan-03 .img-box.c-sp-only figure:first-child {
    width: 56.6%;
    margin: 0 0 20px auto;
  }
  .cafe .explan-area .explan-03 .img-box figure.c-tab-over {
    display: none !important;
  }
  .cafe .explan-area .explan-03 .img-box.c-sp-only figure:last-child {
    width: 74.75%;
    margin: 0 auto 0 0;
  }
  .cafe .explan-area .explan-02 .txt-box .insta-txt {
    margin-top: 39px;
  }
}
/* ====================================================
cafe-detail-area
==================================================== */
.cafe .cafe-detail-area {
  padding-bottom: 248px;
}
.cafe .cafe-detail-area .menu-box {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding-top: 101px;
}
.cafe .cafe-detail-area .menu-box .menu-txt {
  width: 40.9%;
  margin-left: 11.8vw;
}
.cafe .cafe-detail-area .menu-box .menu-txt h2 {
  position: relative;
  margin-bottom: 42px;
  padding-left: 55px;
  font-size: var(--font-size28);
}
.cafe .cafe-detail-area .menu-box .menu-txt h2::before {
  position: absolute;
  top: 22px;
  left: 0;
  z-index: 7;
  width: 38px;
  height: 1px;
  background-color: #000;
  content: "";
}
.cafe .cafe-detail-area .menu-box .menu-txt h3 {
  margin-bottom: 29px;
  font-size: var(--font-size25);
  line-height: 1.8;
}
.cafe .cafe-detail-area .menu-box .menu-txt .txt > p {
  margin-bottom: 35px;
  font-size: var(--font-size16);
  line-height: 2;
}
.cafe .cafe-detail-area .menu-box .menu-img {
  width: 37.5%;
  margin-top: -10px;
  margin-right: 4.83vw;
}
.cafe .cafe-detail-area .menu-box .menu-img.fade-up.active {
  animation-delay: 0.4s;
}
.cafe .cafe-detail-area .menu-box .menu-img figure {
  width: 100%;
}
.cafe .cafe-detail-area .menu-box .menu-img figure:last-child {
  width: 50.8%;
  margin-top: 50px;
  margin-left: 7.6%;
}
/* post-area */
.cafe .cafe-detail-area .post-area {
  margin-bottom: min(16.6vw, 227px);
  padding-top: 80px;
}
.cafe .cafe-detail-area .post-area h4 {
  margin-bottom: 19px;
  font-size: var(--font-size28);
  text-align: center;
}
.cafe .cafe-detail-area .post-area .flex {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.cafe .cafe-detail-area .post-area .flex::before {
  display: block;
  order: 1;
  width: 21.04%;
  content: "";
}
.cafe .cafe-detail-area .post-area .flex::after {
  display: block;
  width: 21.04%;
  content: "";
}
.cafe .cafe-detail-area .post-area .flex.art-food,
.cafe .cafe-detail-area .post-area .flex.art-desserts,
.cafe .cafe-detail-area .post-area .flex.art-drink {
  margin-bottom: 28px;
}
.cafe .cafe-detail-area .post-area .flex article {
  width: 21.04%;
}
.cafe .cafe-detail-area .post-area .flex article a {
  display: block;
}
.cafe .cafe-detail-area .post-area .flex article figure {
  width: 100%;
  margin-bottom: 15px;
}
.cafe .cafe-detail-area .post-area .flex article h1 {
  width: 97%;
  margin: 0 auto 10px;
  font-size: var(--font-size16);
  line-height: 1.4;
}
.cafe .cafe-detail-area .post-area .flex article .price {
  width: 97%;
  margin: 0 auto;
  font-size: var(--font-size15);
  line-height: 1.4;
}
.cafe .cafe-detail-area .post-area .c-btn2 {
  margin-top: 64px;
  text-align: center;
}
/* post-area */
.cafe .cafe-detail-area .vip-inner {
  position: relative;
  max-width: 1366px;
  margin: 0 auto;
}
.cafe .cafe-detail-area .vip-area {
  width: 76.76%;
  margin-right: 2.92vw;
  margin-left: auto;
  padding: 57px 0 70px;
  background-color: #f2f0ea;
}
.cafe .cafe-detail-area .vip-area .vip-txt {
  width: 48.6%;
  margin-right: 15.17%;
  margin-left: auto;
}
.cafe .cafe-detail-area .vip-area .vip-txt h2 {
  position: relative;
  margin-bottom: 36px;
  padding-left: 55px;
  font-size: var(--font-size28);
}
.cafe .cafe-detail-area .vip-area .vip-txt h2::before {
  position: absolute;
  top: 22px;
  left: 0;
  z-index: 7;
  width: 38px;
  height: 1px;
  background-color: #000;
  content: "";
}
.cafe .cafe-detail-area .vip-area .vip-txt h3 {
  margin-bottom: 33px;
  font-size: var(--font-size25);
  line-height: 1.7;
}
.cafe .cafe-detail-area .vip-area .vip-txt .txt > p {
  margin-bottom: 36px;
  font-size: var(--font-size16);
  line-height: 2;
}
.cafe .cafe-detail-area .vip-area .vip-txt dl {
  display: block;
  width: 100%;
  margin-top: 42px;
  padding: 26px 6% 19px 6%;
  background-color: #fff;
}
.cafe .cafe-detail-area .vip-area .vip-txt dl > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 5px;
  font-size: var(--font-size16);
}
.cafe .cafe-detail-area .vip-area .vip-txt dl > div dt {
  width: 51px;
  font-weight: bold;
}
.cafe .cafe-detail-area .vip-area .vip-img {
  position: absolute;
  top: 50%;
  left: 3.4%;
  width: 38.2%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
}
.cafe .cafe-detail-area .vip-area .vip-img figure.fade-up.active {
  animation-delay: 0.4s;
}
@media screen and (min-width: 1025px) and (max-width: 1200px) {
  .cafe .cafe-detail-area .post-area {
    margin-bottom: 110px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .cafe .cafe-detail-area {
    padding-bottom: 165px;
  }
  .cafe .cafe-detail-area .menu-box .menu-txt {
    width: 50%;
    margin-left: 5vw;
  }
  .cafe .cafe-detail-area .menu-box .menu-img {
    width: 38%;
    margin-right: 5vw;
  }
  .cafe .cafe-detail-area .vip-area .vip-txt {
    width: 60%;
    margin-right: 5vw;
  }
}
@media (max-width: 767px) {
  .cafe .cafe-detail-area {
    padding-bottom: 220px;
  }
  .cafe .max-inner {
    padding: 0 9.8%;
  }
  .cafe .cafe-detail-area .menu-box {
    display: block;
    padding: 0;
    padding-top: 59px;
  }
  .cafe .cafe-detail-area .menu-box .menu-txt {
    width: 100%;
    margin: 0;
  }
  .cafe .cafe-detail-area .menu-box .menu-txt h2 {
    margin-bottom: 22px;
    padding-left: 45px;
    font-size: var(--font-size22);
  }
  .cafe .cafe-detail-area .menu-box .menu-txt h2::before {
    top: 18px;
    width: 33px;
  }
  .cafe .cafe-detail-area .menu-box .menu-txt h3 {
    font-size: var(--font-size18);
  }
  .cafe .cafe-detail-area .menu-box .menu-txt .txt > p {
    margin-bottom: 27px;
    font-size: var(--font-size14);
    line-height: 1.75;
    letter-spacing: normal;
  }
  .cafe .cafe-detail-area .menu-box .menu-img {
    width: 100%;
    margin: 0;
  }
  .cafe .cafe-detail-area .menu-box .menu-img figure {
    width: 100% !important;
    max-width: 500px;
    margin: 0 auto 52px !important;
  }
  .cafe .cafe-detail-area .post-inner {
    padding: 0;
  }
  .cafe .cafe-detail-area .post-area {
    margin-bottom: 72px;
    padding-top: 35px;
  }
  .cafe .cafe-detail-area .post-area h4 {
    margin-bottom: 14px;
    font-size: var(--font-size20);
  }
  .cafe .cafe-detail-area .post-area .flex {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-bottom: 45px;
  }
  .cafe .cafe-detail-area .post-area .flex article {
    width: 46%;
    margin-bottom: 16px;
  }
  .cafe .cafe-detail-area .post-area .flex article figure {
    margin-bottom: 12px;
  }
  .cafe .cafe-detail-area .post-area .flex article h1 {
    margin-bottom: 7px;
    font-size: var(--font-size14);
    line-height: 1.3;
  }
  .cafe .cafe-detail-area .post-area .flex article .price {
    font-size: var(--font-size13);
  }
  .cafe .cafe-detail-area .post-area .c-btn2 {
    margin-top: 50px;
  }
  .cafe .cafe-detail-area .vip-inner {
    width: 100vw;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
  }
  .cafe .cafe-detail-area .vip-area {
    width: 100%;
    margin: 0;
    padding: 56px 9.8% 0;
    background-image: linear-gradient(0deg, #fff 39px, #f2f0ea 40px 100%);
  }
  .cafe .cafe-detail-area .vip-area .vip-img {
    position: static;
    width: 100%;
    margin-bottom: 38px;
    transform: none;
  }
  .cafe .cafe-detail-area .vip-area .vip-img:last-child {
    margin-bottom: 0;
  }
  .cafe .cafe-detail-area .vip-area .vip-txt {
    width: 100%;
    margin: 0;
  }
  .cafe .cafe-detail-area .vip-area .vip-txt h2 {
    margin-bottom: 35px;
    padding-left: 45px;
    font-size: var(--font-size22);
  }
  .cafe .cafe-detail-area .vip-area .vip-txt h2::before {
    top: 18px;
    width: 33px;
  }
  .cafe .cafe-detail-area .vip-area .vip-txt h3 {
    margin-bottom: 15px;
    font-size: var(--font-size18);
    line-height: 1.85;
  }
  .cafe .cafe-detail-area .vip-area .vip-txt .txt > p {
    margin-bottom: 30px;
    font-size: var(--font-size14);
    line-height: 1.7;
  }
  .cafe .cafe-detail-area .vip-area .vip-txt .txt > p:last-child {
    margin-bottom: 0;
  }
  .cafe .cafe-detail-area .vip-area .vip-txt dl {
    margin: 25px 0 19px;
    padding: 17px 8%;
  }
  .cafe .cafe-detail-area .vip-area .vip-txt dl > div {
    display: block;
    font-size: var(--font-size14);
    letter-spacing: normal;
  }
  .cafe .cafe-detail-area .vip-area .vip-txt dl > div dt {
    width: 100%;
  }
}
/* ====================================================
cafe-photo-area
==================================================== */
.cafe-photo-area {
  position: relative;
  z-index: 1;
  width: 100%;
  padding-bottom: 69px;
  background-color: #000;
  color: #fff;
}
.cafe-photo-area:after {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 393px;
  background-image: linear-gradient(180deg, rgba(25, 189, 219, 0), rgba(9, 89, 159, 1) 82%);
  content: "";
}
.cafe-photo-area .max-inner {
  position: relative;
}
.cafe-photo-area .c-top-img {
  position: absolute;
  top: -97px;
  right: 0;
  z-index: 2;
  width: 50%;
  max-width: 683px;
}
.cafe-photo-area .flex {
  position: relative;
  z-index: 5;
  -webkit-box-align: end;
  align-items: flex-end;
  -ms-flex-align: end;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.cafe-photo-area .flex .cafe-photo-txt {
  width: 37.33%;
  margin-left: 11.8vw;
  padding-top: 106px;
}
.cafe-photo-area .flex .cafe-photo-txt h2 {
  margin-bottom: 42px;
  font-size: var(--font-size65);
  line-height: 1.2;
  white-space: nowrap;
}
.cafe-photo-area .flex .cafe-photo-txt h2 span {
  display: inline-block;
  margin-left: 254px;
  font-size: var(--font-size48);
}
.cafe-photo-area .flex .cafe-photo-txt h2 span.span-b {
  margin-left: 0.3em;
  font-size: var(--font-size64);
}
.cafe-photo-area .flex .cafe-photo-txt h3 {
  margin-bottom: 32px;
  font-size: var(--font-size25);
  line-height: 1.8;
}
.cafe-photo-area .flex .cafe-photo-txt .txt > p {
  margin-bottom: 37px;
  font-size: var(--font-size16);
  line-height: 2;
}
.cafe-photo-area .flex .cafe-photo-txt dl {
  display: block;
  width: 100%;
  margin-bottom: 35px;
  padding: 26px 6% 19px 6%;
  border: solid 1px #fff;
}
.cafe-photo-area .flex .cafe-photo-txt dl > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 5px;
  font-size: var(--font-size16);
}
.cafe-photo-area .flex .cafe-photo-txt dl > div dt {
  font-weight: bold;
}
.cafe-photo-area .flex .cafe-photo-txt dl > div dd {
  font-size: var(--font-size15);
}
.cafe-photo-area .flex .cafe-photo-txt .txt-inst {
  margin-top: 39px;
  font-size: var(--font-size14);
}
.cafe-photo-area .flex .cafe-photo-txt .txt-inst span {
  padding: 20px 35px 20px 0;
  background: url(../img/common/icon_instagram.svg) no-repeat right center;
  background-size: 23.94px 23.94px;
}
.cafe-photo-area .flex .cafe-photo-img {
  width: 39.16%;
  max-width: 527px;
  margin-right: 5.7vw;
}
.cafe-photo-area .flex .cafe-photo-img figure:first-child {
  width: 59%;
}
.cafe-photo-area .flex .cafe-photo-img figure:nth-child(2) {
  width: 49.34%;
  margin-top: -47px;
  margin-left: auto;
}
.cafe-photo-area .flex .cafe-photo-img figure:last-child {
  width: 47%;
  margin-top: -123px;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .cafe-photo-area .flex {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding: 106px 5vw 0;
  }
  .cafe-photo-area .flex .cafe-photo-txt {
    width: 47%;
    margin: 0;
    padding-top: 0;
  }
  .cafe-photo-area .flex .cafe-photo-txt h3 {
    white-space: nowrap;
  }
  .cafe-photo-area .flex .cafe-photo-img {
    width: 45%;
    margin-right: 0;
  }
  .cafe-photo-area .flex .cafe-photo-img figure:first-child {
    width: 100%;
    max-width: 300px;
  }
  .cafe-photo-area .flex .cafe-photo-img figure:nth-child(2) {
    width: 60%;
    max-width: 250px;
    margin-top: 30px;
  }
  .cafe-photo-area .flex .cafe-photo-img figure:last-child {
    width: 50%;
    max-width: 220px;
    margin-top: 20px;
  }
}
@media (max-width: 767px) {
  .cafe-photo-area {
    background-color: transparent;
    background-image: linear-gradient(180deg, #fff 126px, #000 127px 100%);
  }
  .cafe-photo-area .c-top-img {
    position: static;
    width: 100vw;
    max-width: none;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
  }
  .cafe-photo-area .c-top-img figure {
    width: 89.8%;
    margin: -126px 0 0 auto;
  }
  .cafe-photo-area .flex {
    display: block;
  }
  .cafe-photo-area .flex .cafe-photo-txt {
    width: 100%;
    margin: -14px 0 0 0;
    padding: 0;
  }
  .cafe-photo-area .flex .cafe-photo-txt h2 {
    margin-bottom: 24px;
    font-size: var(--font-size40);
    text-align: right;
  }
  .cafe-photo-area .flex .cafe-photo-txt h2 span {
    margin-left: 0;
    font-size: var(--font-size28);
  }
  .cafe-photo-area .flex .cafe-photo-txt h2 span.span-b {
    font-size: var(--font-size40);
  }
  .cafe-photo-area .flex .cafe-photo-txt h3 {
    margin-bottom: 30px;
    font-size: var(--font-size18);
  }
  .cafe-photo-area .flex .cafe-photo-txt .txt > p {
    margin-bottom: 24px;
    font-size: var(--font-size12);
    line-height: 1.8;
    letter-spacing: normal;
  }
  .cafe-photo-area .flex .cafe-photo-txt dl {
    margin-bottom: 20px;
    padding: 15px 5%;
  }
  .cafe-photo-area .flex .cafe-photo-txt dl > div {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    font-size: var(--font-size14);
    letter-spacing: normal;
  }
  .cafe-photo-area .flex .cafe-photo-txt dl > div dd {
    font-size: var(--font-size14);
  }
  .cafe-photo-area .flex .cafe-photo-txt .txt-inst {
    font-size: var(--font-size12);
  }
  .cafe-photo-area .flex .cafe-photo-txt .txt-inst span {
    letter-spacing: normal;
  }
  .cafe-photo-area .flex .cafe-photo-img {
    width: 100%;
    max-width: 500px;
    margin: 64px auto 0;
  }
  .cafe-photo-area .flex .cafe-photo-img figure:first-child {
    width: 60%;
  }
  .cafe-photo-area .flex .cafe-photo-img figure:nth-child(2) {
    width: 49%;
    margin-top: -27px;
  }
  .cafe-photo-area .flex .cafe-photo-img figure:last-child {
    width: 57%;
    margin-top: -20px;
  }
}
/* ====================================================
アニメーション時差 無効
==================================================== */
@media (max-width: 767px) {
  .cafe .explan-area .explan-01 img-box.fade-up.active {
    animation-delay: 0s;
  }
  .cafe .explan-area .explan-02 .txt-box.fade-up.active {
    animation-delay: 0s;
  }
  .cafe .cafe-detail-area .menu-box .menu-img.fade-up.active {
    animation-delay: 0s;
  }
  .cafe .cafe-detail-area .vip-area .vip-img figure.fade-up.active {
    animation-delay: 0s;
  }
}
