/* ================================================================
   Ipponsugi page (Frame 45/83 PC, iPhone 16 - Trip page_1 Mobile)
   Figma mobile: 393×15355px / PC: 1920×2690px
   ================================================================ */

.page-ipponsugi {
  padding-top: 76px; /* fixed header offset */
  background-color: #fffbf5;
  overflow-x: clip; /* 縦スクロールを妨げず横方向のみクリップ（top.cssと同じパターン） */
}

/* .ipponsugi-legendは</main>の外（bodyの直接の子）にあるため、
   .page-ipponsugiの背景色が効かずbody地色(白)が透けて見える対策 */
body.page-template-ipponsugi-ja,
body.page-template-ipponsugi-en {
  background-color: #fffbf5;
}

/* ================================================================
   PC ヒーローステージ（Figma Frame 45: y=270〜1138, 1920×868px相当）
   ================================================================ */

.ipponsugi-hero-stage {
  width: 100%;
  background-color: #fffbf5;
  display: block;
}

.ipponsugi-hero__stage {
  position: relative;
  width: 100%;
  aspect-ratio: 393 / 502;
  height: auto;
  margin: 0 auto;
  overflow: hidden;
}

/* 「出会いの一本杉トリップ」緑テキスト（Figma: x=741,y=270,color=#75af6d,40px bold） */
.ipponsugi-hero__tagline {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 0;
  color: #75af6d;
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: clamp(16px, 2.08vw, 40px);
  line-height: 1;
  white-space: nowrap;
  margin: 0;
}

@media (max-width: 767px) {
  .ipponsugi-hero__tagline {
    font-size: 5.598vw; /* 22px / 393 */
    line-height: 1.2;
	text-align:center;
  }
}

/* 縦書き大テキスト（Figma: x=920,y=354,w=82,h=709） */
/* top%: (354-270)/868 = 9.7% */
.ipponsugi-hero__vert-title {
  position: absolute;
  left: 47.9%;
  top: 9.7%;
  width: 4.3%;
  height: auto;
  display: block;
}

/* ENヒーロー: 縦文字右の横テキスト（Figma: x=1044,y=703,16px,black） */
/* left=1044/1920=54.4%, top=(703-270)/868=49.9% */
.ipponsugi-hero__street-label {
  position: absolute;
  left: 54.375vw; /* 1044/1920 */
  top: 22.552vw;  /* 433/1920 */
  font-family: var(--font-sans);
  font-size: clamp(10px, 0.83vw, 16px);
  font-weight: 400;
  color: #000;
  white-space: nowrap;
  pointer-events: none;
  line-height: 1;
}

/* イラスト共通 */
.ipponsugi-hero__illust {
  position: absolute;
  display: block;
  pointer-events: none;
  height: auto;
}

/* ニワトリ: x=1142,y=722,w=140 / top=(722-270)/868=52.1% */
.ipponsugi-hero__illust[data-illust="rooster"] {
  left: 62.031vw; /* 1191/1920 */
  top: 25.729vw;  /* 494/1920 */
  width: 7.292vw; /* 140/1920 */
}

/* カップル旅人: x=1367,y=483,w=103 / top=(483-270)/868=24.5% */
.ipponsugi-hero__illust[data-illust="couple"] {
  left: 71.198vw; /* 1367/1920 */
  top: 11.094vw;  /* 213/1920 */
  width: 5.365vw; /* 103/1920 */
}

/* 小鳥: x=1495,y=916,w=123 / top=(916-270)/868=74.4%, rotate=11.47deg */
.ipponsugi-hero__illust[data-illust="bird"] {
  left: 77.448vw; /* 1487/1920 */
  top: 34.063vw;  /* 654/1920 */
  width: 5.448vw; /* 104.6/1920 */
  transform: rotate(11.47deg);
  transform-origin: center center;
}

/* 鶴紋様: x=425,y=446,w=142 / top=(446-270)/868=20.3% */
.ipponsugi-hero__illust[data-illust="crane"] {
  left: 22.135vw; /* 425/1920 */
  top: 9.167vw;   /* 176/1920 */
  width: 7.396vw; /* 142/1920 */
}

/* 海老紋様: x=302,y=850,w=123 / top=(850-270)/868=66.8% */
.ipponsugi-hero__illust[data-illust="shrimp"] {
  left: 15.729vw; /* 302/1920 */
  top: 25.000vw;  /* 480/1920 */
  width: 6.406vw; /* 123/1920 */
}

