@charset "UTF-8";
/* ============================================================
   建売・分譲住宅 LP 追加パーツ
   ユナイテッドハイムパーク草津駒井沢 8-1号地
   ※ style.css（solanesベース）の後に読み込む
   ============================================================ */

/* ---- ブランドバー：セキスイハイム × SUMAiiタウン のロゴロックアップ ---- */
.lockup--logo{align-items:center}
.lockup__item--heim{flex:0 1 8.6rem}
.lockup__item--town{flex:0 1 4.8rem}
.lockup__item--town img{margin-block:.1rem}

/* MVのロゴ（横長ワードマークなので幅を広めに） */
.mv__logo{width:10rem}

/* ---- MVのラベル（分譲住宅／即入居可能） ---- */
/* 写真の中央に浮かないよう、テキストブロック寄りに下げる */
.mv__tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:0}
/* 見出しの行送りを詰めて、ラベルとリード文の余白を削る（＝ラベルが下がる） */
.mv__catch{line-height:1.12}
.mv__tags i{font-style:normal;font-family:var(--gothic);font-size:.68rem;font-weight:600;
  letter-spacing:.12em;line-height:1;padding:.46rem .78rem;color:#fff;white-space:nowrap;
  text-shadow:none;box-shadow:0 2px 10px rgba(30,27,24,.35)}
.mv__tags i:first-child{background:var(--green)}
.mv__tags i+i{border:1px solid rgba(255,255,255,.8);background:rgba(45,42,38,.34)}

/* 大キャッチは1行12文字。狭い端末でも折り返さないよう可変サイズにする */
.mv__catch em{font-size:clamp(1.45rem,7vw,2.2rem);letter-spacing:.02em;line-height:1.4}

/* フッターのロックアップ */
.footer__wh{width:8.8rem}
.footer__brand{width:5rem}
.brandbar__name{font-family:var(--mincho);font-weight:600;font-size:1.22rem;line-height:1.6;
  letter-spacing:.05em;margin:1.2rem 0 .2rem}
.brandbar__name em{display:block;font-style:normal;font-size:.72em;color:var(--green);letter-spacing:.12em;margin-top:.35rem}

/* ---- 大きな数字（価格）の補助 ---- */
.bignum__sub{font-family:var(--mincho);font-size:.82rem;letter-spacing:.06em;color:var(--sub);margin-top:.7rem}

/* ---- 2列スペック表（項目｜内容） ---- */
.spec--2 td:last-child{background:transparent;color:var(--ink)}
.spec--2 th,.spec--2 td{text-align:left;white-space:normal}
.spec--2 tbody th{width:7.2rem;color:var(--sub)}
.spec--2 thead th:last-child{background:var(--dark)}

/* ---- 写真ギャラリー（3列） ---- */
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem}
.gal figure{margin:0;position:relative;aspect-ratio:1;overflow:hidden}
.gal img{width:100%;height:100%;object-fit:cover}
.gal--2{grid-template-columns:repeat(2,1fr)}
.gal figcaption{position:absolute;left:0;bottom:0;background:rgba(63,62,57,.8);color:#fff;
  font-family:var(--mincho);font-size:.62rem;letter-spacing:.06em;padding:.28rem .5rem}

