body {
  overflow-x: initial;
}

@media (min-width: 768px) {
  .c-txt {
    font-size: min(1.6304347826vw, 15px);
  }
}

@media (min-width: 768px) {
  .c-intro {
    padding-block: 11rem 8rem;
  }
}
.c-intro .c-txt:not(:last-child) {
  margin-bottom: 3rem;
}
@media (min-width: 768px) {
  .c-intro .c-txt:not(:last-child) {
    margin-bottom: 5rem;
  }
}

.c-keyv__ttl img {
  width: 12.8rem;
}
@media (min-width: 768px) {
  .c-keyv__ttl img {
    width: 18.8rem;
  }
}

.running-txt {
  margin-bottom: 6rem;
}
@media (min-width: 768px) {
  .running-txt {
    margin-bottom: 11rem;
  }
}
.running-txt__wrap {
  animation: runningText 25s linear infinite;
}
@media (min-width: 768px) {
  .running-txt__wrap {
    animation-duration: 35s;
  }
}
.running-txt__wrap > * {
  padding-inline: 0.1rem;
  width: 20.2rem;
}
@media (min-width: 768px) {
  .running-txt__wrap > * {
    padding-inline: 0.2rem;
    width: 40.4rem;
  }
}
.running-txt__wrap img {
  display: block;
}

@media (min-width: 768px) {
  .p-cafe__wrap {
    margin: 0 auto;
    max-width: 1165px;
    padding-inline: 4.25rem;
    width: 100%;
  }
}
@media (max-width: 767px) {
  .p-cafe__wrap .p-cafe__inner {
    padding-right: 0;
    padding-left: 6.6rem;
  }
}
.p-cafe__side {
  position: absolute;
  height: 100%;
  padding-top: 0.5rem;
  left: 0;
  top: 0;
}
@media (min-width: 768px) {
  .p-cafe__side {
    padding-top: 4rem;
  }
}
.p-cafe__inner {
  padding-inline: 42.5px;
  width: 100%;
}
@media (min-width: 768px) {
  .p-cafe__inner {
    max-width: min(85.5434782609vw, 787px);
    margin: 0 auto;
  }
}
.p-cafe__note {
  font-family: var(--font-third);
  font-weight: 300;
  font-size: 1rem;
}
@media (min-width: 768px) {
  .p-cafe__note {
    font-size: 11px;
  }
}
.p-cafe__sub {
  border-bottom: 1px solid var(--color-primary);
  font-family: var(--font-en);
  letter-spacing: 0.1em;
  font-weight: 300;
  line-height: 1.6;
  font-size: 1rem;
  margin-bottom: 1.5rem;
  padding-bottom: 0.2rem;
}
@media (min-width: 768px) {
  .p-cafe__sub {
    font-size: 11px;
    margin-bottom: 3rem;
    padding-bottom: 0.4rem;
  }
}
.p-cafe__sub * {
  position: relative;
  z-index: 2;
}
.p-cafe__ttl {
  font-family: var(--font-primary);
  writing-mode: vertical-lr;
  text-orientation: upright;
  -webkit-writing-mode: vertical-rl;
  letter-spacing: 0.5em;
  position: sticky;
  font-size: 1.8rem;
  top: calc(var(--headH) + 1.5rem);
}
@media (min-width: 768px) {
  .p-cafe__ttl {
    font-size: 3.2rem;
    top: calc(var(--headH) + 1.5rem);
  }
}
@media (max-width: 767px) {
  .p-cafe__ttl {
    line-height: 6.6rem;
  }
}
.p-cafe__btn {
  background-color: #9C8D5C;
  color: #fff;
  display: inline-flex;
  align-items: center;
  letter-spacing: 0;
  font-family: var(--font-en);
  font-weight: 500;
  font-size: 1.1rem;
  padding: 0.2rem 1.2rem 0;
  height: 2rem;
}
@media (min-width: 768px) {
  .p-cafe__btn {
    font-size: min(1.6304347826vw, 15px);
    padding: min(0.2173913043vw, 2px) min(1.6304347826vw, 15px) 0;
    height: min(2.8260869565vw, 26px);
  }
}

