html {
  scroll-behavior: smooth;
}


.p-menu {
	box-sizing: content-box;
}
.p-menu img,
.p-footer__logo img {
	max-width: none;
}

.p-privacypolicy__list li,
li.p-passion__mind-item {
	list-style-position: outside;
}

.p-passion__message {
	box-sizing: content-box;
}

.l-wrapper--map {
    display: flex;
    margin: 0 auto;
    max-width: 95%;
    position: relative;
    width: 1000px
}

.p-top-main__wrap {
	box-sizing: content-box;
}

.p-passion__calendar-item {
	height: 550px;
}

@media screen and (max-width: 767px) {
	.p-passion__calendar-item {
		height: 600px;
	}
}


/* ============================
   店舗検索アーカイブページ専用
   ============================ */

.p-map-archive .p-post__list {
    display: block;
}

#mapResults { scroll-margin-top: 74px; }

@media (max-width: 767px) {

	#mapResults { scroll-margin-top: 50px; }

}

.p-map-archive .archiveList__link {
  display: block;
  text-decoration: none;
  color: inherit;
}


/* 左にサムネ / 右にテキスト */
.p-map-archive .archiveList {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  padding: 16px 0;
  border-bottom: 1px solid #eee;
  margin-bottom: 0;
}

/* サムネイル領域 */
.p-map-archive .archiveList__img {
  flex: 0 0 160px;
}

@media (max-width: 767px) {
	
	.p-map-archive .archiveList__img {
	  flex: 0 0 120px;
	}

}

.p-map-archive .archiveList__img img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

/* テキスト部分 */
.p-map-archive .archiveList__contents {
  flex: 1 1 auto;
  min-width: 0;
}

.p-map-archive .archiveList__title {
  margin: 0 0 .4em;
  font-size: 2rem;
  color: rgb(157,67,0);
  font-weight: bold;
}

.p-map-archive .archiveList__meta p {
  margin: .2em 0;
}
.p-map-archive .archiveList__meta p.archiveList__tel {
  font-size: 1.6rem;
}

.p-map-archive .archiveList__meta p.archiveList__payment,
.p-map-archive .archiveList__meta p.archiveList__delivery,
.p-map-archive .archiveList__meta p.archiveList__takeout {
  padding-top: 16px;
}
.p-map-archive .archiveList__meta p.archiveList__payment img,
.p-map-archive .archiveList__meta p.archiveList__delivery img {
  vertical-align: middle;
	margin-top: 8px;
}
.p-map-archive .archiveList__meta p.archiveList__payment img {
  margin-right: 2px;
}
.p-map-archive .archiveList__meta p.archiveList__payment img.paylogo--paypay,
.p-map-archive .archiveList__meta p.archiveList__payment img.paylogo--aupay,
.p-map-archive .archiveList__meta p.archiveList__payment img.paylogo--dbarai,
.p-map-archive .archiveList__meta p.archiveList__payment img.paylogo--waon {
  width: 24px;
	height: auto;
}
.p-map-archive .archiveList__meta p.archiveList__delivery img {
  margin-right: 12px;
}
.p-map-archive .archiveList__meta p.archiveList__delivery img.deliverylogo--wolt {
	width: 50px;
	height: auto;
}

/* ホバー時に全体を軽くハイライト */
.p-map-archive .archiveList__link:hover .archiveList {
  background: #fff;
  transition: background 0.2s ease;
}




/* ============================
   店舗検索アーカイブページ専用：2カラム化
   ============================ */

/* 2カラムの基本レイアウト */
.p-map-archive.l-main {
  display: flex;
  align-items: flex-start;
  padding-top: 20px;
}

/* 左カラム（検索フォーム） */
.p-map-archive .widgetPage {
  flex: 0 0 300px;        /* 固定幅（必要に応じて調整） */
  background: #fafafa;
  padding: 20px;
  border-radius: 6px;
  border: 1px solid #eee;
}

