@charset "UTF-8";
/* =========================================
   初期styleリセット
========================================= */
.lout-grid.lout-breadcrumbs {
    display: none !important;
}
.lout-grid h1 {
    display: none;
    border-bottom: none;
}
.lout-grid h1:after{
    content:none;
}
.lout-grid h2,.lout-grid h3{
    border-bottom: none;
}
.lout-grid.lout-breadcrumbs {
    width: 960px;
}
.lout-followmenu {
    display: none;
}

header.lout-header.lout-grid {
    width: 960px;
}
.lout-grid {
    width: 100%;
}
.lout-footer .lout-footer-inner {
    width: 100%;
max-width: 960px;
    margin: auto;
}
.lout-hamburgerbtn{
    display: none;
}
.lout-contents {
    padding-left: 0px;
    padding-right: 0px;
}
.sp-br{
    display: none;
}

.css-1r2yhgy.evf3f5610{
    display: none;
}
.ymtbanner.is-w899 {
    margin: 0;
}

@media (min-width: 768px) {
.pc-br{
    display: none;
}
}

/* ---- WordPressテーマ調整：LPを含むブロックだけに効かせる（ガレージハウスLPと同じ） ---- */
.lout-contents:has(#custom-lp-wrapper) { padding-left: 0; padding-right: 0; }
.lout-grid:has(#custom-lp-wrapper) h1:not(#custom-lp-wrapper h1) { display: none; }
.lout-grid:has(#custom-lp-wrapper) h2:not(#custom-lp-wrapper h2),
.lout-grid:has(#custom-lp-wrapper) h3:not(#custom-lp-wrapper h3) { border-bottom: none; }
/* 画面幅いっぱいの帯（100vw）でスクロールバー分の横スクロールが出ないよう、LPを含むページだけ横方向を切る */
body:has(#custom-lp-wrapper) { overflow-x: clip; }
/* 737〜1007px：テーマは .lout-grid を 960px に固定しているため、LPを含む本文の枠だけ画面幅に戻す */
@media (min-width: 737px) and (max-width: 1007px) {
  .lout-grid:has(#custom-lp-wrapper) { width: auto; }
}
/* サイト共通の下部固定バーは、このLPのページだけ LP の追従ボタン（カタログ＋来場予約）に置き換える */
body:has(#custom-lp-wrapper) .lout-followmenu { display: none !important; }

/* ---- デザイントークン ---- */
#custom-lp-wrapper {
  --lawn: #4AD37B;        /* 芝生：カンプの地色。FV・最終CTA・チェック印（文字は載せない） */
  --mint: #DFF5E7;        /* 芝生の淡色：声の吹き出し・タグ */
  --leaf: #178A47;        /* 若葉：緑の文字・白文字のピル（白と4.41:1） */
  --leaf-deep: #127A3E;   /* 小さな緑の文字（白と5.41:1） */
  --forest: #0E3B22;      /* 森：見出しの文字（芝生の上でも6.7:1） */
  --paw: #EB7598;         /* 肉球：カンプのピンク。線・飾り */
  --paw-soft: #FCE6EC;
  --paw-deep: #D24E7A;    /* 白文字のピル・大きなピンクの文字（白と4.11:1） */
  --berry: #C94572;       /* ラズベリー：来場予約のボタン（白と4.59:1） */
  --berry-hover: #B13A62;
  --berry-shadow: #8E2E50;
  --dandelion: #FFF36B;   /* たんぽぽ：筆の下線・カタログ枠 */
  --oat: #F3F0E8;         /* オーツ：帯の地（紙目つき） */
  --line: #DDD6C6;        /* オーツ地の上の罫 */
  --ink: #1B2A21;         /* 墨：緑みの黒 */
  --ink-soft: #4A564E;
  --gutter: 24px;
  --btn-w: 300px;
  --maru: "Zen Maru Gothic", "Hiragino Maru Gothic ProN", "Yu Gothic", sans-serif;
  --en: "Fredoka", "Zen Maru Gothic", sans-serif;
  --hand: "Yomogi", "Zen Maru Gothic", cursive;
  /* 紙目（feTurbulence）：オーツと芝生の面にだけ敷く */
  --grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .3 0 0 0 0 .26 0 0 0 0 .18 0 0 0 .6 0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23g)' opacity='.14'/%3E%3C/svg%3E");
  /* 筆のかすれ（マスク）：見出しの下敷き・蛍光ペン */
  --brush: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 64' preserveAspectRatio='none'%3E%3Cpath fill-rule='evenodd' d='M10 30C42 12 132 8 212 10S358 8 390 18C399 24 396 44 378 48C318 56 222 52 138 55S30 60 12 50C3 45 4 35 10 30ZM60 24C110 20 170 19 230 21C170 23 110 24 60 27ZM150 40C210 37 280 37 340 39C280 42 210 42 150 43Z'/%3E%3C/svg%3E");
  /* 肉球（小）：箇条の頭・ボタンのhover */
  --paw-ink: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cg fill='%231B2A21'%3E%3Cellipse cx='20' cy='27' rx='9.5' ry='8'/%3E%3Cellipse cx='7.5' cy='16.5' rx='4' ry='5' transform='rotate(-20 7.5 16.5)'/%3E%3Cellipse cx='15' cy='8.5' rx='4' ry='5.2'/%3E%3Cellipse cx='25' cy='8.5' rx='4' ry='5.2'/%3E%3Cellipse cx='32.5' cy='16.5' rx='4' ry='5' transform='rotate(20 32.5 16.5)'/%3E%3C/g%3E%3C/svg%3E");
  --paw-lawn: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cg fill='%234AD37B'%3E%3Cellipse cx='20' cy='27' rx='9.5' ry='8'/%3E%3Cellipse cx='7.5' cy='16.5' rx='4' ry='5' transform='rotate(-20 7.5 16.5)'/%3E%3Cellipse cx='15' cy='8.5' rx='4' ry='5.2'/%3E%3Cellipse cx='25' cy='8.5' rx='4' ry='5.2'/%3E%3Cellipse cx='32.5' cy='16.5' rx='4' ry='5' transform='rotate(20 32.5 16.5)'/%3E%3C/g%3E%3C/svg%3E");
  --paw-white: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cg fill='%23FFFFFF'%3E%3Cellipse cx='20' cy='27' rx='9.5' ry='8'/%3E%3Cellipse cx='7.5' cy='16.5' rx='4' ry='5' transform='rotate(-20 7.5 16.5)'/%3E%3Cellipse cx='15' cy='8.5' rx='4' ry='5.2'/%3E%3Cellipse cx='25' cy='8.5' rx='4' ry='5.2'/%3E%3Cellipse cx='32.5' cy='16.5' rx='4' ry='5' transform='rotate(20 32.5 16.5)'/%3E%3C/g%3E%3C/svg%3E");
  --paw-leaf: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cg fill='%23127A3E'%3E%3Cellipse cx='20' cy='27' rx='9.5' ry='8'/%3E%3Cellipse cx='7.5' cy='16.5' rx='4' ry='5' transform='rotate(-20 7.5 16.5)'/%3E%3Cellipse cx='15' cy='8.5' rx='4' ry='5.2'/%3E%3Cellipse cx='25' cy='8.5' rx='4' ry='5.2'/%3E%3Cellipse cx='32.5' cy='16.5' rx='4' ry='5' transform='rotate(20 32.5 16.5)'/%3E%3C/g%3E%3C/svg%3E");
}

/* ---- ベース／wpautop対策（必須） ---- */
#custom-lp-wrapper, #custom-lp-wrapper *, #custom-lp-wrapper *:before, #custom-lp-wrapper *:after { box-sizing: border-box; }
#custom-lp-wrapper p:empty { display: none !important; }
#custom-lp-wrapper p { margin-bottom: 0; }
/* LP内の<p>には必ず class を付けている。class の無い・中身の無い<p>は WordPress が作ったもの */
#custom-lp-wrapper p:not([class]):not(:has(*)) { display: none !important; }
#custom-lp-wrapper .cta-btn + br, #custom-lp-wrapper .cta-sub + br, #custom-lp-wrapper .fixed-cta-btn + br { display: none; }
#custom-lp-wrapper .lp-assets { display: none !important; }
/* wpautop がボタン<a>を<p>で包んでも、ボタンが直接レイアウトに参加するよう包みを透過させる */
#custom-lp-wrapper p:has(.cta-btn), #custom-lp-wrapper p:has(.cta-sub), #custom-lp-wrapper p:has(.fixed-cta-btn) { display: contents; }
#custom-lp-wrapper .cta-pair br, #custom-lp-wrapper .fixed-cta br, #custom-lp-wrapper .plans-tabs br, #custom-lp-wrapper .proof-list br, #custom-lp-wrapper .check-list br, #custom-lp-wrapper .hero-doodles br { display: none; }
#custom-lp-wrapper .plans-tabs p, #custom-lp-wrapper .cta-pair p, #custom-lp-wrapper .fixed-cta p { display: contents; }
#custom-lp-wrapper h1, #custom-lp-wrapper h2, #custom-lp-wrapper h3, #custom-lp-wrapper h4 {
  display: block !important; visibility: visible !important;
  margin: 0; padding: 0; font-weight: normal; border: none; background: none;
}
#custom-lp-wrapper h1:before, #custom-lp-wrapper h2:before, #custom-lp-wrapper h3:before, #custom-lp-wrapper h4:before,
#custom-lp-wrapper h1:after, #custom-lp-wrapper h2:after, #custom-lp-wrapper h3:after, #custom-lp-wrapper h4:after { content: none; }
#custom-lp-wrapper {
  position: relative;
  font-family: var(--maru); font-weight: 500;
  color: var(--ink); background: #fff;
  font-size: 15.5px; line-height: 1.95; letter-spacing: .04em;
  line-break: strict; text-spacing-trim: trim-start;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
}
#custom-lp-wrapper p, #custom-lp-wrapper h1, #custom-lp-wrapper h2, #custom-lp-wrapper h3, #custom-lp-wrapper li, #custom-lp-wrapper figcaption { margin-top: 0; text-wrap: pretty; }
/* 見出しは字詰め（palt）＋行の長さをそろえる（孤立した1語を作らない）。本文は通常の折り返し */
#custom-lp-wrapper h1, #custom-lp-wrapper h2, #custom-lp-wrapper h3 { font-feature-settings: "palt" 1; text-wrap: balance; }
#custom-lp-wrapper h1, #custom-lp-wrapper h2, #custom-lp-wrapper h3, #custom-lp-wrapper .check-item, #custom-lp-wrapper .plan-point, #custom-lp-wrapper .proof-k,
#custom-lp-wrapper .closing-promise, #custom-lp-wrapper .voices-stat-label, #custom-lp-wrapper .intro-check-t, #custom-lp-wrapper .offer-tag { word-break: auto-phrase; }
#custom-lp-wrapper .points-lead, #custom-lp-wrapper .closing-lead, #custom-lp-wrapper .cta-lead { text-wrap: balance; }
#custom-lp-wrapper img { max-width: 100%; height: auto; vertical-align: bottom; display: block; border: none; }
#custom-lp-wrapper svg { display: block; overflow: visible; }
#custom-lp-wrapper ul { list-style: none; margin: 0; padding: 0; }
#custom-lp-wrapper li { margin: 0; }
#custom-lp-wrapper figure, #custom-lp-wrapper blockquote { margin: 0; padding: 0; border: none; quotes: none; background: none; }
#custom-lp-wrapper blockquote:before, #custom-lp-wrapper blockquote:after { content: none; }
#custom-lp-wrapper sup { font-size: .6em; line-height: 0; vertical-align: super; letter-spacing: 0; }
#custom-lp-wrapper a { color: inherit; }
#custom-lp-wrapper a:focus-visible { outline: 3px solid var(--forest); outline-offset: 3px; }
#custom-lp-wrapper .br-pc { display: none; }
#custom-lp-wrapper .nowrap { display: inline-block; white-space: nowrap; }
#custom-lp-wrapper .full-bleed { width: 100vw; margin-left: calc(50% - 50vw); position: relative; }
#custom-lp-wrapper .pt-h { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* 写真フレーム：画像は枠いっぱいに object-fit。画像が未設置・404でも枠の比率で高さが決まる */
#custom-lp-wrapper .ph { position: relative; overflow: hidden; background: #DCD8CC; }
#custom-lp-wrapper .ph img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; }
#custom-lp-wrapper .ph--img:after {
  content: "image"; position: absolute; z-index: 3; right: 12px; bottom: 9px; pointer-events: none;
  font-family: var(--maru); font-weight: 500; font-size: 10.5px; line-height: 1; letter-spacing: .04em; color: #fff;
  text-shadow: 0 0 6px rgba(0, 0, 0, .5), 0 0 2px rgba(0, 0, 0, .4);
}

/* ---- 面：オーツ（紙目つき） ---- */
#custom-lp-wrapper .present, #custom-lp-wrapper .pt--pink, #custom-lp-wrapper .plans { background: var(--grain), var(--oat); }

/* ---- 波の境目：3種類（各帯の上端に、その帯の色の波を重ねる）。最終CTAだけ芝の草 ---- */
#custom-lp-wrapper .present:before, #custom-lp-wrapper .points-head:before, #custom-lp-wrapper .pt:before,
#custom-lp-wrapper .plans:before, #custom-lp-wrapper .voices:before, #custom-lp-wrapper .closing:before, #custom-lp-wrapper .hero:after {
  content: ""; position: absolute; left: 0; right: 0; top: -31px; height: 32px; pointer-events: none;
  background: center / 100% 100% no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 80' preserveAspectRatio='none'%3E%3Cpath fill='%23F3F0E8' d='M0 80V42C260 4 520-6 790 24s470 40 650 6V80Z'/%3E%3C/svg%3E");
}
#custom-lp-wrapper .plans:before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 80' preserveAspectRatio='none'%3E%3Cpath fill='%23F3F0E8' d='M0 80V24C340 64 700 60 1000 36s330-28 440-20V80Z'/%3E%3C/svg%3E"); }
#custom-lp-wrapper .points-head:before, #custom-lp-wrapper .pt--green:before, #custom-lp-wrapper .voices:before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 80' preserveAspectRatio='none'%3E%3Cpath fill='%23FFFFFF' d='M0 80V30C220 60 470 64 760 34S1220-4 1440 22V80Z'/%3E%3C/svg%3E"); }
#custom-lp-wrapper .hero:after { top: auto; bottom: -1px; height: 44px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 80' preserveAspectRatio='none'%3E%3Cpath fill='%23FFFFFF' d='M0 80V8C300 70 620 74 900 50S1280 8 1440 30V80Z'/%3E%3C/svg%3E"); }
#custom-lp-wrapper .closing:before { top: -27px; height: 28px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 40'%3E%3Cpath fill='%234AD37B' d='M0 40V28L6 16L10 28L14 8L20 28L27 20L30 28L35 12L40 28L43 4L50 28L56 18L60 28L65 10L70 28L77 22L80 28L84 14L90 28L96 6L100 28L103 19L110 28L115 11L120 28L126 16L130 28L134 8L140 28L147 20L150 28L155 12L160 28L163 4L170 28L176 18L180 28L185 10L190 28L197 22L200 28L204 14L210 28L216 6L220 28L223 19L230 28L235 11L240 28V40Z'/%3E%3C/svg%3E") left bottom / 240px 40px repeat-x, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 170 40'%3E%3Cpath fill='%2342C571' d='M0 40V30L5 21L10 30L16 15L20 30L24 24L30 30L37 18L40 30L45 12L50 30L53 22L60 30L66 17L70 30L75 25L80 30L84 19L90 30L96 14L100 30L105 21L110 30L116 15L120 30L124 24L130 30L137 18L140 30L145 12L150 30L153 22L160 30L166 17L170 30V40Z'/%3E%3C/svg%3E") 37px bottom / 170px 34px repeat-x; }

/* ---- 共通：筆の下敷き（色はセクションごとに --brush-c で変える） ---- */
#custom-lp-wrapper .sec-big:before, #custom-lp-wrapper .intro-title-big:before, #custom-lp-wrapper .hero-mark:before {
  content: ""; position: absolute; z-index: -1; pointer-events: none;
  background: var(--brush-c, var(--oat));
  -webkit-mask: var(--brush) center / 100% 100% no-repeat; mask: var(--brush) center / 100% 100% no-repeat;
  transform: rotate(-2deg);
}

