
  /* =========================================================
   Café Ichifuji CUSTOM CSS
   整理版 / 2026-09-18

   01. TOP PAGE / SHOP INFORMATION
   02. INSTAGRAM
   03. ACCESS
   04. COMMON MENU COMPONENTS
   05. DESSERT MENU
   06. FRUITS SANDWICH
   07. TOP PAGE / NAVIGATION
   08. MORNING MENU
   09. FOOD MENU
   10. ACCESS / PARKING NOTICE
   11. MENU HUB
   12. DRINK MENU
========================================================= */

/* ---------------------------------
   Café Ichifuji 店舗情報
--------------------------------- */

.ichifuji-information {
  --ichifuji-navy: #293455;
  --ichifuji-cream: #f8f5ed;
  --ichifuji-green: #82976e;
  --ichifuji-text: #3e3d39;
  --ichifuji-line: rgba(41, 52, 85, 0.16);

  width: 100%;
  margin: 80px 0;
  padding: 70px 30px;
  box-sizing: border-box;
  background:
    radial-gradient(
      circle at top right,
      rgba(213, 225, 183, 0.42),
      transparent 34%
    ),
    var(--ichifuji-cream);
  color: var(--ichifuji-text);
}

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

.ichifuji-information__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(0, 0.98fr);
  gap: clamp(38px, 6vw, 90px);
  align-items: center;
  width: min(1120px, 100%);
  margin: 0 auto;
}

/* 写真 */

.ichifuji-information__photo {
  position: relative;
}

.ichifuji-information__photo::before {
  content: "";
  position: absolute;
  top: -18px;
  left: -18px;
  width: 60%;
  height: 70%;
  border: 1px solid rgba(41, 52, 85, 0.3);
  pointer-events: none;
}

.ichifuji-information__photo::after {
  content: "Seasonal Fruits";
  position: absolute;
  right: -15px;
  bottom: 24px;
  padding: 10px 18px;
  background: var(--ichifuji-navy);
  color: #ffffff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 12px;
  letter-spacing: 0.16em;
  writing-mode: vertical-rl;
}

.ichifuji-information__photo img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: clamp(380px, 48vw, 600px);
  object-fit: cover;
  object-position: center;
  box-shadow: 0 18px 45px rgba(38, 42, 36, 0.13);
}

/* テキスト */

.ichifuji-information__label {
  margin: 0 0 18px;
  color: var(--ichifuji-green);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.24em;
}

.ichifuji-information__title {
  margin: 0 0 28px;
  color: var(--ichifuji-navy);
  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    "Noto Serif JP",
    serif;
  font-size: clamp(25px, 3vw, 38px);
  font-weight: 500;
  line-height: 1.65;
  letter-spacing: 0.06em;
}

.ichifuji-information__text {
  margin: 0 0 34px;
  font-size: 14px;
  line-height: 2.15;
  letter-spacing: 0.04em;
}

/* 営業時間など */

.ichifuji-information__details {
  border-top: 1px solid var(--ichifuji-line);
}

.ichifuji-information__detail {
  display: grid;
  grid-template-columns: 95px 1fr;
  gap: 20px;
  padding: 18px 0;
  border-bottom: 1px solid var(--ichifuji-line);
}

.ichifuji-information__detail-title {
  padding-top: 2px;
  color: var(--ichifuji-green);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.14em;
}

.ichifuji-information__detail p {
  margin: 0;
  color: var(--ichifuji-navy);
  font-size: 14px;
  line-height: 1.8;
}

.ichifuji-information__detail small {
  display: block;
  margin-top: 3px;
  color: #77746c;
  font-size: 11px;
  line-height: 1.6;
}

.ichifuji-information__note {
  margin: 18px 0 0;
  color: #77746c;
  font-size: 11px;
  line-height: 1.8;
}

/* ボタン */

.ichifuji-information__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 30px;
}

.ichifuji-button {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  min-width: 180px;
  padding: 15px 19px;
  border: 1px solid var(--ichifuji-navy);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 12px;
  letter-spacing: 0.09em;
  line-height: 1;
  text-decoration: none !important;
  transition:
    color 0.25s ease,
    background-color 0.25s ease,
    transform 0.25s ease;
}

.ichifuji-button--primary {
  background: var(--ichifuji-navy);
  color: #ffffff !important;
}

.ichifuji-button--secondary {
  background: transparent;
  color: var(--ichifuji-navy) !important;
}

.ichifuji-button:hover {
  transform: translateY(-2px);
}

.ichifuji-button--primary:hover {
  background: #3a476c;
}

.ichifuji-button--secondary:hover {
  background: var(--ichifuji-navy);
  color: #ffffff !important;
}

/* タブレット・スマートフォン */

@media screen and (max-width: 780px) {

  .ichifuji-information {
    margin: 50px 0;
    padding: 52px 20px;
  }

  .ichifuji-information__inner {
    grid-template-columns: 1fr;
    gap: 45px;
  }

  .ichifuji-information__photo {
    width: calc(100% - 10px);
    margin-left: 10px;
  }

  .ichifuji-information__photo::before {
    top: -10px;
    left: -10px;
  }

  .ichifuji-information__photo::after {
    right: -8px;
    bottom: 18px;
  }

  .ichifuji-information__photo img {
    height: min(110vw, 490px);
  }

  .ichifuji-information__title {
    margin-bottom: 22px;
    line-height: 1.7;
  }

  .ichifuji-information__text br {
    display: none;
  }
}

@media screen and (max-width: 480px) {

  .ichifuji-information {
    padding-right: 17px;
    padding-left: 17px;
  }

  .ichifuji-information__detail {
    grid-template-columns: 78px 1fr;
    gap: 12px;
  }

  .ichifuji-information__buttons {
    display: grid;
    grid-template-columns: 1fr;
  }

  .ichifuji-button {
    width: 100%;
  }
}


/* ========================================
   Café Ichifuji Instagram Section
   完成版
======================================== */

/* セクション全体 */
.ichifuji-instagram {
  position: relative;
  gap: 0 !important;
  row-gap: 0 !important;
  box-sizing: border-box;
  width: min(1180px, calc(100% - 40px));
  margin: 90px auto !important;
  padding: 82px 48px 68px !important;
  overflow: hidden;
  border: 1px solid rgba(130, 111, 91, 0.13);
  border-radius: 24px;
  background:
    radial-gradient(
      circle at 98% 8%,
      rgba(164, 181, 148, 0.2) 0,
      rgba(164, 181, 148, 0.2) 125px,
      transparent 126px
    ),
    radial-gradient(
      circle at 2% 98%,
      rgba(226, 191, 160, 0.19) 0,
      rgba(226, 191, 160, 0.19) 105px,
      transparent 106px
    ),
    #faf8f3;
}

/* WordPress側の余白をリセット */
.ichifuji-instagram.is-layout-flow > * + *,
.ichifuji-instagram > * {
  margin-block-start: 0 !important;
}

.ichifuji-instagram > * {
  box-sizing: border-box;
  max-width: 1080px;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* 見出し */
.ichifuji-instagram h2 {
  margin: 0 0 22px !important;
  color: #485346;
  font-family:
    Georgia,
    "Times New Roman",
    "Yu Mincho",
    "游明朝",
    serif;
  font-size: clamp(39px, 5vw, 55px);
  font-weight: 400;
  letter-spacing: 0.055em;
  line-height: 1.2;
  text-align: center;
}

/* FROM INSTAGRAMを自動表示 */
.ichifuji-instagram h2::before {
  content: "FROM INSTAGRAM";
  display: block;
  margin-bottom: 12px;
  color: #9e775e;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.31em;
  line-height: 1.5;
}

/* 見出し下の飾り */
.ichifuji-instagram h2::after {
  content: "●";
  display: block;
  width: 120px;
  margin: 18px auto 0;
  overflow: hidden;
  color: #cb967c;
  background:
    linear-gradient(
      to right,
      #cbb9a6 0,
      #cbb9a6 42%,
      transparent 42%,
      transparent 58%,
      #cbb9a6 58%,
      #cbb9a6 100%
    )
    center / 100% 1px no-repeat;
  font-size: 8px;
  line-height: 13px;
}

/* 説明文 */
.ichifuji-instagram p {
  margin: 0 auto 34px !important;
  color: #60665e;
  font-size: 14px;
  letter-spacing: 0.07em;
  line-height: 2;
  text-align: center;
}

/* 説明文に入っている縦棒を消す */
.ichifuji-instagram p br + * {
  border: 0;
}

/* Instagram投稿一覧の外枠 */
.ichifuji-instagram .wp-block-embed,
.ichifuji-instagram .wp-block-html,
.ichifuji-instagram [class*="instagram-feed"],
.ichifuji-instagram [class*="sbi_"] {
  box-sizing: border-box;
  margin-top: 0 !important;
}

/* 投稿画像エリア */
.ichifuji-instagram img {
  display: block;
  transition:
    transform 0.4s ease,
    filter 0.4s ease;
}

/* 投稿画像ホバー */
.ichifuji-instagram a {
  overflow: hidden;
}

.ichifuji-instagram a:hover img {
  filter: brightness(1.04);
  transform: scale(1.025);
}

/* 投稿一覧を白いカード風に */
.ichifuji-instagram .sbi_photo_wrap,
.ichifuji-instagram .sbi_item,
.ichifuji-instagram figure {
  overflow: hidden;
  border-radius: 3px;
}

/* ボタンブロック */
.ichifuji-instagram .wp-block-buttons {
  display: flex;
  justify-content: center;
  margin-top: 34px !important;
  margin-bottom: 0 !important;
}

/* ボタン */
.ichifuji-instagram .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-width: 285px;
  padding: 16px 32px;
  border: 1px solid #67725e;
  border-radius: 100px;
  color: #ffffff !important;
  background: #67725e !important;
  font-family:
    Georgia,
    "Yu Mincho",
    "游明朝",
    serif;
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0.1em;
  text-decoration: none;
  transition:
    background-color 0.3s ease,
    box-shadow 0.3s ease,
    transform 0.3s ease;
}

.ichifuji-instagram .wp-block-button__link:hover {
  background: #55604e !important;
  box-shadow: 0 10px 24px rgba(75, 85, 69, 0.17);
  transform: translateY(-2px);
}

/* 葉っぱ風の飾り */
.ichifuji-instagram::before {
  content: "";
  position: absolute;
  top: 38px;
  left: 34px;
  width: 145px;
  height: 145px;
  opacity: 0.22;
  background:
    radial-gradient(
      ellipse at 25% 30%,
      transparent 0 38%,
      #aa8b6e 39% 40%,
      transparent 41%
    ),
    radial-gradient(
      ellipse at 55% 46%,
      transparent 0 35%,
      #aa8b6e 36% 37%,
      transparent 38%
    );
  transform: rotate(-20deg);
  pointer-events: none;
}