/* 右カラム（検索結果） */
.p-map-archive .archive,
.p-map-archive .p-single__contents {
  flex: 1 1 0%;
  min-width: 0;
}



/* 各リストは既存スタイルで維持 */
.p-map-archive .archiveList,
.p-map-archive .archiveList::before {
  border-bottom: 1px solid #eee;
}
.p-map-archive .archiveList {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  padding: 24px;
  margin-bottom: 0;
  background: #fff;
}

/* モバイルは縦並び（1カラム） */
@media (max-width: 767px) {
  .p-map-archive {
    flex-direction: column;
  }

  .p-map-archive.l-main {
    display: block;
    align-items: unset;
  }
}



/* ============================
   /map/ 検索・絞り込み UI（widgetPage内）
   ============================ */
.p-map-archive .widgetPage {
  flex: 0 0 300px;
  margin-right: 40px; /* ← gapの代わりに右マージンを付与 */
  background: #fff;
  border: 1px solid #eee;
  border-radius: 10px;
  padding: 20px;
	margin-bottom: 20px;
}

@media (max-width: 767px) {
  .p-map-archive.l-main .widgetPage {
    flex: 1 1 auto; /* ← 高さも幅も成り行きでOK */
    width: 100%;
    margin-right: 0;
  }
}


/* 行間・ブロック余白 */
.p-map-archive .widgetPage .p-form { margin-bottom: 16px; }
.p-map-archive .widgetPage .p-form-row { display: grid; gap: 12px; }

