@charset "UTF-8";
/* ベース初期化 */
html {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
  scroll-padding-top: 80px;
}
*,
*::before,
*::after {
  box-sizing: inherit;
  margin: 0;
  padding: 0;
}

body {
  font-size: 16px;
  line-height: 1.75;
  font-family: "Noto Sans JP", sans-serif;
  color: #403028;
}

/* 媒体要素の基本 */
img,
svg,
video,
canvas {
  display: block;
  max-width: 100%;
  height: auto;
}

a:hover {
  opacity: 0.7;
}

/* フォームのフォント継承 */
button,
input,
select,
textarea {
  font: inherit;
  color: inherit;
}

/* ユーティリティ */
.pc-none {
  display: none;
}
.sp-none {
  display: block;
}
.sp-left {
  text-align: center;
}
.mt-0 {
  margin-top: 0;
}

/* スクリーンリーダーのみ表示 */
.visually-hidden {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

/* -----------------------------
   レイアウト
--------------------------------*/
.page-wrapper {
  max-width: 1260px;
  padding: 0 20px;
  margin: auto;
}

.section-inner {
  max-width: 1260px;
  padding: 0 20px;
  margin: auto;
}

/* 画面幅いっぱいに広げる */
.full-bleed {
  width: 100vw;
  margin-left: calc(50% - 50vw); /* コンテナ中央揃え用 */
  margin-right: calc(50% - 50vw);
}

/* -----------------------------
   タイトル
--------------------------------*/
.heading_lv1 {
  font-family: "Noto Serif JP", serif;
  font-weight: 500; /* Medium */
  font-size: 1.75rem;
  line-height: 2; /* 200% */
  letter-spacing: 0.2em;
  color: #403028;
  margin-bottom: 65px;
}

.heading_lv2 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700; /* Bold */
  font-size: 1.125rem; /* 18px相当 */
  line-height: 2; /* 200% → 36px */
  letter-spacing: 0; /* トラッキング0% */
  margin-bottom: 6px;
}

.heading_lv3 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-size: 1.375rem;
  color: #ffffff;
  background-color: #403028;
  padding: 0px 20px;
  line-height: 2;
}

.heading_lv4 {
  font-size: 1.375rem;
  font-weight: 600;
  border-bottom: 1px solid #403028 !important;
  margin-bottom: 72px !important;
}

.heading_lv4_2 {
  font-size: 1.375rem;
  font-weight: 600;
  border-bottom: 2px solid #403028 !important;
}

.heading_lv5 {
  font-weight: 500;
  font-size: 1.125rem; /* 18px */
}

.heading-top-news {
  display: inline-flex;
  align-items: center; /* 線と文字を縦方向中央に配置 */
  font-family: "Noto Serif JP", serif;
  font-weight: 500; /* Medium */
  font-size: 28px;
  letter-spacing: 0.2em; /* Photoshopトラッキング200相当（=5.6px） */
  color: #403028;
  margin-bottom: 68px;
}

.heading-top-news::before {
  content: "";
  display: inline-block;
  width: 80px; /* Illustratorで指定されていた横幅 */
  height: 1px; /* 線の太さを1pxに修正 */
  background-color: #403028;
  margin-right: 12px; /* 線と文字の間隔 */
}

/* -----------------------------
   テキスト
--------------------------------*/
.intro-text {
  text-align: center;
  font-weight: 500; /* Medium */
  font-size: 1.75rem; /* 28px相当 */
  line-height: 1; /* 100% */
  letter-spacing: 0; /* カーニング0 */
  color: #3b2317;
  margin: 0 0 1em; /* 下余白は任意 */
  margin-bottom: 46px;
}

.about-text {
  font-weight: 500; /* Medium */
  font-size: 1.125rem; /* 18px相当 */
  line-height: 1; /* 100% */
  letter-spacing: 0; /* カーニング0 */
}

.contents-text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500; /* Medium */
  font-size: 1rem; /* 16px相当 */
  line-height: 1.875; /* 30 ÷ 16 = 約1.875 → 200% */
  letter-spacing: 0; /* トラッキング0% */
}

.marker {
  background-color: rgba(224, 212, 192, 0.6); /* #e0d4c0 の 60% */
  display: inline-block;
}

/* -----------------------------
   ボタン
--------------------------------*/
.btn_more .vk_button_link_txt {
  font-size: 1.125rem;
}