/* 小さなドット装飾 */
.ichifuji-instagram::after {
  content: "";
  position: absolute;
  right: 42px;
  bottom: 36px;
  width: 95px;
  height: 95px;
  opacity: 0.28;
  background-image:
    radial-gradient(circle, #b79272 1.1px, transparent 1.2px);
  background-size: 10px 10px;
  pointer-events: none;
}

/* タブレット */
@media screen and (max-width: 1024px) {
  .ichifuji-instagram {
    width: calc(100% - 30px);
    margin: 70px auto !important;
    padding: 70px 30px 58px !important;
  }

  .ichifuji-instagram::before {
    width: 110px;
    height: 110px;
  }
}

/* スマートフォン */
@media screen and (max-width: 767px) {
  .ichifuji-instagram {
    width: calc(100% - 24px);
    margin: 55px auto !important;
    padding: 55px 15px 46px !important;
    border-radius: 17px;
  }

  .ichifuji-instagram h2 {
    margin-bottom: 18px !important;
    font-size: 38px;
  }

  .ichifuji-instagram h2::before {
    margin-bottom: 8px;
    font-size: 9px;
    letter-spacing: 0.25em;
  }

  .ichifuji-instagram h2::after {
    width: 100px;
    margin-top: 14px;
  }

  .ichifuji-instagram p {
    margin-bottom: 25px !important;
    font-size: 13px;
    letter-spacing: 0.035em;
    line-height: 1.9;
  }

  .ichifuji-instagram .wp-block-buttons {
    margin-top: 27px !important;
  }

  .ichifuji-instagram .wp-block-button {
    width: 100%;
  }

  .ichifuji-instagram .wp-block-button__link {
    width: 100%;
    min-width: 0;
    max-width: 290px;
    padding: 15px 18px;
  }

  .ichifuji-instagram::before {
    top: 18px;
    left: 6px;
    width: 75px;
    height: 75px;
    opacity: 0.13;
  }

  .ichifuji-instagram::after {
    right: 8px;
    bottom: 10px;
    width: 65px;
    height: 65px;
    opacity: 0.18;
  }
}


/* ===================================
   Café Ichifuji ACCESS
=================================== */

.ichifuji-access {
  --ichifuji-bg: #faf8f4;
  --ichifuji-white: #fff;
  --ichifuji-text: #433d37;
  --ichifuji-sub: #877b6d;
  --ichifuji-line: #c8aa7a;

  color: var(--ichifuji-text);
  line-height: 1.9;
  margin-top: -50px;
}


/* ---------- INTRO ---------- */

.access-intro {
  text-align: center;
  padding: 20px 20px 45px;
}

.access-en,
.access-small-en {
  margin: 0;
  font-family: "Times New Roman", serif;
  letter-spacing: .22em;
  color: #a78b63;
}

.access-en {
  font-size: 12px;
}

.access-intro h2 {
  margin: 5px 0 12px;
  border-top: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
  font-family: "Times New Roman", "Yu Mincho", serif;
  font-size: clamp(34px, 5vw, 52px);
  font-weight: 400;
  letter-spacing: .08em;
}

.access-intro h2::before,
.access-intro h2::after {
  display: none !important;
  content: none !important;
}

.access-line {
  display: block;
  width: 55px;
  height: 1px;
  background: var(--ichifuji-line);
  margin: 22px auto 28px;
}

.access-lead {
  margin: 0;
  font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 14px;
  line-height: 2.2;
  letter-spacing: .08em;
}


/* ---------- MAP ---------- */

.access-map {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 25px;
}

.access-map iframe {
  display: block;
  width: 100%;
  height: 460px;
  filter: grayscale(15%) sepia(8%);
}


/* ---------- INFORMATION ---------- */

.access-info {
  max-width: 900px;
  margin: 0 auto;
  padding: 60px 25px 100px;
  text-align: center;
}

.access-small-en {
  font-size: 10px;
}

.access-info h3,
.access-station h3 {
  margin: 7px 0;
  font-family: "Times New Roman", "Yu Mincho", serif;
  font-weight: 400;
  font-size: 30px;
  letter-spacing: .08em;
}

.access-mini-line {
  display: block;
  width: 34px;
  height: 1px;
  margin: 20px auto 28px;
  background: var(--ichifuji-line);
}

.access-address {
  font-size: 14px;
}

.access-address p {
  margin-bottom: 25px;
}


/* ---------- MAP BUTTON ---------- */

.access-map-button {
  display: inline-block;
  padding: 12px 27px;
  border: 1px solid #b69a71;
  color: #594d40 !important;
  text-decoration: none !important;
  font-size: 11px;
  letter-spacing: .1em;
  transition: .3s ease;
}

.access-map-button:hover {
  background: #594d40;
  border-color: #594d40;
  color: #fff !important;
}


/* ---------- OPEN / CLOSED / TEL ---------- */

.access-details {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 65px;
  border-top: 1px solid #ddd4c8;
  border-bottom: 1px solid #ddd4c8;
}

.access-detail {
  padding: 35px 20px;
}

.access-detail + .access-detail {
  border-left: 1px solid #ddd4c8;
}

.detail-en {
  margin: 0 0 9px;
  font-family: "Times New Roman", serif;
  font-size: 10px;
  letter-spacing: .2em;
  color: #aa9068;
}

.detail-main {
  margin: 0;
  font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 17px;
  letter-spacing: .05em;
}

.detail-main a {
  color: inherit;
  text-decoration: none;
}

.detail-sub {
  margin: 7px 0 0;
  font-size: 11px;
  color: #958a7e;
}


/* ---------- STATION ---------- */

.access-station {
  max-width: 820px;
  margin-left: auto;
  margin-right: auto;
  padding: 90px 25px;
  background: var(--ichifuji-bg);
  text-align: center;
}

.access-station p:last-child {
  margin: 0;
  font-size: 13px;
  letter-spacing: .05em;
  line-height: 2;
}


/* ---------- MESSAGE ---------- */

.access-message {
  padding: 100px 25px 120px;
  text-align: center;
}

.access-message > p:nth-of-type(2) {
  margin: 25px 0;
  font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 14px;
  line-height: 2.2;
  letter-spacing: .08em;
}

.access-sign {
  display: block;
  margin-top: 35px;
  font-family: "Times New Roman", serif;
  font-style: italic;
  font-size: 19px;
  letter-spacing: .08em;
  color: #947c5c;
}


/* ---------- MOBILE ---------- */

@media (max-width: 700px) {

  .access-map {
    padding: 0 15px;
  }

  .access-map iframe {
    height: 340px;
  }

  .access-info {
    padding: 65px 22px 75px;
  }

  .access-details {
    display: block;
    margin-top: 50px;
  }

  .access-detail {
    padding: 27px 10px;
  }

  .access-detail + .access-detail {
    border-left: 0;
    border-top: 1px solid #ddd4c8;
  }

  .access-station {
    padding: 70px 22px;
  }

  .access-message {
    padding: 75px 22px 90px;
  }

}

/* =========================================================
   04. COMMON MENU COMPONENTS
   Dessert / Fruits Sandwich / Morning 共通
========================================================= */

/* ---------- HERO ---------- */
.dessert-hero,
.sandwich-hero,
.morning-hero {
  max-width: 900px;
  margin: 0 auto;
  padding: 65px 25px 80px;
  text-align: center;
}

.dessert-lead,
.sandwich-lead,
.morning-lead {
  margin: 0 0 28px;
  font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 17px;
  line-height: 2;
  letter-spacing: .08em;
}

.dessert-description,
.sandwich-description,
.morning-description {
  margin: 0 auto;
  color: #686159;
  font-size: 13px;
  line-height: 2.2;
  letter-spacing: .04em;
}

/* ---------- SECTION TITLE ---------- */
.parfait-section-title,
.sandwich-section-title,
.morning-section-title {
  display: flex;
  align-items: center;
  gap: 22px;
  max-width: 1100px;
  margin: 10px auto 35px;
  padding: 0 20px;
}

.parfait-section-title::before,
.parfait-section-title::after,
.sandwich-section-title::before,
.sandwich-section-title::after,
.morning-section-title::before,
.morning-section-title::after {
  content: "";
  flex: 1;
  height: 1px;
  background: #ddd3c6;
}

.parfait-section-title span,
.sandwich-section-title span,
.morning-section-title span {
  flex-shrink: 0;
  color: #b08b62;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 11px;
  letter-spacing: .24em;
}

/* ---------- PRODUCT GRID ---------- */
.parfait-grid,
.dessert-grid,
.sandwich-grid,
.morning-grid {
  gap: 26px !important;
  max-width: 1100px;
  margin: 0 auto 32px !important;
}

.parfait-grid .wp-block-column,
.dessert-grid .wp-block-column,
.sandwich-grid .wp-block-column,
.morning-grid .wp-block-column {
  position: relative;
  overflow: hidden;
  margin: 0 !important;
  padding-bottom: 0 !important;
  border: 1px solid #ebe3d8;
  background: #fffdf9;
}

.parfait-grid .wp-block-image,
.dessert-grid .wp-block-image,
.sandwich-grid .wp-block-image,
.morning-grid .wp-block-image {
  margin: 0 0 20px !important;
}

/* ---------- PRODUCT CARD ---------- */
.parfait-card-copy,
.dessert-card-copy,
.sandwich-card-copy,
.morning-grid .morning-card-copy {
  box-sizing: border-box;
  padding: 5px 28px 32px;
  text-align: center;
}

.parfait-card-label,
.dessert-card-label,
.sandwich-card-label,
.morning-grid .morning-card-label,
.morning-kids-copy .morning-card-label {
  margin-bottom: 9px;
  color: #b08b62;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 9px;
  font-style: normal !important;
  font-weight: 400;
  letter-spacing: .22em;
  line-height: 1.5;
}

.parfait-card-name,
.dessert-card-name,
.sandwich-card-name,
.morning-grid .morning-card-name,
.morning-kids-copy .morning-card-name {
  margin: 0;
  color: #403a35;
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif !important;
  font-size: 18px;
  font-style: normal !important;
  font-weight: 500;
  letter-spacing: .065em;
  line-height: 1.7;
}

.parfait-card-price,
.dessert-card-price,
.sandwich-card-price,
.morning-grid .morning-card-price,
.morning-kids-copy .morning-card-price {
  margin-top: 4px;
  color: #514a43;
  font-family: Georgia, "Times New Roman", "Yu Mincho", serif !important;
  font-size: 15px;
  font-style: normal !important;
  font-weight: 400;
  letter-spacing: .04em;
  line-height: 1.7;
}

.parfait-card-price span,
.dessert-card-price span,
.sandwich-card-price span,
.morning-grid .morning-card-price span,
.morning-kids-copy .morning-card-price span {
  color: #948a7f;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif !important;
  font-size: 10px;
  font-style: normal !important;
  font-weight: 400;
  letter-spacing: .03em;
}

.parfait-card-line,
.dessert-card-line,
.sandwich-card-line,
.morning-grid .morning-card-line,
.morning-kids-copy .morning-card-line {
  display: block;
  width: 34px;
  height: 1px;
  margin: 17px auto 18px;
  background: #c8aa7a;
}

.parfait-card-description,
.dessert-card-description,
.sandwich-card-description,
.morning-grid .morning-card-description,
.morning-kids-copy .morning-card-description {
  color: #6f6962;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "YuGothic", sans-serif !important;
  font-size: 12px;
  font-style: normal !important;
  font-weight: 300;
  letter-spacing: .045em;
  line-height: 2.05;
  text-align: left;
}

/* =========================================================
   04. DESSERT MENU
========================================================= */

.ichifuji-dessert {
  --dessert-bg: #faf8f4;
  --dessert-text: #433d37;
  --dessert-sub: #8b8074;
  --dessert-gold: #b69a71;
  color: var(--dessert-text);
}

/* ---------- PARFAIT INTRO ---------- */
.dessert-label {
  margin: 0 0 7px;
  color: var(--dessert-gold);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 10px;
  letter-spacing: .28em;
}

.dessert-hero h2,
.dessert-other-hero h2 {
  margin: 0;
  border: 0 !important;
  color: var(--dessert-text);
  font-family: Georgia, "Times New Roman", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: clamp(38px, 5vw, 54px);
  font-weight: 400;
  letter-spacing: .06em;
  line-height: 1.3;
}

.dessert-hero h2::before,
.dessert-hero h2::after,
.dessert-other-hero h2::before,
.dessert-other-hero h2::after {
  display: none !important;
  content: none !important;
}

.dessert-time {
  margin: 10px 0 0;
  color: var(--dessert-sub);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 11px;
  letter-spacing: .16em;
}

.dessert-line {
  display: block;
  width: 45px;
  height: 1px;
  margin: 25px auto 30px;
  background: var(--dessert-gold);
}
.dessert-note {
  display: inline-block;
  margin: 32px 0 0;
  padding: 10px 18px;
  border-top: 1px solid #ddd3c6;
  border-bottom: 1px solid #ddd3c6;
  color: #90795e;
  font-size: 10px;
  letter-spacing: .12em;
}

/* ---------- SECTION TITLE ---------- */
/* ---------- PARFAIT GRID ---------- */
.dessert-grid {
  margin-bottom: 40px !important;
}
.parfait-grid .wp-block-image img,
.dessert-grid .wp-block-image img {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

.parfait-grid .wp-block-image img {
  transition: transform .45s ease, filter .45s ease;
}

.parfait-grid .wp-block-column:hover img {
  filter: brightness(1.025);
  transform: scale(1.015);
}

/* ---------- PARFAIT CARD ---------- */
/* ---------- FRUITS & OTHER ---------- */

.ichifuji-dessert-other {
  color: #433d37;
}

.dessert-other-hero {
  max-width: 900px;
  margin: 90px auto 55px;
  padding: 0 25px;
  text-align: center;
}

.dessert-other-hero h2 {
  font-size: clamp(36px, 5vw, 50px);
}

.dessert-other-hero .dessert-label {
  margin-bottom: 7px;
}

.dessert-other-hero .dessert-time {
  margin-top: 10px;
}

.dessert-other-hero .dessert-line {
  margin-top: 25px;
  margin-bottom: 30px;
}

.dessert-other-hero .dessert-lead {
  margin-bottom: 25px;
}

.dessert-other-hero .dessert-description {
  margin: 0 auto;
}

/* ---------- DESSERT MOBILE ---------- */

@media screen and (max-width: 767px) {
  .dessert-hero {
    padding: 45px 22px 60px;
  }

  .dessert-hero h2 {
    font-size: 39px;
  }

  .dessert-lead {
    font-size: 15px;
  }

  .dessert-description br {
    display: none;
  }

  .parfait-section-title {
    gap: 13px;
    margin-bottom: 25px;
  }

  .parfait-section-title span {
    font-size: 9px;
    letter-spacing: .18em;
  }

  .parfait-grid {
    gap: 22px !important;
    margin-bottom: 22px !important;
  }

  .parfait-card-copy,
  .dessert-card-copy {
    padding: 4px 20px 28px;
  }

  .parfait-card-description,
  .dessert-card-description {
    font-size: 12.5px;
    line-height: 2;
  }

  .dessert-other-hero {
    margin-top: 70px;
    margin-bottom: 40px;
    padding: 0 22px;
  }

  .dessert-other-hero h2 {
    font-size: 38px;
  }

  .dessert-other-hero .dessert-description br {
    display: none;
  }
}

/* =========================================================
   05. FRUITS SANDWICH
========================================================= */

.ichifuji-sandwich {
  --sandwich-text: #433d37;
  --sandwich-sub: #8b8074;
  --sandwich-gold: #b69a71;
  color: var(--sandwich-text);
}

/* ---------- INTRO ---------- */
.sandwich-label {
  margin: 0 0 7px;
  color: #b69a71;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 10px;
  letter-spacing: .28em;
}

.sandwich-hero h2 {
  margin: 0;
  border: 0 !important;
  color: #433d37;
  font-family: Georgia, "Times New Roman", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: clamp(38px, 5vw, 54px);
  font-weight: 400;
  letter-spacing: .06em;
  line-height: 1.3;
}

.sandwich-hero h2::before,
.sandwich-hero h2::after {
  display: none !important;
  content: none !important;
}

.sandwich-time {
  margin: 10px 0 0;
  color: #8b8074;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 11px;
  letter-spacing: .16em;
}

.sandwich-line {
  display: block;
  width: 45px;
  height: 1px;
  margin: 25px auto 30px;
  background: #b69a71;
}
/* ---------- PRODUCT GRID ---------- */
.sandwich-grid .wp-block-image img {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  transition: transform .45s ease, filter .45s ease;
}

.sandwich-grid .wp-block-column:hover img {
  filter: brightness(1.025);
  transform: scale(1.015);
}

/* ---------- PRODUCT CARD ---------- */
/* ---------- MOBILE ---------- */

@media screen and (max-width: 767px) {
  .sandwich-hero {
    padding: 45px 22px 60px;
  }

  .sandwich-hero h2 {
    font-size: 39px;
  }

  .sandwich-lead {
    font-size: 15px;
  }

  .sandwich-description br {
    display: none;
  }

  .sandwich-grid {
    gap: 22px !important;
    margin-bottom: 22px !important;
  }

  .sandwich-card-copy {
    padding: 4px 20px 28px;
  }

  .sandwich-card-description {
    font-size: 12.5px;
    line-height: 2;
  }
}

/* =========================================================
   06. TOP PAGE / NAVIGATION
========================================================= */

/* 店舗紹介 → Instagram の余白調整 */
.ichifuji-information {
  margin-bottom: 30px !important;
}

.ichifuji-instagram {
  margin-top: 40px !important;
}

/* トップページの大ウィジェット領域の上下余白を調整 */
.top-wide-contents {
  margin-top: 40px !important;
  margin-bottom: 40px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* ========================================
   TOP PAGE
   空のウィジェットエリアを非表示
======================================== */

#main > .row:has(> .third:empty),
#main > .row:has(> .half:empty) {
  display: none !important;
}

/* ========================================
   PCでは通常ナビを表示
   スマホではハンバーガーのまま
======================================== */

/* PC */
@media screen and (min-width: 768px) {

  #nav {
    display: block !important;
    width: 100% !important;
    max-width: 960px;
    margin: 0 auto 35px !important;
    padding: 0 !important;
    text-align: center;
  }

  #nav .nav-menu {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 0;
  }

  #nav .nav-menu li {
    display: inline-block;
    margin: 0;
  }

  #nav .nav-menu li a {
    display: block;
    padding: 10px 18px;
    color: #4a463f;
    background: transparent;
    font-family:
      Georgia,
      "Yu Mincho",
      "Hiragino Mincho ProN",
      serif;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: .08em;
    text-decoration: none;
    transition: color .25s ease;
  }

  #nav .nav-menu li a:hover {
    color: #b08b62;
    background: transparent;
  }

  /* PCではハンバーガーを隠す */
  .toggle {
    display: none !important;
  }
}