/* ラベル＆見出し */
.p-map-archive .widgetPage label { font-weight: 600; color: #333; }
.p-map-archive .widgetPage fieldset {
  border: none;              /* ← 枠を削除 */
  padding: 0;                /* 内側余白もリセット */
  margin-bottom: 15px;       /* 下の余白だけ残す */
}
.p-map-archive .widgetPage legend {
  font-weight: 700;
  color: #9d4300;
  padding: 0;
}

/* 入力・セレクトの共通 */
.p-map-archive .widgetPage input[type="text"],
.p-map-archive .widgetPage input[type="search"],
.p-map-archive .widgetPage input[type="url"],
.p-map-archive .widgetPage select {
  width: 100%;
  height: 40px;
  padding: 0 12px;
  border: 1px solid #ddd;
  border-radius: 8px;
  background: #fff;
  font-size: 14px;
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}

/* フォーカス時のリッチなリング */
.p-map-archive .widgetPage input[type="text"]:focus,
.p-map-archive .widgetPage input[type="search"]:focus,
.p-map-archive .widgetPage input[type="url"]:focus,
.p-map-archive .widgetPage select:focus {
  outline: none;
  border-color: #e0b285;               /* うどん色系に寄せた淡色 */
  box-shadow: 0 0 0 3px rgba(224,178,133,.25);
}

/* placeholder 色を少し薄く */
.p-map-archive .widgetPage ::placeholder { color: #999; }

/* ▼ プルダウン矢印を1つに統一（ネイティブ矢印を消す） */
.p-map-archive .widgetPage select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image:
    linear-gradient(45deg, transparent 50%, #999 50%),
    linear-gradient(135deg, #999 50%, transparent 50%),
    linear-gradient(to right, #ddd, #ddd);
  background-position:
    calc(100% - 18px) 50%,
    calc(100% - 12px) 50%,
    calc(100% - 36px) 50%;
  background-size: 6px 6px, 6px 6px, 1px 60%;
  background-repeat: no-repeat;
  padding-right: 42px;
  height: 44px;
}

/* 無効セレクト（親未選択時など） */
.p-map-archive .widgetPage select:disabled,
.p-map-archive .widgetPage input:disabled {
  background: #f7f7f7;
  color: #aaa;
  cursor: not-allowed;
}

/* ラベル整列（改行なし＆間隔調整） */
.p-map-archive .widgetPage fieldset label {
  display: inline-flex;
  align-items: center;
  gap: 17px;
  margin: 8px 24px 4px 0;
  font-weight: 500;
  white-space: nowrap;
  line-height: 1.8;
}

/* チェックボックス */
.p-map-archive .widgetPage input[type="checkbox"] {
  width: 16px;
  height: 16px;
  accent-color: #9d4300;
}

/* ボタン並び */
.p-map-archive .widgetPage .p-form-row:last-child {
  display: grid; grid-template-columns: 1.3fr .7fr;
  gap: 10px; align-items: center;
}
.p-map-archive .widgetPage .c-btn {
  border-radius: 8px;
  padding: 10px 5px;
  font-weight: 700;
  transition: transform .05s ease, box-shadow .15s ease, background .15s ease;
}
.p-map-archive .widgetPage .c-btn-primary {
  background: #9d4300; border: 1px solid #9d4300; color: #fff; cursor: pointer;
}
.p-map-archive .widgetPage .c-btn-primary:hover { filter: brightness(1.05); }

/* ▼ リセットの下線を消す＆見た目統一 */
.p-map-archive .widgetPage .c-btn-secondary {
  background: #fff;
  border: 1px solid #ddd;
  color: #333;
  text-decoration: none;       /* 下線を削除 */
  text-align: center;          /* テキストを中央揃え */
  display: inline-block;       /* 念のため */
  width: 100%;                 /* ボタン幅いっぱい（グリッド内） */
  box-sizing: border-box;      /* 余白調整 */
}
.p-map-archive .widgetPage .c-btn-secondary:hover { background: #fafafa; }
.p-map-archive .widgetPage .c-btn:active { transform: translateY(1px); }

/* デリバリー・設備は縦並びの1カラム */
.p-map-archive .widgetPage .p-form-row:nth-of-type(3) {
  display: block;
}
@media (min-width: 768px) {
  .p-map-archive .widgetPage .p-form-row:nth-of-type(3) {
    display: block; /* PCでも1カラム維持 */
  }
}

/* コンテナの雰囲気を微調整 */
.p-map-archive .widgetPage {
  background: #fff;                  /* うっすら温かみ */
  border-color: #f0e7dc;
  box-shadow: 0 2px 8px rgba(0,0,0,.03);
}

/* 小さい画面では折返しOK（はみ出し防止） */
@media (max-width: 420px) {
  .p-map-archive .widgetPage fieldset label {
    white-space: normal;
  }
}


/* 都道府県＋市区町村プルダウンを横並びに */
.p-map-archive .widgetPage .p-form-row.pref-city {
  display: flex;
  gap: 12px;
}

.p-map-archive .widgetPage .p-form-row.pref-city .p-form__field {
  flex: 1 1 50%;
}


.p-form__delivery { display:inline-flex; align-items:center; gap:.5rem; margin-right:12px; }
.p-form__deliveryImg { max-width: 100px; width:auto; display:block; }
.p-form__deliveryImg.p-form__deliveryImg--wolt { max-width: 60px; }
.p-form__deliveryLabel { font-size: .95rem; }


/* =========================================================
   店舗詳細ページ専用装飾
   （他ページへ影響なし）
   ========================================================= */
.p-map-archive .p-single__contents {
  background: #fff;
  padding: 3rem 4rem;
  border-radius: 1rem;
  box-shadow: 0 4px 20px rgba(0,0,0,0.08);
  line-height: 1.8;
  color: #333;
  font-size: 1.6rem;
}

/* タイトル */
.p-map-archive .p-single__contents .p-single__title {
  font-size: 2.4rem;
  font-weight: 700;
  color: #222;
  border-bottom: 2px solid #f2c94c;
  padding-bottom: 0.5em;
  margin-bottom: 1.5em;
}

/* 見出し（本文内 h2,h3） */
.p-map-archive .p-single__contents h2 {
  font-size: 2rem;
  margin-top: 2.5em;
  margin-bottom: 1em;
  padding-left: 0.6em;
  border-left: 4px solid #f2c94c;
  color: #222;
	border-bottom: 1px solid #f2c94c;
}
.p-map-archive .p-single__contents h2::before {
  content: none;
}
.p-map-archive .p-single__contents h3 {
  font-size: 1.8rem;
  margin-bottom: 0.8em;
  color: #444;
}



/* 画像 */
.p-map-archive .p-single__contents img {
  max-width: 100%;
  height: auto;
}

.store-info__list.store-info__payments-logos {
    display: flex;
    flex-wrap: wrap; 
    gap: 20px; 
    align-items: center; /* <li>要素の高さが揃っていれば、これだけで効果があるはず */
    padding: 0;
    margin: 0;
    list-style: none;
}



.store-info__list.store-info__payments-logos .store-info__item {
    /* <li>をFlexコンテナにする */
    display: flex;
    /* <li>の高さに対して、中の要素（<img>）を上下中央に揃える */
    align-items: center;
    /* <li>の幅に対して、中の要素（<img>）を左右中央に揃える（オプション） */
    justify-content: center; 
    
    /* 他のスタイル（マージンなど）は必要に応じて維持またはリセット */
    margin: 0;
    padding: 0;
}

.store-info__list.store-info__payments-logos .store-info__item img {
    /* 6. ロゴ画像の最大サイズを調整（必要に応じて） */
    max-width: 50px; /* 例: ロゴの最大幅 */
    height: auto; /* 高さは自動調整 */
    display: block; /* 不要な余白を削除 */
}
.store-info__list.store-info__payments-logos .store-info__item img.store-info__payment-logo--paypay,
.store-info__list.store-info__payments-logos .store-info__item img.store-info__payment-logo--aupay,
.store-info__list.store-info__payments-logos .store-info__item img.store-info__payment-logo--dbarai,
.store-info__list.store-info__payments-logos .store-info__item img.store-info__payment-logo--waon {
    max-width: 40px;
}


.store-info__list.store-info__delivery-logos {
    display: flex;
    flex-wrap: wrap; 
    gap: 20px;
    padding: 0;
    margin: 0;
    list-style: none; /* リストの点（・）を非表示にする */
    
    /* 5. 垂直方向の配置（ロゴの高さが違う場合に中央揃えにできる） */
    align-items: center; 
}

.store-info__list.store-info__delivery-logos .store-info__item {
    /* 項目（<li>）のデフォルト設定をリセット */
    margin: 0;
    padding: 0;
}

.store-info__list.store-info__delivery-logos .store-info__item img {
    /* ロゴ画像の最大サイズを調整（必要に応じて） */
    max-width: 100px; /* HTMLのwidth属性に合わせて */
    height: auto; 
    display: block; 
}
.store-info__list.store-info__delivery-logos .store-info__item img.store-info__delivery-logo--wolt {
    max-width: 55px;
}



/* リンク */
.p-map-archive .p-single__contents a {
  color: #0073aa;
  text-decoration: underline;
  transition: color 0.2s;
}
.p-map-archive .p-single__contents a:hover {
  color: #f2c94c;
  text-decoration: none;
}

/* 店舗情報ブロック */

.p-map-archive .p-single__contents .store-info__block {
  padding: 1.8rem 0;
  border-bottom: 1px dashed #ddd;
}
.p-map-archive .p-single__contents .store-info__block:last-child {
  border-bottom: none;
}
.p-map-archive .p-single__contents .store-info__label {
  font-weight: 700;
  color: #333;
  margin-bottom: 0.3em;
}
.p-map-archive .p-single__contents .store-info__text {
  font-size: 1.5rem;
}

/* 店舗情報リスト（支払い・デリバリーなど） */
.store-info__delivery-logos { display:flex; gap: .75rem; flex-wrap:wrap; align-items:center; }
.store-info__delivery-logos .store-info__item { display:inline-flex; align-items:center; gap:.5rem; }
.store-info__logoLabel { font-size: .95rem; }


.p-map-archive .mark-takeout {
	color: #fff;
	display: inline-block;
	padding: 1px;
	width: 50px;
	text-align: center;
	margin-top: 5px;
	font-size: 12px;
	position: relative;
	top: -1px;
}
.p-map-archive .mark-takeout.ok {
	background: rgb(157,67,0);
}
.p-map-archive .mark-takeout.ng {
	background: rgb(120,120,120);
}


/* Google Map埋め込み */
.p-map-archive .p-single__contents .store-info__map iframe {
  width: 100%;
  height: 380px;
  border: 0;
  border-radius: 0.8rem;
}

/* スマホ対応 */
@media screen and (max-width: 767px) {
  .p-map-archive .p-single__contents {
    padding: 2rem;
  }
  .p-map-archive .p-single__contents .p-single__title {
    font-size: 2rem;
  }
  .p-map-archive .p-single__contents h2 {
    font-size: 1.8rem;
  }
  .p-map-archive .p-single__contents h3 {
    font-size: 1.6rem;
  }
}


/* 店舗検索ページ（single & archive 共通）専用ボタン */
.p-map-archive .store-info__menu-file .store-info__text > a.p-map-menuBtn{
  display: inline-flex;
  align-items: center;
  gap: .5em;
  padding: .6em 1.2em;
  border: 1px solid #8b4a2b;      /* 茶系の枠線 */
  border-radius: 4px;
  background: #fff9f0;             /* 薄いベージュ背景 */
  color: #8b4a2b;                  /* 茶系テキスト */
  text-decoration: none;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .02em;
  box-shadow: inset 0 0 0 1px rgba(139,74,43,.05);
    padding: 1em 6em;
}

/* hover / focus */
.p-map-archive .store-info__menu-file .store-info__text > a.p-map-menuBtn:hover,
.p-map-archive .store-info__menu-file .store-info__text > a.p-map-menuBtn:focus{
  background: #fff3e3;
  outline: none;
}

/* 左側の小さなアイコン風 */
.p-map-archive .store-info__menu-file .store-info__text > a.p-map-menuBtn .p-map-menuBtn__icon{
  width: 1.1em;
  height: 1.1em;
  position: relative;
  flex: 0 0 auto;
  border: 2px solid currentColor;
  border-radius: 3px;
}

/* アイコン内部の短冊ライン（見た目アクセント） */
.p-map-archive .store-info__menu-file .store-info__text > a.p-map-menuBtn .p-map-menuBtn__icon::before,
.p-map-archive .store-info__menu-file .store-info__text > a.p-map-menuBtn .p-map-menuBtn__icon::after{
  content: "";
  position: absolute;
  left: 50%;
  width: 60%;
  height: 2px;
  background: currentColor;
  transform: translateX(-50%);
  opacity: .9;
}
.p-map-archive .store-info__menu-file .store-info__text > a.p-map-menuBtn .p-map-menuBtn__icon::before{ top: 35%; }
.p-map-archive .store-info__menu-file .store-info__text > a.p-map-menuBtn .p-map-menuBtn__icon::after { top: 60%; }

/* スマホ時は横幅を広げて押しやすく */
@media (max-width: 599px){
  .p-map-archive .store-info__menu-file .store-info__text > a.p-map-menuBtn{
    width: 100%;
    justify-content: center;
    padding: .8em 1.2em;
  }
}





.p-map-archive .p-pager {
	padding-top: 40px;
}

.p-catch__back--map {
    background: url(../images/catch/property_bg.jpg) 50%/cover
}




/* ===== Swiper 共通 ===== */
.nearby_sec .mySwiper {
  position: relative; /* ナビ配置の基準にもなる */
  overflow: hidden;   /* ← スライドのはみ出しを防ぐ */
  padding: 12px 8px;
}

/* 念のため、はみ出しの原因になりそうな親もクリップ */
.nearby_sec .nearby,
.nearby_sec .p-single__contents,
.nearby_sec .l-wrapper--map {
  overflow: visible;  /* ※親で hidden だとナビ等が切れる */
}

.nearby_sec .mySwiper .swiper-wrapper {
  align-items: stretch; /* カード高さを揃える */
}

.nearby_sec .mySwiper .swiper-slide {
  height: auto;
  display: flex;
  align-items: stretch;
  transition: transform 300ms ease, opacity 300ms ease, box-shadow 300ms ease;
  opacity: 0.85; /* 端は少しトーンダウン */
}

.nearby_sec .mySwiper .nearby__card {
  width: 100%;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}

.nearby_sec .mySwiper .swiper-slide-active {
  opacity: 1;
}

/* スライド内カード（既存の nearby__card を活用） */
.nearby_sec .mySwiper .nearby__card {
  gap: 8px;
  background: #fffcf7;
  border-radius: 14px;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
  padding: 16px 16px 14px;
  border: 1px solid rgba(0, 0, 0, 0.06);
}

/* タイトル・テキスト（既存クラスを整える） */
.nearby_sec .mySwiper .nearby__name {
  font-size: clamp(15px, 1.6vw, 18px);
  line-height: 1.45;
  margin: 0 0 4px;
}

.nearby_sec .mySwiper .nearby__name a {
  font-size: 1.6rem;
}

.nearby_sec .mySwiper .nearby__address,
.nearby_sec .mySwiper .nearby__hours {
  font-size: 13px;
  color: #444;
  line-height: 1.6;
  margin: 0;
}

.nearby_sec .mySwiper .nearby__dist {
  font-size: 12px;
  color: #666;
  margin: 4px 0 0;
}

/* ===== ナビゲーション（純正クラス） ===== */
.nearby_sec .mySwiper .swiper-button-next,
.nearby_sec .mySwiper .swiper-button-prev {
  width: 40px;
  height: 40px;
  border-radius: 9999px;
  background: rgba(255, 255, 255, 0.95);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
  border: 1px solid rgba(0, 0, 0, 0.06);
  backdrop-filter: blur(4px);
  top: 50%;
  /* transform: translateY(-50%); */
}

.nearby_sec .mySwiper .swiper-button-next::after,
.nearby_sec .mySwiper .swiper-button-prev::after {
  font-size: 16px;
  color: #222;
}

.nearby_sec .mySwiper .swiper-button-prev {
  left: 4px;
}

.nearby_sec .mySwiper .swiper-button-next {
  right: 4px;
}

/* スマホは内側に寄せる＆少し小さめ */
@media (max-width: 480px) {
  .nearby_sec .mySwiper {
    padding: 8px 4px;
  }

  .nearby_sec .mySwiper .swiper-button-next,
  .nearby_sec .mySwiper .swiper-button-prev {
    width: 34px;
    height: 34px;
  }
}

/* タブレット以上は余白や影を少し強めに */
@media (min-width: 768px) {
  .nearby_sec .mySwiper {
    padding: 5px 10px 16px;
  }
  .nearby_sec .mySwiper .nearby__card {
    padding: 18px 18px 16px;
  }
}


/* アニメ苦手な人へ配慮 */
@media (prefers-reduced-motion: reduce) {
  .nearby_sec .mySwiper .swiper-slide {
    transition: none;
  }
}














/* =========================================================
   問い合わせフォーム
   ========================================================= */
.wpcf7 input[type="radio"] {
	width: 18px !important;
	height: 16px !important;
	vertical-align: -2px !important;
}
.wpcf7 input[type="checkbox"] {
	width: 18px !important;
	height: 16px !important;
	vertical-align: -2px !important;
}
.wpcf7 .wpcf7-list-item {
	display: block;
	padding: 3px 0;
}

.wpcf7 .wpcf7-not-valid-tip {
	margin-top: 5px;
}



.p-company__table iframe {
	width: 100%;
	height: 100%;
}

.p-otoiawase__th {
	width: 230px;
}
#shoudaku{text-align:center;padding:15px 0;}
@media screen and (max-width: 767px) {

	.p-otoiawase__th {
		width: 100%;
	}

}

.p-otoiawase__td input {
	border: 1px solid rgb(118, 118, 118);
}