/* ---- 共通：セクションの見出し ---- */
#custom-lp-wrapper .sec-head { position: relative; text-align: center; --big: var(--lawn); --brush-c: var(--dandelion); }
#custom-lp-wrapper .sec-head--pink { --big: var(--paw); --brush-c: var(--paw-soft); }
#custom-lp-wrapper .sec-en { margin: 0; font-family: var(--en); font-weight: 600; font-size: 13px; line-height: 1.2; letter-spacing: .08em; color: var(--leaf-deep); }
#custom-lp-wrapper .sec-head--pink .sec-en { color: var(--paw-deep); }
#custom-lp-wrapper .sec-big {
  position: relative; isolation: isolate; display: inline-block; margin: 2px 0 0; padding: 0 14px;
  font-family: var(--en); font-weight: 700; font-size: 54px; line-height: 1.05; letter-spacing: .01em; color: var(--big);
}
#custom-lp-wrapper .sec-big:before { left: -6px; right: -12px; bottom: 0; height: 26px; }
#custom-lp-wrapper .sec-head--pink .sec-big { font-size: 46px; }
#custom-lp-wrapper .sec-ja, #custom-lp-wrapper .sec-ja-sm { margin: 14px 0 0; font-weight: 700; font-size: 11px; line-height: 1.6; letter-spacing: .3em; color: var(--ink-soft); }
#custom-lp-wrapper .sec-ja { font-weight: 900; font-size: 16px; letter-spacing: .1em; color: var(--forest); }
/* 見出しに添える落書き（セクションごとに違うもの） */
#custom-lp-wrapper .sec-head:after { content: ""; position: absolute; pointer-events: none; background: center / contain no-repeat; }

/* ---- 共通：ボタン。来場予約＝ラズベリーの塗り、カタログ＝若葉の線。押し影で統一 ---- */
#custom-lp-wrapper .cta-btn, #custom-lp-wrapper .cta-sub {
  position: relative; display: flex; align-items: center; justify-content: center;
  width: 100%; min-height: 66px; margin: 0 auto; padding: 0 46px; border-radius: 999px;
  text-decoration: none; line-height: 1.3; white-space: nowrap;
  transition: background-color .25s ease, transform .2s ease, box-shadow .2s ease;
}
#custom-lp-wrapper .cta-btn { background: var(--berry); color: #fff; font-weight: 900; font-size: 18px; letter-spacing: .12em; box-shadow: 0 5px 0 var(--berry-shadow); }
#custom-lp-wrapper .cta-btn:hover { background: var(--berry-hover); transform: translateY(3px); box-shadow: 0 2px 0 var(--berry-shadow); }
#custom-lp-wrapper .cta-sub { background: #fff; color: var(--leaf-deep); border: 2px solid var(--leaf); font-weight: 900; font-size: 16px; letter-spacing: .1em; box-shadow: 0 5px 0 var(--leaf); }
#custom-lp-wrapper .cta-sub:hover { background: var(--mint); transform: translateY(3px); box-shadow: 0 2px 0 var(--leaf); }
#custom-lp-wrapper .cta-btn-tx { display: flex; flex-direction: column; align-items: center; gap: 4px; line-height: 1.25; }
#custom-lp-wrapper .cta-btn-sub { font-weight: 700; font-size: 11.5px; letter-spacing: .08em; }
#custom-lp-wrapper .cta-btn-arrow, #custom-lp-wrapper .cta-sub-arrow {
  position: absolute; right: 24px; top: 50%; width: 9px; height: 9px; margin-top: -4.5px;
  border-top: 2.5px solid currentColor; border-right: 2.5px solid currentColor; transform: rotate(45deg);
  transition: border-color .2s ease;
}
/* hover で矢印が肉球に変わる */
#custom-lp-wrapper .cta-btn-arrow:after, #custom-lp-wrapper .cta-sub-arrow:after {
  content: ""; position: absolute; left: 50%; top: 50%; width: 18px; height: 18px; margin: -9px 0 0 -9px; opacity: 0;
  background: var(--paw-white) center / contain no-repeat; transform: rotate(-45deg) scale(.6); transition: opacity .2s ease, transform .25s ease;
}
#custom-lp-wrapper .cta-sub-arrow:after { background-image: var(--paw-leaf); }
#custom-lp-wrapper .cta-btn:hover .cta-btn-arrow, #custom-lp-wrapper .cta-sub:hover .cta-sub-arrow { border-color: transparent; }
#custom-lp-wrapper .cta-btn:hover .cta-btn-arrow:after, #custom-lp-wrapper .cta-sub:hover .cta-sub-arrow:after { opacity: 1; transform: rotate(-45deg) scale(1); }
#custom-lp-wrapper .cta-pair { display: grid; gap: 18px; }
#custom-lp-wrapper .cta-micro { margin: 16px 0 0; text-align: center; font-size: 12.5px; line-height: 1.6; letter-spacing: .04em; color: var(--ink-soft); }
/* 相談の手書き・「他にもいろいろ！」は、カンプの手描きをそのまま見せる（文字は読み上げ用に残し、見た目からは消す） */
#custom-lp-wrapper .cta-hand, #custom-lp-wrapper .cta-bubble { overflow: hidden; color: transparent; font-size: 1px; line-height: 0; letter-spacing: 0; background: center / contain no-repeat; user-select: none; }
#custom-lp-wrapper .cta-hand { width: min(100%, 300px); aspect-ratio: 576 / 43; margin: 0 auto; background-image: url("_upload/pet-dd-hand-cta.webp"); }
#custom-lp-wrapper .cta-lead { margin: 10px 0 22px; font-size: 14.5px; line-height: 1.9; letter-spacing: .03em; }

/* 箇条の頭・ポイントの頭：肉球 */
#custom-lp-wrapper .pt-spec-item:before, #custom-lp-wrapper .plan-point:before, #custom-lp-wrapper .check-item:before {
  content: ""; flex: none; width: 20px; height: 20px; margin-top: .25em; background: var(--paw-ink) center / contain no-repeat;
}
#custom-lp-wrapper .check-item:before { background-image: var(--paw-lawn); width: 22px; height: 22px; margin-top: .1em; }

/* ============================================================
   FV：芝生 × 手描きの PAW × 犬と猫（弧の手書き・落書き・足あと）
   ============================================================ */
#custom-lp-wrapper .hero { padding: 26px 0 0; background: var(--grain), var(--lawn); overflow: hidden; }
#custom-lp-wrapper .hero-inner { position: relative; padding: 0 var(--gutter); }
#custom-lp-wrapper .hero-copy { position: relative; z-index: 2; text-align: center; }
#custom-lp-wrapper .hero-en { margin: 0; font-family: var(--en); font-weight: 600; font-size: 21px; line-height: 1.1; letter-spacing: .03em; color: #fff; }
#custom-lp-wrapper .hero-paw { position: relative; width: min(90%, 330px); aspect-ratio: 636 / 181; margin: 6px auto 0; }
#custom-lp-wrapper .hero-paw img { position: absolute; inset: 0; width: 100%; height: 100%; }
#custom-lp-wrapper .hero-pill {
  display: inline-block; margin: 12px 0 0; padding: 5px 28px; border-radius: 999px; background: #fff;
  font-weight: 900; font-size: 16px; line-height: 1.55; letter-spacing: .14em; color: var(--leaf-deep);
}
#custom-lp-wrapper .hero-title { position: relative; isolation: isolate; margin: 20px 0 0; font-weight: 900; font-size: 29px; line-height: 1.5; letter-spacing: .02em; color: var(--forest); }
#custom-lp-wrapper .hero-mark { position: relative; }
#custom-lp-wrapper .hero-mark:before { --brush-c: var(--dandelion); left: -6px; right: -8px; bottom: .02em; height: .55em; transform: rotate(-1.5deg); }
#custom-lp-wrapper .hero-cta { display: none; }
#custom-lp-wrapper .hero-visual { position: relative; z-index: 1; margin: 2px auto 0; max-width: 420px; padding-top: 50px; }
#custom-lp-wrapper .hero-arc { position: absolute; z-index: 2; top: 0; left: 50%; width: 100%; transform: translateX(-50%); }
#custom-lp-wrapper .hero-arc svg { width: 100%; height: auto; }
#custom-lp-wrapper .hero-arc-text { font-family: var(--hand); font-size: 18px; letter-spacing: .06em; fill: var(--forest); }
#custom-lp-wrapper .hero-pets { position: relative; aspect-ratio: 1100 / 1009; }
#custom-lp-wrapper .hero-pets img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; object-position: bottom; }
#custom-lp-wrapper .hero-pets:after { right: auto; left: 0; bottom: 34px; color: var(--forest); text-shadow: none; opacity: .7; }
#custom-lp-wrapper .hero-cta { position: relative; }
/* 落書き（カンプの手描き） */
#custom-lp-wrapper .hero-doodles { position: absolute; inset: 0; z-index: 1; pointer-events: none; }
#custom-lp-wrapper .hd { position: absolute; height: auto; }
#custom-lp-wrapper .hd--bone { left: 2px; top: 150px; width: 46px; transform: rotate(-8deg); }
#custom-lp-wrapper .hd--house { display: none; }
#custom-lp-wrapper .hd--hearts { left: 22px; top: 222px; width: 26px; }
#custom-lp-wrapper .hd--dog { left: 8px; top: 330px; width: 44px; }
#custom-lp-wrapper .hd--paws { right: 4px; top: 66px; width: 40px; }
#custom-lp-wrapper .hd--accent { right: 6px; top: 230px; width: 28px; }
#custom-lp-wrapper .hd--sparkle { right: 14px; top: 420px; width: 20px; }
/* 足あと：読み込み時に1歩ずつ（PCのみ） */
#custom-lp-wrapper .hero-trail { display: none; }
#custom-lp-wrapper .hero-trail svg { width: 100%; height: auto; fill: var(--dandelion); }

