@charset "UTF-8";
/* =========================================================
 premium.css
 プレミアムフロア配下専用レイヤー（body.pg-premium 前提）
 - 色は common_v02.css の変数を参照
 - 余白・幅は既存 utility（ptNN/mbNN 等）を HTML 側で優先使用し、
 ここには premium 固有の見た目のみを書く
========================================================= */

body.pg-premium {
  background: var(--c2-primary);
  color: var(--c2-text-on-dark);
}
/* 本文フォントは .post_content に限定。body 全体に置くとヘッダー/ドロワー等の
 テーマ chrome にも Noto が波及し、ドロワーが太く見える */
body.pg-premium .post_content {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
}

/* プレミアム配下では既存の共通プロモブロックを非表示（デザイン準拠・可逆） */
body.pg-premium #footer_carousel_wrap,
body.pg-premium .footerPrBanner { display: none; }

/* テーマの .post_content img { margin-top:20px } を premium 配下で一括無効化
 (従来は画像へ個別に mt0 付与で回避していたもののスコープ版) */
body.pg-premium .post_content img { margin-top: 0; }

/* パンくず帯はデザイン通り白地 */
body.pg-premium #bread_crumb { background: #fff; }

/* 「TOPへ戻る」は固定CTAと重なるためプレミアム配下では非表示（デザインにも無し） */
body.pg-premium #return_top { display: none; }

/* 書体 */
.pm-mincho {
  font-family: "Shippori Mincho B1", "Yu Mincho", serif;
  font-weight: 500;
}
.pm-inter {
  font-family: "Inter", "Inter UI", sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase; /* 設計: 英字ラベルは全て textCase UPPER */
}

/* セクション見出し（英字はSVG画像・下に和文キャプション） */
.pm-secTitle,
.post_content .pm-secTitle {
  margin: 0;
  padding: 0;
  text-align: center;
}
.pm-secTitle img {
  width: auto;
  height: clamp(26px, 2.35vw, 34px);
  display: inline-block;
}
.pm-secTitle .pm-secTitle__ja {
  display: block;
  margin-top: 1em;
  font-size: .8125rem;
  letter-spacing: .2em;
}

/* 色面ユーティリティ（premium 配下のみ） */
.pm-bgPrimary   { background: var(--c2-primary); }
.pm-bgSecondary { background: var(--c2-secondary); }
.pm-bgBase      { background: var(--c2-base); color: var(--c2-text-on-light); }
.pm-accent      { color: var(--c2-accent); }

/* ---------------------------------------------------------
 FV
--------------------------------------------------------- */
.pm-fv { position: relative; }
.pm-fv img.pm-fv__img {
  display: block;
  width: 100%;
  aspect-ratio: 1440 / 806;
  object-fit: cover;
}
.pm-fv__copy {
  position: absolute;
  left: 4.5%;
  bottom: 7%;
  color: #fff;
}
.pm-fv__catch {
  font-size: clamp(2rem, 3.4vw, 3.0625rem);
  font-weight: 400;
  letter-spacing: .06em;
  text-shadow: 0 0 24px rgba(0,0,0,.35);
  line-height: 1.45;
}
.pm-fv__sub {
  margin-top: .9em;
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .1em;
  opacity: .9;
}
@media screen and (max-width: 767px) {
  .pm-fv img.pm-fv__img { aspect-ratio: 375 / 670; }
  .pm-fv__copy { left: 5.5%; bottom: 9%; }
  .pm-fv__catch { font-size: 1.6875rem; line-height: 1.85; }
}

/* ---------------------------------------------------------
 完全予約制バナー
--------------------------------------------------------- */
.pm-reserve {
  padding: clamp(56px, 7vw, 104px) 5%;
  text-align: center;
  background: var(--c2-primary);
}
.pm-reserve a { display: inline-block; transition: opacity .4s ease; }
.pm-reserve a:hover { opacity: .75; }
.pm-reserve img { width: 100%; max-width: 866px; height: auto; }
/* 来場予約の注意書き（premium 共通・完全予約制バナー下／ギャラリー下）。小さめ・白系薄め・中央 */
/* 文字サイズは 他ページ の同注釈（.fs14＝14px・PC/SP共通）に合わせる。
 色は地の明暗が違う（他ページ=明るい地のグレー／本ページ=濃い緑の面）ためクリーム60%のまま */
.pm-notice { font-size: .875rem; line-height: 1.85; letter-spacing: .02em; color: rgba(249,245,234,.6); text-align: center; }
.post_content .pm-notice { max-width: 1100px; margin: 20px auto 0 !important; padding: 0 4.5%; }
/* ギャラリー節の薄緑面の中に置く注釈（配置是正）。
 .pm-gallery__inner の下・セクションの下パディングの内側に入る */
.post_content .pm-gallery .pm-notice { margin: 44px auto 0 !important; }
@media screen and (max-width: 767px) {
  body.pg-premium #bread_crumb { display: none; }
  .pm-reserve { padding: 20px 5% 48px; }
  .pm-reserve img { max-width: 87.2%; }
}

/* ---------------------------------------------------------
 CONCEPT
--------------------------------------------------------- */
.pm-concept {
  background: var(--c2-primary);
  padding: clamp(72px, 11vw, 158px) 0 clamp(72px, 9vw, 140px);
  overflow: hidden;
}
.pm-concept__inner { max-width: 1380px; margin: 0 auto; padding: 0 4.5%; }
.pm-concept__row1 { display: flex; justify-content: flex-start; align-items: flex-start; }
.pm-concept__img1 { width: 52.2%; }
.pm-concept__text { width: 42%; margin-left: 9.2%; padding-top: 12.2%; }
.pm-concept__text .pm-secTitle { text-align: left; }
.pm-concept__catch {
  margin-top: 2.4em;
  font-size: clamp(1.375rem, 1.945vw, 1.75rem);
  font-weight: 400;
  letter-spacing: .1em;
  line-height: 1.8;
}
.pm-concept__body {
  margin-top: 2.6em;
  font-size: .875rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 2.2;
}
.pm-concept__row2 { display: flex; justify-content: space-between; margin-top: clamp(64px, 8.4vw, 121px); }
.pm-concept__col { width: 44%; }
.pm-concept__img2 { width: 62%; margin-left: 26%; }
.pm-concept__img3 { width: 60%; margin-top: clamp(20px, 2.4vw, 36px); }
.pm-concept__img4 { width: 42%; padding-top: clamp(40px, 4.7vw, 68px); }
.pm-concept__closing {
  max-width: 590px;
  margin: clamp(56px, 7vw, 110px) auto 0;
  font-size: .875rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 2.2;
}
.pm-concept__img1 img, .pm-concept__img2 img, .pm-concept__img3 img, .pm-concept__img4 img { width: 100%; height: auto; display: block; }
.pm-concept__text { width: 33.4%; }

/* 親テーマの p 系余白はID絡みで上書きされるため !important で確定させる
 (デザイン実測値・DECISIONS §1a) */
.post_content .pm-fv__catch { margin: 0 !important; line-height: 1.45; }
.post_content .pm-fv__sub { margin: .9em 0 0 !important; }
.post_content .pm-concept__catch { margin: 1.25em 0 0 !important; line-height: 1.8 !important; }
.post_content .pm-concept__body { margin: 1.35em 0 0 !important; line-height: 2.2; text-align: justify; }
.post_content .pm-concept__closing { margin: clamp(80px, 10.6vw, 153px) auto 0 !important; line-height: 2.2; text-align: justify; }
.post_content .pm-plancard__type { margin: 0 !important; }
/* PC実測: カードのAL gap は 上部ブロック↔本文=24 / inner↔ボタン=32。
 下マージンは「本文とボタンの最低間隔」。ボタン側は margin-top:auto で下端に接地させるため、
 間隔をボタンの margin-top で持つと本文行数が左右で違うときにボタンが揃わない（TBで発覚）。
 line-height はテーマ .post_content p{line-height:2.4} に負けるためここで宣言（デザイン 220%） */
.post_content .pm-cta__text { margin: 24px 0 32px !important; font-weight: 500; letter-spacing: 0; line-height: 2.2; }
.post_content .pm-gallery__title { margin: 52px 0 0 !important; }
.post_content .pm-gallery__caption { margin: 34px 0 0 !important; font-size: clamp(1.125rem, 1.74vw, 1.5625rem) !important; line-height: 1.8; }
.post_content .pm-gallery__text { margin: 41px 0 0 !important; font-size: .875rem !important; line-height: 2.2; }
.post_content .pm-gallery__map { margin: 41px 0 0 !important; font-size: .875rem !important; line-height: 2.2; }
.pm-gallery__box .pm-btn { margin-top: 41px; font-size: .875rem; }
/* PC実測: 英字 ink 126x15 = SVG自然サイズ 126x14。height指定は
 .post_content img{height:auto} に負けて未適用だった（=自然サイズで正しかった）→ auto で確定 */
.post_content .pm-menu__en { margin: 1.2em 0 0 !important; width: auto; height: auto; }

/* ---------------------------------------------------------
 ROOM PLAN
--------------------------------------------------------- */
/* 実測: 節padding PC 160/160・SP （旧 clamp は上172.8/下72でどちらもズレ） */
/* 節へのアンカー着地位置。ヘッダーはスクロール中は固定表示（PC80 / それ以下60）に
   なるため、その分だけ手前で止める（同一ページ内のスムーススクロールにも効く） */