/* スマホは今まで通り */
@media screen and (max-width: 767px) {

  #nav {
    display: none;
  }

  .toggle {
    display: block;
  }
}

/* =========================================================
   FRUITS SANDWICH - SECTION TITLE
========================================================= */
@media screen and (max-width: 767px) {
  .sandwich-section-title {
    gap: 13px;
    margin-bottom: 25px;
  }

  .sandwich-section-title span {
    font-size: 9px;
    letter-spacing: .18em;
  }
}

/* =========================================================
   06. MORNING MENU
========================================================= */

.ichifuji-morning {
  --morning-text: #433d37;
  --morning-sub: #8b8074;
  --morning-gold: #b69a71;

  color: var(--morning-text);
}


/* ---------- INTRO ---------- */
.morning-hero h2 {
  margin: 0;
  border: 0 !important;
  color: var(--morning-text);
  font-family:
    Georgia,
    "Times New Roman",
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: clamp(38px, 5vw, 54px);
  font-weight: 400;
  letter-spacing: .06em;
  line-height: 1.3;
}

.morning-hero h2::before,
.morning-hero h2::after {
  display: none !important;
  content: none !important;
}

.morning-time {
  margin: 10px 0 0;
  color: var(--morning-sub);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 11px;
  letter-spacing: .16em;
}

.morning-line {
  display: block;
  width: 45px;
  height: 1px;
  margin: 25px auto 30px;
  background: var(--morning-gold);
}
.morning-note {
  display: inline-block;
  margin: 32px 0 0;
  padding: 10px 18px;
  border-top: 1px solid #ddd3c6;
  border-bottom: 1px solid #ddd3c6;
  color: #90795e;
  font-size: 10px;
  letter-spacing: .12em;
}


/* ---------- SECTION TITLE ---------- */
/* ---------- PRODUCT GRID ---------- */
.morning-grid .wp-block-image img {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  transition:
    transform .45s ease,
    filter .45s ease;
}

.morning-grid .wp-block-column:hover img {
  filter: brightness(1.025);
  transform: scale(1.015);
}


/* ---------- CARD COPY ---------- */
.morning-kids-card {
  display: grid;
  grid-template-columns: 1fr 1fr;
  max-width: 760px;
  margin: 0 auto;
  overflow: hidden;
  border: 1px solid #ebe3d8;
  background: #fffdf9;
}

.morning-kids-card .wp-block-image {
  margin: 0 !important;
}

.morning-kids-card .wp-block-image img {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

.morning-kids-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 35px;
}

@media screen and (max-width: 767px) {
  .morning-kids-card {
    grid-template-columns: 1fr;
    margin: 0 20px;
  }

  .morning-kids-copy {
    padding: 28px 22px;
  }
}
/* ---------- TABLET ---------- */

@media screen and (max-width: 900px) {
  .morning-grid {
    gap: 18px !important;
  }
}


/* ---------- MOBILE ---------- */

@media screen and (max-width: 767px) {

  .morning-hero {
    padding: 45px 22px 60px;
  }

  .morning-hero h2 {
    font-size: 39px;
  }

  .morning-lead {
    font-size: 15px;
  }

  .morning-description br {
    display: none;
  }

  .morning-section-title {
    gap: 13px;
    margin-bottom: 25px;
  }

  .morning-section-title span {
    font-size: 9px;
    letter-spacing: .18em;
  }

  .morning-grid {
    gap: 22px !important;
    margin-bottom: 22px !important;
  }

  .morning-grid .morning-card-copy {
    padding: 4px 20px 28px;
  }

  .morning-grid .morning-card-name {
    font-size: 18px;
  }

  .morning-grid .morning-card-price {
    font-size: 15px;
  }

  .morning-grid .morning-card-description {
    font-size: 12.5px;
    line-height: 2;
  }
}

/* =========================================================
   MORNING - SET DRINK
========================================================= */