/* 歩く人: x=706,y=675,w=45 / top=(675-270)/868=46.7% */
.ipponsugi-hero__illust[data-illust="walker"] {
  left: 36.771vw; /* 706/1920 */
  top: 21.094vw;  /* 405/1920 */
  width: 2.344vw; /* 45/1920 */
}

/* ===== Trip Menu / Intro ===== */
/* Figma mobile: Group 171 (955:439〜441, y=637〜1175) */
.ipponsugi-intro {
  padding: var(--sp-xl) 0;
}

.ipponsugi-intro__inner {
  padding: 0 var(--gutter);
}

.ipponsugi-intro__title {
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: 24px;
  line-height: var(--lh-tight);
  color: var(--color-text);
  margin-bottom: var(--sp-md);
  text-align: center;
}

.ipponsugi-intro__body {
  /*max-width: 860px;*/
  margin: 0 auto;
}

/* Figma: 955:441 y=687, w=322, h=488 */
.ipponsugi-intro__desc {
  font-size: var(--fz-sm);
  line-height: var(--lh-loose);
  color: var(--color-text);
  margin-bottom: var(--sp-md);
}

.ipponsugi-intro__note {
  font-size: var(--fz-sm);
  line-height: var(--lh-loose);
  color: var(--color-text);
  margin-bottom: var(--sp-sm);
}

.ipponsugi-intro__link {
  display: inline-block;
  font-size: var(--fz-sm);
  color: var(--color-text);
  text-decoration: underline;
  text-underline-offset: 2px;
  word-break: break-all;
}

/* ===== Street strip + 店舗アイコン（SP）===== */
/* Figma: Group 458 (1377:285) + Group 810〜818 (1482:904〜912) */
/* ストリップ: x=175, y=1231, w=43, h=941 / コンテナ幅393px */
.ipponsugi-street {
  padding: var(--sp-xl) 0 0 0;
}

.ipponsugi-categories.sp-only{
padding: 6.5vw 0 0 0;
background:#FFFFDF;

}

.page-ipponsugi.lang-ja .ipponsugi-categories.sp-only {
  padding-left: 14.705vw;
}

.page-ipponsugi.lang-en .ipponsugi-categories.sp-only {
  padding-left: 20.705vw;
}

.ipponsugi-street__inner {
  position: relative;
  width: 100%;
  /* max-width: clamp(393px, 80vw, 560px); */
  aspect-ratio: 393 / 941;
  height: auto;
  margin: 0 auto;
  overflow: hidden; /* ICOUピン(left:62.3%+width:41.2%=103.5%)がコンテナ幅をはみ出すため */
}