.pm-roomplan { background: var(--c2-secondary); padding: clamp(80px, 11.1vw, 160px) 0; scroll-margin-top: 60px; }
@media screen and (min-width: 1201px) { .pm-roomplan { scroll-margin-top: 80px; } }
.pm-roomplan__inner { max-width: 1380px; margin: 0 auto; padding: 0 4.5%; }
.pm-roomplan__list { margin-top: clamp(56px, 8.3vw, 120px); display: flex; flex-direction: column; gap: clamp(56px, 8.3vw, 120px); }
.pm-plancard { display: flex; justify-content: space-between; align-items: stretch; gap: clamp(14px, 1.67vw, 24px); }
.pm-plancard.is-reverse { flex-direction: row-reverse; }
.pm-plancard__photo { width: 72.6%; }
.pm-plancard__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pm-plancard__side { width: 25.5%; display: flex; flex-direction: column; gap: clamp(14px, 1.67vw, 24px); }
.pm-plancard__side .tileComingSoon { background: var(--c2-primary); }
.pm-plancard__side .tileComingSoon__label { width: clamp(110px, 9.6vw, 138px); }
/* 間取り図はクリーム面ごと1枚の画像として持つ（面の中の余白もデザインどおりに焼き込み済み）。
   height はテーマ .post_content img{height:auto}(0,1,1) に負けるため前置で確定させる */
.pm-plancard__madori { flex: 1; background: var(--c2-base); overflow: hidden; }
.post_content .pm-plancard__madori img { width: 100%; height: 100%; object-fit: cover; display: block; }
/* 実測: 間取り図スロットは PC/SP とも 487px（COMING SOON も同スロットに載る） */
.pm-plancard__side .tileComingSoon { flex: 1; min-height: 487px; }
/* 実測: Body(ラベル) PC 335x234 / SP 327x242・padding無しで中身を上下中央
 （旧 padding だと中央位置がずれる。デザインは Text relY=34 で上下対称） */
.pm-plancard__label { position: relative; background: var(--c2-panel); padding: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 234px; }
.pm-plancard__type { display: flex; align-items: center; justify-content: center; gap: clamp(16px, 1.67vw, 24px); }
.pm-plancard__typeBox { flex-shrink: 0; width: clamp(64px, 5.5vw, 79px); height: clamp(67px, 5.8vw, 83px); padding: 0 16px; box-sizing: border-box; background: var(--c2-base); display: flex; align-items: center; justify-content: center; }
.pm-plancard__typeBox img { width: 100%; height: auto; display: block; }
/* 英字SVGは デザイン PCフレームの表示寸法(ink)で書き出されている＝自然サイズが正。
 height 指定はテーマ style.css:2237 の .post_content img{height:auto}(0,1,1) に
 負けて元々未適用だった（結果的に自然サイズ＝正しく描画されていた）。
 詳細度を上げた瞬間に誤った値で壊れるため、ink実測に合わせ auto で確定させる。
 PC実測: 2LDK+G ink 146x34 = SVG自然サイズ 146x34 () */
.post_content .pm-plancard__ldk-img { width: auto; height: auto; }
.pm-plancard__specs { display: flex; justify-content: center; margin-top: 24px; }
.pm-plancard__specs dl + dl { border-left: 1px solid var(--c2-line); padding-left: 24px; margin-left: 24px; }
/* line-height を書かないとテーマの li,dt,dd{line-height:2.2} が効き、dt31/dd48 に膨らむ
 （デザインは dt 20 / dd 31 = fs×140%）。これがラベルカード +39px の主因だった */
.pm-plancard__specs dt { font-size: .875rem; font-weight: 500; letter-spacing: 0; line-height: 1.4; }
.pm-plancard__specs dd { margin: 8px 0 0; font-weight: 500; font-size: clamp(1.25rem, 1.55vw, 1.375rem); letter-spacing: 0; line-height: 1.4; }
.pm-plancard__more { position: absolute; right: 0; bottom: 0; width: 36px; height: 36px; display: grid; place-items: center; padding-bottom: .15em; box-sizing: border-box; background: var(--c2-primary); color: var(--c2-base); font-size: 1.0625rem; letter-spacing: .05em; }
.pm-plancard__label { cursor: pointer; transition: opacity .4s ease; }
.pm-plancard__label:hover { opacity: .75; }
/* ラベルカードは a 要素（各タイプページへ）。テーマの本文リンク色・下線を持ち込ませない */
.post_content a.pm-plancard__label,
.post_content a.pm-plancard__label:visited,
.post_content a.pm-plancard__label:hover { color: inherit; text-decoration: none; }
/* 間取り図が COMING SOON の間は遷移先が無いため、矢印とクリック演出を出さない。
 ▼で .tileComingSoon を実際の間取り図(.pm-plancard__madori)へ差し替えれば
 この指定が自動的に外れ、矢印・ホバーが復活する（HTML/CSSの追加作業は不要）
 :has() 非対応ブラウザではルースごと無効＝矢印が出るだけで壊れない */
.pm-plancard__side:has(.tileComingSoon) .pm-plancard__more { display: none; }
.pm-plancard__side:has(.tileComingSoon) .pm-plancard__label { cursor: default; }
.pm-plancard__side:has(.tileComingSoon) .pm-plancard__label:hover { opacity: 1; }
@media screen and (max-width: 767px) {
  .pm-plancard, .pm-plancard.is-reverse { flex-direction: column; }
  .pm-plancard__photo, .pm-plancard__side { width: 100%; }
  /* 間取り図スロットは 実測で SP も 487px（基底の min-height を活かす） */
}

/* ---------------------------------------------------------
 資料請求 / 来場予約 CTA（背景パララックス）
 ※ pm-cta / pm-btn の基本スタイルは common_v02.css に集約（全ページ共通・集約方式）。
 通常ページ・premiumログイン前ページのページ内CTAでも同じ部品を使うため。
 ここは premium 配下（.post_content 内）専用の色上書きのみ残す
 （テーマ .post_content a の色に負けないよう specificity を上げる）。
--------------------------------------------------------- */
.post_content .pm-btn, .post_content .pm-btn:visited, .post_content .pm-btn:hover { color: var(--c2-base); }
.post_content .pm-btn--gold, .post_content .pm-btn--gold:visited, .post_content .pm-btn--gold:hover { color: var(--c2-text-on-light); }

/* ---------------------------------------------------------
 PREMIUM FLOOR GALLERY
--------------------------------------------------------- */
/* 薄緑の面はセクションが持ち、横並びは内側ラッパーへ。
 注釈(.pm-notice)をこの面の中に置くため（flex直下に足すと3つ目のflexアイテムになる。
 かつ photo57%+box51%=108% を flex-shrink で詰めている構成なので flex-wrap も使えない） */