/* ロード時のオーケストレーション（FVのみ・1回）：PAW → 見出し → 犬と猫 → 足あと */
@keyframes lpPop { from { opacity: 0; transform: scale(.86); } 60% { opacity: 1; transform: scale(1.04); } to { opacity: 1; transform: none; } }
@keyframes lpRise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@keyframes lpFade { from { opacity: 0; } to { opacity: 1; } }
@keyframes lpStep { from { opacity: 0; transform: scale(1.8); } 70% { opacity: 1; } to { opacity: 1; transform: none; } }
#custom-lp-wrapper .hero-en { animation: lpRise .6s ease-out both; }
#custom-lp-wrapper .hero-paw { animation: lpPop .7s cubic-bezier(.3,1.3,.5,1) .1s both; }
#custom-lp-wrapper .hero-pill { animation: lpRise .6s ease-out .3s both; }
#custom-lp-wrapper .hero-title, #custom-lp-wrapper .hero-cta { animation: lpRise .7s ease-out .4s both; }
#custom-lp-wrapper .hero-arc, #custom-lp-wrapper .hero-doodles { animation: lpFade .8s ease-out .7s both; }
#custom-lp-wrapper .hero-pets { animation: lpRise .9s cubic-bezier(.2,.8,.3,1) .5s both; }
#custom-lp-wrapper .hero-trail use { transform-box: fill-box; transform-origin: center; animation: lpStep .35s ease-out both; }
#custom-lp-wrapper .hero-trail g:nth-of-type(1) use { animation-delay: 1.0s; }
#custom-lp-wrapper .hero-trail g:nth-of-type(2) use { animation-delay: 1.14s; }
#custom-lp-wrapper .hero-trail g:nth-of-type(3) use { animation-delay: 1.28s; }
#custom-lp-wrapper .hero-trail g:nth-of-type(4) use { animation-delay: 1.42s; }
#custom-lp-wrapper .hero-trail g:nth-of-type(5) use { animation-delay: 1.56s; }
#custom-lp-wrapper .hero-trail g:nth-of-type(6) use { animation-delay: 1.7s; }
#custom-lp-wrapper .hero-trail g:nth-of-type(7) use { animation-delay: 1.84s; }

/* 根拠の3点：迷子札のような白い帯（FVの波にまたがる） */
#custom-lp-wrapper .proof { position: relative; z-index: 3; margin-top: 10px; padding: 0 var(--gutter); }
#custom-lp-wrapper .proof:before, #custom-lp-wrapper .proof:after { content: ""; position: absolute; z-index: -1; pointer-events: none; background: center / contain no-repeat; }
#custom-lp-wrapper .proof:before { left: 6px; bottom: -40px; width: 30px; aspect-ratio: 65 / 71; background-image: url("_upload/pet-dd-flowers.webp"); }
#custom-lp-wrapper .proof:after { right: 10px; bottom: -28px; width: 34px; aspect-ratio: 70 / 43; background-image: url("_upload/pet-dd-grass.webp"); }
#custom-lp-wrapper .proof-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 2px solid var(--leaf); border-radius: 20px; background: #fff; overflow: hidden; }
#custom-lp-wrapper .proof-item { display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 3px; padding: 12px 4px 11px; text-align: center; }
#custom-lp-wrapper .proof-item + .proof-item { border-left: 2px dashed var(--line); }
#custom-lp-wrapper .proof-item:before { content: ""; width: 26px; height: 26px; margin-bottom: 2px; background: center / contain no-repeat; }
#custom-lp-wrapper .proof-item--coord:before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 11 12 4l9 7v9H3z' fill='none' stroke='%231B2A21' stroke-width='1.6' stroke-linejoin='round'/%3E%3Cg fill='%23D24E7A'%3E%3Cellipse cx='12' cy='15.6' rx='2.4' ry='2'/%3E%3Ccircle cx='9.1' cy='12.8' r='1'/%3E%3Ccircle cx='11' cy='11.5' r='1'/%3E%3Ccircle cx='13' cy='11.5' r='1'/%3E%3Ccircle cx='14.9' cy='12.8' r='1'/%3E%3C/g%3E%3C/svg%3E"); }
#custom-lp-wrapper .proof-item--heat:before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 14.2V5a2 2 0 0 1 4 0v9.2a4 4 0 1 1-4 0z' fill='none' stroke='%231B2A21' stroke-width='1.6'/%3E%3Ccircle cx='12' cy='17.4' r='2' fill='%23D24E7A'/%3E%3Cpath d='M12 15.4V9' stroke='%23D24E7A' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E"); }
#custom-lp-wrapper .proof-item--book:before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3.5 5.5h6a2.5 2.5 0 0 1 2.5 2.5v11.5a2 2 0 0 0-2-2H3.5zM20.5 5.5h-6A2.5 2.5 0 0 0 12 8v11.5a2 2 0 0 1 2-2h6.5z' fill='none' stroke='%231B2A21' stroke-width='1.6' stroke-linejoin='round'/%3E%3Cpath d='M15 9.5h3M15 12h3' stroke='%23D24E7A' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E"); }
#custom-lp-wrapper .proof-k { font-weight: 700; font-size: 11px; line-height: 1.45; letter-spacing: .02em; }
#custom-lp-wrapper .proof-v { font-weight: 900; font-size: 16px; line-height: 1.3; letter-spacing: .1em; color: var(--leaf-deep); }

/* ============================================================
   01 イントロ：スペシャリスト（スタンプ）× こんな方におすすめ
   ============================================================ */
#custom-lp-wrapper .intro { padding: 76px 0 108px; }
#custom-lp-wrapper .intro-inner { padding: 0 var(--gutter); }
#custom-lp-wrapper .intro-text { position: relative; text-align: center; }
#custom-lp-wrapper .intro-en { display: flex; align-items: flex-end; justify-content: center; gap: 22px; margin: 0 0 26px; font-family: var(--en); font-weight: 700; font-size: 15px; line-height: 1; letter-spacing: .08em; color: var(--ink); }
#custom-lp-wrapper .intro-en:before, #custom-lp-wrapper .intro-en:after { content: ""; flex: none; background: center bottom / contain no-repeat; }
#custom-lp-wrapper .intro-en:before { width: 74px; aspect-ratio: 180 / 184; background-image: url("_upload/pet-il-dog-sit.webp"); }
#custom-lp-wrapper .intro-en:after { width: 64px; aspect-ratio: 140 / 132; background-image: url("_upload/pet-il-cat-love.webp"); }
#custom-lp-wrapper .intro-hand { display: flex; align-items: center; justify-content: center; gap: 10px; margin: 0; font-family: var(--hand); font-size: 23px; line-height: 1.4; letter-spacing: .12em; color: var(--leaf-deep); }
#custom-lp-wrapper .intro-hand:before, #custom-lp-wrapper .intro-hand:after { content: ""; flex: none; width: 30px; aspect-ratio: 1; margin-top: -24px; background: center / contain no-repeat url("_upload/pet-dd-dots-l.webp"); }
#custom-lp-wrapper .intro-hand:after { background-image: url("_upload/pet-dd-dots-r.webp"); }
#custom-lp-wrapper .intro-title { margin: 14px 0 0; font-weight: 900; font-size: 22px; line-height: 1.6; letter-spacing: .02em; color: var(--forest); }
#custom-lp-wrapper .intro-title-big { position: relative; isolation: isolate; display: inline-block; font-size: 34px; line-height: 1.4; letter-spacing: .02em; color: var(--ink); }
#custom-lp-wrapper .intro-title-big:before { --brush-c: var(--oat); left: -14px; right: -14px; bottom: 2px; height: 24px; }
#custom-lp-wrapper .intro-pink { color: var(--paw-deep); font-size: 1.14em; }
/* 愛犬家住宅コーディネーターのロゴは、見出しの右上に押したスタンプ */
#custom-lp-wrapper .intro-logo {
  float: right; position: relative; shape-outside: circle(50%); margin: 2px -4px 4px 10px; width: 76px; aspect-ratio: 1; padding: 11px; border-radius: 50%; background: #fff;
  outline: 1.5px dashed var(--leaf); outline-offset: -5px; transform: rotate(-8deg);
}
#custom-lp-wrapper .intro-logo img { position: absolute; inset: 11px; width: calc(100% - 22px); height: calc(100% - 22px); object-fit: contain; }
#custom-lp-wrapper .intro-coord { margin-top: 26px; text-align: left; }
#custom-lp-wrapper .intro-body { margin: 0; font-size: 15px; line-height: 1.95; letter-spacing: .04em; }
#custom-lp-wrapper .intro-check { position: relative; margin: 112px 0 0; padding: 50px 24px 26px; border-radius: 32px; background: var(--grain), var(--oat); box-shadow: 8px 8px 0 var(--lawn); }
/* 眠る犬猫に「FAMILY」「zzz…」（カンプの手書き） */
#custom-lp-wrapper .intro-check:before { content: "FAMILY"; position: absolute; left: 16px; top: -58px; font-family: var(--hand); font-size: 22px; letter-spacing: .08em; color: var(--leaf); transform: rotate(-12deg); }
#custom-lp-wrapper .intro-check-ph { position: absolute; left: 50%; top: -90px; width: 240px; aspect-ratio: 720 / 288; transform: translateX(-50%); }
#custom-lp-wrapper .intro-check-ph img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
#custom-lp-wrapper .intro-check-ph:after { content: "zzz…"; right: -30px; top: -6px; bottom: auto; font-family: var(--hand); font-size: 22px; letter-spacing: .04em; color: var(--paw); text-shadow: none; }
#custom-lp-wrapper .intro-check-t { margin: 0; text-align: center; font-family: var(--hand); font-size: 21px; line-height: 1.5; letter-spacing: .12em; color: var(--forest); }
#custom-lp-wrapper .intro-check-t:before, #custom-lp-wrapper .intro-check-t:after { content: "＼"; margin-right: .6em; color: var(--lawn); font-family: var(--maru); font-weight: 700; }
#custom-lp-wrapper .intro-check-t:after { content: "／"; margin: 0 0 0 .6em; }
#custom-lp-wrapper .check-list { margin-top: 14px; }
#custom-lp-wrapper .check-item { display: flex; align-items: flex-start; gap: 10px; padding: 13px 2px 12px; font-weight: 700; font-size: 15px; line-height: 1.6; letter-spacing: .03em; border-bottom: 2px dotted #CFC7B3; }
#custom-lp-wrapper .check-item:last-child { border-bottom: 0; }

/* ============================================================
   02 PRESENT：来場特典（チケット）× カタログ（芝生×たんぽぽ）
   ============================================================ */
#custom-lp-wrapper .present { padding: 64px 0 104px; }
#custom-lp-wrapper .present .sec-head { --brush-c: #fff; }
#custom-lp-wrapper .present .sec-head:after { left: calc(50% - 182px); top: 4px; width: 54px; aspect-ratio: 73 / 63; background-image: url("_upload/pet-il-bone.webp"); transform: rotate(-24deg); }
#custom-lp-wrapper .present-inner { padding: 0 var(--gutter); }
#custom-lp-wrapper .offers { display: grid; grid-template-columns: minmax(0, 1fr); gap: 48px; margin-top: 34px; }
#custom-lp-wrapper .offer { display: flex; flex-direction: column; }
#custom-lp-wrapper .offer-tag { margin: 0 0 10px; text-align: center; font-weight: 900; font-size: 15px; line-height: 1.5; letter-spacing: .1em; color: var(--paw-deep); }
#custom-lp-wrapper .offer-tag:before { content: "＼"; margin-right: .7em; font-weight: 500; }
#custom-lp-wrapper .offer-tag:after { content: "／"; margin-left: .7em; font-weight: 500; }
/* 来場バナー・カタログ画像：どちらも 960:450（ガレージハウスLPと同じ枠）。来場バナーは src を差し替えるだけで切り替わる */
#custom-lp-wrapper .cta-banner { position: relative; overflow: hidden; aspect-ratio: 960 / 450; border-radius: 16px; background: #DCD8CC; box-shadow: 0 10px 24px rgba(27, 42, 33, .14); }
#custom-lp-wrapper .cta-banner img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; }
#custom-lp-wrapper .closing-path .cta-banner { margin: 6px 0 4px; }
#custom-lp-wrapper .offer-note { margin: 12px 0 0; font-size: 12px; line-height: 1.7; letter-spacing: .02em; color: var(--ink-soft); }
#custom-lp-wrapper .offer-note-link { display: inline-block; padding: 12px 4px; margin: -12px 0; color: var(--leaf-deep); font-weight: 700; text-underline-offset: 3px; }
/* マスキングテープ */
#custom-lp-wrapper .plan-fig:before, #custom-lp-wrapper .plan-photo:before {
  content: ""; position: absolute; z-index: 4; left: 50%; top: -11px; width: 64px; height: 20px; margin-left: -32px; transform: rotate(-4deg);
  background: repeating-linear-gradient(90deg, rgba(255, 243, 107, .85) 0 6px, rgba(255, 236, 80, .85) 6px 12px); opacity: .92;
}
#custom-lp-wrapper .offer--catalog .offer-note { margin-top: 12px; }
#custom-lp-wrapper .offer-action { margin-top: 18px; }