/* ---- ルームツアー動画 ---- */
.movie{background:var(--dark);color:#fff;padding:3.4rem 1.4rem 3rem;text-align:center}
.movie .en{color:#93cba0}
.movie__ttl{font-family:var(--mincho);font-weight:600;font-size:1.4rem;line-height:1.7;
  letter-spacing:.06em;color:#fff;margin:.9rem 0 1.4rem}
.movie__ttl em{font-style:normal;color:#cfe6d5}
.movie__frame{position:relative;width:100%;max-width:19rem;margin:0 auto;aspect-ratio:9/16;
  background:#000;border:1px solid rgba(255,255,255,.22);overflow:hidden}
.movie__frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ---- 埋め込みファサード（クリックされるまでiframeを読み込まない） ---- */
.lite{cursor:pointer}
.lite img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.lite__btn{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;
  width:4.2rem;height:4.2rem;padding:0;border:none;border-radius:50%;cursor:pointer;
  background:rgba(52,115,62,.92);box-shadow:0 6px 24px rgba(20,18,16,.45);
  font-size:0;transition:transform .25s,background .25s}
.lite__btn::before{content:"";position:absolute;left:56%;top:50%;transform:translate(-50%,-50%);
  border-left:1.05rem solid #fff;border-block:.66rem solid transparent}
.lite:hover .lite__btn{transform:translate(-50%,-50%) scale(1.08);background:var(--green-d)}
.lite__btn--map{width:auto;height:auto;border-radius:0;padding:.7rem 1.3rem;font-size:.8rem;
  font-family:var(--mincho);letter-spacing:.1em;color:#fff;background:rgba(52,115,62,.94)}
.lite__btn--map::before{display:none}
.movie__cap{font-family:var(--mincho);font-size:.78rem;line-height:1.9;letter-spacing:.04em;
  color:#e2ded7;margin-top:1.1rem}
.movie .note{color:#8f8a83;margin-top:.7rem}

/* ---- 来場特典 ---- */
.benefit{border:1px solid var(--green);background:#f4f9f5;padding:1.6rem 1.2rem;text-align:center}
.benefit__label{display:inline-block;background:var(--green);color:#fff;font-family:var(--mincho);
  font-size:.7rem;letter-spacing:.14em;padding:.32rem 1rem}
.benefit__v{font-family:var(--mincho);font-weight:600;font-size:1.15rem;line-height:1.7;
  letter-spacing:.04em;margin-top:.9rem}
.benefit__v b{display:block;font-size:1.9rem;line-height:1.3;color:var(--green);letter-spacing:.02em}
.benefit__v b .u{font-size:.5em}
.benefit .note{margin-top:.7rem}

/* ---- 周辺施設リスト ---- */
.near{display:flex;flex-direction:column;gap:.9rem}
.nitem{display:flex;gap:.9rem;align-items:center;border-bottom:1px solid var(--line);padding-bottom:.9rem}
.nitem__img{flex:0 0 6.2rem;aspect-ratio:4/3;overflow:hidden;background:var(--gray)}
.nitem__img img{width:100%;height:100%;object-fit:cover}
.nitem__body{flex:1;min-width:0}
.nitem__cat{font-family:var(--eng);font-size:.58rem;letter-spacing:.16em;color:var(--green)}
.nitem__name{font-family:var(--mincho);font-weight:600;font-size:.92rem;line-height:1.5;
  letter-spacing:.03em;margin-top:.25rem}
.nitem__dist{font-family:var(--mincho);font-size:.76rem;line-height:1.7;color:var(--sub);margin-top:.3rem}
.nitem__dist b{font-weight:600;color:var(--green)}

/* ---- 地図 ---- */
.mapbox{position:relative;width:100%;aspect-ratio:4/3;border:1px solid var(--line);overflow:hidden}
.mapbox iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ---- 間取り図のホットスポット（＋ピン） ---- */
.plan__hint{display:flex;align-items:center;justify-content:center;gap:.4rem;margin-bottom:.9rem;
  font-family:var(--mincho);font-size:.76rem;letter-spacing:.04em;color:var(--sub)}
.plan__hint-ic{position:relative;display:inline-block;flex:0 0 auto;
  width:1.2rem;height:1.2rem;border:1.5px solid var(--green);border-radius:50%;vertical-align:middle}
.plan__hint-ic::before,.plan__hint-ic::after{content:"";position:absolute;left:50%;top:50%;
  width:.52rem;height:1.5px;border-radius:2px;background:var(--green);transform:translate(-50%,-50%)}
.plan__hint-ic::after{transform:translate(-50%,-50%) rotate(90deg)}
.plan__map{position:relative;line-height:0}
.plan__map img{width:100%;height:auto}
/* ⊕マークは従来の半分サイズ。ただしタップ領域は確保するため、
   ボタン自体は透明な当たり判定、見た目の丸は ::before で描く */
.pin{position:absolute;z-index:2;transform:translate(-50%,-50%);
  width:1.6rem;height:1.6rem;padding:0;border:none;border-radius:50%;
  background:transparent;box-shadow:none;cursor:pointer;
  -webkit-tap-highlight-color:transparent;transition:transform .2s ease}
.pin::before{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:.88rem;height:.88rem;border:1px solid var(--green);border-radius:50%;
  box-shadow:0 1px 4px rgba(30,27,24,.32);
  background:
    linear-gradient(var(--green),var(--green)) center/.42rem 1px no-repeat,
    linear-gradient(var(--green),var(--green)) center/1px .42rem no-repeat,
    rgba(255,255,255,.95)}
.pin:hover,.pin:focus-visible{transform:translate(-50%,-50%) scale(1.25);outline:none}
.pin:hover::before,.pin:focus-visible::before{
  background:
    linear-gradient(#fff,#fff) center/.42rem 1px no-repeat,
    linear-gradient(#fff,#fff) center/1px .42rem no-repeat,
    var(--green)}
/* 常時ゆっくり脈打たせて「押せる」ことを伝える */
@media(prefers-reduced-motion:no-preference){
  .pin::before{animation:pinPulse 2.6s ease-in-out infinite}
  @keyframes pinPulse{
    0%,100%{box-shadow:0 1px 4px rgba(30,27,24,.32),0 0 0 0 rgba(52,115,62,.45)}
    55%{box-shadow:0 1px 4px rgba(30,27,24,.32),0 0 0 .32rem rgba(52,115,62,0)}
  }
  .pin:hover::before{animation:none}
}

/* ピンをタップしたときのパネル */
.pinbox{position:fixed;inset:0;z-index:110;display:none;align-items:center;justify-content:center;
  padding:1.2rem;background:rgba(45,42,38,.86)}
.pinbox.is-open{display:flex}
.pinbox__card{position:relative;width:100%;max-width:24rem;max-height:88vh;overflow-y:auto;
  background:#fff;padding:1.2rem 1.2rem 1.4rem;box-shadow:0 18px 50px rgba(20,18,16,.45);
  animation:pinIn .3s cubic-bezier(.22,.61,.36,1) both}
@keyframes pinIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.pinbox__close{position:absolute;right:.5rem;top:.4rem;z-index:2;width:2.1rem;height:2.1rem;padding:0;
  border:none;background:transparent;color:var(--sub);font-family:Arial,sans-serif;font-size:1.5rem;
  line-height:1;cursor:pointer}
.pinbox__close:hover{color:var(--green)}
.pinbox__img{margin:.4rem 0 1rem;background:var(--gray)}
.pinbox__img img{width:100%;height:auto;display:block}
.pinbox__img[hidden]{display:none}
.pinbox__name{font-family:var(--mincho);font-weight:600;font-size:1.05rem;letter-spacing:.05em;
  line-height:1.6;padding-bottom:.6rem;border-bottom:1px solid var(--line)}
.pinbox__note{font-family:var(--mincho);font-size:.82rem;line-height:2;letter-spacing:.02em;
  color:var(--sub);margin-top:.8rem;text-align:justify}

/* ---- 対談インタビュー（ベージュ地で章を分ける） ---- */
.sect--beige{background:#f6f0e2}
.sect--beige .ivt--q .ivt__b{background:#efe6d1;border:1.5px solid #c4b287}
.sect--beige .iv__stats div{border-color:#e2d7bf;background:#fffdf8}
.sect--beige .ivch__ttl{border-bottom-color:#e2d7bf}
.sect--beige .ivp__ph{border-color:#e2d7bf;background:#efe6d1}
.sect--beige .ivt__av{border-color:#e2d7bf;background:#efe6d1}
.sect--beige .ivt__b{border:1.5px solid var(--green);background:#fff}
.sect--beige .iv__close{border-color:#e2d7bf}
.sect--beige .shead__rule i{background:#e0d5bd}
.iv{padding-block:5rem}
.iv__lead{font-family:var(--mincho);font-size:.86rem;line-height:2.1;letter-spacing:.03em;
  color:var(--sub);text-align:justify}
.iv__lead b{font-weight:600;color:var(--ink)}
.iv__who{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;margin:1.8rem 0 2.2rem}
.ivp{text-align:center}
.ivp__ph{width:4.2rem;height:4.2rem;margin:0 auto .6rem;border-radius:50%;overflow:hidden;
  border:1px solid var(--line);background:var(--gray)}
.ivp__ph img{width:100%;height:100%;object-fit:cover;object-position:52% 26%}
.ivp__ph--mono{display:flex;align-items:center;justify-content:center;background:var(--dark);border-color:var(--dark)}
.ivp__ph--mono span{font-family:var(--mincho);font-size:.86rem;letter-spacing:.04em;color:#fff}
.ivp__role{font-family:var(--eng);font-size:.56rem;letter-spacing:.16em;color:var(--green)}
.ivp__name{font-family:var(--mincho);font-weight:600;font-size:.94rem;letter-spacing:.06em;margin-top:.3rem}
.ivp__desc{font-family:var(--mincho);font-size:.68rem;line-height:1.7;color:var(--mute);margin-top:.4rem}

.iv__hero{border-block:1px solid var(--ink);padding:1.8rem .4rem;text-align:center;margin-bottom:2.4rem}
.iv__hero p{font-family:var(--mincho);font-weight:600;font-size:1.22rem;line-height:1.85;letter-spacing:.04em}
.iv__hero cite{display:block;font-style:normal;font-family:var(--eng);font-size:.62rem;
  letter-spacing:.14em;color:var(--mute);margin-top:1rem}

.ivch{margin-bottom:2.6rem}
.ivch__no{font-family:var(--eng);font-size:.6rem;letter-spacing:.2em;color:var(--green)}
.ivch__ttl{font-family:var(--mincho);font-weight:600;font-size:1.08rem;line-height:1.7;letter-spacing:.04em;
  border-bottom:1px solid var(--line);padding-bottom:.7rem;margin:.5rem 0 1.4rem}
.ivt{display:flex;gap:.7rem;margin-bottom:1.1rem;align-items:flex-start}
.ivt--q{flex-direction:row-reverse}
.ivt__av{flex:0 0 2.3rem;height:2.3rem;border-radius:50%;overflow:hidden;border:1px solid var(--line);background:var(--gray)}
.ivt__av img{width:100%;height:100%;object-fit:cover;object-position:52% 26%}
.ivt__av--mono{display:flex;align-items:center;justify-content:center;background:var(--dark);border-color:var(--dark);
  font-family:var(--mincho);font-size:.6rem;color:#fff}
.ivt__b{flex:1;min-width:0;border:1px solid var(--line);padding:.85rem 1rem;background:#fff}
.ivt--q .ivt__b{background:var(--gray);border-color:var(--gray-d)}
.ivt__spk{font-family:var(--mincho);font-weight:600;font-size:.7rem;letter-spacing:.1em;color:var(--green);margin-bottom:.4rem}
.ivt--q .ivt__spk{color:var(--sub);text-align:right}
.ivt--q .ivt__b p:not(.ivt__spk){text-align:right}
.ivt__b p{font-family:var(--mincho);font-size:.82rem;line-height:2;letter-spacing:.02em;color:var(--sub)}
.ivt__b p+p{margin-top:.7rem}
.ivt__b b{font-weight:600;color:var(--ink)}
.ivt__b .aside{color:var(--mute);font-size:.76rem}
.iv__pull{border-left:2px solid var(--green);padding:.3rem 0 .3rem 1rem;margin-top:1.4rem;
  font-family:var(--mincho);font-weight:600;font-size:1.02rem;line-height:1.75;letter-spacing:.04em}
.iv__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-top:1.3rem}
.iv__stats div{border:1px solid var(--line);padding:.9rem .3rem;text-align:center}
.iv__stats b{display:block;font-family:var(--mincho);font-weight:600;font-size:1.02rem;line-height:1.25;color:var(--green)}
.iv__stats span{display:block;font-family:var(--mincho);font-size:.62rem;line-height:1.5;color:var(--sub);margin-top:.4rem}
.iv__close{border:1px solid var(--line);background:#fff;padding:1.5rem 1.2rem}
.iv__close-l{display:inline-block;background:var(--dark);color:#fff;font-family:var(--mincho);
  font-size:.66rem;letter-spacing:.12em;padding:.3rem .9rem}
.iv__close p{font-family:var(--mincho);font-size:.84rem;line-height:2.05;letter-spacing:.02em;color:var(--sub);margin-top:.9rem}
.iv__close b{font-weight:600;color:var(--ink)}
.iv__close .punch{font-weight:600;font-size:1.05rem;line-height:1.75;color:var(--ink);margin-top:1rem}

/* ---- 広告主・法定表示 ---- */
.legal{background:var(--gray);padding-block:3rem}
.legal .company th{width:7.6rem}
.legal .company th,.legal .company td{font-size:.72rem;padding:.65rem .4rem}

/* ---- 小画面調整 ---- */
@media(max-width:480px){
  .gal{gap:.3rem}
  .lockup__item--heim{flex:0 1 8rem}
  .lockup__item--town{flex:0 1 4.4rem}
  .mv__logo{width:8.8rem}
  .mv__tags i{font-size:.62rem;letter-spacing:.08em;padding:.4rem .62rem}
  .brandbar__name{font-size:1.06rem}
  .nitem__img{flex:0 0 5.2rem}
  .nitem__name{font-size:.86rem}
  .iv__stats b{font-size:.9rem}
  .iv__hero p{font-size:1.06rem}
  .movie__ttl{font-size:1.18rem}
  .benefit__v b{font-size:1.6rem}
  .legal .company th{width:6.4rem}
}

/* ---- 部屋名チップ（タップでその部屋の写真パネルを開く） ---- */
.roomchips{display:flex;flex-wrap:wrap;justify-content:center;gap:.45rem;margin-top:1.2rem}
.roomchip{font-family:var(--mincho);font-size:.76rem;letter-spacing:.06em;line-height:1;
  padding:.55rem .9rem;border:1px solid var(--green);border-radius:0;background:#fff;color:var(--green);
  cursor:pointer;transition:background .2s,color .2s}
.roomchip::before{content:"＋";margin-right:.35rem;font-family:var(--gothic);font-size:.72em}
.roomchip:hover,.roomchip:focus-visible{background:var(--green);color:#fff;outline:none}

/* ---- 号地セレクター（統合ページ） ---- */
.lineup{padding:2.6rem 1.4rem 1.8rem;text-align:center;background:var(--gray)}
.lineup__ttl{font-family:var(--mincho);font-weight:600;font-size:1.32rem;letter-spacing:.06em;margin:.9rem 0 .5rem}
.lineup__lead{font-family:var(--mincho);font-size:.78rem;line-height:1.8;color:var(--sub)}
.lotbtns{display:flex;flex-wrap:wrap;justify-content:center;gap:.55rem;margin-top:1.4rem}
.lotbtn{flex:0 0 auto;min-width:5.6rem;padding:.7rem .8rem;cursor:pointer;
  border:1.5px solid var(--line);border-radius:.7rem;background:#fff;transition:all .2s}
.lotbtn b{display:block;font-family:var(--mincho);font-weight:600;font-size:1rem;letter-spacing:.04em;color:var(--ink)}
.lotbtn span{display:block;font-family:var(--mincho);font-size:.74rem;letter-spacing:.02em;color:var(--mute);margin-top:.25rem}
.lotbtn:hover{border-color:var(--green)}
.lotbtn.is-active{background:var(--dark);border-color:var(--dark);box-shadow:0 4px 14px rgba(30,27,24,.28)}
.lotbtn.is-active b{color:#ffd76a}
.lotbtn.is-active span{color:#e6e2db}

/* 号地パネル内の見どころ */
.lotpt{display:flex;flex-direction:column;gap:1.4rem;margin-top:2rem}
.lotpt__i{margin:0}
.lotpt__i img{width:100%;height:auto;display:block}
.lotpt__i figcaption{font-family:var(--mincho);font-size:.8rem;line-height:2;letter-spacing:.02em;
  color:var(--sub);padding-top:.7rem;text-align:justify}
.lotpt__i figcaption b{display:block;font-weight:600;font-size:1rem;color:var(--ink);
  letter-spacing:.05em;margin-bottom:.35rem}
/* 間取り2枚並び */
.planrow{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.planrow figure{margin:0;border:1px solid var(--line);padding:.5rem;background:#fff}
.planrow img{width:100%;height:auto;display:block;cursor:zoom-in}
.planrow figcaption{font-family:var(--eng);font-size:.62rem;letter-spacing:.14em;color:var(--green);
  text-align:right;padding-top:.4rem}
.lotmore{margin-top:1.4rem;text-align:center}
.lotmore a{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;
  font-family:var(--mincho);font-size:.82rem;letter-spacing:.06em;color:var(--green);
  border-bottom:1px solid var(--green);padding-bottom:.2rem}
.lotmore a::after{content:"›";font-family:var(--eng)}
@media(max-width:480px){
  .lotbtn{min-width:4.9rem;padding:.6rem .55rem}
  .lotbtn b{font-size:.92rem}
  .lotbtn span{font-size:.68rem}
  .planrow{gap:.4rem}
}

/* ---- 統合ページのMV：正方形素材を縦長に見せる ---- */
.mv--tall .mv__img img{aspect-ratio:4/5;object-fit:cover;object-position:50% 42%}
@media(max-width:480px){
  .mv--tall .mv__img img{aspect-ratio:3/4}
}

/* ---- WEB予約特典（フォーム直前・濃色×金） ---- */
.benefit2{background:var(--dark);color:#fff;padding:2.6rem 1.2rem 2rem;text-align:center;position:relative}
.benefit2__ribbon{position:relative;display:inline-block;background:#d9bd82;color:#3a352c;
  font-family:var(--mincho);font-weight:600;font-size:.95rem;letter-spacing:.22em;
  padding:.6rem 2.4rem;margin-bottom:1.4rem}
.benefit2__ribbon::before,.benefit2__ribbon::after{content:"";position:absolute;top:0;bottom:0;width:1.1rem;background:#d9bd82}
.benefit2__ribbon::before{left:-1.05rem;clip-path:polygon(0 0,100% 0,100% 100%,0 100%,45% 50%)}
.benefit2__ribbon::after{right:-1.05rem;clip-path:polygon(0 0,100% 0,55% 50%,100% 100%,0 100%)}
.benefit2__lead{font-family:var(--mincho);font-size:.86rem;letter-spacing:.1em;line-height:1.8;color:#e6e1d8}
.benefit2__total{font-family:var(--mincho);font-weight:600;color:#e8cd97;letter-spacing:.04em;
  line-height:1.1;margin:.5rem 0 1.4rem;display:flex;align-items:baseline;justify-content:center;gap:.15rem}
.benefit2__total span{font-size:1.5rem}
.benefit2__total b{font-size:3.5rem;letter-spacing:.01em;font-weight:600}
.benefit2__rows{display:flex;flex-direction:column;align-items:center;gap:.5rem}
.benefit2__row{width:100%;border:1px solid rgba(232,205,151,.55);border-radius:.5rem;padding:.9rem .8rem}
.benefit2__row span{display:block;font-family:var(--mincho);font-size:.78rem;letter-spacing:.06em;color:#ddd6ca;margin-bottom:.3rem}
.benefit2__row b{display:block;font-family:var(--mincho);font-weight:600;font-size:1.02rem;letter-spacing:.04em;color:#fff}
.benefit2__row b em{font-style:normal;font-size:1.5em;color:#e8cd97;letter-spacing:.01em}
.benefit2__plus{display:inline-flex;align-items:center;justify-content:center;width:1.7rem;height:1.7rem;
  border:1px solid rgba(232,205,151,.55);border-radius:50%;position:relative}
.benefit2__plus::before,.benefit2__plus::after{content:"";position:absolute;background:#e8cd97;border-radius:2px}
.benefit2__plus::before{width:.7rem;height:1.5px}
.benefit2__plus::after{width:1.5px;height:.7rem}
.benefit2__note{font-family:var(--gothic);font-size:.62rem;line-height:1.8;color:#a49d92;margin-top:1.2rem;text-align:left}
@media(max-width:480px){
  .benefit2__total b{font-size:2.9rem}
  .benefit2__ribbon{font-size:.86rem;letter-spacing:.16em;padding:.55rem 1.8rem}
  .benefit2__row b{font-size:.94rem}
}

/* ---- SUMAiiタウン 7基準の評価（金賞バッジ＋ランク表） ---- */
.topbanner{background:#2a0a0d;line-height:0}
.topbanner img{width:100%;height:auto;display:block}
.mv__img{position:relative}
.mv__img img.mv__badge{position:absolute;right:.9rem;top:.9rem;width:8.1rem;height:auto;z-index:3;
  object-fit:contain;aspect-ratio:auto;
  filter:drop-shadow(0 2px 8px rgba(35,32,28,.4))}
@media(max-width:480px){ .mv__img img.mv__badge{width:6.9rem;right:.7rem;top:.7rem} }
.rating7a{padding:1.6rem 1.3rem 1.5rem;background:#faf8f4;border-bottom:1px solid var(--line)}
.rating7a__head{display:flex;align-items:center;justify-content:center;gap:.85rem}
.rating7a__head i{flex:1;height:1px;max-width:5rem;
  background:linear-gradient(90deg,rgba(168,134,63,0),rgba(168,134,63,.85),rgba(168,134,63,0))}
.rating7a__head b{font-family:var(--eng);font-weight:500;font-size:.6rem;letter-spacing:.28em;
  text-indent:.28em;color:#a8863f;white-space:nowrap}
.rating7a__lead{margin-top:.6rem;text-align:center;font-family:var(--mincho);font-size:.74rem;
  letter-spacing:.08em;color:var(--sub)}
.rating7a__card{position:relative;margin-top:.9rem;display:flex;align-items:center;justify-content:center;
  flex-wrap:wrap;gap:.5rem .85rem;background:#fff;border:1px solid #e3dbcb;padding:.95rem .9rem}
.rating7a__card::before{content:"";position:absolute;inset:3px;border:1px solid rgba(168,134,63,.28);
  pointer-events:none}
.rating7a__val{display:inline-flex;align-items:baseline;gap:.1rem;font-family:var(--eng);font-size:1.85rem;
  font-weight:500;line-height:1;color:var(--ink)}
.rating7a__val small{font-size:.42em;font-weight:400;color:var(--mute);letter-spacing:.04em}
.rating7a__rank{display:inline-flex;align-items:baseline;gap:.15rem;background:var(--dark);
  border:1px solid rgba(200,162,74,.75);color:#fff;padding:.34rem .75rem;
  font-family:var(--mincho);font-weight:600;font-size:.74rem;letter-spacing:.1em;line-height:1.2}
.rating7a__rank em{font-style:normal;font-family:var(--eng);font-size:1.28em;font-weight:500;
  letter-spacing:.02em;color:#e6c684}
.rating7a__grid{display:grid;grid-template-columns:repeat(7,1fr);margin-top:.75rem;
  background:#fff;border:1px solid #e3dbcb}
.s7{display:flex;flex-direction:column;align-items:center;gap:.18rem;padding:.5rem .1rem .55rem;
  border-left:1px solid #ece5d8}
.s7:first-child{border-left:none}
.s7--s{background:#fdf3dd}
.s7--s .s7__v{color:#a8863f}
.s7__k{font-family:var(--mincho);font-size:.6rem;letter-spacing:.02em;color:var(--sub);white-space:nowrap}
.s7__v{font-family:var(--eng);font-size:.92rem;font-weight:500;line-height:1;color:var(--ink)}
.stars{display:inline-flex;align-items:center;gap:.1em;font-family:Arial,"Helvetica Neue",sans-serif;
  font-size:1.2rem;line-height:1}
.stars i{font-style:normal;color:#e6e0d3}
.stars i::before{content:"★"}
.stars i.on{color:#c8a24a}
.stars i.pt{background:linear-gradient(90deg,#c8a24a var(--f),#e6e0d3 var(--f));
  -webkit-background-clip:text;background-clip:text;color:transparent}
/* ---- 7基準 判定モーダル（solanesより一回り小さめ） ---- */
.rating7a__btn{border:none;background:none;cursor:pointer;display:inline-flex;align-items:center;gap:.3rem;
  font-family:var(--mincho);font-size:.76rem;letter-spacing:.05em;color:var(--green);padding:0}
.rating7a__btn i{font-style:normal;font-size:.62em;transition:transform .25s}
.m7a{position:fixed;inset:0;z-index:120;display:none;align-items:center;justify-content:center;
  padding:1.1rem .8rem;background:rgba(45,42,38,.62);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
.m7a[aria-hidden="false"]{display:flex}
.m7a__panel{width:100%;max-width:21rem;max-height:78vh;display:flex;flex-direction:column;
  background:#fff;border:1px solid #e3dbcb;box-shadow:0 18px 50px rgba(45,42,38,.35)}
.m7a__head{display:flex;align-items:center;justify-content:space-between;gap:.7rem;
  padding:.75rem .9rem;border-bottom:1px solid #e3dbcb;background:#faf8f4}
.m7a__title{font-family:var(--mincho);font-weight:600;font-size:.8rem;letter-spacing:.06em;color:var(--ink)}
.m7a__x{flex:0 0 auto;border:1px solid var(--line);background:#fff;cursor:pointer;border-radius:999px;
  padding:.28rem .7rem;font-family:var(--mincho);font-size:.66rem;letter-spacing:.06em;color:var(--sub)}
.m7a__x:hover{border-color:var(--green);color:var(--green)}
.m7a__body{overflow-y:auto;padding:.9rem}
.m7a__total{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.45rem .7rem;
  background:#fdf7ea;border:1px solid #ecdfc4;padding:.7rem}
.m7a__val{display:inline-flex;align-items:baseline;gap:.1rem;font-family:var(--eng);font-size:1.45rem;
  font-weight:500;line-height:1;color:var(--ink)}
.m7a__val small{font-size:.42em;font-weight:400;color:var(--mute)}
.m7a__point{font-family:var(--eng);font-size:.7rem;letter-spacing:.04em;color:var(--mute)}
.m7a__point small{font-family:var(--mincho);font-size:.9em}
.m7a__list{margin-top:.8rem;border-top:1px solid #ece5d8;list-style:none;padding:0}
.m7a__item{display:grid;grid-template-columns:1fr auto;gap:.2rem .5rem;align-items:center;
  padding:.6rem .1rem;border-bottom:1px solid #ece5d8}
.m7a__name{font-family:var(--mincho);font-weight:600;font-size:.78rem;letter-spacing:.04em;color:var(--ink)}
.m7a__score{display:inline-flex;align-items:center;gap:.35rem;justify-self:end}
.m7a__score b{font-family:var(--eng);font-size:.82rem;font-weight:500;color:var(--ink)}
.m7a__rank{font-style:normal;display:inline-flex;align-items:center;justify-content:center;
  width:1.15rem;height:1.15rem;background:var(--dark);border:1px solid rgba(200,162,74,.75);
  color:#e6c684;font-family:var(--eng);font-size:.64rem;font-weight:500}
.m7a__rank--s{background:linear-gradient(180deg,#c8a24a,#a8863f);border-color:#e6c684;color:#fff}
.m7a__rank--b{background:#8a8580;border-color:rgba(255,255,255,.35);color:#fff}
.m7a__note{grid-column:1/3;font-family:var(--mincho);font-size:.68rem;line-height:1.8;
  letter-spacing:.02em;color:var(--sub);text-align:justify}
.m7a__note-all{margin-top:.8rem;font-family:var(--gothic);font-size:.6rem;line-height:1.8;
  color:var(--mute);text-align:justify}
.m7a__close{width:100%;margin-top:.9rem;height:2.7rem;background:var(--dark);color:#fff;border:none;
  cursor:pointer;font-family:var(--mincho);font-weight:600;font-size:.84rem;letter-spacing:.1em}
.m7a__close:hover{background:var(--green)}
.m7a__hint{margin-top:.55rem;text-align:center;font-family:var(--gothic);font-size:.6rem;color:var(--mute)}
.stars--s{font-size:.78rem;gap:.06em}
@media(max-width:480px){
  .m7a{padding:.8rem .6rem}
  .m7a__panel{max-width:none;max-height:82vh}
  .m7a__name{font-size:.74rem}
  .m7a__note{font-size:.66rem}
}
/* ================= 来場予約：ステップ式フォーム ================= */
/* --- ステップナビ --- */
.stepnav{display:flex;gap:.4rem;list-style:none;padding:0;margin:0 0 1rem}
.stepnav__item{flex:1;display:flex;align-items:center;justify-content:center;gap:.4rem;
  padding:.55rem .3rem;background:#f2f0eb;color:var(--mute);
  font-family:var(--mincho);font-size:.72rem;letter-spacing:.04em;white-space:nowrap}
.stepnav__num{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;
  border-radius:50%;background:#cfcbc3;color:#fff;font-family:var(--eng);font-size:.68rem;line-height:1}
.stepnav__item.is-current{background:var(--green);color:#fff}
.stepnav__item.is-current .stepnav__num{background:#fff;color:var(--green)}
.stepnav__item.is-done{background:#e4ece5;color:var(--green-d)}
.stepnav__item.is-done .stepnav__num{background:var(--green);color:#fff}

/* --- STEP1 ボックス --- */
.rsvbox{background:#fff;border:1px solid var(--line);padding:1.1rem .9rem}
.rsvbox__lead{text-align:center;font-family:var(--mincho);font-weight:600;font-size:.88rem;
  line-height:1.7;letter-spacing:.03em;color:var(--ink)}
.rsvbox__sub{display:block;margin-top:.25rem;font-weight:400;font-size:.7rem;color:var(--mute)}

/* --- 直近2週間カレンダー --- */
.minical{margin-top:.9rem}
.minical__ttl{text-align:center;font-family:var(--mincho);font-size:.76rem;letter-spacing:.06em;
  color:var(--sub);margin-bottom:.5rem}
.minical__t{width:100%;border-collapse:separate;border-spacing:.25rem;table-layout:fixed}
.minical__day{width:100%;display:flex;flex-direction:column;align-items:center;gap:.1rem;
  padding:.4rem .1rem .45rem;background:#fff;border:1px solid var(--line);cursor:pointer;
  font-family:var(--gothic);line-height:1;transition:border-color .2s,background .2s}
.minical__day:hover{border-color:var(--green)}
.minical__d{font-size:.72rem;font-weight:600;color:var(--ink)}
.minical__w{font-size:.58rem;color:var(--mute)}
.minical__m{font-size:.86rem;font-weight:700;color:var(--green);line-height:1.1}
.minical__day--sat .minical__w{color:#4a72b8}
.minical__day--sun .minical__w{color:#c05a52}
.minical__day.is-off{background:#f4f3f1;border-color:#e8e6e2;cursor:not-allowed}
.minical__day.is-off .minical__d,.minical__day.is-off .minical__w{color:#b8b5af}
.minical__day.is-off .minical__m{color:#c0bcb5}
.minical__day.is-sel{background:var(--green);border-color:var(--green)}
.minical__day.is-sel .minical__d,.minical__day.is-sel .minical__w,.minical__day.is-sel .minical__m{color:#fff}
.minical__lg{display:flex;flex-direction:column;gap:.15rem;align-items:center;margin-top:.5rem;
  font-family:var(--gothic);font-size:.6rem;color:var(--mute);text-align:center}

/* --- 選択中の表示・次へボタン --- */
.rsvpicked{margin-top:.8rem;text-align:center;font-family:var(--mincho);font-size:.82rem;
  letter-spacing:.03em;color:var(--ink);background:#f6f4ef;border:1px dashed var(--line);padding:.6rem}
.rsvpicked em{font-style:normal;font-size:.76rem;color:var(--mute)}
.rsvpicked b{color:var(--green-d)}
.rsvnext{width:100%;margin-top:.9rem;height:3.1rem;background:var(--green);color:#fff;border:none;
  cursor:pointer;font-family:var(--mincho);font-weight:600;font-size:.94rem;letter-spacing:.08em;
  transition:background .2s}
.rsvnext:hover:not([disabled]){background:var(--green-d)}
.rsvnext[disabled]{background:#cfcbc3;cursor:not-allowed}

/* --- STEP2 フォームモーダル（7基準モーダルと同寸＝一回り小さめ） --- */
.mform{position:fixed;inset:0;z-index:130;display:none;align-items:center;justify-content:center;
  padding:1.1rem .8rem;background:rgba(45,42,38,.62);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
.mform[aria-hidden="false"]{display:flex}
.mform__panel{width:100%;max-width:21rem;max-height:82vh;display:flex;flex-direction:column;
  background:#fff;border:1px solid #e3dbcb;box-shadow:0 18px 50px rgba(45,42,38,.35)}
.mform__head{display:flex;align-items:center;justify-content:space-between;gap:.7rem;
  padding:.75rem .9rem;border-bottom:1px solid #e3dbcb;background:#faf8f4}
.mform__title{font-family:var(--mincho);font-weight:600;font-size:.86rem;letter-spacing:.06em;color:var(--ink)}
.mform__x{flex:0 0 auto;border:1px solid var(--line);background:#fff;cursor:pointer;border-radius:999px;
  padding:.28rem .7rem;font-family:var(--mincho);font-size:.66rem;letter-spacing:.06em;color:var(--sub)}
.mform__x:hover{border-color:var(--green);color:var(--green)}
.mform__body{overflow-y:auto;padding:.9rem}
.mform__dt{background:#f6f4ef;border:1px solid var(--line);padding:.75rem;margin-bottom:1rem}
.mform__dt-ttl{display:flex;align-items:center;gap:.4rem;font-family:var(--mincho);font-weight:600;
  font-size:.78rem;letter-spacing:.04em;color:var(--ink)}
.mform__dt-ttl .req{background:var(--green);color:#fff;font-family:var(--gothic);font-size:.56rem;
  padding:.12rem .35rem;letter-spacing:.02em}
.mform__date{margin-top:.45rem;font-family:var(--mincho);font-weight:600;font-size:.92rem;
  letter-spacing:.04em;color:var(--green-d)}
.timelist{display:grid;grid-template-columns:repeat(3,1fr);gap:.35rem;margin-top:.6rem}
.timebtn{padding:.5rem .2rem;background:#fff;border:1px solid var(--line);cursor:pointer;
  font-family:var(--eng);font-size:.8rem;color:var(--ink);transition:all .2s}
.timebtn:hover{border-color:var(--green)}
.timebtn.is-on{background:var(--green);border-color:var(--green);color:#fff}
.mform__back{margin-top:.6rem;border:none;background:none;cursor:pointer;padding:0;
  font-family:var(--mincho);font-size:.72rem;letter-spacing:.04em;color:var(--sub)}
.mform__back:hover{color:var(--green)}
.mform__body #mail_form{margin-top:0}
.mform__body #visit_first{background:#f6f4ef;color:var(--green-d);font-weight:600}
@media(max-width:480px){
  .mform{padding:.8rem .6rem}
  .mform__panel{max-width:none;max-height:86vh}
  .stepnav__item{font-size:.66rem;padding:.5rem .2rem}
}
/* ---- コンテンツ途中の予約CTA ---- */
.midcta{background:#f6f4ef}
.midcta__ttl{text-align:center;font-family:var(--mincho);font-weight:600;font-size:1.05rem;
  line-height:1.75;letter-spacing:.04em;color:var(--ink);margin-bottom:1rem}
.midcta__ttl em{font-style:normal;color:var(--green-d);font-size:1.15em}
.midcta .rsvbox{border-color:#e0dcd3}

/* ---- モーダル内ステップ切替 ---- */
.mform__pane[hidden]{display:none}
.mform__pane .rsvbox{border:none;padding:0}
.mform__pane .rsvbox__lead{font-size:.84rem}

/* ---- ポップアップを一回り大きく（21rem → 24rem） ---- */
.mform__panel{max-width:24rem;max-height:86vh}
.m7a__panel{max-width:24rem;max-height:84vh}
@media(max-width:480px){
  .mform__panel{max-width:none;max-height:88vh}
  .m7a__panel{max-width:none;max-height:86vh}
}