.btn_item_more .vk_button_link {
  width: 306px;
}

.btn_item_more .vk_button_link_txt {
  font-size: 1.125rem;
}

.features-box .btn_more a {
  width: 40%;
}

/* -----------------------------
   Table 表
--------------------------------*/
.dataTable {
  width: 100%;
  margin: 0 auto;
  border-collapse: collapse;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  color: #3b231a;
  line-height: 1.2; /* Photoshop「自動」に相当 */
}

.dataTable th,
.dataTable td {
  padding: 12px 30px;
  vertical-align: middle;
}

.dataTable th {
  width: 30%;
  min-height: 90px;
  height: 90px;
  background: #ece5d9;
  text-align: left;
  font-weight: 400;
  border-top: 1px solid #403028;
  border-bottom: 1px solid #403028;
}

.dataTable td {
  width: 70%;
  background: #fff;
  border-top: 1px solid #cecece;
  border-bottom: 1px solid #cecece;
}

.dataTable__req {
  margin-left: 0.5em;
  color: #c00000;
  font-size: 0.875rem;
}

/* 入力要素 */
.dataTable__input,
.dataTable__textarea,
.dataTable input[type="text"],
.dataTable input[type="email"],
.dataTable input[type="tel"],
.dataTable textarea {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #cecece;
  background: #fff;
  padding: 0.75rem 1rem;
  line-height: 1.4;
}

.dataTable__input {
  height: 2.75rem;
}

.dataTable__textarea,
.dataTable textarea {
  min-height: 10rem;
  resize: vertical;
}

.dataTable ::placeholder {
  color: #bfbfbf;
}

/* チェックボックス同意 */
.dataTable__accept {
  margin-top: 80px;
  margin-bottom: 80px;
  line-height: 1.6;
  text-align: center;
}

.dataTable__accept p {
  display: inline-flex;
  align-items: center;
}

.dataTable__accept .wpcf7-acceptance .wpcf7-list-item {
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
}

.dataTable__accept a {
  color: #3b231a;
  text-decoration: underline;
}

.dataTable__req {
  margin-left: 0.5em;
  color: #e60000;
}
.wpcf7 .wpcf7-list-item input[type="checkbox"] {
  all: revert;
  -webkit-appearance: checkbox !important;
  appearance: checkbox !important;
  display: inline-block !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  margin: 0 0.5em 0 0 !important;
}

.wpcf7 .wpcf7-list-item {
  display: inline-flex !important;
  align-items: center !important;
}

/* 送信ボタン */
.dataTable__submit {
  text-align: center;
}

.dataTable__btn {
  display: inline-block;
  min-width: 14rem;
  padding: 0.9rem 2.5rem;
  background: #3b231a;
  color: #fff;
  border: none;
  cursor: pointer;
  letter-spacing: 0.1em;
  width: 304px;
  max-width: 100%;
  font-size: 1.125rem;
}

.dataTable__btn:hover {
  opacity: 0.9;
}

/* 無効時（acceptance未チェック） */
.dataTable__btn:disabled {
  opacity: 0.5; /* 半透明 */
  cursor: not-allowed; /* 押せない雰囲気 */
}

/* -----------------------------
   ヘッダー
--------------------------------*/
.header-inner.container {
  max-width: 1760px;
  padding: 0 20px;
  margin: auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.header-cta {
  margin-left: 25px;
}

/* .site-brand {
  padding: 7px 0 22px 0;
} */

.site-brand {
	width:15%;
	min-width: 150px;
}
.header-right {
  display: flex;
  align-items: center;
}
#menu-headermenu {
  display: flex;
  list-style: none;
}

/* ▼▼ ここから（フル幅メガドロップ＋消えない対策） ▼▼ */
.site-header {
  position: relative;
  z-index: 5000;
}

/* 親<li>は基準にしない（ヘッダー基準で全幅に出すため） */
.header-menu > li {
  position: static;
}

.header-menu a {
  font-size: 1.125rem;
  font-weight: 500;
}

.tel-btn {
  background-color: #291c19;
  border: solid 1px #291c19;
  text-decoration: none;
  display: flex;
  align-items: center;
  color: #fff;
  gap: 0.5rem;
  padding: 17px 17px 17px 22px;
  transition: color 0.6s cubic-bezier(0.22, 0.61, 0.36, 1), background-color 0.6s cubic-bezier(0.22, 0.61, 0.36, 1);
  font-size: 1.25rem;
  font-weight: 500;
}
.tel-btn:hover {
  color: #291c19;
  background: #fff;
}