/* ============================================================
   03 POINT：写真の形を回ごとに変える（アーチ／ブロブ／ワイド／円）× 縦のピル × 肉球のバッジ
   ============================================================ */
#custom-lp-wrapper .points { position: relative; }
#custom-lp-wrapper .points-head { position: relative; padding: 60px var(--gutter) 92px; background: #fff; text-align: center; }
#custom-lp-wrapper .points-head .sec-head:after { right: -10px; top: 0; width: 66px; aspect-ratio: 164 / 140; background-image: url("_upload/pet-il-toy.webp"); }
#custom-lp-wrapper .points-head .sec-head:before { content: ""; position: absolute; left: calc(var(--gutter) * -1); top: 34px; width: 116px; aspect-ratio: 720 / 483; background: left bottom / contain no-repeat url("_upload/pet-lp-collie-cat.webp"); }
#custom-lp-wrapper .points-title { margin: 30px 0 0; font-weight: 900; font-size: 19px; line-height: 1.6; letter-spacing: .03em; color: var(--forest); }
#custom-lp-wrapper .points-title-em { display: inline-block; margin-top: 4px; font-size: 1.62em; line-height: 1.35; letter-spacing: .02em; color: var(--paw-deep); }
#custom-lp-wrapper .points-lead { margin: 22px 0 0; padding-top: 22px; font-size: 14.5px; line-height: 2; letter-spacing: .05em;
  background: radial-gradient(circle, var(--lawn) 2.4px, transparent 2.8px) center top / 13px 6px repeat-x; }

#custom-lp-wrapper .pt { padding: 36px 0 96px; overflow-x: clip; }
#custom-lp-wrapper .pt--green { background: #fff; }
#custom-lp-wrapper .pt-inner { position: relative; display: flex; flex-direction: column; }
#custom-lp-wrapper .pt-visual { position: relative; padding-top: 108px; --c: var(--paw); --c-deep: var(--paw-deep); }
#custom-lp-wrapper .pt--green .pt-visual { --c: var(--lawn); --c-deep: var(--leaf); }
/* 「＼Point／」と白抜きの数字（数＝この章のポイントの数） */
#custom-lp-wrapper .pt-visual:before {
  position: absolute; top: 22px; z-index: 2; font-family: var(--en); font-weight: 700; font-size: 86px; line-height: 1; letter-spacing: -.02em;
  color: #fff; -webkit-text-stroke: 3px var(--c); paint-order: stroke fill;
}
#custom-lp-wrapper .pt-visual:after { content: "\\ Point /"; position: absolute; top: 2px; z-index: 2; font-family: var(--en); font-weight: 700; font-size: 17px; line-height: 1; letter-spacing: .1em; color: var(--c-deep); white-space: pre; }
#custom-lp-wrapper .pt--1 .pt-visual:before { content: "01"; }
#custom-lp-wrapper .pt--2 .pt-visual:before { content: "02"; }
#custom-lp-wrapper .pt--3 .pt-visual:before { content: "03"; }
#custom-lp-wrapper .pt--4 .pt-visual:before { content: "04"; }
#custom-lp-wrapper .pt--pink .pt-visual:before, #custom-lp-wrapper .pt--pink .pt-visual:after { left: var(--gutter); }
#custom-lp-wrapper .pt--green .pt-visual:before, #custom-lp-wrapper .pt--green .pt-visual:after { right: var(--gutter); }
/* 01 の「Relax…」の猫（カンプの手描き） */
#custom-lp-wrapper .pt--1 .pt-inner:before { content: ""; position: absolute; z-index: 1; left: calc(var(--gutter) + 112px); top: 4px; width: 190px; aspect-ratio: 346 / 176; background: center / contain no-repeat url("_upload/pet-il-cat-relax.webp"); }
/* 写真の形 */
#custom-lp-wrapper .pt-ph { aspect-ratio: 1 / 1; }
#custom-lp-wrapper .pt--1 .pt-ph { margin-left: 22%; border-radius: 180px 0 0 0 / 160px 0 0 0; }
#custom-lp-wrapper .pt--2 .pt-ph { margin-right: 20%; border-radius: 0 56% 44% 0 / 0 48% 52% 0; }
#custom-lp-wrapper .pt--3 .pt-ph { margin: 0 var(--gutter); aspect-ratio: 4 / 3.4; border-radius: 30px; }
#custom-lp-wrapper .pt--4 .pt-ph { width: 84%; margin-left: -6%; border-radius: 50%; }
/* 写真の上の手書きの擬音（カンプの MEOW／WAON／Happy） */
#custom-lp-wrapper .pt-ph:before { position: absolute; z-index: 3; font-family: var(--hand); font-size: 23px; line-height: 1; letter-spacing: .12em; color: #fff; text-shadow: 0 1px 8px rgba(0, 0, 0, .25); pointer-events: none; }
#custom-lp-wrapper .pt--2 .pt-ph:before { content: "\\\\ MEOW //"; left: 46%; top: 9%; transform: rotate(12deg); }
#custom-lp-wrapper .pt--3 .pt-ph:before { content: "WAON"; right: 7%; top: 40%; color: #fff; transform: rotate(-8deg); }
#custom-lp-wrapper .pt--4 .pt-ph:before { content: "Happy\2606"; left: 20%; top: 18%; transform: rotate(-12deg); }
#custom-lp-wrapper .pt--green .ph--img:after { right: auto; left: 12px; }
#custom-lp-wrapper .pt--3 .ph--img:after { top: 14px; bottom: auto; }
#custom-lp-wrapper .pt--4 .ph--img:after { left: 50%; bottom: 14px; transform: translateX(-50%); }
#custom-lp-wrapper .pt-pills { position: absolute; top: 124px; z-index: 3; display: flex; flex-direction: row-reverse; align-items: flex-start; gap: 8px; margin: 0; }
#custom-lp-wrapper .pt--pink .pt-pills { left: var(--gutter); }
#custom-lp-wrapper .pt--green .pt-pills { right: var(--gutter); }
#custom-lp-wrapper .pt--3 .pt-pills { left: calc(var(--gutter) - 10px); top: 132px; }
#custom-lp-wrapper .pt-pill {
  display: block; writing-mode: vertical-rl; padding: 18px 9px; border-radius: 999px; background: var(--c-deep); color: #fff;
  font-weight: 900; font-size: 21px; line-height: 1.15; letter-spacing: .1em; font-feature-settings: "vpal" 1;
}
#custom-lp-wrapper .pt-pill + .pt-pill { margin-top: 48px; }
/* 肉球のバッジ：主球の中に文字。4つの指は主球と同じ色で弧に並べ、墨の線で縁取る */
#custom-lp-wrapper .pt-badge {
  position: absolute; bottom: -50px; z-index: 3; display: flex; align-items: flex-end; justify-content: center;
  width: 118px; height: 108px; margin: 0; padding-bottom: 22px; isolation: isolate;
  font-weight: 900; font-size: 22px; line-height: 1; letter-spacing: .14em; color: var(--c-deep);
}
#custom-lp-wrapper .pt-badge:before {
  content: ""; position: absolute; z-index: -1; inset: 0; background: center / 100% 100% no-repeat;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 132 120'%3E%3Cg fill='%23FFFFFF' stroke='%231B2A21' stroke-width='1.6'%3E%3Cpath d='M66 50c26 0 44 21 44 40 0 18-17 27-44 27S22 108 22 90c0-19 18-40 44-40z'/%3E%3Cellipse cx='22' cy='50' rx='11' ry='14' transform='rotate(-28 22 50)'/%3E%3Cellipse cx='47' cy='22' rx='11.5' ry='15' transform='rotate(-10 47 22)'/%3E%3Cellipse cx='85' cy='22' rx='11.5' ry='15' transform='rotate(10 85 22)'/%3E%3Cellipse cx='110' cy='50' rx='11' ry='14' transform='rotate(28 110 50)'/%3E%3C/g%3E%3C/svg%3E");
}
#custom-lp-wrapper .pt--green .pt-badge:before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 132 120'%3E%3Cg fill='%23F3F0E8' stroke='%231B2A21' stroke-width='1.6'%3E%3Cpath d='M66 50c26 0 44 21 44 40 0 18-17 27-44 27S22 108 22 90c0-19 18-40 44-40z'/%3E%3Cellipse cx='22' cy='50' rx='11' ry='14' transform='rotate(-28 22 50)'/%3E%3Cellipse cx='47' cy='22' rx='11.5' ry='15' transform='rotate(-10 47 22)'/%3E%3Cellipse cx='85' cy='22' rx='11.5' ry='15' transform='rotate(10 85 22)'/%3E%3Cellipse cx='110' cy='50' rx='11' ry='14' transform='rotate(28 110 50)'/%3E%3C/g%3E%3C/svg%3E"); }
#custom-lp-wrapper .pt--pink .pt-badge { left: calc(var(--gutter) + 104px); }
#custom-lp-wrapper .pt--green .pt-badge { right: calc(var(--gutter) + 104px); }
#custom-lp-wrapper .pt--3 .pt-badge { left: auto; right: calc(var(--gutter) + 14px); }
#custom-lp-wrapper .pt--4 .pt-badge { right: calc(var(--gutter) + 6px); bottom: -24px; }
#custom-lp-wrapper .pt-body { position: relative; z-index: 2; padding: 72px var(--gutter) 0; }
/* 本文の頭の英字（何のポイントか） */
#custom-lp-wrapper .pt-body:before { display: block; margin-bottom: 12px; font-family: var(--en); font-weight: 600; font-size: 13px; line-height: 1; letter-spacing: .16em; color: var(--paw-deep); }
#custom-lp-wrapper .pt--green .pt-body:before { color: var(--leaf-deep); }
#custom-lp-wrapper .pt--1 .pt-body:before { content: "TEMPERATURE"; }
#custom-lp-wrapper .pt--2 .pt-body:before { content: "FRESH AIR"; }
#custom-lp-wrapper .pt--3 .pt-body:before { content: "QUIET"; }
#custom-lp-wrapper .pt--4 .pt-body:before { content: "FLOORING"; }
#custom-lp-wrapper .pt-text { margin: 0; font-size: 15px; line-height: 1.95; letter-spacing: .04em; }
#custom-lp-wrapper .pt-spec { display: inline-grid; gap: 6px; margin-top: 24px; padding: 16px 22px 16px 18px; border-radius: 18px; background: #fff; border: 2px solid var(--line); }
#custom-lp-wrapper .pt--green .pt-spec { background: var(--grain), var(--oat); border-color: transparent; }
#custom-lp-wrapper .pt-spec-item { display: flex; align-items: flex-start; gap: 10px; word-break: keep-all; font-weight: 700; font-size: 16px; line-height: 1.6; letter-spacing: .05em; }
#custom-lp-wrapper .pt-spec-em { color: var(--paw-deep); font-weight: 900; }
#custom-lp-wrapper .pt--green .pt-spec-em { color: var(--leaf); }
#custom-lp-wrapper .pt--3 .pt-spec-em { display: block; }
#custom-lp-wrapper .pt-deco { position: absolute; z-index: 1; right: 8px; bottom: -82px; width: 150px; pointer-events: none; }
#custom-lp-wrapper .pt-deco img { width: 100%; }
#custom-lp-wrapper .pt-deco--1 { width: 184px; bottom: -74px; right: 0; }
#custom-lp-wrapper .pt-deco--1:before { content: ""; position: absolute; right: 26%; top: -30px; width: 22px; aspect-ratio: 40 / 52; background: center / contain no-repeat url("_upload/pet-dd-hearts.webp"); }
#custom-lp-wrapper .pt-deco--2 { width: 76px; bottom: -66px; right: 26px; }
#custom-lp-wrapper .pt-deco--3 { width: 124px; bottom: -88px; }
#custom-lp-wrapper .pt-deco--4 { width: 116px; bottom: -66px; }

