@charset "UTF-8";
/* ==========================================================
   土地×間取り相談会 LP（ラフ2版）
   デザイン基準幅: 390px / 1rem = 10px(390px時) の比率スケール
   紺 #4178a7 × 紙白。セクション紺の実効色は #6991b5
   ========================================================== */

:root{
  --blue:      #4178a7;
  --blue-soft: #6991b5;
  --green:     #245941;
  --red:       #af1e1e;
  --gray-text: #4e4e4e;
  --marker:    #dddddd;
  --paper:     #f7f8f8;
  --f-min:  "Shippori Mincho", "Hiragino Mincho ProN", serif;
  --f-goth: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", sans-serif;
  --f-yu:   "YuGothic", "Yu Gothic Medium", "Yu Gothic", sans-serif;
}

/* ---- reset ---- */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
img{display:block;width:100%;height:auto}
ul,ol{list-style:none}
a{color:inherit;text-decoration:none}
mark{background:transparent;color:inherit}

/* 比率スケール: 〜500pxは全幅、以上は500px固定センター */
html{font-size:calc(100vw / 39);scroll-behavior:smooth}
@media (min-width:500px){ html{font-size:12.82px} }

body{
  font-family:var(--f-min);
  font-weight:500;
  color:#000;
  background:#e8e8e6;
  -webkit-font-smoothing:antialiased;
}

.lp{
  width:39rem;
  margin:0 auto;
  background:var(--paper) url(../img/bg_paper.webp) repeat;
  background-size:32rem;
  overflow:hidden;
  position:relative;
  box-shadow:0 0 3rem rgba(0,0,0,.08);
}

/* ---- 共通: 文字サイズ強弱 ---- */
.em16{font-size:1.6rem}
.em20{font-size:2rem}
.em24{font-size:2.4rem}

/* ---- 共通: 白マーカー見出し ---- */
.hl{font-size:2.4rem;line-height:1;font-weight:500}
.hl mark{
  display:inline-block;
  background:#fff;
  padding:.5rem .9rem .4rem .5rem;
  line-height:1.42;
}

