/* 協力会社・職人マッチング（/match）専用。
   現行 STUDIO 版（service.remodela.jp/match）のレイアウト・余白・文字サイズ・色をページ専用にそのまま写している。値は現行のスタイル規則（幅ごと）から取った。
   - 現行の本文には表示アニメーション・ホバーの動きが無い（動くのはヘッダー・上の帯・導入企業ロゴの流れだけ）
   - 現行 /match はサイト共通のヘッダー・フッターを使わない（このページ専用のヘッダー・サービス一覧・紺のフッター）。右下の「ページ先頭へ」ボタンも無い
   - ヘッダーは現行どおり 1281px 以上で緑の帯（36px）＋白い帯（90px）。本文は上から 120px（840px 以下 80px・540px 以下 70px）の位置から始まる
   ブレークポイントは現行と同じ 1280 / 840 / 540 / 320px。 */
.mt-page{--mt-green:#085f2a;--mt-txt:#333;--mt-ink:#242528;--mt-f:Overpass,'Noto Sans JP','Open Sans',sans-serif}
html:has(body.mt-page){scroll-padding-top:126px}
.mt{display:flex;flex-direction:column;align-items:center;background:#fff;color:var(--mt-txt)}
/* 現行（STUDIO）の部品は縮まず（flex-shrink:0）親の幅を超えない（max-width:100%）。文字は語の途中でも折り返せる */
.mt *{flex-shrink:0;max-width:100%}
.mt :is(p,h1,h2,h3,li,span){overflow-wrap:anywhere}
/* 見やすさの改善: <wbr> を入れた文節の区切りでだけ折り返す（1行に収まる幅の見た目は現行と同じ） */
.mt .mt-kw{word-break:keep-all;overflow-wrap:anywhere}
.mt img{display:block;height:auto}
.mt svg{flex:none}

/* ---------- ヘッダー（このページ専用。現行は固定表示。ここは追従表示で、本文の開始位置を現行に合わせる） ---------- */
.mt-header{z-index:60;margin-bottom:-6px;border-bottom:0;background:transparent;font-family:var(--mt-f);font-size:16px;font-weight:400;line-height:1.4;color:var(--mt-txt)}
.mt-header a{text-decoration:none}
.mt-header svg{display:block;flex:none}
/* 上の緑の帯（1281px 以上） */
.mt-topbar{height:36px;padding:0 30px;background:var(--mt-green);display:flex;justify-content:center}
.mt-topbar__in{width:1280px;max-width:100%;height:36px;display:flex;justify-content:center}
.mt-topbar__links{flex:none;width:76%;height:36px;display:flex}
.mt-topbar__links a{flex:none;width:33.33%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--mt-green);color:#fff;font-weight:600;transition:opacity .3s cubic-bezier(.4,.4,0,1)}
.mt-topbar__links a:hover{opacity:.8}
.mt-apps{position:relative;flex:none;width:25%;height:36px}
.mt-apps__btn{width:100%;height:100%;margin:0;padding:0;border:0;border-radius:0;background:var(--mt-green);color:#fff;font:600 16px/1 var(--mt-f);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .3s cubic-bezier(.4,.4,0,1)}
.mt-apps__btn:hover{background:rgba(8,95,42,.8)}
.mt-apps__btn svg{width:24px;height:24px;fill:#fff;rotate:180deg;transition:rotate .3s cubic-bezier(.4,.4,0,1)}
.mt-apps.is-open .mt-apps__btn svg{rotate:0deg}
.mt-apps__menu{position:absolute;top:36px;left:0;width:100%;height:0;overflow:hidden;background:#fff;box-shadow:0 2px 5px rgba(0,0,0,.2);display:flex;flex-direction:column;transition:height .3s cubic-bezier(.4,.4,0,1)}
.mt-apps__menu a{flex:none;padding:12px;background:#fff;color:var(--mt-txt);font-weight:600;line-height:1.4;text-align:center;transition:background .3s cubic-bezier(.4,.4,0,1)}
.mt-apps__menu a:hover{background:#f0f0f0}
/* 白い帯 */
.mt-bar{padding:0 30px;background:#fff;overflow-x:clip}
.mt-header .header-inner{width:1280px;max-width:100%;height:90px;min-height:0;margin:0 auto;padding:0;gap:0;justify-content:space-between}
.mt-header .brand{flex:none;width:160px;gap:0;transition:opacity .3s cubic-bezier(.4,.4,0,1)}
.mt-header .brand:hover{opacity:.7}
.mt-header .brand img{width:100%;height:auto}
.mt-hnav{height:100%;display:flex;align-items:center;justify-content:center}
.mt-gnav{margin-right:30px;display:flex;align-items:center;gap:10px}
.mt-gnav a{padding:10px;color:#000;font-weight:600;line-height:1.4;text-align:center;white-space:nowrap;transition:color .3s cubic-bezier(.4,.4,0,1)}
.mt-gnav a:hover{color:var(--mt-green)}
.mt-hbtn{flex:none;margin-left:15px;display:flex;align-items:center;justify-content:center;gap:5px;border-radius:128px;box-shadow:3px 3px 0 rgba(0,0,0,.2);color:var(--mt-ink);font-weight:700;white-space:nowrap;overflow:hidden}
.mt-hbtn--contact{padding:15px 20px;background:linear-gradient(90deg,#ff6 0%,#ffb054 100%);transition:opacity .3s cubic-bezier(1,0,0,1)}
.mt-hbtn--contact:hover{opacity:.8}
.mt-hbtn--contact span{font-size:16px;line-height:1.75;letter-spacing:.1em;font-feature-settings:'palt' 1}
.mt-hbtn--contact svg{width:28px;height:28px;fill:var(--mt-ink)}
.mt-hbtn--contact .mt-hbtn__arrow{fill:var(--mt-txt)}
.mt-hbtn--login{padding:15px;border:2px solid var(--mt-green);background:rgba(255,255,255,.95);transition:opacity .3s cubic-bezier(.4,.4,0,1)}
.mt-hbtn--login:hover{opacity:.7}
.mt-hbtn--login span{font-size:16px;line-height:1;font-feature-settings:'palt' 1}
.mt-hbtn--login svg{width:24px;height:24px;fill:var(--mt-green)}
.mt-menu-btn{display:none;flex:none;width:36px;height:36px;margin:0 15px;padding:0;border:0;border-radius:0;background:none;cursor:pointer}
.mt-menu-btn svg{width:36px;height:36px;fill:var(--mt-txt)}
/* メニュー（1280px 以下。現行は画面全体の白いメニュー。右から少しずれて出てくる） */
.mt-menu{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.16)}
.mt-menu[hidden]{display:none}
.mt-menu__panel{position:absolute;inset:0;border:1px solid #ddd;background:#fff;box-shadow:0 6px 15px rgba(0,0,0,.2);display:flex;flex-direction:column;animation:mt-menu-in .4s cubic-bezier(.4,.4,0,1)}
.mt-menu__top{flex:none;height:90px;border-bottom:1px solid #ddd;display:flex;align-items:center;justify-content:space-between}
.mt-menu__logo{flex:none;width:140px;margin-left:30px;transition:opacity .3s}
.mt-menu__logo img{width:100%;height:auto}
.mt-menu__close{flex:none;width:36px;height:36px;margin:0 15px;padding:0;border:0;background:none;cursor:pointer}
.mt-menu__close svg{width:36px;height:36px;fill:var(--mt-txt)}
.mt-menu__body{flex:1;min-height:0;padding:0 30px;overflow-x:hidden;overflow-y:auto;display:flex;flex-direction:column;align-items:center}
.mt-menu__group{flex:none;width:100%;padding:30px 0;border-bottom:1px solid #000;display:flex;flex-direction:column;align-items:center}
.mt-menu__group a{width:100%;padding:15px 0;border-bottom:1px solid #ddd;color:var(--mt-txt);font-size:20px;font-weight:600;line-height:1.4;text-align:center}
.mt-menu__group a:last-child{border-bottom:0}
.mt-menu__group--sub{border-bottom:0;flex-direction:row;flex-wrap:wrap;justify-content:center}
.mt-menu__group--sub a,.mt-menu__group--sub a:last-child{width:50%;border-bottom:1px solid #ddd;font-size:14px}
@keyframes mt-menu-in{from{opacity:0;translate:40px 0}to{opacity:1;translate:0 0}}
@media (prefers-reduced-motion:reduce){.mt-menu__panel{animation:none}}

/* ---------- ファーストビュー ---------- */
.mt .mt-hero{position:relative;z-index:1;width:100%;background:#ebf3cd;display:flex;flex-direction:column;align-items:center;justify-content:center}
.mt .mt-hero__in{width:1400px;padding:0 15px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.mt .mt-hero__row{position:relative;z-index:1;width:100%;padding:100px 0 70px;display:flex;align-items:center;justify-content:space-around;gap:30px}
.mt .mt-hero__text{width:calc(45% - 16.5px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.mt .mt-hero__copy{display:flex;flex-wrap:wrap;align-items:flex-start}
.mt .mt-hero__title{width:100%;margin:0;display:flex;flex-direction:column;align-items:flex-start;color:var(--mt-ink);font-size:36px;font-weight:800;line-height:1.5;text-align:center;font-feature-settings:'palt' 1}
.mt .mt-hero__l1,.mt .mt-hero__l2{display:flex;align-items:center;justify-content:center}
.mt .mt-hero__l2{gap:5px;margin-bottom:20px}
.mt .mt-hero__title .mt-s{font-size:32px}
.mt .mt-hero__title .mt-g{color:var(--mt-green)}
/* 見出しの強調は1種類（1行目の緑）だけにする。2行目は赤字・傍点をやめて黒にする */
.mt .mt-hero__title .mt-r{color:var(--mt-ink)}
.mt .mt-hero__logo{width:225px;max-width:calc(100% - 30px);margin:0 30px 30px 0}
.mt .mt-hero__btn{width:326px;margin:0 0 30px;padding:15px 30px;border-radius:64px;background:var(--mt-green);box-shadow:3px 3px 0 rgba(0,0,0,.2);display:flex;align-items:flex-start;justify-content:center;color:#fff;text-decoration:none}
.mt .mt-hero__btn span{max-width:calc(100% - 20px);margin:0 10px;font-size:18px;font-weight:800;line-height:1.75;letter-spacing:.1em;text-align:center;font-feature-settings:'palt' 1}
.mt .mt-hero__btn svg{width:32px;height:32px;fill:#fff}
.mt .mt-hero__visual{width:calc(40% - 18px);display:flex;flex-direction:column;align-items:center;justify-content:center}
.mt .mt-hero__visual img{width:100%}

/* ---------- 導入企業ロゴ（現行と同じく 1社 200px を 8 秒で左へ流す。10社で一巡） ---------- */
/* 古い実績の数字・調査を外したので、ロゴの帯はファーストビューから少し離して置く */
.mt .mt-logos{width:100%;height:60px;margin-top:40px;overflow:hidden}
.mt .mt-logos__track{width:max-content;max-width:none;margin:0 0 0 calc((100% - 1400px) / 2);padding:0;list-style:none;display:flex;animation:mt-logos 80s linear infinite}
.mt .mt-logos__track li{width:200px;padding-right:40px}
.mt .mt-logos__track img{width:160px;height:60px;object-fit:contain}
@keyframes mt-logos{to{transform:translateX(-2000px)}}
@media (prefers-reduced-motion:reduce){.mt .mt-logos__track{animation:none}}

/* ---------- リモデラの機能 ---------- */
.mt .mt-fn{width:100%;padding:50px 100px 100px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center}
.mt .mt-fn__title{width:1280px;margin:0 0 40px;padding:0 40px;display:flex;align-items:flex-end;justify-content:center;gap:10px;color:var(--mt-txt);font-size:36px;font-weight:800;line-height:1}
.mt .mt-fn__title img{width:160px;margin-bottom:5px}
.mt .mt-fn__list{display:flex;align-items:center;justify-content:center}
.mt .mt-fn__item{width:340px;border-right:1px solid #000;display:flex;flex-direction:column;align-items:center;color:var(--mt-txt);text-decoration:none}
.mt .mt-fn__item img{width:90px;margin-bottom:15px}
.mt .mt-fn__label{margin-bottom:10px;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;line-height:1.4}
.mt .mt-fn__label .mt-fn__big{font-size:28px}
.mt .mt-fn__item svg{width:28px;height:28px;fill:var(--mt-green)}
/* 項目が1つだけのときは区切り線を出さない */
.mt .mt-fn__item:only-child{border-right:0}

/* ---------- 工事業者を検索する ---------- */
.mt .mt-search-wrap{width:100%;display:flex;flex-direction:column;align-items:center}
.mt .mt-search{width:1600px;margin-top:100px;padding:40px 100px;border-radius:24px;background:#f9fce6;display:flex;flex-direction:column;align-items:center}
.mt .mt-search__head{width:1280px;margin:-100px 0 50px;padding:0 40px;display:flex;align-items:flex-end;justify-content:center;gap:20px}
.mt .mt-search__head img{width:100px}
.mt .mt-search__ttl{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:15px}
.mt .mt-search__sub{color:var(--mt-green);font-size:28px;font-weight:700;line-height:1}
.mt .mt-search__title{margin:0;color:var(--mt-txt);font-size:48px;font-weight:800;line-height:1}
.mt .mt-search__body{width:1200px;margin:0;padding:20px 0 0;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:60px}
.mt .mt-search__info{width:calc(50% - 30px);padding-bottom:30px;display:flex;flex-direction:column;align-items:flex-start;gap:15px}
.mt .mt-search__text{width:100%;margin-bottom:40px;color:var(--mt-txt);font-size:20px;line-height:1.7}
.mt .mt-price{scroll-margin-top:50px;position:relative;width:95%;padding:0 10px 10px;border:2px solid var(--mt-green);border-radius:12px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center}
.mt .mt-price__badge{position:absolute;top:-30px;left:20px;padding:5px 15px;border-radius:4px;background:var(--mt-green);color:#fff;font-size:20px;font-weight:700;line-height:1.4}
.mt .mt-price__row{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:center;gap:5px;color:var(--mt-txt);font-weight:700;line-height:1.4}
.mt .mt-price__label{font-size:20px}
.mt .mt-price__now{max-width:calc(100% - 10px);margin:0 5px;color:var(--mt-ink);font-family:'Zen Kaku Gothic New',sans-serif;font-size:64px;line-height:1.2}
.mt .mt-price__unit{font-size:14px}
.mt .mt-search__fig{width:calc(50% - 30px);display:flex;flex-direction:column;align-items:center;gap:15px}
.mt .mt-search__fig img{width:626px;margin-bottom:35px}

/* ---------- 料金の考え方 ---------- */
.mt .mt-msg{width:100%;padding:100px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center}
.mt .mt-msg__text{color:var(--mt-txt);font-size:40px;font-weight:700;line-height:1.4}

/* ---------- ご相談・お問い合わせ（HubSpot フォーム・電話） ---------- */
.mt .mt-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}
.mt .mt-contact__head{display:flex;flex-direction:column;align-items:center;gap:5px;text-align:center}
.mt .mt-contact__catch{color:rgba(255,255,255,.77);font-size:18px;font-weight:700;line-height:1.75;font-feature-settings:'palt' 1}
.mt .mt-contact__title{margin:0;color:rgba(255,255,255,.95);font-size:40px;font-weight:700;line-height:1.35;font-feature-settings:'palt' 1}
.mt .mt-contact__form{width:800px;padding:60px 15px;background:rgba(255,255,255,.95);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:40px}
.mt .mt-contact__frame{width:64%;min-height:120px}
.mt .mt-tel-wrap{width:100%;display:flex;flex-direction:column;align-items:center}
.mt .mt-tel{width:800px;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(--mt-green)}
.mt .mt-tel__title{margin:0 0 15px;font-size:20px;font-weight:700;line-height:1.4;text-align:center}
.mt .mt-tel__num{margin:0;padding-bottom:15px;display:flex;align-items:center;gap:10px}
.mt .mt-tel__num svg{width:36px;height:36px;fill:var(--mt-green)}
.mt .mt-tel__num a{color:var(--mt-green);font:800 40px/1.4 Lato,sans-serif;text-decoration:none}
.mt .mt-tel__hours{font-size:18px;line-height:1.4}

/* ---------- サービス一覧 ---------- */
.mt .mt-services{width:100%;padding:80px 60px;background:#eee;display:flex;flex-direction:column;align-items:center;justify-content:center}
.mt .mt-services__in{width:1280px;display:flex;align-items:flex-start;justify-content:space-between}
.mt .mt-services__title{margin:0 0 15px;color:var(--mt-txt);font-size:20px;font-weight:700;line-height:1.4}
.mt .mt-services__body{width:80%;display:flex;flex-direction:column;align-items:center;justify-content:center}
.mt .mt-svc{display:flex;flex-direction:column;align-items:flex-start}
.mt .mt-svc--re{width:100%;margin-bottom:15px}
.mt .mt-svc__label{margin-bottom:10px;display:flex;align-items:center;color:var(--mt-txt);font-size:16px;font-weight:500;line-height:1.4}
.mt .mt-svc__label::before{content:'';flex:none;width:14px;height:3px;margin:0 8px 4px 0;border-radius:8px;background:var(--mt-green)}
.mt .mt-svc__links{width:100%;border:1px solid #eee;background:#fff;display:flex;align-items:center;justify-content:center}
.mt .mt-svc__links a{width:33.33%;height:70px;border:1px solid #eee;display:flex;align-items:center;justify-content:center;color:var(--mt-green);font-size:18px;font-weight:700;line-height:1.4;text-decoration:none}
.mt .mt-svc__links img{width:100px}
.mt .mt-svc__row{width:100%;display:flex;align-items:flex-start;justify-content:flex-start}
.mt .mt-svc--biz,.mt .mt-svc--pro{width:50%}
.mt .mt-svc__one{width:100%;border:1px solid #eee;display:flex;align-items:center;justify-content:center}
.mt .mt-svc--biz .mt-svc__one{border-right:0}
.mt .mt-svc--pro .mt-svc__one{border-left:0;background:#fff}
.mt .mt-svc__one span{width:100%;height:70px;border:1px solid #eee;display:flex;align-items:center;justify-content:center}
.mt .mt-svc--biz .mt-svc__one span{background:#fff}
.mt .mt-svc--biz img{width:120px}
.mt .mt-svc--pro img{width:140px}

/* ---------- フッター（このページ専用。紺の帯に会社情報） ---------- */
.mt-footer{position:relative;z-index:3;width:100%;padding:100px;background:#001a2b;display:flex;flex-direction:column;align-items:flex-start;color:#fff;font-family:var(--mt-f);font-size:16px;font-weight:400;line-height:1.4}
.mt-footer *{flex-shrink:0;max-width:100%}
.mt-footer p{margin:0}
.mt-footer__main{width:100%;display:flex;flex-direction:column;align-items:center}
.mt-footer__cols{width:1280px;padding:0 40px;display:flex;align-items:flex-start;justify-content:space-between;gap:60px}
/* 崩れの修正: 現行は 768px 前後と 841〜893px で「主要株主」の列が画面の右端で切れていた。足りない幅では列を縮めて折り返す（840px 以下は列の間隔も 30px に詰める） */
.mt-footer__cols>*{flex-shrink:1;min-width:0}
.mt-footer__links{display:flex;flex-direction:column;align-items:flex-start;gap:30px}
.mt-footer__links a{display:flex;align-items:center;gap:5px;color:#fff;font-size:14px;font-weight:500;line-height:1;font-feature-settings:'palt' 1;text-decoration:none}
.mt-footer__links a:first-child{color:rgba(255,255,255,.95)}
.mt-footer__links svg{width:16px;height:16px;fill:#fff;rotate:-45deg}
.mt-footer__info{display:flex;flex-direction:column;align-items:flex-start}
.mt-footer__block{width:100%;display:flex;flex-direction:column;align-items:flex-start}
.mt-footer__info .mt-footer__block{margin-bottom:40px}
.mt-footer__holders{width:auto}
.mt-footer .mt-footer__h{margin:0 0 20px;font-size:16px;font-weight:700;line-height:1.4}
.mt-footer__block p:not(.mt-footer__h){font-size:16px;line-height:2}
.mt-footer__logo{width:100%;display:flex;flex-direction:column;align-items:flex-start}
.mt-footer__logo img{display:block;width:200px;height:auto}
.mt-footer .mt-footer__copy{width:100%;font-size:20px;line-height:1.4;text-align:right}

/* ---------- 1280px 以下 ---------- */
@media (max-width:1280px){
  html:has(body.mt-page){scroll-padding-top:90px}
  .mt-header{margin-bottom:30px}
  .mt-topbar{display:none}
  .mt-bar{padding:0}
  .mt-header .header-inner{width:100%}
  .mt-header .brand{width:140px;margin-left:30px}
  .mt-gnav{display:none}
  .mt-hbtn--login span{font-size:14px}
  .mt-menu-btn{display:block}
  .mt .mt-hero{align-items:flex-end}
  .mt .mt-hero__in{width:100%;padding:100px 15px 70px;justify-content:flex-start}
  .mt .mt-hero__row{padding:0}
  .mt .mt-hero__title{font-size:28px}
  .mt .mt-hero__title .mt-s{font-size:28px}
  .mt .mt-hero__l1,.mt .mt-hero__l2{flex-wrap:wrap;justify-content:flex-start}
  .mt .mt-hero__btn span{font-size:16px}
  .mt .mt-fn{padding:50px 60px 150px}
  .mt .mt-search{width:100%;padding:40px 30px}
  .mt .mt-search__sub{font-size:24px}
  .mt .mt-search__title{font-size:32px}
  .mt .mt-search__body{gap:30px}
  .mt .mt-search__info{width:calc(40% - 18px);gap:20px}
  .mt .mt-search__fig{width:calc(60% - 12px);gap:20px}
  .mt .mt-price__badge{top:-20px;font-size:15px}
  .mt .mt-msg{padding:100px 60px}
  .mt .mt-contact{padding:100px 60px}
  .mt .mt-svc__links{flex-wrap:wrap}
  .mt .mt-svc__links a{width:50%}
  .mt-footer{padding:100px 60px}
  .mt-footer__cols{width:100%}
}
/* ---------- 840px 以下 ---------- */
@media (max-width:840px){
  .mt-header{margin-bottom:-10px}
  .mt-header .brand{width:120px}
  .mt-hbtn--contact{padding:10px 20px}
  .mt-hbtn--contact svg{display:none}
  .mt-hbtn--contact span{font-size:14px}
  .mt-hbtn--login{margin-left:10px;padding:12px 15px}
  .mt-hbtn--login svg{display:none}
  .mt .mt-hero{align-items:center}
  .mt .mt-hero__in{overflow:hidden;padding:55px 15px 0}
  .mt .mt-hero__row{flex-wrap:wrap;justify-content:center;gap:42px}
  .mt .mt-hero__text{width:100%;align-items:center}
  .mt .mt-hero__copy{flex-direction:column;flex-wrap:nowrap;align-items:center;gap:3px}
  .mt .mt-hero__title{align-items:center;gap:6px;font-size:24px}
  .mt .mt-hero__title .mt-s{font-size:24px}
  .mt .mt-hero__l1,.mt .mt-hero__l2{gap:5px}
  .mt .mt-hero__logo{width:200px;max-width:100%;margin:0 0 30px}
  .mt .mt-hero__btn{width:420px;align-items:center}
  .mt .mt-hero__btn span{font-size:18px}
  .mt .mt-hero__visual{width:calc(90% - 4.2px)}
  .mt .mt-fn{padding:0 40px 150px}
  .mt .mt-fn__item{width:280px}
  .mt .mt-fn__item img{width:75px}
  .mt .mt-fn__label .mt-fn__big{font-size:24px}
  .mt .mt-search{padding:25px}
  .mt .mt-search__body{gap:0 30px}
  .mt .mt-search__info,.mt .mt-search__fig{width:100%}
  .mt .mt-search__text{font-size:16px}
  .mt .mt-msg{padding:50px 40px}
  .mt .mt-msg__text{font-size:28px}
  .mt .mt-contact{padding:50px 40px}
  .mt .mt-contact__title{font-size:28px}
  .mt .mt-contact__frame{width:100%}
  .mt .mt-tel{width:100%}
  .mt .mt-services{padding:60px}
  .mt .mt-services__in{flex-direction:column}
  .mt .mt-services__body{width:100%}
  .mt .mt-svc__links a{width:100%}
  .mt-footer{padding:100px 0}
  .mt-footer__main{align-items:flex-start}
  .mt-footer__cols{gap:30px;padding:0 20px 20px}
  .mt-footer__links{padding:20px 20px 0}
  .mt-footer .mt-footer__h{margin-bottom:10px;font-size:14px}
  .mt-footer__block p:not(.mt-footer__h){font-size:14px}
  .mt-footer__logo,.mt-footer .mt-footer__copy{padding:0 40px}
  .mt-footer .mt-footer__copy{font-size:14px}
}
/* ---------- 540px 以下 ---------- */
@media (max-width:540px){
  html:has(body.mt-page){scroll-padding-top:60px}
  .mt-header{margin-bottom:10px}
  .mt-header .header-inner{height:60px}
  .mt-header .brand{width:100px}
  .mt-hbtn--contact{padding:5px 15px}
  .mt-hbtn--contact span{font-size:16px;letter-spacing:normal}
  .mt-hbtn--login{display:none}
  .mt-menu__top{height:60px}
  .mt-menu__logo{width:100px}
  .mt .mt-hero{height:800px}
  /* 現行は下に空の要素があり、その間隔（20px）の分だけ下の余白が広い */
  .mt .mt-hero__in{padding:60px 15px 60px}
  .mt .mt-hero__row{gap:64px}
  .mt .mt-hero__visual{width:calc(90% - 6.4px)}
  .mt .mt-hero__btn span{font-size:16px}
  .mt .mt-fn{padding:60px 20px 100px}
  .mt .mt-fn__title{font-size:24px}
  .mt .mt-fn__title img{width:120px}
  .mt .mt-fn__list{width:100%}
  .mt .mt-fn__item{width:50%}
  .mt .mt-fn__label .mt-fn__big{font-size:20px}
  .mt .mt-fn__label{font-size:15px}
  .mt .mt-search{padding:25px 15px}
  .mt .mt-search__head{margin:-50px 0 30px}
  .mt .mt-search__head img{width:60px}
  .mt .mt-search__ttl{gap:5px}
  .mt .mt-search__sub{font-size:18px}
  .mt .mt-search__title{font-size:24px}
  .mt .mt-search__body{align-items:flex-start;justify-content:center;gap:30px}
  .mt .mt-search__info,.mt .mt-search__fig{flex-direction:row;flex-wrap:wrap;align-items:flex-start;justify-content:center;gap:10px}
  .mt .mt-msg{padding:60px 20px}
  .mt .mt-msg__text{font-size:24px}
  .mt .mt-contact{gap:30px;padding:60px 20px}
  .mt .mt-contact__catch{font-size:14px}
  .mt .mt-contact__title{font-size:20px}
  .mt .mt-contact__form{gap:30px}
  .mt .mt-tel__title{font-size:16px}
  .mt .mt-tel__num{margin-bottom:15px;padding:0}
  .mt .mt-tel__num svg{width:28px;height:28px}
  .mt .mt-tel__num a{font-size:28px}
  .mt .mt-tel__hours{font-size:14px}
  .mt .mt-services{padding:60px 15px}
  .mt-footer{padding:150px 0 50px;align-items:center}
  .mt-footer__main{padding-bottom:30px}
  .mt-footer__cols{width:100%;padding:0 15px;flex-direction:column;gap:40px}
  .mt-footer__links{padding:0 0 0 20px;flex-direction:row;flex-wrap:wrap;gap:10px 20px}
  .mt-footer__info .mt-footer__block,.mt-footer__holders{padding:0 20px}
  .mt-footer__logo img{width:120px}
  .mt-footer .mt-footer__copy{margin-top:50px}
}
/* ---------- 320px 以下 ---------- */
@media (max-width:320px){
  .mt .mt-hero__in{padding:40px 15px 60px}
  .mt .mt-hero__l1,.mt .mt-hero__l2{flex-wrap:wrap;gap:0 5px;justify-content:center}
  .mt .mt-services{padding:40px 15px}
  .mt .mt-svc__links a{padding:0 5px;font-size:16px}
  .mt .mt-svc__links img{width:80px}
  .mt .mt-svc__one span{padding:0 5px}
  .mt .mt-svc--biz img{width:100px}
  .mt .mt-svc--pro img{width:110px}
  .mt .mt-tel__num svg{width:24px;height:24px}
  .mt .mt-tel__num a{font-size:24px}
}