#custom-lp-wrapper .points-foot { position: relative; padding: 0 var(--gutter) 104px; background: #fff; }
#custom-lp-wrapper .spec-note { margin: 0; padding-top: 18px; border-top: 1.5px dashed var(--line); font-size: 11.5px; line-height: 1.8; letter-spacing: .02em; color: var(--ink-soft); }
#custom-lp-wrapper .mid-cta { display: grid; gap: 40px; margin-top: 52px; }
#custom-lp-wrapper .mid-cta .cta-lead { text-align: center; }
#custom-lp-wrapper .trust-quote { position: relative; margin: 0; padding: 26px 22px 20px; border-radius: 24px; background: var(--paw-soft); }
#custom-lp-wrapper .trust-quote:before { content: "\201C"; position: absolute; left: 14px; top: -26px; font-family: var(--hand); font-size: 84px; line-height: 1; color: var(--paw); opacity: .55; }
#custom-lp-wrapper .trust-quote:after { content: ""; position: absolute; left: 38px; bottom: -22px; width: 24px; height: 24px; background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cg fill='%23FCE6EC'%3E%3Cellipse cx='20' cy='27' rx='9.5' ry='8'/%3E%3Cellipse cx='7.5' cy='16.5' rx='4' ry='5' transform='rotate(-20 7.5 16.5)'/%3E%3Cellipse cx='15' cy='8.5' rx='4' ry='5.2'/%3E%3Cellipse cx='25' cy='8.5' rx='4' ry='5.2'/%3E%3Cellipse cx='32.5' cy='16.5' rx='4' ry='5' transform='rotate(20 32.5 16.5)'/%3E%3C/g%3E%3C/svg%3E"); }
#custom-lp-wrapper .trust-quote-label { margin: 0 0 8px; font-family: var(--maru); font-weight: 700; font-size: 12px; line-height: 1.5; letter-spacing: .12em; color: var(--paw-deep); }
#custom-lp-wrapper .trust-quote-text { margin: 0; font-weight: 500; font-size: 15.5px; line-height: 1.95; letter-spacing: .03em; }
#custom-lp-wrapper .trust-quote figcaption { margin-top: 10px; font-size: 12.5px; line-height: 1.6; letter-spacing: .06em; color: var(--ink-soft); }
#custom-lp-wrapper .trust-quote-note, #custom-lp-wrapper .voice-note { display: block; margin-top: 2px; font-size: 11px; }

/* ============================================================
   04 FLOOR PLAN：犬／猫のタブ（CSSのみ：radio + :has）
   ============================================================ */
#custom-lp-wrapper .plans { padding: 64px 0 104px; }
#custom-lp-wrapper .plans .sec-head:after { right: calc(50% - 190px); top: -30px; width: 44px; aspect-ratio: 73 / 100; background: var(--paw); -webkit-mask: url("_upload/pet-hero-house.webp") center / contain no-repeat; mask: url("_upload/pet-hero-house.webp") center / contain no-repeat; transform: rotate(8deg); }
#custom-lp-wrapper .plans-inner { position: relative; padding: 0 var(--gutter); }
#custom-lp-wrapper .plans-inner:before, #custom-lp-wrapper .plans-inner:after { content: ""; position: absolute; pointer-events: none; background: center / contain no-repeat; }
#custom-lp-wrapper .plans-inner:before { left: 10px; top: 92px; width: 44px; aspect-ratio: 79 / 65; background-image: url("_upload/pet-dd-bone-w.webp"); transform: rotate(-12deg); }
#custom-lp-wrapper .plans-inner:after { right: 8px; top: 100px; width: 40px; aspect-ratio: 82 / 58; background-image: url("_upload/pet-dd-paws-w.webp"); }
#custom-lp-wrapper .plans-tabs:after { content: ""; position: absolute; z-index: -1; right: 34px; top: -33px; width: 66px; aspect-ratio: 126 / 66; background: center bottom / contain no-repeat url("_upload/pet-dd-peek.webp"); pointer-events: none; }
#custom-lp-wrapper .plans-title { margin: 30px 0 0; text-align: center; font-weight: 900; font-size: 19px; line-height: 1.6; letter-spacing: .03em; color: var(--forest); }
#custom-lp-wrapper .plans-title-em { font-size: 1.5em; letter-spacing: .02em; color: var(--leaf); }
#custom-lp-wrapper .plans-ui { position: relative; margin-top: 30px; }
#custom-lp-wrapper .tab-radio { position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; pointer-events: none; }
#custom-lp-wrapper .plans-tabs { position: sticky; top: 8px; z-index: 5; display: grid; grid-template-columns: 1fr 1fr; gap: 6px; padding: 5px; border-radius: 999px; background: #fff; border: 2px solid var(--leaf); }
/* :has() で状態が変わる要素には transition を書かない（WP用ガイド §9-1） */
#custom-lp-wrapper .plans-tab { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 50px; border-radius: 999px; cursor: pointer; color: var(--ink-soft); background: transparent; }
#custom-lp-wrapper .plans-tab-en { font-family: var(--en); font-weight: 600; font-size: 13.5px; letter-spacing: .06em; }
#custom-lp-wrapper .plans-tab-ja { font-weight: 900; font-size: 16px; letter-spacing: .08em; }
#custom-lp-wrapper .plans-ui:has(#lp-plan-dog:checked) .plans-tab--dog { background: var(--leaf); color: #fff; }
#custom-lp-wrapper .plans-ui:has(#lp-plan-cat:checked) .plans-tab--cat { background: var(--paw-deep); color: #fff; }
#custom-lp-wrapper .plans-ui:has(#lp-plan-dog:focus-visible) .plans-tab--dog,
#custom-lp-wrapper .plans-ui:has(#lp-plan-cat:focus-visible) .plans-tab--cat { outline: 3px solid var(--forest); outline-offset: 2px; }
#custom-lp-wrapper .plan-panel--cat { display: none; }
#custom-lp-wrapper .plans-ui:has(#lp-plan-cat:checked) .plan-panel--dog { display: none; }
#custom-lp-wrapper .plans-ui:has(#lp-plan-cat:checked) .plan-panel--cat { display: block; }
@keyframes lpPanel { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
#custom-lp-wrapper .plan-panel { animation: lpPanel .4s ease-out both; }
#custom-lp-wrapper .plan { position: relative; padding-top: 54px; --c: var(--lawn); --c-deep: var(--leaf); }
#custom-lp-wrapper .plan--pink { --c: var(--paw); --c-deep: var(--paw-deep); }
#custom-lp-wrapper .plan + .plan { margin-top: 36px; }
/* 「＼Plan／ 01」：数＝この章で紹介する間取りの数 */
#custom-lp-wrapper .plan:before {
  position: absolute; right: 0; top: 34px; font-family: var(--en); font-weight: 700; font-size: 66px; line-height: 1; letter-spacing: -.02em;
  color: #fff; -webkit-text-stroke: 3px var(--c); paint-order: stroke fill;
}
#custom-lp-wrapper .plan:after { content: "\\ Plan /"; position: absolute; right: 6px; top: 12px; font-family: var(--en); font-weight: 700; font-size: 15px; line-height: 1; letter-spacing: .08em; color: var(--c-deep); white-space: pre; }
#custom-lp-wrapper .plan--1:before { content: "01"; }
#custom-lp-wrapper .plan--2:before { content: "02"; }
#custom-lp-wrapper .plan--3:before { content: "03"; }
#custom-lp-wrapper .plan--4:before { content: "04"; }
#custom-lp-wrapper .plan-h {
  position: relative; z-index: 2; display: inline-block; max-width: calc(100% - 100px); padding: 9px 22px 10px; border-radius: 24px; background: var(--c-deep); color: #fff;
  font-weight: 900; font-size: 18px; line-height: 1.5; letter-spacing: .03em;
}
#custom-lp-wrapper .plan-h-em { text-decoration: underline 3px var(--dandelion); text-underline-offset: 6px; text-decoration-skip-ink: none; }
#custom-lp-wrapper .plan-fig { position: relative; margin-top: 20px; border: 5px solid var(--c); border-radius: 26px; background: #fff; }
#custom-lp-wrapper .plan-fig img { width: 100%; border-radius: 20px; }
#custom-lp-wrapper .plan-fig--roof { padding-bottom: 12px; }
#custom-lp-wrapper .plan-logo { position: relative; width: 132px; aspect-ratio: 212 / 120; margin: 6px 14px 0 auto; }
#custom-lp-wrapper .plan-logo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; border-radius: 0; }
#custom-lp-wrapper .plan-photo { position: relative; margin-top: 20px; aspect-ratio: 3 / 2; border: 5px solid var(--c); border-radius: 26px; overflow: visible; background: transparent; }
#custom-lp-wrapper .plan-photo img { border-radius: 21px; }
#custom-lp-wrapper .plan-photo:after { right: 14px; bottom: 11px; }
#custom-lp-wrapper .plan-photo--tall { aspect-ratio: 455 / 400; }
#custom-lp-wrapper .plan-photo--tall img { object-position: center 40%; }
#custom-lp-wrapper .plan--pink .plan-fig:before, #custom-lp-wrapper .plan--pink .plan-photo:before { background: repeating-linear-gradient(90deg, rgba(252, 214, 225, .95) 0 6px, rgba(247, 196, 211, .95) 6px 12px); transform: rotate(3deg); }
#custom-lp-wrapper .plan-text { margin: 18px 0 0; font-size: 14.5px; line-height: 1.95; letter-spacing: .04em; }
#custom-lp-wrapper .plan-point { display: flex; align-items: flex-start; gap: 10px; margin: 16px 0 0; padding: 15px 18px; border-radius: 18px; background: #fff; font-weight: 700; font-size: 14.5px; line-height: 1.7; letter-spacing: .04em; }
#custom-lp-wrapper .plans-cta { position: relative; margin-top: 60px; text-align: center; }
#custom-lp-wrapper .cta-bubble { display: block; width: 160px; aspect-ratio: 225 / 91; margin: 0 auto; background-image: url("_upload/pet-dd-more.webp"); }
#custom-lp-wrapper .plans-cta .cta-lead { margin-top: 18px; }

/* ============================================================
   05 VOICE：吹き出しの色と位置をずらす × 肉球の点で描く 45／65
   ============================================================ */