.morning-drink-box {
  box-sizing: border-box;
  max-width: 760px;
  margin: 0 auto 42px;
  padding: 25px 30px 23px;
  border-top: 1px solid #ddd3c6;
  border-bottom: 1px solid #ddd3c6;
  text-align: center;
}

.morning-drink-label {
  margin-bottom: 9px;
  color: #b08b62;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 9px;
  letter-spacing: .25em;
}

.morning-drink-title {
  margin: 0 0 18px;
  color: #4b443e;
  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: 14px;
  letter-spacing: .07em;
}

.morning-drink-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 25px;
  color: #665f58;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 11px;
  letter-spacing: .08em;
}

.morning-drink-list small {
  color: #9a9086;
  font-size: 9px;
}

.morning-drink-note {
  margin: 17px 0 0;
  color: #948a7f;
  font-size: 10px;
  letter-spacing: .04em;
}


/* MOBILE */

@media screen and (max-width: 767px) {

  .morning-drink-box {
    margin: 0 20px 32px;
    padding: 22px 15px 20px;
  }

  .morning-drink-list {
    gap: 9px 18px;
    line-height: 1.8;
  }

}

.morning-addon {
  max-width: 700px;
  margin: 0 auto 90px;
  padding: 32px 35px;
  border: 1px solid #ddd3c6;
  background: #fffdf9;
  text-align: center;
}

.morning-addon-label {
  margin-bottom: 10px;
  color: #b08b62;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 9px;
  letter-spacing: .24em;
}

.morning-addon-title {
  margin: 0 0 8px;
  color: #4b443e;
  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: .07em;
}

.morning-addon-text {
  margin: 0 0 25px;
  color: #82786f;
  font-size: 11px;
  line-height: 1.9;
}

.morning-addon-items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border-top: 1px solid #ebe3d8;
  border-bottom: 1px solid #ebe3d8;
}

.morning-addon-item {
  padding: 22px 15px;
}

.morning-addon-item + .morning-addon-item {
  border-left: 1px solid #ebe3d8;
}

.morning-addon-item span {
  display: block;
  margin-bottom: 7px;
  color: #b08b62;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 9px;
  letter-spacing: .18em;
}

.morning-addon-item strong {
  display: block;
  color: #403a35;
  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: 17px;
  font-weight: 500;
}

.morning-addon-item p {
  margin: 7px 0 0;
  color: #514a43;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 14px;
}

.morning-addon-item small {
  color: #948a7f;
  font-size: 10px;
}

.morning-addon-note {
  margin: 18px 0 0;
  color: #9a7563;
  font-size: 10px;
  letter-spacing: .04em;
}

@media screen and (max-width: 767px) {

  .morning-addon {
    margin: 0 20px 65px;
    padding: 28px 20px;
  }

  .morning-addon-items {
    grid-template-columns: 1fr;
  }

  .morning-addon-item + .morning-addon-item {
    border-left: 0;
    border-top: 1px solid #ebe3d8;
  }
}

/* ===== FOR KIDS 見出し・強制調整 ===== */

.morning-subsection-title {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 22px !important;

  width: 100% !important;
  max-width: 900px !important;

  margin: 70px auto 35px !important;
  padding: 0 20px !important;

  box-sizing: border-box !important;
}

.morning-subsection-title::before,
.morning-subsection-title::after {
  content: "" !important;
  display: block !important;
  flex: 1 1 auto !important;

  height: 1px !important;
  background: #ddd3c6 !important;
}

.morning-subsection-title span {
  display: block !important;
  flex: 0 0 auto !important;

  margin: 0 !important;

  color: #b08b62 !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 10px !important;
  font-weight: 400 !important;
  letter-spacing: .24em !important;
  line-height: 1 !important;
}

/* ========================================
   FOOD MENU
   HERO
======================================== */

.food-hero {
  box-sizing: border-box;
  width: min(1080px, calc(100% - 40px));
  margin: 70px auto 85px;
  text-align: center;
}

/* FOOD MENU */
.food-hero h2 {
  margin: 0;
  color: #433d37;
  font-family:
    Georgia,
    "Times New Roman",
    "Yu Mincho",
    "游明朝",
    serif;
  font-size: clamp(38px, 5vw, 54px);
  font-weight: 400;
  letter-spacing: .12em;
  line-height: 1.25;
}

/* 営業時間 */
.food-time {
  margin: 18px 0 0;
  color: #b08b62;
  font-family:
    Georgia,
    "Times New Roman",
    serif;
  font-size: 15px;
  letter-spacing: .12em;
  line-height: 1.7;
}

/* ゴールドの短いライン */
.food-line {
  display: block;
  width: 48px;
  height: 1px;
  margin: 18px auto 30px;
  background: #c8aa7a;
}

/* 最初の一文 */
.food-lead {
  margin: 0;
  color: #4b443e;
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: .055em;
  line-height: 2;
}

/* 説明文 */
.food-description {
  max-width: 700px;
  margin: 10px auto 0;
  color: #6f6962;
  font-family:
    "Hiragino Sans",
    "Hiragino Kaku Gothic ProN",
    "Yu Gothic",
    sans-serif;
  font-size: 13px;
  font-weight: 300;
  letter-spacing: .045em;
  line-height: 2.1;
}


/* =========================
   FOOD HERO - MOBILE
========================= */

@media screen and (max-width: 767px) {

  .food-hero {
    width: min(100% - 28px, 1080px);
    margin: 48px auto 52px;
  }

  .food-hero h2 {
    font-size: 35px;
    letter-spacing: .09em;
  }

  .food-time {
    margin-top: 14px;
    font-size: 13px;
  }

  .food-line {
    width: 40px;
    margin: 15px auto 24px;
  }

  .food-lead {
    font-size: 14px;
    line-height: 1.9;
  }

  .food-description {
    max-width: 520px;
    margin-top: 8px;
    font-size: 12px;
    line-height: 2;
  }
}

/* ========================================
   FOOD MENU
   SECTION TITLE
======================================== */

.food-section-title {
  display: flex;
  align-items: center;
  gap: 24px;
  width: min(1080px, calc(100% - 40px));
  margin: 0 auto 14px;
  color: #9e775e;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 15px;
  font-weight: 400;
  letter-spacing: .28em;
  line-height: 1.5;
  text-align: center;
}

.food-section-title::before,
.food-section-title::after {
  content: "";
  flex: 1;
  height: 1px;
  background: #d8c5ad;
}

.food-section-title span {
  flex: 0 0 auto;
}


/* ========================================
   FOOD MENU
   SECTION NOTE
======================================== */

.food-section-note {
  width: min(760px, calc(100% - 40px));
  margin: 0 auto 32px;
  color: #6f6962;
  font-family:
    "Hiragino Sans",
    "Hiragino Kaku Gothic ProN",
    "Yu Gothic",
    sans-serif;
  font-size: 12px;
  font-weight: 300;
  letter-spacing: .045em;
  line-height: 2;
  text-align: center;
}


/* ========================================
   FOOD MENU
   GRID
======================================== */

.food-grid {
  gap: 26px !important;
  max-width: 1100px;
  margin: 0 auto 70px !important;
}

/* 各商品カード */
.food-grid > .wp-block-column {
  position: relative;
  overflow: hidden;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid #ebe3d8;
  background: #fffdf9;
}

/* 画像の余白を消す */
.food-grid .wp-block-image {
  margin: 0 !important;
}

/* 商品画像 */
.food-grid .wp-block-image img {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  transition:
    transform .45s ease,
    filter .45s ease;
}

/* PCのみ軽いホバー */
.food-grid > .wp-block-column:hover img {
  filter: brightness(1.025);
  transform: scale(1.015);
}


/* ========================================
   FOOD MENU
   CARD COPY
======================================== */

.food-card-copy {
  box-sizing: border-box;
  padding: 22px 26px 30px;
}

/* 商品名 */
.food-card-name {
  margin: 0;
  color: #403a35;
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    serif !important;
  font-size: 18px;
  font-style: normal !important;
  font-weight: 500;
  letter-spacing: .065em;
  line-height: 1.7;
}

/* 価格 */
.food-card-price {
  margin-top: 4px;
  color: #514a43;
  font-family:
    Georgia,
    "Times New Roman",
    "Yu Mincho",
    serif !important;
  font-size: 15px;
  font-style: normal !important;
  font-weight: 400;
  letter-spacing: .04em;
  line-height: 1.7;
}

.food-card-price span {
  color: #948a7f;
  font-family:
    "Hiragino Sans",
    "Hiragino Kaku Gothic ProN",
    "Yu Gothic",
    sans-serif !important;
  font-size: 10px;
  font-style: normal !important;
  font-weight: 400;
  letter-spacing: .03em;
}

/* 商品名と説明の間の短い線 */
.food-card-line {
  display: block;
  width: 34px;
  height: 1px;
  margin: 17px 0 18px;
  background: #c8aa7a;
}

/* 説明文 */
.food-card-description {
  margin: 0;
  color: #6f6962;
  font-family:
    "Hiragino Sans",
    "Hiragino Kaku Gothic ProN",
    "Yu Gothic",
    "YuGothic",
    sans-serif !important;
  font-size: 12px;
  font-style: normal !important;
  font-weight: 300;
  letter-spacing: .045em;
  line-height: 2.05;
  text-align: left;
}


/* ========================================
   FOOD MENU
   MOBILE
======================================== */

@media screen and (max-width: 767px) {

  .food-section-title {
    gap: 14px;
    width: min(100% - 28px, 1080px);
    margin-bottom: 11px;
    font-size: 13px;
    letter-spacing: .22em;
  }

  .food-section-note {
    width: calc(100% - 40px);
    margin-bottom: 24px;
    font-size: 11px;
    line-height: 1.9;
  }

  .food-grid {
    gap: 22px !important;
    margin: 0 20px 55px !important;
  }

  .food-card-copy {
    padding: 18px 20px 26px;
  }

  .food-card-name {
    font-size: 17px;
  }

  .food-card-description {
    font-size: 11.5px;
    line-height: 2;
  }
}

/* ========================================
   FOOD MENU
   BAKED SWEETS / FEATURE CARD
======================================== */

.food-feature {
  box-sizing: border-box;
  width: min(100% - 40px, 1080px);
  max-width: 1080px;
  margin: 0 auto 75px !important;
  overflow: hidden;
  border: 1px solid #ebe3d8;
  background: #fffdf9;
}


/* ========================================
   IMAGE
======================================== */

.food-feature .wp-block-media-text__media {
  height: 100%;
}

.food-feature .wp-block-media-text__media img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 390px;
  object-fit: cover;
}


/* ========================================
   TEXT AREA
======================================== */

.food-feature .wp-block-media-text__content {
  box-sizing: border-box;
  padding: 40px 42px !important;
}

/* 商品情報全体 */
.food-feature .food-feature-copy {
  width: 100%;
  max-width: 360px;
  margin: 0 auto;
}


/* ========================================
   MOBILE
======================================== */

@media screen and (max-width: 767px) {

  .food-feature {
    width: calc(100% - 40px);
    margin: 0 20px 55px !important;
  }

  /* スマホでは画像→商品情報 */
  .food-feature.wp-block-media-text {
    display: block;
  }

  .food-feature .wp-block-media-text__media {
    width: 100%;
    height: auto;
  }

  .food-feature .wp-block-media-text__media img {
    width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: 4 / 3;
    object-fit: cover;
  }

  .food-feature .wp-block-media-text__content {
    padding: 25px 22px 30px !important;
  }

  .food-feature .food-feature-copy {
    max-width: none;
    margin: 0;
  }
}