/* サブメニュー（初期は非表示）— 100vw のパネル */
.header-menu .sub-menu {
  position: absolute;

  /* 端までピッタリ：左右0で張り付け */
  left: 0;
  right: 0;
  width: auto;
  max-width: none;
  transform: none;

  /* ヘッダー直下（隙間ゼロで hover を切らさない） */
  top: 100%;

  /* 見た目 */
  background: #fff;
  border-top: solid 1px #d9d9d9;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15);
  z-index: 2000;
  box-sizing: border-box;

  /* 内側はコンテナ幅に揃える */
  padding-block: 16px;
  padding-inline: calc((100vw - min(1760px, 100vw)) / 2 + 20px);

  /* レイアウト */
  display: none; /* grid に切替で開く */
  grid-template-columns: repeat(6, minmax(160px, 1fr));
  gap: 12px 24px;
}

/* わずかな段差でも hover を切らさない透明ブリッジ */
.header-menu .sub-menu::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  right: 0;
  height: 1px;
}
.header-menu #menu-item-73 .sub-menu,
.header-menu #menu-item-75 .sub-menu {
  grid-template-columns: repeat(2, max-content); /* ←幅を内容に合わせる */
  gap: 62px;
  justify-content: center; /* 全体を中央へ */
  justify-items: center; /* 各セル内も中央へ */
}

/* 2段目（見出し） */
.header-menu .sub-menu > li > a {
  display: block;
  padding: 6px 0 4px;
  font-weight: 400;
  font-size: 1rem;
}

/* 3段目（小項目の並び）はパネル内で通常フロー */
.header-menu .sub-menu > li > .sub-menu {
  position: static;
  display: block;
  border: 0;
  box-shadow: none;
  padding: 0;
  margin: 6px 0 0;
}
.header-menu .sub-menu > li > .sub-menu > li > a {
  display: block;
  padding: 6px 0;
  font-size: 0.95rem;
  font-weight: 500;
}

/* 開くトリガ：親 hover / focus-within に加えて
   サブメニュー自身に hover がある間も開いたままにする */
nav.global-nav ul#menu-headermenu.header-menu > li.menu-item-has-children:hover > ul.sub-menu,
nav.global-nav ul#menu-headermenu.header-menu > li.menu-item-has-children:focus-within > ul.sub-menu,
nav.global-nav ul#menu-headermenu.header-menu > li.menu-item-has-children > ul.sub-menu:hover {
  display: grid !important;
}

/* クリップ/重なり防止（親は overflow 可） */
.site-header,
.header-inner,
.header-right,
.global-nav {
  overflow: visible;
}
.header-inner,
.header-right,
.global-nav {
  position: static;
}

/* ホバー時の装飾 */
.header-menu .sub-menu a:hover {
  text-decoration: underline;
}

/* SP：縦積み */
@media (max-width: 1024px) {
  .header-menu .sub-menu {
    position: static;
    width: auto;
    max-width: none;
    transform: none;
    top: auto;
    padding-inline: 20px;
    padding-block: 8px;
    border: 0;
    box-shadow: none;
    grid-template-columns: 1fr;
    gap: 0;
    display: none;
  }
  .header-menu > li.is-open > .sub-menu {
    display: block;
  }
}

/* リンクのタップ領域 */
.header-menu > li > a {
  display: block;
  padding: 31px 12px;
  color: #000000;
}

.header-menu > li > a:hover {
  text-decoration: underline;
  background-color: rgba(0, 0, 0, 0.1);
}

#rmp-menu-wrap-144 .rmp-submenu .rmp-menu-item-link {
  color: #403028;
  border-bottom: solid 1px #fff;
}

#rmp-menu-wrap-144 .rmp-submenu .rmp-menu-item-link:hover {
  color: #403028;
}

#rmp_menu_trigger-144 {
  padding-bottom: 17px;
}

#rmp-menu-wrap-144 .rmp-submenu .rmp-menu-current-item .rmp-menu-item-link {
  color: #403028;
}

#rmp_menu_trigger-144 .rmp-trigger-box {
  position: relative;
  overflow: visible; /* 下にはみ出すのを許可 */
}

