*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol,
dl,
li,
dt,
dd,
p,
div,
span,
img,
a,
table,
tr,
th,
td,
small,
button,
time,
figure {
  border: 0;
  font: inherit;
  font-size: 100%;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

li,
dd {
  list-style-type: none;
}

header,
footer,
nav,
section,
article,
main,
aside,
figure,
figcaption {
  display: block;
}

img {
  border: none;
  vertical-align: bottom;
}

html {
  scroll-behavior: smooth;
}
@media screen and (max-width: 1279px) and (min-width: 768px) {
  html {
    font-size: calc(16 / 1280 * 100vw);
  }
}
@media screen and (max-width: 374px) {
  html {
    font-size: calc(16 / 375 * 100vw);
  }
}

body {
  background: #F3EFEB;
  color: #222222;
  font-family: "Noto Serif JP", serif;
}

body.is-drawerOpen {
  overflow: hidden;
}

a {
  text-decoration: none;
  transition: 0.3s;
  color: inherit;
}
@media (hover: hover) {
  a:hover {
    cursor: pointer;
  }
}

picture,
img,
a,
span {
  display: inline-block;
}

video,
img,
svg {
  width: 100%;
  height: 100%;
}

button {
  font: inherit;
  color: inherit;
  background: transparent;
  background: none;
  border: none;
}

input,
textarea,
select {
  font: inherit;
}

@media (min-width: 768px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}
.l-header {
  position: fixed;
  z-index: 100;
  inset-block-start: 0;
  inset-inline-start: 0;
  width: 100%;
  height: 5.3125rem;
}
@media (min-width: 768px) {
  .l-header {
    position: absolute;
    inset-inline-start: calc(max(0px, 100vw - 1280px) / 2 + 0rem);
    width: 12.5rem;
    height: 45.9375rem;
  }
}

body.is-heroPassed .l-header {
  display: none;
}

.l-drawerOverlay {
  position: fixed;
  z-index: 101;
  inset: 0;
  background: rgba(0, 0, 0, 0.3);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.5s ease;
}
body.is-drawerOpen .l-drawerOverlay {
  opacity: 1;
  pointer-events: auto;
}

.l-drawer {
  position: fixed;
  z-index: 102;
  overflow-y: scroll;
  inset-block-start: 0;
  inset-inline-end: 0;
  width: 23.4375rem;
  height: 100vh;
  height: 100svh;
  translate: 101%;
  transition: translate 0.5s ease;
}
.l-drawer.js-show {
  translate: 0;
}
@media (min-width: 768px) {
  .l-drawer {
    display: none;
  }
  .l-drawer.js-show {
    display: block;
  }
}

.l-main {
  min-height: 100vh;
}

.l-inner {
  position: relative;
  width: 100%;
  max-width: 1280px;
  height: inherit;
  padding: 0 5.625rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .l-inner {
    width: 100%;
    max-width: 640px;
    padding: 0 1.25rem;
  }
}

.l-inner__narrow {
  position: relative;
  width: 100%;
  max-width: 868px;
  height: inherit;
  padding: 0 5.625rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .l-inner__narrow {
    width: 100%;
    max-width: 640px;
    padding: 0 1.25rem;
  }
}

.l-footer {
  position: relative;
  overflow-x: clip;
  overflow-y: visible;
}

.l-section {
  scroll-margin-block-start: 5.3125rem;
}
@media (min-width: 768px) {
  .l-section {
    scroll-margin-block-start: 0;
  }
}

.c-btn-wrap {
  display: inline-block;
  width: min(100%, 18.5rem);
}

.c-btn {
  position: relative;
  display: block;
  width: 100%;
}

.c-btn__border {
  position: absolute;
  inset-block: 0.375rem -0.325rem;
  inset-inline: 0.375rem 0;
  border-block-end: 1px solid #222222;
  border-inline-end: 1px solid #222222;
  pointer-events: none;
}

.c-btn__main {
  position: relative;
  display: grid;
  place-items: center;
  padding-block: 1.5rem;
  margin-block-end: 0.375rem;
  margin-inline-end: 0.375rem;
  background: #222222;
  transition: opacity 0.3s ease, transform 0.1s ease;
}
@media (hover: hover) {
  .c-btn:hover .c-btn__main {
    opacity: 0.8;
  }
}
.c-btn:active .c-btn__main {
  transform: translate(0.375rem, 0.375rem);
}

.c-btn__text {
  font-family: "Noto Serif JP", serif;
  color: #ffffff;
  white-space: nowrap;
  font-size: max(1rem, 12.8px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .c-btn__text {
    font-size: 1rem;
  }
}

.c-btn__arrow {
  position: absolute;
  inset-inline-end: 1.375rem;
  inset-block-start: 50%;
  transform: translateY(-50%);
  width: 1rem;
  height: 1.5rem;
}

.c-animated__fadeIn {
  translate: 0 20px;
  opacity: 0;
  transition: all 0.3s ease;
}
.c-animated__fadeIn.js-show {
  translate: 0;
  opacity: 1;
}

.c-heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #222222;
}

.c-heading--start {
  align-items: flex-start;
}

.c-heading__en {
  font-family: "Amatic SC", sans-serif;
  text-transform: uppercase;
  font-size: max(2.5rem, 32px);
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .c-heading__en {
    font-size: 2.5rem;
  }
}
@media (min-width: 768px) {
  .c-heading__en {
    font-size: max(3.25rem, 41.6px);
    font-weight: 700;
    letter-spacing: 0.2em;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  .c-heading__en {
    font-size: 3.25rem;
  }
}

.c-heading__ja {
  font-family: "Noto Serif JP", serif;
  font-size: max(0.75rem, 9.6px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .c-heading__ja {
    font-size: 0.75rem;
  }
}
@media (min-width: 768px) {
  .c-heading__ja {
    font-size: max(0.875rem, 11.2px);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0em;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  .c-heading__ja {
    font-size: 0.875rem;
  }
}

.c-headingBorder {
  padding-block: 0.25rem;
  border-block: 2px solid #222222;
}

.c-headingBorder__text {
  padding-block: 0.125rem;
  padding-inline: 0.625rem;
  border-block: 1px solid #222222;
  color: #222222;
  font-family: "Noto Serif JP", serif;
  align-items: flex-start;
  font-size: max(1.25rem, 16px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .c-headingBorder__text {
    font-size: 1.25rem;
  }
}
@media (min-width: 768px) {
  .c-headingBorder__text {
    padding-block: 0.3125rem;
    padding-inline: 1.25rem;
    font-size: max(1.5rem, 19.2px);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0em;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  .c-headingBorder__text {
    font-size: 1.5rem;
  }
}

.c-headingSidebar {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.25rem;
}

.c-headingSidebar__text {
  color: #222222;
  font-family: "Noto Serif JP", serif;
  font-size: max(1.25rem, 16px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .c-headingSidebar__text {
    font-size: 1.25rem;
  }
}

.c-headingSidebar__line {
  inline-size: 2rem;
  block-size: 1px;
  background: #222222;
}

.c-globalNav__list {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 2.5rem;
}

.c-globalNav__link {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  transition: opacity 0.3s ease;
}
@media (hover: hover) {
  .c-globalNav__link:hover {
    opacity: 0.7;
  }
}

.c-globalNav__link-en {
  font-family: "Patua One", sans-serif;
  font-size: 1rem;
  letter-spacing: 0.12em;
}

.c-globalNav__link-ja {
  font-family: "Noto Serif JP", serif;
  font-size: max(0.625rem, 8px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .c-globalNav__link-ja {
    font-size: 0.625rem;
  }
}

.c-drawerNav__list {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  row-gap: 2.2625rem;
  width: 100%;
  color: #ffffff;
}

.c-drawerNav__link {
  display: flex;
  align-items: center;
  column-gap: 0.75rem;
  transition: opacity 0.3s ease;
}
@media (hover: hover) {
  .c-drawerNav__link:hover {
    opacity: 0.7;
  }
}

.c-drawerNav__link-en {
  font-family: "Patua One", sans-serif;
  text-transform: uppercase;
  font-size: max(1.5rem, 19.2px);
  font-weight: 400;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  .c-drawerNav__link-en {
    font-size: 1.5rem;
  }
}

.c-drawerNav__link-divider,
.c-drawerNav__link-ja {
  font-family: "Noto Serif JP", serif;
  font-size: max(0.625rem, 8px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .c-drawerNav__link-divider,
  .c-drawerNav__link-ja {
    font-size: 0.625rem;
  }
}

.c-snsList {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 1.5rem;
}

.c-snsList__link {
  display: block;
  width: 1.5rem;
  height: 1.5rem;
}

.c-to-top {
  position: fixed;
  z-index: 100;
  inset-block-end: 1.25rem;
  inset-inline-end: 1.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  background: #ffffff;
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 767px) {
  .c-to-top {
    inset-block-end: 0.625rem;
    inset-inline-end: 0.625rem;
  }
}
.c-to-top.js-show {
  opacity: 1;
  pointer-events: auto;
}

.c-to-top__arrow {
  width: 0.6875rem;
  height: 0.6875rem;
  border-block-start: 2px solid #222222;
  border-inline-start: 2px solid #222222;
  rotate: 45deg;
  translate: 0 0.125rem;
}

.c-breadcrumb__list {
  display: flex;
  align-items: center;
  width: 100%;
  max-width: 640px;
  margin-inline: auto;
  padding-block-start: 0.375rem;
  padding-inline: 1.25rem;
  color: #382620;
  font-family: "Noto Serif JP", serif;
  white-space: nowrap;
  font-size: max(0.75rem, 9.6px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .c-breadcrumb__list {
    font-size: 0.75rem;
  }
}
@media (min-width: 768px) {
  .c-breadcrumb__list {
    max-width: 1280px;
    padding-block-start: 1rem;
    padding-inline: 5.625rem;
    font-size: max(0.875rem, 11.2px);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0em;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  .c-breadcrumb__list {
    font-size: 0.875rem;
  }
}

.c-breadcrumb__item:not(:last-child)::after {
  content: ">";
  margin-inline: 0.3125rem;
}
@media (min-width: 768px) {
  .c-breadcrumb__item:not(:last-child)::after {
    margin-inline: 0.9375rem;
  }
}

.c-breadcrumb__link {
  color: inherit;
}

.c-pageHero {
  position: relative;
  overflow: hidden;
  padding: 0.375rem;
  height: 7.5rem;
}
@media (min-width: 768px) {
  .c-pageHero {
    padding: 0.625rem;
    height: 20rem;
  }
}

.c-pageHero__img {
  position: absolute;
  inset: 0;
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
}

.c-pageHero__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
}

.c-pageHero__frame {
  position: absolute;
  inset: 0.375rem;
  border: 0.125rem solid #ffffff;
}
@media (min-width: 768px) {
  .c-pageHero__frame {
    inset: 0.625rem;
  }
}
.c-pageHero__frame::before {
  content: "";
  position: absolute;
  inset: 0.3125rem;
  border: 1px solid #ffffff;
}
@media (min-width: 768px) {
  .c-pageHero__frame::before {
    inset: 0.375rem;
  }
}

.c-pageHero__title {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 50%;
  translate: -50% -50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #ffffff;
  text-align: center;
  white-space: nowrap;
}

.c-pageHero__title-en {
  font-family: "Amatic SC", sans-serif;
  text-transform: uppercase;
  font-size: max(2rem, 25.6px);
  font-weight: 700;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 767px) {
  .c-pageHero__title-en {
    font-size: 2rem;
  }
}
@media (min-width: 768px) {
  .c-pageHero__title-en {
    font-size: max(4.5rem, 57.6px);
    font-weight: 700;
    letter-spacing: 0.2em;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  .c-pageHero__title-en {
    font-size: 4.5rem;
  }
}

.c-pageHero__title-ja {
  font-family: "Noto Serif JP", serif;
  font-size: max(0.75rem, 9.6px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 767px) {
  .c-pageHero__title-ja {
    font-size: 0.75rem;
  }
}
@media (min-width: 768px) {
  .c-pageHero__title-ja {
    font-size: max(1rem, 12.8px);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.08em;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  .c-pageHero__title-ja {
    font-size: 1rem;
  }
}

.c-shopInfo {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.25rem;
}
@media (min-width: 768px) {
  .c-shopInfo {
    gap: 1.5rem;
  }
}

.c-shopInfo__heading {
  padding-inline-start: 1rem;
  border-inline-start: 0.375rem solid #382620;
  color: #382620;
  font-family: "Noto Serif JP", serif;
  font-size: max(1.125rem, 14.4px);
  font-weight: 700;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .c-shopInfo__heading {
    font-size: 1.125rem;
  }
}
@media (min-width: 768px) {
  .c-shopInfo__heading {
    font-size: max(1.5rem, 19.2px);
    font-weight: 700;
    letter-spacing: 0em;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  .c-shopInfo__heading {
    font-size: 1.5rem;
  }
}

.c-shopInfo__img {
  inline-size: 100%;
  block-size: 11.5rem;
  object-fit: cover;
}
@media (min-width: 768px) {
  .c-shopInfo__img {
    block-size: 23.5625rem;
  }
}

.c-shopInfo__list {
  display: flex;
  flex-direction: column;
  gap: 1.125rem;
  inline-size: 100%;
  color: #222222;
  font-family: "Noto Serif JP", serif;
  font-size: max(0.875rem, 11.2px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .c-shopInfo__list {
    font-size: 0.875rem;
  }
}
@media (min-width: 768px) {
  .c-shopInfo__list {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 1.25rem 2.5rem;
  }
}

.c-shopInfo__row {
  display: flex;
  align-items: flex-start;
  gap: 1.5rem;
  padding-block-end: 0.375rem;
  border-block-end: 1px solid #222222;
  inline-size: 100%;
}
@media (min-width: 768px) {
  .c-shopInfo__row {
    inline-size: 20.25rem;
  }
}

.c-shopInfo__label {
  flex-shrink: 0;
  inline-size: 3.5rem;
}

.c-giftCard {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  inline-size: 100%;
}

.c-giftCard__imgWrap {
  display: block;
  inline-size: 100%;
  overflow: hidden;
}

.c-giftCard__img {
  inline-size: 100%;
  aspect-ratio: 1/1;
  object-fit: cover;
  transition: transform 0.3s ease;
}
@media (hover: hover) {
  .c-giftCard:hover .c-giftCard__img {
    transform: scale(1.1);
  }
}

.c-giftCard__name {
  color: #222222;
  font-family: "Noto Serif JP", serif;
  text-align: center;
  font-size: max(0.875rem, 11.2px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .c-giftCard__name {
    font-size: 0.875rem;
  }
}
.c-giftCard--large .c-giftCard__name {
  font-size: max(1.25rem, 16px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .c-giftCard--large .c-giftCard__name {
    font-size: 1.25rem;
  }
}
@media (min-width: 768px) {
  .c-giftCard--large .c-giftCard__name {
    font-size: max(1.5rem, 19.2px);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0em;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  .c-giftCard--large .c-giftCard__name {
    font-size: 1.5rem;
  }
}

.c-giftCard__price {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  color: #222222;
  font-family: "Damion", cursive;
  font-size: max(1.5rem, 19.2px);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .c-giftCard__price {
    font-size: 1.5rem;
  }
}
.c-giftCard--large .c-giftCard__price {
  gap: 0.5rem;
  font-size: max(1.75rem, 22.4px);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .c-giftCard--large .c-giftCard__price {
    font-size: 1.75rem;
  }
}
@media (min-width: 768px) {
  .c-giftCard--large .c-giftCard__price {
    font-size: max(2rem, 25.6px);
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0em;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  .c-giftCard--large .c-giftCard__price {
    font-size: 2rem;
  }
}

.c-giftCard__priceUnit {
  font-family: "Damion", cursive;
}

.c-giftCard__btn {
  padding-block: 0.375rem;
  padding-inline: 0.75rem;
  border: 1px solid #382620;
  background: #382620;
  color: #ffffff;
  font-family: "Noto Serif JP", serif;
  text-align: center;
  font-size: max(0.75rem, 9.6px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .c-giftCard__btn {
    font-size: 0.75rem;
  }
}
@media (min-width: 768px) {
  .c-giftCard__btn {
    padding-block: 0.5rem;
    padding-inline: 1.5rem;
    font-size: max(0.875rem, 11.2px);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0em;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  .c-giftCard__btn {
    font-size: 0.875rem;
  }
}
@media (hover: hover) {
  .c-giftCard__btn:hover {
    background: #ffffff;
    color: #382620;
  }
}

.c-contactForm__row {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.25rem;
  inline-size: 100%;
  margin: 0 0 2.5rem 0;
}
@media (min-width: 768px) {
  .c-contactForm__row {
    flex-direction: row;
    justify-content: space-between;
    gap: 1.5rem;
  }
}

.c-contactForm__label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
  color: #382620;
  font-family: "Noto Serif JP", serif;
  font-size: max(1rem, 12.8px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .c-contactForm__label {
    font-size: 1rem;
  }
}
@media (min-width: 768px) {
  .c-contactForm__label {
    inline-size: 10.625rem;
  }
}

.c-contactForm__must {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-inline: 0.375rem;
  padding-block: 1px;
  border-radius: 0.125rem;
  background: #F07317;
  color: #ffffff;
  font-family: "Noto Serif JP", serif;
  font-size: max(0.6875rem, 8.8px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .c-contactForm__must {
    font-size: 0.6875rem;
  }
}

.c-contactForm__field {
  inline-size: 100%;
}
@media (min-width: 768px) {
  .c-contactForm__field {
    max-inline-size: 30.625rem;
  }
}

.c-contactForm__field .wpcf7-form-control {
  display: block;
  inline-size: 100%;
  padding: 0.75rem 1rem;
  border: 1px solid #382620;
  border-radius: 0.375rem;
  background: #ffffff;
  color: #222222;
  font-family: "Noto Serif JP", serif;
  font-size: max(1rem, 12.8px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .c-contactForm__field .wpcf7-form-control {
    font-size: 1rem;
  }
}
.c-contactForm__field .wpcf7-form-control::placeholder {
  color: #ccc;
}

.c-contactForm__field .wpcf7-textarea {
  block-size: 12.5rem;
  resize: vertical;
}
@media (min-width: 768px) {
  .c-contactForm__field .wpcf7-textarea {
    block-size: 15rem;
  }
}

.c-contactForm__radioGroup {
  inline-size: 100%;
}
@media (min-width: 768px) {
  .c-contactForm__radioGroup {
    max-inline-size: 30.625rem;
  }
}

.c-contactForm__radioGroup .wpcf7-form-control-wrap {
  display: block;
  inline-size: 100%;
}

.c-contactForm__radioGroup .wpcf7-radio {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  inline-size: 100%;
}

.c-contactForm__radioGroup .wpcf7-list-item {
  margin: 0 0 0 0;
}

.c-contactForm__radioGroup label {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding-inline-start: 2.125rem;
  color: #382620;
  font-family: "Noto Serif JP", serif;
  cursor: pointer;
  font-size: max(1rem, 12.8px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .c-contactForm__radioGroup label {
    font-size: 1rem;
  }
}
.c-contactForm__radioGroup label::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 50%;
  translate: 0 -50%;
  inline-size: 1.5rem;
  block-size: 1.5rem;
  border: 1px solid #382620;
  border-radius: 50%;
  background: #ffffff;
}
.c-contactForm__radioGroup label::after {
  content: "";
  position: absolute;
  inset-inline-start: 0.375rem;
  inset-block-start: 50%;
  translate: 0 -50%;
  inline-size: 0.75rem;
  block-size: 0.75rem;
  border-radius: 50%;
  background: #F07317;
  opacity: 0;
}
.c-contactForm__radioGroup label:has(input:checked)::after {
  opacity: 1;
}

.c-contactForm__radioGroup input[type=radio] {
  position: absolute;
  opacity: 0;
  inline-size: 1.5rem;
  block-size: 1.5rem;
}

.c-contactForm__privacy {
  color: #382620;
  font-family: "Noto Serif JP", serif;
  font-size: max(0.875rem, 11.2px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .c-contactForm__privacy {
    font-size: 0.875rem;
  }
}

.c-contactForm__submitWrap {
  position: relative;
  display: block;
  inline-size: min(100%, max(18.5rem, 300px));
  margin-block-start: 2.5rem;
  margin-inline: auto;
}
.c-contactForm__submitWrap::before {
  content: "";
  position: absolute;
  inset-block: 0.275rem 1.575rem;
  inset-inline: 0.175rem -0.3rem;
  border-block-end: 1px solid #222222;
  border-inline-end: 1px solid #222222;
  pointer-events: none;
}

.c-contactForm__submit {
  position: relative;
  display: block;
  inline-size: 100%;
  padding-block: 1.5rem;
  margin-block-end: 0.375rem;
  margin-inline-end: 0.375rem;
  border: none;
  background-color: #222222;
  background-image: url("/wp-content/themes/opencafe/assets/img/common/icon-arrow.svg");
  background-repeat: no-repeat;
  background-position: right 1.5rem center;
  background-size: 1rem 1.5rem;
  color: #ffffff;
  font-family: "Noto Serif JP", serif;
  text-align: center;
  cursor: pointer;
  transition: opacity 0.3s ease, transform 0.1s ease;
  font-size: max(1rem, 12.8px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 1em;
}
@media screen and (max-width: 767px) {
  .c-contactForm__submit {
    font-size: 1rem;
  }
}
@media (hover: hover) {
  .c-contactForm__submit:hover {
    opacity: 0.8;
  }
}
.c-contactForm__submit:active {
  transform: translate(0.175rem, 0.275rem);
}

.c-badge {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
}

.c-badge__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  inline-size: 100%;
}

.c-badge__main {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-block: 0.125rem;
  padding-inline: 0.625rem;
  background: #382620;
  color: #ffffff;
  font-family: "Noto Serif JP", serif;
  white-space: nowrap;
  font-size: max(0.75rem, 9.6px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .c-badge__main {
    font-size: 0.75rem;
  }
}
.c-badge--large .c-badge__main {
  font-size: max(1rem, 12.8px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .c-badge--large .c-badge__main {
    font-size: 1rem;
  }
}

.c-badge__decoRight {
  flex-shrink: 0;
  block-size: 100%;
  inline-size: 0.3125rem;
}

.c-badge__decoRightImg {
  display: block;
  inline-size: 100%;
  block-size: 100%;
}

.c-badge__decoBottom {
  flex-shrink: 0;
  inline-size: 0.5rem;
  block-size: 0.25rem;
}

.c-badge__decoBottomImg {
  display: block;
  inline-size: 100%;
  block-size: 100%;
}

.c-tabBtn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: 10rem;
  block-size: 4rem;
  padding-inline: 1.25rem;
  padding-block: 1.375rem;
  background: #888888;
}
@media (min-width: 768px) {
  .c-tabBtn {
    inline-size: 12.5rem;
    block-size: 4.3125rem;
  }
}

.c-tabBtn.is-current,
.c-tabBtn:hover {
  background: #382620;
}

.c-tabBtn__text {
  color: #ffffff;
  font-family: "Noto Serif JP", serif;
  text-align: center;
  white-space: nowrap;
  font-size: max(0.875rem, 11.2px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .c-tabBtn__text {
    font-size: 0.875rem;
  }
}
@media (min-width: 768px) {
  .c-tabBtn__text {
    font-size: max(1rem, 12.8px);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0em;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  .c-tabBtn__text {
    font-size: 1rem;
  }
}

.c-tabBtn__frame {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 50%;
  transform: translate(-50%, -50%);
  inline-size: 9.5rem;
  block-size: 3.5rem;
  border: 1px solid #ffffff;
}
@media (min-width: 768px) {
  .c-tabBtn__frame {
    inline-size: 12rem;
    block-size: 3.8125rem;
  }
}

.c-pagination {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.c-pagination__arrow {
  display: block;
  flex-shrink: 0;
  inline-size: 2.5rem;
  block-size: 2.5rem;
}

.c-pagination__arrowImg {
  display: block;
  inline-size: 100%;
  block-size: 100%;
}

.c-pagination__number {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  inline-size: 2.5rem;
  block-size: 2.5rem;
  padding-block: 0.5rem;
  padding-inline: 0.9375rem;
  border: 1px solid #382620;
  border-radius: 1.25rem;
  background: #ffffff;
  color: #382620;
  font-family: "Noto Serif JP", serif;
  text-align: center;
  font-size: max(1rem, 12.8px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .c-pagination__number {
    font-size: 1rem;
  }
}

.c-pagination__number.is-current,
.c-pagination__number:hover {
  background: #382620;
  color: #ffffff;
}

.c-pagination__number--dots {
  pointer-events: none;
}

.c-menuCard {
  display: flex;
  flex-direction: column;
  row-gap: 0.75rem;
  inline-size: 100%;
}

.c-menuCard__img {
  display: block;
  inline-size: 100%;
  aspect-ratio: 1/1;
  object-fit: cover;
}

.c-menuCard__name {
  color: #222222;
  font-family: "Noto Serif JP", serif;
  font-size: max(0.875rem, 11.2px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .c-menuCard__name {
    font-size: 0.875rem;
  }
}

.c-menuCard__price {
  display: flex;
  align-items: baseline;
  justify-content: center;
  column-gap: 0.4375rem;
  color: #222222;
  font-family: "Damion", cursive;
}

.c-menuCard__priceValue,
.c-menuCard__priceUnit {
  font-size: max(1.5rem, 19.2px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .c-menuCard__priceValue,
  .c-menuCard__priceUnit {
    font-size: 1.5rem;
  }
}

.c-menuItem {
  display: flex;
  flex-direction: column;
  row-gap: 1rem;
  inline-size: 100%;
}

.c-menuItem__img {
  display: block;
  inline-size: 100%;
  aspect-ratio: 1/1;
  object-fit: cover;
}

.c-menuItem__row {
  display: flex;
  align-items: center;
  column-gap: 0.375rem;
  inline-size: 100%;
}
@media (min-width: 768px) {
  .c-menuItem__row {
    column-gap: 0.75rem;
  }
}

.c-menuItem__tag {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  inline-size: 1.5rem;
  block-size: 1.5rem;
  background: #222222;
  color: #ffffff;
  font-family: "Patua One", sans-serif;
  line-height: 1;
  font-size: max(1.1875rem, 15.2px);
  font-weight: 400;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  .c-menuItem__tag {
    font-size: 1.1875rem;
  }
}
@media (min-width: 768px) {
  .c-menuItem__tag {
    inline-size: 3.0625rem;
    block-size: 3.0625rem;
    font-size: max(2rem, 25.6px);
    font-weight: 400;
    letter-spacing: 0.12em;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  .c-menuItem__tag {
    font-size: 2rem;
  }
}

.c-menuItem__name {
  flex: 1 0 0;
  min-inline-size: 0;
  color: #222222;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  font-size: 0.875rem;
  line-height: 1.5;
}
@media (min-width: 768px) {
  .c-menuItem__name {
    font-size: 1.125rem;
  }
}

.c-drinkMenu {
  display: flex;
  flex-direction: column;
  row-gap: 1.5rem;
  inline-size: 100%;
}
@media (min-width: 768px) {
  .c-drinkMenu {
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
  }
}

.c-drinkMenu__img {
  display: none;
}
@media (min-width: 768px) {
  .c-drinkMenu__img {
    display: block;
    flex-shrink: 0;
    inline-size: 20.4375rem;
    aspect-ratio: 1/1;
    padding: 0.5rem;
    background: #ffffff;
  }
}

.c-drinkMenu__imgTag {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
}

.c-drinkMenu__lists {
  display: flex;
  flex-direction: column;
  row-gap: 2.5rem;
  inline-size: 100%;
}
@media (min-width: 768px) {
  .c-drinkMenu__lists {
    flex-direction: row;
    column-gap: 3rem;
    inline-size: auto;
  }
}

.c-drinkMenu__list {
  display: flex;
  flex-direction: column;
  row-gap: 1.5875rem;
  inline-size: 100%;
}
@media (min-width: 768px) {
  .c-drinkMenu__list {
    inline-size: 12.3125rem;
  }
}

.c-drinkMenu__listHeading {
  padding-block-end: 0.375rem;
  border-block-end: 1px solid #222222;
  color: #222222;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.5;
}

.c-drinkMenu__items {
  display: flex;
  flex-direction: column;
  row-gap: 1rem;
  inline-size: 100%;
}

.c-drinkMenu__item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  inline-size: 100%;
}

.c-drinkMenu__itemName {
  color: #222222;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  font-size: 0.875rem;
  line-height: 1.5;
}

.c-drinkMenu__itemPrice {
  display: flex;
  align-items: baseline;
  column-gap: 0.25rem;
  color: #222222;
  font-family: "Damion", cursive;
}

.c-drinkMenu__itemPriceValue {
  font-size: 1.25rem;
  line-height: 1;
  text-align: end;
}

.c-drinkMenu__itemPriceUnit {
  font-size: 1.25rem;
  line-height: 1;
}

.c-newsCard {
  position: relative;
  inline-size: 9.875rem;
}
@media (min-width: 768px) {
  .c-newsCard {
    inline-size: 21.25rem;
  }
}

@media (min-width: 768px) {
  .c-newsCard--related {
    inline-size: 12.625rem;
  }
}

.c-newsCard__link {
  display: flex;
  flex-direction: column;
  row-gap: 0.5rem;
}
@media (min-width: 768px) {
  .c-newsCard__link {
    row-gap: 0.75rem;
  }
}

.c-newsCard__imgWrap {
  display: block;
  inline-size: 100%;
  aspect-ratio: 158/99;
  overflow: hidden;
}
@media (min-width: 768px) {
  .c-newsCard__imgWrap {
    aspect-ratio: 340/213;
  }
}

.c-newsCard__img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}
@media (hover: hover) {
  .c-newsCard__link:hover .c-newsCard__img {
    transform: scale(1.1);
  }
}

.c-newsCard__body {
  display: flex;
  flex-direction: column;
  row-gap: 0.75rem;
  color: #222222;
  font-family: "Noto Serif JP", serif;
}

.c-newsCard__title {
  display: -webkit-box;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  font-weight: 700;
  font-size: max(0.75rem, 9.6px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .c-newsCard__title {
    font-size: 0.75rem;
  }
}
@media (min-width: 768px) {
  .c-newsCard__title {
    font-size: max(1rem, 12.8px);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0em;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  .c-newsCard__title {
    font-size: 1rem;
  }
}

.c-newsCard__date {
  font-weight: 500;
  font-size: max(0.75rem, 9.6px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .c-newsCard__date {
    font-size: 0.75rem;
  }
}
@media (min-width: 768px) {
  .c-newsCard__date {
    font-size: max(0.875rem, 11.2px);
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0em;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  .c-newsCard__date {
    font-size: 0.875rem;
  }
}

.c-newsCard__badge {
  position: absolute;
  inset-block-start: 0.625rem;
  inset-inline-start: -0.5rem;
  z-index: 1;
}

.p-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-inline: 0.625rem;
  background: transparent;
}
@media (min-width: 768px) {
  .p-header {
    flex-direction: column;
    justify-content: space-between;
    padding-block: 1.125rem;
    padding-inline: 0;
    background: #F3EFEB;
  }
}

.p-header__logo {
  display: block;
}

.p-header__logo-img {
  display: block;
  width: 7.5rem;
  height: 4.0625rem;
  filter: brightness(0) invert(1);
}
@media (min-width: 768px) {
  .p-header__logo-img {
    width: 10.375rem;
    height: 5.625rem;
    filter: none;
  }
}

.p-header__nav {
  display: none;
}
@media (min-width: 768px) {
  .p-header__nav {
    display: block;
  }
}

.p-header__sns {
  display: none;
}
@media (min-width: 768px) {
  .p-header__sns {
    display: block;
  }
}

.p-drawer__icon {
  position: fixed;
  z-index: 103;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  row-gap: 0.3125rem;
  inset-block-start: 0.625rem;
  inset-inline-end: 0.625rem;
  width: 3.75rem;
  height: 3.75rem;
  background: #382620;
  border-radius: 50%;
}
@media (min-width: 768px) {
  .p-drawer__icon {
    display: none;
  }
}

@media (min-width: 768px) {
  body.is-heroPassed .p-drawer__icon {
    display: flex;
    inset-block-start: 1.25rem;
    inset-inline-end: 1.25rem;
  }
}
.p-drawer__icon--bar {
  width: 1.375rem;
  height: 2px;
  background: #ffffff;
  transition: all 0.5s ease;
}

.p-drawer__icon.js-show {
  background: #ffffff;
  transition: background 0.5s ease;
}

.p-drawer__icon.js-show .p-drawer__icon--bar {
  background: #382620;
}

.p-drawer__icon.js-show .p-drawer__icon--bar:nth-of-type(1) {
  rotate: 45deg;
  translate: 0 0.4375rem;
}

.p-drawer__icon.js-show .p-drawer__icon--bar:nth-of-type(2) {
  opacity: 0;
}

.p-drawer__icon.js-show .p-drawer__icon--bar:nth-of-type(3) {
  rotate: -45deg;
  translate: 0 -0.4375rem;
}

.p-drawer {
  display: flex;
  flex-direction: column;
  background: #382620;
}

.p-drawer__header {
  display: flex;
  width: 100%;
  padding: 0.625rem;
}

.p-drawer__logo {
  display: block;
}

.p-drawer__logoImg {
  width: 7.5rem;
  height: 4.0625rem;
  object-fit: contain;
}

.p-drawer__body {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1 0 0;
  min-height: 0;
  row-gap: 3.525rem;
  width: 100%;
  padding-inline: 2.5rem;
  padding-block: 3.75rem;
}

.p-concept {
  position: relative;
  overflow-x: clip;
  padding-block-start: 4.4375rem;
  padding-block-end: 3.625rem;
}
@media (min-width: 768px) {
  .p-concept {
    padding-block-start: 9.0625rem;
    padding-block-end: 5rem;
    padding-inline-end: 5.625rem;
  }
}

.p-concept__bg {
  position: absolute;
  z-index: -1;
  inset-block-end: 0;
  inset-inline-start: 0;
  inset-inline-end: 0;
  height: 6.25rem;
  background-color: #EAE0D5;
  margin-inline-end: 1.25rem;
}
@media (min-width: 768px) {
  .p-concept__bg {
    height: 18.75rem;
    margin-inline-end: 5.625rem;
  }
}

.p-concept__item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  row-gap: 3.75rem;
}
@media (min-width: 768px) {
  .p-concept__item {
    flex-direction: row-reverse;
    align-items: center;
    justify-content: flex-start;
    column-gap: 5rem;
    row-gap: 0;
    max-width: 74.375rem;
    margin-inline: auto;
  }
}

.p-concept__heading {
  align-items: flex-start;
  row-gap: 0.65rem;
}

.p-concept__text-wrap {
  display: flex;
  flex-direction: column;
  row-gap: 2.5rem;
  width: 100%;
  max-width: 43.75rem;
  padding-inline: 1.25rem;
}
.p-concept__text-wrap .c-btn-wrap {
  align-self: center;
  padding-block-start: 0rem;
}
@media (min-width: 768px) {
  .p-concept__text-wrap {
    row-gap: 3.0625rem;
    width: 31.875rem;
    flex-shrink: 0;
    padding-inline: 0;
  }
  .p-concept__text-wrap .c-btn-wrap {
    align-self: flex-start;
    padding-block-start: 0rem;
  }
}

.p-concept__title {
  color: #222222;
  font-family: "Noto Serif JP", serif;
  font-style: normal;
  font-size: max(1.25rem, 16px);
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-concept__title {
    font-size: 1.25rem;
  }
}
@media (min-width: 768px) {
  .p-concept__title {
    font-size: max(1.75rem, 22.4px);
    font-weight: 700;
    line-height: 2;
    letter-spacing: 0em;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  .p-concept__title {
    font-size: 1.75rem;
  }
}

.p-concept__text {
  color: #222222;
  font-family: "Noto Serif JP", serif;
  font-style: normal;
  font-size: max(0.875rem, 11.2px);
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-concept__text {
    font-size: 0.875rem;
  }
}
.p-concept__text p:nth-of-type(2) {
  margin-block-start: 0.875rem;
}

.p-concept__img-wrap {
  align-self: flex-start;
  width: 19.6875rem;
  height: 25.0625rem;
  aspect-ratio: 315/401;
}
@media (min-width: 768px) {
  .p-concept__img-wrap {
    align-self: auto;
    flex-shrink: 0;
    width: 37.5rem;
    height: 47.75rem;
    aspect-ratio: none;
  }
}
.p-concept__img-wrap picture {
  height: 100%;
}

.p-concept__imageImg {
  object-fit: cover;
}

.p-concept__deco {
  position: absolute;
  inset-block-start: -1.25rem;
  inset-inline-end: -1.0625rem;
  width: 9.0625rem;
  aspect-ratio: 145/130;
}
@media (min-width: 768px) {
  .p-concept__deco {
    inset-block-start: 1.3125rem;
    inset-inline-end: -2.5rem;
    width: 18.5rem;
    aspect-ratio: 296/265;
    z-index: 1;
  }
}

.p-concept__decoImg {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-footer__deco {
  position: absolute;
}

.p-footer__decoImg {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.p-footer__heading {
  align-items: center;
  row-gap: 0.25rem;
}

.p-footer__deco--bread {
  inset-inline-end: -2.3rem;
  inset-block-start: -5.6875rem;
  width: clamp(194px, calc(113.1988950276px + 21.546961326vw), 389px);
  height: clamp(179px, calc(104.4143646409px + 19.8895027624vw), 359px);
}
@media (min-width: 768px) {
  .p-footer__deco--bread {
    inset-inline-start: calc(max(0px, 100vw - 1280px) / 2 + 61.375rem);
    inset-inline-end: auto;
    inset-block-start: -10.625rem;
  }
}

.p-footer__deco--beans {
  inset-inline-start: -2.25rem;
  inset-block-start: calc(clamp(108px, calc(33.4143646409px + 19.8895027624vw), 288px) / -2);
  width: clamp(128px, calc(39.7403314917px + 23.5359116022vw), 341px);
  height: clamp(108px, calc(33.4143646409px + 19.8895027624vw), 288px);
}
@media (min-width: 768px) {
  .p-footer__deco--beans {
    inset-inline-start: calc(max(0px, 100vw - 1280px) / 2 + -5.3125rem);
  }
}

.p-footer__deco--balloon {
  inset-inline-start: -2rem;
  inset-block-start: -2.75rem;
  width: 12.5rem;
  aspect-ratio: 233/200;
}
@media (min-width: 768px) {
  .p-footer__deco--balloon {
    inset-inline-start: calc(max(0px, 100vw - 1280px) / 2 + 21rem);
    inset-block-start: -2.8125rem;
    width: 14.5625rem;
  }
}

.p-footer__access {
  padding-block-start: 6rem;
  padding-block-end: 5rem;
  padding-inline: 1.25rem;
  background: #EAE0D5;
}

.p-footer__accessInner {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 2.5rem;
  width: min(100%, 43rem);
  margin-inline: auto;
}

.p-footer__map {
  width: 100%;
  aspect-ratio: 688/377;
  border: 0.625rem solid #ffffff;
}
@media screen and (max-width: 767px) {
  .p-footer__map {
    aspect-ratio: 335/184;
    border-width: 0.3125rem;
  }
}

.p-footer__shopInfo {
  display: grid;
  grid-template-columns: repeat(2, min(100%, 20.25rem));
  grid-template-rows: repeat(3, auto);
  grid-auto-flow: column;
  column-gap: 2.5rem;
  row-gap: 1rem;
  width: 100%;
  color: #222222;
}
@media screen and (max-width: 767px) {
  .p-footer__shopInfo {
    display: flex;
    flex-direction: column;
    row-gap: 1.025rem;
  }
}

.p-footer__shopInfoItem {
  display: flex;
  column-gap: 1.5rem;
  width: min(100%, 20.25rem);
  padding-block-end: 0.375rem;
  border-block-end: 1px solid #222222;
  font-family: "Noto Serif JP", serif;
  font-size: max(0.875rem, 11.2px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-footer__shopInfoItem {
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 767px) {
  .p-footer__shopInfoItem {
    width: 100%;
  }
}

.p-footer__shopInfoTerm {
  flex-shrink: 0;
  width: 3.5rem;
}

.p-footer__bar {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 2.5rem;
  padding-block: 2.5rem 0.875rem;
  padding-inline: 1.25rem;
  background: #382620;
}

.p-footer__copyright {
  font-family: "Noto Serif JP", serif;
  color: #ffffff;
  text-align: center;
  font-size: max(0.75rem, 9.6px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-footer__copyright {
    font-size: 0.75rem;
  }
}

.p-gallery {
  position: relative;
  overflow-x: clip;
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 2.5rem;
  padding-block: 3.75rem;
  padding-inline: 1.25rem;
  background: #EAE0D5;
}
@media (min-width: 768px) {
  .p-gallery {
    row-gap: 3.75rem;
    padding-block-start: 5.7rem;
    padding-block-end: 4.9375rem;
    padding-inline: 5.625rem;
  }
}

.p-gallery__heading {
  align-items: center;
  row-gap: 1.25rem;
}

.p-gallery .c-btn-wrap {
  padding-block-start: 0rem;
}
@media (min-width: 768px) {
  .p-gallery .c-btn-wrap {
    padding-block-start: 0rem;
  }
}

.p-gallery__balloon {
  position: absolute;
  inset-block-start: -3.75rem;
  inset-inline-start: -1.25rem;
  width: 12.5rem;
  aspect-ratio: 200/104;
}
@media (min-width: 768px) {
  .p-gallery__balloon {
    inset-inline-start: 50%;
    translate: -21.5625rem 0;
    width: 16.625rem;
    aspect-ratio: 266/138;
  }
}

.p-gallery__balloonImg {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.p-gallery__images {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.1875rem;
  width: 100%;
  max-width: 20.9375rem;
}
@media (min-width: 768px) {
  .p-gallery__images {
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
    max-width: 68.75rem;
  }
}

.p-gallery__image {
  width: 100%;
  aspect-ratio: 1/1;
}

.p-gallery__imageTag {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-grandmenu {
  position: relative;
  overflow-x: clip;
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 2rem;
  padding-block-start: 3.75rem;
  padding-block-end: 4.875rem;
}
@media (min-width: 768px) {
  .p-grandmenu {
    padding-block-start: 5.9375rem;
    padding-block-end: 5.3125rem;
  }
}

.p-grandmenu__heading {
  align-items: center;
  row-gap: 1.25rem;
}

.p-grandmenu .c-btn-wrap {
  padding-block-start: 0rem;
}
@media (min-width: 768px) {
  .p-grandmenu .c-btn-wrap {
    padding-block-start: 0rem;
  }
}

.p-grandmenu__bg {
  position: absolute;
  inset-block-end: 0;
  inset-inline-end: 0;
  z-index: -1;
  inline-size: 73%;
  block-size: 90%;
  background: #EAE0D5;
}
@media (min-width: 768px) {
  .p-grandmenu__bg {
    inline-size: 64rem;
    block-size: 94%;
  }
}

.p-grandmenu__leaf {
  position: absolute;
  inset-block-start: -4.625rem;
  inset-inline-start: -1.5rem;
  z-index: 1;
  width: 9.375rem;
  aspect-ratio: 1/1;
}
@media (min-width: 768px) {
  .p-grandmenu__leaf {
    inset-block-start: -5.625rem;
    inset-inline-start: calc(max(0px, 100vw - 1280px) / 2 + -3.75rem);
    width: 18.75rem;
    rotate: -6deg;
  }
}

.p-grandmenu__leafImg {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transform: scaleY(-1) rotate(220deg);
}
@media (min-width: 768px) {
  .p-grandmenu__leafImg {
    transform: scaleY(-1) rotate(215deg);
  }
}

.p-grandmenu__inner {
  display: flex;
  flex-direction: column;
  row-gap: 2.625rem;
  width: 100%;
  max-width: 68.75rem;
  padding-inline: 1.25rem;
}
@media (min-width: 768px) {
  .p-grandmenu__inner {
    row-gap: 6.55rem;
    padding-inline: 0;
  }
}

.p-grandmenu__section {
  display: flex;
  flex-direction: column;
  row-gap: 1.25rem;
  width: 100%;
}
@media (min-width: 768px) {
  .p-grandmenu__section {
    row-gap: 1.5rem;
  }
}

.p-grandmenu__section--narrow {
  padding-inline: 1.25rem;
}
@media (min-width: 768px) {
  .p-grandmenu__section--narrow {
    padding-inline: 0;
  }
}

.p-grandmenu__cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 1.1875rem;
  row-gap: 1.65rem;
  width: 100%;
}
@media (min-width: 768px) {
  .p-grandmenu__cards {
    grid-template-columns: repeat(3, 1fr);
    column-gap: 2.125rem;
    row-gap: 0.55rem;
  }
}

.p-grandmenu__card {
  display: flex;
  flex-direction: column;
  row-gap: 0.55rem;
}

.p-grandmenu__cardImg {
  display: block;
  width: 100%;
  aspect-ratio: 1/1;
  padding: 0.3125rem;
  background: #ffffff;
}
@media (min-width: 768px) {
  .p-grandmenu__cardImg {
    padding: 0.5rem;
  }
}

.p-grandmenu__cardImgTag {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-grandmenu__cardName {
  color: #222222;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  font-size: 0.875rem;
  line-height: 1.5;
}
@media (min-width: 768px) {
  .p-grandmenu__cardName {
    font-size: 1.25rem;
  }
}

.p-grandmenu__cardPrice {
  display: flex;
  align-items: baseline;
  column-gap: 0.4375rem;
  color: #222222;
  font-family: "Damion", cursive;
}

.p-grandmenu__cardPriceValue {
  font-size: 1.5rem;
  line-height: 1;
}
@media (min-width: 768px) {
  .p-grandmenu__cardPriceValue {
    font-size: 2rem;
  }
}

.p-grandmenu__cardPriceUnit {
  font-size: 1.5rem;
  line-height: 1;
}
@media (min-width: 768px) {
  .p-grandmenu__cardPriceUnit {
    font-size: 2rem;
  }
}

.p-grandmenu__deco {
  position: absolute;
  inset-block-end: -5.875rem;
  inset-inline-end: -2.5rem;
  width: 12.75rem;
  aspect-ratio: 168/143;
  z-index: 2;
}
@media (min-width: 768px) {
  .p-grandmenu__deco {
    inset-block-end: -8rem;
    inset-inline-end: calc(max(0px, 100vw - 1280px) / 2 - 3rem);
    width: 24.375rem;
    aspect-ratio: 390/330;
    z-index: 2;
  }
}

.p-grandmenu__decoImg {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.p-mainvisual {
  position: relative;
}
@media (min-width: 768px) {
  .p-mainvisual {
    margin-inline-start: calc(max(0px, 100vw - 1280px) / 2 + 12.5rem);
    height: 45.9375rem;
  }
}

@media (min-width: 768px) {
  body.is-heroPassed .p-mainvisual {
    margin-inline-start: 0;
  }
}
.p-mainvisual__bg {
  display: none;
}
@media (min-width: 768px) {
  .p-mainvisual__bg {
    display: block;
    position: absolute;
    z-index: 1;
    inset-block-start: 0;
    inset-inline-end: 0;
    width: 61.5rem;
    height: 49.6875rem;
    background: #EAE0D5;
  }
}

.p-mainvisual__slider {
  position: relative;
  width: 100%;
  aspect-ratio: 375/667;
  overflow: hidden;
}
@media (min-width: 768px) {
  .p-mainvisual__slider {
    height: 100%;
    aspect-ratio: unset;
  }
}

.p-mainvisual__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-mainvisual__pagination.swiper-pagination-bullets.swiper-pagination-horizontal {
  position: absolute;
  inset-block-end: 0.625rem;
  inset-inline-start: 0.85rem;
  width: auto;
  display: flex;
  align-items: center;
  column-gap: 0.625rem;
}
@media (min-width: 768px) {
  .p-mainvisual__pagination.swiper-pagination-bullets.swiper-pagination-horizontal {
    inset-block-end: 1.25rem;
    inset-inline-start: 1rem;
  }
}

.p-mainvisual__pagination .swiper-pagination-bullet {
  width: 0.5rem;
  height: 0.5rem;
  margin: 0;
  background: #ffffff;
  opacity: 0.4;
}

.p-mainvisual__pagination .swiper-pagination-bullet-active {
  background: #D59B71;
  opacity: 1;
}

.p-mainvisual__message {
  position: absolute;
  z-index: 2;
  inset-block-start: 7.75rem;
  inset-inline-start: 1.25rem;
  color: #ffffff;
  font-family: "Noto Serif JP", serif;
  font-size: max(1rem, 12.8px);
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.14em;
}
@media screen and (max-width: 767px) {
  .p-mainvisual__message {
    font-size: 1rem;
  }
}
@media (min-width: 768px) {
  .p-mainvisual__message {
    inset-block-start: 37.6875rem;
    inset-inline-start: 3.125rem;
    font-size: max(1.25rem, 16px);
    font-weight: 700;
    line-height: 2;
    letter-spacing: 0.14em;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  .p-mainvisual__message {
    font-size: 1.25rem;
  }
}

.p-mainvisual__news {
  position: absolute;
  z-index: 2;
  inset-block-end: 2rem;
  inset-inline-start: 50%;
  translate: -50% 0;
  width: min(100%, 20.9375rem);
}
@media (min-width: 768px) {
  .p-mainvisual__news {
    inset-block-end: 1.25rem;
    inset-inline-start: auto;
    inset-inline-end: 1.25rem;
    translate: none;
    width: 24.25rem;
  }
}

.p-mainvisual__newsLink {
  position: relative;
  display: block;
}

.p-mainvisual__newsCard {
  display: flex;
  align-items: center;
  column-gap: 1rem;
  padding: 0.75rem;
  background: rgba(255, 255, 255, 0.85);
}
@media (min-width: 768px) {
  .p-mainvisual__newsCard {
    padding: 1rem;
  }
}

.p-mainvisual__newsThumb {
  flex-shrink: 0;
  width: 6.25rem;
  aspect-ratio: 1/1;
  overflow: hidden;
}
@media (min-width: 768px) {
  .p-mainvisual__newsThumb {
    width: 7.5rem;
  }
}

.p-mainvisual__newsThumbImg {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-mainvisual__newsBody {
  display: flex;
  flex-direction: column;
  flex: 1 0 0;
  row-gap: 0.625rem;
  min-width: 0;
  color: #222222;
}

.p-mainvisual__newsDate {
  font-family: "Noto Serif JP", serif;
  font-size: max(0.75rem, 9.6px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-mainvisual__newsDate {
    font-size: 0.75rem;
  }
}

.p-mainvisual__newsTitle {
  display: -webkit-box;
  overflow: hidden;
  font-family: "Noto Serif JP", serif;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  font-size: max(0.75rem, 9.6px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-mainvisual__newsTitle {
    font-size: 0.75rem;
  }
}
@media (min-width: 768px) {
  .p-mainvisual__newsTitle {
    font-size: max(0.875rem, 11.2px);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0em;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  .p-mainvisual__newsTitle {
    font-size: 0.875rem;
  }
}

.p-mainvisual__newsBadge {
  position: absolute;
  inset-block-start: 0.5rem;
  inset-inline-start: -0.5rem;
  display: flex;
  flex-direction: column;
}

.p-mainvisual__newsBadgeRow {
  display: flex;
  align-items: stretch;
}

.p-mainvisual__newsBadgeMain {
  display: flex;
  align-items: center;
  padding-block: 0.125rem;
  padding-inline: 0.625rem;
  background: #382620;
  font-family: "Noto Serif JP", serif;
  color: #ffffff;
  white-space: nowrap;
  font-size: max(0.75rem, 9.6px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-mainvisual__newsBadgeMain {
    font-size: 0.75rem;
  }
}

.p-mainvisual__newsBadgeArrow {
  flex-shrink: 0;
  width: 0.3125rem;
}

.p-mainvisual__newsBadgeArrowImg {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-mainvisual__newsBadgeCorner {
  width: 0.5rem;
  height: 0.25rem;
}

.p-mainvisual__newsBadgeCornerImg {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-mainvisual__newsTape {
  position: absolute;
  inset-block-start: -2.3875rem;
  inset-inline-start: 13.0625rem;
  width: 7.6875rem;
  rotate: 5deg;
}
@media (min-width: 768px) {
  .p-mainvisual__newsTape {
    inset-block-start: -3.1875rem;
    inset-inline-start: auto;
    inset-inline-end: 0;
    width: 10.5rem;
  }
}

.p-mainvisual__newsTapeImg {
  width: 100%;
  height: auto;
}

.p-topNews {
  position: relative;
  overflow-x: clip;
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 2.5rem;
  padding-block-start: 3.75rem;
  padding-block-end: 11.25rem;
  padding-inline: 1.25rem;
}
@media (min-width: 768px) {
  .p-topNews {
    row-gap: 3.75rem;
    padding-block-start: 5.6rem;
    padding-block-end: 5rem;
    padding-inline: 5.625rem;
  }
}

.p-news__heading {
  align-items: center;
  row-gap: 1.25rem;
}

.p-topNews .c-btn-wrap {
  padding-block-start: 1.25rem;
}
@media (min-width: 768px) {
  .p-topNews .c-btn-wrap {
    padding-block-start: 0rem;
  }
}

.p-topNews__deco {
  position: absolute;
  inset-block-start: -2.5rem;
  inset-inline-start: -4.375rem;
  width: 12.75rem;
  aspect-ratio: 204/185;
}
@media (min-width: 768px) {
  .p-topNews__deco {
    inset-block-start: -8.75rem;
    inset-inline-start: calc(max(0px, 100vw - 1280px) / 2 + -5.4375rem);
    width: 22.125rem;
    aspect-ratio: 354/320;
  }
}

.p-topNews__decoImg {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transform: scaleY(-1) rotate(180deg);
}

.p-topNews__cards {
  display: flex;
  flex-direction: column;
  row-gap: 1.25rem;
  width: 100%;
  max-width: 20.9375rem;
}
@media (min-width: 768px) {
  .p-topNews__cards {
    flex-direction: row;
    column-gap: 1.775rem;
    row-gap: 0;
    max-width: 68.75rem;
  }
}

.p-topNews__large {
  position: relative;
  display: flex;
  flex-direction: column;
  row-gap: 1rem;
  width: 100%;
}
@media (min-width: 768px) {
  .p-topNews__large {
    flex-shrink: 0;
    width: 31.875rem;
  }
}

.p-topNews__largeImg {
  display: block;
  width: 100%;
  aspect-ratio: 335/210;
  overflow: hidden;
}
@media (min-width: 768px) {
  .p-topNews__largeImg {
    aspect-ratio: 510/319;
  }
}

.p-topNews__largeImgTag {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}
@media (hover: hover) {
  .p-topNews__large:hover .p-topNews__largeImgTag {
    transform: scale(1.1);
  }
}

.p-topNews__largeBody {
  display: flex;
  flex-direction: column;
  row-gap: 1.25rem;
  color: #222222;
  font-family: "Noto Serif JP", serif;
}

.p-topNews__largeTitle {
  display: -webkit-box;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  font-weight: 700;
  font-size: 0.875rem;
  line-height: 1.5;
}
@media (min-width: 768px) {
  .p-topNews__largeTitle {
    font-size: 1.25rem;
  }
}

.p-topNews__largeExcerpt {
  display: -webkit-box;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1.5;
}
@media (min-width: 768px) {
  .p-topNews__largeExcerpt {
    font-size: 0.875rem;
  }
}

.p-topNews__largeDate {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.5;
}

.p-topNews__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 1.1875rem;
  row-gap: 2.15rem;
  width: 100%;
}
@media (min-width: 768px) {
  .p-topNews__list {
    flex: 1 0 0;
    min-width: 0;
    column-gap: 1.875rem;
    row-gap: 3.0625rem;
  }
}

.p-topNews__item {
  width: 100%;
}

.p-topNews__itemLink {
  position: relative;
  display: flex;
  flex-direction: column;
  row-gap: 0.5rem;
  width: 100%;
}
@media (min-width: 768px) {
  .p-topNews__itemLink {
    row-gap: 0.625rem;
  }
}

.p-topNews__itemImg {
  display: block;
  width: 100%;
  aspect-ratio: 158/99;
  overflow: hidden;
}
@media (min-width: 768px) {
  .p-topNews__itemImg {
    aspect-ratio: 340/213;
  }
}

.p-topNews__itemImgTag {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}
@media (hover: hover) {
  .p-topNews__itemLink:hover .p-topNews__itemImgTag {
    transform: scale(1.1);
  }
}

.p-topNews__itemBody {
  display: flex;
  flex-direction: column;
  row-gap: 0.75rem;
  color: #222222;
  font-family: "Noto Serif JP", serif;
}

.p-topNews__itemTitle {
  display: -webkit-box;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  font-weight: 700;
  font-size: 0.75rem;
  line-height: 1.5;
}
@media (min-width: 768px) {
  .p-topNews__itemTitle {
    font-size: 1rem;
  }
}

.p-topNews__itemDate {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1.5;
}
@media (min-width: 768px) {
  .p-topNews__itemDate {
    font-size: 0.875rem;
  }
}

.p-topNews__badge {
  position: absolute;
  inset-block-start: 0.625rem;
  inset-inline-start: -0.5rem;
  z-index: 1;
  display: flex;
  flex-direction: column;
}

.p-topNews__badge--large {
  inset-block-start: 1.25rem;
}

.p-topNews__badgeRow {
  display: flex;
  align-items: stretch;
}

.p-topNews__badgeMain {
  display: flex;
  align-items: center;
  padding-block: 0.125rem;
  padding-inline: 0.625rem;
  background: #382620;
  font-family: "Noto Serif JP", serif;
  color: #ffffff;
  white-space: nowrap;
  font-size: max(0.75rem, 9.6px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-topNews__badgeMain {
    font-size: 0.75rem;
  }
}

.p-topNews__badge--large .p-topNews__badgeMain {
  font-size: max(1rem, 12.8px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-topNews__badge--large .p-topNews__badgeMain {
    font-size: 1rem;
  }
}

.p-topNews__badgeArrow {
  flex-shrink: 0;
  width: 0.3125rem;
}

.p-topNews__badgeArrowImg {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-topNews__badgeCorner {
  width: 0.5rem;
  height: 0.25rem;
}

.p-topNews__badgeCornerImg {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-newsList__contents {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-block: 3.75rem 10rem;
}
@media (min-width: 768px) {
  .p-newsList__contents {
    padding-block: 5rem 10rem;
  }
}

.p-newsList__inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  row-gap: 3.75rem;
  inline-size: 100%;
}
@media (min-width: 768px) {
  .p-newsList__inner {
    flex-direction: row;
    justify-content: space-between;
    column-gap: 3.75rem;
  }
}

.p-newsList__main {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-items: center;
  row-gap: 2.5rem;
  min-inline-size: 0;
  inline-size: 100%;
}
@media (min-width: 768px) {
  .p-newsList__main {
    row-gap: 3.75rem;
  }
}

.p-newsList__heading {
  color: #222222;
  font-family: "Noto Serif JP", serif;
  inline-size: 100%;
  font-size: max(1.25rem, 16px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-newsList__heading {
    font-size: 1.25rem;
  }
}
@media (min-width: 768px) {
  .p-newsList__heading {
    font-size: max(1.5rem, 19.2px);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0em;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  .p-newsList__heading {
    font-size: 1.5rem;
  }
}

.p-newsList__cards {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  row-gap: 1.5rem;
  inline-size: 100%;
}
@media (min-width: 768px) {
  .p-newsList__cards {
    row-gap: 2.5rem;
  }
}

.p-newsSidebar {
  display: flex;
  flex-direction: column;
  row-gap: 3.75rem;
  inline-size: 100%;
}
@media (min-width: 768px) {
  .p-newsSidebar {
    flex-shrink: 0;
    inline-size: 20rem;
  }
}

.p-newsSidebar__section {
  display: flex;
  flex-direction: column;
  row-gap: 1.25rem;
  inline-size: 100%;
  padding: 1.25rem;
  background: #f8f8f8;
}

.p-newsSidebar__articles {
  display: flex;
  flex-direction: column;
  row-gap: 1.25rem;
  inline-size: 100%;
}

.p-newsSidebar__articleLink {
  display: flex;
  align-items: center;
  column-gap: 0.875rem;
}

.p-newsSidebar__articleImg {
  display: block;
  flex-shrink: 0;
  inline-size: 6.25rem;
  block-size: 6.25rem;
}

.p-newsSidebar__articleImgTag {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
}

.p-newsSidebar__articleBody {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  row-gap: 0.625rem;
  min-inline-size: 0;
  color: #222222;
  font-family: "Noto Serif JP", serif;
}

.p-newsSidebar__articleTitle {
  display: -webkit-box;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  font-size: max(0.875rem, 11.2px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-newsSidebar__articleTitle {
    font-size: 0.875rem;
  }
}

.p-newsSidebar__articleDate {
  font-size: max(0.75rem, 9.6px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-newsSidebar__articleDate {
    font-size: 0.75rem;
  }
}

.p-newsSidebar__categories {
  display: flex;
  flex-direction: column;
  row-gap: 0.625rem;
}

.p-newsSidebar__categoryLink {
  display: flex;
  align-items: center;
  column-gap: 0.375rem;
}

.p-newsSidebar__categoryIcon {
  flex-shrink: 0;
  inline-size: 0.375rem;
  block-size: 0.75rem;
}

.p-newsSidebar__categoryText {
  color: #222222;
  font-family: "Noto Serif JP", serif;
  font-size: max(1rem, 12.8px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-newsSidebar__categoryText {
    font-size: 1rem;
  }
}

.p-newsDetail__contents {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-block: 3.75rem 10rem;
}
@media (min-width: 768px) {
  .p-newsDetail__contents {
    padding-block: 5rem 10rem;
  }
}

.p-newsDetail__inner {
  inline-size: min(100%, 43rem);
  margin-inline: auto;
  padding-inline: 1.25rem;
}
@media (min-width: 768px) {
  .p-newsDetail__inner {
    padding-inline: 0;
  }
}

.p-newsDetail__entry {
  display: flex;
  flex-direction: column;
  row-gap: 2.5rem;
}

.p-newsDetail__header {
  display: flex;
  flex-direction: column;
  row-gap: 1.25rem;
}

.p-newsDetail__thumbnail {
  display: block;
  inline-size: 100%;
  aspect-ratio: 688/361;
  height: auto;
}

.p-newsDetail__thumbnailImg {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
}

.p-newsDetail__title {
  color: #382620;
  font-family: "Noto Serif JP", serif;
  font-size: max(1.25rem, 16px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-newsDetail__title {
    font-size: 1.25rem;
  }
}
@media (min-width: 768px) {
  .p-newsDetail__title {
    font-size: max(1.75rem, 22.4px);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0em;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  .p-newsDetail__title {
    font-size: 1.75rem;
  }
}

.p-newsDetail__meta {
  display: flex;
  align-items: center;
  column-gap: 1.25rem;
}

.p-newsDetail__date,
.p-newsDetail__category {
  color: #382620;
  font-family: "Noto Serif JP", serif;
  white-space: nowrap;
  font-size: max(0.875rem, 11.2px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-newsDetail__date,
  .p-newsDetail__category {
    font-size: 0.875rem;
  }
}

.p-newsDetail__metaDivider {
  flex-shrink: 0;
  inline-size: 1px;
  block-size: 1.125rem;
  background: #382620;
}

.p-newsDetail__body {
  color: #222222;
  font-family: "Noto Serif JP", serif;
}
.p-newsDetail__body h2 {
  margin-block: 2.5rem 1.5rem;
  padding-inline-start: 1rem;
  border-inline-start: 0.375rem solid #382620;
  color: #382620;
  font-size: max(1.25rem, 16px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-newsDetail__body h2 {
    font-size: 1.25rem;
  }
}
@media (min-width: 768px) {
  .p-newsDetail__body h2 {
    font-size: max(1.5rem, 19.2px);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0em;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  .p-newsDetail__body h2 {
    font-size: 1.5rem;
  }
}
.p-newsDetail__body h3 {
  margin-block: 2.5rem 1.5rem;
  padding-block-end: 0.75rem;
  border-block-end: 1px solid #382620;
  color: #382620;
  font-size: max(1rem, 12.8px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-newsDetail__body h3 {
    font-size: 1rem;
  }
}
@media (min-width: 768px) {
  .p-newsDetail__body h3 {
    font-size: max(1.25rem, 16px);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0em;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  .p-newsDetail__body h3 {
    font-size: 1.25rem;
  }
}
.p-newsDetail__body h4 {
  margin-block: 2rem 1rem;
  color: #382620;
  font-size: max(0.875rem, 11.2px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-newsDetail__body h4 {
    font-size: 0.875rem;
  }
}
@media (min-width: 768px) {
  .p-newsDetail__body h4 {
    font-size: max(1rem, 12.8px);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0em;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  .p-newsDetail__body h4 {
    font-size: 1rem;
  }
}
.p-newsDetail__body p {
  margin-block-end: 1rem;
  font-size: max(0.875rem, 11.2px);
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-newsDetail__body p {
    font-size: 0.875rem;
  }
}
@media (min-width: 768px) {
  .p-newsDetail__body p {
    font-size: max(1rem, 12.8px);
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0em;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  .p-newsDetail__body p {
    font-size: 1rem;
  }
}
.p-newsDetail__body ul,
.p-newsDetail__body ol {
  margin-block-end: 1rem;
  padding-inline-start: 1.5rem;
  font-size: max(0.875rem, 11.2px);
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-newsDetail__body ul,
  .p-newsDetail__body ol {
    font-size: 0.875rem;
  }
}
@media (min-width: 768px) {
  .p-newsDetail__body ul,
  .p-newsDetail__body ol {
    font-size: max(1rem, 12.8px);
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0em;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  .p-newsDetail__body ul,
  .p-newsDetail__body ol {
    font-size: 1rem;
  }
}
.p-newsDetail__body ul li {
  list-style-type: disc;
}
.p-newsDetail__body ol li {
  list-style-type: decimal;
}
.p-newsDetail__body li {
  margin-block-end: 0.25rem;
}
.p-newsDetail__body blockquote {
  margin-inline: 0;
  margin-block: 0.875rem;
  padding: 1.25rem;
  background: #f8f8f8;
  font-size: max(0.875rem, 11.2px);
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-newsDetail__body blockquote {
    font-size: 0.875rem;
  }
}
@media (min-width: 768px) {
  .p-newsDetail__body blockquote {
    margin-block: 1rem;
    padding: 2.5rem;
    font-size: max(1rem, 12.8px);
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0em;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  .p-newsDetail__body blockquote {
    font-size: 1rem;
  }
}
.p-newsDetail__body blockquote cite,
.p-newsDetail__body blockquote p:last-child {
  display: block;
  margin-block-start: 0.875rem;
  font-style: normal;
  text-align: end;
}
@media (min-width: 768px) {
  .p-newsDetail__body blockquote cite,
  .p-newsDetail__body blockquote p:last-child {
    margin-block-start: 1rem;
    font-size: max(0.875rem, 11.2px);
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0em;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  .p-newsDetail__body blockquote cite,
  .p-newsDetail__body blockquote p:last-child {
    font-size: 0.875rem;
  }
}
.p-newsDetail__body blockquote cite a {
  color: inherit;
  text-decoration: underline;
}
.p-newsDetail__body figure {
  margin-block: 1.5rem;
}
.p-newsDetail__body img {
  display: block;
  inline-size: auto;
  max-inline-size: 100%;
  block-size: auto;
}

.p-newsDetail__nav {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  column-gap: 0.625rem;
  padding: 1.875rem 1.25rem;
  background: #ffffff;
}
@media (min-width: 768px) {
  .p-newsDetail__nav {
    padding: 1.875rem;
  }
}

.p-newsDetail__navLink {
  display: flex;
  align-items: center;
  column-gap: 0.625rem;
  color: #382620;
  font-family: "Noto Serif JP", serif;
  white-space: nowrap;
  font-size: max(0.875rem, 11.2px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-newsDetail__navLink {
    font-size: 0.875rem;
  }
}
@media (min-width: 768px) {
  .p-newsDetail__navLink {
    font-size: max(1rem, 12.8px);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0em;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  .p-newsDetail__navLink {
    font-size: 1rem;
  }
}

.p-newsDetail__navLink--prev {
  justify-self: start;
}

.p-newsDetail__navLink--next {
  justify-self: end;
}

.p-newsDetail__navIcon {
  flex-shrink: 0;
  inline-size: 0.375rem;
  block-size: 0.75rem;
}

.p-newsDetail__navMore {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-block: 0.75rem;
  padding-inline: 2.25rem;
  border: 1px solid #382620;
  color: #382620;
  font-family: "Noto Serif JP", serif;
  white-space: nowrap;
  font-size: max(0.875rem, 11.2px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-newsDetail__navMore {
    font-size: 0.875rem;
  }
}
@media (min-width: 768px) {
  .p-newsDetail__navMore {
    font-size: max(1rem, 12.8px);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0em;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  .p-newsDetail__navMore {
    font-size: 1rem;
  }
}

.p-newsDetail__related {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 2.5rem;
  inline-size: 100%;
}
@media (min-width: 768px) {
  .p-newsDetail__related {
    row-gap: 3.75rem;
  }
}

.p-newsDetail__relatedHeading {
  inline-size: 100%;
  color: #382620;
  font-family: "Noto Serif JP", serif;
  text-align: center;
  font-size: max(1.25rem, 16px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-newsDetail__relatedHeading {
    font-size: 1.25rem;
  }
}
@media (min-width: 768px) {
  .p-newsDetail__relatedHeading {
    font-size: max(1.75rem, 22.4px);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0em;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  .p-newsDetail__relatedHeading {
    font-size: 1.75rem;
  }
}

.p-newsDetail__relatedCards {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  row-gap: 1.5rem;
  inline-size: 100%;
}
@media (min-width: 768px) {
  .p-newsDetail__relatedCards {
    column-gap: 2.5rem;
    row-gap: 2.5rem;
    justify-content: flex-start;
  }
}

.p-specialLunchset {
  position: relative;
  overflow-x: clip;
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 3.65rem;
  padding-block: 4.375rem;
  background: #EAE0D5;
}
@media (min-width: 768px) {
  .p-specialLunchset {
    padding-block-start: 5.6875rem;
    padding-block-end: 5rem;
    padding-inline: 2.5rem;
  }
}

.p-specialLunchset__heading {
  align-items: center;
  row-gap: 0.75rem;
}

.p-specialLunchset__panel {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 1.25rem;
  width: 100%;
  padding-block: 2.5rem 1.25rem;
  padding-inline: 1.25rem;
  background: #ffffff;
}
@media (min-width: 768px) {
  .p-specialLunchset__panel {
    row-gap: 3.75rem;
    max-width: 75rem;
    padding-block: 3.75rem 2.5rem;
    padding-inline: 2.5rem;
  }
}

.p-specialLunchset__ribbon {
  position: absolute;
  inset-block-start: -1.5625rem;
  inset-inline-start: 50%;
  translate: -50% 0;
  z-index: 1;
}
@media (min-width: 768px) {
  .p-specialLunchset__ribbon {
    inset-block-start: -1.25rem;
  }
}

.p-specialLunchset__ribbonMain {
  display: flex;
  align-items: center;
  padding-block: 0.45rem;
  padding-inline: 0.625rem;
  background: #222222;
  color: #ffffff;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
  font-family: "Noto Serif JP", serif;
  white-space: nowrap;
  font-size: max(0.875rem, 11.2px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-specialLunchset__ribbonMain {
    font-size: 0.875rem;
  }
}
@media (min-width: 768px) {
  .p-specialLunchset__ribbonMain {
    font-size: max(1.125rem, 14.4px);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0em;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  .p-specialLunchset__ribbonMain {
    font-size: 1.125rem;
  }
}

.p-specialLunchset__ribbonDeco {
  position: absolute;
  inset-block-start: 0.4375rem;
  width: 1.9375rem;
  aspect-ratio: 31/37;
}

.p-specialLunchset__ribbonDeco--start {
  inset-inline-start: -1.1875rem;
}

.p-specialLunchset__ribbonDeco--end {
  inset-inline-end: -1.1875rem;
}

.p-specialLunchset__ribbonDecoImg {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.p-specialLunchset__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 1.1875rem;
  row-gap: 1.25rem;
  width: 100%;
}
@media (min-width: 768px) {
  .p-specialLunchset__list {
    grid-template-columns: repeat(4, 1fr);
    column-gap: 1.7rem;
    row-gap: 0;
  }
}

@media (min-width: 768px) {
  .p-specialLunchset__item:nth-child(2),
  .p-specialLunchset__item:nth-child(4) {
    padding-block-start: 2.5rem;
  }
}

.p-specialLunchset__set {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 1.35rem;
  width: 100%;
  padding-block: 1.25rem;
  background: #f7f6f4;
  border-radius: 0.5rem;
}
@media (min-width: 768px) {
  .p-specialLunchset__set {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding-inline: 4.375rem;
  }
}

.p-specialLunchset__setDetail {
  display: flex;
  align-items: center;
  column-gap: 0.0125rem;
}
@media (min-width: 768px) {
  .p-specialLunchset__setDetail {
    column-gap: 0.75rem;
  }
}

.p-specialLunchset__setDish {
  display: block;
  flex-shrink: 0;
  width: 6.35rem;
  aspect-ratio: 200/190;
}
@media (min-width: 768px) {
  .p-specialLunchset__setDish {
    width: 12.5rem;
  }
}

.p-specialLunchset__setDishImg {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-specialLunchset__setPlus {
  flex-shrink: 0;
  width: 0.8125rem;
  aspect-ratio: 1/1;
}
@media (min-width: 768px) {
  .p-specialLunchset__setPlus {
    width: 1.625rem;
  }
}

.p-specialLunchset__setPrice {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 0.375rem;
}
@media (min-width: 768px) {
  .p-specialLunchset__setPrice {
    align-items: flex-end;
    row-gap: 0.875rem;
  }
}

.p-specialLunchset__setPriceLabel {
  color: #222222;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.5;
  text-align: center;
}
@media (min-width: 768px) {
  .p-specialLunchset__setPriceLabel {
    font-size: 1.25rem;
    text-align: end;
  }
}

.p-specialLunchset__setPriceValue {
  color: #222222;
  font-family: "Damion", cursive;
  font-weight: 400;
  font-size: 2.5rem;
  line-height: 1;
}
@media (min-width: 768px) {
  .p-specialLunchset__setPriceValue {
    font-size: 3.75rem;
  }
}

.p-specialLunchset__setPriceDivider {
  display: block;
  width: 9.25rem;
  border-block-end: 0.375rem dotted #222222;
}
@media (min-width: 768px) {
  .p-specialLunchset__setPriceDivider {
    width: 13.3125rem;
  }
}

.p-specialLunchset__setPriceNote {
  color: #222222;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  font-size: 0.75rem;
  line-height: 1.5;
  text-align: center;
}
@media (min-width: 768px) {
  .p-specialLunchset__setPriceNote {
    font-size: 0.875rem;
    text-align: end;
  }
}

.p-specialLunchset__balloon {
  position: absolute;
  inset-block-start: -15.0625rem;
  inset-inline-end: -1.25rem;
  width: 12.875rem;
  z-index: 1;
}
@media (min-width: 768px) {
  .p-specialLunchset__balloon {
    inset-block-start: -3.75rem;
    inset-inline-end: -1.5625rem;
    width: 19.25rem;
  }
}

.p-specialLunchset__balloonImg {
  width: 100%;
  height: auto;
}

.p-specialLunchset__leaf {
  position: absolute;
  inset-block-start: -10.125rem;
  inset-inline-end: -1.0625rem;
  width: 6.4375rem;
  aspect-ratio: 119/135;
}
@media (min-width: 768px) {
  .p-specialLunchset__leaf {
    inset-block-start: -7rem;
    inset-inline-end: calc(max(0px, 100vw - 1280px) / 2 + -0.125rem);
    width: 10.8125rem;
    aspect-ratio: 201/228;
  }
}

.p-specialLunchset__leafImg {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-test {
  padding-block: 7.5rem;
}
@media screen and (max-width: 767px) {
  .p-test {
    padding-block: 4.375rem;
  }
}

.p-test__container {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .p-test__container {
    flex-direction: column;
    row-gap: 1.25rem;
  }
}

.p-test__title {
  font-size: max(3.125rem, 40px);
  font-weight: 700;
  line-height: 0.94;
  letter-spacing: 0em;
  text-transform: uppercase;
}
@media screen and (max-width: 767px) {
  .p-test__title {
    font-size: 3.125rem;
  }
}

.p-test__text {
  margin-block-start: 2.5rem;
  font-size: max(1.75rem, 22.4px);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-test__text {
    font-size: 1.75rem;
  }
}

.p-test__text-wrap {
  width: min(25rem, 100%);
}

.p-test__img {
  width: min(37.5rem, 100%);
  height: auto;
}

.p-shop__items {
  display: flex;
  flex-direction: column;
  gap: 3.75rem;
  padding-block: 3.75rem;
}
@media (min-width: 768px) {
  .p-shop__items {
    gap: 7.5rem;
    padding-block: 5rem;
  }
}

.p-gift__items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem;
  padding-block: 3.75rem;
}
@media (min-width: 768px) {
  .p-gift__items {
    grid-template-columns: repeat(4, 1fr);
    gap: 2.5rem;
    padding-block: 5rem;
  }
}

.p-gift__items > .c-giftCard--large {
  grid-column: span 2;
}
@media (min-width: 768px) {
  .p-gift__items > .c-giftCard--large {
    grid-row: span 2;
  }
}

.p-gift__wrapping {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.5rem;
  padding: 2.5rem 1.25rem;
  border: 0.25rem solid #382620;
  background: #ffffff;
  margin-block-end: 3.75rem;
}
@media (min-width: 768px) {
  .p-gift__wrapping {
    flex-direction: row;
    align-items: center;
    gap: 3.75rem;
    padding: 4.9375rem 3.75rem;
    margin-block-end: 5rem;
  }
}

.p-gift__wrappingBody {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2.25rem;
}

.p-gift__wrappingHeading {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  inline-size: 100%;
}

.p-gift__wrappingHeadingText {
  color: #382620;
  font-family: "Noto Serif JP", serif;
  font-size: max(1.125rem, 14.4px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-gift__wrappingHeadingText {
    font-size: 1.125rem;
  }
}
@media (min-width: 768px) {
  .p-gift__wrappingHeadingText {
    font-size: max(1.5rem, 19.2px);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0em;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  .p-gift__wrappingHeadingText {
    font-size: 1.5rem;
  }
}

.p-gift__wrappingDots {
  border-block-end: 1px dotted #382620;
}

.p-gift__wrappingText {
  color: #222222;
  font-family: "Noto Serif JP", serif;
  font-size: max(0.875rem, 11.2px);
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-gift__wrappingText {
    font-size: 0.875rem;
  }
}
@media (min-width: 768px) {
  .p-gift__wrappingText {
    font-size: max(1rem, 12.8px);
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0em;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  .p-gift__wrappingText {
    font-size: 1rem;
  }
}

.p-gift__wrappingImg {
  inline-size: 100%;
  block-size: 10.375rem;
  object-fit: cover;
}
@media (min-width: 768px) {
  .p-gift__wrappingImg {
    max-inline-size: 28.75rem;
    block-size: 18.75rem;
  }
}

.p-contact__inner {
  display: flex;
  flex-direction: column;
  gap: 3.75rem;
  padding-block: 3.75rem;
}
@media (min-width: 768px) {
  .p-contact__inner {
    gap: 5rem;
    padding-block: 5rem;
  }
}

.p-contact__lead {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.3125rem;
  inline-size: 100%;
}
@media (min-width: 768px) {
  .p-contact__lead {
    gap: 1.5rem;
  }
}

.p-contact__heading {
  color: #382620;
  font-family: "Noto Serif JP", serif;
  text-align: center;
  font-size: max(1.25rem, 16px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-contact__heading {
    font-size: 1.25rem;
  }
}
@media (min-width: 768px) {
  .p-contact__heading {
    font-size: max(1.75rem, 22.4px);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0em;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  .p-contact__heading {
    font-size: 1.75rem;
  }
}

.p-contact__text {
  align-self: stretch;
  color: #382620;
  font-family: "Noto Serif JP", serif;
  text-align: start;
  font-size: max(0.875rem, 11.2px);
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-contact__text {
    font-size: 0.875rem;
  }
}
@media (min-width: 768px) {
  .p-contact__text {
    font-size: max(1rem, 12.8px);
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0em;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  .p-contact__text {
    font-size: 1rem;
  }
}

.p-contact__form {
  display: flex;
  flex-direction: column;
  inline-size: 100%;
}

.p-contactThanks__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.3125rem;
  padding-block: 3.75rem;
}
@media (min-width: 768px) {
  .p-contactThanks__inner {
    gap: 1.5rem;
    padding-block: 5rem;
  }
}

.p-contactThanks__heading {
  color: #382620;
  font-family: "Noto Serif JP", serif;
  text-align: center;
  font-size: max(1.25rem, 16px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-contactThanks__heading {
    font-size: 1.25rem;
  }
}
@media (min-width: 768px) {
  .p-contactThanks__heading {
    font-size: max(1.75rem, 22.4px);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0em;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  .p-contactThanks__heading {
    font-size: 1.75rem;
  }
}

.p-contactThanks__text {
  color: #382620;
  font-family: "Noto Serif JP", serif;
  font-size: max(0.875rem, 11.2px);
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-contactThanks__text {
    font-size: 0.875rem;
  }
}
@media (min-width: 768px) {
  .p-contactThanks__text {
    font-size: max(1rem, 12.8px);
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0em;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  .p-contactThanks__text {
    font-size: 1rem;
  }
}

.p-menu__content {
  display: flex;
  flex-direction: column;
  row-gap: 3.75rem;
  padding-block-start: 3.75rem;
  padding-block-end: 10rem;
}
@media (min-width: 768px) {
  .p-menu__content {
    row-gap: 5rem;
    padding-block-start: 5rem;
    padding-block-end: 10rem;
  }
}

.p-menu__tabs {
  display: grid;
  grid-template-columns: repeat(2, 10rem);
  justify-content: center;
  column-gap: 0.9375rem;
  row-gap: 0.875rem;
}
@media (min-width: 768px) {
  .p-menu__tabs {
    display: flex;
    column-gap: 0.875rem;
    justify-content: center;
  }
}

.p-menu__cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 1.1875rem;
  row-gap: 1.25rem;
}
@media (min-width: 768px) {
  .p-menu__cards {
    grid-template-columns: repeat(4, 1fr);
    column-gap: 2.5rem;
    row-gap: 2.5rem;
  }
}

.p-conceptPage__list {
  display: flex;
  flex-direction: column;
  row-gap: 6.25rem;
  padding-block: 6rem 10rem;
}
@media (min-width: 768px) {
  .p-conceptPage__list {
    row-gap: 12.5rem;
    padding-block: 5rem 10rem;
  }
}

.p-conceptPage__section {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  row-gap: 2rem;
  width: 100%;
}
@media (min-width: 768px) {
  .p-conceptPage__section {
    flex-direction: row;
    align-items: center;
    column-gap: 4.375rem;
  }
}

.p-conceptPage__deco {
  position: absolute;
  background: #EAE0D5;
  pointer-events: none;
}

.p-conceptPage__deco--1 {
  inset-inline-start: 1.25rem;
  inset-inline-end: calc(50% - 50vw);
  inset-block-end: -3.125rem;
  height: 6.25rem;
}
@media (min-width: 768px) {
  .p-conceptPage__deco--1 {
    inset-inline-start: 12.875rem;
    inset-inline-end: auto;
    inset-block-start: 39.375rem;
    inset-block-end: auto;
    width: 61.5rem;
    height: 12.5rem;
  }
}

.p-conceptPage__deco--2 {
  inset-inline-start: calc(50% - 50vw);
  inset-block-start: 29.5rem;
  width: 17.75rem;
  height: 14.1875rem;
}
@media (min-width: 768px) {
  .p-conceptPage__deco--2 {
    inset-inline-start: -5.625rem;
    inset-block-start: 10rem;
    width: 36.25rem;
    height: 27.3125rem;
  }
}

.p-conceptPage__deco--3 {
  inset-inline-end: calc(50% - 50vw);
  inset-block-end: clamp(-80px, calc(4.861878453px + -6.6298342541vw), -20px);
  width: clamp(184px, calc(94.4972375691px + 23.8674033149vw), 400px);
  height: clamp(195px, calc(60.3314917127px + 35.9116022099vw), 520px);
}
@media (min-width: 768px) {
  .p-conceptPage__deco--3 {
    inset-inline-end: -5.625rem;
  }
}

.p-conceptPage__body {
  position: relative;
  display: flex;
  flex-direction: column;
  row-gap: 2rem;
  width: 100%;
}
@media (min-width: 768px) {
  .p-conceptPage__body {
    row-gap: 2.125rem;
    width: 24.3125rem;
    flex-shrink: 0;
  }
}

@media (min-width: 768px) {
  .p-conceptPage__body--2 {
    order: 2;
  }
}

.p-conceptPage__heading {
  color: #222222;
  font-family: "Noto Serif JP", serif;
  font-size: max(1.25rem, 16px);
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-conceptPage__heading {
    font-size: 1.25rem;
  }
}
@media (min-width: 768px) {
  .p-conceptPage__heading {
    font-size: max(1.75rem, 22.4px);
    font-weight: 700;
    line-height: 2;
    letter-spacing: 0em;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  .p-conceptPage__heading {
    font-size: 1.75rem;
  }
}

.p-conceptPage__text {
  width: 100%;
  color: #222222;
  font-family: "Noto Serif JP", serif;
  font-size: max(0.875rem, 11.2px);
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-conceptPage__text {
    font-size: 0.875rem;
  }
}

.p-conceptPage__images {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}
@media (min-width: 768px) {
  .p-conceptPage__images {
    flex-shrink: 0;
  }
}

.p-conceptPage__images--1 {
  column-gap: 0.6875rem;
  row-gap: 0.6875rem;
}
@media (min-width: 768px) {
  .p-conceptPage__images--1 {
    width: 39.625rem;
    column-gap: 0.625rem;
    row-gap: 2.5rem;
    justify-content: flex-end;
  }
}

.p-conceptPage__images--2 {
  aspect-ratio: 335/281;
}
@media (min-width: 768px) {
  .p-conceptPage__images--2 {
    order: 1;
    width: 40rem;
    height: 33.5625rem;
  }
}

.p-conceptPage__image {
  display: block;
  height: auto;
  object-fit: cover;
}

.p-conceptPage__image--wide {
  width: 100%;
  aspect-ratio: 335/209;
}
@media (min-width: 768px) {
  .p-conceptPage__image--wide {
    width: 40rem;
    aspect-ratio: 640/400;
  }
}

.p-conceptPage__image--square {
  width: calc((100% - 0.6875rem) / 2);
  aspect-ratio: 1/1;
}
@media (min-width: 768px) {
  .p-conceptPage__image--square {
    width: 19.375rem;
  }
}

.p-conceptPage__image--pastaMain {
  position: absolute;
  inset-inline-start: 15.5223880597%;
  inset-block-start: 0;
  width: 84.4776119403%;
  aspect-ratio: 283/212;
}
@media (min-width: 768px) {
  .p-conceptPage__image--pastaMain {
    inset-inline-start: 6.25rem;
    width: 33.75rem;
    aspect-ratio: 540/405;
  }
}

.p-conceptPage__image--pastaSub {
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 50.8896797153%;
  width: 54.6268656716%;
  aspect-ratio: 183/138;
}
@media (min-width: 768px) {
  .p-conceptPage__image--pastaSub {
    inset-block-start: 17.125rem;
    width: 21.875rem;
    aspect-ratio: 350/263;
  }
}

.p-conceptPage__image--single {
  position: relative;
  width: 100%;
  aspect-ratio: 335/210;
}
@media (min-width: 768px) {
  .p-conceptPage__image--single {
    width: 40rem;
    aspect-ratio: 640/400;
  }
}

.is-hidden {
  display: none !important;
}

@media (min-width: 768px) {
  .u-sp {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .u-pc {
    display: none !important;
  }
}
.u-font {
  font-family: "Noto Serif JP", serif;
}

.u-font__jp {
  font-family: "Noto Serif JP", serif;
}

.u-font__en {
  font-family: "Amatic SC", sans-serif;
}

.u-text__center {
  text-align: center !important;
}

@media screen and (max-width: 767px) {
  .u-text__center--sp {
    text-align: center !important;
  }
}

@media (min-width: 768px) {
  .u-text__center--pc {
    text-align: center !important;
  }
}

.u-text__left {
  text-align: left !important;
}

@media screen and (max-width: 767px) {
  .u-text__left--sp {
    text-align: left !important;
  }
}

@media (min-width: 768px) {
  .u-text__left--pc {
    text-align: left !important;
  }
}

.u-text__right {
  text-align: right !important;
}

@media screen and (max-width: 767px) {
  .u-text__right--sp {
    text-align: right !important;
  }
}

@media (min-width: 768px) {
  .u-text__right--pc {
    text-align: right !important;
  }
}

.u-text__nowrap {
  white-space: nowrap;
}

@media screen and (max-width: 767px) {
  .u-text__nowrap--sp {
    white-space: nowrap;
  }
}

@media (min-width: 768px) {
  .u-text__nowrap--pc {
    white-space: nowrap;
  }
}

.u-pointer__none {
  pointer-events: none !important;
}

@media screen and (max-width: 767px) {
  .u-pointer__none--sp {
    pointer-events: none !important;
  }
}

@media (min-width: 768px) {
  .u-pointer__none--pc {
    pointer-events: none !important;
  }
}

.u-spacer {
  position: relative;
  width: 100%;
  height: 7.5rem;
  background-color: #F3EFEB;
}
@media (min-width: 768px) {
  .u-spacer {
    height: 9.6875rem;
  }
}