#custom-lp-wrapper .voices { position: relative; padding: 68px 0 108px; background: #fff; }
#custom-lp-wrapper .voices-inner { position: relative; padding: 0 var(--gutter); }
#custom-lp-wrapper .voices .sec-head { --brush-c: var(--mint); }
#custom-lp-wrapper .voices .sec-head:after { right: -8px; top: -14px; width: 92px; aspect-ratio: 199 / 142; background-image: url("_upload/pet-il-woof.webp"); }
#custom-lp-wrapper .voices-title { margin: 30px 0 0; text-align: center; font-weight: 900; font-size: 19px; line-height: 1.6; letter-spacing: .03em; color: var(--forest); }
#custom-lp-wrapper .voices-title-em { font-size: 1.5em; letter-spacing: .02em; color: var(--leaf); }
#custom-lp-wrapper .voices-list { display: grid; gap: 34px; margin-top: 38px; }
#custom-lp-wrapper .voice { position: relative; margin: 0; --bub: var(--mint); --bub-paw: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cg fill='%23DFF5E7'%3E%3Cellipse cx='20' cy='27' rx='9.5' ry='8'/%3E%3Cellipse cx='7.5' cy='16.5' rx='4' ry='5' transform='rotate(-20 7.5 16.5)'/%3E%3Cellipse cx='15' cy='8.5' rx='4' ry='5.2'/%3E%3Cellipse cx='25' cy='8.5' rx='4' ry='5.2'/%3E%3Cellipse cx='32.5' cy='16.5' rx='4' ry='5' transform='rotate(20 32.5 16.5)'/%3E%3C/g%3E%3C/svg%3E"); }
#custom-lp-wrapper .voice--1 { margin-right: 14px; }
#custom-lp-wrapper .voice--2 { margin-left: 14px; transform: rotate(.8deg); --bub: var(--oat); --bub-paw: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cg fill='%23F3F0E8'%3E%3Cellipse cx='20' cy='27' rx='9.5' ry='8'/%3E%3Cellipse cx='7.5' cy='16.5' rx='4' ry='5' transform='rotate(-20 7.5 16.5)'/%3E%3Cellipse cx='15' cy='8.5' rx='4' ry='5.2'/%3E%3Cellipse cx='25' cy='8.5' rx='4' ry='5.2'/%3E%3Cellipse cx='32.5' cy='16.5' rx='4' ry='5' transform='rotate(20 32.5 16.5)'/%3E%3C/g%3E%3C/svg%3E"); }
#custom-lp-wrapper .voice--trust { --bub: var(--paw-soft); --bub-paw: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cg fill='%23FCE6EC'%3E%3Cellipse cx='20' cy='27' rx='9.5' ry='8'/%3E%3Cellipse cx='7.5' cy='16.5' rx='4' ry='5' transform='rotate(-20 7.5 16.5)'/%3E%3Cellipse cx='15' cy='8.5' rx='4' ry='5.2'/%3E%3Cellipse cx='25' cy='8.5' rx='4' ry='5.2'/%3E%3Cellipse cx='32.5' cy='16.5' rx='4' ry='5' transform='rotate(20 32.5 16.5)'/%3E%3C/g%3E%3C/svg%3E"); }
#custom-lp-wrapper .voice-tag { display: inline-flex; align-items: center; gap: 6px; margin: 0 0 12px; padding: 2px 14px 2px 10px; border-radius: 999px; background: #fff; border: 2px solid var(--leaf); font-weight: 700; font-size: 12px; line-height: 1.8; letter-spacing: .1em; color: var(--leaf-deep); }
#custom-lp-wrapper .voice-tag:before { content: ""; width: 14px; height: 14px; background: var(--paw-leaf) center / contain no-repeat; }
#custom-lp-wrapper .voice-quote { position: relative; padding: 30px 22px 22px; border-radius: 28px; background: var(--bub); }
#custom-lp-wrapper .voice-quote:before { content: "\201C"; position: absolute; right: 22px; top: -30px; font-family: var(--hand); font-size: 90px; line-height: 1; color: var(--paw); opacity: .5; }
/* 吹き出しのしっぽ＝肉球 */
#custom-lp-wrapper .voice-quote:after { content: ""; position: absolute; right: 40px; bottom: -24px; width: 26px; height: 26px; background: var(--bub-paw) center / contain no-repeat; transform: rotate(14deg); }
#custom-lp-wrapper .voice-text { margin: 0; font-weight: 500; font-size: 16px; line-height: 1.95; letter-spacing: .03em; }
#custom-lp-wrapper .voice-mark { background: linear-gradient(transparent 60%, rgba(255, 243, 107, .95) 60%, rgba(255, 243, 107, .95) 92%, transparent 92%); -webkit-box-decoration-break: clone; box-decoration-break: clone; font-weight: 700; }
#custom-lp-wrapper .voice-name { margin-top: 22px; text-align: right; font-size: 13px; line-height: 1.5; letter-spacing: .08em; color: var(--ink-soft); }
#custom-lp-wrapper .voices-trust { display: grid; gap: 36px; margin-top: 60px; padding-top: 44px; border-top: 2px dotted #CFC7B3; }
#custom-lp-wrapper .voices-stat-label { margin: 0; font-weight: 900; font-size: 16px; line-height: 1.6; letter-spacing: .06em; color: var(--forest); }
#custom-lp-wrapper .voices-stat-num { margin: 6px 0 0; line-height: 1; color: var(--leaf); }
#custom-lp-wrapper .voices-stat-big { font-family: var(--en); font-weight: 700; font-size: 74px; letter-spacing: -.01em; }
#custom-lp-wrapper .voices-stat-of { margin-left: 4px; font-weight: 900; font-size: 18px; color: var(--ink); }
/* 65個の肉球（13×5）のうち45個を緑に：1〜3段目（39個）＋4段目の6個 */
#custom-lp-wrapper .voices-matrix { --cell: min(25px, calc((100vw - 2 * var(--gutter)) / 13)); position: relative; width: calc(13 * var(--cell)); height: calc(5 * var(--cell)); margin-top: 16px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cg fill='none' stroke='%23C9C1AE' stroke-width='2'%3E%3Cellipse cx='20' cy='27' rx='9.5' ry='8'/%3E%3Cellipse cx='7.5' cy='16.5' rx='4' ry='5' transform='rotate(-20 7.5 16.5)'/%3E%3Cellipse cx='15' cy='8.5' rx='4' ry='5.2'/%3E%3Cellipse cx='25' cy='8.5' rx='4' ry='5.2'/%3E%3Cellipse cx='32.5' cy='16.5' rx='4' ry='5' transform='rotate(20 32.5 16.5)'/%3E%3C/g%3E%3C/svg%3E") 0 0 / var(--cell) var(--cell) repeat; }
#custom-lp-wrapper .voices-matrix:before, #custom-lp-wrapper .voices-matrix:after { content: ""; position: absolute; left: 0; top: 0; background: var(--paw-lawn) 0 0 / var(--cell) var(--cell) repeat; }
#custom-lp-wrapper .voices-matrix:before { width: 100%; height: calc(3 * var(--cell)); }
#custom-lp-wrapper .voices-matrix:after { top: calc(3 * var(--cell)); width: calc(6 * var(--cell)); height: var(--cell); }
#custom-lp-wrapper .voices-stat-text { margin: 14px 0 0; font-size: 13.5px; line-height: 1.9; letter-spacing: .03em; }
#custom-lp-wrapper .voices-note { margin: 30px 0 0; font-size: 11.5px; line-height: 1.7; color: var(--ink-soft); }

/* ============================================================
   06 Next Step：芝の草の境目 × 2つの道（来場カードの上から犬猫がのぞく）
   ============================================================ */
#custom-lp-wrapper .closing { padding: 60px 0 148px; background: var(--grain), var(--lawn); text-align: center; }
#custom-lp-wrapper .closing-inner { position: relative; padding: 0 var(--gutter); }
#custom-lp-wrapper .closing-inner:before, #custom-lp-wrapper .closing-inner:after { content: ""; position: absolute; display: none; background: center / contain no-repeat; filter: brightness(0) invert(1); opacity: .9; }
#custom-lp-wrapper .closing-inner:before { left: 30px; top: -10px; width: 120px; aspect-ratio: 180 / 184; background-image: url("_upload/pet-il-dog-sit.webp"); }
#custom-lp-wrapper .closing-inner:after { right: 40px; top: 10px; width: 100px; aspect-ratio: 140 / 132; background-image: url("_upload/pet-il-cat-love.webp"); }
#custom-lp-wrapper .closing-en { margin: 0; font-family: var(--hand); font-size: 22px; line-height: 1.2; letter-spacing: .12em; color: var(--forest); }
#custom-lp-wrapper .closing-title { margin: 12px 0 0; font-weight: 900; font-size: 25px; line-height: 1.55; letter-spacing: .02em; color: var(--forest); }
#custom-lp-wrapper .closing-lead { margin: 16px 0 0; font-size: 14px; line-height: 2; letter-spacing: .03em; color: var(--forest); }
#custom-lp-wrapper .closing-paths { display: grid; gap: 22px; margin-top: 82px; text-align: left; }
#custom-lp-wrapper .closing-path { position: relative; display: flex; flex-direction: column; gap: 10px; padding: 26px 22px 24px; border-radius: 28px; background: #fff; box-shadow: 0 7px 0 var(--leaf); }
/* カードの縁から犬猫がのぞく（下は縁で切れて見える） */
#custom-lp-wrapper .closing-peek { position: absolute; right: 22px; top: -50px; width: 140px; height: 50px; overflow: hidden; pointer-events: none; }
#custom-lp-wrapper .closing-peek img { position: absolute; left: 0; top: 0; width: 140px; height: auto; aspect-ratio: 720 / 360; }
#custom-lp-wrapper .closing-path-en { margin: 0; font-family: var(--en); font-weight: 600; font-size: 15px; line-height: 1; letter-spacing: .16em; color: var(--berry); }
#custom-lp-wrapper .closing-path--catalog .closing-path-en { color: var(--leaf); }
#custom-lp-wrapper .closing-path-t { margin: 0; font-weight: 900; font-size: 21px; line-height: 1.5; letter-spacing: .04em; color: var(--forest); }
#custom-lp-wrapper .closing-path-d { margin: 0; font-size: 14px; line-height: 1.95; letter-spacing: .03em; }
#custom-lp-wrapper .closing-path-action { margin-top: auto; padding-top: 8px; }
#custom-lp-wrapper .closing-path-note { margin: 14px 0 0; text-align: center; font-size: 12px; line-height: 1.6; letter-spacing: .04em; color: var(--ink-soft); }
#custom-lp-wrapper .closing-gift-note { margin: 24px 0 0; text-align: left; font-size: 11px; line-height: 1.75; color: var(--forest); }
#custom-lp-wrapper .closing-promise { margin: 36px 0 0; padding-top: 24px; border-top: 2px dotted rgba(14, 59, 34, .35); font-weight: 900; font-size: 15.5px; line-height: 1.8; letter-spacing: .05em; color: var(--forest); }
#custom-lp-wrapper .closing-note { margin: 10px auto 0; max-width: 640px; text-align: left; font-size: 11px; line-height: 1.7; color: var(--forest); }

/* ============================================================
   追従ボタン：カタログ（表紙つき）＋来場予約。SPは画面下の帯、PCは右下
   ============================================================ */
#custom-lp-wrapper .fixed-cta {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 90;
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 6px;
  padding: 7px 7px calc(7px + env(safe-area-inset-bottom));
  background: rgba(255, 255, 255, .9); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
  border-top: 1.5px solid rgba(27, 42, 33, .12);
}
#custom-lp-wrapper .fixed-cta-btn {
  position: relative; display: flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 56px; padding: 0 18px 0 8px; border-radius: 999px; text-decoration: none;
  transition: background-color .25s ease;
}
#custom-lp-wrapper .fixed-cta-btn--catalog { background: #fff; color: var(--leaf-deep); border: 2px solid var(--leaf); }
#custom-lp-wrapper .fixed-cta-btn--catalog:hover { background: var(--mint); }
#custom-lp-wrapper .fixed-cta-btn--visit { background: var(--berry); color: #fff; }
#custom-lp-wrapper .fixed-cta-btn--visit:hover { background: var(--berry-hover); }
#custom-lp-wrapper .fixed-cta-cover { flex: none; width: 26px; height: auto; box-shadow: 0 3px 6px rgba(0, 0, 0, .25); transform: rotate(-5deg); }
#custom-lp-wrapper .fixed-cta-tx { display: flex; flex-direction: column; align-items: center; gap: 2px; line-height: 1.2; }
#custom-lp-wrapper .fixed-cta-t { font-weight: 900; font-size: 13.5px; letter-spacing: .04em; white-space: nowrap; }
#custom-lp-wrapper .fixed-cta-s { font-weight: 700; font-size: 10.5px; letter-spacing: .02em; white-space: nowrap; }
#custom-lp-wrapper .fixed-cta-arrow { position: absolute; right: 12px; top: 50%; width: 7px; height: 7px; margin-top: -3.5px; border-top: 2px solid currentColor; border-right: 2px solid currentColor; transform: rotate(45deg); }
/* 幅360px未満の端末では、矢印を省いて文字の幅を確保する */
@media (max-width: 359px) {
  #custom-lp-wrapper .fixed-cta-btn { padding-right: 8px; }
  #custom-lp-wrapper .fixed-cta-btn--catalog { gap: 5px; }
  #custom-lp-wrapper .fixed-cta-cover { width: 21px; }
  #custom-lp-wrapper .fixed-cta-arrow { display: none; }
  #custom-lp-wrapper .cta-btn, #custom-lp-wrapper .cta-sub { padding: 0 34px; }
  #custom-lp-wrapper .cta-btn { letter-spacing: .08em; }
  #custom-lp-wrapper .hero-title { font-size: 26px; }
  #custom-lp-wrapper .intro-title-big { font-size: 30px; }
  #custom-lp-wrapper .pt--1 .pt-inner:before { width: 150px; }
}

/* ============================================================
   タブレット（600〜1007px）：SP版の組みのまま、文字の列を中央の約640pxに収める
   ============================================================ */
@media (min-width: 600px) and (max-width: 1007px) {
  #custom-lp-wrapper { --gutter: max(28px, calc((100vw - 640px) / 2)); }
  #custom-lp-wrapper .fixed-cta { left: 50%; right: auto; width: min(640px, 100%); transform: translateX(-50%); border-radius: 28px 28px 0 0; }
  #custom-lp-wrapper .hero-doodles { left: calc(var(--gutter) - 24px); right: calc(var(--gutter) - 24px); }
  #custom-lp-wrapper .pt-pill + .pt-pill { margin-top: 64px; }
  #custom-lp-wrapper .pt--1 .pt-ph { margin-left: calc(var(--gutter) + 110px); }
  #custom-lp-wrapper .pt--2 .pt-ph { margin-right: calc(var(--gutter) + 110px); }
  #custom-lp-wrapper .pt--4 .pt-ph { width: min(84%, 520px); margin-left: calc(var(--gutter) - 40px); }
  #custom-lp-wrapper .pt--1 .pt-badge { left: calc(var(--gutter) + 112px); }
  #custom-lp-wrapper .pt--2 .pt-badge { right: calc(var(--gutter) + 112px); }
  #custom-lp-wrapper .pt-deco { right: var(--gutter); }
}

@media (prefers-reduced-motion: reduce) {
  #custom-lp-wrapper .hero-en, #custom-lp-wrapper .hero-paw, #custom-lp-wrapper .hero-pill, #custom-lp-wrapper .hero-title, #custom-lp-wrapper .hero-arc, #custom-lp-wrapper .hero-doodles,
  #custom-lp-wrapper .hero-cta, #custom-lp-wrapper .hero-pets, #custom-lp-wrapper .hero-trail use, #custom-lp-wrapper .plan-panel { animation: none; }
  #custom-lp-wrapper .cta-btn, #custom-lp-wrapper .cta-sub, #custom-lp-wrapper .cta-btn-arrow, #custom-lp-wrapper .cta-sub-arrow, #custom-lp-wrapper .cta-btn-arrow:after, #custom-lp-wrapper .cta-sub-arrow:after,
  #custom-lp-wrapper .fixed-cta-btn { transition: none; }
}
/* スクロールに合わせた演出（対応ブラウザだけ。初期状態は常に表示） */
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    @keyframes lpSettle { from { transform: scale(1.08); } to { transform: scale(1); } }
    #custom-lp-wrapper .pt-ph img { animation: lpSettle linear both; animation-timeline: view(); animation-range: entry 0% cover 45%; }
  }
}