/* 縦ストリップ写真: Figma x=175 → left=44.5% */
.ipponsugi-street__img {
  position: absolute;
  left: 44.5%; /* 175/393 */
  top: 0;
  width: 10.9%; /* 43/393 */
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* 店舗アイコン（building画像リンク）*/
.ipponsugi-street__pin {
  position: absolute;
  display: block;
  text-decoration: none;
  transition: opacity 0.15s;
}
.ipponsugi-street__pin:hover,
.ipponsugi-street__pin:focus {
  opacity: 0.75;
  outline: none;
}
.ipponsugi-street__pin img {
  width: 100%;
  height: auto;
  display: block;
}

/* 同ビル上下分割（鶏とまつば上半分・漆陶舗あらき下半分） */
.ipponsugi-street__pin--top-half {
  clip-path: inset(0 0 50% 0);
}
.ipponsugi-street__pin--bottom-half {
  clip-path: inset(50% 0 0 0);
}

/* 店舗名ラベルSVG */
.ipponsugi-street__label {
  position: absolute;
  height: auto;
  display: block;
  pointer-events: none;
}

/* 店舗ラベルのクリック領域（pinと同じ店舗へのリンク。位置指定はこちらに持たせ、中のimgは等倍表示） */
.ipponsugi-street__label-link {
  position: absolute;
  display: block;
}
.ipponsugi-street__label-link img {
  width: 100%;
  height: auto;
  display: block;
}

/* ===== SP: カテゴリアイコン凡例（ストリート直下） ===== */

.ipponsugi-categories {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  column-gap: 5.089vw; /* 20px / 393 */
  row-gap: 2.545vw; /* 10px / 393 */
  width: fit-content;
  margin: 0 auto;
  padding: 5.089vw 0; /* 20px / 393 */
　background:#FFFFDF;
}
.ipponsugi-categories-bg.sp-only {
    background: #FFFFDF;
position:relative;
padding-top: 12.723vw; /* 50px / 393 */
}
img.rectangle2 {
    position: absolute;
    width: 42vw;
    left: 9vw;
    top: -8%;
    z-index: 1;
}

.ipponsugi-category {
  display: flex;
  align-items: center;
  gap: 2.036vw; /* 8px / 393 */
}

.ipponsugi-category span {
  font-size: 3.053vw; /* 12px / 393 */
  font-weight: bold;
  letter-spacing: 0.06em;
  white-space: nowrap;
}

.ipponsugi-category__icon {
  width: 9.160vw; /* 36px / 393 */
  height: 9.160vw; /* 36px / 393 */
  flex-shrink: 0;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.ipponsugi-category__icon--shopping {
  background-image: url('../../images/ipponsugi/icons/icon-shopping.svg');
}
.ipponsugi-category__icon--experience {
  background-image: url('../../images/ipponsugi/icons/icon-experience.png');
}
.ipponsugi-category__icon--food {
  background-image: url('../../images/ipponsugi/icons/icon-food.svg');
}
.ipponsugi-category__icon--stay {
  background-image: url('../../images/ipponsugi/icons/icon-stay.svg');
}
.ipponsugi-category__icon--visit {
  background-image: url('../../images/ipponsugi/icons/icon-sightseeing.png');
}

/* ===== Shops section ===== */
.ipponsugi-shops {
  padding: 0 0 var(--sp-lg) 0;
}

/* ----- PC: 建物イラストマップ (Figma Frame 45 / 83 に準拠) ----- */
/* コンテナ比: 1920:716（建物エリアの実際の高さ）*/
.ipponsugi-shops__map-area {
  position: relative;
  width: 100%;
}

.ipponsugi-shops__map-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 1920 / 716;
  background-color: #fffbf5;
  overflow: hidden;
}

/* 通りストリップ写真（横向き） */
.ipponsugi-map__street-strip {
  position: absolute;
  left: 0;
  width: 100%;
  overflow: hidden;
}

.ipponsugi-map__street-strip img {
  display: block;
  opacity: 0.6;
  position: absolute;
  top: 50%;
  left: 50%;
  /* 縦ストリップ(130×4096px)を90°回転して横帯に配置。
   * width = 視覚的な高さ（コンテナ高を十分カバー）
   * height: auto = 縦横比固定（縮小表示なので高画質）*/
  width: 5%;
  height: auto;
  max-width: none;
  transform: translate(-50%, -50%) rotate(90deg);
}

/* ===== マップピン共通 ===== */
.ipponsugi-shops__map-pin {
  position: absolute;
  left: var(--pin-x, 50%);
  top: var(--pin-y, 0%);
  width: var(--pin-w, 8%);
  border: none;
  background: none;
  padding: 0;
  cursor: pointer;
  transition: filter var(--transition-fast);
  z-index: 2;
}

/* ===== 建物イラストピン ===== */
.ipponsugi-shops__map-pin--building img {
  width: 100%;
  height: auto;
  display: block;
}

.ipponsugi-shops__map-pin--building:hover,
.ipponsugi-shops__map-pin--building:focus {
  filter: brightness(1.1) drop-shadow(0 4px 8px rgba(0,0,0,0.25));
  outline: none;
}

/* 同ビル2店舗用：透明クリック領域 */
.ipponsugi-shops__map-pin--overlay {
  background: transparent;
  z-index: 3;
}

/* 同ビル上下分割クリック領域 */
.ipponsugi-shops__map-pin--top-half {
  clip-path: inset(0 0 50% 0);
}
.ipponsugi-shops__map-pin--bottom-half {
  clip-path: inset(50% 0 0 0);
}

/* 建物マップ内装飾イラスト */
.ipponsugi-map__deco {
  position: absolute;
  left: var(--deco-x);
  top: var(--deco-y);
  width: var(--deco-w);
  height: auto;
  display: block;
  pointer-events: none;
  z-index: 1;
}

/* ===== 店名ラベル ===== */
.ipponsugi-map__label {
  position: absolute;
  left: var(--lbl-x);
  top: var(--lbl-y);
  width: var(--lbl-w);
  height: auto;
  pointer-events: none;
  display: block;
  z-index: 4;
}

/* 店舗ラベルのクリック領域（map-pinと同じ店舗のポップアップを開く） */
.ipponsugi-map__label-link {
  position: absolute;
  left: var(--lbl-x);
  top: var(--lbl-y);
  width: var(--lbl-w);
  border: none;
  background: none;
  padding: 0;
  cursor: pointer;
  z-index: 4;
}
.ipponsugi-map__label-link img {
  width: 100%;
  height: auto;
  display: block;
}

/* ENマップ用テキストラベル */
.ipponsugi-map__label--text {
  position: absolute;
  left: var(--lbl-x);
  top: var(--lbl-y);
  pointer-events: none;
  z-index: 4;
  font-family: var(--font-sans);
  font-size: clamp(7px, 0.9vw, 13px);
  font-weight: 500;
  color: #231815;
  white-space: nowrap;
  line-height: 1;
  transform: translateY(-50%);
}

/* ----- Mobile: Vertical shop cards (hidden on PC via .sp-only) ----- */
.shop-card {
  position: relative;
  padding: var(--sp-lg) 0 0;
}

.shop-card__body, .shop-card__slideshow {
    margin: 0 10.687vw; /* 42px / 393 */
}

.page-ipponsugi.lang-en .shop-card__body,
.page-ipponsugi.lang-en .shop-card__slideshow {
  margin-left: 9.415vw; /* 37px / 393 */
  margin-right: 9.415vw; /* 37px / 393 */
}

/* 左右ナビボタン非表示・ドットを画像下に配置（PC popup版と同じロジック） */
.shop-card__slideshow .slideshow__prev,
.shop-card__slideshow .slideshow__next {
  display: none;
}

.shop-card__slideshow .slideshow__dots {
  top: calc(100% + 27px);
  bottom: auto;
}

.shop-card__slideshow .slideshow__dot {
  background: #E7E7E7;
}

.shop-card__slideshow .slideshow__dot.is-active {
  background: #B8B8B8;
}

.shop-card__slideshow {
  margin-bottom: 5.089vw; /* 20px / 393 */
}

/* SP shop card: 縦ストリップ道路（PCポップアップのstrip相当） */
.shop-card__strip {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 11.705vw; /* 46px / 393 */
  pointer-events: none;
  z-index: 0;
  opacity: 0.7;
  background-repeat: repeat-y;
  background-size: 100% auto;
  background-position: top center;
}
.shop-card__strip--left {
  right: auto;
  left: 0;
}

/* 最後のカード: ストリップ＋背景色をフッターと重ねる */
.shop-card:last-child {
  overflow: visible;
}
.shop-card:last-child .shop-card__strip {
  bottom: -80px;
  z-index: 1;
}
.shop-card:last-child::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  height: 60px; /* 実測の隙間(40px)+余裕分。元200pxは過剰でフッター下に空白ができていた */
  background-color: inherit;
}

