/*
 * ======================================
 * FOX（キツネ）沖縄チャットレディー サイト固有CSS（site.css）
 * 共通 main.css で再現できないデザイン差分のみ定義。
 * 配色：base #FE85B2 / accent #FB2472 / blue #7cc7d8・#2f9bb5 / 水色bg #E2F7FC
 * ======================================
 *
 * 追加クラス一覧（共通SCSS取り込み検討用）
 * --------------------------------------
 * .fox-header / .fox-topbar / .fox-nav      - 上部インフォバー付きスティッキーヘッダー
 * .fox-line-btn (--sm/--lg/--full/--hero)   - LINEブランド緑のピル型CTAボタン
 * .fox-outline-btn                          - 白地ピンク枠のピル型リンクボタン
 * .fox-eyebrow / .fox-sec-title / .fox-lead - 英字小見出し＋日本語見出し＋リード
 * .fox-page-hero                            - 下層ページのグラデヒーロー
 * .fox-promise                              - 「アダルト強要しません」強調ボックス
 * .fox-work / .fox-tag                      - お仕事概要2カラム＋タグピル
 * .fox-flow-steps / .fox-flowrow            - 4ステップ円番号 / 横並びフロー
 * .fox-point-card / .fox-benefit            - 特徴カード / 特典カード（グラデ）
 * .fox-voice-card / .fox-voice-feature      - レディの声カード
 * .fox-blog-card / .fox-article / .fox-side - ブログカード・一覧・サイドバー
 * .fox-rate / .fox-mini-card / .fox-info-card - 報酬ページ各種
 * .fox-case / .fox-income / .fox-cta-box    - 確定申告ページ各種
 * .fox-contact / .fox-footer                - お問い合わせ・フッター
 *
 * ======================================
 * 共通SCSSに不足していたもの（5分類）
 * ======================================
 * ・装飾パターン不足：グラデ円アイコン・ピンクrgba影・ピル型LINEボタン・上部インフォバー
 * ・構造不足：上部バー＋メインバー2段ヘッダー、写真重なりのない可愛い系カード群
 * ・値の粒度不足：角丸24/28px、ピンク系ソフトシャドウの多用
 */