.p-food {
  position: relative;
  margin-bottom: 6rem;
}
@media (min-width: 768px) {
  .p-food {
    margin-bottom: 14rem;
  }
}
@media (max-width: 767px) {
  .p-food {
    margin-top: 2rem;
  }
}
.p-food__prod {
  margin-bottom: 2rem;
}
@media (min-width: 768px) {
  .p-food__prod {
    margin-bottom: 6rem;
  }
}
.p-food__prod-item {
  position: relative;
}
.p-food__prod-item:not(:last-child) {
  margin-bottom: 3rem;
}
@media (min-width: 768px) {
  .p-food__prod-item:not(:last-child) {
    margin-bottom: 6rem;
  }
}
@media (min-width: 768px) {
  .p-food__prod-item:nth-child(even) .p-food__prod-body > * {
    padding-left: 56.9800569801%;
  }
}
.p-food__prod-img {
  position: relative;
  z-index: 2;
  pointer-events: none;
}
.p-food__prod-body {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .p-food__prod-body {
    justify-content: center;
  }
}
@media (max-width: 767px) {
  .p-food__prod-body.--space01 {
    padding-top: 1.5rem;
  }
}
.p-food__prod-ttl {
  position: relative;
  z-index: 3;
  font-weight: 500;
  font-size: 1.4rem;
  margin-bottom: 1rem;
}
@media (min-width: 768px) {
  .p-food__prod-ttl {
    line-height: 1.8571428571;
    font-size: min(3.0434782609vw, 28px);
    margin-bottom: 1.5rem;
  }
}
.p-food__prod-price > * {
  align-self: flex-start;
}
@media (min-width: 768px) {
  .p-food__prod .p-cafe__btn {
    min-width: 8.6rem;
  }
}
.p-food__salad {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .p-food__salad {
    padding-right: 4rem;
  }
}
.p-food__salad-ttl {
  font-weight: 500;
  font-size: 1.4rem;
}
@media (min-width: 768px) {
  .p-food__salad-ttl {
    font-size: 2.4rem;
  }
}

.p-cake {
  position: relative;
  margin-bottom: 6rem;
}
@media (min-width: 768px) {
  .p-cake {
    margin-bottom: 13rem;
  }
}
.p-cake__prod {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3.4rem 1.3rem;
}
@media (min-width: 768px) {
  .p-cake__prod {
    gap: 6rem 6.2rem;
  }
}
.p-cake__prod-ttl {
  font-weight: 500;
  position: relative;
  z-index: 3;
  font-size: 1.2rem;
  margin-bottom: 0.4rem;
}
@media (min-width: 768px) {
  .p-cake__prod-ttl {
    font-size: 2rem;
    line-height: 1.9;
    margin-bottom: 0.4rem;
  }
}
@media (max-width: 767px) {
  .p-cake__prod-img {
    margin-bottom: 0.5rem;
  }
}
@media (min-width: 768px) {
  .p-cake__prod .p-cafe__sub {
    margin-bottom: 2rem;
  }
}
@media (min-width: 768px) {
  .p-cake__prod .p-cafe__btn {
    font-size: 1.3rem;
  }
}

.p-drink {
  position: relative;
}
.p-drink__ttl {
  color: #716747;
  font-family: var(--font-en);
  font-weight: 600;
  border-bottom: 1px solid var(--color-primary);
  letter-spacing: 0.1em;
  line-height: 1;
  font-size: 2rem;
  margin-bottom: 2rem;
  padding-bottom: 0.8rem;
}
@media (min-width: 768px) {
  .p-drink__ttl {
    font-size: min(3.0434782609vw, 28px);
    margin-bottom: 2rem;
    padding-bottom: 1.3rem;
  }
}
.p-drink__ttl:not(:first-child) {
  margin-top: 3rem;
}
@media (min-width: 768px) {
  .p-drink__ttl:not(:first-child) {
    margin-top: 4rem;
  }
}
.p-drink__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}
@media (min-width: 768px) {
  .p-drink__list {
    gap: 2rem;
  }
}
.p-drink__list-item.--full-width {
  grid-column: span 2;
}
.p-drink__list-ttl {
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: 0.3rem;
  font-size: 1.2rem;
}
@media (min-width: 768px) {
  .p-drink__list-ttl {
    margin-bottom: 0.8rem;
    font-size: min(1.7391304348vw, 16px);
  }
}
@media (min-width: 768px) {
  .p-drink__list-ttl.--lead {
    font-weight: 600;
  }
}
.p-drink__list-price {
  font-weight: 500;
  line-height: 1.1;
  font-family: var(--font-en);
  color: #716747;
  font-size: 1.3rem;
}
@media (min-width: 768px) {
  .p-drink__list-price {
    font-size: min(1.4130434783vw, 13px);
  }
}
.p-drink__note {
  text-align: center;
  font-size: 1rem;
  margin-block: 4rem 5.8rem;
}
@media (min-width: 768px) {
  .p-drink__note {
    font-size: min(1.5217391304vw, 14px);
    margin-block: 14rem 16.5rem;
  }
}