/* VL-FORSALON-VISUAL-3 (2026-10-01): /for-salon/ 専用。ABOUT新デザイン(白＋淡いピンク＋ボルドー＋ゴールド・アーチ写真・筆記体・花びら)と世界観をそろえた写真中心の構成。
   共通 styles.css は触らず、新しいクラス(.fsv-*。共通CSSに既存の .fs-* があるため接頭辞を分ける)だけで完結させる。
   商品は assets/products/ の実物写真を切り抜き・縮小のみで使用(加工・生成なし)。ポータルの画面は実在の認定サロンの公開画面。
   AI画像は商品・ロゴ・会社施設が写っていないものだけを使う。 */
:root{--fsv-pink:#e8557d;--fsv-blush:#fdeef1;--fsv-blush-2:#f9dfe5;--fsv-cream:#fffaf6;--fsv-gold:#c39a55;--fsv-gold-2:#e2c792;--fsv-ink:#2c2529;--fsv-soft:#6d6267;--fsv-wine:#5b2439}

/* 花びら(装飾・CSSの図形のみ) */
.fsv-petal{position:absolute;z-index:1;pointer-events:none;width:110px;height:72px;border-radius:80% 0 80% 0;
  background:radial-gradient(ellipse at 30% 30%,#fff 0%,#fbd3dd 45%,#f19fb5 100%);opacity:.7;box-shadow:0 10px 24px rgba(214,110,140,.18)}
.fsv-petal--1{left:-28px;top:120px;transform:rotate(28deg)}
.fsv-petal--2{left:40%;bottom:90px;width:78px;height:50px;transform:rotate(-24deg);opacity:.55}

/* 1. ヒーロー */
.fsv-hero{position:relative;display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);align-items:center;gap:2vw;min-height:700px;padding:30px 0 80px 8vw;overflow:hidden;
  background:radial-gradient(ellipse at 10% 25%,#fff 0%,rgba(255,255,255,0) 55%),linear-gradient(118deg,#fffafa 0%,var(--fsv-blush) 50%,#fbe1e8 100%)}
.fsv-hero:after{content:"";position:absolute;left:-5%;right:-5%;bottom:-1px;height:70px;background:#fff;border-radius:50% 50% 0 0/100% 100% 0 0;z-index:2}
.fsv-hero-copy{position:relative;z-index:3;padding:40px 0}
.fsv-hero-copy .eyebrow{color:var(--fsv-pink);letter-spacing:.2em}
.fsv-hero-copy h1{font:600 clamp(40px,4.4vw,66px)/1.36 var(--jp);letter-spacing:.02em;margin:18px 0 24px;color:var(--fsv-ink)}
.fsv-hero-copy h1 em{font-family:var(--serif);font-weight:500;color:var(--fsv-pink)}
.fsv-hero-copy>p:not(.eyebrow){font:400 16px/2.05 var(--jp);max-width:520px;color:var(--fsv-soft);margin:0}
.fsv-hero-copy .button{margin-top:32px;box-shadow:0 14px 30px rgba(232,85,125,.28)}
.fsv-hero-visual{position:relative;z-index:1;height:640px}
.fsv-hero-visual figure{margin:0;position:absolute;overflow:hidden;background:#f6e9ec}
.fsv-hero-visual img{width:100%;height:100%;object-fit:cover;display:block}
.fsv-hero-main{left:22%;top:0;width:52%;height:590px;border-radius:999px 999px 6px 6px;box-shadow:0 30px 60px rgba(120,60,80,.16)}
.fsv-hero-main:after{content:"";position:absolute;inset:0;background:linear-gradient(200deg,rgba(255,255,255,0) 55%,rgba(240,170,190,.32) 100%)}
.fsv-hero-lecture{right:3%;top:60px;width:30%;aspect-ratio:3/2;border:6px solid #fff;border-radius:6px;box-shadow:0 18px 40px rgba(120,60,80,.18);z-index:2}
.fsv-hero-lecture figcaption{position:absolute;left:10px;bottom:8px;font:600 9px var(--sans);letter-spacing:.2em;color:#fff;text-shadow:0 1px 6px rgba(60,20,30,.6)}
.fsv-hero-phone{position:absolute;left:4%;top:120px;width:17%;aspect-ratio:9/19.5;padding:5px;border-radius:22px;background:#2b2528;box-shadow:0 22px 44px rgba(60,30,40,.28);z-index:3}
.fsv-hero-phone img{width:100%;height:100%;object-fit:cover;object-position:top;border-radius:17px}
.fsv-hero-products{list-style:none;margin:0;padding:0;position:absolute;left:12%;bottom:6px;display:flex;gap:10px;z-index:3}
.fsv-hero-products li{width:96px;aspect-ratio:1;border-radius:14px;overflow:hidden;border:4px solid #fff;box-shadow:0 12px 26px rgba(120,60,80,.2);background:#f3e6d6}
.fsv-hero-products li:nth-child(2){transform:translateY(-16px)}
.fsv-hero-products img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.3)}
.fsv-hero-products img[src*="fs3-prod-"],.fsv-faq-product img[src*="fs3-prod-"]{transform:none} /* 正式商品画像のタイルは商品全体が収まる構図のため拡大しない */
.fsv-pillars img[src*="fs3-prod-"]{object-fit:contain;padding:9%;background:#fbf0f2} /* 丸枠でジャーの端が切れないよう、商品全体を円の内側に収める */
.fsv-hero-script{position:absolute;right:4%;bottom:120px;z-index:3;margin:0;display:flex;flex-direction:column;align-items:flex-end;pointer-events:none}
.fsv-hero-script span{font:400 clamp(40px,4.2vw,62px)/1 "Great Vibes",cursive;color:var(--fsv-pink);transform:rotate(-6deg)}
.fsv-hero-script small{margin-top:16px;padding-left:44px;position:relative;font:600 13px/1.8 var(--jp);color:var(--fsv-ink);letter-spacing:.08em;text-align:right}
.fsv-hero-script small:before{content:"";position:absolute;left:0;top:12px;width:32px;height:1px;background:var(--fsv-gold)}

/* 1b. 5つの柱 */
.fsv-pillars{position:relative;z-index:3;padding:10px 8vw 40px;background:#fff;text-align:center}
.fsv-pillars-title{margin:0 0 30px;font:600 clamp(20px,1.8vw,26px)/1.6 var(--jp);color:var(--fsv-ink)}
.fsv-pillars-title small{display:block;margin-bottom:8px;font:600 11px var(--sans);letter-spacing:.3em;color:var(--fsv-gold)}
.fsv-pillars ol{list-style:none;margin:0 auto;padding:0;max-width:1080px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0}
.fsv-pillars li{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px}
.fsv-pillars li+li:before{content:"+";position:absolute;left:-10px;top:38px;font:300 26px var(--sans);color:var(--fsv-gold)}
.fsv-pillars img{width:96px;height:96px;object-fit:cover;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 1px var(--fsv-gold-2),0 12px 26px rgba(120,60,80,.14);margin-bottom:8px}
.fsv-pillars small{font:600 9px var(--sans);letter-spacing:.2em;color:var(--fsv-pink)}
.fsv-pillars strong{font:600 16px/1.5 var(--jp);color:var(--fsv-ink)}

/* 商品の帯 */
.fsv-products{padding:30px 8vw 70px;background:#fff;text-align:center}
.fsv-products-label{margin:0 0 22px;font:600 11px var(--sans);letter-spacing:.3em;color:var(--fsv-gold)}
.fsv-products ul{list-style:none;margin:0 auto;padding:0;max-width:1180px;display:grid;grid-template-columns:repeat(8,1fr);gap:14px}
.fsv-products li{display:flex;flex-direction:column;align-items:center;gap:10px}
.fsv-products img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:16px;box-shadow:0 10px 24px rgba(120,90,60,.12)}
.fsv-products span{font:500 11px/1.5 var(--jp);color:var(--fsv-soft);word-break:keep-all;overflow-wrap:anywhere}

/* 6つのサポート */
.fsv-support{background:linear-gradient(180deg,#fff 0%,#fff8f9 100%)}
.fsv-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:56px}
.fsv-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:190px;background:#fff;border:1px solid #f3dde3;border-radius:14px;overflow:hidden;box-shadow:0 14px 34px rgba(150,80,100,.08)}
.fsv-card-text{padding:26px 18px 24px 24px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(160deg,#fff 0%,#fff6f8 100%)}
.fsv-card-text b{font:600 13px var(--sans);color:var(--fsv-pink);letter-spacing:.08em}
.fsv-card-text h3{font:600 clamp(15px,1.25vw,18px)/1.3 var(--sans);letter-spacing:.04em;margin:8px 0 12px;color:var(--fsv-ink)}
.fsv-card-text p{font:400 13px/1.85 var(--jp);color:var(--fsv-soft);margin:0;word-break:keep-all;overflow-wrap:anywhere}
.fsv-card-media{position:relative;overflow:hidden;background:#fbeff2;min-height:190px}
.fsv-card-media>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
/* 実画面を入れる端末の枠(CSSのみ) */
.fsv-devices{position:absolute;inset:0;background:radial-gradient(circle at 70% 20%,#fff 0%,rgba(255,255,255,0) 60%),linear-gradient(140deg,#fdf1f4,#f4dfe5)}
.fsv-device{position:absolute;background:#2b2528;box-shadow:0 12px 26px rgba(60,30,40,.22);overflow:hidden}
.fsv-device img{display:block;width:100%;height:100%;object-fit:cover;object-position:top}
.fsv-device--laptop{left:6%;right:6%;bottom:13%;aspect-ratio:16/10;border-radius:8px 8px 3px 3px;padding:5px 5px 0;border-bottom:9px solid #ddd2d5}
.fsv-device--laptop img{border-radius:3px 3px 0 0}
.fsv-devices .fsv-device--phone~.fsv-device--laptop,.fsv-devices .fsv-device--laptop:has(~.fsv-device--phone){left:4%;right:20%}
.fsv-device--phone{right:5%;bottom:8%;width:24%;aspect-ratio:9/19.5;border-radius:12px;padding:3px;z-index:1}
.fsv-device--phone img{border-radius:9px}
.fsv-device--tablet{left:8%;right:8%;top:50%;transform:translateY(-50%);aspect-ratio:4/3;border-radius:12px;padding:7px}
.fsv-device--tablet img{border-radius:5px}

/* 2. 導入した、その先に(大きな写真＋コピーの交互配置) */
.fsv-after{background:linear-gradient(180deg,#fff8f9 0%,#fff 18%,#fff 82%,var(--fsv-cream) 100%)}
.fsv-after-head{max-width:640px;margin-bottom:70px}
.fsv-after-head h2{font:600 clamp(32px,3.4vw,50px)/1.5 var(--jp);margin:0 0 22px}
.fsv-after-head h2 span{color:var(--fsv-pink)}
.fsv-after-head p{font:400 15px/2.1 var(--jp);color:var(--fsv-soft);margin:0}
.fsv-row{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:6vw;align-items:center}
.fsv-row+.fsv-row{margin-top:110px}
.fsv-row--reverse{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
.fsv-row--reverse .fsv-row-media{order:2}
.fsv-row-media{position:relative;margin:0;aspect-ratio:4/3}
.fsv-row-media>img{width:100%;height:100%;object-fit:cover;display:block;border-radius:6px 220px 6px 6px;box-shadow:0 30px 60px rgba(120,60,80,.14)}
.fsv-row--reverse .fsv-row-media>img{border-radius:220px 6px 6px 6px}
.fsv-row-inset{position:absolute;right:-4%;bottom:-9%;width:38%;aspect-ratio:4/3;border:6px solid #fff;border-radius:6px;overflow:hidden;box-shadow:0 18px 40px rgba(120,60,80,.2)}
.fsv-row-inset img,.fsv-row-avatar img,.fsv-row-chips img,.fsv-row-laptop img,.fsv-row-cert img{width:100%;height:100%;object-fit:cover;display:block}
.fsv-row-avatar{position:absolute;left:-5%;bottom:-8%;width:30%;aspect-ratio:1;border-radius:50%;border:6px solid #fff;overflow:hidden;box-shadow:0 18px 40px rgba(120,60,80,.2)}
.fsv-row-chips{list-style:none;margin:0;padding:0;position:absolute;right:5%;bottom:-7%;display:flex;gap:10px}
.fsv-row-chips li{width:92px;aspect-ratio:1;border-radius:14px;overflow:hidden;border:4px solid #fff;box-shadow:0 12px 26px rgba(120,60,80,.2)}
.fsv-row-chips img{transform:scale(1.3)}
.fsv-row-laptop{position:absolute;left:8%;right:22%;bottom:-8%;aspect-ratio:16/10;padding:6px 6px 0;border-radius:10px 10px 3px 3px;background:#2b2528;border-bottom:10px solid #ddd2d5;box-shadow:0 22px 44px rgba(60,30,40,.28);overflow:hidden}
.fsv-row-laptop img{object-position:top;border-radius:4px 4px 0 0}
.fsv-row-cert{position:absolute;right:-3%;top:8%;width:32%;aspect-ratio:3/2;border:5px solid #fff;border-radius:4px;overflow:hidden;box-shadow:0 18px 40px rgba(120,60,80,.2);transform:rotate(3deg)}
.fsv-row-text b{font:italic 500 40px/1 var(--serif);color:var(--fsv-pink)}
.fsv-row-text small{display:block;margin:16px 0 10px;font:600 10px var(--sans);letter-spacing:.24em;color:var(--fsv-gold)}
.fsv-row-text h3{font:600 clamp(24px,2.3vw,34px)/1.6 var(--jp);margin:0 0 20px;color:var(--fsv-ink)}
.fsv-row-text h3:after{content:"";display:block;width:46px;height:2px;margin-top:22px;background:var(--fsv-pink)}
.fsv-row-text p{font:400 15px/2.1 var(--jp);color:var(--fsv-soft);margin:0;max-width:440px}

/* 3. サロンポータル(人物写真＋実際の画面) */
.fsv-portal{position:relative;overflow:hidden;min-height:760px;gap:4vw}
.fsv-portal:before{content:"";position:absolute;right:-10%;top:-20%;width:60%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(241,165,186,.22) 0%,rgba(241,165,186,0) 65%);pointer-events:none}
.fsv-portal .portal-copy{position:relative;z-index:2}
.fsv-portal-visual{position:relative;height:600px}
.fsv-portal-visual img{display:block;width:100%;height:100%;object-fit:cover}
.fsv-portal-owner{position:absolute;margin:0;left:18%;top:0;width:50%;height:560px;overflow:hidden;border-radius:999px 999px 6px 6px;box-shadow:0 30px 60px rgba(20,4,10,.35)}
.fsv-portal-owner img{object-position:60% 30%}
.fsv-portal-phone{position:absolute;left:0;bottom:10px;width:22%;aspect-ratio:9/19.5;padding:5px;border-radius:22px;background:#191416;box-shadow:0 24px 48px rgba(10,2,6,.45);z-index:3}
.fsv-portal-phone img{object-position:top;border-radius:17px}
.fsv-ui{position:absolute;z-index:3;width:38%;padding:10px 10px 12px;border-radius:14px;background:rgba(255,255,255,.96);color:var(--fsv-ink);box-shadow:0 22px 44px rgba(10,2,6,.32)}
.fsv-ui img{aspect-ratio:16/10;border-radius:8px;object-position:top}
.fsv-ui p{margin:9px 2px 0;font:600 12px/1.5 var(--jp)}
.fsv-ui-label{position:absolute;left:18px;top:-11px;padding:4px 10px;border-radius:999px;background:var(--fsv-pink);color:#fff;font:600 9px var(--sans);letter-spacing:.16em}
.fsv-ui--blog{right:0;top:40px}
.fsv-ui--reserve{right:6%;top:300px}
.fsv-ui--connect{left:26%;bottom:-6px;width:auto;display:flex;align-items:center;gap:12px;padding:10px 20px 10px 10px;border-radius:999px}
.fsv-ui--connect img{width:52px;height:52px;aspect-ratio:1;border-radius:50%}
.fsv-ui--connect p{margin:0;font-size:13px}
.fsv-ui--connect small{display:block;font:600 9px var(--sans);letter-spacing:.18em;color:var(--fsv-pink)}

/* 4. 導入までの流れ(写真つき・横につながる) */
.fsv-start{background:linear-gradient(180deg,var(--fsv-cream) 0%,#fff6f7 100%)}
.fsv-steps{list-style:none;margin:60px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;position:relative}
.fsv-steps li{position:relative;display:flex;flex-direction:column}
.fsv-steps figure{position:relative;margin:0;aspect-ratio:4/5;overflow:hidden;border-radius:999px 999px 6px 6px;box-shadow:0 22px 44px rgba(120,60,80,.14)}
.fsv-steps figure img{width:100%;height:100%;object-fit:cover;display:block}
.fsv-steps li:nth-child(2) figure img{object-position:50% 60%}
/* 写真の下を通る、点と線のタイムライン */
.fsv-step-text{position:relative;padding:44px 6px 0}
.fsv-step-text:before{content:"";position:absolute;left:0;right:-28px;top:18px;height:1px;background:linear-gradient(90deg,var(--fsv-gold-2),var(--fsv-pink))}
.fsv-steps li:last-child .fsv-step-text:before{right:0;background:linear-gradient(90deg,var(--fsv-gold-2),rgba(232,85,125,0))}
.fsv-step-text:after{content:"";position:absolute;left:0;top:12px;width:13px;height:13px;border-radius:50%;background:#fff;border:2px solid var(--fsv-pink)}
.fsv-step-text b{font:italic 500 30px/1 var(--serif);color:var(--fsv-pink)}
.fsv-step-text h3{font:600 19px/1.5 var(--jp);margin:12px 0 10px;color:var(--fsv-ink)}
.fsv-step-text p{font:400 13px/1.9 var(--jp);color:var(--fsv-soft);margin:0}

/* 5. FAQ(右に写真) */
.fsv-faq{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:6vw;align-items:center}
.fsv-faq-note{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:34px;padding:22px 26px;border-radius:14px;background:var(--fsv-blush)}
.fsv-faq-note p{margin:0;font:500 14px/1.8 var(--jp);color:var(--fsv-ink)}
.fsv-faq-visual{position:relative;height:560px}
.fsv-faq-visual figure{position:absolute;margin:0;overflow:hidden;background:#f6eee9}
.fsv-faq-visual img{width:100%;height:100%;object-fit:cover;display:block}
.fsv-faq-lecture{right:0;top:0;width:62%;height:500px;border-radius:999px 999px 6px 6px;box-shadow:0 30px 60px rgba(120,60,80,.14)}
.fsv-faq-talk{left:0;bottom:0;width:44%;aspect-ratio:1;border-radius:50%;border:6px solid #fff;box-shadow:0 18px 40px rgba(120,60,80,.2);z-index:2}
.fsv-faq-product{left:12%;top:40px;width:26%;aspect-ratio:1;border-radius:16px;border:4px solid #fff;box-shadow:0 14px 30px rgba(120,60,80,.18);z-index:2}
.fsv-faq-product img{transform:scale(1.3)}
.fsv-faq-badge{position:absolute;right:4%;bottom:10px;z-index:3;width:140px;height:140px;margin:0;border-radius:50%;background:rgba(255,255,255,.95);border:1px solid var(--fsv-gold-2);box-shadow:0 16px 36px rgba(120,60,80,.18);
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font:600 12px/1.6 var(--jp);color:var(--fsv-ink)}
.fsv-faq-badge span{font:400 30px/1.1 "Great Vibes",cursive;color:var(--fsv-pink);margin-bottom:4px}

/* 6. 最終CTA(写真＋淡いピンクのオーバーレイ) */
.fsv-cta{position:relative;overflow:hidden;padding-top:150px;padding-bottom:150px}
.fsv-cta-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:30% 40%;z-index:0}
.fsv-cta:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(253,238,241,.62) 0%,rgba(253,238,241,.9) 38%,rgba(253,238,241,.92) 62%,rgba(253,238,241,.7) 100%)}
.fsv-cta>div{position:relative;z-index:2}
.fsv-cta h2 em{color:var(--fsv-pink)}
.fsv-cta-main{margin-top:26px;padding:21px 34px;font-size:16px;gap:34px;box-shadow:0 16px 34px rgba(232,85,125,.32)}

@media(max-width:1180px){
  .fsv-card-grid{grid-template-columns:repeat(2,1fr)}
  .fsv-products ul{grid-template-columns:repeat(4,1fr)}
  .fsv-hero-products li{width:80px}
  .fsv-row,.fsv-row--reverse{gap:5vw}
  .fsv-ui{width:44%}
}
@media(max-width:900px){
  .fsv-hero{grid-template-columns:1fr;gap:0;padding:0 0 50px;min-height:0}
  .fsv-hero-copy{order:2;padding:30px 24px 0}
  .fsv-hero-copy h1{font-size:36px;line-height:1.45}
  .fsv-hero-copy>p:not(.eyebrow){font-size:14px}
  .fsv-hero-visual{order:1;height:auto;aspect-ratio:375/430;margin-top:10px}
  .fsv-hero-main{left:auto;right:6%;width:62%;height:auto;bottom:12%;top:0}
  .fsv-hero-lecture{right:auto;left:5%;top:6%;width:38%}
  .fsv-hero-phone{left:8%;top:auto;bottom:7%;width:22%;border-radius:16px;padding:4px}
  .fsv-hero-phone img{border-radius:12px}
  .fsv-hero-products{left:auto;right:4%;bottom:0;gap:7px}
  .fsv-hero-products li{width:56px;border-width:3px;border-radius:10px}
  .fsv-hero-products li:nth-child(2){transform:translateY(-8px)}
  .fsv-hero-script{right:auto;left:5%;bottom:auto;top:40%;align-items:flex-start}
  .fsv-hero-script span{font-size:34px}
  .fsv-hero-script small{display:none}
  .fsv-hero:after{display:none}
  .fsv-petal--1{left:auto;right:-20px;top:auto;bottom:10px;width:70px;height:46px}
  .fsv-petal--2{display:none}
  .fsv-pillars{padding:10px 16px 34px}
  .fsv-pillars ol{grid-template-columns:repeat(5,minmax(0,1fr))}
  .fsv-pillars li+li:before{left:-7px;top:20px;font-size:18px}
  .fsv-pillars img{width:54px;height:54px;border-width:2px;margin-bottom:4px}
  .fsv-pillars small{font-size:7px;letter-spacing:.1em}
  .fsv-pillars strong{font-size:12px;line-height:1.4}
  .fsv-after-head{margin-bottom:46px}
  .fsv-row,.fsv-row--reverse{grid-template-columns:1fr;gap:56px}
  .fsv-row--reverse .fsv-row-media{order:0}
  .fsv-row+.fsv-row{margin-top:80px}
  .fsv-row-media>img{border-radius:6px 140px 6px 6px}
  .fsv-row--reverse .fsv-row-media>img{border-radius:140px 6px 6px 6px}
  .fsv-row-inset{right:0;width:42%}
  .fsv-row-avatar{left:0;width:30%;border-width:4px}
  .fsv-row-chips{right:3%}
  .fsv-row-chips li{width:64px;border-width:3px;border-radius:10px}
  .fsv-row-laptop{left:4%;right:24%}
  .fsv-row-cert{right:0;width:36%}
  .fsv-row-text b{font-size:32px}
  .fsv-portal{grid-template-columns:1fr;min-height:0;gap:40px}
  .fsv-portal-visual{height:auto;aspect-ratio:1/1.12;margin:0 -4px}
  .fsv-portal-owner{left:24%;width:56%;height:84%}
  .fsv-portal-phone{width:26%;border-radius:16px;padding:4px;bottom:4%}
  .fsv-portal-phone img{border-radius:12px}
  .fsv-ui{width:44%;padding:7px 7px 9px;border-radius:10px}
  .fsv-ui p{font-size:10px;margin-top:6px}
  .fsv-ui-label{left:10px;top:-9px;font-size:7.5px;padding:3px 8px}
  .fsv-ui--blog{top:6%}
  .fsv-ui--reserve{top:44%;right:0}
  .fsv-ui--connect{left:30%;bottom:-2%;width:auto;padding:6px 14px 6px 6px}
  .fsv-ui--connect img{width:38px;height:38px}
  .fsv-ui--connect p{font-size:11px}
  /* 流れはスマホで縦につながる */
  .fsv-steps{grid-template-columns:1fr;gap:0;margin-top:40px}
  .fsv-steps li{display:grid;grid-template-columns:38% minmax(0,1fr);gap:18px;align-items:center;padding-bottom:30px}
  .fsv-steps figure{border-radius:999px 999px 6px 6px}
  .fsv-step-text{padding:0 0 0 26px}
  .fsv-step-text:before{left:6px;right:auto;top:6px;bottom:-30px;width:1px;height:auto;background:linear-gradient(180deg,var(--fsv-gold-2),var(--fsv-pink))}
  .fsv-steps li:last-child .fsv-step-text:before{right:auto;bottom:40%;background:linear-gradient(180deg,var(--fsv-gold-2),rgba(232,85,125,0))}
  .fsv-step-text:after{left:0;top:2px}
  .fsv-step-text b{font-size:26px}
  .fsv-step-text h3{font-size:17px;margin:8px 0 6px}
  .fsv-step-text p{font-size:12.5px;line-height:1.85}
  .fsv-faq{grid-template-columns:1fr;gap:50px}
  .fsv-faq-visual{height:auto;aspect-ratio:1/1.02}
  .fsv-faq-lecture{width:60%;height:90%}
  .fsv-faq-badge{width:110px;height:110px;font-size:10.5px;right:0;bottom:0}
  .fsv-faq-badge span{font-size:24px}
  .fsv-cta{padding-top:100px;padding-bottom:100px}
  .fsv-cta:before{background:linear-gradient(180deg,rgba(253,238,241,.78) 0%,rgba(253,238,241,.9) 100%)}
  .fsv-cta-main{padding:18px 26px;font-size:15px}
}
@media(max-width:600px){
  .fsv-products{padding:8px 16px 56px}
  .fsv-products ul{grid-template-columns:repeat(4,1fr);gap:10px 8px}
  .fsv-products img{border-radius:12px}
  .fsv-products span{font-size:9.5px}
  .fsv-card-grid{grid-template-columns:1fr;gap:14px;margin-top:40px}
  .fsv-card{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:160px}
  .fsv-card-media{min-height:160px}
  .fsv-card-text{padding:20px 12px 18px 18px}
  .fsv-card-text h3{font-size:16px}
  .fsv-card-text p{font-size:12px}
}