/* ラベルを“箱”の真下に表示 */
#rmp_menu_trigger-144 .rmp-trigger-box::after {
  content: "メニュー";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: calc(100% + 15px);
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.75rem; /* 12px */
  line-height: 1;
  color: #3b2317; /* 好みで */
  pointer-events: none; /* クリックの邪魔をしない */
  white-space: nowrap;
  z-index: 9999; /* 他要素の下に潜らないよう保険 */
}

#rmp-menu-wrap-144 #rmp-menu-item-75 .rmp-submenu {
  background-color: #fff;
  border-bottom: solid 1px #cccccc;
}

#rmp-menu-wrap-144 #rmp-menu-item-75 .rmp-submenu .rmp-menu-item-link {
  height: auto;
  padding: 10px 20px;
}

#rmp_menu_trigger-144 {
  top: 16px;
}

.rmp-submenu .rmp-menu-item-link {
  height: auto;
  padding: 14px 0;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.rmp-submenu .rmp-menu-item-link img {
  display: block;
  margin: 0 auto;
}

/* -----------------------------
   メインビジュアル
--------------------------------*/
.slider--mv {
  padding: 0 16px;
  box-sizing: border-box;
}

.slider--mv .swiper-slide {
  width: 68%; /* ★ここを auto → 68% に */
}

.slider--mv .swiper-slide img {
  display: block;
  width: 100%;
  height: auto;
}

.slider--mv .swiper-wrapper {
  will-change: transform;
}
.slider--mv .swiper-slide {
  backface-visibility: hidden;
  transform: translateZ(0);
}

.slider--mv .swiper-pagination {
  position: static;
  margin-top: 12px;
  text-align: center;
}
.swiper-pagination-bullet-active {
  background: #3b2317 !important;
}

/* -----------------------------
   フッター
--------------------------------*/
.footer-copylight {
  text-align: center; /* 中央寄せ */
  padding: 1em 0;
  background-color: #fff;
  color: #403028;
}

.footer-copylight small {
  font-weight: 500; /* Medium */
  font-size: 0.875rem; /* 14px相当 */
  line-height: 2; /* 200% → 28px */
  letter-spacing: 0; /* トラッキング0 */
  display: block; /* ブロック扱いにして中央寄せしやすく */
}

.site-footer {
  background-color: #403028;
  color: #fff;
  margin-top: -5px;
  position: relative;
  overflow: hidden;
}

.site-footer::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -17%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  width: 100%;
  height: 100%;
  background-image: url(https://www.partner.moe/sanshido/wp-content/uploads/2025/09/bg-logo.png);
  background-repeat: no-repeat;
  background-position: right center;
  background-size: 40%;
  opacity: 0.05;
  pointer-events: none;
}

.site-footer a {
  color: #fff;
  text-decoration: none;
}

.site-footer a:hover {
  text-decoration: underline;
}

/* ====== Footer Inner Grid ====== */
.footer__inner {
  max-width: 1220px;
  margin: 0 auto;
  padding: 47px 20px 43px 20px;
}

.footer__grid {
  display: flex; /* grid → flex に変更 */
  flex-wrap: wrap; /* 狭い画面では段落ち */
  column-gap: clamp(32px, 6vw, 64px); /* ナビ間余白（32〜64pxで可変） */
  row-gap: 24px; /* 段落ち時の上下余白 */
}

/* ====== Brand Section (左のロゴ+住所) ====== */
.footer__brand {
  flex: 0 0 248px; /* 幅を固定 */
  width: 248px;
  min-width: 248px;
  max-width: 248px;
  line-height: 1.8;
}

.footer__logo {
  margin-bottom: 24px;
}

.footer__logo img {
  width: 247px;
}

.footer__address {
  font-size: 1.125rem;
  font-style: normal;
}

.footer__postal {
  font-weight: 600;
  margin-bottom: 25px;
}

.footer__contact {
  margin-bottom: 28px;
  font-weight: 400;
}

.footer__business {
  font-weight: 400;
margin-left:-0.5em;
}

/* ====== Nav Sections (商品/サービス/ショップ/サイトリンク) ====== */
.footer__right {
  display: flex;
  flex-wrap: wrap;
  column-gap: clamp(32px, 6vw, 64px);
  row-gap: 24px;
}

.footer__nav {
  max-width: 100%; /* コンテナ幅を超えない */
}

.footer__title {
  font-weight: 700;
  margin-bottom: 0.5rem;
  font-size: 1rem;
}

.footer__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.footer__list li {
  margin-bottom: 0.25rem;
}

.footer__list li a {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300; /* Light */
  font-size: 1rem; /* 16px */
}

/* 営業カレンダー（ID: shop-calendar） */
#shop-calendar.xo-event-calendar {
  max-width: 1260px;
  padding: 0 20px;
  margin: auto;
  margin-bottom: 40px;
}

