@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;800;900&family=Overpass:wght@400;600;700&family=Poppins:wght@600;700&display=swap');
:root{--green:#286b4a;--green-2:#1f5a3d;--mint:#eef7f1;--mint-2:#dff1e6;--mint-3:#c7e7d4;--ink:#242528;--muted:#5b5f63;--line:#dbe5df;--marker:#fff06a;--font:'Noto Sans JP',-apple-system,BlinkMacSystemFont,'Hiragino Sans','Yu Gothic',Meiryo,sans-serif;--en:'Poppins','Noto Sans JP',sans-serif;--shadow:0 3px 0 rgba(40,107,74,.1),0 14px 32px rgba(20,60,40,.06)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:94px;-webkit-text-size-adjust:100%}body{margin:0;background:#fff;color:var(--ink);font:500 17px/1.9 var(--font);-webkit-font-smoothing:antialiased;word-break:keep-all;overflow-wrap:anywhere}h1,h2,h3,h4{margin:0;font-weight:900;line-height:1.4;letter-spacing:.02em;text-wrap:balance;font-feature-settings:'palt' 1}h1{font-size:clamp(36px,4.3vw,60px)}h2{font-size:clamp(28px,3.2vw,42px)}h3{font-size:24px}p{margin:0 0 1em}a{color:inherit;text-decoration:none}img,svg,video{display:block;max-width:100%;height:auto}button,input,select{font:inherit}button{cursor:pointer}ul{padding-left:1.3em}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #e6a400;outline-offset:4px}.wrap{width:min(1120px,100% - 40px);margin:auto}.section{padding:100px 0}.section:nth-of-type(2n){background:var(--mint)}.section-head{text-align:center;max-width:820px;margin:0 auto 48px}.section-head small,.en{font:700 14px var(--en);color:var(--green);letter-spacing:.1em}.section-head h2{margin:10px 0 18px}.section-head p{color:var(--muted)}.marker{color:var(--green);background:linear-gradient(transparent 66%,var(--marker) 66%,var(--marker) 92%,transparent 92%)}.eyebrow{display:inline-flex;align-items:center;gap:10px;padding:5px 16px;border:2px solid var(--mint-3);border-radius:99px;background:#fff;color:var(--green);font-size:15px;font-weight:900;margin-bottom:22px}.eyebrow:before{content:'AI';display:grid;place-items:center;background:var(--green);color:white;width:30px;height:30px;border-radius:50%;font:700 12px var(--en)}.hero{background:var(--mint);position:relative;padding:70px 0 78px;overflow:hidden}.hero:before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(40,107,74,.13) 1.6px,transparent 1.7px);background-size:22px 22px;mask-image:linear-gradient(90deg,#000,transparent 60%);pointer-events:none}.hero-inner{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.hero h1{margin-bottom:24px}.hero .lead{font-size:20px;font-weight:700;color:#3f4449;line-height:1.85}.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px;align-items:center}.btn{display:inline-flex;justify-content:center;align-items:center;gap:14px;min-height:54px;padding:13px 26px;border-radius:99px;font-weight:900;font-size:17px;line-height:1.5;border:2px solid transparent;transition:transform .15s,box-shadow .15s}.btn:hover{transform:translateY(-2px)}.btn.primary{background:linear-gradient(110deg,#fff965,#ffb355) border-box;color:var(--ink);box-shadow:0 8px 22px rgba(243,174,50,.2)}.btn.secondary{border-color:var(--ink);background:#fff}.btn.dark{background:var(--green);color:white}.chips{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0}.chip{background:#fff;padding:6px 14px;border-radius:99px;font-size:15px;font-weight:900;box-shadow:0 3px 0 var(--mint-3)}.site-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line)}.header-inner{width:min(1240px,100% - 40px);margin:auto;min-height:80px;display:flex;align-items:center;gap:22px}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0;font-weight:900;font-size:16px}.brand img{width:114px}.brand span{border-left:1px solid var(--line);padding-left:12px}.header-nav{display:flex;align-items:center;gap:22px;margin-left:auto;font-weight:700;font-size:15px}.header-nav a:hover{color:var(--green)}.menu-toggle{display:none;background:#fff;border:1px solid var(--line);border-radius:12px;width:44px;height:44px;color:var(--green)}.topbar{background:var(--green);color:#fff;text-align:center;padding:8px 20px;font-size:14px}.topbar b{font:700 12px var(--en);color:var(--ink);background:var(--marker);border-radius:99px;padding:3px 9px;margin-right:10px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:30px;box-shadow:var(--shadow)}.card h3{margin:14px 0}.card p{font-size:16px;color:#3f4449}.card .number,.step-number{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--mint-2);font:700 16px var(--en);color:var(--green)}.split{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.split h2{margin-bottom:22px}.visual{background:var(--mint-2);border-radius:32px;padding:32px;position:relative}.visual img{margin:auto;max-height:360px;object-fit:contain}.flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:0;list-style:none}.flow li{background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px}.flow p{margin:14px 0 0}.faq{max-width:880px;margin:auto}.faq details{border:1px solid var(--line);border-radius:18px;padding:20px 24px;margin:14px 0;background:#fff}.faq summary{list-style:none;cursor:pointer;display:flex;gap:14px;font-weight:900;align-items:center}.faq summary:before{content:'Q';font:700 20px var(--en);color:var(--green)}.faq summary:after{content:'＋';margin-left:auto;flex-shrink:0}.faq details[open] summary:after{content:'−'}.faq details p{margin:18px 0 0;padding-left:30px;color:#3f4449}.footer{background:#f6f7f9;padding:54px 0 24px;font-size:14px}.footer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;margin:30px 0}.footer-grid strong{display:block;margin-bottom:14px}.footer-grid a{display:block;margin-bottom:9px}.footer-bottom{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.cta-section{padding:80px 0;background:var(--green);color:#fff;text-align:center}.cta-section p{margin:20px auto}.cta-section .actions{justify-content:center}.note{font-size:13px;color:var(--muted)}.source-note{padding:14px 20px;background:#fff4c2;font-size:13px;text-align:center}.source-note a{text-decoration:underline}.skip-link{position:absolute;top:-100px;left:12px;z-index:100;background:var(--ink);color:white;padding:14px}.skip-link:focus{top:12px}table{width:100%;border-collapse:collapse;background:white}td,th{padding:14px;border:1px solid var(--line);text-align:left}.table-scroll{overflow-x:auto}dialog{border:0;border-radius:24px;max-width:900px;width:calc(100% - 32px);padding:24px}dialog::backdrop{background:#001a2bcc}.video-frame{aspect-ratio:16/9}.video-frame iframe{width:100%;height:100%;border:0}.dialog-close{display:block;margin-left:auto;background:#fff;border:1px solid var(--line);border-radius:99px;padding:8px 18px;margin-bottom:12px}
@media(max-width:1000px){.header-nav{gap:14px}.header-nav .btn{padding:10px 18px;font-size:14px}.hero-inner{gap:28px}.cards{gap:18px}.card{padding:24px}.brand span{font-size:14px}}
@media(max-width:840px){.hero-inner,.split{grid-template-columns:1fr}.hero{padding:45px 0 58px}.hero-visual{max-width:540px;width:100%;margin:auto}.hero-inner{gap:34px}.header-inner{min-height:72px;gap:12px}.menu-toggle{display:block;margin-left:auto;flex-shrink:0}.header-nav{display:none;position:absolute;top:100%;left:0;right:0;padding:22px;background:#fff;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:18px}.header-nav.is-open{display:flex}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.section{padding:72px 0}.section-head{margin-bottom:32px}.flow{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){body{font-size:16px}.wrap{width:calc(100% - 32px)}.header-inner{width:calc(100% - 28px)}.brand img{width:98px}.brand span{font-size:12px;padding-left:8px}.brand{gap:8px}h1{font-size:36px}h2{font-size:28px}h3{font-size:22px}.hero .lead{font-size:18px}.actions{gap:12px}.hero .actions .btn{width:100%}.btn{font-size:16px}.cards,.flow{grid-template-columns:1fr}.card{padding:24px}.visual{padding:24px}.section-head{text-align:left}.section{padding:64px 0}.chip{font-size:13px}.footer-grid{gap:24px 18px}.faq details{padding:18px}.faq summary{font-size:15px}.faq details p{padding-left:0}.cta-section{padding:64px 0}.cta-section .btn{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
.cta-section .btn.secondary{color:var(--ink)}
/* 文字の折り返し: ビルド時に日本語の文節の切れ目へ <wbr> を入れている（scripts/lib/wbr.mjs）。body の keep-all でその位置と空白・句読点でだけ折り返し、
   1つの文節が1行に収まらないときだけ anywhere で途中を折る。word-break:auto-phrase は Chrome だけで iPhone の Safari では効かないため使わない。
   p の text-wrap:pretty も、Safari では行末がそろわず、料金ページでは落ちる原因にもなったため使わない（見出しの balance は残す）。
   JS で後から入る文（HubSpot のフォーム。<wbr> が無い）は、keep-all だと句読点の間で折り返せないので通常の折り返しに戻す */
.hubspot-form,.hs-form{word-break:normal}
/* Global header/footer: 現行 service.remodela.jp と同じ項目・リンク・見た目（白い固定ヘッダー／紺のフッター）。
   マークアップは src/partials/header.html・footer.html（pm.html・各LPと共通）。見た目はこのCSSだけで決める */
.global-header,.global-footer{--gh-font:Overpass,'Noto Sans JP',-apple-system,BlinkMacSystemFont,'Hiragino Sans',sans-serif;--gh-ink:#242528;--gh-green:#286b4a;--gh-orange:#fbbc46;--gh-grad:linear-gradient(90deg,#ff6,#ffb054)}
.global-header{height:70px;padding:0 30px;border-bottom:0;background:#fff;font-family:var(--gh-font)}
.global-header .header-inner{width:min(1280px,100%);height:70px;min-height:0;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:0}
.global-header .brand{flex:0 1 auto;min-width:0;transition:opacity .3s}
.global-header .brand:hover{opacity:.7}
.global-header .brand img{width:120px}
.global-header .header-nav{align-self:flex-start;margin-left:auto;padding-top:15px;display:flex;align-items:flex-start;gap:0;font-weight:600;font-size:16px;line-height:1.4;color:var(--gh-ink)}
.global-header .header-nav>*{flex-shrink:0;white-space:nowrap}
.global-header .header-nav>a:not(.btn){margin-left:20px;padding:10px;color:var(--gh-ink);transition:color .3s}
.global-header .header-nav>a:not(.btn):hover{color:var(--gh-green)}
.global-header .header-nav>a.nav-login{display:flex;align-items:center;gap:3px;margin-left:10px;padding:10px 5px 7px;border:2px solid #fff;border-radius:128px;line-height:1;transition:opacity .3s}
.global-header .header-nav>a.nav-login:hover{color:var(--gh-ink);opacity:.7}
.global-header .nav-login-icon{flex:none;position:relative;top:-1.5px;width:14px;height:14px;fill:#333}
/* nav-pc はPCヘッダー・ドロップダウンだけ、nav-sp はメニューボタンで開く全画面メニューだけに出す（現行どおり見出し・項目・ログイン先が違う） */
.global-header .header-nav .nav-sp,.global-header .header-nav>a.nav-sp{display:none}
.global-header .header-nav .btn{min-height:0;gap:0;border-radius:128px;font-size:16px;font-weight:600;line-height:1;box-shadow:none;color:var(--gh-ink);transition:opacity .3s,background .3s}
.global-header .header-nav .btn,.global-header .header-dl,.global-header .header-nav>a.nav-login{font-feature-settings:"palt" 1}
.global-header .header-nav .btn:hover{transform:none}
.global-header .header-nav .btn.primary{margin-left:45px;padding:11px 20px 8px;border:0;background:var(--gh-grad)}
.global-header .header-nav .btn.primary:hover{opacity:.8}
.global-header .header-nav .btn.secondary{margin-left:10px;padding:10px 15px 7px;border:2px solid var(--gh-orange);background:rgba(255,255,255,.95)}
.global-header .header-nav .btn.secondary:hover{background:var(--gh-grad);opacity:.7}
.header-dl{display:none;white-space:nowrap}
.nav-service{position:relative}
.nav-service-toggle{width:120px;display:inline-flex;align-items:center;justify-content:space-between;gap:1px;background:none;border:0;padding:10px 12px;color:#333;font-weight:600;font-size:16px;line-height:1.4;font-family:inherit;transition:color .3s}
.global-header .nav-chev{flex:none;width:20px;height:20px;fill:#333;transform:rotate(180deg);transition:transform .3s cubic-bezier(.4,.4,0,1)}
.nav-service.is-open .nav-chev{transform:none}
.nav-service-toggle:hover{color:var(--gh-green)}
.nav-service-menu{display:none;position:absolute;top:calc(100% + 22.6px);left:0;width:600px;grid-template-columns:repeat(2,max-content);justify-content:center;gap:50px;padding:40px 70px;background:#fff;border:0;border-radius:0;box-shadow:0 2px 5px rgba(0,0,0,.2)}
.nav-service-menu:before{content:'';position:absolute;left:0;right:0;top:-24px;height:24px}
.nav-service.is-open .nav-service-menu{display:grid}
.nav-service-menu span{display:block;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid #bdbdbd;color:var(--gh-green);font-size:16px;font-weight:700;line-height:1.4}
.nav-service-menu a{display:flex;align-items:center;padding:7px 0;white-space:nowrap;word-spacing:1px;color:#333;font-weight:600;line-height:1.4;transition:color .3s}
.nav-service-menu a:before{content:'-\3000'}
.nav-service-menu a:hover{color:var(--gh-green)}
.global-header .nav-ext{flex:none;width:16px;height:16px;margin:0 0 3px 15px;fill:#222}
@media(min-width:1024px){.nav-service:hover .nav-service-menu{display:grid}.nav-service:hover .nav-service-toggle{color:var(--gh-green)}.nav-service:hover .nav-chev{transform:none}}
/* 1024〜1040px は現行と同じくロゴを縮めず、ナビは右の余白にはみ出して並べる（現行は1024pxで右端のログイン枠が1.6px切れる）。はみ出し分で横スクロールが出ないよう左右だけ切る */
@media(min-width:1024px){.global-header{overflow-x:clip}.global-header .brand{flex-shrink:0}}
/* 1280px以下の「サービス」ドロップダウンは現行どおり、幅は画面の半分・左端はサービスの40px左（2列は箱の中央） */
@media(min-width:1024px) and (max-width:1280px){.nav-service-menu{left:-40px;width:50vw;padding:40px 0}}
@media(max-width:1280px){.global-header{padding:0 15px}.global-header .brand img{width:140px}.global-header .header-nav .btn.secondary,.global-header .header-nav>a.nav-login{font-size:14px}}
/* 841〜1023px は現行だとナビが右端で切れるため、ここからメニューボタン表示に切り替える */
@media(max-width:840px){.global-header{padding:0}.global-header .brand{margin-left:30px}.global-header .brand img{width:120px}}
@media(max-width:1023px){
  .global-header .header-dl{position:relative;display:inline-flex;margin-left:auto;min-height:0;padding:13px 20px 10px;gap:0;border:0;border-radius:128px;background:var(--gh-grad);box-shadow:none;color:var(--gh-ink);font-size:14px;font-weight:600;line-height:1}
  .global-header .header-dl:hover{transform:none;opacity:.8}
  /* 押せる範囲だけ上下に広げて高さ44px以上にする（見た目は変えない） */
  .global-header .header-dl::after{content:'';position:absolute;left:0;right:0;top:50%;height:max(44px,100%);transform:translateY(-50%)}
  /* 押せる範囲は44px角（アイコンは36pxのまま・位置も同じ） */
  .global-header .menu-toggle{display:block;flex:none;width:44px;height:44px;margin:0 11px;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}
  .global-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")}
  .global-header .header-nav{display:none;position:fixed;top:70px;left:0;right:0;bottom:auto;height:calc(100vh - 70px);height:calc(100dvh - 70px);z-index:60;max-height:none;overflow-y:auto;margin:0;padding:30px;background:#fff;border:1px solid #ddd;box-shadow:none;grid-template-columns:1fr 1fr;grid-auto-rows:max-content;align-content:start;align-items:center;gap:0;font-size:18px;text-align:center}
  .global-header .header-nav.is-open{display:grid}
  /* 全画面メニューの寸法は現行（768px幅のメニュー）に合わせる。540px以下は下の @media で現行の390px幅の値にする */
  .global-header .header-nav .btn.primary,.global-header .header-nav .btn.secondary{width:auto;min-width:0;margin:0;justify-content:center;padding:10px 20px;font-size:16px;font-weight:800;line-height:28px;letter-spacing:.1em}
  .global-header:has(.header-nav.is-open) .header-dl{visibility:hidden}
  .global-header .header-nav .btn.primary{order:1;margin-right:7.5px}
  .global-header .header-nav .btn.secondary{order:2;margin-left:7.5px}
  .global-header .nav-service,.global-header .nav-service-menu,.global-header .nav-service.is-open .nav-service-menu{display:contents}
  .global-header .nav-service-toggle{display:none}
  .global-header .nav-service-menu>div{grid-column:1/-1}
  .global-header .nav-service-menu>div:first-child{order:4}
  .global-header .nav-service-menu>div:last-child{order:7;display:grid;grid-template-columns:1fr 1fr}
  .global-header .nav-service-menu span,.global-header .header-nav>.nav-group{grid-column:1/-1;margin:15px 0 0;padding:15px 0 10px;border-bottom:1px solid var(--gh-ink);color:var(--gh-green);font-size:16px;font-weight:700;line-height:1;text-align:left}
  .global-header .nav-service-menu a,.global-header .header-nav>a:not(.btn){display:block;margin:0;padding:15px 0;border-bottom:1px solid #ddd;font-size:18px;font-weight:600;line-height:1.4;white-space:normal;color:#333}
  .global-header .nav-service-menu a:before{content:none}
  .global-header .nav-ext{display:none}
  .global-header .nav-service-menu>div:last-child a{font-size:14px}
  .global-header .header-nav>a[href="/price"]{order:5;grid-column:1/-1;border-bottom:0}
  .global-header .header-nav>a[href="/voice"]{order:6;grid-column:1/-1;border-bottom:0}
  .global-header .header-nav>.nav-group{order:8}
  .global-header .header-nav>a[href="/posts"]{order:9;font-size:15px;line-height:1}
  .global-header .header-nav>a.nav-sp:not(.nav-login){order:10;font-size:15px;line-height:1}
  .global-header .header-nav>a.nav-login{display:flex;order:3;grid-column:1/-1;justify-content:center;gap:5px;margin:15px 0 0;padding:12px 15px;border:2px solid #fff;background:rgba(255,255,255,.95);color:var(--gh-ink);font-size:16px;font-weight:700;line-height:1}
  .global-header .nav-login-icon{top:0;margin-bottom:2px}
  .global-header .header-nav .nav-sp{display:block}
  .global-header .header-nav .nav-pc,.global-header .header-nav>a.nav-pc{display:none}
  /* 開いている間は現行のメニュー画面と同じく、上の帯も含めて1pxの枠で囲む */
  .global-header:has(.header-nav.is-open){box-shadow:inset 0 1px #ddd,inset 1px 0 #ddd,inset -1px 0 #ddd}
  .global-header:has(.header-nav.is-open) .brand{position:relative;left:1px}
  .global-header:has(.header-nav.is-open) .menu-toggle{position:relative;top:.5px;right:1px}
}
/* 現行のタブレット幅のメニュー画面は上の帯が90px・ロゴ140px。下の本文は動かさない */
@media(min-width:541px) and (max-width:1023px){
  .global-header:has(.header-nav.is-open){height:90px;margin-bottom:-20px}
  .global-header:has(.header-nav.is-open) .header-inner{height:90px}
  .global-header:has(.header-nav.is-open) .brand{top:1px}
  .global-header:has(.header-nav.is-open) .brand img{width:140px}
  .global-header .header-nav.is-open{top:90px;height:calc(100vh - 90px);height:calc(100dvh - 90px)}
}
@media(max-width:540px){
  .global-header{height:60px}.global-header .header-inner{height:60px}.global-header .brand img{width:100px}.global-header .header-dl{padding:10px 15px 7px}
  .global-header .header-nav{top:60px;height:calc(100vh - 60px);height:calc(100dvh - 60px);padding:30px 15px}
  .global-header .header-nav .btn.primary{padding:7px 25px;font-size:14px;font-weight:700;line-height:24.5px;letter-spacing:normal}
  .global-header .header-nav .btn.secondary{padding:5px 25px;font-size:14px;font-weight:700;line-height:24.5px;letter-spacing:normal}
  .global-header .nav-service-menu span,.global-header .header-nav>.nav-group{padding:10px 0;line-height:1.2}
  .global-header .nav-service-menu a,.global-header .header-nav>a:not(.btn){padding:18px 0 15px;line-height:1}
  .global-header .nav-service-menu>div:last-child a{padding:15px 0;font-size:15px}
  .global-header .header-nav>a[href="/posts"],.global-header .header-nav>a.nav-sp:not(.nav-login){padding:15px 0}
  .global-header .header-nav>a.nav-login{padding:7px 15px 5px;font-size:14px;line-height:1.7}
}
@media(max-width:320px){.global-header .brand{margin-left:15px}.global-header .brand img{width:90px}.global-header .header-dl{padding:10px 10px 7px;font-size:12px}.global-header .menu-toggle{margin:0 6px}}
.global-footer{padding:100px;background:#001a2b;color:#fff;font-family:var(--gh-font);font-size:15px;font-weight:400;word-spacing:1px}
.global-footer .wrap{width:min(1100px,100%);display:grid;grid-template-columns:15% repeat(4,minmax(0,1fr));align-items:start}
.global-footer-logo{grid-column:1;grid-row:1/3;display:inline-block;justify-self:start;transition:opacity .3s}
.global-footer-logo:hover{opacity:.7}
.global-footer-logo img{width:100px;filter:brightness(0) invert(1)}
.global-footer-grid{display:contents}
.global-footer-grid>div{grid-row:1;margin-bottom:40px}
.global-footer-grid>div:nth-child(1){grid-column:2}.global-footer-grid>div:nth-child(2){grid-column:3}.global-footer-grid>div:nth-child(3){grid-column:4}.global-footer-grid>div:nth-child(4){grid-column:5;margin-bottom:0}
.global-footer-grid span{display:block;margin-bottom:20px;font-weight:700;line-height:1.4}
.global-footer-grid a{display:flex;align-items:center;width:fit-content;margin:0;font-size:15px;line-height:2;color:#fff;transition:opacity .3s}
/* 別タブで開くリンクの印（現行と同じ Material Icons の open_in_new、14px・文字の10px右） */
.global-footer-ext{flex:none;width:14px;height:14px;margin:0 0 3px 10px;fill:#fff}
.global-footer-grid a:hover,.global-footer-bottom a:hover{color:#fff;opacity:.7}
.global-footer-grid .global-footer-tel{width:186px;margin-top:5px;padding:10px 20px 0;border:1px solid #fff;border-bottom:0;font-weight:400;line-height:1.51}
.global-footer-grid small{display:block;width:186px;margin:0 0 30px;padding:0 20px 10px;border:1px solid #fff;border-top:0;color:#fff;font-size:12px;line-height:1.51}
.global-footer-bottom{display:contents}
.global-footer-sns{grid-column:5;grid-row:2;margin-bottom:40px;display:flex;align-items:center;gap:15px}
.global-footer-sns a{display:block;width:27px;height:24px;font-size:0;color:transparent;background:#fff;-webkit-mask:var(--sns) center/contain no-repeat;mask:var(--sns) center/contain no-repeat}
.global-footer-sns a[href*="youtube"]{--sns:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M549.7 124.1c-6.3-23.7-24.8-42.3-48.3-48.6C458.8 64 288 64 288 64S117.2 64 74.6 75.5c-23.5 6.3-42 24.9-48.3 48.6-11.4 42.9-11.4 132.3-11.4 132.3s0 89.4 11.4 132.3c6.3 23.7 24.8 41.5 48.3 47.8C117.2 448 288 448 288 448s170.8 0 213.4-11.5c23.5-6.3 42-24.2 48.3-47.8 11.4-42.9 11.4-132.3 11.4-132.3s0-89.4-11.4-132.3zm-317.5 213.5V175.2l142.7 81.2-142.7 81.2z'/%3E%3C/svg%3E")}
.global-footer-sns a[href*="x.com"]{width:24px;--sns:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z'/%3E%3C/svg%3E")}
.global-footer-legal{grid-column:1/-1;grid-row:3;justify-self:end;display:flex;align-items:flex-end;gap:0;color:rgba(255,255,255,.6);font-size:13px;line-height:1.4}
.global-footer-pmark{width:55px;height:55px;margin-right:30px;padding:5px;background:#fff}
.global-footer-legal a{margin-left:20px}
/* ページ先頭へ: 現行はフッターの中には無く、記事・お問い合わせ・資料ダウンロード・特商法・工事一元管理・AI退去立会のページだけ右下に固定の丸ボタンがある。
   同じ見た目でそのページだけに出す（ほかのページは現行どおり出さない。トップ・料金はページ側の .t-pagetop を使う）。スマホ（540px以下）は44pxに小さくする */
.global-footer-pagetop{display:none;--pt-right:40px;--pt-bottom:40px;--pt-w:55px;--pt-h:54px;--pt-pad:10px 11px 10px 10px;--pt-icon:32px}
:is(.page-posts-index,.page-post-detail,.page-form,.page-legal,.construction-page) .global-footer-legal .global-footer-pagetop,html:has(link[href*="aimi/aimi.css"]) .global-footer-legal .global-footer-pagetop{position:fixed;right:var(--pt-right);bottom:var(--pt-bottom);z-index:40;display:grid;place-items:center;width:var(--pt-w);height:var(--pt-h);margin:0;padding:var(--pt-pad);border:1px solid #fff;border-radius:50%;background:var(--gh-green);transition:opacity .3s,visibility .3s}
.global-footer-legal .global-footer-pagetop svg{width:var(--pt-icon);height:var(--pt-icon);fill:#fff}
/* 右下の「ページ先頭へ」（フッターのもの・トップと料金の .t-pagetop）は、少しスクロールしてから出す。
   フォームが画面に入っている間は、入力欄に重ならないよう出さない（出してよいときに shared.js が html に .pagetop-on を付ける） */
html:not(.pagetop-on) :is(.global-footer-pagetop,.t-pagetop){opacity:0;visibility:hidden;pointer-events:none}
.global-footer-bottom .global-footer-legal .global-footer-pagetop:hover{opacity:.8}
@media(max-width:1280px){.global-footer{padding:100px 60px}}
@media(max-width:840px){
  .global-footer{padding:100px 40px;font-size:14px}
  .global-footer .wrap{grid-template-columns:1fr 1fr}
  .global-footer-logo{grid-column:1/-1;grid-row:1;height:160px}
  .global-footer-logo img{width:min(140px,calc((100vw - 80px) * .15))}
  .global-footer-grid>div:nth-child(n){grid-column:auto;grid-row:auto}
  .global-footer-grid>div:nth-child(1){grid-column:1;grid-row:2}.global-footer-grid>div:nth-child(2){grid-column:2;grid-row:2}.global-footer-grid>div:nth-child(3){grid-column:1;grid-row:3}.global-footer-grid>div:nth-child(4){grid-column:2;grid-row:3}
  .global-footer-grid span{margin-bottom:10px}
  .global-footer-grid a{font-size:14px}
  .global-footer-grid .global-footer-tel{margin-top:15px}
  .global-footer-grid small{font-size:14px}
  .global-footer-sns{grid-column:2;grid-row:4}
  .global-footer-legal{grid-column:1/-1;grid-row:5;justify-self:center;flex-direction:column;align-items:center;gap:15px;font-size:14px}
  .global-footer-pmark{margin-right:0}
  .global-footer-legal a{margin-left:0}
  .global-footer-pagetop{--pt-right:30px;--pt-bottom:30px}
  /* 押せる範囲を高さ44px以上にする（リンクの行の間隔は広がる。電話番号は枠の中、SNS は見た目のアイコンの大きさのまま） */
  .global-footer-grid a:not(.global-footer-tel){min-width:44px;min-height:44px}
  .global-footer-grid .global-footer-tel{position:relative}
  .global-footer-grid .global-footer-tel::after{content:'';position:absolute;inset:0 -1px -20px}
  .global-footer-sns{gap:20px}
  .global-footer-sns a{box-sizing:content-box;padding:10px;margin:-10px;-webkit-mask-origin:content-box;mask-origin:content-box;-webkit-mask-clip:content-box;mask-clip:content-box}
}
@media(max-width:540px){
  .global-footer{padding:80px 0 15px}
  .global-footer .wrap{grid-template-columns:1fr;justify-items:center}
  .global-footer-logo{grid-column:1;justify-self:center;margin-bottom:0;height:80px}
  .global-footer-logo img{width:140px}
  .global-footer-grid>div:nth-child(n),.global-footer-sns{grid-column:1;grid-row:auto;width:70%;padding:0 20px}
  .global-footer-grid .global-footer-tel{margin-top:30px}
  .global-footer-grid small{margin-bottom:45px}
  .global-footer-legal{grid-column:1;grid-row:auto}
  .global-footer-pagetop{--pt-right:15px;--pt-w:44px;--pt-h:44px;--pt-pad:0;--pt-icon:24px}
}
@media(max-width:320px){.global-footer{padding:80px 30px 15px}.global-footer-grid>div:nth-child(n),.global-footer-sns{width:100%}.global-footer-legal{font-size:13px}}