/* ストリップ側の余白（コンテンツとの重なりを防ぐ） */
.shop-card:has(.shop-card__strip--right) {
  padding-right: 11.450vw; /* 45px / 393 */
  background-color: #EFFFFC;
}
.shop-card:has(.shop-card__strip--left) {
  padding-left: 11.450vw; /* 45px / 393 */
  background-color: #FFFFDF;
}

article#shop-9 {
  padding-bottom: 22vw;
}

article#shop-7 {
  padding-top: 20vw;
}

/* SP shop card: アクセントキャラクター */
.shop-card__char {
  position: absolute;
  pointer-events: none;
  z-index: 1;
}


/* ヘッダー：ロゴ円形 + 店名を縦並び中央揃え */
.shop-card__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 5.089vw; /* 20px / 393 */
}

/* ロゴ円形 */
.shop-card__logo {
  width: 50.891vw; /* 200px / 393 */
  height: 50.891vw; /* 200px / 393 */
  border-radius: 50%;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 5.089vw; /* 20px / 393 */
  flex-shrink: 0;
}

.shop-card__logo img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
}

/* Shop images */
.shop-card__images {
  margin-bottom: var(--sp-md);
}

.shop-card__img {
  width: 100%;
  max-width: 330px;
  height: 220px;
  object-fit: cover;
  display: block;
}

/* Shop text body */
.shop-card__name {
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: 5.089vw; /* 20px / 393 */
  line-height: var(--lh-tight);
  color: #008563;
  text-align: center;
  margin-bottom: 0;
}

.shop-card__name span {
  font-size: 3.562vw; /* 14px / 393 */
  line-height: 6.361vw; /* 25px / 393 */
}

.shop-card__name--placeholder {
  min-height: 1.5em; /* keep layout stable while TODO */
}

.shop-card__desc {
  font-size: var(--fz-sm);
  line-height: var(--lh-loose);
  color: var(--color-text);
  margin-bottom: 7.634vw; /* 30px / 393 */
}

.page-ipponsugi.lang-ja .shop-card__desc {
  font-size: 3.562vw; /* 14px / 393 */
  line-height: 5.089vw; /* 20px / 393 */
}

.page-ipponsugi.lang-en .shop-card__desc {
  font-size: 3.562vw; /* 14px / 393 */
  line-height: 4.835vw; /* 19px / 393 */
}