/* 2カ月横並び */
#shop-calendar.xo-event-calendar .xo-months {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

/* 月ボックス体裁 */
#shop-calendar.xo-event-calendar .xo-month {
  overflow: hidden;
}

/* 月タイトル */
#shop-calendar.xo-event-calendar .xo-month .month-event-title {
  text-align: center;
  font-weight: 700;
  padding: 8px 10px;
  background: #f7f7f7;
}

/* テーブル基本整形 */
#shop-calendar.xo-event-calendar table {
  width: 100%;
  border-collapse: collapse;
}

#shop-calendar.xo-event-calendar th,
#shop-calendar.xo-event-calendar td {
  text-align: center;
  padding: 6px;
  vertical-align: middle;
}

/* 月送りボタンを非表示 */
#shop-calendar.xo-event-calendar .month-header button {
  display: none;
}

/* 他月の日付を非表示 */
#shop-calendar.xo-event-calendar .other-month {
  display: none;
}

/* -----------------------------
   TOP
--------------------------------*/
.top-news-wrapper {
  gap: 120px;
}

.top-news-header {
  width: 25%;
}

.smb-tab-panel {
  border: none;
  padding-left: 0;
}

/* 全タブ共通 */
.smb-tabs[data-orientation="horizontal"] > .smb-tabs__tabs .smb-tabs__tab {
  width: 176px;
  border: 1px solid #a3a3a3;
  border-radius: 0;
  color: #403028;
  margin-left: -1px; /* 左線を重ねて二重線防止 */
  opacity: 1;
}

/* 最初のタブだけはズラさない（wrapper経由で指定） */
.smb-tabs[data-orientation="horizontal"] > .smb-tabs__tabs .smb-tabs__tab-wrapper:first-child .smb-tabs__tab {
  margin-left: 0;
}

/* 非アクティブ同士の境界の二重線を防ぐ：最後以外は右ボーダーを消す */
.smb-tabs[data-orientation="horizontal"] > .smb-tabs__tabs .smb-tabs__tab-wrapper:not(:last-child) .smb-tabs__tab {
  border-right: none;
}

/* 最後のタブだけ右ボーダーを残す */
.smb-tabs[data-orientation="horizontal"] > .smb-tabs__tabs .smb-tabs__tab-wrapper:last-child .smb-tabs__tab {
  border-right: 1px solid #a3a3a3;
}

/* アクティブは最上に重ねる（見た目そのまま） */
.smb-tabs[data-orientation="horizontal"] > .smb-tabs__tabs .smb-tabs__tab[aria-selected="true"] {
  border: none;
  background: #291c19;
  color: #fff;
  border-radius: 0;
  width: 176px;
  position: relative;
  z-index: 1;
}

/* ── 区切り線：1px → 高DPIで細く ───────────────────── */
.top-news-wrapper .wp-block-post {
  padding: 14px 54px 14px 14px; /* 右端に矢印分の余白を確保 */
  position: relative;
  border-bottom: 1px solid #000; /* 必要に応じて #403028 や #a3a3a3 に */
}
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
  .top-news-wrapper .wp-block-post {
    border-bottom-width: 0.5px;
  }
}
@media (-webkit-min-device-pixel-ratio: 4), (min-resolution: 4dppx) {
  .top-news-wrapper .wp-block-post {
    border-bottom-width: 0.25px;
  }
}

/* ── 矢印：タイトルのリンクの疑似要素に移す＝矢印もクリック可 ── */
/* 以前の .wp-block-post::after は無効化（重複防止） */
.top-news-wrapper .wp-block-post::after {
  content: none;
}

