@charset "UTF-8";
/*-----------------------------------------------------
Reset
----------------------------------------------------- */
html, body, div, span,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0; padding: 0; border: 0; font-size: 100%; vertical-align: baseline;
}

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

a:link, a:visited, a:hover, a:active { color: var(--text-color); text-decoration: none; }

html {
  scroll-behavior: smooth;
  max-width: 100%;
  overflow-x: hidden;
  overscroll-behavior-x: none;
}
@supports (overflow: clip) {
  html { overflow-x: clip; }
  main { overflow-x: clip; }
}
@media (hover: hover) and (pointer: fine) {
  html { scrollbar-gutter: stable; }
}
/*[id] {scroll-margin-top:40px;}*/
body { line-height: 1; text-align: justify; background: #fff; color: var(--text-color); font-family: "LINE Seed JP", sans-serif; max-width: 100%; }
ol, ul { list-style: none; }
table { border-collapse: collapse; border-spacing: 0; }

* { margin: 0; padding: 0; }
img { max-width: 100%; width: 100%; height: auto; vertical-align: bottom; flex-shrink: 0; }
picture { display: block; }
p.small { margin-top: 15px; text-align: center; font-size: 14px; }

/*滞在色変*/
#Index nav.localnav #menu01 a , #Outline nav.localnav #menu02 a , #Plan nav.localnav #menu03 a , #Location nav.localnav #menu04 a , #Quality nav.localnav #menu05 a { color: #515151; }

/*オーバーレイ*/
.overlay { background: #fff; position: fixed; top: 0; left: 0; height: 100%; width: 100%; z-index: 10000; }

/*fade*/
.fade { opacity: 0; transition: opacity 1.5s; }
.fade.is_inview { opacity: 1; transition-delay: .8s; }

.fade_early { opacity: 0; transition: opacity 1s; }
.fade_early.is_inview { opacity: 1; transition-delay: .1s; }

.fadeup { opacity: 0; transform: translateY(30px); transition: opacity 2s, transform .8s; }
.fadeup.is_inview { opacity: 1; transform: translateY(0); transition-delay: .1s; }
.fadeup02 { opacity: 0; transform: translateY(30px); transition: opacity 2s, transform .8s; }
.fadeup02.is_inview  { opacity: 1; transform: translateY(0); transition-delay: .2s; }
.fadeup03 { opacity: 0; transform: translateY(30px); transition: opacity 2s, transform 1s; }
.fadeup03.is_inview  { opacity: 1; transform: translateY(0); transition-delay: .3s; }

.center { text-align: center; }
.left { text-align: left; }
.right { text-align: right; }

/*-----------------------------------------------------

common

----------------------------------------------------- */
#Panel {content-visibility:auto; contain-intrinsic-size: 1px 1200px;}

h1 , h2 , h3 , h4 , h5 { font-feature-settings: "palt"; font-weight: initial; line-height: 1.5; }
.pc { display: block; }
.tab { display: none; }
.sp { display: none; }
p { font-feature-settings: "palt"; line-height: 1.6; }

/*[data-overDirection="full"] { width: 100vw; margin: 0 calc(50% - 50vw); }*/
[data-size="w750"]{ max-width: 750px; margin: 0 auto; }
[data-size="w800"]{ max-width: 800px; margin: 0 auto; }
[data-size="w900"]{ max-width: 900px; width: 90%; margin: 0 auto; }
[data-size="w1000"]{ max-width: 1000px; width: 90%; margin: 0 auto; }
[data-size="w1200"]{ max-width: 1200px; width: 90%; margin: 0 auto; }
[data-size="padding_inner"]{ padding-left: 20px; padding-right: 20px; box-sizing: border-box; margin: 0 auto; }


:root {
	--blue-color: #3331ba;
/*  --purple-color: #87217b;*/
  --pink-color: #f757a3;
  --purple-color: #4c3598;
  --brown-color: #752e17;
  --orange-color: #ff8b13;
  --news-orange: #ff6000;
  --place-brown: #5c3d2e;
  --cafe-blue: #02499c;
  --cafe-border: #61a8c0;
  --text-color: #323232;
}

.line { border:solid #bb915c82 .3px; margin-bottom: 40px; }
.center { text-align: center; }
.left { text-align: left; }
.right { text-align: right; }

.kv { width: 100%; position: relative; line-height: 0; }
.kv img { width: 100%; height: auto; display: block; }

.news { position: relative; z-index: 1; background: var(--orange-color); padding: 24px 0; }
.news .news_inner {display:flex; align-items:center; width: 90%;}
.news h3 { font-size: clamp(1.25rem, 1.172rem + 0.39vw, 1.563rem); font-weight: 700; margin-right: 20px; padding-top: 0; color: #fff; }
.news h3::before { content: ''; display: inline-block; background: url("../img/icon_news.svg")no-repeat; width: 10px; height: 11px; background-size: contain; vertical-align: 4px; margin-right: 10px; filter: brightness(0) invert(1); }
.news .typing {position:relative; display:inline-block; flex:0 0 auto; padding-left:20px; color: #fff;}
.news .typing::before {content:''; position:absolute; left:0; top:13px; width:10px; height:11px; background:url("../img/icon_news.svg") no-repeat; background-size:contain; filter: brightness(0) invert(1);}
.news .typing__text {display:inline-block; position:relative;}
.news .typing__text span { display:inline-block; opacity:0; transform:translateY(0.1em); animation:reveal 4.2s ease-in-out infinite; }
.news .typing__text span:nth-child(1) { animation-delay:0s; }
.news .typing__text span:nth-child(2) { animation-delay:0.2s; }
.news .typing__text span:nth-child(3) { animation-delay:0.4s; }
.news .typing__text span:nth-child(4) { animation-delay:0.6s; }
@keyframes reveal {
  0% { opacity:0; transform:translateY(0.1em); }
  15% { opacity:1; transform:translateY(0); }
  60% { opacity:1; transform:translateY(0); }
  80% { opacity:0; transform:translateY(0.1em); }
  100% { opacity:0; transform:translateY(0.1em); }
}

.news dl { overflow-y:auto; box-sizing:border-box; padding: 20px 30px; width: 100%; background: #fff; border-radius: 18px; max-height: 148px; }
.news dl div { display: flex; align-items: baseline; }
.news dl div { margin-bottom: 10px; }
.news dl div:last-of-type { margin-bottom: 0; }
.news dl dt { color: var(--news-orange); background: transparent; padding: 0; box-sizing: border-box; font-size: clamp(0.875rem, 0.844rem + 0.16vw, 1rem); font-weight: 700; margin-right: 16px; max-width: 190px; width: 100%; text-align: left; }
.news dl dt::before { content: ''; display: inline-block; background: url("../img/icon_date.svg")no-repeat; background-size: contain; width: 12px; height: 13px; margin-right: 3px; vertical-align: -1px; filter: brightness(0) saturate(100%) invert(48%) sepia(93%) saturate(2000%) hue-rotate(1deg); }
.news dl dd { line-height: 1.4; font-size: clamp(0.938rem, 0.891rem + 0.23vw, 1.125rem); color: var(--brown-color); }
.news dl dd a { text-decoration: underline; }
.news svg { fill:#e6daf5 }

.intro_container { background-color: #fff5eb; background-image: repeating-linear-gradient(90deg, #fff5eb 0 22px, #fff0dd 22px 44px); padding: 100px 0; position: relative; overflow: hidden; isolation: isolate; }
.intro_container .intro_ttl_wrap { position: relative; text-align: center; margin: 0 auto 40px; }
.intro_container h1 { position: relative; z-index: 1; }
.intro_container .intro_ttl { max-width: 65%; width: 86%; margin: 0 auto; position: relative; z-index: 1; }
.intro_container .txt { text-align: center; font-size: clamp(0.938rem, 3vw, 1.875rem); font-weight: 600; margin-bottom: 0; color: var(--brown-color); line-height: 1.6; position: relative; z-index: 1; }
.intro_container .btn_wrap { position: relative; /*z-index: 1;*/ }
.intro_container .btn_wrap a.btn_main { max-width: 550px; width: 100%; display: block; margin: 0 auto 80px; filter: drop-shadow(0px 7px 7px rgba(79, 67, 177, 0.6)); }
.intro_container .btn_wrap .btn_anchor { display: flex; align-items: center; justify-content: center; gap: 30px; }
.intro_container .btn_wrap .btn_anchor:not(:last-child) { margin-bottom: 25px; }
.intro_container .btn_wrap .btn_anchor a { filter: drop-shadow(0px 2px 5px rgba(479, 47, 37, 0.6)); }
.intro_container .btn_wrap .btn_anchor a.btn01 , .intro_container .btn_wrap .btn_anchor a.btn03 { max-width: 335px; }
.intro_container .btn_wrap .btn_anchor a.btn02 , .intro_container .btn_wrap .btn_anchor a.btn04 { max-width: 288px; }
.intro_container .btn_wrap a { transition: .15s; }
.intro_container .btn_wrap a:hover { filter: none; transform: translateY(5px); }
@media (hover: none) and (pointer: coarse) {
  .intro_container .btn_wrap a, .cv_area .btn_wrap a { filter: none !important; }
}
/*馬蹄パーツ*/
.intro_container img.parts_bg01 { position: absolute; top: 10%; width: 180px; left: 50px; }
.intro_container img.parts_bg02 { position: absolute; top: 20%; width: 112px; left: 160px; }
.intro_container img.parts_bg03 { position: absolute; top: 30%; width: 77px; left: 100px; }
.intro_container img.parts_bg04 { position: absolute; top: 50%; width: 200px; left: 50px; }
.intro_container img.parts_bg05 { position: absolute; top: 55%; width: 90px; left: 100px; }
.intro_container img.parts_bg06 { position: absolute; top: 70%; width: 200px; left: 130px; }
.intro_container img.parts_bg07 { position: absolute; top: 10%; width: 105px; right: 80px; }
.intro_container img.parts_bg08 { position: absolute; top: 20%; width: 230px; right: 20px; }
.intro_container img.parts_bg09 { position: absolute; top: 35%; width: 133px; right: 50px; }
.intro_container img.parts_bg10 { position: absolute; top: 40%; width: 60px; right: 10px; }
.intro_container img.parts_bg11 { position: absolute; top: 50%; width: 165px; right: 50px; }
.intro_container img.parts_bg12 { position: absolute; bottom: 8%; width: 240px; right: 5%; }
.intro_container img.parts_bg13 { position: absolute; bottom: 5%; width: 150px; right: 2%; }

/*2026 馬蹄・野菜あしらい*/
.intro_container img[class*="parts_horseshoes"],
.intro_container img[class*="parts_vege"] { position: absolute; pointer-events: none; height: auto; }
.intro_container img.parts_horseshoes01 { top: 8%; left: 2%; width: 200px; z-index: 0; opacity: .85; }
.intro_container img.parts_horseshoes02 { top: 38%; left: 8%; width: 130px; z-index: 0; opacity: .7; }
.intro_container img.parts_horseshoes03 { top: 12%; right: 6%; width: 220px; z-index: 0; opacity: .75; }
.intro_container img.parts_horseshoes04 { bottom: 8%; right: 4%; width: 210px; z-index: 0; opacity: .8; }
.intro_container img.parts_horseshoes05 { bottom: 18%; left: 4%; width: 170px; z-index: 0; opacity: .7; }
.intro_container img.parts_vege01 { top: 26%; left: -1%; width: 138px; z-index: 2; }
.intro_container img.parts_vege02 { top: 50%; left: 0%; width: 188px; z-index: 2; }
.intro_container img.parts_vege03 { top: 12%; left: 9%; width: 98px; z-index: 2; }
.intro_container img.parts_vege04 { top: 3%; right: 1%; width: 122px; z-index: 2; }
.intro_container img.parts_vege05 { bottom: 3%; left: 5%; width: 148px; z-index: 2; }
.intro_container img.parts_vege06 { top: 30%; right: 8%; width: 82px; z-index: 2; }
.intro_container img.parts_vege07 { top: 48%; right: 1%; width: 92px; z-index: 2; }
.intro_container img.parts_vege08 { bottom: 1%; right: -1%; width: 210px; z-index: 2; }

/*-----------------------------------------------------
MARCHE / 詰め合わせバッグ / アニメイトカフェ（2026 1/2）
----------------------------------------------------- */
#Marche { position: relative; overflow: visible; }
.marche_hero {
  position: relative;
  z-index: 2;
  background-color: #ffd7a5;
  background-image: linear-gradient(180deg, #ffe3c8 0%, #fff0de 30%);
  padding-top: clamp(45px, 8vw, 100px);
}
.marche_hero__ttl {
  position: relative;
  z-index: 5;
  width: min(640px, 58%);
  margin: 0 auto clamp(-56px, -5vw, -28px);
}
.marche_hero__ttl img { width: 100%; height: auto; display: block; }
.marche_hero__wave {
  height: clamp(60px, 9vw, 130px);
  overflow: hidden;
  margin-bottom: -2px;
  pointer-events: none;
  line-height: 0;
}
.marche_hero__wave picture,
.marche_hero__wave img {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -20px;
  width: 100%;
  height: auto;
  display: block;
}

.marche_body {
  position: relative;
  z-index: 1;
  padding: 100px 0;
  background: url("../img/marche_bg.webp") repeat;
}
.marche_intro {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  max-width: 1000px;
  width: 90%;
  margin: 0 auto 50px;
  position: relative;
  z-index: 1;
}
.marche_lead {
  flex: 1;
  min-width: 0;
  margin: 0;
  text-align: left;
  color: var(--brown-color);
  font-size: clamp(0.938rem, 3vw, 1.875rem);
  font-weight: 700;
  line-height: 1.6;
}
.marche_intro__img {
  flex: 0 0 auto;
  width: min(260px, 32%);
  border: 8px solid #fff;
  border-radius: 20px;
  box-sizing: border-box;
  transform: rotate(5deg);
  position: relative;
  overflow: hidden;
}
.marche_intro__img img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 16px;
}
.marche_intro__img::after {
  content: "";
  position: absolute;
  inset: -30%;
  background: linear-gradient(
    118deg,
    transparent 46%,
    rgba(255, 250, 240, 0.12) 49%,
    rgba(255, 255, 255, 0.32) 50%,
    rgba(255, 250, 240, 0.12) 51%,
    transparent 54%
  );
  transform: translateX(-160%) skewX(-14deg);
  animation: miho-shine 11s cubic-bezier(0.45, 0, 0.2, 1) infinite;
  pointer-events: none;
  mix-blend-mode: overlay;
}
@keyframes miho-shine {
  0%, 76% {
    transform: translateX(-160%) skewX(-14deg);
    opacity: 0;
  }
  80% { opacity: 1; }
  90% {
    transform: translateX(160%) skewX(-14deg);
    opacity: 0.85;
  }
  92%, 100% {
    transform: translateX(160%) skewX(-14deg);
    opacity: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .marche_intro__img::after { animation: none; }
}

#Bag {
  max-width: 1200px;
  width: 90%;
  margin: 0 auto 100px;
  background: #fff;
  border-radius: 70px;
  padding: 80px 0;
  box-sizing: border-box;
}
#Bag .bag_inner { max-width: 1000px; width: 90%; margin: 0 auto; }
#Bag .bag_head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 28px; }
#Bag .bag_chara { width: 150px; }
#Bag .bag_vege { width: 190px; }
#Bag .bag_ttl { flex: 1; text-align: center; min-width: 0; }
#Bag .bag_ttl h2 { margin-bottom: 25px; }
#Bag .bag_ttl h2 img { max-width: 560px; width: 100%; margin: 0 auto; }
#Bag .bag_ttl p { font-size: clamp(0.875rem, 2.6vw, 1.5rem); font-weight: 700; line-height: 1.6; }
#Bag .bag_photos { max-width: 800px; margin: 0 auto 30px; }
#Bag .bag_item img { width: 100%; height: auto; border-radius: 5px; }
#Bag .bag_size { margin-top: 10px; text-align: right; color: #898989; font-size: 0.875rem; font-weight: 500; line-height: 1.4; }
#Bag .bag_item figcaption { text-align: center; font-size: 1.25rem; font-weight: 700; line-height: 1.5; margin-top: 20px; }
#Bag .bag_price { max-width: 500px; margin: 0 auto 10px; }
#Bag .bag_price img { width: 100%; height: auto; }

#Bag .bag_present { border-radius: 24px; overflow: visible; position: relative; margin-bottom: 30px; margin-top: 40px; }
#Bag .bag_present__head { background: var(--orange-color); border-radius: 40px 40px 0 0; padding: 25px 55px; text-align: left; }
#Bag .bag_present__head img { max-width: min(620px, 52vw); width: 100%; z-index: 3; position: relative; }
#Bag .bag_present__body {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 18px 50px 28px;
  border-radius: 0 0 5px 5px;
  background: url("../img/bag_present__bg.webp") no-repeat center / cover;
  overflow: visible;
}
#Bag .bag_present__copy { max-width: 560px; width: 72%; position: relative; z-index: 1; }
#Bag .bag_present__card {
  position: absolute;
  right: 44px;
  top: -118px;
  z-index: 0;
  width: min(250px, 36%);
  max-width: 250px;
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 8px 20px rgba(79, 67, 177, 0.18);
}
#Bag .bag_present__card img { width: 100%; height: auto; display: block; }
#Bag .bag_star { position: absolute; z-index: 5; pointer-events: none; }
#Bag .bag_star--l { width: 105px; left: -60px; top: -20%; }
#Bag .bag_star--tr { width: 70px; right: 60px; top: -170px; }
#Bag .bag_star--br { width: 83px; right: -40px; bottom: 20px; }

#Place,
.place {
  width: 100%;
  margin: 0;
  background: #fff;
  border: 3px solid var(--place-brown);
  border-radius: 20px;
  overflow: hidden;
  box-sizing: border-box;
  margin-top: 30px;
}
#Place .place_ttl,
.place .place_ttl {
  background: var(--place-brown);
  color: #fff;
  text-align: center;
  font-size: clamp(1.125rem, 3vw, 1.875rem);
  font-weight: 700;
  padding: 8px 0 6px;
}
#Place .place_inner,
.place .place_inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  padding: 36px 50px;
  box-sizing: border-box;
}
#Place .place_info,
.place .place_info { flex: 1; min-width: 0; }
#Place .name,
.place .name { color: var(--orange-color); font-size: clamp(1.25rem, 1.031rem + 1.09vw, 1.75rem); font-weight: 800; margin-bottom: 10px; }
#Place .address,
.place .address { font-size: 1rem; line-height: 1.6; }
#Place .place_photo,
.place .place_photo { max-width: 450px; width: 48%; }
#Place .place_photo img,
.place .place_photo img { border-radius: 10px; display: block; }
#Goods .place,
#Panel .place { max-width: 1000px; width: 90%; margin: 0 auto; }

#Cafe {
  max-width: 1200px;
  width: 90%;
  margin: 0 auto;
  position: relative;
  background: url("../img/cafe_bg.webp") no-repeat center / cover;
  border: 40px solid var(--cafe-border);
  border-radius: 70px;
  box-sizing: border-box;
  padding: 60px 0;
}
#Cafe .cafe_inner { max-width: 1000px; width: 90%; margin: 0 auto; text-align: center; }
#Cafe .cafe_corner { position: absolute; width: 70px; height: 70px; background: var(--cafe-border); border-radius: 50%; z-index: 2; }
#Cafe .cafe_corner--tl { top: -30px; left: -30px; }
#Cafe .cafe_corner--tr { top: -30px; right: -30px; }
#Cafe .cafe_corner--bl { bottom: -30px; left: -30px; }
#Cafe .cafe_corner--br { bottom: -30px; right: -30px; }
#Cafe .cafe_subttl { max-width: 250px; margin: 0 auto 8px; }
#Cafe .cafe_ttl_wrap { display: flex; align-items: center; justify-content: center; gap: 18px; margin-bottom: 22px; }
#Cafe .cafe_ttl { max-width: 520px; width: 62%; }
#Cafe .cafe_cutlery,
#Cafe .cafe_cup { width: 88px; flex-shrink: 0; }
#Cafe .txt { font-size: clamp(0.875rem, 2.6vw, 1.5rem); font-weight: 700; line-height: 1.6; margin-bottom: 20px; }
#Cafe .cafe_date { display: inline-flex; align-items: stretch; overflow: hidden; border-radius: 6px; margin-bottom: 25px; }
#Cafe .cafe_date__ttl { background: var(--place-brown); color: #fff; font-weight: 700; font-size: 1.25rem; padding: 10px 22px; display: flex; align-items: center; }
#Cafe .cafe_date__txt { background: #f7d7c4; color: var(--place-brown); font-weight: 800; font-size: clamp(1.125rem, 0.969rem + 0.78vw, 1.75rem); padding: 10px 28px; letter-spacing: .04em; }
#Cafe .cafe_comingsoon { max-width: 820px; margin: 0 auto; }
#Cafe .cafe_pop { max-width: 560px; margin: 0 auto; }
#Cafe .cafe_pop a { display: block; cursor: pointer; }
#Cafe .cafe_pop img { width: 100%; height: auto; border-radius: 12px; box-shadow: 0 8px 18px rgba(2, 73, 156, 0.32); transition: transform .2s; }
#Cafe .cafe_pop__note { display: block; margin-top: 16px; text-align: center; color: var(--cafe-blue); font-size: 0.875rem; font-weight: 700; line-height: 1.4; }
@media (hover: hover) and (pointer: fine) {
  #Cafe .cafe_pop a:hover img { transform: translateY(-4px); }
}
.cafe-pop-modal.modaal-image .modaal-inner-wrapper { padding: 40px 24px !important; }

#Pickup { width: min(1160px, 92%); margin: 80px auto 0; padding: 70px 60px 60px; box-sizing: border-box; background: #fbece4; border-radius: 32px; }
#Pickup .pickup_ttl { max-width: 720px; width: 92%; margin: 0 auto 28px; }
#Pickup .pickup_ttl img { width: 100%; height: auto; display: block; }
#Pickup .pickup_lead { text-align: center; color: var(--brown-color); font-size: clamp(1rem, 1.8vw, 1.25rem); font-weight: 700; line-height: 1.6; margin-bottom: 40px; }
#Pickup .pickup_list { display: flex; align-items: flex-start; gap:40px; width: 100%; margin-left: auto; margin-right: auto; }
#Pickup .pickup_item { flex: 1; min-width: 0; }
#Pickup .pickup_item > img { width: 100%; height: auto; display: block; margin-bottom: 18px; border-radius: 20px; }
#Pickup .pickup_name { border-bottom: 3px solid var(--orange-color); padding-bottom: 12px; margin-bottom: 12px; }
#Pickup .pickup_shop { display: block; width: fit-content; margin-bottom: 10px; border: 2px solid var(--orange-color); border-radius: 6px; color: var(--orange-color); font-size: clamp(0.875rem, 1.4vw, 1.125rem); font-weight: 700; line-height: 1.3; padding: 4px 12px; background: #fff; }
#Pickup .pickup_dish { color: var(--brown-color); font-size: clamp(1.375rem, 2.2vw, 1.875rem); letter-spacing: .14em; font-weight: 800; line-height: 1.2; }
#Pickup .pickup_price { display: inline-block; margin-left: 10px; color: var(--brown-color); font-size: clamp(1.125rem, 1.8vw, 1.5rem); font-weight: 800; letter-spacing: .02em; line-height: 1.2; white-space: nowrap; vertical-align: baseline; }
#Pickup .pickup_price span { font-size: 70%; font-weight: 700; }
#Pickup .pickup_desc { color: var(--brown-color); font-size: clamp(0.938rem, 1.5vw, 1.125rem); font-weight: 700; line-height: 1.7; margin-bottom: 18px; text-align: left; }
#Pickup .pickup_info { background: #fff; border-radius: 6px; color: #4a4a4a; font-size: clamp(0.75rem, 1.2vw, 0.875rem); font-weight: 500; line-height: 1.7; padding: 12px 16px; text-align: left; }
#Pickup .pickup_note { margin: 28px 0 0; text-align: center; color: var(--brown-color); font-size: clamp(0.75rem, 1.2vw, 0.875rem); font-weight: 500; line-height: 1.7; }

.chokubai {
  --chokubai-green: #009968;
  width: min(1160px, 92%);
  margin: 48px auto 0;
  padding: 50px 60px;
  box-sizing: border-box;
  background: #fff;
  border-radius: 32px;
  text-align: left;
  overflow: hidden;
}
.chokubai_ttl {
  max-width: 576px;
  width: 80%;
  margin: 0 auto 28px;
  line-height: 0;
  text-align: center;
}
.chokubai_ttl img { width: 100%; max-width: 100%; height: auto; display: block; }
.chokubai_inner {
  display: flex;
  align-items: center;
  gap: 36px;
}
.chokubai_photo {
  flex: 0 1 40%;
  max-width: 520px;
  margin: 0;
}
.chokubai_photo img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 16px;
}
.chokubai_body { flex: 1; min-width: 0; }
.chokubai_name {
  display: inline-block;
  color: var(--chokubai-green);
  font-size: clamp(1.5125rem, 2.2vw, 1.925rem);
  font-weight: 800;
  letter-spacing: .04em;
  line-height: 1.4;
  margin-bottom: 14px;
  padding-bottom: 2px;
  border-bottom: 3px solid var(--orange-color);
}
.chokubai_desc {
  font-weight: 700;
  line-height: 1.6;
}
.chokubai_desc {
  font-size: clamp(0.938rem, 1.35vw, 1.0625rem);
  margin-bottom: 20px;
}
.chokubai_address,
.chokubai_hours,
.chokubai_closed {
  font-size: clamp(0.75rem, 1.2vw, 0.875rem);
  font-weight: 500;
}
.chokubai_address { margin-bottom: 16px; }

.voice {
  --voice-orange: #d87830;
  --voice-pink: #d01078;
  width: min(1160px, 92%);
  margin: 40px auto 0;
  padding: 36px 16px 28px 48px;
  box-sizing: border-box;
  background: #fffbf0;
  border-radius: 24px;
  text-align: left;
  position: relative;
  border: 6px solid var(--orange-color);
  box-sizing: border-box;
}

.voice_inner {
  display: flex;
  align-items: center;
  gap: 16px;
}
.voice_body {
  flex: 1;
  min-width: 0;
  position: relative;
  z-index: 1;
  -webkit-text-stroke: 6px #fffbf0;
  paint-order: stroke fill;
}
.voice_lead {
  font-size: clamp(1rem, 1.7vw, 1.875rem);
  font-weight: 800;
  line-height: 1.5;
  margin-bottom: 3px;
}
.voice_ttl {
  color: var(--orange-color);
  font-size: clamp(2.1rem, 4.8vw, 5rem);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: .04em;
  margin-bottom: 16px;
}
.voice_address,
.voice_hours_label,
.voice_hours,
.voice_hours dt,
.voice_hours dd {
  font-size: clamp(0.75rem, 1.2vw, 0.875rem);
  font-weight: 500;
  line-height: 1.6;
}
.voice_address { margin-bottom: 10px; }
.voice_hours_label { margin-bottom: 0; }
.voice_hours {
  display: grid;
  grid-template-columns: auto auto;
  column-gap: 1.75em;
  justify-content: start;
  margin: 0 0 10px;
}
.voice_hours dd { margin: 0; }
.voice_note {
  color: var(--voice-pink);
  font-size: clamp(0.875rem, 1.3vw, 1.0625rem);
  font-weight: 800;
  line-height: 1.6;
}
.voice_photo {
  flex: 0 1 36%;
  max-width: 365px;
  margin: 0;
  position: absolute;
  bottom: 0;
  right: 30px;
}
.voice_photo img { width: 100%; height: auto; display: block; }

.marche_body > .lead {
  font-size: clamp(1rem, 2.4vw, 1.5rem);
  font-weight: 700;
  text-align: center;
  color: var(--brown-color);
  line-height: 1.7;
  margin: 50px auto 0;
  max-width: 1000px;
  width: 90%;
}

/* たまにカタッ（再生は JS で不定期にクラス付与） */
.bag_chara,
.bag_vege,
#Bag .bag_star,
#Cafe .cafe_cutlery,
#Cafe .cafe_cup {
  transform-origin: center center;
}
.bag_chara { transform-origin: 50% 78%; }
.bag_vege { transform-origin: 50% 70%; }
#Cafe .cafe_cutlery,
#Cafe .cafe_cup { transform-origin: 50% 88%; }

.bag_chara.is-katakata,
.bag_vege.is-katakata,
#Bag .bag_star.is-katakata,
#Cafe .cafe_cutlery.is-katakata,
#Cafe .cafe_cup.is-katakata {
  transition: none !important;
}

.bag_chara.is-katakata { animation: kata-chara .55s cubic-bezier(.2, .8, .2, 1) both; }
.bag_chara.is-katakata--alt { animation-name: kata-chara-alt; }
.bag_vege.is-katakata { animation: kata-vege .55s cubic-bezier(.2, .8, .2, 1) both; }
.bag_vege.is-katakata--alt { animation-name: kata-vege-alt; }
#Bag .bag_star.is-katakata { animation: kata-star-spin 1.35s cubic-bezier(.45, .05, .2, 1) both; }
#Bag .bag_star.is-katakata--alt { animation: kata-star-sway 1.8s ease-in-out both; }
#Cafe .cafe_cutlery.is-katakata { animation: kata-cutlery .55s cubic-bezier(.2, .8, .2, 1) both; }
#Cafe .cafe_cutlery.is-katakata--alt { animation-name: kata-cutlery-alt; }
#Cafe .cafe_cup.is-katakata { animation: kata-cup .55s cubic-bezier(.2, .8, .2, 1) both; }
#Cafe .cafe_cup.is-katakata--alt { animation-name: kata-cup-alt; }

@keyframes kata-chara {
  0%, 100% { transform: rotate(0deg) translate(0, 0); }
  18%, 58% { transform: rotate(-8deg) translate(-6px, 4px); }
}
@keyframes kata-chara-alt {
  0%, 100% { transform: rotate(0deg) translate(0, 0); }
  18%, 58% { transform: rotate(8deg) translate(6px, -3px); }
}
@keyframes kata-vege {
  0%, 100% { transform: rotate(0deg) translate(0, 0); }
  18%, 58% { transform: rotate(7deg) translate(6px, -3px); }
}
@keyframes kata-vege-alt {
  0%, 100% { transform: rotate(0deg) translate(0, 0); }
  18%, 58% { transform: rotate(-7deg) translate(-6px, 4px); }
}
@keyframes kata-star-spin {
  0% { transform: rotate(0deg) scale(1); }
  55% { transform: rotate(360deg) scale(1.08); }
  100% { transform: rotate(360deg) scale(1); }
}
@keyframes kata-star-sway {
  0%, 100% { transform: rotate(0deg); }
  20% { transform: rotate(-14deg); }
  40% { transform: rotate(12deg); }
  60% { transform: rotate(-8deg); }
  80% { transform: rotate(5deg); }
}
@keyframes kata-cutlery {
  0%, 100% { transform: rotate(0deg) translate(0, 0); }
  18%, 58% { transform: rotate(-8deg) translate(-5px, 3px); }
}
@keyframes kata-cutlery-alt {
  0%, 100% { transform: rotate(0deg) translate(0, 0); }
  18%, 58% { transform: rotate(8deg) translate(5px, -2px); }
}
@keyframes kata-cup {
  0%, 100% { transform: rotate(0deg) translate(0, 0); }
  18%, 58% { transform: rotate(8deg) translate(5px, -3px); }
}
@keyframes kata-cup-alt {
  0%, 100% { transform: rotate(0deg) translate(0, 0); }
  18%, 58% { transform: rotate(-8deg) translate(-5px, 3px); }
}

/*スライド（写真）*/
#Slider_wrapper { position: relative; }
/*#Slider_wrapper .slide_logo { position: absolute; right: 0; left: 0; margin: auto; z-index: 2; max-width: 700px; width: 90%; top: -70%; }*/
#Slider_wrapper .slide_logo { position: absolute; right: 0; left: 0; margin: auto; z-index: 2; top: -200px; max-width: 700px; width: 90%; }
#Slider img { width: 100%; }

/*スライド（パネル）*/
#Slider_panel .slick-slide { padding:0 12px; height:280px; display:flex; align-items:flex-end; justify-content:center; }
#Slider_panel img { max-height:100%; width:auto; object-fit:contain; display:block; }

/*スタンプラリー*/
#Stamp_rally { background: url("../img/border_bg.png")repeat; padding: 100px 0; }
#Stamp_rally .sec_container { border: 5px solid #87217b; border-radius: 70px; background: #fff; padding: 80px; box-sizing: border-box; }
#Stamp_rally .sec_intro { margin-bottom: 50px; }
#Stamp_rally .sec_container .sr_date { width: 80%; margin: 0 auto 30px; }
#Stamp_rally .flex { display: flex; justify-content: space-between; align-items: center; gap: 30px; }
#Stamp_rally .txt { font-size: clamp(1.125rem, 0.969rem + 0.78vw, 1.75rem); font-weight: 700; line-height: 1.5; margin-bottom: 15px; }
#Stamp_rally .txt_big { font-size: clamp(1.375rem, 1.172rem + 1.02vw, 2.188rem); font-weight: 700; line-height: 1.3; }
#Stamp_rally .sec_intro picture { max-width: 300px; width: 100%; }
#Stamp_rally .present h2.en::before { content:''; background: url("../img/en_present.svg")no-repeat; display: block; background-size: contain; aspect-ratio: 132 / 68; width: 132px; margin: 0 auto; }
#Stamp_rally .spot h2.en::before { content:''; background: url("../img/en_spot.svg")no-repeat; display: block; background-size: contain; aspect-ratio: 76 / 68; width: 76px; margin: 0 auto; }
#Stamp_rally h2.en { text-align: center; font-size: clamp(1.875rem, 1.563rem + 1.56vw, 3.125rem); font-weight: 700; margin-bottom: 30px; }

#Stamp_rally .present_wrap { display: flex; justify-content: space-between; flex-wrap: wrap; margin-bottom: 50px; margin-top: 60px; }
#Stamp_rally .present_item { position: relative; border-radius: 10px; width: 47%; }
#Stamp_rally .present_item:first-of-type .ttl::before { content: ''; position: absolute; background: url("../img/sr_pre1_icon.svg")no-repeat; background-size: contain; aspect-ratio: 124 / 124; width: 124px; display: block; left: -20px; top: -80px; z-index: 1; }
#Stamp_rally .present_item:last-of-type .ttl::before { content: ''; position: absolute; background: url("../img/sr_pre2_icon.svg")no-repeat; background-size: contain; aspect-ratio: 205 / 90; width: 205px; display: block; left: -20px; top: -65px; z-index: 1; }
#Stamp_rally .present_item .item_inner { background: #f9f6fd; padding: 25px; box-sizing: border-box; border-radius: 0 0 10px 10px; }
#Stamp_rally .present_item .item_inner p.small { margin-top: 5px; }
#Stamp_rally .present_wrap .ttl { background: #3F3396; background: linear-gradient(70deg, rgba(63, 51, 150, 1) 0%, rgba(247, 0, 128, 0.85) 100%); color: #fff; text-align: center; padding: 10px 20px; box-sizing: border-box; font-size: clamp(1.563rem, 1.328rem + 1.17vw, 2.5rem); font-weight: 700; border-radius: 10px 10px 0 0; line-height: 1; }
#Stamp_rally .present_wrap .ttl span { font-size: clamp(2.5rem, 2.188rem + 1.56vw, 3.75rem); vertical-align: -3px; }
#Stamp_rally .present_wrap .name { font-size: clamp(1.25rem, 1.031rem + 1.09vw, 2.125rem); font-weight: 700; text-align: center; color: var(--blue-color);}
#Stamp_rally .date { font-size: clamp(0.875rem, 0.813rem + 0.31vw, 1.125rem); font-weight: 700; text-align: center; margin-bottom: 15px; line-height: 1.4; }
#Stamp_rally .present_item .sub_txt { text-align: center; font-size: clamp(0.875rem, 0.844rem + 0.16vw, 1rem); color: #fb59a5; font-weight: 700; margin-top: 10px; }
#Stamp_rally .present_item .sr_pre { position: relative; }
#Stamp_rally .present_item .sr_pre.sold::before { content: ''; position: absolute; background: url("../img/soldout_pre.svg")no-repeat; background-size: contain; aspect-ratio: 113 / 113; width: 30%; left: -1px; top: -1px; z-index: 1; } 


/*common annotation*/
.annotation p::before { content: ''; display: inline-block; background: url("../img/icom_an.svg")no-repeat; aspect-ratio: 19 / 18; width: 19px; vertical-align: -3px; margin-right: 3px; }
.annotation p { font-size: clamp(0.688rem, 0.641rem + 0.23vw, 0.875rem); color: #f50006; background: #fffbe2; padding: 5px 20px; margin: 10px 0; box-sizing: border-box; }

/*common location*/
.location { max-width: 1000px; margin: 0 auto; border-radius: 10px; }
.location .flex { display: flex; justify-content: space-between; gap: 20px; }
.location .location_inner { padding: 40px; border-radius: 0 0 10px 10px; margin-bottom: 80px; background: #fff; }

.location .ttl { font-size: clamp(1.125rem, 0.938rem + 0.94vw, 1.875rem); font-weight: 700; text-align: center;  color: #fff; border-radius: 10px 10px 0 0; padding: 3px 0 1px }
.location .mihohureai_plaza { max-width: 450px; width: 100%; }
.location .mihohureai_plaza img { border-radius: 10px; }
.location .name { font-size: clamp(1.125rem, 1.016rem + 0.55vw, 1.563rem); font-weight: 700; margin-bottom: 5px; }
.location .addoress { font-size: clamp(0.813rem, 0.781rem + 0.16vw, 0.938rem); }

#Stamp_rally .location .location_inner , #Goods .location .location_inner{ border: 3px solid var(--blue-color); }
#Stamp_rally .location .ttl , #Goods .location .ttl { background: var(--blue-color); }
#Stamp_rally .location .name , #Goods .location .name { color: var(--blue-color); }
#Panel .location .location_inner { border: 3px solid var(--pink-color); margin-bottom: 0; }
#Panel .location .ttl { background: var(--pink-color); }

/*common map_spot*/
.spot { max-width: 800px; margin: 0 auto; }
.spot iframe { border-style: none; margin-bottom: 30px; }

/*iframe埋め込み*/
.map-embed { width:100%; max-width:100%; overflow:hidden; aspect-ratio: 16/9; min-height:240px; }
#mymap-fallback { font-size: 14px; }
.map_annotation { font-size: 0.813rem; margin-top: 10px; }
@supports not (aspect-ratio: 1) {
  .map-embed{ position:relative; height:0; padding-top:56.25%; } /* 16:9 */
  .map-embed > iframe{ position:absolute; inset:0; width:100%; height:100%; display:block; }
}

.spot_details { display: flex; flex-wrap: wrap; justify-content: space-between; margin-top: 30px; counter-reset: item-count; }
.spot_details .detail { width: 48%; counter-increment: item-count; margin-bottom: 30px; }
.spot_details .detail .name::before { content: counter(item-count) ". "; display: inline-block; background: url("../img/icon_spot.svg")no-repeat; background-size: contain; aspect-ratio: 21 / 31; padding-left: 50px; }
.spot_details .detail .name { font-size:1.375rem; font-weight: 700; border-bottom: 1px solid; color: var(--blue-color); margin-bottom: 10px; text-indent: -1em; padding-left: 1em; }
.spot_details .info { font-size: 0.938rem; }
.spot_details .detail:nth-last-child(n+2) { margin-bottom: 30px; }
.spot_details .genre { display: flex; margin-top: 3px; font-size: clamp(0.813rem, 0.797rem + 0.08vw, 0.875rem); color: #87217b; }
.spot_details .genre::before { content: 'ジャンル'; display: inline-block; background:#87217b; padding: 2px 5px; text-align: center; color: #fff; font-size: 10px; font-weight: 700; margin-right: 7px; display: flex; align-items: center; justify-content: center; border-radius: 2px; }

.spot_message_wrap p.red_txt { font-weight: 700; color: #f50006; text-align: center; margin-bottom: 15px; font-size: clamp(0.813rem, 0.766rem + 0.23vw, 1rem); }
/*.spot_how span { display: block; text-align: center; font-weight: 700; color: #fff; }*/
.spot_how a { background: var(--blue-color); border-radius: 9999px; position: relative; display: flex; justify-content: space-around; align-items: center; margin: auto; max-width: 350px; width: 100%; padding: 15px 25px; color: #fff; line-height: 1.4; transition: 0.3s ease-in-out; font-weight: 700; font-size: clamp(16px, 3vw, 25px); box-sizing: border-box; }
.spot_how a:after { content: ""; position: absolute; top: 50%; bottom: 0; right: 2rem; font-size: 90%; display: flex; justify-content: center; align-items: center; transition: right 0.3s; width: 6px; height: 6px; border-top: solid 2px currentColor; border-right: solid 2px currentColor; transform: translateY(-50%) rotate(45deg); }
@media (hover: hover) and (pointer: fine) {
  .spot_how a:hover { background: #333; color: #FFF; }
  .spot_how a:hover:after { right: 1.4rem; }
}

ul.annotation_list li { font-size: clamp(0.75rem, 0.719rem + 0.16vw, 0.875rem); line-height: 1.4; }
ul.annotation_list li::before { content: '・'; display: inline-block; font-size: clamp(0.75rem, 0.719rem + 0.16vw, 0.875rem); }

.cv_area { background: url("../img/cv_bg.png")no-repeat; background-position: center; background-size: cover; width: 100%; box-sizing: border-box; }
.cv_area .cv_area_inner::before { content: ''; display: inline-block; background: url("../img/cv_chara01.png")no-repeat; background-size: contain; aspect-ratio: 174 / 224; width: 174px; position: absolute;}
.cv_area .cv_area_inner::after { content: ''; display: inline-block; background: url("../img/cv_chara02.png")no-repeat; background-size: contain; aspect-ratio: 328 / 380; width: 290px; position: absolute; bottom: 0; right: 0; }
.cv_area .cv_area_inner { max-width: 1300px; width: 100%; margin: 0 auto;  position: relative; padding: 50px 5%; box-sizing: border-box; }
.cv_area .cv_ttl { max-width: 690px; width: 90%; margin: 0 auto 30px; /*z-index: 1;*/position: relative; }
.cv_area .btn_wrap { margin-bottom: 30px; }
.cv_area .btn_wrap a.btn_main { max-width: 550px; width: 100%; display: block; margin: 0 auto; filter: drop-shadow(0px 7px 7px rgba(79, 67, 177, 0.6)); transition: .15s; z-index: 1;*/ position: relative; }
.cv_area .btn_wrap a:hover { filter: none; transform: translateY(5px); }
.cv_area .precautions { text-align: center; }
.cv_area .modal { position:fixed; inset:0; display:none; z-index: 9999; }
.cv_area .modal.is-open { display:block; }
.cv_area .modal__overlay { position:absolute; inset:0; background:rgba(0,0,0,.5); }
.cv_area .modal__panel { position:relative; max-width:800px; width:90vw; max-height:80vh; overflow:auto; margin:10vh auto 0; background:#fff; border-radius:18px; padding:35px 25px; box-shadow:0 20px 60px rgba(0,0,0,.25); transform-origin:center top; box-sizing: border-box; }
.cv_area .modal__close { position:absolute; top:8px; right:12px; font-size:24px; background:transparent; border:0; cursor:pointer; color: #a1a1a1; }
body.-modalOpen { overflow:hidden; }
.cv_area .js-open-modal { appearance:none; display:block; font-size:clamp(16px,1.3vw,24px); letter-spacing:.02em; line-height:1.3; text-align:center; border:0; border-radius:0; position:relative; cursor:pointer;     background: none; display: inline-block; border-bottom: 2px solid #333333; padding-bottom: 3px; color: #333333; }

.cv_area .js-open-modal::before { content:"＋"; position:absolute; right:-20px; top:43%; transform:translateY(-50%); width: 16px; height: 16px; border-radius:50%; background:#777; color:#fff; font-weight:700; font-size: 11px; line-height: 17px; text-align:center; }
.cv_area .js-open-modal:hover { filter:brightness(1.2); opacity: .5; transition: .3s; }
.cv_area .js-open-modal:hover::before { transform:translateY(-50%) scale(1.2); transition: .3s; }
.cv_area .js-open-modal:focus-visible { outline:3px solid rgba(135,33,123,.4); outline-offset:3px; }
.cv_area .modal .modal__content article:not(:last-child) { margin-bottom: 30px; }
.cv_area .modal .modal__content p.modal__subttl { font-size: clamp(1.125rem, 1.094rem + 0.16vw, 1.25rem); margin-bottom: 10px; font-weight: 700; position: relative; padding-left: 18px; }
.cv_area .modal .modal__content p.modal__subttl::before { content: ''; display: inline-block; width: 4px; height: 100%; background: #bebebe; padding-right: 3px; position: absolute; left: 0; }
.cv_area .modal .modal__content p.txt { font-size: clamp(0.875rem, 0.828rem + 0.23vw, 1.063rem); }

#Slider_panel { margin-bottom: 40px; overflow: hidden; }
#Panel { background: var(--orange-color); padding: 50px; }
#Panel .panel_inner { padding: 80px 0 40px; box-sizing: border-box; border-radius: 50px; background: #fff url("../img/panel_bg.webp") no-repeat center / cover; overflow: hidden; }
#Panel h2 { text-align: center; margin-bottom: 40px; }
#Panel h2 .sec_en { display: block; width: 90px; margin: 0 auto 8px; }
#Panel h2 .sec_ttl { max-width: 560px; width: 90%; margin: 0 auto; }
#Panel .txt { font-size: clamp(1rem, 2.4vw, 1.5rem); font-weight: 700; text-align: center; margin-bottom: 30px; color: var(--brown-color); }
#Panel .slider_kv { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 40px; margin: 50px auto 60px; max-width: 1200px; width: 90%; }
#Panel .panel_saigen_ttl { width: 100%; max-width: 670px; }
#Panel .panel_main { width: 100%; max-width: 550px; }
#Panel .panel_main img { opacity: 1 !important; transform: none !important; }
#Panel .place { margin-bottom: 10px; }

#Card {
  background: none;
  padding: 100px 0 160px;
  box-sizing: border-box;
  position: relative;
  overflow: visible;
  z-index: 2;
  --card-wave-overlap: clamp(48px, 6vw, 96px);
}
#Card::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: calc(-1 * var(--card-wave-overlap));
  height: auto;
  background: url("../img/card_bg.webp") no-repeat center bottom / cover;
  pointer-events: none;
  z-index: 0;
}
#Card .card_inner { position: relative; z-index: 1; }
#Card h2 { text-align: center; margin-bottom: 40px; }
#Card h2 .sec_en { display: block; width: 90px; margin: 0 auto 8px; }
#Card h2 .sec_ttl { max-width: 740px; width: 90%; margin: 0 auto; }
#Card .lead { font-size: clamp(1rem, 2.4vw, 1.5rem); font-weight: 700; text-align: center; color: var(--brown-color); line-height: 1.7; margin-bottom: 40px; }
#Card ul.card_wrap {display:flex; flex-wrap:wrap; justify-content:space-between; gap:20px; margin:0 auto 160px; max-width:1200px;}
#Card ul.card_wrap li {flex-shrink:0; width:calc((100% - (20px * 4)) / 5); list-style:none; position: relative; }
#Card .card_blk { border: 4px solid var(--orange-color); border-radius: 30px; background: #fff; position: relative; max-width: 1200px; margin: 0 auto 70px; padding: 80px 0 50px; box-sizing: border-box; }
#Card .card_blk__ttl { position: absolute; top: -45px; left: 35px; max-width: 290px; width: 55%; z-index: 1; }
#Card .card_blk.nyusyu .card_blk__ttl { max-width: 420px; width: 62%; }
#Card .card_blk__inner { max-width: 1000px; width: 90%; margin: 0 auto; }
#Card .card_blk .txt { font-size: clamp(0.938rem, 2.2vw, 1.375rem); margin-bottom: 30px; text-align: center; font-weight: 700; }
#Card .card_blk .txt span { font-size: 70%; }
#Card .card_blk__inner img { max-width: 690px; width: 100%; margin: 0 auto; display: block; }
#Card .card_comingsoon { max-width: 820px; margin: 0 auto; }
#Card .card_blk__inner .card_comingsoon img { max-width: 100%; }
#Card .card_blk.tenpo { overflow: visible; margin-bottom: 0; }
#Card .place { margin-top: 48px; margin-bottom: 90px; }
#Card .illust_car {
  position: absolute;
  left: 1%;
  bottom: 0;
  width: 220px;
  max-width: 18%;
  z-index: 2;
  pointer-events: none;
  --car-travel: clamp(32px, 6vw, 72px);
  transform-origin: 50% 88%;
  animation: car-shuttle 7.5s ease-in-out infinite;
}
@keyframes car-shuttle {
  0%, 12% { transform: translate(0, 0) rotate(0deg); }
  28% { transform: translate(calc(var(--car-travel) * .38), -3px) rotate(2.5deg); }
  42%, 56% { transform: translate(var(--car-travel), 0) rotate(0deg); }
  72% { transform: translate(calc(var(--car-travel) * .58), -2px) rotate(-2.5deg); }
  100% { transform: translate(0, 0) rotate(0deg); }
}
#Card .illust_tree { position: absolute; right: 1%; bottom: 0; width: 190px; max-width: 16%; z-index: 2; pointer-events: none; }
#Card .spot_details .detail .name { color: var(--brown-color); border-bottom-color: var(--brown-color); }
#Card .spot_details .detail .name::before { background: url("../img/icon_map.webp") no-repeat; background-size: contain; aspect-ratio: 45 / 64; padding-left: 55px; content: counter(item-count) ". "; }
#Card .spot_details .spot_cat { display: inline-block; margin: 0 0 5px 0; padding: 2px 8px; background: var(--orange-color); color: #fff; font-size: 0.75rem; font-weight: 700; line-height: 1.5; border-radius: 4px; }

#Goods { background-color: #fff5eb; background-image: repeating-linear-gradient(90deg, #fff5eb 0 22px, #fff0dd 22px 44px); padding: 120px 0 100px; position: relative; z-index: 1;}
#Goods h2 { text-align: center; margin-bottom: 40px; }
#Goods h2 .sec_en { display: block; width: 90px; margin: 0 auto 8px; }
#Goods h2 .sec_ttl { max-width: 560px; width: 90%; margin: 0 auto; }
#Goods .txt { font-size: clamp(1rem, 2.4vw, 1.5rem); font-weight: 700; text-align: center; color: var(--brown-color); margin-bottom: 30px; }
#Goods .period { display: flex; align-items: stretch; width: fit-content; margin: 0 auto 50px; overflow: hidden; border-radius: 6px; }
#Goods .period .period_ttl { font-size: clamp(0.875rem, 0.828rem + 0.23vw, 1.063rem); font-weight: 700; background: var(--orange-color); color: #fff; padding: 10px 18px;}
#Goods .period .period_txt { font-size: clamp(1rem, 2.6vw, 1.5rem); font-weight: 800; color: var(--orange-color); background: #fff; display: flex; align-items: center; justify-content: center; padding: 0 18px; }
#Goods .goods_comingsoon { max-width: 820px; margin: 0 auto; }
#Goods .goods_wrapper {display:flex; flex-wrap:wrap; gap:24px; margin-bottom:60px; perspective:800px; margin-left:auto; margin-right:auto;}
#Goods .goods_item { flex:0 1 calc((100% - (24px * 3)) / 4); display: flex; flex-direction: column; border-radius: 20px; box-sizing: border-box; overflow: hidden; }
#Goods .goods_item .goods_img {background:#fff; border-radius:20px 20px 0 0; padding:20px; box-sizing:border-box; position: relative; flex: 1 0 auto; }
#Goods .goods_item .goods_img img {backface-visibility:hidden; will-change:transform, opacity;}

/*グッズモーダル*/
.hide-area{ display: none; }
.modaal-close:after,  .modaal-close:before{ background:#ccc; }
.modaal-close:focus:after, .modaal-close:focus:before, .modaal-close:hover:after, .modaal-close:hover:before{ background:#666; }
.modal-wrapper { position: relative; width: 80%; max-width: 500px; max-height: 70%; padding: 20px; margin: auto; overflow: scroll; background-color: #FEFEFE; border-radius: 5px; }
.modaal-image .modaal-inner-wrapper { padding: 20%!important; box-sizing: border-box; }
/*グッズモーダル end*/

#Goods .goods_name {font-size: clamp(0.813rem, 2vw, 1.313rem); font-weight:700; text-align:center; color:#fff; line-height: 1.4; }
#Goods .txt_area { background: var(--orange-color); padding: 12px 8px 14px; border-radius: 0 0 20px 20px; }
#Goods .price { font-size: 1rem; font-weight: 700; text-align: center; color: #fff; }
#Goods .price span { font-size: 70%; }
#Goods .annotation_wrap_inner { display: flex; align-items: stretch; margin: 0 auto 30px; justify-content: center; }
#Goods .annotation_wrap_inner .ttl { display: flex; align-items: center; justify-content: center; background: var(--text-color); color: #fff; padding: 10px 15px; box-sizing: border-box; font-weight: 700; letter-spacing: .1em; font-size: clamp(0.875rem, 0.828rem + 0.23vw, 1.063rem); border-radius: 8px 0 0 8px; }
#Goods .annotation_wrap_inner ul { padding: 15px; box-sizing: border-box; background: #fff; border-radius: 0 8px 8px 0; }
#Goods .annotation_wrap_inner ul li span.red { color: #e81f1f; }
#Goods .annotation_wrap_inner ul li { font-size: clamp(0.813rem, 0.781rem + 0.16vw, 0.938rem); line-height: 1.3; padding-left: 1.2em; position: relative; }
#Goods .annotation_wrap_inner ul li:not(:last-child) { margin-bottom: clamp(6px, 1.8vw, 8px); }
#Goods .annotation_wrap_inner ul li::before { content: '・'; display: inline-block; font-size: clamp(0.813rem, 0.781rem + 0.16vw, 0.938rem); position: absolute; left: 0; }

#Parking { padding: 80px 0 100px; background-color: #fff5eb; }
#Parking h2 { font-size: clamp(1.563rem, 1.25rem + 1.56vw, 2.813rem); font-weight: 700; text-align: center; color: var(--orange-color); margin-bottom: 20px; line-height: 1.3; }
#Parking .parking_map { max-width: 800px; margin: 0 auto; text-align: center; }
#Parking .parking_map h3 { text-align: center; font-weight: 700; font-size: clamp(1.125rem, 0.938rem + 0.94vw, 1.875rem); margin-bottom: 20px; }
#Parking img { max-width: 700px; margin: 0 auto; }
#Parking .parking_link { text-align: center; margin: 28px 0 0; }
#Parking .parking_link a { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-width: 280px; max-width: 100%; padding: 16px 36px; box-sizing: border-box; background: var(--orange-color); color: #fff; font-size: clamp(1rem, 1.6vw, 1.25rem); font-weight: 700; line-height: 1.4; border-radius: 999px; transition: background .2s, transform .2s; }
#Parking .parking_link a img { width: 15px; max-width: 15px; height: 15px; margin: 0; flex-shrink: 0; transition: transform .2s; }
@media (hover: hover) and (pointer: fine) {
  #Parking .parking_link a:hover { background: #e67a0b; transform: translateY(3px); }
  #Parking .parking_link a:hover img { transform: translate(2px, -2px); }
}
#Parking .annotation { text-align: center; margin: 0 auto 20px;}
#Parking .annotation p { background: #fff; padding: 5px 20px; display: inline-block; }

footer { background: url("../img/footer_bg.png")no-repeat; background-size: cover; padding: 40px 0; }
footer p { color: #fff; }
footer .footer_ttl { font-size: clamp(0.875rem, 0.844rem + 0.16vw, 1rem); }
footer .footer_logo { max-width: 400px; width: 100%; margin: 0 auto 20px; }
footer .footer_ttlmunicipality { font-size: 30px; font-weight: 700; }
footer .footer_municipality { font-size: clamp(1.25rem, 1.094rem + 0.78vw, 1.875rem); font-weight: 700; margin-bottom: 10px; }
footer .tel_wrap { margin-bottom: 20px; }
footer .tel_wrap a { font-size: clamp(1.25rem, 1.094rem + 0.78vw, 1.875rem); font-weight: 700; color: #fff; }
footer .tel_wrap img { max-width: 60px; vertical-align: 0px; margin-right: 5px; }
footer small img { max-width: 100px; }
footer .txt_area { text-align: center; }

/*pagetop*/
.l-footer-pagetop { position: sticky; bottom: 0; z-index: 9999; }
.l-footer-pagetop__btn { position: absolute; bottom: 15px; right: 15px; visibility: hidden; opacity: 0; transition: 0.5s; max-width: 80px; }
.l-footer-pagetop__btn.is-show { visibility: visible; opacity: 1; }

@media (prefers-reduced-motion: reduce) {
  * { animation: none !important; transition: none !important; }
  html { scroll-behavior: auto !important; }
}

@media (hover: hover) and (pointer: fine) {
    .l-footer-pagetop__btn.is-show:hover { opacity: 0.4; }
}


@media print {
  header , footer { display: none!important; }
}

@media only screen and (max-width: 1280px){
  .intro_container .txt { padding: 0 48px; }
  .intro_container img[class*="parts_vege"] { z-index: 0; }
  .intro_container img.parts_horseshoes01 { width: 150px; left: -24px; }
  .intro_container img.parts_horseshoes02 { width: 96px; left: -12px; }
  .intro_container img.parts_horseshoes03 { width: 160px; right: -28px; }
  .intro_container img.parts_horseshoes04 { width: 150px; right: -20px; }
  .intro_container img.parts_horseshoes05 { width: 120px; left: -16px; }
  .intro_container img.parts_vege01 { width: 108px; left: -18px; top: 24%; }
  .intro_container img.parts_vege02 { width: 140px; left: -22px; top: 50%; }
  .intro_container img.parts_vege03 { width: 76px; left: 8px; top: 10%; }
  .intro_container img.parts_vege04 { width: 96px; right: -8px; top: 2%; }
  .intro_container img.parts_vege05 { width: 112px; left: -4px; bottom: 2%; }
  .intro_container img.parts_vege06 { width: 64px; right: 8px; top: 28%; }
  .intro_container img.parts_vege07 { width: 72px; right: -6px; top: 48%; }
  .intro_container img.parts_vege08 { width: 156px; right: -12px; bottom: 0; }
}

@media only screen and (max-width: 1024px){
  .kv img { width: 100%; height: auto; }
  .intro_container .txt { padding: 0 32px; }
  .intro_container img.parts_horseshoes01 { width: 120px; left: -28px; }
  .intro_container img.parts_horseshoes02 { width: 72px; left: -20px; }
  .intro_container img.parts_horseshoes03 { width: 130px; right: -32px; }
  .intro_container img.parts_horseshoes04 { width: 120px; right: -24px; }
  .intro_container img.parts_horseshoes05 { display: none; }
  .intro_container img.parts_vege01 { width: 88px; left: -16px; top: 20%; }
  .intro_container img.parts_vege02 { width: 112px; left: -20px; top: 52%; }
  .intro_container img.parts_vege03,
  .intro_container img.parts_vege07 { display: none; }
  .intro_container img.parts_vege04 { width: 80px; right: -6px; top: 2%; }
  .intro_container img.parts_vege06 { width: 58px; right: 6px; top: 36%; }
  .intro_container img.parts_vege05 { width: 96px; left: -4px; bottom: 2%; }
  .intro_container img.parts_vege08 { width: 128px; right: -8px; bottom: 0; }

  #Bag .bag_present__copy { width: 64%; }
  #Bag .bag_present__card {
    right: 24px;
    top: -72px;
    width: min(200px, 30%);
    max-width: 200px;
  }
}

@media only screen and (max-width: 980px){
  .news { padding: 20px 0; }
  .intro_container { padding: 70px 0; }
  .intro_container .intro_ttl_wrap { margin-bottom: 25px; }
  .marche_body { padding: 80px 0 60px; }
  .marche_intro {
    flex-direction: column;
    align-items: stretch;
    gap: 24px;
    margin-bottom: 36px;
  }
  .marche_intro__img {
    width: min(240px, 46%);
    margin: 0 auto;
    transform: rotate(4deg);
  }
  #Bag { border-radius: 40px; padding: 50px 0; margin-bottom: 60px; }
  #Bag .bag_chara { width: 110px; }
  #Bag .bag_vege { width: 140px; }
  #Bag .bag_photos { margin-bottom: 36px; }
  #Bag .bag_present { margin-bottom: 40px; margin-top: 30px; }
  #Bag .bag_present__head { padding: 18px 28px; }
  #Bag .bag_present__body {
    align-items: flex-end;
    padding: 8px 28px 24px;
  }
  #Bag .bag_present__copy {
    width: 58%;
    max-width: none;
  }
  #Bag .bag_present__card {
    position: relative;
    right: auto;
    top: auto;
    width: 34%;
    max-width: 180px;
    margin-top: -80px;
    flex-shrink: 0;
  }
  #Bag .bag_star--l { width: 72px; left: -28px; }
  #Bag .bag_star--tr { width: 52px; top: -70px; right: 24px; }
  #Bag .bag_star--br { width: 60px; right: -16px; }
  #Place .place_inner,
  .place .place_inner { padding: 28px 24px; gap: 20px; }
  .chokubai { padding: 36px 32px 40px; margin-top: 36px; }
  .voice_photo { max-width: 280px; }
  .chokubai_ttl { margin-bottom: 22px; }
  .chokubai_inner { gap: 24px; }
  #Cafe { border-width: 20px; border-radius: 40px; padding: 40px 0; }
  #Cafe .cafe_corner { width: 40px; height: 40px; }
  #Cafe .cafe_corner--tl { top: -16px; left: -16px; }
  #Cafe .cafe_corner--tr { top: -16px; right: -16px; }
  #Cafe .cafe_corner--bl { bottom: -16px; left: -16px; }
  #Cafe .cafe_corner--br { bottom: -16px; right: -16px; }
  #Cafe .cafe_cutlery,
  #Cafe .cafe_cup { width: 64px; }
  #Cafe .txt { margin-bottom: 16px; }
  #Card { padding: 70px 0 80px; }
  #Card ul.card_wrap { margin-bottom: 80px; }
  #Card .card_blk { padding: 60px 24px 36px; margin-bottom: 50px; }
  #Panel { padding: 30px; }
  #Panel .panel_inner { padding: 60px 0 32px; }
  #Goods { padding: 80px 0 70px; }
  #Goods .goods_item {flex:0 1 calc((100% - 30px) / 2);}
  #Goods .period { margin-bottom: 36px; }
  .cv_area .cv_area_inner { padding-bottom: 200px; }
  .cv_area .cv_area_inner::before { width: 110px; bottom: 6%; left: 10%; }
  .cv_area .cv_area_inner::after { width: 220px; }
}

@media only screen and (max-width: 750px){
  #Card ul.card_wrap { gap: 16px; }
  #Card ul.card_wrap li { width: calc((100% - 16px) / 2); }
  #Panel .slider_kv { gap: 12px; margin-bottom: 36px; }
  .voice_photo { position: static; flex: none; width: min(260px, 68%); max-width: none; margin: 8px auto 0; }
  .chokubai_inner { flex-direction: column; align-items: stretch; gap: 20px; }
  .chokubai_photo { flex: none; max-width: none; width: 100%; }
  .voice_inner { flex-direction: column; align-items: stretch; gap: 4px; }
}

/*　600pxからレスポンシブ*/
@media only screen and (max-width: 600px){
	.pc { display: none; }
	.sp { display: block; }
  p.small { font-size: 12px; }
  [data-size="w800"],
  [data-size="w900"],
  [data-size="w1000"],
  [data-size="w1200"] { width: 92%; }
  .annotation p { padding: 5px 10px; }
  .annotation p::before { width: 14px; vertical-align: -2px; }
  h2.en { margin-bottom: 15px; }
  h2.en::before { margin-bottom: 10px; }

  .intro_container { padding: 40px 0; }
  .intro_container .txt { margin-bottom: 0; padding: 0 18px; text-align: left; }
  .intro_container .intro_ttl { width: 94%; }
  .intro_container img[class*="parts_horseshoes"],
  .intro_container img[class*="parts_vege"] { z-index: 0; }
  .intro_container img.parts_horseshoes01 { width: 88px; left: -28px; top: 6%; }
  .intro_container img.parts_horseshoes02 { width: 56px; left: -18px; top: 40%; }
  .intro_container img.parts_horseshoes03 { width: 90px; right: -32px; top: 8%; }
  .intro_container img.parts_horseshoes04 { width: 80px; right: -28px; bottom: 4%; }
  .intro_container img.parts_horseshoes05 { display: none; }
  .intro_container img.parts_vege01 { width: 60px; left: -8px; top: 6%; }
  .intro_container img.parts_vege02 { width: 78px; left: -36px; top: auto; bottom: 10%; }
  .intro_container img.parts_vege03,
  .intro_container img.parts_vege05,
  .intro_container img.parts_vege06,
  .intro_container img.parts_vege07 { display: none; }
  .intro_container img.parts_vege04 { width: 50px; right: -16px; top: 8%; }
  .intro_container img.parts_vege08 { width: 84px; right: -22px; bottom: 0; }

  .news { padding: 16px 0 20px; }
  .news .news_inner { display: block; }
  .news h3,
  .news .typing { margin-bottom: 10px; }
  .news dl { max-height: 250px; padding: 25px 20px; }
  .news dl dt { margin-bottom: 7px; margin-right: 0; }
  .news dl dt::before { margin-right: 5px; vertical-align:-2px; }
  .news dl div { display: block; margin-right: 0; }
  .news dl div:not(:last-of-type) { margin-bottom: 15px; }

  .spot_details { display: block; margin-top: 35px; }
  .spot_details .detail { width: 100%; margin-bottom: 20px; }
  .spot_details .detail .name { font-size: 1.063rem; }
  .spot_details .detail .name::before { padding-left: 40px; }
  .spot_details .detail:nth-last-child(n+2) { margin-bottom: 20px; }
  .spot_details .info { font-size: 0.813rem; }
  .location .location_inner { padding: 20px; }
  .location .flex { display: block; }

  .marche_hero__ttl { width: 82%; margin-bottom: -28px; }
  .marche_hero__wave { height: 30px; }
  .marche_body { padding: 60px 0 40px; }
  .marche_intro {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    width: 90%;
    margin-bottom: 25px;
    padding: 0 0 10px;;
  }
  .marche_lead {
    font-size: 0.938rem;
    line-height: 1.75;
  }
  .marche_intro__img {
    width: min(200px, 64%);
    max-width: 200px;
    margin: 4px auto 8px;
    border-width: 6px;
    border-radius: 16px;
    transform: rotate(3.5deg);
  }
  .marche_intro__img img {
    border-radius: 12px;
  }

  #Bag { border-radius: 24px; padding: 40px 0 20px; margin-bottom: 24px; }
  #Bag .bag_head { flex-wrap: wrap; justify-content: center; gap: 15px 20px; margin-bottom: 16px; }
  #Bag .bag_ttl { flex: 1 1 100%; order: 0; }
  #Bag .bag_ttl h2 { margin-bottom: 0; }
  #Bag .bag_chara { width: 78px; order: 1; }
  #Bag .bag_vege { width: 96px; order: 2; }
  #Bag .bag_photos { margin-bottom: 10px; }
  #Bag .bag_size { margin-top: 8px; font-size: 0.75rem; }
  #Bag .bag_item figcaption { margin-top: 10px; font-size: 0.875rem; text-align: left; }
  #Bag p.small { text-align: left; }
  #Bag .bag_price { width: 75%; }
  #Bag .bag_present { margin-bottom: 20px; }
  #Bag .bag_present__head { padding: 15px 33px 10px; border-radius: 16px 16px 0 0; }
  #Bag .bag_present__body { flex-direction: column; align-items: center; padding: 20px 16px 24px; border-radius: 0 0 16px 16px; }
  #Bag .bag_present__copy { width: 90%; max-width: none; }
  #Bag .bag_present__card {
    position: relative;
    right: auto;
    top: auto;
    width: 55%;
    max-width: 180px;
    margin: 0 auto;
    box-shadow: none;
  }
  #Bag .bag_star--l { width: 40px; left: -8px; top: -20%; }
  #Bag .bag_star--tr { width: 32px; top: -66px; right: 8px; }
  #Bag .bag_star--br { width: 38px; right: -4px; bottom: 8px; }
  #Bag .bag_present__head img { max-width: initial; }

  #Place,
  .place { border-radius: 14px; margin-top: 20px; }
  #Place .place_ttl,
  .place .place_ttl { padding: 3px 0 5px; }
  #Place .place_inner,
  .place .place_inner { display: block; padding: 20px; }
  #Place .place_photo,
  .place .place_photo { width: 100%; max-width: none; margin-top: 14px; }
  #Place .address,
  .place .address { font-size: 0.813rem; }
  #Goods .place,
  #Panel .place { width: 92%; }
  #Place .name, .place .name { margin-bottom: 5px; }

  #Cafe { border-width: 15px; border-radius: 20px; padding: 24px 0 28px; }
  #Cafe .cafe_inner { width: 88%; }
  #Cafe .cafe_corner { width: 35px; height: 35px; }
  #Cafe .cafe_corner--tl { top: -15px; left: -15px; }
  #Cafe .cafe_corner--tr { top: -15px; right: -15px; }
  #Cafe .cafe_corner--bl { bottom: -15px; left: -15px; }
  #Cafe .cafe_corner--br { bottom: -15px; right: -15px; }
  #Cafe .cafe_subttl { max-width: 90px; margin-bottom: 0px; }
  #Cafe .cafe_ttl_wrap { gap: 8px; margin-bottom: 14px; }
  #Cafe .cafe_cutlery,
  #Cafe .cafe_cup { width: 42px; }
  #Cafe .cafe_ttl { width: 70%; }
  #Cafe .txt { margin-bottom: 12px; text-align: left; }
  .marche_body > .lead { margin-top: 28px; }
  #Pickup { width: 92%; margin: 40px auto 0; padding: 40px 25px; border-radius: 20px; }
  #Pickup .pickup_ttl { margin-bottom: 16px; }
  #Pickup .pickup_lead { margin-bottom: 15px; }
  #Pickup .pickup_list { flex-direction: column; gap: 36px; }
  #Pickup .pickup_item > img { margin-bottom: 15px; }
  #Pickup .pickup_name { padding-bottom: 5px; margin-bottom: 10px; }
  #Pickup .pickup_shop { margin-bottom: 8px; padding: 3px 8px; }
  #Pickup .pickup_dish { font-size: 1.25rem; letter-spacing: .02em; }
  #Pickup .pickup_price { margin-left: 8px; font-size: 1.05rem; }
  #Pickup .pickup_desc { margin-bottom: 12px; line-height: 1.4; }
  #Pickup .pickup_info { padding: 10px 12px; }
  .chokubai { margin-top: 28px; padding: 40px 25px; border-radius: 20px; }
  .voice { margin-top: 24px; padding: 40px 25px 0; border-radius: 20px; }
  .voice_lead { font-size: 0.938rem; margin-bottom: 8px; }
  .voice_ttl { font-size: 1.8rem; margin-bottom: 12px; }
  .voice_address { margin-bottom: 3px; }
  .voice_hours { margin-bottom: 10px; column-gap: 1.25em; }
  .voice_photo { width: min(220px, 64%); margin-top: 4px; }
  .chokubai_ttl { margin-bottom: 16px; }
  .chokubai_name { font-size: 1.32rem; margin-bottom: 10px; }
  .chokubai_desc { margin-bottom: 14px; line-height: 1.7; }
  .chokubai_address { margin-bottom: 12px; line-height: 1.7; }
  .chokubai_hours,
  .chokubai_closed { line-height: 1.7; }
  #Cafe .cafe_date { margin-bottom: 10px; max-width: 100%; }
  #Cafe .cafe_date__ttl {
    font-size: 0.875rem;
    padding: 8px 10px;
    flex-shrink: 0;
    white-space: nowrap;
  }
  #Cafe .cafe_date__txt {
    font-size: 0.813rem;
    padding: 0 8px;
    letter-spacing: 0;
    white-space: nowrap;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }

  .cv_area .cv_area_inner::before { width: 90px; }
  .cv_area .cv_area_inner::after { width: 180px; }

  .map-embed { aspect-ratio:4/5; }
  @supports not (aspect-ratio: 1) {
    .map-embed{ padding-top:125%; }
  }

  #Card { padding: 40px 0 70px; --card-wave-overlap: 56px; }
  #Card::before {
    background-color: #ffefae;
    background-image: url("../img/card_bg_sp.webp");
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: cover;
  }
  #Card h2 { margin-bottom: 16px; }
  #Card h2 .sec_en { width: 64px; margin-bottom: 4px; }
  #Card .lead { margin-bottom: 20px; }
  #Card ul.card_wrap { gap: 12px; margin-bottom: 60px; }
  #Card ul.card_wrap li { width: calc((100% - 12px) / 2); }
  #Card .card_blk { border-width: 3px; border-radius: 20px; padding: 40px 15px 30px; margin-bottom: 40px; }
  #Card .card_blk__ttl { width:45%; top: -18px; left: 10px; }
  #Card .card_blk.nyusyu .card_blk__ttl { width: 65%; }
  #Card .card_blk .txt { text-align: left; margin-bottom: 16px; }
  #Card .illust_car { width: 96px; max-width: 26%; left: -4px; bottom: 4px; --car-travel: 28px; }
  #Card .illust_tree { width: 80px; max-width: 22%; right: -2px; bottom: 8px; }
  #Card .spot_details .detail .name::before { padding-left: 45px; }
  #Card .card_blk__inner p.small { text-align: left; }
  #Goods .price { font-size: 0.813rem; }
  #Parking .annotation { margin-bottom: 10px; }

  #Goods { padding: 80px 0 60px; }
  #Goods h2 { margin-bottom: 16px; }
  #Goods h2 .sec_en { width: 64px; margin-bottom: 4px; }
  #Goods h2 .sec_ttl { width: 80%; }
  #Goods .txt { margin-bottom: 16px; }
  #Goods .period { margin: 0 auto 24px; }
  #Goods .period .period_ttl { padding: 8px 12px; }
  #Goods .period .period_txt { padding: 0 12px; }
  #Goods .goods_wrapper { justify-content: space-between; gap: 12px; margin-bottom: 32px; }
  #Goods .goods_item { flex: 0 1 calc((100% - 12px) / 2); border-radius: 10px; }
  #Goods .goods_item .goods_img { border-radius: 10px 10px 0 0; padding: 10px; }
  #Goods .goods_item .goods_img.saleended::before { width: 83px; height: 83px; }
  #Goods .txt_area { padding: 10px 6px 12px; border-radius: 0 0 10px 10px; }
  .modaal-image .modaal-inner-wrapper { padding: 10%!important; }

  #Panel { padding: 12px 10px; }
  #Panel .panel_inner { padding: 40px 0 24px; border-radius: 20px; }
  #Panel h2 { margin-bottom: 16px; }
  #Panel h2 .sec_en { width: 64px; margin-bottom: 4px; }
  #Panel .txt { margin-bottom: 16px; }
  #Panel .slider_kv { flex-direction: column; gap: 15px; margin: 12px auto 28px; }
  #Panel .panel_saigen_ttl,
  #Panel .panel_main { width: 90%; max-width: none; }
  #Slider_panel { margin-bottom: 28px; }
  #Slider_panel .slick-slide { height: 180px; padding: 0 8px; }

  #Parking { padding: 60px 0 130px; }
  #Parking h2 { margin-bottom: 10px; }
  #Parking .annotation p { text-align: left; }

  footer { background: url("../img/footer_bg_sp.png")no-repeat; background-size: cover; padding: 36px 0; }
  footer .footer_logo { width: 80%; }
  footer .tel_wrap img { max-width: 40px; }
  .l-footer-pagetop__btn { max-width: 60px; bottom: 12px; right: 12px; }
}