.shop-card__hours {
  font-size: var(--fz-sm);
  line-height: var(--lh-normal);
  color: var(--color-text-sub);
  margin-bottom: var(--sp-sm);
}

.shop-card__icons {
  display: flex;
  gap: 8px;
  margin-top: var(--sp-md);
  margin-bottom: 4px;
}
.shop-card__icon {
  width: 36px;
  height: 36px;
  object-fit: contain;
  display: block;
}

.shop-card__sub-title {
  font-size: 4.071vw; /* 16px / 393 */
  font-weight: 700;
  line-height: 5.089vw; /* 20px / 393 */
  color: var(--color-text);
  margin-top: var(--sp-md);
  margin-bottom: var(--sp-xs);
}

.shop-card__sub-desc {
  font-size: var(--fz-sm);
  line-height: var(--lh-loose);
  color: var(--color-text);
  margin-bottom: var(--sp-sm);
}

.page-ipponsugi.lang-ja .shop-card__sub-desc {
  font-size: 3.562vw; /* 14px / 393 */
  line-height: 5.089vw; /* 20px / 393 */
}

.page-ipponsugi.lang-en .shop-card__sub-desc {
  font-size: 3.562vw; /* 14px / 393 */
  line-height: 4.835vw; /* 19px / 393 */
}

/* 「さらに表示する」ボタン */
.shop-card__expand-btn {
  display: block;
  width: 100%;
  text-align: left;
  font-size: 3.053vw; /* 12px / 393 */
  font-weight: 400;
  color: var(--color-text);
  background: none;
  border: none;
  padding: var(--sp-sm) 10.687vw 0; /* 左右: 42px / 393、shop-card__bodyのmarginと同じ */
  cursor: pointer;
  text-decoration: none;
  text-underline-offset: 2px;
}

.shop-card__expand-btn[hidden] {
  display: none;
}

.shop-card__expanded {
  padding: 2vw 10.687vw 0; /* 左右: 42px / 393、shop-card__bodyのmarginと同じ */
}

.page-ipponsugi.lang-en .shop-card__expand-btn {
  padding-left: 9.415vw; /* 37px / 393 */
  padding-right: 9.415vw; /* 37px / 393 */
}

.page-ipponsugi.lang-en .shop-card__expanded {
  padding-left: 9.415vw; /* 37px / 393 */
  padding-right: 9.415vw; /* 37px / 393 */
}

/* 「閉じる」ボタン */
.shop-card__collapse-btn {
  display: block;
  font-size: 3.053vw; /* 12px / 393 */
  color: var(--color-text);
  background: none;
  border: none;
  padding: var(--sp-sm) 0 0;
  cursor: pointer;
  text-decoration: none;
  text-underline-offset: 2px;
}

/* URLラベル・リンク: SPはPC(base)の設定を引き継ぎ、font-sizeのみ上書き */
.shop-card .popup-shop__url-label,
.shop-card .popup-shop__link {
  font-size: 3.053vw; /* 12px / 393 */
  line-height: 5.089vw; /* 20px / 393 */
}

.shop-card__coming-soon {
  font-size: var(--fz-md);
  color: var(--color-text-sub);
  font-style: normal;
  text-align: center;
  padding: var(--sp-lg) 0;
}

/* 一本杉ポップアップ：左右paddingを1.5倍 */
[id^="popup-shop-"] .popup-modal__content {
  padding-left: calc(var(--sp-xl) * 1.5);
  padding-right: calc(var(--sp-xl) * 1.5);
}

/* ===== PC Popup: shop detail（Figma: 左右2カラム）===== */
.popup-shop {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sp-xl);
  align-items: start;
}

.popup-modal--ipponsugi .popup-modal__content:has(.popup-modal__strip--right) .popup-shop {
  gap: 3.646vw; /* 70/1920 */
}
.popup-modal--ipponsugi .popup-modal__content:has(.popup-modal__strip--left) .popup-shop {
  gap: 2.083vw; /* 40/1920 */
}

.popup-shop__left {
  display: flex;
  flex-direction: column;
  padding-top: 2.604vw; /* 50/1920 */
  width: 27.604vw; /* 530/1920 */
  flex-shrink: 0;
}

.popup-shop__left-body {
  padding-left: 3.125vw; /* 60/1920 */
}

.popup-shop__left-body .popup-shop__slideshow {
  margin-left: -3.125vw;
}

.popup-shop__right {
  padding-top: 10.781vw; /* 207/1920 */
}

/* ロゴ円 + 店名 横並び */
.popup-shop__logo-area {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 1.979vw; /* 38/1920 */
  padding-left: 3.125vw;  /* 60/1920 */
}