/* ============================================================
   PC（1008px〜）：960px 軸
   ============================================================ */
@media (min-width: 1008px) {
  #custom-lp-wrapper { --gutter: 0px; --container: 960px; --side: max(24px, calc((100vw - var(--container)) / 2)); font-size: 16px; }
  #custom-lp-wrapper .br-sp { display: none; }
  #custom-lp-wrapper .br-pc { display: inline; }
  #custom-lp-wrapper .hero-inner, #custom-lp-wrapper .proof, #custom-lp-wrapper .intro-inner, #custom-lp-wrapper .present-inner,
  #custom-lp-wrapper .plans-inner, #custom-lp-wrapper .voices-inner, #custom-lp-wrapper .closing-inner { max-width: var(--container); margin-left: auto; margin-right: auto; padding: 0; }
  #custom-lp-wrapper .present:before, #custom-lp-wrapper .points-head:before, #custom-lp-wrapper .pt:before,
  #custom-lp-wrapper .plans:before, #custom-lp-wrapper .voices:before { top: -55px; height: 56px; }
  #custom-lp-wrapper .plans:before { top: -79px; height: 80px; }
  #custom-lp-wrapper .voices:before, #custom-lp-wrapper .pt--green:before { top: -39px; height: 40px; }
  #custom-lp-wrapper .hero:after { height: 76px; }
  #custom-lp-wrapper .sec-en { font-size: 15px; }
  #custom-lp-wrapper .sec-big, #custom-lp-wrapper .sec-head--pink .sec-big { font-size: 92px; margin-top: 4px; }
  #custom-lp-wrapper .sec-big:before { height: 40px; bottom: 4px; }
  #custom-lp-wrapper .sec-ja { margin-top: 18px; font-size: 19px; }
  #custom-lp-wrapper .sec-ja-sm { margin-top: 16px; font-size: 12px; }
  #custom-lp-wrapper .cta-hand { width: 340px; }
  #custom-lp-wrapper .cta-bubble { width: 190px; }
  #custom-lp-wrapper .cta-btn { min-height: 72px; font-size: 19px; }
  #custom-lp-wrapper .cta-sub { min-height: 72px; font-size: 17px; }
  #custom-lp-wrapper .cta-pair { grid-template-columns: repeat(2, var(--btn-w)); justify-content: center; gap: 22px; }

  /* ---- FV：左に文字（PAW・見出し・ボタン）、右に犬と猫（弧の手書き・足あと） ---- */
  #custom-lp-wrapper .hero { padding: 52px 0 0; }
  #custom-lp-wrapper .hero-inner { display: grid; grid-template-columns: 500px 1fr; align-items: end; min-height: 640px; }
  #custom-lp-wrapper .hero-copy { align-self: center; padding-bottom: 104px; text-align: left; }
  #custom-lp-wrapper .hero-en { font-size: 30px; }
  #custom-lp-wrapper .hero-paw { width: 450px; margin: 8px 0 0 -26px; }
  #custom-lp-wrapper .hero-pill { margin-top: 14px; padding: 7px 34px; font-size: 18px; }
  #custom-lp-wrapper .hero-title { margin-top: 26px; font-size: 52px; line-height: 1.42; letter-spacing: .01em; }
  #custom-lp-wrapper .hero-cta { display: block; margin-top: 36px; max-width: 480px; }
  #custom-lp-wrapper .hero-cta .cta-pair { grid-template-columns: 1fr 1fr; justify-content: stretch; gap: 16px; }
  #custom-lp-wrapper .hero-cta .cta-btn, #custom-lp-wrapper .hero-cta .cta-sub { min-height: 68px; padding: 0 36px 0 28px; letter-spacing: .08em; }
  #custom-lp-wrapper .hero-cta .cta-btn-arrow, #custom-lp-wrapper .hero-cta .cta-sub-arrow { right: 20px; }
  #custom-lp-wrapper .hero-visual { max-width: none; width: 560px; margin: 0 -60px 0 auto; padding-top: 110px; }
  #custom-lp-wrapper .hero-arc { width: 400px; left: 46%; top: 40px; }
  #custom-lp-wrapper .hero-arc-text { font-size: 19px; }
  #custom-lp-wrapper .hero-pets:after { left: auto; right: 64px; bottom: 50px; }
  #custom-lp-wrapper .hd--bone { left: -78px; top: 132px; width: 64px; }
  #custom-lp-wrapper .hd--hearts { left: 404px; top: 236px; width: 38px; }
  #custom-lp-wrapper .hd--dog { left: auto; right: 96px; top: 0; width: 62px; }
  #custom-lp-wrapper .hd--paws { display: none; }
  #custom-lp-wrapper .hd--accent { left: 456px; right: auto; top: 334px; width: 40px; }
  #custom-lp-wrapper .hd--sparkle { right: -22px; top: 236px; width: 26px; }
  #custom-lp-wrapper .hero-trail { display: block; position: absolute; z-index: 1; left: 438px; top: 4px; width: 210px; }

  /* ---- 根拠の3点：横一列の札 ---- */
  #custom-lp-wrapper .proof { margin-top: 18px; }
  #custom-lp-wrapper .proof:before { left: -62px; bottom: -10px; width: 44px; }
  #custom-lp-wrapper .proof:after { right: -64px; bottom: 6px; width: 48px; }
  #custom-lp-wrapper .proof-list { border-radius: 999px; }
  #custom-lp-wrapper .proof-item { flex-direction: row; justify-content: center; gap: 10px; min-height: 76px; padding: 0 16px; align-items: center; }
  #custom-lp-wrapper .proof-item:before { width: 30px; height: 30px; margin: 0 2px 0 0; }
  #custom-lp-wrapper .proof-k { font-size: 14px; }
  #custom-lp-wrapper .proof-v { font-size: 20px; }

  /* ---- 01：左に語り（スタンプ）、右におすすめカード ---- */
  #custom-lp-wrapper .intro { padding: 128px 0 156px; }
  #custom-lp-wrapper .intro-inner { display: grid; grid-template-columns: 1fr 400px; gap: 80px; align-items: center; }
  #custom-lp-wrapper .intro-text { text-align: left; }
  #custom-lp-wrapper .intro-en { justify-content: flex-start; margin-bottom: 30px; font-size: 16px; }
  #custom-lp-wrapper .intro-en:before { width: 84px; }
  #custom-lp-wrapper .intro-en:after { width: 72px; }
  #custom-lp-wrapper .intro-hand { justify-content: flex-start; font-size: 27px; }
  #custom-lp-wrapper .intro-title { margin-top: 18px; font-size: 30px; }
  #custom-lp-wrapper .intro-title-big { font-size: 52px; }
  #custom-lp-wrapper .intro-title-big:before { left: -10px; height: 32px; }
  #custom-lp-wrapper .intro-logo { float: none; position: absolute; margin: 0; right: 6px; top: 62px; width: 112px; padding: 15px; outline-offset: -7px; }
  #custom-lp-wrapper .intro-logo img { inset: 15px; width: calc(100% - 30px); height: calc(100% - 30px); }
  #custom-lp-wrapper .intro-coord { margin-top: 34px; }
  #custom-lp-wrapper .intro-body { font-size: 15.5px; }
  #custom-lp-wrapper .intro-check { margin-top: 70px; padding: 64px 34px 30px; }
  #custom-lp-wrapper .intro-check-ph { width: 290px; top: -104px; }
  #custom-lp-wrapper .intro-check:before { left: 6px; top: -70px; font-size: 25px; }

  /* ---- 02 PRESENT：同じ高さの2枚 ---- */
  #custom-lp-wrapper .present { padding: 100px 0 160px; }
  #custom-lp-wrapper .present .sec-head:after { left: calc(50% - 300px); top: 54px; width: 76px; }
  #custom-lp-wrapper .offers { grid-template-columns: 1fr 1fr; gap: 48px; margin-top: 56px; }
  #custom-lp-wrapper .offer-tag { font-size: 16px; }
  #custom-lp-wrapper .offer-action { margin-top: auto; padding-top: 22px; }
  #custom-lp-wrapper .offer-note { min-height: 2.6em; }


  /* ---- 03 POINT：見出しは左寄せで英字を画面の左へはみ出させる。写真の形と配置を回ごとに変える ---- */
  #custom-lp-wrapper .points-head { padding: 96px var(--side) 150px; overflow: hidden; }
  #custom-lp-wrapper .points-head .sec-head, #custom-lp-wrapper .points-title, #custom-lp-wrapper .points-lead { max-width: var(--container); margin-left: auto; margin-right: auto; text-align: left; }
  #custom-lp-wrapper .points-head .sec-head .sec-big { font-size: 168px; line-height: .9; margin-left: -64px; padding: 0 20px 0 0; }
  #custom-lp-wrapper .points-head .sec-head .sec-big:before { left: 40px; right: -20px; height: 58px; bottom: 6px; }
  #custom-lp-wrapper .points-head .sec-head:before { left: auto; right: 0; top: 40px; width: 300px; }
  #custom-lp-wrapper .points-head .sec-head:after { right: 320px; top: 26px; width: 92px; }
  #custom-lp-wrapper .points-title { margin-top: 36px; font-size: 26px; }
  #custom-lp-wrapper .points-title-em { font-size: 1.75em; }
  #custom-lp-wrapper .points-lead { margin-top: 28px; padding: 28px 0 0; font-size: 16px; background-position: left top; }
  #custom-lp-wrapper .pt { padding: 80px 0 150px; }
  #custom-lp-wrapper .pt-inner { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 0 72px; align-items: center; }
  #custom-lp-wrapper .pt--pink .pt-inner { grid-template-columns: 380px minmax(0, 1fr); padding-left: var(--side); }
  #custom-lp-wrapper .pt--green .pt-inner { padding-right: var(--side); }
  #custom-lp-wrapper .pt--pink .pt-visual { grid-column: 2; grid-row: 1; }
  #custom-lp-wrapper .pt--pink .pt-body { grid-column: 1; grid-row: 1; }
  #custom-lp-wrapper .pt-visual { padding-top: 0; }
  /* 白抜きの数字は写真の縁にかかる大きさで */
  #custom-lp-wrapper .pt-visual:before { top: -64px; font-size: 150px; -webkit-text-stroke-width: 4px; }
  #custom-lp-wrapper .pt-visual:after { top: -88px; font-size: 19px; }
  #custom-lp-wrapper .pt--pink .pt-visual:before { left: 150px; }
  #custom-lp-wrapper .pt--pink .pt-visual:after { left: 160px; }
  #custom-lp-wrapper .pt--green .pt-visual:before { right: 150px; }
  #custom-lp-wrapper .pt--green .pt-visual:after { right: 160px; }
  #custom-lp-wrapper .pt--1 .pt-inner:before { left: calc(var(--side) + 10px); top: -60px; width: 250px; }
  #custom-lp-wrapper .pt-ph { aspect-ratio: auto; height: 520px; }
  #custom-lp-wrapper .pt--1 .pt-ph { margin-left: 124px; border-radius: 260px 0 0 260px / 240px 0 0 240px; }
  #custom-lp-wrapper .pt--2 .pt-ph { margin-right: 124px; height: 500px; border-radius: 0 50% 42% 0 / 0 54% 46% 0; }
  #custom-lp-wrapper .pt-pills { top: 40px; }
  #custom-lp-wrapper .pt--pink .pt-pills { left: 0; }
  #custom-lp-wrapper .pt--green .pt-pills { right: 0; }
  #custom-lp-wrapper .pt-pill { padding: 22px 11px; font-size: 26px; }
  #custom-lp-wrapper .pt-pill + .pt-pill { margin-top: 84px; }
  #custom-lp-wrapper .pt-badge { bottom: -42px; width: 136px; height: 124px; padding-bottom: 26px; font-size: 25px; }
  #custom-lp-wrapper .pt--1 .pt-badge { left: 160px; }
  #custom-lp-wrapper .pt--2 .pt-badge { right: 160px; }
  #custom-lp-wrapper .pt-ph:before { font-size: 30px; }
  #custom-lp-wrapper .pt-body { padding: 0; }
  #custom-lp-wrapper .pt-body:before { font-size: 14px; margin-bottom: 18px; }
  #custom-lp-wrapper .pt-text { font-size: 16px; line-height: 2; }
  #custom-lp-wrapper .pt-spec { margin-top: 28px; }
  #custom-lp-wrapper .pt-deco { right: auto; bottom: -100px; }
  #custom-lp-wrapper .pt--pink .pt-deco { left: calc(var(--side) + 200px); }
  #custom-lp-wrapper .pt--green .pt-deco { right: calc(var(--side) + 10px); }
  #custom-lp-wrapper .pt-deco--1 { width: 230px; bottom: -114px; }
  #custom-lp-wrapper .pt-deco--2 { width: 92px; bottom: -86px; }
  /* 03：横長の写真を上に、本文は下で2段組み */
  #custom-lp-wrapper .pt--3 .pt-inner { display: block; padding: 0 var(--side); }
  #custom-lp-wrapper .pt--3 .pt-visual { max-width: var(--container); margin: 0 auto; }
  #custom-lp-wrapper .pt--3 .pt-ph { aspect-ratio: auto; height: 460px; margin: 0 0 0 124px; border-radius: 40px; }
  #custom-lp-wrapper .pt--3 .pt-pills { left: 0; top: 34px; }
  #custom-lp-wrapper .pt--3 .pt-visual:before { left: auto; right: 40px; top: -76px; }
  #custom-lp-wrapper .pt--3 .pt-visual:after { left: auto; right: 64px; top: -100px; }
  #custom-lp-wrapper .pt--3 .pt-badge { right: auto; left: 164px; bottom: -48px; }
  #custom-lp-wrapper .pt--3 .ph--img:after { top: auto; bottom: 12px; }
  #custom-lp-wrapper .pt--3 .pt-body { display: grid; grid-template-columns: minmax(0, 1fr) 340px; column-gap: 72px; align-items: start; max-width: var(--container); margin: 96px auto 0; padding-left: 124px; }
  #custom-lp-wrapper .pt--3 .pt-body:before { grid-column: 1 / -1; }
  #custom-lp-wrapper .pt--3 .pt-spec { margin-top: 0; justify-self: start; }
  #custom-lp-wrapper .pt--3 .pt-deco { left: auto; right: calc(var(--side) + 30px); bottom: -96px; }
  /* 04：円い写真 */
  #custom-lp-wrapper .pt--4 .pt-ph { width: 540px; height: auto; aspect-ratio: 1; margin: 0 124px 0 auto; border-radius: 50%; }
  #custom-lp-wrapper .pt--4 .pt-badge { right: 150px; bottom: -10px; }
  #custom-lp-wrapper .pt--4 .pt-visual:before { right: 100px; top: -40px; }
  #custom-lp-wrapper .pt--4 .pt-visual:after { right: 110px; top: -64px; }
  #custom-lp-wrapper .pt--4 { padding-bottom: 104px; }
  #custom-lp-wrapper .points-foot { max-width: var(--container); margin: 0 auto; padding: 0 0 168px; }
  #custom-lp-wrapper .mid-cta { grid-template-columns: 340px 1fr; gap: 64px; align-items: end; margin-top: 72px; }
  #custom-lp-wrapper .mid-cta .cta-pair { grid-template-columns: 1fr 1fr; }
  #custom-lp-wrapper .trust-quote { padding: 32px 30px 24px; }
  #custom-lp-wrapper .cta-lead { font-size: 15px; }

  /* ---- 04 FLOOR PLAN：2×2のカード（subgrid で見出し・図・本文の高さを行ごとにそろえる） ---- */
  #custom-lp-wrapper .plans { padding: 100px 0 160px; }
  #custom-lp-wrapper .plans .sec-head:after { right: calc(50% - 372px); top: 18px; width: 60px; }
  #custom-lp-wrapper .plans-title { margin-top: 40px; font-size: 26px; }
  #custom-lp-wrapper .plans-ui { margin-top: 48px; }
  #custom-lp-wrapper .plans-tabs { position: relative; top: auto; max-width: 500px; margin: 0 auto; }
  #custom-lp-wrapper .plans-tabs:after { right: 46px; top: -42px; width: 84px; }
  #custom-lp-wrapper .plans-inner:before { left: 60px; top: 120px; width: 70px; }
  #custom-lp-wrapper .plans-inner:after { right: 50px; top: 150px; width: 64px; }
  #custom-lp-wrapper .plans-tab { min-height: 58px; }
  #custom-lp-wrapper .plans-tab-ja { font-size: 18px; }
  #custom-lp-wrapper .plans-ui:has(#lp-plan-dog:checked) .plan-panel--dog,
  #custom-lp-wrapper .plans-ui:has(#lp-plan-cat:checked) .plan-panel--cat { display: grid; grid-template-columns: 1fr 1fr; column-gap: 32px; row-gap: 32px; margin-top: 44px; }
  #custom-lp-wrapper .plan { display: grid; grid-row: span 4; grid-template-rows: subgrid; row-gap: 0; padding: 40px 34px 32px; border-radius: 32px; background: #fff; }
  #custom-lp-wrapper .plan + .plan { margin-top: 0; }
  #custom-lp-wrapper .plan:before { right: 30px; top: 30px; font-size: 66px; }
  #custom-lp-wrapper .plan:after { right: 44px; top: 10px; }
  #custom-lp-wrapper .plan-h { align-self: end; justify-self: start; font-size: 19px; }
  #custom-lp-wrapper .plan-fig, #custom-lp-wrapper .plan-photo { align-self: start; margin-top: 26px; }
  #custom-lp-wrapper .plan-photo, #custom-lp-wrapper .plan-photo--tall { aspect-ratio: 454 / 420; }
  #custom-lp-wrapper .plan-text { font-size: 15px; }
  #custom-lp-wrapper .plan-point { align-self: end; margin-top: 18px; background: var(--grain), var(--oat); }
  #custom-lp-wrapper .plans-cta { max-width: 720px; margin: 76px auto 0; }

  /* ---- 05 VOICE：見出しは左、声はずらして並べる ---- */
  #custom-lp-wrapper .voices { padding: 100px 0 156px; }
  #custom-lp-wrapper .voices .sec-head { text-align: left; }
  #custom-lp-wrapper .voices .sec-head .sec-big { margin-left: -6px; }
  #custom-lp-wrapper .voices .sec-head:after { right: 40px; top: 4px; width: 150px; }
  #custom-lp-wrapper .voices-title { margin-top: 30px; text-align: left; font-size: 26px; }
  #custom-lp-wrapper .voices-list { grid-template-columns: 1fr 1fr; gap: 48px; margin-top: 64px; align-items: start; }
  #custom-lp-wrapper .voice--1 { margin: 0; }
  #custom-lp-wrapper .voice--2 { margin: 56px 0 0; }
  #custom-lp-wrapper .voice-quote { padding: 40px 36px 30px; }
  #custom-lp-wrapper .voice-text { font-size: 17px; }
  #custom-lp-wrapper .voices-trust { grid-template-columns: 380px 1fr; gap: 72px; align-items: center; margin-top: 84px; padding-top: 64px; }
  #custom-lp-wrapper .voices-stat-big { font-size: 104px; }
  #custom-lp-wrapper .voices-matrix { --cell: 26px; }
  #custom-lp-wrapper .voices-note { margin-top: 36px; font-size: 12px; }

  /* ---- 06 Next Step ---- */
  #custom-lp-wrapper .closing { padding: 96px 0 120px; }
  #custom-lp-wrapper .closing:before { top: -39px; height: 40px; background-size: 240px 40px, 170px 30px; }
  #custom-lp-wrapper .closing-inner:before, #custom-lp-wrapper .closing-inner:after { display: block; }
  #custom-lp-wrapper .closing-en { font-size: 26px; }
  #custom-lp-wrapper .closing-title { margin-top: 14px; font-size: 42px; line-height: 1.45; letter-spacing: .03em; }
  #custom-lp-wrapper .closing-lead { margin-top: 22px; font-size: 16px; }
  #custom-lp-wrapper .closing-paths { grid-template-columns: 1fr 1fr; gap: 32px; margin-top: 96px; }
  #custom-lp-wrapper .closing-path { padding: 38px 38px 34px; }
  #custom-lp-wrapper .closing-peek { right: 36px; top: -66px; width: 190px; height: 66px; }
  #custom-lp-wrapper .closing-peek img { width: 190px; }
  #custom-lp-wrapper .closing-path-t { font-size: 25px; }
  /* 説明文は3行分の高さを取り、左右のバナー・画像の位置をそろえる */
  #custom-lp-wrapper .closing-path-d { font-size: 15px; min-height: calc(3 * 1.95em); }
  #custom-lp-wrapper .closing-gift-note { margin-top: 36px; font-size: 11.5px; }
  #custom-lp-wrapper .closing-promise { max-width: 760px; margin: 56px auto 0; font-size: 17px; }
  #custom-lp-wrapper .closing-note { font-size: 11.5px; }

  /* ---- 追従ボタン（PC）：右下に2つ並べる ---- */
  #custom-lp-wrapper .fixed-cta { left: auto; right: 24px; bottom: 24px; grid-template-columns: auto auto; gap: 8px; padding: 8px; border: 0; border-radius: 999px; box-shadow: 0 14px 34px rgba(27, 42, 33, .24); }
  #custom-lp-wrapper .fixed-cta-btn { min-height: 60px; padding: 0 40px 0 18px; gap: 12px; }
  #custom-lp-wrapper .fixed-cta-btn--visit { padding-left: 32px; }
  #custom-lp-wrapper .fixed-cta-cover { width: 32px; }
  #custom-lp-wrapper .fixed-cta-t { font-size: 15.5px; letter-spacing: .08em; }
  #custom-lp-wrapper .fixed-cta-s { font-size: 11px; }
  #custom-lp-wrapper .fixed-cta-arrow { right: 18px; }
}
/* PC でも左の余白が狭い幅では、PAW の左の骨が画面の端で切れるので出さない */
@media (min-width: 1008px) and (max-width: 1179px) {
  #custom-lp-wrapper .hd--bone { display: none; }
}