/* タイトルリンクの疑似要素で右端に矢印を描画 */
.top-news-wrapper .wp-block-post .wp-block-post-title a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 18px;
  width: 27px;
  height: 17px;
  background: url(https://www.partner.moe/sanshido/wp-content/uploads/2025/08/arrow-1.png) no-repeat center / 100% 100%;
  transform: translateY(-50%);
  pointer-events: auto;
}

/* タイトルにホバー/フォーカス時：右に4px */
.top-news-wrapper .wp-block-post .wp-block-post-title a:hover::after,
.top-news-wrapper .wp-block-post .wp-block-post-title a:focus-visible::after {
  transform: translate(4px, -50%);
}

.top-news-wrapper time {
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.2em;
  line-height: 1;
  color: #403028;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.top-news-wrapper .news-title,
.top-news-wrapper .wp-block-post-title a.wp-block-post-title__link {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  font-weight: 400;
  font-size: 1.125rem; /* 18px */
  letter-spacing: 0.2em;
  line-height: 1.5;
  color: #403028;
}

.top-about .section-inner {
  padding-top: 56px;
  padding-bottom: 92px;
}

.top-item__wrapper {
  max-width: 1424px;
  margin: auto;
  padding-left: 20px;
  padding-right: 20px;
}

.top-item__box {
  gap: 25px;
}

.top-item__box img {
  width: 100%;
  height: auto;
}

.top-item__box .wp-block-image {
  margin-bottom: 0;
}

.top-contents .section-inner {
  padding-top: 70px;
  padding-bottom: 50px;
}


.top-contents .link-contents-box{
	justify-content:space-between;
}
.top-contents .wp-block-columns.is-not-stacked-on-mobile>.wp-block-column {
  flex-basis:initial;
	flex-grow:initial;
}
/* -----------------------------
   下層ページ（共通）
--------------------------------*/
.teaser {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  height: 220px;
  background-image: url("https://www.partner.moe/sanshido/wp-content/uploads/2025/09/taeser_bg.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;

  display: flex;
  justify-content: center; /* 横方向中央 */
  align-items: center; /* 縦方向中央 */
}

.teaser-title {
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 1.75rem; /* 28px 相当 */
  line-height: 200%;
  color: #ffffff;
  text-align: center;
  letter-spacing: 0.2em;
}

/* -----------------------------
   お知らせ一覧
--------------------------------*/
/* =====  (archive-news) ===== */

.post-title {
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 1.75rem; /* 28px 相当 */
  text-align: center;
  padding: 60px 20px;
  letter-spacing: 0.2em;
}

/* グリッド配置 */
.p-newsList {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  column-gap: 42px; /* 横の余白 */
  row-gap: 72px; /* 縦の余白 */
}

.p-newsItem a {
  display: block;
  color: inherit;
  text-decoration: none;
}

/* サムネイル */
.p-newsItem__thumb {
  width: 100%;
  aspect-ratio: 380 / 269; /* ← アスペクト比を固定 */
  overflow: hidden;
  margin-bottom: 20px;
  border: solid 1px #cecece;
}

.p-newsItem__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* トリミングして埋める */
}

/* 日付 */
.p-newsItem__date {
  display: block;
  margin-bottom: 10px;
}

/* タイトル */
.p-newsItem__title {
  font-weight: 400;
  font-size: 1.125rem; /* 18px */
  line-height: 2; /* 200% */
  color: #403028;
}

/* ページネーション */
.p-pagination {
  margin-top: 3rem;
  text-align: center;
}

.p-pagination .page-numbers {
  display: inline-block;
  margin: 0 0.3rem;
  padding: 0.4rem 0.8rem;
  font-size: 0.9rem;
  background-color: #f0f0f0;
  text-decoration: none;
  transition: background 0.2s ease;
}

.p-pagination .page-numbers.current {
  background: #fff;
  color: #291c19;
  border: solid 1px #291c19;
}

/* 前へ・次へだけ背景透過 */
.p-pagination .page-numbers.prev,
.p-pagination .page-numbers.next {
  background: none !important;
}

.p-pagination .page-numbers:hover {
  background: #eee;
}

.p-newsTabs {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 64px;
}

.p-newsTabs__item {
  display: inline-block;
  padding: 13px 2px;
  border: 1px solid #cfc6bf;
  border-right: none;
  background: #fff;
  color: #403028;
  text-decoration: none;
  line-height: 1;
  min-width: 176px;
  text-align: center;
  letter-spacing: 0.2em;
}

.p-newsTabs__item:first-child {
  border-radius: 2px 0 0 2px;
}
.p-newsTabs__item:last-child {
  border-right: 1px solid #cfc6bf;
  border-radius: 0 2px 2px 0;
}

.p-newsTabs__item.is-active {
  background: #291c19; /* カレント背景黒 */
  color: #fff; /* カレント文字白 */
  border-color: #291c19;
}

.p-newsTabs__item:hover {
  opacity: 0.85;
}

.archive .page-wrapper {
  margin-bottom: 100px;
}

/* 寺院関係 子カテゴリナビ */
.p-templeTabs {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 64px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.2em;
  color: #3b231a;
  line-height: 1;
}

/* 子カテゴリリンク */
.p-templeTabs__item {
  position: relative;
  display: inline-block;
  color: #3b231a;
  text-decoration: none;
  padding: 0 0.25em;
  line-height: 1;
  letter-spacing: 0.2em;
}

/* 区切り線（｜） */
.p-templeTabs__item::after {
  content: "|";
  margin: 0 0.5em;
  color: #999;
}

/* 最後の項目は区切りを消す */
.p-templeTabs__item:last-child::after {
  content: none;
}

/* テキスト部分 */
.p-templeTabs__text {
  display: inline-block;
  padding-bottom: 3px;
}

/* ホバー時 */
.p-templeTabs__item:hover .p-templeTabs__text {
  border-bottom: 1px solid #b7bdc9;
}

/* 現在地（アクティブ） */
.p-templeTabs__item.is-active .p-templeTabs__text {
  border-bottom: 1px solid #b7bdc9;
}

/* -----------------------------
   お知らせ詳細
--------------------------------*/
/* =====  (single) ===== */
.single .page-wrapper {
  margin-bottom: 100px;
}

.s-hero {
  margin-bottom: 70px;
}

.s-hero__date {
  display: block;
  font-weight: 400; /* Regular */
  line-height: 2; /* 200% */
  letter-spacing: 0.2em;
}

.s-hero__title {
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 2;
  margin: 0;
}

.s-thumb {
  margin: 1.2rem 0 1.8rem;
  max-width: 920px;
  margin: auto;
  margin-bottom: 70px;
}

.s-thumb img {
  width: 100%;
  height: auto;
  display: block;
}

.s-content {
  margin-bottom: 100px;
}

.s-content p {
  margin: 1rem 0;
  line-height: 2;
  color: #403028;
}

.s-section {
  margin: 2.5rem 0 1.5rem;
}
.s-section__hd {
  position: relative;
  font-weight: 600;
  font-size: 1rem;
  margin: 0 0 1.2rem;
  padding-bottom: 0.6rem;
}
.s-section__hd::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: #403028;
}