.pm-gallery { background: var(--c2-panel); padding: clamp(64px, 8.34vw, 120px) 0; }
.pm-gallery__inner { display: flex; align-items: center; }
.pm-gallery__photo { width: 57%; }
.pm-gallery__photo img { width: 100%; height: auto; display: block; }
.pm-gallery__box { width: 43%; padding: 0 4%; text-align: center; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.pm-gallery__badge { width: clamp(130px, 12.2vw, 176px); height: auto; }
/* PC実測: 見出し ink 394x95 = SVG自然サイズ 395x95。
 旧 height:126 は デザインの「テキスト行ボックス高」(fs42×lh150%×2行)で誤り
 （適用されていれば幅395→524=33%巨大化していた）。ink基準=自然サイズで確定。
 min(,100%) はテーマ max-width:100% の縮小挙動を維持するため */
.post_content .pm-gallery__title { width: auto; max-width: min(395px, 100%); height: auto; }
.pm-gallery__caption { font-size: clamp(1.125rem, 1.74vw, 1.5625rem); font-weight: 400; letter-spacing: .1em; line-height: 1.8; }
.pm-gallery__text { font-size: .875rem; font-weight: 500; letter-spacing: 0; line-height: 2.2; }
.pm-gallery__box .pm-btn { min-width: 250px; height: 56px; padding: 0 16px 0 24px; background: var(--c2-base); font-size: .875rem; }
.post_content .pm-gallery__box .pm-btn, .post_content .pm-gallery__box .pm-btn:visited, .post_content .pm-gallery__box .pm-btn:hover { color: var(--c2-text-on-light); }
.pm-gallery__box .pm-btn::after { width: 24px; height: 24px; background: var(--c2-secondary); color: #fff; font-size: .75rem; }
.pm-gallery__map { font-size: .875rem; font-weight: 500; letter-spacing: 0; }
.pm-gallery__map a { color: var(--c2-base); text-decoration: underline; text-underline-offset: .35em; }
.pm-gallery__map img { width: 20px; height: auto; vertical-align: -5px; margin-right: 6px; }
@media screen and (max-width: 767px) {
  .pm-gallery__inner { flex-direction: column; }
  .pm-gallery__photo, .pm-gallery__box { width: 100%; }
  .pm-gallery__box { padding: 48px 8% 56px; }
}

/* ---------------------------------------------------------
 フッター上 4連バナーメニュー
--------------------------------------------------------- */
.pm-menu { background: var(--c2-primary); padding: clamp(56px, 8.34vw, 120px) 4.5%; }
.pm-menu__grid { max-width: 1380px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: clamp(14px, 1.8vw, 26px); }
/* PC実測: card 644x172 pad /16/16・inner gap32・矢印36x36 */
.pm-menu__item { position: relative; display: flex; align-items: center; gap: 5.3%; background: var(--c2-base); color: var(--c2-text-on-light); padding: clamp(12px, 1.2vw, 16px); padding-right: clamp(16px, 1.7vw, 24px); text-decoration: none; transition: opacity .4s ease; }
a.pm-menu__item:hover { opacity: .75; color: var(--c2-text-on-light); }
/* PC実測: サムネ 190x141（インナー610.24の31.1%）→ タイル高 141+pad32 = 171 */
.pm-menu__thumb { width: 31.55%; flex-shrink: 0; }
.pm-menu__thumb img { width: 100%; height: auto; display: block; }
/* padding-left を足すと デザインより文字が右へ寄る（gap 5% だけで デザイン の x302 に一致） */
.pm-menu__body { flex: 1; }
/* 和名の ls は 実測 0（PC ink 81・SPノード値も ls:0）。.2em だと ink 94 に膨らむ */
.pm-menu__ja { font-family: "Shippori Mincho B1", "Yu Mincho", serif; font-size: clamp(1.25rem, 2.1vw, 1.875rem); font-weight: 400; letter-spacing: 0; line-height: 1.2; color: #1e383b; }
.pm-menu__en { width: auto; display: block; }
.pm-menu__arrow { flex-shrink: 0; width: 36px; height: 36px; display: grid; place-items: center; padding-bottom: .15em; box-sizing: border-box; background: var(--c2-secondary); color: var(--c2-base); letter-spacing: .05em; }
.pm-menu__item.is-soon { pointer-events: none; }
/* COMING SOON オーバーレイ（カードコンポーネント "comming soon" バリアント）
 実測: カード全面・#2d484b α.95・文字 "coming soon..." を上下左右中央。
 ※デザイン上は4枚とも visible:false（＝デザインでは未使用）だが、下層が未公開のため採用する判断
 矢印は α.95 の下に僅かに透ける＝デザイン準拠のため個別には隠さない
 文字は Canela（ローカル描画不可）のため 書き出しSVGを実寸で置く。
 色はSVG側が #F9F5EA を持つ＝CSSでの色指定は不要 */
.pm-menu__soon {
  position: absolute;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  background: rgba(45, 72, 75, .95);
}
.pm-menu__item.is-soon .pm-menu__soon { display: flex; }
/* SVGは ink 148x13 の1x書き出し＝実寸で デザインと一致。
 テーマ .post_content img{max-width:100%;height:auto} に負けないよう前置で確定させる */
.post_content .pm-menu__soon__img { width: 148px; height: auto; }
@media screen and (max-width: 767px) {
  .pm-menu__grid { grid-template-columns: 1fr; }
}
@media screen and (max-width: 767px) {
  .pm-concept__row1, .pm-concept__row2 { display: block; }
  .pm-concept__img1, .pm-concept__text, .pm-concept__col, .pm-concept__img4 { width: 100%; }
  .pm-concept__text { margin-left: 0; padding: 40px 3.5% 0; }
  .post_content .pm-concept__body { margin-top: 3em; }
  .pm-concept__img2 { width: 60%; margin-left: 0; margin-top: 40px; }
  .pm-concept__img3 { width: 66%; margin-left: auto; margin-top: 24px; }
  .pm-concept__img4 { width: 90%; margin-left: auto; margin-right: -4.7%; padding-top: 40px; margin-top: 8px; }
}

/* =========================================================
 共通型（FLOOR PLAN 初出・間取り詳細ページで流用する前提の型）
 使い方:
 - .pm-media 図版⇔テキストの2カラム型。--media-gap で節ごとの gap を
 上書き。--rev=図版右 / --bottom=下端揃え（既定は中央揃え）
 - .pm-media__fig/__txt 幅は「節側」で指定する（型は比率を持たない）
 - .pm-media__catch/__body キャッチ(fs28/1.8)と本文(fs14/2.2)。余白はテーマの
 .post_content p に負けないよう .post_content 前置＋!important
 - .pm-spec スペック表 dl>div>dt+dd（左罫線2px #3b5255・行間24）
 - .pm-figcard 明地の小図版カード（断面図など・pad16）
 - .pm-labels/.pm-label 属性チップ（角部屋・専用EV 等）
 - .pm-pagehead 下層の題字帯（和文＋Canela SVG・#0d1c1e）
 - .pm-notes グレーの注釈ブロック（fs12 #8b9899）
 - .pm-mt-section セクション間の標準余白 160px（本文側で付与）
========================================================= */
.pm-mt-section { margin-top: clamp(80px, 11.12vw, 160px); }

.pm-media { display: flex; align-items: center; gap: var(--media-gap, clamp(32px, 4.03vw, 58px)); }
.pm-media--rev { flex-direction: row-reverse; }
.pm-media--bottom { align-items: flex-end; }
/* キャッチ(明朝)は TOP pm-concept__catch と同一スケール（PC28/TB22/SP22）。旧 min 20 で SP/TB が TOP より小さかった */
.post_content .pm-media__catch { margin: 32px 0 0 !important; font-size: clamp(1.375rem, 1.945vw, 1.75rem); letter-spacing: .1em; line-height: 1.8; }
.post_content .pm-media__body { margin: 32px 0 0 !important; font-size: .875rem; font-weight: 500; letter-spacing: 0; line-height: 2.2; text-align: justify; }

/* スペック表（Eg type実測: 行=左罫線2px #3b5255 INSIDE・pad-left24・行間24・
 dt fs14 / dd fs22 とも lh140%・ls-0.5%。line-height を書かないとテーマの
 li,dt,dd{line-height:2.2} が勝って膨張する（ROOM PLAN ラベルで実績あり） */
.pm-spec { display: flex; flex-direction: column; gap: 24px; margin: 0; }
.pm-spec__row { border-left: 2px solid #3b5255; padding-left: 24px; }
.post_content .pm-spec dt { font-size: .875rem; font-weight: 500; letter-spacing: -.005em; line-height: 1.4; }
.post_content .pm-spec dd { margin: 8px 0 0; font-family: "Inter", "Inter UI", sans-serif; font-size: clamp(1.25rem, 1.53vw, 1.375rem); font-weight: 500; letter-spacing: -.005em; line-height: 1.4; }

.pm-figcard { width: 100%; margin: 0; background: var(--c2-base); padding: 16px; box-sizing: border-box; }
.post_content .pm-figcard img { width: 100%; height: auto; display: block; }

.pm-labels { display: flex; flex-wrap: wrap; gap: 8px; }
.pm-label { display: inline-flex; align-items: center; padding: 4px 8px; background: var(--c2-panel); color: #fff; font-size: .875rem; font-weight: 500; letter-spacing: -.005em; line-height: 1.4; }

/* 題字帯（設計: 帯381px＝上110/中身128/下143・和文fs22 Regular lh180%・gap16・SVG natural） */
.pm-pagehead { background: var(--c2-secondary); padding: clamp(56px, 7.64vw, 110px) 4.5% clamp(72px, 10.84vw, 156px); text-align: center; }
/* SVGはink実寸書き出し(箱72/ink46)のため、箱ベースの設計値に行送り分を足す:
 gap16+上行送り13=29 / 帯下143+下行送り13=156（DECISIONS §1a） */
.pm-pagehead__ja { font-size: clamp(1.125rem, 1.53vw, 1.375rem); font-weight: 400; letter-spacing: .1em; }
.post_content .pm-pagehead__ja { margin: 0 !important; line-height: 1.8; }
.post_content .pm-pagehead__en { display: block; margin: 29px auto 0 !important; width: auto; height: clamp(30px, 4.2vw, 46px); max-width: 100%; }

.pm-notes { color: #8b9899; font-weight: 500; text-align: justify; }
.post_content .pm-notes { font-size: .75rem; letter-spacing: 0; line-height: 2.2; }
/* 間取り図の但し書き。色/太さ/行間は .pm-notes、整列と余白は module.css の
 utility（tar / tal-sp / mt32 / mb0）で持つ。ここに残すのは PC 幅の文字サイズだけ:
 設計は PC のみ fs14 だが、このサイトの font-size utility は base と -sp しか無く、
 TB(768〜1200) を fs12 のまま保てないため utility では表現できない */
@media screen and (min-width: 1201px) {
  .post_content .pm-roomplan__note { font-size: .875rem; }
}

/* ---------------------------------------------------------
 FLOOR PLAN: intro（premium floor specification・#0d1c1e帯の続き）
 設計: inner 1054(488+20+487) 中央・下に全幅図版(1440x289)がgap120
--------------------------------------------------------- */
.pm-fpintro { background: var(--c2-secondary); }
.pm-fpintro__inner { display: flex; justify-content: space-between; align-items: center; gap: 20px; max-width: 1054px; margin: 0 auto; padding: 0 4.5%; }
.pm-fpintro__fig { width: 46.3%; flex-shrink: 0; margin: 0; }
.post_content .pm-fpintro__fig img { width: 100%; height: auto; display: block; }
.pm-fpintro__text { width: 46.2%; }
/* ttl SVGはink実寸(箱126/ink95)。col中央揃えとgapを箱ベースに合わせるため±15.5を配分 */
.post_content .pm-fpintro__ttl { display: block; margin: 15px 0 0 !important; width: auto; height: auto; max-width: min(396px, 100%); }
.post_content .pm-fpintro__body { margin: 47px 0 0 !important; font-size: .875rem; font-weight: 500; letter-spacing: 0; line-height: 2.2; text-align: justify; }
.post_content .pm-fpintro__wide { display: block; margin: clamp(60px, 8.34vw, 120px) 0 0 !important; width: 100%; height: auto; }
.pm-fpintro { padding-bottom: 0; }

/* ---------------------------------------------------------
 FLOOR PLAN: PREMIUM DESIGN（左見出し＋右item×4）
 設計: inner1312 gap64 SPACE_BETWEEN・left411/right722
 item = #2d484b 地に上罫線1px #3b5255・pad上下40（左右0）
--------------------------------------------------------- */
.pm-design__inner { display: flex; justify-content: space-between; gap: clamp(32px, 4.45vw, 64px); max-width: 1312px; margin: 0 auto; padding: 0 4.45%; }
.pm-design__intro { width: 31.4%; }
.post_content .pm-design__ttl { display: block; margin: 15px 0 0 !important; width: auto; height: clamp(26px, 2.35vw, 34px); max-width: 100%; }
.post_content .pm-design__lead { margin: 55px 0 0 !important; font-size: .875rem; font-weight: 500; letter-spacing: 0; line-height: 2.2; }
/* 設計: item は fill 非表示（#2d484b パネルは出さない）＝本体 #1e383b の上に上罫線1pxのみ */
.pm-design__items { width: 55%; }
.pm-design__item { border-top: 1px solid #3b5255; padding: 40px 0; }
.pm-design__head { display: flex; align-items: center; gap: 24px; }
.pm-design__badge { flex-shrink: 0; width: 120px; height: 120px; display: grid; place-items: center; background: var(--c2-base); color: var(--c2-text-on-light); text-align: center; font-size: 1.125rem; font-weight: 600; line-height: 1.3; letter-spacing: 0; text-transform: uppercase; }
.pm-design__name { font-size: 1.625rem; font-weight: 500; letter-spacing: .05em; }
/* margin/line-height はテーマ .post_content h3 系に負けるため前置で確定 */
.post_content .pm-design__name { margin: 0 !important; font-weight: 500 !important; line-height: 1.7; }
.post_content .pm-design__text { margin: 24px 0 0 !important; font-size: .875rem; font-weight: 500; letter-spacing: 0; line-height: 2.2; text-align: justify; }
.pm-design__note { display: block; font-size: .75rem; }
/* 左intro列を右items列のスクロール中 sticky 固定（デザイン指示 node:105:481
 「右のエレベーターセキュリティ部分まで画面左側を sticky 固定」参考 k-innovation-inc.com）。
 flex では align-items:stretch で intro が items 高に伸び sticky が効かないため
 align-self:flex-start で自然高に。2カラムの TB+PC のみ・SP 縦積みは対象外 */
/* 親テーマの #container(overflow:hidden) が sticky のスクロールコンテナになり
 固定を殺すため、premium配下のみ overflow-x:clip に置換。clip は hidden と違い
 スクロールコンテナを作らない＝sticky はビューポート基準で効き、横クリップは維持 */
body.pg-premium #container { overflow-x: clip; overflow-y: visible; }
@media screen and (min-width: 768px) {
  .pm-design__intro { position: sticky; top: clamp(88px, 14vh, 148px); align-self: flex-start; }
}

/* ---------------------------------------------------------
 FLOOR PLAN: 14F / 13F（.pm-media 適用先①・明地 #f9f5ea）
 設計: 行=1312(607+58+648) 中央・上下pad100
--------------------------------------------------------- */
.pm-floor { background: var(--c2-base); color: var(--c2-text-on-light); overflow-x: clip; }
.pm-floor__row { max-width: 1313px; margin: 0 auto; padding: clamp(56px, 6.95vw, 100px) 4.45%; box-sizing: content-box; }
/* 14F と 13F の間の区切り線（設計: 13Fブロック上辺 1px #3b5255・節フル幅。DESIGN項目の線と同色）。
 行は max-width:1313 中央寄せなので、::before を左右 -100vw に伸ばし .pm-floor の overflow-x:clip で
 全幅ヘアラインにする（14F=1行目には出さない＝デザインも14Fの上辺strokeは色なしで不可視） */
.pm-floor__row + .pm-floor__row { position: relative; }
.pm-floor__row + .pm-floor__row::before { content: ""; position: absolute; top: 0; left: -100vw; right: -100vw; height: 1px; background: #3b5255; }
.pm-floor__row .pm-media__txt { width: 46.2%; }
.pm-floor__row .pm-media__fig { width: 49.4%; flex-shrink: 0; }
/* 階数SVGはink実寸(箱50/ink32)。デザインは箱の下端揃え=min-height50＋img下行送り9で箱を再現 */
.pm-floor__ttl { display: flex; align-items: flex-end; gap: 17px; min-height: 50px; }
.pm-floor__ttl .pm-floor__en { font-size: 1.25rem; font-weight: 600; letter-spacing: .1em; line-height: 1.2; }
.post_content .pm-floor__ttl img { width: auto; height: auto; margin-bottom: 9px !important; }
.pm-floor__ev { margin: 32px 0 0; }
.post_content .pm-floor__ev img { width: 100%; aspect-ratio: 607 / 365; object-fit: cover; display: block; }
.pm-floor__madori { margin: 0; }
.post_content .pm-floor__madori img { width: 100%; height: auto; display: block; }
.pm-floor__btns { margin-top: 32px; display: flex; justify-content: center; gap: 32px; }
/* タイプ別ボタン（設計: 187x56 pad /16/24・矢印24px角 #0d1c1e） */
.pm-btn--type { min-width: 187px; height: 56px; margin-top: 0; padding: 0 16px 0 24px; background: var(--c2-primary); font-size: .875rem; font-weight: 600; letter-spacing: .1em; }
.pm-btn--type::after { width: 24px; height: 24px; background: var(--c2-secondary); color: #fff; font-size: .75rem; }
/* 型ページ未公開時の COMING SOON 表示（デザインに無いため独自設定）。
   横並び（型名の右に COMING SOON）は狭幅で右端が切れる → ミュート面に型名を残しつつ
   下段へ Coming Soon を添える2段組にし、メニュータイルの準備中演出に寄せる。
   Coming Soon はフッター4点タイルと同一の書き出しSVG（ttl_menu_comingsoon.svg）を採用。
   マークアップは span（非クリック）+ 子 img.pm-btn__soon。
   ページ公開後は span→a(href="/…/xx-type/")＋文言「xx typeを見る」に戻し
   pm-btn--soon（と子img）を外すだけで通常ボタンに復帰する */
.pm-btn--soon {
  flex-direction: column;
  justify-content: center;
  gap: 8px;
  height: auto;
  min-height: 56px;
  padding: 10px 16px;
  background: var(--c2-tile);
  line-height: 1.2;
  pointer-events: none;
}
.post_content .pm-btn--soon,
.post_content .pm-btn--soon:visited { color: rgba(249, 245, 234, .62); }
.pm-btn--soon::after { display: none; }
/* SVGはボタン幅に合わせて縮小（148→108px）。ミュート面に馴染むよう少し落とす。
   テーマ .post_content img{max-width:100%;height:auto} に負けないよう .post_content 前置で幅確定 */
.post_content .pm-btn__soon { width: 108px; max-width: 100%; height: auto; opacity: .6; }

/* ---------------------------------------------------------
 FLOOR PLAN: garalo series（.pm-media 適用先②・#1e383b 地）
 設計: 見出し後120・ブロック間160・図版850(端まで裁ち落とし)＋テキスト460
--------------------------------------------------------- */
.pm-garalo { overflow: hidden; }
/* series見出しSVGもink実寸(箱50/ink32=±9)。margin-topはテーマimgルールに負けるため!important */
.post_content .pm-garalo__ttl { display: block; margin: 9px auto 0 !important; width: auto; height: clamp(26px, 2.35vw, 34px); max-width: 100%; }
.pm-garalo__list { margin-top: clamp(64px, 8.96vw, 129px); display: flex; flex-direction: column; gap: clamp(80px, 11.12vw, 160px); }
.pm-garalo__row { --media-gap: clamp(40px, 4.65vw, 67px); }
.pm-garalo__row .pm-media__fig { width: 59.03%; flex-shrink: 0; margin: 0; }
.post_content .pm-garalo__row .pm-media__fig img { width: 100%; height: auto; display: block; }
.pm-garalo__row .pm-media__txt { flex: 1; padding-right: clamp(24px, 4.45vw, 64px); box-sizing: border-box; }
.pm-garalo__row.pm-media--rev .pm-media__txt { padding-right: 0; padding-left: clamp(24px, 4.45vw, 64px); }
/* 1節目のみ gap70・キャッチあり・写真上にロゴ */
.pm-garalo__row--main { --media-gap: clamp(40px, 4.87vw, 70px); }
.pm-garalo__mainfig { position: relative; }
.pm-garalo__logo { position: absolute; left: 4.8%; bottom: 4.7%; }
/* width は .pm-media__fig img { width:100% } (0,3,0) に負けるため同格以上で宣言 */
.post_content .pm-garalo__row .pm-media__fig img.pm-garalo__logo { width: 30.2%; height: auto; }
.pm-garalo__head .pm-garalo__en { display: block; font-size: 1.25rem; font-weight: 600; letter-spacing: .1em; line-height: 1.2; }
/* gap16+上行送り9=25 / 下行送り9は次要素との間隔に配分（margin-topはテーマimgルールに負けるため!important） */
.post_content .pm-garalo__head img { width: auto; height: clamp(26px, 2.35vw, 34px); max-width: 100%; margin-top: 25px !important; margin-bottom: 9px; }
/* 1行目15文字×(28+ls2.8)=462px が列幅456を超えて折り返すため、デザインどおり<br>位置で固定 */
.post_content .pm-garalo .pm-media__catch { margin-top: 40px !important; font-weight: 400; white-space: nowrap; }
.post_content .pm-garalo .pm-media__body { margin-top: 40px !important; }
.pm-garalo .pm-figcard { margin-top: 40px; }
/* ideaカード（#2d484b 帯 pad24・4枚 gap24・キャプション fs16 lh220 ls2%） */
.pm-garalo__ideas { max-width: 1312px; margin: clamp(40px, 5.56vw, 80px) auto 0; padding: 24px; box-sizing: border-box; background: var(--c2-panel); display: flex; gap: 24px; }
.pm-garalo__idea { flex: 1; margin: 0; }
.post_content .pm-garalo__idea img { width: 100%; aspect-ratio: 298 / 200; object-fit: cover; display: block; }
.pm-garalo__idea figcaption { margin-top: 8px; text-align: center; font-size: 1rem; font-weight: 500; letter-spacing: .02em; line-height: 2.2; }
.post_content .pm-garalo__notes { margin: clamp(60px, 8.34vw, 120px) auto 0 !important; max-width: 1312px; padding: 0 4.45%; }

/* ---------------------------------------------------------
   ROOM PLAN 詳細（eg/fg/gg-type 3ページ共通）
   デザイン実測: ヒーロー=帯523(パース写真＋#0d1c1e70%が帯下230まで延長)・
   室内写真894が帯へ115px食い込み右端裁ち落とし・テキスト398左
   スペック節=.pm-media適用（パネル712×1046固定＋スペック列520）
--------------------------------------------------------- */
.pm-typehero { position: relative; padding-top: clamp(200px, 28.34vw, 408px); }
/* 帯の地色はページ地色と同じ（デザイン実描画で確認。濃色 #0d1c1e ではない） */
.pm-typehero__band { position: absolute; left: 0; top: 0; width: 100%; height: clamp(260px, 36.32vw, 523px); background: var(--c2-primary); }
/* パースはぼかし・地色・枠外への滲みを焼き込んだ帯サイズの素材＝そのまま全面に敷く */
.post_content .pm-typehero__band img { display: block; width: 100%; height: 100%; object-fit: cover; }
/* 暗幕は帯と同じ高さ。合成は「乗算」。
   デザインの暗幕ノードは帯より 230px 高いが、実描画では帯の外に効果が出ていないため
   帯だけに掛ける（帯下まで掛けると本文の地色が沈んで別の色になる）。
   通常合成では黒が持ち上がり全体が白ちゃける（帯 平均輝度 実測44.0 に対し通常合成は50.9） */
.pm-typehero__tint { position: absolute; left: 0; top: 0; width: 100%; height: clamp(260px, 36.32vw, 523px); background: rgba(13, 28, 30, .7); mix-blend-mode: multiply; pointer-events: none; }
.pm-typehero__ttl { position: absolute; left: 0; top: clamp(80px, 11.12vw, 160px); width: 100%; text-align: center; z-index: 2; }
.post_content .pm-typehero__ttl img { width: auto; height: auto; display: block; margin: 0 auto; }
/* SVGはink実寸。room plan=箱24/ink16(±4)・xx type=箱72/ink46(±13)
   → gap16は 4+16+13=33 に、題字top160は+4 して箱位置を再現 */
.post_content .pm-typehero__ttl .pm-typehero__label { margin: 4px auto 33px !important; }
.pm-typehero__inner { position: relative; z-index: 1; display: flex; justify-content: space-between; align-items: flex-start; }
.pm-typehero__txt { width: 27.64%; margin-left: 4.45%; padding-top: clamp(100px, 14.03vw, 202px); box-sizing: border-box; }
.pm-typehero__photo { width: 62.08%; margin: 0; flex-shrink: 0; }
.post_content .pm-typehero__photo img { width: 100%; height: auto; display: block; }
/* キャッチはヒーローのみ Regular（.pm-mincho の500ではなくデザイン指定=400） */
.pm-typehero__catch { font-size: clamp(1.375rem, 1.945vw, 1.75rem); font-weight: 400; letter-spacing: .1em; }
/* line-height はテーマ .post_content p(2.4) に負けるため前置で宣言（§1a）。
   1行目13文字は CSS だと末尾トラッキング込み 400.4px＞列398px で最終字が落ちる
   （デザインデータは末尾トラッキング無しで 397.6px に収まる）→ <br> 位置固定の nowrap */
.post_content .pm-typehero__catch { margin: 0 !important; line-height: 1.8; white-space: nowrap; }
.post_content .pm-typehero__body { margin: 32px 0 0 !important; font-size: .875rem; font-weight: 500; letter-spacing: 0; line-height: 2.2; text-align: justify; }

.pm-typespec__row { --media-gap: clamp(40px, 5.56vw, 80px); max-width: 1312px; margin: 0 auto; padding: 0 4.45%; }
/* 間取りパネルは3タイプ固定寸（712×1046）・中の間取り図はタイプごとに実寸が違うため
   modifier で表示幅を指定（Eg544/Fg586/Gg656 ÷ 712） */
.pm-typespec__madori { width: 54.27%; flex-shrink: 0; margin: 0; aspect-ratio: 712 / 1046; background: var(--c2-base); display: flex; align-items: center; justify-content: center; }
/* 間取り図はSPで横スクロール表示にするためラッパーで包む（PC/TBは素通し） */
.pm-typespec__madoriscroll { width: 100%; }
.post_content .pm-typespec__madori img { height: auto; display: block; margin: 0 auto; }
/* スクロール可の注記はSPのみ（表示切替は下のSPブロック） */
.pm-typespec__note { display: none; }
.post_content .pm-typespec__madori--eg img { width: 76.4%; }
.post_content .pm-typespec__madori--fg img { width: 82.3%; }
.post_content .pm-typespec__madori--gg img { width: 92.1%; }
.pm-typespec__col { width: 39.63%; }
.pm-typespec__ttl { display: flex; align-items: center; gap: clamp(16px, 1.67vw, 24px); }
/* 型箱 84x83・pad 右左16/下10。字形は ink 実寸で表示し、下端を padding 内側の下端に合わせる
   （枠幅いっぱいに拡大すると字形が 58→70px に膨らみ、上の余白が 14px→1px に潰れる）。
   SVGは ROOM PLAN カードと共通のものを使う（素材を1箇所で管理するため）。
   Gg はデザイン上だけ字が大きい（ink 55）が、共通SVG（49）で運用する判断 */
.pm-typespec__typebox { flex-shrink: 0; width: clamp(68px, 5.84vw, 84px); height: clamp(67px, 5.77vw, 83px); padding: 0 16px 10px; box-sizing: border-box; background: var(--c2-base); display: flex; align-items: flex-end; justify-content: center; }
.post_content .pm-typespec__typebox img { width: auto; height: auto; max-width: 100%; display: block; }
.post_content .pm-typespec__ldk { width: auto; height: auto; }
/* 列内の要素間はデザイン実測で一律40 */
/* ラベル領域はデザイン明示幅389＝「専用サイクルガレージ」が2行目に落ちる折返しが意匠 */
.pm-typespec__col .pm-labels { margin-top: 40px; max-width: 389px; }
.pm-typespec__col .pm-spec { margin-top: 40px; }
.pm-typespec__pos { margin: 40px 0 0; }
.post_content .pm-typespec__pos img { width: 78.7%; height: auto; display: block; }

/* =========================================================
 TB（768〜1201px）調整
 デザインに TB カンプは無く「PC版を基にレスポンシブ判断」の領域。
 PC比率のままでは列が狭くなりすぎる箇所だけを補正する
========================================================= */
@media screen and (min-width: 768px) and (max-width: 1201px) {
  /* CONCEPT: 横並びだとテキスト列が255pxまで痩せ（PC設計は438px）、
 img1(265px)の横に約390pxの死んだ余白ができるため縦積みにする。
 2枚目以降の画像ブロック(row2)はPCのまま */
  .pm-concept__row1 { display: block; }
  .pm-concept__img1 { width: 100%; }
  .pm-concept__text { width: 100%; margin-left: 0; padding-top: 56px; }
  /* 本文が長すぎる行長にならないよう、既存 .pm-concept__closing と同じ 590px 幅に揃える */
  .pm-concept__text .pm-secTitle,
  .post_content .pm-concept__catch,
  .post_content .pm-concept__body { max-width: 590px; }

  /* GALLERY: SP同様に縦積み（横並びだと写真439/ボックス399で両方窮屈）
 縦積みでは cross軸が横になり flex-shrink が効かないため box-sizing 必須
 （border-box にしないと width:100% + padding 4% で 905px にはみ出す） */
  .pm-gallery__inner { flex-direction: column; }
  .pm-gallery__photo, .pm-gallery__box { width: 100%; }
  .pm-gallery__box { padding: 56px 4% 0; box-sizing: border-box; }
}

/* ROOM PLAN: 側パネルが PC比率(25.5%)のままだと 194px しかなく、
 中身(Egtype箱64 + gap16 + 2LDK+G 146 = 226px)が左右16pxずつはみ出す。
 1024px以上は 237px 確保できてはみ出さないため、破綻する幅だけ比率を変える */
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .pm-plancard__photo { width: 60%; }
  .pm-plancard__side { width: 38%; }
}

/* =========================================================
 SP実値オーバーライド（SPデザイン実測）
 既存SPルールより後方に置き同詳細度で勝たせる
========================================================= */
@media screen and (max-width: 767px) {
  /* FV: 実測(ink) キャッチ 幅215/高33/行送り52 → fs34.5・lh150%・ls10%。
 サブは ink227 で現状一致（fs11/ls.18em）だが行送り19・位置のみ補正。
 line-height はテーマ .post_content p に負けるため .post_content 前置 */
  .pm-fv__catch { font-size: 34.5px; letter-spacing: .1em; }
  .post_content .pm-fv__catch { line-height: 1.5; }
  .post_content .pm-fv__sub { margin: 22px 0 0 !important; line-height: 1.727; }
  .pm-fv__copy { left: 6.67%; bottom: 13.34%; z-index: 1; }
  /* SP FV下部の暗めグラデ（写真には焼き込まずCSSで再現）。
 実測のα: 27%=0 / 45%=.20 / 54%=.27 / 63%=.42 / 72%以降=.49 */
  .pm-fv::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(to bottom, rgba(0,0,0,0) 27%, rgba(0,0,0,.2) 45%, rgba(0,0,0,.49) 72%, rgba(0,0,0,.49) 100%);
  }
  /* 基本: インナー左右24px・セクション間80px */
  .pm-concept__inner, .pm-roomplan__inner { padding: 0 24px; }
  .pm-reserve { padding: 20px 24px 80px; }
  /* バナーはインナー全幅（デザイン 327x589・画像は654x1178=2x） */
  .pm-reserve img { max-width: 100%; }
  .pm-concept { padding: 0 0 80px; }
  /* CONCEPT: タイトル22px・キャッチ22px/1.8・本文はデザイン通り */
  .pm-secTitle img { height: 22px; }
  .pm-concept__text { margin-left: 0; padding: 75px 0 0; width: 100%; }
  .pm-concept__catch { font-size: 22px; }
  /* line-height は前方の !important 宣言に、letter-spacing/line-height は
 テーマ .post_content p(0,1,1) に負けるため .post_content 前置＋!important */
  .post_content .pm-concept__catch { margin: 23px 0 0 !important; line-height: 1.8 !important; letter-spacing: .1em; white-space: nowrap; }
  .post_content .pm-concept__body { margin: 24px 0 0 !important; line-height: 2.2; letter-spacing: 0; }
  .pm-concept__row2 { margin-top: 40px; }
  /* 設計: アセット9(226x157)=右寄せ / アセット8(214x154)=左寄せ */
  .pm-concept__img2 { width: 69.1%; margin: 0 0 0 auto; }
  .pm-concept__img3 { width: 65.4%; margin: 21px auto 0 0; }
  .pm-concept__img4 { width: 100%; margin: 36px 0 0; padding-top: 0; }
  .post_content .pm-concept__closing { margin-top: 45px !important; line-height: 2.2; letter-spacing: 0; }
  /* ROOM PLAN: 節80/タイトル後60/カード間120/積み24 */
  .pm-roomplan { padding: 80px 0; }
  .pm-roomplan__list { margin-top: 60px; gap: 120px; }
  /* SP実測: card/right とも AL gap 16・写真 327x256・Body 327x242 */
  .pm-plancard, .pm-plancard__side { gap: 16px; }
  .pm-plancard__photo { aspect-ratio: 327 / 256; }
  .pm-plancard__label { min-height: 242px; }
  /* CTA/ボタンのSPスタイルは common_v02.css に集約。ここは .post_content 内の本文余白のみ */
  .post_content .pm-cta__text { margin: 14px 0 0 !important; line-height: 2.2; letter-spacing: 0; }
  /* GALLERY: 節60・要素間64(行送り補正込72)・タイトル34px級・キャプション24px */
  .pm-gallery { padding: 60px 0; }
  /* 写真→バッジ間 64（実測） */
  .pm-gallery__box { padding: 64px 24px 0; }
  .pm-gallery__badge { width: 135px; }
  /* max-width/height はテーマ .post_content img(0,1,1) に負けるため前置で上げる */
  .post_content .pm-gallery__title { margin: 40px 0 0 !important; max-width: 322px; height: auto; }
  .post_content .pm-gallery__caption { margin: 35px 0 0 !important; font-size: 24px !important; line-height: 1.8; }
  .post_content .pm-gallery__text { margin: 22px 0 0 !important; line-height: 2.2; }
  .pm-gallery__box .pm-btn { margin-top: 25px; }
  .post_content .pm-gallery__map { margin: 26px 0 0 !important; }
  /* メニュー: タイル80px・pad8-16・サムネ87・和名20/英字12・矢印26 */
  .pm-menu { padding: 60px 24px; }
  .pm-menu__grid { gap: 16px; }
  .pm-menu__item { padding: 8px 16px 8px 8px; gap: 16px; }
  .pm-menu__thumb { width: 87px; }
  .pm-menu__ja { font-size: 20px; line-height: 1.2; }
  /* height はテーマ .post_content img{height:auto}(0,1,1) に負けるため前置で上げる。
 9.1px で デザイン 実測の英字 ink 82x9 に一致。margin は gap4＋行送り半分の補正 */
  .post_content .pm-menu__en { height: 9.1px; width: auto; margin: 6.5px 0 0 !important; }
  .pm-menu__arrow { width: 26px; height: 26px; margin-right: 0; }
}

/* CONCEPTキャッチは デザインでも 2行目(14字×24.2=338.8)がインナー327をはみ出す設計
 （ink は 345 で収まる）。375基準では nowrap で2行を保てるが、375未満では
 見切れるため文字サイズを vw 追従させる */
@media screen and (max-width: 374px) {
  .pm-concept__catch { font-size: 5.87vw; }
}

/* =========================================================
 FLOOR PLAN 固有セクションの TB/SP
 デザインに floor-plan の TB/SP カンプは無く「PC版を基に判断」領域。
 TOP の縮退ルール（2カラム media は縦積み・画像フル幅・box-sizing）を踏襲。
 PC のレイアウト値は変えず、破綻する幅だけ後方ブロックで上書きする
========================================================= */
/* --- TB（768〜1201）: floor/design/fpintro は PC比率で収まる。
 garalo main 行だけ txt 列の nowrap キャッチで +90px はみ出す → 縦積み --- */
@media screen and (min-width: 768px) and (max-width: 1201px) {
  .pm-garalo__row { flex-direction: column; align-items: stretch; }
  .pm-garalo__row .pm-media__fig,
  .pm-garalo__row .pm-media__txt { width: 100%; }
  .pm-garalo__row.pm-media--rev .pm-media__txt,
  .pm-garalo__row .pm-media__txt { padding-right: 0; padding-left: 0; margin-top: 40px; }
  .post_content .pm-garalo .pm-media__catch { white-space: normal; }
  /* キャッチの改行は TB では不要（1行で収まる） */
  .post_content .pm-garalo .pm-media__catch br { display: none; }
  .pm-garalo__mainfig { max-width: 900px; }
  /* TB: garalo は縦積みで全幅化する（PCは2カラムで自然に収まる）ため、
     リスト全体を左右インセットして端に張り付かないようにする */
  .pm-garalo__list { padding: 0 40px; }
  /* 明地の断面図カードが全幅だと目立ちすぎ → 幅を抑えて中央寄せ */
  .pm-garalo .pm-figcard { max-width: 560px; margin-left: auto; margin-right: auto; }
  /* ideas 4点のキャプションは大きい（PC 16px）ので TB は少し小さく */
  .pm-garalo__idea figcaption { font-size: .8125rem; }
  /* wide パノラマは TB でも横長のままだと高さが薄い → 緩めにトリミングして高さを持たせる */
  .post_content .pm-fpintro__wide {
    aspect-ratio: 3 / 1;
    height: auto;
    object-fit: cover;
    object-position: center;
  }
  /* PREMIUM DESIGN 節（TB）: ①タイトル↔リードの余白を詰める（55→28）
     ②右見出しを PREMIUM DESIGN タイトル(26px)より小さく（26→20px）
     ③連動してバッジ(CORNER SUITE)と文字も縮小 */
  .post_content .pm-design__lead { margin-top: 28px !important; }
  .pm-design__head { gap: 20px; }
  .pm-design__badge { width: 96px; height: 96px; font-size: .9375rem; }
  .post_content .pm-design__name { font-size: 1.25rem; }
}

/* --- モバイル+TB（〜1201）: 文字の扱いを TOP に揃える。PCは デザイン のまま ---
 ・本文段落の デザイン由来 <br> を畳んで自然折返し（TOP の concept__body は br 無しで自然折返し）
 ・floorキャッチ(14F/13F)は デザイン Medium だが TOP/garaloキャッチ(Regular=400)に合わせる */
@media screen and (max-width: 1201px) {
  .post_content .pm-fpintro__body br,
  .post_content .pm-design__lead br,
  .post_content .pm-design__text br,
  .post_content .pm-design__name br,
  .post_content .pm-media__body br { display: none; }
  .post_content .pm-floor__row .pm-media__catch { font-weight: 400; }
}

/* --- SP（〜767）: floor-plan 固有セクションを全て縦積み --- */
@media screen and (max-width: 767px) {
  /* 英字タイトルは TOP(pm-secTitle=SP22px / gallery=maxW322) の SP サイズに揃える
 （floor-plan は SP/TBカンプ無し＝TOP基準）。
 単一行 Canela 節見出しは 22px、2行の SPECIFICATION は gallery と同じ 322px 幅 */
  .post_content .pm-design__ttl,
  .post_content .pm-garalo__ttl,
  .post_content .pm-garalo__head img { height: 22px; }
  .post_content .pm-fpintro__ttl { max-width: 322px; }

  /* 題字帯↔立面の余白を詰める（帯下pad＋fpintro上pad） */
  .pm-pagehead { padding-bottom: 48px; }
  /* fpintro: facade / text を縦積み、wide はフル幅。
     題字帯↔立面は詰め（padding-top 32）、立面↔SPEC は広げ（gap 56）、SPEC↔本文も広げ（body mt 36） */
  .pm-fpintro__inner { flex-direction: column; padding: 32px 24px 0; gap: 56px; }
  .pm-fpintro__fig, .pm-fpintro__text { width: 100%; }
  .post_content .pm-fpintro__ttl { margin-top: 20px !important; }
  .post_content .pm-fpintro__body { margin-top: 36px !important; }
  /* 超横長パノラマ（約5:1）はSP幅だと高さが出ず薄くなる → 縦持ちにトリミングして高さを確保。
     中央に主役（ソファ／シェルフ）があるため center クロップ */
  .post_content .pm-fpintro__wide {
    margin: 40px 0 0 !important;
    aspect-ratio: 2 / 1;
    height: auto;
    object-fit: cover;
    object-position: center;
  }

  /* PREMIUM DESIGN: intro / items を縦積み */
  .pm-design__inner { flex-direction: column; padding: 0 24px; gap: 40px; }
  .pm-design__intro, .pm-design__items { width: 100%; }
  .post_content .pm-design__lead { margin-top: 24px !important; }
  .pm-design__item { padding: 28px 0; }
  .pm-design__head { gap: 16px; }
  .pm-design__badge { width: 96px; height: 96px; font-size: 1rem; }
  /* 狭いSPは見出しの改行を畳んで自然折返しにし、末尾数字の孤立を防ぐ。
 font-size はテーマ .post_content h3(0,1,1) に負けるため .post_content 前置(0,2,0)で指定 */
  .post_content .pm-design__name { font-size: 1.125rem; }
  .post_content .pm-design__name br { display: none; }

  /* FLOOR 14F/13F: 2カラム media を縦積み（txt→fig の順に統一） */
  .pm-floor__row { flex-direction: column; align-items: stretch; padding: 60px 24px; }
  .pm-floor__row .pm-media__txt, .pm-floor__row .pm-media__fig { width: 100%; }
  .pm-floor__row .pm-media__fig { margin-top: 32px; }
  /* 型ボタン(Eg/Fg)は SP でも横並び。2つ収めるため min-width 解除・padding/字送り詰め・
     文字を1行固定（狭さでボタン内が2行折返しになるのを防ぐ）。
     Gg単独・Eg/Fg横並びとも画面左右中央に置く */
  .pm-floor__btns { justify-content: center; flex-wrap: nowrap; gap: 10px; }
  .pm-btn--type { min-width: 0; padding: 0 10px 0 12px; font-size: .8125rem; letter-spacing: .05em; white-space: nowrap; }

  /* GARALO: 各行を縦積み（写真上→テキスト下）・ideas は 2×2 */
  .pm-garalo__list { padding: 0 24px; }
  .pm-garalo__row { flex-direction: column; align-items: stretch; }
  .pm-garalo__row .pm-media__fig, .pm-garalo__row .pm-media__txt { width: 100%; }
  .pm-garalo__row.pm-media--rev .pm-media__txt,
  .pm-garalo__row .pm-media__txt { padding-right: 0; padding-left: 0; margin-top: 32px; }
  /* キャッチも SP は改行を畳んで自然折返し（中途半端な改行位置を解消） */
  .post_content .pm-garalo .pm-media__catch { white-space: normal; margin-top: 32px !important; }
  .post_content .pm-garalo .pm-media__catch br { display: none; }
  .pm-garalo__ideas { flex-wrap: wrap; padding: 16px; gap: 16px; }
  .pm-garalo__idea { flex: 0 0 calc(50% - 8px); }
  .pm-garalo__idea figcaption { font-size: .75rem; }
  .post_content .pm-garalo__notes { padding: 0 24px; }

  /* 縦積み時、--bottom の align-items:flex-end が横方向右寄せになるのを解除 */
  .pm-media--bottom { align-items: stretch; }
}

/* =========================================================
 販売終了（SOLD OUT）の表示
 状態は data-sale="soldout"（テーマ側が本文のラッパーへ書き込む）。
 見せ方＝「COMING SOON と同じ場所に SOLD OUT を出し、下の画像を暗くして視認性を上げる」。
 文言SVGは **背景画像** として指定する＝販売中は読み込みが発生せず、差し替えは
 files/images/premium/ttl_soldout.svg を置くだけで済む（マークアップ変更不要）。
 ※SVG到着後に確認する項目: 表示幅（下の 138px）・暗幕の濃さ（.62）
========================================================= */
.pm-plancard[data-sale="soldout"] { pointer-events: none; }
.pm-plancard[data-sale="soldout"] .pm-plancard__madori { position: relative; }
.pm-plancard[data-sale="soldout"] .pm-plancard__madori::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(13, 28, 30, .62);
  background-image: url("../images/premium/ttl_soldout.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: clamp(110px, 9.6vw, 138px) auto;
}
/* フロアプランの型ボタン: 準備中(pm-btn--soon)と同じ2段組にして文言だけ差し替える */
.pm-btn--type[data-sale="soldout"] {
  flex-direction: column;
  justify-content: center;
  gap: 8px;
  height: auto;
  min-height: 56px;
  padding: 10px 16px;
  pointer-events: none;
  color: rgba(249, 245, 234, .62);
}
.pm-btn--type[data-sale="soldout"]::after {
  content: "";
  width: 108px;
  height: 14px;
  background: url("../images/premium/ttl_soldout.svg") center / contain no-repeat;
  opacity: .6;
}

/* =========================================================
 ROOM PLAN 詳細（type）固有セクションの TB/SP
 下層のカンプは無く「PC版を基に判断」領域。TOP / FLOOR PLAN の縮退ルール
 （2カラムは縦積み・写真の右裁ち落としは維持・インナー24px）を踏襲する
========================================================= */
/* --- TB（768〜1201）--- */
@media screen and (min-width: 768px) and (max-width: 1201px) {
  /* ヒーロー: PC比率のままだとテキスト列が212〜332pxまで痩せ、本文が写真の
 2倍以上の高さになって並ばない → 帯に食い込む写真の下へテキストを送る縦積み。
 DOM順は txt→photo なので column-reverse で「写真→テキスト」にする */
  .pm-typehero__inner { flex-direction: column-reverse; align-items: stretch; }
  /* 写真は右裁ち落としを維持（左に帯を見せる） */
  .pm-typehero__photo { width: 82%; margin-left: auto; }
  .pm-typehero__txt { width: 100%; margin: 40px 0 0; padding: 0 4.45%; }
  /* 行長が伸びすぎないよう CONCEPT の TB と同じ 590px で止める */
  .post_content .pm-typehero__catch,
  .post_content .pm-typehero__body { max-width: 590px; }

  /* 型名SVGは自然サイズ(240px)固定のため、狭い列では型箱と並ばず溢れる。
 flex アイテムの既定 min-width:auto も外して列幅に追従させる */
  .post_content .pm-typespec__ldk { max-width: 100%; min-width: 0; }

  /* TB は右列の方が背が高くなり、中央揃えだと間取りパネルだけ下がって見えるため上揃え
 （PC は間取りパネルの方が高く、デザインどおり中央揃えで成立する） */
  .pm-typespec__row { align-items: flex-start; }
}

/* --- SP（〜767）: ヒーロー・スペック節とも縦積み --- */
@media screen and (max-width: 767px) {
  /* 題字は PC の書き出し実寸のままだと画面幅の59%を占めて過大（他の下層は SP で
     縮小している）。英字の字形高さを 58→38px にし、ラベルと間隔も同率で縮める */
  .post_content .pm-typehero__ttl img { width: auto; height: 38px; }
  .post_content .pm-typehero__ttl .pm-typehero__label { width: 85px; height: auto; margin: 4px auto 21px !important; }
  /* 題字と室内写真が近すぎて窮屈なため、写真の開始位置を下げる（帯への食い込みは維持） */
  .pm-typehero { padding-top: 230px; }
  .pm-typehero__inner { flex-direction: column-reverse; align-items: stretch; }
  .pm-typehero__photo { width: 100%; }
  .pm-typehero__txt { width: 100%; margin: 32px 0 0; padding: 0 24px; }
  .post_content .pm-typehero__body { margin-top: 24px !important; }

  /* 間取りパネルとスペック列を縦積み（gap がそのまま段間になる） */
  .pm-typespec__row { flex-direction: column; align-items: stretch; padding: 0 24px; }
  .pm-typespec__madori, .pm-typespec__col { width: 100%; }
  .post_content .pm-typespec__ldk { max-width: 100%; min-width: 0; }
  /* 位置図は列幅いっぱいだと大きすぎるため PC の見え方（列の78.7%）を維持 */

  /* 間取り図は画面幅に収めると室名が読めないため、既存の横スクロール機構
 （.js-scrollable＝ScrollHint／w600-sp）に載せる。パネルは高さ追従に切り替える */
  .pm-typespec__madori { flex-direction: column; align-items: stretch; aspect-ratio: auto; padding: 24px 0 12px; box-sizing: border-box; }
  /* 図の左右に余白を入れて、端の文字が画面の縁に張り付かないようにする */
  .pm-typespec__madoriscroll { overflow-x: auto; padding: 0 20px; box-sizing: border-box; }
  /* テーマの .post_content img{max-width:100%} が w600-sp を画面幅で頭打ちにするため解除 */
  .post_content .pm-typespec__madori img { max-width: none; }
  .pm-typespec__note { display: block; padding: 0 0 0 12px; }
  .post_content .pm-typespec__note { margin: 12px 0 0 !important; }
}

/* キャッチは CONCEPT と同じ扱い: 375基準では nowrap で2行を保てるが、
 375未満では見切れるため文字サイズを vw 追従させる */
@media screen and (max-width: 374px) {
  .pm-typehero__catch { font-size: 5.87vw; }
}

/* =========================================================
 仕様・設備（EQUIPMENT）
 デザイン実測(PC1440):
 - ヒーロー帯 826(#0d1c1e)＝題字(和文22＋英字SVG)＋キャッチ28＋リード14。
   kitchen の大写真が帯へ 161px 食い込む（pm-typehero と同じ負マージン方式）
 - 4節(kitchen/bathroom/powder room/sanitary)は完全同型。
   大写真は右端裁ち落とし(kitchen 1075x724・他 1000x674)。
   bathroom/sanitary は節上端 +145/+125 から #2d484b の色面（写真が色面の上へはみ出す）
 - 見出しSVGは写真左。縦位置は節ごとに違うため ink 実寸の下端基準で個別指定
   （写真下端→ink下端: kitchen348 / bathroom296 / powder room296 / sanitary321）
 - スライダーはネイティブ横スクロール＋snap。カード500x399(写真360+ラベル)・gap24。
   矢印送りは premium-motion.js（data-eq-slider ゲート）＝JS不達でも
   スワイプ/横スクロールで全カードを閲覧できる形を崩さない
========================================================= */
.pm-eq-hero { background: var(--c2-secondary); text-align: center; padding: clamp(64px, 8.82vw, 127px) 4.5% clamp(150px, 20.84vw, 300px); }
.pm-eq-hero__ja { font-size: clamp(1.125rem, 1.53vw, 1.375rem); font-weight: 400; letter-spacing: .1em; }
.post_content .pm-eq-hero__ja { margin: 0 !important; line-height: 1.8; }
/* 英字SVGは ink 実寸(箱72/ink56=±8)。箱ベースの gap16 は 16+8=24 に補正（DECISIONS §1a） */
.post_content .pm-eq-hero__en { display: block; margin: 24px auto 0 !important; width: auto; height: auto; max-width: 100%; }
/* キャッチ: 題字箱下端→キャッチ箱上端 77 ＋ 英字SVG下行送り 8 = 85。
 2行目13文字は末尾トラッキング込みだと箱幅を割って折り返すため <br> 固定＋nowrap（§1a定石） */
.pm-eq-hero__catch { font-size: clamp(1.375rem, 1.945vw, 1.75rem); font-weight: 400; letter-spacing: .1em; }
.post_content .pm-eq-hero__catch { margin: 85px 0 0 !important; line-height: 1.8; white-space: nowrap; }
.post_content .pm-eq-hero__lead { margin: 32px 0 0 !important; font-size: .875rem; font-weight: 500; letter-spacing: 0; line-height: 2.2; }

.pm-eq { position: relative; }
/* kitchen 写真のヒーロー帯への食い込み（1440基準 -161px を vw 追従・上限はデザイン値） */
.pm-eq--kitchen { margin-top: max(-161px, -11.18vw); }
/* 色面。::before(absolute) は inline 内容より後に描画されるため、
 節の中身(head/body)を positioned にして描画順を確定させる */
.pm-eq--bathroom::before,
.pm-eq--sanitary::before { content: ""; position: absolute; left: 0; right: 0; bottom: 0; background: var(--c2-panel); }
.pm-eq--bathroom::before { top: min(10.07vw, 145px); }
.pm-eq--sanitary::before { top: min(8.68vw, 125px); }
/* 色面はスライダー下段のさらに下まで続いてから節が終わる（デザイン実測 129/109） */
.pm-eq--bathroom { padding-bottom: min(8.96vw, 129px); }
.pm-eq--sanitary { padding-bottom: min(7.57vw, 109px); }
.pm-eq__head, .pm-eq__body { position: relative; }

/* 大写真: 右端フラッシュ。高さは実素材(@2x)と同比の aspect-ratio で確定 */
.pm-eq__photo { width: 74.65%; margin: 0 0 0 auto; }
.pm-eq--bathroom .pm-eq__photo,
.pm-eq--powderroom .pm-eq__photo,
.pm-eq--sanitary .pm-eq__photo { width: 69.44%; }
.post_content .pm-eq__photo img { width: 100%; height: auto; object-fit: cover; display: block; }
.post_content .pm-eq--kitchen .pm-eq__photo img { aspect-ratio: 1075 / 724; }
.post_content .pm-eq--bathroom .pm-eq__photo img,
.post_content .pm-eq--powderroom .pm-eq__photo img,
.post_content .pm-eq--sanitary .pm-eq__photo img { aspect-ratio: 1000 / 674; }

/* 見出しSVG（ink実寸・写真下端からの距離を節ごとに指定）。
 高さは1440基準の実寸を vw 追従（他節の見出しSVGと同じ縮退のさせ方） */
.pm-eq__ttl { position: absolute; left: 4.45%; bottom: min(24.17vw, 348px); margin: 0; z-index: 2; }
.pm-eq--bathroom .pm-eq__ttl,
.pm-eq--powderroom .pm-eq__ttl { bottom: min(20.56vw, 296px); }
.pm-eq--sanitary .pm-eq__ttl { bottom: min(22.29vw, 321px); }
.post_content .pm-eq__ttl img { width: auto; height: clamp(22px, 2.223vw, 32px); max-width: 100%; display: block; }
.post_content .pm-eq--powderroom .pm-eq__ttl img { height: clamp(56px, 5.7vw, 82px); }

/* ラベル＋スライダー＋下段（写真→この塊は 120。
 デザイン実測は sanitary のみ 130 だが、揃え忘れとみなし全節 120 に統一＝承認済み差分） */
.pm-eq__body { max-width: 1312px; margin: clamp(60px, 8.34vw, 120px) auto 0; padding: 0 4.45%; }
.pm-eq__label { font-size: 1.25rem; font-weight: 600; letter-spacing: .1em; }
/* line-height はテーマ .post_content p(2.4) に負けるため前置で宣言（§1a） */
.post_content .pm-eq__label { margin: 0 !important; line-height: 1.2; }

.pm-eq__track { margin-top: 32px; display: flex; gap: 24px; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none; -ms-overflow-style: none; }
.pm-eq__track::-webkit-scrollbar { display: none; }
/* カード幅 500/1312。写真下ラベルは英字大文字（textCase UPPER・Inter Bold） */
.pm-eq__item { flex: 0 0 38.11%; margin: 0; scroll-snap-align: start; }
.post_content .pm-eq__item img { width: 100%; height: auto; aspect-ratio: 25 / 18; object-fit: cover; display: block; }
/* キャプションはカード右端揃え（デザイン準拠・箱内の文字揃えは自動照合の対象外だった） */
.pm-eq__name { font-size: .875rem; font-weight: 700; letter-spacing: 0; line-height: 2.2; text-align: right; }
.post_content .pm-eq__name { margin: 8px 0 0; }

.pm-eq__btm { margin-top: 32px; display: flex; justify-content: space-between; align-items: center; gap: 24px; }
/* テーマ .post_content p の下マージン(2em)が flex 内で行を膨らませるため打ち消す */
.post_content .pm-eq__btm .pm-notes { margin: 0 !important; }
.pm-eq__nav { display: flex; gap: 8px; flex-shrink: 0; }
/* 矢印は既存意匠（色付き四角＋「››」）の 36px 版。無効側は減衰 */
.pm-eq__arrow { width: 36px; height: 36px; display: grid; place-items: center; padding: 0 0 .15em; box-sizing: border-box; border: 0; background: var(--c2-secondary); color: #fff; font-family: inherit; font-size: 1.0625rem; letter-spacing: .05em; cursor: pointer; transition: opacity .4s ease; }
.pm-eq__arrow:hover { opacity: .75; }
.pm-eq__arrow.is-disabled { opacity: .35; pointer-events: none; }

/* =========================================================
 仕様・設備の TB/SP
 このページの TB/SP カンプは無く「PC版を基に判断」領域。
 TOP / type ページの縮退ルール（縦積み・インナー24px・見出しSVGは0.65縮小）を踏襲
========================================================= */
/* --- TB（768〜1201）: 比率レイアウトのまま成立するため構造は変えない --- */

/* --- SP（〜767）: 見出しは通常フローで写真の上・写真は全幅・スライダーはスワイプ主体。
 節ごとに背景色を統一する（見出し上端〜スライダー下段まで＝スライダーの背景色）。
 kitchen/powder room=地色 #1e383b・bathroom/sanitary=色面 #2d484b を節頭まで拡張 --- */
@media screen and (max-width: 767px) {
  .pm-eq-hero { padding: 48px 24px 64px; }
  /* 英字SVGは他ページの縮小率(0.65)に合わせ 56→36px */
  .post_content .pm-eq-hero__en { height: 36px; width: auto; margin-top: 18px !important; }
  .post_content .pm-eq-hero__catch { margin-top: 48px !important; }
  .post_content .pm-eq-hero__lead { margin-top: 20px !important; }
  /* SP幅では2行目(24字)が収まらず末尾が孤立する → br を畳んで自然折返し */
  .post_content .pm-eq-hero__lead br { display: none; }

  /* 節の背景統一のため、kitchen のヒーロー帯への食い込みはやめる
     （食い込みを残すと見出しだけ濃色帯 #0d1c1e の上に乗る）。
     余白の整理: 境界はすべて 40 で統一（節間の区切り／色面内の上下／見出し→写真）。
     地色節(kitchen/powder)は区切りがそのまま節の上下余白に見えるため 80 だと広い */
  .pm-eq--kitchen { margin-top: 40px; }
  .pm-eq--bathroom,
  .pm-eq--powderroom,
  .pm-eq--sanitary { margin-top: 40px; }
  /* 色面は節上端（見出し）から */
  .pm-eq--bathroom::before,
  .pm-eq--sanitary::before { top: 0; }
  .pm-eq--bathroom,
  .pm-eq--sanitary { padding-top: 40px; padding-bottom: 40px; }

  /* 見出しは absolute をやめ写真の上・中央揃え。写真との間は 40。
     powder room はSPのみ1行版SVGへ差し替え（本文の picture）＝他節と同じ 22px */
  .pm-eq__ttl { position: static; padding: 0 24px; margin: 0 0 40px; text-align: center; }
  .post_content .pm-eq__ttl img,
  .post_content .pm-eq--powderroom .pm-eq__ttl img { height: 22px; margin: 0 auto; }
  .pm-eq__photo { width: 100% !important; }

  .pm-eq__body { margin-top: 56px; padding: 0 24px; }
  .pm-eq__label { font-size: 1rem; }
  .pm-eq__track { margin-top: 24px; gap: 16px; }
  /* カードは1.3枚見せ（次カードの見切れでスワイプを示唆） */
  .pm-eq__item { flex: 0 0 76%; }
  .pm-eq__name { font-size: .75rem; }
  /* 下段: 注釈を全幅で先に・矢印は右下へ */
  .pm-eq__btm { margin-top: 24px; flex-direction: column; align-items: flex-end; gap: 16px; }
  .pm-eq__btm .pm-notes { width: 100%; }
}