/* ====== 共通トークン的なクラス ====== */
.fox-eyebrow{
  font-family:"Josefin Sans",sans-serif;
  font-weight:600;
  letter-spacing:0.2em;
  color:#FE85B2;
  font-size:14px;
  margin:0 0 6px;
}
.fox-eyebrow--accent{ color:#FB2472; letter-spacing:0.18em; }
.fox-eyebrow--blue{ color:#7cc7d8; }

.fox-sec-title{
  font-size:32px;
  font-weight:900;
  color:#4a3b42;
  margin:0;
  line-height:1.35;
}
.fox-sec-title--sm{ font-size:28px; }
.fox-sec-title--lg{ font-size:34px; }

.fox-lead{
  font-size:16px;
  line-height:1.9;
  color:#6b5a62;
  margin:0;
}

.text-accent{ color:#FB2472 !important; }
.text-blue{ color:#2f9bb5 !important; }

/* eyebrow + title 中央ブロック共通余白 */
.fox-sec-head{ text-align:center; margin-bottom:44px; }

/* ====== ボタン ====== */
.fox-line-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  background:#06C755;
  color:#fff;
  font-weight:700;
  font-size:16px;
  padding:14px 30px;
  border-radius:999px;
  text-decoration:none;
  box-shadow:0 10px 24px rgba(6,199,85,0.32);
  transition:transform .25s ease, box-shadow .25s ease, background .2s ease;
}
.fox-line-btn i{ font-size:1.2em; }
.fox-line-btn:hover{ background:#05b14c; transform:translateY(-2px); box-shadow:0 14px 30px rgba(6,199,85,0.4); opacity:1; }
.fox-line-btn--sm{ font-size:15px; padding:11px 22px; box-shadow:0 6px 16px rgba(6,199,85,0.32); }
.fox-line-btn--lg{ font-size:18px; padding:16px 36px; }
.fox-line-btn--full{ width:100%; }
.fox-line-btn--hero{ font-size:20px; padding:18px 44px; box-shadow:0 14px 30px rgba(6,199,85,0.34); animation:fox-floaty 3s ease-in-out infinite; }

@keyframes fox-floaty{ 0%,100%{transform:translateY(0)} 50%{transform:translateY(-7px)} }

.fox-outline-btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:#fff;
  color:#FB2472;
  text-decoration:none;
  font-weight:700;
  font-size:16px;
  padding:14px 32px;
  border-radius:999px;
  border:2px solid #FE85B2;
  transition:background .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease;
  box-shadow:0 8px 20px rgba(251,36,114,0.10);
}
.fox-outline-btn:hover{ background:#FB2472; color:#fff; border-color:#FB2472; transform:translateY(-2px); opacity:1; }
.fox-outline-btn--hero{ font-size:18px; padding:18px 36px; box-shadow:0 10px 24px rgba(251,36,114,0.16); }

.fox-btn-center{ text-align:center; margin-top:32px; }

/* ====== ヘッダー ====== */
.fox-header{
  position:sticky;
  top:0;
  z-index:100;
  background:rgba(255,255,255,0.96);
  backdrop-filter:blur(8px);
  box-shadow:0 4px 24px rgba(251,36,114,0.10);
}
.fox-topbar{ background:linear-gradient(90deg,#FB2472,#FE85B2); color:#fff; }
.fox-topbar__inner{
  max-width:1200px; margin:0 auto; padding:6px 24px;
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  font-size:12.5px; letter-spacing:0.02em;
}
.fox-topbar__lead{ font-weight:500; }
.fox-topbar__info{ display:flex; align-items:center; gap:18px; font-weight:500; }
.fox-topbar__tel{ color:#fff; text-decoration:none; font-family:"Josefin Sans",sans-serif; font-weight:700; letter-spacing:0.04em; }
.fox-topbar__tel:hover{ opacity:0.85; }

.fox-header__main{
  max-width:1200px; margin:0 auto; padding:12px 24px;
  display:flex; align-items:center; justify-content:space-between; gap:24px;
}
.fox-header__logo{ display:flex; align-items:center; flex:none; }
.fox-header__logo img{ height:46px; width:auto; display:block; }

.fox-nav{ display:flex; align-items:center; gap:26px; flex-wrap:wrap; justify-content:flex-end; }
.fox-nav__link{
  text-decoration:none; font-size:15px; font-weight:500; color:#5a4a52;
  padding-bottom:3px; border-bottom:2px solid transparent;
  transition:color .15s ease, border-color .15s ease;
}
.fox-nav__link:hover{ color:#FB2472; opacity:1; }
.fox-nav__link.is-current{ color:#FB2472; font-weight:700; border-bottom-color:#FE85B2; }

.sp-nav__tel{
  display:block; margin-top:18px; color:#fff; font-family:"Josefin Sans",sans-serif;
  font-weight:700; letter-spacing:0.04em; text-decoration:none; font-size:18px;
}
.sp-nav__link::after{ margin-left:10px; }
.sp-nav__en{ font-size:1.5rem; }

/* ====== HERO（TOP） ====== */
.fox-hero{ position:relative; padding:0; background:linear-gradient(180deg,#E2F7FC 0%,#FFF0F6 100%); }
.fox-hero__media{ width:100%; }
.fox-hero__media img,
#slideshow .swiper-slide img{ display:block; width:100%; height:auto; }
.fox-hero__btns{
  position:relative; max-width:1100px; margin:0 auto; padding:36px 24px 8px;
  display:flex; flex-wrap:wrap; gap:16px; justify-content:center;
}

/* ====== 「アダルト強要しません」 ====== */
.fox-promise{ padding:56px 24px 64px; background:#fff; }
.fox-promise__box{
  position:relative; max-width:1000px; margin:0 auto; background:#fff;
  border:3px solid #FE85B2; border-radius:28px; padding:48px 40px 44px;
  text-align:center; box-shadow:0 18px 44px rgba(251,36,114,0.12);
}
.fox-promise__ribbon{
  position:absolute; top:-20px; left:50%; transform:translateX(-50%);
  background:linear-gradient(90deg,#FB2472,#FE85B2); color:#fff; font-weight:700;
  font-size:15px; padding:8px 28px; border-radius:999px; white-space:nowrap;
  box-shadow:0 8px 18px rgba(251,36,114,0.25);
}
.fox-promise__title{ font-size:38px; font-weight:900; color:#FB2472; margin:6px 0 16px; line-height:1.35; }
.fox-promise__marker{ position:relative; white-space:nowrap; }
.fox-promise__marker::after{
  content:""; position:absolute; left:0; right:0; bottom:-6px; height:8px;
  background:#FFE3EF; border-radius:4px; z-index:-1;
}
.fox-promise__text{ font-size:17px; line-height:2.0; margin:0 auto; color:#6b5a62; max-width:720px; }

/* ====== セクション背景 ====== */
.fox-sec{ padding:72px 24px; }
.fox-sec--pink{ background:linear-gradient(180deg,#FFF7FB,#fff); }
.fox-sec--pinkdeep{ background:linear-gradient(180deg,#FFF0F6,#fff); }
.fox-sec--blue{ background:linear-gradient(180deg,#EAF8FC,#fff); }
.fox-sec--white{ background:#fff; }
.fox-sec--tight-top{ padding-top:24px; }
.fox-sec--compact{ padding-top:40px; padding-bottom:40px; }
.fox-inner{ max-width:1100px; margin:0 auto; }
.fox-inner--md{ max-width:1040px; margin:0 auto; }
.fox-inner--narrow{ max-width:920px; margin:0 auto; }

/* 背景に花あしらいを置くセクション用 */
.fox-sec--deco{ position:relative; overflow:hidden; }
.fox-deco{ position:absolute; height:auto; pointer-events:none; z-index:0; opacity:0.9; }
.fox-deco--bl{ bottom:0; left:0; width:280px; max-width:24%; }
.fox-deco--br{ bottom:0; right:0; width:280px; max-width:24%; }
.fox-deco--tl{ top:0; left:0; width:300px; max-width:28%; }
.fox-deco--tr{ top:0; right:0; width:300px; max-width:28%; }
/* サイズ違い（位置クラスの幅を上書き） */
.fox-deco--md{ width:420px; max-width:34%; }
.fox-deco--lg{ width:480px; max-width:38%; }
.fox-sec__body{ position:relative; z-index:1; }
/* 装飾画像が複数セクションをまたいで背面表示されるラッパー */
.fox-deco-band{ position:relative; overflow:hidden; background:#fff; }
.fox-deco-band > .fox-sec{ position:relative; z-index:1; background:transparent; }
.fox-deco-band .fox-deco--tl,
.fox-deco-band .fox-deco--tr{ width:400px; max-width:36%; }

/* ====== お仕事概要（2カラム） ====== */
.fox-work{ display:grid; grid-template-columns:0.95fr 1.05fr; gap:40px; align-items:center; }
.fox-work--about{ grid-template-columns:1.05fr 0.95fr; gap:44px; max-width:1040px; margin-left:auto; margin-right:auto; }
.fox-work__img{ border-radius:28px; overflow:hidden; box-shadow:0 16px 40px rgba(251,36,114,0.12); }
.fox-work__img--43{ aspect-ratio:4/3; }
.fox-work__img--11{ aspect-ratio:1/1; }
.fox-work__img img{ display:block; width:100%; height:100%; object-fit:cover; }
.fox-work__title{ font-size:24px; font-weight:900; color:#FB2472; margin:0 0 16px; line-height:1.5; }
.fox-work__title--sm{ font-size:27px; }
.fox-work__text{ font-size:16px; line-height:2.0; margin:0 0 20px; color:#6b5a62; }

.fox-tags{ display:flex; flex-wrap:wrap; gap:10px; }
.fox-tag{
  background:#fff; border:1.5px solid #FE85B2; color:#FB2472; font-weight:700;
  font-size:14px; padding:8px 18px; border-radius:999px;
}
.fox-tag--solid{ background:#FFF0F6; border:none; padding:9px 18px; }

/* ====== フロー（4ステップ円番号 / TOP） ====== */
.fox-flow{ background:#fff; border-radius:28px; padding:40px; box-shadow:0 14px 36px rgba(251,36,114,0.10); margin-top:56px; }
.fox-flow__title{ text-align:center; font-size:18px; font-weight:900; color:#4a3b42; margin:0 0 28px; }
.fox-flow-steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.fox-flow-step{ text-align:center; }
.fox-step-circle{
  width:74px; height:74px; margin:0 auto 14px; border-radius:50%;
  background:linear-gradient(135deg,#FE85B2,#FB2472); color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-family:"Josefin Sans",sans-serif; font-weight:700; font-size:28px;
  box-shadow:0 8px 18px rgba(251,36,114,0.28);
}
.fox-flow-step__label{ font-size:14.5px; font-weight:700; margin:0 0 4px; color:#4a3b42; }
.fox-flow-step__desc{ font-size:13px; color:#8a7780; margin:0; line-height:1.7; }

/* ====== フロー（横並びカード / about） ====== */
.fox-flowlist{ display:flex; flex-direction:column; gap:18px; }
.fox-flowrow{
  display:flex; gap:22px; align-items:center; background:#fff; border-radius:22px;
  padding:26px 30px; box-shadow:0 10px 26px rgba(251,36,114,0.10);
}
.fox-flowrow__num{
  flex:none; width:64px; height:64px; border-radius:50%;
  background:linear-gradient(135deg,#FE85B2,#FB2472); color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-family:"Josefin Sans",sans-serif; font-weight:700; font-size:24px;
}
.fox-flowrow__title{ font-size:18px; font-weight:900; color:#FB2472; margin:0 0 4px; }
.fox-flowrow__desc{ font-size:14px; color:#8a7780; margin:0; line-height:1.8; }

/* ====== 報酬ポイント / 特徴カード（3カラム） ====== */
.fox-grid-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.fox-grid-2{ display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.fox-point-card{
  background:#fff; border-radius:24px; padding:34px 28px; text-align:center;
  box-shadow:0 12px 30px rgba(60,140,165,0.12);
  transition:transform .25s ease, box-shadow .25s ease;
}
.fox-point-card:hover{ transform:translateY(-4px); box-shadow:0 18px 38px rgba(251,36,114,0.16); }
.fox-point-card__icon{
  width:96px; height:96px; margin:0 auto 14px; border-radius:50%;
  background:linear-gradient(135deg,#FFF0F6,#E2F7FC);
  display:flex; align-items:center; justify-content:center;
}
.fox-point-card__icon img{ width:60px; height:60px; object-fit:contain; }
.fox-point-card__icon--sm img{ width:64px; height:64px; }
.fox-point-card__iconplain{ display:flex; justify-content:center; margin-bottom:10px; }
.fox-point-card__iconplain img{ width:64px; height:64px; object-fit:contain; }
.fox-point-card__title{ font-size:15px; font-weight:700; color:#4a3b42; margin:0 0 6px; }
.fox-point-card__title--lg{ font-size:16px; font-weight:900; color:#FB2472; }
.fox-point-card__text{ font-size:14px; color:#8a7780; line-height:1.8; margin:0; }
.fox-num-accent{ color:#FB2472; font-size:20px; font-weight:700; }

/* ====== 特典カード（グラデ背景） ====== */
.fox-grid-3--benefit{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.fox-benefit{
  background:linear-gradient(135deg,#FFF0F6,#FFE3EF); border-radius:24px;
  padding:30px 26px; display:flex; gap:18px; align-items:center;
  transition:transform .25s ease, box-shadow .25s ease;
}
.fox-benefit:hover{ transform:translateY(-4px); box-shadow:0 14px 30px rgba(251,36,114,0.18); }
.fox-benefit--blue{ background:linear-gradient(135deg,#E2F7FC,#EAF8FC); }
.fox-benefit--blue:hover{ box-shadow:0 14px 30px rgba(60,140,165,0.18); }
.fox-benefit__icon{ font-size:42px; flex:none; color:#FB2472; }
.fox-benefit--blue .fox-benefit__icon{ color:#2f9bb5; }
.fox-benefit__title{ font-size:16px; font-weight:900; color:#FB2472; margin:0 0 4px; }
.fox-benefit--blue .fox-benefit__title{ color:#2f9bb5; }
.fox-benefit__note{ font-size:13px; color:#8a7780; margin:0; line-height:1.7; }

/* ====== 所属レディの声 ====== */
.fox-voice-card{
  background:#fff; border-radius:24px; padding:28px; box-shadow:0 12px 30px rgba(251,36,114,0.10);
  transition:transform .25s ease, box-shadow .25s ease;
}
.fox-voice-card:hover{ transform:translateY(-4px); box-shadow:0 18px 38px rgba(251,36,114,0.16); }
.fox-voice-card__head{ display:flex; flex-direction:column; align-items:center; gap:10px; margin-bottom:16px; text-align:center; }
.fox-voice-card__avatar{
  width:200px; height:200px; border-radius:16px;
  background:linear-gradient(135deg,#FFE3EF,#E2F7FC);
  display:flex; align-items:center; justify-content:center; overflow:hidden; flex:none;
}
.fox-voice-card__avatar img{ width:100%; height:100%; object-fit:cover; object-position:center top; }
.fox-voice-card__name{ font-size:14px; font-weight:700; margin:0; color:#4a3b42; }
.fox-voice-card__meta{ font-size:12px; color:#FE85B2; margin:0; }
.fox-voice-card__text{ font-size:14px; line-height:1.9; color:#6b5a62; margin:0; }

.fox-voice-feature{
  position:relative; z-index:1; max-width:1000px; margin:0 auto;
  background:linear-gradient(135deg,#FFF7FB,#FFF0F6); border-radius:32px; padding:40px;
  display:grid; grid-template-columns:0.8fr 1.2fr; gap:36px; align-items:center;
  box-shadow:0 16px 40px rgba(251,36,114,0.12);
}
.fox-voice-feature__photo{
  border-radius:24px; overflow:hidden; aspect-ratio:3/4;
  background:linear-gradient(135deg,#FFE3EF,#E2F7FC);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px;
}
.fox-voice-feature__photo img{ width:100%; height:100%; object-fit:cover; object-position:center top; }
.fox-photo-ph{ font-size:54px; }
.fox-photo-ph__note{ font-size:12px; color:#b07c8f; }
.fox-voice-feature__title{ font-size:24px; font-weight:900; color:#FB2472; margin:0 0 16px; line-height:1.5; }
.fox-voice-feature__text{ font-size:15px; line-height:2.0; color:#6b5a62; margin:0; }

.fox-badge{
  display:inline-block; background:#FB2472; color:#fff; font-size:12px; font-weight:700;
  padding:6px 16px; border-radius:999px; margin-bottom:14px;
}
.fox-badge--pink{ display:inline-flex; align-items:center; gap:8px; background:#FFF0F6; color:#FB2472; margin-bottom:18px; font-size:13px; }
.fox-note{ text-align:center; font-size:12.5px; color:#b0a0a8; margin:28px 0 0; }

/* ====== ブログカード（TOP） ====== */
.fox-blog-card{
  background:#fff; border-radius:24px; overflow:hidden; display:block;
  box-shadow:0 12px 30px rgba(251,36,114,0.10); color:inherit; text-decoration:none;
  transition:transform .25s ease, box-shadow .25s ease;
}
.fox-blog-card:hover{ transform:translateY(-4px); box-shadow:0 18px 38px rgba(251,36,114,0.16); opacity:1; }
.fox-blog-card__img{ aspect-ratio:16/10; overflow:hidden; }
.fox-blog-card__img img{ width:100%; height:100%; object-fit:cover; }
.fox-blog-card__body{ padding:20px; }
.fox-blog-card__meta{ display:flex; gap:8px; align-items:center; margin-bottom:8px; }
.fox-blog-card__date{ font-size:12px; color:#b0a0a8; font-family:"Josefin Sans",sans-serif; }
.fox-blog-card__title{ font-size:15px; font-weight:700; margin:0; line-height:1.6; color:#4a3b42; }

.fox-cat{ font-size:11px; font-weight:700; padding:4px 12px; border-radius:999px; background:#FFF0F6; color:#FB2472; }
.fox-cat--blue{ background:#EAF8FC; color:#2f9bb5; }

/* ====== 下層ページヒーロー ====== */
.fox-page-hero{
  position:relative; background:linear-gradient(135deg,#FFE3EF,#E2F7FC);
  padding:56px 24px; text-align:center; overflow:hidden;
}
.fox-page-hero__en{
  position:relative; z-index:1; font-family:"Josefin Sans",sans-serif; font-weight:600;
  letter-spacing:0.22em; color:#FB2472; font-size:15px; margin:0 0 8px;
}
.fox-page-hero__title{ position:relative; z-index:1; font-size:34px; font-weight:900; color:#4a3b42; margin:0 0 12px; }
.fox-page-hero__crumb{ position:relative; z-index:1; font-size:13px; color:#a07f8d; margin:0; }
.fox-page-hero__crumb a{ color:#a07f8d; text-decoration:none; }
.fox-page-hero__crumb a:hover{ color:#FB2472; opacity:1; }

/* ====== 報酬ページ ====== */
.fox-mechanism{
  background:linear-gradient(160deg,#FFF7FB,#FFF0F6); border-radius:28px; padding:40px;
  box-shadow:0 14px 36px rgba(251,36,114,0.10);
}
.fox-mechanism__text{ font-size:16px; line-height:2.1; color:#6b5a62; margin:0 0 28px; }
.fox-mini-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.fox-mini-card{ background:#fff; border-radius:18px; padding:24px 18px; text-align:center; }
.fox-mini-card img{ width:56px; height:56px; object-fit:contain; }
.fox-mini-card__title{ font-size:14px; font-weight:700; margin:8px 0 4px; color:#4a3b42; }
.fox-mini-card__text{ font-size:12.5px; color:#8a7780; margin:0; line-height:1.7; }

.fox-rate{
  background:linear-gradient(135deg,#FE85B2,#FB2472); color:#fff; border-radius:28px;
  padding:40px; text-align:center; box-shadow:0 16px 36px rgba(251,36,114,0.26);
}
.fox-rate--outline{ background:#fff; border:3px solid #FE85B2; color:#FB2472; box-shadow:0 16px 36px rgba(251,36,114,0.12); }
.fox-rate__label{ font-size:16px; font-weight:700; margin:0 0 6px; opacity:0.97; }
.fox-rate__value{ font-family:"Josefin Sans",sans-serif; font-size:64px; font-weight:700; margin:0; line-height:1; }
.fox-rate__value span{ font-size:34px; }
.fox-rate__note{ font-size:13px; margin:10px 0 0; opacity:0.9; }
.fox-rate--outline .fox-rate__note{ color:#a07f8d; opacity:1; }

.fox-info-card{
  background:#fff; border-radius:24px; padding:32px; box-shadow:0 12px 30px rgba(60,140,165,0.12);
  display:flex; gap:20px; align-items:flex-start;
}
.fox-info-card--pink{ background:linear-gradient(135deg,#FFF0F6,#FFE3EF); box-shadow:none; }
.fox-info-card--bluegrad{ background:linear-gradient(135deg,#E2F7FC,#EAF8FC); box-shadow:none; padding:40px 44px; gap:24px; align-items:center; }
.fox-info-card__icon{ width:56px; height:56px; object-fit:contain; flex:none; }
.fox-info-card__icon--lg{ width:72px; height:72px; }
.fox-info-card--bluegrad .fox-info-card__title{ font-size:18px; }
.fox-info-card--bluegrad .fox-info-card__text{ font-size:15px; line-height:2.0; color:#5a6b70; }
.fox-info-card__title{ font-size:17px; font-weight:900; color:#FB2472; margin:0 0 8px; }
.fox-info-card__text{ font-size:14.5px; line-height:1.9; color:#6b5a62; margin:0; }

/* ====== 確定申告ページ ====== */
.fox-lead-box{
  position:relative; z-index:1; max-width:840px; margin:0 auto;
  background:linear-gradient(135deg,#FFF7FB,#FFF0F6); border-radius:28px; padding:40px 44px;
  box-shadow:0 14px 36px rgba(251,36,114,0.10);
}
.fox-lead-box p{ font-size:16px; line-height:2.1; color:#5a4a52; margin:0; }

.fox-case{ background:#fff; border:2px solid #FE85B2; border-radius:24px; padding:32px; box-shadow:0 12px 30px rgba(251,36,114,0.10); }
.fox-case--blue{ border-color:#7cc7d8; box-shadow:0 12px 30px rgba(60,140,165,0.10); }
.fox-case__badge{ display:inline-flex; align-items:center; gap:8px; background:#FFF0F6; color:#FB2472; font-weight:700; font-size:13px; padding:6px 16px; border-radius:999px; margin-bottom:16px; }
.fox-case--blue .fox-case__badge{ background:#EAF8FC; color:#2f9bb5; }
.fox-case__title{ font-size:17px; font-weight:900; color:#FB2472; margin:0 0 10px; line-height:1.5; }
.fox-case--blue .fox-case__title{ color:#2f9bb5; }
.fox-case__text{ font-size:14.5px; line-height:1.9; color:#6b5a62; margin:0; }

.fox-income{ max-width:1000px; margin:0 auto; background:linear-gradient(135deg,#E2F7FC,#EAF8FC); border-radius:28px; padding:40px 44px; }
.fox-income__title{ font-size:20px; font-weight:900; color:#2f9bb5; margin:0 0 14px; }
.fox-formula{ background:#fff; border-radius:18px; padding:20px 24px; text-align:center; margin-bottom:20px; }
.fox-formula p{ font-size:20px; font-weight:900; color:#FB2472; margin:0; }
.fox-income__text{ font-size:15px; line-height:2.0; color:#5a6b70; margin:0 0 14px; }
.fox-income__note{ font-size:12.5px; color:#7d97a0; margin:14px 0 0; }
.fox-chip-blue{ background:#fff; color:#2f9bb5; font-weight:700; font-size:13.5px; padding:8px 16px; border-radius:999px; }

.fox-detail-list{ max-width:1000px; margin:0 auto; display:flex; flex-direction:column; gap:18px; }
.fox-detail-row{ display:flex; gap:22px; align-items:flex-start; background:#fff; border-radius:22px; padding:28px 30px; box-shadow:0 10px 26px rgba(251,36,114,0.08); }
.fox-detail-row--soft{ background:#FFF7FB; box-shadow:none; }
.fox-detail-row img{ width:50px; height:50px; object-fit:contain; flex:none; }
.fox-detail-row__title{ font-size:17px; font-weight:900; color:#FB2472; margin:0 0 6px; }
.fox-detail-row__text{ font-size:14.5px; line-height:1.9; color:#6b5a62; margin:0; }

.fox-cta-box{
  max-width:840px; margin:0 auto; background:linear-gradient(135deg,#FE85B2,#FB2472);
  border-radius:28px; padding:44px; text-align:center; color:#fff;
  box-shadow:0 18px 40px rgba(251,36,114,0.26);
}
.fox-cta-box__title{ font-size:24px; font-weight:900; margin:0 0 12px; }
.fox-cta-box__text{ font-size:15.5px; line-height:2.0; margin:0 0 28px; opacity:0.96; }
.fox-cta-box__btn{
  display:inline-flex; align-items:center; gap:10px; background:#fff; color:#FB2472;
  text-decoration:none; font-weight:700; font-size:17px; padding:15px 36px; border-radius:999px;
  box-shadow:0 8px 20px rgba(0,0,0,0.12); transition:transform .2s ease;
}
.fox-cta-box__btn i{ color:#06C755; }
.fox-cta-box__btn:hover{ transform:translateY(-2px); opacity:1; }

/* ====== スタジオページ ====== */
.fox-studio-intro{ position:relative; padding:150px 24px 48px; background:#fff; text-align:center; overflow:hidden; }
.fox-studio-intro__bg{ position:absolute; top:0; left:0; width:100%; height:auto; opacity:0.5; pointer-events:none; z-index:0; }
.fox-studio-intro__body{ position:relative; z-index:1; max-width:760px; margin:0 auto; }
.fox-studio-intro__title{ font-size:28px; font-weight:900; color:#FB2472; margin:0 0 18px; line-height:1.5; }
.fox-studio-intro__text{ font-size:16px; line-height:2.0; color:#6b5a62; margin:0; }

.fox-studio-gallery{ max-width:1100px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); grid-auto-rows:200px; gap:18px; }
.fox-studio-tile{ position:relative; overflow:hidden; border-radius:24px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; color:#fff; text-align:center; padding:10px; }
.fox-studio-tile__img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.fox-studio-tile--big{ grid-column:span 2; grid-row:span 2; background:linear-gradient(135deg,#FFE3EF,#FE85B2); }
.fox-studio-tile--c1{ background:linear-gradient(135deg,#E2F7FC,#7cc7d8); }
.fox-studio-tile--c2{ background:linear-gradient(135deg,#FFF0F6,#FFD8E8); color:#c76491; }
.fox-studio-tile--c3{ background:linear-gradient(135deg,#FFE3EF,#E2F7FC); color:#c76491; }
.fox-studio-tile--c4{ background:linear-gradient(135deg,#E2F7FC,#EAF8FC); color:#2f9bb5; }
.fox-studio-tile__icon{ font-size:54px; }
.fox-studio-tile--big .fox-studio-tile__label{ font-size:13px; font-weight:500; }
.fox-studio-tile__label{ position:relative; z-index:1; font-size:12px; color:#fff; background:rgba(0,0,0,0.4); padding:6px 14px; border-radius:999px; }

/* ====== ブログ一覧 / 詳細 ====== */
.fox-inner--blog{ max-width:1120px; margin:0 auto; }
.fox-blog-layout{ max-width:1120px; margin:0 auto; display:grid; grid-template-columns:1fr 300px; gap:48px; align-items:start; }
.fox-cat-filter{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:32px; }
.fox-cat-chip{ text-decoration:none; background:#FFF0F6; color:#FB2472; font-size:13px; font-weight:700; padding:8px 18px; border-radius:999px; transition:opacity .2s ease; }
.fox-cat-chip.is-active{ background:#FB2472; color:#fff; }
.fox-cat-chip--blue{ background:#EAF8FC; color:#2f9bb5; }
.fox-cat-chip:hover{ opacity:0.82; }

.fox-article-list{ display:flex; flex-direction:column; gap:20px; }
.fox-article{ text-decoration:none; color:inherit; display:flex; gap:22px; background:#fff; border-radius:22px; padding:18px; box-shadow:0 10px 26px rgba(251,36,114,0.10); }
.fox-article:hover{ opacity:1; }
.fox-article__thumb{ flex:none; width:180px; aspect-ratio:16/11; border-radius:16px; display:flex; align-items:center; justify-content:center; font-size:34px; overflow:hidden; }
.fox-article__thumb img{ width:100%; height:100%; object-fit:cover; }
.fox-article__thumb--p1{ background:linear-gradient(135deg,#FFE3EF,#FE85B2); }
.fox-article__thumb--p2{ background:linear-gradient(135deg,#E2F7FC,#7cc7d8); }
.fox-article__thumb--p3{ background:linear-gradient(135deg,#FFF0F6,#FFD8E8); }
.fox-article__thumb--p4{ background:linear-gradient(135deg,#FFE3EF,#E2F7FC); }
.fox-article__body{ padding:6px 6px 6px 0; }
.fox-article__meta{ display:flex; gap:10px; align-items:center; margin-bottom:8px; }
.fox-article__title{ font-size:17px; font-weight:700; margin:0 0 8px; line-height:1.5; color:#4a3b42; }
.fox-article__excerpt{ font-size:13.5px; color:#8a7780; margin:0; line-height:1.8; }

.fox-pager{ display:flex; justify-content:center; align-items:center; gap:10px; margin-top:40px; font-family:"Josefin Sans",sans-serif; }
.fox-pager a{ text-decoration:none; height:42px; display:flex; align-items:center; justify-content:center; font-weight:700; background:#FFF0F6; color:#FB2472; transition:opacity .2s ease; }
.fox-pager__num{ width:42px; border-radius:50%; }
.fox-pager__num.is-current{ background:#FB2472; color:#fff; }
.fox-pager__next{ padding:0 18px; border-radius:999px; }
.fox-pager a:hover{ opacity:0.82; }

.fox-side{ display:flex; flex-direction:column; gap:24px; }
.fox-side-box{ background:#FFF7FB; border-radius:22px; padding:26px; }
.fox-side-box__title{ font-size:15px; font-weight:900; color:#FB2472; margin:0 0 16px; padding-bottom:10px; border-bottom:2px solid #FFE3EF; }
.fox-side-cats{ display:flex; flex-direction:column; gap:2px; }
.fox-side-cats a{ text-decoration:none; color:#6b5a62; font-size:14px; padding:9px 0; border-bottom:1px solid #f3e3ea; display:flex; justify-content:space-between; }
.fox-side-cats a:last-child{ border-bottom:none; }
.fox-side-cats a span:last-child{ color:#b0a0a8; }
.fox-side-cats a:hover{ color:#FB2472; opacity:1; }
.fox-side-recent{ display:flex; flex-direction:column; gap:14px; }
.fox-side-recent a{ text-decoration:none; color:inherit; display:flex; gap:12px; align-items:center; }
.fox-side-recent a:hover{ opacity:0.85; }
.fox-side-recent__thumb{ flex:none; width:56px; height:56px; border-radius:12px; }
.fox-side-recent__thumb--p1{ background:linear-gradient(135deg,#FFE3EF,#FE85B2); }
.fox-side-recent__thumb--p2{ background:linear-gradient(135deg,#E2F7FC,#7cc7d8); }
.fox-side-recent__thumb--p3{ background:linear-gradient(135deg,#FFF0F6,#FFD8E8); }
.fox-side-recent span{ font-size:13px; font-weight:500; line-height:1.5; color:#4a3b42; }
.fox-side-arch{ display:flex; flex-direction:column; gap:2px; font-family:"Josefin Sans",sans-serif; }
.fox-side-arch a{ text-decoration:none; color:#6b5a62; font-size:14px; padding:8px 0; border-bottom:1px solid #f3e3ea; }
.fox-side-arch a:last-child{ border-bottom:none; }
.fox-side-arch a:hover{ color:#FB2472; opacity:1; }
.fox-side-cta{ text-decoration:none; display:block; background:linear-gradient(135deg,#FE85B2,#FB2472); border-radius:22px; padding:28px; text-align:center; color:#fff; box-shadow:0 12px 30px rgba(251,36,114,0.22); transition:transform .2s ease; }
.fox-side-cta:hover{ transform:translateY(-3px); opacity:1; }
.fox-side-cta__title{ font-size:16px; font-weight:900; margin:0 0 6px; }
.fox-side-cta__note{ font-size:12.5px; margin:0; opacity:0.9; }

/* ブログ詳細 */
.fox-entry__crumb{ font-size:13px; color:#a07f8d; margin:0 0 28px; }
.fox-entry__crumb a{ color:#a07f8d; text-decoration:none; }
.fox-entry__crumb a:hover{ color:#FB2472; opacity:1; }
.fox-entry__meta{ display:flex; gap:12px; align-items:center; margin-bottom:14px; }
.fox-entry__date{ font-size:13px; color:#b0a0a8; font-family:"Josefin Sans",sans-serif; }
.fox-entry__title{ font-size:30px; font-weight:900; color:#4a3b42; margin:0 0 28px; line-height:1.5; }
.fox-entry__hero{ border-radius:24px; overflow:hidden; aspect-ratio:16/9; background:linear-gradient(135deg,#FFE3EF,#FE85B2); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; color:#fff; margin-bottom:36px; }
.fox-entry-body{ font-size:16px; line-height:2.1; color:#5a4a52; }
.fox-entry-body p{ margin:0 0 24px; }
.fox-entry-body h2{ font-size:22px; font-weight:900; color:#FB2472; margin:40px 0 16px; padding-left:14px; border-left:5px solid #FE85B2; }
.fox-entry-note{ background:#FFF7FB; border-radius:20px; padding:28px; margin:32px 0; }
.fox-entry-note__title{ font-size:15px; font-weight:700; color:#FB2472; margin:0 0 10px; }
.fox-entry-note p{ font-size:14.5px; line-height:1.9; color:#6b5a62; margin:0; }
.fox-entry-foot{ margin-top:44px; padding-top:28px; border-top:1px solid #f3e3ea; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; }
.fox-entry-foot__back{ text-decoration:none; color:#FB2472; font-weight:700; font-size:15px; }
.fox-entry-foot__back:hover{ opacity:0.8; }

/* ====== お問い合わせ（共通CTA） ====== */
.fox-contact{ position:relative; background:linear-gradient(160deg,#FFF0F6 0%,#E2F7FC 100%); overflow:hidden; }
.fox-contact .container-narrow{ max-width:1100px; }
.fox-contact__deco{ position:absolute; height:auto; pointer-events:none; opacity:0.95; }
.fox-contact__deco--tr{ top:0; right:0; width:560px; max-width:50%; }
.fox-contact__deco--bl{ bottom:0; left:0; width:520px; max-width:48%; }
.fox-contact__grid{ display:grid; grid-template-columns:1fr 1fr; gap:28px; align-items:stretch; }
.fox-contact__card{ background:#fff; border-radius:28px; padding:36px 32px; box-shadow:0 16px 40px rgba(251,36,114,0.12); }
.fox-contact__card--line{ display:flex; flex-direction:column; align-items:center; text-align:center; justify-content:center; }
.fox-contact__card-title{ font-size:18px; font-weight:700; margin:0 0 6px; color:#4a3b42; }
.fox-contact__card-title--left{ text-align:left; margin-bottom:18px; }
.fox-contact__card-desc{ font-size:14px; color:#8a7780; margin:0 0 24px; line-height:1.8; }
.fox-contact__qr{ width:180px; height:auto; margin:0 0 20px; border-radius:8px; }
.fox-form-label{ display:block; font-size:13px; font-weight:500; margin-bottom:6px; color:#4a3b42; }
.fox-input{ width:100%; box-sizing:border-box; border:1.5px solid #f3d3e1; border-radius:12px; padding:11px 14px; font-size:14px; font-family:inherit; margin-bottom:14px; background:#fffafc; }
.fox-input:focus{ outline:none; border-color:#FE85B2; }
textarea.fox-input{ resize:vertical; margin-bottom:18px; }
.fox-submit-btn{ width:100%; border:none; cursor:pointer; background:linear-gradient(90deg,#FB2472,#FE85B2); color:#fff; font-weight:700; font-size:16px; font-family:inherit; padding:14px; border-radius:999px; box-shadow:0 8px 20px rgba(251,36,114,0.28); transition:transform .2s ease; }
.fox-submit-btn:hover{ transform:translateY(-2px); }

/* CMSフォーム出力の左パディング解除 */
.form-contents form dl dd:not(.pattern-exclusion){ padding-left:0 !important; }

/* CMSフォーム 全体の角丸 */
.form-pattern-1{ border-radius:20px !important; }

/* CMSフォーム 必須マークの装飾 */
.form-pattern-1 dl dt:not(.pattern-exclusion) span.required::before{
  background:#FB2572 !important;
  border-radius:5px !important;
}

/* CMSフォーム 送信ボタンをサイトデザインに合わせる */
.form-contents .submit-btn,
.form-contents :not(.pattern-exclusion) button{
  width:100% !important;
  max-width:300px !important;
  margin:0 auto !important;
  padding:15px !important;
  border:none !important;
  border-radius:999px !important;
  background:linear-gradient(90deg,#FB2472,#FE85B2) !important;
  color:#fff !important;
  font-weight:700 !important;
  font-size:16px !important;
  font-family:inherit !important;
  box-shadow:0 8px 20px rgba(251,36,114,0.28) !important;
  cursor:pointer !important;
  transition:transform .2s ease, box-shadow .2s ease, opacity .2s ease !important;
}
.form-contents .submit-btn:hover,
.form-contents :not(.pattern-exclusion) button:hover{
  transform:translateY(-2px) !important;
  box-shadow:0 12px 26px rgba(251,36,114,0.38) !important;
  opacity:0.95 !important;
}

/* ====== フッター ====== */
.fox-footer{ background:#3a2630; color:#f6e7ee; }
.fox-footer__inner{ max-width:1100px; margin:0 auto; padding:56px 24px 28px; display:grid; grid-template-columns:1.1fr 1fr; gap:40px; }
.fox-footer__logo{ height:52px; width:auto; padding:8px 14px; border-radius:14px; margin-bottom:16px; }
.fox-footer__desc{ font-size:13.5px; line-height:1.9; color:#d9c3cd; margin:0; max-width:380px; }
.fox-footer__info{ font-size:13.5px; line-height:2.0; }
.fox-footer__info p{ margin:0; color:#cbb4bf; }
.fox-footer__info-head{ font-weight:700; color:#FE85B2 !important; margin:0 0 8px !important; letter-spacing:0.04em; }
/* PC・タブレットのみ改行（スマホは自然折り返し） */
.pcbr{ display:inline; }
.fox-footer__bottom{ border-top:1px solid rgba(255,255,255,0.12); }
.fox-footer__bottom-inner{ max-width:1100px; margin:0 auto; padding:16px 24px; display:flex; flex-wrap:wrap; gap:16px; align-items:center; justify-content:space-between; font-size:12px; color:#b7a1ac; }
.fox-footer__nav{ display:flex; flex-wrap:wrap; gap:18px; }
.fox-footer__nav a{ color:#d9c3cd; text-decoration:none; }
.fox-footer__nav a:hover{ color:#fff; opacity:1; }
.fox-footer__copy{ font-family:"Josefin Sans",sans-serif; letter-spacing:0.06em; }

/* ====== SP固定バー ====== */
.fox-fixed-tel{ font-weight:700; color:#FB2472 !important; }
.fox-fixed-tel i{ color:#FB2472; }
.fox-fixed-line{ display:flex; align-items:center; justify-content:center; gap:6px; margin:0 8px; background:#06C755; color:#fff !important; border-radius:999px; font-weight:700; padding:8px 4px; }
.fox-fixed-line i{ color:#fff; }

/* ====== スクロールフェードイン ====== */
.fox-fade{ opacity:0; transform:translateY(28px); transition:opacity .7s ease, transform .7s ease; }
.fox-fade.is-visible{ opacity:1; transform:none; }

/* ====== お仕事の流れ（5ステップ）内 LINEボタン ====== */
.fox-flowrow__cta{ margin-top:16px; }

/* ====== 報酬率（TOP・大きく表示） ====== */
.fox-rate-hero{
  max-width:760px; margin:0 auto; text-align:center;
  background:linear-gradient(135deg,#FE85B2,#FB2472); color:#fff;
  border-radius:32px; padding:44px 32px;
  box-shadow:0 18px 44px rgba(251,36,114,0.26);
}
.fox-rate-hero__label{ font-size:16px; font-weight:700; letter-spacing:0.1em; margin:0 0 8px; opacity:0.95; }
.fox-rate-hero__main{ font-family:"Josefin Sans",sans-serif; font-weight:700; font-size:84px; line-height:1; margin:0; white-space:nowrap; }
.fox-rate-hero__pct{ font-size:46px; }
.fox-rate-hero__breakdown{ display:flex; flex-wrap:wrap; gap:14px; justify-content:center; margin:24px 0 0; }
.fox-rate-hero__chip{ background:rgba(255,255,255,0.18); border-radius:999px; padding:10px 22px; font-size:15px; font-weight:500; }
.fox-rate-hero__chip b{ font-weight:700; font-size:18px; }
.fox-rate-hero__note{ font-size:13px; line-height:1.8; margin:22px auto 0; max-width:600px; opacity:0.92; }

/* ====== お仕事の特徴（about / Love Tip®） ====== */
.fox-midhead{ text-align:center; font-size:21px; font-weight:900; color:#FB2472; margin:44px 0 22px; }
.fox-feature-note{ font-size:15px; line-height:2.0; color:#6b5a62; margin:30px 0 0; }
.fox-feature-q{ text-align:center; font-size:18px; font-weight:900; color:#FB2472; margin:24px 0 0; }

/* ====== 安全性ページ ====== */
.fox-safety{ display:grid; grid-template-columns:0.9fr 1.1fr; gap:40px; align-items:center; max-width:1000px; margin:0 auto; }
.fox-safety--rev .fox-safety__figure{ order:2; }
.fox-safety__figure{
  aspect-ratio:4/3; border-radius:24px; overflow:hidden;
  background:linear-gradient(135deg,#FFE3EF,#E2F7FC);
  display:flex; align-items:center; justify-content:center; text-align:center; padding:20px;
  box-shadow:0 14px 36px rgba(251,36,114,0.10);
}
.fox-safety__figure--dmca{ background:linear-gradient(135deg,#E2F7FC,#EAF8FC); }
.fox-safety__figure img{ width:100%; height:100%; object-fit:cover; }
.fox-safety__figure--dmca img{ object-fit:contain; }
.fox-safety__figure-label{ font-size:13px; font-weight:700; color:#b07c8f; }
.fox-safety__title{ font-size:22px; font-weight:900; color:#FB2472; margin:14px 0 14px; line-height:1.5; }
.fox-safety__text{ font-size:15px; line-height:2.0; color:#6b5a62; margin:0; }
.fox-safety__proof{
  margin:18px 0 0; background:#fff; border-left:5px solid #FE85B2; border-radius:0 14px 14px 0;
  padding:14px 18px; font-size:14px; font-weight:700; color:#FB2472; line-height:1.7;
  box-shadow:0 8px 20px rgba(251,36,114,0.08);
}

/* ====== よくある質問（Q&A） ====== */
.fox-qa{ display:flex; flex-direction:column; gap:18px; }
.fox-qa-item{ background:#fff; border-radius:22px; padding:26px 30px; box-shadow:0 10px 26px rgba(251,36,114,0.10); }
.fox-qa-q{ display:flex; gap:14px; align-items:flex-start; font-size:17px; font-weight:900; color:#4a3b42; margin:0; line-height:1.6; }
.fox-qa-a{ display:flex; gap:14px; align-items:flex-start; font-size:14.5px; line-height:1.9; color:#6b5a62; margin:16px 0 0; padding-top:16px; border-top:1px dashed #f3d3e1; }
.fox-qa-mark{
  flex:none; width:30px; height:30px; border-radius:50%;
  background:linear-gradient(135deg,#FE85B2,#FB2472); color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-family:"Josefin Sans",sans-serif; font-weight:700; font-size:16px;
}
.fox-qa-mark--a{ background:linear-gradient(135deg,#7cc7d8,#2f9bb5); }

/* ==========================================================================
   レスポンシブ
   ========================================================================== */
@media (max-width:1100px){
  .fox-nav{ display:none; }
  .fox-header__main > .fox-line-btn--sm{ display:none; }
  .fox-topbar__inner{ justify-content:center; }
}

@media (max-width:896px){
  .fox-sec{ padding:56px 20px; }
  .fox-work,
  .fox-work--about{ grid-template-columns:1fr; gap:28px; }
  .fox-work--about .fox-work__img{ order:-1; }
  .fox-grid-3,
  .fox-grid-3--benefit,
  .fox-mini-grid{ grid-template-columns:repeat(2,1fr); }
  .fox-voice-feature{ grid-template-columns:1fr; gap:24px; }
  .fox-blog-layout{ grid-template-columns:1fr; gap:36px; }
  .fox-safety{ grid-template-columns:1fr; gap:24px; }
  .fox-safety--rev .fox-safety__figure{ order:0; }
  .fox-rate-hero__main{ font-size:68px; }
  .fox-promise__title{ font-size:30px; }
  .fox-sec-title,
  .fox-page-hero__title{ font-size:28px; }
  .fox-studio-intro{ padding:90px 20px 40px; }
}

@media (max-width:639px){
  .fox-topbar{ display:none; }
  .pcbr{ display:none; }
  .fox-footer__nav{ display:none; }
  .fox-hero__btns{ padding:24px 16px 4px; }
  .fox-line-btn--hero{ font-size:17px; padding:16px 30px; }
  .fox-outline-btn--hero{ font-size:16px; padding:16px 26px; }
  .fox-promise{ padding:40px 16px 48px; }
  .fox-promise__box{ padding:40px 22px 32px; }
  .fox-promise__title{ font-size:24px; }
  .fox-promise__text{ text-align:left; }
  .fox-flow{ padding:28px 20px; }
  .fox-flow-steps{ grid-template-columns:repeat(2,1fr); gap:22px 14px; }
  .fox-grid-2,
  .fox-grid-3,
  .fox-grid-3--benefit,
  .fox-mini-grid,
  .fox-studio-gallery{ grid-template-columns:1fr; }
  .fox-studio-gallery{ grid-auto-rows:auto; }
  .fox-studio-tile{ min-height:160px; }
  .fox-studio-tile--big{ grid-column:auto; grid-row:auto; min-height:200px; }
  .fox-flowrow{ flex-direction:column; align-items:flex-start; text-align:left; gap:14px; padding:22px; }
  .fox-info-card,
  .fox-detail-row{ flex-direction:column; }
  .fox-article{ flex-direction:column; }
  .fox-article__thumb{ width:100%; }
  .fox-contact__grid{ grid-template-columns:1fr; }
  .fox-studio-intro__title{ font-size:24px; }
  .fox-lead{ font-size:15px; }
  .fox-contact{ padding-left:15px; padding-right:15px; }
  .fox-contact .container-narrow{ max-width:100%; width:100%; }
  .fox-footer__inner{ grid-template-columns:1fr; gap:28px; }
  .fox-footer__bottom-inner{ flex-direction:column; align-items:flex-start; gap:12px; }
  .fox-rate__value{ font-size:52px; }
  .fox-rate-hero{ padding:36px 20px; }
  .fox-rate-hero__main{ font-size:clamp(30px, 11vw, 52px); }
  .fox-rate-hero__pct{ font-size:clamp(18px, 6.6vw, 30px); }
  .fox-qa-item{ padding:22px 20px; }
  .fox-sec-title,
  .fox-page-hero__title{ font-size:25px; }
  .fox-entry__title{ font-size:24px; }
}
