/* リモデラBiz（/biz）専用。
   現行 STUDIO 版（service.remodela.jp/biz）のレイアウト・余白・文字サイズ・色をページ専用にそのまま写している。値は現行のスタイル規則（幅ごと）から取った。
   - 現行の本文には表示アニメーション・ホバーの動きが無い（動くのはヘッダーのボタンだけ）
   - 現行 /biz はサイト共通フッターあり・右下の「ページ先頭へ」ボタンなし（shared.css の既定どおり出さない）
   - ヘッダーは Biz 専用（ロゴは /biz へ、お問い合わせ・ログインのみ）。現行は固定表示で本文が 70px（540px 以下は 60px）下から始まる。ここのヘッダーは追従表示で同じ高さを占める
   ブレークポイントは現行と同じ 1280 / 840 / 540 / 320px。 */
.bz{--teal:#008887;--teal-2:#0b9d9c;--teal-3:#007574;--txt:#333;--ink:#242528;--deep:#085f2a;
  display:flex;flex-direction:column;align-items:center;background:#fff;color:var(--txt)}
/* 現行（STUDIO）の部品は縮まず（flex-shrink:0）親の幅を超えない（max-width:100%）。文字は語の途中でも折り返せる */
.bz *{flex-shrink:0;max-width:100%}
.bz :is(p,h1,h2,h3,li,span){overflow-wrap:anywhere;text-wrap-style:auto}
/* 見やすさの改善: 現行は幅によって語の途中（「スロー／ガン」「写真管／理」「レビ／ュー」など）で改行していたため、
   <wbr> を入れた文節の区切りでだけ折り返す（1行に収まる幅の見た目は現行と同じ） */
.bz .bz-kw{word-break:keep-all;overflow-wrap:anywhere}
.bz img{display:block;max-width:100%;height:auto}

/* ---------- ヘッダー（Biz 専用。現行のヘッダーの寸法・色） ---------- */
.biz-header{padding:0 30px;border-bottom:0;font-family:Overpass,'Noto Sans JP','Open Sans',sans-serif;line-height:1}
.biz-header .header-inner{width:1280px;max-width:100%;height:70px;min-height:0;margin:auto;gap:0;justify-content:space-between}
.biz-header .brand{width:135px;gap:0;transition:opacity .3s cubic-bezier(.4,.4,0,1)}
.biz-header .brand img{width:100%}
.biz-header .brand:hover{opacity:.7}
.biz-header .menu-toggle{display:none}
.biz-header .header-nav{align-self:flex-start;margin-left:auto;padding-top:15px;display:flex;align-items:flex-start;gap:0;font-size:16px;font-weight:600;line-height:1;color:var(--ink, #242528)}
.biz-header .header-nav>a{display:flex;align-items:center;justify-content:center;margin-left:10px;border:2px solid #fff;border-radius:128px;background:rgba(255,255,255,.95);color:#242528;font-feature-settings:'palt' 1;white-space:nowrap;transition:opacity .3s cubic-bezier(.4,.4,0,1),background .3s cubic-bezier(.4,.4,0,1)}
.biz-header .header-nav>a:hover{color:#242528;opacity:.7}
.biz-header .header-nav .btn{min-height:0;gap:5px;padding:10px 15px 7px;border-color:#fbbc46;font-size:16px;font-weight:600;line-height:1;box-shadow:none}
.biz-header .header-nav .btn:hover{transform:none;background:linear-gradient(90deg,#ff6,#ffb054)}
.biz-header .header-nav .biz-login{gap:3px;padding:10px 5px 7px}
.biz-header .biz-login-icon{flex:none;width:14px;height:14px;margin-top:-3px;fill:#333}
@media (max-width:1280px){
  .biz-header{padding:0 15px}
  .biz-header .brand{width:140px}
  .biz-header .header-nav .btn,.biz-header .header-nav .biz-login{font-size:14px}
}
/* 840px 以下: メニューボタン（現行は Material Icons の menu / close）。開くと画面全体の白いメニュー */
@media (max-width:840px){
  .biz-header{padding:0}
  .biz-header .brand{width:120px;margin-left:30px}
  .biz-header .menu-toggle{display:block;flex:none;align-self:flex-start;width:36px;height:36px;margin:16px 15px 0;padding:0;border:0;border-radius:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23333' d='M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'/%3E%3C/svg%3E") center/36px no-repeat;color:transparent;font-size:0}
  .biz-header .menu-toggle[aria-expanded="true"]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23333' d='M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z'/%3E%3C/svg%3E")}
  .biz-header .header-nav{display:none}
  /* 開いている間（現行のメニュー画面と同じく上の帯は 90px・540px 以下は 60px、全体を 1px の枠で囲む） */
  .biz-header:has(.header-nav.is-open){box-shadow:inset 0 1px #ddd,inset 1px 0 #ddd,inset -1px 0 #ddd}
  .biz-header:has(.header-nav.is-open){margin-bottom:-21px}
  .biz-header:has(.header-nav.is-open) .header-inner{height:91px;padding-top:1px;border-bottom:1px solid #ddd}
  .biz-header:has(.header-nav.is-open) .brand{position:relative;left:1px;width:140px}
  .biz-header:has(.header-nav.is-open) .menu-toggle{position:relative;right:1px;align-self:center;margin-top:0}
  .biz-header .header-nav.is-open{position:fixed;top:91px;right:0;bottom:0;left:0;z-index:60;align-self:stretch;margin:0;padding:100px 30px 0;display:flex;flex-direction:column;align-items:center;gap:15px;border:1px solid #ddd;border-top:0;background:#fff;box-shadow:none;overflow-y:auto;animation:biz-menu-in .4s cubic-bezier(.4,.4,0,1)}
  .biz-header .header-nav.is-open>a{margin:0}
  .biz-header .header-nav.is-open .btn{width:calc(50% - 7.5px);padding:10px 20px;background:transparent;font-size:16px;font-weight:800;line-height:1.75;letter-spacing:.1em;text-align:center}
  .biz-header .header-nav.is-open .btn:hover{background:transparent;opacity:.8}
  .biz-header .header-nav.is-open .biz-login{width:100%;padding:12px 15px;font-size:16px;font-weight:700;gap:5px}
  .biz-header .header-nav.is-open .biz-login-icon{margin:0 0 2px}
}
@keyframes biz-menu-in{from{opacity:0;translate:40px 0}to{opacity:1;translate:0 0}}
@media (prefers-reduced-motion:reduce){.biz-header .header-nav.is-open{animation:none}}
@media (max-width:540px){
  .biz-header .header-inner{height:60px}
  .biz-header .brand{width:100px}
  .biz-header .menu-toggle{margin-top:12px}
  .biz-header:has(.header-nav.is-open){margin-bottom:-1px}
  .biz-header:has(.header-nav.is-open) .header-inner{height:61px}
  .biz-header:has(.header-nav.is-open) .brand{width:100px}
  .biz-header .header-nav.is-open{top:61px;padding:100px 15px 0}
  .biz-header .header-nav.is-open .btn{padding:5px 10px;font-size:14px;font-weight:700;line-height:1.75;letter-spacing:normal}
  .biz-header .header-nav.is-open .biz-login{padding:7px 15px 5px;font-size:14px;line-height:1.7}
}
@media (max-width:320px){
  .biz-header .brand{margin-left:15px}
  .biz-header .header-nav.is-open .btn{padding:5px 0}
  .biz-header .header-nav.is-open .biz-login{padding:7px 0 5px}
}

/* ---------- ファーストビュー ---------- */
.bz .bz-hero{position:relative;z-index:1;width:100%;background:#ebf3cd;display:flex;flex-direction:column;align-items:center;justify-content:center}
.bz .bz-hero::before{content:'';position:absolute;inset:0;z-index:0;background:url(img/hero-bg.webp) 50% 50%/cover no-repeat}
.bz .bz-hero__in{position:relative;z-index:0;width:1400px;max-width:100%;padding:0 15px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.bz .bz-hero__row{position:relative;z-index:1;width:100%;padding-top:50px;display:flex;align-items:center;justify-content:center;gap:30px}
.bz .bz-hero__text{width:calc(40% - 18px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.bz .bz-hero__copy{max-width:100%;display:flex;flex-wrap:wrap;align-items:flex-start}
.bz .bz-hero__title{max-width:100%;margin:0;display:flex;flex-direction:column;align-items:flex-start}
.bz .bz-hero__catch{max-width:100%;color:#fff;font-size:28px;font-weight:800;line-height:1.5;text-align:center;font-feature-settings:'palt' 1}
.bz .bz-hero__logo{width:320px;margin:10px 0 30px}
/* 押せる部品と見分けがつくよう、枠で囲まずにチェックの付いた箇条書きにする */
.bz .bz-hero__chips{width:auto;margin-bottom:30px;display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.bz .bz-chip{width:auto;padding:0;display:flex;align-items:center;justify-content:flex-start;gap:8px}
.bz .bz-chip img{width:29px}
.bz .bz-chip__t{max-width:100%;color:#fff;font-size:16px;font-weight:800;line-height:1.5;text-align:left;font-feature-settings:'palt' 1}
.bz .bz-hero__free{width:340px}
.bz .bz-hero__visual{width:calc(45% - 16.5px);display:flex;flex-direction:column;align-items:center}
.bz .bz-hero__visual img{width:100%}
.bz .bz-note{width:100%;background:#2b2b2b;display:flex;flex-direction:column;align-items:center;justify-content:center}
.bz .bz-note p{max-width:100%;padding:15px;color:#fff;font-size:16px;line-height:1.4;text-align:left}

/* ---------- リモデラBizがあれば / FREE PLAN ---------- */
.bz .bz-about{width:100%;background:#f5f5f5;display:flex;flex-direction:column;align-items:center}
.bz .bz-intro{width:1280px;max-width:100%;margin-bottom:40px;padding:40px 0;display:flex;flex-direction:column;align-items:center}
.bz .bz-intro__in{width:100%;margin-bottom:50px;padding:0 40px;display:flex;flex-direction:column;align-items:center}
.bz .bz-intro__row{width:100%;display:flex;align-items:center;justify-content:flex-start;gap:60px}
.bz .bz-intro__fig{width:calc(50% - 30px);display:flex;flex-direction:column;align-items:flex-start;gap:15px}
.bz .bz-intro__fig img{width:480px;margin-bottom:35px}
.bz .bz-intro__body{width:calc(50% - 30px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px}
.bz .bz-intro__title{width:100%;margin:0;display:flex;flex-wrap:wrap;align-items:center;color:var(--txt);font-size:24px;font-weight:700;line-height:1.7}
.bz .bz-intro__t1{width:100%}
.bz .bz-intro__mark{max-width:calc(100% - 5px);margin-right:5px;padding:0 5px;background:var(--teal);color:#fff}
.bz .bz-intro__text{width:100%;font-size:16px;line-height:1.7}
.bz .bz-free{width:605px;max-width:100%;margin:30px 0 15px;display:flex;align-items:center;justify-content:center;color:var(--teal);line-height:1.4}
.bz .bz-free__slash{width:3%;max-width:3%;display:flex;justify-content:center;font-size:28px}
.bz .bz-free__slash--l{margin-top:1px}
.bz .bz-free__txt{max-width:100%;padding:0 15px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;font-weight:800}
.bz .bz-free__plan{font-size:24px}
.bz .bz-free__yen{font-size:28px}
.bz .bz-free__zero{font-size:32px}
/* ボタンと見分けがつくよう、塗りの帯・矢印をやめて淡い地のお知らせにする */
.bz .bz-band{width:100%;padding:10px 0;border-radius:8px;background:#e3f1f1;display:flex;align-items:center;justify-content:center;color:var(--ink);font-size:24px;font-weight:700;line-height:1.4}
.bz .bz-band__t{padding:1px}
.bz .bz-band__zero{margin-left:5px;color:var(--teal-3);font-size:48px;line-height:1}
.bz .bz-band__yen{margin-right:5px;color:var(--teal-3)}

/* ---------- リモデラBizでできること ---------- */
.bz .bz-can{width:1280px;max-width:100%;margin-bottom:80px;padding:0 40px;display:flex;flex-direction:column;align-items:flex-start}
.bz .bz-can__in{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px}
.bz .bz-can__title{width:100%;margin:0;display:flex;align-items:flex-end;justify-content:center;gap:10px;color:var(--txt);font-size:36px;font-weight:800;line-height:1}
.bz .bz-can__title::before{content:'';flex:none;width:52px;height:50px;background:url(img/check-green.webp) 50% 50%/cover no-repeat}
.bz .bz-can__list{width:100%;display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:flex-start;gap:60px}
.bz .bz-can__item{width:calc(33.33% - 40px);padding:30px 15px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}
.bz .bz-can__img{width:100%;border-radius:8px}
.bz .bz-can__h{max-width:100%;margin:20px 0 10px;color:var(--ink);font-size:24px;font-weight:700;line-height:1.5}
.bz .bz-can__desc{max-width:100%;font-size:16px;font-weight:500;line-height:1.75}
.bz .bz-can__note{width:100%;font-size:15px;line-height:1.4;text-align:right}

/* ---------- 機能 01〜03 ---------- */
.bz .bz-fn{width:100%;padding:70px 0;background:var(--teal);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff}
.bz .bz-fn--02{background:var(--teal-2)}
.bz .bz-fn__head{width:1280px;max-width:100%;margin-bottom:50px;padding:0 40px;display:flex;align-items:center;justify-content:center}
.bz .bz-fn__head-in{max-width:100%;display:flex;align-items:center;justify-content:center}
.bz .bz-fn__lead{max-width:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.bz .bz-fn__tag{max-width:100%;margin:0 0 15px;padding:5px 15px;background:#fff;color:var(--teal);font-size:22px;font-weight:700;line-height:1.6}
.bz .bz-fn__msg{max-width:100%;display:flex;align-items:center;justify-content:center}
.bz .bz-fn__msg::before{content:'';flex:none;width:87px;height:75px;max-width:calc(100% - 15px);margin-right:15px;background:url(img/check-light.webp) 50% 50%/cover no-repeat}
.bz .bz-fn__msg p{max-width:100%;font-size:28px;font-weight:700;line-height:1.62}
/* 見やすさの改善: 現行は 841〜1008px で「02」（03 は 841〜879px）の見出しが画面より広く、番号が左端に付き文章が右端で切れていた。
   幅が足りないときだけ文章を折り返して収める（収まる幅の見た目は現行と同じ） */
.bz .bz-fn__lead,.bz .bz-fn__msg p{flex-shrink:1;min-width:0}
.bz .bz-fn__body{width:1280px;max-width:100%;padding:0 40px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.bz .bz-fn__wrap{width:100%;display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:center}
/* 現行の一覧の幅は中身（アイコン画像の原寸 375px＋左右の余白）から決まり、項目が4つの「01」「03」は幅いっぱい、3つの「02」は 1185px。
   画像の読み込み前後で幅が変わらないよう、その幅を指定しておく */
.bz .bz-fn__list{width:100%;display:flex;align-items:center;justify-content:center}
.bz .bz-fn--02 .bz-fn__list{width:1185px}
.bz .bz-fn__item{width:calc(25% - 20px);height:360px;margin:0 10px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:36px}
.bz .bz-fn--03 .bz-fn__item:last-child{height:358px}
.bz .bz-fn__card{width:100%;height:280px;border-radius:16px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center}
.bz .bz-fn__card img{width:80%}
.bz .bz-fn__label{max-width:100%;font-size:20px;font-weight:700;line-height:1.4;text-align:left}
.bz .bz-fn__item--c .bz-fn__label{text-align:center}
.bz .bz-fn__extra{width:100%;margin-top:60px;padding:15px 0;border-radius:4px;background:var(--teal-3);display:flex;align-items:center;justify-content:center}
.bz .bz-fn__extra-icon{width:51px;height:53px;max-width:calc(100% - 15px);margin-right:15px;object-fit:cover}
.bz .bz-fn__extra p{max-width:100%;font-size:20px;font-weight:700;line-height:1.4}
.bz .bz-fn__company{width:100%;margin-top:60px;padding:15px 0;border-radius:4px;background:var(--teal-3);display:flex;align-items:center;justify-content:center}
.bz .bz-fn__company img{width:163px;max-width:calc(100% - 70px);margin-right:70px}
.bz .bz-fn__company-text{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.bz .bz-fn__company-lead{max-width:100%;margin-bottom:15px;font-size:20px;font-weight:700;line-height:1.4}
.bz .bz-fn__company-note{max-width:100%;font-size:15px;line-height:1.4}

/* ---------- まずは実際にお試しください ---------- */
.bz .bz-try{width:100%;padding:140px 0;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center}
.bz .bz-try__in{width:1280px;max-width:100%;padding:0 40px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.bz .bz-try__box{width:100%;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.2);display:flex;flex-direction:column;align-items:center}
.bz .bz-try__title{max-width:100%;margin:-30px 0 0;display:flex;align-items:center;justify-content:center;color:var(--txt);font-size:40px;font-weight:700;line-height:1.4}
.bz .bz-try__slash{width:3%;max-width:3%;display:flex;justify-content:center;font-weight:400}
.bz .bz-try__text{max-width:100%}
.bz .bz-try__body{width:100%;padding:60px 40px 80px;display:flex;align-items:center;justify-content:center}
.bz .bz-try__dev{width:200px;max-width:calc(100% - 30px);margin-right:30px}
.bz .bz-try__price{width:200px;max-width:calc(100% - 60px);margin-right:60px}
.bz .bz-try__lead{max-width:100%;font-size:20px;font-weight:700;line-height:1.7}
.bz .bz-try__cta{display:flex;flex-direction:column;align-items:flex-start;gap:24px}
.bz .bz-try__btn{min-height:56px;padding:12px 32px 12px 40px;border-radius:99px;background:linear-gradient(90deg,#ff6,#ffb054);box-shadow:3px 3px 0 rgba(0,0,0,.2);display:inline-flex;align-items:center;justify-content:center;gap:6px;color:#282828;font-size:20px;font-weight:700;line-height:1.4;text-decoration:none;transition:opacity .3s}
.bz .bz-try__btn:hover{opacity:.85}
.bz .bz-try__btn svg{width:24px;height:24px;fill:currentColor}

/* ---------- SUPPORT ---------- */
/* 現行は写真が幅いっぱいの高さ（2400×899 の比率）で敷かれ、狭い幅では写真が足りず白文字が白地に重なって読めなかった。
   見やすさの改善として写真を枠いっぱいに切り抜いて敷く（写真が足りている幅の見た目は現行と同じ） */
.bz .bz-support{position:relative;width:100%;overflow:hidden;padding:100px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff}
.bz .bz-support__bg{position:absolute;top:0;left:0;z-index:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 0}
.bz .bz-support__en{position:relative;max-width:100%;margin-bottom:30px;font-size:24px;line-height:1.4;text-align:center}
.bz .bz-support__in{position:relative;width:1280px;max-width:100%;padding:0 40px;display:flex;flex-direction:column;align-items:center}
.bz .bz-support__title{max-width:100%;margin:0 0 30px;font-size:40px;font-weight:700;line-height:1.4}
.bz .bz-support__text{max-width:100%;padding:0 40px;font-size:20px;line-height:1.7}

/* ---------- ご相談・お問い合わせ ---------- */
.bz .bz-contact{width:100%;padding:100px;border:1px solid rgba(36,37,40,.1);background:#309873;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:40px}
.bz .bz-contact__head{max-width:100%;display:flex;flex-direction:column;align-items:center;gap:5px;text-align:center}
.bz .bz-contact__catch{max-width:100%;color:rgba(255,255,255,.77);font-size:18px;font-weight:700;line-height:1.75;font-feature-settings:'palt' 1}
.bz .bz-contact__title{max-width:100%;margin:0;color:rgba(255,255,255,.95);font-size:40px;font-weight:700;line-height:1.35;font-feature-settings:'palt' 1}
.bz .bz-contact__form{width:800px;max-width:100%;padding:60px 15px;background:rgba(255,255,255,.95);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:40px}
.bz .bz-contact__frame{width:64%;min-height:120px}
.bz .bz-tel-wrap{width:100%;display:flex;flex-direction:column;align-items:center}
.bz .bz-tel{width:800px;max-width:100%;margin-top:30px;padding:30px 0;border-radius:12px;background:#fff;box-shadow:5px 5px 0 rgba(0,0,0,.2);display:flex;flex-direction:column;align-items:center;color:var(--deep)}
.bz .bz-tel__title{max-width:100%;margin:0 0 15px;font-size:20px;font-weight:700;line-height:1.4;text-align:center}
.bz .bz-tel__num{max-width:100%;margin:0;padding-bottom:15px;display:flex;align-items:center;gap:10px}
.bz .bz-tel__num svg{flex:none;width:36px;height:36px;fill:var(--deep)}
.bz .bz-tel__num a{color:var(--deep);font:800 40px/1.4 Lato,sans-serif;text-decoration:none}
.bz .bz-tel__hours{max-width:100%;font-size:18px;line-height:1.4}

/* ---------- 1280px 以下 ---------- */
@media (max-width:1280px){
  .bz .bz-hero__in{padding:100px 15px 70px;justify-content:flex-start;width:100%}
  .bz .bz-hero__row{padding:0}
  .bz .bz-chip{flex-wrap:wrap;justify-content:flex-start}
  .bz .bz-intro__in{margin-bottom:0}
  .bz .bz-intro__row{gap:30px;justify-content:space-between}
  .bz .bz-intro__fig{gap:20px;width:calc(40% - 18px)}
  .bz .bz-intro__body{width:calc(50% - 15px)}
  .bz .bz-can__list{gap:30px}
  .bz .bz-can__item{width:calc(33.33% - 20px);gap:20px}
  .bz .bz-can__h{margin-top:0}
  .bz .bz-try__cta{align-items:center}
  .bz .bz-can__img{width:190px}
  .bz .bz-fn__list{flex-wrap:wrap}
  .bz .bz-fn__extra{flex-wrap:wrap}
  .bz .bz-fn__company{padding:15px}
  .bz .bz-try{padding:100px 60px}
  .bz .bz-try__body{flex-direction:column;gap:30px}
  .bz .bz-try__dev,.bz .bz-try__price{max-width:100%;margin:0}
  .bz .bz-support{padding:100px 60px}
  .bz .bz-contact{padding:100px 60px}
}
/* ---------- 840px 以下 ---------- */
@media (max-width:840px){
  .bz .bz-hero__in{overflow:hidden;padding:55px 15px 0}
  .bz .bz-hero__row{flex-wrap:wrap;gap:42px}
  .bz .bz-hero__text{align-items:center;width:calc(95% - 2.1px)}
  .bz .bz-hero__copy{width:100%;flex-direction:column;flex-wrap:nowrap;align-items:center;gap:3px}
  .bz .bz-hero__title{align-items:center;gap:3px}
  .bz .bz-hero__catch{font-size:24px}
  .bz .bz-hero__visual{width:calc(90% - 4.2px)}
  .bz .bz-intro__row{flex-direction:column;gap:0 30px}
  .bz .bz-intro__fig{align-items:center;width:100%;gap:15px}
  .bz .bz-intro__fig img{width:340px}
  .bz .bz-intro__body{width:100%}
  .bz .bz-intro__title{font-size:16px}
  .bz .bz-band{padding:10px 15px}
  .bz .bz-can{padding:0 20px}
  .bz .bz-can__title{font-size:24px}
  .bz .bz-can__title::before{width:35px;height:30px}
  .bz .bz-can__list{gap:0 30px}
  .bz .bz-can__item{width:100%;gap:0}
  .bz .bz-can__img{width:50%}
  .bz .bz-can__h{margin-top:20px}
  .bz .bz-can__h{font-size:20px}
  .bz .bz-fn__head{flex-direction:column}
  .bz .bz-fn__head-in{flex-direction:column}
  .bz .bz-fn__lead{align-items:center;justify-content:flex-start}
  .bz .bz-fn__tag{font-size:20px}
  .bz .bz-fn__msg p{font-size:20px}
  /* 見やすさの改善: 現行の「02」だけ項目が上下中央揃えで、2列目の項目が 14px 下がっていた。01・03 と同じく上揃えにする */
  .bz .bz-fn__list{align-items:flex-start}
  .bz .bz-fn__item,.bz .bz-fn--03 .bz-fn__item:last-child{width:calc(50% - 20px);height:auto}
  .bz .bz-fn--01 .bz-fn__item:first-child{height:360px}
  .bz .bz-fn__card{height:auto}
  .bz .bz-fn__card img{margin:15px 0}
  .bz .bz-fn__extra{padding:15px}
  .bz .bz-fn__company{flex-direction:column;padding:30px 15px}
  .bz .bz-fn__company img{max-width:100%;margin:0 0 30px}
  .bz .bz-try{padding:100px 40px}
  .bz .bz-try__title{font-size:20px}
  .bz .bz-try__slash--r{width:auto;max-width:100%}
  .bz .bz-support{padding:50px 40px}
  .bz .bz-support__title{font-size:28px}
  .bz .bz-contact{padding:50px 40px}
  .bz .bz-contact__title{font-size:28px}
  .bz .bz-contact__frame{width:100%}
  .bz .bz-tel{width:100%}
}
/* ---------- 540px 以下 ---------- */
@media (max-width:540px){
  /* 現行は下に空の部品があり、その間隔（20px）の分だけ下の余白が広い */
  .bz .bz-hero__in{padding:60px 15px 60px}
  .bz .bz-hero__row{gap:64px}
  .bz .bz-hero__text{width:calc(95% - 3.2px)}
  .bz .bz-hero__visual{width:calc(90% - 6.4px)}
  .bz .bz-chip__t{font-size:18px}
  .bz .bz-intro__in{gap:5px;padding:0 15px}
  .bz .bz-intro__row{align-items:flex-start;justify-content:center;gap:30px;padding-top:20px}
  .bz .bz-intro__fig{flex-direction:row;flex-wrap:wrap;align-items:flex-start;justify-content:center;gap:10px}
  .bz .bz-free__plan,.bz .bz-free__yen,.bz .bz-free__zero{font-size:16px}
  .bz .bz-band{flex-wrap:wrap}
  .bz .bz-band__t,.bz .bz-band__t2{font-size:18px}
  .bz .bz-can{align-items:center;padding:0 16px}
  .bz .bz-can__in{gap:5px}
  .bz .bz-can__list{justify-content:center;padding-top:20px}
  .bz .bz-can__item{gap:10px;justify-content:center}
  .bz .bz-can__h{margin-top:10px}
  .bz .bz-can__item:last-child{justify-content:flex-start}
  .bz .bz-can__item:nth-child(2) .bz-can__h{height:32px}
  .bz .bz-fn{padding:40px 0}
  .bz .bz-fn__head,.bz .bz-fn__body{padding:0 15px}
  .bz .bz-fn__msg{flex-wrap:wrap}
  .bz .bz-fn__extra-icon{width:41px;height:37px}
  .bz .bz-fn__extra p,.bz .bz-fn__company-lead{font-size:16px}
  .bz .bz-try{padding:59px 20px 60px}
  .bz .bz-try__in{padding:0}
  /* 見やすさの改善: 現行は見出しが 24px で2行に折れ、＼／が枠の外へずれていた。1行に収まる大きさにする（最大 24px） */
  .bz .bz-try__text{font-size:min(24px,calc((100vw - 80px) / 14.9))}
  .bz .bz-try__lead{font-size:16px}
  .bz .bz-try__btn{width:100%;font-size:18px}
  .bz .bz-support{padding:30px 20px}
  .bz .bz-support__en{margin-bottom:14px;font-size:20px}
  .bz .bz-support__in{padding:0}
  .bz .bz-support__title{margin-bottom:10px;font-size:20px}
  .bz .bz-support__text{padding:0;font-size:16px}
  .bz .bz-contact{gap:30px;padding:60px 20px}
  .bz .bz-contact__catch{font-size:14px}
  .bz .bz-contact__title{font-size:20px}
  .bz .bz-contact__form{gap:30px}
  .bz .bz-tel__title{font-size:16px}
  .bz .bz-tel__num{margin-bottom:15px;padding:0}
  .bz .bz-tel__num svg{width:28px;height:28px}
  .bz .bz-tel__num a{font-size:28px}
  .bz .bz-tel__hours{font-size:14px}
}
/* ---------- 320px 以下 ---------- */
@media (max-width:320px){
  .bz .bz-hero__in{padding:40px 15px 60px}
  .bz .bz-hero__text{width:100%}
  .bz .bz-hero__catch{font-size:20px}
  .bz .bz-chip{column-gap:5px;row-gap:0}
  .bz .bz-chip__t{font-size:16px}
  .bz .bz-can__in{flex-direction:row;flex-wrap:wrap;gap:20px}
  .bz .bz-can__title{flex-wrap:wrap}
  .bz .bz-fn__msg::before{width:38px;height:43px}
  .bz .bz-fn--01 .bz-fn__msg p{font-size:18px}
  .bz .bz-fn--02 .bz-fn__msg p{font-size:16px}
  .bz .bz-fn__list{max-width:100%}
  .bz .bz-fn__item{gap:15px}
  .bz .bz-fn--01 .bz-fn__item:first-child{height:auto}
  .bz .bz-fn__label{font-size:16px}
  .bz .bz-fn--03 .bz-fn__item:last-child .bz-fn__label{font-size:14px}
  .bz .bz-fn--02 .bz-fn__item:first-child .bz-fn__card img{width:auto;height:98px;max-width:100%}
  .bz .bz-fn--02 .bz-fn__body{align-items:center}
  .bz .bz-try__text{text-align:center}
  .bz .bz-try__body{padding:30px 15px 40px}
  .bz .bz-tel__num svg{width:24px;height:24px}
  .bz .bz-tel__num a{font-size:24px}
}