.popup-shop__logo-circle {
  width: 6.406vw;  /* 123/1920 */
  height: 6.406vw; /* 123/1920 */
  border-radius: 50%;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.popup-shop__logo-circle img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
}

.popup-shop__name {
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: 1.667vw; /* 32/1920 */
  line-height: var(--lh-tight);
  color: #008563;
  white-space: nowrap;
}

.popup-shop__slideshow {
  aspect-ratio: 4 / 3;
  width: 27.604vw; /* 530/1920 */
  overflow: visible; /* ドットを画像下に出すため */
  margin-bottom: 2.760vw; /* 53/1920 */
}

/* 左右ナビボタン非表示 */
.popup-shop__slideshow .slideshow__prev,
.popup-shop__slideshow .slideshow__next {
  display: none;
}

/* ドットを画像エリア下に配置 */
.popup-shop__slideshow .slideshow__dots {
  top: calc(100% + 15px);
  bottom: auto;
}

.popup-shop__slideshow .slideshow__dot {
  background: #E7E7E7;
}

.popup-shop__slideshow .slideshow__dot.is-active {
  background: #B8B8B8;
}

.popup-shop__images img {
  width: 100%;
  max-width: 480px;
  height: 300px;
  object-fit: cover;
  display: block;
  margin-bottom: var(--sp-sm);
}


.popup-shop__desc {
  font-size: 0.938vw; /* 18/1920 */
  line-height: 1.563vw; /* 30/1920 */
  color: var(--color-text);
  margin-bottom: var(--sp-sm);
}

/* うみまち商店のみ行間29px（日本語版限定） */
.lang-ja #popup-shop-01 .popup-shop__desc {
  line-height: 1.510vw; /* 29/1920 */
}

/* ICOUのみ行間28px（日本語版限定） */
.lang-ja #popup-shop-09 .popup-shop__desc {
  line-height: 1.458vw; /* 28/1920 */
}

.popup-shop__hours {
  font-size: 0.625vw;   /* 12/1920 */
  line-height: 1.042vw; /* 20/1920 */
  font-weight: 500;
  margin-bottom: var(--sp-sm);
}

.popup-shop__hours span {
  font-weight: 300;
}

.popup-shop__sub-title {
  font-size: 0.938vw; /* 18/1920 */
  font-weight: 700;
  line-height: 1.042vw; /* 20/1920 */
  color: var(--color-text);
  margin-top: 0.781vw;    /* 15/1920 */
  margin-bottom: 0.625vw; /* 12/1920 */
  width: 22.917vw; /* 440/1920 */
}

.popup-shop__sub-desc {
  font-size: 0.729vw; /* 14/1920 */
  line-height: 1.250vw; /* 24/1920 */
  color: var(--color-text);
  margin-bottom: 0.521vw; /* 10/1920 */
  width: 22.917vw; /* 440/1920 */
}

.popup-shop__coming-soon {
  font-family: var(--font-sans);
  font-size: var(--fz-xl);
  color: var(--color-text-sub);
  font-style: normal;
  padding: var(--sp-xl) 0;
  text-align: center;
  position: absolute;
  top: calc(50% - 4em);
  right: 18%;
}

.popup-shop__url-label {
  font-size: 0.625vw;   /* 12/1920 */
  line-height: 1.042vw; /* 20/1920 */
  font-weight: 500;
  color: var(--color-text);
  text-align: left;
  margin-top: var(--sp-sm);
  margin-bottom: 2px;
}

.popup-shop__url-label span {
  font-weight: 300;
}

.popup-shop__link {
  display: inline-block;
  font-size: 0.625vw; /* 12/1920 */
  color: var(--color-text);
  text-decoration: underline;
  text-underline-offset: 2px;
  word-break: break-all;
  margin-bottom: 0;
}

/* ===== SP Hero illust overrides (≤767px) ===== */
/* PCのイラストCSSはPC幅(1920px)基準の%なのでSPでは位置・サイズがずれる。
   Figma iPhone 16フレーム(393×561px)の座標でオーバーライドする。
   top = Figma_y - 76px(ヘッダー高さ) / left・width = Figma_x(w) / 393 */