/* ============================================================
   TOP：外観パースを主役に、犬と猫は小さくパースの手前にかぶせる（2026-10-29 に案Bを本番に採用）
   .hero--house を外すと、犬と猫が主役の旧TOP（案A）に戻る（HTMLの控えは _build/pet-lp.src.TOP案A.bak.html）
   ============================================================ */
#custom-lp-wrapper .hero--house .hero-visual { max-width: 460px; padding-top: 70px; margin: -8px auto 18px; }
#custom-lp-wrapper .hero--house .hero-house { position: relative; aspect-ratio: 1240 / 751; margin: 0 -10px; }
#custom-lp-wrapper .hero--house .hero-house img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; object-position: bottom;
  /* 砂利・敷石の切り口（左右と下）を芝生になじませる */
  -webkit-mask: linear-gradient(to right, transparent, #000 9%, #000 91%, transparent), linear-gradient(#000 78%, transparent 99%); -webkit-mask-composite: source-in;
  mask: linear-gradient(to right, transparent, #000 9%, #000 91%, transparent), linear-gradient(#000 78%, transparent 99%); mask-composite: intersect; }
#custom-lp-wrapper .hero--house .hero-house:after { right: 4px; top: -2px; bottom: auto; color: var(--forest); text-shadow: none; opacity: .7; }
/* 犬と猫：パースの左手前（敷石のあたり）に小さく座らせる */
#custom-lp-wrapper .hero--house .hero-pets { position: absolute; z-index: 3; left: 4%; bottom: -4px; width: 33%; }
#custom-lp-wrapper .hero--house .hero-pets img { filter: drop-shadow(0 8px 10px rgba(14, 59, 34, .22)); }
#custom-lp-wrapper .hero--house .hero-house { animation: lpRise .9s cubic-bezier(.2,.8,.3,1) .45s both; }
#custom-lp-wrapper .hero--house .hero-pets { animation: lpPop .7s cubic-bezier(.3,1.3,.5,1) .95s both; }
#custom-lp-wrapper .hero--house .hd--dog, #custom-lp-wrapper .hero--house .hd--sparkle { display: none; }
@media (prefers-reduced-motion: reduce) {
  #custom-lp-wrapper .hero--house .hero-house, #custom-lp-wrapper .hero--house .hero-pets { animation: none; }
}
@media (min-width: 1008px) {
  #custom-lp-wrapper .hero--house .hero-visual { width: 680px; max-width: none; margin: 0 -150px 44px -40px; padding-top: 150px; }
  #custom-lp-wrapper .hero--house .hero-house { margin: 0; }
  #custom-lp-wrapper .hero--house .hero-house:after { right: 40px; top: 6px; }
  #custom-lp-wrapper .hero--house .hero-pets { left: 8%; bottom: -8px; width: 27%; }
  #custom-lp-wrapper .hero--house .hero-arc { width: 380px; left: 50%; top: 52px; }
  #custom-lp-wrapper .hero--house .hero-trail { left: 410px; top: 0; }
  #custom-lp-wrapper .hero--house .hd--dog { display: block; right: 40px; top: 4px; }
}
/* PCでも左右の余白が狭い幅では、玄関が画面の端で切れないよう外観を内側に寄せる */
@media (min-width: 1008px) and (max-width: 1179px) {
  #custom-lp-wrapper .hero--house .hero-visual { width: 600px; margin-right: -40px; padding-top: 190px; }
}