/* ========================================
   FOOD MENU
   INFORMATION
======================================== */

.food-info-box {
  box-sizing: border-box;
  width: min(760px, calc(100% - 40px));
  margin: 10px auto 90px;
  padding: 38px 45px 36px;
  border: 1px solid #e5d7c5;
  background: #fdfaf5;
  text-align: center;
}

/* メイン案内 */
.food-info-main {
  margin: 0;
  color: #4b443e;
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: .055em;
  line-height: 1.9;
}

/* 補足 */
.food-info-sub {
  margin: 6px 0 0;
  color: #81786f;
  font-family:
    "Hiragino Sans",
    "Hiragino Kaku Gothic ProN",
    "Yu Gothic",
    sans-serif;
  font-size: 11px;
  font-weight: 300;
  letter-spacing: .045em;
  line-height: 1.9;
}

/* 真ん中の飾り線 */
.food-info-line {
  display: block;
  width: 36px;
  height: 1px;
  margin: 22px auto 20px;
  background: #c8aa7a;
}

/* ドリンク100円引き */
.food-info-drink {
  margin: 0;
  color: #9e775e;
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: .07em;
  line-height: 1.8;
}

.food-info-drink strong {
  font-size: 17px;
  font-weight: 500;
}

/* PCでは改行しない */
.food-info-sp {
  display: none;
}


/* =========================
   MOBILE
========================= */

@media screen and (max-width: 767px) {

  .food-info-box {
    width: calc(100% - 40px);
    margin: 5px auto 65px;
    padding: 30px 22px 28px;
  }

  .food-info-main {
    font-size: 13px;
    line-height: 1.9;
  }

  .food-info-sub {
    margin-top: 7px;
    font-size: 10.5px;
  }

  .food-info-line {
    margin: 19px auto 18px;
  }

  .food-info-drink {
    font-size: 13px;
  }

  .food-info-drink strong {
    font-size: 16px;
  }

  .food-info-sp {
    display: block;
  }
}

/* ========================================
   ACCESS
   PARKING / BICYCLE NOTICE
======================================== */

.access-parking-notice {
  box-sizing: border-box;
  width: min(760px, calc(100% - 40px));
  margin: 50px auto 65px;
  padding: 38px 45px 40px;
  border: 1px solid #e3d5c2;
  background: #fdfaf5;
  text-align: center;
}

/* 英字ラベル */
.access-parking-label {
  margin: 0 0 8px;
  color: #a58160;
  font-family:
    Georgia,
    "Times New Roman",
    serif;
  font-size: 10px;
  font-weight: 400;
  letter-spacing: .25em;
  line-height: 1.5;
}

/* 見出し */
.access-parking-title {
  margin: 0;
  padding: 0 !important;
  border: 0 !important;
  color: #474039;
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: .07em;
  line-height: 1.7;
}

/* 飾り線 */
.access-parking-line {
  display: block;
  width: 36px;
  height: 1px;
  margin: 18px auto 20px;
  background: #c8aa7a;
}

/* 本文 */
.access-parking-text {
  margin: 0;
  color: #716960;
  font-family:
    "Hiragino Sans",
    "Hiragino Kaku Gothic ProN",
    "Yu Gothic",
    sans-serif;
  font-size: 12px;
  font-weight: 300;
  letter-spacing: .045em;
  line-height: 2.1;
}

/* 「ここには停めないで」の部分 */
.access-parking-text strong {
  color: #574d44;
  font-weight: 600;
}


/* =========================
   MOBILE
========================= */

@media screen and (max-width: 767px) {

  .access-parking-notice {
    width: calc(100% - 40px);
    margin: 38px auto 50px;
    padding: 30px 22px 32px;
  }

  .access-parking-label {
    font-size: 9px;
  }

  .access-parking-title {
    font-size: 16px;
  }

  .access-parking-line {
    margin: 16px auto 18px;
  }

  .access-parking-text {
    font-size: 11px;
    line-height: 2;
  }
}

/* 駐車場案内の見出しに既存の装飾を適用させない */
.access-parking-title::before,
.access-parking-title::after {
  display: none !important;
  content: none !important;
}

/* ========================================
   MENU HUB
   CATEGORY CARDS
======================================== */

.menu-hub-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 26px;
  width: min(1080px, calc(100% - 40px));
  margin: 0 auto 90px;
}

.menu-hub-card {
  position: relative;
  display: flex;
  align-items: flex-end;
  min-height: 290px;
  overflow: hidden;
  border: 1px solid #e8dfd4;
  background: #fdfaf5;
  color: inherit;
  text-decoration: none !important;
  transition:
    transform .3s ease,
    box-shadow .3s ease;
}

.menu-hub-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(70, 60, 50, .06);
}

.menu-hub-card-copy {
  box-sizing: border-box;
  width: 100%;
  padding: 34px 36px 36px;
}

.menu-hub-card-label {
  margin: 0 0 10px;
  color: #a17c5d;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 11px;
  letter-spacing: .24em;
}

.menu-hub-card h3 {
  margin: 0;
  color: #433d37;
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: 22px;
  font-weight: 500;
  letter-spacing: .06em;
  line-height: 1.6;
}

.menu-hub-card-copy > p:not(.menu-hub-card-label) {
  margin: 10px 0 26px;
  color: #756d65;
  font-size: 12px;
  line-height: 1.9;
}

.menu-hub-card-copy > span {
  display: inline-block;
  padding-bottom: 4px;
  border-bottom: 1px solid #c8aa7a;
  color: #9e775e;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 10px;
  letter-spacing: .18em;
}

.menu-hub-card-wide {
  grid-column: 1 / -1;
  min-height: 220px;
}

@media screen and (max-width: 767px) {

  .menu-hub-grid {
    grid-template-columns: 1fr;
    gap: 18px;
    width: calc(100% - 40px);
    margin-bottom: 55px;
  }

  .menu-hub-card,
  .menu-hub-card-wide {
    grid-column: auto;
    min-height: 220px;
  }

  .menu-hub-card-copy {
    padding: 28px 24px 30px;
  }

  .menu-hub-card h3 {
    font-size: 19px;
  }
}

/* ========================================
   MENU HUB
   HERO
======================================== */

.menu-hub-hero {
  box-sizing: border-box;
  width: min(1080px, calc(100% - 40px));
  margin: 65px auto 70px;
  text-align: center;
}

/* 小さい英字 */
.menu-hub-label {
  margin: 0 0 14px;
  color: #9e775e;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 10px;
  font-weight: 400;
  letter-spacing: .28em;
  line-height: 1.5;
}

/* Café Ichifuji Menu */
.menu-hub-hero h2 {
  margin: 0;
  padding: 0;
  border: 0;
  color: #433d37;
  font-family:
    Georgia,
    "Times New Roman",
    "Yu Mincho",
    "游明朝",
    serif;
  font-size: clamp(36px, 5vw, 50px);
  font-weight: 400;
  letter-spacing: .08em;
  line-height: 1.3;
}

/* テーマ側の見出し装飾を消す */
.menu-hub-hero h2::before,
.menu-hub-hero h2::after {
  display: none !important;
  content: none !important;
}

/* ゴールドの短い線 */
.menu-hub-line {
  display: block;
  width: 46px;
  height: 1px;
  margin: 22px auto 28px;
  background: #c8aa7a;
}

.menu-hub-lead {
  margin: 0;
  color: #4b443e;
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: .055em;
  line-height: 2;
}

.menu-hub-description {
  max-width: 680px;
  margin: 9px auto 0;
  color: #6f6962;
  font-family:
    "Hiragino Sans",
    "Hiragino Kaku Gothic ProN",
    "Yu Gothic",
    sans-serif;
  font-size: 12px;
  font-weight: 300;
  letter-spacing: .045em;
  line-height: 2;
}

@media screen and (max-width: 767px) {

  .menu-hub-hero {
    width: calc(100% - 40px);
    margin: 48px auto 55px;
  }

  .menu-hub-hero h2 {
    font-size: 34px;
  }

  .menu-hub-lead {
    font-size: 14px;
  }

  .menu-hub-description {
    font-size: 11.5px;
  }
}
/* ========================================
   MENUページ
   自動表示される子ページカードを非表示
======================================== */

.page-id-41 .childPage_list_box {
  display: none !important;
}

/* ========================================
   DRINK MENU
   COMPLETE CSS
======================================== */


/* ========================================
   01. HERO
======================================== */

.drink-hero {
  box-sizing: border-box;
  width: min(1080px, calc(100% - 40px));
  margin: 65px auto 68px;
  text-align: center;
}

.drink-hero-label {
  margin: 0 0 12px;
  color: #9e775e;
  font-family:
    Georgia,
    "Times New Roman",
    serif;
  font-size: 10px;
  font-weight: 400;
  letter-spacing: .28em;
  line-height: 1.5;
}

.drink-hero h2 {
  margin: 0;
  padding: 0;
  border: 0;
  color: #433d37;
  font-family:
    Georgia,
    "Times New Roman",
    "Yu Mincho",
    "游明朝",
    serif;
  font-size: clamp(38px, 5vw, 54px);
  font-weight: 400;
  letter-spacing: .1em;
  line-height: 1.25;
}

/* テーマ標準の見出し装飾を解除 */
.drink-hero h2::before,
.drink-hero h2::after {
  display: none !important;
  content: none !important;
}

.drink-time {
  margin: 15px 0 0;
  color: #b08b62;
  font-family:
    Georgia,
    "Times New Roman",
    serif;
  font-size: 13px;
  letter-spacing: .1em;
  line-height: 1.7;
}

.drink-hero-line {
  display: block;
  width: 44px;
  height: 1px;
  margin: 20px auto 27px;
  background: #c8aa7a;
}

.drink-hero-lead {
  margin: 0;
  color: #4b443e;
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: .055em;
  line-height: 2;
}

.drink-hero-description {
  max-width: 680px;
  margin: 9px auto 0;
  color: #6f6962;
  font-family:
    "Hiragino Sans",
    "Hiragino Kaku Gothic ProN",
    "Yu Gothic",
    sans-serif;
  font-size: 12px;
  font-weight: 300;
  letter-spacing: .045em;
  line-height: 2.1;
}


/* ========================================
   02. DRINK SECTION
======================================== */

.drink-section {
  box-sizing: border-box;
  width: min(820px, calc(100% - 40px));
  margin: 0 auto 70px;
}


/* ========================================
   03. SECTION TITLE
   ─── COFFEE ───
       コーヒー
======================================== */

.drink-section-heading {
  display: flex;
  align-items: center;
  gap: 22px;
  margin-bottom: 30px;
  text-align: center;
}

.drink-section-heading > span {
  flex: 1;
  height: 1px;
  background: #d8c5ad;
}

.drink-section-heading > div {
  flex: 0 0 auto;
}

.drink-section-heading p {
  margin: 0;
  color: #9e775e;
  font-family:
    Georgia,
    "Times New Roman",
    serif;
  font-size: 15px;
  font-weight: 400;
  letter-spacing: .24em;
  line-height: 1.4;
}