@media (max-width: 767px) {
  /* SPヘッダー実高さ（nav padding 24px + btn 24px + gap 8px + lang 40px）≈96px */
  .page-ipponsugi {
    padding-top: 100px;
  }

  .page-ipponsugi.lang-ja,
  .page-ipponsugi.lang-en {
    padding-top: 33.079vw; /* 130px / 393 */
  }
  /* 旅人カップル: Figma 955:444 x=269,y=246,w=68 / top=(246-76)/561=30.3% */
  .ipponsugi-hero__illust[data-illust="couple"] {
left: auto;
right: 14.249vw;
        top: 28.244vw;
        width: 17.303vw;
  }
  /* ニワトリ: top=294/561=52.4% */
  .ipponsugi-hero__illust[data-illust="rooster"] {
    left: auto;
    right: 16.031vw;
    top: 68.448vw;
    width: 21.629vw;
  }
  /* 鶴紋様（Figma 955:448 x=74,y=208,w=61）top=(208-76)/561=23.5% */
  .ipponsugi-hero__illust[data-illust="crane"] {
    left: 18.830vw;
    top: 18.575vw;
    width: 15.522vw;
  }
  /* 海老紋様（Figma 955:461 x=60,y=492,w=65）top=(492-76)/561=74.2% */
  .ipponsugi-hero__illust[data-illust="shrimp"] {
    left: 15.267vw;
    top: 90.840vw;
    width: 16.539vw;
  }
  /* 縦書き文字「一本杉通り商店街」: PC用4.3%(17px)はSPで小さすぎるため拡大 */
  .ipponsugi-hero__vert-title {
    left: 44.529vw;
    width: 10.687vw; /* 42px / 393 */
    top: 16.031vw;
  }
  /* ENヒーロー: 縦文字右の横テキスト */
  .ipponsugi-hero__street-label {
    left: 57.761vw; /* 227/393 */
    top: 58.779vw;  /* 231/393 */
    font-size: 3.053vw;
    line-height: 1.5em;
  }
  /* 小鳥: Figmaで座標未取得のため、left/topはPC%維持・widthを拡大 */
  .ipponsugi-hero__illust[data-illust="bird"] {
    left: auto;
    right: 14.249vw;
    width: 13.486vw; /* 53px / 393 */
    top: 104.835vw;
  }
  /* 歩く人: xはshrimpと同じ位置、少し小さく */
  .ipponsugi-hero__illust[data-illust="walker"] {
        left: 16.539vw;
        width: 8.906vw;
        top: 50.127vw;
  }
.ipponsugi-intro{
margin-top:0;
padding-top:0;
padding-bottom: 0;
margin-bottom: 5.089vw; /* 20px / 393 */
}
  .ipponsugi-intro__title {
    font-size: 5.089vw; /* 20px / 393 */
    line-height: 10.178vw; /* 40px / 393 */
    margin-bottom: 2.545vw; /* 10px / 393 */
  }
  .page-ipponsugi.lang-ja .ipponsugi-intro__desc {
    font-size: 4.071vw; /* 16px / 393 */
    line-height: 165%;
    font-weight: bold;
  }
  .page-ipponsugi.lang-en .ipponsugi-intro__desc {
    font-size: 4.071vw; /* 16px / 393 */
    line-height: 5.852vw; /* 23px / 393 */
    font-weight: bold;
  }
  .ipponsugi-intro__desc {
    margin-bottom: 5.089vw; /* 20px / 393 */
  }
  .ipponsugi-intro__link {
    font-size: 2.545vw; /* 10px / 393 */
  }
  .ipponsugi-street {
    padding-top: 0;
  }
  .page-ipponsugi.lang-ja .popup-shop__hours {
    font-size: 3.053vw; /* 12px / 393 */
    line-height: 5.089vw; /* 20px / 393 */
  }
  .page-ipponsugi.lang-en .popup-shop__hours {
    font-size: 3.053vw; /* 12px / 393 */
    line-height: 4.580vw; /* 18px / 393 */
  }

  html:has(body.page-template-ipponsugi-ja),
  html:has(body.page-template-ipponsugi-en) {
    scroll-behavior: smooth;
  }
}

