/*
Theme Name: Taka Cafe
*/
@charset "UTF-8";
/* =====================================
base
===================================== */
body {
  color: #222222;
  font-family: "Noto Serif JP", serif;
}

main {
  background: #F3EFEB;
}

img {
  width: 100%;
  height: auto;
  display: block;
}

/* =====================================
layout
===================================== */
.header {
  position: fixed;
  width: 100%;
  top: 0;
  z-index: 9999;
}
@media screen and (min-width: 1100px) {
  .home .header {
    position: absolute;
    top: 0;
    left: 0;
    width: 200px;
    height: 735px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
}
.home .header__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px;
}

@media screen and (min-width: 1100px) {
  .home .header__inner {
    flex-direction: column;
    padding: 18px 0;
    justify-content: unset;
    gap: 61px;
    height: 100%;
  }
}

.header__nav {
  display: none;
}

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

.header__nav-list {
  display: flex;
  gap: 30px;
  list-style: none;
}
@media screen and (min-width: 1100px) {
  .header__nav-list {
    text-align: center;
  }
}

.header__nav-link {
  text-decoration: none;
  color: #333;
}

@media screen and (min-width: 1100px) {
  .header__nav-link {
    display: flex;
    flex-direction: column;
    text-align: center;
    font-family: "Patua One";
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 1.92px;
  }
}
.header__sns {
  display: none;
}
@media screen and (min-width: 1100px) {
  .header__sns {
    display: flex;
    gap: 29px;
    align-items: center;
  }
}

.footer {
  padding: 44px 20px 14px 20px;
  background: #382620;
}
@media screen and (min-width: 1100px) {
  .footer {
    padding: 44px 20px 14px 20px;
  }
}
.footer__content {
  display: flex;
  flex-direction: column;
  gap: 41px;
}
.footer__sns {
  display: flex;
  justify-content: center;
  gap: 29px;
}
.footer__copyright {
  display: flex;
  justify-content: center;
}
.footer__copyright-text {
  color: #FFFFFF;
  font-size: 12px;
  font-weight: 500;
}

.sns {
  width: 19px;
  height: 20px;
}

.inner {
  max-width: 335px;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .inner {
    max-width: 688px;
  }
}
@media screen and (min-width: 1100px) {
  .inner {
    max-width: 1100px;
  }
}

.drawer {
  position: fixed;
  top: 0;
  right: 0;
  padding: 135px 40px 50px 40px;
  width: 100%;
  height: 100vh;
  background: #382620;
  transition: transform 0.3s ease;
  opacity: 0;
  pointer-events: none;
}
.drawer.is-checked {
  opacity: 1;
  pointer-events: auto;
  z-index: 999;
}
@media screen and (min-width: 768px) {
  .drawer {
    width: 375px;
  }
}
.drawer__nav {
  display: flex;
  flex-direction: column;
  gap: 50px;
}
.drawer__item {
  display: flex;
  flex-direction: column;
  gap: 25px;
  justify-content: start;
}
.drawer__link {
  color: #FFFFFF;
  display: flex;
  flex-direction: row;
  gap: 12px;
}
.drawer__link:hover {
  opacity: 0.7;
}
.drawer__link a {
  display: flex;
  align-items: center;
  gap: 12px;
  transition: opacity 0.2s ease;
}




/* =====================================
component
===================================== */
.logo-sp {
  display: block;
}
@media screen and (min-width: 1100px) {
  .logo-sp {
    display: none;
  }
}

.logo-pc {
  display: none;
}
@media screen and (min-width: 1100px) {
  .logo-pc {
    display: block;
  }
}

.sp-only {
  display: inline;
}
@media screen and (min-width: 768px) {
  .sp-only {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .pc-only {
    font-size: 10px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: normal;
  }
}

.en {
  font-family: "Patua One";
  font-size: 24px;
  font-weight: 400;
  line-height: 150%; /* 36px */
  letter-spacing: 2.88px;
  text-transform: uppercase;
}

.separator {
  font-family: "Noto Serif JP";
  font-size: 10px;
  font-weight: 500;
  line-height: 150%; /* 15px */
}

.ja {
  font-family: "Noto Serif JP";
  font-size: 10px;
  font-weight: 500;
  line-height: 150%; /* 15px */
}

.hamburger {
  position: fixed;
  top: 10px;
  right: 10px;
  width: 60px;
  height: 60px;
  z-index: 1000;
}
@media screen and (min-width: 1100px) {
  .hamburger {
    opacity: 0;
    visibility: hidden;
    transition: 0.3s;
  }
  .hamburger.is-show {
    opacity: 1;
    visibility: visible;
  }
}
.hamburger__button {
  background: #382620;
  width: 60px;
  height: 60px;
  border-radius: 30px;
  position: relative;
  width: 100%;
  height: 100%;
}
.hamburger__bar {
  position: absolute;
  background: #FFFFFF;
  width: 27px;
  height: 2.25px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: 0.3s ease, opacity 0.3s ease;
}
.hamburger__bar:nth-of-type(1) {
  transform: translate(-50%, -50%) translateY(-8px);
}
.hamburger__bar:nth-of-type(2) {
  transform: translate(-50%, -50%);
}
.hamburger__bar:nth-of-type(3) {
  transform: translate(-50%, -50%) translateY(8px);
}
.hamburger__button.is-checked {
  background: #FFFFFF;
}
.hamburger__button.is-checked .hamburger__bar:nth-of-type(1) {
  transform: translate(-50%, -50%) rotate(45deg);
  background-color: #382620;
}
.hamburger__button.is-checked .hamburger__bar:nth-of-type(2) {
  opacity: 0;
}
.hamburger__button.is-checked .hamburger__bar:nth-of-type(3) {
  transform: translate(-50%, -50%) rotate(-45deg);
  background-color: #382620;
}

.overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  opacity: 0;
  width: 100%;
  height: 100%;
  visibility: hidden;
  transition: opacity 0.3s ease;
  z-index: 150;
}

.overlay.is-checked {
  opacity: 1;
  visibility: visible;
}

.btn {
  /* max-width: 108px;
  width: 100%; */
  text-align: center;
  /* margin: 0 auto; */
  /* background: var(--cr-main, #382620); */
  color: #fff;
  text-decoration: none;
  /* padding: 6px 12px; */
  font-size: 11px;
  transition: transform 0.3s ease;
}

@media screen and (min-width: 768px) {
  .btn {
    padding: 0;
    /* max-width: 290px; */
    font-size: 14px;
    margin: unset;
  }

  .section-grand-menu .btn {
    margin: 0 auto;
  }

  .section-gallery .btn {
    margin: 0 auto;
  }

  .section-news .btn {
    margin: 0 auto;
  }

}

.button {
  width: 290px;
  position: relative;
  font-family: "Noto Serif JP", serif;
  display: inline-block;
  padding-block: 24px;
  background: #222222;
  text-align: center;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  color: #FFFFFF;
  margin-left: -7px;
  transition: transform 0.3s ease;
}

.button:hover {
  transform: translate(6px, 6px);
}

.button::before {
  position: absolute;
  width: 16px;
  height: 24px;
  top: 24px;
  right: 20px;
  content: "";
  background-image: url(../img/pc/concept-arrow.svg);
  color: #FFFFFF;
}
.button::after {
  position: absolute;
  content: "";
  right: -6px;
  top: 6px;
  width: 100%;
  height: 100%;
  border-right: 1px solid #222222;
  border-bottom: 1px solid #222222;
  transition: transform 0.3s ease;
}

.button:hover::after {
  transform: translate(-6px, -6px);
}

.heading-group {
  text-align: center;
}

.heading {
  font-family: "Amatic SC";
  font-size: 40px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 4px;
  text-transform: uppercase;
  margin-left: 4px;
}
@media screen and (min-width: 768px) {
  .heading {
    font-family: "Amatic SC";
    font-size: 52px;
    font-weight: 700;
    letter-spacing: 10.4px;
    padding-left: 10px;
  }
}

@media screen and (min-width: 768px) {
  .concept__heading {
    padding-left: 0;
    margin-left: 0;
  }
}

.heading-sub {
  font-family: "Noto Serif JP";
  font-size: 12px;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .heading-sub {
    font-size: 14px;
  }
}

.category__badge {
  position: absolute;
  background: #382620;
  display: inline-block;
  padding: 2px 10px;
  top: 10px;
  left: -9px;
  display: flex;
}

@media screen and (min-width: 768px) {
  .category__badge {
  top: 8px;
}
}


.category__badge--featured {
  position: absolute;
  background: #382620;
  display: inline-block;
  padding: 2px 10px;
  top: 21px;
  left: -8px;
  display: flex;
}

.category__badge::before {
  content: "";
  background-image: url(../img/sp/category-badge__deco-right.png);
  background-repeat: no-repeat;
  background-size: contain;
  width: 5px;
  height: 22px;
  top: 0;
  right: -5px;
  position: absolute;
}

.category__badge--featured::before {
  height: 27px;
}