.drink-section-heading h3 {
  margin: 5px 0 0;
  padding: 0;
  border: 0;
  color: #4b443e;
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: .12em;
  line-height: 1.6;
}

/* テーマ標準のh3装飾を解除 */
.drink-section-heading h3::before,
.drink-section-heading h3::after {
  display: none !important;
  content: none !important;
}


/* ========================================
   04. MENU LIST
======================================== */

.drink-menu-list {
  border-top: 1px solid #eee6dc;
}

.drink-menu-item {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 20px;
  align-items: center;
  padding: 17px 6px;
  border-bottom: 1px solid #eee6dc;
}


/* 商品名 */

.drink-menu-name {
  min-width: 0;
}

.drink-menu-name strong {
  color: #463f39;
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: .055em;
  line-height: 1.7;
}


/* HOT / ICE */

.drink-menu-name small {
  margin-left: 9px;
  color: #a0968b;
  font-family:
    Georgia,
    "Times New Roman",
    serif;
  font-size: 9px;
  font-weight: 400;
  letter-spacing: .08em;
}


/* 価格 */

.drink-menu-price {
  color: #4f4841;
  font-family:
    Georgia,
    "Times New Roman",
    serif;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: .035em;
  white-space: nowrap;
}

.drink-menu-price span {
  color: #948a7f;
  font-family:
    "Hiragino Sans",
    "Hiragino Kaku Gothic ProN",
    "Yu Gothic",
    sans-serif;
  font-size: 9px;
  font-weight: 400;
}


/* ========================================
   05. MOBILE
======================================== */

@media screen and (max-width: 767px) {

  /* HERO */

  .drink-hero {
    width: calc(100% - 40px);
    margin: 48px auto 60px;
  }

  .drink-hero h2 {
    font-size: 35px;
  }

  .drink-time {
    margin-top: 13px;
    font-size: 12px;
  }

  .drink-hero-line {
    width: 38px;
    margin: 17px auto 23px;
  }

  .drink-hero-lead {
    font-size: 14px;
    line-height: 1.9;
  }

  .drink-hero-description {
    font-size: 11.5px;
    line-height: 2;
  }


  /* SECTION */

  .drink-section {
    width: calc(100% - 40px);
    margin-bottom: 65px;
  }

  .drink-section-heading {
    gap: 14px;
    margin-bottom: 22px;
  }

  .drink-section-heading p {
    font-size: 13px;
    letter-spacing: .2em;
  }


  /* MENU LIST */

  .drink-menu-item {
    gap: 12px;
    padding: 15px 2px;
  }

  .drink-menu-name strong {
    font-size: 13px;
  }

  .drink-menu-name small {
    display: block;
    margin: 2px 0 0;
    font-size: 8.5px;
  }

  .drink-menu-price {
    font-size: 13px;
  }

  .drink-menu-price span {
    display: block;
    margin-top: 1px;
    font-size: 8px;
    text-align: right;
  }

}

/* ========================================
   DRINK MENU
   MONTHLY COFFEE
======================================== */

.monthly-coffee {
  box-sizing: border-box;
  width: min(760px, calc(100% - 40px));
  margin: -10px auto 80px;
  padding: 34px 36px 30px;
  border: 1px solid #e4d5c2;
  background: #fdfaf5;
}

.monthly-coffee-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.monthly-coffee-label {
  margin: 0 0 5px;
  color: #9e775e;
  font-family:
    Georgia,
    "Times New Roman",
    serif;
  font-size: 10px;
  font-weight: 400;
  letter-spacing: .25em;
  line-height: 1.5;
}

.monthly-coffee h3 {
  margin: 0;
  padding: 0;
  border: 0;
  color: #433d37;
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: 20px;
  font-weight: 500;
  letter-spacing: .08em;
  line-height: 1.6;
}

.monthly-coffee h3::before,
.monthly-coffee h3::after {
  display: none !important;
  content: none !important;
}

.monthly-coffee-pickup {
  display: inline-block;
  margin-top: 3px;
  padding: 5px 10px;
  border: 1px solid #d9c3a7;
  color: #a17c5d;
  font-family:
    Georgia,
    "Times New Roman",
    serif;
  font-size: 8px;
  letter-spacing: .18em;
  line-height: 1.4;
}

.monthly-coffee-line {
  display: block;
  width: 34px;
  height: 1px;
  margin: 18px 0 25px;
  background: #c8aa7a;
}


/* 各コーヒー */

.monthly-coffee-item {
  padding: 0 0 23px;
  margin: 0 0 23px;
  border-bottom: 1px solid #e9dfd3;
}

.monthly-coffee-title {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 20px;
  align-items: baseline;
}

.monthly-coffee-title h4 {
  margin: 0;
  color: #463f39;
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: .055em;
  line-height: 1.7;
}

.monthly-coffee-price {
  color: #4f4841;
  font-family:
    Georgia,
    "Times New Roman",
    serif;
  font-size: 14px;
  white-space: nowrap;
}

.monthly-coffee-price span {
  color: #948a7f;
  font-family:
    "Hiragino Sans",
    "Hiragino Kaku Gothic ProN",
    "Yu Gothic",
    sans-serif;
  font-size: 9px;
}

.monthly-coffee-item > p {
  max-width: 540px;
  margin: 9px 0 0;
  color: #756d65;
  font-family:
    "Hiragino Sans",
    "Hiragino Kaku Gothic ProN",
    "Yu Gothic",
    sans-serif;
  font-size: 11px;
  font-weight: 300;
  letter-spacing: .045em;
  line-height: 2;
}

.monthly-coffee-note {
  margin: 0;
  color: #9a9086;
  font-family:
    "Hiragino Sans",
    "Hiragino Kaku Gothic ProN",
    "Yu Gothic",
    sans-serif;
  font-size: 9px;
  letter-spacing: .04em;
  line-height: 1.8;
}


/* ========================================
   MONTHLY COFFEE
   MOBILE
======================================== */

@media screen and (max-width: 767px) {

  .monthly-coffee {
    width: calc(100% - 40px);
    margin: 0 auto 60px;
    padding: 26px 20px 24px;
  }

  .monthly-coffee h3 {
    font-size: 18px;
  }

  .monthly-coffee-title {
    grid-template-columns: 1fr auto;
    gap: 12px;
  }

  .monthly-coffee-title h4 {
    font-size: 13px;
  }

  .monthly-coffee-price {
    font-size: 12px;
  }

  .monthly-coffee-price span {
    display: block;
    font-size: 8px;
    text-align: right;
  }

  .monthly-coffee-item > p {
    font-size: 10.5px;
    line-height: 1.9;
  }

}

/* ========================================
   DRINK MENU
   FEATURED TEA
======================================== */

.drink-feature {
  box-sizing: border-box;
  width: min(820px, calc(100% - 40px));
  max-width: 820px;
  margin: -25px auto 85px !important;
  overflow: hidden;
  border: 1px solid #e4d5c2;
  background: #fdfaf5;
}

/* 写真側 */
.drink-feature .wp-block-media-text__media {
  height: 100%;
}

.drink-feature .wp-block-media-text__media img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 360px;
  object-fit: cover;
}

/* テキスト側 */
.drink-feature .wp-block-media-text__content {
  box-sizing: border-box;
  padding: 38px 40px !important;
}

.drink-feature-copy {
  width: 100%;
  max-width: 330px;
  margin: 0 auto;
}

/* FEATURED TEA */
.drink-feature-label {
  margin: 0 0 8px;
  color: #9e775e;
  font-family:
    Georgia,
    "Times New Roman",
    serif;
  font-size: 9px;
  font-weight: 400;
  letter-spacing: .25em;
  line-height: 1.5;
}

/* フルーツティー */
.drink-feature-name {
  margin: 0;
  padding: 0;
  border: 0;
  color: #433d37;
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: 21px;
  font-weight: 500;
  letter-spacing: .07em;
  line-height: 1.6;
}

/* テーマのh3装飾を解除 */
.drink-feature-name::before,
.drink-feature-name::after {
  display: none !important;
  content: none !important;
}

/* 価格 */
.drink-feature-price {
  margin-top: 7px;
  color: #514a43;
  font-family:
    Georgia,
    "Times New Roman",
    serif;
  font-size: 14px;
  letter-spacing: .035em;
}

.drink-feature-price span {
  color: #948a7f;
  font-family:
    "Hiragino Sans",
    "Hiragino Kaku Gothic ProN",
    "Yu Gothic",
    sans-serif;
  font-size: 9px;
}

/* 小さいゴールドライン */
.drink-feature-line {
  display: block;
  width: 34px;
  height: 1px;
  margin: 19px 0 19px;
  background: #c8aa7a;
}

/* 説明 */
.drink-feature-description {
  margin: 0;
  color: #716960;
  font-family:
    "Hiragino Sans",
    "Hiragino Kaku Gothic ProN",
    "Yu Gothic",
    sans-serif;
  font-size: 11px;
  font-weight: 300;
  letter-spacing: .045em;
  line-height: 2.05;
}


/* ========================================
   FEATURED TEA
   MOBILE
======================================== */

@media screen and (max-width: 767px) {

  .drink-feature {
    width: calc(100% - 40px);
    margin: -15px 20px 65px !important;
  }

  /* スマホでは縦並び */
  .drink-feature.wp-block-media-text {
    display: block;
  }

  .drink-feature .wp-block-media-text__media {
    width: 100%;
    height: auto;
  }

  .drink-feature .wp-block-media-text__media img {
    width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: 4 / 3;
    object-fit: cover;
  }

  .drink-feature .wp-block-media-text__content {
    padding: 26px 22px 30px !important;
  }

  .drink-feature-copy {
    max-width: none;
    margin: 0;
  }

  .drink-feature-name {
    font-size: 18px;
  }

  .drink-feature-description {
    font-size: 10.5px;
    line-height: 2;
  }
}

/* ========================================
   DRINK MENU
   HERB TEA
======================================== */

.herb-tea-section {
  box-sizing: border-box;
  width: min(920px, calc(100% - 40px));
  margin: 0 auto 35px;
}

.herb-tea-lead {
  max-width: 620px;
  margin: -5px auto 35px;
  color: #716960;
  font-family:
    "Hiragino Sans",
    "Hiragino Kaku Gothic ProN",
    "Yu Gothic",
    sans-serif;
  font-size: 11px;
  font-weight: 300;
  letter-spacing: .045em;
  line-height: 2;
  text-align: center;
}

.herb-tea-card {
  margin: 0 !important;
}

/* 4枚＋2枚になった場合も、下段を中央寄せ */
.wp-block-columns:has(> .herb-tea-card) {
  justify-content: center;
}

.herb-tea-card .wp-block-image {
  margin: 0 0 18px !important;
}