/* ===== PC Layout (≥768px) ===== */
/* Figma Frame 45/83: 1920×2690px */
@media (min-width: 768px) {

  .page-ipponsugi {
    padding-top: 0;
  }

  /* PC ヒーローステージを表示 */
  .ipponsugi-hero-stage {
    display: block;
    padding-top: 14.063vw; /* 270/1920 */
  }

  /* PC: フル幅・aspect-ratioで高さ自動計算 */
  .ipponsugi-hero__stage {
    max-width: none;
    height: auto;
    aspect-ratio: 1920 / 868;
  }

  /* Intro */
  .ipponsugi-intro {
    padding: 0 22.813vw var(--sp-2xl); /* 左右 438/1920 */
    max-width: none;
    margin: 0;
  }

  .ipponsugi-intro__inner {
    padding: 0;
  }

  .ipponsugi-intro__title {
    font-size: 1.458vw; /* 28/1920 */
    margin-bottom: var(--sp-lg);
  }

  .ipponsugi-intro__desc,
  .ipponsugi-intro__note {
    font-size: 1.146vw; /* 22/1920 */
    line-height: 1.823vw; /* 35/1920 */
    font-weight: 700;
    max-width: none;
    width: 54.375vw; /* 1044/1920 */
    margin-bottom: 0.5vw;
  }

  .ipponsugi-intro__link {
    font-size: 0.573vw; /* 11/1920 */
  }

  /* Street strip + icons: hide on PC; the interactive map takes over */
  .ipponsugi-street {
    display: none;
  }

  /* SP用カテゴリアイコングリッドをPC非表示（.sp-onlyよりipponsugi.cssが後読みのため明示） */
  .ipponsugi-categories {
    display: none;
  }

  /* ショップカードはSP専用（.sp-onlyコンテナ内）のため上書き不要 */

  /* Shops */
  .ipponsugi-shops {
    padding: 4vw 0 0;
    max-width: 100%;
    margin: 0;
  }

  .ipponsugi-shops__map-area {
    padding: 0;
  }

}

/* ================================================================
   カテゴリアイコン凡例（Figma Frame 45: y≈2501〜2532）
   ================================================================ */

.ipponsugi-legend {
  background-color: transparent;
  margin-top: -30px;
  position: relative;
  z-index: 1;
}

.ipponsugi-legend__inner {
  display: flex;
  align-items: center;
  gap: 1.302vw; /* 25/1920 */
  padding: 0 100px;
}

.ipponsugi-legend__item {
  display: flex;
  align-items: center;
  gap: 0.521vw; /* 10/1920 */
}

.ipponsugi-legend__icon {
  width: 2.344vw; /* 45/1920 */
  height: 2.344vw; /* 45/1920 */
  object-fit: contain;
  display: block;
}

/* experience/sightseeing: ベース正方形を丸く見せる */
.ipponsugi-legend__icon--rounded {
  border-radius: 50%;
}

.ipponsugi-legend__item span {
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: 0.729vw; /* 14/1920 */
  letter-spacing: 0.7px;
  color: var(--color-text);
  white-space: nowrap;
}

@media (max-width: 767px) {
  .ipponsugi-legend {
    display: none;
  }
}

/* EN版ポップアップ — 行間調整（英文は日本語より行間を詰める） */
@media (min-width: 768px) {
  .lang-en .popup-shop__desc {
    line-height: 1.198vw; /* 23/1920 */
    width: 26.563vw; /* 510/1920 */
    font-weight: 500;
  }
  .lang-en .popup-shop__sub-desc {
    line-height: 0.938vw; /* 18/1920 */
    font-weight: 400;
  }
  .lang-en .popup-shop__hours {
    line-height: normal;
  }
  .lang-en .popup-shop__url-label {
    line-height: 0.833vw; /* 16/1920 */
  }

  /* SHIRAI・ICOU（strip左）: 英語版のみ左余白60pxに変更 */
  .lang-en .popup-modal--ipponsugi .popup-modal__content:has(.popup-modal__strip--left) {
    padding-left: 3.125vw; /* 60/1920 */
  }

  /* スライドショーは元の絶対位置（余白100px時点の位置）に固定 */
  .lang-en .popup-modal--ipponsugi .popup-modal__content:has(.popup-modal__strip--left) .popup-shop__left-body .popup-shop__slideshow {
    margin-left: -1.042vw; /* 20/1920（40px分の補正） */
  }

  /* 右側コンテンツ（説明文）を40px右に移動 */
  .lang-en .popup-modal--ipponsugi .popup-modal__content:has(.popup-modal__strip--left) .popup-shop__right {
    margin-left: 2.083vw; /* 40/1920 */
  }

  /* ICOU: 英語版のみpopup-shop__descのフォントサイズ・行間を変更 */
  .lang-en #popup-shop-09 .popup-shop__desc {
    font-size: 0.833vw;   /* 16/1920 */
    line-height: 1.198vw; /* 23/1920 */
  }

  /* SHIRAI・ICOU: 英語版のみsub-title/sub-descの幅を467pxに変更 */
  .lang-en #popup-shop-08 .popup-shop__sub-title,
  .lang-en #popup-shop-08 .popup-shop__sub-desc,
  .lang-en #popup-shop-09 .popup-shop__sub-title,
  .lang-en #popup-shop-09 .popup-shop__sub-desc {
    width: 24.323vw; /* 467/1920 */
  }
}