/* ---- 共通: セクションタイトルチップ ---- */
.chip-title{
  width:33rem;
  height:3.9rem;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.6rem;
  letter-spacing:.1em;
}
.chip-title--blue{background:var(--blue);color:#fff}
.chip-title--white{background:#fff;color:#000}

/* ---- 共通: 破線セパレータ ---- */
.sep-dash{
  border:0;
  height:1px;
  background:repeating-linear-gradient(90deg,#a5a5a5 0 .3rem,transparent .3rem .75rem);
  width:33rem;
  margin:0 auto;
}
.sep-dash--white{background:repeating-linear-gradient(90deg,rgba(255,255,255,.85) 0 .3rem,transparent .3rem .75rem)}

/* ---- 共通: 縦ドット ---- */
.vdots{padding:4rem 0 0 3rem}
.vdots i{
  display:block;
  width:.3rem;height:.3rem;
  border-radius:50%;
  background:#000;
  margin-bottom:.9rem;
}

/* ==========================================================
   追従CTA（緑）
   ========================================================== */
.fv__cta{
  position:fixed;
  left:50%;
  margin-left:6.5rem; /* カード右端に合わせる(19.5 - 13) */
  bottom:0;
  width:13rem;height:7.5rem;
  background:var(--green);
  color:#fff;
  font-size:1.6rem;
  line-height:1.35;
  letter-spacing:.04em;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  z-index:50;
  transition:opacity .3s,visibility .3s;
}
.fv__cta.is-hidden{opacity:0;visibility:hidden}

/* ==========================================================
   FV
   ========================================================== */
.fv{position:relative;height:88rem}
.fv__bbq{position:absolute;left:0;top:14.5rem;width:34rem;z-index:1}
.fv__house{position:absolute;left:9.6rem;top:34.5rem;width:29.4rem;z-index:0}

.fv__ribbon{
  position:absolute;left:33rem;top:4rem;
  width:4rem;height:27.4rem;
  background:var(--blue);
  color:#fff;
  font-size:1.6rem;
  line-height:1.14;
  text-align:center;
  display:flex;
  flex-direction:column;
  justify-content:center;
  z-index:3;
}
.fv__title-col{
  position:absolute;
  background:#fff;
  font-size:2.8rem;
  line-height:1.08;
  font-weight:500;
  text-align:center;
  z-index:3;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.fv__title-col--1{padding-top:.2rem}
.fv__title-col--1{left:25.3rem;top:9.4rem;width:4.6rem;height:28.4rem}
.fv__title-col--2{left:21.3rem;top:14.2rem;width:4.6rem;height:29.1rem}

/* LP-B FVタイトル（イベント名が長いため縦組み3列。写真にかからないよう全体を右へ2rem寄せ） */
.fv__title-col--b1{padding-top:.2rem;left:27.3rem;top:11.8rem;width:4.6rem;height:25.2rem}
.fv__title-col--b2{left:23.3rem;top:10.2rem;width:4.6rem;height:31.3rem}
.fv__title-col--b3{left:19.3rem;top:8.4rem;width:4.6rem;height:37.1rem}

.fv__photo{
  position:absolute;left:-1.2rem;top:8.6rem;
  width:19.8rem;height:19.8rem;
  border-radius:50%;
  overflow:hidden;
  z-index:2;
}
.fv__photo img{width:100%;height:100%;object-fit:cover}
.fv__follower{
  position:absolute;left:14.9rem;top:28.1rem;
  font-family:var(--f-goth);
  font-weight:700;
  font-size:.8rem;
  line-height:1.35;
  text-align:center;
  transform:rotate(16deg);
  transform-origin:right bottom;
  z-index:2;
}
.fv__follower::before{
  content:"";
  position:absolute;
  left:-1rem;top:.5rem;
  width:1px;height:1.2rem;
  background:#000;
  transform:rotate(-35deg);
}
.fv__follower::after{
  content:"";
  position:absolute;
  right:-1rem;top:.5rem;
  width:1px;height:1.2rem;
  background:#000;
  transform:rotate(35deg);
}
.fv__account{
  position:absolute;left:2rem;top:29.9rem;
  font-family:var(--f-goth);
  font-size:1rem;
  line-height:1.6;
  z-index:2;
}

.fv__lead{position:absolute;left:2.5rem;top:45.5rem;z-index:2}
.fv__lead-catch{font-size:1.6rem;line-height:1;margin-bottom:1rem}
.fv__lead-catch mark{display:inline-block;background:#fff;padding:.55rem .6rem .45rem .2rem;line-height:1.35}
.fv__lead-body{font-size:1.2rem;line-height:1}
.fv__lead-body mark{display:inline-block;background:#fff;padding:.4rem .6rem .3rem .2rem;line-height:1.3}

.fv__badges{position:absolute;left:0;top:66.7rem;z-index:2}
.fv__badge{
  display:table;
  background:var(--blue);
  color:#fff;
  font-size:1.6rem;
  line-height:1;
  letter-spacing:.05em;
  padding:.95rem 2.4rem .85rem 2rem;
  margin-bottom:.85rem;
}

.fv__note{
  position:absolute;left:2rem;top:81.4rem;
  font-family:var(--f-yu);
  font-size:.8rem;
  line-height:1.5;
  z-index:2;
}

/* ==========================================================
   ②導入（チェックリスト）
   ========================================================== */
.intro{padding-top:6rem}
.intro__title{margin-left:2.5rem}
.intro .checklist{margin-top:6rem}
.checklist{width:33rem;margin-left:auto;margin-right:auto}
.checklist li{
  position:relative;
  padding:2.2rem 0 2.2rem 4.8rem;
  font-family:var(--f-goth);
  font-weight:700;
  font-size:1.2rem;
  color:var(--gray-text);
  letter-spacing:.02em;
  line-height:1.5;
}
.checklist li{border-bottom:none}
.checklist li::after{
  content:"";
  position:absolute;left:0;right:0;bottom:0;
  height:1px;
  background:repeating-linear-gradient(90deg,#a5a5a5 0 .3rem,transparent .3rem .75rem);
}
.checklist li:first-child::before{
  content:"";
  position:absolute;left:0;right:0;top:0;
  height:1px;
  background:repeating-linear-gradient(90deg,#a5a5a5 0 .3rem,transparent .3rem .75rem);
}
.checklist .cbox{
  position:absolute;left:1.7rem;top:50%;
  width:1.8rem;height:1.8rem;
  margin-top:-1rem;
  border:1.5px solid var(--gray-text);
}
.checklist .cbox svg{
  position:absolute;left:-.3rem;top:-1rem;
  width:2.8rem;height:2.8rem;
  overflow:visible;
}
.intro__quote{
  margin:4rem 0 0 3rem;
  font-size:2.4rem;
  line-height:1.5;
}
.intro__quote .ind{padding-left:5rem}
.intro__text{
  margin:2.6rem 0 0 3rem;
  font-size:1.2rem;
  line-height:3rem;
}
.intro__order{
  margin:4.6rem 0 0 3rem;
  font-size:2rem;
  line-height:1.25;
}
.intro__order .ind1{padding-left:12rem}
.intro__order .ind2{padding-left:26rem}
.intro__close{
  margin:3.4rem 0 0 3rem;
  font-size:1.2rem;
  line-height:1.7;
}
/* B用 */
.intro__lead-b{
  margin:4rem 0 0 3rem;
  font-size:1.2rem;
  line-height:3rem;
}
.intro__sub-b{
  margin:3.2rem 0 0 3rem;
  font-size:1.2rem;
  line-height:3rem;
}

/* ==========================================================
   ③ベネフィット
   ========================================================== */
.mine{padding-top:8.5rem}
.mine__img{width:33.8rem;margin-left:2.5rem}
.mine__title{margin:-3.5rem 0 0 2rem;position:relative;z-index:2}
.mine__sub{
  margin:5rem 0 0 3rem;
  font-size:1.2rem;
  line-height:3.4rem;
}
.mine__chips{
  display:flex;
  width:33rem;
  margin:3.5rem auto 0;
}
.mine__chips li{
  width:11rem;height:6rem;
  border:.5px solid #000;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.2rem;
}
.mine__chips li:nth-child(2){transform:translateY(1rem)}
.mine__chips li:nth-child(3){transform:translateY(.5rem)}
.mine__body{
  margin:7rem 0 0 3rem;
  font-size:1.2rem;
  line-height:3rem;
}
.mine__ask{
  margin:5.4rem 0 0 3rem;
  font-size:1.2rem;
  line-height:1.7;
}
/* 4象限ブラケット */
.blobs{
  width:33rem;
  margin:4.5rem auto 0;
  display:grid;
  grid-template-columns:1fr 1fr;
}
.blobs li{
  position:relative;
  height:12rem;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  font-family:var(--f-goth);
  font-weight:500;
  font-size:1.4rem;
  line-height:1.6;
}
.blobs li::before,.blobs li::after,
.blobs li i::before,.blobs li i::after{
  content:"";
  position:absolute;
  width:2.6rem;height:2.6rem;
  border:0 solid #000;
}
.blobs li::before{left:.6rem;top:.6rem;border-left-width:.5px;border-top-width:.5px}
.blobs li::after{right:.6rem;top:.6rem;border-right-width:.5px;border-top-width:.5px}
.blobs li i::before{left:.6rem;bottom:.6rem;border-left-width:.5px;border-bottom-width:.5px}
.blobs li i::after{right:.6rem;bottom:.6rem;border-right-width:.5px;border-bottom-width:.5px}
.mine__close{
  margin:5.4rem 0 0 3rem;
  font-size:1.4rem;
  line-height:1.8;
}
/* B: プレーンリスト */
.mine__plainlist{
  width:29rem;
  margin:4.5rem auto 0;
  text-align:center;
}
.mine__plainlist li{
  position:relative;
  padding:2rem 0;
  font-family:var(--f-goth);
  font-weight:700;
  font-size:1.2rem;
  color:var(--gray-text);
}
.mine__plainlist li::after{
  content:"";
  position:absolute;left:0;right:0;bottom:0;
  height:1px;
  background:repeating-linear-gradient(90deg,#a5a5a5 0 .3rem,transparent .3rem .75rem);
}
.mine__plainlist li:first-child::before{
  content:"";
  position:absolute;left:0;right:0;top:0;
  height:1px;
  background:repeating-linear-gradient(90deg,#a5a5a5 0 .3rem,transparent .3rem .75rem);
}

/* ==========================================================
   “広がる”ブロック
   ========================================================== */
.expand{padding-top:8rem}
.expand__img{width:33rem;margin-left:3rem}
.expand__title{margin:-3.2rem 0 0 2rem;position:relative;z-index:2}
.expand__body{
  margin:6.4rem 0 0 3rem;
  font-size:1.2rem;
  line-height:3rem;
}
.expand__cases{margin:6.4rem 0 0 3rem}
.expand__cases p{
  font-size:1.2rem;
  line-height:2.4rem;
  margin-bottom:2.8rem;
}
.expand__cases .band{
  background:linear-gradient(transparent 42%, var(--marker) 42%, var(--marker) 94%, transparent 94%);
}
.expand__close{
  margin:4.6rem 0 0 3rem;
  font-size:1.4rem;
  line-height:3rem;
  padding-bottom:9rem;
}

.sec-gap{height:9rem}

/* ==========================================================
   実績・事例（紺）
   ========================================================== */
.cases{background:var(--blue-soft);padding:5rem 0 8rem;color:#fff}
.cases__intro{margin:4.4rem 3rem 0}
.cases__intro-lead{font-size:1.2rem;line-height:2.5}
.cases__intro-list{margin:1.6rem 0 1.2rem 1rem}
.cases__intro-list li{
  border-left:1px solid #fff;
  padding:.1rem 0 .1rem 1.4rem;
  margin-bottom:1.6rem;
  font-size:1.2rem;
  line-height:2.4rem;
}
.cases__intro-close{font-size:1.2rem;line-height:3rem}
.case{margin-top:6rem}
.case__label{
  display:flex;
  align-items:center;
  gap:1.4rem;
  margin:0 3rem;
  font-size:1.4rem;
}
.case__label::after{content:"";flex:1;height:1px;background:#fff}
.case__title{
  margin:2.4rem 3rem 0;
  font-size:1.8rem;
  line-height:1.65;
}
.case__title-sub{
  margin:.4rem 3rem 0;
  font-size:1.4rem;
  line-height:1.7;
}
.case__title-sub .ind{padding-left:2rem}
.case__photo{width:33rem;margin:2.6rem auto 0}
.case__body{margin:3rem 3rem 0}
.case__body p{
  font-size:1.2rem;
  line-height:2.15;
  letter-spacing:-.02em;
  margin-bottom:1.6rem;
}
.cases .sep-dash--white{margin-top:5.4rem}

/* ==========================================================
   相談会の流れ（紙）
   ========================================================== */
.flow{padding:5rem 0 2rem}
.flow__list{
  width:33rem;
  margin:6rem auto 0;
}
.flow__step{
  position:relative;
  padding:0 0 4.4rem 5.7rem;
}
.flow__step::before{
  content:"";
  position:absolute;
  left:2.1rem;top:3.8rem;bottom:0;
  width:.5px;
  background:#000;
}
.flow__step:last-child::before{display:none}
.flow__num{
  position:absolute;left:0;top:0;
  width:4.2rem;height:3.8rem;
  border:.5px solid #000;
  background:var(--paper);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.4rem;
}
.flow__title{
  font-size:1.6rem;
  font-weight:500;
  line-height:1.6;
  padding-top:.5rem;
}
.flow__text{
  margin-top:.7rem;
  font-size:1rem;
  line-height:2;
}
.flow__note{
  margin-top:.7rem;
  font-size:.8rem;
  line-height:1.75;
}

/* ==========================================================
   ご予約（TimeRex・紙）
   ========================================================== */
.reserve{padding:3rem 0 7rem;text-align:center;scroll-margin-top:1.2rem}
.reserve__lead{
  margin-top:2.6rem;
  font-size:1.3rem;
  line-height:2;
  letter-spacing:.06em;
}
.reserve__calendar{
  margin-top:2rem;
  background:#fff;
  padding:.6rem 0;
  text-align:left;
}
#timerex_calendar{min-height:100rem}

/* ==========================================================
   FAQ（紺）
   ========================================================== */
.faq{background:var(--blue-soft);padding:5rem 0 2rem;color:#fff}
.faq__list{margin-top:6rem}
.faq__item{padding:0 3rem}
.faq__item dt{
  font-size:1.4rem;
  line-height:1.7;
}
.faq__item dd{
  margin:1.6rem 0 0 .6rem;
  border-left:1px solid #fff;
  padding-left:1.4rem;
  font-size:1.2rem;
  line-height:1.7;
}
.faq .sep-dash--white{margin-top:3.6rem;margin-bottom:3.6rem}

/* ==========================================================
   クロージング（紺つづき）
   ========================================================== */
.closing{background:var(--blue-soft);padding:6rem 0 7rem;color:#fff}
.closing__img{width:33rem;margin:0 auto}
.closing__title{margin:-3.4rem 0 0 2rem;position:relative;z-index:2;color:#000}
.closing__body{
  margin:5rem 3rem 0;
  font-size:1.2rem;
  line-height:2;
}
.closing__sep{margin-top:6rem}
.closing__sep--btm{margin-top:0;margin-bottom:0}
.profile{padding:6rem 0 6rem;text-align:center}
.profile__photo{
  width:20rem;height:20rem;
  margin:0 auto;
  border-radius:50%;
  overflow:hidden;
}
.profile__photo img{width:100%;height:100%;object-fit:cover}
.profile__name{
  margin-top:2.8rem;
  font-family:var(--f-goth);
  font-weight:500;
  font-size:1.4rem;
  line-height:1.7;
}
.profile__stats{
  margin-top:2.4rem;
  font-family:var(--f-goth);
  font-weight:500;
  font-size:1.2rem;
  line-height:1.85;
}

/* ---- フッター帯（白） ---- */
.footer{background:#fff;padding:2.6rem 0 3rem}
.footer__note{
  margin:0 2.3rem;
  font-family:var(--f-yu);
  font-size:.8rem;
  line-height:1.5;
}


/* ---- 事例本文の強調（同サイズ・太字＋下線） ---- */
.case__body .em{
  font-weight:600;
  text-decoration:underline;
  text-underline-offset:.3em;
  text-decoration-thickness:1px;
}

/* ---- TimeRexを幅いっぱいにフィット ---- */
#timerex_calendar,
#timerex_calendar iframe{
  width:100% !important;
  max-width:none !important;
  display:block;
}



/* ---- LP-C 相談会で行うこと：マップのモックアップ ---- */
.doing__mock{width:13rem;margin:1.8rem 0 1.6rem}

/* ---- LP-C FV：特典バンド（マップのプレゼント告知） ----
   すべて .lp-c スコープ。LP-A / LP-B の表示には影響しない。
   FVの高さは 88rem → 92rem。バッジを 66.7rem → 61rem に上げて帯の場所を作っている。 */
.lp-c .fv{height:92rem}
.lp-c .fv__badges{top:61rem}
.lp-c .fv__note{top:88.4rem}

.lp-c .fv__giftband{
  position:absolute;left:0;top:75.4rem;
  width:39rem;height:11.8rem;
  background:var(--blue);
  z-index:3;
}
/* スマホは帯の右下を基準に、上へ大きくはみ出させる */
.lp-c .fv__giftband img{
  position:absolute;right:1.6rem;bottom:.5rem;
  width:9.6rem;
  filter:drop-shadow(0 .5rem 1.2rem rgba(0,0,0,.32));
}
.lp-c .fv__giftband-txt{
  position:absolute;
  left:2.4rem;top:0;bottom:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  color:#fff;
}
.lp-c .fv__giftband-label{
  display:inline-block;
  align-self:flex-start;
  background:#fff;color:var(--blue);
  font-family:var(--f-goth);font-weight:700;
  font-size:1.05rem;
  line-height:1;
  padding:.5rem 1.1rem .6rem;
  letter-spacing:.1em;
}
.lp-c .fv__giftband-main{
  margin-top:1.2rem;
  font-family:var(--f-goth);font-weight:700;
  font-size:1.5rem;
  line-height:2.9rem;
  letter-spacing:.09em;
}
.lp-c .fv__giftband-main em{
  font-style:normal;
  font-size:2.9rem;
  line-height:1;
  letter-spacing:.03em;
}

/* ==========================================================
   LP-D 専用ファーストビュー v5（HEPTA制作 2026-08-17）
   .fvd はLP-Dでしか使わないクラス。LP-A / LP-B / LP-C には影響しない。基準幅 390px / 1rem = 10px
   ========================================================== */
.fvd{position:relative;overflow:hidden;background:var(--paper);padding-top:.1rem}
.fvd *{box-sizing:border-box}
.fvd > *:not(.fvd__bg):not(.fvd__badge){position:relative;z-index:1}
.fvd__bg{position:absolute;right:-7rem;top:12rem;width:27rem;opacity:.14;pointer-events:none;z-index:0}

/* 先着30名限定：丸バッジ（見出し右上） */
.fvd__badge{
  position:absolute;right:1.6rem;top:1.4rem;z-index:5;
  width:9.2rem;height:9.2rem;border-radius:50%;
  background:var(--red);color:#fff;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  font-family:var(--f-goth);font-weight:700;text-align:center;line-height:1.05;
  box-shadow:0 .4rem 1.2rem rgba(175,30,30,.28);
  transform:rotate(8deg);
}
.fvd__badge::before{content:"";position:absolute;inset:.45rem;border-radius:50%;border:1px dashed rgba(255,255,255,.7)}
.fvd__badge .t{font-size:1.15rem;letter-spacing:.08em}
.fvd__badge .n{font-size:3.1rem;letter-spacing:-.03em;margin:.15rem 0 .05rem}
.fvd__badge .n small{font-size:1.4rem;margin-left:.1rem;letter-spacing:.02em}
.fvd__badge .b{font-size:.95rem;letter-spacing:.04em;opacity:.95}

/* イベント名 */
.fvd__ev{
  margin:2.4rem 12rem 0 2.4rem;font-size:1.2rem;letter-spacing:.1em;line-height:1.6;
  font-size:1.3rem;letter-spacing:.14em;color:var(--blue);
  font-family:var(--f-goth);font-weight:700;
  display:block;
}
.fvd__ev::after{content:none}
.fvd__ev span{display:block}

/* 見出し */
.fvd__h1{
  margin:1.2rem 2.4rem 0;
  font-size:3.1rem;line-height:1.3;font-weight:600;letter-spacing:.005em;
}
.fvd__h1 .free{
  display:inline-block;font-size:4.9rem;line-height:1;font-weight:700;
  color:var(--red);letter-spacing:-.02em;vertical-align:-.3rem;margin-right:.3rem;
}
.fvd__h1 .free small{font-size:2.2rem;color:#000;font-weight:600;margin-left:.2rem;letter-spacing:.02em}
.fvd__h1 em{font-style:normal;background:linear-gradient(transparent 62%,rgba(65,120,167,.26) 62%)}

/* 誰が */
.fvd__who{margin:1.5rem 2.4rem 0;display:flex;align-items:center;gap:1.2rem}
.fvd__who-ph{width:6.2rem;height:6.2rem;border-radius:50%;overflow:hidden;flex:0 0 6.2rem;border:.25rem solid #fff;box-shadow:0 .2rem .8rem rgba(0,0,0,.12)}
.fvd__who-ph img{width:100%;height:100%;object-fit:cover}
.fvd__who-tx{font-family:var(--f-goth);line-height:1.5}
.fvd__who-tx b{display:block;font-size:1.4rem;font-weight:700}
.fvd__who-tx span{display:block;font-size:1.02rem;color:var(--gray-text)}

/* 数字（枠なし・大きく・細い区切り） */
.fvd__nums{
  margin:1.9rem 2.4rem 0;
  display:grid;grid-template-columns:1fr 1fr 1fr;
  border-top:1px solid #000;border-bottom:1px solid #000;
  padding:1.3rem 0 1.1rem;
}
.fvd__num{text-align:center;position:relative;padding:0 .2rem}
.fvd__num+.fvd__num::before{content:"";position:absolute;left:0;top:.6rem;bottom:.6rem;width:1px;background:#bdbdbd}
.fvd__num b{
  display:block;font-family:var(--f-goth);font-weight:700;
  font-size:3.4rem;line-height:1;letter-spacing:-.03em;color:#000;
}
.fvd__num b small{font-family:var(--f-goth);font-size:1.25rem;font-weight:700;letter-spacing:.02em;margin-left:.15rem;color:#000}
.fvd__num b sup{font-family:var(--f-goth);font-size:1.5rem;font-weight:700;color:var(--red);vertical-align:1.3rem;margin-left:.1rem;letter-spacing:0}
.fvd__num i{display:block;font-style:normal;font-family:var(--f-goth);font-size:.98rem;color:var(--gray-text);margin-top:.55rem;line-height:1.35;letter-spacing:.04em}

/* オファー行（チェック） */
.fvd__offer{
  margin:1.5rem 2.4rem 0;
  display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;
  font-family:var(--f-goth);font-size:1.2rem;font-weight:700;color:#000;
}
.fvd__offer li{position:relative;padding-left:1.7rem;line-height:1.5}
.fvd__offer li::before{
  content:"";position:absolute;left:0;top:.35rem;width:1rem;height:.55rem;
  border-left:.2rem solid var(--red);border-bottom:.2rem solid var(--red);transform:rotate(-45deg);
}

/* CTA */
.fvd__cta{
  display:block;margin:1.4rem 2.4rem 0;
  background:var(--green);color:#fff;text-align:center;
  padding:1.5rem 1rem 1.3rem;
  box-shadow:0 .45rem 0 rgba(36,89,65,.35);
}
.fvd__cta b{display:block;font-size:2rem;letter-spacing:.06em;font-weight:600}
.fvd__cta small{display:block;font-family:var(--f-goth);font-size:1.1rem;margin-top:.5rem;opacity:.92}

/* CTA下：先着の念押し */
.fvd__limit{
  margin:1rem 2.4rem 0;text-align:center;
  font-family:var(--f-goth);font-size:1.15rem;font-weight:700;color:var(--red);letter-spacing:.04em;
}
.fvd__limit::before,.fvd__limit::after{content:"—";margin:0 .6rem;opacity:.5}

.fvd__note{
  margin:1.3rem 2rem 1.6rem;
  font-family:var(--f-yu);font-size:.8rem;line-height:1.5;color:#333;
}

/* ---- LP-D FV：B案（見出しから「無料」を外し、赤を先着30名に一本化） ---- */
.fvd__h1--plain{font-size:3.5rem;line-height:1.34;margin-top:1.6rem}
/* チェックの赤を紺に。赤は先着30名バッジ＋CTA下の一行だけに絞る */
.fvd__offer li::before{border-left-color:var(--blue);border-bottom-color:var(--blue)}

/* ---- LP-D FV：先着の角タグ（右上・傾きなし・2段） ----
   .fvd > *:not(...) の position:relative に負けるため、詳細度を合わせて .lp-d .fvd > で指定している。 */
.lp-d .fvd > .fvd__tag{
  position:absolute;right:1.8rem;top:1.6rem;z-index:5;
  font-family:var(--f-goth);font-weight:700;text-align:center;
  box-shadow:0 .3rem .9rem rgba(0,0,0,.16);
}
.fvd__tag .a{
  display:flex;align-items:baseline;justify-content:center;
  background:var(--blue);
  color:#fff;padding:.75rem 1.3rem .6rem;
  font-size:1.3rem;letter-spacing:.06em;
}
.fvd__tag .a b{font-size:2.7rem;letter-spacing:-.03em;margin:0 .1rem 0 .3rem;line-height:1}
.fvd__tag .a i{font-style:normal;margin-left:.35rem;letter-spacing:.1em}
.fvd__tag .c{
  display:block;background:#fff;color:#c4131b;
  font-size:1.15rem;letter-spacing:.16em;padding:.5rem 0 .45rem;
  border:.12rem solid #c4131b;border-top:0;
}
.fvd__ev{margin-right:13.5rem}

/* ---- LP-D FV：Instagramプロフィールの実物（角丸＋影） ---- */
.fvd__ig{
  margin:1.7rem 2.4rem 0;
  border-radius:1.2rem;
  overflow:hidden;
  background:#fff;
  border:.1rem solid rgba(0,0,0,.07);
  box-shadow:0 .55rem 1.7rem rgba(0,0,0,.14);
}
/* フォロワー数の帯（見出し） */
.fvd__ig-hd{
  background:var(--blue);color:#fff;
  font-family:var(--f-goth);font-weight:700;
  font-size:1.25rem;letter-spacing:.08em;
  display:flex;align-items:baseline;justify-content:center;
  padding:.9rem 1rem .8rem;
}
.fvd__ig-hd b{font-size:2.4rem;letter-spacing:-.02em;line-height:1;margin:0 .1rem 0 .8rem}
.fvd__ig-hd span{font-size:1.35rem;letter-spacing:.04em}
/* スクショは上下左右に均等な余白をとる */
.fvd__ig-sc{padding:1.6rem 1.5rem}
.fvd__ig-sc img{width:100%;display:block}
/* 数字はフォロワーを外して2列 */
.fvd__nums--2{grid-template-columns:1fr 1fr}
.fvd__nums--2 .fvd__num i{margin-top:.5rem}

/* ---- LP-D FV：配色の整理（グラデーションなし・すべてベタ塗り） ----
   青 #4178a7 の一色＝先着タグ・Instagram帯／緑＝CTA（申し込み系のみ）
   追従CTA（画面右下）はテーマ既定の緑のまま。 */
.fvd__tag .a{background:var(--blue)}
.fvd__tag .c{color:var(--blue);border-color:var(--blue)}
.fvd__ig-hd{background:var(--blue)}
/* オファー行は中央寄せ */
.fvd__offer{justify-content:center}
.fvd__cta{
  background:var(--green);
  box-shadow:0 .45rem 0 rgba(36,89,65,.35);
}
.fvd__limit{color:var(--blue)}
.fvd__num b sup{color:var(--blue)}

/* ---- LP-D FV：数字の可読性・角丸なし・CTAのベタ化 ---- */
/* 数字：詰めすぎ（-.03em）をやめて少し大きく。上付きの「+」は廃止し「以上」に */
.fvd__num b{font-size:3.6rem;letter-spacing:-.005em}
.fvd__num b small{font-size:1.3rem;margin-left:.25rem;letter-spacing:.02em}
.fvd__num i{font-size:1.05rem;margin-top:.7rem}
/* Instagramカード：角丸をやめる */
.fvd__ig{border-radius:0}
/* CTA：立体感をやめてベタ一色の面にする */
.fvd__cta{box-shadow:none}

/* ---- LP-D FV：数字は欧文サンセリフ（和文ゴシックの数字は縦長のため） ---- */
.fvd__num b,
.fvd__tag .a b,
.fvd__ig-hd b{
  font-family:"Helvetica Neue",Helvetica,Arial,"Segoe UI",sans-serif;
  font-weight:700;
}
.fvd__num b small{font-family:var(--f-goth)}
/* 欧文書体は和文より字面が小さく見えるので、数字だけ微調整 */
.fvd__tag .a b{font-size:2.9rem;letter-spacing:0}
.fvd__ig-hd b{font-size:2.6rem;letter-spacing:0}
/* CTA：サブコピーを外したぶん、面の高さを整える */
.fvd__cta{padding:1.8rem 1rem 1.7rem}
.fvd__cta b{font-size:2.1rem}

/* ---- 予約セクション：見出しなし（LP-D）＋カレンダー下の余白を詰める ----
   #timerex_calendar の min-height:100rem は実際のiframe(約996px)より約286px高く、
   カレンダーの下に空白が残っていた。LP-Dだけ実寸に合わせる。 */
.reserve--bare{padding-top:0}
.lp-d #timerex_calendar{min-height:0}

/* ---- LP-D FV：見出しをイベント名に。上の青いイベント名行は廃止 ---- */
.fvd__h1--plain{font-size:3.2rem;line-height:1.38;margin-top:2.6rem}

/* 先着タグ：見出しがイベント名になって幅を使うため、絶対配置をやめて通常フローの右寄せに */
.lp-d .fvd > .fvd__tag{
  position:static;
  width:fit-content;
  margin:1.8rem 2.4rem 0 auto;
}
.fvd__h1--plain{margin-top:1.6rem;font-size:3.1rem}

/* ---- LP-D FV：上段（左＝対象条件／右＝先着タグ） ---- */
.lp-d .fvd > .fvd__top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1.2rem;
  margin:1.8rem 2.4rem 0;
}
.fvd__limited{
  font-family:var(--f-goth);font-weight:700;
  font-size:1.2rem;line-height:1.55;
  color:var(--blue);
  border:.12rem solid var(--blue);
  padding:.7rem 1rem .6rem;
  letter-spacing:.02em;
}
.lp-d .fvd > .fvd__top .fvd__tag{margin:0}

/* 上段の高さを揃える／字送りの余りで中央がずれるのを補正 */
.lp-d .fvd > .fvd__top{align-items:stretch}
.fvd__limited{display:flex;flex-direction:column;justify-content:center}
.fvd__tag .c{text-indent:.16em}
.fvd__tag .a i{text-indent:0}

/* 先着タグを .fvd__top で囲んだため、.fvd 直下ではなくなり
   text-align / box-shadow / font の指定が外れていた。子孫セレクタで指定し直す。 */
.lp-d .fvd .fvd__tag{
  position:static;
  width:fit-content;
  margin:0;
  font-family:var(--f-goth);
  font-weight:700;
  text-align:center;
  box-shadow:0 .3rem .9rem rgba(0,0,0,.16);
}
.fvd__tag .c{text-indent:0;padding-left:.16em}

/* ---- LP-D FV：フォロワー帯を吹き出し風に（左右の斜めスラッシュ＋下向きの尻尾） ---- */
.fvd__ig-hd{
  position:relative;
  display:flex;align-items:center;justify-content:center;
  gap:1.4rem;
  padding:1.15rem 1rem 1.05rem;
}
/* ＼ … ／ の2本。上を外側に開かせる */
.fvd__ig-hd::before,
.fvd__ig-hd::after{
  content:"";
  flex:0 0 auto;
  width:.22rem;height:2.9rem;
  background:#fff;border-radius:.11rem;
}
.fvd__ig-hd::before{transform:rotate(-25deg)}
.fvd__ig-hd::after{transform:rotate(25deg)}
/* 文字はベースライン揃えを保つ */
.fvd__ig-tx{display:flex;align-items:baseline}
.fvd__ig-hd i{font-style:normal;font-size:1.35rem;letter-spacing:.04em}
/* 吹き出しの尻尾（スクショを指す） */
.fvd__ig-tail{
  position:absolute;left:50%;bottom:-.9rem;
  width:0;height:0;margin-left:-.9rem;
  border-left:.9rem solid transparent;
  border-right:.9rem solid transparent;
  border-top:.9rem solid var(--blue);
}

/* スラッシュを細く／尻尾を大きくして吹き出しらしく */
.fvd__ig-hd::before,
.fvd__ig-hd::after{width:.14rem;height:2.7rem;border-radius:.07rem}
.fvd__ig-tail{
  bottom:-1.3rem;
  margin-left:-1.7rem;
  border-left:1.7rem solid transparent;
  border-right:1.7rem solid transparent;
  border-top:1.3rem solid var(--blue);
}

/* ---- LP-D FV：線画イラスト（内観）を本体で使う＋背景を白に ----
   イラストが白地なので、紙テクスチャの上に置くと矩形の継ぎ目が出る。
   FVだけ白にして、イラストと地を一続きに見せる。 */
.lp-d .fvd{background:#fff}
.fvd__ill{margin:1.6rem 0 0}
.fvd__ill img{width:100%;display:block}
.fvd__ig{margin-top:1.4rem}

/* 先着タグの字送り調整
   「30」と「名」が詰まり、「限定」が離れて見えていた。
   数字の直後に間を作り、「限定」側の余白と字送りを詰める。 */
.fvd__tag .a b{margin:0 .3rem 0 .28rem}
.fvd__tag .a i{margin-left:.32rem;letter-spacing:.02em}

/* CTAの矢印（右向き）。下向きにする場合は border-top/right を border-right/bottom に、
   translateY(-50%) を translateY(-70%) に変える。 */
.fvd__cta{position:relative}
.fvd__cta::after{
  content:"";
  position:absolute;right:2.2rem;top:50%;
  width:1rem;height:1rem;
  border-top:.2rem solid #fff;
  border-right:.2rem solid #fff;
  transform:translateY(-50%) rotate(45deg);
}