.herb-tea-card .wp-block-image img {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

.herb-tea-card-copy {
  padding: 0 4px 10px;
}

.herb-tea-name {
  margin: 0;
  color: #433d37;
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: .055em;
  line-height: 1.7;
}

.herb-tea-line {
  display: block;
  width: 28px;
  height: 1px;
  margin: 13px 0 14px;
  background: #c8aa7a;
}

.herb-tea-description {
  margin: 0;
  color: #756d65;
  font-family:
    "Hiragino Sans",
    "Hiragino Kaku Gothic ProN",
    "Yu Gothic",
    sans-serif;
  font-size: 10.5px;
  font-weight: 300;
  letter-spacing: .04em;
  line-height: 1.9;
}


/* MOBILE */

@media screen and (max-width: 767px) {

  .herb-tea-section {
    width: calc(100% - 40px);
    margin-bottom: 28px;
  }

  .herb-tea-lead {
    margin-bottom: 28px;
    font-size: 10.5px;
  }

  .herb-tea-card-copy {
    padding-bottom: 18px;
  }

  .herb-tea-name {
    font-size: 14px;
  }

  .herb-tea-description {
    font-size: 10px;
  }
}

/* HERB TEA 共通価格 */

.herb-tea-price-all {
  margin: -12px auto 14px;
  color: #9e775e;
  font-family:
    Georgia,
    "Times New Roman",
    serif;
  font-size: 13px;
  font-weight: 400;
  letter-spacing: .08em;
  line-height: 1.7;
  text-align: center;
}

.herb-tea-price-all span {
  color: #948a7f;
  font-family:
    "Hiragino Sans",
    "Hiragino Kaku Gothic ProN",
    "Yu Gothic",
    sans-serif;
  font-size: 9px;
  letter-spacing: .03em;
}

/* ========================================
   DRINK MENU
   FRUIT DRINK
======================================== */

.fruit-drink-lead {
  max-width: 620px;
  margin: -5px auto 30px;
  color: #716960;
  font-family:
    "Hiragino Sans",
    "Hiragino Kaku Gothic ProN",
    "Yu Gothic",
    sans-serif;
  font-size: 11px;
  font-weight: 300;
  letter-spacing: .045em;
  line-height: 2;
  text-align: center;
}

@media screen and (max-width: 767px) {

  .fruit-drink-lead {
    margin-bottom: 24px;
    font-size: 10.5px;
    line-height: 1.9;
  }

}

/* ページ終盤の余白を少しコンパクトに */
.drink-section-last {
  margin-bottom: 55px;
}

/* ========================================
   DRINK MENU
   FOOTER NOTE
======================================== */

.drink-footer-note {
  width: min(760px, calc(100% - 40px));
  margin: -20px auto 90px;
  text-align: center;
}

.drink-footer-line {
  display: block;
  width: 34px;
  height: 1px;
  margin: 0 auto 20px;
  background: #c8aa7a;
}

.drink-footer-note p {
  margin: 0;
  color: #756d65;
  font-family:
    "Hiragino Sans",
    "Hiragino Kaku Gothic ProN",
    "Yu Gothic",
    sans-serif;
  font-size: 10.5px;
  font-weight: 300;
  letter-spacing: .045em;
  line-height: 2;
}

.drink-footer-note .drink-footer-sub {
  margin-top: 3px;
  color: #9a9086;
  font-size: 9.5px;
}

.drink-footer-sp {
  display: none;
}

@media screen and (max-width: 767px) {

  .drink-footer-note {
    width: calc(100% - 40px);
    margin: -10px auto 65px;
  }

  .drink-footer-note p {
    font-size: 10px;
  }

  .drink-footer-sp {
    display: block;
  }
}

/* ========================================
   HERB TEA
   3 COLUMNS
======================================== */

@media screen and (min-width: 768px) {
  .herb-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* ========================================
   TOP PAGE - FINAL SPACING
======================================== */

.ichifuji-information {
  margin-top: 45px !important;
  margin-bottom: 10px !important;
}

.ichifuji-instagram {
  margin-top: -60px !important;
  margin-bottom: 60px !important;
}

.top-wide-contents {
  margin-top: 15px !important;
  margin-bottom: 20px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* スマホ */
@media screen and (max-width: 767px) {
  .ichifuji-instagram {
    margin-top: 10px !important;
    margin-bottom: 45px !important;
  }

  .top-wide-contents {
    margin-top: 15px !important;
    margin-bottom: 20px !important;
  }
}

/* ========================================
   FAQ PAGE
======================================== */

.ichifuji-faq {
  width: min(900px, calc(100% - 40px));
  margin: 45px auto 90px;
  color: #443f39;
}


/* ---------- INTRO ---------- */

.ichifuji-faq .faq-intro {
  margin-bottom: 55px;
  text-align: center;
}

.ichifuji-faq .faq-label {
  margin: 0 0 14px;
  color: #a17b5e;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 10px;
  letter-spacing: .25em;
}

.ichifuji-faq .faq-intro h2 {
  margin: 0;
  padding: 0;
  border: 0;
  color: #433d37;
  font-family:
    Georgia,
    "Times New Roman",
    "Yu Mincho",
    "游明朝",
    serif;
  font-size: 31px;
  font-weight: 400;
  letter-spacing: .08em;
}

.ichifuji-faq .faq-intro h2::before,
.ichifuji-faq .faq-intro h2::after {
  display: none !important;
  content: none !important;
}

.ichifuji-faq .faq-line {
  display: block;
  width: 38px;
  height: 1px;
  margin: 20px auto;
  background: #c8aa7a;
}

.ichifuji-faq .faq-lead {
  margin: 0;
  color: #716a63;
  font-size: 13px;
  letter-spacing: .04em;
  line-height: 2;
}


/* ---------- FAQ ITEM ---------- */

.ichifuji-faq .faq-item {
  display: grid;
  grid-template-columns: 125px 1fr;
  gap: 35px;
  margin: 0;
  padding: 45px 5px;
  border-top: 1px solid #ded2c4;
}

.ichifuji-faq .faq-item:last-of-type {
  border-bottom: 1px solid #ded2c4;
}


/* ---------- NUMBER ---------- */

.ichifuji-faq .faq-number span {
  display: block;
  color: #b08b62;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 25px;
  line-height: 1;
}

.ichifuji-faq .faq-number small {
  display: block;
  margin-top: 11px;
  color: #9b765b;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 8px;
  letter-spacing: .16em;
  line-height: 1.7;
}


/* ---------- QUESTION ---------- */

.ichifuji-faq .faq-content h3 {
  margin: 0 0 25px;
  padding: 0 0 18px;
  border: 0;
  border-bottom: 1px solid #eee6dc;
  color: #403b36;
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: 19px;
  font-weight: 500;
  letter-spacing: .04em;
  line-height: 1.7;
}

.ichifuji-faq .faq-content h3::before,
.ichifuji-faq .faq-content h3::after {
  display: none !important;
  content: none !important;
}

.ichifuji-faq .faq-q {
  margin-right: 9px;
  color: #b08b62;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 15px;
}


/* ---------- ANSWER ---------- */

.ichifuji-faq .faq-answer {
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 10px;
}

.ichifuji-faq .faq-a {
  color: #b08b62;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 14px;
}

.ichifuji-faq .faq-answer p {
  margin: 0 0 15px;
  color: #625c56;
  font-size: 14px;
  letter-spacing: .035em;
  line-height: 2;
}


/* ---------- NEARBY PARKING ---------- */

.ichifuji-faq .faq-note {
  margin-top: 28px;
  padding: 24px 28px 12px;
  background: #faf7f1;
  border: 1px solid #eee3d5;
}

.ichifuji-faq .faq-note-title {
  margin-bottom: 18px !important;
  color: #9c7659 !important;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 9px !important;
  letter-spacing: .22em !important;
}

.ichifuji-faq .faq-note strong {
  color: #4c4640;
  font-weight: 500;
}


/* ---------- HOURS ---------- */

.ichifuji-faq .faq-hours {
  margin: 0 0 25px;
  border-top: 1px solid #eee6dc;
}

.ichifuji-faq .faq-hours-row {
  display: grid;
  grid-template-columns: 130px 1fr;
  align-items: center;
  padding: 13px 0;
  border-bottom: 1px solid #eee6dc;
}

.ichifuji-faq .faq-hours-row span {
  color: #9d795e;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 9px;
  letter-spacing: .16em;
}

.ichifuji-faq .faq-hours-row p {
  margin: 0;
  color: #49433d;
  font-size: 13px;
}

.ichifuji-faq .faq-small {
  color: #777069 !important;
  font-size: 12px !important;
  line-height: 1.9 !important;
}

.ichifuji-faq .faq-note p {
  font-size: 13px !important;
}


/* ---------- FOOT ---------- */

.ichifuji-faq .faq-footer {
  margin-top: 65px;
  text-align: center;
}

.ichifuji-faq .faq-footer-en {
  margin: 0 0 15px;
  color: #a17b5e;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 9px;
  letter-spacing: .22em;
}

.ichifuji-faq .faq-footer > p:last-child {
  color: #746d66;
  font-size: 12px;
  letter-spacing: .04em;
  line-height: 2;
}


/* ========================================
   FAQ PAGE - MOBILE
======================================== */

@media screen and (max-width: 767px) {

  .ichifuji-faq {
    width: calc(100% - 40px);
    margin: 35px auto 65px;
  }

  .ichifuji-faq .faq-intro {
    margin-bottom: 42px;
  }

  .ichifuji-faq .faq-intro h2 {
    font-size: 25px;
  }

  .ichifuji-faq .faq-lead {
    font-size: 12px;
  }

  .ichifuji-faq .faq-item {
    display: block;
    padding: 35px 0;
  }

  .ichifuji-faq .faq-number {
    margin-bottom: 18px;
  }

  .ichifuji-faq .faq-number span {
    display: inline-block;
    margin-right: 12px;
    font-size: 21px;
  }

  .ichifuji-faq .faq-number small {
    display: inline-block;
    margin-top: 0;
  }

  .ichifuji-faq .faq-content h3 {
    margin-bottom: 22px;
    font-size: 17px;
  }

  .ichifuji-faq .faq-answer {
    grid-template-columns: 24px 1fr;
    gap: 7px;
  }

  .ichifuji-faq .faq-answer p {
    font-size: 13px;
    line-height: 1.9;
  }

  .ichifuji-faq .faq-note {
    margin-top: 22px;
    padding: 20px 18px 8px;
  }

  .ichifuji-faq .faq-hours-row {
    grid-template-columns: 105px 1fr;
  }

  .ichifuji-faq .faq-note p {
    font-size: 12.5px !important;
  }

  .ichifuji-faq .faq-small {
    font-size: 11.5px !important;
  }

  .ichifuji-faq .faq-footer {
    margin-top: 50px;
  }
}

/* ========================================
   CONTACT PAGE - JETPACK FORM
======================================== */

/* ページ本文の横幅 */
.entry-content:has(.contact-guide) {
  max-width: 820px;
  margin-left: auto;
  margin-right: auto;
}


/* ========================================
   CONTACT FORM
======================================== */

/* フォーム全体 */
.contact-form {
  max-width: 680px;
  margin: 55px auto 80px !important;
  padding: 45px 50px 50px;
  box-sizing: border-box;

  background: #faf7f1;
  border: 1px solid #e5d8c8;
}


/* 各項目 */
.contact-form > div,
.contact-form > p {
  margin-bottom: 28px;
}


/* ラベル */
.contact-form label {
  display: block;
  margin-bottom: 10px;

  color: #4b443e;
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    serif;

  font-size: 13px;
  font-weight: 500;
  letter-spacing: .06em;
}


/* 必須表示 */
.contact-form label span,
.contact-form .required {
  color: #a17b5e;
  font-size: 10px;
  font-weight: 400;
}


/* ========================================
   INPUT
======================================== */

.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form input[type="url"],
.contact-form input[type="tel"],
.contact-form textarea {

  box-sizing: border-box;
  width: 100% !important;
  max-width: none !important;

  margin: 0 !important;
  padding: 14px 15px !important;

  border: 1px solid #ddd2c5 !important;
  border-radius: 0 !important;

  background: #fff !important;
  box-shadow: none !important;

  color: #4b443e;
  font-size: 14px;
  line-height: 1.7;

  transition:
    border-color .25s ease,
    background-color .25s ease;
}


/* 入力中 */
.contact-form input[type="text"]:focus,
.contact-form input[type="email"]:focus,
.contact-form input[type="url"]:focus,
.contact-form input[type="tel"]:focus,
.contact-form textarea:focus {

  outline: none !important;
  border-color: #b08b62 !important;
  background: #fffdf9 !important;
}


/* メッセージ欄 */
.contact-form textarea {
  min-height: 190px !important;
  resize: vertical;
}


/* ========================================
   SEND BUTTON
======================================== */

.contact-form input[type="submit"],
.contact-form button[type="submit"] {

  display: block !important;

  width: 220px !important;
  min-height: 48px;

  margin: 38px auto 0 !important;
  padding: 14px 24px !important;

  border: 1px solid #263653 !important;
  border-radius: 0 !important;

  background: #263653 !important;
  box-shadow: none !important;

  color: #fff !important;

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size: 10px !important;
  font-weight: 400 !important;
  letter-spacing: .18em;

  cursor: pointer;
}


/* hover */
.contact-form input[type="submit"]:hover,
.contact-form button[type="submit"]:hover {

  background: #fff !important;
  color: #263653 !important;
}


/* ========================================
   CONTACT PAGE TEXT
======================================== */

/* フォームより上の案内文 */

.entry-content:has(.contact-guide) > p {
  color: #625c56;
  font-size: 13px;
  letter-spacing: .04em;
  line-height: 2;
}


/* ========================================
   MOBILE
======================================== */

@media screen and (max-width: 767px) {

  .contact-form {
    width: 100%;
    margin: 40px auto 60px !important;
    padding: 30px 22px 35px;
  }

  .contact-form label {
    font-size: 13px;
  }

  .contact-form input[type="text"],
  .contact-form input[type="email"],
  .contact-form input[type="url"],
  .contact-form input[type="tel"],
  .contact-form textarea {
    font-size: 16px !important;
  }

  .contact-form textarea {
    min-height: 160px !important;
  }

  .contact-form input[type="submit"],
  .contact-form button[type="submit"] {
    width: 100% !important;
  }
}

/* ========================================
   CONTACT GUIDE
======================================== */

.contact-guide {
  max-width: 680px;
  margin: 45px auto 55px;
  text-align: center;
  color: #443f39;
}

.contact-guide-en {
  margin: 0 0 12px !important;
  color: #a17b5e !important;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 9px !important;
  letter-spacing: .25em !important;
}

.contact-guide h2 {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  color: #433d37 !important;
  font-family:
    Georgia,
    "Times New Roman",
    "Yu Mincho",
    "游明朝",
    serif;
  font-size: 27px !important;
  font-weight: 400 !important;
  letter-spacing: .08em !important;
}

.contact-guide h2::before,
.contact-guide h2::after {
  display: none !important;
  content: none !important;
}

.contact-guide-line {
  display: block;
  width: 38px;
  height: 1px;
  margin: 18px auto 23px;
  background: #c8aa7a;
}

.contact-guide-text {
  margin: 0 !important;
  color: #625c56 !important;
  font-size: 13px !important;
  letter-spacing: .04em !important;
  line-height: 2 !important;
}


/* 電話番号 */

.contact-phone {
  margin: 34px auto 26px;
}

.contact-phone-label {
  margin: 0 0 8px !important;
  color: #a17b5e !important;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 8px !important;
  letter-spacing: .22em !important;
}

.contact-phone a {
  display: inline-block;
  color: #403a35 !important;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 25px;
  letter-spacing: .05em;
  line-height: 1.5;
  text-decoration: none !important;
}

.contact-phone a:hover {
  color: #a17b5e !important;
}

.contact-phone-sub {
  margin: 4px 0 0 !important;
  color: #9a938b !important;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 8px !important;
  letter-spacing: .18em !important;
}

.contact-guide-note {
  margin: 0 !important;
  color: #8a837c !important;
  font-size: 10.5px !important;
  letter-spacing: .035em !important;
  line-height: 1.9 !important;
}


/* MOBILE */

@media screen and (max-width: 767px) {

  .contact-guide {
    margin: 35px auto 45px;
  }

  .contact-guide h2 {
    font-size: 23px !important;
  }

  .contact-guide-text {
    font-size: 12px !important;
  }

  .contact-phone {
    margin: 28px auto 23px;
  }

  .contact-phone a {
    font-size: 23px;
  }

  .contact-guide-note {
    font-size: 10px !important;
  }
}


/* =========================================================
   CAFE ICHIFUJI
   NEW TOP / HERO
========================================================= */

.cafe-new-hero {
    position: relative;

    width: 100%;

    overflow: hidden;

    background: #f8f4eb;
}


/* 全体 */
.cafe-new-hero-inner {
    display: grid;

    grid-template-columns:
        minmax(360px, .85fr)
        minmax(520px, 1.15fr);

    width: 100%;
    min-height: 620px;
}


/* =========================================================
   LEFT
========================================================= */

.cafe-new-hero-copy {
    box-sizing: border-box;

    display: flex;
    flex-direction: column;
    justify-content: center;

    padding:
        80px
        clamp(50px, 7vw, 115px);

    background:
        linear-gradient(
            135deg,
            #fbf8f1 0%,
            #f5efe5 100%
        );

    position: relative;
    z-index: 3;
}


/* EN */
.cafe-new-hero-en {
    margin: 0 0 20px !important;

    color: #a78355 !important;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 10px !important;

    letter-spacing: .28em !important;
}


/* メインコピー */
.cafe-new-hero-copy h1 {
    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;

    color: #4f4036 !important;

    font-family:
        "Yu Mincho",
        "YuMincho",
        "Hiragino Mincho ProN",
        serif !important;

    font-size: clamp(36px, 3.6vw, 55px) !important;
    font-weight: 500 !important;

    line-height: 1.6 !important;
    letter-spacing: .075em !important;
}


.cafe-new-hero-copy h1::before,
.cafe-new-hero-copy h1::after {
    display: none !important;
    content: none !important;
}


/* GOLD LINE */
.cafe-new-hero-line {
    display: block;

    width: 45px;
    height: 1px;

    margin: 27px 0 27px;

    background: #b28c5a;
}


/* 説明 */
.cafe-new-hero-lead {
    margin: 0 0 34px !important;

    color: #665d55 !important;

    font-size: 13px !important;

    line-height: 2.15 !important;
    letter-spacing: .045em !important;
}


/* BUTTON */
.cafe-new-hero-button {
    box-sizing: border-box;

    display: inline-flex;
    align-items: center;
    justify-content: space-between;

    width: 230px;

    padding: 15px 20px;

    border: 1px solid #40523f;
    border-radius: 40px;

    background: #40523f;

    color: #fff !important;

    font-size: 12px;

    letter-spacing: .07em;

    text-decoration: none !important;

    transition:
        background-color .25s ease,
        transform .25s ease;
}


.cafe-new-hero-button span {
    margin-left: 20px;
}


.cafe-new-hero-button:hover {
    background: #2f4132;

    color: #fff !important;

    opacity: 1;

    transform: translateY(-2px);
}


/* =========================================================
   RIGHT / VISUAL
========================================================= */

.cafe-new-hero-visual {
    position: relative;

    min-width: 0;
    min-height: 620px;

    overflow: visible;

    background: #eee8dd;

    z-index: 1;
}


/* 背景写真 */
.cafe-new-hero-photo {
    position: absolute;

    inset: 0;

    background-image:
        linear-gradient(
            90deg,
            rgba(248,244,235,.30) 0%,
            rgba(248,244,235,0) 28%
        ),
        url("BACKGROUND-PHOTO-URL");

    background-size: cover;
    background-position: center;

    filter:
        brightness(1.05)
        saturate(.92);
}


/* パフェ本体 */
.cafe-new-hero-parfait {
    position: absolute;

    z-index: 4;

    left: -6%;
    bottom: -35px;

    width: min(62%, 590px);
    height: auto;

    object-fit: contain;

    filter:
        drop-shadow(
            0 22px 25px
            rgba(60, 45, 32, .14)
        );

    transform:
        scale(1.08);

    transform-origin:
        center bottom;
}


/* 縦書きコピー */
.cafe-new-hero-vertical {
    position: absolute;

    z-index: 5;

    top: 95px;
    right: 6%;

    display: flex;

    gap: 8px;

    color: #fff;

    font-family:
        "Yu Mincho",
        "YuMincho",
        "Hiragino Mincho ProN",
        serif;

    font-size: 15px;

    letter-spacing: .15em;

    text-shadow:
        0 2px 9px rgba(0,0,0,.22);
}


.cafe-new-hero-vertical span {
    writing-mode: vertical-rl;
}


/* 01 — 03 */
.cafe-new-hero-number {
    position: absolute;

    z-index: 5;

    right: 6%;
    bottom: 35px;

    color: rgba(255,255,255,.88);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 11px;

    letter-spacing: .15em;
}


/* =========================================================
   TABLET
========================================================= */

@media screen and (max-width: 1000px) {

    .cafe-new-hero-inner {
        grid-template-columns:
            minmax(320px, .9fr)
            minmax(430px, 1.1fr);

        min-height: 560px;
    }


    .cafe-new-hero-copy {
        padding:
            65px
            45px;
    }


    .cafe-new-hero-visual {
        min-height: 560px;
    }


    .cafe-new-hero-parfait {
        width: 68%;
        left: -7%;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media screen and (max-width: 767px) {

    .cafe-new-hero {
        overflow: hidden;
    }


    .cafe-new-hero-inner {
        display: flex;
        flex-direction: column;

        min-height: 0;
    }


    /* 写真を先に見せる */
    .cafe-new-hero-visual {
        order: 1;

        min-height: 440px;
    }


    .cafe-new-hero-copy {
        order: 2;

        padding:
            42px
            24px
            48px;
    }


    .cafe-new-hero-en {
        margin-bottom: 13px !important;

        font-size: 9px !important;
    }


    .cafe-new-hero-copy h1 {
        font-size: 29px !important;

        line-height: 1.65 !important;
    }


    .cafe-new-hero-line {
        margin:
            20px
            0;
    }


    .cafe-new-hero-lead {
        margin-bottom: 28px !important;

        font-size: 12px !important;

        line-height: 2 !important;
    }


    .cafe-new-hero-button {
        width: 100%;
    }


    .cafe-new-hero-photo {
        background-position:
            center center;
    }


    .cafe-new-hero-parfait {
        left: 50%;
        bottom: -18px;

        width: 74%;

        transform:
            translateX(-50%)
            scale(1.05);
    }


    .cafe-new-hero-vertical {
        top: 45px;
        right: 18px;

        font-size: 12px;
    }


    .cafe-new-hero-number {
        right: 18px;
        bottom: 22px;

        font-size: 9px;
    }

}