.s-flyers {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;
}
.s-flyers img {
  width: 100%;
  height: auto;
  display: block;
}

.s-banner {
  margin: 2.5rem 0;
  padding: 3rem 1rem;
  background: #403028;
  color: #fff;
  text-align: center;
}

.s-back {
  text-align: center;
}
.s-back__btn {
  display: inline-block;
  padding: 13px 20px;
  border: 1px solid #403028;
  color: #403028;
  text-decoration: none;
  background: #fff;
  transition: opacity 0.2s ease;
  width: 304px;
}

.s-back__btn:hover {
  background-color: #403028;
  color: #fff;
}

.flyer_wrapper {
  max-width: 1066px;
  margin: auto;
}

/* -----------------------------
  取扱商品
--------------------------------*/
/* 取扱商品一覧グリッド */
.p-productsGrid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 32px;
  margin-top: 100px;
}

/* 商品カード */
.p-productCard {
  text-align: center;
}

.p-productCard__link {
  display: block;
  text-decoration: none;
  color: inherit;
}

.p-productCard__thumb {
  border: 1px solid #ccc;
  overflow: hidden;
}

.p-productCard__thumb img {
  width: 100%;
  height: auto;
  display: block;
}

.item-intro-text {
  font-size: 1.125rem;
  font-weight: 400;
  letter-spacing: 0.2em;
}

.item-intro-img img {
  text-align: center;
  margin: auto;
/*   width: 978px; */
  max-width: 100%;
}

.item-3wrapper {
  gap: 40px;
}