.category__badge::after {
  content: "";
  background-image: url(../img/sp/category-badge__deco-bottom.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 8px;
  height: 4px;
  position: absolute;
  left: 0;
  bottom: -4px;
}
.category__badge-text {
  color: #FFFFFF;
  font-family: "Noto Serif JP";
  font-size: 12px;
  font-weight: 700;
  line-height: 1.5;
}

.category__badge_text--featured {
  font-size: 16px;
}

.news-sp-deco {
  position: absolute;
  z-index: 1;
  bottom: 85px;
  right: 0;
  width: 125px;
}
@media screen and (min-width: 768px) {
  .news-sp-deco {
    width: 168px;
    bottom: 94px;
  }
}
@media screen and (min-width: 1100px) {
  .news-sp-deco {
    bottom: 95px;
  }
}
.news-sp-deco img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.news__card__date {
  color: #222222;
  font-family: "Noto Serif JP";
  font-size: 12px;
  font-weight: 500;
  line-height: 1.5;
}
.news__card__title {
  overflow: hidden;
  color: #222222;
  text-overflow: ellipsis;
  font-family: "Noto Serif JP";
  font-size: 12px;
  font-weight: 700;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  align-self: stretch;
}

@media screen and (min-width: 768px) {
  .news__card__title {
    font-size: 14px;
  }
}


@media screen and (min-width: 1100px) {
  .drink-menu {
    display: flex;
    gap: 87px;
  }
}
@media screen and (min-width: 1100px) {
  .drink-menu__image {
    max-width: 327px;
    height: 327px;
    width: 100%;
  }
}
.drink-menu__image-coffee {
  display: none;
}
@media screen and (min-width: 1100px) {
  .drink-menu__image-coffee {
    display: block;
    padding: 8px;
    background: #FFFFFF;
  }
}
.drink-menu__content {
  padding-inline: 20px;
  display: flex;
  flex-direction: column;
  gap: 40px;
}
@media screen and (min-width: 768px) {
  .drink-menu__content {
    flex-direction: row;
    gap: 48px;
    padding-inline: 0;
  }
}
.drink-menu__category {
  display: flex;
  flex-direction: column;
  gap: 19px;
}

@media screen and (min-width: 1100px) {
  .drink-menu__category {
    width: 197px;
  }
}

.drink-menu__title {
  padding-bottom: 5px;
  border-bottom: 1px solid #222222;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
}
.drink-menu__items {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 0;
}
.drink-menu__name {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  margin: 0;
}

@media screen and (min-width: 1100px) {
  .drink-menu__name {
    font-size: 14px;
  }
}

.menu-price {
  font-family: Damion;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.5;
  margin: 0;
  display: flex;
  justify-content: center;
}

@media screen and (min-width: 1100px) {
  .menu-price {
    /* font-size: 32px; */
    font-size: 24px;
    display: flex;
    /* justify-content: left; */
  }
}

.drink-menu__price {
  font-family: Damion;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.5;
  margin: 0;
  display: flex;
  justify-content: center;
}

.price-en {
  margin-left: 7px;
  font-size: 24px;
}
@media screen and (min-width: 1100px) {
  .price-en {
    /* font-size: 32px; */
  }
}

.drink-price-en {
  font-size: 20px;
  margin-left: 4px;
}

.js-top-btn {
  position: fixed;
  bottom: 10px;
  right: 10px;
  width: 44px;
  height: 44px;
  border-radius: 22px;
  background: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease;
  z-index: 999;
}
@media screen and (min-width: 1100px) {
  .js-top-btn {
    right: 20px;
    bottom: 20px;
  }
}
.js-top-btn img {
  width: 22px;
  height: 12px;
}

.js-top-btn.is-show {
  opacity: 1;
  visibility: visible;
}

/* =====================================
project
===================================== */
.section {
  padding-block: 60px;
  position: relative;
  padding-bottom: 160px;
}
@media screen and (min-width: 768px) {
  .section {
    padding-top: 80px;
    padding-bottom: 60px;
  }
}
.section-concept {
  margin-top: 0;
}

@media screen and (min-width: 1100px) {
.section-concept .btn {
  text-align: left;
  margin-left: 8px;
}
}

@media screen and (min-width: 768px) {
.section-concept {
  padding: 80px 90px 80px 0;
}
}

@media screen and (min-width: 1100px) {
  .section-concept::after {
    content: "";
    bottom: 0;
    width: 1190px;
    height: 300px;
    z-index: -1;
  }
}
.section-special-lunchset {
  margin-top: 120px;
  background: #EAE0D5;
}

@media screen and (min-width: 1100px) {
  .section-special-lunchset {
    margin-top: 160px;
  }
}

@media screen and (min-width: 768px) {
  .section-grand-menu {
    z-index: 3;
  }
  .section-grand-menu::after {
    position: absolute;
    content: "";
    width: 1024px;
    height: 2196px;
    bottom: -7px;
    right: 0;
    background: #EAE0D5;
    z-index: -1;
  }
}
.section-gallery {
  margin-top: 126px;
  background: #EAE0D5;
  padding-bottom: 66px
}
@media screen and (min-width: 768px) {
  .section-gallery {
    margin-top: 165px;
    padding-bottom: 85px;
  }
}

.section-access {
  padding-block: 80px;
  background: #EAE0D5;
}
@media screen and (min-width: 1100px) {
  .section-access {

  }
}

.mainvisual {
  position: relative;
}

@media screen and (min-width: 1100px) {
  .mainvisual {
    margin-left: 200px;
    margin-bottom: 60px;
    height: 735px;
  }

  .mainvisual::after {
    position: absolute;
    content: "";
    width: 984px;
    height: 795px;
    top: 3px;
    right: 0;
    background: #EAE0D5;
  }
}
.mainvisual__inner {
  height: 100%;
}

@media screen and (min-width: 1100px) {
  .mainvisual__inner {

  }
}

.mainvisual__message {
  position: absolute;
  top: 124px;
  left: 20px;
  color: #FFFFFF;
  z-index: 1;
  font-family: "Noto Serif JP", serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 32px;
  letter-spacing: 2.24px;
}
@media screen and (min-width: 1100px) {
  .mainvisual__message {
    bottom: 52px;
    left: 50px;
    top: auto;
    font-size: 20px;
    line-height: 200%;
    letter-spacing: 2.8px;
  }
}
.mainvisual__news {
  position: absolute;
  left: 20px;
  right: 20px;
  bottom: 32px;
  z-index: 1;
  max-width: 388px;
}
@media screen and (min-width: 768px) {
  .mainvisual__news {
    right: 20px;
    bottom: 20px;
    left: auto;
  }
}
.mainvisual__news-link {
  display: flex;
  gap: 16px;
  align-items: center;
}

.mainvisual__news-link:hover .mainvisual__image img {
  transform: scale(1.1);
  transition: transform 0.3s ease;
}


.mainvisual__news-inner {
  position: relative;
  display: flex;
  gap: 16px;
  align-items: center;
  background: rgba(255, 255, 255, 0.85);
  padding: 12px;

  @media screen and (min-width: 768px) {
    padding: 16px;
  }
}

.mainvisual__image {
  overflow: hidden; /* 追加 */
  flex-shrink: 0; 
}

.mainvisual__image img{
  width: 100px;
  height: 100px;
  object-fit: cover;
  max-width: none;
}

@media screen and (min-width: 768px) {
  .mainvisual__image img {
    width: 120px;
    height: 120px;
  }
}

.swiper {
  width: 100%;
  height: 100%;
}

.swiper-wrapper {
  height: 100%;
}

.swiper-slide {
  display: block;
  align-items: center;
  justify-content: center;
  height: 100%;
}
.swiper-slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.swiper .swiper-pagination {
  left: 20px;
  width: auto;
  transform: none;
  display: flex;
  gap: 16px;
}
@media screen and (min-width: 1100px) {
  .swiper .swiper-pagination {
    gap: 8px;
    bottom: 21px;
    left: 20px;
  }
}
@media screen and (min-width: 1100px) {
.home .swiper-horizontal > .swiper-pagination-bullets,
.home .swiper-pagination-bullets.swiper-pagination-horizontal {
  bottom: var(--swiper-pagination-bottom, 17px);
  top: var(--swiper-pagination-top, auto);
  left: 16px;
  width: 100%;
}
}

.home .grand-menu__image {
  padding: 5px;
}

@media screen and (min-width: 1100px) {
.home .grand-menu__image {
  padding: 8px;
}
}

.home .grand-menu__name {
  font-size: 14px;
}

@media screen and (min-width: 1100px) {
.home .grand-menu__name {
  font-size: 20px;
}
}


.home .menu-price {
  font-size: 24px;
  justify-content: left;
}

@media screen and (min-width: 1100px) {
.home .menu-price {
  font-size: 32px;
}
}
.home .price-en {
  font-size: 24px;
  justify-content: left;
}

@media screen and (min-width: 1100px) {
.home .price-en {
  font-size: 32px;
}
}


@media screen and (min-width: 1100px) {
  .concept__inner {
    display: flex;
    flex-direction: row-reverse;
    gap: 80px;
    margin: 0;
    max-width: 1190px;
  }
}
.concept__heading-group {
  text-align: left;
}
.concept__body {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
@media screen and (min-width: 1100px) {
  .concept__body {
    position: relative;
    max-width: 510px;
    gap: 48px;
    text-align: left;
    justify-content: center;
    z-index: 2;
    padding-top: 30px;
    padding-bottom: 35px;
  }
}
.concept__lead {
  font-size: 20px;
  font-weight: 700;
  line-height: 2;
}
@media screen and (min-width: 1100px) {
  .concept__lead {
    font-size: 28px;
    font-weight: 700;
  }
}
.concept__text-group {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.concept__text {
  font-family: "Noto Serif JP";
  font-size: 14px;
  font-weight: 500;
  line-height: 2;
}
.concept__image {
  max-width: 315px;
  width: 100%;
  position: relative;
  margin-top: 66px;
  margin-left: -20px;
  z-index: 2;
}
@media screen and (min-width: 1100px) {
  .concept__image {
    max-width: 600px;
    margin-top: 2px;
  }
}
.concept__deco {
  position: absolute;
  right: 0;
  top: -20px;
  z-index: 3;
  width: 128px;
  height: 130px;
}
@media screen and (min-width: 1100px) {
  .concept__deco {
    top: -40px;
    width: 256px;
    height: auto;
  }
}
.concept__bg {
  position: absolute;
  bottom: 0;
  width: 355px;
  height: 100px;
  background: #EAE0D5;
}
@media screen and (min-width: 1100px) {
  .concept__bg {
    width: 92.96875%;
    height: 300px;
    left: 0;
    z-index: 1;
    bottom: 0;
  }
}

.special-lunchset__inner {
  display: flex;
  flex-direction: column;
  gap: 60px;
  padding-inline: 0;
}
@media screen and (min-width: 1100px) {
  .special-lunchset__inner {
    max-width: 1280px;
    margin-inline: auto;
    padding-inline: 40px;
    gap: 59px;
  }
}
.special-lunchset-card {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

@media screen and (min-width: 1100px) {
  .special-lunchset-card {
  /* width: 260px; */
}
}

.special-lunchset__meta {
  display: flex;
  align-items: center;
  gap: 6px;
}

@media screen and (min-width: 1100px) {
.special-lunchset__meta {
  gap: 12px;
}
}

.special-lunchset__name {
  color: var(--cr-contrast, #222);
  font-family: "Noto Serif JP";
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 150%; /* 21px */
}

@media screen and (min-width: 768px) {
.special-lunchset__name {
  font-size: 18px;
  width: 199px;
}
}

.special-lunchset__menu {
  position: relative;
  background: #FFFFFF;
  padding: 40px 20px 22px 20px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
@media screen and (min-width: 1100px) {
  .special-lunchset__menu {
    padding: 60px 40px 40px 40px;
    gap: 60px;

  }
}
.special-lunchset__lists {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -moz-column-gap: 20px;
  column-gap: 20px;
  row-gap: 20px;
}
@media screen and (min-width: 1100px) {
  .special-lunchset__lists {
    grid-template-columns: repeat(4, 1fr);
    column-gap: 27px;
  }
  .special-lunchset__lists .special-lunchset-card:nth-child(2),
  .special-lunchset__lists .special-lunchset-card:nth-child(4) {
    padding-top: 40px;
  }
}
.special-lunchset__label {
  display: flex;
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  font-family: "Patua One";
  font-size: 19px;
  font-weight: 400;
  color: #FFFFFF;
  background: #222222;
  justify-content: center;
  text-align: center;
  align-items: center;
}
@media screen and (min-width: 1100px) {
  .special-lunchset__label {
    width: 49px;
    height: 49px;
    padding: 4px 13px;
    font-size: 32px;
  }
}
.special-lunchset__content {
  display: flex;
  flex-direction: column;
  background: #F7F6F4;
  padding: 20px 0;
  text-align: center;
  gap: 20px;
  border-radius: 8px;
}
@media screen and (min-width: 1100px) {
  .special-lunchset__content {
    flex-direction: row;
    padding: 20px 70px;
    justify-content: space-between;
  }
}
@media screen and (min-width: 1100px) {
  .special-lunchset__image {
    max-width: 700px;
    width: 100%;
  }
}
.special-lunchset__title {
  width: 230px;
  padding: 8px 10px;
  color: #FFFFFF;
  font-family: "Noto Serif JP";
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  background: #222222;
  position: absolute;
  top: -25px;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (min-width: 1100px) {
  .special-lunchset__title {
    width: 290px;
    font-size: 18px;
    padding: 4px 10px;
    top: -20px;
  }
}
.special-lunchset__title::before, .special-lunchset__title::after {
  content: "";
  position: absolute;
  top: 7px;
  z-index: -1;
  width: 31px;
  height: 37px;
}
.special-lunchset__title::before {
  background-image: url(../img/text-ribbon-left.svg);
  flex-shrink: 0;
  left: -19px;
}
.special-lunchset__title::after {
  background-image: url(../img/text-ribbon-right.svg);
  flex-shrink: 0;
  right: -19px;
}
.special-lunchset__price-box {
  color: #222222;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (min-width: 1100px) {
  .special-lunchset__price-box {
    text-align: right;
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding-top: 3px;
    align-items: flex-end;
  }
}
.special-lunchset__set {
  font-family: "Noto Serif JP";
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (min-width: 1100px) {
  .special-lunchset__set {
    font-size: 20px;
  }
}
.special-lunchset__price {
  display: inline-block;
  font-family: Damion;
  font-size: 40px;
  font-weight: 400;
  line-height: 1;
  background: url(../img/price-bottom-grid.png) left bottom repeat-X;
  background-size: 100% auto;
  padding-bottom: 14px;
}
@media screen and (min-width: 1100px) {
  .special-lunchset__price {
    font-size: 60px;
    background: url(../img/price-bottom-pc_grid.png) left bottom repeat-X;
  }
}
.special-lunchset__time {
  font-family: "Noto Serif JP";
  font-size: 12px;
  font-weight: 700;
  line-height: 1.5;
  padding-top: 13px;
}
@media screen and (min-width: 1100px) {
  .special-lunchset__time {
    font-size: 14px;
    padding-top: 0;
  }
}
.special-lunchset__bg-top, .special-lunchset__bg-bottom {
  position: absolute;
  z-index: 1;
}
.special-lunchset__bg-top {
  top: -46px;
  width: 186px;
  right: 0;
}
@media screen and (min-width: 1100px) {
  .special-lunchset__bg-top {
    width: 308px;
    right: 15.5px;
    top: 179px;
  }
}
.special-lunchset__bg-bottom {
  top: -170px;
  width: 86px;
  right: 0;
}
@media screen and (min-width: 1100px) {
  .special-lunchset__bg-bottom {
    width: 167px;
    top: -134px;
  }
}

.grand-menu {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.grand-menu__inner {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
@media screen and (min-width: 1100px) {
  .grand-menu__inner {
    gap: 60px;
  }
}
.grand-menu-select {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
@media screen and (min-width: 1100px) {
  .grand-menu-select {
    gap: 100px;
  }
}
.grand-menu__category {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
@media screen and (min-width: 1100px) {
  .grand-menu__category {
    gap: 24px;
  }
}
.grand-menu__title {
  position: relative;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
  padding: 4px 10px;
  border-top: 2px solid #222222;
  border-bottom: 2px solid #222222;
}
@media screen and (min-width: 1100px) {
  .grand-menu__title {
    padding: 7px 20px;
    font-size: 24px;
  }
}
.grand-menu__title::before, .grand-menu__title::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  background: #222222;
}
.grand-menu__title::before {
  top: 2px;
}
@media screen and (min-width: 1100px) {
  .grand-menu__title::before {
    top: 1px;
  }
}


.grand-menu__title::after {
  bottom: 2px;
}

@media screen and (min-width: 1100px) {
  .grand-menu__title::after {
    bottom: 1px;
  }
}

.grand-menu__items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  row-gap: 20px;
  -moz-column-gap: 20px;
       column-gap: 20px;
}
@media screen and (min-width: 1100px) {
  .grand-menu__items {
    grid-template-columns: repeat(3, 1fr);
    -moz-column-gap: 34px;
         column-gap: 34px;
  }
}
.grand-menu__image {
  padding: 5px;
  background: #FFFFFF;
}

@media screen and (min-width: 1100px) {
  .grand-menu__image {
    padding: 8px;
  }
}

.grand-menu__name {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  margin: 0;
}
@media screen and (min-width: 1100px) {
  .grand-menu__name {
    /* font-size: 20px; */
  }
}
.grand-menu-bg-top {
  position: absolute;
  top: -90px;
  left: 0;
  width: 146.365px;
  height: 141px;
  flex-shrink: 0;
}
@media screen and (min-width: 1100px) {
  .grand-menu-bg-top {
    width: 295px;
    top: -144px;
  }
}
.grand-menu-bg-bottom {
  position: absolute;
  right: 0px;
  bottom: -106px;
  width: 138px;
  height: 143px;
  flex-shrink: 0;
}
@media screen and (min-width: 1100px) {
  .grand-menu-bg-bottom {
    width: 301px;
    height: 330px;
    z-index: 1;
    bottom: -127px;
    right: 0;
  }
  .grand-menu-bg-bottom img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
  }
}

.gallery__images {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  row-gap: 19px;
  -moz-column-gap: 19px;
       column-gap: 19px;
  margin-block: 40px;
}
@media screen and (min-width: 1100px) {
  .gallery__images {
    grid-template-columns: repeat(4, 1fr);
    -moz-column-gap: 24px;
         column-gap: 24px;
     margin-block: 60px;
  }
}
.gallery__bg {
  position: absolute;
  width: 180px;
  height: 104px;
  top: -60px;
  left: 0;
  flex-shrink: 0;
}
@media screen and (min-width: 1100px) {
  .gallery__bg {
    width: 266px;
    left: 297px;
  }
}

.news__content {
  display: flex;
  flex-direction: column;
  gap: 23px;
  margin-block: 40px;
}
@media screen and (min-width: 768px) {
  .news__content {
    flex-direction: row;
    margin-bottom: 60px;
    margin-top: 60px;
    gap: 30px;
  }
}
.news__featured {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
@media screen and (min-width: 768px) {
  .news__featured {
    max-width: 510px;
  }
}

.news__items-image {
  height: 210px;
  align-self: stretch;
  aspect-ratio: 67 / 42;

  img {
    width: 100%;
    height: 100%;
  }
}

@media screen and (min-width: 1100px) {
  .news__items-image {
height: 319px;
align-self: stretch;
aspect-ratio: 251/157;

  img {
    width: 100%;
    height: 100%;
  }
 }
}

.news__card-image {
  height: 99px;
  align-self: stretch;
  aspect-ratio: 158 / 99;

  img {
    width: 100%;
    height: 100%;
  }
}

@media screen and (min-width: 1100px) {
.news__card-image {
height: 166.015px;
flex-shrink: 0;
align-self: stretch;
aspect-ratio: 83/52;

  img {
    width: 100%;
    height: 100%;
  }
}

.blog .news__card-image,
.archive .news__card-image {
  height: 213px;
  flex-shrink: 0;
  align-self: stretch;
  aspect-ratio: 83/52;
}

}

.news__text-card {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.news__text-sub-card {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

@media screen and (min-width: 768px) {
  .news__text-card {
    gap: 13px;
  }
}

@media screen and (min-width: 768px) {
.news__text-card--feature {
    gap: 20px;
}
}

.news__card-title {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
}

@media screen and (min-width: 768px) {
  .news__card-title {
    font-size: 20px;
  }
}

.news__card-date {
  font-size: 12px;
  font-weight: 500;
  line-height: 1.5;
}

@media screen and (min-width: 768px) {
.news__card-date {
  font-size: 14px;
}
}

.news__cards-wrapper {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  row-gap: 19px;
  -moz-column-gap: 19px;
       column-gap: 19px;
}
@media screen and (min-width: 1100px) {
  .news__cards-wrapper {
    row-gap: 30px;
    column-gap: 33px;
  }
}

.news__card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
@media screen and (min-width: 768px) {
  .news__card {
    max-width: 265px;
    gap: 13px;
  }
}

.news__card-text {
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

@media screen and (min-width: 768px) {
  .news__card-text {
    font-size: 14px;
  }
}

.news__card-sub_text {

}

@media screen and (min-width: 768px) {
.news__card-sub_text {
    font-size: 16px;
}
}


.news__deco {
  position: absolute;
  top: -40px;
  left: 0px;
  width: 133px;
}
@media screen and (min-width: 1100px) {
  .news__deco {
    width: 267px;
    top: -140px;
    left: 0;
  }
}

.access {
  position: relative;
}
.access__inner {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
@media screen and (min-width: 1100px) {
  .access__inner {
    max-width: 688px;
    margin: 0 auto;
    padding-top: 2px;
    gap: 37px;
  }
}
.access__info {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
.access__map-image {
  width: 100%;
}
.access__text-info {
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 18px;
}
@media screen and (min-width: 768px) {
  .access__text-info {
    display: grid;
    grid-template-columns: repeat(2, 324px);
    grid-template-rows: repeat(3, auto);
    grid-auto-flow: column; /* ← ここが肝 */
    -moz-column-gap: 40px;
         column-gap: 40px;
    row-gap: 20px;
  }
}
.access__item {
  display: flex;
  gap: 24px;
  padding-bottom: 5px;
  border-bottom: 1px solid;
}
.access__label {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  width: 56px;
}
.access__text {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  display: inline-block;
  margin: 0;
}
.access__top-balloon-bg {
  position: absolute;
  top: -44px;
  left: 0;
  width: 100%;
  max-width: 168px;
}
@media screen and (min-width: 1100px) {
  .access__top-balloon-bg {
    max-width: 233px;
    left: calc(50% - 305px);
    top: -51px;
  }
}
.access__top-bread-bg {
  position: absolute;
  top: -93px;
  right: 0;
  width: 155px;
  height: 179px;
}
@media screen and (min-width: 1100px) {
  .access__top-bread-bg {
    width: 298px;
    top: -169px;
  }
}
.access__bottom-coffee-bg {
  position: absolute;
  bottom: -47px;
  left: -36px;
  width: 164px;
  height: 108px;
}
.access__bottom-coffee-bg img {
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (min-width: 1100px) {
  .access__bottom-coffee-bg {
    width: 341px;
    height: 288px;
    bottom: -136px;
    left: -43px;
  }
}

/* =========================
utility
========================= */
.p-contact {
  padding-top: 60px;
  padding-bottom: 160px;
  padding-inline: 20px;
  display: flex;
  flex-direction: column;
  gap: 60px;
}
@media screen and (min-width: 1100px) {
  .p-contact {
    width: 688px;
    margin: 0 auto;
    padding-inline: 0;
    padding-top: 80px;
    gap: 80px;
  }
}
.p-contact__header {
  display: flex;
  flex-direction: column;
  gap: 21px;
}

@media screen and (min-width: 1100px) {
 .p-contact__header {
  gap: 25px;
} 
}

.p-contact__title {
  color: #382620;
  text-align: center;
  font-family: "Noto Serif JP";
  font-size: 20px;
  font-weight: 700;
  line-height: 150%;
}
@media screen and (min-width: 768px) {
  .p-contact__title {
    font-size: 28px;
  }
}
.p-contact__text {
  color: #382620;
  font-family: "Noto Serif JP";
  font-size: 14px;
  font-weight: 500;
  line-height: 200%;
}
@media screen and (min-width: 768px) {
  .p-contact__text {
    font-size: 16px;
  }
}
.p-contact__fields {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

/* =====================================
component
===================================== */
.fv {
  min-height: 120px;
  max-height: 320px;
  height: 32vw;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

.fv__inner {
  position: relative;
  min-height: inherit;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.fv__inner::before, .fv__inner::after {
  position: absolute;
  content: "";
  z-index: 2;
  top: 50%;
  right: 50%;
  transform: translate(50%, -50%);
}
.fv__inner::before {
  width: calc(100% - 11px);
  height: calc(100% - 11px);
  border: 2px solid #FFFFFF;
}
@media screen and (min-width: 768px) {
  .fv__inner::before {
    width: calc(100% - 18px);
    height: calc(100% - 18px);
  }
}
.fv__inner::after {
  width: calc(100% - 22px);
  height: calc(100% - 22px);
  border: 1px solid #FFFFFF;
}
@media screen and (min-width: 768px) {
  .fv__inner::after {
    width: calc(100% - 30px);
    height: calc(100% - 30px);
  }
}

.fv__title {
  width: 100%;
  color: #FFFFFF;
  text-align: center;
}

.fv__heading {
  color: #FFFFFF;
  text-align: center;
  font-family: "Amatic SC", sans-serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 130%;
  letter-spacing: 6.4px;
  text-transform: uppercase;
  margin-left: 7px;
}
@media screen and (min-width: 1100px) {
  .fv__heading {
    font-size: 72px;
    letter-spacing: 14.4px;
    margin-left: 16px;
  }
}

.fv__heading-sub {
  color: #FFFFFF;
  text-align: center;
  font-family: "Noto Serif JP", serif;
  font-size: 12px;
  font-weight: 700;
  line-height: 150%;
  letter-spacing: 0.96px;
}
@media screen and (min-width: 1100px) {
  .fv__heading-sub {
    font-size: 16px;
    letter-spacing: 1.28px;
    margin: 0;
  }
}

.breadcrumb {
  font-size: 12px;
  padding: 6px 20px 0;
  background: #F3EFEB;
  display: flex;
  gap: 6px;
}
@media screen and (min-width: 1100px) {
  .breadcrumb {
    padding: 16px 90px 0;
    font-size: 14px;
    gap: 16px;
  }
}

.breadcrumb__list {
  display: flex;
  font-size: 12px;
  gap: 5px;
  color: #382620;
  font-family: "Noto Serif JP";
  font-size: 12px;
  font-weight: 700;
  line-height: 150%;
}

@media screen and (min-width: 1100px) {
  .breadcrumb__list {
    gap: 15px;
  }
}

.breadcrumb__item:not(:last-child)::after {
  display: inline-block;
  margin: 0 6px;
  content: ">";
}
@media screen and (min-width: 1100px) {
  .breadcrumb__item:not(:last-child)::after {
    margin: 0 15px;
  }
}

.price {
  color: #222222;
  font-family: Damion;
  font-size: 28px;
  font-style: normal;
  font-weight: 400;
  line-height: 150%;
  margin: 0;
}

@media screen and (min-width: 1100px) {
  .price {
    font-size: 32px;
  }
}

.price__sm {
  font-size: 24px;
}
.price span {
  margin-left: 8px;
}



/* ===============================
page
=============================== */
.post-type-archive-gift .gift {
  padding-bottom: 160px;
}
.post-type-archive-gift .fv {
  background-image: url(../img/gift/img_firstview_gift_sp.png);
}

@media screen and (min-width: 768px) {
  .post-type-archive-gift .fv {
  background-image: url(../img/gift/img_firstview_gift.png);
  }
}

.archive .fv {
  background-image: url(../img/img_firstview_news_sp.png);
}

/* =====================================
archive
===================================== */
.archive .news__inner {
  padding-top: 60px;
  padding-bottom: 160px;
}

@media screen and (min-width: 1100px) {
.archive .news__inner {
  padding-top: 80px;
}
}


.archive .articles__inner {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

@media screen and (min-width: 1100px) {
.archive .articles__inner {
  gap: 42px;
}
}

.archive .section__news-title {
  color: var(--cr-contrast, #222);
  font-family: "Noto Serif JP";
  font-size: 20px;
  font-weight: 700;
  line-height: 150%; /* 30px */
}

.archive .news__card--date {
  color: var(--cr-contrast, #222);
  font-family: "Noto Serif JP";
  font-size: 12px;
  font-style: normal;
  font-weight: 500;
  line-height: 150%; /* 18px */
  margin-top: 12px;
}

.page-contact .fv {
  background-image: url(../img/contact/img_fv_contact_sp.jpg);
}
@media screen and (min-width: 768px) {
  .page-contact .fv {
    background-image: url(../img/contact/img_fv_contact.jpg);
  }
}
.page-thanks .fv {
  background-image: url(../img/contact/img_fv_contact_sp.jpg);
}
@media screen and (min-width: 768px) {
  .page-thanks .fv {
    background-image: url(../img/contact/img_fv_contact.jpg);
  }
}



/* =====================================
component
===================================== */
.gift-card {
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.gift-card__title {
  display: flex;
  text-align: left;
  color: #222222;
  font-family: "Noto Serif JP";
  font-size: 20px;
  font-weight: 700;
  line-height: 150%;
  margin: 0;
}

@media screen and (min-width: 1100px) {
  .gift-card__title {
    font-size: 24px;
  }
}

.gift-card__title-sm {
  font-size: 14px;
  margin: 0;
}

/* =====================================
page-gift
===================================== */
.post-type-archive-gift .gift__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  row-gap: 21px;
  column-gap: 20px;
  margin-bottom: 60px;
}
@media screen and (min-width: 1100px) {
  .post-type-archive-gift .gift__grid {
    grid-template-columns: repeat(4, 1fr);
    row-gap: 40px;
    column-gap: 40px;
    margin-bottom: 100px;
  }
}
.post-type-archive-gift .gift-card--large {
  grid-column: span 2;
}
@media screen and (min-width: 1100px) {
  .post-type-archive-gift .gift-card {
    max-width: 245px;
  }
  .post-type-archive-gift .gift-card--large {
    grid-row: span 2;
    max-width: 530px;
  }
}

@media screen and (min-width: 1100px) {
.post-type-archive-gift .inner  {
  gap: 40px;
  }
}

.post-type-archive-gift .wrapping {
  border: 4px solid #382620;
  background: #FFFFFF;
}
.post-type-archive-gift .wrapping__inner {
  padding: 36px;
  position: relative;
}
@media screen and (min-width: 1100px) {
  .post-type-archive-gift .wrapping__inner {
    display: flex;
    padding: 75px 51px;
    gap: 60px;
    align-items: center;
  }
  .post-type-archive-gift .wrapping__img {
    width: 460px;
    height: 300px;
    object-fit: cover;
  }
}
.post-type-archive-gift .wrapping__inner::after {
  position: absolute;
  content: "";
  border: 1px solid var(--cr-main, #382620);
  width: calc(100% - 11px);
  height: calc(100% - 11px);
  top: 50%;
  right: 50%;
  transform: translate(50%, -50%);
}
.post-type-archive-gift .wrapping__text {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-bottom: 32px;
}
@media screen and (min-width: 1100px) {
  .post-type-archive-gift .wrapping__text {
    font-size: 36px;
    margin-bottom: 0;
    gap: 35px;
  }
}
.post-type-archive-gift .wrapping__heading {
  color: #382620;
  font-family: "Noto Serif JP";
  font-size: 16px;
  font-weight: 700;
  line-height: 150%;
  padding-bottom: 23px;
  background: url(../img/gift/bg_dogs.svg) left bottom repeat-x;
}
@media screen and (min-width: 1100px) {
  .post-type-archive-gift .wrapping__heading {
    font-size: 24px;
  }
}
.post-type-archive-gift .wrapping__heading-sub {
  color: #222222;
  font-family: "Noto Serif JP";
  font-size: 14px;
  font-weight: 500;
  line-height: 200%;
}
@media screen and (min-width: 1100px) {
  .post-type-archive-gift .wrapping__heading-sub {
    font-size: 16px;
  }
}

/* =====================================
page-contact
===================================== */
.form-field {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
@media screen and (min-width: 1100px) {
  .form-field {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }
  .form-field:has(.form-field__radios),
  .form-field:has(textarea) {
    align-items: flex-start;
  }
}
.form-field__head p {
  display: flex;
  gap: 4px;
  align-items: center;
}
.form-field__radios {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.p-contact__privacy {
  margin-block: 40px;
}
.p-contact__privacy-text {
  color: #382620;
  font-family: "Noto Serif JP";
  font-size: 14px;
  font-weight: 500;
  line-height: 150%;
}

.btn__contact {
  width: 290px;
  margin: 0 auto;
}

.form-field__head {
  height: 24px;
}
.form-field__label {
  color: #382620;
  font-family: "Noto Serif JP";
  font-size: 16px;
  font-weight: 700;
  line-height: 150%;
}
.form-field__tag {
  color: #FFFFFF;
  font-family: "Noto Serif JP";
  font-size: 11px;
  font-weight: 700;
  line-height: 150%;
  border-radius: 2px;
  background: var(--cr-accent, #F07317);
  padding: 1px 6px;
  display: flex;
  align-items: center;
  width: 34px;
  height: 19px;
}
@media screen and (min-width: 768px) {
  .form-field__item {
    max-width: 490px;
    width: 100%;
  }
}
@media screen and (min-width: 1100px) {
  .form-field__input {
    max-width: 490px;
  }
}

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

.wpcf7-list-item-label {
  position: relative;
  padding-left: 34px;
}
.wpcf7-list-item-label::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  border-radius: 50%;
  width: 24px;
  height: 24px;
  border: 1px solid #382620;
  left: 0;
}
.wpcf7-list-item-label::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  border-radius: 50%;
  width: 12px;
  height: 12px;
  background: #F07317;
  left: 7px;
  opacity: 0;
}

[type=radio]:checked + .wpcf7-list-item-label::after {
  opacity: 1;
}

.wpcf7-form-control {
  display: flex;
  flex-direction: column;
  gap: 17px;
}

[type=radio] {
  width: 1px;
  height: 1px;
  position: absolute;
  clip: rect(0, 0, 0, 0);
  overflow: hidden;
}
[type=radio]:checked + .form-radio__text::after {
  opacity: 1;
}

.form-text, .form-textarea {
  width: 100%;

  padding: 12px 16px;
  color: #ccc;
  border-radius: 6px;
  border: 1px solid #382620;
}

.form-textarea {
  height: 200px;
}

@media screen and (min-width: 1100px) {
  .form-textarea {
  height: 240px;
}
}


.header__logo-white {
  display: block;
}
@media screen and (min-width: 1100px) {
  .header__logo-white {
    display: none;
  }
}

.header__logo-blown {
  display: none;
}
@media screen and (min-width: 1100px) {
  .header__logo-blown {
    text-align: center;
    display: block;
  }
}

.header__nav {
  display: none;
}
@media screen and (min-width: 1100px) {
  .header__nav {
    display: block;
  }
}

.header__sns {
  display: none;
}
@media screen and (min-width: 1100px) {
  .header__sns {
    display: flex;
  }
}

@media screen and (min-width: 1100px) {
  .header__nav-list {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 32px;
  }
  .header__nav-list a {
    cursor: default;
  }
}

.header__drawer-sns {
  display: flex;
  flex-direction: row;
  gap: 24px;
  text-align: center;
  justify-content: center;
}

.drawer__menu-button {
  position: fixed;
  top: 10px;
  right: 10px;
  width: 60px;
  height: 60px;
  border-radius: 30px;
  background: #382620;
  z-index: 1000;
}

.drawer-icon {
  position: absolute;
  width: 28px;
  height: 16px;
  top: 50%;
  right: 50%;
  transform: translate(50%, -50%);
}
.drawer-icon.is-checked {
  background-color: #FFFFFF;
  border-radius: 30px;
  width: 60px;
  height: 60px;
}
.drawer-icon.is-checked .drawer-icon__bar:nth-child(1), .drawer-icon.is-checked .drawer-icon__bar:nth-child(3) {
  top: 50%;
  left: 50%;
  background-color: #382620;
}
.drawer-icon.is-checked .drawer-icon__bar:nth-child(1) {
  transform: translate(-50%, -50%) rotate(45deg);
  color: #382620;
}
.drawer-icon.is-checked .drawer-icon__bar:nth-child(2) {
  display: none;
}
.drawer-icon.is-checked .drawer-icon__bar:nth-child(3) {
  transform: translate(-50%, -50%) rotate(-45deg);
  color: #382620;
}

.page-concept {
  background: #F3EFEB;
}

.page-concept .header__logo {
  display: none;
}
@media screen and (min-width: 1100px) {
  .page-concept .header__nav-list,
  .page-concept .header__sns,
  .page-menu .header__nav-list,
  .page-menu .header__sns,
  .tax-menu_category .header__nav-list,
  .tax-menu_category .header__sns,
  .archive .header__nav-list,
  .archive .header__sns,
  .page-news .header__nav-list,
  .page-news .header__sns,
  .page-shop .header__nav-list,
  .page-shop .header__sns,
  .page-contact .header__nav-list,
  .page-contact .header__sns {
    display: none;
  }
}

.page-concept .drawer__menu-button {
  position: absolute;
  right: 10px;
  top: 10px;
  background: #382620;
  border-radius: 30px;
  z-index: 999;
}
.page-concept .fv {
  min-height: 120px;
  max-height: 320px;
  height: 32vw;
  background-image: url(../img/concept/sp/concept__fv-img-sp.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
.page-concept .fv__inner {
  position: relative;
  min-height: inherit;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.page-concept .fv__inner::before, .page-concept .fv__inner::after {
  position: absolute;
  content: "";
  z-index: 2;
  top: 50%;
  right: 50%;
  transform: translate(50%, -50%);
}
.page-concept .fv__inner::before {
  width: calc(100% - 11px);
  height: calc(100% - 11px);
  border: 2px solid #FFFFFF;
}
@media screen and (min-width: 768px) {
  .page-concept .fv__inner::before {
    width: calc(100% - 18px);
    height: calc(100% - 18px);
  }
}
.page-concept .fv__inner::after {
  width: calc(100% - 22px);
  height: calc(100% - 22px);
  border: 1px solid #FFFFFF;
}
@media screen and (min-width: 768px) {
  .page-concept .fv__inner::after {
    width: calc(100% - 30px);
    height: calc(100% - 30px);
  }
}
.page-concept .fv__title {
  width: 100%;
  color: #FFFFFF;
  text-align: center;
}
.page-concept .fv__heading {
  color: #FFFFFF;
  text-align: center;
  font-family: "Amatic SC", sans-serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 130%;
  letter-spacing: 6.4px;
  text-transform: uppercase;
  margin-left: 7px;
}
@media screen and (min-width: 1100px) {
  .page-concept .fv__heading {
    font-size: 72px;
    letter-spacing: 14.4px;
    margin-left: 16px;
  }
}
.page-concept .fv__heading-sub {
  color: #FFFFFF;
  text-align: center;
  font-family: "Noto Serif JP", serif;
  font-size: 12px;
  font-weight: 700;
  line-height: 150%;
  letter-spacing: 0.96px;
}
@media screen and (min-width: 1100px) {
  .page-concept .fv__heading-sub {
    font-size: 16px;
    letter-spacing: 1.28px;
  }
}
.page-concept .breadcrumb {
  padding: 6px 20px 0;
  background: #F3EFEB;
}
@media screen and (min-width: 1100px) {
  .page-concept .breadcrumb {
    padding: 16px 90px 0;
    font-size: 14px;
    gap: 17px;
  }
}
.page-concept .breadcrumb__list {
  display: flex;
  font-size: 12px;
}
.page-concept .breadcrumb__item:not(:last-child)::after {
  display: inline-block;
  margin: 0 6px;
  content: ">";
}
@media screen and (min-width: 1100px) {
  .page-concept .breadcrumb__item:not(:last-child)::after {
    margin: 0 15px;
  }
}
.page-concept .concept__wrapper {
  position: relative;
}
.page-concept .concept__inner {
  padding-block: 60px 160px;
  display: flex;
  flex-direction: column;
  gap: 100px;
  background: #F3EFEB;
  margin: 0 auto;
  max-width: 100%;
}

@media screen and (min-width: 768px) {
.page-concept .concept__inner {
  padding-block: 80px 160px;
  gap: 200px;
}
}

.page-concept .concept__block {
  position: relative;
  z-index: 3;
}
.page-concept .concept__block::after {
  content: "";
  position: absolute;
  z-index: -1;
  background: #EAE0D5;
}
.page-concept .concept__block:nth-of-type(1)::after {
  width: 70%;
  height: 100px;
  right: 0;
  bottom: -50px;
}

@media screen and (min-width: 768px) {
.page-concept .concept__block:nth-of-type(1)::after {
  width: 77%;
  height: 200px;
  bottom: -100px;
}
}

.page-concept .concept__block:nth-of-type(2)::after {
  width: 60%;
  height: 227px;
  left: 0;
  bottom: -50px;
}
@media screen and (min-width: 768px) {
.page-concept .concept__block:nth-of-type(2)::after {
  width: 45.5%;
  height: 437px;
  bottom: -60px;
}
}

.page-concept .concept__block:nth-of-type(3)::after {
  width: 50%;
  height: 195px;
  right: 0;
  bottom: -20px;
}

@media screen and (min-width: 768px) {
.page-concept .concept__block:nth-of-type(3)::after {
width: 400px;
height: 520px;
bottom: -80px;
}
}

@media screen and (min-width: 1100px) {
  .page-concept .concept__block:nth-of-type(2) .concept__block__inner {
    flex-direction: row-reverse;
  }
}
.page-concept .concept__block__inner {
  padding-inline: 20px;
  max-width: 600px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 32px;
}
@media screen and (min-width: 1100px) {
  .page-concept .concept__block__inner {
    max-width: 1160px;
    padding-inline: 30px;
    display: flex;
    flex-direction: row;
    gap: 70px;
    align-items: center;
  }
}
.page-concept .concept__description {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
@media screen and (min-width: 1100px) {
  .page-concept .concept__description {
    width: 389px;
    gap: 34px;
  }
}
.page-concept .concept__title {
  color: #222222;
  font-family: "Noto Serif JP", serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 200%;
}
@media screen and (min-width: 1100px) {
  .page-concept .concept__title {
    font-size: 28px;
  }
}
.page-concept .concept__img {
  max-width: 640px;
  width: 100%;
}
.page-concept .concept__pasta {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 32px;
  z-index: 3;
}
.page-concept .concept__coffee__inner {
  max-width: 600px;
  margin: 0 auto;
}
.page-concept .concept__pasta-description {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
@media screen and (min-width: 1100px) {
  .page-concept .concept__pasta-description {
    width: 389px;
  }
}
.page-concept .concept__bread {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 32px;
  z-index: 3;
}
.page-concept .concept__bread-description {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
.page-concept .js-top-btn {
  bottom: 9px;
}

.page-concept .section-access {
  margin-top: 1px;
}

.tax-menu_category .header__logo {
  display: none;
}
.tax-menu_category .fv,
.post-type-archive-menu .fv {
  min-height: 120px;
  max-height: 320px;
  height: 32vw;
  background-image: url(../img/menu/mainvisual-sp.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

@media screen and (min-width: 768px) {
.tax-menu_category .fv,
.post-type-archive-menu .fv {
  background-image: url(../img/menu/mainvisual-pc.png);
}
}

.tax-menu_category .fv__inner,
.post-type-archive-menu .fv__inner {
  position: relative;
  min-height: inherit;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.tax-menu_category .fv__inner::before,
.tax-menu_category .fv__inner::after,
.post-type-archive-menu .fv__inner::before,
.post-type-archive-menu .fv__inner::after {
  position: absolute;
  content: "";
  z-index: 2;
  top: 50%;
  right: 50%;
  transform: translate(50%, -50%);
}
.tax-menu_category .fv__inner::before,
.post-type-archive-menu .fv__inner::before {
  width: calc(100% - 11px);
  height: calc(100% - 11px);
  border: 2px solid #FFFFFF;
}
@media screen and (min-width: 768px) {
  .tax-menu_category .fv__inner::before,
  .post-type-archive-menu .fv__inner::before {
    width: calc(100% - 18px);
    height: calc(100% - 18px);
  }
}
.tax-menu_category .fv__inner::after,
.post-type-archive-menu .fv__inner::after {
  width: calc(100% - 22px);
  height: calc(100% - 22px);
  border: 1px solid #FFFFFF;
}
@media screen and (min-width: 768px) {
  .tax-menu_category .fv__inner::after,
  .post-type-archive-menu .fv__inner::after {
    width: calc(100% - 30px);
    height: calc(100% - 30px);
  }
}
.tax-menu_category .fv__title,
.post-type-archive-menu .fv__title {
  width: 100%;
  color: #FFFFFF;
  text-align: center;
}
.tax-menu_category .fv__heading,
.post-type-archive-menu .fv__heading {
  color: #FFFFFF;
  text-align: center;
  font-family: "Amatic SC", sans-serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 130%;
  letter-spacing: 6.4px;
  text-transform: uppercase;
  margin-left: 7px;
}
@media screen and (min-width: 1100px) {
  .tax-menu_category .fv__heading,
  .post-type-archive-menu .fv__heading {
    font-size: 72px;
    letter-spacing: 14.4px;
    margin-left: 14px;
  }
}

.tax-menu_category .fv__heading-sub,
.post-type-archive-menu .fv__heading-sub {
  color: #FFFFFF;
  text-align: center;
  font-family: "Noto Serif JP", serif;
  font-size: 12px;
  font-weight: 700;
  line-height: 150%;
  letter-spacing: 0.96px;
}
@media screen and (min-width: 1100px) {
  .tax-menu_category .fv__heading-sub,
  .post-type-archive-menu .fv__heading-sub {
    font-size: 16px;
    letter-spacing: 1.28px;
  }
}

.tax-menu_category .breadcrumb,
.post-type-archive-menu .breadcrumb {
  padding: 6px 20px 0;
  background: #F3EFEB;
}
@media screen and (min-width: 1100px) {
  .tax-menu_category .breadcrumb,
  .post-type-archive-menu .breadcrumb {
    padding: 16px 90px 0;
  }
}
.tax-menu_category .breadcrumb__list,
.post-type-archive-menu .breadcrumb__list {
  display: flex;
  font-size: 12px;
  margin: 0;
  list-style: none;
  padding: 0;
}

@media screen and (min-width: 768px) {
.tax-menu_category .breadcrumb__list,
.post-type-archive-menu .breadcrumb__list {
  font-size: 14px;
  gap: 15px;
}
} 

.tax-menu_category .breadcrumb__item a,
.post-type-archive-menu .breadcrumb__item a {
  text-decoration: none;
  color: #382620;
}


.tax-menu_category .breadcrumb__item:not(:last-child)::after,
.post-type-archive-menu .breadcrumb__item:not(:last-child)::after {
  display: inline-block;
  margin: 0 6px;
  content: ">";
}
@media screen and (min-width: 1100px) {
  .tax-menu_category .breadcrumb__item:not(:last-child)::after,
  .post-type-archive-menu .breadcrumb__item:not(:last-child)::after {
    margin: 0 15px;
  }
}

.tax-menu_category .menu__wrapper,
.post-type-archive-menu .menu__wrapper {
  padding-inline: 20px;
  padding-top: 60px;
  padding-bottom: 160px;
  background: var(--cr-base, #F3EFEB);
}

@media screen and (min-width: 1100px) {
  .tax-menu_category .menu__wrapper,
  .post-type-archive-menu .menu__wrapper {
    padding-inline: 90px;
    padding-top: 80px;
  }
}
.tax-menu_category .menu__inner,
.post-type-archive-menu .menu__inner {
  display: flex;
  flex-direction: column;
  gap: 60px;
  padding-inline: 20px;
}

.tax-menu_category .menu__inner {
  padding-inline: 0;
}

.term-drink .menu__inner {
  padding-inline: 20px;
}

@media screen and (min-width: 768px) {
  .tax-menu_category .menu__inner,
  .post-type-archive-menu .menu__inner {
    max-width: 1100px;
    margin: 0 auto;
    gap: 80px;
    padding-inline: 0;
  }
}
.tax-menu_category .menu__button-boxes,
.post-type-archive-menu .menu__button-boxes {
  display: grid;
  justify-content: center;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .tax-menu_category .menu__button-boxes,
  .post-type-archive-menu .menu__button-boxes {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media screen and (min-width: 1100px) {
  .tax-menu_category .menu__button-boxes,
  .post-type-archive-menu .menu__button-boxes {
    grid-template-columns: repeat(4, 200px);
  }
}

.tax-menu_category .button-menu-nav,
.post-type-archive-menu .button-menu-nav {
  position: relative;
  display: flex;
  justify-content: center;
  padding: 22px 20px;
  background: var(--cr-disable, #888);
  width: 160px;
  height: 64px;
  font-size: 14px;
}
@media screen and (min-width: 768px) {
  .tax-menu_category .button-menu-nav,
  .post-type-archive-menu .button-menu-nav {
    padding: 24px 20px;
    width: 200px;
    height: 69px;
    font-size: 16px;
  }
}

.tax-menu_category .button-menu-nav.is-current,
.post-type-archive-menu .button-menu-nav.is-current {
  background: #382620;
}

.tax-menu_category .button-menu-nav.is-current a,
.post-type-archive-menu .button-menu-nav.is-current a {
  color: #FFFFFF;
}

.tax-menu_category .button-menu-nav a,
.post-type-archive-menu .button-menu-nav a {
  color: #FFFFFF;
  text-decoration: none;
}

.tax-menu_category .button-menu-nav::after,
.post-type-archive-menu .button-menu-nav::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 50%;
  transform: translate(50%, -50%);
  width: calc(100% - 9px);
  height: calc(100% - 9px);
  border: 1px solid #FFFFFF;
  pointer-events: none;
}

.tax-menu_category .button-menu-nav:hover,
.post-type-archive-menu .button-menu-nav:hover {
  background: var(--cr-main, #382620);
}

.tax-menu_category .menu__lists--boxes,
.post-type-archive-menu .menu__lists--boxes {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  row-gap: 24px;
  -moz-column-gap: 19px;
       column-gap: 19px;
}

@media screen and (min-width: 1100px) {
  .tax-menu_category .menu__lists--boxes,
  .post-type-archive-menu .menu__lists--boxes {
    grid-template-columns: repeat(4, 1fr);
  }
}

.tax-menu_category .grand-menu__items,
.post-type-archive-menu .grand-menu__items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  row-gap: 24px;
  column-gap: 19px;
}

@media screen and (min-width: 1100px) {
  .tax-menu_category .grand-menu__items,
  .post-type-archive-menu .grand-menu__items {
    grid-template-columns: repeat(4, 1fr);
    column-gap: 40px;
    row-gap: 40px;
  }
}

.tax-menu_category .grand-menu__image,
.post-type-archive-menu .grand-menu__image {
  padding: 0;
  min-width: 158px;
}

@media screen and (min-width: 1100px) {
  .tax-menu_category .grand-menu__name,
  .post-type-archive-menu .grand-menu__name {
    font-size: 14px;
  }
}

@media screen and (min-width: 1100px) {
  .tax-menu_category .menu-price,
  .post-type-archive-menu .menu-price {
    font-size: 24px;
  }
}

@media screen and (min-width: 1100px) {
  .tax-menu_category .price-en,
  .post-type-archive-menu .price-en {
    font-size: 24px;
  }
}

@media screen and (min-width: 1100px) {
  .post-type-archive-menu .drink-menu .drink-menu__price {
    font-size: 20px;
    justify-content: left;
  }

  .post-type-archive-menu .drink-menu .drink-price-en {
    font-size: 20px;
  }
}

.post-type-archive-menu .grand-menu-select {
  gap: 60px;
}

@media screen and (min-width: 1100px) {
.post-type-archive-menu .grand-menu-select {
  gap: 80px;
}
}



.tax-menu_category .section-access {
  margin-top: 0;
}

.page-news .news__entry .news__inner {
  flex-direction: column;
}

.archive .header__logo {
  display: none;
}

.page-news .header__logo {
  display: none;
}
.page-news .breadcrumb ul {
  display: flex;
  overflow-x: scroll;
  word-break: keep-all;
  white-space: nowrap;
}
.page-news .news {
  padding-top: 80px;
  padding-bottom: 160px;
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .page-news .news {
    flex-direction: row;
    justify-content: space-between;
    margin: 0 auto;
  }
}
.page-news .news__inner,
.archive .news__inner {
  max-width: 335px;
  display: flex;
  flex-direction: column;
  margin: 0 auto;
  gap: 58px;
}
@media screen and (min-width: 1100px) {
  .page-news .news__inner,
  .archive .news__inner {
    max-width: 1100px;
    flex-direction: row;
    justify-content: space-between;
    gap: none;
  }
}

.single .news__inner {
  flex-direction: column;
  gap: 101px;
}

@media screen and (min-width: 1100px) {
  .single .news__inner {
    flex-direction: column;
    max-width: 688px;
    gap: 118px;
  }
}

.page-news .fv {
  min-height: 120px;
  max-height: 320px;
  height: 32vw;
  background-image: url(../img/img_firstview_news_sp.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
@media screen and (min-width: 768px) {
  .page-news .fv {
  background-image: url(../img/pc/img_firstview_news.png);
  }
}

.page-news .fv__inner {
  position: relative;
  min-height: inherit;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.page-news .fv__inner::before, .page-news .fv__inner::after {
  position: absolute;
  content: "";
  z-index: 2;
  top: 50%;
  right: 50%;
  transform: translate(50%, -50%);
}
.page-news .fv__inner::before {
  width: calc(100% - 11px);
  height: calc(100% - 11px);
  border: 2px solid #FFFFFF;
}
@media screen and (min-width: 768px) {
  .page-news .fv__inner::before {
    width: calc(100% - 18px);
    height: calc(100% - 18px);
  }
}
.page-news .fv__inner::after {
  width: calc(100% - 22px);
  height: calc(100% - 22px);
  border: 1px solid #FFFFFF;
}
@media screen and (min-width: 768px) {
  .page-news .fv__inner::after {
    width: calc(100% - 30px);
    height: calc(100% - 30px);
  }
}
.page-news .fv__title {
  width: 100%;
  color: #FFFFFF;
  text-align: center;
}
.page-news .fv__heading {
  color: #FFFFFF;
  text-align: center;
  font-family: "Amatic SC", sans-serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 130%;
  letter-spacing: 6.4px;
  text-transform: uppercase;
  margin-left: 7px;
}
@media screen and (min-width: 1100px) {
  .page-news .fv__heading {
    font-size: 72px;
    letter-spacing: 14.4px;
  }
}
.page-news .fv__heading-sub {
  color: #FFFFFF;
  text-align: center;
  font-family: "Noto Serif JP", serif;
  font-size: 12px;
  font-weight: 700;
  line-height: 150%;
  letter-spacing: 0.96px;
}
@media screen and (min-width: 1100px) {
  .page-news .fv__heading-sub {
    font-size: 16px;
    letter-spacing: 1.28px;
  }
}
.page-news .breadcrumb {
  padding: 6px 20px 0;
  background: #F3EFEB;
  display: flex;
  gap: 6px;
  overflow-x: scroll;
  word-break: keep-all;
  white-space: nowrap;
  /* スクロールバーを非表示 */
  scrollbar-h: none;

}
@media screen and (min-width: 1100px) {
  .page-news .breadcrumb {
    padding: 16px 90px 0;
    display: flex;
    gap: 16px;
  }
}
.page-news .breadcrumb__list {
  display: flex;
  font-size: 12px;
  overflow-x: scroll;
  word-break: keep-all;
  white-space: nowrap;
  /* スクロールバーを非表示 */
  scrollbar-width: none;
}

.page-news .breadcrumb__list::-webkit-scrollbar {
  display: none;
}


.page-news .breadcrumb__item:not(:last-child)::after {
  display: inline-block;
  margin: 0 6px;
  content: ">";
}
@media screen and (min-width: 1100px) {
  .page-news .breadcrumb__item:not(:last-child)::after {
    margin: 0 15px;
  }
}
.page-news .articles__inner {
  display: flex;
  flex-direction: column;
  row-gap: 40px;
}

@media screen and (min-width: 1100px) {
.page-news .articles__inner {
  row-gap: 64px;
}
}

.page-news .articles__wrapper {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  width: 100%;
  row-gap: 24px;
}
@media screen and (min-width: 768px) {
  .page-news .articles__wrapper,
  .archive .articles__wrapper {
    max-width: 720px;
  }
}

.page-news .articles__wrappers {
  display: flex;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .page-news .articles__wrappers {
    max-width: 720px;
    display: flex;
  }
}

.page-news .articles__card {
  width: 100%;
}

.page-news .articles__cards {
  max-width: 202px;
  width: 100%;
}
@media screen and (min-width: 1100px) {
.page-news .news__card,
.archive .news__card {
  max-width: 340px;
}
}

@media screen and (min-width: 1100px) {
  .page-news .news__cards-wrapper,
  .archive .news__cards-wrapper {
    row-gap: 44px;
    column-gap: 41px;
  }
  .page-news .related__card {
    max-width: 202px;
  }
  .related__card .news__card-image {
    height: 126.547px;
    flex-shrink: 0;
    align-self: stretch;
    aspect-ratio: 83 / 52;
  }
}


.page-news .pagination {
  display: flex;
  justify-content: center;
  gap: 12px;
}
.page-news .pagination-next.is-hidden {
  visibility: hidden;
}
@media screen and (min-width: 1100px) {
  .page-news .pagination {
    justify-content: space-between;
  }
}
.page-news .pagination--archive {
  justify-content: center;
  gap: 8px;
}
.page-news .pagination--single {
  gap: 30px;
  justify-content: left;
}

.page-news nav[aria-label="Page navigation"] {
  display: flex;
  justify-content: center;
}
.page-news nav[aria-label="Page navigation"] ul {
  display: flex;
  justify-content: center;
  gap: 11px;
  list-style: none;
  padding: 0;
}

.page-news .page-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid #382620;
  color: #382620;
  text-decoration: none;
  background: transparent;
}

.page-news .page-link.current {
  background: #382620;
  color: #FFFFFF;
}
.page-news .page-numbers {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid #382620;
  color: #382620;
  text-decoration: none;
  background: transparent;
}

.page-news .page-numbers.current  {
  background: #382620;
  color: #FFFFFF;
}
.page-news .page-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid #382620;
  color: #382620;
  text-decoration: none;
  background: transparent;
}

.page-news .page-link.current {
  background: #382620;
  color: #FFFFFF;
}

.page-news .latest__content,
.archive .latest__content {
  display: flex;
  flex-direction: column;
  gap: 60px;
}
@media screen and (min-width: 768px) {
  .page-news .latest__content,
  .archive .latest__content {
    width: 320px;
  }
}
.page-news .latest-posts,
.archive .latest-posts {
  background: #FFFFFF;
}
.page-news .latest-posts__inner,
.archive .latest-posts__inner {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 20px;
  background: #F8F8F8;
}
.page-news .section__title,
.archive .section__title {
  color: #222222;
  font-family: "Noto Serif JP";
  font-size: 20px;
  font-weight: 700;
  line-height: 150%;
}
.page-news .section__title::after,
.archive .section__title::after {
  content: "";
  width: 32px;
  height: 1px;
  background: #222222;
  display: block;
  margin-top: 20px;
}
.page-news .latest-post-lists,
.archive .latest-post-lists {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 0;
}
.page-news .latest-post-item,
.archive .latest-post-item {
  display: flex;
  gap: 14px;
  align-items: center;
}

.page-news .latest-post-link,
.archive .latest-post-link {
  display: flex;
  gap: 16px;
  align-items: center;
}
.page-news .latest-post-image,
.archive .latest-post-image {
    width: 70px;  /* 100px → 70px に縮小 */
    height: 70px;
    object-fit: cover;
}

.page-news .latest-postimage,
.archive .latest-postimage {
  width: 100px;
  height: 100px;
  object-fit: cover;
}

.page-news .latest-article,
.archive .latest-article {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.page-news .latest-post-text,
.archive .latest-post-text {
  color: var(--cr-contrast, #222);
  text-overflow: ellipsis;
  font-family: "Noto Serif JP";
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 150%; /* 21px */
}
.page-news .latest-post-text--ellipsis,
.archive .latest-post-text--ellipsis {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  align-self: stretch;
  overflow: hidden;
}

.page-news .latest-post-day,
.archive .latest-post-day {
  color: var(--cr-contrast, #222);
  font-family: "Noto Serif JP";
  font-size: 12px;
  font-style: normal;
  font-weight: 500;
  line-height: 150%; /* 18px */
}
.page-news .category__post-lists,
.archive .category__post-lists {
  display: flex;
  flex-direction: column;
  gap: 10px;
  list-style: none;
  padding: 0;
}
.page-news .category__post-item,
.archive .category__post-item {

  a {
  color: #222222;
  font-family: "Noto Serif JP";
  font-size: 16px;
  font-weight: 700;
  line-height: 150%;
  display: flex;
  gap: 6px;
  }
}
.page-news .category__post-link,
.archive .category__post-link {
  position: relative;
}
.page-news .category__post-link::before,
.archive .category__post-link::before {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  content: "";
  width: 6px;
  height: 12px;
  background-image: url(../img/news/arrow.svg);
}
.page-news .category__post-text {
  padding-left: 12px;
}
.page-news .section__news-title,
.archive .section__news-title {
  color: #222222;
  font-family: "Noto Serif JP";
  font-size: 24px;
  font-weight: 700;
  line-height: 150%;
}
.page-news .entry {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
.page-news .entry__header {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.page-news .header__text {
  color: #382620;
  font-family: "Noto Serif JP";
  font-size: 20px;
  font-weight: 700;
  line-height: 150%;
}

@media screen and (min-width: 768px) {
.page-news .header__text  {
  font-size: 28px;
  margin: 0;
  }
}
.page-news .list-item {
  display: flex;
  align-items: center;
}
.page-news .news__card--date {
  font-size: 12px;
  margin-top: 0;
}

.single .single__card--date {
  font-size: 14px;
}

.page-news .news__textcard {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.page-news .single__card--date::after {
  display: inline-block;
  content: "";
  width: 1px;
  height: 18px;
  margin: 0 24px;
  background: #382620;
  vertical-align: middle; 
}

.page-news .list-item--title {
  color: #382620;
  font-family: "Noto Serif JP";
  font-size: 14px;
  font-weight: 700;
  line-height: 150%;
}
@media screen and (min-width: 768px) {
  .page-news .news__entry {
    max-width: 688px;
  }
}
.page-news .entry__content {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
.page-news .entry__section {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.page-news .entry__content-title {
  color: #382620;
  font-family: "Noto Serif JP";
  font-size: 18px;
  font-weight: 700;
  line-height: 150%;
}
.page-news .entry__content-title::before {
  content: "";
  margin-right: 10px;
  background: #382620;
  border-left: 6px solid #382620;
}
.page-news .heading__text {
  color: #382620;
  font-family: "Noto Serif JP";
  font-size: 16px;
  font-weight: 700;
  line-height: 150%;
  padding-bottom: 11px;
  border-bottom: 1px solid #382620;
}
.page-news .heading__text-related {
  text-align: center;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
}

@media screen and (min-width: 1100px) {
  .page-news .heading__text-related {
    font-size: 28px;
  }
}

.page-news .entry__text--box {
  display: flex;
  flex-direction: column;
  gap: 14px;
  background: #FFFFFF;
  padding: 20px;
}
.page-news .entry__text--box figcaption {
  color: #222222;
  text-align: right;
  font-family: "Noto Serif JP";
  font-size: 14px;
  font-weight: 500;
  line-height: 200%;
}
.page-news .entry__text--box figcaption cite {
  color: var(--cr-contrast, #222);
  font-family: "Noto Serif JP";
  font-size: 14px;
  font-weight: 500;
  line-height: 200%;
  text-decoration-line: underline;
  text-decoration-style: solid;
  -webkit-text-decoration-skip: ink;
  text-decoration-skip-ink: auto;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
}
.page-news .entry__content-text {
  color: #222222;
  font-family: "Noto Serif JP";
  font-size: 14px;
  font-weight: 500;
  line-height: 200%;
}
.page-news .entry__content-text span {
  font-size: 16px;
  font-weight: 700;
  line-height: 2;
}
.page-news .heading__text--sm {
  color: #382620;
  font-family: "Noto Serif JP";
  font-size: 14px;
  font-weight: 700;
  line-height: 150%;
}
.page-news .entry__block--list .entry__block--item {
  color: #222222;
  font-family: "Noto Serif JP";
  font-size: 14px;
  font-weight: 500;
  line-height: 200%;
}
.page-news .entry__block--list .entry__block--item::before {
  content: "・";
}
.page-news .block__list--number {
  color: #222222;
  font-family: "Noto Serif JP";
  font-size: 14px;
  font-weight: 500;
  line-height: 200%;
}
.page-news .section-access {
  margin-top: 0;
}

.page-news .news-list {
  padding-block: 100px;
}
.page-news .news-list__grid {
  display: grid;
  gap: 32px;
}
@media (min-width: 768px) {
  .page-news .news-list__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
.page-news .card {
  display: block;
}
.page-news .card__img {
  position: relative;
}
.page-news .card__img img {
  width: 100%;
  height: auto;
  display: block;
}
.page-news .card__category {
  position: absolute;
  top: 10px;
  left: 10px;
  background: #5a3e36;
  color: #fff;
  font-size: 12px;
  padding: 4px 8px;
}
.page-news .card__body {
  margin-top: 10px;
}
.page-news .card__title {
  font-size: 14px;
  line-height: 1.6;
}
.page-news .card__date {
  font-size: 12px;
  color: #666;
}
.page-news .footer {
  /* display: none; */
}

.single .news {
  padding-top: 60px;
}

@media screen and (min-width: 1100px) {
.single .news {
  padding-top: 80px;
}
}

.single .related {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

@media screen and (min-width: 1100px) {
  .single .related {
    gap: 65px;
  }
}

.page-shop .header__logo {
  display: none;
}
.page-shop .news__entry {
  padding: 60px 0 160px 0;
}

@media screen and (min-width: 1100px) {
  .page-shop .news__entry {
  padding: 80px 0 160px 0;
}
}

.page-shop .news__inner {
  max-width: 335px;
  margin: 0 auto;
}
@media screen and (min-width: 1100px) {
  .page-shop .news__inner {
    max-width: 688px;
  }
}
.page-shop .fv {
  min-height: 120px;
  max-height: 320px;
  height: 32vw;
  background-image: url(../img/shop/mainvisual__shop.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
@media screen and (min-width: 768px) {
  .page-shop .fv {
    background-image: url(../img/shop/mainvisual__shop-pc.png);
  }
}
.page-shop .fv__inner {
  position: relative;
  min-height: inherit;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.page-shop .fv__inner::before, .page-shop .fv__inner::after {
  position: absolute;
  content: "";
  z-index: 2;
  top: 50%;
  right: 50%;
  transform: translate(50%, -50%);
}
.page-shop .fv__inner::before {
  width: calc(100% - 11px);
  height: calc(100% - 11px);
  border: 2px solid #FFFFFF;
}
@media screen and (min-width: 768px) {
  .page-shop .fv__inner::before {
    width: calc(100% - 18px);
    height: calc(100% - 18px);
  }
}
.page-shop .fv__inner::after {
  width: calc(100% - 22px);
  height: calc(100% - 22px);
  border: 1px solid #FFFFFF;
}
@media screen and (min-width: 768px) {
  .page-shop .fv__inner::after {
    width: calc(100% - 30px);
    height: calc(100% - 30px);
  }
}
.page-shop .fv__title {
  width: 100%;
  color: #FFFFFF;
  text-align: center;
}
.page-shop .fv__heading {
  color: #FFFFFF;
  text-align: center;
  font-family: "Amatic SC", sans-serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 130%;
  letter-spacing: 6.4px;
  text-transform: uppercase;
  margin-left: 7px;
}
@media screen and (min-width: 1100px) {
  .page-shop .fv__heading {
    font-size: 72px;
    letter-spacing: 14.4px;
  }
}
.page-shop .fv__heading-sub {
  color: #FFFFFF;
  text-align: center;
  font-family: "Noto Serif JP", serif;
  font-size: 12px;
  font-weight: 700;
  line-height: 150%;
  letter-spacing: 0.96px;
}
@media screen and (min-width: 1100px) {
  .page-shop .fv__heading-sub {
    font-size: 16px;
    letter-spacing: 1.28px;
  }
}
.page-shop .breadcrumb {
  padding: 6px 20px 0;
  background: #F3EFEB;
}
@media screen and (min-width: 1100px) {
  .page-shop .breadcrumb {
    padding: 16px 90px 0;
  }
}
.page-shop .breadcrumb__list {
  display: flex;
  font-size: 12px;
}
.page-shop .breadcrumb__item:not(:last-child)::after {
  display: inline-block;
  margin: 0 6px;
  content: ">";
}
@media screen and (min-width: 1100px) {
  .page-shop .breadcrumb__item:not(:last-child)::after {
    margin: 0 15px;
  }
}
.page-shop .entry__section {
  display: flex;
  flex-direction: column;
  gap: 21px;
}

@media screen and (min-width: 1100px) {
  .page-shop .entry__section {
    gap: 25px;
  }
} 
.page-shop .entry__content-title {
  color: #382620;
  font-family: "Noto Serif JP";
  font-size: 18px;
  font-weight: 700;
  line-height: 150%;
}

@media screen and (min-width: 1100px) {
  .page-shop .entry__content-title {
    font-size: 24px;
  }
}

.page-shop .entry__content-title::before {
  content: "";
  margin-right: 10px;
  background: #382620;
  border-left: 6px solid #382620;
}
.page-shop .shop__content {
  display: flex;
  flex-direction: column;
  gap: 60px;
}

@media screen and (min-width: 1100px) {
.page-shop .shop__content {
  gap: 117px;
}
}

.page-shop .shop__info--content {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
.page-shop .section-access {
  margin-top: 0;
}

/* single.php */
.single h2.wp-block-heading  {
  margin: 0;
  border-left: 6px solid var(--cr-main, #382620);
  padding-left: 10px;
  font-size: 18px;
}

@media screen and (min-width: 1100px) {
  .single h2.wp-block-heading {
    font-size: 24px;
  }
}

.single h3 {
padding-bottom: 11px;
border-bottom: 1px solid var(--cr-main, #382620);
margin: 0;
font-size: 16px;
}

@media screen and (min-width: 1100px) {
  .single h3 {
    font-size: 20px;
    padding-bottom: 13px;
  }
}

.single h4 {
margin: 0;
font-size: 14px;
}

@media screen and (min-width: 1100px) {
  .single h4 {
    font-size: 16px;
  }
}

.single h3 p {
margin: 0;
}
.single h4 p {
margin: 0;
}

.single .has-small-font-size {
  margin: 0;
}

/* .page-news .has-white-background-color {
  margin: 0;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 16px;
} */
.page-news .has-white-background-color p {
  margin: 0;
  line-height: 28px;
  font-size: 16px !important;
}

@media screen and (min-width: 1100px) {
  .page-news .has-white-background-color p {
    line-height: 2;
}
}



.page-news .has-white-background-color cite {
  font-size: 14px;
}
.page-news .has-white-background-color {
  margin: 0;
  padding: 40px;
  display: flex;
  flex-direction: column;
  gap: 13px;
  margin-top: -26px;
}

@media screen and (min-width: 1100px) {
.page-news .has-white-background-color {
  gap: 15px;
  margin-top: -22px;
}
}

.page-news .wp-block-list {
  margin: 0;
}

.page-news .wp-block-list p {
  margin: 0;
}

.entry__content p {
  margin: 0;
  /* margin-top: -25px; */
  font-size: 14px;
  /* line-height: 28px; */
}

@media screen and (min-width: 1100px) {
  .page-news .has-text-align-right p {
    font-size: 14px !important;
  }
}

.page-news figure {
  margin: 0;
  margin-top: -28px;
}

.page-news .wp-block-heading + p,
.page-news .wp-block-heading + ul,
.page-news .wp-block-heading + ol {
  margin-top: -24px; /* gapを相殺して間隔を狭める */
  font-weight: 500;
  line-height: 200%; /* 28px */
  font-size: 14px;
}

@media screen and (min-width: 1100px) {
.page-news .wp-block-heading + p {
  font-size: 16px;
}
}

.page-news .wp-block-heading + ul {
  margin-top: -23px;
  font-size: 14px;
  padding-left: 21px;
  list-style: disc;
}

@media screen and (min-width: 1100px) {
  .page-news .wp-block-heading + ul {
    font-size: 16px;
    margin-top: -19px;
  }
}

.page-news .wp-block-heading + ol {
  margin-top: -25px;
  font-size: 14px;
  padding-left: 21px;
  list-style: decimal;
}

@media screen and (min-width: 1100px) {
  .page-news .wp-block-heading + ol {
    font-size: 16px;
    margin-top: -24px;
  }
}

.single .wp-block-heading p {
  font-size: 16px;
}

@media screen and (min-width: 1100px) {
  .entry__pagenation{
   margin-top: 3px;
  }
}

.pagination__item {
  display: flex;
  align-items: center;
  font-size: 14px;
}

  .pagination__item .icon-left a {
    text-decoration: none;

    &::before {
      content: "";
      display: inline-block;
      width: 6px;
      height: 12px;
      background-image: url(../img/news/icon-left.svg);
      background-size: contain;
      background-repeat: no-repeat;
      margin-right: 10px;
    }
  }

  .pagination__item .icon-right a {
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 10px;

    &::after {
      content: "";
      display: inline-block;
      width: 6px;
      height: 12px;
      background-image: url(../img/news/arrow.svg);
      background-size: contain;
      background-repeat: no-repeat;
      padding-left: 10px;
    }
  }

.article-btn {
  padding: 12px 36px;
  border: 1px solid #382620;
  text-decoration: none;
}
.article-btn a {
  text-decoration: none;
}

.news__card-img.wp-post-image {
    width: 100%;
    object-fit: cover; 
    object-position: center; 
    aspect-ratio: 158 / 99;
}

.single .news__card-img.wp-post-image {
  width: 335px;
  aspect-ratio: 335/176;
}

@media screen and (min-width: 1100px) {
.single .news__card-img.wp-post-image {
width: 688px;
height: 361px;
aspect-ratio: 162/85;
}  
}

.related__card-img.wp-post-image {
    width: 100%;
    object-fit: cover; 
    object-position: center; 
    aspect-ratio: 158 / 99;
}

@media screen and (min-width: 1100px) {
  .related__card-img.wp-post-image {
  height: 126.547px;
  flex-shrink: 0;
  align-self: stretch;
  aspect-ratio: 83/52;
  }
}

/* .post-type-archive-gift .header {
  display: none;
} */

.post-type-archive-gift .btn {
  width: 133px;
  margin: 0 auto;
  color: var(--cr-white, #FFF);
  text-align: center;
  font-size: 12px;
  font-weight: 700;
  line-height: 150%; /* 18px */
  display: flex;
  padding: 6px 12px;
  justify-content: center;
  align-items: center;
  background: var(--cr-main, #382620);
}

@media screen and (min-width: 1100px) {
  .post-type-archive-gift .btn {
  width: 176px;
  padding: 8px 24px;
  font-size: 14px;
}
}

/* お問い合わせページでロゴを非表示 */
.page-contact .header__logo {
    display: none;
}

.page-contact .button {
  margin-left: 0;
  letter-spacing: 16px;
}

/* サンクスページでも非表示にする場合はこちら */
.page-thanks .header {
    display: none;
}

/* =====================================
category.php
===================================== */
.category .category__post-lists {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.category .category__post-item {
  list-style: none;
}

/* =====================================
page-products.php
functions.php で post-type-archive-gift クラスを付与するため
既存の .post-type-archive-gift スタイルが適用される
===================================== */

/* =====================================
page-menu.php
functions.php で post-type-archive-menu クラスを付与するため
既存の .post-type-archive-menu スタイルが適用される
===================================== */