.item-name {
  font-weight: 500;
  font-size: 1.125rem; /* VA200 */
}
.postid-533 .item-name {
  letter-spacing: 0.2em;
}

.item-price {
  font-size: 1.125rem;
  margin-top: 12px;
  margin-top: 0;
}

/* -----------------------------
  個別下層ページ
--------------------------------*/
.service-intro__warpper {
  max-width: 1062px;
  margin: auto;
}

.arrow-right img {
  width: 50px;
}

.step_box {
  padding: 30px 50px;
  border: solid 1px #403028 !important;
  max-width: 800px;
  margin: auto;
}

.step_num__wrapper {
  display: inline-block;
  max-width: 45px;
}

.step_title {
  gap: 18px;
  padding-bottom: 12px;
  border-bottom: 1px solid #403028;
  margin-bottom: 16px;
}

p.step_num {
  padding: 7px 9px;
}

.box-beige {
  padding: 24px 48px;
}

.page-link-wrapper {
  gap: 0;
}

.page-link-item {
  border-top: solid 1px #403028;
  border-bottom: solid 1px #403028;
  border-right: solid 1px #403028;
  margin-left: -1px;
}

.page-link-item:first-child {
  border-left: 1px solid #403028;
  margin-right: 0;
}

.page-link-item:hover {
  background-color: #403028;
  color: #fff;
}

.page-link-item p {
  padding: 10px;
  text-align: center;
  font-weight: 400; /* Regular */
  font-size: 1.125rem; /* 18px */
  line-height: 1.2; /* Photoshop「自動」相当 */
  letter-spacing: 0.2em; /* VA200 */
}

.check-wrapper-img {
  display: flex;
  align-items: center;
}

.check-box {
  border: solid 1px #403028;
  max-width: 500px;
  padding: 32px 34px;
  margin: auto;
}

.brown-box {
  border: solid 1px #403028;
  padding: 30px 46px;
  margin: auto;
}

.repair-cleaning-wrapper {
  gap: 60px;
}

.juzu-box {
  max-width: 700px;
  margin: auto;
}

/*ここから0929追加 */
.postid-527 .wp-block-image figcaption {
  text-align: end;
  font-size: 1rem;
}

/*店舗案内*/
.history-detail-box {
  padding-right: 53px;
}
.company-table {
  border: solid 1px #403028;
}
.company-table th,
.company-table td {
  border: none !important;
  padding: 1em 0.5em;
}
.company-table td {
  padding: 1em 2.3em;
}
.company-table tr:nth-child(1) td,
.company-table tr:nth-child(1) th {
  padding-top: 2em;
}

.company-table tr:last-child th,
.company-table tr:last-child td {
  padding-bottom: 2em;
}

.company-table th {
  background-color: #ede5da;
  font-weight: normal;
  vertical-align: top;
}

/*プライバシーポリシー*/
.dotted-list {
  list-style: initial;
}
.dotted-list li {
  margin-left: 1.5em;
}

/* 神具 */
.jinja-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.jinja-list li {
  display: flex;
  align-items: center;
  margin-bottom: 0.4em;
  flex-wrap: nowrap;
}

.jinja-list .item {
  display: inline-block;
  width: 10em; /* ← ここを調整して左の文字幅を揃える */
}
.jinja-list li:nth-child(2) .item{
	 width: 15em
}

.jinja-list .line {
  flex-grow: 1;
  height: 1px;
  background-color: #333;
  margin: 0 0.7em;
}

.jinja-list .desc {
  flex-shrink: 0;
  width: 12em; /* ← descの頭を揃える基準を一定に */
}




/* お位牌 */
.dashed-hr {
  border-bottom: 1px dashed;
}

/* 仏具 */
.page-link-box {
  padding-top: 0.5em;
  padding-bottom: 0.5em;
}

.page-link-box .wp-block-columns-is-layout-flex {
  gap: 0;
}
.page-link-box .gap0 {
  gap: 0.5em;
}

.f-w5 {
  font-weight: 500;
}
.br-liner-hr {
  border-bottom: 1px solid #403028;
}

/* 共通 */
.text-link a {
  text-decoration: underline;
}
.vk_block-margin-0--margin-top.col3-item-detail {
  letter-spacing: 0.2em;
  font-weight: 500;
}
.wpcf7-spinner {
    display:none;
}


.red{
	color: #e60000;
}


